From c5cf44922112840604c0b241eeede19615745a95 Mon Sep 17 00:00:00 2001 From: Svein Ove Aas Date: Sun, 19 Feb 2017 19:20:11 +0000 Subject: [PATCH 01/61] Store Netherclack somewhere safe --- .../client/texture/ClientLoader.java | 425 ++++++++++++++++++ .../client/texture/misc/BaseModel.java | 99 ++++ .../client/texture/misc/BasicBlockModel.java | 110 +++++ .../client/texture/misc/BasicItemModel.java | 117 +++++ .../texture/misc/IAdvancedTexturedBlock.java | 10 + .../client/texture/misc/ITexturedBlock.java | 29 ++ .../client/texture/misc/ITexturedItem.java | 19 + 7 files changed, 809 insertions(+) create mode 100644 tools/netherclack/client/texture/ClientLoader.java create mode 100644 tools/netherclack/client/texture/misc/BaseModel.java create mode 100644 tools/netherclack/client/texture/misc/BasicBlockModel.java create mode 100644 tools/netherclack/client/texture/misc/BasicItemModel.java create mode 100644 tools/netherclack/client/texture/misc/IAdvancedTexturedBlock.java create mode 100644 tools/netherclack/client/texture/misc/ITexturedBlock.java create mode 100644 tools/netherclack/client/texture/misc/ITexturedItem.java diff --git a/tools/netherclack/client/texture/ClientLoader.java b/tools/netherclack/client/texture/ClientLoader.java new file mode 100644 index 000000000..71688a795 --- /dev/null +++ b/tools/netherclack/client/texture/ClientLoader.java @@ -0,0 +1,425 @@ +package netherclack.client.texture; + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStreamReader; +import java.io.Reader; +import java.util.HashMap; +import java.util.LinkedHashMap; +import java.util.Map; +import java.util.Map.Entry; + +import net.minecraft.block.Block; +import net.minecraft.block.state.IBlockState; +import net.minecraft.client.Minecraft; +import net.minecraft.client.renderer.ItemMeshDefinition; +import net.minecraft.client.renderer.ItemModelMesher; +import net.minecraft.client.renderer.RenderItem; +import net.minecraft.client.renderer.block.model.IBakedModel; +import net.minecraft.client.renderer.block.model.ItemCameraTransforms; +import net.minecraft.client.renderer.block.model.ModelBakery; +import net.minecraft.client.renderer.block.model.ModelBlock; +import net.minecraft.client.renderer.block.model.ModelResourceLocation; +import net.minecraft.client.renderer.block.statemap.DefaultStateMapper; +import net.minecraft.client.renderer.block.statemap.IStateMapper; +import net.minecraft.client.renderer.texture.TextureAtlasSprite; +import net.minecraft.client.renderer.texture.TextureMap; +import net.minecraft.client.resources.IResource; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.util.ResourceLocation; +import net.minecraft.util.registry.IRegistry; +import net.minecraftforge.client.event.ModelBakeEvent; +import net.minecraftforge.client.event.TextureStitchEvent; +import net.minecraftforge.client.model.IPerspectiveAwareModel; +import net.minecraftforge.client.model.ModelLoader; +import net.minecraftforge.common.MinecraftForge; +import net.minecraftforge.common.model.TRSRTransformation; +import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; +import net.minecraftforge.fml.relauncher.Side; +import net.minecraftforge.fml.relauncher.SideOnly; +import netherclack.client.texture.misc.BaseModel; +import netherclack.client.texture.misc.BasicBlockModel; +import netherclack.client.texture.misc.BasicItemModel; +import netherclack.client.texture.misc.IAdvancedTexturedBlock; +import netherclack.client.texture.misc.ITexturedBlock; +import netherclack.client.texture.misc.ITexturedItem; + +import org.apache.commons.codec.Charsets; + +import com.google.common.collect.ImmutableMap; + +/** + * + * @author Speiger + * + * Texture storage & Loader etc. + * Since we are using a Json Destroyer to load the models we need a separate texture loader + */ +@SideOnly(Side.CLIENT) +public class ClientLoader +{ + public static ClientLoader instance = new ClientLoader(); + + private Minecraft minecraft = Minecraft.getMinecraft(); + + private Map textures = new LinkedHashMap(); + private Map texturePaths = new LinkedHashMap(); + + private Map> states = new HashMap>(); + private IStateMapper mapper = new StateHelper(this); + private ItemMeshDefinition blockMesher = new BlockMeshHelper(this); + + private Map> itemStates = new HashMap>(); + private ItemMeshDefinition definetion = new MeshHelper(this); + + /** + * Function just add it to forge. thats simply it. + * Static would work but i still would have to call the class + * So i add a function and then i can control it + */ + public void addToForge() + { + MinecraftForge.EVENT_BUS.register(this); + } + + /** + * Function to say the storage: Please provide so many slots for me + * @param id the textureID + * @param size how many slots should be provided + */ + public void provideSize(String id, int size) + { + if(texturePaths.containsKey(id)) + { + return; + } + texturePaths.put(id, new ResourceLocation[size]); + textures.put(id, new TextureAtlasSprite[size]); + } + + /** + * Function to register a Texture to a slot or overriding a texture for a slot + * @param id of the texture map + * @param slot the slot where you want to put it + * @param texture the texture you want to load it + */ + public void registerTexture(String id, int slot, ResourceLocation texture) + { + texturePaths.get(id)[slot] = texture; + } + + /** + * Bulk Texture registration if you know how many textures you want to load + * @param id the id of the textures + * @param textureList the textures you want to load + */ + public void registerTextureMap(String id, ResourceLocation... textureList) + { + texturePaths.put(id, textureList); + textures.put(id, new TextureAtlasSprite[textureList.length]); + } + + /** + * Functions to get the textures for a id + * @param id the id you provide + * @return the textures if they are there. can be null + */ + public TextureAtlasSprite[] getTextures(String id) + { + return textures.get(id); + } + + /** + * Function to access a texture from a array + * @param id the id you provide + * @param slot the slot which you want + * @return the texture that you will get. can be null + */ + public TextureAtlasSprite getTexture(String id, int slot) + { + return textures.get(id)[slot]; + } + + public TextureAtlasSprite getIconSafe(TextureAtlasSprite sprite) + { + if(sprite == null) + { + sprite = minecraft.getTextureMapBlocks().getMissingSprite(); + } + return sprite; + } + + /** + * Function to load the textures as paths + * Supports resets + */ + private void init() + { + texturePaths.clear(); + textures.clear(); + for(Block block : Block.REGISTRY) + { + if(block instanceof ITexturedBlock) + { + ((ITexturedBlock)block).registerTextures(this); + } + } + for(Item item : Item.REGISTRY) + { + if(item instanceof ITexturedItem) + { + ((ITexturedItem)item).registerTextures(this); + } + } + } + + /** + * Function to load the textures. + * Since its only for this Mod i shouldn't do so many safety checks. + * this is just for a future proof system... + * But yeah this function reloads the items/blocks so they get changes applied to + * and also it reloads the textures + */ + @SubscribeEvent + public void onTextureLoad(TextureStitchEvent.Pre event) + { + init(); + if(texturePaths.isEmpty()) + { + return; + } + TextureMap map = event.getMap(); + for(Entry entry : texturePaths.entrySet()) + { + ResourceLocation[] value = entry.getValue(); + if(value == null) + { + continue; + } + TextureAtlasSprite[] array = textures.get(entry.getKey()); + if(array == null) + { + array = new TextureAtlasSprite[value.length]; + textures.put(entry.getKey(), array); + } + for(int i = 0;i itemMap = getMap(new ResourceLocation("minecraft:models/item/generated")); + ImmutableMap blockMap = getMap(new ResourceLocation("minecraft:models/block/block")); + IRegistry registry = event.getModelRegistry(); + for(Block block : Block.REGISTRY) + { + Map resources = new HashMap(); + if(block instanceof ITexturedBlock) + { + ITexturedBlock texture = (ITexturedBlock)block; + boolean adv = texture instanceof IAdvancedTexturedBlock; + for(IBlockState state : texture.getHandledStates()) + { + BaseModel model = new BasicBlockModel(texture, state); + model.setCamera(blockMap); + model.init(this); + ModelResourceLocation modelResourceLocation = getModelResourceLocation(state); + resources.put(state, modelResourceLocation); + registry.putObject(modelResourceLocation, model); + } + } + if(resources.size() > 0) + { + states.put(block, resources); + ModelLoader.setCustomStateMapper(block, mapper); + ModelLoader.setCustomMeshDefinition(Item.getItemFromBlock(block), blockMesher); + registry.putObject(getBlockinventoryResourceLocation(block), registry.getObject(resources.values().iterator().next())); + } + } + for(Item item : Item.REGISTRY) + { + Map resources = new HashMap(); + if(item instanceof ITexturedItem) + { + ITexturedItem textured = (ITexturedItem)item; + for(int meta : textured.getHandledMeta()) + { + ItemStack stack = new ItemStack(item, 1, meta); + BaseModel model = new BasicItemModel(textured, stack); + model.setCamera(itemMap); + model.init(this); + ModelResourceLocation modelResourceLocation = getItemInventoryResourceLocation(stack); + ModelBakery.registerItemVariants(item, modelResourceLocation); + registry.putObject(modelResourceLocation, model); + resources.put(meta, modelResourceLocation); + } + } + if(resources.size() > 0) + { + ModelLoader.setCustomMeshDefinition(item, definetion); + itemStates.put(item, resources); + registry.putObject(getItemInventoryResourceLocation(item), registry.getObject(resources.values().iterator().next())); + } + } + } + + public static ImmutableMap getMap(ResourceLocation par1) + { + return IPerspectiveAwareModel.MapWrapper.getTransforms(getTransformFromJson(par1)); + } + + private static ImmutableMap getMap(ItemCameraTransforms par1) + { + return IPerspectiveAwareModel.MapWrapper.getTransforms(par1); + } + + private static ItemCameraTransforms getTransformFromJson(ResourceLocation par1) + { + try + { + return ModelBlock.deserialize(getReaderForResource(par1)).getAllTransforms(); + } + catch(Exception e) + { + e.printStackTrace(); + } + return ItemCameraTransforms.DEFAULT; + } + + private static Reader getReaderForResource(ResourceLocation location) throws IOException + { + ResourceLocation file = new ResourceLocation(location.getResourceDomain(), location.getResourcePath() + ".json"); + IResource iresource = Minecraft.getMinecraft().getResourceManager().getResource(file); + return new BufferedReader(new InputStreamReader(iresource.getInputStream(), Charsets.UTF_8)); + } + + /** + * These functions are simple Item/Block & meta versions to ModelResourceLocations + * It helps a lot saves a lot of code lines and does its job. + * It supports also addon + */ + + public static ModelResourceLocation getModelResourceLocation(IBlockState state) + { + return new ModelResourceLocation(Block.REGISTRY.getNameForObject(state.getBlock()), (new DefaultStateMapper()).getPropertyString(state.getProperties())); + } + + public static ModelResourceLocation getBlockinventoryResourceLocation(Block block) + { + return new ModelResourceLocation(Block.REGISTRY.getNameForObject(block), "inventory"); + } + + public static ModelResourceLocation getItemInventoryResourceLocation(ItemStack item) + { + String name = item.getUnlocalizedName(); + ResourceLocation resource = Item.REGISTRY.getNameForObject(item.getItem()); + return new ModelResourceLocation(resource.getResourceDomain() + name.substring(name.indexOf(".") + 1), "inventory"); + } + + public static ModelResourceLocation getItemInventoryResourceLocation(Item item) + { + return new ModelResourceLocation(Item.REGISTRY.getNameForObject(item), "inventory"); + } + + /** + * + * @author Speiger + * + * Class to control the BlockStates. + * If something is not added here then it does not want to be added + * this is the perfect controller for that + */ + public static class StateHelper implements IStateMapper + { + ClientLoader loader; + + public StateHelper(ClientLoader client) + { + loader = client; + } + + @Override + public Map putStateModelLocations(Block blockIn) + { + Map location = loader.states.get(blockIn); + if(location == null) + { + location = new HashMap(); + loader.states.put(blockIn, location); + } + return location; + } + } + + public static class BlockMeshHelper implements ItemMeshDefinition + { + ClientLoader loader; + + public BlockMeshHelper(ClientLoader client) + { + loader = client; + } + + @Override + public ModelResourceLocation getModelLocation(ItemStack stack) + { + Block block = Block.getBlockFromItem(stack.getItem()); + if(block instanceof IAdvancedTexturedBlock) + { + Map loc = loader.states.get(block); + if(loc != null) + { + return loc.get(((IAdvancedTexturedBlock)block).getBlockState(stack)); + } + } + return null; + } + + } + + public static class MeshHelper implements ItemMeshDefinition + { + ClientLoader loader; + + public MeshHelper(ClientLoader client) + { + loader = client; + } + + @Override + public ModelResourceLocation getModelLocation(ItemStack stack) + { + Item item = stack.getItem(); + Map map = loader.itemStates.get(item); + if(map == null || map.isEmpty()) + { + return null; + } + int meta = stack.getMetadata(); + if(!item.getHasSubtypes()) + { + meta = item.getMetadata(meta); + } + return map.get(meta); + } + + } +} diff --git a/tools/netherclack/client/texture/misc/BaseModel.java b/tools/netherclack/client/texture/misc/BaseModel.java new file mode 100644 index 000000000..50375308b --- /dev/null +++ b/tools/netherclack/client/texture/misc/BaseModel.java @@ -0,0 +1,99 @@ +package netherclack.client.texture.misc; + +import java.util.ArrayList; +import java.util.List; + +import net.minecraft.client.renderer.block.model.BakedQuad; +import net.minecraft.client.renderer.block.model.FaceBakery; +import net.minecraft.client.renderer.block.model.ItemCameraTransforms; +import net.minecraft.client.renderer.block.model.ItemOverrideList; +import net.minecraft.util.math.AxisAlignedBB; +import net.minecraftforge.client.model.IPerspectiveAwareModel; +import net.minecraftforge.common.model.TRSRTransformation; +import netherclack.client.texture.ClientLoader; + +import org.lwjgl.util.vector.Vector3f; + +import com.google.common.collect.ImmutableList; +import com.google.common.collect.ImmutableMap; + +public abstract class BaseModel implements IPerspectiveAwareModel +{ + static final FaceBakery bake = new FaceBakery(); + public static final Vec3Helper[][] faces = new Vec3Helper[][]{ + {new Vec3Helper(false, false, false), new Vec3Helper(true, false, true)},//Down + {new Vec3Helper(false, true, false), new Vec3Helper(true, true, true)},//Up + {new Vec3Helper(false, false, false), new Vec3Helper(true, true, false)},//North + {new Vec3Helper(false, false, true), new Vec3Helper(true, true, true)},//South + {new Vec3Helper(false, false, false), new Vec3Helper(true, true, true)},//East + {new Vec3Helper(false, false, false), new Vec3Helper(true, true, true)},//West + }; //Helper for Bounding Box to Baked-Quads. Simply converts a number from 0-1 to 0-16 pixel + + ImmutableMap camera; + public static List EMPTYLIST = ImmutableList.of(); + + public ImmutableMap getCamera() + { + return camera; + } + + public FaceBakery getBakery() + { + return bake; + } + + public void setCamera(ImmutableMap cam) + { + camera = cam; + } + + public void init(ClientLoader loader) + { + + } + + @Override + @Deprecated + public ItemCameraTransforms getItemCameraTransforms() + { + return ItemCameraTransforms.DEFAULT; + } + + @Override + public ItemOverrideList getOverrides() + { + return ItemOverrideList.NONE; + } + + public List[] createList(int count) + { + List[] quads = new List[count]; + for(int i = 0;i(); + } + return quads; + } + + public static class Vec3Helper + { + boolean x; + boolean y; + boolean z; + + public Vec3Helper(boolean par1, boolean par2, boolean par3) + { + x = par1; + y = par2; + z = par3; + } + + public Vector3f applyBoundingBox(AxisAlignedBB par1) + { + float xScale = (float)(x ? par1.maxX : par1.minX); + float yScale = (float)(y ? par1.maxY : par1.minY); + float zScale = (float)(z ? par1.maxZ : par1.minZ); + return new Vector3f(16f * xScale, 16f * yScale, 16f * zScale); + } + } +} diff --git a/tools/netherclack/client/texture/misc/BasicBlockModel.java b/tools/netherclack/client/texture/misc/BasicBlockModel.java new file mode 100644 index 000000000..4e3421523 --- /dev/null +++ b/tools/netherclack/client/texture/misc/BasicBlockModel.java @@ -0,0 +1,110 @@ +package netherclack.client.texture.misc; + +import java.util.List; + +import javax.annotation.Nullable; +import javax.vecmath.Matrix4f; + +import net.minecraft.block.Block; +import net.minecraft.block.state.IBlockState; +import net.minecraft.client.renderer.block.model.BakedQuad; +import net.minecraft.client.renderer.block.model.BlockFaceUV; +import net.minecraft.client.renderer.block.model.BlockPartFace; +import net.minecraft.client.renderer.block.model.IBakedModel; +import net.minecraft.client.renderer.block.model.ItemCameraTransforms.TransformType; +import net.minecraft.client.renderer.block.model.ModelRotation; +import net.minecraft.client.renderer.texture.TextureAtlasSprite; +import net.minecraft.util.EnumFacing; +import net.minecraft.util.math.AxisAlignedBB; +import net.minecraftforge.client.model.IPerspectiveAwareModel; +import netherclack.client.texture.ClientLoader; + +import org.apache.commons.lang3.tuple.Pair; +import org.lwjgl.util.vector.Vector3f; + +/** + * + * @author Speiger + * + * Basic model class which Pre-generates the Baked Quads. + * If a Quad side is empty then its just showing an empty list + * I have it done before with a Hash-map but since a array is way faster this shouldn't be a problem + * Its validating if the block is Opaque and then decides the renderer + */ +public class BasicBlockModel extends BaseModel +{ + boolean full; + List[] quads = createList(7); + ITexturedBlock textured; + IBlockState reference; + TextureAtlasSprite partical; + + public BasicBlockModel(ITexturedBlock block, IBlockState state) + { + textured = block; + reference = state; + } + + @Override + public void init(ClientLoader loader) + { + Block block = (Block)textured; + full = block.isOpaqueCube(reference); + partical = loader.getIconSafe(textured.getParticleTexture(reference, loader)); + AxisAlignedBB box = textured.getRenderBoundingBox(reference); + if(full) + { + BlockPartFace face = new BlockPartFace(null, -1, "", new BlockFaceUV(new float[]{0.0F, 0.0F, 16.0F, 16.0F}, 0)); + for(EnumFacing side : EnumFacing.VALUES) + { + quads[6].add(getBakery().makeBakedQuad(new Vector3f(0F, 0F, 0F), new Vector3f(16F, 16F, 16F), face, loader.getIconSafe(textured.getTexture(reference, side, loader)), side, ModelRotation.X0_Y0, null, true, true)); + } + } + else + { + for(EnumFacing side : EnumFacing.VALUES) + { + Vector3f min = faces[side.getIndex()][0].applyBoundingBox(box); //I know this needs to changed + Vector3f max = faces[side.getIndex()][1].applyBoundingBox(box); + BlockPartFace face = new BlockPartFace(null, -1, "", new BlockFaceUV(new float[]{0F, 0F, 16F, 16F}, 0)); + quads[side.getIndex()].add(getBakery().makeBakedQuad(min, max, face, loader.getIconSafe(textured.getTexture(reference, side, loader)), side, ModelRotation.X0_Y0, null, true, true)); + } + } + } + + @Override + public List getQuads(@Nullable IBlockState state, @Nullable EnumFacing side, long rand) + { + return quads[side == null ? 6 : side.getIndex()]; + } + + @Override + public boolean isAmbientOcclusion() + { + return true; + } + + @Override + public boolean isGui3d() + { + return true; + } + + @Override + public boolean isBuiltInRenderer() + { + return false; + } + + @Override + public TextureAtlasSprite getParticleTexture() + { + return partical; + } + + @Override + public Pair handlePerspective(TransformType cameraTransformType) + { + return Pair.of(this, IPerspectiveAwareModel.MapWrapper.handlePerspective(this, camera, cameraTransformType).getRight()); + } +} diff --git a/tools/netherclack/client/texture/misc/BasicItemModel.java b/tools/netherclack/client/texture/misc/BasicItemModel.java new file mode 100644 index 000000000..1d300e380 --- /dev/null +++ b/tools/netherclack/client/texture/misc/BasicItemModel.java @@ -0,0 +1,117 @@ +package netherclack.client.texture.misc; + +import java.util.ArrayList; +import java.util.List; + +import javax.annotation.Nullable; +import javax.vecmath.Matrix4f; + +import net.minecraft.block.state.IBlockState; +import net.minecraft.client.renderer.block.model.BakedQuad; +import net.minecraft.client.renderer.block.model.IBakedModel; +import net.minecraft.client.renderer.block.model.ItemCameraTransforms.TransformType; +import net.minecraft.client.renderer.texture.TextureAtlasSprite; +import net.minecraft.client.renderer.vertex.DefaultVertexFormats; +import net.minecraft.item.ItemStack; +import net.minecraft.util.EnumFacing; +import net.minecraftforge.client.model.IPerspectiveAwareModel; +import net.minecraftforge.client.model.ItemLayerModel; +import netherclack.client.texture.ClientLoader; + +import org.apache.commons.lang3.tuple.Pair; + +import com.google.common.base.Optional; + +public class BasicItemModel extends BaseModel +{ + List quads = new ArrayList(); + ITexturedItem textured; + ItemStack reference; + TextureAtlasSprite sprite; + + BasicItemModel other; + boolean gui; + + + public BasicItemModel(ITexturedItem item, ItemStack stack) + { + textured = item; + reference = stack; + gui = false; + } + + public BasicItemModel(BasicItemModel model) + { + other = model; + textured = model.textured; + reference = model.reference; + gui = true; + } + + + @Override + public void init(ClientLoader loader) + { + other = new BasicItemModel(this); + other.sprite = sprite = loader.getIconSafe(textured.getTexture(reference.getMetadata())); + quads.addAll(ItemLayerModel.getQuadsForSprite(-1, sprite, DefaultVertexFormats.ITEM, Optional.of(getCamera().get(TransformType.FIXED)))); + for(BakedQuad quad : quads) + { + if(quad.getFace() == EnumFacing.SOUTH) + { + other.quads.add(quad); + } + } + } + + + + @Override + public List getQuads(@Nullable IBlockState state, @Nullable EnumFacing side, long rand) + { + if(side == null) + { + return quads; + } + return EMPTYLIST; + } + + @Override + public boolean isAmbientOcclusion() + { + return true; + } + + @Override + public boolean isGui3d() + { + return false; + } + + @Override + public boolean isBuiltInRenderer() + { + return false; + } + + @Override + public TextureAtlasSprite getParticleTexture() + { + return sprite; + } + + @Override + public Pair handlePerspective(TransformType type) + { + Pair pair = IPerspectiveAwareModel.MapWrapper.handlePerspective(this, camera, type); + if(type == TransformType.GUI && !gui && pair.getRight() == null) + { + return Pair.of(other, null); + } + else if(type != TransformType.GUI && gui) + { + return Pair.of(other, pair.getRight()); + } + return pair; + } +} diff --git a/tools/netherclack/client/texture/misc/IAdvancedTexturedBlock.java b/tools/netherclack/client/texture/misc/IAdvancedTexturedBlock.java new file mode 100644 index 000000000..de0d0d7c9 --- /dev/null +++ b/tools/netherclack/client/texture/misc/IAdvancedTexturedBlock.java @@ -0,0 +1,10 @@ +package netherclack.client.texture.misc; + +import net.minecraft.block.state.IBlockState; +import net.minecraft.item.ItemStack; + +public interface IAdvancedTexturedBlock extends ITexturedBlock +{ + public IBlockState getBlockState(ItemStack stack); + +} diff --git a/tools/netherclack/client/texture/misc/ITexturedBlock.java b/tools/netherclack/client/texture/misc/ITexturedBlock.java new file mode 100644 index 000000000..a91788680 --- /dev/null +++ b/tools/netherclack/client/texture/misc/ITexturedBlock.java @@ -0,0 +1,29 @@ +package netherclack.client.texture.misc; + +import java.util.List; + +import net.minecraft.block.state.IBlockState; +import net.minecraft.client.renderer.texture.TextureAtlasSprite; +import net.minecraft.util.EnumFacing; +import net.minecraft.util.math.AxisAlignedBB; +import net.minecraftforge.fml.relauncher.Side; +import net.minecraftforge.fml.relauncher.SideOnly; +import netherclack.client.texture.ClientLoader; + +public interface ITexturedBlock +{ + public List getHandledStates(); + + @SideOnly(Side.CLIENT) + public void registerTextures(ClientLoader loader); + + @SideOnly(Side.CLIENT) + public TextureAtlasSprite getTexture(IBlockState state, EnumFacing side, ClientLoader loader); + + @SideOnly(Side.CLIENT) + public TextureAtlasSprite getParticleTexture(IBlockState state, ClientLoader loader); + + public AxisAlignedBB getRenderBoundingBox(IBlockState state); + + +} diff --git a/tools/netherclack/client/texture/misc/ITexturedItem.java b/tools/netherclack/client/texture/misc/ITexturedItem.java new file mode 100644 index 000000000..af99ca87b --- /dev/null +++ b/tools/netherclack/client/texture/misc/ITexturedItem.java @@ -0,0 +1,19 @@ +package netherclack.client.texture.misc; + +import java.util.List; + +import net.minecraft.client.renderer.texture.TextureAtlasSprite; +import net.minecraftforge.fml.relauncher.Side; +import net.minecraftforge.fml.relauncher.SideOnly; +import netherclack.client.texture.ClientLoader; + +public interface ITexturedItem +{ + public List getHandledMeta(); + + @SideOnly(Side.CLIENT) + public void registerTextures(ClientLoader client); + + @SideOnly(Side.CLIENT) + public TextureAtlasSprite getTexture(int meta); +} From 8f782ffc258932afffede5c1f0c76ff8ea4908db Mon Sep 17 00:00:00 2001 From: Svein Ove Aas Date: Mon, 24 Apr 2017 13:28:22 +0100 Subject: [PATCH 02/61] Update build script to 1.10 --- build.gradle | 45 +++++++++++++++++++++++++-------------------- 1 file changed, 25 insertions(+), 20 deletions(-) diff --git a/build.gradle b/build.gradle index cc710f313..e04c4fc54 100644 --- a/build.gradle +++ b/build.gradle @@ -1,5 +1,5 @@ buildscript { - ext.kotlin_version = '1.1.0' + ext.kotlin_version = '1.1.1' repositories { mavenCentral() maven { @@ -13,7 +13,7 @@ buildscript { jcenter() } dependencies { - classpath 'net.minecraftforge.gradle:ForgeGradle:1.2-SNAPSHOT' + classpath 'net.minecraftforge.gradle:ForgeGradle:2.2-SNAPSHOT' classpath 'de.undercouch:gradle-download-task:1.2' classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.6' classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" @@ -21,13 +21,15 @@ buildscript { } plugins { - id 'com.matthewprenger.cursegradle' version '1.0.8' + id 'com.matthewprenger.cursegradle' version '1.0.8' + id "com.github.johnrengelman.shadow" version "1.2.4" } +apply plugin: 'java' apply plugin: 'kotlin' -apply plugin: 'forge' +apply plugin: 'idea' +apply plugin: 'net.minecraftforge.gradle.forge' apply plugin: 'de.undercouch.download' -apply plugin: 'java' apply plugin: 'com.jfrog.bintray' apply plugin: 'maven-publish' @@ -37,8 +39,8 @@ group = GROUP archivesBaseName = ARCHIVE_NAME version = MAJORVERSION + "." + MINORVERSION + "." + REVISION -targetCompatibility = '1.7' -sourceCompatibility = '1.7' +targetCompatibility = '1.8' +sourceCompatibility = '1.8' sourceSets { main { @@ -50,14 +52,15 @@ sourceSets { } minecraft { - version = "1.7.10-10.13.4.1614-1.7.10" + version = "1.10.2-12.18.3.2281" runDir = "run" + mappings = "stable_29" - // TODO(Baughn): After moving to 1.10, this should be replaced with the shadow plugin, - // e.g. as used in https://github.com/Emberwalker/Laundarray/blob/master/build.gradle - srgExtra "PK: org/apache/commons/math3 mods/eln/libs/org/apache/commons/math3" - srgExtra "PK: kotlin mods/eln/libs/kotlin" - srgExtra "PK: org/jetbrains/annotations mods/eln/libs/annotations" +// TODO(Baughn): After moving to 1.10, this should be replaced with the shadow plugin, +// e.g. as used in https://github.com/Emberwalker/Laundarray/blob/master/build.gradle +// srgExtra "PK: org/apache/commons/math3 mods/eln/libs/org/apache/commons/math3" +// srgExtra "PK: kotlin mods/eln/libs/kotlin" +// srgExtra "PK: org/jetbrains/annotations mods/eln/libs/annotations" replaceIn "Version.java" replace "@VERSION@", project.version @@ -75,6 +78,9 @@ configurations { repositories { mavenCentral() + maven { + url "http://mvn.rx14.co.uk/shadowfacts/" + } maven { name = "codechicken" url = "http://chickenbones.net/maven" @@ -86,9 +92,8 @@ repositories { } dependencies { + compile group: "net.shadowfacts", name: "Forgelin", version: "1.4.1" external files("libs/commons-math3-3.3.jar") - shade "org.jetbrains.kotlin:kotlin-runtime:$kotlin_version" - shade "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version" compile "mcp.mobius.waila:Waila:1.5.11-RC2-NONEI_1.7.10:dev" } @@ -159,11 +164,11 @@ jar { into 'assets/eln/textures' } - configurations.shade.each { dep -> - from(project.zipTree(dep)){ - exclude 'META-INF', 'META-INF/**' - } - } +// configurations.shade.each { dep -> +// from(project.zipTree(dep)){ +// exclude 'META-INF', 'META-INF/**' +// } +// } } processResources { From 7f10ff159f30f45254bcdfcac74b97892850cbd2 Mon Sep 17 00:00:00 2001 From: Svein Ove Aas Date: Sun, 1 Jul 2018 01:18:06 +0100 Subject: [PATCH 03/61] Basic build.gradle for 1.10, most functionality commented out --- LICENSE-fml.txt | 78 +- build.gradle | 199 +- forge-1.7.10-10.13.2.1240-changelog.txt | 6374 ----------------------- 3 files changed, 135 insertions(+), 6516 deletions(-) delete mode 100644 forge-1.7.10-10.13.2.1240-changelog.txt diff --git a/LICENSE-fml.txt b/LICENSE-fml.txt index 26cca072e..be2c9e66d 100644 --- a/LICENSE-fml.txt +++ b/LICENSE-fml.txt @@ -1,39 +1,27 @@ -This minecraft mod, Forge Mod Loader, including all parts herein except as noted below, -is licensed under the GNU LGPL v2.1 or later. +Minecraft Forge is licensed under the terms of the LGPL 2.1 found +here http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt and copied +below. + +A note on authorship: +All source artifacts are property of their original author, with +the exclusion of the contents of the patches directory and others +copied from it from time to time. Authorship of the contents of +the patches directory is retained by the Minecraft Forge project. +This is because the patches are partially machine generated +artifacts, and are changed heavily due to the way forge works. +Individual attribution within them is impossible. + +Consent: +All contributions to Forge must consent to the release of any +patch content to the Forge project. + +A note on infectivity: +The LGPL is chosen specifically so that projects may depend on Forge +features without being infected with its license. That is the +purpose of the LGPL. Mods and others using this code via ordinary +Java mechanics for referencing libraries are specifically not bound +by Forge's license for the Mod code. -Homepage: https://github.com/MinecraftForge/FML - -This software includes portions from the Apache Maven project at -http://maven.apache.org/ specifically the ComparableVersion.java code. It is -included based on guidelines at -http://www.softwarefreedom.org/resources/2007/gpl-non-gpl-collaboration.html -with notices intact. The only change is a non-functional change of package name. - -This software contains a partial repackaging of javaxdelta, a BSD licensed program for generating -binary differences and applying them, sourced from the subversion at http://sourceforge.net/projects/javaxdelta/ -authored by genman, heikok, pivot. -The only changes are to replace some Trove collection types with standard Java collections, and repackaged. - - -=== MCP Data === -This software includes data from the Minecraft Coder Pack (MCP), with kind permission -from them. The license to MCP data is not transitive - distribution of this data by -third parties requires independent licensing from the MCP team. This data is not -redistributable without permission from the MCP team. - -=== Sharing === -I grant permission for some parts of FML to be redistributed outside the terms of the LGPL, for the benefit of -the minecraft modding community. All contributions to these parts should be licensed under the same additional grant. - --- Runtime patcher -- -License is granted to redistribute the runtime patcher code (common/cpw/mods/fml/patcher and subdirectories) under -any alternative open source license as classified by the OSI (http://opensource.org/licenses) - --- ASM transformers -- -License is granted to redistribute the ASM transformer code (common/cpw/mods/fml/common/asm/ and subdirectories) -under any alternative open source license as classified by the OSI (http://opensource.org/licenses) - -======== GNU LESSER GENERAL PUBLIC LICENSE Version 2.1, February 1999 @@ -43,6 +31,10 @@ under any alternative open source license as classified by the OSI (http://opens Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. +[This is the first released version of the Lesser GPL. It also counts + as the successor of the GNU Library Public License, version 2, hence + the version number 2.1.] + Preamble The licenses for most software are designed to take away your @@ -88,7 +80,7 @@ modified by someone else and passed on, the recipients should know that what they have is not the original version, so that the original author's reputation will not be affected by problems that might be introduced by others. - + Finally, software patents pose a constant threat to the existence of any free program. We wish to make sure that a company cannot effectively restrict the users of a free program by obtaining a @@ -144,7 +136,7 @@ modification follow. Pay close attention to the difference between a "work based on the library" and a "work that uses the library". The former contains code derived from the library, whereas the latter must be combined with the library in order to run. - + GNU LESSER GENERAL PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION @@ -191,7 +183,7 @@ Library. You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee. - + 2. You may modify your copy or copies of the Library or any portion of it, thus forming a work based on the Library, and copy and distribute such modifications or work under the terms of Section 1 @@ -249,7 +241,7 @@ instead of to this License. (If a newer version than version 2 of the ordinary GNU General Public License has appeared, then you can specify that version instead if you wish.) Do not make any other change in these notices. - + Once this change is made in a given copy, it is irreversible for that copy, so the ordinary GNU General Public License applies to all subsequent copies and derivative works made from that copy. @@ -300,7 +292,7 @@ Library will still fall under Section 6.) distribute the object code for the work under the terms of Section 6. Any executables containing that work also fall under Section 6, whether or not they are linked directly with the Library itself. - + 6. As an exception to the Sections above, you may also combine or link a "work that uses the Library" with the Library to produce a work containing portions of the Library, and distribute that work @@ -362,7 +354,7 @@ restrictions of other proprietary libraries that do not normally accompany the operating system. Such a contradiction means you cannot use both them and the Library together in an executable that you distribute. - + 7. You may place library facilities that are a work based on the Library side-by-side in a single library together with other library facilities not covered by this License, and distribute such a combined @@ -403,7 +395,7 @@ subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties with this License. - + 11. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or @@ -455,7 +447,7 @@ conditions either of that version or of any later version published by the Free Software Foundation. If the Library does not specify a license version number, you may choose any version ever published by the Free Software Foundation. - + 14. If you wish to incorporate parts of the Library into other free programs whose distribution conditions are incompatible with these, write to the author to ask for permission. For software which is diff --git a/build.gradle b/build.gradle index 68e0e20e5..46619c600 100644 --- a/build.gradle +++ b/build.gradle @@ -1,37 +1,37 @@ buildscript { - ext.kotlin_version = '1.1.51' + ext.kotlin_version = '1.2.41' repositories { mavenCentral() maven { name = "forge" url = "http://files.minecraftforge.net/maven" } - maven { - name = "sonatype" - url = "https://oss.sonatype.org/content/repositories/snapshots/" - } + // maven { + // name = "sonatype" + // url = "https://oss.sonatype.org/content/repositories/snapshots/" + // } jcenter() } dependencies { classpath 'net.minecraftforge.gradle:ForgeGradle:2.2-SNAPSHOT' - classpath 'de.undercouch:gradle-download-task:1.2' - classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.6' + // classpath 'de.undercouch:gradle-download-task:1.2' + // classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.6' classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" } } -plugins { - id 'com.matthewprenger.cursegradle' version '1.0.8' - id "com.github.johnrengelman.shadow" version "1.2.4" -} +// plugins { +// id 'com.matthewprenger.cursegradle' version '1.0.8' +// id "com.github.johnrengelman.shadow" version "1.2.4" +// } +apply plugin: 'net.minecraftforge.gradle.forge' apply plugin: 'java' apply plugin: 'kotlin' -apply plugin: 'idea' -apply plugin: 'net.minecraftforge.gradle.forge' -apply plugin: 'de.undercouch.download' -apply plugin: 'com.jfrog.bintray' -apply plugin: 'maven-publish' +// apply plugin: 'idea' +// apply plugin: 'de.undercouch.download' +// apply plugin: 'com.jfrog.bintray' +// apply plugin: 'maven-publish' apply from: 'gradle.properties' @@ -52,9 +52,9 @@ sourceSets { } minecraft { - version = "1.10.2-12.18.3.2281" + version = "1.10.2-12.18.3.2185" runDir = "run" - mappings = "stable_29" + mappings = "snapshot_20161111" // TODO(Baughn): After moving to 1.10, this should be replaced with the shadow plugin, // e.g. as used in https://github.com/Emberwalker/Laundarray/blob/master/build.gradle @@ -72,29 +72,30 @@ minecraft { configurations { external compile.extendsFrom external - shade - compile.extendsFrom shade + // shade + // compile.extendsFrom shade } repositories { - mavenCentral() - maven { - url "http://mvn.rx14.co.uk/shadowfacts/" - } + jcenter() maven { - name = "codechicken" - url = "http://chickenbones.net/maven" - } - maven { - name = "mobiusstrip" - url = "http://default.mobiusstrip.eu/maven/" - } + url "https://maven.shadowfacts.net/" + } +// mavenCentral() +// maven { +// name = "codechicken" +// url = "http://chickenbones.net/maven" +// } +// maven { +// name = "mobiusstrip" +// url = "http://default.mobiusstrip.eu/maven/" +// } } dependencies { - compile group: "net.shadowfacts", name: "Forgelin", version: "1.4.1" external files("libs/commons-math3-3.3.jar") - compile "mcp.mobius.waila:Waila:1.5.11-RC2-NONEI_1.7.10:dev" + compile group: "net.shadowfacts", name: "Forgelin", version: "1.7.3" + // compile "mcp.mobius.waila:Waila:1.5.11-RC2-NONEI_1.7.10:dev" } jar { @@ -112,7 +113,7 @@ jar { } // Copy libs jar files - from { configurations.external.collect { it.isDirectory() ? it : zipTree(it) } } + // from { configurations.external.collect { it.isDirectory() ? it : zipTree(it) } } // Add README and LICENSE to the release jar from(['README.md', 'LICENSE.md']) @@ -190,7 +191,7 @@ clean { delete("${minecraft.runDir}/crash-reports") } -def getMinecratfDir() { +def getMinecraftDir() { String outDir = "" final String osName = System.getProperty("os.name").toLowerCase() if (osName.contains('windows')) @@ -211,32 +212,32 @@ task buildAndCopyJar(dependsOn: 'build', type: Copy) { duplicatesStrategy = DuplicatesStrategy.INCLUDE // Overwrite the file if exists from("build/libs") - into(getMinecratfDir() + "/mods") + into(getMinecraftDir() + "/mods") include("*.jar") } -import de.undercouch.gradle.tasks.download.Download +// import de.undercouch.gradle.tasks.download.Download -// Download the tutorial map as a zip file to the local 'run/saves' folder -task downloadTutoMap(type: Download) { - group = 'ELN' - description = 'Download the tutorial map as a zip file to the local \'run/saves\' folder.' +// // Download the tutorial map as a zip file to the local 'run/saves' folder +// task downloadTutoMap(type: Download) { +// group = 'ELN' +// description = 'Download the tutorial map as a zip file to the local \'run/saves\' folder.' - src(MAPURL) - dest(new File(minecraft.runDir + "/saves", MAPURL.substring(MAPURL.lastIndexOf("/") + 1, MAPURL.length()))) - overwrite true -} +// src(MAPURL) +// dest(new File(minecraft.runDir + "/saves", MAPURL.substring(MAPURL.lastIndexOf("/") + 1, MAPURL.length()))) +// overwrite true +// } -// Unzip the local tutorial map after downloading it. Overwrite the map content if already exist -task unzipTutoMap(dependsOn: downloadTutoMap, type: Copy) { - group = 'ELN' - description = 'Unzip the local tutorial map after downloading it.' +// // Unzip the local tutorial map after downloading it. Overwrite the map content if already exist +// task unzipTutoMap(dependsOn: downloadTutoMap, type: Copy) { +// group = 'ELN' +// description = 'Unzip the local tutorial map after downloading it.' - outputs.upToDateWhen { false } // Force to run this task +// outputs.upToDateWhen { false } // Force to run this task - from zipTree(downloadTutoMap.dest) - into(minecraft.runDir + "/saves") -} +// from zipTree(downloadTutoMap.dest) +// into(minecraft.runDir + "/saves") +// } // Update the master language file task updateMasterLanguageFile(type: JavaExec, dependsOn: 'classes') { @@ -250,51 +251,51 @@ task updateMasterLanguageFile(type: JavaExec, dependsOn: 'classes') { jar.dependsOn(updateMasterLanguageFile) -publishing { - publications { - mod(MavenPublication) { - from components.java - groupId GROUP - artifactId ARCHIVE_NAME - version project.version - } - } -} - -bintrayUpload {}.dependsOn(build) - -bintray { - user = System.getenv('BINTRAY_USER') - key = System.getenv('BINTRAY_KEY') - publications = ['mod'] - pkg { - repo = 'eln' - name = 'ElectricalAge' - userOrg = 'electrical-age' - licenses = ['LGPL V3.0', 'CC BY-NC-SA 3.0'] - vcsUrl = 'https://github.com/Electrical-Age/ElectricalAge.git' - version { - name = project.version - } - } -} - -curseforge { - // Put this in ~/.gradle/gradle.properties, absolutely not in the repository. - apiKey = project.hasProperty('curseForgeApiKey') ? project.curseForgeApiKey : "" - project { - id = '253045' - changelogType = 'markdown' - changelog = file('changelog.md') - releaseType = 'release' - addGameVersion "1.7.10" - mainArtifact(jar) { - displayName = "Electrical Age $project.version" - } - // addArtifact(sourcesJar) { - // displayName = "Electrical Age $project.version Sources" - // } - } -} +// publishing { +// publications { +// mod(MavenPublication) { +// from components.java +// groupId GROUP +// artifactId ARCHIVE_NAME +// version project.version +// } +// } +// } + +// bintrayUpload {}.dependsOn(build) + +// bintray { +// user = System.getenv('BINTRAY_USER') +// key = System.getenv('BINTRAY_KEY') +// publications = ['mod'] +// pkg { +// repo = 'eln' +// name = 'ElectricalAge' +// userOrg = 'electrical-age' +// licenses = ['LGPL V3.0', 'CC BY-NC-SA 3.0'] +// vcsUrl = 'https://github.com/Electrical-Age/ElectricalAge.git' +// version { +// name = project.version +// } +// } +// } + +// curseforge { +// // Put this in ~/.gradle/gradle.properties, absolutely not in the repository. +// apiKey = project.hasProperty('curseForgeApiKey') ? project.curseForgeApiKey : "" +// project { +// id = '253045' +// changelogType = 'markdown' +// changelog = file('changelog.md') +// releaseType = 'release' +// addGameVersion "1.10.2" +// mainArtifact(jar) { +// displayName = "Electrical Age $project.version" +// } +// // addArtifact(sourcesJar) { +// // displayName = "Electrical Age $project.version Sources" +// // } +// } +// } idea { module { inheritOutputDirs = true } } diff --git a/forge-1.7.10-10.13.2.1240-changelog.txt b/forge-1.7.10-10.13.2.1240-changelog.txt deleted file mode 100644 index f260822f1..000000000 --- a/forge-1.7.10-10.13.2.1240-changelog.txt +++ /dev/null @@ -1,6374 +0,0 @@ -Changelog: -Build 1240: - LexManos: Fix creative picking a CommandBlock minecart returning wrong item. Closes #1523 - -Build 1.8-11.14.0.1239-1.8: - LexManos: Fix local variable conflict in Forge patch and latest MCP mappings. - -Build 1.7.10-10.13.2.1236: - xcompwiz: - Fixes client-side fake rain - - Changes the updateWeather function in WorldServer to only send the - weather info to players in the correct dimension, rather than all - players on the server. This is what causes the client-side rain, as the - client believes that it has started raining locally, rather than in - another dimension. - -Build 1.7.10-10.13.2.1235: - oliver.kahrmann: - Modify WavefrontObject to allow '.' in group object names - - Blender names objects with .001 ir .002 when separating vertices or duplicating objects and the importer would crash on them. This fixes the regex to allow dots in the name. - -Build 1.7.10-10.13.2.1234: - LexManos: Player sensitive version of Block.getPickBlock Closes #1348 - -Build 1.7.10-10.13.2.1233: - LexManos: Fix slots being black due to vanilla blending leakage Forge fixes. Closes #1325 & #1242 - -Build 1.7.10-10.13.2.1232: - luacs1998: - Create CONTRIBUTING.md - - Simple file (which github will show for those making PRs) containing guidelines for making PRs. - Feel free to comment if you want/need anything added. I can pull the same thing to FML too if you'd like, Lex. - luacs1998: - Update CONTRIBUTING.md - - Add link to wiki page on contributing - -Build 1.7.10-10.13.2.1231: - Adubbz: Fixed desert list initialization. Fixes #1447 - -Build 1.7.10-10.13.2.1230: - LexManos: Fix logic error in Blodd's Snapshot capture that caused blocks to not be updated to the client. Closes #1451 - LexManos: Bump version for new RB. - -Build 1.7.10-10.13.1.1229: - AbrarSyed: implemented crowdin support - matthewprenger: Add username cache for determining a player's last known username - azanor1: - Fix for biome weights under 10 - - This solves the problem where custom mod biomes with weights under 10 - not being generated in the world. - - Cleaned up the code and made the patch smaller - -Build 1.7.10-10.13.1.1226: - LexManos: Compleetly disable stencil bits unless told not to by using the -Dforge.forceDisplayStencil=true flag. Should solve the 'menu in bottom corner' issue with Intel Integrated graphics cards. - -Build 1.7.10-10.13.1.1225: - Parker Young: Added PlayerWakeUpEvent - -Build 1.7.10-10.13.1.1224: - Adubbz: Fixed biome weights not working with non multiples of 10 - -Build 1.7.10-10.13.1.1223: - LexManos: Fix vanilla lighting issue and blending issues in achievements gui. Closes #1445 - -Build 1.7.10-10.13.1.1222: - LexManos: MinecraftForge/FML@d00feb58c762b0bbc506d79faf1ce40bc96732e9 Remove debug code that was causing console spam in Forge. - -Build 1.7.10-10.13.1.1221: - LexManos: Disable by default the Display Stencil bits. Keep FBO bits. Acording to Mumfery and ChickenBones, it should not be nessasary and should solve the 1/4 main menu issue. Use -Dforge.forceDisplayStencil=true to enable old behavior. - -Build 1.7.10-10.13.1.1220: - jadran.kotnik: Prevent client only commands from bleeding through to the server. - -Build 1.7.10-10.13.1.1219: - jdroque: - Added PlaceEvent and MultiPlaceEvent which fires before placing a block. - - Before calling "ItemStack.tryPlaceItemInWorld", a recording flag is turned on for - setBlock to capture a blocksnapshot for each block that attempts to be placed. - - If 1 block is captured, a "BlockEvent.PlaceEvent" is fired to notify mods. - If 2 or more blocks are captured, a "BlockEvent.PlaceEvent" is fired first with the first block - captured followed by a "BlockEvent.MultiPlaceEvent" with all captured blocks. This extra event - is required for items that have the ability to place 2 or more blocks such as a BlockBed. - - If either event is cancelled, the recorded block snapshot(s), item stacksize, and item meta will - revert back to the captured snapshot(s). - If the events are not cancelled, a notification will be sent to clients and block physics will be updated. - - What this means for mods is Forge will be able to capture all player block placement automatically and fire - a PlaceEvent and/or MultiPlaceEvent. - If for whatever reason your mod does not use the standard placement methods then you will need to fire the - appropriate placement events in order to notify mods/servers. - - This commit also includes a new utility class called BlockSnapshot which is serializable. This new class is used in conjunction with - both PlaceEvent and MultiPlaceEvent in order to record a snapshot of block space before it is altered. This - allows us to restore the block(s) if an event is cancelled. The class also provides the ability to restore a snapshot - to any location using the restoreToLocation method. This should be helpful to many mods that are looking to be able - to capture block data then restore it to back to any location required. - -Build 1.7.10-10.13.1.1217: - cpw: - GIANT FML UPDATE! Bump forge revision number, and fix patches for ItemStack changes. More to come on this branch I expect. - - MinecraftForge/FML@7c5cf219042581545b6073de4e947448ffa10879 Implement STDOUT/STDERR redirection. - MinecraftForge/FML@bc78e31cb7ad4eda6e5faa173cd6b21e70a2c444 added support for \n in tooltip strings added \n test tooltip localization fixed int/double conversion error in slider entry added test slider scenario that highlighted conversion error - MinecraftForge/FML@a2908e5c596bb5502bf455d468d2b1ead0520f55 Clean up a bunch of compiler warnings. - MinecraftForge/FML@7f67523d870ae150071c67b002597542eb206725 Update realms to 1.3.2 - MinecraftForge/FML@73f23c24b85240458f352f248e885684aaff4743 Merge branch 'std-redir' of github.com:Emberwalker/FML - MinecraftForge/FML@1c6b25df740a64c94d9ba05dd7e4412515abf5bb If an IO exception comes from the datawatcher, spew it all over the console don't discard it silently. Should stop pixelmon blaming forge for their mistakes. - MinecraftForge/FML@e77da9eb2f5c58a494ed100dd4c1dd1a0c341dbf And fix the read side too, incase someone is trying to bitbang and failing. - MinecraftForge/FML@305d8950c9332c7a7f290db05e6f18ef328016e2 Make LogContext optional. This can be useful for debugging mod issues, but Apache's implementation in log4j2 is responsible for a very significant % of the overall runtime. Quite frankly this is shockingly bad performance from what is supposed to be a high performance logging framework. Anyway, until we can figure out if we can fix it, we're turning it off by default. - MinecraftForge/FML@bdfca1c8ed463a6053526c7a46a990007711e3d0 Make more noise when people screw up mod downloading and put .jar.zip in their mod folders. - MinecraftForge/FML@21084941127fc882d9968316a8f0669531e484df Add a custom version range factory method. Should hush skyboy's complaints. Closes #486 - MinecraftForge/FML@7c1e6aaa40704001231e602ceaedfa21a5df1edf Add a delegate to every item and block. this should help with renaming fun stuffs. Also, fix all the tabs from my previous commits. *sigh* - MinecraftForge/FML@61fcb4df06dc968fcc31d3e4e524e574acfdbb3b Tweak Itemstack patch to always delegate to the method call. Set the field, so it's in sync. - MinecraftForge/FML@eb8c5ab146f2eb3ad3833d40607da97831278ffb Fix nested directory for language resources. Closes MinecraftForge#1264 - MinecraftForge/FML@7c05e5f70d5387512d0bee33ef99510ee5aac739 Default collections, so that we don't crash if useDependencyInfo is true. Closes #485 - MinecraftForge/FML@9729fe23326a3d4f6b03e60b5cdaf78a484b3657 Kill net.minecraft.src warning. It hasn't served a purpose in a long time now. Closes #313 - MinecraftForge/FML@21e875ef22eef6068ccd6df1bd71cf58cba48eed AllowPlayerLogins only after the server has completed the core init tasks. Closes #372 - MinecraftForge/FML@46cfeade80ae60ad2d8cdb40c5fdfdaeeaf16d00 Add a constructor to CustomModLoadingDisplayException. Closes #387 - MinecraftForge/FML@a6eab2683a15a0cceca7a0ded6095b746cdd017b Update README.txt - MinecraftForge/FML@f75838461cf6d9c5010cbfd2d9ef5ceec03268d7 Last part is the itemstack transformer. Itemstacks should now only be loosely coupled with the items within. - MinecraftForge/FML@51f24e9e6d1bee371cf23cdfd0071de7c5175417 First draft of add alias. It is probably not properly persistent atm. - MinecraftForge/FML@2a4c6424709b20ce1e9bda0d85ce7fac47d157c2 Finally fix stupid NPE error caused by FML trying to parse the super of Object in IDEA envs. - MinecraftForge/FML@c1b1417ee168523154a0edae68c3180814eab1c7 FML now supports passing a json formatted modlist as an argument, as well as a comma separated argument list. These facilitate modpacks mostly, by meaning you don't need to duplicate mods. The modlist is arranged in the maven style, with mods referenced maven-like. - MinecraftForge/FML@3d42cda2a2cf5b24e7a25537d883260857b2107a Build.Gradle Patch - MinecraftForge/FML@20c7add8455cd16a4551ed13336a9ad4f9770cd1 Merge pull request #484 from bspkrs/master - MinecraftForge/FML@26ed4b992eb6341d52d12fb6735415ab8e3c501d Clear button list on FML fatal error screens. The hidden cancel button should not be there. Closes #497 - MinecraftForge/FML@ebe4f5c5e297d5d59ce57138810627a9c7a1b412 Merge pull request #494 from AntonBoch1244/patch-1 - MinecraftForge/FML@ad0da05f5c78d7f3c35a331e993dd6e679fc7ac9 Fix the ItemStack transformer to find the method and field so it works with srg and mcp naming. - MinecraftForge/FML@65d380181a84d35a78791e1bc3c7712cd90506f6 Extend timeout for client to 5 seconds. Should fix Forge #1322 - MinecraftForge/FML@45486a0b6dfca65c4d1dd23176d4c9d13d46b6f5 Fix almost invisible NPE in TerminalTransformer when loading a non-existant class - MinecraftForge/FML@13da3efce07653732971837709ccf4de7e4c5c8e Allow a clean way to exit the game without big ugly warnings, but with logging information available if needed. Closes #496 - MinecraftForge/FML@fda305edfea15ba2015cede72327703f273f74e3 Some more tidying up of the exit handling - MinecraftForge/FML@b087f60c3379d0767247e51cbc3f7c631fe97a08 More cleanup of exit handling, also add a couple more noise classes to the list of things ignored. - MinecraftForge/FML@d6358a466b4614cfc35b403d756fe3ef550ebf50 Cleanup override warnings - MinecraftForge/FML@af7a58b9e50dbacf63cf4b5009abc52301609e1f Update to legacylauncher 1.10 and asm 5.0.3 - MinecraftForge/FML@e6d00440a612c235013f3f92f1756811139a6de0 ItemStack swapping - MinecraftForge/FML@8597e45a0e417948db483006aa54e899f28b05ac Fix NPE from a boolean - MinecraftForge/FML@b9b9daa8a9d1cac8550561f31f118589abc0c30a Fix ups from feedback. - MinecraftForge/FML@d89165021f33fbffb4563d86b30bd261506c6ea6 Mark the promise a success in the outbound handler. - MinecraftForge/FML@2e5ccf7988385d38b964c615776f23a1718f5c27 Update for launchwrapper 1.11. Fixes java 6 compatibility. - MinecraftForge/FML@641250d8536bad3af5a036b70dae94097176b420 Fix java 8u20. Closes #501 and a bunch of other bugs too. - MinecraftForge/FML@292be72639feded03ced26d9a06a98159f7a95b7 Allow client handshake to be reset by server to support BungeeCord. - MinecraftForge/FML@092873fbe5baaee53bee67d26d2fc6d3d003f095 Merge branch 'bungeecord' of github.com:bloodmc/FML - MinecraftForge/FML@134f2f8e8865a91292386a3738bb45bad0477a4b Fix bug with entityspawn - if the entity doesn't extend livingbase, it fails to write a headyaw byte, and everything will be derped for that packet. - MinecraftForge/FML@4852de81e02e2b6c6d006abe20d8497499fdf51f Wrap the server description box a little bit shorter. Stops the overlapping. Closes #489 - cpw: - MinecraftForge/FML@4ce3e73bfe36c02b10f504f93eff1bc94d640e32 Add overloaded version of SimpleNetworkWrapper#registerMessage that takes the MessageHandler instance directly, allowing to specify the same handler for multiple messages. - MinecraftForge/FML@cbe2ccbda461ec0ecf4d776fcd19ab31930cc3f1 Add in ModType to the jar manifest. If it's present, and doesn't have value "FML" it will be skipped from the modloading cycle. This should let liteloader mods have a .jar extension. - MinecraftForge/FML@37cf0174fc62a842d132b2c2cc31e477acfba205 OK, lets make that a csv list. It'll let you be liteloader and fml in one jar file! - MinecraftForge/FML@0475b15eb1a7c35bf4959f1af40606e6ee8a9d03 Change the mods and modListFile argument handling a bit. Other tweakers will get a chance at looking at them now - they're only removed right before launch. - MinecraftForge/FML@abeac06a2e9bf8825b058fa35291165b4d1f1fb3 Two new features. ModLists can have a "parent" mod list. Circularity will result in a crash, so be careful. Mods specified in a child will override ones from a parent (using the maven group:name:classifier triple to identify - ignoring the version component) - MinecraftForge/FML@7fcfedcfef9b5fd85cd1c17aa2013fca1bacd871 Canonicalized file paths in modListFile handling with the minecraftDirectory. - MinecraftForge/FML@633fce19d4b367aed56d79e916f17296842f675c Make Keyevent also fire for key releases - MinecraftForge/FML@57ba2339b630afa22c0fdf060bf28edbf7b34d0f Merge branch 'keyup-event' of github.com:diesieben07/FML - MinecraftForge/FML@1ff048062c7f122731619258a9e5a68a6111d5dd Merge branch 'simple-netw-improve' of github.com:diesieben07/FML - cpw: MinecraftForge/FML@dc02d56195606d3ba2f1c5036fc8c0ddb67c843f Fix derp with ModType annotation. mods should load again now.. - diesieben07: Added Item#isBeaconpayment - cpw: - MinecraftForge/FML@7ab69aff2e19b349e457c1b5fcab8b3b01d22af2 Clean up import - MinecraftForge/FML@c5a90bd456230b201522c268dd9bc5e80a0b57be Is vanilla possible with this mod load, side tests. - MinecraftForge/FML@cad11f3165505e6d725411a9fc2c2ee8362f5827 Allow injecting alternative container types. This is the core support code for allowing sponge plugins! - michafla: - check for IFluidBlock (in addition to Material.liquid) when - determining render height so that non-liquids (gases) render correctly - kat.swales: Fixed Clientside GameProfile UUID being null on offline mode - cpw: - MinecraftForge/FML@63b64482e6dd4c3e2226ec002ceee549045c35ed Add jsr305 dev-time dependancy for Nullable/Nonnull annotations. Unneeded at runtime. - MinecraftForge/FML@5365f5ea3e90ec85552bdb7f1f1237c51b4ea493 Add IEventExceptionHandler for EventBus to allow special handeling exceptions that are fired while running an event. Events now track what 'phase' they are in during the execution process. Each EventPriority is a 'phase'. An exception is thrown if the event attempts to set its phase to a previous one. - -Build 1.7.10-10.13.1.1216-new: - kat.swales: Fixed Clientside GameProfile UUID being null on offline mode - -Build 1.7.10-10.13.1.1215-new: - michafla: - check for IFluidBlock (in addition to Material.liquid) when - determining render height so that non-liquids (gases) render correctly - -Build 1.7.10-10.13.1.1214-new: - cpw: - MinecraftForge/FML@7ab69aff2e19b349e457c1b5fcab8b3b01d22af2 Clean up import - MinecraftForge/FML@c5a90bd456230b201522c268dd9bc5e80a0b57be Is vanilla possible with this mod load, side tests. - MinecraftForge/FML@cad11f3165505e6d725411a9fc2c2ee8362f5827 Allow injecting alternative container types. This is the core support code for allowing sponge plugins! - -Build 1.7.10-10.13.1.1213-new: - diesieben07: Added Item#isBeaconpayment - -Build 1.7.10-10.13.1.1212-new: - cpw: MinecraftForge/FML@dc02d56195606d3ba2f1c5036fc8c0ddb67c843f Fix derp with ModType annotation. mods should load again now.. - -Build 1.7.10-10.13.1.1211-new: - cpw: - MinecraftForge/FML@4ce3e73bfe36c02b10f504f93eff1bc94d640e32 Add overloaded version of SimpleNetworkWrapper#registerMessage that takes the MessageHandler instance directly, allowing to specify the same handler for multiple messages. - MinecraftForge/FML@cbe2ccbda461ec0ecf4d776fcd19ab31930cc3f1 Add in ModType to the jar manifest. If it's present, and doesn't have value "FML" it will be skipped from the modloading cycle. This should let liteloader mods have a .jar extension. - MinecraftForge/FML@37cf0174fc62a842d132b2c2cc31e477acfba205 OK, lets make that a csv list. It'll let you be liteloader and fml in one jar file! - MinecraftForge/FML@0475b15eb1a7c35bf4959f1af40606e6ee8a9d03 Change the mods and modListFile argument handling a bit. Other tweakers will get a chance at looking at them now - they're only removed right before launch. - MinecraftForge/FML@abeac06a2e9bf8825b058fa35291165b4d1f1fb3 Two new features. ModLists can have a "parent" mod list. Circularity will result in a crash, so be careful. Mods specified in a child will override ones from a parent (using the maven group:name:classifier triple to identify - ignoring the version component) - MinecraftForge/FML@7fcfedcfef9b5fd85cd1c17aa2013fca1bacd871 Canonicalized file paths in modListFile handling with the minecraftDirectory. - MinecraftForge/FML@633fce19d4b367aed56d79e916f17296842f675c Make Keyevent also fire for key releases - MinecraftForge/FML@57ba2339b630afa22c0fdf060bf28edbf7b34d0f Merge branch 'keyup-event' of github.com:diesieben07/FML - MinecraftForge/FML@1ff048062c7f122731619258a9e5a68a6111d5dd Merge branch 'simple-netw-improve' of github.com:diesieben07/FML - -Build 1.7.10-10.13.0.1208: - zlyfire.martin: - Update README.txt - - Add in reference to running setupDecompWorkspace to get decompiled classes - -Build 1.7.10-10.13.0.1207: - bernhard.bonigl: Write the correct default value for StringList comments in the config - -Build 1.7.10-10.13.0.1206: - LexManos: Fix AIOOB in BiomeDictionary. Closes #1326 - -Build 1.7.10-10.13.0.1205: - cpw: - Attempt to properly resolve this daft metadata and TE nonsense. This might be mod impacting, if you maintain a reference to a TE via neighbour update calls - you - might see two TEs for a single setblock where previously you saw one. This is a phantom TE being created by badly written neighbour triggers - I'm looking at you - redstone. - - Anyway, with luck, this'll close a slew of bugs across Forge, IC2, MFR, TE, RC. Yeah, fun times. Thanks to LexManos, skyboy and KingLemming for helping figure this - issue out. Quite frankly, from now on, issues with phantom TEs will be mods behaving badly. Modders will need to adapt. - -Build 1.7.10-10.13.0.1204: - LexManos: Fix invalid math in GuiContainerCreative. - -Build 1.7.10-10.13.0.1203: - porcariadagata: Add ItemStack sensitive version of getItemEnchantability - -Build 1.7.10-10.13.0.1202: - LexManos: Add ability for creative tabs that have search bars to customize the text box's width, and prevent the default set of enchanted books from being displayed in those tabs. Closes #1303 Closes #1301 - -Build 1.7.10-10.13.0.1201: - abab9579: - Skylight Hooks for Minecraft Forge - - Mainly for solar/lunar eclipse. - -Build 1.7.10-10.13.0.1200: - JeanGlassmaker: Adds getLocalizedName and getUnlocalizedName to FluidStack - -Build 1.7.10-10.13.0.1199: - vazkii: Fixed items with more than 2 render passes rendering weird in first person - LexManos: Fix patch screwup in Skyboy's Fishing PR -.- - LexManos: Fix metadata for every permutation -.- Closes #1294 - t.tomkins: - Legacy Liquid Load Fix - - nbt.getString("FluidName") no longer returns null, it returns an empty string. - - This patch allows legacy liquids to be resolved once again. - -Build 1.7.10-10.13.0.1198: - DemoXin: - * Added AT for ContainerRepair.stackSizeToBeUsedInRepair (Now public) - * Added ability to AnvilUpdateEvent to alter stackSizeToBeUsedInRepair (vanilla behavior is now reproducable) - * Added AnvilRepairEvent, fired when the player removes an ItemStack from the output slot of ContainerRepair, and allows the chance to damage the anvil to be altered. - -Build 1.7.10-10.13.0.1197: - skyboy026: Add FishingHooks - skyboy026: Update FishingHooks - skyboy026: Add EntityFishHook AT - -Build 1.7.10-10.13.0.1195: - rwtema: Fixed ItemFluidContainer always draining the maximum amount, regardless of the amount remaining. - -Build 1.7.10-10.13.0.1194: - LexManos: Closes #1280 - -Build 1.7.10-10.13.0.1191: - LexManos: Fixed bug that allowed duplication of Fluids with redstone dust. Closes #1279 - -Build 1.7.10-10.13.0.1190: - idont: - Added drainFluidContainer() and getContainerCapacity() helper methods. - -Build 1.7.10-10.13.0.1189: - Adubbz: Added an event for fog rendering - -Build 1.7.10-10.13.0.1188: - cpw: - Revert old light amortization patch. It seems to be breaking chunk sending pretty badly when more - than a couple of people are online. Tests indicate it is not useful anymore. - cpw: MinecraftForge/FML@3231db9376766d619f942b6a526718daa3c68038 Sorta revert 908491d5e7ac26becdac938f38cc90d6b9d73ce1 but merge assets into the map, rather than force overwriting. Fixes skyboy's comment. - -Build 1.7.10-10.13.0.1187: - LexManos: - Updated FML: - MinecraftForge/FML@53887ac59cec8f747e21fd251f94d5a438a69114 Hacky interm solution to #1207 to buy me time to re-write FML's network protocol. - -Build 1.7.10-10.13.0.1186: - LexManos: Fixed NPE that happens sometimes when exiting the game witout fully loading a world {main a dev-time thing} - LexManos: Made skulls respect Block.isReplaceable when placing, also prevented them from deleting blocks when placed at certain angels. Closes #1233 - -Build 1.7.10-10.13.0.1185: - LexManos: - Updated FML: - MinecraftForge/FML@9d40b761974f10ec2b5868a992260792f8a98e5d Don't scan ObjectHolders if there was an error already, derpitude will ensure. - MinecraftForge/FML@76538c1781d6d6a1e4134fb317af99e6f13b46cc Add a terminal transformer and tweaker. - MinecraftForge/FML@aec9228845e50107112bd1f8693f9b4729694c8b Add ExitVisitor to the TerminalTransformer that finds and intercepts any calls to Runtime.exit or System.exit. - MinecraftForge/FML@908491d5e7ac26becdac938f38cc90d6b9d73ce1 Move LaunguageRegistry call above normal asset loading to allow resource packs to override mod's language systems. - MinecraftForge/FML@d13295e28113a1c310d5bbb90ebfe241fefabe02 Fix FMLAT manifest AccessTransformers, class loader fun! - -Build 1.7.10-10.13.0.1184: - darklime: - Changed exception message for duplicate enchantment ids to contain the - class path for both enchantments along with the enchantmnet id that has - been duplicated. - -Build 1.7.10-10.13.0.1183: - bspkrs: - Fixed missing assignment of constructor arg (thanks @Lunatrius) - - I must have edited this out when I was cleaning up my formatting commit spam. - -Build 1.7.10-10.13.0.1182: - vincent_a_lee: - Fix comment derp (+1 squashed commits) - - Squashed commits: - - [52c40bc] Fix experience orbs spawning at 32x coordinates clientside - - Add // FORGE comment - - Add // FORGE comment to clarify the purpose of the change - -Build 1.7.10-10.13.0.1181: - vincent_a_lee: - Fix chat opacity - - Add // FORGE comment - - As per convention, add // FORGE comment to clarify the purpose of the change - -Build 1.7.10-10.13.0.1180: - LexManos: - Updated FML: - MinecraftForge/FML@ab52901b8b47a525e2719cf280327e97bad7f91e Force preferIPv4Stack to true early in the load chain to combat netty loopback issues. - MinecraftForge/FML@11893fbbb76569417a415ae794494b8c1150a716 Add system property to skip doing world backups when game registry changes. This is SEVERLY ill-advised, if you do this DO NOT ask for any support. - MinecraftForge/FML@fdb6b34b8fc3f1e0c6beb7bfb940a01a309f1603 Update authlib and realms to latest json data. - MinecraftForge/FML@b3a74882b4d0d704d7061b9d896febb59ab0c269 added slider controls for numerics. default control is textbox, but slider can be used as a custom list entry class. fixed constructor javadocs in GuiConfig - MinecraftForge/FML@7c6d1f7568885ff677e34692ff87b1f0826dfd48 Merge pull request #468 from bspkrs/master - MinecraftForge/FML@692d955c1a5b6d0b8601ae88632ef42136d37393 Update tweaker login to use authlib. - MinecraftForge/FML@c2119eb1c1246ba37304d9e565b4430ed7056db1 Update realms library to 1.3.1, and implement network latch when connecting to Realms. Tested and working. - -Build 1.7.10-10.13.0.1179: - cpw: Add a system property for the stencil, in case config is not available.. - -Build 1.7.10-10.13.0.1178: - the.country.gamer: - RenderBlockOverlayEvent patch - - Fixes skewed XYZ parameters - -Build 1.7.10-10.13.0.1177: - LexManos: Fixed Enchantment.addToBookList Closes #1160 - -Build 1.7.10-10.13.0.1176: - LexManos: Add ability for modders to designate custom biome types. And remove note about automatically registering. Closes #1167 - -Build 1.7.10-10.13.0.1175: - diesieben07: Added hook for custom PotionEffect rendering in the inventory - -Build 1.7.10-10.13.0.1174: - the.country.gamer: - Added RenderBlockOverlayEvent.java - - Adds a Forge event which controls whether an overlay is rendered. - Overlays include: First-person fire, Block (when inside a block) - and water when a player is inside a water block. - - Patched for easier manipulation of event - - Fixed for Lex - - To be squashed - - Removed Contructor - - Added block XYZ parameters - - TODO, the second block overlay event’s XYZ might not be correct - Adubbz: Enhanced the Biome Dictionary with tags based on temperature, vegetation, moisture, trees and others - -Build 1.7.10-10.13.0.1172: - LexManos: Made EmeraldOre respect isReplaceableOreGen. Closes #1157 - LexManos: Added World to ChunkProviderEvent.ReplaceBiomeBlocks, and exposed metadata to End and Nether generation events. Close #1201 - -Build 1.7.10-10.13.0.1171: - tterrag1098: - Add AchievementEvent - - Allows modders to react to players receiving achievements, and cancel - them. - - Fix indentation - - More shortening - - Down to one line... - - Remove newline - -Build 1.7.10-10.13.0.1170: - LexManos: STENCIL buffer and DEPTH buffer, attempt a fix for GL errors. - -Build 1.7.10-10.13.0.1169: - alexrusso225: Added Javadoc comments for Forge Event documentation. - -Build 1.7.10-10.13.0.1168: - LexManos: MinecraftForge/FML@ac994e178a3533aa3c2ad8359aef9e5852c27a72 Scala people test your shit. - -Build 1.7.10-10.13.0.1167: - LexManos: Remove the BLEND enable in rendering damage bars. And exclicitly fix blend states in some GUI elements. - -Build 1.7.10-10.13.0.1166: - cpw: - MinecraftForge/FML@3ee86d0f3e47249030ba2309386f9120025e95c1 updated gradle wrapper to gradle 2.0 - MinecraftForge/FML@627ae73ea655277617912df48b03288ecc79ffea Merge pull request #464 from AbrarSyed/upgradle - MinecraftForge/FML@ee38c1b3f4642c567612f88070d7f9d651994aab Fix unneeded cast causing crash in new Config GUI system. - MinecraftForge/FML@eb92c35a2fa49a0fbe35a33e31cfb58e0674f78e updated run configs for GradleStart/Server classes - MinecraftForge/FML@70dcf80410a6d12c00300c00522582ee49ac4cc8 Merge pull request #465 from AbrarSyed/upgradle - MinecraftForge/FML@0ebdbe77a2b3503db43d36aec50c98ffb8366e20 Updated Scala to latest stable - MinecraftForge/FML@ddba18e6e33a9d9c5b113b1bfc0bfc82803b2607 Merge branch 'patch-1' of github.com:Soaryn/FML into scalaupdate - MinecraftForge/FML@220a37660b2656136c634b435afee6a915fc88fe Update realms to 1.2.9 - MinecraftForge/FML@abd7d0969bed5ce3d766f52b921c2b44e8ba87d2 Merge branch 'scalaupdate' - -Build 1.7.10-10.13.0.1162: - foka_12: - Added FluidStack sensitive version for Fluid's localised name - - Would be helpful for determining names for more complex FluidStacks (with tag compounds for example) - -Build 1.7.2-10.12.2.1161-mc172: - bspkrs: dupe quotes fix for category names - -Build 1.7.10-10.13.0.1160: - siribby: Add RenderItemInFrameEvent - -Build 1.7.10-10.13.0.1159: - LexManos: Fixed issue where Fire's 'fizz' would not play for the person who extinguished the fire. - -Build 1.7.10-10.13.0.1158: - ohai.iChun: Fixed inverted params in FogDensity use - -Build 1.7.10-10.13.0.1157: - LexManos: Add config option to disable attempting to creat screen with Stencil Bits. - LexManos: Add config option to specify the default spawn fuzz factor for the overworld. Closes #1190 - -Build 1.7.10-10.13.0.1156: - LexManos: Fix creative inventory tabs not blending base don items rendered. Closes #1179 - -Build 1.7.10-10.13.0.1153: - jdroque: - Fixed wrong method call in ChunkIOProvider. - - When a chunk fails to load async, we fallback to the original sync method. - In this case, it was calling the async method twice which ended up causing - a stackoverflow. - -Build 1.7.10-10.13.0.1152: - cpw: MinecraftForge/FML@db219fb287b14fea5148ecdbf07d8ff08704c66a API is now able to "provide" and "own" itself. Useful for libraries without a Mod in them. To go along with this, you can now require an API, with a version, in your mod dependency string - -Build 1.7.10-10.13.0.1151: - bspkrs: fixed compounding quotes issue with category names that require quotes when save is called more than once - -Build 1.7.10-10.13.0.1150: - LexManos: Update to 1.7.10-pre4. - LexManos: Fix flower pots not droping the items that are inside them. - cpw: MinecraftForge/FML@06ab104c9ab798af6d2726e02a238211ff8124e1 Force the descriptors to the right type for the field they're referencing. Fixes the sand issue - cpw: MinecraftForge/FML@e1529845384f4935b7c11d4d36d25db51c0b9a31 Add support for mod access transformers without a coremod requirement. Use the "FMLAT" manifest attribute, with a space separate list of files that live in the 'META-INF' directory. They should conform to standard AT formatting. - cpw: - MinecraftForge/FML@5d6dc5dce37e488188d6fc468c16e8a6183a3610 Fix up other exit points. Should stop process hangs for clean exits. - MinecraftForge/FML@8a240ec3c7e4cf4c57beabdfe9bd408e57de1bdc Merge branch 'master' into mc179 - MinecraftForge/FML@0cd5ef6bb71cda1ef6add892d1247148bf1ecc15 Fix NPE when no FMLAT is defined - cpw: - MinecraftForge/FML@701d98eafa4d55144b166d26030818baa9b2f680 Added config GUI system - MinecraftForge/FML@50164db5c13c85636c7fda0e13bae1fc0aedc745 Merge branch 'master' of github.com:bspkrs/FML into bspkrsgui - MinecraftForge/FML@7eb36a1481aea9f68fa46bc199195769b27d904b Merge branch 'bspkrsgui' - MinecraftForge/FML@96a7e14a45404449fb72af6d2d5e1efd30003318 Merge branch 'master' into mc179 - MinecraftForge/FML@f45f18b1d71e1c1d12582faa337a19e73ed5fb18 Fix accessing guava from transformers - MinecraftForge/FML@8f7adced471951c798cfa6844b0abc176c93d19b Fix library issue. mojang auth requests newer libs, so we get them at dev time. But the mojang json doesn't refer them at runtime. So there's a lib mismatch. Fortunately all are available at mojang, so we can update the json. - cpw: Fix new method with Side.CLIENT when it shouldn't have it. Closes a bunch of reports of problems. - cpw: Clean patch cruft. - cpw: Fix mcp release number - luacs1998: - Update mc version string - - Or was I not supposed to? - cpw: Fix API incompatibilities. Should mean mods will work with new config changes. - cpw: - Update to MC 1.7.10, bump to 10.13.0 - - MinecraftForge/FML@bc420dcb0b086899e2aaa218a6f5bd7e91091a90 Fix Eclipse launching attribute - MinecraftForge/FML@1e0134a1ca97a1107ebbe604e5318e6f350fe9c4 Merge pull request #455 from rumickon/feature - MinecraftForge/FML@1c5db211afc9962fedb7fd8450abc45d07807634 Update for release 1.7.10 - MinecraftForge/FML@79a0c5e55905f0f08471d026b744a563ea421236 Merge branch 'mc179' - -Build 1.7.10_pre4-10.12.2.1149-prerelease: - cpw: Fix API incompatibilities. Should mean mods will work with new config changes. - -Build 1.7.10_pre4-10.12.2.1148-prerelease: - luacs1998: - Update mc version string - - Or was I not supposed to? - -Build 1.7.2-10.12.2.1147: - cpw: Fix API incompatibilities. Should mean mods will work with new config changes. - -Build 1.7.10_pre4-10.12.2.1146-prerelease: - bspkrs: - Added support for new FML config GUI classes - refactored lots of stuff based on comments - - added Configuration.load() exception handling and logging - cpw: MinecraftForge/FML@5d6dc5dce37e488188d6fc468c16e8a6183a3610 Fix up other exit points. Should stop process hangs for clean exits. - cpw: - MinecraftForge/FML@701d98eafa4d55144b166d26030818baa9b2f680 Added config GUI system - MinecraftForge/FML@50164db5c13c85636c7fda0e13bae1fc0aedc745 Merge branch 'master' of github.com:bspkrs/FML into bspkrsgui - MinecraftForge/FML@7eb36a1481aea9f68fa46bc199195769b27d904b Merge branch 'bspkrsgui' - cpw: Fix mcp release number - -Build 1.7.2-10.12.2.1145: - bspkrs: - Added support for new FML config GUI classes - refactored lots of stuff based on comments - - added Configuration.load() exception handling and logging - cpw: - MinecraftForge/FML@701d98eafa4d55144b166d26030818baa9b2f680 Added config GUI system - MinecraftForge/FML@50164db5c13c85636c7fda0e13bae1fc0aedc745 Merge branch 'master' of github.com:bspkrs/FML into bspkrsgui - MinecraftForge/FML@7eb36a1481aea9f68fa46bc199195769b27d904b Merge branch 'bspkrsgui' - -Build 1.7.10_pre4-10.12.2.1144-prerelease: - cpw: Clean patch cruft. - -Build 1.7.10_pre4-10.12.2.1143-prerelease: - cpw: Fix new method with Side.CLIENT when it shouldn't have it. Closes a bunch of reports of problems. - -Build 1.7.10_pre4-10.12.2.1142-prerelease: - cpw: - MinecraftForge/FML@701d98eafa4d55144b166d26030818baa9b2f680 Added config GUI system - MinecraftForge/FML@50164db5c13c85636c7fda0e13bae1fc0aedc745 Merge branch 'master' of github.com:bspkrs/FML into bspkrsgui - MinecraftForge/FML@7eb36a1481aea9f68fa46bc199195769b27d904b Merge branch 'bspkrsgui' - MinecraftForge/FML@96a7e14a45404449fb72af6d2d5e1efd30003318 Merge branch 'master' into mc179 - MinecraftForge/FML@f45f18b1d71e1c1d12582faa337a19e73ed5fb18 Fix accessing guava from transformers - MinecraftForge/FML@8f7adced471951c798cfa6844b0abc176c93d19b Fix library issue. mojang auth requests newer libs, so we get them at dev time. But the mojang json doesn't refer them at runtime. So there's a lib mismatch. Fortunately all are available at mojang, so we can update the json. - -Build 1.7.10_pre4-10.12.2.1141-prerelease: - cpw: - MinecraftForge/FML@5d6dc5dce37e488188d6fc468c16e8a6183a3610 Fix up other exit points. Should stop process hangs for clean exits. - MinecraftForge/FML@8a240ec3c7e4cf4c57beabdfe9bd408e57de1bdc Merge branch 'master' into mc179 - MinecraftForge/FML@0cd5ef6bb71cda1ef6add892d1247148bf1ecc15 Fix NPE when no FMLAT is defined - -Build 1.7.10_pre4-10.12.2.1139-prerelease: - cpw: MinecraftForge/FML@e1529845384f4935b7c11d4d36d25db51c0b9a31 Add support for mod access transformers without a coremod requirement. Use the "FMLAT" manifest attribute, with a space separate list of files that live in the 'META-INF' directory. They should conform to standard AT formatting. - -Build 1.7.10_pre4-10.12.2.1138-prerelease: - cpw: MinecraftForge/FML@06ab104c9ab798af6d2726e02a238211ff8124e1 Force the descriptors to the right type for the field they're referencing. Fixes the sand issue - -Build 1.7.10-pre4-10.12.2.1135-prerelease: - LexManos: Fix flower pots not droping the items that are inside them. - -Build 1.7.2-10.12.2.1133: - Christian: Null check the Item in the supplied stack as well as the stack itself. - -Build 1.7.2-10.12.2.1132: - Christian: And fix firing for single player loading. - -Build 1.7.2-10.12.2.1131: - Christian: Fix derpity derp. - -Build 1.7.2-10.12.2.1130: - Christian: - Fire an event when a player loads or saves from disk. Mods that want to load an additional - player related file from the players dir can now do so in that event. - -Build 1.7.2-10.12.2.1129: - Christian: - Some patch offsets - MinecraftForge/FML@7219061b05db73d245405ef777b412d0787398b6 Also patch in warnings for Vec3Pool - similarly removed. - MinecraftForge/FML@dff22045587b37282adeb2167486a572f51f1f16 FML now sets a security manager (FINALLY!). It's primary purpose at this point is to catch rogue calls to System.exit so that they can cause a proper crash report, rather than silently abandoning the game. - -Build 1.7.2-10.12.2.1128: - lumien231: Fixes a server crash caused by a player joining that is in a non existent dimension - -Build 1.7.2-10.12.2.1127: - thog92: Add missing 1.7 biomes to BiomeDictionary - -Build 1.7.2-10.12.2.1126: - nemesis: - Fixed ArrayIndexOutOfBoundsException in getOreName - - Added sanity check to prevent ArrayIndexOutOfBoundsException in getOreName for negative ids. - -Build 1.7.2-10.12.2.1125: - LexManos: Fixed vines generation for hanging off of trees. - -Build 1.7.2-10.12.2.1124: - jdroque: - Don't call ChunkDataEvent.Load async - - ChunkDataEvent.Load must be called after TE's are loaded since this is - what mods expect. The event is handled by ChunkIOProvider during - callStage2. - -Build 1.7.2-10.12.2.1123: - jdroque: - Load chunks asynchronously for players. - - When a player triggers a chunk load via walking around or teleporting - there is no need to stop everything and get this chunk on the main thread. - The client is used to having to wait some time for this chunk and the - server doesn't immediately do anything with it except send it to the - player. At the same time chunk loading is the last major source of file IO - that still runs on the main thread. - - These two facts make it possible to offload chunks loaded for this reason - to another thread. However, not all parts of chunk loading can happen off - the main thread. For this we use the new AsynchronousExecutor system to - split chunk loading in to three pieces. The first is loading data from - disk, decompressing it, and parsing it in to an NBT structure. The second - piece is creating entities and tile entities in the chunk and adding them - to the world, this is still done on the main thread. The third piece is - informing everyone who requested a chunk load that the load is finished. - For this we register callbacks and then run them on the main thread once - the previous two stages are finished. - - There are still cases where a chunk is needed immediately and these will - still trigger chunk loading entirely on the main thread. The most obvious - case is plugins using the API to request a chunk load. We also must load - the chunk immediately when something in the world tries to access it. In - these cases we ignore any possibly pending or in progress chunk loading - that is happening asynchronously as we will have the chunk loaded by the - time they are finished. - - The hope is that overall this system will result in less CPU time and - pauses due to blocking file IO on the main thread thus giving more - consistent performance. Testing so far has shown that this also speeds up - chunk loading client side although some of this is likely to be because - we are sending less chunks at once for the client to process. - - Thanks for ammaraskar for help with the implementation of this feature. - - This commit is based off the following : - - Bukkit/CraftBukkit@b8fc6ab2c12e9b4c8d7b5370e44f23cc838014b2 - Bukkit/CraftBukkit@85f5776df2a9c827565e799f150ae8a197086a98 - Bukkit/CraftBukkit@0714971ca2a31bc729bdd78ded8c69ffb2284813 - Bukkit/CraftBukkit@7f49722f457dcc31f8cac8e011871ff1b7fd3306 - Bukkit/CraftBukkit@53ad0cf1abe9c060ef411a86e9a16352f3e5197e - -Build 1.7.2-10.12.2.1122: - antoine.lucas.33: Add missing onLivingJump calls - -Build 1.7.2-10.12.2.1121: - LexManos: Pop version for new Recomended build. - -Build 1.7.2-10.12.1.1120: - Christian: Warn when chunks are being self-recursively loaded. This can cause serious issues. Modders should watch out. - Christian: MinecraftForge/FML@1a99ec7db612f258983c6ac685da906bf7cde0a6 Deprecate getAABBPool so people can stop using it in mods. Failure to do so will result in 1.7.10 upgrade incompatibility. Use getBoundingBox instead. - -Build 1.7.2-10.12.1.1119: - LexManos: Changed dustLapis to gemLapis to make OM SHUT THE HELL UP. - -Build 1.7.2-10.12.1.1118: - LexManos: Fixed missed metadata offset, and now cache return values of getOres for speed. - -Build 1.7.2-10.12.1.1117: - cojomax99: World fog color and density can now be controlled through an event - -Build 1.7.2-10.12.1.1116: - diesieben07: Fix not being able to change target & attackDamage for EnderTeleportEvent. - -Build 1.7.2-10.12.1.1115: - LexManos: Fixed inverted player parameters in PlayerEvent.Clone, Closes #1142 Closes #1140 - -Build 1.7.2-10.12.1.1114: - LexManos: Changed EntityWolf to EntityTameable in EntityLivingBase.attackEntityFrom, to allow for more custom pets. Closes #1141 - -Build 1.7.2-10.12.1.1113: - LexManos: Rework OreDictionary's internals to be a bit more speedy to help combat modders using it inapropriatly. Closes #1022 Closes #1131 - -Build 1.7.2-10.12.1.1112: - Christian: - MinecraftForge/FML@e3ce211cc798f4d86ca6f974d9ba8b4e389b4dc9 Nullcheck the dispatchers on players. Should stop some crashes when spamming connectivity. - MinecraftForge/FML@480bf2c1d078038bb59c4254a01a5af685c7cb22 Fix REPLY handling in SimpleNetworkWrapper. Closes #440 - -Build 1.7.2-10.12.1.1111: - LexManos: - Fix inverted parameters in OreDictionary.getOreID Closes #1123 - -.- Closes #1120 - -Build 1.7.2-10.12.1.1110: - Adubbz: Greatly simplified the addition of new biomes to the default world - -Build 1.7.2-10.12.1.1109: - LexManos: Added Noteblock change and play events. Closes #1027 #1025 - -Build 1.7.2-10.12.1.1108: - LexManos: Add target world to PlayerInteractEvent for potential 'cross dimension' interaction such as LittleBlocks. Closes #1071 - -Build 1.7.2-10.12.1.1107: - LexManos: Add a couple of localizations to Forge added strings. Closes #1068 - -Build 1.7.2-10.12.1.1106: - rwtema: Fixed setBlock not using the location-specific version of getLightOpacity() - -Build 1.7.2-10.12.1.1105: - LexManos: Filter all vanilla blocks that we missed through Forge's getDrops and BlockDrops events. As well as implemented IShearable for DoublePlants and DeadBushes. Mojang really should generic out some of this stuff instead of repeating logic all over the place! - -Build 1.7.2-10.12.1.1104: - LexManos: Fix patch fuzz - LexManos: Fixed GuiContainer calling button.mouseReleased. Closes #1116 - LexManos: Add comment to RotationHelper telling modders where to actually look, closes #1115 - -Build 1.7.2-10.12.1.1101: - diesieben07: - Add PlayerEvent.StartTracking and .StopTracking & make trackedEntityIDs visible - & Update, as discussed on IRC (squash) - -Build 1.7.2-10.12.1.1100: - vilim.lendvaj: Make finite fluid blocks drainable - -Build 1.7.2-10.12.1.1099: - LexManos: Fix enum helpers for EnumRarity {moved to Commn and changed paramter} and EnumCreatureType {new parameter} and added junit test for them. Closes #1009 - -Build 1.7.2-10.12.1.1098: - Christian: MinecraftForge/FML@1d41aa978d41267e4040ec449e10f49a20edd4fa Fix the side for the compatibility check. Should result in green ticks finally! - -Build 1.7.2-10.12.1.1097: - LexManos: Change IShearable JavaDoc by one line so Anti would shut up. Closes #1054 - -Build 1.7.2-10.12.1.1096: - Christian: MinecraftForge/FML@4512f8e5e316ddaf6a4fe35470f1f88dcdddae1a Warn when the objectholder finds nothing in the registry. Helps debug mismatched names. Also, actually make the scoping thing work with objectholder - -Build 1.7.2-10.12.1.1095: - rainwarrior: Added world display list render events - -Build 1.7.2-10.12.1.1094: - foka_12: - Fix getOreIDs not using the wildcard value correctly - - You can see it's not working by requesting the ore IDs from lapis, and you'll see the name "dye" is missing (and that's the one registered using the wildcard). - - Fixed it by inverting the order of the item stack parameters. - -Build 1.7.2-10.12.1.1093: - LexManos: Prevent duplciates in registered Ores in the OreDictionary and clean up some of the code, add new function to return all ores the specified ItemStack satisfies. Closes #1102 - -Build 1.7.2-10.12.1.1092: - vilim.lendvaj: - Fix fluid blocks - For https://github.com/BuildCraft/BuildCraft/issues/1843 . - -Build 1.7.2-10.12.1.1091: - LexManos: - Updated FML: - MinecraftForge/FML@3aba56440aa7a95f6431efcdcb5c127ebafc8891 lastIndexOf, Note Don't code while sick. - -Build 1.7.2-10.12.1.1090: - LexManos: - Updated FML: - MinecraftForge/FML@c828bb63c57cb10c23d9b1c3a6934e9f9ddba37b Make AccessTransformer change INVOKESPECIAL to INVOKEVIRTUAL when making methods visible - MinecraftForge/FML@a9aa468457a1eeed3366505b93e36da654610f05 Merge pull request #431 from diesieben07/at-invokevirtual - MinecraftForge/FML@31d726abad0dec6d1b853e9adf6a01580aee2af4 Fix the null networkHandler in the MessageContext - MinecraftForge/FML@725d988e36a7b104b9f5d8ae2daf993ac12af5bd Add in the objectholder, autopopulated by FML based on simple rules. Allows for reference driven substitution of mod blocks and items based on their server running state. - MinecraftForge/FML@f07bf5cb30a20ca9f62337512e936cfefcfbf0c4 Fixed deobfusication of nested inner classes. And removed legacy ModLoader remaps. - LexManos: - Updated FML: - MinecraftForge/FML@3a687f48b9606b4f9179d63ef0b831a25821ff8f -.- Save File First. My Bad. - -Build 1.7.2-10.12.1.1088: - LexManos: Add Glass, Colored glass, ore storage blocks, alines, and a few others to ore dicitonary. Closes #1011 - -Build 1.7.2-10.12.1.1087: - clashsoft: Update GuiScreen.java.patch - LexManos: Add new PlayerEvent.Clone called when an EntityPlayer is cloned via dimension travil or respawn. - LexManos: Made WorldGenShrub respect Block.canSustainPlant, Closes #1096 - -Build 1.7.2-10.12.1.1085: - delma: - Fluid events now know how much fluid is moved - - Added amount that is being filled/drained to the FluidEvent - - Added constructors without amount to ensure backwards compability - - Added deprecation to amountless constructors - -Build 1.7.2-10.12.1.1084: - LexManos: Fixed Stems not droping a random number of seeds based on metadata, Closes #1087 - -Build 1.7.2-10.12.1.1083: - xcompwiz: - Bug Fixes to Biome Decoration and Chunk - Fixes issue with biome decoration crashing on worlds with exposed void - Fixes same issue in JungleBiome decoration - Fixes forge bug in getting lighting from a block in chunk - -Build 1.7.2-10.12.1.1082: - LexManos: In Flower Forest biome a Poppy should spawn instead of Blue Orchid Closes #1078 - LexManos: Added Farmland to PLAINS type plants as that has changed in 1.7. Also made BlockTallGrass call it's super.canBlockStay to better support custom soils. Closes #1077 - LexManos: Added accessible instance to RenderBlocks and RenderItem for modders to use who don't wish to create there own instance. Warning: Other modders may influance the transient state of the instance, BE WEARY MODDERS. - -Build 1.7.2-10.12.1.1081: - Christian: MinecraftForge/FML@43e3ee1af1cab54db238dab4994076fdbe68bc6a Swap Listenerlist constructor around. Should fix parent resizing issue? - -Build 1.7.2-10.12.1.1080: - Christian: MinecraftForge/FML@70570a863ffa6a3ba7e2dd30b471bb47615b8bf8 Fix up possible CME - -Build 1.7.2-10.12.1.1079: - Christian: MinecraftForge/FML@503da3a2577a069b7847c158a27e8316c85ed852 Don't consider null NetworkDispatchers. This should fix a bunch of fakeplayer issues. - -Build 1.7.2-10.12.1.1078: - LexManos: Fully clear DimensionManager's DimensionID bitset when world is loaded. Closes #1074 - LexManos: Fixed No Blue Orchids spawn in swamp when using bone meal Closes #1072 - -Build 1.7.2-10.12.1.1077: - Christian: Fix forge validating strict versions on remote connections. - -Build 1.7.2-10.12.1.1076: - Christian: - MinecraftForge/FML@a8cbef2321a8e1bdfac56476bdfb5b306f71d38b Finally hopefully fully kills the race condition causing a classcast on slow machines. - MinecraftForge/FML@8dbd1ae0a177a556d03630a059242a2ee7f45e55 Fix ObjectIntIdentityMap sporadically matching non-identical objects. - MinecraftForge/FML@42713c66e565a26e963099baa838800f250089c3 Merge pull request #426 from sfPlayer1/master - -Build 1.7.2-10.12.1.1075: - Christian: - MinecraftForge/FML@d8b6adb2598ce144568a0aaf26fa8b988c028b7c Add a helper for casting some common collection types into generic form - MinecraftForge/FML@5275cea844a6afacc0deb41d153f01c1c25bb924 Try and see if there is anything to the identityHashCode collision hypothesis. If you see this in your error messages, kindly let us know! - -Build 1.7.2-10.12.1.1074: - LexManos: - Updated FML: - MinecraftForge/FML@a70308ef41f1e24074ea718f64caf75b8d6acba7 Update mcmod.info - MinecraftForge/FML@8555344eb33e4f0cc676defdb7391a24ebd5677d updated wrapper to gradle 1.12 - MinecraftForge/FML@1d5fc60f82e911c1abfbebbe781316126c02c987 Merge pull request #411 from matthewprenger/master - MinecraftForge/FML@3612ad0c25d103ba9bc81b32e8ecfef2dfc1cadc Attempt to fix another race condition related to reading NetClientHandler. - MinecraftForge/FML@c73a2076e3dd5d1f60c2fe2f589109cefa2dc6ce Fix potential rance condition in connecting to vanilla servers as well. And move latch into client side only. - MinecraftForge/FML@1436ac2f14fbdb48777c90b1b93378108c9cbf36 Fine use FMLCommonHandler. - MinecraftForge/FML@542e9acec1016c950c6f80af0c9da3190691359b documented dependencies - MinecraftForge/FML@ddc2cfbe864bd377232dbd1aa65df6e710d4639d Merge pull request #402 from AbrarSyed/patch-1 - MinecraftForge/FML@362ec8dee7ed2c291a8ed287c52eacdd80582eff Merge pull request #419 from Thog92/master - MinecraftForge/FML@b9de9ebc960bbf26e7aee570701aa4c226252fee Revert "Fix refreshResources not happening if an error occurs." - MinecraftForge/FML@738ce1d7cd5575269375066586d0a37881c536e2 Re-add removed genericiterable to clean a warning - MinecraftForge/FML@b0eb1ef7c6f4a63689898bf28f28e84d2dbae6e7 Split loadmods into loadmods and preinitmods, to allow resource loading to occur *always* between the two phases. This should fix mods not being able to access resources during preinit. - MinecraftForge/FML@de546bdf6cbeadb612cd6385bac8d54480073496 Clean up some missing generic info - MinecraftForge/FML@cd43eacbb25bc9cc0e81138844fa3aa7fd133037 Ensure that the loadcontroller is ready to preinit. - MinecraftForge/FML@f2fe80dc36972fe9db57e700380b6869abbc1832 Fixed default network mod checking to allow client side mods without the server side. Mods wishing to REQUIRE server side components must specify a custom check handler using @NetworkCheckHandler - MinecraftForge/FML@0c36868f92a3516c83ae363e13e5cb1db81236d1 Fix network disconnect with message on the client side in NetworkDispatcher. - -Build 1.7.2-10.12.1.1073: - bspkrs: Fixed unforeseen NPE - -Build 1.7.2-10.12.1.1072: - LexManos: - Revert "Implemented hashCode and equals in ItemStack, Closes #986" - - This reverts commit 0b01545a03942abca7b7ea28030be81e2ebeaa59. - -Build 1.7.2-10.12.1.1071: - LexManos: Implemented hashCode and equals in ItemStack, Closes #986 - -Build 1.7.2-10.12.1.1070: - LexManos: Fix extended entity properties being lost when leaving the end, This introduces the concept of calling IExtendedEntityProperties.init when entites/worlds change. Lets see if mods explode. - -Build 1.7.2-10.12.1.1069: - bspkrs: New GuiScreen events and a new ElementType DEBUG for RenderGameOverlayEvent - -Build 1.7.2-10.12.1.1068: - LexManos: Added new hook to WeightedRandom.getItem that allows for use of custom rnadom generators, prevents redundant code in mods. - -Build 1.7.2-10.12.1.1067: - LexManos: - Updated FML: - MinecraftForge/FML@2c56c32c5aa8842cfadaf8c237396cdb75673909 Fix saving backups with the raw name. Fix air block not being assigned as the default. - MinecraftForge/FML@d0f8073fa51db7426d5ded373f3404fa60d722f0 Merge pull request #413 from sfPlayer1/master - MinecraftForge/FML@810b1f3075e6061ab189e1f6975bd77b20040d71 Clean some generic warnings up. Make a generic list handler. Helpful for others I think too. - MinecraftForge/FML@fff86ee9d35874bdf77a1eaabe77615441644064 Fix refreshResources not happening if an error occurs. - MinecraftForge/FML@76d8d0e870a4e389167634283984dc10abb08e84 Fix mod version checking - MinecraftForge/FML@b84d0760ae47832e5b1e4d50237b582b2d50d520 Fix display of mod status at the server - MinecraftForge/FML@251af1d09dfbf636e2fb3f323a5345c81cc07aea Fixed memory leak on the client caused by Netty holding references to the World. - LexManos: Fixed hard references in WorldGenBigTree and ForgeCommand that caused worlds to leak in the client. - -Build 1.7.2-10.12.1.1066: - lhb: - Fix for Block.getExplosionResistance getting passed the wrong parameters - - It is being sent the x, x, y coordinates instead of x, y, z - -Build 1.7.2-10.12.1.1065: - CovertJaguar: - Fix issue with flexible rail return value - - Between 1.6 and 1.7 the return value to BlockRailBase.isFlexibleRail() - was inverted. While this is not a huge deal and could be worked around - by simply inverting your return value, it does mean its no longer - consistent with the function name and javadocs. - bioxx2007: Adds a new ReplaceBiomeBlocks Event constructor that supplies the metadata array if applicable and updates the ChunkProviderGenerate class to pass in the metadata array. - -Build 1.7.2-10.12.1.1061: - bspkrs: get a spelling checker :P - -Build 1.7.2-10.12.1.1060: - LexManos: Bump Forge version in prep for release. - -Build 1.7.2-10.12.0.1059: - LexManos: Try and fix invalid framebuffer depth/stencil setup, Thanks Ivoforce. Closes #1032 - -Build 1.7.2-10.12.0.1058: - apricefrench2d: - Fix infinite loop in RecipeSorter - - If recipe is multiple levels of inheritance from Object and not categorized, cls=cls.getSuperclass(); needs to be repeated more than once. It must therefore be moved to inside the while loop. - -Build 1.7.2-10.12.0.1057: - ohai.iChun: Fixes stencil buffers on platforms not supporting OpenGL 3.0 or higher. - -Build 1.7.2-10.12.0.1056: - LexManos: - Small wording change in license to allow for specifc differnet licnense contributions. - - Updated FML: - MinecraftForge/FML@e58562d3edfd1cd37fdc0a9e54181aed7433fdff Fix remaining issue with autoassigned Block and Item IDs overlapping. - MinecraftForge/FML@a82195772e539437911c25508168cb607659bc71 Registry: Block IDs after failing to find a mapping for them - MinecraftForge/FML@fd9389015fd5c6150155531bf1fffb38cfe9d551 Fix FMLMissingMappingsEvent.get - MinecraftForge/FML@5eebd4df718d65ac8426deba61e1ebb6ae2fde18 Registry: Implement support for remapping blocks/items to a new name. - MinecraftForge/FML@7325aa5033e7a5b5db79340777dd7a1c763315a0 Registry: cleanup, fix missing id error GUI formatting - MinecraftForge/FML@eb29d651ebda7086fe6d1f716295b087e2c17e6f Fix old 1.7 worlds with broken ID mappings - MinecraftForge/FML@6fd3c12a4a15a5cf38c421a94576a5cacd3fb7c1 Registry: allow handling missing blocks/items regardless of the mod id - MinecraftForge/FML@038fa17ad33aeba276db84ab170504fce884c1e7 Merge branch 'master' of https://github.com/MinecraftForge/FML - MinecraftForge/FML@49c623f59c440ba177adf2d76332ecee25e12236 initial attempt at a better way to ask the user in case of startup issues - MinecraftForge/FML@9be92dcfcb1c737025397c92b18ed027a6c7f4fa Registry: Complain about bogus registrations - MinecraftForge/FML@fd6d55afcc4f4c650c143ad43e09fbdc2cb9d850 Registry: Allow ignoring missing mods from the GUI, with confirm+backup - Registry: Add confirm+backup for automated corrupted id table fixup Require the user to confirm loading from a backup level.dat - MinecraftForge/FML@c47fc3b382434d435050b4ee02a02550b81f5717 Enable custom gui rendering only as required - MinecraftForge/FML@f77632df35dbf53fb31420fa86e6792f13257020 Remove unneeded entity spawn debug logging. - MinecraftForge/FML@c7adb42199a0684d8748451d39deb8326c0a2194 Registry: Repair mismatched ItemBlocks as well Fix a few misc issues - MinecraftForge/FML@c8a245a985779fd2545ee4b58a93270973aeb435 Registry: Fix debug info - MinecraftForge/FML@c8a0b72eba9265be608670424e1bd835a9d2f1e2 Registry: Complain about missing mods when repairing broken worlds Registry: Reduce console spam - MinecraftForge/FML@8e44006f432f1b36b826ff0469d99986a6051e4b Registry: Protect against putObject misuse, handle duplicate registrations better - MinecraftForge/FML@294c93212cd9f30c50b9d1a3b048a6141c45cdea Registry: Add support for registering ItemBlocks before their Blocks - MinecraftForge/FML@3b42b33b6ec4020b5032cae06760053ed135fae8 Merge pull request #400 from sfPlayer1/master - -Build 1.7.2-10.12.0.1055: - traincrazyb: - Small Fix: Held Items & Multiple Render Passes - - Passes beyond 1 now have the correct icon. - -Build 1.7.2-10.12.0.1054: - LexManos: Fix line offset in Minecraft patch, and mix RenderPlayer looping once to many on multi-pass items. - -Build 1.7.2-10.12.0.1053: - t.tomkins: Update PlaySoundEvent17.java - -Build 1.7.2-10.12.0.1052: - LexManos: Update access transformer, Closes #951 and #1021 - LexManos: Add NPE protection to GuiingameMenu.actionPerformed, Closes #961 - LexManos: Finally do SoundSystem workup for 1.7, Closes #982 - -Build 1.7.2-10.12.0.1051: - LexManos: Use BiomeGenBase's array size instead of hardcoding it in BiomeDictionary. Closes #871 - LexManos: Fix potential threading issue if FluidRegistry.loopupFluidForBlock is called from two threads at the same time before being setup. Closes #936 - -Build 1.7.2-10.12.0.1050: - LexManos: New hook to truely seperate the display of the 'durability' bar from the current / max durability. Allowing modders to control that display easier. - LexManos: ItemStack sensitive version of Item.getAttributeModifiers, Closes #816 - LexManos: Add ANIMALS tpe to PopulateChunkEvent.Populate Custom providers should call this function if they spawn animals curing population. Closes #790 - LexManos: Add AnvilUpdateEvent which is fired when a user places a item in both input slots of a Anvil and allows modders to control the output. Closes #838 - -Build 1.7.2-10.12.0.1049: - LexManos: Add position to BreakSpeed event. Closes #621 - LexManos: Advanced Model Loader available server-side for data driven models. To be cleanuped and re-evaluated in 1.8. Closes #773 - -Build 1.7.2-10.12.0.1048: - AbrarSyed: COnverted patches to SRG names - AbrarSyed: updated for ForgeGradle 1.2 - AbrarSyed: added .exe file.. fixed a bunch of patches - AbrarSyed: updated FML to latest master - AbrarSyed: fixed remaining noop patches and exc derp - LexManos: Update patches for new Fixed FernFlower used in FG 1.2. - -Build 1.7.2-10.12.0.1047: - reflex_ion: - This correctly uses the world height less one block for placement of a - Door. - - Required for placing doors inside a littleblocks area. - -Build 1.7.2-10.12.0.1046: - LexManos: MinecraftForge/FML@ef07de4f65ea16e1db1467845e316cb4c7d01a1f Fix hard link to DedicatedSerever when opening a LAN connection causing stalls on connecting. - -Build 1.7.2-10.12.0.1045: - LexManos: -.- Both null combinations. - -Build 1.7.2-10.12.0.1044: - LexManos: properly implement equals, sod off Player. - -Build 1.7.2-10.12.0.1043: - LexManos: Implement simple hash based equals in Fluid ContainerKey. - -Build 1.7.2-10.12.0.1042: - LexManos: Make StructureVillagePieces.Village public. - -Build 1.7.2-10.12.0.1041: - ohai.iChun: Fixes stencil bits not existing in Minecraft's framebuffer causing stencil test to not work. - -Build 1.7.2-10.12.0.1040: - LexManos: - Updated FML: - MinecraftForge/FML@e8b60441ccca8cccdc130560b4c8bf400aebc605 Reload game settings after mod loading is finished to capture mod keybindings. Closes #378 - MinecraftForge/FML@399770e572c9177babfb65a27280253023db2d9e Kill the modEventTypes list, register anything that extends FMLEvent, Fixes MissingMappingEvent handler, and any futureevents added. - MinecraftForge/FML@b7ad532ab5eb3e00d77ffde946d25675c9f69cf7 Re-enable post initalize texture pack reloading to allow Icons to be registerd through any init phase. - -Build 1.7.2-10.12.0.1039: - t.tomkins: - Small Fix: Held Items & Multiple Render Passes - - Passes beyond 1 now have the correct icon. - DemoXin: * Added Ore Dictionary entries and recipe replacements for Diamond, Emerald, Crops, Redstone, and Glowstone - DemoXin: * Fixed Items.glowstone to Items.glowstone_dust - -Build 1.7.2-10.12.0.1034: - LexManos: Fixed hashcode in FluidContainerRegistry, still needs a redesign. Closes #967 - -Build 1.7.2-10.12.0.1033: - ohai.iChun: Add cancelable RenderHandEvent. - -Build 1.7.2-10.12.0.1032: - LexManos: Fix a typo in our tile entity fix causing it to be ineffective. - -Build 1.7.2-10.12.0.1031: - LexManos: Fix items with color rendering incorrectly. - -Build 1.7.2-10.12.0.1030: - Christian: - Update Forge for patch changes - - MinecraftForge/FML@064b66af3d6c92b19821b88ec26cbb59577d68b4 Prevent players from logging in until server has finished starting. - MinecraftForge/FML@2aa73afa15908dadb0a033c49deb0ffefad2f265 Fix ExampleMod.java for build #1024+ - MinecraftForge/FML@c890206268da3c594d97198f5426b52ff6b8460c Try and handle removal of mods a bit better. Currently no way to allow a world which has missing blocks to load - but i have the code in place to allow it i think. - MinecraftForge/FML@995c204338cd601e118396d4b4ef8feb6e759037 Fix failing to load a world with missing mod blocks and items. There will be a way to force worlds to load when stuff is missing, but for right now, it will fail as this is "world safe". - MinecraftForge/FML@fa5f4c884272f415933329a9e914e0b7d052e31a Some argumentation - MinecraftForge/FML@45409bfa0c136078823a1aef1358396d92a269ee Prevent player dat files getting reset during disconnects. - MinecraftForge/FML@33100d6bab654a4bd59701b1ec2bf91caa3399da Merge pull request #371 from bl4ckscor3/patch-1 - MinecraftForge/FML@572d32358ab11e5916d91c4c7b9c04a70cfed2f6 Merge pull request #373 from bloodmc/master - MinecraftForge/FML@d0dd05a15c2eca9eabd308319c2ed85cb632922b FML expands S3F to support payloads up to 2 megs in size. Should be transparent - -Build 1.7.2-10.12.0.1029: - LexManos: Fixeed a missed -1 in SpawnerAnimals patch. Thanks Blood. - -Build 1.7.2-10.12.0.1028: - LexManos: Cull FakePlayers when worlds are unloaded. - -Build 1.7.2-10.12.0.1027: - LexManos: Use correct tag types when reading Forced Chunk data. Fixes ticket loading. Closes #964 - -Build 1.7.2-10.12.0.1026: - LexManos: Fixed FluidContainerRegisry.contansFluid closes #845 - -Build 1.7.2-10.12.0.1025: - LexManos: Fix AIOOB error with Endermen and blocks >256. Also better support for ID remapping. More to come later. - -Build 1.7.2-10.12.0.1024: - LexManos: - Updated FML: - MinecraftForge/FML@03fb1879d72fbd347badc140fed6c2c3191d2990 Fix obf error when right clicking a Empty Map. - MinecraftForge/FML@6bb9b8b9532b276450d03a3419e0da016aecead8 Clean up FMLEventChannel. Closes #367. - MinecraftForge/FML@b7b3450dcd123ab5df6b3693c9c2123bc3846b88 Update MCP mapping snapshot to latest crowdsourced names. - MinecraftForge/FML@8c9e8b52708bd0630303f8b5dc184ab60e2553a1 Fix isRemote, this is integral to so many parts of the code, everyone knows it by this name, People should not change it. - LexManos: Add the beginnings of a Constants class, to document/clean some of the magic numbers that are in the MC code base. - -Build 1.7.2-10.12.0.1023: - Christian: - MinecraftForge/FML@d87822ad8519da1c808e48bcc0a1bf8eb15c0095 Bump gradle wrapper to 1.10 - MinecraftForge/FML@359ac3ca2a941d70709168fbbbc0725c861668dd Ensure we check both item and block registries when finding valid IDs. Should fix #365 - MinecraftForge/FML@cee0f0b81179d307059843f08401f8700fb3ddb2 Tweak so that writing to the context will automatically send a message back to the originator in handshakeestablished. - Christian: Add a discriminator for fluididspacket. remove extraneous channel handler. - Christian: Fix up the event handler so it knows it's owned by forge - -Build 1.7.2-10.12.0.1022: - LexManos: Uncomment aa few FluidRegistry entries. - LexManos: Fixed issue where enchantment effects caused slight rendeirng issue. - LexManos: Fixed missed parens causing trapdoors to fall off incorrectly. - -Build 1.7.2-10.12.0.1021: - LexManos: Inital Fluid system update, untested. Still in progress. - -Build 1.7.2-10.12.0.1020: - LexManos: Fix NPE when breaking ice. - LexManos: Attempt a AIOOB error fix in tesselator when there are alot of transparent blocks in the rendering range. - -Build 1.7.2-10.12.0.1019: - Christian: - MinecraftForge/FML@544320b8d239df4a5ee2b3a7ec331ce2ec0a2c09 Beginning of a saveinspectionhandler. - MinecraftForge/FML@ab199c5811fe2d831592601d4f77691fbf82d1b8 Try harder to find a mod container. - MinecraftForge/FML@8633d780c925ebb719c37ac52e2f3db5f9957895 And make a loud message if there isn't a modcontainer found, substitute Minecraft. In general, this can only happen for coremods not properly registering their code. Closes #363 - -Build 1.7.2-10.12.0.1018: - LexManos: Fix imporerly efficient tools breaking blocks to fast. - -Build 1.7.2-10.12.0.1017: - LexManos: Fixed potential NPE in SlotCrafting, and added ItemStack sensitive version fo hasContainerItem. Closes #854 - LexManos: Adds a WeatherRender in the style of SkyRender, Closes #844 - -Build 1.7.2-10.12.0.1016: - LexManos: Move change of metadata to immediatly after change of Block, should prevent any 'invalid' tile entities from breaking created. Reference: #897 - -Build 1.7.2-10.12.0.1015: - LexManos: New PlayerUseItemEvents, Start, Stop, Tick and Finish. See PlayerUseItemEvent.java for more details. Closes #924 - -Build 1.7.2-10.12.0.1014: - LexManos: Make ItemBlock.field_150939_a public, closes #945 - LexManos: Missing EntityAITasks.tasks and MapgGenStructreIO register ATs, Closes #949 - LexManos: Implement PlayerPickupXpEvent, fired when a player aquires XP from a EntityXPOrb. Closes #942 - LexManos: Exclude cobblestone slab recipe from ore dictification, closes #940 - LexManos: Add the ability for custom records to have finer control over there sound resource location. Closes #933 - LexManos: Don't short circuit item icons for multiple render passes while being used. Closes #929 - -Build 1.7.2-10.12.0.1013: - LexManos: Fix Furnace stopping on 63rd Item, Closes #947 - -Build 1.7.2-10.12.0.1012: - Christian: - MinecraftForge/FML@b6d95d704b65dd8232ec8ddd333de378db8fe161 Name the log files properly. fml-junk is an early startup annoyance I can't kill because log4j2. - MinecraftForge/FML@8692ca17d13eda036b5ef996ec8e8706e7707d80 Log4j2 logging context for things. This should help add context when things go wrong in mods. - MinecraftForge/FML@a7ca131a337b5f0d4fc6f438626ac2d5b7771b3c And don't spam NONE everywhere - MinecraftForge/FML@741e172ffe163f0dd3018e1474af46ef0696396a Log4j2 doesn't need debug level logging for itself anymore - -Build 1.7.2-10.12.0.1011: - Christian: MinecraftForge/FML@458b0620b43116c943549a0f060c7e8830c2d77a Log the bad packet in a prettier way. Also, don't show the authlib debug data in the log file. - -Build 1.7.2-10.12.0.1010: - LexManos: Add BookCloning to the recipe sorter. - -Build 1.7.2-10.12.0.1009: - Christian: - MinecraftForge/FML@9a8d16b66e67691a4c83a9e1e236304e9f6d5139 Fix log4j2 config. Fix server gui to *show* logging. Fix log spamminess in the console. Fix bug in servergui that can cause deadlock. - MinecraftForge/FML@a355eecb2c14123964c6ae2402a0933d57ae9736 Add in error logging for outbound messages. Fix bug with indexedcodec NPE - MinecraftForge/FML@1c793abe0eef6846f681c9673019b0ebc49caaaf Fix derp with networkcheck - MinecraftForge/FML@675b5a07788ada17bc26a9c4f26598e77d2098cf And turn down some more logging, now we have useful logging back again.. - -Build 1.7.2-10.12.0.1008: - Christian: - MinecraftForge/FML@4aa2416ce5dcd8e77761703c018d1e7d08464025 Propagate Optional method removal to trait implementation classes - MinecraftForge/FML@fc025a7b73d9b3f46ecf2257227657592f5506b5 Logging Changes - MinecraftForge/FML@f0132a6f3b47e746a1a7df3ef84f4be989f140dd changed fml log level to all - MinecraftForge/FML@f23eba4352c38fd21e04e81f3db72c6cafe65a36 put max number of FML log files to 3 - MinecraftForge/FML@449ac98b77025eba38a75d0242113fffe26a8cf9 SSP Worlds updating from 1.6 will now pop a warning message before loading, and will capture a timestamped zip file in the minecraft dir before starting to load. Allows for people to test updates. - MinecraftForge/FML@3557fe31c92ea8d76c90052f9b8b6da963300c4f Throw an exception when discriminator is not found - MinecraftForge/FML@25240457283ba40c32022c97fc982c2ff4408e46 Make NetworkEventFiringHandler sharable - MinecraftForge/FML@dfc0899ec66f87502b5727939ac2f0ad0fabf89f Merge pull request #357 from jk-5/sharable - MinecraftForge/FML@79d42fca8d6b9d73204890ef0edb9d73cf075d87 Merge pull request #355 from jk-5/errorhandling - MinecraftForge/FML@7907e16e96de21e8ba536906ae71adcf02bfa535 Add a type adapter for artifact version. Should fix #354 - MinecraftForge/FML@7ac5bddbc3c227e0ed9385904a2bd9621078e2de Allow indexed messages to validate themselves. Also, catch exceptions from an embedded channel, and cause them to close the connection. It's ugly, but it means that the client doesn't crash if it connects to a screwy bungycord that's trying a 1.6 handshake for some reason. - MinecraftForge/FML@5adacc3b336bacbe30aa06175ef80c3aac08a62a Check the mod, not it's container, in the check handler. Closes #358 - MinecraftForge/FML@3d26f28bcf3e79e1f5fe20fcf056c604487dc35b Allow connection when server is apparently offline. Might allow :NOFML circumvention though. Hmmm. Closes #359 - MinecraftForge/FML@a62374d4aceac1c4ab39b3c0bae624ccbca65b6b findBlock should now return null, not the default block, if the thing being looked for is not found. Closes #352 - MinecraftForge/FML@6a695c4348d062af50b8cf5208530fc5036eba17 Try and stop the epic channel closed spam at close time. Closes #353 - MinecraftForge/FML@35a38d7840a5d0cd842005822c4ec6a9d3b65b6a Make sidedproxy support non-public fields. Closes #344 - MinecraftForge/FML@9d2e089df692655df04315a3822f43140015f3af Merge branch 'logging' of github.com:AbrarSyed/FML into abrar-borked - MinecraftForge/FML@79b04898d43d354714e09ce7e66efb5357ebcf61 And restore suppressions. ABRAR, DON'T TIDY CODE!!!! - MinecraftForge/FML@3dfb54e066ab91e44405706233f2dfffee9add72 Merge branch 'trait-optional' of github.com:RainWarrior/FML - MinecraftForge/FML@32bb7315cc6beff84f186a33e73219cc5280821a Add in example assets dir. Closes #308 - MinecraftForge/FML@16d33d298953b41dbbe3e3b504e800f4f46a3e1b Clean up and document outbound handler a bit better. Add in dispatcher target. Closes #361 - MinecraftForge/FML@5719b9ec533b3e43213dbafcb448221884efd9e8 Fix reply handling. Make the proxy message available for subclasses of indexedcodec. Fire user events into the network event firing. - -Build 1.7.2-10.12.0.1007: - LexManos: Add support in Techne models for the TextureSize tag. Closes #856 - -Build 1.7.2-10.12.0.1006: - LexManos: Updated FML: MinecraftForge/FML@444a7d7fa1cf7fad7dda67f581fa0e3be36069b7 Move placement of single player world load hook to fix NPEs. - LexManos: Fixed RenderWorldLastEvent never being called, was missed in 1.7 update. Closes #932 - -Build 1.7.2-10.12.0.1005: - LexManos: Fix flexible rails, Closes #944 - -Build 1.7.2-10.12.0.1004: - LexManos: Fix warnings in Forge codebase. - LexManos: - Updated FML: - MinecraftForge/FML@7c5d62704ac1d3e586f3bfe26265a534e5362c73 Make UniqueIdentifier final and add a hashCode. Closes #348 - MinecraftForge/FML@ff7b5845e7f6b300d413b917f57adc472a4ebcff Clean up some warnings about @Override - MinecraftForge/FML@275ccac6f14bc66b88c76b1040aa7167f995967c Fix NPE at startup - MinecraftForge/FML@2a5a8d0cd062d3feac9c4de234e3dab1ff4462e5 Fix memory leak?! - -Build 1.7.2-10.12.0.1003: - Christian: - Add exception logging to forge channel handlers as well - - MinecraftForge/FML@53557dcd0582e09f7f35eb3bc2fd130fba3be4a0 Put logging exception handlers on all channel inbounds. Fix problem with failure to login. Closes #350 - -Build 1.7.2-10.12.0.1002: - Christian: MinecraftForge/FML@9c96ca4402e4c231285f170281dd543bfffa191a Fire a custom packet channel registration/deregistration event, for any mods that care about that kind of thing - -Build 1.7.2-10.12.0.1001: - Christian: - MinecraftForge/FML@e14efe786f6255a18e148c4137f560f5e2d2a38f Some fixes and tweaks - MinecraftForge/FML@c013870b1df5e63bd84d92545ebdd434db74b5d1 Merge branch 'simplenet' - MinecraftForge/FML@30882b0c1d2743afebbebc288d73f25696e0815c Clean up some warnings. Add in simple network impl - MinecraftForge/FML@9cab2ab36e7981c847e3e9ae8c3fbbb36531ba6d Add in some tests and examples for the "simple" network stuff - MinecraftForge/FML@a429e106dd00b34302ec5893e0a8fc97c8fc8019 Fix bug with SSP, and hook so we can do confirmation of world loading, as well as other things - -Build 1.7.2-10.12.0.1000: - Christian: - MinecraftForge/FML@b362e8a2733eb3082975edfdf83c996f048b65d3 At the request of AbrarSyed. - MinecraftForge/FML@e344303ec7a5ed27c4378ff072a036df7a350902 Merge pull request #346 from Jezzadabomb338/master - MinecraftForge/FML@a4686b1261a9bad523b4efa8a36a4433a58897cc Added basic Mojang account authentication support for development time login. - MinecraftForge/FML@dd17979a2f6f02ac4a9dda09b52c96365cc5fec9 Fix bukkit connectivity issue. - -Build 1.7.2-10.12.0.999: - Christian: - Updated FML: - MinecraftForge/FML@1db3daa0e82e67fc27ca3d535a09c806c1a54d67 added override toString method for getting full name. - MinecraftForge/FML@acf74a34032224a73c4c03280cafa0042c35cf5a changed the readme to reflect new setup task. - MinecraftForge/FML@96c19b35807fa078cb18b4ae50567d0360bcdb03 undid readme change - MinecraftForge/FML@a89939e57e9ff061df3d53cf1cb075b31de5de1b Merge pull request #336 from jadar/master - MinecraftForge/FML@717a8d694532bd9438eed8d9cf4b57318b2b4cfd Fix csv string vs list of strings. Thanks immibis. Closes #334 - MinecraftForge/FML@584c0f368bca1d5b0223b5b3611b366b9a00f7d7 Fix potential ordering issue, clean up some imports - MinecraftForge/FML@28293b29ea65c30fe80c49e85e2ae15a4db68933 Add in a simple(ish) event driven network handling system. Register using newEventDrivenChannel and you'll get a simple network handler that will fire events at the subscriber(s) of your choice, whenever a packet is received. You'll also get some convenience methods for sending to things. - MinecraftForge/FML@80b00dc7966d96111e2ce8643db8e0f544c2bc89 Fix openGui. Closes #342 - MinecraftForge/FML@fc69bcf2807dc2b85eb52681ba9531cb3e2f1945 Fix up privacy derp in TickEvent. Closes #343 - MinecraftForge/FML@10d056a494aac22137b644cff341a5958e8168fc Fix possible NPE derp - MinecraftForge/FML@5da6dcc7e3607e5f107f6a7d39a4b4e1eb7fb306 Divert connection through FML, so we can deny connections to servers that don't want us - -Build 1.7.2-10.12.0.998: - ohai.iChun: Squash commits so Lex would stop whining. Fix erroneous position when getting player position with changed eye height. - -Build 1.7.2-10.12.0.997: - Christian: - Updated FML: - MinecraftForge/FML@d5bfd69e35b21f701390a8c4c4c58d7ec1fff1fc Fix problem with connecting to vanilla. SHOW what's modded and what's vanilla in the list. Hooks that make the blocking work to come - MinecraftForge/FML@dd098854b0b65b8509b8788422e02d989a991b87 Fix the keybinding array to the right one - MinecraftForge/FML@43068eb9862f280611f26f4107ff5ac2b42b08e4 Fix TargetPoint to be static - -Build 1.7.2-10.12.0.996: - LexManos: Attempt to prevent a NPE when MC renders a lot of things at once. - -Build 1.7.2-10.12.0.995: - minalien: Fixed MinecraftForgeClient for custom Item Renderer implementations. Removed check for forward-slashes (/) in texture asset locations (but left check for backslash in place). - -Build 1.7.2-10.12.0.994: - LexManos: MinecraftForge/FML@0d810c01fab99ac491c2277097a4198518fe6c75 Mark jopt needed on the server, herp derp, blame Abrar! - -Build 1.7.2-10.12.0.993: - LexManos: Deprecate BlockFire.func_149842_a, and throw exception if someone tries to set the burn properties for air. Should prevent 'The Air is on fire!' reports. - LexManos: Fix DoublePlant placement, closes #921 - -Build 1.7.2-10.12.0.991: - смирнов антон михайлович: Create ru_RU.lang - -Build 1.7.2-10.12.0.990: - Christian: - Updated FML: - MinecraftForge/FML@5317672631f30e1c9655f0bb28dd8b158deea2fb Add a utility method for finding the channel handler name based on type. Should fix naming weirdnesses. - MinecraftForge/FML@9de9a1553086ebeeb5d5fc0f6d96da8680e52df0 Fix stupid hardcoding derp - -Build 1.7.2-10.12.0.989: - Vexatos: Create de_DE.lang - Vexatos: Update de_DE.lang - LexManos: Fixed pipeline naming issue in the ForgeNetworkHandler. - -Build 1.7.2-10.12.0.987: - LexManos: Fixing an infinite recursion case, Closes #916 - LexManos: - Models now load from resource packs - Models must now be loaded from resource packs using the standard resource pack reference. For example, to load a model named "assets/mymod/models/mymodel.obj", you would call AdvancedModelLoader.loadModel("mymod:models/mymodel.obj"); - Closes #670 - LexManos: Fix panes/iron bars not connecting correctly. Closes #904 - LexManos: Fixed the run config for dev time server, Cloases #913 - -Build 1.7.2-10.12.0.986: - Adubbz: Made canBeReplacedByLeaves default to whether a block isn't opaque rather than if it is, also uninverted the checks for canBeReplacedByLeaves in WorldGenBigMushroom, WorldGenSwamp, WorldGenTaiga1 and WorldGenTaiga2 - -Build 1.7.2-10.12.0.985: - Christian: Fix inversion - -Build 1.7.2-10.12.0.984: - Christian: - Updated FML: - MinecraftForge/FML@21b13d63512ce399c82cbb6b9042eefa6dcdaacd Lots of network cleanup. Gui packets now work too! - MinecraftForge/FML@b3f98d1ee0416aa452f8611d458968afdf50775a Fix derpiness with Mods button when Realms is available - MinecraftForge/FML@cdd9d92a4f8cd199e2d8a34bb398ef32e5f1e275 Starting work on the actual GUI. Still work to do. Needs an API. - MinecraftForge/FML@ab5eb3ccfff7f9ccfd8720b23fcef3131e54d57d Fix button size for GuiModList - MinecraftForge/FML@3113138bd1377d71afe3b8290e18511bfb6e5e97 Tweak button positions. - MinecraftForge/FML@c5e29b574a315d48668ebc9189bcc497a0eae13e Avoiding redundant calls to LogManager - MinecraftForge/FML@fbc1f8f6f9effa4a538880f9fec0ce5010226d09 Config GUIs in the modlist now work. - MinecraftForge/FML@fa4f3015a0d7147cbde3edec7664e78e5bcacbb9 Added transparent background for GuiIngameModOptions as per cpw's request. May not compile due to manual de-mcp-fication. - MinecraftForge/FML@7bf119e1e54cadff690ec31a4bab93c0d1d0aad1 Fix up readmes and credits. We no longer support modloader. - MinecraftForge/FML@779cd05aa1ced720a63cc508b82e68cc6fc8daa9 Tweaks - MinecraftForge/FML@b51fb913551a5116cc3b9bb7583b1666f280c650 Merge branch 'patch-1' of github.com:airbreather/FML - Christian: - Updated FML: - MinecraftForge/FML@6f1da6550e10164bd6c678829f111bb5de9383b6 Fix up mcpname derp in GuiScrollingList. - -Build 1.7.2-10.12.0.982: - Adubbz: Fixed sky colour transitions on a render distance of 16, fixed the WorldGen of various things - -Build 1.7.2-10.12.0.981: - jk-5: Update ForgeMessage.java - jk-5: Added a constructor and made the fields package-private - jk-5: Added default constructor for reflection - -Build 1.7.2-10.12.0.980: - LexManos: Update patches for AT changes. - LexManos: Fix inverted login in BlockPistonBase causing blocks to break incorrectly. Closes #910 #909 - -Build 1.7.2-10.12.0.979: - Christian: - Updated FML: - MinecraftForge/FML@22ba6fda5ee2dbf29dc03ba93ff9c7707edeaeee Expose the nethandler in a few places, and pull out FMLEmbeddedChannel, exposing a utility method on it. More to come. - LexManos: Update for the FMLEmbeddedChannel change. - -Build 1.7.2-10.12.0.977: - Christian: - Fix build.gradle for tweakClass property - - Updated FML: - MinecraftForge/FML@f36152398d1d287e7a55a31c77a2614cfb63e1b6 Add in the tweakclass, fix the json for lzma @ the server. - -Build 1.7.2-10.12.0.976: - Christian: - Updated FML: - MinecraftForge/FML@5d069629cf47cd04f2002b3b9a2c32b0ea73c26e Allow itemstacks for furnace recipe inputs. Allow passing extra arguments through registerblock into the itemblock constructor. - -Build 1.7.2-10.12.0.975: - Christian: - Updated FML: - MinecraftForge/FML@061288909de0f0452adf51a5a9935fd09992c801 Fire simple network connect/disconnect gameevents. - -Build 1.7.2-10.12.0.974: - Adubbz: Made BlockCrops.getDrops call its super method - -Build 1.7.2-10.12.0.973: - Christian: Fix the network handler for forge - -Build 1.7.2-10.12.0.972: - Christian: - Updated FML: - MinecraftForge/FML@34819c9303870f560232464a2d16eb46d152515c Make gradlew executable on linux - MinecraftForge/FML@53a1f9841421b41d543d7d1d51319b44c86a527e Attempt to load old pre-1.7 worlds. ENSURE YOU HAVE A BACKUP! - MinecraftForge/FML@6a5f9e135f88b662e4e01e8882f861448910ca90 Fix example mod code for 1.7 - -Build 1.7.2-10.12.0.971: - Christian: Allow tools to override their material harvest levels. - -Build 1.7.2-10.12.0.970: - Christian: Tidier implementation of previous commit. Should fix for subclasses of individual tools too - -Build 1.7.2-10.12.0.969: - Christian: Add in harvesting abilities of the items, should fix effectiveness - -Build 1.7.2-10.12.0.968: - Christian: - Updated FML: - MinecraftForge/FML@f8d6213829d570501166d64d7c8bb4977567131f Update render registry - MinecraftForge/FML@ec316f113fefef12f6defed9eb68de368d7f4420 AT for renderblocks - -Build 1.7.2-10.12.0.967: - LexManos: - MinecraftForge/FML@3714426e19f8f0edaaeda8c787993f8f3615a44d fix derp in example builscript - MinecraftForge/FML@01fb451b6918599de5e732d7ff30c761438ab930 Merge pull request #311 from AbrarSyed/patch-3 - MinecraftForge/FML@30d532f4fc6fc65ea7e79707a75ff4d6ea0ea031 Pass 1: Most patches are restored. - MinecraftForge/FML@53127eec308d3929d68d3d9fafabcfef37e95c37 Merge branch 'master' of github.com:MinecraftForge/FML - MinecraftForge/FML@7ab3c3a37ceb8ab945208206aec86739a2138329 Update gitignore - MinecraftForge/FML@38cec7a11fae7cf12bda3a8d16a50bb6136d8886 The basic network handshaking for FML is done. All scenarios seem to work. - MinecraftForge/FML@9f928963f20bc9bbfbe1391fb16c6f5ca5fd4344 A network design I like. It uses the netty embedded channel to allow mods to build channel pipelines on top of custom payload packets. - MinecraftForge/FML@58f7487cfaf4a25a8349021b9cca5ef4ba0b541c Check in patches. Add in some network timeout tweaking values so you can debug the network. - MinecraftForge/FML@e544adba5c7e9286f917342af2669e5888fa0a17 More cleanup. Bidirectional server <-> client network works for mods as well as FML|HS now. - MinecraftForge/FML@f5c38e2359c2e6eca13cd6606465ee36086a7113 OK, network channels appear to be working well for both dedi and integrated servers. The beginnings of the new mod structure too. - MinecraftForge/FML@9c96a0a10a5cbe34786be8fd41f9818b5ac929bc More network stuff, partially done id syncing. - MinecraftForge/FML@2aaaeba15eabdec189daa8662e9ffdf0b5a09dbe ID loading from the server save now works. - LexManos: Kill liquids finally. - LexManos: Bump data for 1.7 start. - LexManos: Some work on 1.7, waiting for Abrar to fix a few things. - LexManos: - Updated FML: - MinecraftForge/FML@a30f17362764f3e4e594386e193f9e4368e6836e Add sonatype snapshots repo for SpecialSource snapshots. - MinecraftForge/FML@b2550b8a693315ccc205f5315eac67c5283d7af9 Add mappings for Items/Blocks fields. - MinecraftForge/FML@57f7f1d7abd304d3e9f42567f1d66c10122e4ec6 Update for fixed Enum cleaning and names. - MinecraftForge/FML@99c681ad8736e4976053718c3d453b2fb30eefe0 Did it manually, forgot it needed the end comma - LexManos: - Updated FML: - MinecraftForge/FML@1d71c017f45aa7ed9d7d7c5ed5250a8d22477980 ID syncing. - MinecraftForge/FML@fd36f50d8210342f65cb0272bac56a3bcc42dd18 Cleanups - MinecraftForge/FML@89e4e483c204c11b6fdfed34893fc223a7d6a899 Add in a remapping event for mods to consume. - MinecraftForge/FML@cd417c6786256fa23f181ff0b76696bc6dfb0291 Fixed remote and local connections work with mods now. - MinecraftForge/FML@ef492407ef812bb6bbc7f0bd8efbd16d07efcafb Entity spawning works. - MinecraftForge/FML@d0d31d9575403eb2ec058898b86ffd99a9220f75 SpawnAdjustment packet. Clean up stuffs. No more compile errors. - MinecraftForge/FML@3e278acb71e4e3d0406e80f0fad5071c9215ed33 Fix stupid possible compiler error. - MinecraftForge/FML@009d4dee2328cc8d97b74177a2c5a3c359e6564a Fix the exc file. Fix the deobfremapper for handling inner classes. - MinecraftForge/FML@49cb893d12bd4f82b5d1b50d1e6517a256525d32 Fix exc this time *sigh* - MinecraftForge/FML@31efcfc3b2085f5d4e070ddab34a0be1481b4c6f Clean up patches for latest exc. - MinecraftForge/FML@7a4ceebf5efe5b3650080cf912e371d92fc70a55 Kill old patches and add rejects to ignore file. - MinecraftForge/FML@7ea571f593464ad4226ba845da27ff66161621b1 Fix AT, Fix exc. Almost works now! - MinecraftForge/FML@b852e302851cfaf77e1db6f86408e8d049703656 First functional release under reobfuscation. - MinecraftForge/FML@df870c1a3341d8e2e88d7fc3e2f3d9ed2507989f Update shiped ForgeGradle for 1.7 - MinecraftForge/FML@55aa337f952bc72c5a001a6ed661978b11822c63 Rename synthetic bridge methods, these methods are not decompiled, but need to reobf correctly cross the recompile boundary. - MinecraftForge/FML@0098c57f94808751062ee45f2ee267324bb42089 Merge pull request #316 from AbrarSyed/patch-4 - LexManos: Comment out fluids until King gets his hands on it - LexManos: Killed a few hundred compile errors. - Christian: - Moved the core event handler parts to FML. Implemented the Forge network handler based on the new - netty strategy. - - Updated FML: - MinecraftForge/FML@3b2994a3def35a2d3058960b71dc59dc48b802f9 Some patching touchups - MinecraftForge/FML@557357fe179529e0b44aab2f3fcef0c5adf981d5 Update for log4j2 - MinecraftForge/FML@a2b324beb2ef6ec73000678c9305fd70d4ec1643 Copy eventhandler from Forge into FML. It is going to replace a lot of the runtime event systems. - MinecraftForge/FML@4071ff38afe15fddf5db0be882f5627f503a37c6 Patch some GUIs. We're gonna add some basic mod gui config support. - MinecraftForge/FML@0b419ac79c307579f162d47e0388a9d75bcd0a6e Fire a user event down the channels when a handshake has occured. - Christian: - Updated FML: - MinecraftForge/FML@32561265fc935cd6639d5b2e086e879f375676fa Ticks, Player events, keybindings, all migrated to the new event driven system. - LexManos: Inital patch update for 1.7.2, Doesn't compile, not done yet. - LexManos: - Updated FML: - MinecraftForge/FML@a17489172cd54ca955548b15fa0669c9f95d7f45 Code to disable mods at runtime, or other times. - MinecraftForge/FML@85516d9588ebfadbba25f21b2f973e4e81abbaa6 ICraftingHandler, IPickupHandler are now both events. - MinecraftForge/FML@e4b63a1801b453797f5e820eb3f5bd42e6d43948 IWorldGenerator now has an ordering at registration time. This means the order of worldgen should be much more stable. - MinecraftForge/FML@ef3856f9a34e82a05cb2b7715e3611f8fb1a9a6b Update patches for Gradle's rename rewrite: MinecraftForge/ForgeGradle@19e7acf2a27a6c6ae60f6e8ab38337defddc16d3 - MinecraftForge/FML@31ea100b29dfdb4fc907e212c3d49a5240ca72a9 Working on id missing handling - MinecraftForge/FML@3e76dfba34aaba4397fc3fb2bd28e0d1f0abe3e4 More tweaking on id stuffs at worldload - MinecraftForge/FML@f860c8ad3bc7537f885b27c7f045b5b1140c05f4 bump to legacy launcher 1.9 with logging unification stuffs. - jdroque: - Refactored BiomeManager stronghold add/remove methods to support new - - MapGenStronghold dynamic biome changes. - Changed InitNoiseGensEvent to pass a NoiseGenerator array instead of - NoiseGeneratorOctaves due to new NoiseGeneratorPerlin in - ChunkProviderGenerate. - Fixed worldgen crash caused by wrong metadata in Chunk patch. - LexManos: Get object based on identity not name. - LexManos: Forge uses the FORGE channel for packets. - LexManos: Fix MethodNotFound crash when shutting down internal server. - LexManos: - Fix: - Block placement/interaction - Tesselator crash due to wrong mapping - Missing isreplaceable check in world.canPlaceAt - Small foratting/logging cleanup - Temporarly commented out efficancy changes till I implement it. - LexManos: - Updated FML: - MinecraftForge/FML@58132ccda3a575f10fc209c421fd5d80e01164cc Add new required --accessToken to launch specs. - LexManos: Bump version to 10.12.0 to mark 1.7. - LexManos: Fix debug HUD rendering semi-transparently. - LexManos: Temporary fix for items rendering with effects on one layer. Restores default vanilla rendering, which is considered a bug in modded community. - LexManos: Move Grass {Flower} registry to BiomeGenBase as 1.7 made flowers Biome specifc, this means modders who wish to add global base flowers need to add them to all the biomes indavidually. - LexManos: Fixed accedential inverted logic that caused Potions to render incorrectly. Thanks iChun. - LexManos: Fix items rendering on the GUI with invalid state due to glint rendering changing it. Thanks iChun. - Christian: - Updated FML: - MinecraftForge/FML@156a9ae03a3c80bd1499a8e692c44a322ad9df62 Fix build script - MinecraftForge/FML@7d3b1250e8368886bed0e0da350a94abaa4b6247 Fix handshaking properly. Also, fix ID syncup. It now will completely freeze the idmap after preinit. This frozen map is used to inject "new" stuff into existing serverside worlds. Interesting sideeffect: remote servers lacking things will change the client, to also LACK ids for those things. watch for -1 ids in your remap events. Note: idmaps should be considered temporary per server instance. SERVERSTOPPED will restore "startup" state, as will client logout. - LexManos: - MinecraftForge/FML@c180d9b15735ce89a38c497acd65fa3fab595f77 Add 1.7.2 base json, Gradle will automatically download updated versions of this. Keeping it in the repo allows us to se - e what base json we have built our jsons off of. And if it changes update accordingly. - LexManos: Added constructor to WorldType, and delegated the BiomeLayer management to it. Also updated the access transformer for Item/Block classes. - LexManos: Forgot to regen patches... - LexManos: Resize pending tile updates when it goes over the curent length. Fixed AIOOB error. - LexManos: Add a version check mechanic to startup, it is done in a seperate thread and has a config option to compleetly disable it. This allows us to notify users of new recomended builds. Hopefully stemming the flow of outdated help request. Also adds a warning to the main screen if you are running a 'Beta' Forge. Which means a Forge for a new version of Minecraft that we have not promoted a recomended build for yet. - LexManos: Fix dig speed on redstone ore and obsidian. - ohai.iChun: Add render offset to event. - Christian: - Updated FML: - MinecraftForge/FML@268bbabee6ae3fa1d596bd18e172298e26dc9ce4 Fix handling world reloads when new stuffs are added - -Build 1.6.4-9.11.1.964: - LexManos: - Bump build for gradle fixes: - Now Builds for java 1.6 - Include version,json in universal - Fixed classpath issues in eclipse task. - -Build 1.6.4-9.11.1.963: - luacs1998: - Update readme for ForgeGradle - - Let me know if there's anything else to add or change. - luacs1998: Updated - luacs1998: Another update for eclipse users - luacs1998: Update README.txt - -Build 1.6.4-9.11.1.961: - LexManos: Updated FML: MinecraftForge/FML@c2b919d339e5f63271cfb67a77235c21c5c3b80e Don't validate signatures in dev env. - -Build 960: - AbrarSyed: Step 1: The Purge - AbrarSyed: update FML for gradle changes - AbrarSyed: Step 2: The Reformation - AbrarSyed: Step 3: The Rebirth - AbrarSyed: fixed versioning and stuff - AbrarSyed: added buildSrc to the gitIgnore - LexManos: Fix for new FML, and publish to maven local - LexManos: Update run configs. - LexManos: - Updated FML: - MinecraftForge/FML@e9a7660cb8961660186c7c23e61ab35f9c2dfb81 updated samples - MinecraftForge/FML@30894f7afadf5d3f3c3d5a54c3f904413d5f2309 Merge pull request #307 from AbrarSyed/master - MinecraftForge/FML@c4b8a393f90b00ad7ee4992ea4341ffb6d676abb Make the working directory the root of the eclipse workspace. - LexManos: Regenerate all patches, No functional change as added this is a formatting change only. - AbrarSyed: update build.gradle - porcariadagata: Make the gradle wrapper executable. - LexManos: Proper configuratuion name for jenkins. - LexManos: Fix build file pom closures. - -Build 1.6.4-9.11.1.953: - LexManos: Fix NPE on specific tile entities when the block break event is canceled. Closes #863 - LexManos: Fix NPE in FakePlayers when they are created in a purely client side environment. To remove in 1.7 as FakePlayers should be used for server side interaction with the world on a player's behalf, not for client rendering. - -Build 1.6.4-9.11.1.952: - Christian: - Updated FML: - MinecraftForge/FML@23baf3a8ce58cb8306189401a60647957ccbb4c2 Actually fix the nethandler code - - Update patches - -Build 1.6.4-9.11.1.951: - Christian: - Updated FML: - MinecraftForge/FML@b7f34629c3c47b92ee89d72b0dc935b4997cb009 Don't try and open GUIs on the server. - Christian: - Updated FML: - MinecraftForge/FML@da72640c7ef1f44c49f7f592fbdd193622a30b40 Way to go, missing import. *sigh* - -Build 1.6.4-9.11.1.949: - Christian: - Updated FML: - MinecraftForge/FML@6af42bc656dfb98972d034363352affc9e777805 Add in null protection for client/server sides of handleChat - Christian: Don't send openGui commands from the fakeplayer. Fixes thaumcraft and probably others. - -Build 1.6.4-9.11.1.948: - CovertJaguar: Fix Water/Lava Fluid Localization - -Build 1.6.4-9.11.1.947: - LexManos: Noop out FakePlayer.addStat. - -Build 1.6.4-9.11.1.946: - Christian: - Updated FML: - MinecraftForge/FML@3d25b4e793c59a9131a441d6c7a2d80cac9cd701 Add in the ability to strip interface references for specific interfaces - this is probably mostly useful for scala scenarios where sythetic methods are generated and is not a substitute for using Optional.Method where appropriate. Closes #300 - -Build 1.6.4-9.11.1.945: - onibait: Add block break events based on @bloodmc's initial 1.5.2 Pull Request - onibait: Add block break events based on @bloodmc's initial 1.5.2 Pull Request - onibait: Fixed formatting - onibait: - Cleaned up patches to BlockOre and BlockRedstoneOre - Fixed trailing whitespace (it bugs me too) - -Build 1.6.4-9.11.1.944: - Christian: - Updated FML: - MinecraftForge/FML@f4532410ec1dbf43ce15dfa78d07e5f7be408b08 Change a couple of warnings, as a prelude to 1.7- preinit is now required for all GameRegistry activity, and every item and block REQUIRES registration. - -Build 1.6.4-9.11.1.943: - Christian: - Updated FML: - MinecraftForge/FML@8f87021b0f1ae5b277ad4d1891761b7a7ae1ab71 Fix derp with custom properties. They work now! - -Build 1.6.4-9.11.1.942: - Christian: - Updated FML: - MinecraftForge/FML@bc57ff9e83803d804e9d5374d76273fcd68611f4 Fix recursive API dependency resolution. Allows nested APIs, such as BuildCraft's - -Build 1.6.4-9.11.1.941: - Christian: - Updated FML: - MinecraftForge/FML@de8ab934d8ae960ebc0dede16218ca1e9e488ebc Fix up duplicate entries - -Build 1.6.4-9.11.1.940: - Christian: - Updated FML: - MinecraftForge/FML@81fe1c9682234297443402a54e4b852ef49d0ba8 Add in an API marker for API type packages. This does several things: 1. Packages marked as API will generate a new "modid" (the provides) that can be depended on. 2. Packages marked as API will be searched systemwide, and anything declaring that package (even without the API marker) will get an implicit dependency on the API package. 3. The API package itself will get a soft dependency on the "owner" package. - -Build 1.6.4-9.11.1.939: - LexManos: Add new recipe sorter that is called after all mods are initalized. This is disabled by default in 1.6 to not break current worlds as it may change machine's recipy outputs. Will enable by default in 1.7. Players may enable it in the forge config. - -Build 1.6.4-9.11.1.938: - xcompwiz: - Adds a Check to prevent Biome Replacement - - Splits the BiomeGenBase constructor to create one which takes a flag - that indicates whether to insert the biome object into the biomeList - array. The standard constructor calls the new one with the default of - true. This allows biome wrapper-objects to exist. - -Build 1.6.4-9.11.1.937: - Christian: - Updated FML: - MinecraftForge/FML@dac7f590eabb326c4467dbc829b4aae1e4be2779 Modify ordering of networkmod registration and mod instantiation. This fixes VersionCheckHandler logging an incorrect failure message due to NPE. - MinecraftForge/FML@f0dc530b2833a1c89673208fe296dba5520671c1 Fix up documentation of VersionCheckHandler - it only ever accepted a String and only works on the NetworkMod annotated class - MinecraftForge/FML@243a21a353e6b7717f64008776928c7132110ddf Wrapping coremods as tweakers. Part 1. - MinecraftForge/FML@58a299aabcfadb4139f126a2d46b5247bede4185 Attempt to inject coremods as tweakers, so both can share a dependency ordering - LexManos: Format strings properly in MC's internal logger. Fixes resource pack case warnings. - -Build 1.6.4-9.11.1.935: - LexManos: Updated FML: MinecraftForge/FML@bf54d4d66799f2e58944095826d0722ed0120b1f Make each mod's EventBus log a child of it's main logger. - LexManos: Fix null pointer exception in BiomeDictionary causing the ChunkManager's config to not load/save. - -Build 1.6.4-9.11.1.934: - LexManos: Add wildcard versions of OreDict replacements, Closes #827 - -Build 1.6.4-9.11.1.933: - Christian: - Updated FML: - MinecraftForge/FML@da4337efbfa07b35f5883107768f9ba2f1b24b9b Fix up handling the new method signature data for NetworkCheckHandlers - -Build 1.6.4-9.11.1.931: - Christian: - Updated FML: - MinecraftForge/FML@f92962bbbbb90c19788a5dc2eafdc2eeefdd77ce Use null to empty, so missing values work. *sigh* - -Build 1.6.4-9.11.1.930: - Christian: Add in an event for zombie summoning. Allows for mods to control summoning behaviour, as well as custom summoned mob. - Christian: And remember to make the event class static *sigh* - -Build 1.6.4-9.11.1.928: - Christian: And allow for tweaking baby chance as well. - Christian: And set the RIGHT variable *sigh* - -Build 1.6.4-9.11.1.926: - Christian: Allow configuration of the zombie additional summoning mechanic. The vanilla mechanic is a little borked at times. - -Build 1.6.4-9.11.1.925: - Christian: - Updated FML: - MinecraftForge/FML@58577775d277a4408bda510534eb36841b08ced4 Very minor style fixes - MinecraftForge/FML@96be82343c25b83dd842ada8d6e8b66eb4e4ee00 Merge pull request #280 from mc10/patch-1 - MinecraftForge/FML@2714da10228020a6f2321f6c9a703f0d24fe1370 Primitive capability for tweakers to order. Add a "TweakOrder" integer property to your manifest, or accept the default of zero. - -Build 1.6.4-9.11.1.924: - LexManos: Prevent session from being printed to the console, also make sure the username is not empty. Causes a lot of bugs further down the line. - -Build 1.6.4-9.11.1.923: - Christian: - Updated FML: - MinecraftForge/FML@fc3e7647d2aff01146b1f5bd2ab6b57ef8e833e5 Support, and fix up, interface lists for Optional - -Build 1.6.4-9.11.1.922: - LexManos: Added some missing air checks to world gen features. - -Build 1.6.4-9.11.1.921: - LexManos: Fix repeated argument in CleintCommands. - -Build 1.6.4-9.11.1.920: - LexManos: MinecraftForge/FML@a381874bb9c3bdeeb508bb81719b4d210eb29696 Delay sound system backend initalization to speed up startup and prevent race condition on some computers. - -Build 1.6.4-9.11.1.919: - reflex_ion: - Added PlayerOpenContainerEvent and added ForgeHooks.canInteractWith - - - Used to override the canInteractWith during player tick - - setResult to ALLOW/DENY as required - - Defaults to Vanilla behaviour in any other instance. - - Required for LittleBlocks Mod and to Assist Gullivers Mod - -Build 1.6.4-9.11.1.918: - Christian: - Updated FML: - MinecraftForge/FML@bc64ceabef76b1f4667b22ca8241b72351b44338 Optional shouldn't be constructable itself. It's purely a wrapper thing. - MinecraftForge/FML@55525f6d2eb24f42c26a291b8ce98feb4d4498c9 ModLoader is officially deprecated. It will all cease to be with 1.7. - -Build 1.6.4-9.11.1.917: - Christian: - Updated FML: - MinecraftForge/FML@63ba3aa0099f43183315fb4e16f9e8e8007362f8 Add in support for Optional interfaces and methods. Be gone coremods! - -Build 1.6.4-9.11.1.916: - LexManos: Fix missing patch which caused per-world storage to not be saved. - -Build 1.6.4-9.11.1.915: - rhilenova: Added pre/post to player list rendering in GuiIngameForge. - rhilenova: Moved PLAYER_LIST event inside display check. - -Build 1.6.4-9.11.1.914: - LexManos: - Make isItemStackDamageable() pass the stack to getMaxDamage() to use the Forge version of getMaxDamage(). - Fixes display issues with mods using getMaxDamage(ItemStack) instead of the vanilla one. Closes #805 - LexManos: Bump version number for todays changes. - -Build 1.6.4-9.11.0.913: - ben.blank: allow blocks to choose how they handle indirect power - ben.blank: move `shouldCheckWeakPower` to Forge section - -Build 1.6.4-9.11.0.912: - jrtc27: Pass arguments to install.sh and install.cmd to install.py - -Build 1.6.4-9.11.0.911: - LexManos: Add cancelable EntityStructByLightningEvent, Closes #789 - -Build 1.6.4-9.11.0.910: - LexManos: Stack sensitive version of Item.getItemStackLimit. Closes #771 - -Build 1.6.4-9.11.0.909: - anthonylomeli11: Villager Trading GUI will not open if Player is sneaking. - -Build 1.6.4-9.11.0.908: - LexManos: Added all the vanilla records to the ore dictionary. Closes #731 - -Build 1.6.4-9.11.0.907: - LexManos: Direct canApplyAtEnchantingTable through canApply Closes #740 - -Build 1.6.4-9.11.0.906: - LexManos: Add pre and post event to rendering Chat, allowing for placement of the chat box. Closes #733 - -Build 1.6.4-9.11.0.905: - LexManos: Set densityDir in BlockFluidBase's constructor, closes #737 - -Build 1.6.4-9.11.0.904: - LexManos: Fix placement of snow cover over metadata 6. Closes #724 - -Build 1.6.4-9.11.0.903: - LexManos: - Add the ability to register chat commands that only execute on the client. Works with autocomplete. - Client commands are gray when shown in the autocomplete list (when you press tab) - Closes #640 - -Build 1.6.4-9.11.0.902: - LexManos: Update workspace to point at launchwrapper 1.8 - LexManos: Vanilla hopper should obey the IInventory contract, TileEntityHopper now takes into account IInventory.getInventoryStackLimit() when inserting items Closes #597. - -Build 1.6.4-9.11.0.901: - hobos_taco: - Added ItemTooltipEvent - - This event is fired at the end of ItemStack.getTooltip(EntityPlayer, boolean), which in turn is called from it's respective GUIContainer. It allows an itemstack's tooltip to be changed depending on the player, itemstack or whether the advanced information on item tooltips is being shown, toggled by F3+H. - -Build 1.6.4-9.11.0.900: - Christian: - Updated FML: - MinecraftForge/FML@5265e34a350adbb762264379f0134bfa40d33eaa Fix null killing the server - -Build 1.6.4-9.11.0.899: - LexManos: MinecraftForge/FML@35ab9f52b02d84592e4c7607feb6009710b2f7d9 Fix md5s for new checksums.sha1 in scala libraries. - -Build 1.6.4-9.11.0.898: - Christian: - Updated FML: - MinecraftForge/FML@e356f4d713b1269825839954fe86f5312ede0fc6 Cross-modsystem compatibility fix with thanks to Mumfrey @ liteloader - MinecraftForge/FML@9b55f1f48f89a5348ac1d58622b71946f310316a Attempt at a shared modlist implementation - should allow visibility between liteloader and fml for "mod list display" - -Build 1.6.4-9.11.0.897: - Christian: - Updated FML: - MinecraftForge/FML@bfc25bc5da1ff0f6fd0faf817b32a8f6d35dedc2 Add to both the classloader and the parent - -Build 1.6.4-9.11.0.896: - Christian: - Updated FML: - MinecraftForge/FML@9f0f9e7288afc6cce9a425ad770a208af9e28648 Fix deobf tweaker - -Build 1.6.4-9.11.0.895: - Christian: - Updated FML: - MinecraftForge/FML@ce6404fd5bb5e8e425af3bcafeaa285575bf39a3 TYPOS!!! - -Build 1.6.4-9.11.0.894: - Christian: - Updated FML: - MinecraftForge/FML@8f18a3de9a02b003762dace891829ef64dfedf49 Separate deobf tweaker so it runs last. Should fix problems with cascaded tweakers expecting an obf environment. - -Build 1.6.4-9.11.0.893: - Christian: - Updated FML: - MinecraftForge/FML@8e26c99de3b44d272d2fdc398e0687db17bce3b7 Add debugging for deobfuscation - MinecraftForge/FML@1d902df5814b815959165e4aa69272003f002d25 Use the negative cache in latest legacylauncher. - MinecraftForge/FML@9815d8c3793182a08fcdbd29376a3f70bff464d0 Update for launchwrapper 1.8 - -Build 1.6.4-9.11.0.892: - LexManos: Add wrapper exception to the new Structure ID system to point to the correct Structure. - -Build 1.6.4-9.11.0.891: - LexManos: Update dev workspace for 1.6.4 .. - LexManos: Remove some side onlys on BiomeEvents that don't need them. - LexManos: Fixed typo in bounding box based ladder checks that caused potential infinite loops with entities in certian positions. Thanks Overmind for reporting it. - LexManos: - Updated FML: - MinecraftForge/FML@fc8c3bef0380d59c0842a252e4f0bd29127ee78b Update to new installer that uses xz compression and better support for non-standard jvms - -Build 1.6.4-9.11.0.886: - Christian: - Updated FML: - MinecraftForge/FML@a4de22c1addf0a6b95d38e467a96f2af417c86d5 And use the parent that's actually going to be valid. *sigh* - -Build 1.6.4-9.11.0.885: - CovertJaguar: - Fluid Rarity should have a default - - Oops. - Christian: - Updated FML: - MinecraftForge/FML@70cffe6982b27df0ea7d8d4d8851a0c0043bb2cb Herpaderp. Make addURL accessible. *sigh* - -Build 1.6.4-9.11.0.884: - Christian: - Updated FML: - MinecraftForge/FML@4a94c2c71bb4cc9644caeb06011a189989b22f87 Fix NPE when loading second single-player world - MinecraftForge/FML@0e80fcb8f716cfef5b016a73ca32ff0e2f3c3c05 Merge pull request #284 from smcv/uninit - MinecraftForge/FML@39620f1e41464f53482277dc3bcb0b9eed8ca25c Fix injection of tweaker into system - -Build 1.6.4-9.11.0.883: - Christian: - Updated FML: - MinecraftForge/FML@79c39f8b7c711377f7919abd1ee6a56a339d1062 Fix classpath for launchwrapper 1.7 - -Build 1.6.4-9.11.0.882: - traincrazyb: Correcting SoundManager Transformer - -Build 1.6.4-9.11.0.881: - Christian: Clean patch fuzz - -Build 1.6.4-9.11.0.880: - Christian: - Updated FML: - MinecraftForge/FML@f6190e8752013c0d6857090ffd42559cf83809ae Update workspaces for 1.6.4 - -Build 1.6.4-9.11.0.879: - Christian: - Updated FML: - MinecraftForge/FML@25981706ef12654b6c2baccc80fa2298bb5afb4a Update for MC 1.6.4 - MinecraftForge/FML@0950b9fc8441a2d3b022ed876f17ee5ac0c47b9c Fix up a deep crash in the early server init hanging the client - -Build 1.6.3-9.11.0.878: - LexManos: Remove duplicate access transformer - LexManos: Move have handler creation up, to prevent NPE. - -Build 1.6.3-9.11.0.877: - LexManos: - Updated FML: - MinecraftForge/FML@e7dd728f955aa4713fef45fea770b1f91246d712 Format the log messages through MessageFormat. Thanks CovertJaguar for the pointer. - MinecraftForge/FML@82d896a35e08be5712bdc15bdb93e5d4fc0ddd46 Make final transformers actually work on methods as well. - -Build 1.6.3-9.11.0.876: - LexManos: Move the Structure data save files to per-world data folders. Vanilla saves them to the global folder which will potentially cause conflicts if two worlds generate 'Villages'. Which in the modded world is highly likely. Refer back to the long standing vanilla issue where nether 'villages' would override the overworlds villages, it's the same situation. - -Build 1.6.3-9.11.0.875: - LexManos: Make MapGenStructureIO name registration functions public, Any mod that has anything extending StructureStart or StructureComponent must register there classes and create a default (no parameter) constructor. - -Build 1.6.3-9.11.0.874: - LexManos: Unfinalized Item.getIconIndex(ItemStack) - -Build 1.6.3-9.11.0.873: - LexManos: - Updated FML: - MinecraftForge/FML@da70cdd35a378d02db47d2aa31fb9aac87beaedc Update tweaker for new Launcher API - MinecraftForge/FML@352117fd78eec745da6c80b8d354947c4dbbbb48 Update for new installer and thank you. - MinecraftForge/FML@40a34af43105ebcb5a63ce2351ca119da5a8158e Merge branch 'master' into newtweak - MinecraftForge/FML@e77d2547ad447025729ae7f3cccaaf343c4c86f9 Update for pre-ninja 1.6.3 update - MinecraftForge/FML@34493b0d99e2cf2bdca080ff226f2dfeedb1cf51 Update for real 1.6.3 update - MinecraftForge/FML@95afc95b248ecc69bc6ffcc5a95912820d8f4066 Update mcp mod info - MinecraftForge/FML@ff75416a325717770a5cf457c859bfb0abcbe281 Update mc_versions data and commands patch and eclipse workspace - MinecraftForge/FML@8f2e67558127f16d92399ea97cbcb0df46d52e19 Update the src distro's eclipse workspace. - LexManos: Bump version for new MC version. - LexManos: Actually push the submodule update -.- - -Build 1.6.2-9.10.1.871: - Christian: - Updated FML: - MinecraftForge/FML@81328b6684c5127427153807b5e498c2efefb96b Add in support for using a mirror list and provide checksums for packed download of libs - -Build 1.6.2-9.10.1.870: - Christian: - Revert "Added a RenderType that allows Map-style rendering w/o inheriting from" - - This reverts commit eb4688bf5ea132cd8ddc802a7dad6d423ad50543. - - Conflicts: - patches/minecraft/net/minecraft/client/renderer/ItemRenderer.java.patch - -Build 1.6.2-9.10.1.869: - vilim.lendvaj: Prevent NPE in fluid lookup for block - Christian: Fix broken PR from vilml. TEST! - -Build 1.6.2-9.10.1.867: - CovertJaguar: - Allow Fluids to have Rarities - - Used for tool tips. - -Build 1.6.2-9.10.1.866: - Christian: Fix the divider - -Build 1.6.2-9.10.1.865: - Adubbz: - Sky colours now smoothly transition - - Made transitions even smoother - - Sky colours now smoothly transition - Christian: Move stuff around a bit- also tie range and enabled to options. - -Build 1.6.2-9.10.1.864: - ml: - Added a RenderType that allows Map-style rendering w/o inheriting from - ItemMap. - Christian: Tweak patch comment - -Build 1.6.2-9.10.1.863: - mitchpetrie29: Check if block is air instead of just ID zero when growing from stem block. - -Build 1.6.2-9.10.1.862: - Christian: Allows proper raytracing from actual player eye position rather than hardcoded eye heights. - -Build 1.6.2-9.10.1.861: - claire.alexandria: Added fov hook - claire.alexandria: fixed merge - claire.alexandria: Small formatting changes (opening braces on new line) - -Build 1.6.2-9.10.1.860: - Christian: - Updated FML: - MinecraftForge/FML@b5af446d7111730c7973c9f0d6b76e62b78b9131 Fix sidedness derp in LanguageRegistry. - -Build 1.6.2-9.10.1.859: - Christian: The partial tick should be available for all render player events. Weird it wasn't. - -Build 1.6.2-9.10.1.858: - Christian: Reverting HarvestEvent, for new implementation - Christian: Redo harvest event. This time with simpler logic, that should be less liable to weird "missing" stuff. - -Build 1.6.2-9.10.1.857: - LexManos: Fix bug where guis were not closed properly, resulting in signs not having there text set. - -Build 1.6.2-9.10.1.856: - Christian: Change trigger calculation so entities get some time to age before refiring the event. - -Build 1.6.2-9.10.1.855: - LexManos: Create helper apply_patches script and add paramter to change patch output folder. - -Build 1.6.2-9.10.1.854: - Christian: - Change from Cancelable to using a Result. This means you can force despawn mobs you - don't want around anymore. Also, deferred check to once every 20 ticks. May tune it - down further or make it a config if this event is a lag issue. - -Build 1.6.2-9.10.1.853: - Christian: - Add a cancellable despawn event- allows mods to decide to prevent the despawning - of certain otherwise normally despawnable mobs. - Christian: - Added fov hook - - Small formatting changes (opening braces on new line) - Christian: Create es_ES.lang - -Build 1.6.2-9.10.1.852: - Christian: Add some javadoc to the HarvestBlock event. - -Build 1.6.2-9.10.1.851: - Christian: Use the dropchance from the event. - Christian: Clean up some formatting. - -Build 1.6.2-9.10.1.850: - claire.alexandria: Added tessellation methods to obj model, for ISBRH-friendliness - claire.alexandria: Fixed both RenderAllExcept behaviours - claire.alexandria: Added more render methods to IModelCustom interface. - jk-5: - Added GuiOpenEvent - - You can use this for a clean way to override guis, without needing an - TickHandler to check if the gui you want to override is open and show - your own gui - - Proper close check - mhahn: - capacity was not respected - - Updated to properly calculate the amount of free space in the tank - before checking that against the amount of the resource. - robin: create french localization - claire.alexandria: Added display name hook - claire.alexandria: Memoization of display name result - claire.alexandria: Added mouse event - claire.alexandria: inserted hook into Minecraft.java - claire.alexandria: fixed logic error - ohai.iChun: - Fix player push out of blocks clientside being hardcoded and not based on entity size. - Added player eyeHeight field to allow changeable eye heights of players rather than being hardcoded per player class as well as add a getDefaultEyeHeight function. - Christian: Reduce patch size significantly - Christian: Fix patch for new MCP naming. - Christian: Add a bit of javadoc - Christian: MachineMuse, remember, there's TWO model formats supported! - Christian: Defer firing CreateDecorator until it's likely mods have had a chance to register their listener. Should close #759 - Christian: - Add a harvestblock event, to allow mods to intercept and change the drops for blocks. Don't abuse this, or we'll have to take safety measures. - Fires for both silktouch and non-silktouch harvesting, and provides the player. Note, you may need to - change your break overrides to pass on the player for best results. - Christian: Add in a block reverse lookup for fluids. Closes #749 - -Build 1.6.2-9.10.1.849: - Christian: - Update forge for MCP naming updates - - Updated FML: - MinecraftForge/FML@d0c6e92900590f578b80d9a6c00fa28fd333d3bf Update MCP data - Christian: Update version to 9.10.1 for mcp naming changes. - -Build 1.6.2-9.10.0.848: - Christian: Fix possible NPE in searching code. - -Build 1.6.2-9.10.0.847: - Christian: - Updated FML: - MinecraftForge/FML@2a9c485edc4cf3382154d5b3b9b600386f2ab8ae Remove @SideOnly from 70318 (getDistance) it makes no sense that it's not on the server. - -Build 1.6.2-9.10.0.846: - Christian: - Updated FML: - MinecraftForge/FML@a13598b17ea9637c054d867a76298d6c080c5e32 Use java 1.6 compatible method of closing the zip file. Stops stupid compile error. - -Build 1.6.2-9.10.0.845: - Christian: Small fix to container registry. emptyContainer is not null, it's "NULL_EMPTYCONTAINER" now and won't match any valid container. - -Build 1.6.2-9.10.0.844: - Christian: Tweak the release to add in assets to the distributable. *sigh* - -Build 1.6.2-9.10.0.843: - Christian: - Updated FML: - MinecraftForge/FML@1c9a853868f7df0daa5f67b99401dfab44ae18e6 Allow coremods to properly inject asset readers. - MinecraftForge/FML@40b54013b4c9b01686411cd47a7866eeb650ea2b Allow server side lang file injection, hopefully - Christian: Add some starting work for a forge tps command. Also update coremod for new FML behaviour - -Build 1.6.2-9.10.0.842: - Christian: - Updated FML: - MinecraftForge/FML@b993cf4a9825865b3a8a0c7b083c23d56dbd1d6f More exception handling for less derpiness. - -Build 1.6.2-9.10.0.841: - Christian: - In the time honoured tradition of trying to fix vanilla, we today attempt to patch the pathfinding AI so that it doesn't lag when - there's a lot of entities. Basically, if the zombie can't reach the villager, backoff subsequent pathfinding attempts. Hopefully - should really help with lag caused by zombie swarms. - -Build 1.6.2-9.10.0.840: - Christian: Allow multipass RenderItem rendering for terrain icons too. Should fix sengir's saplings. - -Build 1.6.2-9.10.0.839: - Christian: - Updated FML: - MinecraftForge/FML@913f6f6d36bd179db7c147db0485e99dee693933 Try and use the relaunch log, which should be classloaded.. - MinecraftForge/FML@ac065ff5f76b6c512b346366107efde66e9e1c88 Reset the IWorldGenerator seed for each mod, before calling. That should mean worldgen is consistent and not dependent on mod ordering, or mod sideeffects. - -Build 1.6.2-9.10.0.838: - LexManos: Cache world on all render passes in case some mod disables the first pass. - LexManos: Skipp toss event for null entity items. Closes #732 - -Build 1.6.2-9.10.0.837: - LexManos: Fix bug with custom Fluids. You can now drown in them! - -Build 1.6.2-9.10.0.836: - Christian: - Updated FML: - MinecraftForge/FML@9468e41bbf3ea425c50daa710cf3ada11c82b238 Fix up scala refs, for better results - -Build 1.6.2-9.10.0.835: - Nick: - Adds Temperature to Lava - - Missing lava temperature. Feel free to change it to any value. - 1300K is the typical max for Magma so wasn't sure what was desired. Regardless, better than the same temp as water at 295K :smile: - -Build 1.6.2-9.10.0.834: - Christian: - Updated FML: - MinecraftForge/FML@4a9d0f9bd522e543b76daaf9c49b6214443c595f Add in some log information - Christian: - Updated FML: - MinecraftForge/FML@f157e7a6ecdeac2758fc0eaf547d3e8a763fb15b And more coremod logging - Christian: - Updated FML: - MinecraftForge/FML@ffdd056a18eddb8f28b74435d40e69c956b9dd48 Check keys, not values *sigh* - -Build 1.6.2-9.10.0.833: - Christian: - Updated FML: - MinecraftForge/FML@03989166665956df03aa85472eb13dca2d74a38d And actually instantiate the collection *sigh* - -Build 1.6.2-9.10.0.832: - Christian: - Updated FML: - MinecraftForge/FML@dec9a3924d361bc016cb7f6b3e95764158cf5ae1 Add in "FMLCorePluginContainsMod" in the manifest. If this value is present, FML will attempt to parse your mod jar file as a normal mod file as well, instantiating mod containers there. - -Build 1.6.2-9.10.0.831: - Christian: - Updated FML: - MinecraftForge/FML@24701206808a43b9c7b10d7130c47b5d1e841bb6 Clean up a couple of resources. Also, don't parse jars just because they're in the mods dir - -Build 1.6.2-9.10.0.830: - Christian: - Updated FML: - MinecraftForge/FML@9a5e24e338c6172531efb086a4b584c26d4f1435 Fix stupid derp is stupid. Closes #275 and means sp614x can do his thing - MinecraftForge/FML@ba90b616070ce15793eb05e5afaed62a6f07c6e7 Make sure we only add args to the argument list if a tweaker hasn't already. Should fix LiteLoader compatibility issue. - -Build 1.6.2-9.10.0.829: - LexManos: Fix NPE in enchangint books. - -Build 1.6.2-9.10.0.828: - LexManos: Fix inverted case, search works now. - -Build 1.6.2-9.10.0.826: - ross.swartz: Add stone and cobblestone to Ore Dictionary - ross.swartz: Update OreDictionary.java - LexManos: Addition: Added isAllowedOnBooks hook to Enchantments Closes #589 - -Build 1.6.2-9.10.0.825: - LexManos: Deprecate Block.addCreativeItems, Kill in 1.6.3+ Closes #655 - -Build 1.6.2-9.10.0.824: - mehvids: Add onNeighborTileChange callback to block by generalizing func_96440_m to all blocks rather than just comparators. - -Build 1.6.2-9.10.0.822: - malc.geddes: Added a new function to allow control over whether an entity is dismounted when the entity it is riding goes under water - LexManos: Allow creative tabs to have a search box if they want to Closes #592 - -Build 1.6.2-9.10.0.821: - tommy.stanley96: Fixed Fluid Non-Solid Block Duplication - tommy.stanley96: Fixed Double Item Drop - tommy.stanley96: Fixed Classic Checking - -Build 1.6.2-9.10.0.820: - LexManos: Add optional feature to check entire bounding box for ladders. Closes #709 - -Build 1.6.2-9.10.0.819: - LexManos: Only refresh vanilla tile entities when IDs change. - -Build 1.6.2-9.10.0.818: - LexManos: - Updated FML: - MinecraftForge/FML@f275a24b43559cfdced243ff77e9848c9d458362 Add in some reverse lookup methods for game registry data - MinecraftForge/FML@cb05c8c4aa60a131de92f0a21c06697c8f8896a8 Add missing SideOnly in BaseMod - MinecraftForge/FML@1857064afa9ace796440c19f3275637a6e659375 Merge pull request #266 from grompe/patch-1 - MinecraftForge/FML@182aa9c0cbe61ac69b0d428ead1dc817dd2a2e71 Fixed install.sh not passing arguments to install.py - MinecraftForge/FML@f46a538b41157081c840f647f123513ac4c5a071 Merge pull request #268 from Bo98/sh-args-fix - MinecraftForge/FML@29ef3d5ab412dcabbd67695558880c45011ace82 Update installer. - -Build 1.6.2-9.10.0.817: - tommy.stanley96: - Fluid Render Fix - - Formatting - ohai.iChun: Add Pre and Post events for RenderLivingEvent - ohai.iChun: Add Pre and Post events firing for RendererLivingEntity - ohai.iChun: if statement added - ohai.iChun: Update RendererLivingEntity.java.patch - tommy.stanley96: - Fixed fluids eating each other - - Fluids check for other fluids density before flowing, if their density - is higher they can flow into the other fluid, if not they can't. - CovertJaguar: Add SneakClick bypass to client - cpw: Fix names for water/lava fluids. Closes #689 - cpw: - Add support for loading legacy liquid stacks as new fluid stacks. - Requires having been written with the "liquidname" code from forge 1.5.x - cpw: - Add a translation map for looking up legacy liquid names to convert - to new fluid names. - tommy.stanley96: Fluid Rendering Fixes - cpw: Fix formatting error in PR - cpw: - Tweak setBlock in update tick - it should only send serverside updates for - source blocks. Experimental attempt to fix worldgen issues for fluid blocks - cpw: - Updated FML: - MinecraftForge/FML@57befa89bbbf2bc2fcc4a97b78e07b3f9e23ef9d Fix keybindings being derped - MinecraftForge/FML@1d84e8063e9d0dc73928dba006e6001201285cad Temporarily add a version of 'reobfuscate.py' that will resolve complex reobfuscation graph issues with specialsource. Copy it over 'reobfuscate.py' in the mcp runtime dir. Hopefully will have an MCP/specialsource fix in the coming days. - ohai.iChun: Fix RenderLivingEvent.Pre/Post not being fired by most Renders. - tonkamatt98: - added temperature to fluids - - it could be useful for blocks that are affected by temperature - mitchel.pyl: Fix render colour on bottom of fluids - mitchel.pyl: Fix small derp - -Build 1.6.2-9.10.0.816: - purpleposeidon: - Add an InputStream constructor to WavefrontObject - - It is said that Resource Packs will return InputStreams. And I like putting my models into texture packs which, obviously, give InputStreams rather than URLs. - 7of9: Add cloud height to WorldType - -Build 1.6.2-9.10.0.815-miscchanges: - mitchel.pyl: Fix render colour on bottom of fluids - mitchel.pyl: Fix small derp - -Build 1.6.2-9.10.0.812-miscchanges: - tonkamatt98: - added temperature to fluids - - it could be useful for blocks that are affected by temperature - -Build 1.6.2-9.10.0.811-miscchanges: - ohai.iChun: Fix RenderLivingEvent.Pre/Post not being fired by most Renders. - -Build 1.6.2-9.10.0.810-miscchanges: - cpw: - Updated FML: - MinecraftForge/FML@57befa89bbbf2bc2fcc4a97b78e07b3f9e23ef9d Fix keybindings being derped - MinecraftForge/FML@1d84e8063e9d0dc73928dba006e6001201285cad Temporarily add a version of 'reobfuscate.py' that will resolve complex reobfuscation graph issues with specialsource. Copy it over 'reobfuscate.py' in the mcp runtime dir. Hopefully will have an MCP/specialsource fix in the coming days. - -Build 1.6.2-9.10.0.809-miscchanges: - cpw: Fix formatting error in PR - cpw: - Tweak setBlock in update tick - it should only send serverside updates for - source blocks. Experimental attempt to fix worldgen issues for fluid blocks - -Build 1.6.2-9.10.0.808-miscchanges: - tommy.stanley96: Fluid Rendering Fixes - -Build 1.6.2-9.10.0.807-miscchanges: - cpw: - Add a translation map for looking up legacy liquid names to convert - to new fluid names. - -Build 1.6.2-9.10.0.806-miscchanges: - cpw: - Add support for loading legacy liquid stacks as new fluid stacks. - Requires having been written with the "liquidname" code from forge 1.5.x - -Build 1.6.2-9.10.0.804: - copyboy: Fix getArmorTexture by passing it the subtype - -Build 1.6.2-9.10.0.802: - LexManos: - Re-added deprecated liquids system. To be removed next major MC versions after issues with Fluids are fixed. (reverse-merged from commit 9b5208fa308f22c24e295ce3be38dcafea2857ea) - This WILL be removed and should not be developed against aside for a temporary 1.6 release. - -Build 1.6.2-9.10.0.801: - LexManos: Remove SideOnly(Client) in IBlockAccess.isAirBlock - -Build 1.6.2-9.10.0.800: - LexManos: MinecraftForge/FML@10b16d32da4b7c32b15e69cf1c636505ebbe2540 Use json 2.9.1 nightly for OSX in release json like vanilla does. - -Build 1.6.2-9.10.0.799: - LexManos: General code cleanup of Fluid system. Made Fluid icons and associated functions non-sided. - -Build 1.6.2-9.10.0.798: - LexManos: MinecraftForge/FML@3f21a2c1b413e591f61f2906c3adbadd9c5b09e3 Stupid spaces and windows escaping -.- - -Build 1.6.2-9.10.0.797: - LexManos: MinecraftForge/FML@b2958c9066db8c95bb4260893fbfe00103fc4ba1 Add quotes for paths with spaces -.- - LexManos: Package 'version.json' with universal jar for maunchers to use. It's the json used by the vanilla Minecraft launcher for Forge. - -Build 1.6.2-9.10.0.796: - LexManos: MinecraftForge/FML@9520978b81d4cba5d8b0af0d5f155bd115023795 Use a temporary file for recompile's command line to combat command length to long issues. - -Build 1.6.2-9.10.0.795: - LexManos: Updated FML: MinecraftForge/FML@4981aa3421262c3c1c4705468fe202df8198b9f0 Fix potential NPE in villager skin registry. Closes #678 - -Build 1.6.2-9.10.0.794: - Nick: - Fixes Vanilla Fluid Still Icon Setters - - Fixes null icons from being set for both the still water/lava icons, and sets the correct Icon. - -Build 1.6.2-9.10.0.793: - LexManos: Updated FML: MinecraftForge/FML@c48b48ee15f38d3e794b6eb3499c536226ca5a79 Fix server launching. - -Build 1.6.2-9.10.0.792: - Christian: Fix for new location of mcp logo. - -Build 1.6.2-9.10.0.791: - Christian: - Updated FML: - MinecraftForge/FML@0378355c3720d587652b7792665a8b70bf104eb3 The server.classpath generates the runtime manifest, so it needs the non-debug asm jars. - MinecraftForge/FML@a3f48734ffbbb2eccffdafcd3cbe73824bd1afd6 Fix up jar sanity check code. FML validation of the jar works now and doesn't derp classloading. - MinecraftForge/FML@9947ba85036542a3231e25328d3300f2a5337370 Fix logo handling. no more NPE if the logo can't be found. Also, fix location of mcp logo now. - -Build 1.6.2-9.10.0.790: - Adubbz: - Made eating particles compatible with metadata - - Removed extra spaces - - Made eating particles compatible with metadata - Christian: - Updated FML: - MinecraftForge/FML@e44e8b3112bd56c716a00c19d0be2f15d9128b70 Force a global asset scan prior to mod construction : you should be able to reference assets anywhere in your mod now. - MinecraftForge/FML@20e93a412ee13498babef02d404f57bf5e0fd919 Fix up logos in the mod screen. Clean up some unnecessary casts and suppressions, use the -debug asm library at dev time, since it contains full symbols and code in compiled form. - LexManos: MinecraftForge/FML@b9f4b02cb0b041594656f05de70225df702a8ddd Kill mcp's truncate method, for more useful logs. - LexManos: - Updated FML: - MinecraftForge/FML@7348929819b0ae8ad35419ef5dbf66e66b442858 Kill release time scala libraries, to be re-evaluated after all movement is done and shit is fixed. May require manual instalation for mods that use scala. - MinecraftForge/FML@6de36d78f57f6f08ec586b67b684d0e5406cd436 Coremods now have a primitive dependency capability. Also, we search mods dir for special "TweakClass" manifests. These are using the vanilla tweak mechanism to inject into Minecraft. Helpful for other "platform" systems, when you don't want to have to deal with json changes! - MinecraftForge/FML@d4b30422b64a62a2f8a8c2cccd94cb0fd06154e0 Update build and eclipse workspaces for debug asm. - LexManos: MinecraftForge/FML@c625ef30093abb0755985c74d1f31e2c4cf6cfdd Update Forge signature for new private key - LexManos: Update changelog generator to point to new jenkins. - LexManos: Monkey patch to try and make print flush properly. - -Build 1.6.2-9.10.0.789: - LexManos: Re-add reverted patch AGAIN cpw check your commits -.- - -Build 1.6.2-9.10.0.787: - Christian: - Updated FML: - MinecraftForge/FML@bab4d87ce76baa40200939cc46780b1d3b2ff466 Update FML for new stealth update for 1.6.2 - -Build 1.6.2-9.10.0.786: - Christian: Remove forge ISidedInventory, deprecated since 1.5. - -Build 1.6.2-9.10.0.785: - Christian: - Allow optional rider interaction for entities, thanks for the suggestion Vswe. - - Updated FML: - MinecraftForge/FML@7af5c21d74679d1a53550f9719bba22b2f28dd13 @InstanceFactory was set to look for Fields instead of methods - MinecraftForge/FML@bc9d1fe657c7a0953adc7d4c5ed81c575bdfb0f1 Merge pull request #254 from CaptainShadows/patch-1 - -Build 1.6.2-9.10.0.784: - LexManos: MinecraftForge/FML@c913258ca38e662264bdf4aafbfbef86881c9290 Disable signature check of client for now, it's broken. - Christian: - Updated FML: - MinecraftForge/FML@97269a5e3dc0a0e2e1a79183f9f5f2ee120e90bd Decode the file URL. Hopefully will make things work more.. - MinecraftForge/FML@d4d522c5978ecd7a9195977b3327b441901bb5b4 And don't forget to remove the test code - -Build 1.6.2-9.10.0.781: - LexManos: - Updated FML: - MinecraftForge/FML@dfa3a2665d6782b87713cea26dda558ac990a72a Add MC Version to installed version name. - MinecraftForge/FML@e91431fb707ce3e7e4296ccb8f3b2e5208b4dfac Don't validate signatures on servers, they are not signed. - MinecraftForge/FML@c7ab872c85dd057a4e44e12e34089dfd1a1184b6 Temporarily disable GuiModList's Mod logos. - -Build 1.6.2-9.10.0.780: - LexManos: - Updated FML: - MinecraftForge/FML@c997f2adbc4c11cd8c2abe5f82ccd00b0e954b68 FML now verifies that the minecraft jar is correct and intact. This is intended to discourage those who think that modifying the minecraft jar is still acceptable. - MinecraftForge/FML@0db4624b27a5ecf59ed506ccfc26459ca26ee408 Don't initialize the server. - MinecraftForge/FML@4fa375683fdb7edff67c951fb371ab4a23435308 Fix NPE in new debug line when patch targets don't exist. - -Build 1.6.2-9.10.0.779: - LexManos: Fix accedential reverted patch. - LexManos: Proper return for getRegisteredFluidContainerData thanks Soaryn. Ref issue #634 - -Build 1.6.2-9.10.0.778: - Christian: Make resourcelocation the class available on the server. - -Build 1.6.2-9.10.0.777: - Christian: - Drop two domain related fixes that have been applied in vanilla. - - Updated FML: - MinecraftForge/FML@c47d08c89dfcacb96e36c427593174e08dcb4224 Tweak debug data on patched classes - MinecraftForge/FML@dbf5fe38cee04288e92d57f8782114b452245bce We now generate an adler32 checksum for each patched file and verify at load time that they match. Mismatch won't crash, but will emit a big warning.. - MinecraftForge/FML@e88a0cd13f63904f7317e1a73880611f58820389 Update for stealth update. Thanks mojang! - MinecraftForge/FML@2336002f20e9412a7663781b23c51de0eff6a692 The game is going to exit in face of patch mismatch, unless you force it to run with fml.ignorePatchDiscrepancies in the system properties. - -Build 1.6.2-9.10.0.776: - LexManos: - Updated FML: - MinecraftForge/FML@1d0384f8f664d7002019b865675a5fddf2963b3d Update for 1.6.2 and MCP 8.04 - MinecraftForge/FML@111b0216fdc55f56a8361a584141bca7c9c3f070 Add the jsons for 1.6.2 - MinecraftForge/FML@6f96d89e2bf9313b26eeb4c334a208bf3e1c9ad4 Update eclipse workspaces for 1.6.2 - LexManos: Remove deprecated Liquids API, Use new Fluids system as replacement. - LexManos: Bump version to 9.10 for new MC version and removal of Fluids. - -Build 1.6.1-8.9.0.775: - Christian: - Updated FML: - MinecraftForge/FML@c97ac284a5e7dbdbccbad2f7ccc95252c4aef239 Update ModLoaderFuelHelper.java - MinecraftForge/FML@3a200e901e34ade679e4485307f57bee725bbe94 Fix coremod injection into main system. Should stop double-dipping coremods. - MinecraftForge/FML@2676c8999cbede05b5475ba68bfc25467a67d4fc Update mcp data. fixes #248 - MinecraftForge/FML@5990e29af7b70e343dfd9cf38bb3e033e71a4489 Merge pull request #247 from jk-5/patch-1 - MinecraftForge/FML@adc89722770b7319884619cadc6f10cc9050df24 Add cascadedTweaks. This will allow simple coexistence for any other mod framework using the tweaker system as well. Hi Voxel and LiteLoader! - -Build 1.6.1-8.9.0.774: - xcompwiz: - Makes player-specific spawnpoints dimension aware - - Makes ServerConfigurationManager correctly get player-specific spawn - point for the target dimension - Changes EntityPlayer to store and save a (bed) spawn point for every - dimension, as well as transfer them to respawn "clones" - -Build 1.6.1-8.9.0.773: - LexManos: Re-gather list of Icons when atlas textures are stitched, allows for addition/removal of blocks/items after the atlas's inital constrction. - -Build 1.6.1-8.9.0.772: - LexManos: Fix enchantment effect on single pass items. Closes #644 - -Build 1.6.1-8.9.0.771: - kinglemming: - Forge Fluid System! - - Signed-off-by: King Lemming - LexManos: Mark old liquid system as deperated to be removed next Minecraft release. - -Build 1.6.1-8.9.0.770-newliquid: - LexManos: Mark old liquid system as deperated to be removed next Minecraft release. - -Build 1.6.1-8.9.0.769-newliquid: - richard: Techne model loader (incomplete for debugging) - richard: Complete it, got the bug figured out - Christian: - Updated FML: - MinecraftForge/FML@24c405665105a789a0708a7e30c8bcb96899da6b Add in an optional modid identifier for @SidedProxy. It's main use is when both scala and java @Mods reside in the same package, and you want the @SidedProxy behaviour for a specific @Mod language type. In general it should not be needed otherwise. - MinecraftForge/FML@cd0466395a8f1af3ec44f124bf4088df2d318603 Fix sysout with trailing messages after a newline - LexManos: Disable ImageIO's File based cache, should speed up texturepack loading/stitching. - jadran.kotnik: Added rotation support for all vanilla blocks that can be rotated. - LexManos: - Add NPE protection to ItemStack delegates. Closes #601 - Also cleaned up the names of said delegates, we do not have to follow MCP's crowdsourced names as they are very bad. - Redirected damage through setItemDamage to allow items to have finder control of breaking. - LexManos: Fix Air block check in BlockPortal. - LexManos: Fix hoes being able to till dirt under other blocks, and made it look for air type blocks. - LexManos: Add NPE protection to refernce to MinecraftServer.worldServer - LexManos: Fix AIOOB exception in crash reporting if exception does not have a stack. Possible, but odd. - LexManos: Fixed changelog generation. - LexManos: Forgot most important side, release script. - Christian: Make glass panes and iron fences connect to block sides based on solidity. This does change IBlockAccess, so anything with a custom IBlockAccess may need to implement the new method. - Christian: - Fix server patch FML update - - Updated FML: - MinecraftForge/FML@22738de028a9ba51d43d73857dfb8969985566f0 Attempt to properly fix deadlock if the internal server derps. It should never hang now. Damn you fast computer.. - MinecraftForge/FML@05a854cd2af53ca822ee8b249b0b3bbe44f94675 Small tweaks to the mcp data. Nothing major.. - mitchel.pyl: Fix tripwire patches for solid sides - LexManos: Added EntityLiving to Block.isLadder arguments, deperacating older version. New parameter has the possibility of being null, so modders must take care. Closes #608 - LexManos: Add air checks to BlockSand falling and Piston pushing. Please report any other issues with custom 'Air' blocks in issue #602 - LexManos: Bump Forge revision and mark recomended. - LexManos: Fic Chest content gneeration delegate call. Cloases #609 - LexManos: Add air check to Flint and Steel Ref: #602 - LexManos: Update workspace for new library structure. - LexManos: Update FML to 16launch branch - LexManos: Initial patch update to 1.6, Does not compile, need to update references to the old TexturePack system. - LexManos: Small fixup, need to Update GuiIngameForge for new HUD changes. - LexManos: - Updated FML: - MinecraftForge/FML@6a318ddb784ca8b2bef0f6718089f7beb4d404e0 Fix typo in new packages. - MinecraftForge/FML@3711da9c456d20865a965734cc5aeaf7f5cb5e5d Another typo - MinecraftForge/FML@e35e4b16ff3d6dea547c41f02f2ca31ebe1f74aa More fixups - MinecraftForge/FML@18371bd8c9bd107f774289da35519f593ccc8ee7 Some fixes for updated mcp code - MinecraftForge/FML@ef646d3146e1f285d2cb8e79a74373beffa84774 Merge branch '16launch' - MinecraftForge/FML@7406b38d8ad1bc5c2c641c74f1614b946f246588 1.6.1 - MinecraftForge/FML@12c928c538c1c04d3a21255c747d15468328ace9 Tweak commands patch - MinecraftForge/FML@3f15cd54c2d776ea161aaedbecad9e188d66578f Functional client @ 1.6.1 - MinecraftForge/FML@71a92de5d95fccc4fe17cc39d0836891c6622f4d Client launch for eclipse - LexManos: - Updated FML: - MinecraftForge/FML@8960f6869fbe30d358a40997c47999025c3eae68 Add windows lzma executable http://tukaani.org/xz/ He states that most things are under public domai - n, But I couldn't find an exact reference to this executable. I'm going to assume it under public domain and distribuiting it here is fine. If not someone pleas - e direct me to the apropriate license and I will act accordingly. - MinecraftForge/FML@70cfe24e67adf6872ef1501599e2115e420c2539 Fix wrong project name in distro eclipse launch. - MinecraftForge/FML@7a004087f79b94bc92f29d50eb71288b6c1c968c Add deobf data to src dist. Dont create deobf jar as we ship the lzma Added *.lzma to .gitignore - LexManos: - Updated FML: - MinecraftForge/FML@110cf372eb5aa85df20b248976f1acdefa85e102 Add deobf data to merge-common, workspace is now actually runnable! - LexManos: Support dirty submodules in changelog script. - LexManos: 1.6.1 Update - LexManos: Add new launch configs to dev workspace. - LexManos: Update GuiIngameForge to reflect Mojang changes in 1.6.1 - LexManos: - Updated FML: - MinecraftForge/FML@c418da353f6a8420b095fa737e8b0eae270d31ae Cleanup coremod code, server side working now. - LexManos: Update release script to generate binary patches and include deobf data. - LexManos: Deprecation sweep and update version to 8.9 to reflect 1.6.1 update. - LexManos: MinecraftForge/FML@7fecf2ad6bdd918149a3c43453f6a78bd11e5404 Update mcp URL. - LexManos: Try absolute path, to not confuse jenkins. - LexManos: - Updated FML: - MinecraftForge/FML@1229c4c4ea888f4f69272eed94ef5a53ce79ccda Fix src distrabution, and got rid of pesky common folder in eclipse workspace. src is now installable. - MinecraftForge/FML@902772ed0cb6c22c4cd7ad9b0ec7a02961b5e016 Revert common folder fix, Common folder does nothing, feel free to delete it after first load. - LexManos: Update src distro installer script. Source distro works now! - LexManos: Update ToolMaterial enum helper. - LexManos: Release will now build a installer jar and use the standard 'target' output folder. - LexManos: - Updated FML: - MinecraftForge/FML@29d6c875d0675ffa14428c511bd6ebe9232a486c Add FML Installer logo crated by @ZaverSLO https://twitter.com/ZaverSLO/status/349947190300508162 - MinecraftForge/FML@3d17434510e890574b68c8a181b80c830b5d043a Build installer package for the new client launcher. - MinecraftForge/FML@bf38d947569911dab03319a8b0f1964f36b195b2 Update json samples - MinecraftForge/FML@7037184a4e724300001dfc1f8df2e76a0ec30368 Fix up release JSON - MinecraftForge/FML@dc7d02ebf6c9fc5965344a9aeca79f230a40afb4 Fix json syntax error. - LexManos: - Fix installer unintended replace. - - Updated FML: - MinecraftForge/FML@9b6525e80504ff72a1798cf5797bf148295db776 Point scala downloads to our servers, Launcher doesn't like standard maven repos. - LexManos: - Updated FML: - MinecraftForge/FML@91ecf711092e1610dd10e77cdd517c3324e62d8d Fix -rel json - MinecraftForge/FML@efc369ee83a7b62f605c13e16efad66b63b4bd8c Fix EventHandler annotation. - MinecraftForge/FML@fbd57b32641b540d609314d91fd64350d50b9013 Mods are now loaded as resource packs. Vanilla will scan for valid prefixes based on subdirs of 'ass - ets' which can then be referenced as ResourceLocations with the ":path" notation. - LexManos: - Updated FML: - MinecraftForge/FML@5a97d183dfb13b0f831172a1afef7407347ea7bc Remember to update your patches!!!! - MinecraftForge/FML@f1b533ad87ea08d6e62259c59779bcec1636e2fe Keep these on our servers until the launcher is actually fixed -.- - LexManos: Fix bound texture in Controls screen, Closes #631 and #629 - LexManos: Make Block.setIconName public - LexManos: Update filler block to prevent useless console warning. - LexManos: Fix resource domain when loading icon. Textures should be located in /assets/{domain}/textures/{block|item}/{name}.png Same strcutre as before except 'assets' instead of 'mods'. - LexManos: Update ChestGenHooks for new Dungeon chest strcture. - Christian: - Start: f1b533ad87ea08d6e62259c59779bcec1636e2fe - End: f21cd286ca8e974b75536224a38cc0dacaca8454 - Updated FML: - MinecraftForge/FML@f21cd286ca8e974b75536224a38cc0dacaca8454 Resource packs, part two. FML mods are now resource packs. Vanilla will scan anything under 'assets' and turn it into a resource runtimePrefix. Use resourcelocations to look stuff up. - LexManos: Move resource location resolution down to TextureAtlasSprite and allow for sprites that are not stitched. - LexManos: Attempt to gather lastBuild information to fix ChangeLog's off-by-one issue. - LexManos: - Updated FML: - MinecraftForge/FML@6f0eedc9a64e4e246c40335e91b4868ad7f5a9e2 Fixed ClassCastException when loading ModLoader mods - MinecraftForge/FML@8844554da6d5d15756d7b0a9da2f5924006b3190 Merge pull request #243 from jrtc27/modclassloader - MinecraftForge/FML@7aa7221756d62ea1fbc750d7cf7acfdb28d75f2e Fix transformer search - MinecraftForge/FML@5f7df5e742cbc21565cee0d25709b5cb5462127c Revert "Keep these on our servers until the launcher is actually fixed -.-" - MinecraftForge/FML@ad79b9ed86eaf8c2702d79505d78a931c1774560 Fix up some deprecation warnings, and clean up coremod code that's going away. - MinecraftForge/FML@ba3707af22376f8f18103f63db56e4614a9c37db More javadoc cleanup - LexManos: Update dev worksapce: Proper natives location and new server launch profile. - LexManos: TEMPORARY fix for MCP mapping issue. - LexManos: Include MANIFEST file from FML's universal.jar, makes the jar runnable now! - LexManos: - Updated FML: - MinecraftForge/FML@155e8468180c93f1886a64028628764b1b22dd58 Add in support for mods/ as a mod location. Also drop coremods as a location. They go in mods too now. - MinecraftForge/FML@3f4bf61ae6757605b27078c7321de9f640876836 Update key - MinecraftForge/FML@4545beb49d5348d8632e42965627b9837115525b Add deobf-data to setup env. - MinecraftForge/FML@e24f94951741709329208f738000b72933302a24 Fix eclipse workspaces and launch configurations. - MinecraftForge/FML@532bee7ce1c4392ee11f0389d98f0c2be6240aa0 Update to new MCP bugfix version, Fixes: Missing Armor/Item rendering, and Boss health mapping issues. - LexManos: - Updated FML: - MinecraftForge/FML@7ce84491d1d4eada442944e02fc0e50c51f8045c Fix missing argument and startclient/startserver support. - LexManos: Fix domain issue with SoundPool entries. - LexManos: Add hook for EntityWither trying to destroy a block. - LexManos: Fix lether item rendering colors. - LexManos: Render pass sensitive version of Item.hasEffect, Closes #517 - LexManos: Fix compile errors temporarily, dont use till updated to new system. - LexManos: Add missing air checks to WorldGenTrees and ChunkCache Closes #593 - LexManos: Updated FML: MinecraftForge/FML@54e06e841d1c8df24fc30e1ec3a51def67f58858 Move Resource refreshing until affter postInit. - -Build 1.6.1-8.9.0.768: - LexManos: Add missing air checks to WorldGenTrees and ChunkCache Closes #593 - LexManos: Updated FML: MinecraftForge/FML@54e06e841d1c8df24fc30e1ec3a51def67f58858 Move Resource refreshing until affter postInit. - -Build 1.6.1-8.9.0.767: - richard: Techne model loader (incomplete for debugging) - richard: Complete it, got the bug figured out - LexManos: Fix compile errors temporarily, dont use till updated to new system. - -Build 1.6.1-8.9.0.766: - LexManos: Add hook for EntityWither trying to destroy a block. - LexManos: Fix lether item rendering colors. - LexManos: Render pass sensitive version of Item.hasEffect, Closes #517 - -Build 1.6.1-8.9.0.765: - jadran.kotnik: Added rotation support for all vanilla blocks that can be rotated. - -Build 1.6.1-8.9.0.764: - LexManos: - Updated FML: - MinecraftForge/FML@7ce84491d1d4eada442944e02fc0e50c51f8045c Fix missing argument and startclient/startserver support. - LexManos: Fix domain issue with SoundPool entries. - -Build 1.6.1-8.9.0.763: - LexManos: - Updated FML: - MinecraftForge/FML@155e8468180c93f1886a64028628764b1b22dd58 Add in support for mods/ as a mod location. Also drop coremods as a location. They go in mods too now. - MinecraftForge/FML@3f4bf61ae6757605b27078c7321de9f640876836 Update key - MinecraftForge/FML@4545beb49d5348d8632e42965627b9837115525b Add deobf-data to setup env. - MinecraftForge/FML@e24f94951741709329208f738000b72933302a24 Fix eclipse workspaces and launch configurations. - MinecraftForge/FML@532bee7ce1c4392ee11f0389d98f0c2be6240aa0 Update to new MCP bugfix version, Fixes: Missing Armor/Item rendering, and Boss health mapping issues. - -Build 1.6.1-8.9.0.762: - LexManos: Update dev worksapce: Proper natives location and new server launch profile. - LexManos: TEMPORARY fix for MCP mapping issue. - LexManos: Include MANIFEST file from FML's universal.jar, makes the jar runnable now! - -Build 1.6.1-8.9.0.761: - LexManos: - Updated FML: - MinecraftForge/FML@6f0eedc9a64e4e246c40335e91b4868ad7f5a9e2 Fixed ClassCastException when loading ModLoader mods - MinecraftForge/FML@8844554da6d5d15756d7b0a9da2f5924006b3190 Merge pull request #243 from jrtc27/modclassloader - MinecraftForge/FML@7aa7221756d62ea1fbc750d7cf7acfdb28d75f2e Fix transformer search - MinecraftForge/FML@5f7df5e742cbc21565cee0d25709b5cb5462127c Revert "Keep these on our servers until the launcher is actually fixed -.-" - MinecraftForge/FML@ad79b9ed86eaf8c2702d79505d78a931c1774560 Fix up some deprecation warnings, and clean up coremod code that's going away. - MinecraftForge/FML@ba3707af22376f8f18103f63db56e4614a9c37db More javadoc cleanup - -Build 1.6.1-8.9.0.760: - LexManos: Attempt to gather lastBuild information to fix ChangeLog's off-by-one issue. - -Build 1.6.1-8.9.0.759: - LexManos: Move resource location resolution down to TextureAtlasSprite and allow for sprites that are not stitched. - -Build 1.6.1-8.9.0.758: - Christian: - Start: f1b533ad87ea08d6e62259c59779bcec1636e2fe - End: f21cd286ca8e974b75536224a38cc0dacaca8454 - Updated FML: - MinecraftForge/FML@f21cd286ca8e974b75536224a38cc0dacaca8454 Resource packs, part two. FML mods are now resource packs. Vanilla will scan anything under 'assets' and turn it into a resource runtimePrefix. Use resourcelocations to look stuff up. - -Build 1.6.1-8.9.0.757: - LexManos: Update ChestGenHooks for new Dungeon chest strcture. - -Build 1.6.1-8.9.0.756: - LexManos: Make Block.setIconName public - LexManos: Update filler block to prevent useless console warning. - LexManos: Fix resource domain when loading icon. Textures should be located in /assets/{domain}/textures/{block|item}/{name}.png Same strcutre as before except 'assets' instead of 'mods'. - -Build 1.6.1-8.9.0.755: - LexManos: Update ToolMaterial enum helper. - LexManos: Release will now build a installer jar and use the standard 'target' output folder. - LexManos: - Updated FML: - MinecraftForge/FML@29d6c875d0675ffa14428c511bd6ebe9232a486c Add FML Installer logo crated by @ZaverSLO https://twitter.com/ZaverSLO/status/349947190300508162 - MinecraftForge/FML@3d17434510e890574b68c8a181b80c830b5d043a Build installer package for the new client launcher. - MinecraftForge/FML@bf38d947569911dab03319a8b0f1964f36b195b2 Update json samples - MinecraftForge/FML@7037184a4e724300001dfc1f8df2e76a0ec30368 Fix up release JSON - MinecraftForge/FML@dc7d02ebf6c9fc5965344a9aeca79f230a40afb4 Fix json syntax error. - LexManos: - Fix installer unintended replace. - - Updated FML: - MinecraftForge/FML@9b6525e80504ff72a1798cf5797bf148295db776 Point scala downloads to our servers, Launcher doesn't like standard maven repos. - LexManos: - Updated FML: - MinecraftForge/FML@91ecf711092e1610dd10e77cdd517c3324e62d8d Fix -rel json - MinecraftForge/FML@efc369ee83a7b62f605c13e16efad66b63b4bd8c Fix EventHandler annotation. - MinecraftForge/FML@fbd57b32641b540d609314d91fd64350d50b9013 Mods are now loaded as resource packs. Vanilla will scan for valid prefixes based on subdirs of 'ass - ets' which can then be referenced as ResourceLocations with the ":path" notation. - LexManos: - Updated FML: - MinecraftForge/FML@5a97d183dfb13b0f831172a1afef7407347ea7bc Remember to update your patches!!!! - MinecraftForge/FML@f1b533ad87ea08d6e62259c59779bcec1636e2fe Keep these on our servers until the launcher is actually fixed -.- - LexManos: Fix bound texture in Controls screen, Closes #631 and #629 - -Build 1.6.1-8.9.0.751: - LexManos: - Updated FML: - MinecraftForge/FML@1229c4c4ea888f4f69272eed94ef5a53ce79ccda Fix src distrabution, and got rid of pesky common folder in eclipse workspace. src is now installable. - MinecraftForge/FML@902772ed0cb6c22c4cd7ad9b0ec7a02961b5e016 Revert common folder fix, Common folder does nothing, feel free to delete it after first load. - LexManos: Update src distro installer script. Source distro works now! - -Build 1.6.1-8.9.0.750-1.6: - LexManos: - Updated FML: - MinecraftForge/FML@1229c4c4ea888f4f69272eed94ef5a53ce79ccda Fix src distrabution, and got rid of pesky common folder in eclipse workspace. src is now installable. - MinecraftForge/FML@902772ed0cb6c22c4cd7ad9b0ec7a02961b5e016 Revert common folder fix, Common folder does nothing, feel free to delete it after first load. - LexManos: Update src distro installer script. Source distro works now! - -Build 1.6.1-8.9.0.749: - LexManos: Update workspace for new library structure. - LexManos: Update FML to 16launch branch - LexManos: Initial patch update to 1.6, Does not compile, need to update references to the old TexturePack system. - LexManos: Small fixup, need to Update GuiIngameForge for new HUD changes. - LexManos: - Updated FML: - MinecraftForge/FML@6a318ddb784ca8b2bef0f6718089f7beb4d404e0 Fix typo in new packages. - MinecraftForge/FML@3711da9c456d20865a965734cc5aeaf7f5cb5e5d Another typo - MinecraftForge/FML@e35e4b16ff3d6dea547c41f02f2ca31ebe1f74aa More fixups - MinecraftForge/FML@18371bd8c9bd107f774289da35519f593ccc8ee7 Some fixes for updated mcp code - MinecraftForge/FML@ef646d3146e1f285d2cb8e79a74373beffa84774 Merge branch '16launch' - MinecraftForge/FML@7406b38d8ad1bc5c2c641c74f1614b946f246588 1.6.1 - MinecraftForge/FML@12c928c538c1c04d3a21255c747d15468328ace9 Tweak commands patch - MinecraftForge/FML@3f15cd54c2d776ea161aaedbecad9e188d66578f Functional client @ 1.6.1 - MinecraftForge/FML@71a92de5d95fccc4fe17cc39d0836891c6622f4d Client launch for eclipse - LexManos: - Updated FML: - MinecraftForge/FML@8960f6869fbe30d358a40997c47999025c3eae68 Add windows lzma executable http://tukaani.org/xz/ He states that most things are under public domai - n, But I couldn't find an exact reference to this executable. I'm going to assume it under public domain and distribuiting it here is fine. If not someone pleas - e direct me to the apropriate license and I will act accordingly. - MinecraftForge/FML@70cfe24e67adf6872ef1501599e2115e420c2539 Fix wrong project name in distro eclipse launch. - MinecraftForge/FML@7a004087f79b94bc92f29d50eb71288b6c1c968c Add deobf data to src dist. Dont create deobf jar as we ship the lzma Added *.lzma to .gitignore - LexManos: - Updated FML: - MinecraftForge/FML@110cf372eb5aa85df20b248976f1acdefa85e102 Add deobf data to merge-common, workspace is now actually runnable! - LexManos: Support dirty submodules in changelog script. - LexManos: 1.6.1 Update - LexManos: Add new launch configs to dev workspace. - LexManos: Update GuiIngameForge to reflect Mojang changes in 1.6.1 - LexManos: - Updated FML: - MinecraftForge/FML@c418da353f6a8420b095fa737e8b0eae270d31ae Cleanup coremod code, server side working now. - LexManos: Update release script to generate binary patches and include deobf data. - LexManos: Deprecation sweep and update version to 8.9 to reflect 1.6.1 update. - LexManos: MinecraftForge/FML@7fecf2ad6bdd918149a3c43453f6a78bd11e5404 Update mcp URL. - LexManos: Try absolute path, to not confuse jenkins. - -Build 1.6.1-8.9.0.748-1.6: - LexManos: Try absolute path, to not confuse jenkins. - -Build 1.5.2-7.8.1.738: - LexManos: Fic Chest content gneeration delegate call. Cloases #609 - LexManos: Add air check to Flint and Steel Ref: #602 - -Build 1.5.2-7.8.1.737: - LexManos: Bump Forge revision and mark recomended. - -Build 1.5.2-7.8.0.736: - LexManos: Added EntityLiving to Block.isLadder arguments, deperacating older version. New parameter has the possibility of being null, so modders must take care. Closes #608 - LexManos: Add air checks to BlockSand falling and Piston pushing. Please report any other issues with custom 'Air' blocks in issue #602 - -Build 1.5.2-7.8.0.735: - mitchel.pyl: Fix tripwire patches for solid sides - -Build 1.5.2-7.8.0.734: - Christian: - Fix server patch FML update - - Updated FML: - MinecraftForge/FML@22738de028a9ba51d43d73857dfb8969985566f0 Attempt to properly fix deadlock if the internal server derps. It should never hang now. Damn you fast computer.. - MinecraftForge/FML@05a854cd2af53ca822ee8b249b0b3bbe44f94675 Small tweaks to the mcp data. Nothing major.. - -Build 1.5.2-7.8.0.733: - Christian: Make glass panes and iron fences connect to block sides based on solidity. This does change IBlockAccess, so anything with a custom IBlockAccess may need to implement the new method. - -Build 1.5.2-7.8.0.732: - LexManos: Forgot most important side, release script. - -Build 1.5.2-7.8.0.731: - LexManos: Fixed changelog generation. - -Build 1.5.2-7.8.0.730: - LexManos: Fix AIOOB exception in crash reporting if exception does not have a stack. Possible, but odd. - -Build 1.5.2-7.8.0.729: - LexManos: Fix hoes being able to till dirt under other blocks, and made it look for air type blocks. - LexManos: Add NPE protection to refernce to MinecraftServer.worldServer - -Build 1.5.2-7.8.0.728: - LexManos: Fix Air block check in BlockPortal. - -Build 1.5.2-7.8.0.727: - LexManos: - Add NPE protection to ItemStack delegates. Closes #601 - Also cleaned up the names of said delegates, we do not have to follow MCP's crowdsourced names as they are very bad. - Redirected damage through setItemDamage to allow items to have finder control of breaking. - -Build 1.5.2-7.8.0.726: - LexManos: Disable ImageIO's File based cache, should speed up texturepack loading/stitching. - -Build 1.5.2-7.8.0.725: - Christian: - Updated FML: - MinecraftForge/FML@24c405665105a789a0708a7e30c8bcb96899da6b Add in an optional modid identifier for @SidedProxy. It's main use is when both scala and java @Mods reside in the same package, and you want the @SidedProxy behaviour for a specific @Mod language type. In general it should not be needed otherwise. - MinecraftForge/FML@cd0466395a8f1af3ec44f124bf4088df2d318603 Fix sysout with trailing messages after a newline - -Build 1.5.2-7.8.0.724-newliquid: - jeffreykog: RenderGameOverlayEvent.Post(ALL) is now called in GuiIngameForge - LexManos: Fix arbitrary GUIContainer text coloring by forcing lighting to be disabled. Closes #594 - Christian: Patch village distance checking to use floats instead of ints, to avoid int wrapping - Christian: Fix isAir check to see if a portal can light. Should fix w/Railcraft and others - LexManos: Make changelog generation non-fatal untill we get jenkins issue figured out. - LexManos: Add cache for ASM Event Handler bridge classes, should not need to redefine a class to invoke the same method on different instances. - LexManos: Ignore registration of a object that is already registered. Preventing duplicate callback invocations. Thanks King_Lemming for pointing this out. - Christian: - Updated FML: - MinecraftForge/FML@6f3da9736531153629fb4213e3b2cae776bfb50a Don't throw an exception if the scala adapter find a java proxy. I may add some distinguishers to @SidedProxy so you know which mod it's for. - MinecraftForge/FML@59fe905695421a5be9370b0009ef794abaaf75bb Don't continue trying to send events to mods that depend on errored mods. - -Build 1.5.2-7.8.0.723: - Christian: - Updated FML: - MinecraftForge/FML@6f3da9736531153629fb4213e3b2cae776bfb50a Don't throw an exception if the scala adapter find a java proxy. I may add some distinguishers to @SidedProxy so you know which mod it's for. - MinecraftForge/FML@59fe905695421a5be9370b0009ef794abaaf75bb Don't continue trying to send events to mods that depend on errored mods. - -Build 1.5.2-7.8.0.722: - jeffreykog: RenderGameOverlayEvent.Post(ALL) is now called in GuiIngameForge - -Build 1.5.2-7.8.0.721: - LexManos: Ignore registration of a object that is already registered. Preventing duplicate callback invocations. Thanks King_Lemming for pointing this out. - -Build 1.5.2-7.8.0.720: - LexManos: Add cache for ASM Event Handler bridge classes, should not need to redefine a class to invoke the same method on different instances. - -Build 1.5.2-7.8.0.719: - Christian: Fix isAir check to see if a portal can light. Should fix w/Railcraft and others - LexManos: Make changelog generation non-fatal untill we get jenkins issue figured out. - -Build 1.5.2-7.8.0.716: - Christian: Patch village distance checking to use floats instead of ints, to avoid int wrapping - -Build 1.5.2-7.8.0.715: - LexManos: Fix arbitrary GUIContainer text coloring by forcing lighting to be disabled. Closes #594 - -Build 1.5.2-7.8.0.713: - Christian: - Updated FML: - MinecraftForge/FML@843a13c1ab1e3901160082fa63c557243fb64675 Try and clean up cycle detection output a bit - MinecraftForge/FML@82e9de8641c6a559eec711ea6d1e940d99cbc98f More tweaks to the mod sorting code - MinecraftForge/FML@ac97370f94d10beee5f021795cddda827c4411d4 Add in a pretty sorting error screen - MinecraftForge/FML@f1d68ed4c82cd28e50ec6a0befc55ff0165bfe08 Throw the sorting exception - MinecraftForge/FML@edc1fb24e2cad9badd2dd18ccccd590d77156e18 Send the "suspect list", and print the suspect versions - -Build 1.5.2-7.8.0.711: - jdroque: - Add support for servers to register dimensions on client. - - In order to support multi-worlds such as MultiVerse, the server needs the - ability to register dimensions on client or many forge mods such as IC2 - will not function correctly. This has been an issue for MCPC which - provides both Forge and Bukkit support to players. By adding the - DimensionRegisterPacket class, MCPC now has the ability to send the - required packet to client to register a dimension with DimensionManager. - LexManos: Cleanup Dimension Registration packet, generate takes no arguments, and added fix to world to prevent providers from overwriting the dimension ID. - LexManos: Fix potential GL issue when atlas animations bind textures without informating RenderEngine. - -Build 1.5.2-7.8.0.710: - LexManos: - Introduced the framework for Forge's packet handler system. Heavily based off FMLPacket. - Packet splitting and reconstruction is handled. - -Build 1.5.2-7.8.0.708: - Christian: - Updated FML: - MinecraftForge/FML@3bf50c4bbe82f0cc317dafcf2a569cb5210bc738 Fix server side derp with Forge network packet handler - -Build 1.5.2-7.8.0.707: - LexManos: Fix type in biome list. - LexManos: Fixed creative tab rendering with invalid color closes #588 - -Build 1.5.2-7.8.0.706: - Christian: - Add forge network handling support - - Updated FML: - MinecraftForge/FML@4922e90d81d8b8b9374c4d04858a06c5bf03965c Separate network mod config from setup. Allows for Forge Packet Handler nicety - -Build 1.5.2-7.8.0.705: - mehvids: Add hitInfo field to MovingObjectPosition for when an int doesn't suffice - -Build 1.5.2-7.8.0.704: - LexManos: Fix another NPE when Items are in Block range with custom renderers, Modders keep your items out of the block range! Closes #581 - LexManos: Fixed render count for stacks of blocks 40+ and distrabution of items based on scale. Closes #579 - -Build 1.5.2-7.8.0.703: - Christian: Remember x & z passed to getTopSolidOrLiquidBlock and use it for foliage tests. Fixes #575 - -Build 1.5.2-7.8.0.702: - Christian: Fix blending on the hotbar. Closes #574 - -Build 1.5.2-7.8.0.701: - Christian: - Updated FML: - MinecraftForge/FML@23b070c7d02a8da44bf04c2f9ba2b485a44ad967 Alternative @SidedProxy setter for Scala. - MinecraftForge/FML@2cca7aa759b4b6c3a128ce43bbd924e4762c43c2 Some more Scala @SidedProxy adjustments. Now properly supporting pure singletons, i.e. object C { @SidedProxy(...) var proxy: P = null } Removed fallback, as all such singletons are properly handled by the new code now, and class implementations fall back to the code also used for plain Java mods. - MinecraftForge/FML@8517a824e5251c409e05999d42fc6d70497609f5 Merge declaration and initialization of a variable. - MinecraftForge/FML@a3a920437f3ede6841ae2c449a38975b02b28088 Merge pull request #230 from fnuecke/master - Christian: Add in a very simple stencil bit registry to try and arbitrate between mods wanting to use stencil bits in rendering - -Build 1.5.2-7.8.0.700: - hbiede: - Added oreQuartz - - Gives a default quartz Ore Dictionary (I know of at least 3 used by different mods that use Nether Quartz as an equivalent). - gholdampf: updated FurnaceRecipes.java.patch - mike.stengel: Created an ItemStack sensitive version of canHarvestBlock. - -Build 1.5.2-7.8.0.699: - CovertJaguar: - Possible NPE if the liquid isn't in the LD - - https://github.com/BuildCraft/BuildCraft/issues/787 - -Build 1.5.2-7.8.0.698: - LexManos: Fix NPE when rendering EntityItems that are not blocks but int he block range. - -Build 1.5.2-7.8.0.697: - LexManos: Prevent water from dropping snowballs. - -Build 1.5.2-7.8.0.696: - LexManos: Fire EntityJoinWorled event for forced entities {Players and there mounts} as well, just ignore the cancelled value. - -Build 1.5.2-7.8.0.695: - LexManos: - MinecraftForge/FML@787c0c4a6af3af60928b3a90f383a305a17a4347 Don't spit error on LWJGL not supporting 4.3 just warning. - Make custom item renderers attempt to use EQUIPPED type when running first person. For backwards compatiblity, will be removed in 1.6. - And a small change to make the 1.6 check not print it's stack trace. - -Build 1.5.2-7.8.0.693: - purpleposeidon: Fix render bounding box of trapped double chests - jholcroft: - Make getStencilBits static - - Made getStencilBits static so it can be called. - -Build 1.5.2-7.8.0.692: - LexManos: Move Partical rendering down in the order, after everything else. Should fix particals rendering behind water, digging process, and selection. - -Build 1.5.2-7.8.0.691: - LexManos: Fixed NPE in rendering dragged items. - -Build 1.5.2-7.8.0.690: - LexManos: - Attempt to allocate a 8-bit stencil buffer when creating Minecraft's display context. If that throws an error it will revert back to it's default values. - Also contains a method for modders to rereive how many bits the context was created with. Closes #552 - -Build 1.5.2-7.8.0.689: - LexManos: EntityPlayer sensitive version of Item.isValidArmor, deprecated older version. Closes #551 - LexManos: Changed to just plane entity for flexability. - LexManos: New RenderPlayer and RenderLiving events. Closes #493 - -Build 1.5.2-7.8.0.688: - pahimar: Update forge_at.cfg - -Build 1.5.2-7.8.0.687: - mitchpetrie29: Separate EQUIPPED and EQUIPPED_FIRST_PERSON Item Render Types - -Build 1.5.2-7.8.0.686: - LexManos: Capture and fire the PlaySoundAtEntity event for The client entity. Minecraft does some odd bypasses for no good reason. Thanks iPixile for reporting this. - -Build 1.5.2-7.8.0.685: - LexManos: - Updated FML: - MinecraftForge/FML@99bb50d8f8d27217ba58a41c802a504213e99461 Improved Entity Spawn Error - MinecraftForge/FML@c0cca7f41d5b080e39dd8d3d6cfc329295c822e6 Merge pull request #227 from CovertJaguar/patch-1 - MinecraftForge/FML@49111e9c5cffab49ec35f965801c3f0496f6def6 Add version detection to astyle and print error if it doesnt detect version 2.0+ - Also fixed astyle's config for max-instatement-indent that sometimes caused crashes with certian versions of astyle. - -Build 1.5.2-7.8.0.684: - LexManos: - Update to 1.5.2 PR. - MinecraftForge/FML@f0bba74a4748935ef3a715ae2f45feb75cc20376 Update for minecraft 1.5.2 - MinecraftForge/FML@62fdbad74c2507d147ecab56f56029135d88c6f5 Update MCP's md5 for the fixed srg files. - LexManos: - Updated FML: - MinecraftForge/FML@00f00b17bf0da262e6fe3e327ca2deedf7146305 Fix scalac detection to actually use the located command instead of defaulting to 'scalac' - LexManos: Fixed hardcoding of MC version in debug text. - LexManos: Bump version number for 1.5.2 - -Build 1.5.2-7.8.0.683-1.5.2: - LexManos: Bump version number for 1.5.2 - -Build 1.5.1-7.7.2.682: - cadyyan: Fixed build error handling using invalid Python syntax. - -Build 1.5.2-7.7.1.681-1.5.2: - LexManos: Fixed hardcoding of MC version in debug text. - -Build 1.5.2-7.7.1.680-1.5.2: - LexManos: - Updated FML: - MinecraftForge/FML@00f00b17bf0da262e6fe3e327ca2deedf7146305 Fix scalac detection to actually use the located command instead of defaulting to 'scalac' - -Build 1.5.1-7.7.2.679: - LexManos: Changelog generator will now bundle failed builds with the next successful build. Should make it look better and prevent the version numbers from being confusing. - -Build 1.5.1-7.7.2.678: - LexManos: Bump version to 7.7.2 so I can make a release. - -Build 1.5.1-7.7.1.676: - tobias: Fixed ListenerListInst not being rebuild after unregistering a listener, causing calls to unregistered event listeners. - tobias: Replaced derpy tabs with spaces - -Build 1.5.1-7.7.1.675: - kinglemming: - -Add vanilla Ores to the Ore Dictionary. No recipe replacement required. - -Add NBT-sensitive getMaxDamage() for ItemStack. - - Signed-off-by: King Lemming - -Build 1.5.1-7.7.1.674: - LexManos: Attempted a fix for the changelog generation, should print all builds back to 1 now. - -Build 1.5.1-7.7.1.673: - Christian: - Updated FML: - MinecraftForge/FML@cf9b5b445ba284d389c7e32a03d9c8ef43469042 Don't leave scala running in interactive mode. - -Build 1.5.1-7.7.1.672: - Christian: - Updated FML: - MinecraftForge/FML@cfda7fc738ce6079f625a3822ebff5e7e0db5669 Fix URL for MCP - MinecraftForge/FML@781c68121626321e0efddaf4c4db9f1b8b5911db Some fixups for scala compilation in MCP. Scala should now be compilable and reobfuscatable with srgnames in MCP. - Christian: Try and be less noisy about world leaks - Christian: ItemStack delegation to Item for damage values. - LexManos: Fix rotation issue with non-block items. - Christian: - Updated FML: - MinecraftForge/FML@ddadf93ca1d648d88fdb61c9625cd675c3650ccd Fix when an old scalac is present on the system to not fail the build - Christian: - Updated FML: - MinecraftForge/FML@aa200923f0fe0c548faa4f103d803ade2e49d19d Fix patch derp. - -Build 1.5.1-7.7.1.667: - Christian: - Updated FML: - MinecraftForge/FML@dcf069ca52738a7bb7bde01f1c7ebd2e06cd0ac6 Attempt to reduce lines on the screen for id mismatch. Hopefully prevents game crashes. - MinecraftForge/FML@58ba24add2a96bf4c079d5919f2d90dcc2f380e4 Fix possible NPEs in GameData - -Build 1.5.1-7.7.1.666: - Christian: - Updated FML: - MinecraftForge/FML@a3b5eaacfdd9218ef68d3dc064bba729b797cb3d Fix a small modloader compatibility derp: closes #222 - MinecraftForge/FML@677a6e578e84109702365da4a784f9a57d8c9957 Fix scala supporting SidedProxy. It should work now. - MinecraftForge/FML@334a76de75f2b417f04c23526c7e66ceb48e0de2 Update FMLDeobfuscatingRemapper.java - MinecraftForge/FML@42f1d8795599e0d1a516a1fdd7488a09b77e4565 Merge pull request #224 from Glought/master - MinecraftForge/FML@2dcabe01232b48009acbca6724565598761f561b Add a to string to fmlmodcontainer: should mean less derpy cyclic dependency data - MinecraftForge/FML@11ac46daebe901a6012a09ba5f6fe44af5b1be06 Fixing the GameRegistry. Now it is possible to register a Block with a BlockItem using following code: MyBlock myBlock = new MyBlock(); GameRegistry.registerBlock(myBlock, MyBlockItem.class, "myBlock"); where MyBlockItem class has one constructor with signature: public MyBlockItem(int id, Block block) - MinecraftForge/FML@c3fda11d100f9db7c32ef212ac37eade3e35d701 Merge pull request #225 from MarcinSc/master - Christian: Add forge/FML data to the f3 screen. - -Build 1.5.1-7.7.1.665: - LexManos: - Forge now takes control of GuiIngame's renderGameOverlay, and spits out a ton of events to give modders control of how the screen is rendered. - Inital draft for community feedback. - -Build 1.5.1-7.7.1.664: - LexManos: Allow spawning of Bonemeal particles even if block is not set. - -Build 1.5.1-7.7.1.663: - LexManos: Fix the BLOCK_3D render helper for items that aren't an instance of ItemBlock Closes #533 - LexManos: Fix replaceable checks to work on blocks with a non-replacable material, Closes #532 - LexManos: Restore world unload event for client worlds Closes #531 - -Build 1.5.1-7.7.1.662: - LexManos: Fix logic issue in CrashReportCategory patch, blame Jadedcat for sloppy quick patch. - -Build 1.5.1-7.7.1.661: - lhb: - Fix for ClassCastException when attempting to fetch Biome types from BiomeDictionary - - Attempting to fetch the BiomeDictionary types linked to a biome throws a ClassCastException. This fixes that - lhb: getBiomesForType will cause the same problem - -Build 1.5.1-7.7.1.660: - Christian: - Updated FML: - MinecraftForge/FML@b3d4ea05ec633fb1898e97febf786f1a3e420986 Fix possible NPE in findItemStack, closes #218 - Christian: - Simple block recolouring API: closes #525 - Fix up documentation on "rotation" API: it is up to the mod to decide interpretation of "rotation" for the mod/block. - -Build 1.5.1-7.7.1.659: - LexManos: Fix return value of EnchantPower hook, closes #518 - LexManos: Adds a field to the player for maximum health. Player.dat additions are present, getMaxHealth() needs a magic number for spawning. Closes #527 - -Build 1.5.1-7.7.1.657: - LexManos: New hook to allow Items to render Helmet overlays like pumpkins do. - -Build 1.5.1-7.7.1.656: - Christian: - Updated FML: - MinecraftForge/FML@394f424185a044afcd6b31f400e731478171dd18 Fix to output versions in crash logs - MinecraftForge/FML@8f35adca7a41c280a4b63d4787f042f615966cac Use more expressive language when a version specifier is a simple unbounded above condition - -Build 1.5.1-7.7.1.655: - Christian: - Updated FML: - MinecraftForge/FML@5673c1dd2966536000c2b3f17f85131204c4a291 Add srgname to registerTileEntityWithAlternatives - MinecraftForge/FML@7aea09f4ca2f087d59ff6cb0de1c8e3e8b9ea4df Add type info to properly deobfuscate overloaded fields. Fixes #210. - MinecraftForge/FML@edffd04ed2e89ece75189f76b92ae47643ec92f8 Add in some caching of the read field descriptions for efficiency - MinecraftForge/FML@0daf1a6df4203d97be65a76a46550f6ad22ccc79 Merge branch 'agaricusb-fix-deobf-field' - MinecraftForge/FML@ada52078c75fdfa506a4287c112d01d9af961d5a Merge pull request #216 from agaricusb/add-srgname - -Build 1.5.1-7.7.1.654: - jmacwilliams: fixed a bug that prevented proper lava generation near bedrock - -Build 1.5.1-7.7.1.653: - LexManos: Fix AIOOB in crash report stack trimming. - -Build 1.5.1-7.7.1.652: - pahimar: Fix a derp in that we provision the various arrays for a face, even if we are not going to parse data into it. Solves NPEs for when obj models that don't have texture coordinates attempt to render. - pahimar: Missed a bit - -Build 1.5.1-7.7.1.651: - LexManos: Cave and Ravine gen will now take into account the Biomes top and foller block, allowing them to break the surface in modded biomes. Beaches, MushroomIslands and Deserts are exempt from this check to preserve vanilla world gen functionality. Closes #491 - -Build 1.5.1-7.7.1.650: - Christian: Fix offset in AdvancedModelLoader. *doh* - -Build 1.5.1-7.7.1.649: - LexManos: Added NBT data to liquid stacks. Closes #501 - LexManos: Added a small method in the Block.java to specify the amount of enchanting power it can supply to an enchanting table. Closes #508 - -Build 1.5.1-7.7.1.648: - LexManos: Item callback for EntityItem update tick. Closes #426 - LexManos: Add Item 'swing' callback for use when playing the arm swing animation. Closes #505 - -Build 1.5.1-7.7.1.647: - Christian: Delete sneaky extra file - -Build 1.5.1-7.7.1.645: - LexManos: Re-add and mark deprecated the old signature for ForgeHooksClient.getArmorTexture. - -Build 1.5.1-7.7.1.644: - Christian: - Deprecate preloadTexture, make it a no-op. Should stop derpiness with new - texturing system performance tweaks. - -Build 1.5.1-7.7.1.643: - LexManos: - Updated FML: MinecraftForge/FML@4836b3272a9b292c62816c1d1f9e845486753839 Re-worked the Texture patches, optifine helper function, and re-added support fo - r dynamically rotating the texture for mod authors who do things horribly wrong. - -Build 1.5.1-7.7.1.642: - Christian: - Fix performance of texture uploads - - Updated FML: - MinecraftForge/FML@00c788308881a07a683e17e2e9382313f3719b45 Very significant improvement in performance by using glSubImage to upload data. Inspired by frequent complaints about performance of hires texture packs. They probably still need a beefy system but should work. Hopefully I can figure out why the subImage GL side copy isn't working properly for an even more significant speed boost. But this gets things started. - MinecraftForge/FML@57ad221cc6d9605b9d521f86620c2a31f922ac24 And add the patches *sigh* - Christian: - Updated FML: - MinecraftForge/FML@a31607ae7d0214101679a1ecf1ae8032a5257eda Fix compilation derp, and clean up rotation helper. - -Build 1.5.1-7.7.1.640: - LexManos: Small optimization for usages of Minecraft.getGLMaximumTextureSize(), only need to calculate it once. - LexManos: Small bugfix in Stitcher that was preventing ti from fully filling the possible texture space. Should lower the amount of empty space in textures. - LexManos: - Optimize Texture loops a bit for non-rotated textures. Should help the FPS loss on higher resolution texture packs. If it becomes a major issue we may have to look into a more optimized animation system. - - https://mojang.atlassian.net/browse/MC-13206 - -Build 1.5.1-7.7.1.639: - LexManos: Fix scoreboard saving bug caused by our fix of vanilla map saves. - -Build 1.5.1-7.7.1.638: - LexManos: Updated FML: MinecraftForge/FML@1de89525cc2265bdce8704d9bd0d31c57bca4d97 Fixed issue with instalation when java/javac commands had quotes. - LexManos: Deprecate long dead interface that moved to FML. remvoe next MC version. - -Build 1.5.1-7.7.1.637: - LexManos: Updated FML: MinecraftForge/FML@704a70902fca3de620375116a33dccd3d6d576d0 Sanitize input to isRemappedClass to use '/' as a package seperator like the srg files. - -Build 1.5.1-7.7.1.636: - froggytheturtle: - This allows the result of the explosion to take into account metadata, - tile entities, or even to cancel it altogether. - - Allowed block exploding to take into account tile entity and metadata - LexManos: New hook to allow Items to provide there own armor models. Closes #487 - -Build 1.5.1-7.7.1.635: - LexManos: Fix item deletion in creative menu for items that are the same id/meta but differnet NBT's. Closes #479 - LexManos: Untag NBTTagList.removeTag as client side only, allowing simple removal ont he server side. Closes #477 - -Build 1.5.1-7.7.1.634: - LexManos: Allow items to provide there own FontRenderer for there tooltips. Added for #463 - -Build 1.5.1-7.7.1.633: - ProjectZulu: Added maxCanSpawnInChunk event to allow overriding of creature chunk spawn cap - ProjectZulu: Clarify Factory call and Event Functionality - LexManos: Add function to remove categories from a configuration, indavidual properties can be removed using ConfigCategory.remove() Closes #462 - -Build 1.5.1-7.7.1.632: - LexManos: - Pulled Biome Tag System by Emasher, Closes #433 - An issue with biome adding mods which is becoming increasingly annoying for players, is that many mod authors that add biome specific world generation or mobs in their mods, for the most part, hard code them to work with vanilla biomes only. This becomes a huge problem when it's difficult to even find a vanilla biome, let alone a specific one, when biome mods are installed. - - A simple solution to this problem is a tag system for biomes that allows mod authors to set up their world generators, or mobs to generate or spawn in biomes that have been registered with a specific tag such as "FOREST", or "FROZEN". I wrote such a system a few months ago, which I've been using with my own mods, and have made available to anyone who wants to use it. Since then, I've had requests from mod authors and players alike to try and get it, or at least similar functionality, into Forge, where other mod authors will be more comfortable using it. - - Aside from the tags, it also includes a rule based system to classify biomes that have not already been registered with it when information is requested on them (You can opt out of this by registering a biome as type "NULL"). And additionally, the ability to register IWorldGenerators for specific biomes, or biome types (tags) to speed up chunk generation a little bit. - -Build 1.5.1-7.7.1.631: - LexManos: Deprecate IArmorTextureProvider, moved to Item. And exposed more information to the function. Closes #365 - -Build 1.5.1-7.7.1.630: - LexManos: Updated FML: MinecraftForge/FML@570faeb790745c35403c67fabab57651b71da576 Added the ability to save transformed classes to disc for debugging. - LexManos: Add checking for 'ENUM$VALUES' in EnumHelper. Eclipse uses it's own internal compiler which does not follow the java standard of making the values field names $VALUES and private. Instead its public and ENUM$VALUES. Closes #502 - -Build 1.5.1-7.7.1.629: - LexManos: Revert MinecraftForge/MinecraftForge@f594109b30c87f5a0996eee9e8c4513380733cee If concurancy issues arise we will reassess. The provided solution caused entities to be removed incorrectly and cause 'invisible' entities client side. - -Build 1.5.1-7.7.1.628: - LexManos: Fix EntityPlayer passed to Bonemeal event. - -Build 1.5.1-7.7.1.627: - LexManos: Fix off-by-one in rotated textures. - LexManos: Removed index bounds checking in some chunk functions, if you error blame Grum. - -Build 1.5.1-7.7.1.625: - LexManos: Fix vanilla texture bug causing rotated textures to be placed wrong. - -Build 1.5.1-7.7.1.624: - Christian: - Updated FML: - MinecraftForge/FML@8b8837c9ff635d4988e0a1504fca38667825daf0 Fix NPE when branding isn't present - -Build 1.5.1-7.7.1.623: - kraphteu: Remove unneeded SideOnly. ref: Buildcraft/Buildcraft#710 - -Build 1.5.1-7.7.1.622: - Christian: - Removed obsolete patches - Updated FML: - MinecraftForge/FML@26ccb9106e443e664b0fdc1b95c3600b90ab2bc5 Change snooper/crash report brand handling. fmlbranding now loads another string! - MinecraftForge/FML@eff464cf0e656d92dfedf16e79e5cd6c36b9fc76 And the core patches for that - -Build 1.5.1-7.7.1.621: - Christian: Sanity check the item ID for loaded liquid stacks better. - -Build 1.5.1-7.7.1.620: - Christian: Make liquidstacks immutable in their type data. Sorry about this, but it makes things a lot easier. - Christian: Add in persistence code for LiquidTank. Using it should protect against liquids that get removed f.e. Closes #395 - -Build 1.5.1-7.7.1.618: - Christian: Fix up liquidstack so it knows about the texture sheet for it's icon - -Build 1.5.1-7.7.1.617: - Christian: Fix AT file - -Build 1.5.1-7.7.1.616: - Christian: Fix possible NPE in ChunkManager. Closes #478 in reality - -Build 1.5.1-7.7.1.615: - Christian: made BlockFluid.theIcon protected - Christian: fix bug #489 from #429 - Christian: Fix up some liquid logic - -Build 1.5.1-7.7.1.614: - Christian: - Updated FML: - MinecraftForge/FML@2bc6a0666f8a54f6b1fbc3398c6e3a385ecd35b5 Attempt to make any "default package" class public. This might fix problems with certain modloader mods that ship changes to vanilla classes. - Christian: Use the liquid name in liquid stack persistence. Closes #429 - Christian: Fix hashCode - Christian: - Updated FML: - MinecraftForge/FML@0d844874124649099dbcbb9ae2b36719e1dda25f Fix up derp in access transformer - -Build 1.5.1-7.7.1.611: - LexManos: Bump version number for 1.5.1 Note: We really need to do this more... - -Build 1.5.1-7.7.0.610: - LexManos: Fix NPEs when modders stupidly register null texture names. - -Build 1.5.1-7.7.0.609: - LexManos: Fixed issue with Event.hasAnnotation ignoring it's parameter. And cached its values for potential performance gain. Closes #482 - -Build 1.5.1-7.7.0.608: - jesse: - Entity Extended Properties Changes - - Adds IExtendedEntityProperties interface, which specifies three methods - that are needed: Init, Save, and Load. - - Adds the EntityConstructing event, which is called during the - constructor of Entity. It is needed there so that the reference is in - place during the ReadNBT call. - - Adds hooks into Entity that allow registration of - IExtendedEntityProperties classes, as well as saving and loading to NBT. - jesse: - Brewing Stand Changes - - Added an event on potion ingredient applied. Event contains the item - stacks of each of the potions being brewed as well as any remaining - ingredients. - - Changed TileEntityBrewingStand and SlotBrewingStandPotion to look for - instanceof ItemPotion rather than potion.itemID - jesse: - Player Flyable Fall Event - - Adds an event to EntityPlayer that is posted on player fall when the - player has flight capabilities. - Christian: Fix itemframe render bug - Christian: Add in block rotation support. It supports most vanilla blocks (hopefully), logs should be added soon. - jesse: - Access Transformer Changes - - AT changes and corresponding class changes. - Additions (all made public): - EntityLiving.targetTasks - PotionHelper.potionRequirements - PotionHelper.potionAmplifiers - PotionEffect.duration - Potion.setIconIndex - Item.setPotionEffect - Block.blockHardness - Block.blockResistance - jesse: - Enderman Teleport Event - - New event when an enderman teleports that allows the teleport location - to either be modified or completely cancelled. - jesse: - Enderman attackEntityFrom changed - - Changed so that if the teleport fails upon being attacked, Endermen will - take damage as normal. - jesse: - Ender Teleport Changes - - Renamed Ender Teleport Event and added it in to ender pearls. - jesse: - quick bugfix in entityenderman - - reversed boolean check on event result - Christian: - Updated FML: - MinecraftForge/FML@2d368c4c2eb6b4e0bb60757b6e1679c23aaad9db Itemstacks in the GameRegistry (manual registration by mods) - Christian: - Updated FML: - MinecraftForge/FML@5e1949eb0e3a43d3ec6c710289532d93f6819934 Clone the itemstack, and allow for passing in a stacksize - Christian: - Updated FML: - MinecraftForge/FML@ede93d438f2b5fab92cd6a459247ca158354e430 Validate supplied stack size - MinecraftForge/FML@d73ac867df775174dafdd2da193fabd7c3e7407e Add a mechanism to dump the registry- useful for mod developers. - Christian: - Updated FML: - MinecraftForge/FML@82bc9f1b35f5d51a722d294dd252e6bab4d54fa4 Add some information, and a log message letting you know it worked - Christian: Update patches! - Christian: Re-enable changelog? Hopefully... - Christian: Changelog fixup - Christian: Damn you python and your tab obsession! - -Build 1.5.1-7.7.0.605: - Christian: Fix AT config for texturemap - -Build 1.5.1-7.7.0.604: - Christian: - Allow itemstack sensitive damage computation for attacks. Should allow - storing data in the nbt :) - -Build 1.5.1-7.7.0.603: - Christian: - Updated FML: - MinecraftForge/FML@d9db27275ea06d37ae75e201140019ca152314b0 Fix mismatch screen a bit. Should render more correctly now and at least not be blank in a lot of circumstances.. - Christian: Allow items to decide if they can or cannot have book enchantments applied - -Build 1.5.1-7.7.0.602: - Christian: - Updated FML: - MinecraftForge/FML@d1ff1967b50f2ff2edf0b60acdb6508c0a3eeb06 Fixed FMLRelaunchLog's Newline Handling - MinecraftForge/FML@591a25722b36d2d1b200a31278cb8da117363f6b Merge pull request #208 from jrtc27/patch-1 - -Build 1.5.1-7.7.0.601: - Christian: - Updated FML: - MinecraftForge/FML@f709ce757984b13acb7208d6d8fbdeaa83d2928d Fix missing block world rendering - MinecraftForge/FML@748eece456e079a21112a77047d004d4f410b170 Merge pull request #206 from mDiyo/patch-1 - MinecraftForge/FML@012a755bb9ce9737c843b0dfd86473d143b637be Fix up patch properly. Also, fix md5s for the jars. - -Build 1.5.1-7.7.0.600: - LexManos: - Update to 1.5.1 Pre-Release: - MinecraftForge/FML@9565529baf77de27ed8b75be2065da3ba08d16c8 Updated to latest MCP and Minecraft 1.5.1 Pre-release. - MinecraftForge/FML@a573faf92def5dd01af380b3ca86de877c1178a2 Someone derped up this function bad, revert name. - LexManos: MinecraftForge/FML@aaf02ea2ac938d8cbaafdd2f59985c0604d648d7 Updated for new PR client jar. - -Build 1.5-7.7.0.598: - LexManos: - Updated FML: - MinecraftForge/FML@3c346247e1c5de12d4548f6a99349157057e2de6 Fix NPE with CoreMods who do not have the new MCVersion annotation. - LexManos: - Updated FML: - MinecraftForge/FML@625da6492dddcaca8133718aeee97f9981ced623 Fix install.py --mcp-dir option. Fixes #204. - MinecraftForge/FML@687d3c059d054c338c25a489be206a9f3dc63d81 Merge pull request #204 from agaricusb/fix-mcpdir - -Build 1.5.1-7.7.0.597-1.5.1: - LexManos: MinecraftForge/FML@aaf02ea2ac938d8cbaafdd2f59985c0604d648d7 Updated for new PR client jar. - -Build 1.5-7.7.0.595: - LexManos: Change placement of ChunkDataEvent.Save call to apply before sending to worker thread. - -Build 1.5-7.7.0.594: - Christian: - Updated FML: - MinecraftForge/FML@5cc90f060caace93c0bf041d3cc37208f425f623 Fix the logger to treat newlines better, hopefully. Closes #199 - MinecraftForge/FML@5e3af8ac0e18cfa3a92f9ba726ec1a6b55e87d97 Use the relaunch log, for class circularity safety. - MinecraftForge/FML@ce949e6099fe2a63ee6774acd6e55aa55d3b3673 Support simple mc version test in coremods, only effective through jar loading. Also, log some more data about the environment. - -Build 1.5-7.7.0.593: - LexManos: - New TextureStitchEvents called before and after a TextureMap gathers and stitches textures together. - Also added a config option to diable the writing of resulting stitched textures to disc. Default disables the writing. - -Build 1.5-7.7.0.592: - LexManos: - Updated FML: - MinecraftForge/FML@24022ab6ba79e4babb57fc0db893c23d4aec85bc Added comments to note FML-only methods - MinecraftForge/FML@8905237306230a33e2a3bab7a2b6f7a8b42d94e4 Merge pull request #200 from bspkrs/patch-2 - MinecraftForge/FML@577b19c1cf12a354112e829fb5704c32fd6cd0a5 Fix potential NPE in class loading and add extra debug information. - -Build 1.5-7.7.0.591: - LexManos: Fix placing of certian items on Redstone Blocks. - -Build 1.5-7.7.0.590: - LexManos: Fix equipment slots for items when right clicked, and dispensed using a dispensor. - -Build 1.5-7.7.0.589: - LexManos: Prevent pistons from generating snowballs. - LexManos: Fix logic inversion that allowed SnowMen to create snow on hoppers. - -Build 1.5-7.7.0.588: - lepko.san: Fix ShapedOreRecipe checking mirrored recipes - -Build 1.5-7.7.0.587: - Christian: Fix multipass item rendering so that it uses the right spritesheet for the item. - -Build 1.5-7.7.0.586: - froggytheturtle: - Made WorldServer.allPlayersSleeping public - - Made EntityPlayer.sleepTimer public - - Sleep changes - -Build 1.5-7.7.0.585: - LexManos: Fix Activator rails activating TNT carts, closes #458 - -Build 1.5-7.7.0.584: - github: Update ForgeDummyContainer.java - -Build 1.5-7.7.0.583: - Christian: - Updated FML: - MinecraftForge/FML@c5d5f4e5164111c5ae63e8de7ce97cc583d73e6e Fix AllPublic access transformer not affecting methods. Should fix modloader compatibility - -Build 1.5-7.7.0.582: - LexManos: - Updated FML: - MinecraftForge/FML@4762d4d8ef00bd789ffb6bccbd12f7478b07da62 Allocate more ram {typically 256 is defailt} to fermflower, should fix decomplication issues on OSX - MinecraftForge/FML@6370c242f0e1cb8ec80c7dccc1133cb0d0607bae OS X's python 2.6.1 has a bug in zipfile.extractall that makes it unzip directories as regular files. So switch to extract - -Build 1.5-7.7.0.581: - LexManos: Remove the block if TE errors. - -Build 1.5-7.7.0.580: - LexManos: Add config toggle to atempt to remove TileEntities and Entities that error during there update without fully crashing the server, use at your own risk. Closes #424 - -Build 1.5-7.7.0.579: - Christian: - Updated FML: - MinecraftForge/FML@8f2dbf7046f52d836993edb946d7d310b399bf9d Fix up stupid derp in IMC code: actually reset the IMC list after each delivery. Fixes a bunch of mods. Sorry everyone. - -Build 1.5-7.7.0.578: - ohai.iChun: - [Bugfix] One should not assume an item would use the item spritesheet. - - Item class has a func to return an int to use terrain.png or items.png. This makes forge take account of it. - -Build 1.5-7.7.0.577: - LexManos: Fix bug with rendering one too many passes for ItemEntities Closes #450 - LexManos: Fix RedstoneBlock power issues, Closes #452 - LexManos: Fix for nether quartz not generating in the nether, Closes #454 - -Build 1.5-7.7.0.576: - LexManos: Deprecation Sweep in DungeonHooks and fixed wildcard in ChestGenHooks remove function. - -Build 1.5-7.7.0.575: - LexManos: Fix RenderItem to work with items that use the terrain texture map that aren't in the block ID range. Close #443 - LexManos: Move the RenderWorldLastEvent back to before renderHand like it was in 1.4 Closes #444 - LexManos: Add call to EntityLiving when counting entities for Spawning Cap. Closes #447 - LexManos: Fix missed wildcard change in OreDictionary closes #448 - -Build 1.5-7.7.0.574: - LexManos: Fix crash when EnumHelper can't find $VALUES field, log info, and return gracefully. - -Build 1.5-7.7.0.573: - Christian: - Updated FML: - MinecraftForge/FML@23ea835fa7bc0cdb466d058814b5a0e0c67e8c9a Pass obfuscation status to coremods - -Build 1.5-7.7.0.572: - Christian: Some tweaks to the liquid dictionary, to allow for canonical liquid stacks for things like rendering - Christian: - Updated FML: - MinecraftForge/FML@d88db6c0cfd5484428b574889eae02d34535beae Fix up deep tree deobfuscation - -Build 1.5-7.7.0.571: - LexManos: Removed get/setTextureFile from Block, nolonger used. - LexManos: - Updated FML: - MinecraftForge/FML@7b722bfcd6d4c6867d15492c293a455dfd50d272 Update MCP for latest PR silent update. - MinecraftForge/FML@c6dab815f4e036e25b8f56bef7b8ee63f838adb4 Missed joined.exc, must fix scripts. - -Build 1.5-7.7.0.569: - LexManos: - Updated FML: - MinecraftForge/FML@a90504315e928915345c7b04972d912cdaa0bfdb Readjust size of mods button when Minecraft Realms button is enabled. - -Build 1.5-7.7.0.568: - Christian: Fix the oredictionary for the new recipe wildcard value of Short.MAX_VALUE. - -Build 1.5-7.7.0.567: - Christian: - Updated FML: - MinecraftForge/FML@3765ceb02d783ae5156976f3165bafdb6a3ddbb3 Update MCP, fixes the "broken texture packs" problem. - -Build 1.5-7.7.0.566: - Christian: - Updated FML: - MinecraftForge/FML@179c504746910d4196eef3ee2d56f63cf585c983 Simplify logic in tick start/end - MinecraftForge/FML@29edd242cd7a1fadedf4fb874ea8bbd4e643bffa Fix coremods without a manifest crashing the game. Closes #181 - MinecraftForge/FML@ac16845fc4661fa046a252eda7f9a9a847940189 Fix demo mode crash. Closes #187 - MinecraftForge/FML@984291cee91f585a6f4300eedfed882c814843f8 Fix supertype parsing to handle null superclass (Hi Object!). Closes #160 - MinecraftForge/FML@f6479299936f0f94cfc43210dd9dd44b8b5350ef Merge branch 'master' of github.com:Uristqwerty/FML - MinecraftForge/FML@b301e8e4c1877be246fd4f0b45085b70773d8f2b Change type of connection queue to a concurrent linked queue. Much more efficient, hopefully. Closes #189 - Christian: - Updated FML: - MinecraftForge/FML@dab22f5b74f3f2a410e20583f811605dc8e3c05f Fix "0 mods" display when installed in forge. - -Build 1.5-7.7.0.565: - Christian: - Updated FML: - MinecraftForge/FML@485db6be2e6b54a9a523a2b06e0d886792b0826a Use the reobfuscation maps in the reflection helper for field lookups: should help some reflection cases with the deobf. - Christian: - Updated FML: - MinecraftForge/FML@591e65fa1aa52d2a72dc527ad1c2ac53c8eb94c4 Revert "Use the reobfuscation maps in the reflection helper for field lookups: should help some reflection cases with the deobf." - MinecraftForge/FML@2a779ec3289f695b477ec6b0822a27801e2deba1 Try a different way of remapping the fields. Should work because it's userspace, not relauncher space - MinecraftForge/FML@ca2d8bd83475f37946b86cf6fabd8ff810f9c2bf Fix reflection helper: it needs to unmap the classname to find the field maps. - -Build 1.5-7.7.0.563: - Christian: - Updated FML: - MinecraftForge/FML@25f3fcad4654d19637878bdfb2b70a9586fb3fc9 Fix up some relauncher stuff: the vanilla applet works now, as do other applets. Deobf data is resolveable for them too. - -Build 1.5-7.7.0.562: - LexManos: - Updated FML: - MinecraftForge/FML@6bf7c9878cc959d5f5fa8ec0bf9d0d75037df882 Fixed srg name of minecraftDir for runtime deobf. - -Build 1.5-7.7.0.561: - Christian: Refresh patch - Christian: - Updated FML: - MinecraftForge/FML@95d0ff18cdca3b5a91b648c847c00f559f8ce6f2 Fix runtime deobfuscation for remapped inner classes - -Build 1.5-7.7.0.560: - LexManos: - Updated FML: - MinecraftForge/FML@86a9c7d35953296f7c8bd3a2b1b43115ef0f9308 Fixup reobfusication of server code if present. - MinecraftForge/FML@8e7956397dd80902f7ca69c466e833047dfa5010 Just enable server side compile, and warn not to complain tous. - MinecraftForge/FML@889efc1c0a9216b55f6de275e4f4a279d977e60c Fixes GameRegistry.registerBlock - MinecraftForge/FML@fe1623a36a1bb8b0a046d833e896fd46d88898ef Merge pull request #195 from RainWarrior/snapshot15 - MinecraftForge/FML@62f5adf8e21d59408af409a88b2c81757fd3c587 Revert "Fix modlist to use the new texture binding functions, i think" - MinecraftForge/FML@58ee06ea8edf508daa4ab3920790c0153cf6660d Some fixes for the snapshot - MinecraftForge/FML@368a2245ef0071b0b7a35d3bd78ab1ae379f8faf Merge branch 'snapshot15' - MinecraftForge/FML@1eba1dfdc00edf12ca3d8586dc342563218fc717 Fix accidental commands.patch overwrite - MinecraftForge/FML@ebdb166ec87e63503f0071e557cdb44629a0e0c2 Merge branch 'snapshot15' - MinecraftForge/FML@450dd8313c2e9e46d173bbd242f84d48266af7c8 Fix up some small things, merging into mainline - MinecraftForge/FML@1642bad402efe819f4e763bf4b460d8c04194849 Fix Multi-part entity children ID issue, mobs with custom spawning must deal with child ids themselves. - -Build 1.5-7.7.0.559: - LexManos: Update patche for jad-style names. - LexManos: Updated FML and at config for 1.5 snapshot - LexManos: First patches updae to 1.5, Many rendeirng related changes, most notibly removed Item/Block's getTextureFile() functions. - LexManos: Removed some dead code, We don't bind custom tessellators - CovertJaguar: MCL Update - LexManos: Bump major and minor version numbers to mark 1.5, it's gunna break everything. Should be a compileable 1.5 build. - Christian: - Fix a couple of forge patches - - Update FML: d075daf - d075daf Merge branch 'master' into snapshot15 Fix up compilation and patching errors - 1bd6847 Fix up packages.csv ordering for easier diffing - dd832f2 Update for MCP7.30c - fixes redstone rendering issues - aebf6eb Add in a registry method to allow for alternative TileEntity names- they will be used to support loading maps containing the older definiti - 8921cfe Remember to add the new patches! - cd67596 The "ServerStarting" event should now properly crash the server if it fails, so the client will properly exit. Also, added in a "pre-server - e1c6630 Javadoc cleanup - 5ce4e31 Fix breaking change - a99c488 Merge branch 'patch-1' of https://github.com/bspkrs/FML into gh-updates - 94282c5 Merge branch 'FMLLogFormatter' of https://github.com/donington/FML into gh-updates - 7ad8529 Update MCP to MCP7.26a and refresh MCP names - 15534ed Update address of the FML repository to the new location in all the files - aa822e3 Fix logical error in comment text - a14ab91 Update license text to make clear that FML is not a way to sidestep MCP licensing. - 0165742 Fix mcp conf md5 signatures for the snapshot - 26a5b31 FMLLogFormatter: dynamic log level name - LexManos: - Merge commit '695b080197bd577cc34fe6dbc72b74f4a74b2d5c' into snapshot15 - Testing cherry picking. - LexManos: - Sync up with FML, Will not run nativly as you need deobfusication_data.zip in your libs folder. - We have not setup the download for that yet, to make it yourself just zip joined.srg name it deobfusication_data.zip and put it in lib - LexManos: Not supposed to have debug stuff... - LexManos: Updated Forge to s13w09c - Christian: Fix up patches for FML, also, add in FML as a submodule rather than a zip - Christian: - Add in simple texture management for mods using the stitcher. Scope with "{domain}:{texture}" to - get textures that are not at /textures//{texture}.png but /mods/{domain}/textures//{texture}.png - instead - LexManos: Testing selective commit of submodule. - LexManos: - Added submodule changelog ganerator: - - Updated FML: - MinecraftForge/FML@e74087ee430633475c3ca058e54e3ef242a9d6aa Ignore again, testing submodule. - LexManos: Removed GNUWin32 files and uneeded files seince FML is now a submodule. - LexManos: Remove window helper batch files. - LexManos: Update python scripts to reflect that FML is now a submodule. Delete updateasmdata as it's in /fml/ now. Build should work once again. - LexManos: Change FML module to read-only connection. - Christian: Update submodule - LexManos: Copy over some needed files for debugging. - LexManos: Rework configuration, configs should now use Config.hasChanged to deterne if thehould call save(), also re-worked the saving to not use String.format as much. - LexManos: Fixed new python changes. - LexManos: - Updated FML: - MinecraftForge/FML@aed2cc446ad8d5882890c5f218eb894ea7bd2577 Force file name encoding to UTF-8, caused different zips on different systems. - LexManos: Fix animation location for textures with domains - LexManos: Add helper functions for deling with custom TextureStitched - LexManos: Add callback on TextureStitched to control texture loading. - LexManos: New world event for controlling potential entity spawnlists. For #430 - LexManos: Removed erroring imports and update build function to die on errors. - LexManos: Fix ItemSeedFood respecting custom soils. - LexManos: - Updated FML: - MinecraftForge/FML@debbdc00be8ea1a261cdff83785ddc7100419a74 Capture Minecraft logs into FML logging - MinecraftForge/FML@74fffc6fdc2eda8caa9a7feb0826d7babb84751a Update next render to 40 - Christian: - Call stitcher for non-existent textures as well. Probably allows - for generated textures. Hmmm - Christian: let's do it right this time. Hmmm - Christian: - Updated FML: - MinecraftForge/FML@abe4f73a9a3158f6f9d1ea2334798f54a25817bf FIX massive performance issue with FML. Thanks to @sfPlayer1 for finding this epic derp on my part! - Christian: Add an Icon to the LiquidStack, for rendering the liquid in various ways - LexManos: Readd second render pass to TileEntities and Entities, patches were missed when merging in master branch. As note, CB can DIAF. - LexManos: Fix compile error, forget to flush to disc. - LexManos: Make release quit on compile error. - Christian: Clean up Access Transformer mapping data - Christian: - Updated FML: - MinecraftForge/FML@e9ff699c2dcd787a3e0ebaa427c625a48de4c9fb Refresh the renderengine after modloading is complete. Should fix issues with out-of-place texture registration by mods. - MinecraftForge/FML@a723aa68606d57b0ee5bac8b1d1905abef440b54 Refresh copyright notices on everything - MinecraftForge/FML@c42a2101408b21799728c88e2d02c718c3b0dd36 Strip deprecated code - MinecraftForge/FML@6eeae8c49ff4359dc21c44eb73e4e043285cd8bf Fix up state transition derp when the server crashes with an error- it shouldn't double-derp - MinecraftForge/FML@81c6421f84c1bff359dfe927974e8730b348806a Tweak license text- any osi licensed project can use the asm transformer code - LexManos: - Updated to 1.5 Pre-release - Updated FML: - MinecraftForge/FML@2d98835db8c6a7665ef55117d60ab4318876836b Scala support! It's still primitive, I hope that people will like it. I do :) - MinecraftForge/FML@5bfaf7c1700191b6ed8f4752c9a95bf8c25323ef Global object registry, also, support the new itemblockwithmetadata constructor - MinecraftForge/FML@80a40c03e644840d827eb7d67ff97f6558eaa2e4 Update to MCP 1.5 and minecraft 1.5. - MinecraftForge/FML@b3e854a15d7c50b4967be8237df5fdace95a15ee Update for new MCP with srg reobf. - LexManos: Fix typos. - LexManos: Deprecated Forge's ISidedInventroy, there is a vanilla solution. Added temporary config option to legacy furnace slot orientation. - LexManos: - Updated FML: - MinecraftForge/FML@f1c6bdd57d41a938cb3326d509042f6842e42396 Support the MCP format of partial reobfuscation for portability. Ensure modloader-like compatibility - MinecraftForge/FML@0419b9d9751ade4497343aefaf2ca43703eb479a Update MCP info for latest - LexManos: Early define CrashReport classes to combat invalid crash details. - LexManos: Fix reobf call. - -Build 1.5-7.7.0.558-snapshot15: - Christian: Clean up Access Transformer mapping data - Christian: - Updated FML: - MinecraftForge/FML@e9ff699c2dcd787a3e0ebaa427c625a48de4c9fb Refresh the renderengine after modloading is complete. Should fix issues with out-of-place texture registration by mods. - MinecraftForge/FML@a723aa68606d57b0ee5bac8b1d1905abef440b54 Refresh copyright notices on everything - MinecraftForge/FML@c42a2101408b21799728c88e2d02c718c3b0dd36 Strip deprecated code - MinecraftForge/FML@6eeae8c49ff4359dc21c44eb73e4e043285cd8bf Fix up state transition derp when the server crashes with an error- it shouldn't double-derp - MinecraftForge/FML@81c6421f84c1bff359dfe927974e8730b348806a Tweak license text- any osi licensed project can use the asm transformer code - LexManos: - Updated to 1.5 Pre-release - Updated FML: - MinecraftForge/FML@2d98835db8c6a7665ef55117d60ab4318876836b Scala support! It's still primitive, I hope that people will like it. I do :) - MinecraftForge/FML@5bfaf7c1700191b6ed8f4752c9a95bf8c25323ef Global object registry, also, support the new itemblockwithmetadata constructor - MinecraftForge/FML@80a40c03e644840d827eb7d67ff97f6558eaa2e4 Update to MCP 1.5 and minecraft 1.5. - MinecraftForge/FML@b3e854a15d7c50b4967be8237df5fdace95a15ee Update for new MCP with srg reobf. - LexManos: Fix typos. - LexManos: Deprecated Forge's ISidedInventroy, there is a vanilla solution. Added temporary config option to legacy furnace slot orientation. - LexManos: - Updated FML: - MinecraftForge/FML@f1c6bdd57d41a938cb3326d509042f6842e42396 Support the MCP format of partial reobfuscation for portability. Ensure modloader-like compatibility - MinecraftForge/FML@0419b9d9751ade4497343aefaf2ca43703eb479a Update MCP info for latest - LexManos: Early define CrashReport classes to combat invalid crash details. - LexManos: Fix reobf call. - -Build 13w09c-7.7.0.556-snapshot15: - LexManos: Make release quit on compile error. - -Build 13w09c-7.7.0.555-snapshot15: - LexManos: Readd second render pass to TileEntities and Entities, patches were missed when merging in master branch. As note, CB can DIAF. - LexManos: Fix compile error, forget to flush to disc. - -Build 13w09c-7.7.0.553-snapshot15: - Christian: Add an Icon to the LiquidStack, for rendering the liquid in various ways - -Build 13w09c-7.7.0.552-snapshot15: - Christian: - Updated FML: - MinecraftForge/FML@abe4f73a9a3158f6f9d1ea2334798f54a25817bf FIX massive performance issue with FML. Thanks to @sfPlayer1 for finding this epic derp on my part! - -Build 13w09c-7.7.0.551-snapshot15: - Christian: let's do it right this time. Hmmm - -Build 13w09c-7.7.0.550-snapshot15: - Christian: - Call stitcher for non-existent textures as well. Probably allows - for generated textures. Hmmm - -Build 13w09c-7.7.0.549-snapshot15: - LexManos: Fix ItemSeedFood respecting custom soils. - LexManos: - Updated FML: - MinecraftForge/FML@debbdc00be8ea1a261cdff83785ddc7100419a74 Capture Minecraft logs into FML logging - MinecraftForge/FML@74fffc6fdc2eda8caa9a7feb0826d7babb84751a Update next render to 40 - -Build 13w09c-7.7.0.548-snapshot15: - LexManos: Removed erroring imports and update build function to die on errors. - -Build 13w09c-7.7.0.547-snapshot15: - LexManos: New world event for controlling potential entity spawnlists. For #430 - -Build 13w09c-7.7.0.546-snapshot15: - LexManos: Add callback on TextureStitched to control texture loading. - -Build 13w09c-7.7.0.545-snapshot15: - LexManos: Fix animation location for textures with domains - LexManos: Add helper functions for deling with custom TextureStitched - -Build 13w09c-7.7.0.544-snapshot15: - LexManos: Copy over some needed files for debugging. - LexManos: Rework configuration, configs should now use Config.hasChanged to deterne if thehould call save(), also re-worked the saving to not use String.format as much. - LexManos: Fixed new python changes. - LexManos: - Updated FML: - MinecraftForge/FML@aed2cc446ad8d5882890c5f218eb894ea7bd2577 Force file name encoding to UTF-8, caused different zips on different systems. - -Build 13w09c-7.7.0.543-snapshot15: - Christian: Update submodule - -Build 13w09c-7.7.0.542-snapshot15: - Christian: Fix up patches for FML, also, add in FML as a submodule rather than a zip - Christian: - Add in simple texture management for mods using the stitcher. Scope with "{domain}:{texture}" to - get textures that are not at /textures//{texture}.png but /mods/{domain}/textures//{texture}.png - instead - LexManos: Testing selective commit of submodule. - LexManos: - Added submodule changelog ganerator: - - Updated FML: - MinecraftForge/FML@e74087ee430633475c3ca058e54e3ef242a9d6aa Ignore again, testing submodule. - LexManos: Removed GNUWin32 files and uneeded files seince FML is now a submodule. - LexManos: Remove window helper batch files. - LexManos: Update python scripts to reflect that FML is now a submodule. Delete updateasmdata as it's in /fml/ now. Build should work once again. - LexManos: Change FML module to read-only connection. - -Build 13w09c-7.7.0.539-snapshot15: - LexManos: Updated Forge to s13w09c - -Build 13w05b-7.7.0.538-snapshot15: - LexManos: Not supposed to have debug stuff... - -Build 13w05b-7.7.0.537-snapshot15: - LexManos: - Sync up with FML, Will not run nativly as you need deobfusication_data.zip in your libs folder. - We have not setup the download for that yet, to make it yourself just zip joined.srg name it deobfusication_data.zip and put it in lib - -Build 13w02b-7.7.0.536-snapshot15: - mehvids: Gave entities and tile entities access to the second render pass for translucency. - Christian: Attempt to fix a possible NPE in the face of ChickenBones' hackery. ChickenBones. stop it! - Christian: - Fix a potential problem with "Entity already added" when using the dormant - chunk cache capability. The entities in the dormant chunk cache will get new - IDs prior to the cached chunk returning. - Christian: Fix NPE causing issue with the cache. Derpy derp. - Christian: - Add in TESR culling, and a new TileEntity method to allow for differential sizing of the - TESR view culling vs the TE collision bounding box (the former defaults to the latter) - Checked into a branch because it's likely to break expanded TileEntities. - Christian: Bump the revision number for the TESR and renderpass changes - Christian: - Add in a mechanism for explicit subclassing of WeightedRandomChestItem to allow for - generational style chest content generation rather than static. Cleans up some old code nicely - Christian: - We try and log a message if we detect a world leak: it's probably not infallible, but it should - help mod developers- if you see this when testing your mod with, say, mystcraft, you're probably - keeping a hold of an invalid handle to the World (either directly, or indirectly via Entity or TileEntity) - and you should look to refactor to wrap those handles in WeakReferences - LexManos: Moved warning logic down, so that no more tickets are isues if the mod is over it's alotment. Fixes #378 - LexManos: Forge Additions: Exposed ChunkCache.worldObj to public PR #383 - LexManos: Fixup a resource leak warning. - LexManos: Add DimensionManager.unregisterProviderType for PR #388 - LexManos: Added input getters for Ore recipies, and javadoc warning for modders, #390 - LexManos: Rework canSilkHarvest hook to try and honor vanilla overrides, should close #391 - LexManos: Added catch to TileEntityChestRenderer for potential crash when modders do bad things -.- Closes #389 - LexManos: Change access of upper and lower chest fields of InventoryLargeChest to public. Closes #387 - LexManos: Change WorldServer.allPlayersSleeping to public, and remove the SideOnly annotation on EntityPlayer.getSleepTimer() Closes #393 - LexManos: Fix initalization issue with the clamping threshold config value. And remove vanilla console spam related to it. - Christian: Fix small derp in TE - Christian: - Update FML:549b6fd - 549b6fd IMC tweaks: runtimeMessages now work (thanks for all that testing for this much requested feature!) and IMCEvent will no longer rem - 9fafdc1 More logging tweaks. You can probably configure individual mod log files if you wish now - f169f7c A log of logging cleanup. FML will now read logging.properties to configure logging channels a couple of times during startup. You - 3ac891f Try and handle "death on startup" a bit cleaner - 2dc0189 Deprecate the old GUI ticktype. They're dead and have been for some time. - dd98784 Tweak a method signature - 1c9a510 Add parameters to FML install to enable/disable certian aspects. Applying patches, running transformer/merger, and decompiling serv - 1bd6847 Fix up packages.csv ordering for easier diffing - Christian: - Add in "armor ticking"- implement the interface and the armor piece will tick. - - Update FML:22dbe41 - 22dbe41 Fix up mistake that broke all modloading. Nice. - Christian: Fix TESR rendering for double chests - Christian: Fix possible null case for collision bounding box. - Christian: Remove the single use interface ITickingArmor, and apply to Item directly. - Christian: - Fix ServerBrand retriever- forge is now forge,fml! - - Update FML: cd96718 - cd96718 Fix HD mob skins, FINALLY!!! Stupid eyes are stupid. - LexManos: Kill generated timestamp in config files, if you want to retreive this information, usethe file's modified time. Closes #404 - LexManos: Actually use the line parameter in ServerChatEvent, closes #401 - LexManos: Kill .sh wrappers until someone writes more robust versions, closes #392 and closes #402 - LexManos: Made LiquidStack.isLiquidEqual(ItemStack) properly check the contained liquid, in addition to obvious id/meta closes #399 and closes #403 - LexManos: Add item frame transformations to the EntityItem render helper Closes #407 - LexManos: Added a hook into SlotArmor so Items can control if they are classified as a Armor type. Closes #408 - LexManos: Fixes comparison for items in creative inventory, closes #411 - LexManos: Fix fortune modifier always passed as 0 to idDropped closes #412 - LexManos: Fix EventTransformer throwing an NPE when transforming a class that doesn't exist. Closes #413 - LexManos: Fix profiler issue with RenderGlobal patch. Closes #414 - LexManos: Jenkins needs this script, *pokes Overmind* -.- - LexManos: - Update FML to 556: - b6d6f235 Fix sprite map issue. - 1158aa46 Fix Language Registry, closes #FML 163 - 50ce6fb3 Option to disable renaming for srgnames. - LexManos: Disable automatic equiti of pcke dup items for players, and fixed index issues in Player.setCurrentItemOrArmor. - LexManos: Fixed entity colision above max world height, and below 0. Closes #400 - LexManos: Change usage of ketSet/get to entrySet in OreDictionary, closes #422 - LexManos: Fix movement speed check, closes #420 - LexManos: clarify what the size is measured in for the dormant chunk cache. -.- - LexManos: ItemStack sensitive versions of Item.getPotionEffect and Item.isPotionIngredient Closes #321 - LexManos: WorldGen*Trees shoud not respect custom soils. Closes #355 - LexManos: Added unload event for client worlds Closes #405 - LexManos: Store the glMultiTexCoord lightmap for later use with glDrawArrays closes #406 - LexManos: Add water and lava to liquid dictionary by default, closes #419 - LexManos: Bump version to 6.6.2, declaring Forge for MC 1.4.7 feature complete, as 1.5 is on the horizon, only bug fixes from this point on. Unless something major happens on Mojang's end. - LexManos: Fix TESR culling for beacons, and implement a good enough measure for Chests. - -Build 13w02b-7.7.0.535-snapshot15: - LexManos: - Merge commit '695b080197bd577cc34fe6dbc72b74f4a74b2d5c' into snapshot15 - Testing cherry picking. - -Build 1.4.7-6.6.2.534: - LexManos: Fix TESR culling for beacons, and implement a good enough measure for Chests. - -Build 1.4.7-6.6.2.533: - LexManos: Bump version to 6.6.2, declaring Forge for MC 1.4.7 feature complete, as 1.5 is on the horizon, only bug fixes from this point on. Unless something major happens on Mojang's end. - -Build 1.4.7-6.6.1.532: - LexManos: Added unload event for client worlds Closes #405 - LexManos: Store the glMultiTexCoord lightmap for later use with glDrawArrays closes #406 - LexManos: Add water and lava to liquid dictionary by default, closes #419 - -Build 1.4.7-6.6.1.531: - LexManos: WorldGen*Trees shoud not respect custom soils. Closes #355 - -Build 1.4.7-6.6.1.530: - LexManos: Fix movement speed check, closes #420 - LexManos: clarify what the size is measured in for the dormant chunk cache. -.- - LexManos: ItemStack sensitive versions of Item.getPotionEffect and Item.isPotionIngredient Closes #321 - -Build 1.4.7-6.6.1.529: - LexManos: Disable automatic equiti of pcke dup items for players, and fixed index issues in Player.setCurrentItemOrArmor. - LexManos: Fixed entity colision above max world height, and below 0. Closes #400 - LexManos: Change usage of ketSet/get to entrySet in OreDictionary, closes #422 - -Build 1.4.7-6.6.1.528: - LexManos: - Update FML to 556: - b6d6f235 Fix sprite map issue. - 1158aa46 Fix Language Registry, closes #FML 163 - 50ce6fb3 Option to disable renaming for srgnames. - -Build 1.4.7-6.6.1.527: - LexManos: Kill generated timestamp in config files, if you want to retreive this information, usethe file's modified time. Closes #404 - LexManos: Actually use the line parameter in ServerChatEvent, closes #401 - LexManos: Kill .sh wrappers until someone writes more robust versions, closes #392 and closes #402 - LexManos: Made LiquidStack.isLiquidEqual(ItemStack) properly check the contained liquid, in addition to obvious id/meta closes #399 and closes #403 - LexManos: Add item frame transformations to the EntityItem render helper Closes #407 - LexManos: Added a hook into SlotArmor so Items can control if they are classified as a Armor type. Closes #408 - LexManos: Fixes comparison for items in creative inventory, closes #411 - LexManos: Fix fortune modifier always passed as 0 to idDropped closes #412 - LexManos: Fix EventTransformer throwing an NPE when transforming a class that doesn't exist. Closes #413 - LexManos: Fix profiler issue with RenderGlobal patch. Closes #414 - LexManos: Jenkins needs this script, *pokes Overmind* -.- - -Build 1.4.7-6.6.1.524: - Christian: - Fix ServerBrand retriever- forge is now forge,fml! - - Update FML: cd96718 - cd96718 Fix HD mob skins, FINALLY!!! Stupid eyes are stupid. - -Build 1.4.7-6.6.1.523: - Christian: Remove the single use interface ITickingArmor, and apply to Item directly. - -Build 1.4.7-6.6.1.522: - Christian: Fix possible null case for collision bounding box. - -Build 1.4.7-6.6.1.521: - mehvids: Gave entities and tile entities access to the second render pass for translucency. - Christian: - Add in TESR culling, and a new TileEntity method to allow for differential sizing of the - TESR view culling vs the TE collision bounding box (the former defaults to the latter) - Checked into a branch because it's likely to break expanded TileEntities. - Christian: Bump the revision number for the TESR and renderpass changes - Christian: Fix small derp in TE - Christian: - Update FML:549b6fd - 549b6fd IMC tweaks: runtimeMessages now work (thanks for all that testing for this much requested feature!) and IMCEvent will no longer rem - 9fafdc1 More logging tweaks. You can probably configure individual mod log files if you wish now - f169f7c A log of logging cleanup. FML will now read logging.properties to configure logging channels a couple of times during startup. You - 3ac891f Try and handle "death on startup" a bit cleaner - 2dc0189 Deprecate the old GUI ticktype. They're dead and have been for some time. - dd98784 Tweak a method signature - 1c9a510 Add parameters to FML install to enable/disable certian aspects. Applying patches, running transformer/merger, and decompiling serv - 1bd6847 Fix up packages.csv ordering for easier diffing - Christian: - Add in "armor ticking"- implement the interface and the armor piece will tick. - - Update FML:22dbe41 - 22dbe41 Fix up mistake that broke all modloading. Nice. - Christian: Fix TESR rendering for double chests - -Build 1.4.7-6.6.1.520-TESRculling: - Christian: Fix small derp in TE - -Build 1.4.7-6.6.1.519-TESRculling: - Christian: - Add in a mechanism for explicit subclassing of WeightedRandomChestItem to allow for - generational style chest content generation rather than static. Cleans up some old code nicely - Christian: - We try and log a message if we detect a world leak: it's probably not infallible, but it should - help mod developers- if you see this when testing your mod with, say, mystcraft, you're probably - keeping a hold of an invalid handle to the World (either directly, or indirectly via Entity or TileEntity) - and you should look to refactor to wrap those handles in WeakReferences - LexManos: Moved warning logic down, so that no more tickets are isues if the mod is over it's alotment. Fixes #378 - LexManos: Forge Additions: Exposed ChunkCache.worldObj to public PR #383 - LexManos: Fixup a resource leak warning. - LexManos: Add DimensionManager.unregisterProviderType for PR #388 - LexManos: Added input getters for Ore recipies, and javadoc warning for modders, #390 - LexManos: Rework canSilkHarvest hook to try and honor vanilla overrides, should close #391 - LexManos: Added catch to TileEntityChestRenderer for potential crash when modders do bad things -.- Closes #389 - LexManos: Change access of upper and lower chest fields of InventoryLargeChest to public. Closes #387 - LexManos: Change WorldServer.allPlayersSleeping to public, and remove the SideOnly annotation on EntityPlayer.getSleepTimer() Closes #393 - LexManos: Fix initalization issue with the clamping threshold config value. And remove vanilla console spam related to it. - -Build 1.4.7-6.6.0.518: - LexManos: Fix initalization issue with the clamping threshold config value. And remove vanilla console spam related to it. - -Build 1.4.7-6.6.0.517: - LexManos: Moved warning logic down, so that no more tickets are isues if the mod is over it's alotment. Fixes #378 - LexManos: Forge Additions: Exposed ChunkCache.worldObj to public PR #383 - LexManos: Fixup a resource leak warning. - LexManos: Add DimensionManager.unregisterProviderType for PR #388 - LexManos: Added input getters for Ore recipies, and javadoc warning for modders, #390 - LexManos: Rework canSilkHarvest hook to try and honor vanilla overrides, should close #391 - LexManos: Added catch to TileEntityChestRenderer for potential crash when modders do bad things -.- Closes #389 - LexManos: Change access of upper and lower chest fields of InventoryLargeChest to public. Closes #387 - LexManos: Change WorldServer.allPlayersSleeping to public, and remove the SideOnly annotation on EntityPlayer.getSleepTimer() Closes #393 - -Build 1.4.7-6.6.0.516: - Christian: - We try and log a message if we detect a world leak: it's probably not infallible, but it should - help mod developers- if you see this when testing your mod with, say, mystcraft, you're probably - keeping a hold of an invalid handle to the World (either directly, or indirectly via Entity or TileEntity) - and you should look to refactor to wrap those handles in WeakReferences - -Build 1.4.7-6.6.0.515: - Christian: - Add in a mechanism for explicit subclassing of WeightedRandomChestItem to allow for - generational style chest content generation rather than static. Cleans up some old code nicely - -Build 1.4.7-6.6.1.514-TESRculling: - Christian: Bump the revision number for the TESR and renderpass changes - -Build 1.4.7-6.6.0.513-TESRculling: - mehvids: Gave entities and tile entities access to the second render pass for translucency. - -Build 1.4.7-6.6.0.511: - Christian: Fix NPE causing issue with the cache. Derpy derp. - -Build 1.4.7-6.6.0.510: - Christian: - Fix a potential problem with "Entity already added" when using the dormant - chunk cache capability. The entities in the dormant chunk cache will get new - IDs prior to the cached chunk returning. - -Build 1.4.7-6.6.0.509: - Christian: Attempt to fix a possible NPE in the face of ChickenBones' hackery. ChickenBones. stop it! - -Build 13w02b-7.7.0.508-snapshot15: - scott: Add ability to WorldTypes to display the 'Customize' button and react to it - LexManos: - Update FML: - New scripts for signing jars, and repackging source folders. - Fix LanguageRegistry loading files in UTF-8 format. loadLocalization should work for non-xml in all languages now (assumes UTF-8) - Fix incorrect end length calculation. Closes #161 Thanks BStramke! - LexManos: Fix check in getItem() to allow lowest item ID #361 - CovertJaguar: - Fixed render passes for EntityItems - - Should be < instead of <= - Christian: - Update licencing information to make clear that forge is allowed to redistribute and automatically - download parts of MCP, but this permission is not transitive to people distributing MinecraftForge - source independently of the MinecraftForge project. - - Update MCP to 7.26a and FML: 7ad8529 - 7ad8529 Update MCP to MCP7.26a and refresh MCP names - 15534ed Update address of the FML repository to the new location in all the files - a14ab91 Update license text to make clear that FML is not a way to sidestep MCP licensing. - Christian: - Update FML: a99c488 - a99c488 Merge branch 'patch-1' of https://github.com/bspkrs/FML into gh-updates - 94282c5 Merge branch 'FMLLogFormatter' of https://github.com/donington/FML into gh-updates - aa822e3 Fix logical error in comment text - 26a5b31 FMLLogFormatter: dynamic log level name - Christian: Merge part of PR #375 related to ChunkEvent.Load for the client side - Christian: - Update FML: 5ce4e31 - 5ce4e31 Fix breaking change - Christian: - Add in patch to change how playerinstance sends TE chunk updates. It should always send just the TEs - that changed now, and not "ALL" TEs. Also, added configuration value to change the 64 threshold to a - configurable number - Christian: Some javadoc fixes - Christian: - Change DimensionManager.getCurrentSaveRootDirectory() to try and work even for the new server about to start event - - Update FML:8921cfe - 8921cfe Remember to add the new patches! - cd67596 The "ServerStarting" event should now properly crash the server if it fails, so the client will properly exit. A - Christian: - Update FML:aebf6eb - aebf6eb Add in a registry method to allow for alternative TileEntity names- they will be used to support loading maps containing the older definiti - Christian: - Fix a couple of forge patches - - Update FML: d075daf - d075daf Merge branch 'master' into snapshot15 Fix up compilation and patching errors - 1bd6847 Fix up packages.csv ordering for easier diffing - dd832f2 Update for MCP7.30c - fixes redstone rendering issues - aebf6eb Add in a registry method to allow for alternative TileEntity names- they will be used to support loading maps containing the older definiti - 8921cfe Remember to add the new patches! - cd67596 The "ServerStarting" event should now properly crash the server if it fails, so the client will properly exit. Also, added in a "pre-server - e1c6630 Javadoc cleanup - 5ce4e31 Fix breaking change - a99c488 Merge branch 'patch-1' of https://github.com/bspkrs/FML into gh-updates - 94282c5 Merge branch 'FMLLogFormatter' of https://github.com/donington/FML into gh-updates - 7ad8529 Update MCP to MCP7.26a and refresh MCP names - 15534ed Update address of the FML repository to the new location in all the files - aa822e3 Fix logical error in comment text - a14ab91 Update license text to make clear that FML is not a way to sidestep MCP licensing. - 0165742 Fix mcp conf md5 signatures for the snapshot - 26a5b31 FMLLogFormatter: dynamic log level name - -Build 1.4.7-6.6.0.507: - Christian: - Update FML:aebf6eb - aebf6eb Add in a registry method to allow for alternative TileEntity names- they will be used to support loading maps containing the older definiti - -Build 1.4.7-6.6.0.506: - Christian: - Change DimensionManager.getCurrentSaveRootDirectory() to try and work even for the new server about to start event - - Update FML:8921cfe - 8921cfe Remember to add the new patches! - cd67596 The "ServerStarting" event should now properly crash the server if it fails, so the client will properly exit. A - -Build 1.4.7-6.6.0.505: - Christian: Some javadoc fixes - -Build 1.4.7-6.6.0.504: - Christian: - Update FML: 5ce4e31 - 5ce4e31 Fix breaking change - Christian: - Add in patch to change how playerinstance sends TE chunk updates. It should always send just the TEs - that changed now, and not "ALL" TEs. Also, added configuration value to change the 64 threshold to a - configurable number - -Build 1.4.7-6.6.0.503: - scott: Add ability to WorldTypes to display the 'Customize' button and react to it - CovertJaguar: - Fixed render passes for EntityItems - - Should be < instead of <= - Christian: Merge part of PR #375 related to ChunkEvent.Load for the client side - -Build 1.4.7-6.6.0.502: - Christian: - Update FML: a99c488 - a99c488 Merge branch 'patch-1' of https://github.com/bspkrs/FML into gh-updates - 94282c5 Merge branch 'FMLLogFormatter' of https://github.com/donington/FML into gh-updates - aa822e3 Fix logical error in comment text - 26a5b31 FMLLogFormatter: dynamic log level name - -Build 1.4.7-6.6.0.501: - Christian: - Update licencing information to make clear that forge is allowed to redistribute and automatically - download parts of MCP, but this permission is not transitive to people distributing MinecraftForge - source independently of the MinecraftForge project. - - Update MCP to 7.26a and FML: 7ad8529 - 7ad8529 Update MCP to MCP7.26a and refresh MCP names - 15534ed Update address of the FML repository to the new location in all the files - a14ab91 Update license text to make clear that FML is not a way to sidestep MCP licensing. - -Build 13w02b-7.7.0.500-snapshot15: - LexManos: Bump major and minor version numbers to mark 1.5, it's gunna break everything. Should be a compileable 1.5 build. - -Build 1.4.7-6.6.0.499: - LexManos: - Update FML: - New scripts for signing jars, and repackging source folders. - Fix LanguageRegistry loading files in UTF-8 format. loadLocalization should work for non-xml in all languages now (assumes UTF-8) - Fix incorrect end length calculation. Closes #161 Thanks BStramke! - LexManos: Fix check in getItem() to allow lowest item ID #361 - -Build 1.4.7-6.6.0.497: - LexManos: Added getter for Metadata smelting list, because, why not.. PR: #352 - LexManos: Fixed incorrect lighting in some cases. Closes issue #349 - LexManos: - Added event hooks to control to allow mod control of mob spawning. PR: #337 - Deprecated LivingSpecialSpawnEvent in favor of new LivingSpawnEvent.SpecialSpawn - -Build 1.4.7-6.6.0.496: - LexManos: Fix issue where dungeon loot table had wrong values. - LexManos: Fixed issue where ChunkPriderEvent.InitNoiseField used the wrong sizeY value. - LexManos: Some small code cleanups. - -Build 1.4.7-6.6.0.495: - Christian: - Update FML:6f1b762 - 6f1b762 Move server stopped *after* the server has actually stopped. *sigh* - -Build 1.4.7-6.6.0.494: - Christian: - Update FML:d9bfb29 - d9bfb29 Add in a "server stopped" event - -Build 1.4.7-6.6.0.493: - Christian: - Attempt to resolve the entity concurrency issue, by simply deferring unload - to the next tick - -Build 1.4.7-6.6.0.492: - Christian: Fix noisy exception logging - Christian: - Update FML:6fc7bc4 - 6fc7bc4 Add in some classloader debugging information: use fml.debugClassLoading=true as a system property to track down prob - -Build 1.4.7-6.6.0.491: - Christian: - Fix a missed patch and cleaned up other patches - Rollback a method name change that breaks a lot of mods - Update FML: fb701cd - fb701cd Revert MCP name change for canConnectRedstone - it conflicts with a forge method of the same name and breaks 1 - -Build 1.4.7-6.6.0.490: - Christian: - Update for MC 1.4.7 - Update FML: f7cc50b - -Build 1.4.6-6.5.0.489: - LexManos: Attempt a fix for the new chunk compression changes. - -Build 1.4.6-6.5.0.488: - Christian: - Update FML:1a232cf - 1a232cf Fix multiple GUI containers for ML containers. Sorry ultimatechest that this fix took so long, a bug report at - 853f54b Log if there's a problem reading the class bytes - -Build 1.4.6-6.5.0.487: - LexManos: Fix mobs spawning on inverted slabs/stairs. - -Build 1.4.6-6.5.0.486: - LexManos: Use nanoTime instead of currentTimeMillis for potential performance increase. - LexManos: Fixed order <.< you saw nothing. - -Build 1.4.6-6.5.0.484: - LexManos: Fixed issue with Efficancy enchatment when connected to vanilla servers. - LexManos: Fixed EntityMinecard missed patch, Issue #338 - LexManos: Fixed typo in dungeon loot - -Build 1.4.6-6.5.0.483: - Uristqwerty: - Force parent ListenerListInsts to rebuild. - - Without this change, it is possible (and, in fact, nearly guaranteed) for lists to rebuild endlessly if a parent list is marked as needing a rebuild but never actually read. This change forces the parent list(s) to rebuild as well, resulting in a significant performance increase and smoother framerate due to greatly reduced GC activity. - Christian: Protect deflation with a simple semaphore. Should close #336 - -Build 1.4.6-6.5.0.482: - LexManos: Update FML: Fix NPE in fingerprint loading, and pass expectged fingerprint to FMLFingerprintViolationEvent - -Build 1.4.6-6.5.0.481: - Christian: - Update FML: 7e6456d - 7e6456d Fix a message delivery issue in IMC - 664ebda Some tweaks for signing and ID matching - -Build 1.4.6-6.5.0.480: - LexManos: - Fixes a vanilla bug where the player view would dip when stepping between certain blocks - https://mojang.atlassian.net/browse/MC-1594 - Issue #318, let me know if you notice any issue. - -Build 1.4.6-6.5.0.479: - LexManos: Fixed parameter ordering u.u - -Build 1.4.6-6.5.0.478: - LexManos: - Re-write/Deprecated DungeonHooks loot tables, now uses ChestGenHooks like the rest of the world gen. Also fixes issue #330 by adding in enchanted books. - - Should be API compatible. - -Build 1.4.6-6.5.0.477: - LexManos: - Move chunk compression to the network thread in Packet 51 and 56 - - This will reduce the server load considerably by doing the chunk data compression in writePacketData, which will be run from the network thread. - - The chunk compression can easily use 1/4th of the overall server thread CPU time if someone is exploring much, especially when moving quickly (e.g. with quantum leggings). - - Player, this is how it's properly done. - -Build 1.4.6-6.5.0.476: - LexManos: Fix missed patch in EntityMinecart, #334 - LexManos: Explicitly check if useItem is not denied, allows for denying the item without denying the block - -Build 1.4.6-6.5.0.475: - LexManos: Delete unneeded patch. - -Build 1.4.6-6.5.0.474: - Christian: Some access transformations to allow mystcraft to work again. Closes #331 - -Build 1.4.6-6.5.0.473: - Christian: Fix Fireworks to always work in SMP - -Build 1.4.6-6.5.0.472: - Christian: - Fix up enchantment at the enchanting table vs via a book. Adds in a method - that previously exists under a new name: canApplyAtEnchantingTable() - to determine enchantments that can apply at the enchanting table (a smaller - subset of all possible enchantments for an item, now). Also, add your - enchantments to the anvil book application list, if neccessary. - -Build 1.4.6-6.5.0.471: - Christian: Tweak packet56 to see if this resolves the apparent worldgen derpiness - -Build 1.4.6-6.5.0.470: - Christian: - Server side only item callback: allow a held item to decide if it wants to pass sneak-clicks through - to a block, or not. Defaults false- the same as the new vanilla behaviour (sneak clicks with an item - in hand don't activateBlock anymore). - -Build 1.4.6-6.5.0.469: - Christian: Move another patch up a bit - should actually close #329 - -Build 1.4.6-6.5.0.468: - Christian: Add IPlantable to itemseedfood. Potato and carrot support! - -Build 1.4.6-6.5.0.467: - LexManos: - Update FML: - Fixed issue with users who don't have the JDK installed in there path - MCP will now output bfusicated files with windows reserved names to _name.class and FML will prioritize those names. - Fixed placement of onConnectionClosed callback - LexManos: Updated NetClientHandler for onConnectionClosed placement fix. - LexManos: Fixed cpw's derp in the PlayerInteractEvent logic. - -Build 1.4.6-6.5.0.466: - Christian: Fix ItemInWorldManager so that itemUseFirst works, and the playerinteractevent works. Minor patching mis hit. Apologies. - -Build 1.4.6-6.5.0.465: - Christian: OK. AT the right thing, and add in a call to always get the right thing. Clean up patch fuzz too. - -Build 1.4.6-6.5.0.464: - Christian: Access Transform a couple of methods - -Build 1.4.6-6.5.0.463: - LexManos: Fixe BiomeDecorator AT entry. - -Build 1.4.6-6.5.0.462: - Christian: Drop the item in onBlockHarvested, not breakBlock - -Build 1.4.6-6.5.0.461: - Christian: Fix up block drops for skulls and cocoa - -Build 1.4.6-6.5.0.460: - Christian: And fix up the other equals - -Build 1.4.6-6.5.0.459: - Christian: Fix comparing ItemStack tags for equality - -Build 1.4.6-6.5.0.458: - Christian: - Update FML: 40e57a2 - 40e57a2 Update MCP to newer version Fix fingerprint fire - -Build 1.4.6-6.5.0.457: - Christian: - Fix accidentally removed not-deprecated methods. - - Update FML: d604e44 - d604e44 InterModComms now supports a runtime polling based model for inter-mod comms at runtime. Deprecate method that shouldn't be used. COPY it's content to your mod. Don't CALL it. - 8b7778c Don't be as alarming about item overwrites. - -Build 1.4.6-6.5.0.456: - Christian: Fix binding the texture for multiple render passes. Thanks mdiyo! Closes #320 - -Build 1.4.6-6.5.0.455: - Christian: Allow RenderItem to be easily overridden for things that need to render entityitems. IronChest, BuildCraft, RP2, whatever... - -Build 1.4.6-6.5.0.454: - LexManos: Fixed items dieing improperly due to new EntityItem sync changes, also made items render offset when rendered in 3d. - -Build 1.4.6-6.5.0.453: - Christian: Fix RenderItem so that forge textures load for it - -Build 1.4.6-6.5.0.452: - LexManos: Removed all functions marked as deperacted for the new MC version - LexManos: - Updated FML: - Fixes startclient/startserver - - Added configuration file which allows modids to ignore ID validation checking. IT WILL CRASH YOUR GAME in 99.999% of cases. - - Immibis is a whingy ass. And TinyTimRob too. Now STFU and GTFO. closes fml/#510 for ever. - -Build 1.4.6-6.5.0.451: - LexManos: Inital update to 1.4.6, Version bumped to 6.5 - LexManos: Added jar signing to forge, we sign cpw/* and net/minecraftforge/* - LexManos: Try and print error while signing jar - -Build 1.4.5-6.4.2.448: - Christian: - Update FML: e98c311 - e98c311 Fix up handling null names. *sigh* - -Build 1.4.5-6.4.2.447: - Christian: - Update FML: 293edb3 - 293edb3 Some tweaks to item identification. The GameRegistry methods are deprecated to encourage you to use the new named ones instead. These will force a name on the item/block, allowing for stronger matching t - 9266ff3 Updated MCP download mirriors upon Searge's request. - 31695d5 Fix var name messup - bfb3020 Update released eclipse project to link BouncyCastle - 22a88ea Change ID management slightly. IDs are tracked by block type for itemblock items now. This means servers will need to update. Also, ordinal rearrangements within a mod will no longer trigger server disco - -Build 1.4.5-6.4.2.446: - LexManos: Make PlaySoundAtEntityEvent fire for players as well - LexManos: Remove erronious double call to PlayerDestroyItemEvent - -Build 1.4.5-6.4.2.445: - LexManos: Update FML to fix a typo - -Build 1.4.5-6.4.2.444: - LexManos: Automatically resolved imports. - LexManos: Fixup workspace for BC replacement - LexManos: Manual import fixes - LexManos: - Update FML: - Minecraft is now decompiled into sane package names. - Got rid of the src/common folder as the only folder that exists is src/mincraft, because the client and server codebase is merged. - ID Map generation/validation fixes - LexManos: Updated python scripts for removal of common folder - LexManos: Update patches for repackage. - LexManos: Update AT for repackage - LexManos: Update FML: Fixed the eclipse workspace to reference BouncyCastle library. - -Build 1.4.5-6.4.2.443: - LexManos: Bump version to 6.4.2 to mark the merge of TerrainGen branch. - -Build 1.4.5-6.4.1.442: - Christian: - Added terrain gen events - Added biome color events for @XCompWiz - Christian: Removed unchanged file - Christian: Readded unchanged version - Christian: For @XCompWiz, added a hook to allow mods to dynamically change the color that water is rendered. - Christian: Fix RenderBlocks patch, touch branch - -Build 1.4.5-6.4.1.441: - LexManos: - Update FML: - 2f34290e: Fix possible escape leakage.. - 83deece6: Change ID management slightly. IDs are tracked by block type for ItemBlock items now. This means servers will need to update. - - Also, ordinal rearrangements within a mod will no longer trigger server disconnection, though a warning will still be logged. - LexManos: Derp, imported the repackaged names not old names. - -Build 1.4.5-6.4.1.439: - LexManos: Update readme to reflect the fact that we now download MCP. - -Build 1.4.5-6.4.1.438: - LexManos: Fix ForgeDirection.ROTATION_MATRIX for issue #313 - LexManos: Made GuiContainer.drawSlotInventory overrideable for issue #312 - LexManos: Made BlockButton.func_82535_o overrideable for issue #311 - LexManos: Moved check if map cursor should 'spin' and which world a player respawns in to WorldProvider for PR #308 - LexManos: Add .DS_Store to the gitignore for mac users - LexManos: Add CloudRenderer for PR #304 - LexManos: New TileEntity function to determine if the TE should be destroied when Block/Meta changes, For Issue #300 - LexManos: Pistons now respect world height a little better, for PR #286, will review Rotation event later. - LexManos: Creative GUI will now remember what tab page you were on, thanks Matchlighter PR #290 - LexManos: Fix type in ForgeChunkManager.ticketCountAvaILableFor, thanks iChun PR: #285 - LexManos: Fixes crash when mods add TreeMaps to the Configuration map, thanks AtomicStryker, PR: #282 - LexManos: Fix shouldRiderSit() to properly determine if rider is sitting. - LexManos: Expose BiomeDecorator fields for custom Biome information, Issue: #239 - LexManos: Make BlockButton.sensible protected and non-final - -Build 1.4.5-6.4.1.437: - LexManos: Fix for FML Fixes eclipse workspace, now sets execution bits on astyle-osx, and mcp .sh files. Also now kills install if astyle is not found. - -Build 1.4.5-6.4.1.436: - LexManos: Fixed release -skipchangelog - LexManos: Fixed install --mcp-dir - LexManos: - Updated FML to 486: - 02b54ca8: Add a modid on the mods list, should make it easier to do things like forge chunkloading config - 70670f2f: Fix build eclipse extractor task - b9fa3fc9: Add in storage, detection and validation of the ItemID array between client and server - 5e5d8206: Fixing id map generation - should validate correctly now - f9fc06a8: Remade python dist as 32-bit. - 93d47a1c: Reenabled replacement of the eclipse folder. - -Build 1.4.5-6.4.1.435: - LexManos: And finally, fix up the release install script to have a parameter to specity the MCP directory. - -Build 1.4.5-6.4.1.434: - LexManos: Fix Forge install script to use python shipped with FML. - -Build 1.4.5-6.4.1.433: - LexManos: Push didn't get all of eclipse.... - -Build 1.4.5-6.4.1.432: - LexManos: - Cleaned up eclipse workspace and moved it to a zip file. - Setup will extract it if it doesn't already exist. - -Build 430: - Christian: Fix release script for new forge job name. Add in skip changelog option for local builds - -Build 1.4.5-6.4.1.426: - LexManos: Remove MCP from released src distro.. whops. - -Build 1.4.5-6.4.1.425: - Christian: - Fix static method, closes #271 - Don't spam the log if a mod requests a ticket beyond their maximum. A single message is fine. - -Build 1.4.5-6.4.1.424: - GuntherDW: Fix typo in chunkmanager config - Christian: fix List configs - Christian: Add Chunk Watch and UnWatch events. - -Build 1.4.5-6.4.1.414: - Christian: - Tweak release.py script: HEAD==master in general - - Update FML: 26a2ef5 - 26a2ef5 Add a modid on the mods list, should make it easier to do things like fo - b4e3490 Fix build eclipse extractor task - 828341f Fix typo - 7a8dae5 Try and make branch non-derpy - d3c0e1f Try defaulting branch differently - 9c77d3f Remove old eclipse workspace and ship/extract as a zip file (use ant set - 6371e9b Assume Forge is the parent directory when checking for AT configs. - 516954e Name both zips the same format - 1151d5c Last part of branch name only please - 25f1dda Try and get a valid branch name on jenkins - 39a146f Clean up build.xml script- support outputting a branched jar file - 037dcae Small derp in install.py - 01d6da3 Try marking python as binary. - 8b26659 FML will now attempt to download MCP as part of the install process Now - 42b3e6a Windows Python distrabution created using py2exe, thanks Fesh0r for the - e709ab8 Marked more spots in gui/items bitmask as being free. - -Build 1.4.5-6.4.1.413: - LexManos: Add wget and unzip from GnuWin32 for use in the setup scripts. - LexManos: Update FML, now includes python, and will download MCP for you - LexManos: Update python files to add support for specifying MCP directory and FML downloading MCP on the fly. - LexManos: Fix issue with DimensionManager.shouldLoadSpawn - -Build 1.4.5-6.4.1.411: - Christian: Fix #289 - -Build 1.4.5-6.4.1.410: - Christian: - Add in some additional ticket loading callbacks for ChickenBones. Closes #284 - Add in a call to determine if there are possible chunktickets for a world. This should let - Mystcraft and other dynamic world generating mods check if they should immediately load - a world based on existing chunk tickets. - -Build 1.4.5-6.4.1.409: - LexManos: Fix issue where non-BlockContainer TEs would not be removed properly. - -Build 1.4.5-6.4.1.408: - LexManos: Fix logic issue in ForgeChunkManager.ticketCountAvaliableFor(username) PR - LexManos: Fix issue where worlds were potentially unloaded improperly on server shutdown. - -Build 1.4.5-6.4.1.407: - LexManos: Small change to fix loading configs. - -Build 1.4.5-6.4.1.406: - LexManos: Added section of the EntityData NBT that will be persisted for players across respawning. - -Build 1.4.5-6.4.1.405: - LexManos: Exposed some ChunkLoader information for PR #278 - LexManos: Fix potential NPE in EntityJoin handler and print warning. - -Build 1.4.5-6.4.1.404: - LexManos: Small tweak to config to use Treemap - -Build 1.4.5-6.4.1.403: - xcompwiz: - Adds a more intelligent chunk constructor - - Adds a chunk constructor with full block id range, that's metadata - sensitive, has intelligent coord ordering, and which allows for - generation at greater heights than 127. - xcompwiz: Fixes some weird formatting - zach: - Fixes ordering for z & x loops (proper array increment order) - - The ordering before would skip about in the ids and metadata arrays. This runs linearly and should improve performance. - Done live on github - -Build 1.4.5-6.4.1.402: - LexManos: Fixed AIOOB issue with new sanity check in getBlock - -Build 1.4.5-6.4.1.401: - LexManos: Fix potential NPE in saving a property that didn't define a type. - -Build 1.4.5-6.4.1.400: - LexManos: - Added new functions to the Config class to allow for specification of comments when getting properties. - Added new getTerrainBlock whihc will limit the resuling ID to < 256, useful for world gen. - Calls to getBlock with IDs less then 256 will be assigned values above 256 {Thus freeing up terrain gen slots} - Made ConfigCategory implement Map should fix compatibility with most mods that broke two builds ago. - -Build 1.4.5-6.4.0.399: - xhamolk.class11: - OreDictionary addition: getOreID(ItemStack) - - Allow getting the oreID from a ItemStack, as an alternative from getOreID(String). - - Now is easier to exchange items for their equivalencies through the OreDictionary. - -Build 1.4.5-6.4.0.398: - LexManos: New nested configuration category support, for PR #258 - -Build 1.4.5-6.4.0.397: - LexManos: Fixed issue with abandoned chunks. - LexManos: Fixed random chest items not generating to there max stack sizes. - -Build 1.4.5-6.4.0.396: - ohai.iChun: - Add check that Entity saves to disk before saving entity to saved chunkloading data. - - Returning false to addEntityID prevents the entity from being saved (cred to LexManos) - Entities which do not save to disk but are chunkloaders causes errors the next time the world loads. This ought to fix it. - -Build 1.4.5-6.4.0.395: - LexManos: Updated FML, proper free-sprite list for /gui/items.png, and fixed MCP version. - -Build 1.4.5-6.4.0.394: - Christian: - Move server specific patch back to common from minecraft. - - Update FML: 1f5c58b - 1f5c58b Fix up MCP version - 61e4db2 Merge joined.exc add update howto - 5efc1eb Revert "Fix MC-2497 - derpy torch flames. Moved from forge. Everyone sho - 3b3600d Modified merger to just consider all server classes as common. And moved - edcc5ca Forgot mcp.cfg - ca79dfe Updated to 1.4.5b - 5945279 Fix python error - 57bf643 Modified decompile so that we do not have to decompile the server, saves - d9d0a46 Cleaned up some tabs - 2fac644 Change usage of ZipFile, fixes issues with Mac's default instation of py - -Build 1.4.5-6.4.0.393: - LexManos: Fix TE Issue - -Build 1.4.5-6.4.0.390: - LexManos: Removed GnuWin32 programs, should no longer be needed as we've moved to python. - LexManos: Updated to MC 1.4.5b - -Build 1.4.5-6.4.0.388: - Christian: Stupid eclipse resetting preferences. Spaces, not tabs!!! - Christian: - Update FML: 570592b - 570592b Attempt to fix a possible comodification risk - -Build 1.4.5-6.4.0.387: - Christian: Add in events when forcing and unforcing chunks. Hope this works for you ChickenBones! - -Build 1.4.5-6.4.0.386: - Christian: - Update FML: fde9414 - fde9414 Change texturebinding to use the textureId directly rather than iconInde - -Build 1.4.5-6.4.0.385: - LexManos: Fixed issue with default implementation of Beach plant type check - LexManos: Fixed custom soil checks for NetherStalk and Reeds - -Build 1.4.5-6.4.0.384: - LexManos: Release script will now include the Minecraft version in the arcive names. - -Build 6.4.0.383: - Christian: - Update FML: f348496 - f348496 Fix mod display list. Shouldn't be derpy anymore. - a5c31b5 Fix World patch- workaround no longer required and leftovers are bad. - 2dc3f0d Cleaned up the AT config updater, should work for any setup of the MCP w - -Build 6.4.0.382: - LexManos: Fixed beds not working properly when respawning. - -Build 6.4.0.381: - Christian: - Remove EntityFX patch - moved to FML. Patch SuspiciousClasses to add "forge" - - Update FML: fa56701 - fa56701 Fix MC-2497 - derpy torch flames. Moved from forge. Everyone should benefit. - 96935bb Fix an NPE in TileEntity trying to generate a crash report. Make suspicious classes just return the obvious. Fix NPE for FML crash report on server. Clean up dead pa - -Build 6.4.0.380: - Christian: Fix the derpy torch flames properly. Closes MC-2497 properly ;) - -Build 6.4.0.379: - Christian: - Update to MC 1.4.5 - Update FML: 43d3042 - 43d3042 Clean up a patch - fec221f Update FML for MC 1.4.5 - b0f0635 Fix for ModLoader static overrides not displaying. - 23a2513 Fix up derpy file name handling: closes #127 Fix up duping childmods: cl - a6eaa2b Fix spelling issue. - c6a0741 FML setup should now download and verify all the minecraft files needed - 5a1930e Small fix to some MCP metadata for pre2 - 418deba Update to MC 1.4.4 - 4ff2cff Fix bug when a modloader mod is run on a dedicated server and has a conn - -Build 6.3.0.378: - Christian: - Some liquid events. Non-API breaking. Add them at your leisure. This helps liquids know - what's happening to them. In case they're volatile or something ;) - -Build 6.3.0.377: - Christian: Another difference - -Build 6.3.0.376: - Christian: - Fix fillLiquidContainer - return null, not the empty container for - previous API compatibility - -Build 6.3.0.375: - LexManos: Update FML to fix ModLoader/addOverride functionality. - -Build 6.3.0.374: - kinglemming: - Fixed oversights in liquid registry, added functionality for instant checks as requested by CJ. - Liquid list return is now secure. - - Signed-off-by: King Lemming - Christian: Change name to LiquidContainerRegistry. Fix up missing API. This better be it now! - -Build 6.3.0.373: - kinglemming: - Liquid Manager Rewrite - slightly more memory usage, loads more efficient at runtime. - Added default Lava and Water registrations to Liquid Manager. - Removed method which relied on flawed assumption that a given liquid only had a single type of container. - - Signed-off-by: King Lemming - Christian: Rename some liquid stuff for more sensible naming. Tweak API slightly. - -Build 6.3.0.372: - Christian: - Add in the basic IBlockLiquid interface. The actual block implementation - will follow. - -Build 6.3.0.371: - Christian: - Add an ItemStack sensitive version of getIconForRenderPass, defers to - existing by default. Should allow NBT data to affect multipass icon rendering. - -Build 6.3.0.370: - Christian: Change getLeft to getRotation, around any axis. - -Build 6.3.0.369: - Christian: Some new stuff on the liquid API for better RP2 interaction. Coming soon: blocks! - -Build 6.3.0.367: - Christian: Tweak liquidcontainer API for sidedness capability - -Build 6.3.0.366: - LexManos: Updated FML, Fixed spelling issues in logs, and file name issues. - LexManos: Added saplings and leaves to the ore dict. PR: #242 - LexManos: Mods can use custom textures for Slot background overlay, instead of only items.png PR #245 and #246 - LexManos: Fix issue where players would spawn in the ground. - LexManos: Allow for modders to decide whether or not players are positioned on ridingEntities similarly to pigs PR #244 - LexManos: Fix breaking despite cancel in creative mode for PlayerInteractEvent OR #247 - -Build 6.3.0.364: - Christian: - As agreed, liquid API from BuildCraft has been migrated to minecraft forge. There will be cleanups to follow, - including sided handling and client rendering tweaks. Stay tuned! - Tweak forgedirection for a couple of naming constants - -Build 6.3.0.363: - Christian: Add toLeft rotational data to ForgeDirection - -Build 6.3.0.362: - LexManos: New field in ForgeDirection to hold just the valid directions. And made getOrientation a bit more efficient. - -Build 6.3.0.361: - LexManos: Fix entity items rendering on the ground. - LexManos: Fix crops not droping seeds properly. - -Build 6.3.0.360: - LexManos: Update to 1.4.4 - LexManos: Bumped version number for 1.4.4 - -Build 6.2.1.358: - LexManos: Ore Dictionary Improvements, replaces vanilla recipes with OreDict recipes for some vanilla items. Thanks Covert. - -Build 6.2.1.357: - LexManos: Made Item constructor public, and made setTextureFile chainable, requires mods to recompile, but as this is for 1.4.3 i'm not concerned. - -Build 6.2.1.356: - Christian: - Temporary update for 1.4.3 - Update FML: bd2123c - bd2123c Clean up some patch fuzz - c2a603c Update joined.exc file from latest conf - db12af4 Update to 1.4.3 - LexManos: - Readdaed teleporter sensitive versions of the teleport function - Added per-world list of custom teleporters, Modders, use World.Load to populate this list. - Changed the definition of our version schemes. - -Build 6.0.1.355: - Christian: - Update FML: 8356fe9 - 8356fe9 FUUUUUU! Stupid ticking. STOP REGISTERING TICK HANDLERS IN YOUR CONSTRUC - 6edce8b Patch a file handle leak in RegionFileCache handling when under memory p - ca2bbe0 Update MCP mapings again, yay bad syncs. - c8941a7 Updated MCP mapings. - 5e20c03 StartServer is now useable in merged code base. - -Build 6.0.1.354: - LexManos: Update FML: Updated MCP mapings, and fixed StartServer - -Build 6.0.1.353: - Christian: - Update FML: b19e882 - b19e882 Remove some debug, closes #123 - 9d7d32a Fix up tick management outside of mod loading phases for ModLoader mods. - d512539 Negatively cache failed class lookups, should help with @SideOnly performance issues. - -Build 6.0.1.351: - Christian: - This update fixes some world corrupting vanilla error handling, mostly caused by - mods doing something derpy. Hopefully, your world saves will thank me. - Note that if the mod does derp, it's data is lost. It's not FML or Minecraft Forge's - responsibility if "DirtChest 2000 Mk5" can't write their TileEntity method correctly - and you lose your 100000 diamonds. - - Update FML: a3a93f3 - a3a93f3 Fix some whitespace issues, handle possibly bugged entities as well - a7eb5dc Vanilla/mod bug fixes: CME on entity processing, TileEntity resetting chunk on save/load. - -Build 6.0.1.350: - LexManos: Fix cast issue when mods attempt to make fake worlds. - LexManos: Fix a vanilla bug related to certian seeds and stronholds. - LexManos: Cleanup some debug in the script, and fix version number for the current build. - -Build 6.0.1.349: - LexManos: Change logs should now be bundled with downloads, as well as avalible on files.minecraftforge.net - -Build 6.0.1.348: - Christian: - Update FML:b23081d - b23081d Support for ModLoader 1.4.2. Good job Risu! - 66db4ec Add in an exclusion list tag for @Mod. The backend code isn't yet implemented, but shows the basic idea. - -Build 6.0.1.345: - LexManos: EntityLiving.experianceValue private->public for Issue #225 - LexManos: Changeable name tag render distance for PR: 174 - LexManos: Remove some debug code - LexManos: New hook to allow items to be on multiple creative tabs PR 176 - LexManos: Fix issue where scroll bar would not render when switching tab pages. - LexManos: Added metadata sensitve experience to furnace recipies and added Item callback to determine experience gain. - LexManos: Exposed functions for adding superflat presets. - LexManos: New hook to allow for custom beacon support blocks. - CovertJaguar: - Added vanilla wood + dye to the Ore Dict - - Should help simplify interaction between mods that add similar items. - LexManos: Added Stonghold, Village, and Spawn biome management helpers for PR 207 - LexManos: Fix compile issue. - -Build 6.0.1.343: - csendek: Add event to cancel or change chat messages sent from server - csendek: Add event to cancel or change chat messages sent from server - -Build 6.0.1.342: - LexManos: Pickblock will new compare NBT data, should allow mods to refine there result better. - LexManos: Added system to place all configs that use Forge's Configuration function into a single file on disc. Optional config to enable this. Blame MattaBase for this idea.. - -Build 6.0.1.341: - LexManos: Fix ItemSeed placement to take into account the IPlantable interface. - -Build 6.0.1.339: - LexManos: Added a per-world MapStorage feature that provides a method to store data files associated with a specific world, as well as fixes the issue with villagers loosing there village. {Where villagers wouldn't go inside at night} - -Build 6.0.1.338: - pahimar: Update patches/common/net/minecraft/src/SlotCrafting.java.patch - Christian: - Fix the accessor and type on World.getPersistentChunksFor() - Update FML: 8bd98c3 - 8bd98c3 Fix a small problem with the new MCP container- it can cause NPEs. Nice. - 34cc42d Fix up some javadoc complaints - -Build 6.0.1.337: - Christian: - MCP information is now included in Minecraft Forge. They deserve the credit :) - - Update FML: 09eade4 - 09eade4 Update build - include MCP information in the source pack - 9bfe7df MCP deserves lots of credit. So here it is. - -Build 6.0.1.332: - Christian: - Update FML: 8006b77 - 8006b77 Fix instantiation bug - 7cc91cf Simple InterMod comms. Send a message using FMLInterModComms.sendMessage(). Receive messages through an @IMCCallback - 24d7285 Update for MC 1.4.2 - cedf3d5 Duplicate Mod display screen. - -Build 6.0.1.331: - LexManos: Downgrade to FML 415, issue with new IMC system. - -Build 6.0.1.330: - LexManos: Update to 1.4.2, obf stayed the same, so only small revision. - -Build 6.0.0.329: - LexManos: Update World patch to fix map provider issue. - -Build 6.0.0.328: - Christian: - Add an access transform for Block.setBlockBounds - should help a lot of code that uses this. - - Update FML: d915f39 - d915f39 Fix typo in access transformer - 346691c Fix the merge for forge - 6dadc1d Fix up references to minecraftDir in obf code - 8a55f68 Update FML for Minecraft 1.4.1 - 5645fa5 First update to 1.4.1, patches need updating. - ff0f00f Add some null checks, and throw descriptive exception when SideTransformer prevents a class from loading. - -Build 6.0.0.327: - LexManos: Update to MC 1.4.1 and Forge 6.0.0 - -Build 5.0.0.326: - LexManos: Fix color issues with Dyed Leather armor. - -Build 5.0.0.325: - LexManos: Remove deprecated code. - LexManos: Cleanup mirrored things in ShapedOreRecipe to address issue 208 and issue 210 - LexManos: Fix up the setHandeled/setHandled for events, it is now a generalized setResult, the meaning of which is defined by each event. - -Build 5.0.0.324: - LexManos: Fix NPE issue when mods add null EntityFX's to be rendererd. - -Build 5.0.0.323: - Christian: - Update FML: 7a34246 - 7a34246 Ship a client only class so the merge works both sides. - -Build 5.0.0.322: - Christian: Fix install.py so it can be installed properly from src distribution - -Build 5.0.0.321: - Christian: - Update FML (entire change log since last by me): 62a6b52 - 62a6b52 Fix RenderRegistry render ID - now at 36 Fix SpriteMaps - they're running out fast! Switch to forge if you can! RenderBiped now has an armo - b845cde Fix up FML python script for forge - 2c36dfb Update to MCP pre 3. Fixes some weirdnesses with explosions. - acd880d Merge branch '1.4' - e6f57e5 Update for MCP release - b1de0fc Remove fuzz from patches for INetworkManager change - ad44619 Fix for new names INetworkManager and ITexturePack. I also provide refactoring scripts for both, for your use... - 3a94211 Add a script to ignore git complaining about the eclipse workspace changing - run when you first open the eclipse workspace - 9386e23 Update gitignore - ignore the files that will change or be deleted - 10b318c Add in "starter" image for eclipse workspace - 995d5b7 Eclipse workspace fixup 2? - bbb12c8 Clean up eclipse workspace- part 1 - b50058e Clean up a bit of patch fuzz - 4a0bfa9 Fix CommonHandler for rename of the server thread class - 4d1ec66 Update with RC2 MCP. Use the joined.exc file directly since MCP now provides it. - b52e3d0 Fix exception for CodecMus - a1011c9 Fix some compilation issues. Requires resolving the worldclient abstract method - 0ebd4f3 Inital patch update to 1.4 - 89c68c4 Moved into EntityVillager - e4702cb Fix line ending detection during checkout. - 6e64fd7 We don't need logging here... - 014b3f4 remove useless -Server projects - 7628c67 Updated the AT config and Marker config for 1.4 obf - 54a322c Updae build to copy files that may decompile differently but are actually the same, and updated for 1.4 values. - aadf396 Update MCP Merge config. - 81e1855 Pull in MCP's 1.4 conf files. - 5686fd4 Fix error in merging of exec's - -Build 5.0.0.320: - LexManos: FML Update for 1.4 - LexManos: Fix recompile call for 1.4 MCP change - LexManos: Update Forge's AT for 1.4 names. - LexManos: Update for new names in 1.4 - LexManos: Remove final from 'villageCollectionObj' to allow for delayed setup of Map source objects. - LexManos: Moved to common where it should be - LexManos: No longer needed, getRenderDistance removed because Vanilla has it now, TileEntity.func_82115_m - LexManos: Forge spawn protection removed, now a vanilla feature. - LexManos: Patches that applied with little to no functional changes. - LexManos: Updated Render patches, Bipeds now have the ability to have helmets, of either blocks, or the new 'heads' - LexManos: BlockSnow now pretty much just passes harvestBlock to it's super. - LexManos: Entities have a new function to determine explosion strength that they create, and implemented Item frame pickblock. - LexManos: Patches removing forge spawn protection, now a vanilla feature. - LexManos: BlockCrops is now the parent class of multiple types of crops, Wheat, Potatoes, and Carrots, updated getBlockDropped patch to reflect. - LexManos: Removed Forge's TileEntity.getRenderDistance, now a vanilla feature: TileEntity.func_82115_m - LexManos: Teleporting has a new function (func_82448_a), made it so that you can supply your own teleporter to that function, and so it works with dimension movement factors. - LexManos: Updated World patch, there are a lot of new things happening int he constructor, xcomp should probably vet this. - LexManos: Updated Forge version to 5.0.0, for 1.4 - LexManos: Update release script for mcp changes, releases now build. - -Build 4.3.5.318: - LexManos: Remove some test code. - LexManos: Bump version to 4.3, final for 1.3.2 - -Build 4.2.5.317: - LexManos: Added ability for mods to cleanly define and display new creative tabs. - -Build 4.2.5.316: - Christian: Fix classloading issue preventing JRockit from running forge - -Build 4.2.5.315: - Christian: - Forge build change: the universal jar, if installed alongside a server jar file, can be executed to load forge. No server side merging required! - Update FML: 989ab3e - 989ab3e Update build.xml - add a classpath to the manifest. This means the universal jar is now a server side launche - 88f1dc9 Typos! - -Build 4.2.5.314: - Christian: - Update FML: 470a185 - 470a185 Try and avoid an NPE in crash reports - 0029518 Fix logging problems- log death messages and re-route the server through FML logs properly. - fe7a832 Fix the test mod - a2bc30b Coremods can be specified via the command line: fml.coreMod.load= This will help with developing coremods - bae1f74 Fix classpath for server - 887aa27 Add in the ability for a client to throw a custom exception that displays a custom gui instead of the default error message. - e17f267 Update FML internal classpath. Helpful for coremod devs - 3b9972a Don't use File to separate the last element of the path. It's a URL, they're always separated by '/' - 5c96afe Changed RelauchLibraryManager so that files with different paths on the same baseURL can be implemented in one ILibrarySet. - 1bca393 FML as a whole is now subject to transformers. - 27cf731 Bonus extra character. thanks randomitter! - 94c84cd Merge pull request #116 from Vazkii/patch-1 - c2d3195 Add Null check to FMLClientHandler.sendPacket - -Build 4.2.5.313: - LexManos: Make Item.createEntity only call when its specifically a EntityItem, not a subclass of it. - -Build 4.2.5.312: - LexManos: New Block hook to determine if it can be destroied by the ender dragon, for PR 199 - LexManos: Ship forgeversion.properties with release zips. Same format as fmlversion.properties. - LexManos: Dll files are binary as well. - -Build 4.2.5.311: - LexManos: Fill out the .gitattributes to help with line endings how they should be. - LexManos: Change the Crafting damage check to be the same as the usage damage check. (>= -> >) - LexManos: Allow hook into GuiSlot for background rendering for PR #203 - -Build 4.2.5.310: - Christian: Reorganize the forced chunks a bit- offload the cost of immutable map building to the mods, rather than the chunk tick - -Build 4.2.5.307: - Christian: Remove @SideOnly from removePotionEffect. Hi RichardG! - -Build 4.2.5.306: - LexManos: Add some accessors to teh ChunkLoader tickets. - -Build 4.2.5.305: - ohai.iChun: Fix not passing right render pass to Item class. - -Build 4.2.5.303: - Christian: Fix bounds checking on chunkcache. Should fix a bunch of rp2 and maybe other extended tile entity code - -Build 4.2.5.302: - Christian: - Use weak references to the worlds in our maps. WorldClient would otherwise - leak all over the show. - -Build 4.2.5.299: - mehvids: Add some of the model subsystem to the server. The part that doesn't require openGL. This allows for systems that dual models as collision/selection boxes etc. - xcompwiz: - Improves DimensionManager - - Adds handling for unloading and hotloading of worlds, fixes some typos, - allows for dimensions to be unregistered (allowing save specific - dimension registrations), general changes to match these features. - xcompwiz: - Adds world unloading and hotloading calls - - Adds world unloaded message to MinecraftServer on save. - Adds world unloading calls to chunk provider/manager when all chunks are - unloaded. - Adds call in MinecraftServer getWorld to hotload world if it isn't - loaded. - xcompwiz: - MapStorage Fix - - Fixes setting and timing of map storage object to allow for the - WorldProvider to use it during initialization - Forces single instance of map storage object (per side) - Moves setting of spawn to after provider setup - xcompwiz: - Lighting Time fix - - score_under's lighting fix that limits and fairly distributes the amount - of time spent on recalculating lighting - xcompwiz: - Server player concurrency fix - - Fixes an issue where the server can move a player while the player is - moving, process the player's last move (putting the player back where - they were before the teleport), and then complain about the player - moving too fast when the client catches up to it's new position. Also - fixes this issue while riding an entity. Only affects player - client/server movement sync. - Christian: - Remove dead WorldInfo patch. Tweak dimension code a bit for better naming, and use the new FML world loading facilities - Update FML: d0e7c9e - d0e7c9e Update patches *sigh* - f3e1cac Add in a savehandler strategy for reading and writing data to the world save. This service is only available to coremods via the WorldAccessConta - 51fb513 Add in some bukkit supporting code. Most of this is unimplemented until the bukkit coremod is complete. - 65c9fdd New stuff on the ModLoader! Risu has been busy. Closes #114 - c1d4458 Mods can now declare a range of minecraft versions they will run against - Christian: Update forge to 4.2 - -Build 4.1.4.298: - LexManos: Fix issue where light would not properly recalculate. - LexManos: Fix issue where mushrooms would not check the proper soil block. - -Build 4.1.4.297: - LexManos: Expanded DungeonHooks to allow for adding of custom DungeonLoot values directly, allowing for better control over the generated items. - -Build 4.1.4.296: - LexManos: Made PlayerEvent.BreakSpeed fire when a player cannot harvest the block. Issues #191 and #188 - -Build 4.1.4.295: - Christian: Dormant chunk cache might actually work now, and not mix chunks across worlds - Christian: - Update FML: ca1ca4f - ca1ca4f Fix maps supporting greater than byte() dimension sizing - 15ee8bf Fix language registry additions, closes #113 - a08b5b1 Merge pull request #112 from pahimar/master - 8dac58f Added ability to query the Language Registry by key and language for specific localized text, as well as loading in localization text f - -Build 4.1.4.294: - LexManos: Fix buckets, need to rethink for bukkit compatibility. - LexManos: Fix vanilla bug where the player would load chunks outside its range that would be 'abandoned' and never unloaded. - LexManos: Forgot comment, you see nothing... - -Build 4.1.4.292: - Christian: - A few requested features of ForgeChunkManager. Mods can specify a - chunkloading config directly in the config file, including chunk - loading overrides if they wish (and the config allows them). - Also added "player" tied tickets that bind to the player and not the - mod's quota. - -Build 4.1.4.291: - LexManos: Missing updates from last commit - LexManos: Location aware version og Block.lightOpacity for PR #169 - -Build 4.1.4.290: - LexManos: Fix bug in last commit that caused block to not break. - LexManos: Added preliminarty Player Interact event heavily based on the bukkit event. - -Build 4.1.4.289: - LexManos: Add PlayerEvent.HarvestCheck and PlayerEvent.BreakSpeed for dealing with things related to a player harvesting a block. - -Build 4.1.4.288: - LexManos: Fix bug where breaking texture would not apply to top/bottom of beds. - -Build 4.1.4.287: - Christian: Add in an "EntityEvent.EnteringChunk" event. Useful for your entity chunkloading stuff. - -Build 4.1.4.286: - LexManos: Support for no BOM. - -Build 4.1.4.285: - Christian: - Update FML: f083707 - f083707 Extreme headless mode is back! - -Build 4.1.4.284: - Christian: - Update FML: dd39ae5 - dd7502a Fix parent child counts showing properly. Closes #107 thanks scott! - b36d447 It's useMetadata, not usesMetadata. thanks myrathi and psx. closes #110 - efb1066 Fix random shuffling when manipulating biomes by using a LinkedHashSet to preserve iteration order. Closes #111 - Christian: - Some more tweaks to the chunkloading code. The world.load event fires slightly later- once the entity watcher is - set up, so entities can actually load into the server world. Also, tickets actually save and load properly - and null entities don't break the server - -Build 4.1.4.282: - LexManos: > != >= - -Build 4.1.4.281: - LexManos: Fix Configuration.getItem to return pre-shifted values suitible to pass into Item constructors. - -Build 4.1.4.280: - LexManos: Fire off PlayerDestroyItemEvent for crafting contianer items that get damaged to much. PR #183 - -Build 4.1.4.279: - LexManos: Configuration will now attempt to detect the encoding of the file using the Byte Order Mark. - LexManos: - Changed Configuration to use overloaded methods, and changed the order of arguments to be Category, Key, Value instead of Key, Category, Value to hopefully help cleanup some peopels code. - Added function to get a free Item id. Will only accept values that are not in the block space. Needs testing. - Marked all the old getOrCreate* functions as deprecated. - -Build 4.1.4.278: - Christian: Fix some errors if the config is unparseable. It should log an exception and carry on with defaults. - Christian: Support quoting in property and category names for almost all possible characters allowed - Christian: Fix up some config file handling to be even more resilient. - -Build 4.1.4.277: - Christian: - More modifications to the ticket callback handling system. There are up to two callbacks during world loading now. One to allow - selective preference for ticket types. The other to actually allow the mod to force chunks. - -Build 4.1.4.276: - Christian: - Update FML: dd39ae5 - dd39ae5 Try and fix the newline capture so consoles show on the server on windows again - b39f808 Readd ancient searge name so dan200 and computercraft can run again. REMOVE THAT CODE DAN. - Christian: - Some changes to the ForgeChunkManager. - Null modData is allowed now. - The entity id is actually properly persisted in the ticket now. - There is a new "orderedLoadingCallback" that allows you to provide a preferred ticket loading order in case of "excess tickets". Also, tickets - that are not in the returned list are now unregistered. - There is a way to resort the chunks in the forced chunklist on a ticket now. - Log the dormant cache configuration - -Build 4.1.4.275: - Christian: Simple chunkloading implementation - Christian: Working cross dimensional implementation of chunkloading for Forge. - Christian: - A lot of tweaks to the chunkloading for entity behaviour. Entities are now bound by a new - persistent id they *all* have, on the server side. - Christian: Remove @SideOnly flag for function now required on the server - Christian: Fix NPE in ForgeChunkManager - Christian: And a concurrentmodificationexception in the same code - Christian: - Simple chunk caching capability for the chunkloader. This will store "dormant" chunks in a - configurable cache, potentially saving the cost of reloading them from disk. - Christian: Delete some debug code - Christian: Some more fixes for chunkloading code. Works very reliably now. - Christian: - Update FML: a2c059e - a2c059e Fix missing import. Thanks ichun :( - 19316a0 Version file searching should work for directories too - fbc7a5c Fix bug causing NPE if non-whitelisted player joins an FML server without FML installed - e9cfd10 Merge pull request #103 from iChun/patch-2 - 1424883 Fixed ModTextureAnimation not updating and not binding to correct image. - -Build 4.1.4.274: - mitchpetrie29: - Update patches/common/net/minecraft/src/WorldProvider.java.patch - - Fixed WorldProvider.setDimension() setting the wrong variable. - LexManos: Fix patch errors in merge of last PR -.- - -Build 4.1.4.272: - LexManos: Fix accedental doubling of shift, Fixes saplings/flowers planting a space above where they should - -Build 4.1.4.271: - LexManos: New Plant API that allows for custom plants/soils. - -Build 4.1.3.270: - LexManos: Added new hooks for modifying the items generated in chests during world gen. - -Build 4.1.2.269: - LexManos: Redirect a lot of functions through WorldProvider for Mystcraft, allowing them to be overriden by the provider. - -Build 4.1.2.268: - CovertJaguar: Fixed Entity Item render helper - -Build 4.1.2.267: - ohai.iChun: Fix pick block key giving invalid spawn eggs - ohai.iChun: Logic derped - ohai.iChun: Logic derp (again) - -Build 4.1.2.266: - LexManos: Added side sensitivity to standard EntityDiggingFX, added Block functions to override spawning of digging and breaking effects. - -Build 4.1.2.265: - LexManos: Fix potential NPE in Custom item entity span code caused by item id misconfigurations. - -Build 4.1.2.264: - LexManos: Fix recursion issue with new special item entity code. - -Build 4.1.2.263: - Christian: - Update FML: 6c746ec - 6c746ec Tidy code - aacbfeb Change version.properties search slightly, allow access to found file from the preinit event - 1513b36 Add in the capability to read an internal version as .version from a file in the zip call versi - 35852a6 Fix up reversed assignment for version fallback - -Build 4.1.2.261: - pahimar: Changes to how PotionEffects are removed, now each PotionEffect can specify which ItemStacks can remove it's effect - pahimar: Inverted logic derp - -Build 4.1.2.260: - LexManos: Package all of paulscode/ with the universal jar to help mac users who cant understand how to merge folders -.- - -Build 4.1.2.259: - LexManos: Bump version to 4.1.2 to mark the end of todays changes. - -Build 4.1.1.258: - LexManos: Fix potential issue with custom events where the constructor is not visible from the EventBus class, Should never arise but meh. - LexManos: Read/Write config files as UTF-8 instead of ANSII, should fix issue with Turkish people. - LexManos: Allow for respawning in different dimensions. - LexManos: Move spawn fuzz to WorldProvider/WorldType, useful for VoidWorld types. - -Build 4.1.1.257: - LexManos: Make EntityJoinWorldEvent Cancelable properly - LexManos: Move Forge init message to MinecraftForge.initalize - LexManos: Add ability for Items to create custom Entities for themselves when added to the world, PR: #151 - -Build 4.1.1.256: - admin: Allow flight,player sensitive - -Build 4.1.1.255: - LexManos: Fix a few patch fuzzes - LexManos: Implemented isBlockFoliage for pull #141 - -Build 4.1.1.254: - LexManos: Clean up some javadoc warnings. - LexManos: - New EntityItem related events - Fixed player death event in SMP - Added Player specific drops event - Added generic EntityJoinWorldEvent - -Build 4.1.1.253: - LexManos: Fix FillBucketEvent to work with stacked buckets. New change in 1.3 - LexManos: EntityLiving variation of drawBlockDamageTexture to allow for Non-player viewports. - -Build 4.1.1.252: - Christian: Remove all references to ModLoader - Christian: - Update FML: 89b8236 - 89b8236 Fix onConnectionClosed not being called on the client side of a connection - -Build 4.1.1.251: - LexManos: Bump version to 4.1.1 - -Build 4.0.0.250: - Christian: - Update FML: 290a3c9 - 290a3c9 Merge pull request #94 from iChun/patch-1 - 9485dc5 Fix handleTinyPacket using short instead of int. - Christian: - Update FML: 70f55c5 - 70f55c5 Add in exclusion list for IFMLLoadingPlugin. - 1c1716d Remove debug cruft - d567f79 To properly align with packet9respawn, make packet1login's dimension an int as well - ecd4e46 Attempt to build some protocol negotiation, and fix packet1login so that the dimension is a short, matching packet9respawn - 16fe495 Compatibility level is now passed from server to client - and the client tracks it. This means certain packet changes can be made without b - 4f70d23 Fix dependency checking: you can depend on specific versions of FML - -Build 4.0.0.249: - Christian: - Update FML: e6abb69 - e6abb69 Fix up tiny packet handler to actually work - e862052 Allow javax to be shipped by mods. Should allow some more modloader mods to work unaltered - 4071ad1 Add in a little bit of protocol cleanup. Start work on allowing multiple protocol versions - 6061964 Give a way to build the packet131mapdata packet correctly populated - b818769 Capture and leverage Packet131MapData - -Build 4.0.0.248: - LexManos: Fix placing torches and the like on inverted woden slabs. - -Build 4.0.0.247: - Christian: - Update FML: 12bc4ba - 12bc4ba Make console logging pass through a single logging thread to avoid concurrency problems with launchers and stuff - 8fccfa2 Overlooked chat message support *sigh*. Fixes wierd mods that communicate through custom chat messages rather than - a697d04 Rescan mod packages where there was a possible mod identified to try and make sure we load it. Fixes Matmos r16 - -Build 4.0.0.246: - Christian: - Update FML: 9d812f1 - 9d812f1 And handle the other way to globally register an entity - 869cf78 Fix up mods trying to register entities outside of modloading. Now you'll get a big fat warning for doing such a de - 186680c Fix CJB mod compatibilty for real. Gui container registration can now happen in the constructor. YUK! - 5aed6d9 Fix compatibility with ModLoader dispenser hook. Fixes a bug with IDispenseHandler too - though it means that inter - 3d7a665 Fix headless operation, hopefully - -Build 4.0.0.245: - Christian: - Update FML: 10a7169 - - 10a7169 Fix up trying to re-add stuff to the classpath when it's already there - 0eb7180 Fix out of range entity id handling for ModLoader mods a bit more. Thanks Herobrine mod! - b1b4c61 Expose GuiMerchantButton - 359cfb5 Log a big fat warning for the developer in the case the network version is not acceptable to the mod itself. (This can happen because of a bad range specifier for example) - -Build 4.0.0.243: - Christian: - Update FML: 8656fd5 - 8656fd5 Also, make missing entity not blow things up - 25a4dcb Fix entity tracker "update" packet not computing correctly. Should work now.. - -Build 4.0.0.242: - Christian: - Update FML: c90a853 - c90a853 Fix up addRenderer to catch exceptions from the basemod, also, addrenderer now supplies a list of the default renderers from MC for editing and will note the - 18069d8 Change download location for FML libraries to files.minecraftforge.net, add an encoding param to the javac command line to force utf 8 - a40f4a7 Add in random jar/zip files to the classpath. UGH this is so fucking ugly it's not funny. - 5b6460b Use a null socket and try to prefer the result of getLocalHost in the broadcast data. - -Build 4.0.0.240: - Christian: - Update FML: c0d1348 - c0d1348 Add in an ItemRenderer null check so FML can run render adding mods - 482c163 Inverted boolean logic. Grrr. - 221d113 ModLoader mob spawns use packet 24- build a bypass system so that they can still use it - f19f426 Remove debug statements - -Build 4.0.0.239: - Christian: - Update FML: 9dd9b6e - 9dd9b6e Fix keybindings not loading properly from gamesettings file after restart - -Build 4.0.0.238: - LexManos: Fix silk touch on Ender Chests. - -Build 4.0.0.237: - t.tomkins: - Update patches/common/net/minecraft/src/NetServerHandler.java.patch - - Update patches/common/net/minecraft/src/NetServerHandler.java.patch - - Server mods can now use noClip to push players through solid blocks without is being an invalid move and resetting the players position. - - Useful for creating semi-solid blocks like quicksand. - -Build 4.0.0.236: - LexManos: Fix Issue #140: Custom items not properly having texture applied for partical effects. - -Build 4.0.0.235: - Christian: - Update FML: acb0b21 - acb0b21 Fix so we always send received packets to handlers. Renders 250 filtering useless unless i can figure a way to intercept - -Build 4.0.0.234: - Christian: - Update FML: b17dd3c - b17dd3c Some tests - fa66ffa Fix trying to load the client side packet handler, when on the server, hopefully? - b106420 Fix up network negotiation - now it will disconnect with a nice error screen if there are missing mods on the client vs se - -Build 4.0.0.233: - Christian: - Update FML: c971adb - c971adb Fix missing addCommand call: thanks "spawnwolf test command" - d6326de Fix a couple of modloader mods. Thanks! - 483667c Some functionality fixes for @Instance injection. - 8bef512 Versions now have two flavours: the @Mod(version) which is the "programmatic version" and is used for all version relationship calculatio - 501009c Always for ML mods into "public" class accessibility - we don't call from the default package like ML does. - d3d4308 Add in a convenience method for getting a class instance based on existence of another Mod. Useful for soft dependencies. - -Build 4.0.0.232: - Christian: - Update FML: 2d9b88b - 2d9b88b And more mod sorting fixes. - 93d5934 Actually *use* the sorted mod list - -Build 4.0.0.231: - LexManos: Fix FillBucketEvent to actually fire. - -Build 4.0.0.230: - LexManos: Fix call to createTileEntity on blocks that extend BlockContainer. - -Build 4.0.0.229: - Christian: - Update FML: 180a279 - 180a279 Merge pull request #82 from Chicken-Bones/master - cf38461 The access transformer will now handle classes in packages. - 2c85539 Reverse the meaning of state in fml.modStates system property and fmlModState.properties - it was very derpy before. Now: true is enabled, false is disabled, as you would expect - d651189 Actually fix the corrupt JSON problem - f6a8cd5 Fix isModLoaded for "disabled" mods, and the toposort as well - 3bde961 A bit more information for dependency handling - 6396bea Fix up handing corrupt mcmod.info - 6bc6def Fix a problem with network ids - 7328610 Fix up version handling properly. Hopefully, and the error screen. - 9fcc452 Only active mods should have dependencies checked, and be sorted - 26302a6 Fix oddity with Screen, print a version out in the sorted list! - -Build 4.0.0.228: - Christian: - Update FML: 62dbfb3 - 62dbfb3 Fix metadata - -Build 4.0.0.227: - Christian: - Update FML: b91cbe9 - b91cbe9 Fix up versioned dependencies so they work a lot better, also add in a missing mods screen - -Build 4.0.0.226: - Christian: - Update FML: 93b8ba9 - 93b8ba9 Fix missing serverSendPacket - 23fdbbd Trading support for ModLoader - thanks Herblore! - d7a74d8 Close the jar, for cleanliness sake - 58e6dd9 Fix authors - it'll read both "authors" and "authorList" from the json now - 907cf2d More ML compatibility - fix up dragon mounts, thanks! - ee48a36 Fix up loading mods that are grandchildren of BaseMod - c6f362b Fix entity handling for ModLoader mods, thanks parachute mod! - -Build 4.0.0.225: - LexManos: Fix lighting issue for air related to 4096 fix. - -Build 4.0.0.224: - LexManos: Made helper hooks for EntityLiving and EntityRenderer hooks for Optifine - LexManos: Removed deprecated ISpawnHandler, that never worked in 1.3.2 so noone should be using it. See FML's replacement. - -Build 4.0.0.223: - Christian: - Update FML: 6e01c59 - 6e01c59 Merge ChickenBones pull into FML - adds player trackers - a0cbd37 More precise error handling when an invalid class is present - 12323e2 Fix textures not applying properly - 789a4a3 Fix up entity spawning - hopefully they won't warp anymore. - a87d045 Add in a helper on the server start event for adding commands to the server. - 82e9309 Move villager trading hook up a bit. thanks sengir. - 8deaa37 Fix LAN to try hard to find a real network interface, not just localhost most of the time - b5363e3 Update build to not bother building client jar. Universal is everything now. - -Build 4.0.0.222: - LexManos: Pickblock now replaces the currently selected item if it could not find a empty space. - -Build 4.0.0.221: - dvrabel: - Use original minecart drag co-efficients for regular carts. - - Since the amount of speed lost is 1 - co-eff, rounding 0.997 to 0.99 - makes a big difference to the distance a minecart will travel (less - than half of the distance in vanilla 1.25). - -Build 4.0.0.220: - LexManos: - Update FML to 304: - Client side only classes are properly annotated, and denied loading on server side - Added missing client side only ModLoader.getContainerGUI function - Guis work for FML mods now. - Fixed MLProp handeling of null info - Fix up dispenser handling, add in new params for the dispenser: breaks IDispenseHandler, sorry - Christian: - Update FML: 28a10ac - 28a10ac Null protection for ticks() -- probably should uses EnumSet.noneOf() but you can also use null now to stop ticking. closes #77 - c349d51 Automatic mod entity registration into the global entity list. This might break entity code out there, sorry, but this way for most entities you no longer need to manage the global mod entity stuff at all. just remove it. FML will take care of the rest (note, worlds won't load the old entities) - ef01745 Add in a utility function that *might* tell you the context you're running in on either client or server: FMLCommonHandler.getEffectiveSide - c97d6a6 Try and stop sendPacketToAllAround from being crashy - 2062273 Mods can add mod specific crash information to the crash report now Forge needs to implement MinecraftForge.getCrashCallable - 6e6436e Fix up dispenser handling, add in new params for the dispenser: breaks IDispenseHandler, sorry - 38f4a22 Fix up MLProp handling for null info - 3a8b047 GUIs working in FML for ML mods - 52483ee Support gui opening for Shelf mod - dce1cbc Updated MCPMerger to annotate unique classes with there sides, and SideTransformer to null out any class that is loaded on the wrong side. - -Build 4.0.0.217: - LexManos: Updated onItemUseFirst call to include the new hit vector information, and updated readme. - -Build 4.0.0.216: - LexManos: Added missing server side onBlockStartBreak hook, fixes Sheers. - -Build 4.0.0.215: - LexManos: Fixed Forge's 4096 block filler initalization. - -Build 4.0.0.214: - LexManos: Fix IndexOutOfBounds exception, Major derp. - -Build 4.0.0.213: - Christian: - Update FML: 46c563a - - 46c563a Expose more of the village construction parts for building village piece - 1380c2e Allow access to the type "ComponentVillage" - 71a3818 Documentation and registration for villager stuff - e3a343c Fix javadoc derp - 195b1a0 Villager trading, manipulation and village enhancement. Still WIP but sh - 69e66c3 Fix exception based logging to actually log the exception! - -Build 4.0.0.212: - Christian: - Update FML: - 885637c Fix up keyboard events for modloader - 90a7c8f Pickup notification - -Build 4.0.0.211: - LexManos: Changed order in which EntityItemPickupEvent is called, it will no longer be called if the 'delay' on the item is still active. Also EntityItems that are in the world with invalid item stacks will now kill themselves. - -Build 4.0.0.210: - mitchel.pyl: Adds a SkyProvider class that can handle the rendering of the sky - -Build 4.0.0.209: - Christian: - Move and add a few AT for forge: rail and leaves stuff mostly - Update FML (reorg some AT for FML vs forge): - 2171c0c Update fml_at with new transforms - 924a6f9 Fix derp where client sided packet handler would be created on a dedi server env - ad4cffb Add in support for "dummy" keybindings- ones that are added to the list but never do anything so the mod can handle it all themselves. - cf77ffb Don't complain about minecraft source code being in "net.minecraft.src". Derp. - b2fdcd7 Fix ModLoader add XP Smelting - 094ce2a Actually register client/server packetspecs as their correct sides! fixes #71 - -Build 4.0.0.208: - LexManos: Fix MC packet bugs for remote servers that use blocks with ids > 256 - -Build 4.0.0.207: - LexManos: Fixed bug in EntityMinecart that would cause them to fall through the ground at the bottom of slopes. - -Build 4.0.0.206: - Christian: - Update FML: - - e8cb2c1 Error if channel name is invalid - either too short, or too long - 9c6c56c Add a connect and read timeout for downloading libraries. This should really stop the "waiting forever" at startup screen. - 0d5affe GIANT FAT WARNINGS if you use any code in net.minecraft.src or any subpackage thereof. Get it out of there, now! - 13f210f Fix up ML GUI ticking. Thanks sharose! - -Build 4.0.0.205: - LexManos: Fixed EntityEvent.CanUpdate - LexManos: Fix EntityItemPickupEvent 'pop' sound spamming. - LexManos: Added timeout to MC's download of sound resouces. - LexManos: Update WorldProvider.path diff. - -Build 4.0.0.204: - Christian: - Update fml: - c61ad51 Organize ALL the imports - c0842b0 Expose the server in serverstart event - 2851079 Fix up directory injection of log file locations - 5197524 Refer to FMLLog, not FMLRelaunchLog - 78efd1a Tidy up server launch - reflection not required anymore - eee0a99 Also, log what the directory discoverer finds for mcmod.info - 10c96c3 And log the exception if it has a problem reading the jar file - 07cc3fb Fix jar loader failing to inject any metadata at all if mcmod.info is not found. - e31f143 Change install.cmd to install.bat, why, cuz people are .... Updated readme to mention needing server and client. - -Build 4.0.0.200: - LexManos: Allow white space in the property name. - Christian: - Update FML to include some ML compatibility fixes. Minimap should run, assuming he - recompiles against standard ML interfaces. - This updates to official MCP 7.2, so you'll need to rebuild your workspace (some - small but important patches to MCP went in) - -Build 4.0.0.199: - Christian: Update FML, make the .sh scripts executable - -Build 4.0.0.196: - LexManos: Update FML to 285 - -Build 4.0.0.194: - draake: Added additional sound events to allow manipulation of a sound source at its creation. - draake: Removed SoundSetListenerEvent implementation. - -Build 4.0.0.193: - LexManos: Fix potential index exception in ForgeDirection - LexManos: Whops - -Build 4.0.0.192: - LexManos: Rename Orientation to ForgeDirection {Damn MCP naming a class Direction already} - -Build 4.0.0.191: - LexManos: Update FML again for mod screen blending fix. - -Build 4.0.0.190: - LexManos: Updated Orientation with new helper functionality. - LexManos: Fix ItemBlock placement, should fix RP Deployers placing blocks 1 tile down. - LexManos: Seperated block placmenet logic in ItemBlock as immibis requested: https://github.com/MinecraftForge/MinecraftForge/pull/110 - LexManos: New Command event. - LexManos: Fix issue with default getContainerItemStack - LexManos: Add render distance property to TileEntity. - -Build 4.0.0.189: - LexManos: Updated FML, should fix the new included eclipse workspace. - -Build 4.0.0.188: - LexManos: Cleanup repo, delete old code - LexManos: Update FML to 278, MC 1.3.2 - LexManos: Cleaned up forge scripts, and updated AT config for 1.3.2, deleted any reference to server specific code. - LexManos: Updated patches to 1.3.2 - LexManos: Fixed bug in DimensionManager that would cause Index error for custom dimensions, also made WorldProviders aware of what dimension they are. - -Build 4.0.0.187: - LexManos: Readded patch to allow for use of custom teleporter for transfering dimensions. - -Build 4.0.0.186: - LexManos: Update FML with entity spawning fixes - -Build 4.0.0.185: - LexManos: Updated FML, should fix 'derp?' RuntimeError - -Build 4.0.0.184: - LexManos: Fix PickBlock 'ghost item' bug when picking with a item selected. - -Build 4.0.0.183: - LexManos: Update FML, Tons of bug fixes and proper merging of client and server. - LexManos: Delete Forge server projects - LexManos: Update debug settings to use Client's internal MinecraftServer.main to debug dedi-server env. - LexManos: Update release script to create universal binary distro. - -Build 4.0.0.182: - j.marini: Fix bug where default bonemeal behavior wouldn't trigger. Only return if the event was canceled. - -Build 4.0.0.181: - LexManos: Update FML, new AT features, and error info. - -Build 4.0.0.180: - LexManos: Fixed ItemRenderer not grabbing custom texture files properly for block items - LexManos: Updated FML - LexManos: Delete dead IGuiHandler - LexManos: Update AT config to expose some block functions and a few extras. - -Build 4.0.0.179: - LexManos: Should fix commands.py patching not working properly first run. - -Build 4.0.0.178: - LexManos: - Updated FML, Should fix a lot of installing issues for MCP. - Made patches error and not apply if the target file is not found. - Updated Event Transformer to add a default constructor... - Fixed 4096 setup code in MinecraftForge.initalize() - -Build 4.0.0.177: - LexManos: Fix issue in install script for users with spaces in there paths. - -Build 4.0.0.176: - LexManos: Update FML, server should run now. Still issue with NPE with no mods installed. - LexManos: Updated FML, fixed custom tool hooks, and spawn protection/player reach hooks. - -Build 4.0.0.173: - LexManos: Fixed Diemsnion API related NPEs, and updated FML to 231. - -Build 4.0.0.172: - LexManos: Get rid of all old patches - LexManos: Added a better eclipse workspace for deving Forge - LexManos: inital push of updated setup script and cleaned up forge.py - LexManos: Dump old mcp config - LexManos: New Start.java which allows the user to login using a legit account for testing on servers. - LexManos: Committing inital work on generating sanitized MCP conf data. - LexManos: Add the direct copied files from MCP conf - LexManos: Add newids to that list - LexManos: Helper function grab all unique searge names that are shared client and server - LexManos: Added merging fields/methods/param csv files. And updated FML to 197 - LexManos: Remove eclipse files from old eclipse projects - LexManos: Updated build.py - LexManos: Update FML - LexManos: - Moved logo to new client folder - Added blank Access Transformer config for Forge - Implemented version storage - Added basic dummy FML mod container to remove the need for mod metadata file - Added beggining work on Forge event system - Updated and moved EnumHelper - LexManos: Updated update_patches.py, and made first patch! - LexManos: Moved paulscode to new client folder - LexManos: First push of some small patches and introduction of basic events. As well as the first cases for Forge's Access Transformer - LexManos: Missed a file - LexManos: Moved in OreDictionary stuff to new system. IOreHandler is replaced by OreDictionary.OreRegisterEvent - LexManos: Renamed MinecraftForge.eventBus to EVENT_BUS as it's constant. - LexManos: Implemented BonemealEvent (IBonemealHandler replacement), and bonemeal making grass. - LexManos: Implemeneted adding grass seeds, as well as IShearable for BlockTallGrass - LexManos: More progress on converting patches from 1.2.5 - LexManos: Some more patch migration before bed. - LexManos: - More patches converted. - Refactored some of the events to be a better hiarachy. - LexManos: A bulk of more patches converted, updated fml - LexManos: Moved some files. - LexManos: More work, moved over packet stuff, need to change everything to use new NetworkMod system - LexManos: More conversions, added all the entity living events. - LexManos: Finished World and EntityMinecart patches. - LexManos: Removed a lot of old files - LexManos: Updated Client side patches for the new Merged MCP workspace. - LexManos: Nope, unneeded patch - LexManos: Cleaned up some more, fixed infinite loop with cancelable annotation, Client now compiles and enters world just fine. - LexManos: Delete conf, server compile, update fml, and fix install script. - LexManos: Copy forge files over in install. - LexManos: Update fml - LexManos: Moved over Configuration - LexManos: Fix oreientation bug causing levers not being able to place. - LexManos: Added new pick block hook for blocks and entites to allow for better grained control of the result. - LexManos: Include Forge's AT config into redist zips. - LexManos: Update fml, impelemnted Diemsnion API stuff. - LexManos: Updated FML, updated patches - -Build 3.4.9.171: - Christian: Normalize the repo - LexManos: Rebase - LexManos: Bumped version to 3.4.9, final commit for 1.2.5. - -Build 3.3.8.170: - someh4x0r: Fix BlockTrapDoor.disableValidation on server - -Build 3.3.8.164: - LexManos: Should fix NPE on older ISoundHandlers EXA: http://minecraftforge.net/forum/index.php/topic,759.html - -Build 3.3.8.163: - Christian: Update fml with recent tick fix - -Build 3.3.8.162: - truebrain: - -Add: sync serverPos[XYZ] on spawning of entity - - This fixes the issue that, up to 400 ticks from getting in range, - entities have a wrong offset (because server and client don't agree on - the position to calculate relative updates from) - truebrain: -Fix: check for null where needed - truebrain: -Codechange: applied LexManos' request - -Build 3.3.8.161: - LexManos: Fixed a improper rounding in EntityMinecart - LexManos: Made WorldGenMinable metadata sensitive. - -Build 3.3.8.160: - Christian: Update fml to 175- fixes some weird ticking behaviours for ML mods, adds in new ticking behaviours for smart mods - -Build 3.3.8.159: - LexManos: Moved licenses and credits into install folder. - LexManos: Removed symlink files, shouldn't be in the repo. - LexManos: Updated some remaining scripts to call there python versions. - -Build 3.3.8.158: - LexManos: Fix furnaces not smelting the proper number of results after the first one. Damn you tahg, fix this! Keeps falling through my cracks. - -Build 3.3.8.157: - Christian: - Fix server check "blockHasTileEntity" used to determine if getDescriptionPacket - is sent for the block to be metadata sensitive. Thanks iChun! - -Build 3.3.8.156: - Christian: Fix ghost players who appear if they don't have the 4096 fix installed - -Build 3.3.8.155: - LexManos: Fix container creative to not add Blocks above 256 unless it's told to. - -Build 3.3.8.154: - Christian: - Fix world provider behaviour: WorldProvider.byDimension should always return - a new instance- otherwise you can end up with worlds overwriting one another - -Build 3.3.8.153: - LexManos: Fixed isBlockReplaceable and placing ItemBlocks' - -Build 3.3.8.152: - LexManos: Fucking spelling nazis - -Build 3.3.8.151: - LexManos: Fix bitmask bug related to 4096 in multi-block change. - LexManos: Updated FML to build 153 - -Build 3.3.8.150: - LexManos: Fix NPE related to server/client not having block ids synced properly. - LexManos: Add option to randomize potential spawn locations to have a more randomly dispersed spawn patern, useful for games like FTB vs. - LexManos: Added configuration option to disable the darkroom mechanic. For servers who wish to not risk destruction at one broken pipe. - -Build 3.3.8.148: - LexManos: FML 150, more tick related work. - -Build 3.3.8.147: - LexManos: Close inputstream - -Build 3.3.8.146: - LexManos: More bugfixes related to portal generation. Should be all now. - -Build 3.3.8.145: - LexManos: Some 4096 I missed in custom renderers. - LexManos: Updated to FML 149, should fix all ticking issues with ModLoader mods - LexManos: Fix Vanilla bug where nether portals would not work above 127 - -Build 3.3.8.144: - LexManos: Updated to FML build #142, fixed FML compilation issue causing missing files when reobfing. - -Build 3.3.8.143: - LexManos: Updated release script to automatically inject version info into .info file. - -Build 3.3.8.142: - LexManos: Updated to FML 141, should fix ticking issues with certian mods, and crash issue with TropiCraft - -Build 3.3.8.141: - LexManos: Bumped version number for new IEntityLiving interface. - -Build 3.3.7.140: - pahimar: Typo in the new EntityLivingHandler code - -Build 3.3.7.139: - LexManos: Made setFailsafeFieldValue public for Rob - LexManos: Implemented enchanced EntityLiving events. Thanks Atomic for parts of it. - -Build 3.3.7.138: - LexManos: Few more cases for 4096, thanks TrueBrain - -Build 3.3.7.137: - LexManos: Forgot Configuration in 4096 change. - -Build 3.3.7.136: - LexManos: Configurable kick message when you don't have forge. - LexManos: Initial 4096 fix based of mDiyo's work. - -Build 3.3.7.135: - LexManos: Fixed bug in new entity sound hook. - -Build 3.3.7.134: - LexManos: Updated to FML #135 {Fixed ModList rendering issue, and incorrect arument on crafting hook} - LexManos: Added new ISoundHandler.onPlaySoundAtEntity hook. Should be backwards compatible with any older ISoundHandler implementations. - LexManos: New onChunkUnload event for TileEntities, for psxlover. - LexManos: Bumped version number to 3.3.7 for full release. - -Build 3.2.6.132: - LexManos: Fixed concurent modification exception in the ore registry. - -Build 3.2.6.131: - LexManos: Fix for potential concurancy modification exceptions - -Build 3.2.6.130: - LexManos: Fixed possible NPE when blocks havent fully initalized yet. - -Build 3.2.6.129: - LexManos: Updated FML to 132, TextureFX fix, and bumped revision to 6. - -Build 3.2.5.128: - LexManos: Added bouncer functions for functions we removed. Makes MagicLauncher shut up about missing functions {not actually missing}, and therefor makes users stop thinking its a life or death error. - -Build 3.2.5.127: - LexManos: New Ore Dictionary recipies. Allows for simpler Ore Dictionary integration with recipies. IOreHandler should no longer be used. - -Build 3.2.5.126: - LexManos: Updated to FML 130 - LexManos: Added hackish workaround for Tessellator.textureID to provent crashing while we wait for Optifine to update. - -Build 3.2.5.125: - LexManos: Server side of ITextureProvider for Block/Item for compilations sake. - -Build 3.2.5.124: - LexManos: Backwards compatibility fix for ITextureProvider - -Build 3.2.5.123: - LexManos: Updated FML to 121 to fix world tick issues. - -Build 3.2.5.122: - LexManos: Updated MCP mapings. Moved the bulk of custom logic from RenderItem to ForgeHooksClient. - LexManos: All Items and Blocks now implement ITextureProvider, and have a setTextureFile(String) function, to support cleaner code in Mods and in Forge. - LexManos: Tag each Tessellator with it's associated texture ID. - -Build 3.2.5.121: - LexManos: Added kick info to disconnect event, updated to FML 120, keybindings, better image rendering in ModList ui. - -Build 3.2.5.120: - LexManos: Fix bug in cart functions where would always return null. - -Build 3.2.5.119: - LexManos: Fixed some inverted logic causing tress to not gen correctly. - -Build 3.2.5.118: - LexManos: Update FML to 117 - -Build 3.2.5.117: - LexManos: New Hooks addedf for custom tree/leaves. And better interaction with trees growing and rerplacing certain blocks. Should allow for ExtraBiomes to behave nicer, and RedPower to make there blocks un-breakable by trees. - LexManos: Also, new hook in last commit for blocks to determine if they are able to be replaced by ores, for any mod that adds new world gen. Bumped revision up. - -Build 3.2.4.116: - LexManos: We now bundle CodexIBXM from PaulsCode. See http://paulscode.com http://www.paulscode.com/forum/index.php?topic=4.0 and the included license files for more info. - LexManos: Updated to FML 115, added Forge Logo to the client dist, and in-game ModInfo page. - -Build 3.2.4.115: - LexManos: Updated to FML build 114 - -Build 3.2.4.114: - LexManos: Included fmlversion.properties in the release zips. - -Build 3.2.4.111: - LexManos: Added FML ReadMe, Credits, and License to release zips - -Build 3.2.4.110: - LexManos: Update FML to 92, this include full client side support, ModLoader nolonger needed. - LexManos: Added new source clean step to fix linux vs windows astyle issues. - LexManos: Cleaned up names for Minecraft Forge's text files so they dont clash with other mods. Fixed up the release script to include the license text, and executable permissions for install.sh. - LexManos: Added FML mod info file - LexManos: Updated MCP Mapings and patches. - LexManos: Updated patches for FML, moved some extranious code to Forge classes instead of patches. - LexManos: Updated to FML Build 95 - -Build 3.2.3.108: - LexManos: Bump version number for official release. - -Build 3.1.3.107: - LexManos: Fixed AudioMod compatibility with MultiMC style launchers. - -Build 3.1.3.106: - LexManos: Bit masked the entity ID to change the range from -127-127 to 0-255 - -Build 3.1.3.105: - LexManos: Updated MCP Mapings - -Build 3.1.3.104: - LexManos: Added forge identifier to statistics collection. - -Build 3.1.3.103: - LexManos: Fix for furnaces not smelting the final item in full stacks. - -Build 3.1.3.102: - CovertJaguar: static final vars are inlined during the compile step, making the version variables useless at runtime. - LexManos: Fixed Levers droping off the backs of stairs client side. - -Build 3.1.3.101: - LexManos: New block hooks for creating custom beds. - -Build 3.1.3.100: - cpw: Update to FML 74: fixes an important issue with MLProp - -Build 3.1.3.99: - LexManos: Bumped revision to 3 - -Build 3.1.2.98: - LexManos: Fixed Vinella mob spawning bug that prevented mobs from spawning on the top most chunk. Added new Block function to determine if a Mob can naturally spawn on the block. Add new hook to allow for special case handeling on natural entity spawn. - -Build 3.1.2.97: - LexManos: Fix for loading Minecart Entities in worlds that were last accessed before Forge was installed. - -Build 3.1.2.96: - LexManos: Moved MLMP compatibility functions to ModCompatibilityClient, and fixed issue where no vehicles would be spawned. - -Build 3.1.2.95: - LexManos: - New ISoundHandler interface, useful for adding custom sounds and dealign with sound based events. - Includes basuic AudioMod compatibility. - -Build 3.1.2.94: - LexManos: Fixed vinella bugs when trying to access chunk information with a y < 0 - -Build 3.1.2.93: - LexManos: Updated to FML build #73 - LexManos: Added MLMP hook invocation for vehicle spawn and opening GUI's to provide compatibility for clients that have both ModLoaderMP and forge installed. - -Build 3.1.2.92: - LexManos: Exposed TileEntityData packet to TileEntities. And added helper sender function. - -Build 3.1.2.91: - LexManos: Added metadata sensitive Chunk constructor for Bioxx - -Build 3.1.2.90: - LexManos: Added MinecraftApplet.clas to the force output list because users cant understand the concept of only replacing files they are told to. And bumped version to 3.1.2 - -Build 3.0.1.89: - LexManos: made the ID in PacketEntitySpawn unsigned. - LexManos: Added generic packet sending function to MinecraftForge class. - LexManos: Fixed shift-clicking issue with items that utilized the new ItemStack sensitive smelting system. - LexManos: Implemented a 'small' packet system for those mods that need to send rapid, small data packets and who are concered about the overhead of the 250 payload packet. It uses packet 131. - -Build 3.0.1.88: - LexManos: Implemented RichardG's Paged Achivement list GUI modifications. - -Build 3.0.1.87: - t.tomkins: Edits enable use of EntityPlayer.canHarvestBlock (for PlayerAPI) when the ToolClass has no rules for the block. - -Build 3.0.1.86: - LexManos: MAX_ENTITY_RADIUS Now works on the Y axis - LexManos: Respawning in dimensions should now properly set the dimension ID for the new player instance. - -Build 3.0.1.85: - LexManos: Fix for vanilla crash for chunk generation with block ID's above 127. - -Build 3.0.1.84: - cpw: Update fml to build 68: fixes a ticking issue and soft vs hard dependencies - -Build 3.0.1.83: - LexManos: - Changed entity Forge spawning code works to be more in line with normal spawning: - (World, double, double double) constructor is nolonger called, normal (World) constructor, and setPositionAndRotation is called afterwords. - yaw, pitch, and yawHead is sent (if the entity isn't a EntityLiving yawHead isn't used) - The datawatcher data is also sent like a normal Entity. - -Build 3.0.1.82: - LexManos: Fixed bug in BlockFire's old fields. - LexManos: Added variable entity radius to World, to be used if a mod make really large entities. - -Build 3.0.1.81: - LexManos: Fixed TileEntity bug that was causing Ghost tile entities. - -Build 3.0.1.80: - LexManos: Multi-pass item rendering now uese proper render pass number. - -Build 3.0.1.79: - LexManos: Added slope velocity hook for Covert - -Build 3.0.1.78: - LexManos: Fixed bugs in the Dimension transfer code, Now displays proper join message, and respawning in dimensions other then 0 works. - -Build 3.0.1.77: - CovertJaguar: Added a function for checking block harvest levels without having to resort to reflection. - LexManos: Try to fix jenkins build. - -Build 3.0.1.75: - LexManos: Added ItemStack sensitive burn time hook. - -Build 3.0.1.74: - LexManos: - Added new Item function to allow for multiple rendering passes. - Fixed a vinella bug where item layters would not line up for EntityItem's - Added new IItemRendere helper flag for 3d block translations. - -Build 3.0.1.73: - cpw: Update fml to 62- provision a server console command and fix mod loading order - cpw: Update FML for new hooks: onPlayerLogout and onPlayerDimensionChanged - LexManos: - Rewrote IItemRenderer to be a more generic and expandable version, Breaks previous interfaces, but this should be the last time the interface changes. - Implemented the MapRender hook ChickenBones requested. - -Build 3.0.0.72: - cpw: Fix separated login/announce handler - cpw: FML 59: don't send a zero length register packet, add mod channels - -Build 3.0.0.71: - cpw: Update to FML 57: fixes FML not calling it's login handler code - -Build 3.0.0.70: - LexManos: MCP Conf update for 1.2.5 - LexManos: Initial patch update to FML and MC 1.2.5 - LexManos: Deleted patches - LexManos: Fixed update_patches.py to now delete old patch files that have no working src relation - LexManos: Updated repo scripts to python, allowing more flexability and less code duplication. - LexManos: Finished up converting the source dist install scripts to python. Fixed a couple issues with the other scripts. - cpw: Update patches for FML fix. - cpw: Fix release script to import "inject_version" - cpw: Add in recent fml with fixes - cpw: Delete the old one too - LexManos: Rewrote the login code to delay full login untill forge fnishes negotiating network IDs. Should fix entities not having proper ID mapings. - LexManos: Added ChickenBones's request ITextureLoadHandler hook - LexManos: Updated patch for mapings - LexManos: Implemented ISaveEventHandler as ChickenBones's requested. - LexManos: Add server spawn protection config option as per someh4x0r's request. - LexManos: Couple of output fixups and added script to be executed by Jenkins during the build. First test build. - LexManos: Changed IGuiHandler's signature to be compatible with both sides. Took out ModLoaderMp reference in README. - -Build 2.0.0.68: - LexManos: Fix some shadowing warnings. - LexManos: Some cleanups to update_patches, should run properly on any system now. - LexManos: Add IChunkLoadHandler.canEntityUpdate() function to allow entities to update while in custom loaded chunks. - LexManos: Implemented a chat event handler system to allow for manipulating and handeling the various chat/command events. - -Build 2.0.0.67: - LexManos: Changed update_patches script to use python for the bulk, Prevents making 1800 temporary useless files. - LexManos: Fixed camelcasing in IConnectionHandler, ment to do during first upgrade. - -Build 2.0.0.66: - LexManos: Fixed typo bug in MinecraftForge.getEntityTrackerInfo - -Build 2.0.0.65: - LexManos: - Updated to MC: 1.2.4 MLMP: 1.2.4 v1 - Removed all code that was marked as deprecated, IE: ICustomItemRenderer, and the functions in Configuration - -Build 1.4.1.64: - LexManos: Reworked EntityPlayerMP.openGui to hopefully be more compatible with PlayerAPI - -Build 1.4.1.63: - LexManos: Cleanup the EffectRenderer patches, Allows custom food items to have the proper particals. Cleaned up special case class in favor of basic java generics. - -Build 1.4.1.62: - CovertJaguar: Added the ability to define custom categories for config files. - CovertJaguar: Removed createCategory() function and changed it to create categories as they are encountered. - LexManos: Updated MCP mapings - LexManos: - Fixed a couple of bugs in the Configuration categories pull request. - Added helper functions to Property for standard int/boolean usage. - LexManos: Added rider sit pull request. - -Build 1.4.1.61: - LexManos: Fixed NPE on CustomPayload packets with 0 data - LexManos: Changed logic in Configuration to allow for extended block ID mods easier access to change that. Just use reflection to change Configuration.configBlocks to whatever length you want. - LexManos: Implemented Pheenixm pull request allowing for more control over the camera. - LexManos: - Added MinecraftForge.isClient() function that returns true if you are in the Minecraft Client, (As defined as net.minecraft.client.Minecraft existing) false otherwise. - Fixed a typo on PacketEntitySpawn that caused speed to be assigned improperly. - A little code cleanup. - -Build 1.4.1.60: - LexManos: Fixed a few typos that CovertJaguire found in The Forge entity handeling code. And re-wrote the connection sequance so that clients get a list of mod ids before anything else. - -Build 1.4.1.59: - LexManos: Readded the deprecated interface ICustomItemRenderer. Added method to enforce deprecation cross Minecraft versions. - -Build 1.4.1.58: - newthead: Added new item render interfaces to Forge client - newthead: Added hook for rendering equipped items - newthead: Clarified render option for inventory items - newthead: Added remaining item render hooks, and fixed a static method access - newthead: Added render code for inventory items and entity items. - newthead: Cleanup/fix item render hooks - newthead: Added additional flag for rendering entity item bobbing - newthead: Merged item rendering interfaces into a single IItemRenderer - newthead: Updated render hooks and registration to use the IItemRenderer interface - newthead: Modified patches to use new item render hooks - newthead: Merged item rendering interfaces into a single IItemRenderer - CovertJaguar: Fix for network code. - newthead: Changed render hook checks to all use ItemStack instead of itemID - newthead: Reverted vanilla texture binding to an explicit if() statement based on item ID - LexManos: Fixed dyes showing twice in creative list - LexManos: Bumped version number to 1.4.1 - -Build 1.4.0.57: - LexManos: Fixed tile entities not properly being removed for blocks that do not extend BlockContainer, or override BlockContainer.onBlockRemoval - -Build 1.4.0.56: - LexManos: Fixed excessive need for user interaction in the install script. - LexManos: Fixed a class to a deprecated method to fix tool effectiveness. - -Build 1.4.0.55: - LexManos: Reworked the workspace scripts so the build should fail on compile errors. This build should fail as a test. - LexManos: Fixed IOException not found error in CovertJaguires pull request. Updated scripts so that build should now be fixed - -Build 1.4.0.53: - CovertJaguar: Added throws clause to ISpawnHandler functions to keep the functions consistent with similar functions and increase ease of use. Exceptions are already being caught everywhere these functions are called, so no further changes required. - LexManos: Fixed onTakenFromCrafting hooks to be called once per stack taken. Sadly due to how shift-click is handled, the passed in item stack is not garenteed to be the stack that the result was added to. - -Build 1.4.0.52: - LexManos: Fixed forgotten type identifier in clean_src - LexManos: New EntityInteract hook for handeling player vs entity interaction on the global level vs the item level. - LexManos: Fixed sides of grass not getting biome colors - LexManos: Fixed type on patch conversion messing up tile entities - LexManos: Proper fix for SDK's invalid bit shifts of parameters for chunk population - LexManos: Made BlockStairs, BlockFarmland, and BlockStep have proper sided-solidity. Can now place torches on any solid side of those blocks. - -Build 1.4.0.51: - cpw: - Fix worldgen doubleshifting in ModLoaderMP until SDK fixes it. - - This means mods can generate surface and nether in SMP again. - -Build 1.4.0.50: - eloraam: Fixed a merge error. - LexManos: - New script to fix decompile differences between windows and linux/osx. - Removed the MLProp special case, no longer needed as MLProp decompiles fine. - Updated patches to work on all systems. - Added warning and exit if the user does not say yes to the cleanup. - -Build 1.4.0.49: - eloraam: MCP Update. Fixed a few small bugs in the linux scripts. - -Build 1.4.0.48: - LexManos: Fixed the inverted logic in the missing mod check. - LexManos: Fixed a wrong argument for dimensions, should fix entity tracking. - LexManos: Custom dimensions should now honor the canRespawnHere function for respawning. - -Build 1.4.0.47: - LexManos: Fix up Configuration ids to only work for 256 ids until Jeb finishes the 4096 conversion. - -Build 1.4.0.46: - LexManos: Fixed a bug where vines were not shearable. - -Build 1.4.0.45: - CovertJaguar: Fixed a minor bug with the Minecart Dictionary. - -Build 1.4.0.44: - LexManos: 1.4.0 official release. - -Build 1.3.4.42: - LexManos: Updated to MLMPv3 - -Build 1.3.4.41: - LexManos: Hack-fix for players getting stuck during logins. Detailed fix when bug is actually tracked down. - LexManos: Implemented ChickenBone's Chunk handler - -Build 1.3.4.39: - LexManos: Fixed client side bonemeal on grass only making flowers - LexManos: Updated to latest MCP - -Build 1.3.4.38: - LexManos: Fixed MLMP thinking Network mods need a client side when they dont. - LexManos: Fixed a generic tile entity line i missed on the server side. - LexManos: Removed improper tile entity negation - -Build 1.3.4.37: - LexManos: Updated to SDK MLMP v2 - -Build 1.3.4.36: - LexManos: Fixed missing double array in MLMP's packet server side. Also, fixed the creative code again, brain failed. - -Build 1.3.4.35: - LexManos: Got my comparitor turned around - LexManos: Updated to SDK's 1.2.3 MLMP, Mush cleaner, no longer supporting Flan's. - -Build 1.3.4.34: - LexManos: Updated gitignore, fixed digging particles, fixed creative container showing to many blocks, fixed wrong argument for custom renderers. - -Build 1.3.4.33: - LexManos: Updated MCP's patch files. Fixes hangs on running MC as applet. - LexManos: ItemBlock now implements ITextureProvider so that blocks with custom textures will showup properly when being held. - -Build 1.3.4.32: - LexManos: Fixed NPE in the login handler - LexManos: Fixed directory issues in the setup script - LexManos: Cleanup of ModLoaderMP and proper update to the latest version of ModLoader - -Build 1.3.4.31: - LexManos: Fixed missing space in linux scripts - LexManos: No longer mark forge packets as chunk packets. - LexManos: Updated MCP mapings files - -Build 1.3.4.30: - LexManos: Updated scripts so that we use Fernflower now. Added a small python script to download fernflower for the user. And the scripts exit out if it fails. - LexManos: Deleted modLoaderMP.patch, unneeded now that we use Fernflower - LexManos: Updated eclipse project for MCP 1.2.3's inclusion of the Start folder in the src folder. - LexManos: Updated The Json enum helper to point to the new packaged names. And fixed a casing change in ModLoader - LexManos: Made mod_MinecraftForge extend NetworkMod, and changed NetworkMod to extend BaseModMP server side. - LexManos: Fixed unneeded imports in ForgePacket - LexManos: removed unneeded import, and fixed casing of args in IShearable - LexManos: Deleted EntityPigZombie patches, Who needed these? Why could you not do this via reflection? - LexManos: Conf for 1.2.3 - LexManos: Same patch diff, files. - LexManos: No longer needed, bug was fixed - LexManos: Client side initial patch update to Fernflower and MC 1.2.3 - LexManos: Bit of a cleanup of the client patches - LexManos: Couple of things I missed client side - LexManos: Deleted unneeded server side patches, Packet250 bug was fixed. And the others got moved to AnvilSaveHandler - LexManos: First push of server side patch updates for 1.2.3. MLMP is still not updated so it does not include those changes, and will not compile. - LexManos: Small imports cleanup - LexManos: Missed damageCarryover on the server - LexManos: Made the scripts forge updating md5s/mcp/names - LexManos: Updated for MLMP 1.2.3 v1 - -Build 1.3.4.29: - LexManos: Bumped version to 1.3.4, final commit for Minecraft v1.1 - -Build 1.3.3.28: - LexManos: Fixed bug in build script that caused the Minecraft/MinecraftServer classes to not be included. - -Build 1.3.3.27: - LexManos: Client side of the new Dimension support. - -Build 1.3.3.26: - thedeveducer: Fixed spelling mistake ('Frequancy') - LexManos: Fixed ITextureprovider for multi-textured items when rendering on the GUI. - LexManos: Fixed compile error for the spelling pull request. - -Build 1.3.3.24: - LexManos: Fixed up Shearable blocks to play nicer with sub-classes. - LexManos: Fixed line endings in windows update_patches - LexManos: Deleted Deprecated interfaces. - LexManos: Ran AStyle over forge code for uniform code formatting, and refactored old code a bit to have cleaner names. - -Build 1.3.3.23: - connor: People may think the server needs the mods to continue and not the client. - -Build 1.3.3.22: - LexManos: Fixed a bug in update_patches that caused apostrphies to be removed. Causing the last patch to be generated incorrectly. - -Build 1.3.3.21: - LexManos: - Initial attempt at server side extra dimensions support. - Mods must register there dimensions on load, by calling DimensionManager.registerDimension(uniqueID, WorldProvier, boolean) - Mods are resposible for writing there own transporter blocks. - Initial commit, needs some more testing and design thoughts. - -Build 1.3.3.20: - LexManos: Added new Item.getIconIndex context sensitive version. - LexManos: Implemented a response to Methuselah96's Arrow hook request. See IArrowNockHandler and IArrowLooseHandler - -Build 1.3.3.19: - LexManos: Changed the layout of the missing mods gui a little. Still needs a lot of work to look good. - LexManos: Marked forge packets as 'chunk' packets. Giving them a higher priority making the initial mod list check more reliable. - LexManos: Introduced some debugging info into Forge packets. And a debug flag in the client and server packet handlers. - LexManos: Moved Client side EntityPlayer.openGui work code to EntityPlayer for compatibility between player API. - -Build 1.3.3.16: - eloraam: Linux scripts fixed, TE bug fix. - eloraam: Fixed linux scripts, fixed TE bug. - -Build 1.3.3.15: - LexManos: Exposed getters for NetServerHandler.playerEntity and NetworkManager.netHandler - LexManos: - Introuduced NetworkMod, a BaseMod extension and replacement for BaseModMP. All mods that are designed to work in the server environment should extend this. - NetworkMods will be assigned unique ModIDs by the server, and those IDs will be sent to the client upon connection. - Refactored Forge packets to the net.minecraft.src.forge.packets package. And introduced the base ForgePacket class. - Added initial ModList request/response. - LexManos: - Expanded the Mod check to test for missing mods and display a GUI screen for the client if it is missing any. - The client now downloads NetworkMod ID's from the server upon connecting. - LexManos: Implemented a generic EntityPlayer.openGui system, and the network backend for it to work on server and client. - -Build 1.3.3.14: - LexManos: - Fixed up the install scripts. The linux script no longer needs sed. Should fix some issues on OSX's without gsed. - Also forge sources will only be copied to sides that were downloaded. - Also, install scripts now prompt for input to cleanup. - -Build 1.3.3.13: - LexManos: Split mod_MinecraftForge so that Clients arnt required to have MLMP installed if they don't use a MP mod. - -Build 1.3.3.12: - LexManos: Update MCP Mapings - LexManos: Small update to update_patches.bat, to skip patch reject files. - LexManos: Bumped version to 1.3.3 - -Build 1.3.2.10: - LexManos: - Refactored so that ISpecialArmor items do not see the factor of 25 on the damage. - The value returned form ISpecialArmor.getProperties is now copied, so mod items are free to re-use there return values. - -Build 1.3.2.9: - LexManos: - Reworked ISpecialArmor to provide better functionality as requested by IC2 devs. - Armor can now be prioritized over other armor. - It can deal with damaging it's own itemstacks. - Also impkemented the ISpecialArmor.getArmorDisplay - -Build 1.3.2.8: - LexManos: Lowered the amount of build log spam, and fixed the inject_version script for use on other systems. - LexManos: Fixed ITextureProvider support for items that have multiple colored overlays. - LexManos: Added Item.onLeftClickEntity hook. Used to intercept and cancel the 'attack' action within items. - LexManos: Implemented item.onBlockStartBreak call for creative single player. - LexManos: Implimented a new IShearable system. This allows mods to create both new shear-like items/blocks. As well as new Entities/Blocks that work with other mod's shear-like items. - -Build 1.3.2.7: - LexManos: Missed a caluse, ISpecialArmor should work as intended now. And not destroy Armor instanatly. - -Build 1.3.2.6: - LexManos: - Implmented Sengir's IPickupHandler. - http://www.mod-buildcraft.com/forums/topic/hook-intercept-item-pickups-by-player-entities/?view=all - -Build 1.3.2.5: - LexManos: - Merged in the change to ISpecialArmor to introduce the DamageSource argument. - As well as the concept of damage absorption vs reduction. - -Build 1.3.2.4: - LexManos: - Created a Entity tracking ans spawning system. - Mod creators should call MinecraftForge.registerEntity to register a entity. - All entity ID numbers are Mod Unique. Meaning two mods can have Entity #1. - Added client and server side packet handlers for the 'Forge' channel. For use in internal packets such as the new Spawn packet. - Updated the build scripts to copy over unique server source files now that there actually are some. - For modders: - If you have a entity that used MLMP's 'owner' system, you should have your entity implement IThrowableEntity - If you have a entity that implments MLMLP's ISpawnable, you should implement ISpawnHandler. - They provide the same functionality, just in a cleaner, more orginized way and will be the method used when we eventually drop MLMP. - -Build 1.3.2.3: - LexManos: Fixed return value for un/registerChannel. Now returns properly indicate when un/register commands should be sent. - -Build 1.3.2.2: - LexManos: - Setup .gitignore for eclipse bin dirs. - Fixed line endings in install.sh - Added mod_MinecraftForge for simpler logging of minecraft version in crash reports - Added new hooks for connection events, See IConnectionHandler for more details. - Added Packet250CustomPayload handeling and channel registraction management, see MessageManager and IPacketHandler for more details. - Forge now uses unsed fields in C->S Packet1Login to identify itself. None Forge clients will get a graceful disconnect message instead of the 'Unknown packet 230' - From 69b9eca37009cd01cf4467f74e48597a57ece301 Mon Sep 17 00:00:00 2001 From: Svein Ove Aas Date: Sun, 1 Jul 2018 01:18:17 +0100 Subject: [PATCH 04/61] WIP state dump --- Tasks.org | 6 + build.gradle | 13 +- gradle/wrapper/gradle-wrapper.properties | 4 +- ...strialcraft-2-2.1.477-experimental-api.jar | Bin 117858 -> 0 bytes .../computercraft/api/ComputerCraftAPI.java | 252 -------- .../computercraft/api/filesystem/IMount.java | 62 -- .../api/filesystem/IWritableMount.java | 57 -- .../computercraft/api/lua/ILuaContext.java | 46 -- .../computercraft/api/lua/ILuaObject.java | 27 - .../computercraft/api/lua/LuaException.java | 27 - .../computercraft/api/media/IMedia.java | 63 -- .../api/media/IMediaProvider.java | 24 - .../api/peripheral/IComputerAccess.java | 97 --- .../api/peripheral/IPeripheral.java | 104 --- .../api/peripheral/IPeripheralProvider.java | 24 - .../redstone/IBundledRedstoneProvider.java | 24 - .../api/turtle/ITurtleAccess.java | 163 ----- .../api/turtle/ITurtleCommand.java | 26 - .../api/turtle/ITurtleUpgrade.java | 98 --- .../api/turtle/TurtleAnimation.java | 20 - .../api/turtle/TurtleCommandResult.java | 44 -- .../computercraft/api/turtle/TurtleSide.java | 22 - .../api/turtle/TurtleUpgradeType.java | 27 - .../computercraft/api/turtle/TurtleVerb.java | 26 - src/api/java/li/cil/oc/api/API.java | 21 - src/api/java/li/cil/oc/api/CreativeTab.java | 20 - src/api/java/li/cil/oc/api/Driver.java | 174 ----- src/api/java/li/cil/oc/api/FileSystem.java | 225 ------- src/api/java/li/cil/oc/api/Items.java | 51 -- src/api/java/li/cil/oc/api/Machine.java | 73 --- src/api/java/li/cil/oc/api/Network.java | 213 ------ src/api/java/li/cil/oc/api/Persistable.java | 25 - src/api/java/li/cil/oc/api/README.md | 85 --- .../li/cil/oc/api/component/Keyboard.java | 47 -- .../li/cil/oc/api/component/TextBuffer.java | 608 ------------------ .../li/cil/oc/api/component/package-info.java | 14 - .../java/li/cil/oc/api/detail/Builder.java | 146 ----- .../java/li/cil/oc/api/detail/DriverAPI.java | 119 ---- .../li/cil/oc/api/detail/FileSystemAPI.java | 152 ----- .../java/li/cil/oc/api/detail/ItemAPI.java | 29 - .../java/li/cil/oc/api/detail/ItemInfo.java | 50 -- .../java/li/cil/oc/api/detail/MachineAPI.java | 43 -- .../java/li/cil/oc/api/detail/NetworkAPI.java | 159 ----- .../li/cil/oc/api/detail/package-info.java | 6 - src/api/java/li/cil/oc/api/driver/Block.java | 62 -- .../java/li/cil/oc/api/driver/Converter.java | 30 - .../cil/oc/api/driver/EnvironmentAware.java | 37 -- .../li/cil/oc/api/driver/EnvironmentHost.java | 52 -- src/api/java/li/cil/oc/api/driver/Item.java | 114 ---- .../li/cil/oc/api/driver/MethodWhitelist.java | 34 - .../java/li/cil/oc/api/driver/NamedBlock.java | 36 -- .../li/cil/oc/api/driver/item/Container.java | 39 -- .../li/cil/oc/api/driver/item/HostAware.java | 28 - .../li/cil/oc/api/driver/item/Inventory.java | 21 - .../li/cil/oc/api/driver/item/Memory.java | 21 - .../li/cil/oc/api/driver/item/Processor.java | 37 -- .../java/li/cil/oc/api/driver/item/Slot.java | 22 - .../cil/oc/api/driver/item/package-info.java | 13 - .../li/cil/oc/api/driver/package-info.java | 13 - .../oc/api/event/FileSystemAccessEvent.java | 175 ----- .../li/cil/oc/api/event/GeolyzerEvent.java | 88 --- .../cil/oc/api/event/RobotAnalyzeEvent.java | 21 - .../oc/api/event/RobotAttackEntityEvent.java | 38 -- .../oc/api/event/RobotBreakBlockEvent.java | 79 --- .../java/li/cil/oc/api/event/RobotEvent.java | 18 - .../oc/api/event/RobotExhaustionEvent.java | 19 - .../li/cil/oc/api/event/RobotMoveEvent.java | 38 -- .../oc/api/event/RobotPlaceBlockEvent.java | 53 -- .../oc/api/event/RobotPlaceInAirEvent.java | 34 - .../li/cil/oc/api/event/RobotRenderEvent.java | 61 -- .../cil/oc/api/event/RobotUsedToolEvent.java | 70 -- .../li/cil/oc/api/event/package-info.java | 11 - src/api/java/li/cil/oc/api/fs/FileSystem.java | 246 ------- src/api/java/li/cil/oc/api/fs/Handle.java | 66 -- src/api/java/li/cil/oc/api/fs/Label.java | 31 - src/api/java/li/cil/oc/api/fs/Mode.java | 23 - .../java/li/cil/oc/api/fs/package-info.java | 22 - .../java/li/cil/oc/api/internal/Adapter.java | 30 - src/api/java/li/cil/oc/api/internal/Case.java | 26 - .../java/li/cil/oc/api/internal/Colored.java | 25 - .../java/li/cil/oc/api/internal/Database.java | 47 -- .../java/li/cil/oc/api/internal/Drone.java | 54 -- .../cil/oc/api/internal/Microcontroller.java | 25 - .../java/li/cil/oc/api/internal/Robot.java | 149 ----- .../li/cil/oc/api/internal/Rotatable.java | 61 -- .../java/li/cil/oc/api/internal/Server.java | 43 -- .../li/cil/oc/api/internal/ServerRack.java | 38 -- .../java/li/cil/oc/api/internal/Tablet.java | 43 -- .../java/li/cil/oc/api/internal/Tiered.java | 18 - .../li/cil/oc/api/internal/package-info.java | 22 - .../li/cil/oc/api/machine/Architecture.java | 147 ----- .../java/li/cil/oc/api/machine/Arguments.java | 347 ---------- .../java/li/cil/oc/api/machine/Callback.java | 147 ----- .../java/li/cil/oc/api/machine/Context.java | 167 ----- .../cil/oc/api/machine/ExecutionResult.java | 66 -- .../oc/api/machine/LimitReachedException.java | 8 - .../java/li/cil/oc/api/machine/Machine.java | 266 -------- .../li/cil/oc/api/machine/MachineHost.java | 104 --- .../java/li/cil/oc/api/machine/Signal.java | 19 - src/api/java/li/cil/oc/api/machine/Value.java | 77 --- .../li/cil/oc/api/machine/package-info.java | 25 - .../li/cil/oc/api/network/Analyzable.java | 34 - .../oc/api/network/BlacklistedPeripheral.java | 13 - .../java/li/cil/oc/api/network/Component.java | 107 --- .../oc/api/network/ComponentConnector.java | 7 - .../java/li/cil/oc/api/network/Connector.java | 97 --- .../li/cil/oc/api/network/Environment.java | 113 ---- .../oc/api/network/ManagedEnvironment.java | 33 - .../cil/oc/api/network/ManagedPeripheral.java | 38 -- .../java/li/cil/oc/api/network/Message.java | 39 -- .../java/li/cil/oc/api/network/Network.java | 225 ------- src/api/java/li/cil/oc/api/network/Node.java | 220 ------- .../java/li/cil/oc/api/network/Packet.java | 69 -- .../li/cil/oc/api/network/SidedComponent.java | 26 - .../cil/oc/api/network/SidedEnvironment.java | 54 -- .../cil/oc/api/network/SimpleComponent.java | 96 --- .../li/cil/oc/api/network/Visibility.java | 42 -- .../cil/oc/api/network/WirelessEndpoint.java | 47 -- .../li/cil/oc/api/network/package-info.java | 13 - src/api/java/li/cil/oc/api/package-info.java | 41 -- .../li/cil/oc/api/prefab/AbstractValue.java | 37 -- .../li/cil/oc/api/prefab/DriverBlock.java | 49 -- .../java/li/cil/oc/api/prefab/DriverItem.java | 85 --- .../cil/oc/api/prefab/DriverTileEntity.java | 20 - .../cil/oc/api/prefab/ManagedEnvironment.java | 74 --- .../oc/api/prefab/TileEntityEnvironment.java | 156 ----- .../prefab/TileEntitySidedEnvironment.java | 152 ----- .../li/cil/oc/api/prefab/package-info.java | 16 - .../asm/SimpleComponentTickHandler.java | 55 -- .../asm/template/SimpleComponentImpl.java | 28 - .../asm/template/SimpleEnvironment.java | 85 --- .../asm/template/StaticSimpleEnvironment.java | 82 --- src/api/java/li/cil/oc/util/SideTracker.java | 25 - .../cofh/api/energy/IEnergyConnection.java | 4 +- .../java/cofh/api/energy/IEnergyHandler.java | 10 +- .../java/cofh/api/energy/IEnergyProvider.java | 8 +- .../java/cofh/api/energy/IEnergyReceiver.java | 8 +- .../cofh/api/energy/TileEnergyHandler.java | 12 +- .../java/cofh/api/energy/package-info.java | 2 +- src/main/java/cofh/api/package-info.java | 2 +- src/main/java/mods/eln/Eln.java | 62 +- src/main/java/mods/eln/GuiHandler.java | 2 +- src/main/java/mods/eln/Other.java | 2 +- src/main/java/mods/eln/PacketHandler.java | 12 +- .../mods/eln/client/AnalyticsHandler.java | 14 +- .../mods/eln/client/ClientKeyHandler.java | 14 +- .../mods/eln/client/ClientPacketHandler.java | 6 +- .../java/mods/eln/client/ClientProxy.java | 6 +- .../mods/eln/client/ConnectionListener.java | 12 +- src/main/java/mods/eln/client/FrameTime.java | 8 +- src/main/java/mods/eln/client/UuidManager.kt | 9 +- .../eln/client/VersionCheckerHandler.java | 11 +- .../mods/eln/entity/ConfigurableAiWander.java | 4 +- ...atoCableAI.java => ReplicatorCableAI.java} | 60 +- .../mods/eln/entity/ReplicatorEntity.java | 2 +- .../mods/eln/entity/ReplicatorPopProcess.java | 2 +- .../eventhandlers/ElnFMLEventsHandler.java | 4 +- .../eventhandlers/ElnForgeEventsHandler.java | 6 +- .../mods/eln/fluid/ElementFluidHandler.java | 30 +- .../eln/fluid/PreciseElementFluidHandler.kt | 4 +- .../mods/eln/generic/GenericCreativeTab.java | 4 +- .../generic/GenericItemBlockUsingDamage.java | 37 +- ...GenericItemBlockUsingDamageDescriptor.java | 22 +- .../eln/generic/GenericItemUsingDamage.java | 73 +-- .../GenericItemUsingDamageDescriptor.java | 65 +- .../java/mods/eln/generic/SharedItem.java | 68 +- src/main/java/mods/eln/ghost/GhostBlock.java | 237 +++---- .../java/mods/eln/ghost/GhostElement.java | 30 +- src/main/java/mods/eln/ghost/GhostGroup.java | 26 +- .../java/mods/eln/ghost/GhostManager.java | 96 +-- .../java/mods/eln/ghost/GhostObserver.java | 4 +- .../mods/eln/gridnode/GridDescriptor.java | 51 +- .../java/mods/eln/gridnode/GridElement.java | 18 +- src/main/java/mods/eln/gridnode/GridLink.java | 8 +- .../java/mods/eln/gridnode/GridRender.java | 64 +- .../transformer/GridTransformerElement.java | 4 +- src/main/java/mods/eln/i18n/I18N.java | 19 +- .../integration/waila/GhostNodeWailaData.kt | 4 +- .../waila/GhostNodeWailaProvider.kt | 42 +- .../integration/waila/SixNodeCoordonate.kt | 4 +- .../integration/waila/SixNodeWailaProvider.kt | 14 +- .../waila/TransparentNodeWailaProvider.kt | 21 +- .../eln/integration/waila/WailaCache.java | 18 +- .../eln/integration/waila/WailaIntegration.kt | 2 +- .../java/mods/eln/item/BrushDescriptor.kt | 49 +- .../mods/eln/item/ElectricalFuseDescriptor.kt | 50 +- .../ItemEnergyInventoryProcess.java | 2 +- .../eln/item/electricalitem/BatteryItem.java | 38 +- .../electricalitem/ElectricalLampItem.java | 41 +- .../item/electricalitem/ElectricalTool.java | 41 +- .../eln/item/electricalitem/LampItem.java | 6 +- .../PortableOreScannerItem.java | 351 +++++----- src/main/java/mods/eln/mechanical/JointHub.kt | 9 +- .../java/mods/eln/mechanical/ShaftNetwork.kt | 6 +- .../java/mods/eln/mechanical/SimpleShaft.kt | 41 +- src/main/java/mods/eln/misc/BoundingBox.java | 12 +- src/main/java/mods/eln/misc/Coordinate.java | 208 ++++++ src/main/java/mods/eln/misc/Coordonate.java | 297 --------- src/main/java/mods/eln/misc/Direction.java | 176 ++--- src/main/java/mods/eln/misc/ElnPacket.java | 2 +- .../java/mods/eln/misc/ElnServerPacket.java | 106 +-- src/main/java/mods/eln/misc/GhostPowerNode.kt | 4 +- src/main/java/mods/eln/misc/ItemRender.java | 99 ++- src/main/java/mods/eln/misc/LRDU.java | 21 +- .../java/mods/eln/misc/LiveDataManager.java | 8 +- src/main/java/mods/eln/misc/Obj3D.java | 10 +- src/main/java/mods/eln/misc/PlayerUtil.kt | 9 +- .../mods/eln/misc/TileEntityDestructor.java | 8 +- src/main/java/mods/eln/misc/Utils.java | 234 +++---- src/main/java/mods/eln/misc/UtilsClient.java | 356 +++++----- .../java/mods/eln/misc/VoltageLevelColor.java | 15 +- .../mods/eln/node/AutoAcceptInventoryProxy.kt | 20 +- src/main/java/mods/eln/node/INodeEntity.java | 4 +- src/main/java/mods/eln/node/Node.java | 4 +- src/main/java/mods/eln/node/NodeBase.java | 111 ++-- .../java/mods/eln/node/NodeBlockEntity.java | 32 +- .../java/mods/eln/node/NodeBlockItem.java | 2 +- src/main/java/mods/eln/node/NodeClient.java | 8 +- src/main/java/mods/eln/node/NodeManager.java | 34 +- src/main/java/mods/eln/node/NodeServer.java | 8 +- .../java/mods/eln/node/simple/SimpleNode.java | 2 +- .../mods/eln/node/simple/SimpleNodeBlock.java | 2 +- .../eln/node/simple/SimpleNodeEntity.java | 22 +- .../mods/eln/node/simple/SimpleNodeItem.java | 4 +- src/main/java/mods/eln/node/six/SixNode.java | 16 +- .../java/mods/eln/node/six/SixNodeBlock.java | 249 ++++--- .../mods/eln/node/six/SixNodeDescriptor.java | 60 +- .../mods/eln/node/six/SixNodeElement.java | 16 +- .../eln/node/six/SixNodeElementInventory.java | 6 +- .../eln/node/six/SixNodeElementRender.java | 4 +- .../java/mods/eln/node/six/SixNodeItem.java | 132 ++-- .../transparent/TransparentNodeBlock.java | 16 +- .../TransparentNodeDescriptor.java | 82 +-- .../transparent/TransparentNodeElement.java | 18 +- .../TransparentNodeElementInventory.java | 2 +- .../TransparentNodeElementRender.java | 9 +- .../transparent/TransparentNodeEntity.java | 21 +- .../TransparentNodeEntityWithFluid.java | 26 +- .../node/transparent/TransparentNodeItem.java | 102 ++- src/main/java/mods/eln/ore/OreBlock.java | 49 +- src/main/java/mods/eln/ore/OreDescriptor.java | 10 +- src/main/java/mods/eln/ore/OreItem.java | 2 +- .../java/mods/eln/packets/AchievePacket.java | 4 +- .../eln/packets/AchievePacketHandler.java | 6 +- .../packets/GhostNodeWailaRequestPacket.kt | 20 +- .../GhostNodeWailaRequestPacketHandler.kt | 12 +- .../packets/GhostNodeWailaResponsePacket.kt | 31 +- .../GhostNodeWailaResponsePacketHandler.kt | 10 +- .../eln/packets/SixNodeWailaRequestPacket.kt | 4 +- .../SixNodeWailaRequestPacketHandler.kt | 6 +- .../eln/packets/SixNodeWailaResponsePacket.kt | 6 +- .../SixNodeWailaResponsePacketHandler.kt | 10 +- .../packets/TransparentNodeRequestPacket.kt | 20 +- .../TransparentNodeRequestPacketHandler.kt | 6 +- .../packets/TransparentNodeResponsePacket.kt | 20 +- .../TransparentNodeResponsePacketHandler.kt | 6 +- .../java/mods/eln/server/ConsoleListener.java | 137 ++-- .../mods/eln/server/DelayedBlockRemove.java | 10 +- .../mods/eln/server/DelayedTaskManager.java | 8 +- .../java/mods/eln/server/OreRegenerate.java | 8 +- .../java/mods/eln/server/PlayerManager.java | 8 +- .../mods/eln/server/ServerEventListener.java | 12 +- .../mods/eln/sim/MonsterPopFreeProcess.java | 12 +- src/main/java/mods/eln/sim/Simulator.java | 8 +- .../sim/process/destruct/WorldExplosion.java | 8 +- .../computerprobe/ComputerProbeBlock.java | 35 +- .../computerprobe/ComputerProbeEntity.java | 2 +- .../computerprobe/ComputerProbeNode.java | 10 +- .../EnergyConverterElnToOtherBlock.java | 73 ++- .../EnergyConverterElnToOtherEntity.java | 150 ++--- .../EnergyConverterElnToOtherFireWallIc2.java | 95 ++- .../EnergyConverterElnToOtherFireWallOc.java | 4 +- src/main/java/mods/eln/sixnode/AnalogChips.kt | 42 +- .../java/mods/eln/sixnode/ElectricalFuse.kt | 38 +- .../java/mods/eln/sixnode/EmergencyLamp.kt | 2 +- src/main/java/mods/eln/sixnode/LogicGate.kt | 40 +- src/main/java/mods/eln/sixnode/Scanner.kt | 85 +-- .../TreeResinCollectorBlock.java | 74 +-- .../TreeResinCollectorDescriptor.java | 49 +- .../TreeResinCollectorElement.java | 10 +- .../BatteryChargerDescriptor.java | 37 +- .../batterycharger/BatteryChargerRender.java | 6 +- .../eln/sixnode/diode/DiodeDescriptor.java | 53 +- .../ElectricalAlarmDescriptor.java | 45 +- .../ElectricalAlarmSlowProcess.java | 4 +- .../ElectricalBreakerDescriptor.java | 45 +- .../ElectricalCableElement.java | 2 +- .../DataLogsPrintDescriptor.java | 66 +- .../ElectricalDataLoggerDescriptor.java | 47 +- .../ElectricalEntitySensorDescriptor.java | 49 +- .../ElectricalEntitySensorSlowProcess.java | 29 +- .../ElectricalFireDetectorDescriptor.java | 49 +- .../ElectricalFireDetectorRender.kt | 4 +- .../ElectricalFireDetectorSlowProcess.java | 6 +- .../ElectricalGateSourceDescriptor.java | 51 +- .../ElectricalLightSensorDescriptor.java | 49 +- .../ElectricalLightSensorSlowProcess.java | 14 +- .../ElectricalMathDescriptor.java | 51 +- .../electricalmath/ElectricalMathElement.java | 2 +- .../electricalmath/ElectricalMathRender.java | 4 +- .../ElectricalRedstoneInputDescriptor.java | 47 +- .../ElectricalRedstoneInputSlowProcess.java | 4 +- .../ElectricalRedstoneOutputDescriptor.java | 47 +- .../ElectricalRelayDescriptor.java | 47 +- .../ElectricalSourceDescriptor.java | 61 +- .../ElectricalSwitchDescriptor.java | 49 +- .../ElectricalTimeoutDescriptor.java | 45 +- .../ElectricalVuMeterDescriptor.java | 47 +- .../ElectricalWatchDescriptor.java | 49 +- .../ElectricalWatchSlowProcess.java | 2 +- .../ElectricalWeatherSensorDescriptor.java | 49 +- .../ElectricalWeatherSensorSlowProcess.java | 6 +- .../ElectricalWindSensorDescriptor.java | 57 +- .../ElectricalWindSensorElement.java | 3 +- .../ElectricalWindSensorSlowProcess.java | 6 +- .../energymeter/EnergyMeterDescriptor.java | 54 +- .../lampsocket/LampSocketDescriptor.java | 55 +- .../sixnode/lampsocket/LampSocketElement.java | 2 +- .../lampsocket/LampSocketObjRender.java | 10 - .../sixnode/lampsocket/LampSocketProcess.java | 61 +- .../sixnode/lampsocket/LampSocketRender.java | 2 +- .../LampSocketStandardObjRender.java | 54 +- .../LampSocketSuspendedObjRender.java | 40 +- .../eln/sixnode/lampsocket/LightBlock.java | 83 +-- .../sixnode/lampsocket/LightBlockEntity.java | 12 +- .../lampsupply/LampSupplyDescriptor.java | 47 +- .../sixnode/lampsupply/LampSupplyElement.java | 2 +- .../sixnode/lampsupply/LampSupplyRender.java | 4 +- .../modbusrtu/ModbusRtuDescriptor.java | 49 +- .../sixnode/modbusrtu/ModbusRtuElement.java | 2 +- .../sixnode/modbusrtu/ModbusRtuRender.java | 4 +- .../modbusrtu/ServerWirelessTxStatus.java | 14 +- .../PowerCapacitorSixDescriptor.java | 43 +- .../PowerInductorSixDescriptor.java | 43 +- .../powersocket/PowerSocketDescriptor.java | 47 +- .../powersocket/PowerSocketRender.java | 6 +- .../sixnode/resistor/ResistorDescriptor.java | 44 +- .../tutorialsign/TutorialSignDescriptor.java | 47 +- .../tutorialsign/TutorialSignOverlay.java | 16 +- .../wirelesssignal/IWirelessSignalSpot.java | 4 +- .../wirelesssignal/IWirelessSignalTx.java | 4 +- .../WirelessSignalAnalyserItemDescriptor.java | 4 +- .../sixnode/wirelesssignal/WirelessUtils.java | 43 +- .../WirelessSignalRepeaterDescriptor.java | 52 +- .../WirelessSignalRepeaterProcess.java | 4 +- .../rx/WirelessSignalRxDescriptor.java | 53 +- .../rx/WirelessSignalRxElement.java | 7 +- .../WirelessSignalSourceDescriptor.java | 61 +- .../source/WirelessSignalSourceElement.java | 8 +- .../tx/WirelessSignalTxDescriptor.java | 67 +- .../tx/WirelessSignalTxElement.java | 13 +- src/main/java/mods/eln/sound/LoopedSound.kt | 25 +- .../eln/sound/SoundClientEventListener.java | 2 +- .../java/mods/eln/sound/SoundCommand.java | 4 +- src/main/java/mods/eln/sound/SoundServer.java | 6 +- .../mods/eln/transparentnode/FuelGenerator.kt | 123 ++-- .../eln/transparentnode/FuelHeatFurnace.kt | 16 +- .../mods/eln/transparentnode/LargeRheostat.kt | 14 +- .../autominer/AutoMinerDescriptor.java | 57 +- .../autominer/AutoMinerElement.java | 12 +- .../autominer/AutoMinerRender.java | 2 +- .../autominer/AutoMinerSlowProcess.java | 53 +- .../battery/BatteryDescriptor.java | 37 +- .../ComputerCraftIoDescriptor.java | 29 +- .../ComputerCraftIoElement.java | 6 +- .../computercraftio/PeripheralHandler.java | 4 +- .../eggincubator/EggIncubatorDescriptor.java | 46 +- .../eggincubator/EggIncubatorElement.java | 9 +- .../ElectricalAntennaRxDescriptor.java | 35 +- .../ElectricalAntennaRxElement.java | 4 +- .../ElectricalAntennaTxDescriptor.java | 35 +- .../ElectricalAntennaTxElement.java | 8 +- .../ElectricalAntennaTxSlowProcess.java | 16 +- .../ElectricalFurnaceDescriptor.java | 37 +- .../ElectricalFurnaceElement.java | 4 +- .../ElectricalMachineDescriptor.java | 37 +- .../ElectricalMachineRender.java | 2 +- .../heatfurnace/HeatFurnaceDescriptor.java | 37 +- .../heatfurnace/HeatFurnaceRender.java | 6 +- .../PowerCapacitorDescriptor.java | 31 +- .../PowerInductorDescriptor.java | 31 +- .../solarpanel/SolarPanelDescriptor.java | 55 +- .../solarpanel/SolarPanelElement.java | 2 +- .../solarpanel/SolarPannelSlowProcess.java | 14 +- .../teleporter/ITeleporter.java | 4 +- .../teleporter/TeleporterDescriptor.java | 114 ++-- .../teleporter/TeleporterElement.java | 180 +++--- .../teleporter/TeleporterRender.java | 10 +- .../ThermalDissipatorActiveDescriptor.java | 39 +- .../ThermalDissipatorPassiveDescriptor.java | 39 +- .../transformer/TransformerDescriptor.java | 37 +- .../transformer/TransformerRender.java | 6 +- .../turbine/TurbineDescriptor.java | 37 +- .../turbine/TurbineRender.java | 2 +- .../turret/TurretDescriptor.java | 45 +- .../transparentnode/turret/TurretElement.java | 4 +- .../turret/TurretSlowProcess.java | 10 +- .../waterturbine/WaterTurbineDescriptor.java | 67 +- .../waterturbine/WaterTurbineElement.java | 8 +- .../waterturbine/WaterTurbineRender.java | 12 +- .../waterturbine/WaterTurbineSlowProcess.java | 4 +- .../windturbine/WindTurbineDescriptor.java | 43 +- .../windturbine/WindTurbineSlowProcess.java | 10 +- 403 files changed, 4441 insertions(+), 14122 deletions(-) create mode 100644 Tasks.org delete mode 100644 libs/industrialcraft-2-2.1.477-experimental-api.jar delete mode 100644 src/api/java/dan200/computercraft/api/ComputerCraftAPI.java delete mode 100644 src/api/java/dan200/computercraft/api/filesystem/IMount.java delete mode 100644 src/api/java/dan200/computercraft/api/filesystem/IWritableMount.java delete mode 100644 src/api/java/dan200/computercraft/api/lua/ILuaContext.java delete mode 100644 src/api/java/dan200/computercraft/api/lua/ILuaObject.java delete mode 100644 src/api/java/dan200/computercraft/api/lua/LuaException.java delete mode 100644 src/api/java/dan200/computercraft/api/media/IMedia.java delete mode 100644 src/api/java/dan200/computercraft/api/media/IMediaProvider.java delete mode 100644 src/api/java/dan200/computercraft/api/peripheral/IComputerAccess.java delete mode 100644 src/api/java/dan200/computercraft/api/peripheral/IPeripheral.java delete mode 100644 src/api/java/dan200/computercraft/api/peripheral/IPeripheralProvider.java delete mode 100644 src/api/java/dan200/computercraft/api/redstone/IBundledRedstoneProvider.java delete mode 100644 src/api/java/dan200/computercraft/api/turtle/ITurtleAccess.java delete mode 100644 src/api/java/dan200/computercraft/api/turtle/ITurtleCommand.java delete mode 100644 src/api/java/dan200/computercraft/api/turtle/ITurtleUpgrade.java delete mode 100644 src/api/java/dan200/computercraft/api/turtle/TurtleAnimation.java delete mode 100644 src/api/java/dan200/computercraft/api/turtle/TurtleCommandResult.java delete mode 100644 src/api/java/dan200/computercraft/api/turtle/TurtleSide.java delete mode 100644 src/api/java/dan200/computercraft/api/turtle/TurtleUpgradeType.java delete mode 100644 src/api/java/dan200/computercraft/api/turtle/TurtleVerb.java delete mode 100644 src/api/java/li/cil/oc/api/API.java delete mode 100644 src/api/java/li/cil/oc/api/CreativeTab.java delete mode 100644 src/api/java/li/cil/oc/api/Driver.java delete mode 100644 src/api/java/li/cil/oc/api/FileSystem.java delete mode 100644 src/api/java/li/cil/oc/api/Items.java delete mode 100644 src/api/java/li/cil/oc/api/Machine.java delete mode 100644 src/api/java/li/cil/oc/api/Network.java delete mode 100644 src/api/java/li/cil/oc/api/Persistable.java delete mode 100644 src/api/java/li/cil/oc/api/README.md delete mode 100644 src/api/java/li/cil/oc/api/component/Keyboard.java delete mode 100644 src/api/java/li/cil/oc/api/component/TextBuffer.java delete mode 100644 src/api/java/li/cil/oc/api/component/package-info.java delete mode 100644 src/api/java/li/cil/oc/api/detail/Builder.java delete mode 100644 src/api/java/li/cil/oc/api/detail/DriverAPI.java delete mode 100644 src/api/java/li/cil/oc/api/detail/FileSystemAPI.java delete mode 100644 src/api/java/li/cil/oc/api/detail/ItemAPI.java delete mode 100644 src/api/java/li/cil/oc/api/detail/ItemInfo.java delete mode 100644 src/api/java/li/cil/oc/api/detail/MachineAPI.java delete mode 100644 src/api/java/li/cil/oc/api/detail/NetworkAPI.java delete mode 100644 src/api/java/li/cil/oc/api/detail/package-info.java delete mode 100644 src/api/java/li/cil/oc/api/driver/Block.java delete mode 100644 src/api/java/li/cil/oc/api/driver/Converter.java delete mode 100644 src/api/java/li/cil/oc/api/driver/EnvironmentAware.java delete mode 100644 src/api/java/li/cil/oc/api/driver/EnvironmentHost.java delete mode 100644 src/api/java/li/cil/oc/api/driver/Item.java delete mode 100644 src/api/java/li/cil/oc/api/driver/MethodWhitelist.java delete mode 100644 src/api/java/li/cil/oc/api/driver/NamedBlock.java delete mode 100644 src/api/java/li/cil/oc/api/driver/item/Container.java delete mode 100644 src/api/java/li/cil/oc/api/driver/item/HostAware.java delete mode 100644 src/api/java/li/cil/oc/api/driver/item/Inventory.java delete mode 100644 src/api/java/li/cil/oc/api/driver/item/Memory.java delete mode 100644 src/api/java/li/cil/oc/api/driver/item/Processor.java delete mode 100644 src/api/java/li/cil/oc/api/driver/item/Slot.java delete mode 100644 src/api/java/li/cil/oc/api/driver/item/package-info.java delete mode 100644 src/api/java/li/cil/oc/api/driver/package-info.java delete mode 100644 src/api/java/li/cil/oc/api/event/FileSystemAccessEvent.java delete mode 100644 src/api/java/li/cil/oc/api/event/GeolyzerEvent.java delete mode 100644 src/api/java/li/cil/oc/api/event/RobotAnalyzeEvent.java delete mode 100644 src/api/java/li/cil/oc/api/event/RobotAttackEntityEvent.java delete mode 100644 src/api/java/li/cil/oc/api/event/RobotBreakBlockEvent.java delete mode 100644 src/api/java/li/cil/oc/api/event/RobotEvent.java delete mode 100644 src/api/java/li/cil/oc/api/event/RobotExhaustionEvent.java delete mode 100644 src/api/java/li/cil/oc/api/event/RobotMoveEvent.java delete mode 100644 src/api/java/li/cil/oc/api/event/RobotPlaceBlockEvent.java delete mode 100644 src/api/java/li/cil/oc/api/event/RobotPlaceInAirEvent.java delete mode 100644 src/api/java/li/cil/oc/api/event/RobotRenderEvent.java delete mode 100644 src/api/java/li/cil/oc/api/event/RobotUsedToolEvent.java delete mode 100644 src/api/java/li/cil/oc/api/event/package-info.java delete mode 100644 src/api/java/li/cil/oc/api/fs/FileSystem.java delete mode 100644 src/api/java/li/cil/oc/api/fs/Handle.java delete mode 100644 src/api/java/li/cil/oc/api/fs/Label.java delete mode 100644 src/api/java/li/cil/oc/api/fs/Mode.java delete mode 100644 src/api/java/li/cil/oc/api/fs/package-info.java delete mode 100644 src/api/java/li/cil/oc/api/internal/Adapter.java delete mode 100644 src/api/java/li/cil/oc/api/internal/Case.java delete mode 100644 src/api/java/li/cil/oc/api/internal/Colored.java delete mode 100644 src/api/java/li/cil/oc/api/internal/Database.java delete mode 100644 src/api/java/li/cil/oc/api/internal/Drone.java delete mode 100644 src/api/java/li/cil/oc/api/internal/Microcontroller.java delete mode 100644 src/api/java/li/cil/oc/api/internal/Robot.java delete mode 100644 src/api/java/li/cil/oc/api/internal/Rotatable.java delete mode 100644 src/api/java/li/cil/oc/api/internal/Server.java delete mode 100644 src/api/java/li/cil/oc/api/internal/ServerRack.java delete mode 100644 src/api/java/li/cil/oc/api/internal/Tablet.java delete mode 100644 src/api/java/li/cil/oc/api/internal/Tiered.java delete mode 100644 src/api/java/li/cil/oc/api/internal/package-info.java delete mode 100644 src/api/java/li/cil/oc/api/machine/Architecture.java delete mode 100644 src/api/java/li/cil/oc/api/machine/Arguments.java delete mode 100644 src/api/java/li/cil/oc/api/machine/Callback.java delete mode 100644 src/api/java/li/cil/oc/api/machine/Context.java delete mode 100644 src/api/java/li/cil/oc/api/machine/ExecutionResult.java delete mode 100644 src/api/java/li/cil/oc/api/machine/LimitReachedException.java delete mode 100644 src/api/java/li/cil/oc/api/machine/Machine.java delete mode 100644 src/api/java/li/cil/oc/api/machine/MachineHost.java delete mode 100644 src/api/java/li/cil/oc/api/machine/Signal.java delete mode 100644 src/api/java/li/cil/oc/api/machine/Value.java delete mode 100644 src/api/java/li/cil/oc/api/machine/package-info.java delete mode 100644 src/api/java/li/cil/oc/api/network/Analyzable.java delete mode 100644 src/api/java/li/cil/oc/api/network/BlacklistedPeripheral.java delete mode 100644 src/api/java/li/cil/oc/api/network/Component.java delete mode 100644 src/api/java/li/cil/oc/api/network/ComponentConnector.java delete mode 100644 src/api/java/li/cil/oc/api/network/Connector.java delete mode 100644 src/api/java/li/cil/oc/api/network/Environment.java delete mode 100644 src/api/java/li/cil/oc/api/network/ManagedEnvironment.java delete mode 100644 src/api/java/li/cil/oc/api/network/ManagedPeripheral.java delete mode 100644 src/api/java/li/cil/oc/api/network/Message.java delete mode 100644 src/api/java/li/cil/oc/api/network/Network.java delete mode 100644 src/api/java/li/cil/oc/api/network/Node.java delete mode 100644 src/api/java/li/cil/oc/api/network/Packet.java delete mode 100644 src/api/java/li/cil/oc/api/network/SidedComponent.java delete mode 100644 src/api/java/li/cil/oc/api/network/SidedEnvironment.java delete mode 100644 src/api/java/li/cil/oc/api/network/SimpleComponent.java delete mode 100644 src/api/java/li/cil/oc/api/network/Visibility.java delete mode 100644 src/api/java/li/cil/oc/api/network/WirelessEndpoint.java delete mode 100644 src/api/java/li/cil/oc/api/network/package-info.java delete mode 100644 src/api/java/li/cil/oc/api/package-info.java delete mode 100644 src/api/java/li/cil/oc/api/prefab/AbstractValue.java delete mode 100644 src/api/java/li/cil/oc/api/prefab/DriverBlock.java delete mode 100644 src/api/java/li/cil/oc/api/prefab/DriverItem.java delete mode 100644 src/api/java/li/cil/oc/api/prefab/DriverTileEntity.java delete mode 100644 src/api/java/li/cil/oc/api/prefab/ManagedEnvironment.java delete mode 100644 src/api/java/li/cil/oc/api/prefab/TileEntityEnvironment.java delete mode 100644 src/api/java/li/cil/oc/api/prefab/TileEntitySidedEnvironment.java delete mode 100644 src/api/java/li/cil/oc/api/prefab/package-info.java delete mode 100644 src/api/java/li/cil/oc/common/asm/SimpleComponentTickHandler.java delete mode 100644 src/api/java/li/cil/oc/common/asm/template/SimpleComponentImpl.java delete mode 100644 src/api/java/li/cil/oc/common/asm/template/SimpleEnvironment.java delete mode 100644 src/api/java/li/cil/oc/common/asm/template/StaticSimpleEnvironment.java delete mode 100644 src/api/java/li/cil/oc/util/SideTracker.java rename src/main/java/mods/eln/entity/{ReplicatoCableAI.java => ReplicatorCableAI.java} (73%) create mode 100644 src/main/java/mods/eln/misc/Coordinate.java delete mode 100644 src/main/java/mods/eln/misc/Coordonate.java delete mode 100644 src/main/java/mods/eln/sixnode/lampsocket/LampSocketObjRender.java diff --git a/Tasks.org b/Tasks.org new file mode 100644 index 000000000..97555e88b --- /dev/null +++ b/Tasks.org @@ -0,0 +1,6 @@ +* Tasks +** TODO Fix item rendering for basically everything +** TODO Add IC2 exporter +** TODO Not all TEs should be tickable. +* Ideas +** TODO Try gravity sketch diff --git a/build.gradle b/build.gradle index 46619c600..5caa5d31a 100644 --- a/build.gradle +++ b/build.gradle @@ -1,5 +1,5 @@ buildscript { - ext.kotlin_version = '1.2.41' + ext.kotlin_version = '1.2.50' repositories { mavenCentral() maven { @@ -78,9 +78,11 @@ configurations { repositories { jcenter() - maven { - url "https://maven.shadowfacts.net/" - } + maven { url "https://maven.shadowfacts.net/" } + maven { url "https://tehnut.info/maven" } + maven { url "https://cc.crzd.me/maven/" } + maven { url "https://maven.cil.li/" } + // mavenCentral() // maven { // name = "codechicken" @@ -95,6 +97,9 @@ repositories { dependencies { external files("libs/commons-math3-3.3.jar") compile group: "net.shadowfacts", name: "Forgelin", version: "1.7.3" + compile "dan200.computercraft:ComputerCraft:1.80pr1-build5" + compile "li.cil.oc:OpenComputers:MC1.10.2-1.7.2.172" + deobfCompile "mcp.mobius.waila:Hwyla:1.8.17-B31_1.10.2" // compile "mcp.mobius.waila:Waila:1.5.11-RC2-NONEI_1.7.10:dev" } diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 79dc6f8c4..335d00252 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ -#Sat Oct 14 13:19:59 IST 2017 +#Sat Jun 30 21:19:04 IST 2018 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-3.3-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-3.3-all.zip diff --git a/libs/industrialcraft-2-2.1.477-experimental-api.jar b/libs/industrialcraft-2-2.1.477-experimental-api.jar deleted file mode 100644 index 3029507882ac774e45af5f32b5dbad6e99a6f3fb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 117858 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 z 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%0DKE>M5}s=7YaS>*F=h}`+V+p1yEuwP$J^2 zdi4D&3N$5i$rsi{0HO$pVLS-MMGhh^OWiNK%z)6*GHU_tqMS32u?Dj z#Ung}y$Wn2%4GmVtcLGG5SZLS+P;?zDRj2!`&(EwyaYD|xc9F#9~m&-{i$16asPNd zk%BPfmnmvNPr$&0f=-D-LHlk`q#$T!aJWR|7Y~6B`#q5|p^35KOgjlE^PuXGcYJ8} zXgDoa5=uMZMnx(aG;1@QWi16|9duJ7g+Wsx!(qnKP}l)KB~lhN?J%4rDFbC8b5tUQ zLUa4Vp}d!%P>81zDG!=97tUjrh4MfX-gi|ZWkGXf!dZa|aMr$m@!zc`G`%F8mjs-@ z`#o!)x9YuA1eYUHg+MbT!np}o{?0w@b3_VMKzXIZQL`sI{;DeJ@R1TBDNA>}?BT^tV84(35LT_?U2Bc`dN`G1{#4E4&FinM&@WmiiO6mg=0@S9G3Slk!+#u7aF-0 z4s~=q3`Oc{MJg;bdMTV+<8+t{@wFl)LIZ%piJi`eiBR__QY17|CLFm9T-y7S1*g5h z$;kYp42R=pLNyGH>KrLZNXL;LyQ)aOnTIBnk~n z0Ehhyg20gYKat7@J+Tf)o(X{<_f`b<9iT{Y&~w{xoLwjscfbRRlm$J;3}-zLgR>61 z`;fw*r-0$G(r^e2?#M(+f*z8ElSU&TB>0iptMV9N;Q+V^!N03u*W%^_@cEDOe;#dq ATmS$7 diff --git a/src/api/java/dan200/computercraft/api/ComputerCraftAPI.java b/src/api/java/dan200/computercraft/api/ComputerCraftAPI.java deleted file mode 100644 index c9b17d6b0..000000000 --- a/src/api/java/dan200/computercraft/api/ComputerCraftAPI.java +++ /dev/null @@ -1,252 +0,0 @@ -/** - * This file is part of the public ComputerCraft API - http://www.computercraft.info - * Copyright Daniel Ratcliffe, 2011-2014. This API may be redistributed unmodified and in full only. - * For help using the API, and posting your mods, visit the forums at computercraft.info. - */ - -package dan200.computercraft.api; - -import dan200.computercraft.api.filesystem.IMount; -import dan200.computercraft.api.filesystem.IWritableMount; -import dan200.computercraft.api.media.IMediaProvider; -import dan200.computercraft.api.peripheral.IPeripheralProvider; -import dan200.computercraft.api.redstone.IBundledRedstoneProvider; -import dan200.computercraft.api.turtle.ITurtleUpgrade; -import net.minecraft.world.World; - -import java.lang.reflect.Method; - -/** - * The static entry point to the ComputerCraft API. - * Members in this class must be called after mod_ComputerCraft has been initialised, - * but may be called before it is fully loaded. - */ -public final class ComputerCraftAPI { - /** - * Creates a numbered directory in a subfolder of the save directory for a given world, and returns that number.
- * Use in conjuction with createSaveDirMount() to create a unique place for your peripherals or media items to store files.
- * - * @param world The world for which the save dir should be created. This should be the serverside world object. - * @param parentSubPath The folder path within the save directory where the new directory should be created. eg: "computercraft/disk" - * @return The numerical value of the name of the new folder, or -1 if the folder could not be created for some reason.
- * eg: if createUniqueNumberedSaveDir( world, "computer/disk" ) was called returns 42, then "computer/disk/42" is now available for writing. - * @see #createSaveDirMount(World, String, long) - */ - public static int createUniqueNumberedSaveDir(World world, String parentSubPath) { - findCC(); - if (computerCraft_createUniqueNumberedSaveDir != null) { - try { - return ((Integer) computerCraft_createUniqueNumberedSaveDir.invoke(null, world, parentSubPath)).intValue(); - } catch (Exception e) { - // It failed - } - } - return -1; - } - - /** - * Creates a file system mount that maps to a subfolder of the save directory for a given world, and returns it.
- * Use in conjuction with IComputerAccess.mount() or IComputerAccess.mountWritable() to mount a folder from the - * users save directory onto a computers file system.
- * - * @param world The world for which the save dir can be found. This should be the serverside world object. - * @param subPath The folder path within the save directory that the mount should map to. eg: "computer/disk/42".
- * Use createUniqueNumberedSaveDir() to create a new numbered folder to use. - * @param capacity The ammount of data that can be stored in the directory before it fills up, in bytes. - * @return The mount, or null if it could be created for some reason. Use IComputerAccess.mount() or IComputerAccess.mountWritable() - * to mount this on a Computers' file system. - * @see #createUniqueNumberedSaveDir(World, String) - * @see dan200.computercraft.api.peripheral.IComputerAccess#mount(String, dan200.computercraft.api.filesystem.IMount) - * @see dan200.computercraft.api.peripheral.IComputerAccess#mountWritable(String, dan200.computercraft.api.filesystem.IWritableMount) - * @see dan200.computercraft.api.filesystem.IMount - * @see IWritableMount - */ - public static IWritableMount createSaveDirMount(World world, String subPath, long capacity) { - findCC(); - if (computerCraft_createSaveDirMount != null) { - try { - return (IWritableMount) computerCraft_createSaveDirMount.invoke(null, world, subPath, capacity); - } catch (Exception e) { - // It failed - } - } - return null; - } - - /** - * Creates a file system mount to a resource folder, and returns it.
- * Use in conjuction with IComputerAccess.mount() or IComputerAccess.mountWritable() to mount a resource folder onto a computers file system.
- * The files in this mount will be a combination of files in the specified mod jar, and resource packs that contain resources with the same domain and path.
- * - * @param modClass A class in whose jar to look first for the resources to mount. Using your main mod class is recommended. eg: MyMod.class - * @param domain The domain under which to look for resources. eg: "mymod" - * @param subPath The domain under which to look for resources. eg: "mymod/lua/myfiles" - * @return The mount, or null if it could be created for some reason. Use IComputerAccess.mount() or IComputerAccess.mountWritable() - * to mount this on a Computers' file system. - * @see dan200.computercraft.api.peripheral.IComputerAccess#mount(String, dan200.computercraft.api.filesystem.IMount) - * @see dan200.computercraft.api.peripheral.IComputerAccess#mountWritable(String, IWritableMount) - * @see dan200.computercraft.api.filesystem.IMount - */ - public static IMount createResourceMount(Class modClass, String domain, String subPath) { - findCC(); - if (computerCraft_createResourceMount != null) { - try { - return (IMount) computerCraft_createResourceMount.invoke(null, modClass, domain, subPath); - } catch (Exception e) { - // It failed - } - } - return null; - } - - /** - * Registers a peripheral handler to convert blocks into IPeripheral implementations. - * - * @see dan200.computercraft.api.peripheral.IPeripheral - * @see dan200.computercraft.api.peripheral.IPeripheralProvider - */ - public static void registerPeripheralProvider(IPeripheralProvider handler) { - findCC(); - if (computerCraft_registerPeripheralProvider != null) { - try { - computerCraft_registerPeripheralProvider.invoke(null, handler); - } catch (Exception e) { - // It failed - } - } - } - - /** - * Registers a new turtle turtle for use in ComputerCraft. After calling this, - * users should be able to craft Turtles with your new turtle. It is recommended to call - * this during the load() method of your mod. - * - * @see dan200.computercraft.api.turtle.ITurtleUpgrade - */ - public static void registerTurtleUpgrade(ITurtleUpgrade upgrade) { - if (upgrade != null) { - findCC(); - if (computerCraft_registerTurtleUpgrade != null) { - try { - computerCraft_registerTurtleUpgrade.invoke(null, upgrade); - } catch (Exception e) { - // It failed - } - } - } - } - - /** - * Registers a bundled redstone handler to provide bundled redstone output for blocks - * - * @see dan200.computercraft.api.redstone.IBundledRedstoneProvider - */ - public static void registerBundledRedstoneProvider(IBundledRedstoneProvider handler) { - findCC(); - if (computerCraft_registerBundledRedstoneProvider != null) { - try { - computerCraft_registerBundledRedstoneProvider.invoke(null, handler); - } catch (Exception e) { - // It failed - } - } - } - - /** - * If there is a Computer or Turtle at a certain position in the world, get it's bundled redstone output. - * - * @return If there is a block capable of emitting bundled redstone at the location, it's signal (0-65535) will be returned. - * If there is no block capable of emitting bundled redstone at the location, -1 will be returned. - * @see dan200.computercraft.api.redstone.IBundledRedstoneProvider - */ - public static int getBundledRedstoneOutput(World world, int x, int y, int z, int side) { - findCC(); - if (computerCraft_getDefaultBundledRedstoneOutput != null) { - try { - return ((Integer) computerCraft_getDefaultBundledRedstoneOutput.invoke(null, world, x, y, z, side)).intValue(); - } catch (Exception e) { - // It failed - } - } - return -1; - } - - /** - * Registers a media handler to provide IMedia implementations for Items - * - * @see dan200.computercraft.api.media.IMediaProvider - */ - public static void registerMediaProvider(IMediaProvider handler) { - findCC(); - if (computerCraft_registerMediaProvider != null) { - try { - computerCraft_registerMediaProvider.invoke(null, handler); - } catch (Exception e) { - // It failed - } - } - } - - // The functions below here are private, and are used to interface with the non-API ComputerCraft classes. - // Reflection is used here so you can develop your mod in MCP without decompiling ComputerCraft and including - // it in your solution. - - private static void findCC() { - if (!ccSearched) { - try { - computerCraft = Class.forName("dan200.computercraft.ComputerCraft"); - computerCraft_createUniqueNumberedSaveDir = findCCMethod("createUniqueNumberedSaveDir", new Class[]{ - World.class, String.class - }); - computerCraft_createSaveDirMount = findCCMethod("createSaveDirMount", new Class[]{ - World.class, String.class, Long.TYPE - }); - computerCraft_createResourceMount = findCCMethod("createResourceMount", new Class[]{ - Class.class, String.class, String.class - }); - computerCraft_registerPeripheralProvider = findCCMethod("registerPeripheralProvider", new Class[]{ - IPeripheralProvider.class - }); - computerCraft_registerTurtleUpgrade = findCCMethod("registerTurtleUpgrade", new Class[]{ - ITurtleUpgrade.class - }); - computerCraft_registerBundledRedstoneProvider = findCCMethod("registerBundledRedstoneProvider", new Class[]{ - IBundledRedstoneProvider.class - }); - computerCraft_getDefaultBundledRedstoneOutput = findCCMethod("getDefaultBundledRedstoneOutput", new Class[]{ - World.class, Integer.TYPE, Integer.TYPE, Integer.TYPE, Integer.TYPE - }); - computerCraft_registerMediaProvider = findCCMethod("registerMediaProvider", new Class[]{ - IMediaProvider.class - }); - } catch (Exception e) { - System.out.println("ComputerCraftAPI: ComputerCraft not found."); - } finally { - ccSearched = true; - } - } - } - - private static Method findCCMethod(String name, Class[] args) { - try { - if (computerCraft != null) { - return computerCraft.getMethod(name, args); - } - return null; - } catch (NoSuchMethodException e) { - System.out.println("ComputerCraftAPI: ComputerCraft method " + name + " not found."); - return null; - } - } - - private static boolean ccSearched = false; - private static Class computerCraft = null; - private static Method computerCraft_createUniqueNumberedSaveDir = null; - private static Method computerCraft_createSaveDirMount = null; - private static Method computerCraft_createResourceMount = null; - private static Method computerCraft_registerPeripheralProvider = null; - private static Method computerCraft_registerTurtleUpgrade = null; - private static Method computerCraft_registerBundledRedstoneProvider = null; - private static Method computerCraft_getDefaultBundledRedstoneOutput = null; - private static Method computerCraft_registerMediaProvider = null; -} diff --git a/src/api/java/dan200/computercraft/api/filesystem/IMount.java b/src/api/java/dan200/computercraft/api/filesystem/IMount.java deleted file mode 100644 index c76eb3cf1..000000000 --- a/src/api/java/dan200/computercraft/api/filesystem/IMount.java +++ /dev/null @@ -1,62 +0,0 @@ -/** - * This file is part of the public ComputerCraft API - http://www.computercraft.info - * Copyright Daniel Ratcliffe, 2011-2014. This API may be redistributed unmodified and in full only. - * For help using the API, and posting your mods, visit the forums at computercraft.info. - */ - -package dan200.computercraft.api.filesystem; - -import java.io.IOException; -import java.io.InputStream; -import java.util.List; - -/** - * Represents a read only part of a virtual filesystem that can be mounted onto a computercraft using IComputerAccess.mount(). - * Ready made implementations of this interface can be created using ComputerCraftAPI.createSaveDirMount() or ComputerCraftAPI.createResourceMount(), or you're free to implement it yourselves! - * - * @see dan200.computercraft.api.ComputerCraftAPI#createSaveDirMount(World, String) - * @see dan200.computercraft.api.ComputerCraftAPI#createResourceMount(Class, String, String) - * @see dan200.computercraft.api.peripheral.IComputerAccess#mount(String, IMount) - * @see IWritableMount - */ -public interface IMount { - /** - * Returns whether a file with a given path exists or not. - * - * @param path A file path in normalised format, relative to the mount location. ie: "programs/myprogram" - * @return true if the file exists, false otherwise - */ - public boolean exists(String path) throws IOException; - - /** - * Returns whether a file with a given path is a directory or not. - * - * @param path A file path in normalised format, relative to the mount location. ie: "programs/myprograms" - * @return true if the file exists and is a directory, false otherwise - */ - public boolean isDirectory(String path) throws IOException; - - /** - * Returns the file names of all the files in a directory. - * - * @param path A file path in normalised format, relative to the mount location. ie: "programs/myprograms" - * @param contents A list of strings. Add all the file names to this list - */ - public void list(String path, List contents) throws IOException; - - /** - * Returns the size of a file with a given path, in bytes - * - * @param path A file path in normalised format, relative to the mount location. ie: "programs/myprogram" - * @return the size of the file, in bytes - */ - public long getSize(String path) throws IOException; - - /** - * Opens a file with a given path, and returns an inputstream representing it's contents. - * - * @param path A file path in normalised format, relative to the mount location. ie: "programs/myprogram" - * @return a stream representing the contents of the file - */ - public InputStream openForRead(String path) throws IOException; -} diff --git a/src/api/java/dan200/computercraft/api/filesystem/IWritableMount.java b/src/api/java/dan200/computercraft/api/filesystem/IWritableMount.java deleted file mode 100644 index 15cf758a2..000000000 --- a/src/api/java/dan200/computercraft/api/filesystem/IWritableMount.java +++ /dev/null @@ -1,57 +0,0 @@ -/** - * This file is part of the public ComputerCraft API - http://www.computercraft.info - * Copyright Daniel Ratcliffe, 2011-2014. This API may be redistributed unmodified and in full only. - * For help using the API, and posting your mods, visit the forums at computercraft.info. - */ - -package dan200.computercraft.api.filesystem; - -import java.io.IOException; -import java.io.OutputStream; - -/** - * Represents a part of a virtual filesystem that can be mounted onto a computercraft using IComputerAccess.mount() or IComputerAccess.mountWritable(), that can also be written to. - * Ready made implementations of this interface can be created using ComputerCraftAPI.createSaveDirMount(), or you're free to implement it yourselves! - * - * @see dan200.computercraft.api.ComputerCraftAPI#createSaveDirMount(World, String) - * @see dan200.computercraft.api.peripheral.IComputerAccess#mountWritable(String, dan200.computercraft.api.filesystem.IMount) - * @see dan200.computercraft.api.filesystem.IMount - */ -public interface IWritableMount extends IMount { - /** - * Creates a directory at a given path inside the virtual file system. - * - * @param path A file path in normalised format, relative to the mount location. ie: "programs/mynewprograms" - */ - public void makeDirectory(String path) throws IOException; - - /** - * Deletes a directory at a given path inside the virtual file system. - * - * @param path A file path in normalised format, relative to the mount location. ie: "programs/myoldprograms" - */ - public void delete(String path) throws IOException; - - /** - * Opens a file with a given path, and returns an outputstream for writing to it. - * - * @param path A file path in normalised format, relative to the mount location. ie: "programs/myprogram" - * @return a stream for writing to - */ - public OutputStream openForWrite(String path) throws IOException; - - /** - * Opens a file with a given path, and returns an outputstream for appending to it. - * - * @param path A file path in normalised format, relative to the mount location. ie: "programs/myprogram" - * @return a stream for writing to - */ - public OutputStream openForAppend(String path) throws IOException; - - /** - * Get the ammount of free space on the mount, in bytes. You should decrease this value as the user writes to the mount, and write operations should fail once it reaches zero. - * - * @return The ammount of free space, in bytes. - */ - public long getRemainingSpace() throws IOException; -} diff --git a/src/api/java/dan200/computercraft/api/lua/ILuaContext.java b/src/api/java/dan200/computercraft/api/lua/ILuaContext.java deleted file mode 100644 index 8de995f74..000000000 --- a/src/api/java/dan200/computercraft/api/lua/ILuaContext.java +++ /dev/null @@ -1,46 +0,0 @@ -/** - * This file is part of the public ComputerCraft API - http://www.computercraft.info - * Copyright Daniel Ratcliffe, 2011-2014. This API may be redistributed unmodified and in full only. - * For help using the API, and posting your mods, visit the forums at computercraft.info. - */ - -package dan200.computercraft.api.lua; - -/** - * An interface passed to peripherals and ILuaObjects' by computers or turtles, providing methods - * that allow the peripheral call to wait for events before returning, just like in lua. - * This is very useful if you need to signal work to be performed on the main thread, and don't want to return - * until the work has been completed. - */ -public interface ILuaContext { - /** - * Wait for an event to occur on the computercraft, suspending the thread until it arises. This method is exactly equivalent to os.pullEvent() in lua. - * - * @param filter A specific event to wait for, or null to wait for any event - * @return An object array containing the name of the event that occurred, and any event parameters - * @throws Exception If the user presses CTRL+T to terminate the current program while pullEvent() is waiting for an event, a "Terminated" exception will be thrown here. - * Do not attempt to common this exception, unless you wish to prevent termination, which is not recommended. - * @throws InterruptedException If the user shuts down or reboots the computercraft while pullEvent() is waiting for an event, InterruptedException will be thrown. This exception must not be caught or intercepted, or the computercraft will leak memory and end up in a broken state. - */ - public Object[] pullEvent(String filter) throws LuaException, InterruptedException; - - /** - * The same as pullEvent(), except "terminated" events are ignored. Only use this if you want to prevent program termination, which is not recommended. This method is exactly equivalent to os.pullEventRaw() in lua. - * - * @param filter A specific event to wait for, or null to wait for any event - * @return An object array containing the name of the event that occurred, and any event parameters - * @throws InterruptedException If the user shuts down or reboots the computercraft while pullEventRaw() is waiting for an event, InterruptedException will be thrown. This exception must not be caught or intercepted, or the computercraft will leak memory and end up in a broken state. - * @see #pullEvent(String) - */ - public Object[] pullEventRaw(String filter) throws InterruptedException; - - /** - * Yield the current coroutine with some arguments until it is resumed. This method is exactly equivalent to coroutine.yield() in lua. Use pullEvent() if you wish to wait for events. - * - * @param arguments An object array containing the arguments to pass to coroutine.yield() - * @return An object array containing the return values from coroutine.yield() - * @throws InterruptedException If the user shuts down or reboots the computercraft the coroutine is suspended, InterruptedException will be thrown. This exception must not be caught or intercepted, or the computercraft will leak memory and end up in a broken state. - * @see #pullEvent(String) - */ - public Object[] yield(Object[] arguments) throws InterruptedException; -} diff --git a/src/api/java/dan200/computercraft/api/lua/ILuaObject.java b/src/api/java/dan200/computercraft/api/lua/ILuaObject.java deleted file mode 100644 index 1ee902a7b..000000000 --- a/src/api/java/dan200/computercraft/api/lua/ILuaObject.java +++ /dev/null @@ -1,27 +0,0 @@ -/** - * This file is part of the public ComputerCraft API - http://www.computercraft.info - * Copyright Daniel Ratcliffe, 2011-2014. This API may be redistributed unmodified and in full only. - * For help using the API, and posting your mods, visit the forums at computercraft.info. - */ - -package dan200.computercraft.api.lua; - -/** - * An interface for representing custom objects returned by IPeripheral.callMethod() calls. - * Return objects implementing this interface to expose objects with methods to lua. - */ -public interface ILuaObject { - /** - * Get the names of the methods that this object implements. This works the same as IPeripheral.getMethodNames(). See that method for detailed documentation. - * - * @see dan200.computercraft.api.peripheral.IPeripheral#getMethodNames() - */ - public String[] getMethodNames(); - - /** - * Called when a user calls one of the methods that this object implements. This works the same as IPeripheral.callMethod(). See that method for detailed documentation. - * - * @see dan200.computercraft.api.peripheral.IPeripheral#callMethod(dan200.computercraft.api.peripheral.IComputerAccess, ILuaContext, int, Object[]) - */ - public Object[] callMethod(ILuaContext context, int method, Object[] arguments) throws LuaException, InterruptedException; -} diff --git a/src/api/java/dan200/computercraft/api/lua/LuaException.java b/src/api/java/dan200/computercraft/api/lua/LuaException.java deleted file mode 100644 index e02c72c39..000000000 --- a/src/api/java/dan200/computercraft/api/lua/LuaException.java +++ /dev/null @@ -1,27 +0,0 @@ -/** - * This file is part of the public ComputerCraft API - http://www.computercraft.info - * Copyright Daniel Ratcliffe, 2011-2014. This API may be redistributed unmodified and in full only. - * For help using the API, and posting your mods, visit the forums at computercraft.info. - */ - -package dan200.computercraft.api.lua; - -/** - * An exception representing an error in Lua, like that raised by the error() function - */ -public class LuaException extends Exception { - private final int m_level; - - public LuaException(String message) { - this(message, 1); - } - - public LuaException(String message, int level) { - super(message); - m_level = level; - } - - public int getLevel() { - return m_level; - } -} diff --git a/src/api/java/dan200/computercraft/api/media/IMedia.java b/src/api/java/dan200/computercraft/api/media/IMedia.java deleted file mode 100644 index b324f93cc..000000000 --- a/src/api/java/dan200/computercraft/api/media/IMedia.java +++ /dev/null @@ -1,63 +0,0 @@ -/** - * This file is part of the public ComputerCraft API - http://www.computercraft.info - * Copyright Daniel Ratcliffe, 2011-2014. This API may be redistributed unmodified and in full only. - * For help using the API, and posting your mods, visit the forums at computercraft.info. - */ - -package dan200.computercraft.api.media; - -import dan200.computercraft.api.filesystem.IMount; -import net.minecraft.item.ItemStack; -import net.minecraft.world.World; - -/** - * Represents an item that can be placed in a disk drive and used by a Computer. - * Implement this interface on your Item class to allow it to be used in the drive. - */ -public interface IMedia { - /** - * Get a string representing the label of this item. Will be called vi disk.getLabel() in lua. - * - * @param stack The itemstack to inspect - * @return The label. ie: "Dan's Programs" - */ - public String getLabel(ItemStack stack); - - /** - * Set a string representing the label of this item. Will be called vi disk.setLabel() in lua. - * - * @param stack The itemstack to modify. - * @param label The string to set the label to. - * @return true if the label was updated, false if the label may not be modified. - */ - public boolean setLabel(ItemStack stack, String label); - - /** - * If this disk represents an item with audio (like a record), get the readable name of the audio track. ie: "Jonathon Coulton - Still Alive" - * - * @param stack The itemstack to inspect. - * @return The name, or null if this item does not represent an item with audio. - */ - public String getAudioTitle(ItemStack stack); - - /** - * If this disk represents an item with audio (like a record), get the resource name of the audio track to play. - * - * @param stack The itemstack to inspect. - * @return The name, or null if this item does not represent an item with audio. - */ - public String getAudioRecordName(ItemStack stack); - - /** - * If this disk represents an item with data (like a floppy disk), get a mount representing it's contents. This will be mounted onto the filesystem of the computercraft while the media is in the disk drive. - * - * @param stack The itemstack to inspect. - * @param world The world in which the item and disk drive reside. - * @return The mount, or null if this item does not represent an item with data. If the IMount returned also implements IWritableMount, it will mounted using mountWritable() - * @see dan200.computercraft.api.filesystem.IMount - * @see dan200.computercraft.api.filesystem.IWritableMount - * @see dan200.computercraft.api.ComputerCraftAPI#createSaveDirMount(World, String, long) - * @see dan200.computercraft.api.ComputerCraftAPI#createResourceMount(Class, String, String) - */ - public IMount createDataMount(ItemStack stack, World world); -} diff --git a/src/api/java/dan200/computercraft/api/media/IMediaProvider.java b/src/api/java/dan200/computercraft/api/media/IMediaProvider.java deleted file mode 100644 index 66fdaba16..000000000 --- a/src/api/java/dan200/computercraft/api/media/IMediaProvider.java +++ /dev/null @@ -1,24 +0,0 @@ -/** - * This file is part of the public ComputerCraft API - http://www.computercraft.info - * Copyright Daniel Ratcliffe, 2011-2014. This API may be redistributed unmodified and in full only. - * For help using the API, and posting your mods, visit the forums at computercraft.info. - */ - -package dan200.computercraft.api.media; - -import net.minecraft.item.ItemStack; - -/** - * This interface is used to provide IMedia implementations for ItemStack - * - * @see dan200.computercraft.api.ComputerCraftAPI#registerMediaProvider(IMediaProvider) - */ -public interface IMediaProvider { - /** - * Produce an IMedia implementation from an ItemStack. - * - * @return an IMedia implementation, or null if the item is not something you wish to handle - * @see dan200.computercraft.api.ComputerCraftAPI#registerMediaProvider(IMediaProvider) - */ - public IMedia getMedia(ItemStack stack); -} diff --git a/src/api/java/dan200/computercraft/api/peripheral/IComputerAccess.java b/src/api/java/dan200/computercraft/api/peripheral/IComputerAccess.java deleted file mode 100644 index 8659ea446..000000000 --- a/src/api/java/dan200/computercraft/api/peripheral/IComputerAccess.java +++ /dev/null @@ -1,97 +0,0 @@ -/** - * This file is part of the public ComputerCraft API - http://www.computercraft.info - * Copyright Daniel Ratcliffe, 2011-2014. This API may be redistributed unmodified and in full only. - * For help using the API, and posting your mods, visit the forums at computercraft.info. - */ - -package dan200.computercraft.api.peripheral; - -import dan200.computercraft.api.filesystem.IMount; -import dan200.computercraft.api.filesystem.IWritableMount; - -/** - * The interface passed to peripherals by computers or turtles, providing methods - * that they can call. This should not be implemented by your classes. Do not interact - * with computers except via this interface. - */ -public interface IComputerAccess { - /** - * Mount a mount onto the computers' file system in a read only mode.
- * - * @param desiredLocation The location on the computercraft's file system where you would like the mount to be mounted. - * @param mount The mount object to mount on the computercraft. These can be obtained by calling ComputerCraftAPI.createSaveDirMount(), ComputerCraftAPI.createResourceMount() or by creating your own objects that implement the IMount interface. - * @return The location on the computercraft's file system where you the mount mounted, or null if there was already a file in the desired location. Store this value if you wish to unmount the mount later. - * @see dan200.computercraft.api.ComputerCraftAPI#createSaveDirMount(World, String) - * @see dan200.computercraft.api.ComputerCraftAPI#createResourceMount(Class, String, String) - * @see #mountWritable(String, dan200.computercraft.api.filesystem.IWritableMount) - * @see #unmount(String) - * @see dan200.computercraft.api.filesystem.IMount - */ - public String mount(String desiredLocation, IMount mount); - - /** - * Mount a mount onto the computers' file system in a writable mode.
- * - * @param desiredLocation The location on the computercraft's file system where you would like the mount to be mounted. - * @param mount The mount object to mount on the computercraft. These can be obtained by calling ComputerCraftAPI.createSaveDirMount() or by creating your own objects that implement the IWritableMount interface. - * @return The location on the computercraft's file system where you the mount mounted, or null if there was already a file in the desired location. Store this value if you wish to unmount the mount later. - * @see dan200.computercraft.api.ComputerCraftAPI#createSaveDirMount(World, String) - * @see dan200.computercraft.api.ComputerCraftAPI#createResourceMount(Class, String, String) - * @see #mount(String, IMount) - * @see #unmount(String) - * @see IMount - */ - public String mountWritable(String desiredLocation, IWritableMount mount); - - /** - * Unmounts a directory previously mounted onto the computers file system by mount() or mountWritable().
- * When a directory is unmounted, it will disappear from the computers file system, and the user will no longer be able to - * access it. All directories mounted by a mount or mountWritable are automatically unmounted when the peripheral - * is attached if they have not been explicitly unmounted. - * - * @param location The desired location in the computers file system of the directory to unmount. - * This must be the location of a directory previously mounted by mount() or mountWritable(), as - * indicated by their return value. - * @see #mount(String, IMount) - * @see #mountWritable(String, IWritableMount) - */ - public void unmount(String location); - - /** - * Returns the numerical ID of this computercraft.
- * This is the same number obtained by calling os.getComputerID() or running the "id" program from lua, - * and is guarunteed unique. This number will be positive. - * - * @return The identifier. - */ - public int getID(); - - /** - * Causes an event to be raised on this computercraft, which the computercraft can respond to by calling - * os.pullEvent(). This can be used to notify the computercraft when things happen in the world or to - * this peripheral. - * - * @param event A string identifying the type of event that has occurred, this will be - * returned as the first value from os.pullEvent(). It is recommended that you - * you choose a name that is unique, and recognisable as originating from your - * peripheral. eg: If your peripheral type is "button", a suitable event would be - * "button_pressed". - * @param arguments In addition to a name, you may pass an array of extra arguments to the event, that will - * be supplied as extra return values to os.pullEvent(). Objects in the array will be converted - * to lua data types in the same fashion as the return values of IPeripheral.callMethod().
- * You may supply null to indicate that no arguments are to be supplied. - * @see dan200.computercraft.api.peripheral.IPeripheral#callMethod - */ - public void queueEvent(String event, Object[] arguments); - - /** - * Get a string, unique to the computercraft, by which the computercraft refers to this peripheral. - * For directly attached peripherals this will be "left","right","front","back",etc, but - * for peripherals attached remotely it will be different. It is good practice to supply - * this string when raising events to the computercraft, so that the computercraft knows from - * which peripheral the event came. - * - * @return A string unique to the computercraft, but not globally. - */ - public String getAttachmentName(); -} diff --git a/src/api/java/dan200/computercraft/api/peripheral/IPeripheral.java b/src/api/java/dan200/computercraft/api/peripheral/IPeripheral.java deleted file mode 100644 index 2be6c35d4..000000000 --- a/src/api/java/dan200/computercraft/api/peripheral/IPeripheral.java +++ /dev/null @@ -1,104 +0,0 @@ -/** - * This file is part of the public ComputerCraft API - http://www.computercraft.info - * Copyright Daniel Ratcliffe, 2011-2014. This API may be redistributed unmodified and in full only. - * For help using the API, and posting your mods, visit the forums at computercraft.info. - */ - -package dan200.computercraft.api.peripheral; - -import dan200.computercraft.api.lua.ILuaContext; -import dan200.computercraft.api.lua.LuaException; - -/** - * The interface that defines a peripheral. This should be implemented by the - * TileEntity of any common that you wish to be interacted with by - * computercraft or turtle. - */ -public interface IPeripheral { - /** - * Should return a string that uniquely identifies this type of peripheral. - * This can be queried from lua by calling peripheral.getType() - * - * @return A string identifying the type of peripheral. - */ - public String getType(); - - /** - * Should return an array of strings that identify the methods that this - * peripheral exposes to Lua. This will be called once before each attachment, - * and should not change when called multiple times. - * - * @return An array of strings representing method names. - * @see #callMethod - */ - public String[] getMethodNames(); - - /** - * This is called when a lua program on an attached computercraft calls peripheral.call() with - * one of the methods exposed by getMethodNames().
- *
- * Be aware that this will be called from the ComputerCraft Lua thread, and must be thread-safe - * when interacting with minecraft objects. - * - * @param computer The interface to the computercraft that is making the call. Remember that multiple - * computers can be attached to a peripheral at once. - * @return An array of objects, representing values you wish to return to the lua program.
- * Integers, Doubles, Floats, Strings, Booleans and null be converted to their corresponding lua type.
- * All other types will be converted to nil.
- * You may return null to indicate no values should be returned. - * @param context The context of the currently running lua thread. This can be used to wait for events - * or otherwise yield. - * @param method An integer identifying which of the methods from getMethodNames() the computercraft - * wishes to call. The integer indicates the index into the getMethodNames() table - * that corresponds to the string passed into peripheral.call() - * @param arguments An array of objects, representing the arguments passed into peripheral.call().
- * Lua values of type "string" will be represented by Object type String.
- * Lua values of type "number" will be represented by Object type Double.
- * Lua values of type "boolean" will be represented by Object type Boolean.
- * Lua values of any other type will be represented by a null object.
- * This array will be empty if no arguments are passed. - * @throws Exception If you throw any exception from this function, a lua error will be raised with the - * same message as your exception. Use this to throw appropriate errors if the wrong - * arguments are supplied to your method. - * @see #getMethodNames - */ - public Object[] callMethod(IComputerAccess computer, ILuaContext context, int method, Object[] arguments) throws LuaException, InterruptedException; - - /** - * Is called when canAttachToSide has returned true, and a computercraft is attaching to the peripheral. - * This will occur when a peripheral is placed next to an active computercraft, when a computercraft is turned on next to a peripheral, - * or when a turtle travels into a square next to a peripheral. - * Between calls to attach() and detach(), the attached computercraft can make method calls on the peripheral using peripheral.call(). - * This method can be used to keep track of which computers are attached to the peripheral, or to take action when attachment - * occurs.
- *
- * Be aware that this will be called from the ComputerCraft Lua thread, and must be thread-safe - * when interacting with minecraft objects. - * - * @param computer The interface to the computercraft that is being attached. Remember that multiple - * computers can be attached to a peripheral at once. - * @see #detach - */ - public void attach(IComputerAccess computer); - - /** - * Is called when a computercraft is detaching from the peripheral. - * This will occur when a computercraft shuts down, when the peripheral is removed while attached to computers, - * or when a turtle moves away from a square attached to a peripheral. - * This method can be used to keep track of which computers are attached to the peripheral, or to take action when detachment - * occurs.
- *
- * Be aware that this will be called from the ComputerCraft Lua thread, and must be thread-safe - * when interacting with minecraft objects. - * - * @param computer The interface to the computercraft that is being detached. Remember that multiple - * computers can be attached to a peripheral at once. - * @see #detach - */ - public void detach(IComputerAccess computer); - - /** - * TODO: Document me - */ - public boolean equals(IPeripheral other); -} diff --git a/src/api/java/dan200/computercraft/api/peripheral/IPeripheralProvider.java b/src/api/java/dan200/computercraft/api/peripheral/IPeripheralProvider.java deleted file mode 100644 index 753dd1552..000000000 --- a/src/api/java/dan200/computercraft/api/peripheral/IPeripheralProvider.java +++ /dev/null @@ -1,24 +0,0 @@ -/** - * This file is part of the public ComputerCraft API - http://www.computercraft.info - * Copyright Daniel Ratcliffe, 2011-2014. This API may be redistributed unmodified and in full only. - * For help using the API, and posting your mods, visit the forums at computercraft.info. - */ - -package dan200.computercraft.api.peripheral; - -import net.minecraft.world.World; - -/** - * This interface is used to create peripheral implementations for blocks - * - * @see dan200.computercraft.api.ComputerCraftAPI#registerPeripheralProvider(IPeripheralProvider) - */ -public interface IPeripheralProvider { - /** - * Produce an peripheral implementation from a block location. - * - * @return a peripheral, or null if there is not a peripheral here you'd like to handle. - * @see dan200.computercraft.api.ComputerCraftAPI#registerPeripheralProvider(IPeripheralProvider) - */ - public IPeripheral getPeripheral(World world, int x, int y, int z, int side); -} diff --git a/src/api/java/dan200/computercraft/api/redstone/IBundledRedstoneProvider.java b/src/api/java/dan200/computercraft/api/redstone/IBundledRedstoneProvider.java deleted file mode 100644 index 0abaddfd6..000000000 --- a/src/api/java/dan200/computercraft/api/redstone/IBundledRedstoneProvider.java +++ /dev/null @@ -1,24 +0,0 @@ -/** - * This file is part of the public ComputerCraft API - http://www.computercraft.info - * Copyright Daniel Ratcliffe, 2011-2014. This API may be redistributed unmodified and in full only. - * For help using the API, and posting your mods, visit the forums at computercraft.info. - */ - -package dan200.computercraft.api.redstone; - -import net.minecraft.world.World; - -/** - * This interface is used to provide bundled redstone output for blocks - * - * @see dan200.computercraft.api.ComputerCraftAPI#registerBundledRedstoneProvider(IBundledRedstoneProvider) - */ -public interface IBundledRedstoneProvider { - /** - * Produce an bundled redstone output from a block location. - * - * @return a number in the range 0-65535 to indicate this block is providing output, or -1 if you do not wish to handle this block - * @see dan200.computercraft.api.ComputerCraftAPI#registerBundledRedstoneProvider(IBundledRedstoneProvider) - */ - public int getBundledRedstoneOutput(World world, int x, int y, int z, int side); -} diff --git a/src/api/java/dan200/computercraft/api/turtle/ITurtleAccess.java b/src/api/java/dan200/computercraft/api/turtle/ITurtleAccess.java deleted file mode 100644 index 01549327c..000000000 --- a/src/api/java/dan200/computercraft/api/turtle/ITurtleAccess.java +++ /dev/null @@ -1,163 +0,0 @@ -/** - * This file is part of the public ComputerCraft API - http://www.computercraft.info - * Copyright Daniel Ratcliffe, 2011-2014. This API may be redistributed unmodified and in full only. - * For help using the API, and posting your mods, visit the forums at computercraft.info. - */ - -package dan200.computercraft.api.turtle; - -import dan200.computercraft.api.lua.ILuaContext; -import dan200.computercraft.api.lua.LuaException; -import dan200.computercraft.api.peripheral.IPeripheral; -import net.minecraft.inventory.IInventory; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.util.ChunkCoordinates; -import net.minecraft.util.Vec3; -import net.minecraft.world.World; - -/** - * The interface passed to turtle by turtles, providing methods that they can call. - * This should not be implemented by your classes. Do not interact with turtles except via this interface and ITurtleUpgrade. - */ -public interface ITurtleAccess { - /** - * Returns the world in which the turtle resides. - * - * @return the world in which the turtle resides. - */ - public World getWorld(); - - /** - * Returns a vector containing the integer co-ordinates at which the turtle resides. - * - * @return a vector containing the integer co-ordinates at which the turtle resides. - */ - public ChunkCoordinates getPosition(); - - /** - * TODO: Document me - */ - public boolean teleportTo(World world, int x, int y, int z); - - /** - * Returns a vector containing the floating point co-ordinates at which the turtle is rendered. - * This will shift when the turtle is moving. - * - * @param f The subframe fraction - * @return a vector containing the floating point co-ordinates at which the turtle resides. - */ - public Vec3 getVisualPosition(float f); - - /** - * TODO: Document me - */ - public float getVisualYaw(float f); - - /** - * Returns the world direction the turtle is currently facing. - * - * @return the world direction the turtle is currently facing. - */ - public int getDirection(); - - /** - * TODO: Document me - */ - public void setDirection(int dir); - - /** - * TODO: Document me - */ - public int getSelectedSlot(); - - /** - * TODO: Document me - */ - public void setSelectedSlot(int slot); - - /** - * TODO: Document me - */ - public IInventory getInventory(); - - /** - * TODO: Document me - */ - public boolean isFuelNeeded(); - - /** - * TODO: Document me - */ - public int getFuelLevel(); - - /** - * TODO: Document me - */ - public void setFuelLevel(int fuel); - - /** - * TODO: Document me - */ - public int getFuelLimit(); - - /** - * Removes some fuel from the turtles fuel supply. Negative numbers can be passed in to INCREASE the fuel level of the turtle. - * - * @return Whether the turtle was able to consume the ammount of fuel specified. Will return false if you supply a number - * greater than the current fuel level of the turtle. - */ - public boolean consumeFuel(int fuel); - - /** - * TODO: Document me - */ - public void addFuel(int fuel); - - /** - * Adds a custom command to the turtles command queue. Unlike peripheral methods, these custom commands will be executed - * on the main thread, so are guaranteed to be able to access Minecraft objects safely, and will be queued up - * with the turtles standard movement and tool commands. An issued command will return an unique integer, which will - * be supplied as a parameter to a "turtle_response" event issued to the turtle after the command has completed. Look at the - * lua source code for "rom/apis/turtle" for how to build a lua wrapper around this functionality. - * - * @param command an object which will execute the custom command when its point in the queue is reached - * @return the objects the command returned when executed. you should probably return these to the player - * unchanged if called from a peripheral method. - * @see ITurtleCommand - */ - public Object[] executeCommand(ILuaContext context, ITurtleCommand command) throws LuaException, InterruptedException; - - /** - * TODO: Document me - */ - public void playAnimation(TurtleAnimation animation); - - /** - * Returns the turtle on the specified side of the turtle, if there is one. - * - * @return the turtle on the specified side of the turtle, if there is one. - */ - public ITurtleUpgrade getUpgrade(TurtleSide side); - - /** - * TODO: Document me - */ - public void setUpgrade(TurtleSide side, ITurtleUpgrade upgrade); - - /** - * Returns the peripheral created by the upgrade on the specified side of the turtle, if there is one. - * - * @return the peripheral created by the upgrade on the specified side of the turtle, if there is one. - */ - public IPeripheral getPeripheral(TurtleSide side); - - /** - * TODO: Document me - */ - public NBTTagCompound getUpgradeNBTData(TurtleSide side); - - /** - * TODO: Document me - */ - public void updateUpgradeNBTData(TurtleSide side); -} diff --git a/src/api/java/dan200/computercraft/api/turtle/ITurtleCommand.java b/src/api/java/dan200/computercraft/api/turtle/ITurtleCommand.java deleted file mode 100644 index 400f32a1e..000000000 --- a/src/api/java/dan200/computercraft/api/turtle/ITurtleCommand.java +++ /dev/null @@ -1,26 +0,0 @@ -/** - * This file is part of the public ComputerCraft API - http://www.computercraft.info - * Copyright Daniel Ratcliffe, 2011-2014. This API may be redistributed unmodified and in full only. - * For help using the API, and posting your mods, visit the forums at computercraft.info. - */ - -package dan200.computercraft.api.turtle; - -/** - * An interface for objects executing custom turtle commands, used with ITurtleAccess.issueCommand - * - * @see ITurtleAccess#executeCommand(dan200.computercraft.api.lua.ILuaContext, ITurtleCommand) - */ -public interface ITurtleCommand { - /** - * Will be called by the turtle on the main thread when it is time to execute the custom command. - * The handler should either perform the work of the command, and return success, or return - * failure with an error message to indicate the command cannot be executed at this time. - * - * @param turtle access to the turtle for whom the command was issued - * @return TurtleCommandResult.success() or TurtleCommandResult.failure( errorMessage ) - * @see ITurtleAccess#executeCommand(dan200.computercraft.api.lua.ILuaContext, ITurtleCommand) - * @see dan200.computercraft.api.turtle.TurtleCommandResult - */ - public TurtleCommandResult execute(ITurtleAccess turtle); -} diff --git a/src/api/java/dan200/computercraft/api/turtle/ITurtleUpgrade.java b/src/api/java/dan200/computercraft/api/turtle/ITurtleUpgrade.java deleted file mode 100644 index fb25b81d5..000000000 --- a/src/api/java/dan200/computercraft/api/turtle/ITurtleUpgrade.java +++ /dev/null @@ -1,98 +0,0 @@ -/** - * This file is part of the public ComputerCraft API - http://www.computercraft.info - * Copyright Daniel Ratcliffe, 2011-2014. This API may be redistributed unmodified and in full only. - * For help using the API, and posting your mods, visit the forums at computercraft.info. - */ - -package dan200.computercraft.api.turtle; - -import dan200.computercraft.api.peripheral.IPeripheral; -import net.minecraft.item.ItemStack; -import net.minecraft.util.IIcon; - -/** - * The primary interface for defining an turtle for Turtles. A turtle turtle - * can either be a new tool, or a new peripheral. - * - * @see dan200.computercraft.api.ComputerCraftAPI#registerTurtleUpgrade(dan200.computercraft.api.turtle.ITurtleUpgrade) - */ -public interface ITurtleUpgrade { - /** - * Gets a unique numerical identifier representing this type of turtle turtle. - * Like Minecraft common and item IDs, you should strive to make this number unique - * among all turtle turtle that have been released for ComputerCraft. - * The ID must be in the range 64 to 255, as the ID is stored as an 8-bit value, - * and 0-64 is reserved for future use by ComputerCraft. The turtle will - * fail registration if an already used ID is specified. - * - * @see dan200.computercraft.api.ComputerCraftAPI#registerTurtleUpgrade(dan200.computercraft.api.turtle.ITurtleUpgrade) - */ - public int getUpgradeID(); - - /** - * Return a String to describe this type of turtle in turtle item names. - * Examples of built-in adjectives are "Wireless", "Mining" and "Crafty". - */ - public String getUnlocalisedAdjective(); - - /** - * Return whether this turtle adds a tool or a peripheral to the turtle. - * Currently, turtle crafting is restricted to one tool & one peripheral per turtle. - * - * @see TurtleUpgradeType for the differences between the two. - */ - public TurtleUpgradeType getType(); - - /** - * Return an item stack representing the type of item that a turtle must be crafted - * with to create a turtle which holds this turtle. - * Currently, turtle crafting is restricted to one tool & one peripheral per turtle. - */ - public ItemStack getCraftingItem(); - - /** - * Will only be called for Peripheral turtle. Creates a peripheral for a turtle - * being placed using this turtle. The peripheral created will be stored - * for the lifetime of the turtle, will have update() called once-per-tick, and will be - * attach'd detach'd and have methods called in the same manner as a Computer peripheral. - * - * @param turtle Access to the turtle that the peripheral is being created for. - * @param side Which side of the turtle (left or right) that the turtle resides on. - * @return The newly created peripheral. You may return null if this turtle is a Tool - * and this method is not expected to be called. - */ - public IPeripheral createPeripheral(ITurtleAccess turtle, TurtleSide side); - - /** - * Will only be called for Tool turtle. Called when turtle.dig() or turtle.attack() is called - * by the turtle, and the tool is required to do some work. - * - * @param turtle Access to the turtle that the tool resides on. - * @param side Which side of the turtle (left or right) the tool resides on. - * @param verb Which action (dig or attack) the turtle is being called on to perform. - * @param direction Which world direction the action should be performed in, relative to the turtles - * position. This will either be up, down, or the direction the turtle is facing, depending on - * whether dig, digUp or digDown was called. - * @return Whether the turtle was able to perform the action, and hence whether the turtle.dig() - * or turtle.attack() lua method should return true. If true is returned, the tool will perform - * a swinging animation. You may return null if this turtle is a Peripheral - * and this method is not expected to be called. - */ - public TurtleCommandResult useTool(ITurtleAccess turtle, TurtleSide side, TurtleVerb verb, int direction); - - /** - * Called to obtain the IIcon to be used when rendering a turtle peripheral. Needs to be a "common" - * type IIcon for now, as there is no way to determine which texture sheet an IIcon is from by the - * IIcon itself. - * - * @param turtle Access to the turtle that the peripheral resides on. - * @param side Which side of the turtle (left or right) the peripheral resides on. - * @return The IIcon that you wish to be used to render your turtle peripheral. - */ - public IIcon getIcon(ITurtleAccess turtle, TurtleSide side); - - /** - * TODO: Document me - */ - public void update(ITurtleAccess turtle, TurtleSide side); -} diff --git a/src/api/java/dan200/computercraft/api/turtle/TurtleAnimation.java b/src/api/java/dan200/computercraft/api/turtle/TurtleAnimation.java deleted file mode 100644 index cb08a149d..000000000 --- a/src/api/java/dan200/computercraft/api/turtle/TurtleAnimation.java +++ /dev/null @@ -1,20 +0,0 @@ -/** - * This file is part of the public ComputerCraft API - http://www.computercraft.info - * Copyright Daniel Ratcliffe, 2011-2014. This API may be redistributed unmodified and in full only. - * For help using the API, and posting your mods, visit the forums at computercraft.info. - */ - -package dan200.computercraft.api.turtle; - -public enum TurtleAnimation { - None, - MoveForward, - MoveBack, - MoveUp, - MoveDown, - TurnLeft, - TurnRight, - SwingLeftTool, - SwingRightTool, - Wait, -} diff --git a/src/api/java/dan200/computercraft/api/turtle/TurtleCommandResult.java b/src/api/java/dan200/computercraft/api/turtle/TurtleCommandResult.java deleted file mode 100644 index 4633ce93f..000000000 --- a/src/api/java/dan200/computercraft/api/turtle/TurtleCommandResult.java +++ /dev/null @@ -1,44 +0,0 @@ -/** - * This file is part of the public ComputerCraft API - http://www.computercraft.info - * Copyright Daniel Ratcliffe, 2011-2014. This API may be redistributed unmodified and in full only. - * For help using the API, and posting your mods, visit the forums at computercraft.info. - */ - -package dan200.computercraft.api.turtle; - -public final class TurtleCommandResult { - private static final TurtleCommandResult s_success = new TurtleCommandResult(true, null); - private static final TurtleCommandResult s_emptyFailure = new TurtleCommandResult(false, null); - - public static TurtleCommandResult success() { - return s_success; - } - - public static TurtleCommandResult failure() { - return failure(null); - } - - public static TurtleCommandResult failure(String errorMessage) { - if (errorMessage != null) { - return new TurtleCommandResult(false, errorMessage); - } else { - return s_emptyFailure; - } - } - - private final boolean m_success; - private final String m_errorMessage; - - private TurtleCommandResult(boolean success, String errorMessage) { - m_success = success; - m_errorMessage = errorMessage; - } - - public boolean isSuccess() { - return m_success; - } - - public String getErrorMessage() { - return m_errorMessage; - } -} diff --git a/src/api/java/dan200/computercraft/api/turtle/TurtleSide.java b/src/api/java/dan200/computercraft/api/turtle/TurtleSide.java deleted file mode 100644 index b03392bf5..000000000 --- a/src/api/java/dan200/computercraft/api/turtle/TurtleSide.java +++ /dev/null @@ -1,22 +0,0 @@ -/** - * This file is part of the public ComputerCraft API - http://www.computercraft.info - * Copyright Daniel Ratcliffe, 2011-2014. This API may be redistributed unmodified and in full only. - * For help using the API, and posting your mods, visit the forums at computercraft.info. - */ - -package dan200.computercraft.api.turtle; - -/** - * An enum representing the two sides of the turtle that a turtle turtle might reside. - */ -public enum TurtleSide { - /** - * The turtles left side (where the pickaxe usually is on a Wireless Mining Turtle) - */ - Left, - - /** - * The turtles right side (where the modem usually is on a Wireless Mining Turtle) - */ - Right, -} diff --git a/src/api/java/dan200/computercraft/api/turtle/TurtleUpgradeType.java b/src/api/java/dan200/computercraft/api/turtle/TurtleUpgradeType.java deleted file mode 100644 index 026946fb9..000000000 --- a/src/api/java/dan200/computercraft/api/turtle/TurtleUpgradeType.java +++ /dev/null @@ -1,27 +0,0 @@ -/** - * This file is part of the public ComputerCraft API - http://www.computercraft.info - * Copyright Daniel Ratcliffe, 2011-2014. This API may be redistributed unmodified and in full only. - * For help using the API, and posting your mods, visit the forums at computercraft.info. - */ - -package dan200.computercraft.api.turtle; - -/** - * An enum representing the two different types of turtle that an ITurtleUpgrade - * implementation can add to a turtle. - * - * @see ITurtleUpgrade - */ -public enum TurtleUpgradeType { - /** - * A tool is rendered as an item on the side of the turtle, and responds to the turtle.dig() - * and turtle.attack() methods (Such as pickaxe or sword on Mining and Melee turtles). - */ - Tool, - - /** - * A peripheral adds a special peripheral which is attached to the side of the turtle, - * and can be interacted with the peripheral API (Such as the modem on Wireless Turtles). - */ - Peripheral, -} diff --git a/src/api/java/dan200/computercraft/api/turtle/TurtleVerb.java b/src/api/java/dan200/computercraft/api/turtle/TurtleVerb.java deleted file mode 100644 index c1326ef41..000000000 --- a/src/api/java/dan200/computercraft/api/turtle/TurtleVerb.java +++ /dev/null @@ -1,26 +0,0 @@ -/** - * This file is part of the public ComputerCraft API - http://www.computercraft.info - * Copyright Daniel Ratcliffe, 2011-2014. This API may be redistributed unmodified and in full only. - * For help using the API, and posting your mods, visit the forums at computercraft.info. - */ - -package dan200.computercraft.api.turtle; - -/** - * An enum representing the two different actions that an ITurtleUpgrade of type - * Tool may be called on to perform by a turtle. - * - * @see ITurtleUpgrade - * @see ITurtleUpgrade#useTool - */ -public enum TurtleVerb { - /** - * The turtle called turtle.dig(), turtle.digUp() or turtle.digDown() - */ - Dig, - - /** - * The turtle called turtle.attack(), turtle.attackUp() or turtle.attackDown() - */ - Attack, -} diff --git a/src/api/java/li/cil/oc/api/API.java b/src/api/java/li/cil/oc/api/API.java deleted file mode 100644 index da8016557..000000000 --- a/src/api/java/li/cil/oc/api/API.java +++ /dev/null @@ -1,21 +0,0 @@ -package li.cil.oc.api; - -import li.cil.oc.api.detail.*; - -/** - * Central reference for the API. - *

- * Don't use this class directly, prefer using the other classes in this - * package instead. This class is initialized by OpenComputers in the - * pre-init phase, so it should not be used before the init phase. - */ -public class API { - public static final String ID_OWNER = "OpenComputers|Core"; - public static final String VERSION = "4.2.4"; - - public static final DriverAPI driver = null; - public static final FileSystemAPI fileSystem = null; - public static final ItemAPI items = null; - public static final MachineAPI machine = null; - public static final NetworkAPI network = null; -} diff --git a/src/api/java/li/cil/oc/api/CreativeTab.java b/src/api/java/li/cil/oc/api/CreativeTab.java deleted file mode 100644 index 2d72be81f..000000000 --- a/src/api/java/li/cil/oc/api/CreativeTab.java +++ /dev/null @@ -1,20 +0,0 @@ -package li.cil.oc.api; - -import net.minecraft.creativetab.CreativeTabs; - -/** - * Allows access to the creative tab used by OpenComputers. - */ -public final class CreativeTab { - /** - * The creative tab used by OpenComputers. - *

- * Changed to the actual tab if OC is present. Preferably you do - * not try to access this anyway when OpenComputers isn't - * present (don't ship the API in your mod), so don't rely on this! - */ - public static final CreativeTabs instance = CreativeTabs.tabRedstone; - - private CreativeTab() { - } -} diff --git a/src/api/java/li/cil/oc/api/Driver.java b/src/api/java/li/cil/oc/api/Driver.java deleted file mode 100644 index 93c11ad59..000000000 --- a/src/api/java/li/cil/oc/api/Driver.java +++ /dev/null @@ -1,174 +0,0 @@ -package li.cil.oc.api; - -import li.cil.oc.api.driver.Block; -import li.cil.oc.api.driver.Converter; -import li.cil.oc.api.driver.EnvironmentHost; -import li.cil.oc.api.driver.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.world.World; - -import java.util.Collection; - -/** - * This API allows registering new drivers with the mod. - *

- * Drivers are used to make items and third-party blocks available in the mod's - * component network, and optionally to user programs. If you implement a new - * block that should interact with the mod's component network it is enough to - * have it implement {@link li.cil.oc.api.network.Environment} - no driver is - * needed in that case. - *

- * Note that these methods should not be called in the pre-init phase, - * since the {@link API#driver} may not have been initialized - * at that time. Only start calling these methods in the init phase or later. - * - * @see Network - * @see li.cil.oc.api.driver.Block - * @see li.cil.oc.api.driver.Item - */ -public final class Driver { - /** - * Registers a new block driver. - *

- * Whenever the neighboring blocks of an Adapter block change, it checks if - * there exists a driver for the changed block, and if it is configured to - * interface that block type connects it to the component network. - *

- * This must be called in the init phase, not the pre- or post-init - * phases. - * - * @param driver the driver to register. - */ - public static void add(final Block driver) { - if (API.driver != null) - API.driver.add(driver); - } - - /** - * Registers a new item driver. - *

- * Item components can inserted into a computers component slots. They have - * to specify their type, to determine into which slots they can fit. - *

- * This must be called in the init phase, not the pre- or post-init - * phases. - * - * @param driver the driver to register. - */ - public static void add(final Item driver) { - if (API.driver != null) - API.driver.add(driver); - } - - /** - * Registers a new type converter. - *

- * Type converters are used to automatically convert values returned from - * callbacks to a "simple" format that can be pushed to any architecture. - *

- * This must be called in the init phase, not the pre- or post-init - * phases. - * - * @param converter the converter to register. - */ - public static void add(final Converter converter) { - if (API.driver != null) - API.driver.add(converter); - } - - /** - * Looks up a driver for the block at the specified position in the - * specified world. - *

- * Note that several drivers for a single block can exist. Because of this - * block drivers are always encapsulated in a 'compound' driver, which is - * what will be returned here. In other words, you should will not - * get actual instances of drivers registered via {@link #add(li.cil.oc.api.driver.Block)}. - * - * @param world the world containing the block. - * @param x the X coordinate of the block. - * @param y the Y coordinate of the block. - * @param z the Z coordinate of the block. - * @return a driver for the block, or null if there is none. - */ - public static Block driverFor(World world, int x, int y, int z) { - if (API.driver != null) - return API.driver.driverFor(world, x, y, z); - return null; - } - - /** - * Looks up a driver for the specified item stack. - *

- * Note that unlike for blocks, there can always only be one item driver - * per item. If there are multiple ones, the first one that was registered - * will be used. - * - * @param stack the item stack to get a driver for. - * @param host the type that will host the environment created by returned driver. - * @return a driver for the item, or null if there is none. - */ - public static Item driverFor(ItemStack stack, Class host) { - if (API.driver != null) - return API.driver.driverFor(stack, host); - return null; - } - - /** - * Looks up a driver for the specified item stack. - *

- * Note that unlike for blocks, there can always only be one item driver - * per item. If there are multiple ones, the first one that was registered - * will be used. - *

- * This is a context-agnostic variant used mostly for "house-keeping" - * stuff, such as querying slot types and tier. - * - * @param stack the item stack to get a driver for. - * @return a driver for the item, or null if there is none. - */ - public static Item driverFor(ItemStack stack) { - if (API.driver != null) - return API.driver.driverFor(stack); - return null; - } - - /** - * Get a list of all registered block drivers. - *

- * This is intended to allow checking for particular drivers using more - * customized logic, and in particular to check for drivers with the - * {@link li.cil.oc.api.driver.EnvironmentAware} interface. - *

- * The returned collection is read-only. - * - * @return the list of all registered block drivers. - */ - public static Collection blockDrivers() { - if (API.driver != null) - return API.driver.blockDrivers(); - return null; - } - - /** - * Get a list of all registered item drivers. - *

- * This is intended to allow checking for particular drivers using more - * customized logic, and in particular to check for drivers with the - * {@link li.cil.oc.api.driver.EnvironmentAware} interface. - *

- * The returned collection is read-only. - * - * @return the list of all registered item drivers. - */ - public static Collection itemDrivers() { - if (API.driver != null) - return API.driver.itemDrivers(); - return null; - } - - // ----------------------------------------------------------------------- // - - private Driver() { - } -} \ No newline at end of file diff --git a/src/api/java/li/cil/oc/api/FileSystem.java b/src/api/java/li/cil/oc/api/FileSystem.java deleted file mode 100644 index bbc1f7157..000000000 --- a/src/api/java/li/cil/oc/api/FileSystem.java +++ /dev/null @@ -1,225 +0,0 @@ -package li.cil.oc.api; - -import li.cil.oc.api.driver.EnvironmentHost; -import li.cil.oc.api.fs.Label; -import li.cil.oc.api.network.ManagedEnvironment; - -/** - * This class provides factory methods for creating file systems that are - * compatible with the built-in file system driver. - *

- * File systems created this way and wrapped in a managed environment via - * {@link #asManagedEnvironment} or its overloads will appear as - * filesystem components in the component network. Note that the - * component's visibility is set to Neighbors per default. If you wish - * to change the file system's visibility (e.g. like the disk drive does) you - * must cast the environment's node to {@link li.cil.oc.api.network.Component} - * and set the visibility to the desired value. - *

- * Note that these methods should not be called in the pre-init phase, - * since the {@link API#fileSystem} may not have been initialized - * at that time. Only start calling these methods in the init phase or later. - */ -public final class FileSystem { - /** - * Creates a new file system based on the location of a class. - *

- * This can be used to wrap a folder in the assets folder of your mod's JAR. - * The actual path is built like this: - *

"/assets/" + domain + "/" + root
- *

- * If the class is located in a JAR file, this will create a read-only file - * system based on that JAR file. If the class file is located in the native - * file system, this will create a read-only file system first trying from - * the actual location of the class file, and failing that by searching the - * class path (i.e. it'll look for a path constructed as described above). - *

- * If the specified path cannot be located, the creation fails and this - * returns null. - * - * @param clazz the class whose containing JAR to wrap. - * @param domain the domain, usually your mod's ID. - * @param root an optional subdirectory. - * @return a file system wrapping the specified folder. - */ - public static li.cil.oc.api.fs.FileSystem fromClass(final Class clazz, final String domain, final String root) { - if (API.fileSystem != null) - return API.fileSystem.fromClass(clazz, domain, root); - return null; - } - - /** - * Creates a new writable file system in the save folder. - *

- * This will create a folder, if necessary, and create a writable virtual - * file system based in that folder. The actual path is based in a sub- - * folder of the save folder. The actual path is built like this: - *

"saves/" + WORLD_NAME + "/opencomputers/" + root
- * The first part may differ, in particular for servers. - *

- * Usually the name will be the address of the node used to represent the - * file system. - *

- * Note that by default file systems are "buffered", meaning that any - * changes made to them are only saved to disk when the world is saved. This - * ensured that the file system contents do not go "out of sync" when the - * game crashes, but introduces additional memory overhead, since all files - * in the file system have to be kept in memory. - * - * @param root the name of the file system. - * @param capacity the amount of space in bytes to allow being used. - * @param buffered whether data should only be written to disk when saving. - * @return a file system wrapping the specified folder. - */ - public static li.cil.oc.api.fs.FileSystem fromSaveDirectory(final String root, final long capacity, final boolean buffered) { - if (API.fileSystem != null) - return API.fileSystem.fromSaveDirectory(root, capacity, buffered); - return null; - } - - /** - * Same as {@link #fromSaveDirectory(String, long, boolean)} with the - * buffered parameter being true, i.e. will always create a - * buffered file system. - * - * @param root the name of the file system. - * @param capacity the amount of space in bytes to allow being used. - * @return a file system wrapping the specified folder. - */ - public static li.cil.oc.api.fs.FileSystem fromSaveDirectory(final String root, final long capacity) { - return fromSaveDirectory(root, capacity, true); - } - - /** - * Creates a new writable file system that resides in memory. - *

- * Any contents created and written on this file system will be lost when - * the node is removed from the network. - *

- * This is used for computers' /tmp mount, for example. - * - * @param capacity the capacity of the file system. - * @return a file system residing in memory. - */ - public static li.cil.oc.api.fs.FileSystem fromMemory(final long capacity) { - if (API.fileSystem != null) - return API.fileSystem.fromMemory(capacity); - return null; - } - - /** - * Creates a new file system based on a ComputerCraft mount. - *

- * This supports read-only and writable mounts from either CC 1.5x or - * CC 1.6x. The argument is kept untyped to avoid having the OC API - * depend on the CC API. - *

- * If the passed type is unsupported, this will throw an exception. - * - * @param mount the mount to wrap with a file system. - * @return a file system wrapping the specified mount. - */ - public static li.cil.oc.api.fs.FileSystem fromComputerCraft(final Object mount) { - if (API.fileSystem != null) - return API.fileSystem.fromComputerCraft(mount); - return null; - } - - /** - * Creates a network node that makes the specified file system available via - * the common file system driver. - *

- * This can be useful for providing some data if you don't wish to implement - * your own driver. Which will probably be most of the time. If you need - * more control over the node, implement your own, and connect this one to - * it. In that case you will have to forward any disk driver messages to the - * node, though. - *

- * The container parameter is used to give the file system some physical - * relation to the world, for example this is used by hard drives to send - * the disk event notifications to the client that are used to play disk - * access sounds. - *

- * The container may be null, if no such context can be provided. - * - * @param fileSystem the file system to wrap. - * @param label the label of the file system. - * @param host the tile entity containing the file system. - * @param accessSound the name of the sound effect to play when the file - * system is accessed. This has to be the fully - * qualified resource name, e.g. - * opencomputers:floppy_access. - * @return the network node wrapping the file system. - */ - public static ManagedEnvironment asManagedEnvironment(final li.cil.oc.api.fs.FileSystem fileSystem, final Label label, final EnvironmentHost host, final String accessSound) { - if (API.fileSystem != null) - return API.fileSystem.asManagedEnvironment(fileSystem, label, host, accessSound); - return null; - } - - /** - * Like {@link #asManagedEnvironment(li.cil.oc.api.fs.FileSystem, li.cil.oc.api.fs.Label, li.cil.oc.api.driver.EnvironmentHost, String)}, - * but creates a read-only label initialized to the specified value. - * - * @param fileSystem the file system to wrap. - * @param label the read-only label of the file system. - * @param host the tile entity containing the file system. - * @param accessSound the name of the sound effect to play when the file - * system is accessed. This has to be the fully - * qualified resource name, e.g. - * opencomputers:floppy_access. - * @return the network node wrapping the file system. - */ - public static ManagedEnvironment asManagedEnvironment(final li.cil.oc.api.fs.FileSystem fileSystem, final String label, final EnvironmentHost host, final String accessSound) { - if (API.fileSystem != null) - return API.fileSystem.asManagedEnvironment(fileSystem, label, host, accessSound); - return null; - } - - /** - * Like {@link #asManagedEnvironment(li.cil.oc.api.fs.FileSystem, li.cil.oc.api.fs.Label, li.cil.oc.api.driver.EnvironmentHost, String)}, - * but does not provide a container. - * - * @param fileSystem the file system to wrap. - * @param label the label of the file system. - * @return the network node wrapping the file system. - */ - public static ManagedEnvironment asManagedEnvironment(final li.cil.oc.api.fs.FileSystem fileSystem, final Label label) { - if (API.fileSystem != null) - return API.fileSystem.asManagedEnvironment(fileSystem, label); - return null; - } - - /** - * Like {@link #asManagedEnvironment(li.cil.oc.api.fs.FileSystem, li.cil.oc.api.fs.Label)}, - * but creates a read-only label initialized to the specified value. - * - * @param fileSystem the file system to wrap. - * @param label the read-only label of the file system. - * @return the network node wrapping the file system. - */ - public static ManagedEnvironment asManagedEnvironment(final li.cil.oc.api.fs.FileSystem fileSystem, final String label) { - if (API.fileSystem != null) - return API.fileSystem.asManagedEnvironment(fileSystem, label); - return null; - } - - /** - * Like {@link #asManagedEnvironment(li.cil.oc.api.fs.FileSystem, li.cil.oc.api.fs.Label)}, - * but creates an unlabeled file system (i.e. the label can neither be read - * nor written). - * - * @param fileSystem the file system to wrap. - * @return the network node wrapping the file system. - */ - public static ManagedEnvironment asManagedEnvironment(final li.cil.oc.api.fs.FileSystem fileSystem) { - if (API.fileSystem != null) - return API.fileSystem.asManagedEnvironment(fileSystem); - return null; - } - - // ----------------------------------------------------------------------- // - - private FileSystem() { - } -} \ No newline at end of file diff --git a/src/api/java/li/cil/oc/api/Items.java b/src/api/java/li/cil/oc/api/Items.java deleted file mode 100644 index ac05330b3..000000000 --- a/src/api/java/li/cil/oc/api/Items.java +++ /dev/null @@ -1,51 +0,0 @@ -package li.cil.oc.api; - -import li.cil.oc.api.detail.ItemInfo; -import net.minecraft.item.ItemStack; - -/** - * Access to item definitions for all blocks and items provided by - * OpenComputers. - */ -public final class Items { - /** - * Get a descriptor object for the block or item with the specified name. - *

- * The names are the same as the ones used in the recipe files. An info - * object can be used to retrieve both the block and item instance of the - * item, if available. It can also be used to create a new item stack of - * the item. - *

- * Note that these methods should not be called in the pre-init phase, - * since the {@link API#items} may not have been initialized - * at that time. Only start calling these methods in the init phase or later. - * - * @param name the name of the item to get the descriptor for. - * @return the descriptor for the item with the specified name, or - * null if there is no such item. - */ - public static ItemInfo get(String name) { - if (API.items != null) - return API.items.get(name); - return null; - } - - /** - * Get a descriptor object for the block or item represented by the - * specified item stack. - * - * @param stack the stack to get the descriptor for. - * @return the descriptor for the specified item stack, or null - * if the stack is not a valid OpenComputers item or block. - */ - public static ItemInfo get(ItemStack stack) { - if (API.items != null) - return API.items.get(stack); - return null; - } - - // ----------------------------------------------------------------------- // - - private Items() { - } -} diff --git a/src/api/java/li/cil/oc/api/Machine.java b/src/api/java/li/cil/oc/api/Machine.java deleted file mode 100644 index f6f741bc6..000000000 --- a/src/api/java/li/cil/oc/api/Machine.java +++ /dev/null @@ -1,73 +0,0 @@ -package li.cil.oc.api; - -import li.cil.oc.api.machine.Architecture; -import li.cil.oc.api.machine.MachineHost; - -import java.util.Collection; -import java.util.Collections; - -/** - * This API is intended for people who would like to implement custom computer - * blocks or anything else hosting a computer. - *

- * It also allows registering new {@link li.cil.oc.api.machine.Architecture}s, - * which are implementations of specific languages (e.g. assembler). The built- - * in ones are available as static fields in this class. - *

- * Note that registration of architectures is optional and only intended as a - * convenience feature to make architectures usable via the built-in CPUs. - *

- * Note that these methods should not be called in the pre-init phase, - * since the {@link API#machine} may not have been initialized - * at that time. Only start calling these methods in the init phase or later. - */ -public final class Machine { - /** - * Register an architecture that can be used to create new machines. - *

- * Registering an architecture will make it possible to configure CPUs to - * run that architecture. This allows providing architectures without - * implementing a custom CPU item. - * - * @param architecture the architecture to register. - */ - public static void add(Class architecture) { - if (API.machine != null) - API.machine.add(architecture); - } - - /** - * A list of all registered architectures. - */ - public static Collection> architectures() { - if (API.machine != null) - return API.machine.architectures(); - return Collections.emptyList(); - } - - /** - * Creates a new machine for the specified host. - *

- * You are responsible for calling update and save / load functions on the - * machine for it to work correctly. - * - * @param host the owner object of the machine, providing context. - * @return the newly created machine. - */ - public static li.cil.oc.api.machine.Machine create(MachineHost host) { - if (API.machine != null) - return API.machine.create(host); - return null; - } - - // ----------------------------------------------------------------------- // - - private Machine() { - } - - /** - * The built-in Lua architecture. This will be set to the native Lua - * implementation when possible, to the LuaJ fallback, otherwise. - */ - public static final Class LuaArchitecture = null; -} diff --git a/src/api/java/li/cil/oc/api/Network.java b/src/api/java/li/cil/oc/api/Network.java deleted file mode 100644 index c153df0b4..000000000 --- a/src/api/java/li/cil/oc/api/Network.java +++ /dev/null @@ -1,213 +0,0 @@ -package li.cil.oc.api; - -import li.cil.oc.api.detail.Builder; -import li.cil.oc.api.network.*; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.tileentity.TileEntity; - -/** - * This class provides factories for networks and nodes. - *

- * The first two functions provided provided by this API are to allow existing - * environments - implemented in a tile entity for example - to join an existing - * network or create new ones. The third one is used to create nodes that may - * then be connected to an existing network. It is not possible to create - * networks that do not belong to at least one tile entity or node. - *

- * It is important to understand that component networks only exist on the - * server side. It is impossible to create nodes, and therefore networks, on - * the client side. This is to enforce a clear distinction of where the actual - * logic lies - since user code only runs on the server. - *

- * Note that these methods should not be called in the pre-init phase, - * since the {@link API#network} may not have been initialized - * at that time. Only start calling these methods in the init phase or later. - */ -public final class Network { - /** - * Tries to add a tile entity's network node(s) at the specified coordinates - * to adjacent networks. - *

- * If the tile entity implements {@link li.cil.oc.api.network.Environment} its one node will be - * connected to any existing adjacent tile entity nodes. If none exist a - * new network with the specified tile entity's node as its sole entry. - *

- * If the tile entity is a {@link li.cil.oc.api.network.SidedEnvironment} - * the same rules as for simple environments apply, except that the - * respective for each side is used when connecting, and each side's node - * is added to its own new network, if necessary. - * - * @param tileEntity the tile entity to initialize. - */ - public static void joinOrCreateNetwork(final TileEntity tileEntity) { - if (API.network != null) - API.network.joinOrCreateNetwork(tileEntity); - } - - /** - * Creates a new network with the specified node as its initial node. - *

- * This can be used to create networks that are not bound to any tile - * entity. For example, this is used to create the internal networks of - * robots. - * - * @param node the node to create the network for. - * @throws IllegalArgumentException if the node already is in a network. - */ - public static void joinNewNetwork(final Node node) { - if (API.network != null) - API.network.joinNewNetwork(node); - } - - // ----------------------------------------------------------------------- // - - /** - * Makes a wireless endpoint join the wireless network defined by the mod. - *

- * OpenComputers tracks endpoints to which to send wireless packets sent - * via the {@link #sendWirelessPacket(li.cil.oc.api.network.WirelessEndpoint, double, li.cil.oc.api.network.Packet)} - * method. The packets will only be sent to endpoints registered - * with the network. - *

- * Important: when your endpoint is removed from the world, - * you must ensure it is also removed from the network! - * - * @param endpoint the endpoint to register with the network. - */ - public static void joinWirelessNetwork(final WirelessEndpoint endpoint) { - if (API.network != null) - API.network.joinWirelessNetwork(endpoint); - } - - /** - * Updates a wireless endpoint in the wireless network. - *

- * This is more efficient than removing and then adding the node again, as - * it only performs the update if the position significantly changed since - * the last time the position was updated (more than 0.5 along any axis). - *

- * Calling this for an endpoint that was not added before does nothing. - * - * @param endpoint the endpoint for which to update the position. - */ - public static void updateWirelessNetwork(final WirelessEndpoint endpoint) { - if (API.network != null) - API.network.updateWirelessNetwork(endpoint); - } - - /** - * Removes a wireless endpoint from the wireless network. - *

- * This must be called when an endpoint becomes invalid, otherwise it will - * remain in the network! - *

- * Calling this for an endpoint that was not added before does nothing. - * - * @param endpoint the endpoint to remove from the wireless network. - */ - public static void leaveWirelessNetwork(final WirelessEndpoint endpoint) { - if (API.network != null) - API.network.leaveWirelessNetwork(endpoint); - } - - /** - * Sends a packet via the wireless network. - *

- * This will look for all other registered wireless endpoints in range of - * the sender and submit the packets to them. Whether another end point is - * reached depends on the distance and potential obstacles between the - * sender and the receiver (harder blocks require a stronger signal to be - * penetrated). - * - * @param source the endpoint that is sending the message. - * @param strength the signal strength with which to send the packet. - * @param packet the packet to send. - */ - public static void sendWirelessPacket(final WirelessEndpoint source, final double strength, final Packet packet) { - if (API.network != null) - API.network.sendWirelessPacket(source, strength, packet); - } - - // ----------------------------------------------------------------------- // - - /** - * Factory function for creating new nodes. - *

- * Use this to create a node for your environment (e.g. tile entity). This - * will return a builder that can be used to further specialize the node, - * making it either a component node (for callbacks), a connector node - * (for power interaction) or both. - *

- * Example use: - *

-     * class YourThing extends TileEntity implements Environment {
-     *     private ComponentConnector node_ =
-     *         api.Network.newNode(this, Visibility.Network).
-     *             withComponent("your_thing").
-     *             withConnector(32).
-     *             create();
-     *
-     *     public Node node() { return node_; }
-     *
-     *     // ...
-     * }
-     * 
- *

- * Note that the reachability specified here is the general - * availability of the created node to other nodes in the network. Special - * rules apply to components, which have a visibility that is used - * to control how they can be reached from computers. For example, network - * cards have a reachability of Visibility.Network, to - * allow them to communicate with each other, but a visibility of - * Visibility.Neighbors to avoid other computers in the network - * to see the card (i.e. only the user programs running on the computer the - * card installed in can see interact with it). - * - * @param host the environment the node is created for. - * @param reachability the reachability of the node. - * @return a new node builder. - */ - public static Builder.NodeBuilder newNode(final Environment host, final Visibility reachability) { - if (API.network != null) - return API.network.newNode(host, reachability); - return null; - } - - /** - * Creates a new network packet as it would be sent or received by a - * network card. - *

- * These packets can be forwarded by switches and access points. For wired - * transmission they must be sent over a node's send method, with the - * message name being network.message. - * - * @param source the address of the sending node. - * @param destination the address of the destination, or null - * for a broadcast. - * @param port the port to send the packet to. - * @param data the payload of the packet. - * @return the new packet. - */ - public static Packet newPacket(final String source, final String destination, final int port, final Object[] data) { - if (API.network != null) - return API.network.newPacket(source, destination, port, data); - return null; - } - - /** - * Re-creates a network packet from a previously stored state. - * - * @param nbt the tag to load the packet from. - * @return the loaded packet. - */ - public static Packet newPacket(final NBTTagCompound nbt) { - if (API.network != null) - return API.network.newPacket(nbt); - return null; - } - - // ----------------------------------------------------------------------- // - - private Network() { - } -} diff --git a/src/api/java/li/cil/oc/api/Persistable.java b/src/api/java/li/cil/oc/api/Persistable.java deleted file mode 100644 index 8ad2b2a45..000000000 --- a/src/api/java/li/cil/oc/api/Persistable.java +++ /dev/null @@ -1,25 +0,0 @@ -package li.cil.oc.api; - -import net.minecraft.nbt.NBTTagCompound; - -/** - * An object that can be persisted to an NBT tag and restored back from it. - */ -public interface Persistable { - /** - * Restores a previous state of the object from the specified NBT tag. - * - * @param nbt the tag to read the state from. - */ - void load(NBTTagCompound nbt); - - /** - * Saves the current state of the object into the specified NBT tag. - *

- * This should write the state in such a way that it can be restored when - * {@link #load} is called with that tag. - * - * @param nbt the tag to save the state to. - */ - void save(NBTTagCompound nbt); -} \ No newline at end of file diff --git a/src/api/java/li/cil/oc/api/README.md b/src/api/java/li/cil/oc/api/README.md deleted file mode 100644 index f6a454afa..000000000 --- a/src/api/java/li/cil/oc/api/README.md +++ /dev/null @@ -1,85 +0,0 @@ -The API can be used to either interact with existing implementations in OpenComputers or to implement your own extensions for OpenComputers. - -Extending OpenComputers -======================== - -Making a tile entity available as a component / peripheral --------------------------------------------------- -If you simply wish to expose a couple of methods that can be called from a computer if your tile entity's block is 'connected' to the computer, you can use the `SimpleComponent` interface. This interface serves as a marker for OpenComputers to know it has to inject code that converts your tile entity into a component using its class transformer. It is an interface instead of an annotation to allow stripping it, removing any dependencies on OpenComputers. Here is an example implementation: -```java -@Optional.Interface(iface = "li.cil.oc.api.network.SimpleComponent", modid = "OpenComputers") -public class TileEntityMyFancyThing extends TileEntity - implements SimpleComponent -{ - @Override - public String getComponentName() { - return "fancy_thing"; - } - - @Callback - @Optional.Method(modid = "OpenComputers") - public Object[] greet(Context context, Arguments args) { - return new Object[]{String.format("Hello, %s!", args.checkString(0))}; - } -} -``` - -The `getComponentName` determines with which name the tile entity will be available to computers. The `Callback` annotation tells OpenComputers to make the annotated method available to the computer. See the documentation on the `Callback` annotation for more information, in particular how it can be used to manipulate the call behavior (synchronized to the main thread vs. in the thread driving the calling computer). - -So to call the greeter method, in Lua you'd do this: -```lua -print(component.fancy_thing.greet("Steve")) -- prints "Hello, Steve!" -```` - -More control ------------- -If you really need more control over how how your tile entity interacts with OpenComputer's internal network, you will have to implement the `Environment` interface on your tile entity. There's a basic implementation in the prefab package, named `TileEntityEnvironment`. Doing so will give you access to the `Node` that connects to the component network, and you must take care of the construction of the node itself (using the factory method in `api.Network`). This allows you to make the node a `Connector` node, which will allow you to draw internal power from OpenComputers or feed energy into it. You will also be able to send messages over the component network, see the `send...` methods in the `Node` interface. See the documentation on those interfaces to get a better idea on how they work together. - -Making a third-party block available as component / peripheral --------------------------------------------------------------- -Blocks from other mods, i.e. blocks where you have no control over the tile entity implementation, can be accessed using the Adapter block as long as there is a driver available that supports the block. If there are multiple drivers they are automatically merged. Please see the [integration][] package for examples, and consider contributing any block drivers you write. Thank you! - -Making items available as components ------------------------------------- -To make items usable as components in computers, such as cards or hard drives, you have to provide a driver for that item. This means you have to implement the `driver.Item` interface on a class and register an instance of it via the `api.Driver` registry. You can base your item drivers on the `DriverItem` prefab. Please see the example project on Github for a working example, and read the documentation of the driver interface for more information. - -FileSystem API -============== -If you'd like to make some files/scripts you ship with your mod available to a computer, you can do so by wrapping those files using an OpenComputers file system. Use the factory methods in `api.FileSystem` to wrap the location your files are stored at in a file system, use the `asManagedEnvironment` methods to wrap it in a node that can be attached to the component network. For example, in an environment of a tile entity or created by an item driver you could do this in the `onConnect` method whenever a computer is connected (i.e. `node.host() instanceof Context`). Code-wise it may look something like this: -```java -public class TileEntityWithFileSystem extends TileEntityEnvironment { - private final Node fileSystem; - - public TileEntityWithFileSystem() { - node = Network.newNode(this, Visibility.Network).create(); - fileSystem = FileSystem.asManagedEnvironment(FileSystem.fromClass(getClass, "yourmodid/lua"), "my_files"); - } - - @Override - public void onConnect(final Node node) { - if (node.host() instanceof Context) { - // Attach our file system to new computers we get connected to. - // Note that this is also called for all already present computers - // when we're added to an already existing network, so we don't - // have to loop through the existing nodes manually. - node.connect(fileSystem); - } - } - - @Override - public void onDisconnect(final Node node) { - if (node.host() instanceof Context) { - // Remove our file systems when we get disconnected from a - // computer. - node.disconnect(fileSystem); - } else if (node == this.node) { - // Remove the file system if we are disconnected, because in that - // case this method is only called once. - fileSystem.node.remove(); - } - } -} -``` - - -[integration]: https://github.com/MightyPirates/OpenComputers/tree/master-MC1.7.10/src/main/scala/li/cil/oc/integration \ No newline at end of file diff --git a/src/api/java/li/cil/oc/api/component/Keyboard.java b/src/api/java/li/cil/oc/api/component/Keyboard.java deleted file mode 100644 index 1bcbe6bab..000000000 --- a/src/api/java/li/cil/oc/api/component/Keyboard.java +++ /dev/null @@ -1,47 +0,0 @@ -package li.cil.oc.api.component; - -import li.cil.oc.api.Persistable; -import li.cil.oc.api.network.Environment; -import net.minecraft.entity.player.EntityPlayer; - -/** - * This interface is implemented by the keyboard component, to allow more - * flexible use of it. - *

- * You can obtain an instance of the keyboard component via the item driver - * of the keyboard block, for example: - *

- *     final ItemStack stack = li.cil.oc.api.Items.get("keyboard").createItemStack(1);
- *     final Keyboard keyboard = (Keyboard) li.cil.oc.api.Driver.driverFor(stack).createEnvironment(stack, this);
- * 
- */ -public interface Keyboard extends Environment, Persistable { - /** - * Sets a custom usability override. - *

- * Instead of the default check, which is based on the component's owner's - * position, the specified callback will be queried for usability checks - * instead. - *

- * Pass null here to unset a previously set override. - * - * @param callback the usability checker to use. - */ - void setUsableOverride(UsabilityChecker callback); - - /** - * Contract interface that has to implemented for usability check overides. - * - * @see #setUsableOverride(li.cil.oc.api.component.Keyboard.UsabilityChecker) - */ - public static interface UsabilityChecker { - /** - * Whether the specified keyboard is usable by the specified player. - * - * @param keyboard the keyboard to check for. - * @param player the player to check for. - * @return whether the keyboard is usable by the player. - */ - boolean isUsableByPlayer(Keyboard keyboard, EntityPlayer player); - } -} diff --git a/src/api/java/li/cil/oc/api/component/TextBuffer.java b/src/api/java/li/cil/oc/api/component/TextBuffer.java deleted file mode 100644 index b45f500d0..000000000 --- a/src/api/java/li/cil/oc/api/component/TextBuffer.java +++ /dev/null @@ -1,608 +0,0 @@ -package li.cil.oc.api.component; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import li.cil.oc.api.Persistable; -import li.cil.oc.api.network.ManagedEnvironment; -import net.minecraft.entity.player.EntityPlayer; - -/** - * This interface implements functionality for displaying and manipulating - * text, like screens and robots. An implementation can be obtained via the - * screens' item driver. - *

- * This allows re-using the built-in screen logic in third-party code without - * access to the internals of OC. - *

- * To get an instance of the buffer component, use its item driver, e.g.: - *

- *     final ItemStack stack = li.cil.oc.api.Items.get("screen1").createItemStack(1);
- *     final TextBuffer buffer = (TextBuffer) li.cil.oc.api.Driver.driverFor(stack).createEnvironment(stack, this);
- * 
- */ -public interface TextBuffer extends ManagedEnvironment, Persistable { - /** - * Controls how much energy the buffer will consume per tick. - *

- * This is not necessarily the actual amount consumed per tick, - * instead it is a base value that cost is based on, incorporating a few - * other factors. This is the cost a tier one screen will consume if every - * character is lit (non-black). Larger buffers (i.e. buffers with a higher - * maximum resolution) cost proportionally more. - *

- * Note that this amount of energy is not necessarily subtracted each tick, - * instead every n ticks, n times the amount of energy it costs to run the - * buffer will be consumed, where n is configurable in the OC config. - *

- * This defaults to OC's built-in default value. - * - * @param value the base energy cost per tick. - * @see #getEnergyCostPerTick() - */ - void setEnergyCostPerTick(double value); - - /** - * Get the energy cost per tick. - * - * @return the base energy cost per tick. - * @see #setEnergyCostPerTick(double) - */ - double getEnergyCostPerTick(); - - /** - * Set whether the buffer is powered on. - *

- * For example, screens can be powered on and off by sending a redstone - * pulse into them, in addition to their component API. - * - * @param value whether the buffer should be on or not. - * @see #getPowerState() - */ - void setPowerState(boolean value); - - /** - * Get the current power state. - * - * @return whether the buffer is powered on. - * @see #setPowerState(boolean) - */ - boolean getPowerState(); - - /** - * Sets the maximum resolution supported by this buffer. - * - * @param width the maximum horizontal resolution, in characters. - * @param height the maximum vertical resolution, in characters. - */ - void setMaximumResolution(int width, int height); - - /** - * Get the maximum horizontal size of the buffer. - */ - int getMaximumWidth(); - - /** - * Get the maximum vertical size of the buffer. - */ - int getMaximumHeight(); - - /** - * Set the 'aspect ratio' of the buffer. - *

- * Not to be confused with the maximum resolution of the buffer, this - * refers to the 'physical' size of the buffer's container. For multi- - * block screens, for example, this is the number of horizontal and - * vertical blocks. - * - * @param width the horizontal size of the physical representation. - * @param height the vertical size of the physical representation. - */ - void setAspectRatio(double width, double height); - - /** - * Get the aspect ratio of the buffer. - *

- * Note that this is in fact width / height. - * - * @see #setAspectRatio(double, double) - */ - double getAspectRatio(); - - /** - * Set the buffer's active resolution. - * - * @param width the horizontal resolution. - * @param height the vertical resolution. - * @return true if the resolution changed. - */ - boolean setResolution(int width, int height); - - /** - * Get the current horizontal resolution. - * - * @see #setResolution(int, int) - */ - int getWidth(); - - /** - * Get the current vertical resolution. - * - * @see #setResolution(int, int) - */ - int getHeight(); - - /** - * Sets the maximum color depth supported by this buffer. - *

- * Note that this is the maximum supported depth, lower depths - * will be supported, too. So when setting this to four bit, one bit will - * be supported, too. When setting this to eight bit, four and one bit - * will be supported, also. - * - * @param depth the maximum color depth of the buffer. - */ - void setMaximumColorDepth(ColorDepth depth); - - /** - * Get the maximum color depth supported. - */ - ColorDepth getMaximumColorDepth(); - - /** - * Set the active color depth for this buffer. - * - * @param depth the new color depth. - * @return true if the color depth changed. - */ - boolean setColorDepth(ColorDepth depth); - - /** - * Get the active color depth of this buffer. - */ - ColorDepth getColorDepth(); - - /** - * Set the color of the active color palette at the specified index. - *

- * This will error if the current depth does not have a palette (one bit). - * - * @param index the index at which to set the color. - * @param color the color to set for the specified index. - */ - void setPaletteColor(int index, int color); - - /** - * Get the color in the active color palette at the specified index. - *

- * This will error if the current depth does not have a palette (one bit). - * - * @param index the index at which to get the color. - * @return the color in the active palette at the specified index. - */ - int getPaletteColor(int index); - - /** - * Set the active foreground color, not using a palette. - * - * @param color the new foreground color. - * @see #setForegroundColor(int, boolean) - */ - void setForegroundColor(int color); - - /** - * Set the active foreground color. - *

- * If the value is not from the palette, the actually stored value may - * differ from the specified one, as it is converted to the buffer's - * current color depth. - *

- * For palette-only color formats (four bit) the best fit from the palette - * is chosen, if the value is not from the palette. - * - * @param color the color or palette index. - * @param isFromPalette trueif color specifies a palette index. - */ - void setForegroundColor(int color, boolean isFromPalette); - - /** - * The active foreground color. - */ - int getForegroundColor(); - - /** - * true if the foreground color is from the color palette, meaning - * the value returned from {@link #getForegroundColor()} is the color - * palette index. - */ - boolean isForegroundFromPalette(); - - /** - * Set the active background color, not using a palette. - * - * @param color the new background color. - * @see #setBackgroundColor(int, boolean) - */ - void setBackgroundColor(int color); - - /** - * Set the active background color. - *

- * If the value is not from the palette, the actually stored value may - * differ from the specified one, as it is converted to the buffer's - * current color depth. - *

- * For palette-only color formats (four bit) the best fit from the palette - * is chosen, if the value is not from the palette. - * - * @param color the color or palette index. - * @param isFromPalette trueif color specifies a palette index. - */ - void setBackgroundColor(int color, boolean isFromPalette); - - /** - * The active background color. - */ - int getBackgroundColor(); - - /** - * true if the background color is from the color palette, meaning - * the value returned from {@link #getBackgroundColor()} is the color - * palette index. - */ - boolean isBackgroundFromPalette(); - - /** - * Copy a portion of the text buffer. - *

- * This will copy the area's text and colors. - * - * @param column the starting horizontal index of the area to copy. - * @param row the starting vertical index of the area to copy. - * @param width the width of the area to copy. - * @param height the height of the area to copy. - * @param horizontalTranslation the horizontal offset, relative to the starting column to copy the are to. - * @param verticalTranslation the vertical offset, relative to the starting row to copy the are to. - */ - void copy(int column, int row, int width, int height, int horizontalTranslation, int verticalTranslation); - - /** - * Fill a portion of the text buffer. - *

- * This will set the area's colors to the currently active ones. - * - * @param column the starting horizontal index of the area to fill. - * @param row the starting vertical index of the area to fill. - * @param width the width of the area to fill. - * @param height the height of the area to fill. - * @param value the character to fill the area with. - */ - void fill(int column, int row, int width, int height, char value); - - /** - * Write a string into the text buffer. - *

- * This will apply the currently active colors to the changed area. - * - * @param column the starting horizontal index to write at. - * @param row the starting vertical index to write at. - * @param value the string to write. - * @param vertical true if the string should be written vertically instead of horizontally. - */ - void set(int column, int row, String value, boolean vertical); - - /** - * Get the character in the text buffer at the specified location. - * - * @param column the horizontal index. - * @param row the vertical index. - * @return the character at that index. - */ - char get(int column, int row); - - /** - * Get the foreground color of the text buffer at the specified location. - *

- * Important: this may be a palette index. - * - * @param column the horizontal index. - * @param row the vertical index. - * @return the foreground color at that index. - */ - int getForegroundColor(int column, int row); - - /** - * Whether the foreground color of the text buffer at the specified - * location if from the color palette. - * - * @param column the horizontal index. - * @param row the vertical index. - * @return whether the foreground at that index is from the palette. - */ - boolean isForegroundFromPalette(int column, int row); - - /** - * Get the background color of the text buffer at the specified location. - *

- * Important: this may be a palette index. - * - * @param column the horizontal index. - * @param row the vertical index. - * @return the background color at that index. - */ - int getBackgroundColor(int column, int row); - - /** - * Whether the background color of the text buffer at the specified - * location if from the color palette. - * - * @param column the horizontal index. - * @param row the vertical index. - * @return whether the background at that index is from the palette. - */ - boolean isBackgroundFromPalette(int column, int row); - - /** - * Overwrites a portion of the text in raw mode. - *

- * This will copy the given char array into the buffer, starting at the - * specified column and row. The array is expected to be indexed row- - * first, i.e. the first dimension is the vertical axis, the second - * the horizontal. - *

- * Important: this performs no checks as to whether something - * actually changed. It will always send the changed patch to clients. - * It will also not crop the specified array to the actually used range. - * In other words, this is not intended to be exposed as-is to user code, - * it should always be called with validated, and, as necessary, cropped - * values. - * - * @param column the horizontal index. - * @param row the vertical index. - * @param text the text to write. - */ - void rawSetText(int column, int row, char[][] text); - - /** - * Overwrites a portion of the foreground color information in raw mode. - *

- * This will convert the specified RGB data (in 0xRRGGBB format) - * to the internal, packed representation and copy it into the buffer, - * starting at the specified column and row. The array is expected to be - * indexed row-first, i.e. the first dimension is the vertical axis, the - * second the horizontal. - *

- * Important: this performs no checks as to whether something - * actually changed. It will always send the changed patch to clients. - * It will also not crop the specified array to the actually used range. - * In other words, this is not intended to be exposed as-is to user code, - * it should always be called with validated, and, as necessary, cropped - * values. - * - * @param column the horizontal index. - * @param row the vertical index. - * @param color the foreground color data to write. - */ - void rawSetForeground(int column, int row, int[][] color); - - /** - * Overwrites a portion of the background color information in raw mode. - *

- * This will convert the specified RGB data (in 0xRRGGBB format) - * to the internal, packed representation and copy it into the buffer, - * starting at the specified column and row. The array is expected to be - * indexed row-first, i.e. the first dimension is the vertical axis, the - * second the horizontal. - *

- * Important: this performs no checks as to whether something - * actually changed. It will always send the changed patch to clients. - * It will also not crop the specified array to the actually used range. - * In other words, this is not intended to be exposed as-is to user code, - * it should always be called with validated, and, as necessary, cropped - * values. - * - * @param column the horizontal index. - * @param row the vertical index. - * @param color the background color data to write. - */ - void rawSetBackground(int column, int row, int[][] color); - - // ----------------------------------------------------------------------- // - - /** - * Renders the text displayed on the buffer. - *

- * You are responsible for setting up the actual context and applying any - * transformations necessary to properly position and scale the text before - * calling this. The text should be rendered on a black background. - *

- * You can use this to either render the text in a GUI or in the world. - * - * @return true if the displayed content changed since the last - * call to this method. - */ - @SideOnly(Side.CLIENT) - boolean renderText(); - - /** - * The natural width of the rendered text. - *

- * This is the width of the complete text buffer, in pixels. In other - * words, this is the width of the buffer in chars times the actual width - * of a single char in pixels. - * - * @return the total width of the rendered buffer, in pixels. - */ - @SideOnly(Side.CLIENT) - int renderWidth(); - - /** - * The natural height of the rendered text. - *

- * This is the height of the complete text buffer, in pixels. In other - * words, this is the height of the buffer in chars times the actual height - * of a single char in pixels. - * - * @return the total height of the rendered buffer, in pixels. - */ - @SideOnly(Side.CLIENT) - int renderHeight(); - - /** - * Set whether the contents of the buffer should currently be rendered. - *

- * Note that this is automatically overwritten when the buffer's power - * state changes, i.e. when it runs out of power or gets back power. - * - * @param enabled whether the text buffer should be rendered. - */ - @SideOnly(Side.CLIENT) - void setRenderingEnabled(boolean enabled); - - /** - * Gets whether the contents of the buffer should currently be rendered. - * - * @see #setRenderingEnabled(boolean) - */ - @SideOnly(Side.CLIENT) - boolean isRenderingEnabled(); - - // ----------------------------------------------------------------------- // - - /** - * Signals a key down event for the buffer. - *

- * On the client side this causes a packet to be sent to the server. On the - * server side this will trigger a message that will be picked up by - * keyboards, which will then cause a signal in attached machines. - * - * @param character the character of the pressed key. - * @param code the key code of the pressed key. - * @param player the player that pressed the key. Pass null on the client side. - */ - void keyDown(char character, int code, EntityPlayer player); - - /** - * Signals a key up event for the buffer. - *

- * On the client side this causes a packet to be sent to the server. On the - * server side this will trigger a message that will be picked up by - * keyboards, which will then cause a signal in attached machines. - * - * @param character the character of the released key. - * @param code the key code of the released key. - * @param player the player that released the key. Pass null on the client side. - */ - void keyUp(char character, int code, EntityPlayer player); - - /** - * Signals a clipboard paste event for the buffer. - *

- * On the client side this causes a packet to be sent to the server. On the - * server side this will trigger a message that will be picked up by - * keyboards, which will then cause a signal in attached machines. - * - * @param value the text that was pasted. - * @param player the player that pasted the text. Pass null on the client side. - */ - void clipboard(String value, EntityPlayer player); - - /** - * Signals a mouse button down event for the buffer. - *

- * On the client side this causes a packet to be sent to the server. On the - * server side this will cause a signal in attached machines. - * - * @param x the horizontal coordinate of the mouse, in characters. - * @param y the vertical coordinate of the mouse, in characters. - * @param button the button of the mouse that was pressed. - * @param player the player that pressed the mouse button. Pass null on the client side. - */ - void mouseDown(double x, double y, int button, EntityPlayer player); - - /** - * Signals a mouse drag event for the buffer. - *

- * On the client side this causes a packet to be sent to the server. On the - * server side this will cause a signal in attached machines. - * - * @param x the horizontal coordinate of the mouse, in characters. - * @param y the vertical coordinate of the mouse, in characters. - * @param button the button of the mouse that is pressed. - * @param player the player that moved the mouse. Pass null on the client side. - */ - void mouseDrag(double x, double y, int button, EntityPlayer player); - - /** - * Signals a mouse button release event for the buffer. - *

- * On the client side this causes a packet to be sent to the server. On the - * server side this will cause a signal in attached machines. - * - * @param x the horizontal coordinate of the mouse, in characters. - * @param y the vertical coordinate of the mouse, in characters. - * @param button the button of the mouse that was released. - * @param player the player that released the mouse button. Pass null on the client side. - */ - void mouseUp(double x, double y, int button, EntityPlayer player); - - /** - * Signals a mouse wheel scroll event for the buffer. - *

- * On the client side this causes a packet to be sent to the server. On the - * server side this will cause a signal in attached machines. - * - * @param x the horizontal coordinate of the mouse, in characters. - * @param y the vertical coordinate of the mouse, in characters. - * @param delta indicates the direction of the mouse scroll. - * @param player the player that scrolled the mouse wheel. Pass null on the client side. - */ - void mouseScroll(double x, double y, int delta, EntityPlayer player); - - // TODO Remove deprecated overloads in 1.5. - - /** - * @deprecated Use the floating-point variant instead. - */ - @Deprecated - void mouseDown(int x, int y, int button, EntityPlayer player); - - /** - * @deprecated Use the floating-point variant instead. - */ - @Deprecated - void mouseDrag(int x, int y, int button, EntityPlayer player); - - /** - * @deprecated Use the floating-point variant instead. - */ - @Deprecated - void mouseUp(int x, int y, int button, EntityPlayer player); - - /** - * @deprecated Use the floating-point variant instead. - */ - @Deprecated - void mouseScroll(int x, int y, int delta, EntityPlayer player); - - // ----------------------------------------------------------------------- // - - /** - * Used when setting a buffer's maximum color depth. - */ - public static enum ColorDepth { - /** - * Monochrome color, black and white. - */ - OneBit, - - /** - * 16 color palette, defaults to Minecraft colors. - */ - FourBit, - - /** - * 240 colors, 16 color palette, defaults to grayscale. - */ - EightBit - } -} diff --git a/src/api/java/li/cil/oc/api/component/package-info.java b/src/api/java/li/cil/oc/api/component/package-info.java deleted file mode 100644 index 2727d58cb..000000000 --- a/src/api/java/li/cil/oc/api/component/package-info.java +++ /dev/null @@ -1,14 +0,0 @@ -/** - * This package provides interfaces to allow interacting with some components. - *

- * These interfaces allow more specific interaction with some of OpenComputers' - * components, which would otherwise require reflection or linking against the - * mod itself. - */ -@cpw.mods.fml.common.API( - owner = API.ID_OWNER, - provides = "OpenComputersAPI|Component", - apiVersion = API.VERSION) -package li.cil.oc.api.component; - -import li.cil.oc.api.API; diff --git a/src/api/java/li/cil/oc/api/detail/Builder.java b/src/api/java/li/cil/oc/api/detail/Builder.java deleted file mode 100644 index eedf6647e..000000000 --- a/src/api/java/li/cil/oc/api/detail/Builder.java +++ /dev/null @@ -1,146 +0,0 @@ -package li.cil.oc.api.detail; - -import li.cil.oc.api.network.*; - -/** - * Used for building {@link Node}s via {@link li.cil.oc.api.Network#newNode}. - * - * @param the type of the node created by this builder. - */ -public interface Builder { - /** - * Finalizes the construction of the node. - *

- * This performs the actual creation of the node, initializes it to the - * settings defined by the current builder and returns it. - * - * @return the final node. - */ - T create(); - - /** - * Builder for basic nodes. These nodes merely allow network access and - * take on no special role. - */ - public static interface NodeBuilder extends Builder { - /** - * Makes the node a component. - *

- * Nodes that are components can be accessed from computers, methods - * declared in them marked using the {@link li.cil.oc.api.machine.Callback} annotation can - * be invoked from computers that can see the component. - * - * @param name the name of the component. - * @param visibility the visibility of the component. - * @return a builder for a node that is also a component. - * @see li.cil.oc.api.network.Component - */ - ComponentBuilder withComponent(String name, Visibility visibility); - - /** - * Makes the node a component. - *

- * Like {@link #withComponent(String, Visibility)}, but with a default - * visibility set to the reachability of the node. - * - * @param name the name of the component. - * @return a builder for a node that is also a component. - * @see li.cil.oc.api.network.Component - */ - ComponentBuilder withComponent(String name); - - /** - * Makes the node a connector. - *

- * A connector node can feed power into the network and extract power - * from the network. This is used both for passive energy drain (such - * as running screens and computers) and for active power consumption - * (such as wireless message sending or robot actions). - * - * @param bufferSize the size of the local energy buffer. - * @return a builder for a node that is also a connector. - * @see li.cil.oc.api.network.Connector - */ - ConnectorBuilder withConnector(double bufferSize); - - /** - * Makes the node a connector. - *

- * Like {@link #withConnector(double)}, but with a default buffer size - * of zero. - * - * @return a builder for a node that is also a connector. - * @see li.cil.oc.api.network.Connector - */ - ConnectorBuilder withConnector(); - } - - /** - * Builder for component nodes. These node can be interacted with from - * computers in the same network, that can see the component. - */ - public static interface ComponentBuilder extends Builder { - /** - * Makes the node a connector. - *

- * A connector node can feed power into the network and extract power - * from the network. This is used both for passive energy drain (such - * as running screens and computers) and for active power consumption - * (such as wireless message sending or robot actions). - * - * @param bufferSize the size of the local energy buffer. - * @return a builder for a node that is also a connector. - * @see li.cil.oc.api.network.Connector - */ - ComponentConnectorBuilder withConnector(double bufferSize); - - /** - * Makes the node a connector. - *

- * Like {@link #withConnector(double)}, but with a default buffer size - * of zero. - * - * @return a builder for a node that is also a connector. - * @see li.cil.oc.api.network.Connector - */ - ComponentConnectorBuilder withConnector(); - } - - /** - * Builder for connector nodes. These nodes can interact with the energy - * stored in the network, i.e. increase or reduce it. - */ - public static interface ConnectorBuilder extends Builder { - /** - * Makes the node a component. - *

- * Nodes that are components can be accessed from computers, methods - * declared in them marked using the {@link li.cil.oc.api.machine.Callback} annotation can - * be invoked from computers that can see the component. - * - * @param name the name of the component. - * @param visibility the visibility of the component. - * @return a builder for a node that is also a component. - * @see li.cil.oc.api.network.Component - */ - ComponentConnectorBuilder withComponent(String name, Visibility visibility); - - /** - * Makes the node a component. - *

- * Like {@link #withComponent(String, Visibility)}, but with a default - * visibility set to the reachability of the node. - * - * @param name the name of the component. - * @return a builder for a node that is also a component. - * @see li.cil.oc.api.network.Component - */ - ComponentConnectorBuilder withComponent(String name); - } - - /** - * Builder for nodes that are both component and connector node. - */ - public static interface ComponentConnectorBuilder extends Builder { - } -} diff --git a/src/api/java/li/cil/oc/api/detail/DriverAPI.java b/src/api/java/li/cil/oc/api/detail/DriverAPI.java deleted file mode 100644 index 1a0d1c470..000000000 --- a/src/api/java/li/cil/oc/api/detail/DriverAPI.java +++ /dev/null @@ -1,119 +0,0 @@ -package li.cil.oc.api.detail; - -import li.cil.oc.api.driver.Block; -import li.cil.oc.api.driver.Converter; -import li.cil.oc.api.driver.EnvironmentHost; -import li.cil.oc.api.driver.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.world.World; - -import java.util.Collection; - -public interface DriverAPI { - /** - * Registers a new driver for a block component. - *

- * Whenever the neighboring blocks of an Adapter block change, it checks if - * there exists a driver for the changed block, and if it is configured to - * interface that block type connects it to the component network. - *

- * This must be called in the init phase, not the pre- or post-init - * phases. - * - * @param driver the driver for a block component. - */ - void add(Block driver); - - /** - * Registers a new driver for an item component. - *

- * Item components can inserted into a computers component slots. They have - * to specify their type, to determine into which slots they can fit. - *

- * This must be called in the init phase, not the pre- or post-init - * phases. - * - * @param driver the driver for an item component. - */ - void add(Item driver); - - /** - * Registers a new type converter. - *

- * Type converters are used to automatically convert values returned from - * callbacks to a "simple" format that can be pushed to any architecture. - *

- * This must be called in the init phase, not the pre- or post-init - * phases. - * - * @param converter the converter to register. - */ - void add(Converter converter); - - /** - * Looks up a driver for the block at the specified position in the - * specified world. - *

- * Note that several drivers for a single block can exist. Because of this - * block drivers are always encapsulated in a 'compound' driver, which is - * what will be returned here. In other words, you should will not - * get actual instances of drivers registered via {@link #add(li.cil.oc.api.driver.Block)}. - * - * @param world the world containing the block. - * @param x the X coordinate of the block. - * @param y the Y coordinate of the block. - * @param z the Z coordinate of the block. - * @return a driver for the block, or null if there is none. - */ - Block driverFor(World world, int x, int y, int z); - - /** - * Looks up a driver for the specified item stack. - *

- * Note that unlike for blocks, there can always only be one item driver - * per item. If there are multiple ones, the first one that was registered - * will be used. - * - * @param stack the item stack to get a driver for. - * @param host the type that will host the environment created by returned driver. - * @return a driver for the item, or null if there is none. - */ - Item driverFor(ItemStack stack, Class host); - - /** - * Looks up a driver for the specified item stack. - *

- * Note that unlike for blocks, there can always only be one item driver - * per item. If there are multiple ones, the first one that was registered - * will be used. - *

- * This is a context-agnostic variant used mostly for "house-keeping" - * stuff, such as querying slot types and tier. - * - * @param stack the item stack to get a driver for. - * @return a driver for the item, or null if there is none. - */ - Item driverFor(ItemStack stack); - - /** - * Get a list of all registered block drivers. - *

- * This is intended to allow checking for particular drivers using more - * customized logic, and in particular to check for drivers with the - * {@link li.cil.oc.api.driver.EnvironmentAware} interface. - * - * @return the list of all registered block drivers. - */ - Collection blockDrivers(); - - /** - * Get a list of all registered item drivers. - *

- * This is intended to allow checking for particular drivers using more - * customized logic, and in particular to check for drivers with the - * {@link li.cil.oc.api.driver.EnvironmentAware} interface. - * - * @return the list of all registered item drivers. - */ - Collection itemDrivers(); -} diff --git a/src/api/java/li/cil/oc/api/detail/FileSystemAPI.java b/src/api/java/li/cil/oc/api/detail/FileSystemAPI.java deleted file mode 100644 index 144f6df90..000000000 --- a/src/api/java/li/cil/oc/api/detail/FileSystemAPI.java +++ /dev/null @@ -1,152 +0,0 @@ -package li.cil.oc.api.detail; - -import li.cil.oc.api.driver.EnvironmentHost; -import li.cil.oc.api.fs.FileSystem; -import li.cil.oc.api.fs.Label; -import li.cil.oc.api.network.ManagedEnvironment; - -public interface FileSystemAPI { - /** - * Creates a new file system based on the location of a class. - *

- * This can be used to wrap a folder in the assets folder of your mod's JAR. - * The actual path is built like this: - *

"/assets/" + domain + "/" + root
- *

- * If the class is located in a JAR file, this will create a read-only file - * system based on that JAR file. If the class file is located in the native - * file system, this will create a read-only file system first trying from - * the actual location of the class file, and failing that by searching the - * class path (i.e. it'll look for a path constructed as described above). - *

- * If the specified path cannot be located, the creation fails and this - * returns null. - * - * @param clazz the class whose containing JAR to wrap. - * @param domain the domain, usually your mod's ID. - * @param root an optional subdirectory. - * @return a file system wrapping the specified folder. - */ - FileSystem fromClass(Class clazz, String domain, String root); - - /** - * Creates a new writable file system in the save folder. - *

- * This will create a folder, if necessary, and create a writable virtual - * file system based in that folder. The actual path is based in a sub- - * folder of the save folder. The actual path is built like this: - *

"saves/" + WORLD_NAME + "/opencomputers/" + root
- * The first part may differ, in particular for servers. - *

- * Usually the name will be the address of the node used to represent the - * file system. - *

- * Note that by default file systems are "buffered", meaning that any - * changes made to them are only saved to disk when the world is saved. This - * ensured that the file system contents do not go "out of sync" when the - * game crashes, but introduces additional memory overhead, since all files - * in the file system have to be kept in memory. - * - * @param root the name of the file system. - * @param capacity the amount of space in bytes to allow being used. - * @param buffered whether data should only be written to disk when saving. - * @return a file system wrapping the specified folder. - */ - FileSystem fromSaveDirectory(String root, long capacity, boolean buffered); - - /** - * Creates a new writable file system that resides in memory. - *

- * Any contents created and written on this file system will be lost when - * the node is removed from the network. - *

- * This is used for computers' /tmp mount, for example. - * - * @param capacity the capacity of the file system. - * @return a file system residing in memory. - */ - FileSystem fromMemory(long capacity); - - /** - * Creates a new file system based on a read-only ComputerCraft mount. - *

- * This supports read-only and writable mounts from either CC 1.5x or - * CC 1.6x. The argument is kept untyped to avoid having the OC API - * depend on the CC API. - *

- * If the passed type is unsupported, this will return null. - * - * @param mount the mount to wrap with a file system. - * @return a file system wrapping the specified mount. - */ - FileSystem fromComputerCraft(Object mount); - - /** - * Creates a network node that makes the specified file system available via - * the common file system driver. - *

- * This can be useful for providing some data if you don't wish to implement - * your own driver. Which will probably be most of the time. If you need - * more control over the node, implement your own, and connect this one to - * it. In that case you will have to forward any disk driver messages to the - * node, though. - *

- * The container parameter is used to give the file system some physical - * relation to the world, for example this is used by hard drives to send - * the disk event notifications to the client that are used to play disk - * access sounds. - *

- * The container may be null, if no such context can be provided. - * - * @param fileSystem the file system to wrap. - * @param label the label of the file system. - * @param host the tile entity containing the file system. - * @param accessSound the name of the sound effect to play when the file - * system is accessed. - * @return the network node wrapping the file system. - */ - ManagedEnvironment asManagedEnvironment(FileSystem fileSystem, Label label, EnvironmentHost host, String accessSound); - - /** - * Like {@link #asManagedEnvironment(li.cil.oc.api.fs.FileSystem, li.cil.oc.api.fs.Label, li.cil.oc.api.driver.EnvironmentHost, String)}, - * but creates a read-only label initialized to the specified value. - * - * @param fileSystem the file system to wrap. - * @param label the read-only label of the file system. - * @param host the tile entity containing the file system. - * @param accessSound the name of the sound effect to play when the file - * system is accessed. - * @return the network node wrapping the file system. - */ - ManagedEnvironment asManagedEnvironment(FileSystem fileSystem, String label, EnvironmentHost host, String accessSound); - - /** - * Like {@link #asManagedEnvironment(li.cil.oc.api.fs.FileSystem, li.cil.oc.api.fs.Label, li.cil.oc.api.driver.EnvironmentHost, String)}, - * but does not provide a container and access sound. - * - * @param fileSystem the file system to wrap. - * @param label the label of the file system. - * @return the network node wrapping the file system. - */ - ManagedEnvironment asManagedEnvironment(FileSystem fileSystem, Label label); - - /** - * Like {@link #asManagedEnvironment(li.cil.oc.api.fs.FileSystem, li.cil.oc.api.fs.Label)}, - * but creates a read-only label initialized to the specified value. - * - * @param fileSystem the file system to wrap. - * @param label the read-only label of the file system. - * @return the network node wrapping the file system. - */ - ManagedEnvironment asManagedEnvironment(FileSystem fileSystem, String label); - - /** - * Like {@link #asManagedEnvironment(li.cil.oc.api.fs.FileSystem, li.cil.oc.api.fs.Label)}, - * but creates an unlabeled file system (i.e. the label can neither be read - * nor written). - * - * @param fileSystem the file system to wrap. - * @return the network node wrapping the file system. - */ - ManagedEnvironment asManagedEnvironment(FileSystem fileSystem); -} \ No newline at end of file diff --git a/src/api/java/li/cil/oc/api/detail/ItemAPI.java b/src/api/java/li/cil/oc/api/detail/ItemAPI.java deleted file mode 100644 index 8ae9f334d..000000000 --- a/src/api/java/li/cil/oc/api/detail/ItemAPI.java +++ /dev/null @@ -1,29 +0,0 @@ -package li.cil.oc.api.detail; - -import net.minecraft.item.ItemStack; - -public interface ItemAPI { - /** - * Get a descriptor object for the block or item with the specified name. - *

- * The names are the same as the ones used in the recipe files. An info - * object can be used to retrieve both the block and item instance of the - * item, if available. It can also be used to create a new item stack of - * the item. - * - * @param name the name of the item to get the descriptor for. - * @return the descriptor for the item with the specified name, or - * null if there is no such item. - */ - ItemInfo get(String name); - - /** - * Get a descriptor object for the block or item represented by the - * specified item stack. - * - * @param stack the stack to get the descriptor for. - * @return the descriptor for the specified item stack, or null - * if the stack is not a valid OpenComputers item or block. - */ - ItemInfo get(ItemStack stack); -} diff --git a/src/api/java/li/cil/oc/api/detail/ItemInfo.java b/src/api/java/li/cil/oc/api/detail/ItemInfo.java deleted file mode 100644 index 4decd85a5..000000000 --- a/src/api/java/li/cil/oc/api/detail/ItemInfo.java +++ /dev/null @@ -1,50 +0,0 @@ -package li.cil.oc.api.detail; - -import net.minecraft.block.Block; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; - -public interface ItemInfo { - /** - * The name of this item descriptor. - *

- * This is the name that yields this instance when passed to - * {@link li.cil.oc.api.Items#get(String)}. Useful for reverse-lookup when - * retrieving the descriptor via an item stack. - * - * @return the name of this item descriptor. - */ - String name(); - - /** - * Returns the block type of the represented item. In case the item is not - * a block this will return null. - *

- * Note that OpenComputers represents most of its items using just a few - * actual Block instances, so descriptors for different blocks may - * return the same object here. - * - * @return the block type of the represented block. - */ - Block block(); - - /** - * Returns the item type of the represented item. In case the item is a - * blocks this will return null. - *

- * Note that OpenComputers represents most of its items using just a few - * actual Item instances, so descriptors for different items may - * return the same object here. - * - * @return the item type of the represented item. - */ - Item item(); - - /** - * Creates a new item stack of the item represended by this descriptor. - * - * @param size the size of the item stack to create. - * @return the created item stack. - */ - ItemStack createItemStack(int size); -} diff --git a/src/api/java/li/cil/oc/api/detail/MachineAPI.java b/src/api/java/li/cil/oc/api/detail/MachineAPI.java deleted file mode 100644 index 282291c1a..000000000 --- a/src/api/java/li/cil/oc/api/detail/MachineAPI.java +++ /dev/null @@ -1,43 +0,0 @@ -package li.cil.oc.api.detail; - -import li.cil.oc.api.machine.Architecture; -import li.cil.oc.api.machine.Machine; -import li.cil.oc.api.machine.MachineHost; - -import java.util.Collection; - -public interface MachineAPI { - /** - * Register an architecture that can be used to create new machines. - *

- * Note that although registration is optional, it is strongly recommended - * to allow {@link #architectures()} to be useful. - * - * @param architecture the architecture to register. - * @throws IllegalArgumentException if the specified architecture is invalid. - */ - void add(Class architecture); - - /** - * A list of all registered architectures. - *

- * Note that registration is optional, although automatic when calling - * {@link #create(li.cil.oc.api.machine.MachineHost)} with a not yet - * registered architecture. What this means is that unless a mod providing - * a custom architecture also registers it, you may not see it in this list - * until it also created a new machine using that architecture. - */ - Collection> architectures(); - - /** - * Creates a new machine for the specified host. - *

- * You are responsible for calling update and save / load functions on the - * machine for it to work correctly. - * - * @param host the owner object of the machine, providing context. - * @return the newly created machine. - * @throws IllegalArgumentException if the specified architecture is invalid. - */ - Machine create(MachineHost host); -} diff --git a/src/api/java/li/cil/oc/api/detail/NetworkAPI.java b/src/api/java/li/cil/oc/api/detail/NetworkAPI.java deleted file mode 100644 index 50f94567b..000000000 --- a/src/api/java/li/cil/oc/api/detail/NetworkAPI.java +++ /dev/null @@ -1,159 +0,0 @@ -package li.cil.oc.api.detail; - -import li.cil.oc.api.network.*; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.tileentity.TileEntity; - -public interface NetworkAPI { - /** - * Tries to add a tile entity's network node(s) at the specified coordinates - * to adjacent networks. - *

- * If the tile entity implements {@link Environment} its one node will be - * connected to any existing adjacent tile entity nodes. If none exist a - * new network with the specified tile entity's node as its sole entry. - *

- * If the tile entity is a {@link li.cil.oc.api.network.SidedEnvironment} - * the same rules as for simple environments apply, except that the - * respective for each side is used when connecting, and each side's node - * is added to its own new network, if necessary. - * - * @param tileEntity the tile entity to initialize. - */ - void joinOrCreateNetwork(TileEntity tileEntity); - - /** - * Creates a new network with the specified node as its initial node. - *

- * This can be used to create networks that are not bound to any tile - * entity. For example, this is used to create the internal networks of - * robots. - * - * @param node the node to create the network for. - * @throws IllegalArgumentException if the node already is in a network. - */ - void joinNewNetwork(Node node); - - // ----------------------------------------------------------------------- // - - /** - * Makes a wireless endpoint join the wireless network defined by the mod. - *

- * OpenComputers tracks endpoints to which to send wireless packets sent - * via the {@link #sendWirelessPacket(WirelessEndpoint, double, Packet)} - * method. The packets will only be sent to endpoints registered - * with the network. - *

- * Important: when your endpoint is removed from the world, - * you must ensure it is also removed from the network! - * - * @param endpoint the endpoint to register with the network. - */ - void joinWirelessNetwork(WirelessEndpoint endpoint); - - /** - * Updates a wireless endpoint in the wireless network. - *

- * This is more efficient than removing and then adding the node again, as - * it only performs the update if the position significantly changed since - * the last time the position was updated (more than 0.5 along any axis). - *

- * Calling this for an endpoint that was not added before does nothing. - * - * @param endpoint the endpoint for which to update the position. - */ - void updateWirelessNetwork(WirelessEndpoint endpoint); - - /** - * Removes a wireless endpoint from the wireless network. - *

- * This must be called when an endpoint becomes invalid, otherwise it will - * remain in the network! - *

- * Calling this for an endpoint that was not added before does nothing. - * - * @param endpoint the endpoint to remove from the wireless network. - */ - void leaveWirelessNetwork(WirelessEndpoint endpoint); - - /** - * Sends a packet via the wireless network. - *

- * This will look for all other registered wireless endpoints in range of - * the sender and submit the packets to them. Whether another end point is - * reached depends on the distance and potential obstacles between the - * sender and the receiver (harder blocks require a stronger signal to be - * penetrated). - * - * @param source the endpoint that is sending the message. - * @param strength the signal strength with which to send the packet. - * @param packet the packet to send. - */ - void sendWirelessPacket(WirelessEndpoint source, double strength, Packet packet); - - // ----------------------------------------------------------------------- // - - /** - * Factory function for creating new nodes. - *

- * Use this to create a node for your environment (e.g. tile entity). This - * will return a builder that can be used to further specialize the node, - * making it either a component node (for callbacks), a connector node - * (for power interaction) or both. - *

- * Example use: - *

-     * class YourThing extends TileEntity implements Environment {
-     *     private ComponentConnector node_ =
-     *         api.Network.newNode(this, Visibility.Network).
-     *             withComponent("your_thing").
-     *             withConnector(32).
-     *             create();
-     *
-     *     public Node node() { return node_; }
-     *
-     *     // ...
-     * }
-     * 
- *

- * Note that the reachability specified here is the general - * availability of the created node to other nodes in the network. Special - * rules apply to components, which have a visibility that is used - * to control how they can be reached from computers. For example, network - * cards have a reachability of Visibility.Network, to - * allow them to communicate with each other, but a visibility of - * Visibility.Neighbors to avoid other computers in the network - * to see the card (i.e. only the user programs running on the computer the - * card installed in can see interact with it). - * - * @param host the environment the node is created for. - * @param reachability the reachability of the node. - * @return a new node builder. - */ - Builder.NodeBuilder newNode(Environment host, Visibility reachability); - - /** - * Creates a new network packet as it would be sent or received by a - * network card. - *

- * These packets can be forwarded by switches and access points. For wired - * transmission they must be sent over a node's send method, with the - * message name being network.message. - * - * @param source the address of the sending node. - * @param destination the address of the destination, or null - * for a broadcast. - * @param port the port to send the packet to. - * @param data the payload of the packet. - * @return the new packet. - */ - Packet newPacket(String source, String destination, int port, Object[] data); - - /** - * Re-creates a network packet from a previously stored state. - * - * @param nbt the tag to load the packet from. - * @return the loaded packet. - */ - Packet newPacket(NBTTagCompound nbt); -} \ No newline at end of file diff --git a/src/api/java/li/cil/oc/api/detail/package-info.java b/src/api/java/li/cil/oc/api/detail/package-info.java deleted file mode 100644 index d33ae2f40..000000000 --- a/src/api/java/li/cil/oc/api/detail/package-info.java +++ /dev/null @@ -1,6 +0,0 @@ -/** - * This package contains implementation detail interfaces. You will not have to - * interact with these interfaces directly (except for the Builder), - * and you particularly should not implement these interfaces yourself. - */ -package li.cil.oc.api.detail; \ No newline at end of file diff --git a/src/api/java/li/cil/oc/api/driver/Block.java b/src/api/java/li/cil/oc/api/driver/Block.java deleted file mode 100644 index 895a629bf..000000000 --- a/src/api/java/li/cil/oc/api/driver/Block.java +++ /dev/null @@ -1,62 +0,0 @@ -package li.cil.oc.api.driver; - -import li.cil.oc.api.network.ManagedEnvironment; -import net.minecraft.world.World; - -/** - * Interface for block component drivers. - *

- * This driver type is used for components that are blocks, i.e. that can be - * placed in the world, but cannot be modified to or don't want to have their - * {@link net.minecraft.tileentity.TileEntity} implement one of the interfaces - * for environments ({@link li.cil.oc.api.network.Environment} or - * {@link li.cil.oc.api.network.SidedEnvironment}). - *

- * A block driver is used by Adapter blocks to check its neighbors and - * whether those neighbors should be treated as components or not. If a driver - * is present, it will be used to create a {@link ManagedEnvironment} that is - * managed by the adapter. - *

- * Note that it is possible to write one driver that supports as many different - * blocks as you wish. I'd recommend writing one per device (type), though, to - * keep things modular. - */ -public interface Block { - /** - * Used to determine the block types this driver handles. - *

- * This is used to determine which driver to use for a block placed next to - * an Adapter block. Note that the return value should not change - * over time; if it does, though, an already installed component will not - * be removed, since this value is only checked when scanning blocks. You - * can force this by sending a neighbor block change notification. - * - * @param world the world in which the block to check lives. - * @param x the X coordinate of the block to check. - * @param y the Y coordinate of the block to check. - * @param z the Z coordinate of the block to check. - * @return true if the block is supported; false otherwise. - */ - boolean worksWith(World world, int x, int y, int z); - - /** - * Create a new managed environment interfacing the specified block. - *

- * This is used to connect the component to the component network when it - * is detected next to an Adapter. Components that are not part of - * the component network probably don't make much sense (can't think of any - * uses at this time), but you may still opt to not implement this - i.e. - * it is safe to return null here. - *

- * This is expected to return a new instance each time it is - * called. The created instance's life cycle is managed by the - * Adapter block that caused its creation. - * - * @param world the world containing the block to get the environment for. - * @param x the X coordinate of the block to get the environment for. - * @param y the Y coordinate of the block to get the environment for. - * @param z the Z coordinate of the block to get the environment for. - * @return the environment for the block at that location. - */ - ManagedEnvironment createEnvironment(World world, int x, int y, int z); -} \ No newline at end of file diff --git a/src/api/java/li/cil/oc/api/driver/Converter.java b/src/api/java/li/cil/oc/api/driver/Converter.java deleted file mode 100644 index 8eccc321c..000000000 --- a/src/api/java/li/cil/oc/api/driver/Converter.java +++ /dev/null @@ -1,30 +0,0 @@ -package li.cil.oc.api.driver; - -import java.util.Map; - -/** - * A converter is a callback that can be used to transparently convert Java - * types to something that can be pushed to a machine's architecture. - *

- * Note that converters operating on the same object type may override each - * other when using the same keys in the resulting Map. The order in - * which converters are called depends on the order they were registered in. - */ -public interface Converter { - /** - * Converts a type to a Map. - *

- * The keys and values in the resulting map will be converted in turn. - * If after those conversions the map still contains unsupported values, - * they will not be retained. - *

- * The conversion result should be placed into the the passed map, i.e. the - * map will represent the original object. For example, if the value had a - * field name, add a key name to the map with the value - * of that field. - * - * @param value the value to convert. - * @param output the map conversion results are accumulated into. - */ - void convert(Object value, Map output); -} diff --git a/src/api/java/li/cil/oc/api/driver/EnvironmentAware.java b/src/api/java/li/cil/oc/api/driver/EnvironmentAware.java deleted file mode 100644 index f5e0ede0a..000000000 --- a/src/api/java/li/cil/oc/api/driver/EnvironmentAware.java +++ /dev/null @@ -1,37 +0,0 @@ -package li.cil.oc.api.driver; - -import li.cil.oc.api.network.Environment; -import net.minecraft.item.ItemStack; - -/** - * This interface can be added to either item or block drivers. - *

- * It is used to statically query the type of environment that would be created - * for the block or item represented by an item stack. This is used to provide - * automatically generated ingame help in the NEI usage screen, for example. - *

- * For item drivers this will usually be pretty simple to implement, assuming - * the driver only ever generates one type of environment - just return the - * class of it and you're done. - *

- * For block drivers there is a bit more work involved, since you have to check - * if the item is the item block that corresponds to the supported block type. - * This should usually not be an issue either, though. - */ -public interface EnvironmentAware { - /** - * Get the type of environment that would be created for the specified - * block or item. - *

- * Note that for block drivers this is called for any type of item stack. - *

- * For item drivers this is only called if {@link li.cil.oc.api.driver.Item#worksWith(net.minecraft.item.ItemStack)} - * returns true. - * - * @param stack the item stack representing a block or item to get the - * related environment type for. - * @return the type of environment this driver would produce, or - * null if the block or item is not supported. - */ - Class providedEnvironment(ItemStack stack); -} diff --git a/src/api/java/li/cil/oc/api/driver/EnvironmentHost.java b/src/api/java/li/cil/oc/api/driver/EnvironmentHost.java deleted file mode 100644 index 505068131..000000000 --- a/src/api/java/li/cil/oc/api/driver/EnvironmentHost.java +++ /dev/null @@ -1,52 +0,0 @@ -package li.cil.oc.api.driver; - -import net.minecraft.world.World; - -/** - * To be implemented by 'hosts' of components. - *

- * This is what's passed to drivers as the host when creating an environment. - * It is generally used to represent the components' location in the world. - *

- * You will only need to implement this if you intend to host components, e.g. - * by providing a custom computer case or such. In OpenComputers this interface - * is usually implemented directly by the tile entities acting as the host, so - * in most cases you should be able to cast this to TileEntity for - * more options, if necessary. - */ -public interface EnvironmentHost { - /** - * The world the container lives in. - */ - World world(); - - /** - * The container's X position in the world. - *

- * For tile entities this is the centered position. For example, - * if the tile entity is located at (0, 2, 3) this will be 0.5. - */ - double xPosition(); - - /** - * The container's Y position in the world. - *

- * For tile entities this is the centered position. For example, - * if the tile entity is located at (0, 2, 3) this will be 2.5. - */ - double yPosition(); - - /** - * The container's Z position in the world. - *

- * For tile entities this is the centered position. For example, - * if the tile entity is located at (0, 2, 3) this will be 3.5. - */ - double zPosition(); - - /** - * Marks the container as "changed" so that it knows it has to be saved - * again in the next world save. - */ - void markChanged(); -} diff --git a/src/api/java/li/cil/oc/api/driver/Item.java b/src/api/java/li/cil/oc/api/driver/Item.java deleted file mode 100644 index 6ad94678e..000000000 --- a/src/api/java/li/cil/oc/api/driver/Item.java +++ /dev/null @@ -1,114 +0,0 @@ -package li.cil.oc.api.driver; - -import li.cil.oc.api.network.ManagedEnvironment; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; - -/** - * Interface for item component drivers. - *

- * This driver type is used for components that are items, i.e. that can be - * inserted into computers and robots. An example for this are internal drives, - * memory and graphic cards. - *

- * When trying to add an item to a computer the list of registered drivers is - * queried using the drivers' worksWith functions. The first driver - * that replies positively and whose check against the slot type is successful, - * i.e. for which the slot matches the slot it should be inserted into, - * will be used as the component's driver and the component will be added. If no - * driver is found the item will be rejected and cannot be installed. - *

- * Note that it is possible to write one driver that supports as many different - * items as you wish. I'd recommend writing one per device (type), though, to - * keep things modular. - */ -public interface Item { - /** - * Used to determine the item types this driver handles. - *

- * This is used to determine which driver to use for an item when it should - * be installed in a computer. Note that the return value should not change - * over time; if it does, though, an already installed component will not - * be ejected, since this value is only checked when adding components. - *

- * This is a context-agnostic variant used mostly for "house-keeping" - * stuff, such as querying slot types and tier. - * - * @param stack the item to check. - * @return true if the item is supported; false otherwise. - */ - boolean worksWith(ItemStack stack); - - /** - * Create a new managed environment interfacing the specified item. - *

- * This is used to connect the component to the component network when it is - * added to a computer, for example. The only kind of component that does - * not need to be connected to the component network is probably memory, and - * there's a built-in driver for that. You may still opt to not implement - * this - i.e. it is safe to return null here. - *

- * Keep in mind that the host's location may change if the owner is - * a robot. This is important if you cache the location somewhere. For - * example, the wireless network card checks in a robot movement event - * handler for position changes to update the index structure used for - * receiver look-up. - *

- * This is expected to return a new instance each time it is - * called. The created instance's life cycle is managed by the host - * that caused its creation. - * - * @param stack the item stack for which to get the environment. - * @param host the host the environment will be managed by. - * @return the environment for that item. - */ - ManagedEnvironment createEnvironment(ItemStack stack, EnvironmentHost host); - - /** - * The slot type of the specified item this driver supports. - *

- * This is used to determine into which slot of a computer the components - * this driver supports may go. This will only be called if a previous call - * to {@link #worksWith} with the same stack returned true. - * - * @param stack the item stack to get the slot type for. - * @return the slot type of the specified item. - * @see li.cil.oc.api.driver.item.Slot - */ - String slot(ItemStack stack); - - /** - * The tier of the specified item this driver supports. - *

- * This is used to determine into which slot of a computer the components - * this driver supports may go. This will only be called if a previous call - * to {@link #worksWith} with the same stack returned true. - *

- * Important: tiers are zero-indexed. - * - * @param stack the item stack to get the tier for. - * @return the tier of the specified item. - */ - int tier(ItemStack stack); - - /** - * Get the tag compound based on the item stack to use for persisting the - * environment associated with the specified item stack. - *

- * This is only used if the item has an environment. This must always be a - * child tag of the item stack's own tag compound, it will not be saved - * otherwise. Use this in the unlikely case that the default name collides - * with something. The built-in components use a child tag-compound with - * the name oc:data, which will also be used if this returns - * null. - *

- * This tag will be passed to the environment's save and - * load methods when appropriate (world save / load and when - * removed from their hosting inventory). - * - * @param stack the item to get the child tag from. - * @return the tag to use for saving and loading, or null to use - * the default tag oc:data. - */ - NBTTagCompound dataTag(ItemStack stack); -} \ No newline at end of file diff --git a/src/api/java/li/cil/oc/api/driver/MethodWhitelist.java b/src/api/java/li/cil/oc/api/driver/MethodWhitelist.java deleted file mode 100644 index fa0e90478..000000000 --- a/src/api/java/li/cil/oc/api/driver/MethodWhitelist.java +++ /dev/null @@ -1,34 +0,0 @@ -package li.cil.oc.api.driver; - -/** - * This interface can be implemented by environments to enforce a method - * whitelist. - *

- * When drivers are collected for a block, they are combined into a compound - * driver. This compound driver will in turn generate a compound environment - * that wraps the contributing environments. Which in turn results in the - * block's component containing the list of methods from all drivers that apply - * to the block. - *

- * In some scenarios you may not want this to happen. Instead, only a select - * list of methods should be shown for a block - for example, you may want to - * suppress inventory functionality if your TileEntity implements IInventory. - *

- * To do so, implement this interface in the environment that you - * return from your driver's {@link li.cil.oc.api.driver.Block#createEnvironment(net.minecraft.world.World, int, int, int)} - * method, and provide the names of the allowed methods from {@link #whitelistedMethods()}. - *

- * Important: if multiple drivers apply to a single block that each - * provide a whitelist, the list of allowed methods is the intersection of the - * different whitelists! - */ -public interface MethodWhitelist { - /** - * The list of methods allowed to be exposed for blocks this driver is used - * for. Note that the names must exactly match the names of the - * methods they allow. - * - * @return the list of allowed methods. - */ - String[] whitelistedMethods(); -} diff --git a/src/api/java/li/cil/oc/api/driver/NamedBlock.java b/src/api/java/li/cil/oc/api/driver/NamedBlock.java deleted file mode 100644 index a23b05091..000000000 --- a/src/api/java/li/cil/oc/api/driver/NamedBlock.java +++ /dev/null @@ -1,36 +0,0 @@ -package li.cil.oc.api.driver; - -/** - * This interface can be added to environments generated by block - * drivers to provide a 'preferred name' in case the driver is merged with - * other block drivers (interface based drivers such as for IInventory). - *

- * This was previously to be implemented on the driver itself, but that has been - * deprecated. Implement it in the environment returned from the block driver's - * {@link li.cil.oc.api.driver.Block#createEnvironment(net.minecraft.world.World, int, int, int)} - * method instead. - */ -public interface NamedBlock { - /** - * The preferred name, in case the driver is merged with others. - * - * @return the preferred name. - */ - String preferredName(); - - /** - * This is used to determine which name to use in case multiple - * environments with this interface are merged. - *

- * If multiple named environments are merged the name of the environment - * with the highest priority is selected. Negative values are - * allowed. The recommended default value is therefore zero. - *

- * If multiple environments with the same priority exist, the - * result is unspecified. It will usually result in the environment - * of the driver that was registered first. - * - * @return the priority with which to use this name. - */ - int priority(); -} diff --git a/src/api/java/li/cil/oc/api/driver/item/Container.java b/src/api/java/li/cil/oc/api/driver/item/Container.java deleted file mode 100644 index dae5b8e00..000000000 --- a/src/api/java/li/cil/oc/api/driver/item/Container.java +++ /dev/null @@ -1,39 +0,0 @@ -package li.cil.oc.api.driver.item; - -import li.cil.oc.api.driver.Item; -import net.minecraft.item.ItemStack; - -/** - * May be implemented by drivers for robot upgrades that act as hotswap bays, - * i.e. which can be installed into the 'dynamic' slots, and provide on-the-fly - * changeable upgrade slots (i.e. which can be changed in the robot GUI, - * without disassembling and re-assembling the robot). - *

- * These drivers will not be queried for environments. The reported tier is the - * maximum tier supported in the dynamic slot they provide. - */ -public interface Container extends Item { - /** - * The type of slot provided as the dynamic slot. This will usually be - * for other upgrades, but may be for any type of item component. - *

- * While the driver's own type implicitly has to be 'Container' and could - * therefore be used instead, this makes the intention more clear. - * - * @param stack the item stack to get the provided slot type for. - * @return the slot type provided by that dynamic slot upgrade. - * @see Slot - */ - String providedSlot(ItemStack stack); - - /** - * The maximum item tier of the items that can be placed into the slot - * provided by the specified container. - *

- * This will usually be equal to the container's tier. - * - * @param stack the item stack to the the supported tier for. - * @return the maximum tier supported by that dynamic slot upgrade. - */ - int providedTier(ItemStack stack); -} diff --git a/src/api/java/li/cil/oc/api/driver/item/HostAware.java b/src/api/java/li/cil/oc/api/driver/item/HostAware.java deleted file mode 100644 index 2a47a2b15..000000000 --- a/src/api/java/li/cil/oc/api/driver/item/HostAware.java +++ /dev/null @@ -1,28 +0,0 @@ -package li.cil.oc.api.driver.item; - -import li.cil.oc.api.driver.EnvironmentHost; -import li.cil.oc.api.driver.Item; -import net.minecraft.item.ItemStack; - -/** - * This interface can be added to item drivers to allow them to be picky - * about their supported host environment. - *

- * This is useful for drivers for components that should only go into certain - * environments, such as robot specific upgrades. - */ -public interface HostAware extends Item { - /** - * Used to determine the item types this driver handles. - *

- * This is used to determine which driver to use for an item when it should - * be installed in a computer. Note that the return value should not change - * over time; if it does, though, an already installed component will not - * be ejected, since this value is only checked when adding components. - * - * @param stack the item to check. - * @param host the type of host the environment would live in. - * @return true if the item is supported; false otherwise. - */ - boolean worksWith(ItemStack stack, Class host); -} diff --git a/src/api/java/li/cil/oc/api/driver/item/Inventory.java b/src/api/java/li/cil/oc/api/driver/item/Inventory.java deleted file mode 100644 index 2e0eff061..000000000 --- a/src/api/java/li/cil/oc/api/driver/item/Inventory.java +++ /dev/null @@ -1,21 +0,0 @@ -package li.cil.oc.api.driver.item; - -import li.cil.oc.api.driver.Item; -import net.minecraft.item.ItemStack; - -/** - * This interface marks drivers for robot upgrades that provide inventory - * space to the robot. Note that this is only queried upon robot assembly, - * after that the inventory is fixed! This in particular means that there - * can be no hot-swappable inventories - at least none that are represented - * in the GUI. - */ -public interface Inventory extends Item { - /** - * The additional amount of inventory space the specified item provides. - * - * @param stack the item to get the provided inventory space for. - * @return the provided inventory space. - */ - int inventoryCapacity(ItemStack stack); -} diff --git a/src/api/java/li/cil/oc/api/driver/item/Memory.java b/src/api/java/li/cil/oc/api/driver/item/Memory.java deleted file mode 100644 index de44f636c..000000000 --- a/src/api/java/li/cil/oc/api/driver/item/Memory.java +++ /dev/null @@ -1,21 +0,0 @@ -package li.cil.oc.api.driver.item; - -import li.cil.oc.api.driver.Item; -import net.minecraft.item.ItemStack; - -/** - * Use this interface to implement item drivers extending the memory of a computer. - *

- * Note that the item must be installed in the actual computer's inventory to - * work. If it is installed in an external inventory the computer will not - * recognize the memory. - */ -public interface Memory extends Item { - /** - * The amount of RAM this component provides, in bytes. - * - * @param stack the item to get the provided memory for. - * @return the amount of memory the specified component provides. - */ - int amount(ItemStack stack); -} diff --git a/src/api/java/li/cil/oc/api/driver/item/Processor.java b/src/api/java/li/cil/oc/api/driver/item/Processor.java deleted file mode 100644 index f222b66cc..000000000 --- a/src/api/java/li/cil/oc/api/driver/item/Processor.java +++ /dev/null @@ -1,37 +0,0 @@ -package li.cil.oc.api.driver.item; - -import li.cil.oc.api.driver.Item; -import li.cil.oc.api.machine.Architecture; -import net.minecraft.item.ItemStack; - -/** - * Use this interface to implement item drivers extending the number of - * components a server can control. - *

- * Note that the item must be installed in the actual server's inventory to - * work. If it is installed in an external inventory the server will not - * recognize the memory. - */ -public interface Processor extends Item { - /** - * The additional number of components supported if this processor is - * installed in the server. - * - * @param stack the processor to get the number of supported components for. - * @return the number of additionally supported components. - */ - int supportedComponents(ItemStack stack); - - /** - * The architecture of this CPU. - *

- * This usually controls which architecture is created for a machine the - * CPU is installed in (this is true for all computers built into OC, such - * as computer cases, server racks and robots, it my not be true for third- - * party computers). - * - * @param stack the stack representing the CPU to get the architecture for. - * @return the type of this CPU's architecture. - */ - Class architecture(ItemStack stack); -} diff --git a/src/api/java/li/cil/oc/api/driver/item/Slot.java b/src/api/java/li/cil/oc/api/driver/item/Slot.java deleted file mode 100644 index 3e19fc805..000000000 --- a/src/api/java/li/cil/oc/api/driver/item/Slot.java +++ /dev/null @@ -1,22 +0,0 @@ -package li.cil.oc.api.driver.item; - -/** - * Reference list of slot types in OpenComputers. - */ -public final class Slot { - public static final String None = "none"; - public static final String Any = "any"; - - public static final String Card = "card"; - public static final String ComponentBus = "component_bus"; - public static final String Container = "container"; - public static final String CPU = "cpu"; - public static final String Floppy = "floppy"; - public static final String HDD = "hdd"; - public static final String Memory = "memory"; - public static final String Tablet = "tablet"; - public static final String Upgrade = "upgrade"; - - private Slot() { - } -} diff --git a/src/api/java/li/cil/oc/api/driver/item/package-info.java b/src/api/java/li/cil/oc/api/driver/item/package-info.java deleted file mode 100644 index c55aaa9f3..000000000 --- a/src/api/java/li/cil/oc/api/driver/item/package-info.java +++ /dev/null @@ -1,13 +0,0 @@ -/** - * This package contains item driver related interfaces. - *

- * These interfaces allow specializing item drivers to provide static data, - * that is without creating an actual environment. - */ -@cpw.mods.fml.common.API( - owner = API.ID_OWNER, - provides = "OpenComputersAPI|Driver|Item", - apiVersion = API.VERSION) -package li.cil.oc.api.driver.item; - -import li.cil.oc.api.API; diff --git a/src/api/java/li/cil/oc/api/driver/package-info.java b/src/api/java/li/cil/oc/api/driver/package-info.java deleted file mode 100644 index 8841681d0..000000000 --- a/src/api/java/li/cil/oc/api/driver/package-info.java +++ /dev/null @@ -1,13 +0,0 @@ -/** - * This package contains driver related interfaces. - *

- * Drivers are used to add items and third party blocks to the internal network, - * which is mostly used to make components wrapping them available to computers. - */ -@cpw.mods.fml.common.API( - owner = API.ID_OWNER, - provides = "OpenComputersAPI|Driver", - apiVersion = API.VERSION) -package li.cil.oc.api.driver; - -import li.cil.oc.api.API; diff --git a/src/api/java/li/cil/oc/api/event/FileSystemAccessEvent.java b/src/api/java/li/cil/oc/api/event/FileSystemAccessEvent.java deleted file mode 100644 index 97d0518af..000000000 --- a/src/api/java/li/cil/oc/api/event/FileSystemAccessEvent.java +++ /dev/null @@ -1,175 +0,0 @@ -package li.cil.oc.api.event; - -import cpw.mods.fml.common.eventhandler.Cancelable; -import cpw.mods.fml.common.eventhandler.Event; -import li.cil.oc.api.network.Node; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.world.World; - -/** - * Events for handling file system access and representing it on the client. - *

- * This is used to play file system access sounds and render disk activity - * indicators on some containers (e.g. disk drive, computer, server). - *

- * Use this to implement rendering of disk access indicators on you own - * containers / computers / drive bays. - *

- * Canceling this event is provided to allow registering higher priority - * event handlers that override default behavior. - */ -@Cancelable -public class FileSystemAccessEvent extends Event { - protected String sound; - - protected World world; - - protected double x; - - protected double y; - - protected double z; - - protected TileEntity tileEntity; - - protected NBTTagCompound data; - - /** - * Constructor for tile entity hosted file systems. - * - * @param sound the name of the sound effect to play. - * @param tileEntity the tile entity hosting the file system. - * @param data the additional data. - */ - protected FileSystemAccessEvent(String sound, TileEntity tileEntity, NBTTagCompound data) { - this.sound = sound; - this.world = tileEntity.getWorldObj(); - this.x = tileEntity.xCoord + 0.5; - this.y = tileEntity.yCoord + 0.5; - this.z = tileEntity.zCoord + 0.5; - this.tileEntity = tileEntity; - this.data = data; - } - - /** - * Constructor for arbitrarily hosted file systems. - * - * @param sound the name of the sound effect to play. - * @param world the world the file system lives in. - * @param x the x coordinate of the file system's container. - * @param y the y coordinate of the file system's container. - * @param z the z coordinate of the file system's container. - * @param data the additional data. - */ - protected FileSystemAccessEvent(String sound, World world, double x, double y, double z, NBTTagCompound data) { - this.sound = sound; - this.world = world; - this.x = x; - this.y = y; - this.z = z; - this.tileEntity = null; - this.data = data; - } - - /** - * The name of the sound effect to play for the file system. - */ - public String getSound() { - return sound; - } - - /** - * The world the file system lives in. - */ - public World getWorld() { - return world; - } - - /** - * The x coordinate of the file system's container. - */ - public double getX() { - return x; - } - - /** - * The y coordinate of the file system's container. - */ - public double getY() { - return y; - } - - /** - * The z coordinate of the file system's container. - */ - public double getZ() { - return z; - } - - /** - * The tile entity hosting the file system. - *

- * Important: this can be null, which is usually the - * case when the container is an entity or item. - */ - public TileEntity getTileEntity() { - return tileEntity; - } - - /** - * Addition custom data, this is used to transmit the number of the server - * in a server rack the file system lives in, for example. - */ - public NBTTagCompound getData() { - return data; - } - - public static final class Server extends FileSystemAccessEvent { - private Node node; - - public Server(String sound, TileEntity tileEntity, Node node) { - super(sound, tileEntity, new NBTTagCompound()); - this.node = node; - } - - public Server(String sound, World world, double x, double y, double z, Node node) { - super(sound, world, x, y, z, new NBTTagCompound()); - this.node = node; - } - - /** - * The node of the file system that signalled activity. - */ - public Node getNode() { - return node; - } - } - - public static final class Client extends FileSystemAccessEvent { - /** - * Constructor for tile entity hosted file systems. - * - * @param sound the name of the sound effect to play. - * @param tileEntity the tile entity hosting the file system. - * @param data the additional data. - */ - public Client(String sound, TileEntity tileEntity, NBTTagCompound data) { - super(sound, tileEntity, data); - } - - /** - * Constructor for arbitrarily hosted file systems. - * - * @param sound the name of the sound effect to play. - * @param world the world the file system lives in. - * @param x the x coordinate of the file system's container. - * @param y the y coordinate of the file system's container. - * @param z the z coordinate of the file system's container. - * @param data the additional data. - */ - public Client(String sound, World world, double x, double y, double z, NBTTagCompound data) { - super(sound, world, x, y, z, data); - } - } -} diff --git a/src/api/java/li/cil/oc/api/event/GeolyzerEvent.java b/src/api/java/li/cil/oc/api/event/GeolyzerEvent.java deleted file mode 100644 index 92269f7eb..000000000 --- a/src/api/java/li/cil/oc/api/event/GeolyzerEvent.java +++ /dev/null @@ -1,88 +0,0 @@ -package li.cil.oc.api.event; - -import cpw.mods.fml.common.eventhandler.Cancelable; -import cpw.mods.fml.common.eventhandler.Event; -import li.cil.oc.api.driver.EnvironmentHost; -import net.minecraftforge.common.util.ForgeDirection; - -import java.util.HashMap; -import java.util.Map; - -/** - * This event is fired by the geolyzer block/upgrade. - *

- * When cancelling this event, the respective method will bail and report - * that the operation failed. - */ -@Cancelable -public abstract class GeolyzerEvent extends Event { - /** - * The container of the geolyzer component. This can either be the - * geolyzer block, or something with the geolyzer upgrade (a robot). - */ - public final EnvironmentHost host; - - /** - * The options the operation was invoked with. - */ - public final Map options; - - protected GeolyzerEvent(EnvironmentHost host, Map options) { - this.host = host; - this.options = options; - } - - /** - * Long-distance scan, getting quantified information about blocks around - * the geolyzer. By default this will yield a (noisy) listing of the - * hardness of the blocks. - *

- * Note: the y coordinate is computed as geolyzer.y - 32 + data.index. - */ - public static class Scan extends GeolyzerEvent { - /** - * The relative x coordinate of the column being scanned. - */ - public final int scanX; - - /** - * The relative z coordinate of the column being scanned. - */ - public final int scanZ; - - /** - * The data for the column of blocks being scanned, which is an - * interval around the geolyzer itself, with the geolyzer block - * being at index 32. - */ - public final float[] data = new float[64]; - - public Scan(EnvironmentHost host, Map options, int scanX, int scanZ) { - super(host, options); - this.scanX = scanX; - this.scanZ = scanZ; - } - } - - /** - * Zero-range scan, getting in-depth information about blocks directly - * adjacent to the geolyzer. By default this will yield the block's - * name, metadata, hardness and harvest information. - */ - public static class Analyze extends GeolyzerEvent { - /** - * The side of the geolyzer on which the block to scan is located. - */ - public final ForgeDirection side; - - /** - * The retrieved data for the block being scanned. - */ - public final Map data = new HashMap(); - - public Analyze(EnvironmentHost host, Map options, ForgeDirection side) { - super(host, options); - this.side = side; - } - } -} diff --git a/src/api/java/li/cil/oc/api/event/RobotAnalyzeEvent.java b/src/api/java/li/cil/oc/api/event/RobotAnalyzeEvent.java deleted file mode 100644 index 4b902117d..000000000 --- a/src/api/java/li/cil/oc/api/event/RobotAnalyzeEvent.java +++ /dev/null @@ -1,21 +0,0 @@ -package li.cil.oc.api.event; - -import li.cil.oc.api.internal.Robot; -import net.minecraft.entity.player.EntityPlayer; - -/** - * Fired when an analyzer is used on a robot. - *

- * Use this to echo additional information for custom components. - */ -public class RobotAnalyzeEvent extends RobotEvent { - /** - * The player that used the analyzer. - */ - public final EntityPlayer player; - - public RobotAnalyzeEvent(Robot robot, EntityPlayer player) { - super(robot); - this.player = player; - } -} diff --git a/src/api/java/li/cil/oc/api/event/RobotAttackEntityEvent.java b/src/api/java/li/cil/oc/api/event/RobotAttackEntityEvent.java deleted file mode 100644 index 4eead6627..000000000 --- a/src/api/java/li/cil/oc/api/event/RobotAttackEntityEvent.java +++ /dev/null @@ -1,38 +0,0 @@ -package li.cil.oc.api.event; - -import cpw.mods.fml.common.eventhandler.Cancelable; -import li.cil.oc.api.internal.Robot; -import net.minecraft.entity.Entity; - -public class RobotAttackEntityEvent extends RobotEvent { - /** - * The entity that the robot will attack. - */ - public final Entity target; - - protected RobotAttackEntityEvent(Robot robot, Entity target) { - super(robot); - this.target = target; - } - - /** - * Fired when a robot is about to attack an entity. - *

- * Canceling this event will prevent the attack. - */ - @Cancelable - public static class Pre extends RobotAttackEntityEvent { - public Pre(Robot robot, Entity target) { - super(robot, target); - } - } - - /** - * Fired after a robot has attacked an entity. - */ - public static class Post extends RobotAttackEntityEvent { - public Post(Robot robot, Entity target) { - super(robot, target); - } - } -} diff --git a/src/api/java/li/cil/oc/api/event/RobotBreakBlockEvent.java b/src/api/java/li/cil/oc/api/event/RobotBreakBlockEvent.java deleted file mode 100644 index 94288e25e..000000000 --- a/src/api/java/li/cil/oc/api/event/RobotBreakBlockEvent.java +++ /dev/null @@ -1,79 +0,0 @@ -package li.cil.oc.api.event; - -import cpw.mods.fml.common.eventhandler.Cancelable; -import li.cil.oc.api.internal.Robot; -import net.minecraft.world.World; - -public abstract class RobotBreakBlockEvent extends RobotEvent { - protected RobotBreakBlockEvent(Robot robot) { - super(robot); - } - - /** - * Fired when a robot is about to break a block. - *

- * Canceling this event will prevent the block from getting broken. - */ - @Cancelable - public static class Pre extends RobotBreakBlockEvent { - /** - * The world in which the block will be broken. - */ - public final World world; - - /** - * The coordinates at which the block will be broken. - */ - public final int x, y, z; - - /** - * The time it takes to break the block. - */ - private double breakTime; - - public Pre(Robot robot, World world, int x, int y, int z, double breakTime) { - super(robot); - this.world = world; - this.x = x; - this.y = y; - this.z = z; - this.breakTime = breakTime; - } - - /** - * Sets the time it should take the robot to break the block. - *

- * Note that the robot will still break the block instantly, but the - * robot's execution is paused for the specified amount of time. - * - * @param breakTime the time in seconds the break operation takes. - */ - public void setBreakTime(double breakTime) { - this.breakTime = Math.max(0.05, breakTime); - } - - /** - * Gets the time that it will take to break the block. - * - * @see #setBreakTime(double) - */ - public double getBreakTime() { - return breakTime; - } - } - - /** - * Fired after a robot broke a block. - */ - public static class Post extends RobotBreakBlockEvent { - /** - * The amount of experience the block that was broken generated (e.g. certain ores). - */ - public final double experience; - - public Post(Robot robot, double experience) { - super(robot); - this.experience = experience; - } - } -} diff --git a/src/api/java/li/cil/oc/api/event/RobotEvent.java b/src/api/java/li/cil/oc/api/event/RobotEvent.java deleted file mode 100644 index 074e4b6f4..000000000 --- a/src/api/java/li/cil/oc/api/event/RobotEvent.java +++ /dev/null @@ -1,18 +0,0 @@ -package li.cil.oc.api.event; - -import cpw.mods.fml.common.eventhandler.Event; -import li.cil.oc.api.internal.Robot; - -/** - * Base class for events generated by robots. - */ -public abstract class RobotEvent extends Event { - /** - * The robot for which this event was fired. - */ - public final Robot robot; - - protected RobotEvent(Robot robot) { - this.robot = robot; - } -} diff --git a/src/api/java/li/cil/oc/api/event/RobotExhaustionEvent.java b/src/api/java/li/cil/oc/api/event/RobotExhaustionEvent.java deleted file mode 100644 index 56ae85d26..000000000 --- a/src/api/java/li/cil/oc/api/event/RobotExhaustionEvent.java +++ /dev/null @@ -1,19 +0,0 @@ -package li.cil.oc.api.event; - -import li.cil.oc.api.internal.Robot; - -/** - * Fired when a robot performed an action that would cause exhaustion for a - * player. Used for the experience upgrade, for example. - */ -public class RobotExhaustionEvent extends RobotEvent { - /** - * The amount of exhaustion that was generated. - */ - public final double exhaustion; - - public RobotExhaustionEvent(Robot robot, double exhaustion) { - super(robot); - this.exhaustion = exhaustion; - } -} diff --git a/src/api/java/li/cil/oc/api/event/RobotMoveEvent.java b/src/api/java/li/cil/oc/api/event/RobotMoveEvent.java deleted file mode 100644 index 29e90be63..000000000 --- a/src/api/java/li/cil/oc/api/event/RobotMoveEvent.java +++ /dev/null @@ -1,38 +0,0 @@ -package li.cil.oc.api.event; - -import cpw.mods.fml.common.eventhandler.Cancelable; -import li.cil.oc.api.internal.Robot; -import net.minecraftforge.common.util.ForgeDirection; - -public abstract class RobotMoveEvent extends RobotEvent { - /** - * The direction in which the robot will be moving. - */ - public final ForgeDirection direction; - - protected RobotMoveEvent(Robot robot, ForgeDirection direction) { - super(robot); - this.direction = direction; - } - - /** - * Fired when a robot is about to move. - *

- * Canceling the event will prevent the robot from moving. - */ - @Cancelable - public static class Pre extends RobotMoveEvent { - public Pre(Robot robot, ForgeDirection direction) { - super(robot, direction); - } - } - - /** - * Fired after a robot moved. - */ - public static class Post extends RobotMoveEvent { - public Post(Robot robot, ForgeDirection direction) { - super(robot, direction); - } - } -} diff --git a/src/api/java/li/cil/oc/api/event/RobotPlaceBlockEvent.java b/src/api/java/li/cil/oc/api/event/RobotPlaceBlockEvent.java deleted file mode 100644 index d481268bd..000000000 --- a/src/api/java/li/cil/oc/api/event/RobotPlaceBlockEvent.java +++ /dev/null @@ -1,53 +0,0 @@ -package li.cil.oc.api.event; - -import cpw.mods.fml.common.eventhandler.Cancelable; -import li.cil.oc.api.internal.Robot; -import net.minecraft.item.ItemStack; -import net.minecraft.world.World; - -public abstract class RobotPlaceBlockEvent extends RobotEvent { - /** - * The item that is used to place the block. - */ - public final ItemStack stack; - - /** - * The world in which the block will be placed. - */ - public final World world; - - /** - * The coordinates at which the block will be placed. - */ - public final int x, y, z; - - protected RobotPlaceBlockEvent(Robot robot, ItemStack stack, World world, int x, int y, int z) { - super(robot); - this.stack = stack; - this.world = world; - this.x = x; - this.y = y; - this.z = z; - } - - /** - * Fired when a robot is about to place a block. - *

- * Canceling this event will prevent the block from being placed. - */ - @Cancelable - public static class Pre extends RobotPlaceBlockEvent { - public Pre(Robot robot, ItemStack stack, World world, int x, int y, int z) { - super(robot, stack, world, x, y, z); - } - } - - /** - * Fired after a robot placed a block. - */ - public static class Post extends RobotPlaceBlockEvent { - public Post(Robot robot, ItemStack stack, World world, int x, int y, int z) { - super(robot, stack, world, x, y, z); - } - } -} diff --git a/src/api/java/li/cil/oc/api/event/RobotPlaceInAirEvent.java b/src/api/java/li/cil/oc/api/event/RobotPlaceInAirEvent.java deleted file mode 100644 index 01c193777..000000000 --- a/src/api/java/li/cil/oc/api/event/RobotPlaceInAirEvent.java +++ /dev/null @@ -1,34 +0,0 @@ -package li.cil.oc.api.event; - -import li.cil.oc.api.internal.Robot; - -/** - * This event is fired when a robot tries to place a block and has no point of - * reference, i.e. the place would have to be placed in "thin air". Per default - * this fails (because players can't do this, either). - *

- * This is primarily intended for the 'Angel Upgrade', but it might be useful - * for other upgrades, too. - */ -public class RobotPlaceInAirEvent extends RobotEvent { - private boolean isAllowed = false; - - public RobotPlaceInAirEvent(Robot robot) { - super(robot); - } - - /** - * Whether the placement is allowed. Defaults to false. - */ - public boolean isAllowed() { - return isAllowed; - } - - /** - * Set whether the placement is allowed, can be used to allow robots to - * place blocks in thin air. - */ - public void setAllowed(boolean value) { - this.isAllowed = value; - } -} diff --git a/src/api/java/li/cil/oc/api/event/RobotRenderEvent.java b/src/api/java/li/cil/oc/api/event/RobotRenderEvent.java deleted file mode 100644 index 58afc6a76..000000000 --- a/src/api/java/li/cil/oc/api/event/RobotRenderEvent.java +++ /dev/null @@ -1,61 +0,0 @@ -package li.cil.oc.api.event; - -import cpw.mods.fml.common.eventhandler.Cancelable; -import li.cil.oc.api.internal.Robot; -import org.lwjgl.util.vector.Vector3f; -import org.lwjgl.util.vector.Vector4f; - -/** - * Fired directly before the robot's chassis is rendered. - *

- * If this event is canceled, the chassis will not be rendered. - * Component items' item renderers will still be invoked, at the possibly - * modified mount points. - *

- * Important: the robot instance may be null in this event, in - * case the render pass is for rendering the robot in an inventory. - */ -@Cancelable -public class RobotRenderEvent extends RobotEvent { - /** - * Points on the robot at which component models may be rendered. - *

- * By convention, components should be rendered in order of their slots, - * meaning that some components may not be rendered at all, if there are - * not enough mount points. - *

- * The equipped tool is rendered at a fixed position, this list does not - * contain a mount point for it. - */ - public final MountPoint[] mountPoints; - - public RobotRenderEvent(Robot robot, MountPoint[] mountPoints) { - super(robot); - this.mountPoints = mountPoints; - } - - /** - * Describes points on the robot model at which components are "mounted", - * i.e. where component models may be rendered. - */ - public static class MountPoint { - /** - * The position of the mount point, relative to the robot's center. - * For the purposes of this offset, the robot is always facing south, - * i.e. the positive Z axis is 'forward'. - *

- * Note that the rotation is applied before the translation. - */ - public final Vector3f offset = new Vector3f(0, 0, 0); - - /** - * The orientation of the mount point specified by the angle and the - * vector to rotate around. The rotation is applied in one - * GL11.glRotate() call. Note that the W component of the - * vector is the rotation. - *

- * Note that the rotation is applied before the translation. - */ - public final Vector4f rotation = new Vector4f(0, 0, 0, 0); - } -} diff --git a/src/api/java/li/cil/oc/api/event/RobotUsedToolEvent.java b/src/api/java/li/cil/oc/api/event/RobotUsedToolEvent.java deleted file mode 100644 index de6bfb512..000000000 --- a/src/api/java/li/cil/oc/api/event/RobotUsedToolEvent.java +++ /dev/null @@ -1,70 +0,0 @@ -package li.cil.oc.api.event; - -import li.cil.oc.api.internal.Robot; -import net.minecraft.item.ItemStack; - -public class RobotUsedToolEvent extends RobotEvent { - /** - * The tool that was used, before and after use. - */ - public final ItemStack toolBeforeUse, toolAfterUse; - - protected double damageRate; - - protected RobotUsedToolEvent(Robot robot, ItemStack toolBeforeUse, ItemStack toolAfterUse, double damageRate) { - super(robot); - this.toolBeforeUse = toolBeforeUse; - this.toolAfterUse = toolAfterUse; - this.damageRate = damageRate; - } - - /** - * The rate at which the used tool should lose durability, where one means - * it loses durability at full speed, zero means it doesn't lose durability - * at all. - *

- * This value is in an interval of [0, 1]. - */ - public double getDamageRate() { - return damageRate; - } - - /** - * Fired when a robot used a tool and is about to apply the damage rate to - * partially undo the durability loss. This step is used to compute the - * rate at which the tool should lose durability, which is used by the - * experience upgrade, for example. - */ - public static class ComputeDamageRate extends RobotUsedToolEvent { - public ComputeDamageRate(Robot robot, ItemStack toolBeforeUse, ItemStack toolAfterUse, double damageRate) { - super(robot, toolBeforeUse, toolAfterUse, damageRate); - } - - /** - * Set the rate at which the tool actually gets damaged. - *

- * This will be clamped to an iterval of [0, 1]. - * - * @param damageRate the new damage rate. - */ - public void setDamageRate(double damageRate) { - this.damageRate = Math.max(0, Math.min(1, damageRate)); - } - } - - /** - * Fired when a robot used a tool and the previously fired damage rate - * computation returned a value smaller than one. The callbacks of this - * method are responsible for applying the inverse damage the tool took. - * The toolAfterUse item stack represents the actual tool, any - * changes must be applied to that variable. The toolBeforeUse - * item stack is passed for reference, to compute the actual amount of - * durability that was lost. This may be required for tools where the - * durability is stored in the item's NBT tag. - */ - public static class ApplyDamageRate extends RobotUsedToolEvent { - public ApplyDamageRate(Robot robot, ItemStack toolBeforeUse, ItemStack toolAfterUse, double damageRate) { - super(robot, toolBeforeUse, toolAfterUse, damageRate); - } - } -} diff --git a/src/api/java/li/cil/oc/api/event/package-info.java b/src/api/java/li/cil/oc/api/event/package-info.java deleted file mode 100644 index 5309265f9..000000000 --- a/src/api/java/li/cil/oc/api/event/package-info.java +++ /dev/null @@ -1,11 +0,0 @@ -/** - * Events dispatched by OpenComputers to allow other mods to hook into some - * of its functionality. - */ -@cpw.mods.fml.common.API( - owner = API.ID_OWNER, - provides = "OpenComputersAPI|Event", - apiVersion = API.VERSION) -package li.cil.oc.api.event; - -import li.cil.oc.api.API; diff --git a/src/api/java/li/cil/oc/api/fs/FileSystem.java b/src/api/java/li/cil/oc/api/fs/FileSystem.java deleted file mode 100644 index 71be33e24..000000000 --- a/src/api/java/li/cil/oc/api/fs/FileSystem.java +++ /dev/null @@ -1,246 +0,0 @@ -package li.cil.oc.api.fs; - -import li.cil.oc.api.Persistable; - -import java.io.FileNotFoundException; - -/** - * Interface for file system driver compatible file systems. - *

- * See {@link li.cil.oc.api.FileSystem} for factory methods. - *

- * Note that all paths passed here are assumed to be absolute in the underlying - * file system implementation, meaning they do not contain any "." or "..", and - * are relative to the root of the file system. When wrapping a file system in - * a node with the provided factory functions this is automatically ensured. If - * you call any of the functions of a file system directly it is your - * responsibility to ensure the path has been cleaned up. - */ -public interface FileSystem extends Persistable { - /** - * Whether this file system is read-only. - *

- * This is used to allow programs to check whether a file system can be - * written to without trying to open a file for writing. Note that this is - * merely used as an indicator. All mutating accessors should be implemented - * accordingly to enforce true read-only logic (i.e. {@link #open} should - * not allow opening files in write or append mode, {@link #makeDirectory} - * and such should do nothing/return false/throw an exception). - */ - boolean isReadOnly(); - - /** - * The total storage capacity of the file system, in bytes. - *

- * For read-only systems this should return zero, for writable file systems - * that do not enforce a storage limit this should be a negative value. - * - * @return the total storage space of this file system. - */ - long spaceTotal(); - - /** - * The used storage capacity of the file system, in bytes. - * - * @return the used storage space of this file system. - */ - long spaceUsed(); - - // ----------------------------------------------------------------------- // - - /** - * Tests if a file or directory exists at the specified path. - *

- * This function should never throw. - * - * @param path the path to check at. - * @return true if the path points to a file or directory; - * false otherwise. - */ - boolean exists(String path); - - /** - * Gets the size of a file. - *

- * For files this should return the actual length of the file, in bytes. For - * folders this should return zero. - *

- * If the path is invalid this should return zero. It should never throw. - * - * @param path the path to get the size for. - * @return the size of the object at the specified path. - */ - long size(String path); - - /** - * Tests whether the object at the specified path is a directory. - *

- * If the path is invalid (i.e. there is neither a file nor a directory at - * the specified location) this should also return false. It should never - * throw. - * - * @param path the path to the object to check. - * @return true if the object is a directory; false otherwise. - */ - boolean isDirectory(String path); - - /** - * Gets the timestamp of the last time the file at the specified path was - * written to. - *

- * For folders this should be the time they were created. - *

- * If the path is invalid (i.e. there is neither a file nor a directory at - * the specified location) this should return zero. It should never throw. - *

- * For read-only systems this may be zero for all queries. - * - * @param path the path to the object to get the last modified time of. - * @return the time the object was last modified. - */ - long lastModified(String path); - - /** - * Gets a list of all items in the specified folder. - *

- * This must return the actual object names in the specified parent folder, - * not their full path. For example, for a file at /home/test, when - * doing list("/home/") this should return ["test"], - * not ["/home/test"]. - *

- * Sub-folders should be returned with a trailing slash, to indicate that - * they are folders. - *

- * If the folder is empty this should return an empty array. - * - * @param path the path to the folder to get the contents of. - * @return an array with the names of all objects in that folder; - * null if the specified object does not exist or is not a - * folder. - */ - String[] list(String path); - - // ----------------------------------------------------------------------- // - - /** - * Deletes a file or folder. - *

- * This only has to support deleting single files and empty folders. If a - * directory is non-empty this may return false. If the target - * object does not exists it should return false. - *

- * This is only available for writable file systems. For read-only systems - * it should always return false. - * - * @param path the path to the object to delete. - * @return true if the object was successfully deleted; - * false otherwise. - */ - boolean delete(String path); - - /** - * Create the specified directory. - *

- * This should always only create a single directory. If the parent - * directory does not exists it should return false. If the target - * object already exists it should also return false. - *

- * This is only available for writable file systems. For read-only systems - * it should always return false. - * - * @param path the path to the directory to create. - * @return true if the directory was created; false otherwise. - */ - boolean makeDirectory(String path); - - /** - * Moves / renames a file or folder. - *

- * This is only available for writable file systems. For read-only systems - * it should always return false. - * - * @param from the name of the file or folder to move. - * @param to the location to move the file or folder to. - * @return true if the object was renamed; - * false otherwise. - * @throws java.io.FileNotFoundException if the source is not a file or folder. - */ - boolean rename(String from, String to) throws FileNotFoundException; - - /** - * Sets the time a file or folder was supposedly last modified. - *

- * This is not available to the user side via the file system driver. It is - * intended to be used when initializing a file system to a set of known - * modification times (for example, this is used when creating a virtual - * file system from a set of real files). - *

- * Read-only file systems may ignore this request. - * - * @param path the path of the object for which to set the modification time. - * @param time the time the object was supposedly last modified. - * @return true if the modification time was adjusted; - * false otherwise. - */ - boolean setLastModified(String path, long time); - - // ----------------------------------------------------------------------- // - - /** - * Opens a file for reading or writing. - *

- * This should create some internal handle to the file, based on the mode - * specified. A unique ID corresponding to that handle should be returned. - * This ID can be used in {@link #getHandle} to get an abstract wrapper for - * the handle, and to allow interaction with the file. - *

- * It is the responsibility of the file system to restore all handles to - * their previous state when it is reloaded (game loaded for example). - *

- * Important: you should return a random value as the handle, to - * reduce the chance for conflicts. For example, a file system may be used - * in a compound of file systems (e.g. for the ROM of machines), in which - * case it is essential that the handles from different sub file - * systems do not overlap. - * - * @param path the path to the file to open. - * @param mode the mode in which to open the file. - * @return the handle to the opened file. - * @throws java.io.FileNotFoundException if the object is not a file, or - * the file cannot be opened in the - * specified mode. - */ - int open(String path, Mode mode) throws FileNotFoundException; - - /** - * Gets a wrapper for a file previously opened using {@link #open}. - *

- * The wrapper allows interaction with the underlying file (stream) based - * on the mode it was opened in. See {@link li.cil.oc.api.fs.Handle} for more details. - *

- * If there is no such handle, this should return null, but never - * throw. - * - * @param handle the ID of the handle to get the wrapper for. - * @return the wrapper for that handle ID; null if there is no - * handle with the specified ID. - */ - Handle getHandle(int handle); - - /** - * Called when the file system is destroyed. - *

- * This should close any open real file handles (e.g. all open I/O streams), - * but keep any internal state that may have to be persisted, for example - * for floppy disks (which are removed before they are saved so they don't - * save any open handles). - *

- * When the filesystem is made available as a network node created via - * one of the factory functions in {@link li.cil.oc.api.FileSystem} this - * will be called whenever the node is disconnected from its network. If - * the node was used to represent an item (which will be the usual use-case, - * I imagine) this means the item was removed from its container (e.g. hard - * drive from a computer) or the container was unloaded. - */ - void close(); -} diff --git a/src/api/java/li/cil/oc/api/fs/Handle.java b/src/api/java/li/cil/oc/api/fs/Handle.java deleted file mode 100644 index 80120d1ea..000000000 --- a/src/api/java/li/cil/oc/api/fs/Handle.java +++ /dev/null @@ -1,66 +0,0 @@ -package li.cil.oc.api.fs; - -import java.io.IOException; - -/** - * Represents a handle to a file opened from a {@link FileSystem}. - */ -public interface Handle { - /** - * The current position in the file. - */ - long position(); - - /** - * The total length of the file. - */ - long length(); - - /** - * Closes the handle. - *

- * For example, if there is an underlying stream, this should close that - * stream. Any future calls to {@link #read} or {@link #write} should throw - * an IOException after this function was called. - */ - void close(); - - /** - * Tries to read as much data from the file as fits into the specified - * array. - *

- * For files opened in write or append mode this should always throw an - * exception. - * - * @param into the buffer to read the data into. - * @return the number of bytes read; -1 if there are no more bytes (EOF). - * @throws java.io.IOException if the file was opened in writing mode or an - * I/O error occurred or the file was already - * closed. - */ - int read(byte[] into) throws IOException; - - /** - * Jump to the specified position in the file, if possible. - *

- * For files opened in write or append mode this should always throw an - * exception. - * - * @param to the position in the file to jump to. - * @return the resulting position in the file. - * @throws java.io.IOException if the file was opened in write mode. - */ - long seek(long to) throws IOException; - - /** - * Tries to write all the data from the specified array into the file. - *

- * For files opened in read mode this should always throw an exception. - * - * @param value the data to write into the file. - * @throws java.io.IOException if the file was opened in read-only mode, or - * another I/O error occurred (no more space, - * for example), or the file was already closed. - */ - void write(byte[] value) throws IOException; -} diff --git a/src/api/java/li/cil/oc/api/fs/Label.java b/src/api/java/li/cil/oc/api/fs/Label.java deleted file mode 100644 index 62c8f1992..000000000 --- a/src/api/java/li/cil/oc/api/fs/Label.java +++ /dev/null @@ -1,31 +0,0 @@ -package li.cil.oc.api.fs; - -import li.cil.oc.api.Persistable; - -/** - * Used by file system components to get and set the file system's label. - * - * @see li.cil.oc.api.FileSystem#asManagedEnvironment(FileSystem, li.cil.oc.api.fs.Label) - */ -public interface Label extends Persistable { - /** - * Get the current value of this label. - *

- * May be null if no label is set. - * - * @return the current label. - */ - String getLabel(); - - /** - * Set the new value of this label. - *

- * May be set to null to clear the label. - *

- * May throw an exception if the label is read-only. - * - * @param value the new label. - * @throws IllegalArgumentException if the label is read-only. - */ - void setLabel(String value); -} diff --git a/src/api/java/li/cil/oc/api/fs/Mode.java b/src/api/java/li/cil/oc/api/fs/Mode.java deleted file mode 100644 index ef819f797..000000000 --- a/src/api/java/li/cil/oc/api/fs/Mode.java +++ /dev/null @@ -1,23 +0,0 @@ -package li.cil.oc.api.fs; - -/** - * Possible file modes. - *

- * This is used when opening files from a {@link FileSystem}. - */ -public enum Mode { - /** - * Open a file in reading mode. - */ - Read, - - /** - * Open a file in writing mode, overwriting existing contents. - */ - Write, - - /** - * Open a file in append mode, writing new data after existing contents. - */ - Append -} diff --git a/src/api/java/li/cil/oc/api/fs/package-info.java b/src/api/java/li/cil/oc/api/fs/package-info.java deleted file mode 100644 index 92c90376e..000000000 --- a/src/api/java/li/cil/oc/api/fs/package-info.java +++ /dev/null @@ -1,22 +0,0 @@ -/** - * This package contains interfaces used by the file system implementation. - *

- * This allows it to add custom file systems that will behave the same as the - * existing ones, particularly that can be used the same from a machine as any - * other. In the case of Lua, for example, this means it can be mounted like - * any other file system, and interacted with without further special handling. - *

- * You will usually not need to implement these interfaces! - *

- * Consider using the factory methods in {@link li.cil.oc.api.FileSystem} to - * create file systems and wrapper nodes for these file systems (i.e. nodes - * that can be added as component nodes to the network, so they can be used - * from computers). - */ -@cpw.mods.fml.common.API( - owner = API.ID_OWNER, - provides = "OpenComputersAPI|FileSystem", - apiVersion = API.VERSION) -package li.cil.oc.api.fs; - -import li.cil.oc.api.API; diff --git a/src/api/java/li/cil/oc/api/internal/Adapter.java b/src/api/java/li/cil/oc/api/internal/Adapter.java deleted file mode 100644 index c4526ebc7..000000000 --- a/src/api/java/li/cil/oc/api/internal/Adapter.java +++ /dev/null @@ -1,30 +0,0 @@ -package li.cil.oc.api.internal; - -import li.cil.oc.api.network.Environment; -import net.minecraft.inventory.IInventory; - -/** - * This interface is implemented as a marker by adapters. - *

- * This is implemented by adapter tile entities, which also serve as its - * components' environment. That means you can use this to check for - * adapters by using either: - *

- *     if (tileEntity instanceof Adapter) {
- * 
- * or - *
- *     if (node.host() instanceof Adapter) {
- * 
- *

- * This can also be used by {@link li.cil.oc.api.driver.item.HostAware} item - * drivers to check if the provided environment class is an adapter by checking - * for assignability, which allows for items that make no sense in adapters to - * deny being placed into them, for example. - *

- * The only purpose is to allow identifying tile entities as adapters - * via the API, i.e. without having to link against internal classes. This - * also means that you should not implement this. - */ -public interface Adapter extends Environment, IInventory { -} diff --git a/src/api/java/li/cil/oc/api/internal/Case.java b/src/api/java/li/cil/oc/api/internal/Case.java deleted file mode 100644 index 67260b11c..000000000 --- a/src/api/java/li/cil/oc/api/internal/Case.java +++ /dev/null @@ -1,26 +0,0 @@ -package li.cil.oc.api.internal; - -import li.cil.oc.api.driver.EnvironmentHost; -import li.cil.oc.api.machine.Machine; -import li.cil.oc.api.network.Environment; -import net.minecraft.inventory.IInventory; - -/** - * This interface is implemented as a marker by computer cases. - *

- * This is implemented by computer case tile entities. That means you can - * use this to check for computer cases by using: - *

- *     if (tileEntity instanceof Case) {
- * 
- *

- * The only purpose is to allow identifying tile entities as computer cases - * via the API, i.e. without having to link against internal classes. This - * also means that you should not implement this. - */ -public interface Case extends Environment, EnvironmentHost, Colored, Rotatable, Tiered, IInventory { - /** - * The machine currently hosted by this computer case. - */ - Machine machine(); -} diff --git a/src/api/java/li/cil/oc/api/internal/Colored.java b/src/api/java/li/cil/oc/api/internal/Colored.java deleted file mode 100644 index afdc901f4..000000000 --- a/src/api/java/li/cil/oc/api/internal/Colored.java +++ /dev/null @@ -1,25 +0,0 @@ -package li.cil.oc.api.internal; - -/** - * This interface is implemented by tile entities that can be colored by - * players, such as screens, computer cases and cables. - *

- * Colors are in the common RRGGBB format. - *

- * This interface is not meant to be implemented, just used. - */ -public interface Colored { - /** - * Get the current color value. - * - * @return the current color value. - */ - int getColor(); - - /** - * Set the color value. - * - * @param value the new color value. - */ - void setColor(int value); -} diff --git a/src/api/java/li/cil/oc/api/internal/Database.java b/src/api/java/li/cil/oc/api/internal/Database.java deleted file mode 100644 index aa8e943c1..000000000 --- a/src/api/java/li/cil/oc/api/internal/Database.java +++ /dev/null @@ -1,47 +0,0 @@ -package li.cil.oc.api.internal; - -import net.minecraft.item.ItemStack; - -/** - * This interface is implemented by the database component. - *

- * This allows getting actual item stack instances as referenced by callers - * of other components' callbacks, without having to push a full representation - * of an item stacks' NBT data to the VM (which can be both a memory and a - * security issue). - *

- * To use this, you'll usually want to accept an address and either an index - * or a hash in your component's callback function, the address being that of - * a database component in the same network as your component. Alternatively - * you can omit requiring an address and just loop through the other nodes on - * the network to look for one those that have a Database as host. - */ -public interface Database { - /** - * The number of slots in this database. - */ - int size(); - - /** - * Get an item stack stored in the specified slot of this database. - *

- * This will return null if there is no entry for the specified - * slot. If there is an entry, this will return a copy of that - * item stack, so it is safe to modify the returned stack. - * - * @param slot the slot of the item stack. - * @return the item stack stored in that slot. - */ - ItemStack getStackInSlot(int slot); - - /** - * Get an item stack with the specified hash stored in this database. - *

- * This will return a negative value if there is no entry with a matching - * hash. - * - * @param hash the hash of the item stack. - * @return the index of item stack with the specified hash. - */ - int findStackWithHash(String hash); -} diff --git a/src/api/java/li/cil/oc/api/internal/Drone.java b/src/api/java/li/cil/oc/api/internal/Drone.java deleted file mode 100644 index 717ac5105..000000000 --- a/src/api/java/li/cil/oc/api/internal/Drone.java +++ /dev/null @@ -1,54 +0,0 @@ -package li.cil.oc.api.internal; - -import li.cil.oc.api.driver.EnvironmentHost; -import li.cil.oc.api.machine.Machine; -import net.minecraft.inventory.IInventory; -import net.minecraft.util.Vec3; - -/** - * This interface is implemented as a marker by drones. - *

- * This is implemented by drones entities. That means you can use this to check - * for drones by using: - *

- *     if (entity instanceof Drone) {
- * 
- *

- * The only purpose is to allow identifying entities as drones via the API, - * i.e. without having to link against internal classes. This also means - * that you should not implement this. - */ -public interface Drone extends EnvironmentHost, Rotatable, Tiered { - /** - * The machine currently hosted by this drone. - */ - Machine machine(); - - /** - * Provides access to the inventory of the drone. - */ - IInventory inventory(); - - /** - * Get the current target coordinates of the drone. - */ - Vec3 getTarget(); - - /** - * Set the new target coordinates of the drone. - *

- * Note that the actual value used will use a reduced accuracy. This is - * to avoid jitter on the client and floating point inaccuracies to - * accumulate. - */ - void setTarget(Vec3 value); - - /** - * Get the drones velocity vector. - *

- * Note that this is really just the underlying entity's motionX/Y/Z, - * so you can cast this to {@link net.minecraft.entity.Entity} and use that - * instead, if you'd like. - */ - Vec3 getVelocity(); -} diff --git a/src/api/java/li/cil/oc/api/internal/Microcontroller.java b/src/api/java/li/cil/oc/api/internal/Microcontroller.java deleted file mode 100644 index 4b16f350e..000000000 --- a/src/api/java/li/cil/oc/api/internal/Microcontroller.java +++ /dev/null @@ -1,25 +0,0 @@ -package li.cil.oc.api.internal; - -import li.cil.oc.api.driver.EnvironmentHost; -import li.cil.oc.api.machine.Machine; -import li.cil.oc.api.network.Environment; - -/** - * This interface is implemented as a marker by microcontrollers. - *

- * This is implemented by microcontroller tile entities. That means you can - * use this to check for microcontrollers by using: - *

- *     if (tileEntity instanceof Microcontroller) {
- * 
- *

- * The only purpose is to allow identifying tile entities as microcontrollers - * via the API, i.e. without having to link against internal classes. This - * also means that you should not implement this. - */ -public interface Microcontroller extends Environment, EnvironmentHost, Rotatable, Tiered { - /** - * The machine currently hosted by this microcontroller. - */ - Machine machine(); -} diff --git a/src/api/java/li/cil/oc/api/internal/Robot.java b/src/api/java/li/cil/oc/api/internal/Robot.java deleted file mode 100644 index 397f02a09..000000000 --- a/src/api/java/li/cil/oc/api/internal/Robot.java +++ /dev/null @@ -1,149 +0,0 @@ -package li.cil.oc.api.internal; - -import li.cil.oc.api.driver.EnvironmentHost; -import li.cil.oc.api.machine.Machine; -import li.cil.oc.api.network.Environment; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.inventory.ISidedInventory; -import net.minecraft.item.ItemStack; -import net.minecraftforge.fluids.IFluidHandler; -import net.minecraftforge.fluids.IFluidTank; - -/** - * This interface allows interaction with robots. - *

- * It is intended to be used by components when installed in a robot. In that - * case, the robot in question is the tile entity passed to item driver when - * asked to create the component's environment. - *

- * A robot's inventory contains component items and items in the actual - * inventory. The physical layout in the underlying 'real' inventory is as - * follows: - *

    - *
  • Tool
  • - *
  • containerCount hot-swappable components.
  • - *
  • inventorySize internal inventory slots.
  • - *
  • componentCount hard-wired components.
  • - *
- * Note that there may be no hot-swappable (or even built-in) components or - * no inventory, depending on the configuration of the robot. The hard-wired - * components cannot be changed (removed/replaced). - *

- * This interface is not meant to be implemented, just used. - */ -public interface Robot extends Environment, EnvironmentHost, Rotatable, Tiered, ISidedInventory, IFluidHandler { - /** - * The machine currently hosted by this robot. - */ - Machine machine(); - - /** - * Returns the fake player used to represent the robot as an entity for - * certain actions that require one. - *

- * This will automatically be positioned and rotated to represent the - * robot's current position and rotation in the world. Use this to trigger - * events involving the robot that require a player entity, and for more - * in-depth interaction with the robots' inventory. - * - * @return the fake player for the robot. - */ - EntityPlayer player(); - - /** - * The number of hot-swappable component slots in this robot. - *

- * Note: this will always be three, regardless of the number of - * installed containers. For unused slots the inventory will simply be - * empty at that slot. - */ - int containerCount(); - - /** - * The number of built-in components in this robot. - */ - int componentCount(); - - /** - * The size of the internal inventory in this robot, excluding tool and - * component slots. - */ - int inventorySize(); - - /** - * The number of tanks currently installed in the robot. - */ - int tankCount(); - - /** - * Get the item stack in the specified inventory slot. - *

- * This operates on the underlying, real inventory, as described in the - * comment on top of this class. - *

- * This will return null for empty slots. - * - * @param index the index of the slot from which to get the stack. - * @return the content of that slot, or null. - */ - ItemStack getStackInSlot(int index); - - /** - * Get the environment for the component in the specified slot. - *

- * This operates on the underlying, real inventory, as described in the - * comment on top of this class. - *

- * This will return null for slots that do not contain components, - * or components that do not have an environment (on the calling side). - * - * @param index the index of the slot from which to get the environment. - * @return the environment for that slot, or null. - */ - Environment getComponentInSlot(int index); - - /** - * Get the installed fluid tank with the specified index. - * - * @param index the index of the tank to get. - * @return the tank with the specified index. - */ - IFluidTank getFluidTank(int index); - - /** - * Gets the index of the currently selected slot in the robot's inventory. - *

- * This is the index in the underlying, real inventory. To get - * the 'local' index, i.e. the way the robot itself addresses it, add - * one for the tool and containerCount to this value. - * - * @return the index of the currently selected slot. - */ - int selectedSlot(); - - /** - * Get the index of the currently selected tank. - * - * @return the index of the currently selected tank. - */ - int selectedTank(); - - /** - * Sends the state of the item in the specified slot to the client - * if it is an upgrade. - *

- * Use this to update the state of an upgrade in that slot for rendering - * purposes (e.g. this is used by the generator upgrade to update the - * active state so the renderer knows which texture to use). - *

- * This is necessary because inventories are not synchronized by default, - * only if a player is currently 'looking into' the inventory (opened the - * GUI of the inventory). - *

- * The component will be saved to its item's NBT tag compound, as it would - * be when the game is saved, and then the item is re-sent to the client. - * Keep the number of calls to this function low, since each call causes a - * network packet to be sent. - */ - void synchronizeSlot(int slot); -} diff --git a/src/api/java/li/cil/oc/api/internal/Rotatable.java b/src/api/java/li/cil/oc/api/internal/Rotatable.java deleted file mode 100644 index 9310cfe99..000000000 --- a/src/api/java/li/cil/oc/api/internal/Rotatable.java +++ /dev/null @@ -1,61 +0,0 @@ -package li.cil.oc.api.internal; - -import net.minecraftforge.common.util.ForgeDirection; - -/** - * This interface is implemented by the computer case and robot tile entities - * to allow item components to query the orientation of their host, i.e. to - * allow getting the facing of the tile entity passed to their drivers' - * {@link li.cil.oc.api.driver.Item#createEnvironment(net.minecraft.item.ItemStack, li.cil.oc.api.driver.EnvironmentHost)} - * method. - *

- * This interface is not meant to be implemented, just used. - */ -public interface Rotatable { - /** - * The current facing of a tile entity implementing this interface. - *

- * Intended to be used to query the orientation of an item components' host. - * For example: - *

-     * class SomeDriver implements li.cil.oc.api.driver.Item {
-     *     // ...
-     *     ManagedEnvironment createEnvironment(ItemStack stack, TileEntity tileentity) {
-     *         if (tileentity instanceof Rotatable) {
-     *             ForgeDirection facing = ((Rotatable)tileentity).facing();
-     *             // Do something with facing.
-     *         }
-     *     }
-     * }
-     * 
- * - * @return the current facing. - */ - ForgeDirection facing(); - - /** - * Converts a facing relative to the block's local coordinate - * system to a global orientation, using south as the standard - * orientation. - *

- * For example, if the block is facing east, calling this with south will - * return east, calling it with west will return south and so on. - * - * @param value the value to translate. - * @return the translated orientation. - */ - ForgeDirection toGlobal(ForgeDirection value); - - /** - * Converts a global orientation to a facing relative to the - * block's local coordinate system, using south as the standard - * orientation. - *

- * For example, if the block is facing east, calling this with south will - * return east, calling it with west will return north and so on. - * - * @param value the value to translate. - * @return the translated orientation. - */ - ForgeDirection toLocal(ForgeDirection value); -} diff --git a/src/api/java/li/cil/oc/api/internal/Server.java b/src/api/java/li/cil/oc/api/internal/Server.java deleted file mode 100644 index e24953df8..000000000 --- a/src/api/java/li/cil/oc/api/internal/Server.java +++ /dev/null @@ -1,43 +0,0 @@ -package li.cil.oc.api.internal; - -import li.cil.oc.api.driver.EnvironmentHost; -import li.cil.oc.api.machine.Machine; - -/** - * This interface is implemented as a marker by servers in server racks. - *

- * This is implemented by servers in server racks, which serve as their - * computer components' environment. That means you can use this to check for - * servers by using either: - *

- *     if (node.host() instanceof Server) {
- * 
- *

- * You can get a reference to a server either via the above cast, or via a - * {@link li.cil.oc.api.internal.ServerRack}. - *

- * The only purpose is to allow identifying node environments as servers - * via the API, i.e. without having to link against internal classes. This - * also means that you should not implement this. - */ -public interface Server extends EnvironmentHost { - /** - * The machine currently hosted by this server. - */ - Machine machine(); - - /** - * The server rack this server is in. - */ - ServerRack rack(); - - /** - * The slot of the server rack this server is in. - */ - int slot(); - - /** - * The tier of the server. - */ - int tier(); -} diff --git a/src/api/java/li/cil/oc/api/internal/ServerRack.java b/src/api/java/li/cil/oc/api/internal/ServerRack.java deleted file mode 100644 index 40b5f8be6..000000000 --- a/src/api/java/li/cil/oc/api/internal/ServerRack.java +++ /dev/null @@ -1,38 +0,0 @@ -package li.cil.oc.api.internal; - -import li.cil.oc.api.network.Environment; -import li.cil.oc.api.network.SidedEnvironment; -import net.minecraft.inventory.IInventory; - -/** - * This interface is implemented as a marker by server racks. - *

- * This is implemented by server rack tile entities. That means you can use - * this to check for server racks by using: - *

- *     if (tileEntity instanceof ServerRack) {
- * 
- *

- * Server racks do not serve as environment for the computer nodes of - * servers. That's what the {@link Server}s are for. - *

- * The only purpose is to allow identifying tile entities as server racks - * via the API, i.e. without having to link against internal classes. This - * also means that you should not implement this. - */ -public interface ServerRack extends Environment, SidedEnvironment, Rotatable, IInventory { - /** - * The machine currently hosted by the server in the specified slot. - *

- * This can be null, for example when there is no CPU installed - * in the server in that slot, or there is no server in that slot. - * - * @return the machine currently hosted in the specified slot. - */ - Server server(int slot); - - /** - * The currently set wireless range in which remote terminals work. - */ - int range(); -} diff --git a/src/api/java/li/cil/oc/api/internal/Tablet.java b/src/api/java/li/cil/oc/api/internal/Tablet.java deleted file mode 100644 index 6236b1370..000000000 --- a/src/api/java/li/cil/oc/api/internal/Tablet.java +++ /dev/null @@ -1,43 +0,0 @@ -package li.cil.oc.api.internal; - -import li.cil.oc.api.driver.EnvironmentHost; -import li.cil.oc.api.machine.Machine; -import net.minecraft.entity.player.EntityPlayer; - -/** - * This interface is implemented as a marker by tablets. - *

- * This is implemented by the class containing tablets' logic implementation, - * which is not the tablet item! The tablet class serves as its - * computer components' environment. That means you can use this to check for - * tablets by using - *

- *     if (node.host() instanceof Tablet) {
- * 
- *

- * This can also be used by {@link li.cil.oc.api.driver.item.HostAware} item - * drivers to check if the provided environment class is a tablet by checking - * for assignability, which allows for items that make no sense in tablets to - * deny being placed into them in the assembler, for example. - *

- * The only purpose is to allow identifying tile entities as tablets - * via the API, i.e. without having to link against internal classes. This - * also means that you should not implement this. - */ -public interface Tablet extends EnvironmentHost, Rotatable { - /** - * The machine currently hosted by this tablet. - */ - Machine machine(); - - /** - * Returns the player last holding the tablet. - *

- * Note that this value may change over the lifetime of a tablet instance. - * The player may also already have dropped the tablet - this value will - * not be set to null in that case! - * - * @return the player last holding the tablet. - */ - EntityPlayer player(); -} diff --git a/src/api/java/li/cil/oc/api/internal/Tiered.java b/src/api/java/li/cil/oc/api/internal/Tiered.java deleted file mode 100644 index 4e2cfc1c6..000000000 --- a/src/api/java/li/cil/oc/api/internal/Tiered.java +++ /dev/null @@ -1,18 +0,0 @@ -package li.cil.oc.api.internal; - -/** - * This is implemented by most things that are tiered in some way. - *

- * For example, this is implemented by screens, computer cases, robots and - * drones as well as microcontrollers. If you want you can add tier specific - * behavior this way. - */ -public interface Tiered { - /** - * The zero-based tier of this... thing. - *

- * For example, a tier one screen will return 0 here, a tier three screen - * will return 2. - */ - int tier(); -} diff --git a/src/api/java/li/cil/oc/api/internal/package-info.java b/src/api/java/li/cil/oc/api/internal/package-info.java deleted file mode 100644 index a5db08159..000000000 --- a/src/api/java/li/cil/oc/api/internal/package-info.java +++ /dev/null @@ -1,22 +0,0 @@ -/** - * This package provides interfaces that are implemented by OC internal - * classes so that they can be checked for and used by type checking and - * casting to these interfaces. - *

- * For example, to determine whether a tile entity is a robot, you can - * do an instanceof with the {@link li.cil.oc.api.internal.Robot} - * interface - and cast to it if you wish to access some of the provided - * functionality. - *

- * The other main use-case is in {@link li.cil.oc.api.driver.item.HostAware} - * drivers, where these interfaces can be used to check if the item can be - * used inside the specified environment (where the environment class may - * be assignable to one of the interfaces in this package). - */ -@cpw.mods.fml.common.API( - owner = API.ID_OWNER, - provides = "OpenComputersAPI|Internal", - apiVersion = API.VERSION) -package li.cil.oc.api.internal; - -import li.cil.oc.api.API; diff --git a/src/api/java/li/cil/oc/api/machine/Architecture.java b/src/api/java/li/cil/oc/api/machine/Architecture.java deleted file mode 100644 index 50b6f2a40..000000000 --- a/src/api/java/li/cil/oc/api/machine/Architecture.java +++ /dev/null @@ -1,147 +0,0 @@ -package li.cil.oc.api.machine; - -import net.minecraft.nbt.NBTTagCompound; - -import java.lang.annotation.ElementType; -import java.lang.annotation.Retention; -import java.lang.annotation.RetentionPolicy; -import java.lang.annotation.Target; - -/** - * This interface abstracts away any language specific details for the Machine. - *

- * This allows the introduction of other languages, e.g. computers that run - * assembly or some other language interpreter. The two architectures included - * in OpenComputers are the native Lua architecture (using native LuaC) and the - * Java Lua architecture (using LuaJ). - */ -public interface Architecture { - /** - * Used to check if the machine is fully initialized. If this is false no - * signals for detected components will be generated. Avoids duplicate - * signals if component_added signals are generated in the - * language's startup script, for already present components (see Lua's - * init.lua script). - *

- * This is also used to check whether limits on direct calls should be - * enforced or not - this allows a quick boot phase in the language's - * kernel logic before switching to business-as-usual. - * - * @return whether the machine is fully initialized. - */ - boolean isInitialized(); - - /** - * This is called when the amount of memory in the machine may have changed. - * This is usually triggered by the owner when its composition changes. For - * example this is called from computer cases' onInventoryChanged method. - */ - void recomputeMemory(); - - /** - * Called when a machine starts up. Used to (re-)initialize the underlying - * architecture logic. For example, for Lua this creates a new Lua state. - *

- * This also sets up any built-in APIs for the underlying language, such as - * querying available memory, listing and interacting with components and so - * on. If this returns false the machine fails to start. - *

- * Note that the owning machine has not necessarily been connected to a - * network when this is called, in case this is called from the machine's - * load logic. Use {@link #onConnect()} for additional initialization that - * depends on a node network (such as connecting a ROM file system). - * - * @return whether the architecture was initialized successfully. - */ - boolean initialize(); - - /** - * Called when a machine stopped. Used to clean up any handles, memory and - * so on. For example, for Lua this destroys the Lua state. - */ - void close(); - - /** - * Performs a synchronized call initialized in a previous call to - * {@link #runThreaded(boolean)}. - *

- * This method is invoked from the main server thread, meaning it is safe - * to interact with the world without having to perform manual - * synchronization. - *

- * This method is expected to leave the architecture in a state so it is - * prepared to next be called with runThreaded(true). For example, - * the Lua architecture will leave the results of the synchronized call on - * the stack so they can be further processed in the next call to - * runThreaded. - */ - void runSynchronized(); - - /** - * Continues execution of the machine. The first call may be used to - * initialize the machine (e.g. for Lua we load the libraries in the first - * call so that the computers boot faster). After that the architecture - * should return true from {@link #isInitialized()}. - *

- * The resumed state is either a return from a synchronized call, when a - * synchronized call has been completed (via runSynchronized), or - * a normal yield in all other cases (sleep, interrupt, boot, ...). - *

- * This is expected to return within a very short time, usually. For example, - * in Lua this returns as soon as the state yields, and returns at the latest - * when the Settings.timeout is reached (in which case it forces the state - * to crash). - *

- * This is expected to consume a single signal if one is present and return. - * If returning from a synchronized call this should consume no signal. - * - * @param isSynchronizedReturn whether the architecture is resumed from an - * earlier synchronized call. In the case of - * Lua this means the results of the call are - * now on the stack, for example. - * @return the result of the execution. Used to determine the new state. - */ - ExecutionResult runThreaded(boolean isSynchronizedReturn); - - /** - * Called when the owning machine was connected to the component network. - *

- * This can be useful for connecting custom file systems (read only memory) - * in case {@link #initialize()} was called from the machine's load logic - * (where it was not yet connected to the network). - */ - void onConnect(); - - /** - * Restores the state of this architecture as previously saved in - * {@link #save(net.minecraft.nbt.NBTTagCompound)}. The architecture should be in the same - * state it was when it was saved after this, so it can be resumed from - * whatever state the owning machine was in when it was saved. - * - * @param nbt the tag compound to save to. - */ - void load(NBTTagCompound nbt); - - /** - * Saves the architecture for later restoration, e.g. across games or chunk - * unloads. Used to persist a machine's execution state. For native Lua this - * uses the Eris library to persist the main coroutine, for example. - *

- * Note that the tag compound is shared with the Machine. - * - * @param nbt the tag compound to save to. - */ - void save(NBTTagCompound nbt); - - /** - * Architectures can be annotated with this to provide a nice display name. - *

- * This is used when the name of an architecture has to be displayed to the - * user, such as when cycling architectures on a CPU. - */ - @Retention(RetentionPolicy.RUNTIME) - @Target(ElementType.TYPE) - static @interface Name { - String value(); - } -} diff --git a/src/api/java/li/cil/oc/api/machine/Arguments.java b/src/api/java/li/cil/oc/api/machine/Arguments.java deleted file mode 100644 index bc312e6c4..000000000 --- a/src/api/java/li/cil/oc/api/machine/Arguments.java +++ /dev/null @@ -1,347 +0,0 @@ -package li.cil.oc.api.machine; - -import net.minecraft.item.ItemStack; - -import java.util.Map; - -/** - * This interface provides access to arguments passed to a {@link li.cil.oc.api.machine.Callback}. - *

- * It allows checking for the presence of arguments in a uniform manner, taking - * care of proper type checking based on what can be passed along by Lua. - *

- * Note that integer values fetched this way are actually double values that - * have been truncated. So if a Lua program passes 1.9 and you do a - * checkInteger you'll get a 1. - *

- * The indexes passed to the various functions start at zero, i.e. to get the - * first argument you would use checkAny(0). This is worth mentioning - * because Lua starts its indexes at one. - */ -public interface Arguments extends Iterable { - /** - * The total number of arguments that were passed to the function. - */ - int count(); - - /** - * Get whatever is at the specified index. - *

- * Throws an error if there are too few arguments. - *

- * The returned object will be one of the following, based on the conversion - * performed internally: - *

    - *
  • null if the Lua value was nil.
  • - *
  • java.lang.Boolean if the Lua value was a boolean.
  • - *
  • java.lang.Double if the Lua value was a number.
  • - *
  • byte[] if the Lua value was a string.
  • - *
- * - * @param index the index from which to get the argument. - * @return the raw value at that index. - * @throws IllegalArgumentException if there is no argument at that index. - */ - Object checkAny(int index); - - /** - * Try to get a boolean value at the specified index. - *

- * Throws an error if there are too few arguments. - * - * @param index the index from which to get the argument. - * @return the boolean value at the specified index. - * @throws IllegalArgumentException if there is no argument at that index, - * or if the argument is not a boolean. - */ - boolean checkBoolean(int index); - - /** - * Try to get an integer value at the specified index. - *

- * Throws an error if there are too few arguments. - * - * @param index the index from which to get the argument. - * @return the integer value at the specified index. - * @throws IllegalArgumentException if there is no argument at that index, - * or if the argument is not a number. - */ - int checkInteger(int index); - - /** - * Try to get a double value at the specified index. - *

- * Throws an error if there are too few arguments. - * - * @param index the index from which to get the argument. - * @return the double value at the specified index. - * @throws IllegalArgumentException if there is no argument at that index, - * or if the argument is not a number. - */ - double checkDouble(int index); - - /** - * Try to get a string value at the specified index. - *

- * Throws an error if there are too few arguments. - *

- * This will actually check for a byte array and convert it to a string - * using UTF-8 encoding. - * - * @param index the index from which to get the argument. - * @return the boolean value at the specified index. - * @throws IllegalArgumentException if there is no argument at that index, - * or if the argument is not a string. - */ - String checkString(int index); - - /** - * Try to get a byte array at the specified index. - *

- * Throws an error if there are too few arguments. - * - * @param index the index from which to get the argument. - * @return the byte array at the specified index. - * @throws IllegalArgumentException if there is no argument at that index, - * or if the argument is not a byte array. - */ - byte[] checkByteArray(int index); - - /** - * Try to get a table at the specified index. - *

- * Throws an error if there are too few arguments. - * - * @param index the index from which to get the argument. - * @return the table at the specified index. - * @throws IllegalArgumentException if there is no argument at that index, - * or if the argument is not a table. - */ - Map checkTable(int index); - - /** - * Try to get an item stack representation at the specified index. - *

- * This is a utility method provided to convert tables to item stacks, with - * the tables being of a compatible format to that of tables generated by - * the built-in item stack converter. In particular, this takes care of - * restoring NBT data attached to the item stack. - *

- * Throws an error if there are too few arguments. - *

- * Important: usually you will not want to be using this. Some - * items require NBT information to fully describe them, and by default - * this information is not returned to underlying architectures when - * item stacks are returned from callbacks. This means the scripts can - * usually not provide this full information, so the roundtrip callback-> - * script->callback will be incomplete. - *

- * Instead, please make use of the {@link li.cil.oc.api.internal.Database} - * component to get complete item stack descriptors. - * - * @param index the index from which to get the argument. - * @return the item stack at the specified index. - */ - ItemStack checkItemStack(int index); - - /** - * Get whatever is at the specified index. - *

- * Return the specified default value if there is no such element, behaves - * like {@link #checkAny(int)} otherwise. - *

- * The returned object will be one of the following, based on the conversion - * performed internally: - *

    - *
  • null if the Lua value was nil.
  • - *
  • java.lang.Boolean if the Lua value was a boolean.
  • - *
  • java.lang.Double if the Lua value was a number.
  • - *
  • byte[] if the Lua value was a string.
  • - *
- * - * @param index the index from which to get the argument. - * @return the raw value at that index. - * @throws IllegalArgumentException if there is no argument at that index. - */ - Object optAny(int index, Object def); - - /** - * Try to get a boolean value at the specified index. - *

- * Return the specified default value if there is no such element, behaves - * like {@link #checkBoolean(int)} otherwise. - * - * @param index the index from which to get the argument. - * @return the boolean value at the specified index. - * @throws IllegalArgumentException if there is no argument at that index, - * or if the argument is not a boolean. - */ - boolean optBoolean(int index, boolean def); - - /** - * Try to get an integer value at the specified index. - *

- * Return the specified default value if there is no such element, behaves - * like {@link #checkInteger(int)} otherwise. - * - * @param index the index from which to get the argument. - * @return the integer value at the specified index. - * @throws IllegalArgumentException if there is no argument at that index, - * or if the argument is not a number. - */ - int optInteger(int index, int def); - - /** - * Try to get a double value at the specified index. - *

- * Return the specified default value if there is no such element, behaves - * like {@link #checkDouble(int)} otherwise. - * - * @param index the index from which to get the argument. - * @return the double value at the specified index. - * @throws IllegalArgumentException if there is no argument at that index, - * or if the argument is not a number. - */ - double optDouble(int index, double def); - - /** - * Try to get a string value at the specified index. - *

- * Return the specified default value if there is no such element, behaves - * like {@link #checkString(int)} otherwise. - *

- * This will actually check for a byte array and convert it to a string - * using UTF-8 encoding. - * - * @param index the index from which to get the argument. - * @return the boolean value at the specified index. - * @throws IllegalArgumentException if there is no argument at that index, - * or if the argument is not a string. - */ - String optString(int index, String def); - - /** - * Try to get a byte array at the specified index. - *

- * Return the specified default value if there is no such element, behaves - * like {@link #checkByteArray(int)} otherwise. - * - * @param index the index from which to get the argument. - * @return the byte array at the specified index. - * @throws IllegalArgumentException if there is no argument at that index, - * or if the argument is not a byte array. - */ - byte[] optByteArray(int index, byte[] def); - - /** - * Try to get a table at the specified index. - *

- * Return the specified default value if there is no such element, behaves - * like {@link #checkTable(int)} otherwise. - * - * @param index the index from which to get the argument. - * @return the table at the specified index. - * @throws IllegalArgumentException if there is no argument at that index, - * or if the argument is not a table. - */ - Map optTable(int index, Map def); - - /** - * Try to get an item stack at the specified index. - *

- * Return the specified default value if there is no such element, behaves - * like {@link #checkItemStack(int)} otherwise. - * - * @param index the index from which to get the argument. - * @return the item stack at the specified index. - * @throws IllegalArgumentException if there is no argument at that index, - * or if the argument is not an item stack. - */ - ItemStack optItemStack(int index, ItemStack def); - - /** - * Tests whether the argument at the specified index is a boolean value. - *

- * This will return false if there is no argument at the specified - * index, i.e. if there are too few arguments. - * - * @param index the index to check. - * @return true if the argument is a boolean; false otherwise. - */ - boolean isBoolean(int index); - - /** - * Tests whether the argument at the specified index is an integer value. - *

- * This will return false if there is no argument at the specified - * index, i.e. if there are too few arguments. - * - * @param index the index to check. - * @return true if the argument is an integer; false otherwise. - */ - boolean isInteger(int index); - - /** - * Tests whether the argument at the specified index is a double value. - *

- * This will return false if there is no argument at the specified - * index, i.e. if there are too few arguments. - * - * @param index the index to check. - * @return true if the argument is a double; false otherwise. - */ - boolean isDouble(int index); - - /** - * Tests whether the argument at the specified index is a string value. - *

- * This will return false if there is no argument at the specified - * index, i.e. if there are too few arguments. - * - * @param index the index to check. - * @return true if the argument is a string; false otherwise. - */ - boolean isString(int index); - - /** - * Tests whether the argument at the specified index is a byte array. - *

- * This will return false if there is no argument at the specified - * index, i.e. if there are too few arguments. - * - * @param index the index to check. - * @return true if the argument is a byte array; false otherwise. - */ - boolean isByteArray(int index); - - /** - * Tests whether the argument at the specified index is a table. - *

- * This will return false if there is no argument at the specified - * index, i.e. if there are too few arguments. - * - * @param index the index to check. - * @return true if the argument is a table; false otherwise. - */ - boolean isTable(int index); - - /** - * Tests whether the argument at the specified index is an item stack. - *

- * This will return false if there is no argument at the specified - * index, i.e. if there are too few arguments. - * - * @param index the index to check. - * @return true if the argument is an item stack; false otherwise. - */ - boolean isItemStack(int index); - - /** - * Converts the argument list to a standard Java array, converting byte - * arrays to strings automatically, since this is usually what others - * want - if you need the actual raw byte arrays, don't use this method! - * - * @return an array containing all arguments. - */ - Object[] toArray(); -} diff --git a/src/api/java/li/cil/oc/api/machine/Callback.java b/src/api/java/li/cil/oc/api/machine/Callback.java deleted file mode 100644 index 371a08899..000000000 --- a/src/api/java/li/cil/oc/api/machine/Callback.java +++ /dev/null @@ -1,147 +0,0 @@ -package li.cil.oc.api.machine; - -import java.lang.annotation.ElementType; -import java.lang.annotation.Retention; -import java.lang.annotation.RetentionPolicy; -import java.lang.annotation.Target; - -/** - * This annotation can be used for methods in an {@link li.cil.oc.api.network.Environment} to mark - * them for exposure to computers. - *

- * Any method exposed like this can be enumerated and called from a computer - * that can see the node of the environment. - *

- * Note that methods annotated with this interface must have the following - * signature: - *

- *     Object[] f(Context context, Arguments arguments) throws Exception;
- * 
- *

- * The method may return null in case it doesn't wish return anything, - * which is functionally equivalent to returning an empty array. - *

- * To raise an error from your callback, simply throw an exception. The - * convention for Lua is to return (null, "reason") for 'soft' errors, i.e. - * errors that are no fault of the caller. For example, passing invalid - * arguments will generate an exception, requesting information and the lookup - * of said information failing should not. - * - * @see li.cil.oc.api.machine.Context - * @see li.cil.oc.api.machine.Arguments - */ -@Retention(RetentionPolicy.RUNTIME) -@Target(ElementType.METHOD) -public @interface Callback { - /** - * The name under which to make the callback available. - *

- * This defaults to the name of the annotated method if left empty. - */ - String value() default ""; - - /** - * Whether this function may be called directly from the computer's executor - * thread instead of from the server thread. - *

- * You will have to ensure anything your callback does is thread safe when - * setting this to true. Use this for minor lookups, for example. - * This is mainly intended to allow functions to perform faster than when - * called 'synchronously' (where the call takes at least one server tick). - *

- * Keep in mind that the node {@link li.cil.oc.api.network.Network} is not thread safe! - * Be sure you know what you're doing if you're working with a node's - * network in a direct callback. - *

- * An exception to that rule is {@link li.cil.oc.api.network.Connector#changeBuffer(double)}, - * which is synchronized, so you can consume/produce power in direct calls. - */ - boolean direct() default false; - - /** - * The maximum number of direct calls that may be performed on this - * component in a single tick on a tier two computer. - *

- * This can be used to throttle call speed. For example, this is used by - * graphics cards to limit the amount of net traffic can be generated by - * updating the screen they are bound to. - *

- * You should generally apply a limit if the callback allocates persisting - * memory (i.e. memory that isn't freed once the call returns), sends - * network messages, or uses any other kind of resource for which it'd be - * bad if it were to be used from user programs in an unchecked, unregulated - * manner. - *

- * Note that the limit does not apply when the method is invoked - * via a direct call to {@link li.cil.oc.api.network.Component#invoke(String, li.cil.oc.api.machine.Context, Object...)} - * from the host side. Also, this limit is per-computer, so the method may - * be invoked more often than this per tick, if different computers call it. - *

- * Note that the interpretation of this value changed a bit in OC 1.4. - * Before, it was the actual number of calls that could be performed on - * the component per tick. Now it's more of a general cost value: for each - * direct call a computer makes, 1/limit is subtracted from the - * computer's call budget. This budget may vary between computers, for - * example, tier three computers have a higher call budget than tier two - * computers. - */ - int limit() default Integer.MAX_VALUE; - - /** - * A documentation string that is made available to the computers the - * component this callback belongs to is connected to. This allows for - * ingame documentation of callbacks. - *

- * You may want to give a short description of what a method does here, but - * more importantly you should document the expected parameters and return - * type here. - *

- * Important: the recommended format is either
- * function(arg:type[, optionArg:type]):resultType -- Description.
- * or
- * function(arg:type[, optionArg:type]):resultType; Description.
- * where the argument list can be of any format (as long as it doesn't contain - * further braces), and the return type is optional. These two formats are - * recognized by OC's NEI component documentation plugin. If you use a - * different format, the doc string will be used as-is. - */ - String doc() default ""; - - /** - * Whether this callback should work like a getter. - *

- * Callbacks that are getters do not appear as methods on a component's - * proxy. Instead they are accessed as fields, for example in Lua via the - * proxy's __index metamethod, with its only parameter being the - * accessed key. - *

- * Note: if you wish to have a field that is read/write, that is you need - * both a getter and a setter, you have to implement them in the same - * method. This a limitation due to callback names being unique. You can - * differentiate between contexts by checking the number of arguments. - *

- * Important: this only works in environments (for components), - * it does not work for userdata (Value objects). For - * userdata, use the apply method instead. - */ - boolean getter() default false; - - /** - * Whether this callback should work like a setter. - *

- * Callbacks that are setters do not appear as methods on a component's - * proxy. Instead they are accessed as fields, for example in Lua via the - * proxy's __newindex metamethod, with its only two parameters - * being the accessed key and the new value. - *

- * Note: if you wish to have a field that is read/write, that is you need - * both a getter and a setter, you have to implement them in the same - * method. This a limitation due to callback names being unique. You can - * differentiate between contexts by checking the number of arguments. - *

- * Important: this only works in environments (for components), - * it does not work for userdata (Value objects). For - * userdata, use the unapply method instead. - */ - boolean setter() default false; -} diff --git a/src/api/java/li/cil/oc/api/machine/Context.java b/src/api/java/li/cil/oc/api/machine/Context.java deleted file mode 100644 index fe82dacb6..000000000 --- a/src/api/java/li/cil/oc/api/machine/Context.java +++ /dev/null @@ -1,167 +0,0 @@ -package li.cil.oc.api.machine; - -import li.cil.oc.api.network.Node; - -/** - * This is used to provide some context to {@link li.cil.oc.api.machine.Callback}s, i.e. the - * computer from which the callback was called. - */ -public interface Context { - /** - * The node through which the computer is attached to the component network. - */ - Node node(); - - /** - * Tests whether a player is allowed to use the computer. - *

- * If enabled in the server's configuration, computers can be owned by - * players. This means that only players that are in a computer's user list - * may interact with it, i.e. only players in the user list may: - *

    - *
  • Trigger input via a keyboard.
  • - *
  • Change the computer's inventory.
  • - *
  • Break the computer block.
  • - *
- *

- * There are three exceptions to this rule: - *

    - *
  • Operators are always allowed the above actions.
  • - *
  • If the user list is empty then all players are - * allowed the above actions.
  • - *
  • In single player mode the player is always allowed the above - * actions.
  • - *
- *

- * Use this to check whether you should signal something to the computer, - * for example. Note that for signals triggered via network messages there - * is a computer.checked_signal message, that expects an - * EntityPlayer as the first argument and performs this check - * before pushing the signal. - * - * @param player the name of the player to check for. - * @return whether the player with the specified name may use the computer. - */ - boolean canInteract(String player); - - /** - * Whether the computer is currently in a running state, i.e. it is neither - * paused, stopping or stopped. - *

- * The computer thread may or may not be running while the computer is in - * this state. The computer will accept signals while in this state. - */ - boolean isRunning(); - - /** - * Whether the computer is currently in a paused state. - *

- * The computer thread is not running while the computer is in this state. - * The computer will accept signals while in this state. - */ - boolean isPaused(); - - /** - * Starts the computer. - *

- * The computer will enter a starting state, in which it will start - * accepting signals. The computer will start executing in the next server - * tick. - *

- * If this is called while the computer is in a paused state it will set the - * remaining pause time to zero, but it will not immediately resume - * the computer. The computer will continue with what it did before it was - * paused in the next server tick. - *

- * If this is called while the computer is in a non-paused and non-stopped - * state it will do nothing and return false. - * - * @return true if the computer switched to a running state. - */ - boolean start(); - - /** - * Pauses the computer for the specified duration. - *

- * If this is called from a direct callback the computer will only - * pause after the current task has completed, possibly leading to no pause - * at all. If this is called from a non-direct callback the - * computer will be paused for the specified duration before the call - * returns. Use this to add artificial delays, e.g. for expensive or - * powerful operations (say, scanning blocks surrounding a computer). - *

- * Important: if this is called from the server thread while - * the executor thread is running this will block until the - * computer finishes its current task. The pause will be applied after that. - * This is usually a bad thing to do, since it may lag the game, but can be - * handy to synchronize the computer thread to the server thread. For - * example, this is used when saving screens, which are controlled mostly - * via direct callbacks.
- * However, if the computer is already in a paused state - * and the call would not lead to a longer pause this will immediately - * return false, without blocking. - *

- * Note that the computer still accepts signals while in paused state, so - * it is generally better to avoid long pauses, to avoid a signal queue - * overflow, which would lead to some signals being dropped. - *

- * Also note that the time left to spend paused is stored in game ticks, so - * the time resolution is actually quite limited. - *

- * If this is called while the computer is in a paused, stopping or stopped - * state this will do nothing and return false. - * - * @param seconds the number of seconds to pause the computer for. - * @return true if the computer switched to the paused state. - */ - boolean pause(double seconds); - - /** - * Stops the computer. - *

- * The computer will enter a stopping state, in which it will not - * accept new signals. It will be fully stopped in the next server tick. It - * is not possible to return to a running state from a stopping state. If - * start is called while in a stopping state the computer will be rebooted. - *

- * If this is called from a callback, the callback will still finish, but - * its result will be discarded. If this is called from the server thread - * while the executor thread is running the computer in the background, it - * will finish its current work and the computer will be stopped in some - * future server tick after it has completed. - *

- * If this is called while the computer is in a stopping or stopped state - * this will do nothing and return false. - * - * @return true if the computer switched to the stopping state. - */ - boolean stop(); - - /** - * Push a signal into the computer. - *

- * Signals are processed sequentially by the computer, and are queued in a - * queue with limited length. If the queue is full and the signal could not - * be pushed this will return false. - *

- * Note that only a limited amount of types is supported for arguments: - *

    - *
  • null and Scala's Unit and None (all appear - * as nil on the Lua side, for example)
  • - *
  • Boolean values.
  • - *
  • Numeric types (byte, short, int, long, float, double).
  • - *
  • Strings.
  • - *
  • Byte arrays (which appear as strings on the Lua side, e.g.).
  • - *
  • Maps if and only if both keys and values are strings.
  • - *
  • NBTTagCompounds.
  • - *
- * If an unsupported type is specified the method will enqueue nothing - * instead, resulting in a nil on the Lua side, e.g., and log a - * warning. - * - * @param name the name of the signal to push. - * @param args additional arguments to pass along with the signal. - * @return true if the signal was queued; false otherwise. - */ - boolean signal(String name, Object... args); -} diff --git a/src/api/java/li/cil/oc/api/machine/ExecutionResult.java b/src/api/java/li/cil/oc/api/machine/ExecutionResult.java deleted file mode 100644 index 7f756580b..000000000 --- a/src/api/java/li/cil/oc/api/machine/ExecutionResult.java +++ /dev/null @@ -1,66 +0,0 @@ -package li.cil.oc.api.machine; - -/** - * Used by the Machine to determine the result of a call to - * {@link li.cil.oc.api.machine.Architecture#runThreaded(boolean)}. - *

- * Do not implement this interface, only use the predefined internal classes. - */ -public abstract class ExecutionResult { - /** - * Indicates the machine may sleep for the specified number of ticks. This - * is merely considered a suggestion. If signals are in the queue or are - * pushed to the queue while sleeping, the sleep will be interrupted and - * {@link li.cil.oc.api.machine.Architecture#runThreaded(boolean)} will be called so that the next - * signal is pushed. - */ - public static final class Sleep extends ExecutionResult { - /** - * The number of ticks to sleep. - */ - public final int ticks; - - public Sleep(int ticks) { - this.ticks = ticks; - } - } - - /** - * Indicates tha the computer should shutdown or reboot. - */ - public static final class Shutdown extends ExecutionResult { - /** - * Whether to reboot. If false the computer will stop. - */ - public final boolean reboot; - - public Shutdown(boolean reboot) { - this.reboot = reboot; - } - } - - /** - * Indicates that a synchronized call should be performed. The architecture - * is expected to be in a state that allows the next call to be to - * {@link li.cil.oc.api.machine.Architecture#runSynchronized()} instead of - * {@link li.cil.oc.api.machine.Architecture#runThreaded(boolean)}. This is used to perform calls - * from the server's main thread, to avoid threading issues when interacting - * with other objects in the world. - */ - public static final class SynchronizedCall extends ExecutionResult { - } - - /** - * Indicates that an error occurred and the computer should crash. - */ - public static final class Error extends ExecutionResult { - /** - * The error message. - */ - public final String message; - - public Error(String message) { - this.message = message; - } - } -} diff --git a/src/api/java/li/cil/oc/api/machine/LimitReachedException.java b/src/api/java/li/cil/oc/api/machine/LimitReachedException.java deleted file mode 100644 index 9a13577a4..000000000 --- a/src/api/java/li/cil/oc/api/machine/LimitReachedException.java +++ /dev/null @@ -1,8 +0,0 @@ -package li.cil.oc.api.machine; - -/** - * Used to signal that the direct call limit for the current server tick has - * been reached in {@link li.cil.oc.api.machine.Machine#invoke(String, String, Object[])}. - */ -public class LimitReachedException extends Exception { -} diff --git a/src/api/java/li/cil/oc/api/machine/Machine.java b/src/api/java/li/cil/oc/api/machine/Machine.java deleted file mode 100644 index 0166360ee..000000000 --- a/src/api/java/li/cil/oc/api/machine/Machine.java +++ /dev/null @@ -1,266 +0,0 @@ -package li.cil.oc.api.machine; - -import li.cil.oc.api.network.ManagedEnvironment; - -import java.util.Map; - -/** - * This interface allows interacting with a Machine obtained via the factory - * method {@link li.cil.oc.api.Machine#create(MachineHost)}. - */ -@SuppressWarnings("unused") -public interface Machine extends ManagedEnvironment, Context { - /** - * The owner of the machine, usually a tile entity hosting the machine. - * - * @return the owner of the machine. - */ - MachineHost host(); - - /** - * This must be called from the host when something relevant to the - * machine changes, such as a change in the amount of available memory. - */ - void onHostChanged(); - - /** - * The underlying architecture of the machine. - *

- * This is what actually evaluates code running on the machine, where the - * machine class itself serves as a scheduler. - *

- * This may be null, for example when the hosting computer has - * no CPU installed. - * - * @return the architecture of this machine. - */ - Architecture architecture(); - - /** - * Get the address of the file system component from which to try to boot. - *

- * The underlying architecture may choose to ignore this setting. - */ - String getBootAddress(); - - /** - * Set the address of the file system component from which to try to boot. - * - * @param value the new address to try to boot from. - */ - void setBootAddress(String value); - - /** - * The list of components attached to this machine. - *

- * This maps address to component type/name. Note that the list may not - * immediately reflect changes after components were added to the network, - * since such changes are cached in an internal list of 'added components' - * that are processed in the machine's update logic (i.e. server tick). - *

- * This list is kept up-to-date automatically, do not mess with it. - * - * @return the list of attached components. - */ - Map components(); - - /** - * The number of connected components. - *

- * This number can differ from components().size(), since this is - * the number of actually connected components, which is used to - * determine whether the component limit has been exceeded, for example. It - * takes into account components added but not processed, yet (see also - * {@link #components()}). - * - * @return the number of connected components. - */ - int componentCount(); - - /** - * Gets the amount of energy this machine consumes per tick when it is - * running. - * - * @return the energy consumed per tick by the machine. - */ - double getCostPerTick(); - - /** - * Sets the amount of energy this machine consumes per tick when it is - * running. - * - * @param value the energy consumed per tick by the machine. - */ - void setCostPerTick(double value); - - /** - * The address of the file system that holds the machine's temporary files - * (tmpfs). This may return null if either the creation of the file - * system failed, or if the size of the tmpfs has been set to zero in the - * config. - *

- * Use this in a custom architecture to allow code do differentiate the - * tmpfs from other file systems, for example. - * - * @return the address of the tmpfs component, or null. - */ - String tmpAddress(); - - /** - * A string with the last error message. - *

- * The error string is set either when the machine crashes (see the - * {@link #crash(String)} method), or when it fails to start (which, - * technically, is also a crash). - *

- * When the machine started, this is reset to null. - * - * @return the last error message, or null. - */ - String lastError(); - - /** - * The current world time. This is updated each tick and provides a thread - * safe way to access the world time for architectures. - *

- * This is equivalent to owner().world().getWorldTime(). - * - * @return the current world time. - */ - long worldTime(); - - /** - * The time that has passed since the machine was started, in seconds. - *

- * Note that this is actually measured in world time, so the resolution is - * pretty limited. This is done to avoid 'time skips' when leaving the game - * and coming back later, resuming a persisted machine. - */ - double upTime(); - - /** - * The time spent running the underlying architecture in execution threads, - * i.e. the time spent in {@link Architecture#runThreaded(boolean)} since - * the machine was last started, in seconds. - */ - double cpuTime(); - - /** - * Crashes the computer. - *

- * This is exactly the same as {@link li.cil.oc.api.machine.Context#stop()}, except that it also - * sets the error message in the machine. This message can be seen when the - * Analyzer is used on computer cases, for example. - * - * @param message the message to set. - * @return true if the computer switched to the stopping state. - */ - boolean crash(String message); - - /** - * Tries to pop a signal from the queue and returns it. - *

- * Signals are stored in a FIFO queue of limited size. This method is / must - * be called by architectures regularly to process the queue. - * - * @return a signal or null if the queue was empty. - */ - Signal popSignal(); - - /** - * Get a list of all methods and their annotations of the specified object. - *

- * The specified object can be either a {@link Value} - * or a {@link li.cil.oc.api.network.Environment}. This is useful for - * custom architectures, to allow providing a list of callback methods to - * evaluated programs. - * - * @param value the value to get the method listing for. - * @return the methods that can be called on the object. - */ - Map methods(Object value); - - /** - * Makes the machine call a component callback. - *

- * This is intended to be used from architectures, but may be useful in - * other scenarios, too. It will make the machine call the method with the - * specified name on the attached component with the specified address. - *

- * This will perform a visibility check, ensuring the component can be seen - * from the machine. It will also ensure that the direct call limit for - * individual callbacks is respected. - * - * @param address the address of the component to call the method on. - * @param method the name of the method to call. - * @param args the list of arguments to pass to the callback. - * @return a list of results returned by the callback, or null. - * @throws LimitReachedException when the called method supports direct - * calling, but the number of calls in this - * tick has exceeded the allowed limit. - * @throws IllegalArgumentException if there is no such component. - * @throws Exception if the callback throws an exception. - */ - Object[] invoke(String address, String method, Object[] args) throws Exception; - - /** - * Makes the machine call a value callback. - *

- * This is intended to be used from architectures, but may be useful in - * other scenarios, too. It will make the machine call the method with the - * specified name on the specified value. - *

- * This will will ensure that the direct call limit for individual - * callbacks is respected. - * - * @param value the value to call the method on. - * @param method the name of the method to call. - * @param args the list of arguments to pass to the callback. - * @return a list of results returned by the callback, or null. - * @throws LimitReachedException when the called method supports direct - * calling, but the number of calls in this - * tick has exceeded the allowed limit. - * @throws IllegalArgumentException if there is no such component. - * @throws Exception if the callback throws an exception. - */ - Object[] invoke(Value value, String method, Object[] args) throws Exception; - - /** - * The list of users registered on this machine. - *

- * This list is used for {@link li.cil.oc.api.machine.Context#canInteract(String)}. Exposed for - * informative purposes only, for example to expose it to user code. Note - * that the returned array is a copy of the internal representation of the - * user list. Changing it has no influence on the actual list. - * - * @return the list of registered users. - */ - String[] users(); - - /** - * Add a player to the machine's list of users, by username. - *

- * This requires for the player to be online. - * - * @param name the name of the player to add as a user. - * @throws Exception if - *

    - *
  • There are already too many users.
  • - *
  • The player is already registered.
  • - *
  • The provided name is too long.
  • - *
  • The player is not online.
  • - *
- */ - void addUser(String name) throws Exception; - - /** - * Removes a player as a user from this machine, by username. - *

- * Unlike when adding players, the player does not have to be - * online to be removed from the list. - * - * @param name the name of the player to remove. - * @return whether the player was removed from the user list. - */ - boolean removeUser(String name); -} diff --git a/src/api/java/li/cil/oc/api/machine/MachineHost.java b/src/api/java/li/cil/oc/api/machine/MachineHost.java deleted file mode 100644 index c234d8e04..000000000 --- a/src/api/java/li/cil/oc/api/machine/MachineHost.java +++ /dev/null @@ -1,104 +0,0 @@ -package li.cil.oc.api.machine; - -import li.cil.oc.api.driver.EnvironmentHost; -import li.cil.oc.api.network.Environment; -import li.cil.oc.api.network.Node; - -/** - * This interface has to be implemented by 'hosts' of machine instances. - *

- * It provides some context for the machine, in particular which world it is - * running in, to allow querying the time of day, for example. - */ -public interface MachineHost extends EnvironmentHost { - /** - * Get the architecture to use in the hosted machine. - *

- * This can be a static architecture type, but will usually be based on the - * CPU installed in the host (for example, this is true for computer cases, - * servers, robots and tablets). - * - * @return the architecture of the installed CPU, or null. - */ - Class cpuArchitecture(); - - /** - * This determines how many direct calls the machine can make per tick. - *

- * A call to a direct method with a limit will consume 1 / limit - * of the available call budget. When the budget reaches zero, the machine - * is forced into a synchronized call to make it wait for the next tick. - *

- * The default values used by OC are 0.5, 1.0 and 1.5 for a tier one, two - * and three CPU, respectively. - *

- * The call budget is reset to this value each tick. - * - * @return the direct call budget, per tick. - */ - double callBudget(); - - /** - * The amount of memory (RAM) made available to the machine, in bytes. - *

- * This is usually determined by the components installed in the owner, for - * example the memory sticks in a computer case. - * - * @return the amount of memory that can be used by the machine, in bytes. - */ - int installedMemory(); - - /** - * The number of components the machine can address without crashing. - *

- * This is usually determined by the components installed in the owner, for - * example the CPUs in a server. - *

- * Note that the component count does not include file systems. - * - * @return the number of supported components. - */ - int maxComponents(); - - /** - * Get the slot a component with the specified address is in. - *

- * This is intended to allow determining the slot of item - * components sitting in computers. For other components this returns - * negative values. - * - * @param address the address of the component to get the slot for. - * @return the index of the slot the component is in. - */ - int componentSlot(String address); - - /** - * This is called by the machine when its state changed (which can be - * multiple times per actual game tick), to notify the owner that it should - * save its state on the next world save. - *

- * This method is called from executor threads, so it must be thread-safe. - */ - // TODO Merge with {@link EnvironmentHost#markChanged} in 1.5 - void markForSaving(); - - /** - * This is called on the owner when the machine's {@link Environment#onConnect(Node)} - * method gets called. This can be useful for reacting to network events - * when the owner does not have its own node (for example, computer cases - * expose their machine's node as their own node). This callback allows it - * to connect its components (graphics cards and the like) when it is - * connected to a node network (when added to the world, for example). - * - * @param node the node that was connected to the network. - */ - void onMachineConnect(Node node); - - /** - * Like {@link #onMachineConnect(Node)}, except that this is called whenever - * the machine's {@link Environment#onDisconnect(Node)} method is called. - * - * @param node the node that was disconnected from the network. - */ - void onMachineDisconnect(Node node); -} diff --git a/src/api/java/li/cil/oc/api/machine/Signal.java b/src/api/java/li/cil/oc/api/machine/Signal.java deleted file mode 100644 index f74581c67..000000000 --- a/src/api/java/li/cil/oc/api/machine/Signal.java +++ /dev/null @@ -1,19 +0,0 @@ -package li.cil.oc.api.machine; - -/** - * A single signal that was queued on a machine. - *

- * This interface is not intended to be implemented, it only serves as a return - * type for {@link Machine#popSignal()}. - */ -public interface Signal { - /** - * The name of the signal. - */ - String name(); - - /** - * The list of arguments for the signal. - */ - Object[] args(); -} diff --git a/src/api/java/li/cil/oc/api/machine/Value.java b/src/api/java/li/cil/oc/api/machine/Value.java deleted file mode 100644 index 71352c28f..000000000 --- a/src/api/java/li/cil/oc/api/machine/Value.java +++ /dev/null @@ -1,77 +0,0 @@ -package li.cil.oc.api.machine; - -import li.cil.oc.api.Persistable; - -/** - * A value object can be pushed to a machine like a primitive value. - *

- * This is the only non-primitive type that can be pushed to machines, allowing - * for much more advanced interaction, since the methods on this value can be - * called from Lua directly. This is similar to component callbacks, but at the - * same time very different, because these objects can be pushed as results - * from callbacks, therefore outliving their component, for example. - *

- * There are a few limitations too keep in mind: - *

    - *
  • Values must have a default constructor for loading.
  • - *
  • Values must be persistable (implement save/load).
  • - *
- *

- * Callbacks can be defined in a manner similar to environments, e.g. using the - * {@link Callback} annotation. - */ -public interface Value extends Persistable { - /** - * This is called when the code running on a machine tries to index this - * value. - * - * @param context the context from which the method is called, usually the - * instance of the computer running the script that made - * the call. - * @param arguments the arguments passed to the method. - * @return the current value at the specified index, or null. - */ - Object apply(Context context, Arguments arguments); - - /** - * This is called when the code running on a machine tries to assign a new - * value at the specified index of this value. - *

- * Does nothing if the value is not indexable. - * - * @param context the context from which the method is called, usually the - * instance of the computer running the script that made - * the call. - * @param arguments the arguments passed to the method. - */ - void unapply(Context context, Arguments arguments); - - /** - * This is called when the code running on a machine tries to call this - * value as a function. - *

- * If this value is not callable, throws an exception. - * - * @param context the context from which the method is called, usually the - * instance of the computer running the script that made - * the call. - * @param arguments the arguments passed to the method. - * @return the result of the call. - * @throws RuntimeException if this value is not callable. - */ - Object[] call(Context context, Arguments arguments); - - /** - * This is called when the object's representation in the machine it was - * pushed to is garbage collected. - *

- * Important: be aware of the consequences of pushing the same - * object to multiple machines. You should usually not do that, - * but if you do, realize this method may be called by either machine. - * - * @param context the context from which the method is called, usually the - * instance of the computer running the script that just - * garbage collected the object. - */ - void dispose(Context context); -} diff --git a/src/api/java/li/cil/oc/api/machine/package-info.java b/src/api/java/li/cil/oc/api/machine/package-info.java deleted file mode 100644 index d2ab1b844..000000000 --- a/src/api/java/li/cil/oc/api/machine/package-info.java +++ /dev/null @@ -1,25 +0,0 @@ -/** - * This package provides low level machine access. - *

- * Using the {@link li.cil.oc.api.Machine} class, you can create new machine - * instances, i.e. essentially computer "cores", that will run code. This allows - * you to implement your own computer blocks. Or robots. Or whatever you come up - * with. - *

- * The interfaces in here also allow you to implement an arbitrary new - * {@link li.cil.oc.api.machine.Architecture}, which can then be used when - * creating a new {@link li.cil.oc.api.machine.Machine} using the factory - * methods in {@link li.cil.oc.api.Machine}. An architecture could be a custom - * language interpreter, or a full blown hardware emulator for old microchips. - *

- * There are also a couple of interfaces in here that are not meant to be - * implemented, but merely to allow accessing some mod internals in a regulated - * fashion, such as {@link li.cil.oc.api.internal.Robot}. - */ -@cpw.mods.fml.common.API( - owner = API.ID_OWNER, - provides = "OpenComputersAPI|Machine", - apiVersion = API.VERSION) -package li.cil.oc.api.machine; - -import li.cil.oc.api.API; diff --git a/src/api/java/li/cil/oc/api/network/Analyzable.java b/src/api/java/li/cil/oc/api/network/Analyzable.java deleted file mode 100644 index 769c12677..000000000 --- a/src/api/java/li/cil/oc/api/network/Analyzable.java +++ /dev/null @@ -1,34 +0,0 @@ -package li.cil.oc.api.network; - -import net.minecraft.entity.player.EntityPlayer; - -/** - * Allows defining a callback for when a block is right-clicked with an - * analyzer. - *

- * This has to be implemented by a {@link net.minecraft.tileentity.TileEntity}, - * else it will have no effect. - */ -public interface Analyzable { - /** - * Called when a player uses the analyzer tool on the tile entity's block. - *

- * This can be used to display additional block specific information in the - * player's chat when the analyzer is used (or do whatever) and may also be - * used to redirect the query to some other environment by returning some - * other environment than this. The latter is used by multi-block - * screens, for example, to always show information of the primary screen. - *

- * Return null to suppress any further node information being - * displayed. - * - * @param player the player that used the analyzer. - * @param side the side of the block the player clicked. - * @param hitX the relative X coordinate the player clicked. - * @param hitY the relative Y coordinate the player clicked. - * @param hitZ the relative Z coordinate the player clicked. - * @return the nodes to display information for, usually an environment's - * main node (i.e. this.node()). - */ - Node[] onAnalyze(EntityPlayer player, int side, float hitX, float hitY, float hitZ); -} diff --git a/src/api/java/li/cil/oc/api/network/BlacklistedPeripheral.java b/src/api/java/li/cil/oc/api/network/BlacklistedPeripheral.java deleted file mode 100644 index 7598551d5..000000000 --- a/src/api/java/li/cil/oc/api/network/BlacklistedPeripheral.java +++ /dev/null @@ -1,13 +0,0 @@ -package li.cil.oc.api.network; - -/** - * This interface can be implemented by ComputerCraft peripherals, to allow - * dynamically deciding whether OC should wrap the peripheral or not. - *

- * If you have an OC driver equivalent to your peripheral and the more broad, - * IMC based method (which works purely on class names) doesn't work for you, - * use this. - */ -public interface BlacklistedPeripheral { - boolean isPeripheralBlacklisted(); -} diff --git a/src/api/java/li/cil/oc/api/network/Component.java b/src/api/java/li/cil/oc/api/network/Component.java deleted file mode 100644 index 29d75a37e..000000000 --- a/src/api/java/li/cil/oc/api/network/Component.java +++ /dev/null @@ -1,107 +0,0 @@ -package li.cil.oc.api.network; - -import li.cil.oc.api.machine.Callback; -import li.cil.oc.api.machine.Context; - -import java.util.Collection; - -/** - * Components are nodes that can be addressed computers via drivers. - *

- * Components therefore form a sub-network in the overall network, and some - * special rules apply to them. For one, components specify an additional - * kind of visibility. Component visibility may have to differ from real - * network reachability in some cases, such as network cards (which have to - * be able to communicate across the whole network, but computers should only - * "see" the cards installed directly in them). - *

- * Unlike the {@link li.cil.oc.api.network.Node}'s network reachability, this is a dynamic value and - * can be changed at any time. For example, this is used to hide multi-block - * screen parts that are not the origin from computers in the network. - *

- * The method responsible for dispatching network messages from computers also - * only allows sending messages to components that the computer can see, - * according to the component's visibility. Therefore nodes won't receive - * messages from computer's that should not be able to see them. - */ -public interface Component extends Node { - /** - * The name of the node. - *

- * This should be the type name of the component represented by the node, - * since this is what is returned from component.type. As such it - * is to be expected that there be multiple nodes with the same name, but - * that those nodes all have the same underlying type (i.e. there can be - * multiple "filesystem" nodes, but they should all behave the same way). - */ - String name(); - - /** - * Get the visibility of this component. - */ - Visibility visibility(); - - /** - * Set the visibility of this component. - *

- * Note that this cannot be higher / more visible than the reachability of - * the node. Trying to set it to a higher value will generate an exception. - * - * @throws IllegalArgumentException if the specified value is - * more visible than the node's - * reachability. - */ - void setVisibility(Visibility value); - - /** - * Tests whether this component can be seen by the specified node, - * usually representing a computer in the network. - *

- * Important: this will always return true if the node is - * not currently in a network. - * - * @param other the computer node to check for. - * @return true if the computer can see this node; false otherwise. - */ - boolean canBeSeenFrom(Node other); - - // ----------------------------------------------------------------------- // - - /** - * The list of names of methods exposed by this component. - *

- * This does not return the callback annotations directly, because those - * may not contain the method's name (as it defaults to the name of the - * annotated method). - *

- * The returned collection is read-only. - */ - Collection methods(); - - /** - * Get the annotation information of a method. - *

- * This is needed for custom architecture implementations that need to know - * if a callback is direct or not, for example. - * - * @param method the method to the the info for. - * @return the annotation of the specified method or null. - */ - Callback annotation(String method); - - /** - * Tries to call a function with the specified name on this component. - *

- * The name of the method must be one of the names in {@link #methods()}. - * The returned array may be null if there is no return value. - * - * @param method the name of the method to call. - * @param context the context from which the method is called, usually the - * instance of the computer running the script that made - * the call. - * @param arguments the arguments passed to the method. - * @return the list of results, or null if there is no result. - * @throws NoSuchMethodException if there is no method with that name. - */ - Object[] invoke(String method, Context context, Object... arguments) throws Exception; -} diff --git a/src/api/java/li/cil/oc/api/network/ComponentConnector.java b/src/api/java/li/cil/oc/api/network/ComponentConnector.java deleted file mode 100644 index 969a8901d..000000000 --- a/src/api/java/li/cil/oc/api/network/ComponentConnector.java +++ /dev/null @@ -1,7 +0,0 @@ -package li.cil.oc.api.network; - -/** - * For nodes that are both component and connector. - */ -public interface ComponentConnector extends Component, Connector { -} diff --git a/src/api/java/li/cil/oc/api/network/Connector.java b/src/api/java/li/cil/oc/api/network/Connector.java deleted file mode 100644 index 7189915bd..000000000 --- a/src/api/java/li/cil/oc/api/network/Connector.java +++ /dev/null @@ -1,97 +0,0 @@ -package li.cil.oc.api.network; - -/** - * Interface for nodes that act as power connectors between their network and - * some power producer or consumer. - *

- * For each connector a buffer is managed. Its size is initialized via the - * factory function in the network API, but can also be configured later on. - * Its current fill level can be queried and manipulated as desired. - *

- * Each connector can take two roles: it can be a producer, feeding - * power into the network, or it can be a consumer, requiring power - * from the network to power something (or it can be both). This depends - * entirely on how you call {@link #changeBuffer}, i.e. on whether you - * fill up the connectors buffer or drain it. - *

- * To feed power into the network, simply fill up the buffer, to consume power - * take power from the buffer. The network will balance the power between all - * buffers connected to it. The algorithm goes as follows: if there was a change - * to some buffer, computer the average power available in all buffers. Build - * two sets: those of buffers with above-average level, and those with below- - * average fill. From all above-average buffers take so much energy that they - * remain just above average fill (but only take integral values - this is to - * avoid floating point errors causing trouble). Distribute the collected energy - * equally among the below-average buffers (as good as possible). - */ -public interface Connector extends Node { - /** - * The energy stored in the local buffer. - */ - double localBuffer(); - - /** - * The size of the local buffer. - */ - double localBufferSize(); - - /** - * The accumulative energy stored across all buffers in the node's network. - */ - double globalBuffer(); - - /** - * The accumulative size of all buffers in the node's network. - */ - double globalBufferSize(); - - /** - * Try to apply the specified delta to the global buffer. - *

- * This can be used to apply reactionary power changes. For example, a - * screen may require a certain amount of energy to refresh its display when - * a program tries to display text on it. For running costs just apply the - * same delta each tick. - *

- * If the specified delta cannot be completely applied to the buffer, the - * remaining delta will be returned. This means that for negative values - * a part of the energy will have been consumed, though. - *

- * If there is enough energy or no overflow this will return 0. - *

- * Keep in mind that this change is applied to the global buffer, - * i.e. energy from multiple buffers may be consumed / multiple buffers may - * be filled. The buffer for which this method is called (i.e. this node - * instance) will be prioritized, though. - * - * @param delta the amount of energy to consume or store. - * @return the remainder of the delta that could not be applied. - */ - double changeBuffer(double delta); - - /** - * Like {@link #changeBuffer}, but will only store/consume the specified - * amount of energy if there is enough capacity/energy available. - * - * @param delta the amount of energy to consume or store. - * @return true if the energy was successfully consumed or stored. - */ - boolean tryChangeBuffer(double delta); - - /** - * Change the size of the connectors local buffer. - *

- * If the size is reduced, any superfluous energy is distributed across - * other connectors' buffers in the network, if possible. Any surplus - * energy that cannot be stored in other buffers will be lost. - *

- * Note that this automatically called when the connector is disconnected - * from its network to set its buffer size to zero and distribute its - * energy to other connectors in the network. - * - * @param size the new size of the local buffer. Note that this is capped - * to a minimum of zero, i.e. if a negative value is passed the - * size will be set to zero. - */ - void setLocalBufferSize(double size); -} diff --git a/src/api/java/li/cil/oc/api/network/Environment.java b/src/api/java/li/cil/oc/api/network/Environment.java deleted file mode 100644 index 020fa258f..000000000 --- a/src/api/java/li/cil/oc/api/network/Environment.java +++ /dev/null @@ -1,113 +0,0 @@ -package li.cil.oc.api.network; - -/** - * The environment of a node. - *

- * For blocks/tile entities this will usually be the tile entity. For items - * this will usually be an object created when a component is added to a - * compatible inventory (e.g. put into a computer). - *

- * Tile entities should implement this interface if they want to be connected - * to the component network of their neighboring blocks. If you cannot do that, - * as mentioned above, you will have to provide a driver that creates a managed - * environment for the block you wish to connect instead. - *

- * To get some more control over which sides of your block may connect to a - * network, see {@link SidedEnvironment}. - *

- * When a tile entity implements this interface a good way of connecting and - * disconnecting is the following pattern: - *

- *     void updateEntity() {
- *         super.updateEntity()
- *         if (node != null && node.network == null) {
- *             api.Network.joinOrCreateNetwork(this);
- *         }
- *     }
- *
- *     void onChunkUnload() {
- *         super.onChunkUnload()
- *         if (node != null) node.remove()
- *     }
- *
- *     void invalidate() {
- *         super.invalidate()
- *         if (node != null) node.remove()
- *     }
- * 
- *

- * Item environments are always managed, so you will always have to provide a - * driver for items that should interact with the component network. - *

- * To interact with environments from user code you will have to do two things: - *

    - *
  1. Make the environment's {@link #node} a {@link li.cil.oc.api.network.Component} and ensure - * its {@link li.cil.oc.api.network.Component#visibility} is set to a value where it can - * be seen by computers in the network.
  2. - *
  3. Annotate methods in the environment as {@link li.cil.oc.api.machine.Callback}s.
  4. - *
- */ -public interface Environment { - /** - * The node this environment wraps. - *

- * The node is the environments gateway to the component network, and thus - * its preferred way to interact with other components in the same network. - * - * @return the node this environment wraps. - */ - Node node(); - - /** - * This is called when a node is added to a network. - *

- * This is also called for the node itself, if it was added to the network. - *

- * At this point the node's network is never null and you can use - * it to query it for other nodes. Use this to perform initialization logic, - * such as building lists of nodes of a certain type in the network. - *

- * For example, if node A is added to a network with nodes B and C, these - * calls are made: - *

    - *
  • A.onConnect(A)
  • - *
  • A.onConnect(B)
  • - *
  • A.onConnect(C)
  • - *
  • B.onConnect(A)
  • - *
  • C.onConnect(A)
  • - *
- */ - void onConnect(Node node); - - /** - * This is called when a node is removed from the network. - *

- * This is also called for the node itself, when it has been removed from - * its network. Note that this is called on the node that is being removed - * only once with the node itself as the parameter. - *

- * At this point the node's network is no longer available (null). - * Use this to perform clean-up logic such as removing references to the - * removed node. - *

- * For example, if node A is removed from a network with nodes A, B and C, - * these calls are made: - *

    - *
  • A.onDisconnect(A)
  • - *
  • B.onDisconnect(A)
  • - *
  • C.onDisconnect(A)
  • - *
- */ - void onDisconnect(Node node); - - /** - * This is the generic message handler. - *

- * It is called whenever this environments {@link li.cil.oc.api.network.Node} receives a message - * that was sent via one of the send methods in the {@link li.cil.oc.api.network.Network} - * or the Node itself. - * - * @param message the message to handle. - */ - abstract void onMessage(Message message); -} diff --git a/src/api/java/li/cil/oc/api/network/ManagedEnvironment.java b/src/api/java/li/cil/oc/api/network/ManagedEnvironment.java deleted file mode 100644 index 7a1a10ea5..000000000 --- a/src/api/java/li/cil/oc/api/network/ManagedEnvironment.java +++ /dev/null @@ -1,33 +0,0 @@ -package li.cil.oc.api.network; - -import li.cil.oc.api.Persistable; - -/** - * This kind of environment is managed by either a compatible inventory, such - * as a computer or floppy drive, or by an adapter block or similar. - *

- * This means its update and save/load methods will be called by their logical - * container. This is required for item environments, and for block - * environments that cannot be directly integrated into a block's tile entity, - * for example because you have no direct control over the block (e.g. what we - * do with the command block). - *

- * You should not implement this interface in your tile entities, or - * weird things may happen (e.g. update and save/load being called multiple - * times). - */ -public interface ManagedEnvironment extends Environment, Persistable { - /** - * Like the method of the same name on tile entities, this is used to - * decide whether to put a component in the list of components that need - * updating, i.e. for which {@link #update()} should be called each tick. - *

- * Return false here, if you do not need updates, to improve performance. - */ - boolean canUpdate(); - - /** - * This is called by the host of this managed environment once per tick. - */ - void update(); -} diff --git a/src/api/java/li/cil/oc/api/network/ManagedPeripheral.java b/src/api/java/li/cil/oc/api/network/ManagedPeripheral.java deleted file mode 100644 index 6dede2738..000000000 --- a/src/api/java/li/cil/oc/api/network/ManagedPeripheral.java +++ /dev/null @@ -1,38 +0,0 @@ -package li.cil.oc.api.network; - -import li.cil.oc.api.machine.Arguments; -import li.cil.oc.api.machine.Context; - -/** - * This interface can be used with an {@link Environment} - * and is intended to be used for environments wrapping a ComputerCraft - * peripheral. It could be used for other purposes as well, though. It allows - * providing method names in addition to those defined via the - * {@link li.cil.oc.api.machine.Callback} annotation, and invoking said methods. - */ -public interface ManagedPeripheral { - /** - * Get the list of methods provided by this environment, in - * addition to methods marked as callbacks. - *

- * Returning null has the same meaning as returning an empty array, - * that being that there are no methods - in which case you don't need this - * interface! - * - * @return the list of methods provided by the environment. - */ - String[] methods(); - - /** - * Calls a method from the list provided by {@link #methods()}. - *

- * - * @param method the name of the method to call. - * @param context the context from which the method is called. - * @param args the arguments to pass to the method. - * @return the result of calling the method. Same as for callbacks. - * @throws NoSuchMethodException if there is no method with the - * specified name. - */ - Object[] invoke(String method, Context context, Arguments args) throws Exception; -} diff --git a/src/api/java/li/cil/oc/api/network/Message.java b/src/api/java/li/cil/oc/api/network/Message.java deleted file mode 100644 index 980b36a63..000000000 --- a/src/api/java/li/cil/oc/api/network/Message.java +++ /dev/null @@ -1,39 +0,0 @@ -package li.cil.oc.api.network; - -/** - * This type is used to deliver messages sent in a component network. - *

- * We use an extra class to deliver messages to nodes to make the cancel logic - * more clear (returning a boolean can get annoying very fast). - */ -public interface Message { - /** - * The node that sent the message. - * - * @return the source node. - */ - Node source(); - - /** - * The name of this message. - * - * @return the name of the message. - */ - String name(); - - /** - * The values passed along in the message. - * - * @return the message data. - */ - Object[] data(); - - /** - * Stop further propagation of a broadcast message. - *

- * This can be used to stop further distributing messages when either - * serving a message to a specific address and there are multiple nodes - * with that address, or when serving a broadcast message. - */ - void cancel(); -} \ No newline at end of file diff --git a/src/api/java/li/cil/oc/api/network/Network.java b/src/api/java/li/cil/oc/api/network/Network.java deleted file mode 100644 index d89419fbc..000000000 --- a/src/api/java/li/cil/oc/api/network/Network.java +++ /dev/null @@ -1,225 +0,0 @@ -package li.cil.oc.api.network; - -/** - * Interface for interacting with networks. - *

- * Computers and components form ad-hoc "networks" when placed next to each - * other. They allow computers to communicate with the components attached to - * them (and nodes amongst each other) by using the network as an index - * structure. - *

- * There are three types of nodes: - *

    - *
  • {@link li.cil.oc.api.network.Node}, the most basic form.
  • - *
  • {@link Component}, used to expose callbacks to user code.
  • - *
  • {@link Connector}, used for consuming of producing energy.
  • - *
- *

- * See Node for more details on the behavior of single nodes, and in - * particular how nodes represented by tile entities should be added. - *

- * Another important concept of node networks is reachability and visibility, - * see {@link Visibility}. - *

- * Note that network access in general is not thread safe! Networks - * should only be accessed from the main server thread. The exception are the - * connector nodes, which can be used to consume or produce energy from other - * threads. - *

- * IMPORTANT: do *not* implement this interface yourself and create - * instances of your own network implementation; this will lead to - * incompatibilities with the built-in network implementation (which can only - * merge with other networks of its own type). Always use the methods provided - * in {@link li.cil.oc.api.Network} to create and join networks. - */ -public interface Network { - /** - * Adds a new node connection in the network. - *

- * This is used by nodes to join an existing network. At least one of the two - * nodes must already be in the network. If one of the nodes is not yet in the - * network, it will be added to the network. If both nodes are already in the - * network only the connection between the two nodes is added. If one of the - * nodes is not in this network but in another network, the networks will be - * merged. - *

- * This way of adding nodes is used to build an internal graph to allow - * properly splitting networks when nodes are removed. - * - * @param nodeA the first node. - * @param nodeB the second node. - * @return true if a new connection between the two nodes was added; false if - * the connection already existed. - * @throws IllegalArgumentException if neither node is in this network. - */ - boolean connect(Node nodeA, Node nodeB); - - /** - * Removes a node connection in the network. - *

- * Both nodes must be part of this network. - *

- * This can be useful for cutting connections that depend on some condition - * that does not involve the nodes' actual existence in the network, such as - * the distance between two nodes, for example (think access points of a - * wireless network). - * - * @param nodeA the first node. - * @param nodeB the second node. - * @return true if the connection was cut; false if there was none. - * @throws IllegalArgumentException if the nodes are not in this network. - */ - boolean disconnect(Node nodeA, Node nodeB); - - /** - * Removes a node from the network. - *

- * This should be called by nodes when they are destroyed (e.g. in - * {@link net.minecraft.tileentity.TileEntity#invalidate()}) or unloaded - * (e.g. in {@link net.minecraft.tileentity.TileEntity#onChunkUnload()}). - * Removing the node can lead to one or more new networks if it was the a - * bridge node, i.e. the only node connecting the resulting networks. - * - * @param node the node to remove from the network. - * @return true if the node was removed; false if it wasn't in the network. - */ - boolean remove(Node node); - - // ----------------------------------------------------------------------- // - - /** - * Get the network node with the specified address. - * - * @param address the address of the node to get. - * @return the node with that address. - */ - Node node(String address); - - /** - * The list of all nodes in this network. - * - * @return the list of nodes in this network. - */ - Iterable nodes(); - - /** - * The list of addressed nodes in the network visible to the specified node. - *

- * This does not include nodes with a visibility of None - * or a visibility of Neighbors when there is no direct connection - * between that node and the reference node. - *

- * This does not include the node itself. - *

- * This can be useful when performing a delayed initialization of a node. - * For example, computers will use this when starting up to generate - * component_added signals for all visible components in the - * network. - * - * @param reference the node to get the visible other nodes for. - * @return the nodes visible to the specified node. - */ - Iterable nodes(Node reference); - - /** - * The list of nodes the specified node is directly connected to. - *

- * This does include nodes with a visibility of None. - *

- * This does not include the node itself. - *

- * This can be used to verify arguments for components that should only work - * for other components that are directly connected to them, for example. - * - * @param node the node to get the neighbors for. - * @return a list of nodes the node is directly connect to. - * @throws IllegalArgumentException if the specified node is not in this network. - */ - Iterable neighbors(Node node); - - // ----------------------------------------------------------------------- // - - /** - * Sends a message to the node with the specified address. - *

- * If the target node with that address has a visibility of None - * the message will not be delivered to that node. If the target - * node with that address has a visibility of Neighbors and the - * source node is not directly connected to the target the message will - * not be delivered to that node. - *

- * Messages should have a unique name to allow differentiating them when - * handling them in a network node. For example, computers will try to parse - * messages named computer.signal by converting the message data to - * a signal and inject that signal into the machine, so no message not used - * for this purpose should be named computer.signal. - * - * @param source the node that sends the message. - * @param target the id of the node to send the message to. - * @param name the name of the message. - * @param data the message to send. - * @throws IllegalArgumentException if the source node is not in this network. - */ - void sendToAddress(Node source, String target, String name, Object... data); - - /** - * Sends a message to all addressed, visible neighbors of the source node. - *

- * Targets are determined using {@link #neighbors(li.cil.oc.api.network.Node)} and additionally - * filtered for reachability (so that unreachable nodes are ignored). - *

- * Messages should have a unique name to allow differentiating them when - * handling them in a network node. For example, computers will try to parse - * messages named computer.signal by converting the message data to - * a signal and inject that signal into the machine, so no message not used - * for this purpose should be named computer.signal. - * - * @param source the node that sends the message. - * @param name the name of the message. - * @param data the message to send. - * @throws IllegalArgumentException if the source node is not in this network. - * @see #neighbors(li.cil.oc.api.network.Node) - */ - void sendToNeighbors(Node source, String name, Object... data); - - /** - * Sends a message to all addressed nodes reachable to the source node. - *

- * Targets are determined using {@link #nodes(li.cil.oc.api.network.Node)}. - *

- * Messages should have a unique name to allow differentiating them when - * handling them in a network node. For example, computers will try to parse - * messages named computer.signal by converting the message data to - * a signal and inject that signal into the machine, so no message not used - * for this purpose should be named computer.signal. - * - * @param source the node that sends the message. - * @param data the message to send. - * @throws IllegalArgumentException if the source node is not in this network. - * @see #nodes(li.cil.oc.api.network.Node) - */ - void sendToReachable(Node source, String name, Object... data); - - /** - * Sends a message to all addressed nodes visible to the source node. - *

- * Targets are determined using {@link #nodes(li.cil.oc.api.network.Node)} and additionally - * filtered for visibility (so that invisible nodes are ignored). - *

- * Note that messages sent this way are only delivered to other - * components. The message will not be delivered to normal nodes. - *

- * Messages should have a unique name to allow differentiating them when - * handling them in a network node. For example, computers will try to parse - * messages named computer.signal by converting the message data to - * a signal and inject that signal into the machine, so no message not used - * for this purpose should be named computer.signal. - * - * @param source the node that sends the message. - * @param data the message to send. - * @throws IllegalArgumentException if the source node is not in this network. - * @see #nodes(li.cil.oc.api.network.Node) - * @see Component#canBeSeenFrom(li.cil.oc.api.network.Node) - */ - void sendToVisible(Node source, String name, Object... data); -} diff --git a/src/api/java/li/cil/oc/api/network/Node.java b/src/api/java/li/cil/oc/api/network/Node.java deleted file mode 100644 index b50a648ff..000000000 --- a/src/api/java/li/cil/oc/api/network/Node.java +++ /dev/null @@ -1,220 +0,0 @@ -package li.cil.oc.api.network; - -import li.cil.oc.api.Persistable; - -/** - * A single node in a {@link Network}. - *

- * All nodes in a network have a unique address; the network will generate a - * unique address and assign it to new nodes. - *

- * Per default there are two kinds of nodes: tile entities and items. - *

- * Items will usually only have nodes when in containers, such as a computer or - * disk drive. Otherwise you'll have to connect/disconnect them manually as - * desired. - *

- * All other kinds of nodes you may come up with will also have to be - * handled manually. - *

- * Items have to be handled by a corresponding {@link li.cil.oc.api.driver.Item}. - * Existing blocks may be interfaced with the adapter block if a - * {@link li.cil.oc.api.driver.Block} exists that supports the block. - *

- * Important: like the Network interface you must not create - * your own implementations of this interface. Use the factory methods in the - * network API to create new node instances and store them in your environment. - * - * @see Component - */ -public interface Node extends Persistable { - /** - * The environment hosting this node. - *

- * For blocks whose tile entities implement {@link Environment} this will - * be the tile entity. For all other implementations this will be a managed - * environment. - */ - Environment host(); - - /** - * The reachability of this node. - *

- * This is used by the network to control which system messages to deliver - * to which nodes. This value should not change over the lifetime of a node. - *

- * It furthermore determines what is returned by the Network's - * neighbors and nodes functions. - *

- * Note that this has no effect on the real reachability of a node; - * it is only used to filter to which nodes to send connect, disconnect and - * reconnect messages. If addressed directly, the node will still receive - * that message even if it comes from a node that should not be able to see - * it. Therefore nodes should still verify themselves that they want to - * accept a message from the message's source. - *

- * A different matter is a {@link Component}'s visibility, which is - * checked before delivering messages a computer tries to send. - */ - Visibility reachability(); - - /** - * The address of the node, so that it can be found in the network. - *

- * This is used by the network manager when a node is added to a network to - * assign it a unique address, if it doesn't already have one. Nodes must not - * use custom addresses, only those assigned by the network. The only option - * they have is to *not* have an address, which can be useful for "dummy" - * nodes, such as cables. In that case they may ignore the address being set. - */ - String address(); - - /** - * The network this node is currently in. - *

- * Note that valid nodes should never return `None` here. When created a node - * should immediately be added to a network, after being removed from its - * network a node should be considered invalid. - *

- * This will always be set automatically by the network manager. Do not - * change this value and do not return anything that it wasn't set to. - */ - Network network(); - - // ----------------------------------------------------------------------- // - - /** - * Checks whether this node is a neighbor of the specified node. - * - * @param other the node to check for. - * @return whether this node is directly connected to the other node. - */ - boolean isNeighborOf(Node other); - - /** - * Checks whether this node can be reached from the specified node. - * - * @param other the node to check for. - * @return whether this node can be reached from the specified node. - */ - boolean canBeReachedFrom(Node other); - - /** - * Get the list of neighbor nodes, i.e. nodes directly connected to this - * node. - *

- * This is a shortcut for node.network.neighbors(node). - *

- * If this node is not in a network, i.e. network is null, - * this returns an empty list. - * - * @return the list of nodes directly connected to this node. - */ - Iterable neighbors(); - - /** - * Get the list of nodes reachable from this node, based on their - * {@link #reachability()}. - *

- * This is a shortcut for node.network.nodes(node). - *

- * If this node is not in a network, i.e. network is null, - * this returns an empty list. - * - * @return the list of nodes reachable from this node. - */ - Iterable reachableNodes(); - - // ----------------------------------------------------------------------- // - - /** - * Connects the specified node to this node. - *

- * This is a shortcut for node.network.connect(node, other). - *

- * If this node is not in a network, i.e. network is null, - * this will throw an exception. - * - * @param node the node to connect to this node. - * @throws NullPointerException if network is null. - */ - void connect(Node node); - - /** - * Disconnects the specified node from this node. - *

- * This is a shortcut for node.network.disconnect(node, other). - *

- * If this node is not in a network, i.e. network is null, - * this will do nothing. - * - * @param node the node to connect to this node. - * @throws NullPointerException if network is null. - */ - void disconnect(Node node); - - /** - * Removes this node from its network. - *

- * This is a shortcut for node.network.remove(node). - *

- * If this node is not in a network, i.e. network is null, - * this will do nothing. - */ - void remove(); - - // ----------------------------------------------------------------------- // - - /** - * Send a message to a node with the specified address. - *

- * This is a shortcut for node.network.sendToAddress(node, ...). - *

- * If this node is not in a network, i.e. network is null, - * this will do nothing. - * - * @param target the address of the node to send the message to. - * @param name the name of the message. - * @param data the data to pass along with the message. - */ - void sendToAddress(String target, String name, Object... data); - - /** - * Send a message to all neighbors of this node. - *

- * This is a shortcut for node.network.sendToNeighbors(node, ...). - *

- * If this node is not in a network, i.e. network is null, - * this will do nothing. - * - * @param name the name of the message. - * @param data the data to pass along with the message. - */ - void sendToNeighbors(String name, Object... data); - - /** - * Send a message to all nodes reachable from this node. - *

- * This is a shortcut for node.network.sendToReachable(node, ...). - *

- * If this node is not in a network, i.e. network is null, - * this will do nothing. - * - * @param name the name of the message. - * @param data the data to pass along with the message. - */ - void sendToReachable(String name, Object... data); - - /** - * Send a message to all nodes visible from this node. - *

- * This is a shortcut for node.network.sendToVisible(node, ...). - *

- * If this node is not in a network, i.e. network is null, - * this will do nothing. - * - * @param name the name of the message. - * @param data the data to pass along with the message. - */ - void sendToVisible(String name, Object... data); -} \ No newline at end of file diff --git a/src/api/java/li/cil/oc/api/network/Packet.java b/src/api/java/li/cil/oc/api/network/Packet.java deleted file mode 100644 index 233e72018..000000000 --- a/src/api/java/li/cil/oc/api/network/Packet.java +++ /dev/null @@ -1,69 +0,0 @@ -package li.cil.oc.api.network; - -import net.minecraft.nbt.NBTTagCompound; - -/** - * These packets represent messages sent using a network card or wireless - * network card, and can be relayed by the switch and access point blocks. - *

- * These will be sent as the payload of network.message messages. - *

- * Important: do not implement this interface. Use the factory - * methods in {@link li.cil.oc.api.Network} instead. - */ -public interface Packet { - /** - * The address of the original sender of this packet. - */ - String source(); - - /** - * The address of the destination of the packet. This is null for - * broadcast packets. - */ - String destination(); - - /** - * The port this packet is being sent to. - */ - int port(); - - /** - * The payload of the packet. This will usually only contain simple types, - * to allow persisting the packet. - */ - Object[] data(); - - /** - * The size of the packet's payload. - *

- * This is computed based on the types in the data array, but is only defined - * for primitive types, i.e. null, boolean, integer, boolean byte array and - * string. All other types do not contribute to the packet's size. - */ - int size(); - - /** - * The remaining 'time to live' for this packet. When a packet with a TTL of - * zero is received it will not be relayed by switches and access points. It - * will however still be received by a network card. - */ - int ttl(); - - /** - * Generates a copy of the packet, with a reduced time to live. - *

- * This is called by switches and access points to generate relayed packets. - * - * @return a copy of this packet with a reduced TTL. - */ - Packet hop(); - - /** - * Saves the packet's data to the specified compound tag. - *

- * Restore a packet saved like this using the factory method in the - * {@link li.cil.oc.api.Network} class. - */ - void save(NBTTagCompound nbt); -} diff --git a/src/api/java/li/cil/oc/api/network/SidedComponent.java b/src/api/java/li/cil/oc/api/network/SidedComponent.java deleted file mode 100644 index 68dd76866..000000000 --- a/src/api/java/li/cil/oc/api/network/SidedComponent.java +++ /dev/null @@ -1,26 +0,0 @@ -package li.cil.oc.api.network; - -import net.minecraftforge.common.util.ForgeDirection; - -/** - * This is an extended version of {@link li.cil.oc.api.network.SimpleComponent} - * which allows controlling connectivity on a side-by-side basis. - *

- * Like the SimpleComponent interface, this is intended to be used - * with tile entities that should act as OC components. Please see the - * SimpleComponent interface for more information. - */ -public interface SidedComponent { - /** - * Whether this component can connect to a node on the specified side. - *

- * The provided side is relative to the component, i.e. when the tile - * entity sits at (0, 0, 0) and is asked for its southern node (positive - * Z axis) it has to return the connectivity for the face between it and - * the block at (0, 0, 1). - * - * @param side the side to check for. - * @return whether the component may be connected to from the specified side. - */ - boolean canConnectNode(ForgeDirection side); -} diff --git a/src/api/java/li/cil/oc/api/network/SidedEnvironment.java b/src/api/java/li/cil/oc/api/network/SidedEnvironment.java deleted file mode 100644 index 074c06349..000000000 --- a/src/api/java/li/cil/oc/api/network/SidedEnvironment.java +++ /dev/null @@ -1,54 +0,0 @@ -package li.cil.oc.api.network; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import net.minecraftforge.common.util.ForgeDirection; - -/** - * This interface is like {@link net.minecraft.inventory.ISidedInventory} is to - * {@link net.minecraft.inventory.IInventory}, it allows an environment to - * specify different node access for its different sides. - *

- * This interface is intended to be used on tile entities that are environments. - * It is used to determine which neighbors a tile entity can connect to when - * calling {@link li.cil.oc.api.Network#joinOrCreateNetwork(net.minecraft.tileentity.TileEntity)}. It is - * used by the keyboard to only interface with the side on which it is attached, - * as well as the switch to offer a different node for each side. - */ -public interface SidedEnvironment { - /** - * The node this environment uses for the specified side. - *

- * This is the side aware version of the normal {@link Environment#node} - * method. - *

- * The provided side is relative to the environment, i.e. when the tile - * entity hosting the environment sits at (0, 0, 0) and is asked for its - * southern node (positive Z axis) it has to return the node for the face - * between it and the block at (0, 0, 1). - * - * @param side the side to get the node for. - * @return the node for the specified side. - * @see Environment#node - */ - Node sidedNode(ForgeDirection side); - - /** - * Whether the environment provides a node to connect to on the specified - * side. - *

- * For each side the environment returns false here, it should - * return null from {@link #sidedNode}, and for each side it - * returns true for it should return a node. - *

- * This is intended for the client side, i.e. rendering related things, - * since nodes are not created on the client side. - *

- * The side is relative to the environment, same as for sidedNode. - * - * @param side the side to check for. - * @return whether the environment provides a node for the specified side. - */ - @SideOnly(Side.CLIENT) - boolean canConnect(ForgeDirection side); -} diff --git a/src/api/java/li/cil/oc/api/network/SimpleComponent.java b/src/api/java/li/cil/oc/api/network/SimpleComponent.java deleted file mode 100644 index 513d59521..000000000 --- a/src/api/java/li/cil/oc/api/network/SimpleComponent.java +++ /dev/null @@ -1,96 +0,0 @@ -package li.cil.oc.api.network; - -/** - * This interface can be used to easily convert tile entities to components, - * without having to implement {@link Environment} - * themselves. The simple implementation will provide no access to OC's internal - * component network, since you won't have access to the node representing the - * tile entity. Use this only for simple cases, where you want to expose a - * couple of methods to the programs running computers. - *

- * This is an interface instead of an annotation, to allow stripping via the - * ever so handy {@link cpw.mods.fml.common.Optional} annotation, meaning there - * will be no strong dependency on OpenComputers. - *

- * Classes implementing this interface will be expanded with the methods - * required for them to function as native block components (say, like the - * screen or keyboard). This means functions in the Environment - * interface have to created using a class transformer. If any of the methods - * already exist, this will fail! If things don't work, check your logs, first. - *

- * To expose methods to OC, tag them with {@link li.cil.oc.api.machine.Callback} - * and have them use the according signature (see the documentation on the - * Callback annotation). - *

- * Alternatively, implement {@link li.cil.oc.api.network.ManagedPeripheral} in - * addition to this interface, to make methods available ComputerCraft style. - *

- * So, in short: - *

    - *
  • Implement this interface on a tile entity that should expose - * methods to computers.
  • - *
  • Annotate methods with Callback so they exported.
  • - *
  • Alternatively/additionally implement ManagedPeripheral to - * provide methods via a list of names and single callback method.
  • - *
- *

- * For example: - *

- *     {@literal @}Optional.Interface(iface = "li.cil.oc.api.network.SimpleComponent", modid = "OpenComputers")
- *     public class TileEntityMyFancyThing extends TileEntity
- *            implements SimpleComponent
- *     {
- *         {@literal @}Override
- *         public String getComponentName() {
- *             return "fancy_thing";
- *         }
- *
- *         {@literal @}Callback
- *         {@literal @}Optional.Method(modid = "OpenComputers")
- *         public Object[] greet(Context context, Arguments args) {
- *             return new Object[]{String.format("Hello, %s!", args.checkString(0))};
- *         }
- *     }
- * 
- * Using the alternative method to provide methods: - *
- *     {@literal @}Optional.InterfaceList({
- *         {@literal @}Optional.Interface(iface = "li.cil.oc.api.network.SimpleComponent", modid = "OpenComputers"),
- *         {@literal @}Optional.Interface(iface = "li.cil.oc.api.network.ManagedPeripheral", modid = "OpenComputers")
- *     })
- *     public class TileEntityMyFancyThing extends TileEntity
- *            implements SimpleComponent, ManagedPeripheral
- *     {
- *         {@literal @}Override
- *         public String getComponentName() {
- *             return "fancy_thing";
- *         }
- *
- *         public String[] methods() {
- *             return new String[] {"greet"};
- *         }
- *
- *         {@literal @}Optional.Method(modid = "OpenComputers")
- *         public Object[] invoke(String method, Context context, Arguments args) {
- *             if ("greet".equals(method)) {
- *                 return new Object[]{String.format("Hello, %s!", args.checkString(0))};
- *             } else {
- *                 throw new NoSuchMethodException();
- *             }
- *         }
- *     }
- * 
- */ -public interface SimpleComponent { - /** - * The name the component should be made available as. - *

component.list() in Lua, for - * example. You'll want to make this short and descriptive. The convention - * for component names is: all lowercase, underscores where necessary. Good - * component names are for example: disk_drive, furnace, crafting_table. - * - * @return the component's name. - */ - String getComponentName(); -} diff --git a/src/api/java/li/cil/oc/api/network/Visibility.java b/src/api/java/li/cil/oc/api/network/Visibility.java deleted file mode 100644 index 69960b183..000000000 --- a/src/api/java/li/cil/oc/api/network/Visibility.java +++ /dev/null @@ -1,42 +0,0 @@ -package li.cil.oc.api.network; - -/** - * Possible reachability values for nodes. - *

- * Since all nodes that are connected are packed into the same network, we want - * some way of controlling what's accessible from where on a low level (to - * avoid unnecessary messages and unauthorized access). - *

- * Note that there is a more specific kind of visibility for components. See - * {@link li.cil.oc.api.network.Component} for more details on that. - */ -public enum Visibility { - /** - * Nodes with this visibility neither receive nor send messages. - *

- * Components with this visibility cannot be seen nor reached by computers. - */ - None, - - /** - * Nodes with this visibility only receive messages from their immediate - * neighbors, i.e. nodes to which a direct connection exists. It can send - * messages to all nodes visible to it. - *

- * Components with this visibility can likewise only be reached by the - * computer(s) they are directly attached to. For example, if a block - * component is placed directly next to the computer, or an item installed - * in the computer (i.e. it is in the computer's inventory). - */ - Neighbors, - - /** - * Nodes with this visibility can receive messages from any node in its - * network. It can still only send messages to all nodes visible to it. - *

- * Components with this visibility are likewise reachable by all computers - * in their network. For example, a screen only indirectly connected to a - * computer will still be addressable by that computer. - */ - Network -} diff --git a/src/api/java/li/cil/oc/api/network/WirelessEndpoint.java b/src/api/java/li/cil/oc/api/network/WirelessEndpoint.java deleted file mode 100644 index b6e830f35..000000000 --- a/src/api/java/li/cil/oc/api/network/WirelessEndpoint.java +++ /dev/null @@ -1,47 +0,0 @@ -package li.cil.oc.api.network; - -import net.minecraft.world.World; - -/** - * Interface for wireless endpoints that can be registered with the internal - * wireless network registry. - *

- * These can be added to the wireless network via the Network API, to - * allow them to receive packets like wireless network cards and access points - * do (and handle or forward them as they see fit). - *

- * If the position of the endpoint can change, it must be updated manually via - * {@link li.cil.oc.api.Network#updateWirelessNetwork(li.cil.oc.api.network.WirelessEndpoint)}. - */ -public interface WirelessEndpoint { - /** - * The X coordinate of the endpoint in the world, in block coordinates. - */ - int x(); - - /** - * The Y coordinate of the endpoint in the world, in block coordinates. - */ - int y(); - - /** - * The Z coordinate of the endpoint in the world, in block coordinates. - */ - int z(); - - /** - * The world this endpoint lives in. - */ - World world(); - - /** - * Makes the endpoint receive a single packet. - * - * @param packet the packet to receive. - * @param sender the endpoint that sent the message. This is not - * necessarily the original sender of the packet, just - * the last point it went through, such as an access - * point, for example. - */ - void receivePacket(Packet packet, WirelessEndpoint sender); -} diff --git a/src/api/java/li/cil/oc/api/network/package-info.java b/src/api/java/li/cil/oc/api/network/package-info.java deleted file mode 100644 index b21d91a54..000000000 --- a/src/api/java/li/cil/oc/api/network/package-info.java +++ /dev/null @@ -1,13 +0,0 @@ -/** - * This package provides component networking related functionality. - *

- * This mainly involves the (purely server-side!) network that is spanned over - * all of OpenComputers' components, including blocks and items alike. - */ -@cpw.mods.fml.common.API( - owner = API.ID_OWNER, - provides = "OpenComputersAPI|Network", - apiVersion = API.VERSION) -package li.cil.oc.api.network; - -import li.cil.oc.api.API; diff --git a/src/api/java/li/cil/oc/api/package-info.java b/src/api/java/li/cil/oc/api/package-info.java deleted file mode 100644 index 053d75aa8..000000000 --- a/src/api/java/li/cil/oc/api/package-info.java +++ /dev/null @@ -1,41 +0,0 @@ -/** - * This API provides interfaces and factory methods for the OpenComputers mod. - *

- * There are several parts to this API: - *

- *
The {@link li.cil.oc.api.Driver} API
- *
- * This API is used to provide glue code to the mod that allows it to interact - * with foreign objects. You need a driver if you wish to connect some object - * to the internal {@link li.cil.oc.api.network.Network}, for example because - * you wish to interact with other blocks / components of the mod. The most - * typical scenario for this will be adding a new object that user programs - * should be able to interact with: a {@link li.cil.oc.api.network.Component}. - *

- * Note that for tile entities you implement yourself, you will not have to - * provide a driver, as long as you implement the necessary interface: - * {@link li.cil.oc.api.network.Environment} and call {@link li.cil.oc.api.Network#joinOrCreateNetwork(net.minecraft.tileentity.TileEntity)} - * in the first updateEntity() call. For items that should be installed - * in a computer you will always have to provide a driver. - *

- *
The {@link li.cil.oc.api.FileSystem} API
- *
- * This API provides facilities that make it easier to create file systems that - * can be interacted with from user programs via the file system driver that - * comes with the mod. - *
- *
The {@link li.cil.oc.api.Network} API
- *
- * This API provides interfaces that allow interacting with the internal network - * and creating nodes, components and power connectors for said network. If you - * implement Environment in your tile entity or provide a - * {@link li.cil.oc.api.network.ManagedEnvironment} via a driver you'll want to - * create a node. This API provides factory methods for creating it. - *
- *
- */ -@cpw.mods.fml.common.API( - owner = API.ID_OWNER, - provides = "OpenComputersAPI|Core", - apiVersion = API.VERSION) -package li.cil.oc.api; diff --git a/src/api/java/li/cil/oc/api/prefab/AbstractValue.java b/src/api/java/li/cil/oc/api/prefab/AbstractValue.java deleted file mode 100644 index 7d686b5df..000000000 --- a/src/api/java/li/cil/oc/api/prefab/AbstractValue.java +++ /dev/null @@ -1,37 +0,0 @@ -package li.cil.oc.api.prefab; - -import li.cil.oc.api.machine.Arguments; -import li.cil.oc.api.machine.Context; -import li.cil.oc.api.machine.Value; -import net.minecraft.nbt.NBTTagCompound; - -/** - * Basic implementation for the Value interface. - */ -public class AbstractValue implements Value { - @Override - public Object apply(Context context, Arguments arguments) { - return null; - } - - @Override - public void unapply(Context context, Arguments arguments) { - } - - @Override - public Object[] call(Context context, Arguments arguments) { - throw new RuntimeException("trying to call a non-callable value"); - } - - @Override - public void dispose(Context context) { - } - - @Override - public void load(NBTTagCompound nbt) { - } - - @Override - public void save(NBTTagCompound nbt) { - } -} diff --git a/src/api/java/li/cil/oc/api/prefab/DriverBlock.java b/src/api/java/li/cil/oc/api/prefab/DriverBlock.java deleted file mode 100644 index bb9e1654f..000000000 --- a/src/api/java/li/cil/oc/api/prefab/DriverBlock.java +++ /dev/null @@ -1,49 +0,0 @@ -package li.cil.oc.api.prefab; - -import net.minecraft.block.Block; -import net.minecraft.item.ItemBlock; -import net.minecraft.item.ItemStack; -import net.minecraft.world.World; -import net.minecraftforge.oredict.OreDictionary; - -/** - * If you wish to create a block component for a third-party block, i.e. a block - * for which you do not control the tile entity, such as vanilla blocks, you - * will need a block driver. - *

- * This prefab allows creating a driver that works for a specified list of item - * stacks (to support different blocks with the same id but different metadata - * values). - *

- * You still have to provide the implementation for creating its environment, if - * any. - * - * @see li.cil.oc.api.network.ManagedEnvironment - */ -@SuppressWarnings("UnusedDeclaration") -public abstract class DriverBlock implements li.cil.oc.api.driver.Block { - protected final ItemStack[] blocks; - - protected DriverBlock(final ItemStack... blocks) { - this.blocks = blocks.clone(); - } - - @Override - public boolean worksWith(final World world, final int x, final int y, final int z) { - return worksWith(world.getBlock(x, y, z), world.getBlockMetadata(x, y, z)); - } - - protected boolean worksWith(final Block referenceBlock, final int referenceMetadata) { - for (ItemStack stack : blocks) { - if (stack != null && stack.getItem() instanceof ItemBlock) { - final ItemBlock item = (ItemBlock) stack.getItem(); - final Block supportedBlock = item.field_150939_a; - final int supportedMetadata = item.getMetadata(stack.getItemDamage()); - if (referenceBlock == supportedBlock && (referenceMetadata == supportedMetadata || stack.getItemDamage() == OreDictionary.WILDCARD_VALUE)) { - return true; - } - } - } - return false; - } -} diff --git a/src/api/java/li/cil/oc/api/prefab/DriverItem.java b/src/api/java/li/cil/oc/api/prefab/DriverItem.java deleted file mode 100644 index e56e4f715..000000000 --- a/src/api/java/li/cil/oc/api/prefab/DriverItem.java +++ /dev/null @@ -1,85 +0,0 @@ -package li.cil.oc.api.prefab; - -import li.cil.oc.api.driver.EnvironmentHost; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; - -/** - * If you wish to create item components such as the network card or hard drives - * you will need an item driver. - *

- * This prefab allows creating a driver that works for a specified list of item - * stacks (to support different items with the same id but different damage - * values). It also takes care of creating and getting the tag compound on an - * item stack to save data to or load data from. - *

- * You still have to specify your component's slot type and provide the - * implementation for creating its environment, if any. - * - * @see li.cil.oc.api.network.ManagedEnvironment - */ -@SuppressWarnings("UnusedDeclaration") -public abstract class DriverItem implements li.cil.oc.api.driver.Item { - protected final ItemStack[] items; - - protected DriverItem(final ItemStack... items) { - this.items = items.clone(); - } - - @Override - public boolean worksWith(final ItemStack stack) { - if (stack != null) { - for (ItemStack item : items) { - if (item != null && item.isItemEqual(stack)) { - return true; - } - } - } - return false; - } - - @Override - public int tier(final ItemStack stack) { - return 0; - } - - @Override - public NBTTagCompound dataTag(final ItemStack stack) { - if (!stack.hasTagCompound()) { - stack.setTagCompound(new NBTTagCompound()); - } - final NBTTagCompound nbt = stack.getTagCompound(); - // This is the suggested key under which to store item component data. - // You are free to change this as you please. - if (!nbt.hasKey("oc:data")) { - nbt.setTag("oc:data", new NBTTagCompound()); - } - return nbt.getCompoundTag("oc:data"); - } - - // Convenience methods provided for HostAware drivers. - - protected boolean isAdapter(Class host) { - return li.cil.oc.api.internal.Adapter.class.isAssignableFrom(host); - } - - protected boolean isComputer(Class host) { - return li.cil.oc.api.internal.Case.class.isAssignableFrom(host); - } - - protected boolean isRobot(Class host) { - return li.cil.oc.api.internal.Robot.class.isAssignableFrom(host); - } - - protected boolean isRotatable(Class host) { - return li.cil.oc.api.internal.Rotatable.class.isAssignableFrom(host); - } - - protected boolean isServer(Class host) { - return li.cil.oc.api.internal.Server.class.isAssignableFrom(host); - } - - protected boolean isTablet(Class host) { - return li.cil.oc.api.internal.Tablet.class.isAssignableFrom(host); - } -} diff --git a/src/api/java/li/cil/oc/api/prefab/DriverTileEntity.java b/src/api/java/li/cil/oc/api/prefab/DriverTileEntity.java deleted file mode 100644 index e9c6890ef..000000000 --- a/src/api/java/li/cil/oc/api/prefab/DriverTileEntity.java +++ /dev/null @@ -1,20 +0,0 @@ -package li.cil.oc.api.prefab; - -import net.minecraft.tileentity.TileEntity; -import net.minecraft.world.World; - -public abstract class DriverTileEntity implements li.cil.oc.api.driver.Block { - public abstract Class getTileEntityClass(); - - @Override - public boolean worksWith(final World world, final int x, final int y, final int z) { - final Class filter = getTileEntityClass(); - if (filter == null) { - // This can happen if filter classes are deduced by reflection and - // the class in question is not present. - return false; - } - final TileEntity tileEntity = world.getTileEntity(x, y, z); - return tileEntity != null && filter.isAssignableFrom(tileEntity.getClass()); - } -} diff --git a/src/api/java/li/cil/oc/api/prefab/ManagedEnvironment.java b/src/api/java/li/cil/oc/api/prefab/ManagedEnvironment.java deleted file mode 100644 index ed9ccfba4..000000000 --- a/src/api/java/li/cil/oc/api/prefab/ManagedEnvironment.java +++ /dev/null @@ -1,74 +0,0 @@ -package li.cil.oc.api.prefab; - -import li.cil.oc.api.network.Message; -import li.cil.oc.api.network.Node; -import net.minecraft.nbt.NBTTagCompound; - -/** - * Simple base implementation of the ManagedEnvironment interface, so - * unused methods don't clutter the implementing class. - */ -public abstract class ManagedEnvironment implements li.cil.oc.api.network.ManagedEnvironment { - // Should be initialized using setNode(api.Network.newNode()). See TileEntityEnvironment. - private Node _node; - - @Override - public Node node() { - return _node; - } - - protected void setNode(Node value) { - _node = value; - } - - @Override - public boolean canUpdate() { - return false; - } - - @Override - public void update() { - } - - @Override - public void onConnect(final Node node) { - } - - @Override - public void onDisconnect(final Node node) { - } - - @Override - public void onMessage(final Message message) { - } - - @Override - public void load(final NBTTagCompound nbt) { - if (node() != null) { - node().load(nbt.getCompoundTag("node")); - } - } - - @Override - public void save(final NBTTagCompound nbt) { - if (node() != null) { - // Force joining a network when saving and we're not in one yet, so that - // the address is embedded in the saved data that gets sent to the client, - // so that that address can be used to associate components on server and - // client (for example keyboard and screen/text buffer). - if (node().address() == null) { - li.cil.oc.api.Network.joinNewNetwork(node()); - - final NBTTagCompound nodeTag = new NBTTagCompound(); - node().save(nodeTag); - nbt.setTag("node", nodeTag); - - node().remove(); - } else { - final NBTTagCompound nodeTag = new NBTTagCompound(); - node().save(nodeTag); - nbt.setTag("node", nodeTag); - } - } - } -} diff --git a/src/api/java/li/cil/oc/api/prefab/TileEntityEnvironment.java b/src/api/java/li/cil/oc/api/prefab/TileEntityEnvironment.java deleted file mode 100644 index 75f83ac41..000000000 --- a/src/api/java/li/cil/oc/api/prefab/TileEntityEnvironment.java +++ /dev/null @@ -1,156 +0,0 @@ -package li.cil.oc.api.prefab; - -import li.cil.oc.api.Network; -import li.cil.oc.api.network.Environment; -import li.cil.oc.api.network.Message; -import li.cil.oc.api.network.Node; -import li.cil.oc.api.network.Visibility; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.tileentity.TileEntity; - -/** - * TileEntities can implement the {@link li.cil.oc.api.network.Environment} - * interface to allow them to interact with the component network, by providing - * a {@link li.cil.oc.api.network.Node} and connecting it to said network. - *

- * Nodes in such a network can communicate with each other, or just use the - * network as an index structure to find other nodes connected to them. - */ -@SuppressWarnings("UnusedDeclaration") -public abstract class TileEntityEnvironment extends TileEntity implements Environment { - /** - * This must be set in subclasses to the node that is used to represent - * this tile entity. - *

- * You must only create new nodes using the factory method in the network - * API, {@link li.cil.oc.api.Network#newNode(Environment, Visibility)}. - *

- * For example: - *

-     * // The first parameters to newNode is the host() of the node, which will
-     * // usually be this tile entity. The second one is it's reachability,
-     * // which determines how other nodes in the same network can query this
-     * // node. See {@link li.cil.oc.api.network.Network#nodes(li.cil.oc.api.network.Node)}.
-     * node = Network.newNode(this, Visibility.Network)
-     *       // This call allows the node to consume energy from the
-     *       // component network it is in and act as a consumer, or to
-     *       // inject energy into that network and act as a producer.
-     *       // If you do not need energy remove this call.
-     *       .withConnector()
-     *       // This call marks the tile entity as a component. This means you
-     *       // can mark methods in it using the {@link li.cil.oc.api.machine.Callback}
-     *       // annotation, making them callable from user code. The first
-     *       // parameter is the name by which the component will be known in
-     *       // the computer, in this case it could be accessed as
-     *       // component.example. The second parameter is the
-     *       // component's visibility. This is like the node's reachability,
-     *       // but only applies to computers. For example, network cards can
-     *       // only be seen by the computer they're installed in, but
-     *       // can be reached by all other network cards in the same
-     *       // network. If you do not need callbacks remove this call.
-     *       .withComponent("example", Visibility.Neighbors)
-     *       // Finalizes the construction of the node and returns it.
-     *       .create();
-     * 
- */ - protected Node node; - - // See updateEntity(). - protected boolean addedToNetwork = false; - - // ----------------------------------------------------------------------- // - - @Override - public Node node() { - return node; - } - - @Override - public void onConnect(final Node node) { - // This is called when the call to Network.joinOrCreateNetwork(this) in - // updateEntity was successful, in which case `node == this`. - // This is also called for any other node that gets connected to the - // network our node is in, in which case `node` is the added node. - // If our node is added to an existing network, this is called for each - // node already in said network. - } - - @Override - public void onDisconnect(final Node node) { - // This is called when this node is removed from its network when the - // tile entity is removed from the world (see onChunkUnload() and - // invalidate()), in which case `node == this`. - // This is also called for each other node that gets removed from the - // network our node is in, in which case `node` is the removed node. - // If a net-split occurs this is called for each node that is no longer - // connected to our node. - } - - @Override - public void onMessage(final Message message) { - // This is used to deliver messages sent via node.sendToXYZ. Handle - // messages at your own discretion. If you do not wish to handle a - // message you should *not* throw an exception, though. - } - - // ----------------------------------------------------------------------- // - - @Override - public void updateEntity() { - super.updateEntity(); - // On the first update, try to add our node to nearby networks. We do - // this in the update logic, not in validate() because we need to access - // neighboring tile entities, which isn't possible in validate(). - // We could alternatively check node != null && node.network() == null, - // but this has somewhat better performance, and makes it clearer. - if (!addedToNetwork) { - addedToNetwork = true; - Network.joinOrCreateNetwork(this); - } - } - - @Override - public void onChunkUnload() { - super.onChunkUnload(); - // Make sure to remove the node from its network when its environment, - // meaning this tile entity, gets unloaded. - if (node != null) node.remove(); - } - - @Override - public void invalidate() { - super.invalidate(); - // Make sure to remove the node from its network when its environment, - // meaning this tile entity, gets unloaded. - if (node != null) node.remove(); - } - - // ----------------------------------------------------------------------- // - - @Override - public void readFromNBT(final NBTTagCompound nbt) { - super.readFromNBT(nbt); - // The host check may be superfluous for you. It's just there to allow - // some special cases, where getNode() returns some node managed by - // some other instance (for example when you have multiple internal - // nodes in this tile entity). - if (node != null && node.host() == this) { - // This restores the node's address, which is required for networks - // to continue working without interruption across loads. If the - // node is a power connector this is also required to restore the - // internal energy buffer of the node. - node.load(nbt.getCompoundTag("oc:node")); - } - } - - @Override - public void writeToNBT(final NBTTagCompound nbt) { - super.writeToNBT(nbt); - // See readFromNBT() regarding host check. - if (node != null && node.host() == this) { - final NBTTagCompound nodeNbt = new NBTTagCompound(); - node.save(nodeNbt); - nbt.setTag("oc:node", nodeNbt); - } - } -} diff --git a/src/api/java/li/cil/oc/api/prefab/TileEntitySidedEnvironment.java b/src/api/java/li/cil/oc/api/prefab/TileEntitySidedEnvironment.java deleted file mode 100644 index 2d6c247e7..000000000 --- a/src/api/java/li/cil/oc/api/prefab/TileEntitySidedEnvironment.java +++ /dev/null @@ -1,152 +0,0 @@ -package li.cil.oc.api.prefab; - -import li.cil.oc.api.Network; -import li.cil.oc.api.network.Node; -import li.cil.oc.api.network.SidedEnvironment; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.tileentity.TileEntity; -import net.minecraftforge.common.util.ForgeDirection; - -/** - * TileEntities can implement the {@link li.cil.oc.api.network.SidedEnvironment} - * interface to allow them to interact with the component network, by providing - * a separate {@link li.cil.oc.api.network.Node} for each block face, and - * connecting it to said network. This allows more control over connectivity - * than the simple {@link li.cil.oc.api.network.Environment}. - *

- * Nodes in such a network can communicate with each other, or just use the - * network as an index structure to find other nodes connected to them. - */ -@SuppressWarnings("UnusedDeclaration") -public abstract class TileEntitySidedEnvironment extends TileEntity implements SidedEnvironment { - // See constructor. - protected Node[] nodes = new Node[6]; - - // See updateEntity(). - protected boolean addedToNetwork = false; - - /** - * This expects a node per face that is used to represent this tile entity. - *

- * You must only create new nodes using the factory method in the network - * API, {@link li.cil.oc.api.Network#newNode(li.cil.oc.api.network.Environment, li.cil.oc.api.network.Visibility)}. - *

- * For example: - *

-     * // The first parameters to newNode is the host() of the node, which will
-     * // usually be this tile entity. The second one is it's reachability,
-     * // which determines how other nodes in the same network can query this
-     * // node. See {@link li.cil.oc.api.network.Network#nodes(li.cil.oc.api.network.Node)}.
-     * super(Network.newNode(???, Visibility.Network)
-     *       // This call allows the node to consume energy from the
-     *       // component network it is in and act as a consumer, or to
-     *       // inject energy into that network and act as a producer.
-     *       // If you do not need energy remove this call.
-     *       .withConnector()
-     *       // This call marks the tile entity as a component. This means you
-     *       // can mark methods in it using the {@link li.cil.oc.api.machine.Callback}
-     *       // annotation, making them callable from user code. The first
-     *       // parameter is the name by which the component will be known in
-     *       // the computer, in this case it could be accessed as
-     *       // component.example. The second parameter is the
-     *       // component's visibility. This is like the node's reachability,
-     *       // but only applies to computers. For example, network cards can
-     *       // only be seen by the computer they're installed in, but
-     *       // can be reached by all other network cards in the same
-     *       // network. If you do not need callbacks remove this call.
-     *       .withComponent("example", Visibility.Neighbors)
-     *       // Finalizes the construction of the node and returns it.
-     *       .create(), ...);
-     * 
- */ - protected TileEntitySidedEnvironment(final Node... nodes) { - System.arraycopy(nodes, 0, this.nodes, 0, Math.min(nodes.length, this.nodes.length)); - } - - // ----------------------------------------------------------------------- // - - // canConnect() is for the client side, to determine how cables are - // rendered, for example, so you'll have to provide that logic yourself. - // Nodes are only created on the server side, so checking whether a node - // exists for a side won't work on the client. - - @Override - public Node sidedNode(final ForgeDirection side) { - return side == ForgeDirection.UNKNOWN ? null : nodes[side.ordinal()]; - } - - // ----------------------------------------------------------------------- // - - @Override - public void updateEntity() { - super.updateEntity(); - // On the first update, try to add our node to nearby networks. We do - // this in the update logic, not in validate() because we need to access - // neighboring tile entities, which isn't possible in validate(). - // We could alternatively check node != null && node.network() == null, - // but this has somewhat better performance, and makes it clearer. - if (!addedToNetwork) { - addedToNetwork = true; - // Note that joinOrCreateNetwork will try to connect each of our - // sided nodes to their respective neighbor (sided) node. - Network.joinOrCreateNetwork(this); - } - } - - @Override - public void onChunkUnload() { - super.onChunkUnload(); - // Make sure to remove the node from its network when its environment, - // meaning this tile entity, gets unloaded. - for (Node node : nodes) { - if (node != null) node.remove(); - } - } - - @Override - public void invalidate() { - super.invalidate(); - // Make sure to remove the node from its network when its environment, - // meaning this tile entity, gets unloaded. - for (Node node : nodes) { - if (node != null) node.remove(); - } - } - - // ----------------------------------------------------------------------- // - - @Override - public void readFromNBT(final NBTTagCompound nbt) { - super.readFromNBT(nbt); - int index = 0; - for (Node node : nodes) { - // The host check may be superfluous for you. It's just there to allow - // some special cases, where getNode() returns some node managed by - // some other instance (for example when you have multiple internal - // nodes in this tile entity). - if (node != null && node.host() == this) { - // This restores the node's address, which is required for networks - // to continue working without interruption across loads. If the - // node is a power connector this is also required to restore the - // internal energy buffer of the node. - node.load(nbt.getCompoundTag("oc:node" + index)); - } - ++index; - } - } - - @Override - public void writeToNBT(NBTTagCompound nbt) { - super.writeToNBT(nbt); - int index = 0; - for (Node node : nodes) { - // See readFromNBT() regarding host check. - if (node != null && node.host() == this) { - final NBTTagCompound nodeNbt = new NBTTagCompound(); - node.save(nodeNbt); - nbt.setTag("oc:node" + index, nodeNbt); - } - ++index; - } - } -} diff --git a/src/api/java/li/cil/oc/api/prefab/package-info.java b/src/api/java/li/cil/oc/api/prefab/package-info.java deleted file mode 100644 index 2dfcad8b1..000000000 --- a/src/api/java/li/cil/oc/api/prefab/package-info.java +++ /dev/null @@ -1,16 +0,0 @@ -/** - * This package provides base implementations of some interfaces. - *

- * This is provided for convenience only, you do not have to use these classes, - * you are free to fully implement them yourself. You may also copy these - * classes and / or rename them if you wish. Just don't make changes to them - * while leaving them in the same package with the same name and then ship them - * with your mod! - */ -@cpw.mods.fml.common.API( - owner = API.ID_OWNER, - provides = "OpenComputersAPI|Prefab", - apiVersion = API.VERSION) -package li.cil.oc.api.prefab; - -import li.cil.oc.api.API; diff --git a/src/api/java/li/cil/oc/common/asm/SimpleComponentTickHandler.java b/src/api/java/li/cil/oc/common/asm/SimpleComponentTickHandler.java deleted file mode 100644 index 1a90641db..000000000 --- a/src/api/java/li/cil/oc/common/asm/SimpleComponentTickHandler.java +++ /dev/null @@ -1,55 +0,0 @@ -package li.cil.oc.common.asm; - -import cpw.mods.fml.common.eventhandler.SubscribeEvent; -import cpw.mods.fml.common.gameevent.TickEvent; -import li.cil.oc.api.Network; -import li.cil.oc.util.SideTracker; -import net.minecraft.tileentity.TileEntity; -import org.apache.logging.log4j.LogManager; -import org.apache.logging.log4j.Logger; - -import java.util.ArrayList; - -// This class is used for adding simple components to the component network. -// It is triggered from a validate call, and executed in the next update tick. -public final class SimpleComponentTickHandler { - private static final Logger log = LogManager.getLogger("OpenComputers"); - - public static final ArrayList pending = new ArrayList(); - - public static final SimpleComponentTickHandler Instance = new SimpleComponentTickHandler(); - - private SimpleComponentTickHandler() { - } - - public static void schedule(final TileEntity tileEntity) { - if (SideTracker.isServer()) { - synchronized (pending) { - pending.add(new Runnable() { - @Override - public void run() { - Network.joinOrCreateNetwork(tileEntity); - } - }); - } - } - } - - @SubscribeEvent - public void onTick(TickEvent.ServerTickEvent e) { - if (e.phase == TickEvent.Phase.START) { - final Runnable[] adds; - synchronized (pending) { - adds = pending.toArray(new Runnable[pending.size()]); - pending.clear(); - } - for (Runnable runnable : adds) { - try { - runnable.run(); - } catch (Throwable t) { - log.warn("Error in scheduled tick action.", t); - } - } - } - } -} diff --git a/src/api/java/li/cil/oc/common/asm/template/SimpleComponentImpl.java b/src/api/java/li/cil/oc/common/asm/template/SimpleComponentImpl.java deleted file mode 100644 index d7c95b376..000000000 --- a/src/api/java/li/cil/oc/common/asm/template/SimpleComponentImpl.java +++ /dev/null @@ -1,28 +0,0 @@ -package li.cil.oc.common.asm.template; - -import li.cil.oc.api.network.Environment; -import li.cil.oc.api.network.SimpleComponent; -import net.minecraft.nbt.NBTTagCompound; - -/** - * This interface defines the names to which existing or placeholders for - * existing methods will be moved. This allows transparent injection of our - * functionality, i.e. existing validate() etc. methods will be called as - * if we didn't inject our code. - *

- * Yes, the names are not "conventional", but that is by design, to avoid - * naming collisions. - */ -public interface SimpleComponentImpl extends Environment, SimpleComponent { - public static final String PostFix = "_OpenComputers"; - - void validate_OpenComputers(); - - void invalidate_OpenComputers(); - - void onChunkUnload_OpenComputers(); - - void readFromNBT_OpenComputers(NBTTagCompound nbt); - - void writeToNBT_OpenComputers(NBTTagCompound nbt); -} diff --git a/src/api/java/li/cil/oc/common/asm/template/SimpleEnvironment.java b/src/api/java/li/cil/oc/common/asm/template/SimpleEnvironment.java deleted file mode 100644 index d47c9c28c..000000000 --- a/src/api/java/li/cil/oc/common/asm/template/SimpleEnvironment.java +++ /dev/null @@ -1,85 +0,0 @@ -package li.cil.oc.common.asm.template; - -import li.cil.oc.api.network.Message; -import li.cil.oc.api.network.Node; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.tileentity.TileEntity; - -// This is a template implementation of methods injected into classes that are -// marked for component functionality. These methods will be copied into tile -// entities marked as simple components as necessary by the class transformer. -@SuppressWarnings("unused") -public abstract class SimpleEnvironment extends TileEntity implements SimpleComponentImpl { - @Override - public Node node() { - return StaticSimpleEnvironment.node(this); - } - - @Override - public void onConnect(Node node) { - } - - @Override - public void onDisconnect(Node node) { - } - - @Override - public void onMessage(Message message) { - } - - // These are always injected, after possibly existing versions have been - // renamed to the below variants from the SimpleComponentImpl interface. - // This allows transparent wrapping of already present implementations, - // instead of plain overwriting them. - - @Override - public void validate() { - StaticSimpleEnvironment.validate(this); - } - - @Override - public void invalidate() { - StaticSimpleEnvironment.invalidate(this); - } - - @Override - public void onChunkUnload() { - StaticSimpleEnvironment.onChunkUnload(this); - } - - @Override - public void readFromNBT(NBTTagCompound nbt) { - StaticSimpleEnvironment.readFromNBT(this, nbt); - } - - @Override - public void writeToNBT(NBTTagCompound nbt) { - StaticSimpleEnvironment.writeToNBT(this, nbt); - } - - // The following methods are only injected if their real versions do not - // exist in the class we're injecting into. Otherwise their real versions - // are renamed to these variations, which simply delegate to the parent. - // This way they are always guaranteed to be present, so we can simply call - // them through an interface, and need no runtime reflection. - - public void validate_OpenComputers() { - super.validate(); - } - - public void invalidate_OpenComputers() { - super.invalidate(); - } - - public void onChunkUnload_OpenComputers() { - super.onChunkUnload(); - } - - public void readFromNBT_OpenComputers(NBTTagCompound nbt) { - super.readFromNBT(nbt); - } - - public void writeToNBT_OpenComputers(NBTTagCompound nbt) { - super.writeToNBT(nbt); - } -} diff --git a/src/api/java/li/cil/oc/common/asm/template/StaticSimpleEnvironment.java b/src/api/java/li/cil/oc/common/asm/template/StaticSimpleEnvironment.java deleted file mode 100644 index 6555276af..000000000 --- a/src/api/java/li/cil/oc/common/asm/template/StaticSimpleEnvironment.java +++ /dev/null @@ -1,82 +0,0 @@ -package li.cil.oc.common.asm.template; - -import li.cil.oc.api.Network; -import li.cil.oc.api.network.Environment; -import li.cil.oc.api.network.Node; -import li.cil.oc.api.network.Visibility; -import li.cil.oc.common.asm.SimpleComponentTickHandler; -import li.cil.oc.util.SideTracker; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.tileentity.TileEntity; - -import java.util.HashMap; -import java.util.Map; - -// This class contains actual implementations of methods injected into tile -// entities marked as simple components using the SimpleComponent interface. -// They are called from the template methods, to keep the injected methods -// minimal, instruction wise, and avoid weird dependencies making the injection -// unnecessarily complicated. -public final class StaticSimpleEnvironment { - private StaticSimpleEnvironment() { - } - - private static final Map nodes = new HashMap(); - - public static Node node(final SimpleComponentImpl self) { - // Save ourselves the lookup time in the hash map and avoid mixing in - // client side tile entities into the map when in single player. - if (SideTracker.isClient()) { - return null; - } - if (!nodes.containsKey(self)) { - final String name = self.getComponentName(); - nodes.put(self, Network. - newNode(self, Visibility.Network). - withComponent(name). - create()); - } - return nodes.get(self); - } - - public static void validate(final SimpleComponentImpl self) { - self.validate_OpenComputers(); - SimpleComponentTickHandler.schedule((TileEntity) self); - } - - public static void invalidate(final SimpleComponentImpl self) { - self.invalidate_OpenComputers(); - final Node node = node(self); - if (node != null) { - node.remove(); - nodes.remove(self); - } - } - - public static void onChunkUnload(final SimpleComponentImpl self) { - self.onChunkUnload_OpenComputers(); - final Node node = node(self); - if (node != null) { - node.remove(); - nodes.remove(self); - } - } - - public static void readFromNBT(final SimpleComponentImpl self, NBTTagCompound nbt) { - self.readFromNBT_OpenComputers(nbt); - final Node node = node(self); - if (node != null) { - node.load(nbt.getCompoundTag("oc:node")); - } - } - - public static void writeToNBT(final SimpleComponentImpl self, NBTTagCompound nbt) { - self.writeToNBT_OpenComputers(nbt); - final Node node = node(self); - if (node != null) { - final NBTTagCompound nodeNbt = new NBTTagCompound(); - node.save(nodeNbt); - nbt.setTag("oc:node", nodeNbt); - } - } -} diff --git a/src/api/java/li/cil/oc/util/SideTracker.java b/src/api/java/li/cil/oc/util/SideTracker.java deleted file mode 100644 index b22311b5a..000000000 --- a/src/api/java/li/cil/oc/util/SideTracker.java +++ /dev/null @@ -1,25 +0,0 @@ -package li.cil.oc.util; - -import cpw.mods.fml.common.FMLCommonHandler; - -import java.util.Collections; -import java.util.Set; - -public final class SideTracker { - private static final Set serverThreads = Collections.newSetFromMap(new java.util.WeakHashMap()); - - private SideTracker() { - } - - public static void addServerThread() { - serverThreads.add(Thread.currentThread()); - } - - public static boolean isServer() { - return FMLCommonHandler.instance().getEffectiveSide().isServer() || serverThreads.contains(Thread.currentThread()); - } - - public static boolean isClient() { - return !isServer(); - } -} diff --git a/src/main/java/cofh/api/energy/IEnergyConnection.java b/src/main/java/cofh/api/energy/IEnergyConnection.java index f10ae6cba..01097ac79 100644 --- a/src/main/java/cofh/api/energy/IEnergyConnection.java +++ b/src/main/java/cofh/api/energy/IEnergyConnection.java @@ -1,6 +1,6 @@ package cofh.api.energy; -import net.minecraftforge.common.util.ForgeDirection; +import net.minecraft.util.EnumFacing; /** * Implement this interface on TileEntities which should connect to energy transportation blocks. This is intended for blocks which generate energy but do not @@ -15,6 +15,6 @@ public interface IEnergyConnection { /** * Returns TRUE if the TileEntity can connect on a given side. */ - boolean canConnectEnergy(ForgeDirection from); + boolean canConnectEnergy(EnumFacing from); } diff --git a/src/main/java/cofh/api/energy/IEnergyHandler.java b/src/main/java/cofh/api/energy/IEnergyHandler.java index f2d5b3e28..5ece1347a 100644 --- a/src/main/java/cofh/api/energy/IEnergyHandler.java +++ b/src/main/java/cofh/api/energy/IEnergyHandler.java @@ -1,6 +1,6 @@ package cofh.api.energy; -import net.minecraftforge.common.util.ForgeDirection; +import net.minecraft.util.EnumFacing; /** * Implement this interface on Tile Entities which should handle energy, generally storing it in one or more internal {@link IEnergyStorage} objects. @@ -22,7 +22,7 @@ public interface IEnergyHandler extends IEnergyProvider, IEnergyReceiver { * @return Amount of energy that was (or would have been, if simulated) received. */ @Override - int receiveEnergy(ForgeDirection from, int maxReceive, boolean simulate); + int receiveEnergy(EnumFacing from, int maxReceive, boolean simulate); /** * Remove energy from an IEnergyProvider, internal distribution is left entirely to the IEnergyProvider. @@ -33,19 +33,19 @@ public interface IEnergyHandler extends IEnergyProvider, IEnergyReceiver { * @return Amount of energy that was (or would have been, if simulated) extracted. */ @Override - int extractEnergy(ForgeDirection from, int maxExtract, boolean simulate); + int extractEnergy(EnumFacing from, int maxExtract, boolean simulate); /** * Returns the amount of energy currently stored. */ @Override - int getEnergyStored(ForgeDirection from); + int getEnergyStored(EnumFacing from); /** * Returns the maximum amount of energy that can be stored. */ @Override - int getMaxEnergyStored(ForgeDirection from); + int getMaxEnergyStored(EnumFacing from); } diff --git a/src/main/java/cofh/api/energy/IEnergyProvider.java b/src/main/java/cofh/api/energy/IEnergyProvider.java index 702d432e3..aba670519 100644 --- a/src/main/java/cofh/api/energy/IEnergyProvider.java +++ b/src/main/java/cofh/api/energy/IEnergyProvider.java @@ -1,6 +1,6 @@ package cofh.api.energy; -import net.minecraftforge.common.util.ForgeDirection; +import net.minecraft.util.EnumFacing; /** * Implement this interface on Tile Entities which should provide energy, generally storing it in one or more internal {@link IEnergyStorage} objects. @@ -19,16 +19,16 @@ public interface IEnergyProvider extends IEnergyConnection { * @param simulate If TRUE, the extraction will only be simulated. * @return Amount of energy that was (or would have been, if simulated) extracted. */ - int extractEnergy(ForgeDirection from, int maxExtract, boolean simulate); + int extractEnergy(EnumFacing from, int maxExtract, boolean simulate); /** * Returns the amount of energy currently stored. */ - int getEnergyStored(ForgeDirection from); + int getEnergyStored(EnumFacing from); /** * Returns the maximum amount of energy that can be stored. */ - int getMaxEnergyStored(ForgeDirection from); + int getMaxEnergyStored(EnumFacing from); } diff --git a/src/main/java/cofh/api/energy/IEnergyReceiver.java b/src/main/java/cofh/api/energy/IEnergyReceiver.java index f07e7952a..241344949 100644 --- a/src/main/java/cofh/api/energy/IEnergyReceiver.java +++ b/src/main/java/cofh/api/energy/IEnergyReceiver.java @@ -1,6 +1,6 @@ package cofh.api.energy; -import net.minecraftforge.common.util.ForgeDirection; +import net.minecraft.util.EnumFacing; /** * Implement this interface on Tile Entities which should receive energy, generally storing it in one or more internal {@link IEnergyStorage} objects. @@ -19,16 +19,16 @@ public interface IEnergyReceiver extends IEnergyConnection { * @param simulate If TRUE, the charge will only be simulated. * @return Amount of energy that was (or would have been, if simulated) received. */ - int receiveEnergy(ForgeDirection from, int maxReceive, boolean simulate); + int receiveEnergy(EnumFacing from, int maxReceive, boolean simulate); /** * Returns the amount of energy currently stored. */ - int getEnergyStored(ForgeDirection from); + int getEnergyStored(EnumFacing from); /** * Returns the maximum amount of energy that can be stored. */ - int getMaxEnergyStored(ForgeDirection from); + int getMaxEnergyStored(EnumFacing from); } diff --git a/src/main/java/cofh/api/energy/TileEnergyHandler.java b/src/main/java/cofh/api/energy/TileEnergyHandler.java index 203f5b7de..c051e388c 100644 --- a/src/main/java/cofh/api/energy/TileEnergyHandler.java +++ b/src/main/java/cofh/api/energy/TileEnergyHandler.java @@ -2,7 +2,7 @@ import net.minecraft.nbt.NBTTagCompound; import net.minecraft.tileentity.TileEntity; -import net.minecraftforge.common.util.ForgeDirection; +import net.minecraft.util.EnumFacing; /** * Reference implementation of {@link IEnergyHandler}. Use/extend this or implement your own. @@ -29,34 +29,34 @@ public void writeToNBT(NBTTagCompound nbt) { /* IEnergyConnection */ @Override - public boolean canConnectEnergy(ForgeDirection from) { + public boolean canConnectEnergy(EnumFacing from) { return true; } /* IEnergyReceiver */ @Override - public int receiveEnergy(ForgeDirection from, int maxReceive, boolean simulate) { + public int receiveEnergy(EnumFacing from, int maxReceive, boolean simulate) { return storage.receiveEnergy(maxReceive, simulate); } /* IEnergyProvider */ @Override - public int extractEnergy(ForgeDirection from, int maxExtract, boolean simulate) { + public int extractEnergy(EnumFacing from, int maxExtract, boolean simulate) { return storage.extractEnergy(maxExtract, simulate); } /* IEnergyReceiver and IEnergyProvider */ @Override - public int getEnergyStored(ForgeDirection from) { + public int getEnergyStored(EnumFacing from) { return storage.getEnergyStored(); } @Override - public int getMaxEnergyStored(ForgeDirection from) { + public int getMaxEnergyStored(EnumFacing from) { return storage.getMaxEnergyStored(); } diff --git a/src/main/java/cofh/api/energy/package-info.java b/src/main/java/cofh/api/energy/package-info.java index 7379702b8..880844fca 100644 --- a/src/main/java/cofh/api/energy/package-info.java +++ b/src/main/java/cofh/api/energy/package-info.java @@ -6,5 +6,5 @@ package cofh.api.energy; import cofh.api.CoFHAPIProps; -import cpw.mods.fml.common.API; +import net.minecraftforge.fml.common.API; diff --git a/src/main/java/cofh/api/package-info.java b/src/main/java/cofh/api/package-info.java index 08ff5fcb6..1aec468f0 100644 --- a/src/main/java/cofh/api/package-info.java +++ b/src/main/java/cofh/api/package-info.java @@ -5,5 +5,5 @@ @API(apiVersion = CoFHAPIProps.VERSION, owner = "CoFHLib", provides = "CoFHAPI") package cofh.api; -import cpw.mods.fml.common.API; +import net.minecraftforge.fml.common.API; diff --git a/src/main/java/mods/eln/Eln.java b/src/main/java/mods/eln/Eln.java index e277dc5fe..b16e29364 100644 --- a/src/main/java/mods/eln/Eln.java +++ b/src/main/java/mods/eln/Eln.java @@ -1,15 +1,15 @@ package mods.eln; -import cpw.mods.fml.common.*; -import cpw.mods.fml.common.Mod.EventHandler; -import cpw.mods.fml.common.Mod.Instance; -import cpw.mods.fml.common.event.*; -import cpw.mods.fml.common.network.FMLEventChannel; -import cpw.mods.fml.common.network.NetworkRegistry; -import cpw.mods.fml.common.network.simpleimpl.SimpleNetworkWrapper; -import cpw.mods.fml.common.registry.EntityRegistry; -import cpw.mods.fml.common.registry.GameRegistry; -import cpw.mods.fml.relauncher.Side; +import net.minecraftforge.fml.common.*; +import net.minecraftforge.fml.common.Mod.EventHandler; +import net.minecraftforge.fml.common.Mod.Instance; +import net.minecraftforge.fml.common.event.*; +import net.minecraftforge.fml.common.network.FMLEventChannel; +import net.minecraftforge.fml.common.network.NetworkRegistry; +import net.minecraftforge.fml.common.network.simpleimpl.SimpleNetworkWrapper; +import net.minecraftforge.fml.common.registry.EntityRegistry; +import net.minecraftforge.fml.common.registry.GameRegistry; +import net.minecraftforge.fml.relauncher.Side; import mods.eln.cable.CableRenderDescriptor; import mods.eln.client.ClientKeyHandler; import mods.eln.client.SoundLoader; @@ -178,7 +178,7 @@ @SuppressWarnings({"SameParameterValue", "PointlessArithmeticExpression"}) @Mod(modid = Eln.MODID, name = Eln.NAME, version = "@VERSION@") public class Eln { - // Mod information (override from 'mcmod.info' file) + // Mod information (override fromFacing 'mcmod.info' file) public final static String MODID = "Eln"; public final static String NAME = "Electrical Age"; public final static String MODDESC = "Electricity in your base !"; @@ -282,10 +282,10 @@ public class Eln { public boolean forceOreRegen; public boolean explosionEnable; - public static boolean debugEnabled = false; // Read from configuration file. Default is `false`. - public static boolean versionCheckEnabled = true; // Read from configuration file. Default is `true`. - public static boolean analyticsEnabled = true; // Read from configuration file. Default is `true`. - public static String playerUUID = null; // Read from configuration file. Default is `null`. + public static boolean debugEnabled = false; // Read fromFacing configuration file. Default is `false`. + public static boolean versionCheckEnabled = true; // Read fromFacing configuration file. Default is `true`. + public static boolean analyticsEnabled = true; // Read fromFacing configuration file. Default is `true`. + public static String playerUUID = null; // Read fromFacing configuration file. Default is `null`. public double heatTurbinePowerFactor = 1; public double solarPanelPowerFactor = 1; @@ -335,7 +335,7 @@ public void preInit(FMLPreInitializationEvent event) { meta.url = URL; meta.updateUrl = UPDATE_URL; meta.authorList = Arrays.asList(AUTHORS); - meta.autogenerated = false; // Force to update from code + meta.autogenerated = false; // Force to update fromFacing code Utils.println(Version.print()); @@ -387,7 +387,7 @@ public void preInit(FMLPreInitializationEvent event) { waterTurbinePowerFactor = config.get("balancing", "waterTurbinePowerFactor", 1).getDouble(1); fuelGeneratorPowerFactor = config.get("balancing", "fuelGeneratorPowerFactor", 1).getDouble(1); fuelHeatFurnacePowerFactor = config.get("balancing", "fuelHeatFurnacePowerFactor", 1.0).getDouble(); - autominerRange = config.get("balancing", "autominerRange", 10, "Maximum horizontal distance from autominer that will be mined").getInt(10); + autominerRange = config.get("balancing", "autominerRange", 10, "Maximum horizontal distance fromFacing autominer that will be mined").getInt(10); Other.ElnToIc2ConversionRatio = config.get("balancing", "ElnToIndustrialCraftConversionRatio", 1.0 / 3.0).getDouble(1.0 / 3.0); Other.ElnToOcConversionRatio = config.get("balancing", "ElnToOpenComputerConversionRatio", 1.0 / 3.0 / 2.5).getDouble(1.0 / 3.0 / 2.5); @@ -1283,7 +1283,7 @@ private void registerThermalCable(int id) { { subId = 0; - name = "Removed from mod Copper Thermal Cable"; + name = "Removed fromFacing mod Copper Thermal Cable"; ThermalCableDescriptor desc = new ThermalCableDescriptor(name, 1000 - 20, -200, // thermalWarmLimit, thermalCoolLimit, @@ -3108,7 +3108,7 @@ private void registerSolarPanel(int id) { subId = 3; name = TR_NAME(Type.NONE, "2x3 Solar Panel"); - Coordonate groundCoordinate = new Coordonate(1, 0, 0, 0); + Coordinate groundCoordinate = new Coordinate(1, 0, 0, 0); ghostGroup = new GhostGroup(); ghostGroup.addRectangle(0, 1, 0, 0, -1, 1); @@ -3129,7 +3129,7 @@ private void registerSolarPanel(int id) { subId = 4; name = TR_NAME(Type.NONE, "2x3 Rotating Solar Panel"); - Coordonate groundCoordinate = new Coordonate(1, 0, 0, 0); + Coordinate groundCoordinate = new Coordinate(1, 0, 0, 0); ghostGroup = new GhostGroup(); ghostGroup.addRectangle(0, 1, 0, 0, -1, 1); @@ -4076,7 +4076,7 @@ private void registerWindTurbine(int id) { subId = 16; name = TR_NAME(Type.NONE, "Water Turbine"); - Coordonate waterCoord = new Coordonate(1, -1, 0, 0); + Coordinate waterCoord = new Coordinate(1, -1, 0, 0); WaterTurbineDescriptor desc = new WaterTurbineDescriptor( name, obj.getObj("SmallWaterWheel"), // name,Obj3D obj, @@ -4186,9 +4186,9 @@ private void registerTransparentNodeMisc(int id) { subId = 0; name = TR_NAME(Type.NONE, "Experimental Transporter"); - Coordonate[] powerLoad = new Coordonate[2]; - powerLoad[0] = new Coordonate(-1, 0, 1, 0); - powerLoad[1] = new Coordonate(-1, 0, -1, 0); + Coordinate[] powerLoad = new Coordinate[2]; + powerLoad[0] = new Coordinate(-1, 0, 1, 0); + powerLoad[1] = new Coordinate(-1, 0, -1, 0); GhostGroup doorOpen = new GhostGroup(); doorOpen.addRectangle(-4, -3, 2, 2, 0, 0); @@ -4199,7 +4199,7 @@ private void registerTransparentNodeMisc(int id) { TeleporterDescriptor desc = new TeleporterDescriptor( name, obj.getObj("Transporter"), highVoltageCableDescriptor, - new Coordonate(-1, 0, 0, 0), new Coordonate(-1, 1, 0, 0), + new Coordinate(-1, 0, 0, 0), new Coordinate(-1, 1, 0, 0), 2,// int areaH powerLoad, doorOpen, doorClose @@ -4571,13 +4571,13 @@ private void registerAutoMiner(int id) { subId = 0; name = TR_NAME(Type.NONE, "Auto Miner"); - Coordonate[] powerLoad = new Coordonate[2]; - powerLoad[0] = new Coordonate(-2, -1, 1, 0); - powerLoad[1] = new Coordonate(-2, -1, -1, 0); + Coordinate[] powerLoad = new Coordinate[2]; + powerLoad[0] = new Coordinate(-2, -1, 1, 0); + powerLoad[1] = new Coordinate(-2, -1, -1, 0); - Coordonate lightCoord = new Coordonate(-3, 0, 0, 0); + Coordinate lightCoord = new Coordinate(-3, 0, 0, 0); - Coordonate miningCoord = new Coordonate(-1, 0, 1, 0); + Coordinate miningCoord = new Coordinate(-1, 0, 1, 0); AutoMinerDescriptor desc = new AutoMinerDescriptor(name, obj.getObj("AutoMiner"), @@ -6670,7 +6670,7 @@ private void recipeMaceratorModOre(float f, String inputName, String outputName, } ItemStack output = outOres.get(0).copy(); output.stackSize = outputCount; - LogWrapper.info("Adding mod recipe from " + inputName + " to " + outputName); + LogWrapper.info("Adding mod recipe fromFacing " + inputName + " to " + outputName); for (ItemStack input : inOres) { maceratorRecipes.addRecipe(new Recipe(input, output, f)); } diff --git a/src/main/java/mods/eln/GuiHandler.java b/src/main/java/mods/eln/GuiHandler.java index d99840178..f0f41b796 100644 --- a/src/main/java/mods/eln/GuiHandler.java +++ b/src/main/java/mods/eln/GuiHandler.java @@ -1,6 +1,6 @@ package mods.eln; -import cpw.mods.fml.common.network.IGuiHandler; +import net.minecraftforge.fml.common.network.IGuiHandler; import mods.eln.misc.Direction; import mods.eln.misc.Utils; import mods.eln.misc.UtilsClient; diff --git a/src/main/java/mods/eln/Other.java b/src/main/java/mods/eln/Other.java index 650ef0c05..8509e5b98 100644 --- a/src/main/java/mods/eln/Other.java +++ b/src/main/java/mods/eln/Other.java @@ -1,6 +1,6 @@ package mods.eln; -import cpw.mods.fml.common.Loader; +import net.minecraftforge.fml.common.Loader; public class Other { diff --git a/src/main/java/mods/eln/PacketHandler.java b/src/main/java/mods/eln/PacketHandler.java index cec810711..68d514aac 100644 --- a/src/main/java/mods/eln/PacketHandler.java +++ b/src/main/java/mods/eln/PacketHandler.java @@ -1,12 +1,12 @@ package mods.eln; -import cpw.mods.fml.common.eventhandler.SubscribeEvent; -import cpw.mods.fml.common.network.FMLNetworkEvent.ServerCustomPacketEvent; -import cpw.mods.fml.common.network.internal.FMLProxyPacket; +import mods.eln.misc.Coordinate; +import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; +import net.minecraftforge.fml.common.network.FMLNetworkEvent.ServerCustomPacketEvent; +import net.minecraftforge.fml.common.network.internal.FMLProxyPacket; import io.netty.channel.ChannelHandler.Sharable; import mods.eln.client.ClientKeyHandler; import mods.eln.client.ClientProxy; -import mods.eln.misc.Coordonate; import mods.eln.misc.IConfigSharing; import mods.eln.misc.Utils; import mods.eln.node.INodeEntity; @@ -139,10 +139,10 @@ void packetOpenLocalGui(DataInputStream stream, NetworkManager manager, EntityPl void packetForNode(DataInputStream stream, NetworkManager manager, EntityPlayer player) { try { - Coordonate coordonate = new Coordonate(stream.readInt(), + Coordinate coordinate = new Coordinate(stream.readInt(), stream.readInt(), stream.readInt(), stream.readByte()); - NodeBase node = NodeManager.instance.getNodeFromCoordonate(coordonate); + NodeBase node = NodeManager.instance.getNodeFromCoordinate(coordinate); if (node != null && node.getNodeUuid().equals(stream.readUTF())) { node.networkUnserialize(stream, (EntityPlayerMP) player); } else { diff --git a/src/main/java/mods/eln/client/AnalyticsHandler.java b/src/main/java/mods/eln/client/AnalyticsHandler.java index 417317d2a..165bc6e29 100644 --- a/src/main/java/mods/eln/client/AnalyticsHandler.java +++ b/src/main/java/mods/eln/client/AnalyticsHandler.java @@ -1,10 +1,10 @@ package mods.eln.client; -import cpw.mods.fml.client.FMLClientHandler; -import cpw.mods.fml.common.FMLCommonHandler; -import cpw.mods.fml.common.eventhandler.SubscribeEvent; -import cpw.mods.fml.common.gameevent.TickEvent.ClientTickEvent; -import cpw.mods.fml.common.gameevent.TickEvent.Phase; +import net.minecraftforge.fml.client.FMLClientHandler; +import net.minecraftforge.fml.common.FMLCommonHandler; +import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; +import net.minecraftforge.fml.common.gameevent.TickEvent.ClientTickEvent; +import net.minecraftforge.fml.common.gameevent.TickEvent.Phase; import mods.eln.Eln; import mods.eln.i18n.I18N; import mods.eln.misc.Version; @@ -20,8 +20,8 @@ /** * Sent analytics information about the mod and the game configuration.
- * Singleton class. Uses the {@link cpw.mods.fml.common.gameevent.TickEvent.ClientTickEvent} and must be registered by - * the caller on the {@link cpw.mods.fml.common.FMLCommonHandler} bus. + * Singleton class. Uses the {@link net.minecraftforge.fml.common.gameevent.TickEvent.ClientTickEvent} and must be registered by + * the caller on the {@link net.minecraftforge.fml.common.FMLCommonHandler} bus. * * @author metc */ diff --git a/src/main/java/mods/eln/client/ClientKeyHandler.java b/src/main/java/mods/eln/client/ClientKeyHandler.java index b9449479c..d7c767af2 100644 --- a/src/main/java/mods/eln/client/ClientKeyHandler.java +++ b/src/main/java/mods/eln/client/ClientKeyHandler.java @@ -1,22 +1,20 @@ package mods.eln.client; -import cpw.mods.fml.client.registry.ClientRegistry; -import cpw.mods.fml.common.eventhandler.SubscribeEvent; -import cpw.mods.fml.common.gameevent.InputEvent.KeyInputEvent; -import cpw.mods.fml.common.gameevent.TickEvent.ClientTickEvent; -import cpw.mods.fml.common.gameevent.TickEvent.Phase; +import net.minecraftforge.fml.client.registry.ClientRegistry; +import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; +import net.minecraftforge.fml.common.gameevent.InputEvent.KeyInputEvent; +import net.minecraftforge.fml.common.gameevent.TickEvent.ClientTickEvent; +import net.minecraftforge.fml.common.gameevent.TickEvent.Phase; import mods.eln.Eln; import mods.eln.misc.UtilsClient; import mods.eln.wiki.Root; import net.minecraft.client.Minecraft; import net.minecraft.client.settings.KeyBinding; -import net.minecraft.util.StatCollector; import org.lwjgl.input.Keyboard; import java.io.ByteArrayOutputStream; import java.io.DataOutputStream; import java.io.IOException; -//import mods.eln.wiki.Root; public class ClientKeyHandler { @@ -38,7 +36,7 @@ public ClientKeyHandler() { for (int i = 0; i < desc.length; ++i) { if (i != 3) states[i] = false; - keys[i] = new KeyBinding(desc[i], keyValues[i], StatCollector.translateToLocal("ElectricalAge")); + keys[i] = new KeyBinding(desc[i], keyValues[i], "ElectricalAge"); ClientRegistry.registerKeyBinding(keys[i]); } } diff --git a/src/main/java/mods/eln/client/ClientPacketHandler.java b/src/main/java/mods/eln/client/ClientPacketHandler.java index 279313270..87de1491d 100644 --- a/src/main/java/mods/eln/client/ClientPacketHandler.java +++ b/src/main/java/mods/eln/client/ClientPacketHandler.java @@ -1,8 +1,8 @@ package mods.eln.client; -import cpw.mods.fml.common.eventhandler.SubscribeEvent; -import cpw.mods.fml.common.network.FMLNetworkEvent.ClientCustomPacketEvent; -import cpw.mods.fml.common.network.internal.FMLProxyPacket; +import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; +import net.minecraftforge.fml.common.network.FMLNetworkEvent.ClientCustomPacketEvent; +import net.minecraftforge.fml.common.network.internal.FMLProxyPacket; import io.netty.channel.ChannelHandler.Sharable; import mods.eln.Eln; import net.minecraft.client.Minecraft; diff --git a/src/main/java/mods/eln/client/ClientProxy.java b/src/main/java/mods/eln/client/ClientProxy.java index f04547788..05a476468 100644 --- a/src/main/java/mods/eln/client/ClientProxy.java +++ b/src/main/java/mods/eln/client/ClientProxy.java @@ -1,8 +1,8 @@ package mods.eln.client; -import cpw.mods.fml.client.registry.ClientRegistry; -import cpw.mods.fml.client.registry.RenderingRegistry; -import cpw.mods.fml.common.FMLCommonHandler; +import net.minecraftforge.fml.client.registry.ClientRegistry; +import net.minecraftforge.fml.client.registry.RenderingRegistry; +import net.minecraftforge.fml.common.FMLCommonHandler; import mods.eln.CommonProxy; import mods.eln.Eln; import mods.eln.entity.ReplicatorEntity; diff --git a/src/main/java/mods/eln/client/ConnectionListener.java b/src/main/java/mods/eln/client/ConnectionListener.java index 94058193b..2cf4f37d0 100644 --- a/src/main/java/mods/eln/client/ConnectionListener.java +++ b/src/main/java/mods/eln/client/ConnectionListener.java @@ -1,11 +1,11 @@ package mods.eln.client; -import cpw.mods.fml.common.FMLCommonHandler; -import cpw.mods.fml.common.eventhandler.SubscribeEvent; -import cpw.mods.fml.common.gameevent.TickEvent.ClientTickEvent; -import cpw.mods.fml.common.gameevent.TickEvent.Type; -import cpw.mods.fml.common.network.FMLNetworkEvent.ClientConnectedToServerEvent; -import cpw.mods.fml.common.network.FMLNetworkEvent.ClientDisconnectionFromServerEvent; +import net.minecraftforge.fml.common.FMLCommonHandler; +import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; +import net.minecraftforge.fml.common.gameevent.TickEvent.ClientTickEvent; +import net.minecraftforge.fml.common.gameevent.TickEvent.Type; +import net.minecraftforge.fml.common.network.FMLNetworkEvent.ClientConnectedToServerEvent; +import net.minecraftforge.fml.common.network.FMLNetworkEvent.ClientDisconnectionFromServerEvent; import mods.eln.Eln; import mods.eln.misc.Utils; import mods.eln.misc.UtilsClient; diff --git a/src/main/java/mods/eln/client/FrameTime.java b/src/main/java/mods/eln/client/FrameTime.java index a024fa2ce..b8a715dfe 100644 --- a/src/main/java/mods/eln/client/FrameTime.java +++ b/src/main/java/mods/eln/client/FrameTime.java @@ -1,9 +1,9 @@ package mods.eln.client; -import cpw.mods.fml.common.FMLCommonHandler; -import cpw.mods.fml.common.eventhandler.SubscribeEvent; -import cpw.mods.fml.common.gameevent.TickEvent.Phase; -import cpw.mods.fml.common.gameevent.TickEvent.RenderTickEvent; +import net.minecraftforge.fml.common.FMLCommonHandler; +import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; +import net.minecraftforge.fml.common.gameevent.TickEvent.Phase; +import net.minecraftforge.fml.common.gameevent.TickEvent.RenderTickEvent; import mods.eln.misc.Utils; import mods.eln.node.NodeBlockEntity; import net.minecraft.client.Minecraft; diff --git a/src/main/java/mods/eln/client/UuidManager.kt b/src/main/java/mods/eln/client/UuidManager.kt index 334996e6a..65767d62b 100644 --- a/src/main/java/mods/eln/client/UuidManager.kt +++ b/src/main/java/mods/eln/client/UuidManager.kt @@ -1,9 +1,8 @@ package mods.eln.client -import cpw.mods.fml.common.FMLCommonHandler -import cpw.mods.fml.common.eventhandler.SubscribeEvent -import cpw.mods.fml.common.gameevent.TickEvent -import cpw.mods.fml.common.gameevent.TickEvent.Phase +import net.minecraftforge.fml.common.FMLCommonHandler +import net.minecraftforge.fml.common.eventhandler.SubscribeEvent +import net.minecraftforge.fml.common.gameevent.TickEvent import java.util.* class UuidManager { @@ -23,7 +22,7 @@ class UuidManager { @SubscribeEvent fun tick(event: TickEvent.ClientTickEvent) { - if (event.phase == Phase.END) return + if (event.phase == TickEvent.Phase.END) return val i = entities.iterator() diff --git a/src/main/java/mods/eln/client/VersionCheckerHandler.java b/src/main/java/mods/eln/client/VersionCheckerHandler.java index ad45de220..6dc1b1218 100644 --- a/src/main/java/mods/eln/client/VersionCheckerHandler.java +++ b/src/main/java/mods/eln/client/VersionCheckerHandler.java @@ -2,17 +2,16 @@ import com.google.gson.JsonObject; import com.google.gson.JsonParser; -import cpw.mods.fml.client.FMLClientHandler; -import cpw.mods.fml.common.FMLCommonHandler; -import cpw.mods.fml.common.eventhandler.SubscribeEvent; -import cpw.mods.fml.common.gameevent.TickEvent.ClientTickEvent; -import cpw.mods.fml.common.gameevent.TickEvent.Phase; +import net.minecraftforge.fml.client.FMLClientHandler; +import net.minecraftforge.fml.common.FMLCommonHandler; +import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; +import net.minecraftforge.fml.common.gameevent.TickEvent.ClientTickEvent; +import net.minecraftforge.fml.common.gameevent.TickEvent.Phase; import mods.eln.Eln; import mods.eln.misc.Color; import mods.eln.misc.Version; import net.minecraft.client.Minecraft; import net.minecraft.client.multiplayer.WorldClient; -import net.minecraft.util.ChatComponentText; import org.apache.commons.io.IOUtils; import java.io.IOException; diff --git a/src/main/java/mods/eln/entity/ConfigurableAiWander.java b/src/main/java/mods/eln/entity/ConfigurableAiWander.java index 1dbfb2d36..3c92a2a90 100644 --- a/src/main/java/mods/eln/entity/ConfigurableAiWander.java +++ b/src/main/java/mods/eln/entity/ConfigurableAiWander.java @@ -3,7 +3,7 @@ import net.minecraft.entity.EntityCreature; import net.minecraft.entity.ai.EntityAIBase; import net.minecraft.entity.ai.RandomPositionGenerator; -import net.minecraft.util.Vec3; +import net.minecraft.util.math.Vec3d; public class ConfigurableAiWander extends EntityAIBase { @@ -31,7 +31,7 @@ public boolean shouldExecute() { } else if (this.entity.getRNG().nextInt(randLimit) != 0) { return false; } else { - Vec3 vec3 = RandomPositionGenerator.findRandomTarget(this.entity, 10, 7); + Vec3d vec3 = RandomPositionGenerator.findRandomTarget(this.entity, 10, 7); if (vec3 == null) { return false; diff --git a/src/main/java/mods/eln/entity/ReplicatoCableAI.java b/src/main/java/mods/eln/entity/ReplicatorCableAI.java similarity index 73% rename from src/main/java/mods/eln/entity/ReplicatoCableAI.java rename to src/main/java/mods/eln/entity/ReplicatorCableAI.java index a7d2d793d..c82ced5d2 100644 --- a/src/main/java/mods/eln/entity/ReplicatoCableAI.java +++ b/src/main/java/mods/eln/entity/ReplicatorCableAI.java @@ -1,7 +1,7 @@ package mods.eln.entity; import mods.eln.Eln; -import mods.eln.misc.Coordonate; +import mods.eln.misc.Coordinate; import mods.eln.node.NodeBase; import mods.eln.node.NodeManager; import mods.eln.node.six.SixNode; @@ -10,33 +10,33 @@ import mods.eln.sim.mna.component.Resistor; import mods.eln.sixnode.electricalcable.ElectricalCableElement; import net.minecraft.entity.ai.EntityAIBase; -import net.minecraft.pathfinding.PathEntity; +import net.minecraft.pathfinding.Path; import net.minecraft.util.DamageSource; import java.util.List; import java.util.Random; -public class ReplicatoCableAI extends EntityAIBase implements ITimeRemoverObserver { +public class ReplicatorCableAI extends EntityAIBase implements ITimeRemoverObserver { ReplicatorEntity entity; - public Coordonate cableCoordonate = null; - Random rand = new Random(); - int lookingPerUpdate = 20; + private Coordinate cableCoordinate = null; + private Random rand = new Random(); + private int lookingPerUpdate = 20; - ElectricalLoad load = new ElectricalLoad(), cableLoad; - Resistor resistorLoad = new Resistor(load, null); - ElectricalConnection connection; - TimeRemover timeRemover = new TimeRemover(this); + private ElectricalLoad load = new ElectricalLoad(), cableLoad; + private Resistor resistorLoad = new Resistor(load, null); + private ElectricalConnection connection; + private TimeRemover timeRemover = new TimeRemover(this); - double moveTimeOut; - double moveTimeOutReset = 20; - double resetTimeout; - double resetTimeoutReset = 120; + private double moveTimeOut; + private double moveTimeOutReset = 20; + private double resetTimeout; + private double resetTimeoutReset = 120; PreSimCheck preSimCheck; - public ReplicatoCableAI(ReplicatorEntity entity) { + ReplicatorCableAI(ReplicatorEntity entity) { load.setAsPrivate(); this.entity = entity; Eln.instance.highVoltageCableDescriptor.applyTo(load); @@ -51,30 +51,30 @@ public boolean shouldExecute() { if (nodes.isEmpty()) return false; for (int idx = 0; idx < lookingPerUpdate; idx++) { NodeBase node = nodes.get(rand.nextInt(nodes.size())); - double distance = node.coordonate.distanceTo(entity); + double distance = node.coordinate.distanceTo(entity); if (distance > 15) continue; - if (node instanceof SixNode == false) continue; + if (!(node instanceof SixNode)) continue; SixNode sixNode = (SixNode) node; for (SixNodeElement e : sixNode.sideElementList) { if (e == null) continue; - if (e instanceof ElectricalCableElement == false) continue; + if (!(e instanceof ElectricalCableElement)) continue; ElectricalCableElement cable = (ElectricalCableElement) e; - if (isElectricalCableInterresting(cable) == false) continue; + if (!isElectricalCableInterresting(cable)) continue; - PathEntity path = entity.getNavigator().getPathToXYZ(node.coordonate.x, node.coordonate.y, node.coordonate.z); + Path path = entity.getNavigator().getPathToXYZ(node.coordinate.pos.getX(), node.coordinate.pos.getY(), node.coordinate.pos.getZ()); if (path == null/* || path.isFinished() == false*/) continue; entity.getNavigator().setPath(path, 1); - cableCoordonate = node.coordonate; + cableCoordinate = node.coordinate; //Utils.println("LookingForCableAi done"); moveTimeOut = moveTimeOutReset; resistorLoad.highImpedance(); @@ -89,7 +89,7 @@ public boolean shouldExecute() { @Override public boolean continueExecuting() { //Utils.println("Continue"); - return cableCoordonate != null; + return cableCoordinate != null; } @Override @@ -100,15 +100,15 @@ public void updateTask() { ElectricalCableElement cable; if ((cable = getCable()) == null) { - cableCoordonate = null; + cableCoordinate = null; return; } cableLoad = cable.electricalLoad; - double distance = cableCoordonate.distanceTo(entity); + double distance = cableCoordinate.distanceTo(entity); if (distance > 2 && (entity.getNavigator().getPath() == null || entity.getNavigator().getPath().isFinished())) { - this.entity.getNavigator().tryMoveToXYZ(cableCoordonate.x, cableCoordonate.y, cableCoordonate.z, 1); + this.entity.getNavigator().tryMoveToXYZ(cableCoordinate.x, cableCoordinate.y, cableCoordinate.z, 1); } if (distance < 2) { //Utils.println("replicator on cable !"); @@ -129,7 +129,7 @@ public void updateTask() { } if (moveTimeOut < 0 || resetTimeout < 0) { - cableCoordonate = null; + cableCoordinate = null; } } @@ -141,9 +141,9 @@ boolean isElectricalCableInterresting(ElectricalCableElement c) { } ElectricalCableElement getCable() { - if (cableCoordonate == null) return null; + if (cableCoordinate == null) return null; - NodeBase node = NodeManager.instance.getNodeFromCoordonate(cableCoordonate); + NodeBase node = NodeManager.instance.getNodeFromCoordinate(cableCoordinate); if (node == null) return null; @@ -188,8 +188,8 @@ public void timeRemoverAdd() { class PreSimCheck implements IProcess { @Override public void process(double time) { - if (timeRemover.isArmed() == false) return; - if (Eln.simulator.isRegistred(cableLoad) == false) { + if (!timeRemover.isArmed()) return; + if (!Eln.simulator.isRegistred(cableLoad)) { timeRemover.shot(); } } diff --git a/src/main/java/mods/eln/entity/ReplicatorEntity.java b/src/main/java/mods/eln/entity/ReplicatorEntity.java index ca4fcb5cc..dbae7a98b 100644 --- a/src/main/java/mods/eln/entity/ReplicatorEntity.java +++ b/src/main/java/mods/eln/entity/ReplicatorEntity.java @@ -37,7 +37,7 @@ public ReplicatorEntity(World par1World) { this.setSize(0.3F, 0.7F); - ReplicatoCableAI replicatorIa = new ReplicatoCableAI(this); + ReplicatorCableAI replicatorIa = new ReplicatorCableAI(this); int p = 0; this.tasks.addTask(p++, new EntityAISwimming(this)); diff --git a/src/main/java/mods/eln/entity/ReplicatorPopProcess.java b/src/main/java/mods/eln/entity/ReplicatorPopProcess.java index cd3df34f0..c9c3ef155 100644 --- a/src/main/java/mods/eln/entity/ReplicatorPopProcess.java +++ b/src/main/java/mods/eln/entity/ReplicatorPopProcess.java @@ -1,6 +1,6 @@ package mods.eln.entity; -import cpw.mods.fml.common.FMLCommonHandler; +import net.minecraftforge.fml.common.FMLCommonHandler; import mods.eln.misc.Utils; import mods.eln.sim.IProcess; import net.minecraft.entity.player.EntityPlayerMP; diff --git a/src/main/java/mods/eln/eventhandlers/ElnFMLEventsHandler.java b/src/main/java/mods/eln/eventhandlers/ElnFMLEventsHandler.java index 01fdb8cce..12d7e6bc2 100644 --- a/src/main/java/mods/eln/eventhandlers/ElnFMLEventsHandler.java +++ b/src/main/java/mods/eln/eventhandlers/ElnFMLEventsHandler.java @@ -1,7 +1,7 @@ package mods.eln.eventhandlers; -import cpw.mods.fml.common.eventhandler.SubscribeEvent; -import cpw.mods.fml.common.gameevent.PlayerEvent.ItemCraftedEvent; +import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; +import net.minecraftforge.fml.common.gameevent.PlayerEvent.ItemCraftedEvent; import mods.eln.Eln; import mods.eln.packets.AchievePacket; diff --git a/src/main/java/mods/eln/eventhandlers/ElnForgeEventsHandler.java b/src/main/java/mods/eln/eventhandlers/ElnForgeEventsHandler.java index ebbed6421..7b6c78c10 100644 --- a/src/main/java/mods/eln/eventhandlers/ElnForgeEventsHandler.java +++ b/src/main/java/mods/eln/eventhandlers/ElnForgeEventsHandler.java @@ -1,8 +1,8 @@ package mods.eln.eventhandlers; -import cpw.mods.fml.common.eventhandler.SubscribeEvent; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; +import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; +import net.minecraftforge.fml.relauncher.Side; +import net.minecraftforge.fml.relauncher.SideOnly; import mods.eln.Eln; import mods.eln.packets.AchievePacket; import mods.eln.wiki.Root; diff --git a/src/main/java/mods/eln/fluid/ElementFluidHandler.java b/src/main/java/mods/eln/fluid/ElementFluidHandler.java index 82503b974..a47793f82 100644 --- a/src/main/java/mods/eln/fluid/ElementFluidHandler.java +++ b/src/main/java/mods/eln/fluid/ElementFluidHandler.java @@ -2,7 +2,7 @@ import mods.eln.misc.INBTTReady; import net.minecraft.nbt.NBTTagCompound; -import net.minecraftforge.common.util.ForgeDirection; +import net.minecraft.util.EnumFacing; import net.minecraftforge.fluids.*; /** @@ -39,7 +39,7 @@ private void setHeatEnergyPerMilliBucket(Fluid fluid) { } @Override - public int fill(ForgeDirection from, FluidStack resource, boolean doFill) { + public int fill(EnumFacing from, FluidStack resource, boolean doFill) { if (tank.getFluidAmount() > 0) { // No change in type of fluid. return tank.fill(resource, doFill); @@ -48,19 +48,17 @@ public int fill(ForgeDirection from, FluidStack resource, boolean doFill) { setHeatEnergyPerMilliBucket(resource.getFluid()); return tank.fill(resource, doFill); } else { - int resourceId = resource.getFluidID(); - for (int i = 0; i < whitelist.length; i++) { - if (whitelist[i].getID() == resourceId) { + for (Fluid whitelisted : whitelist) { + if (whitelisted == resource.getFluid()) setHeatEnergyPerMilliBucket(resource.getFluid()); - return tank.fill(resource, doFill); - } + return tank.fill(resource, doFill); } return 0; } } @Override - public FluidStack drain(ForgeDirection from, FluidStack resource, boolean doDrain) { + public FluidStack drain(EnumFacing from, FluidStack resource, boolean doDrain) { if (resource.isFluidEqual(tank.getFluid())) return tank.drain(resource.amount, doDrain); else @@ -68,32 +66,30 @@ public FluidStack drain(ForgeDirection from, FluidStack resource, boolean doDrai } @Override - public FluidStack drain(ForgeDirection from, int maxDrain, boolean doDrain) { + public FluidStack drain(EnumFacing from, int maxDrain, boolean doDrain) { return tank.drain(maxDrain, doDrain); } @Override - public boolean canFill(ForgeDirection from, Fluid fluid) { - int fluidId = fluid.getID(); + public boolean canFill(EnumFacing from, Fluid fluid) { if (tank.getFluidAmount() > 0) { - return tank.getFluid().getFluidID() == fluidId; + return tank.getFluid().getFluid() == fluid; } else { - for (int i = 0; i < whitelist.length; i++) { - if (whitelist[i].getID() == fluidId) { + for (Fluid whitelisted : whitelist) { + if (whitelisted == fluid) return true; - } } } return false; } @Override - public boolean canDrain(ForgeDirection from, Fluid fluid) { + public boolean canDrain(EnumFacing from, Fluid fluid) { return true; } @Override - public FluidTankInfo[] getTankInfo(ForgeDirection from) { + public FluidTankInfo[] getTankInfo(EnumFacing from) { return new FluidTankInfo[]{tank.getInfo()}; } diff --git a/src/main/java/mods/eln/fluid/PreciseElementFluidHandler.kt b/src/main/java/mods/eln/fluid/PreciseElementFluidHandler.kt index b0447a49b..e4dafe0ba 100644 --- a/src/main/java/mods/eln/fluid/PreciseElementFluidHandler.kt +++ b/src/main/java/mods/eln/fluid/PreciseElementFluidHandler.kt @@ -1,7 +1,7 @@ package mods.eln.fluid import net.minecraft.nbt.NBTTagCompound -import net.minecraftforge.common.util.ForgeDirection +import net.minecraft.util.EnumFacing class PreciseElementFluidHandler(tankSize: Int) : ElementFluidHandler(tankSize) { private var fixup = 0.0 @@ -18,7 +18,7 @@ class PreciseElementFluidHandler(tankSize: Int) : ElementFluidHandler(tankSize) fun drain(demand: Double): Double { val drain = Math.ceil(demand - fixup) - val drained = drain(ForgeDirection.DOWN, drain.toInt(), true)?.amount?.toDouble() ?: 0.0 + val drained = drain(EnumFacing.DOWN, drain.toInt(), true)?.amount?.toDouble() ?: 0.0 val available = fixup + drained val actual = Math.min(demand, available) fixup = Math.max(0.0, available - demand) diff --git a/src/main/java/mods/eln/generic/GenericCreativeTab.java b/src/main/java/mods/eln/generic/GenericCreativeTab.java index 7d25fcfcd..7a32f5346 100644 --- a/src/main/java/mods/eln/generic/GenericCreativeTab.java +++ b/src/main/java/mods/eln/generic/GenericCreativeTab.java @@ -1,7 +1,7 @@ package mods.eln.generic; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; +import net.minecraftforge.fml.relauncher.Side; +import net.minecraftforge.fml.relauncher.SideOnly; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.item.Item; diff --git a/src/main/java/mods/eln/generic/GenericItemBlockUsingDamage.java b/src/main/java/mods/eln/generic/GenericItemBlockUsingDamage.java index 630c020c6..5e418c5ba 100644 --- a/src/main/java/mods/eln/generic/GenericItemBlockUsingDamage.java +++ b/src/main/java/mods/eln/generic/GenericItemBlockUsingDamage.java @@ -1,20 +1,18 @@ package mods.eln.generic; -import cpw.mods.fml.common.registry.GameRegistry; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; import mods.eln.misc.Utils; import mods.eln.misc.UtilsClient; import net.minecraft.block.Block; -import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.entity.item.EntityItem; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.Item; import net.minecraft.item.ItemBlock; import net.minecraft.item.ItemStack; -import net.minecraft.util.IIcon; import net.minecraft.world.World; +import net.minecraftforge.fml.common.registry.GameRegistry; +import net.minecraftforge.fml.relauncher.Side; +import net.minecraftforge.fml.relauncher.SideOnly; import java.util.ArrayList; import java.util.Hashtable; @@ -104,20 +102,21 @@ public String getUnlocalizedName(ItemStack par1ItemStack) { } } - @Override - public IIcon getIconFromDamage(int damage) { - Descriptor desc = getDescriptor(damage); - if (desc == null) return null; - return desc.getIcon(); - } - - @Override - @SideOnly(value = Side.CLIENT) - public void registerIcons(IIconRegister iconRegister) { - for (GenericItemBlockUsingDamageDescriptor descriptor : subItemList.values()) { - descriptor.updateIcons(iconRegister); - } - } + // TODO(1.10): Fix item rendering. +// @Override +// public IIcon getIconFromDamage(int damage) { +// Descriptor desc = getDescriptor(damage); +// if (desc == null) return null; +// return desc.getIcon(); +// } +// +// @Override +// @SideOnly(value = Side.CLIENT) +// public void registerIcons(IIconRegister iconRegister) { +// for (GenericItemBlockUsingDamageDescriptor descriptor : subItemList.values()) { +// descriptor.updateIcons(iconRegister); +// } +// } @SideOnly(Side.CLIENT) @Override diff --git a/src/main/java/mods/eln/generic/GenericItemBlockUsingDamageDescriptor.java b/src/main/java/mods/eln/generic/GenericItemBlockUsingDamageDescriptor.java index eaea70d90..25d5bcabf 100644 --- a/src/main/java/mods/eln/generic/GenericItemBlockUsingDamageDescriptor.java +++ b/src/main/java/mods/eln/generic/GenericItemBlockUsingDamageDescriptor.java @@ -1,22 +1,17 @@ package mods.eln.generic; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; import mods.eln.Eln; -import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.item.EntityItem; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.util.IIcon; import java.util.List; public class GenericItemBlockUsingDamageDescriptor { String iconName; - IIcon iconIndex; public String name; public Item parentItem; @@ -49,14 +44,15 @@ public NBTTagCompound getDefaultNBT() { public void addInformation(ItemStack itemStack, EntityPlayer entityPlayer, List list, boolean par4) { } - @SideOnly(value = Side.CLIENT) - public void updateIcons(IIconRegister iconRegister) { - this.iconIndex = iconRegister.registerIcon("eln:" + iconName); - } - - public IIcon getIcon() { - return iconIndex; - } + // TODO(1.10): These are all implicit now. +// @SideOnly(value = Side.CLIENT) +// public void updateIcons(IIconRegister iconRegister) { +// this.iconIndex = iconRegister.registerIcon("eln:" + iconName); +// } +// +// public IIcon getIcon() { +// return iconIndex; +// } public String getName(ItemStack stack) { return name; diff --git a/src/main/java/mods/eln/generic/GenericItemUsingDamage.java b/src/main/java/mods/eln/generic/GenericItemUsingDamage.java index 49e2b2b5b..f3304bb01 100644 --- a/src/main/java/mods/eln/generic/GenericItemUsingDamage.java +++ b/src/main/java/mods/eln/generic/GenericItemUsingDamage.java @@ -1,20 +1,17 @@ package mods.eln.generic; -import cpw.mods.fml.common.registry.GameRegistry; -import cpw.mods.fml.common.registry.LanguageRegistry; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; import mods.eln.misc.UtilsClient; import net.minecraft.block.Block; -import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; -import net.minecraft.util.IIcon; import net.minecraft.world.World; +import net.minecraftforge.fml.common.registry.GameRegistry; +import net.minecraftforge.fml.relauncher.Side; +import net.minecraftforge.fml.relauncher.SideOnly; import java.util.ArrayList; import java.util.Hashtable; @@ -71,29 +68,6 @@ public ItemStack onItemRightClick(ItemStack s, World w, EntityPlayer p) { return desc.onItemRightClick(s, w, p); } - /*//caca1.5.1 - @Override - @SideOnly(Side.CLIENT) - public int getIconFromDamage(int damage) { - return getDescriptor(damage).getIconId(); - - } - @Override - public String getTextureFile () { - return CommonProxy.ITEMS_PNG; - } - @Override - public String getItemNameIS(ItemStack itemstack) { - return getItemName() + "." + getDescriptor(itemstack).name; - } - - /* - @Override - public String getUnlocalizedNameInefficiently(ItemStack par1ItemStack) { - return "trololol"; - } - */ - @Override public String getUnlocalizedName(ItemStack par1ItemStack) { Descriptor desc = getDescriptor(par1ItemStack); @@ -104,31 +78,22 @@ public String getUnlocalizedName(ItemStack par1ItemStack) { } } - /* - @Override - public String getItemStackDisplayName(ItemStack par1ItemStack) { - Descriptor desc = getDescriptor(par1ItemStack); - if (desc == null) - return "NullItem"; - return desc.getName(par1ItemStack); - } - */ - - public IIcon getIconFromDamage(int damage) { - GenericItemUsingDamageDescriptor desc = getDescriptor(damage); - if (desc != null) { - return getDescriptor(damage).getIcon(); - } - return null; - } - - @Override - @SideOnly(value = Side.CLIENT) - public void registerIcons(IIconRegister iconRegister) { - for (GenericItemUsingDamageDescriptor descriptor : subItemList.values()) { - descriptor.updateIcons(iconRegister); - } - } + // TODO(1.10): Fix item rendering. +// public IIcon getIconFromDamage(int damage) { +// GenericItemUsingDamageDescriptor desc = getDescriptor(damage); +// if (desc != null) { +// return getDescriptor(damage).getIcon(); +// } +// return null; +// } +// +// @Override +// @SideOnly(value = Side.CLIENT) +// public void registerIcons(IIconRegister iconRegister) { +// for (GenericItemUsingDamageDescriptor descriptor : subItemList.values()) { +// descriptor.updateIcons(iconRegister); +// } +// } @Override @SideOnly(Side.CLIENT) diff --git a/src/main/java/mods/eln/generic/GenericItemUsingDamageDescriptor.java b/src/main/java/mods/eln/generic/GenericItemUsingDamageDescriptor.java index ead6548af..725c00a91 100644 --- a/src/main/java/mods/eln/generic/GenericItemUsingDamageDescriptor.java +++ b/src/main/java/mods/eln/generic/GenericItemUsingDamageDescriptor.java @@ -1,29 +1,20 @@ package mods.eln.generic; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import mods.eln.misc.UtilsClient; import mods.eln.misc.VoltageLevelColor; import net.minecraft.block.Block; -import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.util.IIcon; -import net.minecraft.util.ResourceLocation; import net.minecraft.world.World; -import net.minecraftforge.client.IItemRenderer.ItemRenderType; -import net.minecraftforge.client.IItemRenderer.ItemRendererHelper; import java.util.List; public class GenericItemUsingDamageDescriptor { public String IconName; - private IIcon iconIndex; public String name; public VoltageLevelColor voltageLevelColor = VoltageLevelColor.None; @@ -60,14 +51,15 @@ public void getSubItems(List list) { list.add(stack); } - @SideOnly(value = Side.CLIENT) - public void updateIcons(IIconRegister iconRegister) { - this.iconIndex = iconRegister.registerIcon(IconName); - } - - public IIcon getIcon() { - return iconIndex; - } + // TODO(1.10): These are all implicit now. +// @SideOnly(value = Side.CLIENT) +// public void updateIcons(IIconRegister iconRegister) { +// this.iconIndex = iconRegister.registerIcon(IconName); +// } +// +// public IIcon getIcon() { +// return iconIndex; +// } public String getName(ItemStack stack) { return name; @@ -76,7 +68,7 @@ public String getName(ItemStack stack) { public static GenericItemUsingDamageDescriptor getDescriptor(ItemStack stack) { if (stack == null) return null; - if ((stack.getItem() instanceof GenericItemUsingDamage) == false) + if (!(stack.getItem() instanceof GenericItemUsingDamage)) return null; return ((GenericItemUsingDamage) stack.getItem()).getDescriptor(stack); } @@ -121,24 +113,25 @@ public boolean onItemUse(ItemStack stack, EntityPlayer player, World world, int return false; } - public boolean handleRenderType(ItemStack item, ItemRenderType type) { - return voltageLevelColor != VoltageLevelColor.None; - } - - public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { - return false; - } - - public void renderItem(ItemRenderType type, ItemStack item, Object... data) { - if (getIcon() == null) - return; - - voltageLevelColor.drawIconBackground(type); - - // remove "eln:" to add the full path replace("eln:", "textures/blocks/") + ".png"; - String icon = getIcon().getIconName().substring(4); - UtilsClient.drawIcon(type, new ResourceLocation("eln", "textures/items/" + icon + ".png")); - } + // TODO(1.10): Fix item render. +// public boolean handleRenderType(ItemStack item, ItemRenderType type) { +// return voltageLevelColor != VoltageLevelColor.None; +// } +// +// public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { +// return false; +// } +// +// public void renderItem(ItemRenderType type, ItemStack item, Object... data) { +// if (getIcon() == null) +// return; +// +// voltageLevelColor.drawIconBackground(type); +// +// // remove "eln:" to add the full path replace("eln:", "textures/blocks/") + ".png"; +// String icon = getIcon().getIconName().substring(4); +// UtilsClient.drawIcon(type, new ResourceLocation("eln", "textures/items/" + icon + ".png")); +// } public void onUpdate(ItemStack stack, World world, Entity entity, int par4, boolean par5) { } diff --git a/src/main/java/mods/eln/generic/SharedItem.java b/src/main/java/mods/eln/generic/SharedItem.java index 95bb2ef57..fe315f2f0 100644 --- a/src/main/java/mods/eln/generic/SharedItem.java +++ b/src/main/java/mods/eln/generic/SharedItem.java @@ -1,83 +1,17 @@ package mods.eln.generic; -import net.minecraft.client.Minecraft; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; import net.minecraft.util.DamageSource; -import net.minecraftforge.client.IItemRenderer; import net.minecraftforge.common.ISpecialArmor; -public class SharedItem extends GenericItemUsingDamage implements IItemRenderer, ISpecialArmor { +public class SharedItem extends GenericItemUsingDamage implements ISpecialArmor { public SharedItem() { super(); } - @Override - public boolean handleRenderType(ItemStack item, ItemRenderType type) { - GenericItemUsingDamageDescriptor d = getDescriptor(item); - if (d == null) return false; - return d.handleRenderType(item, type); - } - - @Override - public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { - GenericItemUsingDamageDescriptor d = getDescriptor(item); - if (d == null) return false; - return d.shouldUseRenderHelper(type, item, helper); - } - - /* - public boolean isValidArmor(ItemStack stack, int armorType, Entity entity) { - return true; - } - - @Override - public String getArmorTexture(ItemStack stack, Entity entity, int slot, int layer) { - return "eln:textures/armor/copper_layer_1.png"; - } - - public ModelBiped getArmorModel(EntityLivingBase entityLiving, ItemStack itemStack, int armorSlot) { - return new ModelBiped(); - }*/ - - @Override - public void renderItem(ItemRenderType type, ItemStack item, Object... data) { - Minecraft.getMinecraft().mcProfiler.startSection("SharedItem"); - - switch (type) { - case ENTITY: - // GL11.glScalef(0.5f, 0.5f, 0.5f); - // GL11.glTranslatef(0.f,-0.5f,0.5f); - // GL11.glRotatef(90,0f,1f,0f); - - // GL11.glTranslatef(0.00f, 0.3f, 0.0f); - break; - case EQUIPPED: - //GL11.glTranslatef(0.50f, 1, 0.5f); - //GL11.glRotatef(130,1f,0.0f,1f); - - break; - case FIRST_PERSON_MAP: - //GL11.glTranslatef(0.f,-0.5f,0.5f); - break; - case INVENTORY: - //GL11.glScalef(1.0f, 1f, 1.0f); - //GL11.glRotatef(45, 0, 1, 0); - break; - default: - break; - } - - GenericItemUsingDamageDescriptor d = getDescriptor(item); - if (d != null) { - d.renderItem(type, item, data); - } - - Minecraft.getMinecraft().mcProfiler.endSection(); - } - @Override public ArmorProperties getProperties(EntityLivingBase player, ItemStack armor, DamageSource source, double damage, int slot) { diff --git a/src/main/java/mods/eln/ghost/GhostBlock.java b/src/main/java/mods/eln/ghost/GhostBlock.java index b07607857..269884b88 100644 --- a/src/main/java/mods/eln/ghost/GhostBlock.java +++ b/src/main/java/mods/eln/ghost/GhostBlock.java @@ -1,9 +1,17 @@ package mods.eln.ghost; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.block.state.IBlockState; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.util.EnumBlockRenderType; +import net.minecraft.util.EnumFacing; +import net.minecraft.util.EnumHand; +import net.minecraft.util.math.AxisAlignedBB; +import net.minecraft.util.math.BlockPos; +import net.minecraft.util.math.RayTraceResult; +import net.minecraftforge.fml.relauncher.Side; +import net.minecraftforge.fml.relauncher.SideOnly; import mods.eln.Eln; -import mods.eln.misc.Coordonate; +import mods.eln.misc.Coordinate; import mods.eln.misc.Direction; import mods.eln.node.transparent.TransparentNodeEntity; import net.minecraft.block.Block; @@ -13,12 +21,11 @@ import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.AxisAlignedBB; -import net.minecraft.util.MovingObjectPosition; -import net.minecraft.util.Vec3; +import net.minecraft.util.math.Vec3d; import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; +import javax.annotation.Nullable; import java.util.List; import java.util.Random; @@ -29,151 +36,145 @@ public class GhostBlock extends Block { public static final int tLadder = 2; public GhostBlock() { - super(Material.iron); + super(Material.IRON); } + @Nullable @Override - public Item getItemDropped(int p_149650_1_, Random p_149650_2_, int p_149650_3_) { + public Item getItemDropped(IBlockState state, Random rand, int fortune) { return null; } - public void addCollisionBoxesToList(World world, int x, int y, int z, AxisAlignedBB par5AxisAlignedBB, List list, Entity entity) { - int meta = world.getBlockMetadata(x, y, z); - - switch (meta) { - case tFloor: - AxisAlignedBB axisalignedbb1 = AxisAlignedBB.getBoundingBox((double) x, (double) y, (double) z, (double) x + 1, (double) y + 0.0625, (double) z + 1); - if (axisalignedbb1 != null && par5AxisAlignedBB.intersectsWith(axisalignedbb1)) { - list.add(axisalignedbb1); - } - break; - case tLadder: - - break; - default: - GhostElement element = getElement(world, x, y, z); - Coordonate coord = element == null ? null : element.observatorCoordonate; - TileEntity te = coord == null ? null : coord.getTileEntity(); - if (te != null && te instanceof TransparentNodeEntity) { - ((TransparentNodeEntity) te).addCollisionBoxesToList(par5AxisAlignedBB, list, element.elementCoordonate); - } else { - super.addCollisionBoxesToList(world, x, y, z, par5AxisAlignedBB, list, entity); - } - break; - } - } - - @Override - @SideOnly(Side.CLIENT) - public AxisAlignedBB getSelectedBoundingBoxFromPool(World w, int x, int y, int z) { - int meta = w.getBlockMetadata(x, y, z); - - switch (meta) { - case tFloor: - return AxisAlignedBB.getBoundingBox((double) x, (double) y, (double) z, (double) x + 1, (double) y + 0.0625, (double) z + 1); - case tLadder: - return AxisAlignedBB.getBoundingBox((double) x, (double) y, (double) z, (double) x + 0, (double) y + 0.0, (double) z + 0); - default: - return super.getSelectedBoundingBoxFromPool(w, x, y, z); - } - } - - @Override - public MovingObjectPosition collisionRayTrace(World world, int x, int y, int z, Vec3 startVec, Vec3 endVec) { - int meta = world.getBlockMetadata(x, y, z); - - switch (meta) { - case tFloor: - this.maxY = 0.0625; - break; - case tLadder: - this.maxX = 0.01; - this.maxY = 0.01; - this.maxZ = 0.01; - break; - default: - break; - } - - MovingObjectPosition m = super.collisionRayTrace(world, x, y, z, startVec, endVec); - - switch (meta) { - case tFloor: - this.maxY = 1; - break; - case tLadder: - this.maxX = 1; - this.maxY = 1; - this.maxZ = 1; - break; - default: - break; - } - - return m; - } - - @Override - public boolean isLadder(IBlockAccess world, int x, int y, int z, EntityLivingBase entity) { - return world.getBlockMetadata(x, y, z) == tLadder; - } - - /* - * @Override - * - * @SideOnly(Side.CLIENT) public int idPicked(World par1World, int par2, int par3, int par4) { - * - * return Block.dirt.blockID; } - */ - + // TODO(1.10): Needs to be done by block states. +// @Override +// public void addCollisionBoxToList(IBlockState state, World world, BlockPos pos, AxisAlignedBB entityBox, List collidingBoxes, @Nullable Entity entityIn) { +// int meta = world.getBlockMetadata(x, y, z); +// +// switch (meta) { +// case tFloor: +// AxisAlignedBB axisalignedbb1 = AxisAlignedBB.getBoundingBox((double) x, (double) y, (double) z, (double) x + 1, (double) y + 0.0625, (double) z + 1); +// if (axisalignedbb1 != null && par5AxisAlignedBB.intersectsWith(axisalignedbb1)) { +// list.add(axisalignedbb1); +// } +// break; +// case tLadder: +// +// break; +// default: +// GhostElement element = getElement(world, x, y, z); +// Coordinate coord = element == null ? null : element.observatorCoordinate; +// TileEntity te = coord == null ? null : coord.getTileEntity(); +// if (te != null && te instanceof TransparentNodeEntity) { +// ((TransparentNodeEntity) te).addCollisionBoxesToList(par5AxisAlignedBB, list, element.elementCoordinate); +// } else { +// super.addCollisionBoxesToList(world, x, y, z, par5AxisAlignedBB, list, entity); +// } +// break; +// } +// } + +// @Override +// @SideOnly(Side.CLIENT) +// public AxisAlignedBB getSelectedBoundingBoxFromPool(World w, int x, int y, int z) { +// int meta = w.getBlockMetadata(x, y, z); +// +// switch (meta) { +// case tFloor: +// return AxisAlignedBB.getBoundingBox((double) x, (double) y, (double) z, (double) x + 1, (double) y + 0.0625, (double) z + 1); +// case tLadder: +// return AxisAlignedBB.getBoundingBox((double) x, (double) y, (double) z, (double) x + 0, (double) y + 0.0, (double) z + 0); +// default: +// return super.getSelectedBoundingBoxFromPool(w, x, y, z); +// } +// } +// +// @Override +// public MovingObjectPosition collisionRayTrace(World world, int x, int y, int z, Vec3d startVec, Vec3d endVec) { +// int meta = world.getBlockMetadata(x, y, z); +// +// switch (meta) { +// case tFloor: +// this.maxY = 0.0625; +// break; +// case tLadder: +// this.maxX = 0.01; +// this.maxY = 0.01; +// this.maxZ = 0.01; +// break; +// default: +// break; +// } +// +// MovingObjectPosition m = super.collisionRayTrace(world, x, y, z, startVec, endVec); +// +// switch (meta) { +// case tFloor: +// this.maxY = 1; +// break; +// case tLadder: +// this.maxX = 1; +// this.maxY = 1; +// this.maxZ = 1; +// break; +// default: +// break; +// } +// +// return m; +// } +// +// @Override +// public boolean isLadder(IBlockAccess world, int x, int y, int z, EntityLivingBase entity) { +// return world.getBlockMetadata(x, y, z) == tLadder; +// } + + + // TODO(1.10): ...but block states should do this. @Override - public boolean isOpaqueCube() { + public boolean isFullyOpaque(IBlockState state) { return false; } @Override - public boolean renderAsNormalBlock() { - return false; - } - - @Override - public int getRenderType() { - return -1; + public EnumBlockRenderType getRenderType(IBlockState state) { + return EnumBlockRenderType.INVISIBLE; } @Override - public ItemStack getPickBlock(MovingObjectPosition target, World world, int x, int y, int z) { + public ItemStack getPickBlock(IBlockState state, RayTraceResult target, World world, BlockPos pos, EntityPlayer player) { return null; } - public boolean isBlockSolid(IBlockAccess blockAccess, int x, int y, int z, int side) { + @Override + public boolean isBlockSolid(IBlockAccess worldIn, BlockPos pos, EnumFacing side) { return false; } @Override - public void breakBlock(World world, int x, int y, int z, Block par5, int par6) { - if (world.isRemote == false) { - GhostElement element = getElement(world, x, y, z); + public void breakBlock(World world, BlockPos pos, IBlockState state) { + if (!world.isRemote) { + GhostElement element = getElement(world, pos); if (element != null) element.breakBlock(); } - super.breakBlock(world, x, y, z, par5, par6); + super.breakBlock(world, pos, state); } - public boolean onBlockActivated(World world, int x, int y, int z, net.minecraft.entity.player.EntityPlayer player, int side, float vx, float vy, float vz) { - if (world.isRemote == false) { - GhostElement element = getElement(world, x, y, z); + @Override + public boolean onBlockActivated(World world, BlockPos pos, IBlockState state, EntityPlayer player, EnumHand hand, @Nullable ItemStack heldItem, EnumFacing side, float hitX, float hitY, float hitZ) { + if (!world.isRemote) { + GhostElement element = getElement(world, getBedSpawnPosition(state, world, pos, player)); if (element != null) - return element.onBlockActivated(player, Direction.fromIntMinecraftSide(side), vx, vy, vz); + return element.onBlockActivated(player, Direction.fromFacing(side), hitX, hitY, hitZ); } return true; } - GhostElement getElement(World world, int x, int y, int z) { - return Eln.ghostManager.getGhost(new Coordonate(x, y, z, world)); + private GhostElement getElement(World world, BlockPos pos) { + return Eln.ghostManager.getGhost(new Coordinate(pos, world)); } @Override - public float getBlockHardness(World par1World, int par2, int par3, int par4) { + public float getBlockHardness(IBlockState blockState, World worldIn, BlockPos pos) { return 0.5f; } diff --git a/src/main/java/mods/eln/ghost/GhostElement.java b/src/main/java/mods/eln/ghost/GhostElement.java index 0fea172dd..20cbe90f7 100644 --- a/src/main/java/mods/eln/ghost/GhostElement.java +++ b/src/main/java/mods/eln/ghost/GhostElement.java @@ -1,7 +1,7 @@ package mods.eln.ghost; import mods.eln.Eln; -import mods.eln.misc.Coordonate; +import mods.eln.misc.Coordinate; import mods.eln.misc.Direction; import mods.eln.misc.INBTTReady; import net.minecraft.entity.player.EntityPlayer; @@ -9,20 +9,20 @@ public class GhostElement implements INBTTReady { - Coordonate elementCoordonate; - Coordonate observatorCoordonate; + Coordinate elementCoordinate; + Coordinate observatorCoordinate; int UUID; - public Coordonate getObservatorCoordonate() { - return observatorCoordonate; + public Coordinate getObservatorCoordinate() { + return observatorCoordinate; } public GhostElement() { } - public GhostElement(Coordonate elementCoordonate, Coordonate observatorCoordonate, int UUID) { - this.elementCoordonate = elementCoordonate; - this.observatorCoordonate = observatorCoordonate; + public GhostElement(Coordinate elementCoordinate, Coordinate observatorCoordinate, int UUID) { + this.elementCoordinate = elementCoordinate; + this.observatorCoordinate = observatorCoordinate; this.UUID = UUID; } @@ -31,29 +31,29 @@ public int getUUID() { } public void breakBlock() { - Eln.ghostManager.removeGhost(elementCoordonate); - GhostObserver observer = Eln.ghostManager.getObserver(observatorCoordonate); + Eln.ghostManager.removeGhost(elementCoordinate); + GhostObserver observer = Eln.ghostManager.getObserver(observatorCoordinate); if (observer != null) observer.ghostDestroyed(UUID); } public boolean onBlockActivated(EntityPlayer entityPlayer, Direction side, float vx, float vy, float vz) { - GhostObserver observer = Eln.ghostManager.getObserver(observatorCoordonate); + GhostObserver observer = Eln.ghostManager.getObserver(observatorCoordinate); if (observer != null) return observer.ghostBlockActivated(UUID, entityPlayer, side, vx, vy, vz); return false; } @Override public void readFromNBT(NBTTagCompound nbt, String str) { - elementCoordonate = new Coordonate(nbt, str + "elemCoord"); - observatorCoordonate = new Coordonate(nbt, str + "obserCoord"); + elementCoordinate = new Coordinate(nbt, str + "elemCoord"); + observatorCoordinate = new Coordinate(nbt, str + "obserCoord"); UUID = nbt.getInteger(str + "UUID"); } @Override public void writeToNBT(NBTTagCompound nbt, String str) { - elementCoordonate.writeToNBT(nbt, str + "elemCoord"); - observatorCoordonate.writeToNBT(nbt, str + "obserCoord"); + elementCoordinate.writeToNBT(nbt, str + "elemCoord"); + observatorCoordinate.writeToNBT(nbt, str + "obserCoord"); nbt.setInteger(str + "UUID", UUID); } } diff --git a/src/main/java/mods/eln/ghost/GhostGroup.java b/src/main/java/mods/eln/ghost/GhostGroup.java index ac000299b..492d0f641 100644 --- a/src/main/java/mods/eln/ghost/GhostGroup.java +++ b/src/main/java/mods/eln/ghost/GhostGroup.java @@ -1,7 +1,7 @@ package mods.eln.ghost; import mods.eln.Eln; -import mods.eln.misc.Coordonate; +import mods.eln.misc.Coordinate; import mods.eln.misc.Direction; import mods.eln.misc.LRDU; import net.minecraft.block.Block; @@ -61,7 +61,7 @@ public void addRectangle(int x1, int x2, int y1, int y2, int z1, int z2) { } } - public boolean canBePloted(Coordonate c) { + public boolean canBePloted(Coordinate c) { return canBePloted(c.world(), c.x, c.y, c.z); } @@ -73,27 +73,27 @@ public boolean canBePloted(World world, int x, int y, int z) { return true; } - public boolean plot(Coordonate coordonate, Coordonate observerCoordonate, int UUID) { - if (canBePloted(coordonate.world(), coordonate.x, coordonate.y, coordonate.z) == false) return false; + public boolean plot(Coordinate coordinate, Coordinate observerCoordinate, int UUID) { + if (canBePloted(coordinate.world(), coordinate.x, coordinate.y, coordinate.z) == false) return false; for (GhostGroupElement element : elementList) { - Coordonate offsetCoordonate = coordonate.newWithOffset(element.x, element.y, element.z); - Eln.ghostManager.createGhost(offsetCoordonate, observerCoordonate, UUID, element.block, element.meta); + Coordinate offsetCoordinate = coordinate.newWithOffset(element.x, element.y, element.z); + Eln.ghostManager.createGhost(offsetCoordinate, observerCoordinate, UUID, element.block, element.meta); } return true; } - public void erase(Coordonate observerCoordonate) { - Eln.ghostManager.removeGhostAndBlockWithObserver(observerCoordonate); + public void erase(Coordinate observerCoordinate) { + Eln.ghostManager.removeGhostAndBlockWithObserver(observerCoordinate); } - public void erase(Coordonate observerCoordonate, int uuid) { - Eln.ghostManager.removeGhostAndBlockWithObserver(observerCoordonate, uuid); + public void erase(Coordinate observerCoordinate, int uuid) { + Eln.ghostManager.removeGhostAndBlockWithObserver(observerCoordinate, uuid); } - public void eraseGeo(Coordonate coordonate) { + public void eraseGeo(Coordinate coordinate) { for (GhostGroupElement element : elementList) { - Eln.ghostManager.removeGhostAndBlock(coordonate.newWithOffset(element.x, element.y, element.z)); + Eln.ghostManager.removeGhostAndBlock(coordinate.newWithOffset(element.x, element.y, element.z)); } } @@ -149,7 +149,7 @@ public int size() { return elementList.size(); } - /*public void eraseWithNoNotification(Coordonate observerCoordonate) { + /*public void eraseWithNoNotification(Coordinate observerCoordonate) { Eln.ghostManager.removeGhostAndBlockWithObserver(observerCoordonate); } */ diff --git a/src/main/java/mods/eln/ghost/GhostManager.java b/src/main/java/mods/eln/ghost/GhostManager.java index e0e514f06..06478a099 100644 --- a/src/main/java/mods/eln/ghost/GhostManager.java +++ b/src/main/java/mods/eln/ghost/GhostManager.java @@ -1,7 +1,7 @@ package mods.eln.ghost; import mods.eln.Eln; -import mods.eln.misc.Coordonate; +import mods.eln.misc.Coordinate; import mods.eln.misc.Utils; import mods.eln.node.NodeBase; import mods.eln.node.NodeManager; @@ -21,8 +21,8 @@ public GhostManager(String par1Str) { super(par1Str); } - Map ghostTable = new Hashtable(); - Map observerTable = new Hashtable(); + Map ghostTable = new Hashtable(); + Map observerTable = new Hashtable(); public void clear() { ghostTable.clear(); @@ -39,78 +39,78 @@ public boolean isDirty() { /* public void addGhost(GhostElement element) { - ghostTable.put(element.elementCoordonate, element); + ghostTable.put(element.elementCoordinate, element); }*/ - public GhostElement getGhost(Coordonate coordonate) { - return ghostTable.get(coordonate); + public GhostElement getGhost(Coordinate coordinate) { + return ghostTable.get(coordinate); } - public void removeGhost(Coordonate coordonate) { - removeGhostNode(coordonate); - ghostTable.remove(coordonate); + public void removeGhost(Coordinate coordinate) { + removeGhostNode(coordinate); + ghostTable.remove(coordinate); } public void addObserver(GhostObserver observer) { observerTable.put(observer.getGhostObserverCoordonate(), observer); } - public GhostObserver getObserver(Coordonate coordonate) { - return observerTable.get(coordonate); + public GhostObserver getObserver(Coordinate coordinate) { + return observerTable.get(coordinate); } - public void removeObserver(Coordonate coordonate) { - observerTable.remove(coordonate); + public void removeObserver(Coordinate coordinate) { + observerTable.remove(coordinate); } - public void removeGhostAndBlockWithObserver(Coordonate observerCoordonate) { - Iterator> iterator = ghostTable.entrySet().iterator(); + public void removeGhostAndBlockWithObserver(Coordinate observerCoordinate) { + Iterator> iterator = ghostTable.entrySet().iterator(); while (iterator.hasNext()) { - Map.Entry entry = iterator.next(); + Map.Entry entry = iterator.next(); GhostElement element = entry.getValue(); - if (element.observatorCoordonate.equals(observerCoordonate)) { + if (element.observatorCoordinate.equals(observerCoordinate)) { iterator.remove(); - removeGhostNode(element.elementCoordonate); - element.elementCoordonate.world().setBlockToAir(element.elementCoordonate.x, element.elementCoordonate.y, element.elementCoordonate.z); + removeGhostNode(element.elementCoordinate); + element.elementCoordinate.world().setBlockToAir(element.elementCoordinate.x, element.elementCoordinate.y, element.elementCoordinate.z); } } } - public void removeGhostAndBlockWithObserver(Coordonate observerCoordonate, int uuid) { - Iterator> iterator = ghostTable.entrySet().iterator(); + public void removeGhostAndBlockWithObserver(Coordinate observerCoordinate, int uuid) { + Iterator> iterator = ghostTable.entrySet().iterator(); while (iterator.hasNext()) { - Map.Entry entry = iterator.next(); + Map.Entry entry = iterator.next(); GhostElement element = entry.getValue(); - if (element.observatorCoordonate.equals(observerCoordonate) && element.getUUID() == uuid) { + if (element.observatorCoordinate.equals(observerCoordinate) && element.getUUID() == uuid) { iterator.remove(); - removeGhostNode(element.elementCoordonate); - element.elementCoordonate.world().setBlockToAir(element.elementCoordonate.x, element.elementCoordonate.y, element.elementCoordonate.z); + removeGhostNode(element.elementCoordinate); + element.elementCoordinate.world().setBlockToAir(element.elementCoordinate.x, element.elementCoordinate.y, element.elementCoordinate.z); } } } - public void removeGhostAndBlockWithObserverAndNotUuid(Coordonate observerCoordonate, int uuid) { - Iterator> iterator = ghostTable.entrySet().iterator(); + public void removeGhostAndBlockWithObserverAndNotUuid(Coordinate observerCoordinate, int uuid) { + Iterator> iterator = ghostTable.entrySet().iterator(); while (iterator.hasNext()) { - Map.Entry entry = iterator.next(); + Map.Entry entry = iterator.next(); GhostElement element = entry.getValue(); - if (element.observatorCoordonate.equals(observerCoordonate) && element.getUUID() != uuid) { + if (element.observatorCoordinate.equals(observerCoordinate) && element.getUUID() != uuid) { iterator.remove(); - removeGhostNode(element.elementCoordonate); - element.elementCoordonate.world().setBlockToAir(element.elementCoordonate.x, element.elementCoordonate.y, element.elementCoordonate.z); + removeGhostNode(element.elementCoordinate); + element.elementCoordinate.world().setBlockToAir(element.elementCoordinate.x, element.elementCoordinate.y, element.elementCoordinate.z); } } } - public void removeGhostNode(Coordonate c) { - NodeBase node = NodeManager.instance.getNodeFromCoordonate(c); + public void removeGhostNode(Coordinate c) { + NodeBase node = NodeManager.instance.getNodeFromCoordinate(c); if (node == null) return; node.onBreakBlock(); } - public void removeGhostAndBlock(Coordonate coordonate) { - removeGhost(coordonate); - coordonate.world().setBlockToAir(coordonate.x, coordonate.y, coordonate.z); //caca1.5.1 + public void removeGhostAndBlock(Coordinate coordinate) { + removeGhost(coordinate); + coordinate.world().setBlockToAir(coordinate.x, coordinate.y, coordinate.z); //caca1.5.1 } @Override @@ -120,7 +120,7 @@ public void readFromNBT(NBTTagCompound nbt) { GhostElement ghost = new GhostElement(); ghost.readFromNBT(tag, ""); - ghostTable.put(ghost.elementCoordonate, ghost); + ghostTable.put(ghost.elementCoordinate, ghost); }*/ } @@ -141,7 +141,7 @@ public void loadFromNBT(NBTTagCompound nbt) { GhostElement ghost = new GhostElement(); ghost.readFromNBT(tag, ""); - ghostTable.put(ghost.elementCoordonate, ghost); + ghostTable.put(ghost.elementCoordinate, ghost); } } @@ -149,7 +149,7 @@ public void saveToNBT(NBTTagCompound nbt, int dim) { int nodeCounter = 0; for (GhostElement ghost : ghostTable.values()) { - if (dim != Integer.MIN_VALUE && ghost.elementCoordonate.dimention != dim) continue; + if (dim != Integer.MIN_VALUE && ghost.elementCoordinate.dimension != dim) continue; NBTTagCompound nbtGhost = new NBTTagCompound(); ghost.writeToNBT(nbtGhost, ""); nbt.setTag("n" + nodeCounter++, nbtGhost); @@ -161,7 +161,7 @@ public void unload(int dimensionId) { while (i.hasNext()) { GhostElement n = i.next(); - if (n.elementCoordonate.dimention == dimensionId) { + if (n.elementCoordinate.dimension == dimensionId) { i.remove(); } } @@ -175,16 +175,16 @@ public boolean canCreateGhostAt(World world, int x, int y, int z) { } else return true; } - public void createGhost(Coordonate coordonate, Coordonate observerCoordonate, int UUID) { - createGhost(coordonate, observerCoordonate, UUID, Eln.ghostBlock, GhostBlock.tCube); + public void createGhost(Coordinate coordinate, Coordinate observerCoordinate, int UUID) { + createGhost(coordinate, observerCoordinate, UUID, Eln.ghostBlock, GhostBlock.tCube); } - public void createGhost(Coordonate coordonate, Coordonate observerCoordonate, int UUID, Block block, int meta) { - coordonate.world().setBlockToAir(coordonate.x, coordonate.y, coordonate.z); - if (coordonate.world().setBlock(coordonate.x, coordonate.y, coordonate.z, block, meta, 3)) { - coordonate = new Coordonate(coordonate); - GhostElement element = new GhostElement(coordonate, observerCoordonate, UUID); - ghostTable.put(element.elementCoordonate, element); + public void createGhost(Coordinate coordinate, Coordinate observerCoordinate, int UUID, Block block, int meta) { + coordinate.world().setBlockToAir(coordinate.x, coordinate.y, coordinate.z); + if (coordinate.world().setBlock(coordinate.x, coordinate.y, coordinate.z, block, meta, 3)) { + coordinate = new Coordinate(coordinate); + GhostElement element = new GhostElement(coordinate, observerCoordinate, UUID); + ghostTable.put(element.elementCoordinate, element); } } } diff --git a/src/main/java/mods/eln/ghost/GhostObserver.java b/src/main/java/mods/eln/ghost/GhostObserver.java index 4320e1a98..a46ad8a28 100644 --- a/src/main/java/mods/eln/ghost/GhostObserver.java +++ b/src/main/java/mods/eln/ghost/GhostObserver.java @@ -1,12 +1,12 @@ package mods.eln.ghost; -import mods.eln.misc.Coordonate; +import mods.eln.misc.Coordinate; import mods.eln.misc.Direction; import net.minecraft.entity.player.EntityPlayer; public interface GhostObserver { - public abstract Coordonate getGhostObserverCoordonate(); + public abstract Coordinate getGhostObserverCoordonate(); public abstract void ghostDestroyed(int UUID); diff --git a/src/main/java/mods/eln/gridnode/GridDescriptor.java b/src/main/java/mods/eln/gridnode/GridDescriptor.java index b0d9f14ac..edaba9389 100644 --- a/src/main/java/mods/eln/gridnode/GridDescriptor.java +++ b/src/main/java/mods/eln/gridnode/GridDescriptor.java @@ -60,31 +60,32 @@ public void draw(float idealRenderingAngle) { } } - @Override - public void renderItem(ItemRenderType type, ItemStack item, Object... data) { - if (type == ItemRenderType.INVENTORY) { - super.renderItem(type, item, data); - } else { - GL11.glPushMatrix(); - objItemScale(obj); - Direction.ZN.glRotateXnRef(); - GL11.glTranslatef(0, -1, 0); - GL11.glScalef(0.6f, 0.6f, 0.6f); - draw(0); - GL11.glPopMatrix(); - } - } - - @Override - public boolean handleRenderType(ItemStack item, ItemRenderType type) { - return true; - } - - @Override - public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, - ItemRendererHelper helper) { - return type != ItemRenderType.INVENTORY; - } + // TODO(1.10): Fix item render. +// @Override +// public void renderItem(ItemRenderType type, ItemStack item, Object... data) { +// if (type == ItemRenderType.INVENTORY) { +// super.renderItem(type, item, data); +// } else { +// GL11.glPushMatrix(); +// objItemScale(obj); +// Direction.ZN.glRotateXnRef(); +// GL11.glTranslatef(0, -1, 0); +// GL11.glScalef(0.6f, 0.6f, 0.6f); +// draw(0); +// GL11.glPopMatrix(); +// } +// } +// +// @Override +// public boolean handleRenderType(ItemStack item, ItemRenderType type) { +// return true; +// } +// +// @Override +// public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, +// ItemRendererHelper helper) { +// return type != ItemRenderType.INVENTORY; +// } public boolean rotationIsFixed() { return false; diff --git a/src/main/java/mods/eln/gridnode/GridElement.java b/src/main/java/mods/eln/gridnode/GridElement.java index 8051dcc4e..317248bc6 100644 --- a/src/main/java/mods/eln/gridnode/GridElement.java +++ b/src/main/java/mods/eln/gridnode/GridElement.java @@ -11,7 +11,7 @@ import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.util.Vec3; +import net.minecraft.util.math.Vec3d; import org.apache.commons.lang3.tuple.Pair; import java.io.DataOutputStream; @@ -28,7 +28,7 @@ abstract public class GridElement extends TransparentNodeElement { /** * The last place any given player tried to link two instance nodes. */ - private static HashMap> pending = new HashMap>(); + private static HashMap> pending = new HashMap>(); public HashSet gridLinkList = new HashSet(); public HashSet gridLinksBooting = new HashSet(); GridDescriptor desc; @@ -57,7 +57,7 @@ public boolean onBlockActivated(EntityPlayer entityPlayer, Direction side, float private boolean onTryGridConnect(EntityPlayer entityPlayer, ItemStack stack, ElectricalCableDescriptor cable, Direction side) { // First node, or second node? UUID uuid = entityPlayer.getPersistentID(); - Pair p = pending.get(uuid); + Pair p = pending.get(uuid); GridElement other = null; if (p != null) { other = GridLink.getElementFromCoordinate(p.getLeft()); @@ -210,7 +210,7 @@ public void updateIdealRenderAngle() { double angles[] = new double[gridLinkList.size()]; int i = 0; for (GridLink link : gridLinkList) { - Coordonate vec = link.a.subtract(link.b); + Coordinate vec = link.a.subtract(link.b); // Angles 180 degrees apart are equivalent. if (vec.z < 0) vec = vec.negate(); @@ -262,11 +262,11 @@ public void networkSerialize(DataOutputStream stream) { Direction ourSide = link.getSide(this); Direction theirSide = link.getSide(target); // It's always the "a" side doing this. - Coordonate offset = link.b.subtract(link.a); + Coordinate offset = link.b.subtract(link.a); for (int i = 0; i < 2; i++) { - final Vec3 start = getCablePoint(ourSide, i); + final Vec3d start = getCablePoint(ourSide, i); start.rotateAroundY((float) Math.toRadians(idealRenderingAngle)); - Vec3 end = target.getCablePoint(theirSide, i); + Vec3d end = target.getCablePoint(theirSide, i); end.rotateAroundY((float) Math.toRadians(target.idealRenderingAngle)); end = end.addVector(offset.x, offset.y, offset.z); writeVec(stream, start); @@ -278,14 +278,14 @@ public void networkSerialize(DataOutputStream stream) { } } - protected Vec3 getCablePoint(Direction side, int i) { + protected Vec3d getCablePoint(Direction side, int i) { if (i >= 2) throw new AssertionError("Invalid cable point index"); Obj3D.Obj3DPart part = (i == 0 ? desc.plus : desc.gnd).get(0); BoundingBox bb = part.boundingBox(); return bb.centre(); } - private void writeVec(DataOutputStream stream, Vec3 sp) throws IOException { + private void writeVec(DataOutputStream stream, Vec3d sp) throws IOException { stream.writeFloat((float) sp.xCoord); stream.writeFloat((float) sp.yCoord); stream.writeFloat((float) sp.zCoord); diff --git a/src/main/java/mods/eln/gridnode/GridLink.java b/src/main/java/mods/eln/gridnode/GridLink.java index 85172f7b3..5b4162134 100644 --- a/src/main/java/mods/eln/gridnode/GridLink.java +++ b/src/main/java/mods/eln/gridnode/GridLink.java @@ -1,7 +1,7 @@ package mods.eln.gridnode; import mods.eln.Eln; -import mods.eln.misc.Coordonate; +import mods.eln.misc.Coordinate; import mods.eln.misc.Direction; import mods.eln.misc.INBTTReady; import mods.eln.node.NodeManager; @@ -21,7 +21,7 @@ */ public class GridLink implements INBTTReady { - Coordonate a = new Coordonate(), b = new Coordonate(); + Coordinate a = new Coordinate(), b = new Coordinate(); boolean connected = false; // Drop this if the link is broken. @@ -33,7 +33,7 @@ public class GridLink implements INBTTReady { private ElectricalConnection ab; private double rs = MnaConst.highImpedance; - public GridLink(Coordonate a, Coordonate b, Direction as, Direction bs, ItemStack cable, double rs) { + public GridLink(Coordinate a, Coordinate b, Direction as, Direction bs, ItemStack cable, double rs) { this.rs = rs; assert a != null && b != null && as != null && bs != null && cable != null; this.a = a; @@ -47,7 +47,7 @@ public GridLink(NBTTagCompound nbt, String str) { readFromNBT(nbt, str); } - public static GridElement getElementFromCoordinate(Coordonate coord) { + public static GridElement getElementFromCoordinate(Coordinate coord) { if (coord == null) return null; TransparentNodeElement element = NodeManager.instance.getTransparentNodeFromCoordinate(coord); if (element instanceof GridElement) { diff --git a/src/main/java/mods/eln/gridnode/GridRender.java b/src/main/java/mods/eln/gridnode/GridRender.java index d36a10601..f75bf566b 100644 --- a/src/main/java/mods/eln/gridnode/GridRender.java +++ b/src/main/java/mods/eln/gridnode/GridRender.java @@ -5,7 +5,7 @@ import mods.eln.node.transparent.TransparentNodeElementRender; import mods.eln.node.transparent.TransparentNodeEntity; import net.minecraft.util.ResourceLocation; -import net.minecraft.util.Vec3; +import net.minecraft.util.math.Vec3d; import java.io.DataInputStream; import java.io.IOException; @@ -42,8 +42,8 @@ public void draw() { glEnable(GL_CULL_FACE); } - private Vec3 readVec(DataInputStream stream) throws IOException { - return Vec3.createVectorHelper(stream.readFloat(), stream.readFloat(), stream.readFloat()); + private Vec3d readVec(DataInputStream stream) throws IOException { + return Vec3d.createVectorHelper(stream.readFloat(), stream.readFloat(), stream.readFloat()); } @Override @@ -58,12 +58,12 @@ public void networkUnserialize(DataInputStream stream) { int linkCount = stream.readInt(); for (int i = 0; i < linkCount; i++) { // Links always come in pairs. - Vec3 splus = readVec(stream); - Vec3 tplus = readVec(stream); - Vec3 sgnd = readVec(stream); - Vec3 tgnd = readVec(stream); - Vec3 dplus = splus.subtract(tplus).normalize(); - Vec3 dgnd = sgnd.subtract(tgnd).normalize(); + Vec3d splus = readVec(stream); + Vec3d tplus = readVec(stream); + Vec3d sgnd = readVec(stream); + Vec3d tgnd = readVec(stream); + Vec3d dplus = splus.subtract(tplus).normalize(); + Vec3d dgnd = sgnd.subtract(tgnd).normalize(); double straightV = dplus.dotProduct(dgnd); dplus = splus.subtract(tgnd).normalize(); dgnd = sgnd.subtract(tplus).normalize(); @@ -89,7 +89,7 @@ public boolean cameraDrawOptimisation() { private class Catenary { final int list; - final Vec3 origin = Vec3.createVectorHelper(0, 0, 0); + final Vec3d origin = Vec3d.createVectorHelper(0, 0, 0); final int box[] = { 3, 7, 5, 3, 5, 1, 4, 8, 6, 4, 6, 2, @@ -113,9 +113,9 @@ private class Catenary { // Probably need make physical "cable" blocks, to make minecraft cooperate. // The individual blocks should do the rendering. // ...later. Much later. - Catenary(Vec3 start, Vec3 end) { + Catenary(Vec3d start, Vec3d end) { // These are the central vertices of the catenary. - Vec3[] catenary = getConnectionCatenary(start, end); + Vec3d[] catenary = getConnectionCatenary(start, end); list = glGenLists(1); glNewList(list, GL_COMPILE); @@ -126,23 +126,23 @@ private class Catenary { drawBox(spread(start, end), spread(end, start)); } else { // Four points at the starting pole. - Vec3 previous[] = spread(start, catenary[0]); + Vec3d previous[] = spread(start, catenary[0]); for (int i = 0; i < catenary.length - 1; i++) { // Some more points at intermediate junctions. - Vec3 next[] = spread(catenary[i], catenary[i + 1]); + Vec3d next[] = spread(catenary[i], catenary[i + 1]); drawBox(previous, next); previous = next; } // Finally, at the ending pole. We'll just translate the second-to-last points to fit. - Vec3 last[] = translate(previous, catenary[catenary.length - 2].subtract(catenary[catenary.length - 1])); + Vec3d last[] = translate(previous, catenary[catenary.length - 2].subtract(catenary[catenary.length - 1])); drawBox(previous, last); } glEnd(); glEndList(); } - private void drawBox(Vec3[] from, Vec3[] to) { - Vec3 v[] = new Vec3[]{from[0], from[1], from[2], from[3], to[0], to[1], to[2], to[3]}; + private void drawBox(Vec3d[] from, Vec3d[] to) { + Vec3d v[] = new Vec3d[]{from[0], from[1], from[2], from[3], to[0], to[1], to[2], to[3]}; // Figure out the lighting. // Vec3 middle = Vec3.createVectorHelper(0, 0, 0); @@ -163,39 +163,39 @@ private void drawBox(Vec3[] from, Vec3[] to) { } } - private Vec3[] translate(Vec3[] start, Vec3 delta) { - Vec3 ret[] = new Vec3[start.length]; + private Vec3d[] translate(Vec3d[] start, Vec3d delta) { + Vec3d ret[] = new Vec3d[start.length]; for (int i = 0; i < start.length; i++) { ret[i] = start[i].addVector(delta.xCoord, delta.yCoord, delta.zCoord); } return ret; } - private Vec3[] spread(Vec3 a, Vec3 b) { + private Vec3d[] spread(Vec3d a, Vec3d b) { // We want to draw a box-shaped cable following the catenary. // To start with, compute a vector perpendicular to the first // catenary segment, then rotate it around the catenary to form four points. - final Vec3 delta = b.subtract(a); + final Vec3d delta = b.subtract(a); // This is just to copy. // We don't care what r is, so long as it's linearly independent of delta. - final Vec3 r = delta.normalize(); + final Vec3d r = delta.normalize(); r.rotateAroundY(1); r.rotateAroundX(1); // This gives us one vector which is perpendicular to delta. - final Vec3 x1 = multiply(delta.crossProduct(r).normalize(), cableWidth); + final Vec3d x1 = multiply(delta.crossProduct(r).normalize(), cableWidth); // And this, another, perpendicular to delta and x1. - final Vec3 y1 = multiply(delta.crossProduct(x1).normalize(), cableWidth); + final Vec3d y1 = multiply(delta.crossProduct(x1).normalize(), cableWidth); // Now just invert those to get the other two corners. - final Vec3 x2 = negate(x1), y2 = negate(y1); - return translate(new Vec3[]{x1, y1, y2, x2}, a); + final Vec3d x2 = negate(x1), y2 = negate(y1); + return translate(new Vec3d[]{x1, y1, y2, x2}, a); } - private Vec3 negate(Vec3 v) { + private Vec3d negate(Vec3d v) { return v.subtract(origin); } - Vec3 multiply(Vec3 a, double b) { - return Vec3.createVectorHelper( + Vec3d multiply(Vec3d a, double b) { + return Vec3d.createVectorHelper( a.xCoord * b, a.yCoord * b, a.zCoord * b @@ -203,7 +203,7 @@ Vec3 multiply(Vec3 a, double b) { } // This function borrowed from Immersive Engineering. Check them out! - private Vec3[] getConnectionCatenary(Vec3 start, Vec3 end) { + private Vec3d[] getConnectionCatenary(Vec3d start, Vec3d end) { // TODO: Thermal heating. final double slack = 1.005; final int vertices = 16; @@ -225,14 +225,14 @@ private Vec3[] getConnectionCatenary(Vec3 start, Vec3 end) { double p = (0 + dw - a * Math.log((k + dy) / (k - dy))) * 0.5; double q = (dy + 0 - k * Math.cosh(l) / Math.sinh(l)) * 0.5; - Vec3[] vex = new Vec3[vertices]; + Vec3d[] vex = new Vec3d[vertices]; for (int i = 0; i < vertices; i++) { float n1 = (i + 1) / (float) vertices; double x1 = 0 + dx * n1; double z1 = 0 + dz * n1; double y1 = a * Math.cosh(((Math.sqrt(x1 * x1 + z1 * z1)) - p) / a) + q; - vex[i] = Vec3.createVectorHelper(start.xCoord + x1, start.yCoord + y1, start.zCoord + z1); + vex[i] = Vec3d.createVectorHelper(start.xCoord + x1, start.yCoord + y1, start.zCoord + z1); } return vex; } diff --git a/src/main/java/mods/eln/gridnode/transformer/GridTransformerElement.java b/src/main/java/mods/eln/gridnode/transformer/GridTransformerElement.java index d3003efe3..7883a58e4 100644 --- a/src/main/java/mods/eln/gridnode/transformer/GridTransformerElement.java +++ b/src/main/java/mods/eln/gridnode/transformer/GridTransformerElement.java @@ -12,7 +12,7 @@ import mods.eln.sim.nbt.NbtElectricalLoad; import mods.eln.sim.process.destruct.VoltageStateWatchDog; import mods.eln.sim.process.destruct.WorldExplosion; -import net.minecraft.util.Vec3; +import net.minecraft.util.math.Vec3d; /** * Created by svein on 07/08/15. @@ -88,7 +88,7 @@ public ElectricalLoad getElectricalLoad(Direction side, LRDU lrdu) { // TODO: Factor this against super. @Override - public Vec3 getCablePoint(Direction side, int i) { + public Vec3d getCablePoint(Direction side, int i) { if (i >= 2) throw new AssertionError("Invalid cable point index"); int idx = side == front.up() ? 1 : 0; Obj3D.Obj3DPart part = (i == 0 ? desc.plus : desc.gnd).get(idx); diff --git a/src/main/java/mods/eln/i18n/I18N.java b/src/main/java/mods/eln/i18n/I18N.java index f879d40e8..e27ffc4ba 100644 --- a/src/main/java/mods/eln/i18n/I18N.java +++ b/src/main/java/mods/eln/i18n/I18N.java @@ -1,14 +1,14 @@ package mods.eln.i18n; -import cpw.mods.fml.common.FMLCommonHandler; -import cpw.mods.fml.common.registry.LanguageRegistry; +import net.minecraftforge.fml.common.FMLCommonHandler; +import net.minecraft.util.text.TextComponentTranslation; + +import javax.xml.soap.Text; /** * Internationalization and localization helper class. */ public class I18N { - private final static LanguageRegistry languageRegistry = LanguageRegistry.instance(); - public static String getCurrentLanguage() { return FMLCommonHandler.instance().getCurrentLanguage(); } @@ -50,15 +50,10 @@ static String encodeLangKey(String key, boolean replaceWhitspaces) { */ public static String tr(final String text, Object... objects) { // Try to find the translation for the string using forge API. - String translation = languageRegistry.getStringLocalization(encodeLangKey(text)); + String translation = new TextComponentTranslation(encodeLangKey(text)).getFormattedText(); - // If no translation was found, just use the original text. - if (translation == null || "".equals(translation)) { - translation = text; - } else { - // Replace placeholders . - translation = translation.replace("\\n", "\n").replace("\\:", ":"); - } + // Replace placeholders . + translation = translation.replace("\\n", "\n").replace("\\:", ":"); // Replace placeholders in string by actual string values of the passed objects. for (int i = 0; i < objects.length; ++i) { diff --git a/src/main/java/mods/eln/integration/waila/GhostNodeWailaData.kt b/src/main/java/mods/eln/integration/waila/GhostNodeWailaData.kt index 2670c141e..799faf70c 100644 --- a/src/main/java/mods/eln/integration/waila/GhostNodeWailaData.kt +++ b/src/main/java/mods/eln/integration/waila/GhostNodeWailaData.kt @@ -1,11 +1,11 @@ package mods.eln.integration.waila -import mods.eln.misc.Coordonate +import mods.eln.misc.Coordinate import mods.eln.misc.Direction import mods.eln.packets.GhostNodeWailaResponsePacket import net.minecraft.item.ItemStack -data class GhostNodeWailaData(val realCoord: Coordonate, +data class GhostNodeWailaData(val realCoord: Coordinate, val itemStack: ItemStack?, val realType: Byte = GhostNodeWailaResponsePacket.UNKNOWN_TYPE, val realSide: Direction = Direction.XN) diff --git a/src/main/java/mods/eln/integration/waila/GhostNodeWailaProvider.kt b/src/main/java/mods/eln/integration/waila/GhostNodeWailaProvider.kt index d1e6dc5f2..e0f62001d 100644 --- a/src/main/java/mods/eln/integration/waila/GhostNodeWailaProvider.kt +++ b/src/main/java/mods/eln/integration/waila/GhostNodeWailaProvider.kt @@ -1,46 +1,55 @@ package mods.eln.integration.waila import com.google.common.cache.CacheLoader -import cpw.mods.fml.common.Optional import mcp.mobius.waila.api.IWailaConfigHandler import mcp.mobius.waila.api.IWailaDataAccessor import mcp.mobius.waila.api.IWailaDataProvider import mcp.mobius.waila.api.SpecialChars -import mods.eln.misc.Coordonate +import mods.eln.misc.Coordinate import mods.eln.misc.Direction import mods.eln.packets.GhostNodeWailaResponsePacket +import net.minecraft.block.state.IBlockState import net.minecraft.entity.player.EntityPlayerMP import net.minecraft.item.ItemStack import net.minecraft.nbt.NBTTagCompound import net.minecraft.tileentity.TileEntity -import net.minecraft.util.MovingObjectPosition +import net.minecraft.util.math.BlockPos +import net.minecraft.util.math.RayTraceResult import net.minecraft.world.World +import net.minecraftforge.fml.common.Optional @Optional.Interface(iface = "mcp.mobius.waila.api.IWailaDataProvider", modid = "Waila") class GhostNodeWailaProvider(private val transparentNodeProvider: TransparentNodeWailaProvider, private val sixNodeProvider: SixNodeWailaProvider) : IWailaDataProvider { - private class WailaDataAccessorProxy(val accessor: IWailaDataAccessor, val coord: Coordonate, + private class WailaDataAccessorProxy(val accessor: IWailaDataAccessor, val coord: Coordinate, val side: Direction? = null) : IWailaDataAccessor { override fun getPlayer() = accessor.player override fun getStack() = accessor.stack - override fun getPosition() = MovingObjectPosition(coord.x, coord.y, coord.z, accessor.position.sideHit, - accessor.position.hitVec) + override fun getPosition() = coord.pos override fun getSide() = if (side != null) side.toForge() else accessor.side - override fun getBlockID() = accessor.blockID override fun getPartialFrame() = accessor.partialFrame override fun getMetadata() = accessor.metadata - override fun getBlockQualifiedName() = accessor.blockQualifiedName override fun getRenderingPosition() = accessor.renderingPosition override fun getNBTData() = accessor.nbtData override fun getTileEntity() = accessor.tileEntity override fun getWorld() = coord.world() override fun getBlock() = accessor.block override fun getNBTInteger(tag: NBTTagCompound?, keyname: String?) = accessor.getNBTInteger(tag, keyname) + override fun getBlockState(): IBlockState { + TODO("not implemented") //To change body of created functions use File | Settings | File Templates. + } + override fun getMOP(): RayTraceResult { + TODO("not implemented") //To change body of created functions use File | Settings | File Templates. + } + } + + override fun getNBTData(player: EntityPlayerMP?, te: TileEntity?, tag: NBTTagCompound?, world: World?, pos: BlockPos?): NBTTagCompound { + TODO("not implemented") //To change body of created functions use File | Settings | File Templates. } private fun getGhostData(accessor: IWailaDataAccessor): GhostNodeWailaData? { - val coord = Coordonate(accessor.position.blockX, accessor.position.blockY, accessor.position.blockZ, + val coord = Coordinate(accessor.position.x, accessor.position.y, accessor.position.z, accessor.world) var ghostData: GhostNodeWailaData? = null try { @@ -51,22 +60,22 @@ class GhostNodeWailaProvider(private val transparentNodeProvider: TransparentNod return ghostData } - override fun getWailaBody(itemStack: ItemStack?, currenttip: MutableList, accessor: IWailaDataAccessor, - config: IWailaConfigHandler?): MutableList? { + override fun getWailaBody(itemStack: ItemStack?, currentTip: MutableList, accessor: IWailaDataAccessor, + config: IWailaConfigHandler?): MutableList { val ghostData = getGhostData(accessor) val realCoord = ghostData?.realCoord return if (ghostData != null && realCoord != null) { return when (ghostData.realType) { GhostNodeWailaResponsePacket.TRANSPARENT_BLOCK_TYPE -> - transparentNodeProvider.getWailaBody(itemStack, currenttip, + transparentNodeProvider.getWailaBody(itemStack, currentTip, WailaDataAccessorProxy(accessor, realCoord), config) GhostNodeWailaResponsePacket.SIXNODE_TYPE -> - sixNodeProvider.getWailaBody(itemStack, currenttip, + sixNodeProvider.getWailaBody(itemStack, currentTip, WailaDataAccessorProxy(accessor, realCoord, ghostData.realSide), config) - else -> currenttip + else -> currentTip } } else { - currenttip + currentTip } } @@ -76,9 +85,6 @@ class GhostNodeWailaProvider(private val transparentNodeProvider: TransparentNod override fun getWailaTail(itemStack: ItemStack?, currenttip: MutableList, accessor: IWailaDataAccessor, config: IWailaConfigHandler?) = currenttip - override fun getNBTData(player: EntityPlayerMP?, te: TileEntity?, tag: NBTTagCompound?, - world: World?, x: Int, y: Int, z: Int): NBTTagCompound? = null - override fun getWailaHead(itemStack: ItemStack?, currenttip: MutableList, accessor: IWailaDataAccessor, config: IWailaConfigHandler?): MutableList = if (itemStack != null) { mutableListOf("${SpecialChars.WHITE}${itemStack.displayName}") diff --git a/src/main/java/mods/eln/integration/waila/SixNodeCoordonate.kt b/src/main/java/mods/eln/integration/waila/SixNodeCoordonate.kt index 22589cdbc..f91d060d7 100644 --- a/src/main/java/mods/eln/integration/waila/SixNodeCoordonate.kt +++ b/src/main/java/mods/eln/integration/waila/SixNodeCoordonate.kt @@ -1,6 +1,6 @@ package mods.eln.integration.waila -import mods.eln.misc.Coordonate +import mods.eln.misc.Coordinate import mods.eln.misc.Direction -data class SixNodeCoordonate(val coord: Coordonate, val side: Direction) +data class SixNodeCoordonate(val coord: Coordinate, val side: Direction) diff --git a/src/main/java/mods/eln/integration/waila/SixNodeWailaProvider.kt b/src/main/java/mods/eln/integration/waila/SixNodeWailaProvider.kt index 43b52cc40..7f27b29cf 100644 --- a/src/main/java/mods/eln/integration/waila/SixNodeWailaProvider.kt +++ b/src/main/java/mods/eln/integration/waila/SixNodeWailaProvider.kt @@ -1,25 +1,26 @@ package mods.eln.integration.waila import com.google.common.cache.CacheLoader -import cpw.mods.fml.common.Optional import mcp.mobius.waila.api.IWailaConfigHandler import mcp.mobius.waila.api.IWailaDataAccessor import mcp.mobius.waila.api.IWailaDataProvider import mcp.mobius.waila.api.SpecialChars -import mods.eln.misc.Coordonate +import mods.eln.misc.Coordinate import mods.eln.misc.Direction import net.minecraft.entity.player.EntityPlayerMP import net.minecraft.item.ItemStack import net.minecraft.nbt.NBTTagCompound import net.minecraft.tileentity.TileEntity +import net.minecraft.util.math.BlockPos import net.minecraft.world.World +import net.minecraftforge.fml.common.Optional @Optional.Interface(iface = "mcp.mobius.waila.api.IWailaDataProvider", modid = "Waila") class SixNodeWailaProvider : IWailaDataProvider { private fun getSixData(accessor: IWailaDataAccessor): SixNodeWailaData? { - val coord = Coordonate(accessor.position.blockX, accessor.position.blockY, accessor.position.blockZ, + val coord = Coordinate(accessor.position.x, accessor.position.y, accessor.position.z, accessor.world) - val side = Direction.from(accessor.side) + val side = Direction.fromFacing(accessor.side) var sixData: SixNodeWailaData? = null try { sixData = WailaCache.sixNodes.get(SixNodeCoordonate(coord, side)) @@ -44,8 +45,9 @@ class SixNodeWailaProvider : IWailaDataProvider { override fun getWailaTail(itemStack: ItemStack?, currenttip: MutableList, accessor: IWailaDataAccessor?, config: IWailaConfigHandler?): MutableList = currenttip - override fun getNBTData(player: EntityPlayerMP?, te: TileEntity?, tag: NBTTagCompound?, world: World?, - x: Int, y: Int, z: Int): NBTTagCompound? = null + override fun getNBTData(player: EntityPlayerMP?, te: TileEntity?, tag: NBTTagCompound?, world: World?, pos: BlockPos?): NBTTagCompound { + TODO("not implemented") //To change body of created functions use File | Settings | File Templates. + } override fun getWailaHead(itemStack: ItemStack?, currenttip: MutableList, accessor: IWailaDataAccessor, config: IWailaConfigHandler?): MutableList = if (itemStack != null) { diff --git a/src/main/java/mods/eln/integration/waila/TransparentNodeWailaProvider.kt b/src/main/java/mods/eln/integration/waila/TransparentNodeWailaProvider.kt index b9441260f..3a1f3db1f 100644 --- a/src/main/java/mods/eln/integration/waila/TransparentNodeWailaProvider.kt +++ b/src/main/java/mods/eln/integration/waila/TransparentNodeWailaProvider.kt @@ -1,23 +1,24 @@ package mods.eln.integration.waila import com.google.common.cache.CacheLoader -import cpw.mods.fml.common.Optional import mcp.mobius.waila.api.IWailaConfigHandler import mcp.mobius.waila.api.IWailaDataAccessor import mcp.mobius.waila.api.IWailaDataProvider import mcp.mobius.waila.api.SpecialChars -import mods.eln.misc.Coordonate +import mods.eln.misc.Coordinate import net.minecraft.entity.player.EntityPlayerMP import net.minecraft.item.ItemStack import net.minecraft.nbt.NBTTagCompound import net.minecraft.tileentity.TileEntity +import net.minecraft.util.math.BlockPos import net.minecraft.world.World +import net.minecraftforge.fml.common.Optional @Optional.Interface(iface = "mcp.mobius.waila.api.IWailaDataProvider", modid = "Waila") class TransparentNodeWailaProvider : IWailaDataProvider { override fun getWailaBody(itemStack: ItemStack?, currenttip: MutableList, - accessor: IWailaDataAccessor, config: IWailaConfigHandler?): MutableList? { - val coord = Coordonate(accessor.position.blockX, accessor.position.blockY, accessor.position.blockZ, + accessor: IWailaDataAccessor, config: IWailaConfigHandler?): MutableList { + val coord = Coordinate(accessor.position.x, accessor.position.y, accessor.position.z, accessor.world) try { WailaCache.nodes.get(coord)?.forEach { currenttip.add("${it.key}: ${SpecialChars.WHITE}${it.value}") } @@ -28,19 +29,19 @@ class TransparentNodeWailaProvider : IWailaDataProvider { return currenttip } + override fun getNBTData(player: EntityPlayerMP?, te: TileEntity?, tag: NBTTagCompound?, world: World?, pos: BlockPos?): NBTTagCompound { + TODO("not implemented") //To change body of created functions use File | Settings | File Templates. + } + override fun getWailaStack(accessor: IWailaDataAccessor?, config: IWailaConfigHandler?): ItemStack? { return null } - override fun getWailaTail(itemStack: ItemStack?, currenttip: MutableList?, accessor: IWailaDataAccessor?, config: IWailaConfigHandler?): MutableList? { + override fun getWailaTail(itemStack: ItemStack?, currenttip: MutableList, accessor: IWailaDataAccessor?, config: IWailaConfigHandler?): MutableList { return currenttip } - override fun getNBTData(player: EntityPlayerMP?, te: TileEntity?, tag: NBTTagCompound?, world: World?, x: Int, y: Int, z: Int): NBTTagCompound? { - return null - } - - override fun getWailaHead(itemStack: ItemStack?, currenttip: MutableList?, accessor: IWailaDataAccessor?, config: IWailaConfigHandler?): MutableList? { + override fun getWailaHead(itemStack: ItemStack?, currenttip: MutableList, accessor: IWailaDataAccessor?, config: IWailaConfigHandler?): MutableList { return currenttip } diff --git a/src/main/java/mods/eln/integration/waila/WailaCache.java b/src/main/java/mods/eln/integration/waila/WailaCache.java index d6b63506a..4521ac8e8 100644 --- a/src/main/java/mods/eln/integration/waila/WailaCache.java +++ b/src/main/java/mods/eln/integration/waila/WailaCache.java @@ -6,7 +6,7 @@ import com.google.common.util.concurrent.Futures; import com.google.common.util.concurrent.ListenableFuture; import mods.eln.Eln; -import mods.eln.misc.Coordonate; +import mods.eln.misc.Coordinate; import mods.eln.packets.GhostNodeWailaRequestPacket; import mods.eln.packets.SixNodeWailaRequestPacket; import mods.eln.packets.TransparentNodeRequestPacket; @@ -19,18 +19,18 @@ */ public class WailaCache { - public static LoadingCache> nodes = CacheBuilder.newBuilder() + public static LoadingCache> nodes = CacheBuilder.newBuilder() .maximumSize(20) .refreshAfterWrite(2, TimeUnit.SECONDS) .build( - new CacheLoader>() { - public Map load(Coordonate key) throws Exception { + new CacheLoader>() { + public Map load(Coordinate key) throws Exception { Eln.elnNetwork.sendToServer(new TransparentNodeRequestPacket(key)); return null; } @Override - public ListenableFuture> reload(Coordonate key, + public ListenableFuture> reload(Coordinate key, Map oldValue) throws Exception { load(key); return Futures.immediateFuture(oldValue); @@ -57,18 +57,18 @@ public ListenableFuture reload(SixNodeCoordonate key, } ); - public static LoadingCache ghostNodes = CacheBuilder.newBuilder() + public static LoadingCache ghostNodes = CacheBuilder.newBuilder() .maximumSize(20) .refreshAfterWrite(10, TimeUnit.SECONDS) .build( - new CacheLoader() { - public GhostNodeWailaData load(Coordonate key) throws Exception { + new CacheLoader() { + public GhostNodeWailaData load(Coordinate key) throws Exception { Eln.elnNetwork.sendToServer(new GhostNodeWailaRequestPacket(key)); return null; } @Override - public ListenableFuture reload(Coordonate key, + public ListenableFuture reload(Coordinate key, GhostNodeWailaData oldValue) throws Exception { load(key); return Futures.immediateFuture(oldValue); diff --git a/src/main/java/mods/eln/integration/waila/WailaIntegration.kt b/src/main/java/mods/eln/integration/waila/WailaIntegration.kt index 2f1aece64..9aa546ae5 100644 --- a/src/main/java/mods/eln/integration/waila/WailaIntegration.kt +++ b/src/main/java/mods/eln/integration/waila/WailaIntegration.kt @@ -1,7 +1,7 @@ package mods.eln.integration.waila -import cpw.mods.fml.common.Optional import mcp.mobius.waila.api.IWailaRegistrar +import net.minecraftforge.fml.common.Optional @Optional.Interface(iface = "mcp.mobius.waila.api.IWailaRegistrar", modid = "Waila") object WailaIntegration { diff --git a/src/main/java/mods/eln/item/BrushDescriptor.kt b/src/main/java/mods/eln/item/BrushDescriptor.kt index c20d27bff..175739dde 100644 --- a/src/main/java/mods/eln/item/BrushDescriptor.kt +++ b/src/main/java/mods/eln/item/BrushDescriptor.kt @@ -3,16 +3,14 @@ package mods.eln.item import mods.eln.generic.GenericItemUsingDamageDescriptor import mods.eln.i18n.I18N.tr import mods.eln.misc.Utils -import mods.eln.misc.UtilsClient import mods.eln.wiki.Data import net.minecraft.client.Minecraft import net.minecraft.entity.player.EntityPlayer import net.minecraft.item.Item import net.minecraft.item.ItemStack import net.minecraft.nbt.NBTTagCompound +import net.minecraft.nbt.NBTTagInt import net.minecraft.util.ResourceLocation -import net.minecraftforge.client.IItemRenderer -import org.lwjgl.opengl.GL11 class BrushDescriptor(name: String): GenericItemUsingDamageDescriptor(name) { @@ -32,13 +30,10 @@ class BrushDescriptor(name: String): GenericItemUsingDamageDescriptor(name) { fun getColor(stack: ItemStack) = stack.itemDamage and 0xF - private fun getLife(stack: ItemStack?) = if (stack == null || stack.tagCompound == null) - 32 - else - stack.tagCompound.getInteger("life") + private fun getLife(stack: ItemStack?): Int = stack?.tagCompound?.getInteger("life") ?: 32 fun setLife(stack: ItemStack, life: Int) { - stack.tagCompound.setInteger("life", life) + stack.setTagInfo("life", NBTTagInt(life)) } override fun getDefaultNBT(): NBTTagCompound? { @@ -52,17 +47,17 @@ class BrushDescriptor(name: String): GenericItemUsingDamageDescriptor(name) { if (itemStack != null) { val creative = Minecraft.getMinecraft().thePlayer.capabilities.isCreativeMode - list.add(tr("Can paint %1$ blocks", if (creative) "infinite" else itemStack.tagCompound.getInteger("life"))) + list.add(tr("Can paint %1$ blocks", if (creative) "infinite" else itemStack.tagCompound!!.getInteger("life"))) } } fun use(stack: ItemStack, entityPlayer: EntityPlayer): Boolean { val creative = Minecraft.getMinecraft().thePlayer.capabilities.isCreativeMode - var life = stack.tagCompound.getInteger("life") + var life = stack.tagCompound!!.getInteger("life") return if (creative || life != 0) { if (!creative) { --life - stack.tagCompound.setInteger("life", life) + stack.tagCompound!!.setInteger("life", life) } true } else { @@ -71,24 +66,20 @@ class BrushDescriptor(name: String): GenericItemUsingDamageDescriptor(name) { } } - override fun handleRenderType(item: ItemStack, type: IItemRenderer.ItemRenderType) = type == IItemRenderer.ItemRenderType.INVENTORY - - override fun shouldUseRenderHelper(type: IItemRenderer.ItemRenderType, item: ItemStack, helper: IItemRenderer.ItemRendererHelper) = - type != IItemRenderer.ItemRenderType.INVENTORY - - override fun renderItem(type: IItemRenderer.ItemRenderType, item: ItemStack, vararg data: Any) { - if (type == IItemRenderer.ItemRenderType.INVENTORY) { - val creative = Minecraft.getMinecraft().thePlayer.capabilities.isCreativeMode - UtilsClient.drawIcon(type, icon) - if (!creative) { - GL11.glColor4f(1f, 1f, 1f, 0.75f - 0.75f * getLife(item) / 32f) - UtilsClient.drawIcon(type, dryOverlay) - GL11.glColor3f(1f, 1f, 1f) - } - } else { - super.renderItem(type, item, *data) - } - } +// TODO(1.10): Reimplement brush coloring +// override fun renderItem(type: IItemRenderer.ItemRenderType, item: ItemStack, vararg data: Any) { +// if (type == IItemRenderer.ItemRenderType.INVENTORY) { +// val creative = Minecraft.getMinecraft().thePlayer.capabilities.isCreativeMode +// UtilsClient.drawIcon(type, icon) +// if (!creative) { +// GL11.glColor4f(1f, 1f, 1f, 0.75f - 0.75f * getLife(item) / 32f) +// UtilsClient.drawIcon(type, dryOverlay) +// GL11.glColor3f(1f, 1f, 1f) +// } +// } else { +// super.renderItem(type, item, *data) +// } +// } companion object { private val dryOverlay = ResourceLocation("eln", "textures/items/brushdryoverlay.png") diff --git a/src/main/java/mods/eln/item/ElectricalFuseDescriptor.kt b/src/main/java/mods/eln/item/ElectricalFuseDescriptor.kt index 9c947f702..b40b8b94d 100644 --- a/src/main/java/mods/eln/item/ElectricalFuseDescriptor.kt +++ b/src/main/java/mods/eln/item/ElectricalFuseDescriptor.kt @@ -2,13 +2,9 @@ package mods.eln.item import mods.eln.misc.Obj3D import mods.eln.misc.VoltageLevelColor -import mods.eln.misc.preserveMatrix import mods.eln.sixnode.electricalcable.ElectricalCableDescriptor import mods.eln.wiki.Data import net.minecraft.item.Item -import net.minecraft.item.ItemStack -import net.minecraftforge.client.IItemRenderer -import org.lwjgl.opengl.GL11 class ElectricalFuseDescriptor(name: String, val cableDescriptor: ElectricalCableDescriptor?, obj: Obj3D?) : GenericItemUsingDamageDescriptorUpgrade(name) { @@ -31,30 +27,28 @@ class ElectricalFuseDescriptor(name: String, val cableDescriptor: ElectricalCabl } } - override fun shouldUseRenderHelper(type: IItemRenderer.ItemRenderType?, item: ItemStack?, - helper: IItemRenderer.ItemRendererHelper?) = type != IItemRenderer.ItemRenderType.INVENTORY - - override fun renderItem(type: IItemRenderer.ItemRenderType?, item: ItemStack?, vararg data: Any?) { - when (type) { - IItemRenderer.ItemRenderType.INVENTORY -> super.renderItem(type, item, *data) - else -> { - preserveMatrix { - GL11.glTranslatef(0.6f, 0.4f, 0.8f) - GL11.glRotatef(150f, 0.6f, 1f, 0f) - GL11.glScalef(1.5f, 1.5f, 1.5f) - if (fuseType != null) { - voltageLevelColor.setGLColor() - fuseType.draw() - GL11.glColor3f(1f, 1f, 1f) - } - if (cableDescriptor != null) { - fuseOk?.draw() - } - fuse?.draw() - } - } - } - } + // TODO(1.10): Reimplement fuse coloring +// override fun renderItem(type: IItemRenderer.ItemRenderType?, item: ItemStack?, vararg data: Any?) { +// when (type) { +// IItemRenderer.ItemRenderType.INVENTORY -> super.renderItem(type, item, *data) +// else -> { +// preserveMatrix { +// GL11.glTranslatef(0.6f, 0.4f, 0.8f) +// GL11.glRotatef(150f, 0.6f, 1f, 0f) +// GL11.glScalef(1.5f, 1.5f, 1.5f) +// if (fuseType != null) { +// voltageLevelColor.setGLColor() +// fuseType.draw() +// GL11.glColor3f(1f, 1f, 1f) +// } +// if (cableDescriptor != null) { +// fuseOk?.draw() +// } +// fuse?.draw() +// } +// } +// } +// } override fun setParent(item: Item?, damage: Int) { super.setParent(item, damage) diff --git a/src/main/java/mods/eln/item/electricalinterface/ItemEnergyInventoryProcess.java b/src/main/java/mods/eln/item/electricalinterface/ItemEnergyInventoryProcess.java index 01df192aa..dd26cbfc3 100644 --- a/src/main/java/mods/eln/item/electricalinterface/ItemEnergyInventoryProcess.java +++ b/src/main/java/mods/eln/item/electricalinterface/ItemEnergyInventoryProcess.java @@ -1,6 +1,6 @@ package mods.eln.item.electricalinterface; -import cpw.mods.fml.common.FMLCommonHandler; +import net.minecraftforge.fml.common.FMLCommonHandler; import mods.eln.Eln; import mods.eln.misc.Utils; import mods.eln.sim.IProcess; diff --git a/src/main/java/mods/eln/item/electricalitem/BatteryItem.java b/src/main/java/mods/eln/item/electricalitem/BatteryItem.java index 93eab5aa3..a667d381a 100644 --- a/src/main/java/mods/eln/item/electricalitem/BatteryItem.java +++ b/src/main/java/mods/eln/item/electricalitem/BatteryItem.java @@ -3,15 +3,12 @@ import mods.eln.generic.GenericItemUsingDamageDescriptor; import mods.eln.item.electricalinterface.IItemEnergyBattery; import mods.eln.misc.Utils; -import mods.eln.misc.UtilsClient; import mods.eln.wiki.Data; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.ResourceLocation; -import net.minecraftforge.client.IItemRenderer.ItemRenderType; -import net.minecraftforge.client.IItemRenderer.ItemRendererHelper; import java.util.List; @@ -86,23 +83,24 @@ public int getPriority(ItemStack stack) { return priority; } - @Override - public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { - return type != ItemRenderType.INVENTORY; - } - - @Override - public boolean handleRenderType(ItemStack item, ItemRenderType type) { - return true; - } - - @Override - public void renderItem(ItemRenderType type, ItemStack item, Object... data) { - super.renderItem(type, item, data); - if (type == ItemRenderType.INVENTORY) { - UtilsClient.drawEnergyBare(type, (float) (getEnergy(item) / getEnergyMax(item))); - } - } + // TODO(1.10): Fix item render. +// @Override +// public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { +// return type != ItemRenderType.INVENTORY; +// } +// +// @Override +// public boolean handleRenderType(ItemStack item, ItemRenderType type) { +// return true; +// } +// +// @Override +// public void renderItem(ItemRenderType type, ItemStack item, Object... data) { +// super.renderItem(type, item, data); +// if (type == ItemRenderType.INVENTORY) { +// UtilsClient.drawEnergyBare(type, (float) (getEnergy(item) / getEnergyMax(item))); +// } +// } @Override public void electricalItemUpdate(ItemStack stack, double time) { diff --git a/src/main/java/mods/eln/item/electricalitem/ElectricalLampItem.java b/src/main/java/mods/eln/item/electricalitem/ElectricalLampItem.java index 3623561d9..ec252b2eb 100644 --- a/src/main/java/mods/eln/item/electricalitem/ElectricalLampItem.java +++ b/src/main/java/mods/eln/item/electricalitem/ElectricalLampItem.java @@ -11,8 +11,6 @@ import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.ResourceLocation; import net.minecraft.world.World; -import net.minecraftforge.client.IItemRenderer.ItemRenderType; -import net.minecraftforge.client.IItemRenderer.ItemRendererHelper; import java.util.List; @@ -203,25 +201,26 @@ public int getPriority(ItemStack stack) { return 0; } - @Override - public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { - if (type == ItemRenderType.INVENTORY) - return false; - return true; - } - - @Override - public boolean handleRenderType(ItemStack item, ItemRenderType type) { - return true; - } - - @Override - public void renderItem(ItemRenderType type, ItemStack item, Object... data) { - UtilsClient.drawIcon(type, (getLight(item) != 0 && getLightState(item) != 0 ? on : off)); - if (type == ItemRenderType.INVENTORY) { - UtilsClient.drawEnergyBare(type, (float) (getEnergy(item) / getEnergyMax(item))); - } - } + // TODO(1.10): Fix item render. +// @Override +// public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { +// if (type == ItemRenderType.INVENTORY) +// return false; +// return true; +// } +// +// @Override +// public boolean handleRenderType(ItemStack item, ItemRenderType type) { +// return true; +// } +// +// @Override +// public void renderItem(ItemRenderType type, ItemStack item, Object... data) { +// UtilsClient.drawIcon(type, (getLight(item) != 0 && getLightState(item) != 0 ? on : off)); +// if (type == ItemRenderType.INVENTORY) { +// UtilsClient.drawEnergyBare(type, (float) (getEnergy(item) / getEnergyMax(item))); +// } +// } @Override public void electricalItemUpdate(ItemStack stack, double time) { diff --git a/src/main/java/mods/eln/item/electricalitem/ElectricalTool.java b/src/main/java/mods/eln/item/electricalitem/ElectricalTool.java index db9a85fc1..c67d8d447 100644 --- a/src/main/java/mods/eln/item/electricalitem/ElectricalTool.java +++ b/src/main/java/mods/eln/item/electricalitem/ElectricalTool.java @@ -13,8 +13,6 @@ import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.ResourceLocation; import net.minecraft.world.World; -import net.minecraftforge.client.IItemRenderer.ItemRenderType; -import net.minecraftforge.client.IItemRenderer.ItemRendererHelper; import java.util.List; @@ -142,25 +140,26 @@ public int getPriority(ItemStack stack) { return 0; } - @Override - public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { - if (type == ItemRenderType.INVENTORY) - return false; - return true; - } - - @Override - public boolean handleRenderType(ItemStack item, ItemRenderType type) { - return true; - } - - @Override - public void renderItem(ItemRenderType type, ItemStack item, Object... data) { - super.renderItem(type, item, data); - if (type == ItemRenderType.INVENTORY) { - UtilsClient.drawEnergyBare(type, (float) (getEnergy(item) / getEnergyMax(item))); - } - } + // TODO(1.10): Fix item render. +// @Override +// public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { +// if (type == ItemRenderType.INVENTORY) +// return false; +// return true; +// } +// +// @Override +// public boolean handleRenderType(ItemStack item, ItemRenderType type) { +// return true; +// } +// +// @Override +// public void renderItem(ItemRenderType type, ItemStack item, Object... data) { +// super.renderItem(type, item, data); +// if (type == ItemRenderType.INVENTORY) { +// UtilsClient.drawEnergyBare(type, (float) (getEnergy(item) / getEnergyMax(item))); +// } +// } @Override public void electricalItemUpdate(ItemStack stack, double time) { diff --git a/src/main/java/mods/eln/item/electricalitem/LampItem.java b/src/main/java/mods/eln/item/electricalitem/LampItem.java index 21c96c3d4..efcea4603 100644 --- a/src/main/java/mods/eln/item/electricalitem/LampItem.java +++ b/src/main/java/mods/eln/item/electricalitem/LampItem.java @@ -7,8 +7,8 @@ import net.minecraft.entity.Entity; import net.minecraft.init.Blocks; import net.minecraft.item.ItemStack; -import net.minecraft.util.MathHelper; -import net.minecraft.util.Vec3; +import net.minecraft.util.math.MathHelper; +import net.minecraft.util.math.Vec3d; import net.minecraft.world.World; public abstract class LampItem extends GenericItemUsingDamageDescriptor { @@ -33,7 +33,7 @@ public void onUpdate(ItemStack stack, World world, Entity entity, int par4, bool for (int yOffset = 0; yOffset < 2; yOffset++) { double x = entity.posX, y = entity.posY + 1.62 - yOffset, z = entity.posZ; - Vec3 v = entity.getLookVec(); + Vec3d v = entity.getLookVec(); v.xCoord *= 0.25; v.yCoord *= 0.25; diff --git a/src/main/java/mods/eln/item/electricalitem/PortableOreScannerItem.java b/src/main/java/mods/eln/item/electricalitem/PortableOreScannerItem.java index 4d3353a93..fcf899f98 100644 --- a/src/main/java/mods/eln/item/electricalitem/PortableOreScannerItem.java +++ b/src/main/java/mods/eln/item/electricalitem/PortableOreScannerItem.java @@ -17,13 +17,10 @@ import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.util.MathHelper; import net.minecraft.util.ResourceLocation; import net.minecraft.world.World; import net.minecraft.world.chunk.Chunk; import net.minecraft.world.chunk.storage.ExtendedBlockStorage; -import net.minecraftforge.client.IItemRenderer.ItemRenderType; -import net.minecraftforge.client.IItemRenderer.ItemRendererHelper; import org.lwjgl.opengl.GL11; import java.util.List; @@ -237,25 +234,6 @@ public int getPriority(ItemStack stack) { return 0; } - @Override - public boolean handleRenderType(ItemStack item, ItemRenderType type) { - return true; - } - - @Override - public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { - return type != ItemRenderType.INVENTORY; - } - - /* - @Override - public boolean onEntitySwing(EntityLivingBase entityLiving, ItemStack stack) { - if(entityLiving.worldObj.isRemote == false){ - setDamage(stack, (byte) (getDamage(stack)+1)); - Utils.println("Break"); - } - return super.onEntitySwing(entityLiving, stack); - }*/ public boolean onBlockStartBreak(ItemStack itemstack, int x, int y, int z, EntityPlayer player) { if (!player.worldObj.isRemote) { setDamage(itemstack, (byte) (getDamage(itemstack) + 1)); @@ -264,165 +242,176 @@ public boolean onBlockStartBreak(ItemStack itemstack, int x, int y, int z, Entit return super.onBlockStartBreak(itemstack, x, y, z, player); } - @Override - public void renderItem(ItemRenderType type, ItemStack item, Object... data) { - if (type == ItemRenderType.INVENTORY) { - super.renderItem(type, item, data); - UtilsClient.drawEnergyBare(type, (float) (getEnergy(item) / getEnergyMax(item))); - return; - } - - double energy = getEnergy(item); - byte state = getState(item); - - GL11.glPushMatrix(); - Entity e; - - switch (type) { - case ENTITY: - e = null; - GL11.glTranslatef(0, -0.2f, 0); - GL11.glRotatef(90, 0, 0, 1); - break; - - case EQUIPPED: - e = (Entity) data[1]; - GL11.glRotatef(130, 0, 0, 1); - GL11.glRotatef(140, 1, 0, 0); - GL11.glRotatef(-20, 0, 1, 0); - GL11.glScalef(1.6f, 1.6f, 1.6f); - GL11.glTranslatef(-0.2f, 0.7f, -0.0f); - break; - - case EQUIPPED_FIRST_PERSON: - e = (Entity) data[1]; - GL11.glTranslatef(0, 1, 0); - GL11.glRotatef(90, 0, 0, 1); - GL11.glRotatef(35, 1, 0, 0); - GL11.glTranslatef(0.0f, 1, -0.2f); - break; - - case INVENTORY: - GL11.glPopMatrix(); - return; - - case FIRST_PERSON_MAP: - e = null; - break; - - default: - e = null; - break; - } - - boolean drawScreen = e != null && UtilsClient.clientDistanceTo(e) < 10; - boolean drawRay = drawScreen && state == sRun; - - base.draw(); - - if (drawRay) { - GL11.glPushMatrix(); - - Object oRender = Eln.clientLiveDataManager.getData(item, 1); - if (oRender == null) - oRender = Eln.clientLiveDataManager.newData(item, new RenderStorage(viewRange, viewYAlpha, resWidth, resHeight), 1); - RenderStorage render = (RenderStorage) oRender; - - render.generate(e.worldObj, e.posX, Utils.getHeadPosY(e), e.posZ, e.rotationYaw * (float) Math.PI / 180.0F, e.rotationPitch * (float) Math.PI / 180.0F); - - float scale = 1f / resWidth * 0.50f; - float p = 1 / 64f; - GL11.glTranslatef(0.90668f, 0.163f, -0.25078f); - GL11.glRotatef(270, 1, 0, 0); - GL11.glRotatef(270, 0, 0, 1); - GL11.glScalef(scale, -scale, 1); - render.draw(); - - GL11.glPopMatrix(); - - float r = 0, g = 0, b = 0; - int count = 0; - - for (int y = 0; y < resHeight; y += 6) { - for (int x = 0; x < resHeight; x += 6) { - r += render.screenRed[y][x]; - g += render.screenGreen[y][x]; - b += render.screenBlue[y][x]; - count++; - } - } - r /= count; - g /= count; - b /= count; - UtilsClient.drawHalo(screenLuma, r, g, b, e, false); - } - - if (drawScreen) { - if (state == sIdle) { - GL11.glColor4f(0.5f, 0.5f, 0.5f, 1f); - led.draw(); - GL11.glColor4f(1f, 1f, 1f, 1f); - buttons.draw(); - } - UtilsClient.disableLight(); - if (state != sIdle) { - GL11.glColor4f(1f, 1f, 1f, 1f); - buttons.draw(); - - float r = 0, g = 0, b = 0; - switch (state) { - case sBoot: - r = 0.9f; - g = 0.4f; - b = 0f; - break; - case sRun: - r = 0f; - g = 1f; - b = 0f; - break; - case sStop: - r = 1f; - g = 0f; - b = 0f; - break; - default: - break; - } - GL11.glColor4f(r * 0.6f, g * 0.6f, b * 0.6f, 1f); - led.draw(); - UtilsClient.enableBlend(); - UtilsClient.drawHaloNoLightSetup(ledHalo, r, g, b, e, false); - } - - GL11.glColor4f(1f, 1f, 1f, 0.4f); - switch (state) { - case sBoot: - textInit.draw(); - break; - case sRun: - textRun.draw(); - int batLevel = Math.min(textBat.length - 1, (int) (energy / energyStorage * textBat.length + 0.5f)); - textBat[batLevel].draw(); - break; - default: - break; - } - UtilsClient.enableBlend(); - GL11.glColor4f(1f, 1f, 1f, 1f); - int breakLevel = getDamage(item) / damagePerBreakLevel; - if (state == sIdle) breakLevel = Math.min(breakLevel, screenDamage.length - 1); - for (int idx = 0; idx < breakLevel; idx++) { - if (idx == screenDamage.length) break; - screenDamage[Math.min(screenDamage.length - 1, breakLevel - 1) - idx].draw(); - } - - UtilsClient.disableBlend(); - UtilsClient.enableLight(); - } - - GL11.glPopMatrix(); - } + // TODO(1.10): Fix item render. +// @Override +// public boolean handleRenderType(ItemStack item, ItemRenderType type) { +// return true; +// } +// +// @Override +// public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { +// return type != ItemRenderType.INVENTORY; +// } +// +// @Override +// public void renderItem(ItemRenderType type, ItemStack item, Object... data) { +// if (type == ItemRenderType.INVENTORY) { +// super.renderItem(type, item, data); +// UtilsClient.drawEnergyBare(type, (float) (getEnergy(item) / getEnergyMax(item))); +// return; +// } +// +// double energy = getEnergy(item); +// byte state = getState(item); +// +// GL11.glPushMatrix(); +// Entity e; +// +// switch (type) { +// case ENTITY: +// e = null; +// GL11.glTranslatef(0, -0.2f, 0); +// GL11.glRotatef(90, 0, 0, 1); +// break; +// +// case EQUIPPED: +// e = (Entity) data[1]; +// GL11.glRotatef(130, 0, 0, 1); +// GL11.glRotatef(140, 1, 0, 0); +// GL11.glRotatef(-20, 0, 1, 0); +// GL11.glScalef(1.6f, 1.6f, 1.6f); +// GL11.glTranslatef(-0.2f, 0.7f, -0.0f); +// break; +// +// case EQUIPPED_FIRST_PERSON: +// e = (Entity) data[1]; +// GL11.glTranslatef(0, 1, 0); +// GL11.glRotatef(90, 0, 0, 1); +// GL11.glRotatef(35, 1, 0, 0); +// GL11.glTranslatef(0.0f, 1, -0.2f); +// break; +// +// case INVENTORY: +// GL11.glPopMatrix(); +// return; +// +// case FIRST_PERSON_MAP: +// e = null; +// break; +// +// default: +// e = null; +// break; +// } +// +// boolean drawScreen = e != null && UtilsClient.clientDistanceTo(e) < 10; +// boolean drawRay = drawScreen && state == sRun; +// +// base.draw(); +// +// if (drawRay) { +// GL11.glPushMatrix(); +// +// Object oRender = Eln.clientLiveDataManager.getData(item, 1); +// if (oRender == null) +// oRender = Eln.clientLiveDataManager.newData(item, new RenderStorage(viewRange, viewYAlpha, resWidth, resHeight), 1); +// RenderStorage render = (RenderStorage) oRender; +// +// render.generate(e.worldObj, e.posX, Utils.getHeadPosY(e), e.posZ, e.rotationYaw * (float) Math.PI / 180.0F, e.rotationPitch * (float) Math.PI / 180.0F); +// +// float scale = 1f / resWidth * 0.50f; +// float p = 1 / 64f; +// GL11.glTranslatef(0.90668f, 0.163f, -0.25078f); +// GL11.glRotatef(270, 1, 0, 0); +// GL11.glRotatef(270, 0, 0, 1); +// GL11.glScalef(scale, -scale, 1); +// render.draw(); +// +// GL11.glPopMatrix(); +// +// float r = 0, g = 0, b = 0; +// int count = 0; +// +// for (int y = 0; y < resHeight; y += 6) { +// for (int x = 0; x < resHeight; x += 6) { +// r += render.screenRed[y][x]; +// g += render.screenGreen[y][x]; +// b += render.screenBlue[y][x]; +// count++; +// } +// } +// r /= count; +// g /= count; +// b /= count; +// UtilsClient.drawHalo(screenLuma, r, g, b, e, false); +// } +// +// if (drawScreen) { +// if (state == sIdle) { +// GL11.glColor4f(0.5f, 0.5f, 0.5f, 1f); +// led.draw(); +// GL11.glColor4f(1f, 1f, 1f, 1f); +// buttons.draw(); +// } +// UtilsClient.disableLight(); +// if (state != sIdle) { +// GL11.glColor4f(1f, 1f, 1f, 1f); +// buttons.draw(); +// +// float r = 0, g = 0, b = 0; +// switch (state) { +// case sBoot: +// r = 0.9f; +// g = 0.4f; +// b = 0f; +// break; +// case sRun: +// r = 0f; +// g = 1f; +// b = 0f; +// break; +// case sStop: +// r = 1f; +// g = 0f; +// b = 0f; +// break; +// default: +// break; +// } +// GL11.glColor4f(r * 0.6f, g * 0.6f, b * 0.6f, 1f); +// led.draw(); +// UtilsClient.enableBlend(); +// UtilsClient.drawHaloNoLightSetup(ledHalo, r, g, b, e, false); +// } +// +// GL11.glColor4f(1f, 1f, 1f, 0.4f); +// switch (state) { +// case sBoot: +// textInit.draw(); +// break; +// case sRun: +// textRun.draw(); +// int batLevel = Math.min(textBat.length - 1, (int) (energy / energyStorage * textBat.length + 0.5f)); +// textBat[batLevel].draw(); +// break; +// default: +// break; +// } +// UtilsClient.enableBlend(); +// GL11.glColor4f(1f, 1f, 1f, 1f); +// int breakLevel = getDamage(item) / damagePerBreakLevel; +// if (state == sIdle) breakLevel = Math.min(breakLevel, screenDamage.length - 1); +// for (int idx = 0; idx < breakLevel; idx++) { +// if (idx == screenDamage.length) break; +// screenDamage[Math.min(screenDamage.length - 1, breakLevel - 1) - idx].draw(); +// } +// +// UtilsClient.disableBlend(); +// UtilsClient.enableLight(); +// } +// +// GL11.glPopMatrix(); +// } public static class RenderStorage { diff --git a/src/main/java/mods/eln/mechanical/JointHub.kt b/src/main/java/mods/eln/mechanical/JointHub.kt index e42a020cb..27c0b8d89 100644 --- a/src/main/java/mods/eln/mechanical/JointHub.kt +++ b/src/main/java/mods/eln/mechanical/JointHub.kt @@ -15,13 +15,12 @@ import org.lwjgl.opengl.GL11 import java.io.DataInputStream import java.io.DataOutputStream -class JointHubDescriptor(baseName: String, obj: Obj3D) : SimpleShaftDescriptor(baseName, +class JointHubDescriptor(baseName: String, override val obj: Obj3D) : SimpleShaftDescriptor(baseName, JointHubElement::class, JointHubRender::class, EntityMetaTag.Basic) { - override val obj = obj override val static = arrayOf(obj.getPart("Stand"), obj.getPart("Cowl")) override val rotating = emptyArray() - val staticOnAllSides = arrayOf(obj.getPart("Cap")) - val rotatingOnAllSides = arrayOf(obj.getPart("Shaft")) + private val staticOnAllSides = arrayOf(obj.getPart("Cap")) + private val rotatingOnAllSides = arrayOf(obj.getPart("Shaft")) override fun draw(angle: Double) { draw(angle, Direction.XP, DirectionSet()); @@ -30,7 +29,7 @@ class JointHubDescriptor(baseName: String, obj: Obj3D) : SimpleShaftDescriptor(b fun draw(angle: Double, front: Direction, connectedSides: DirectionSet) { static.forEach { it.draw() } - assert(rotatingOnAllSides.size > 0) + assert(rotatingOnAllSides.isNotEmpty()) val bb = rotatingOnAllSides[0].boundingBox() val centre = bb.centre() val ox = centre.xCoord diff --git a/src/main/java/mods/eln/mechanical/ShaftNetwork.kt b/src/main/java/mods/eln/mechanical/ShaftNetwork.kt index 001017d68..5c6119f17 100644 --- a/src/main/java/mods/eln/mechanical/ShaftNetwork.kt +++ b/src/main/java/mods/eln/mechanical/ShaftNetwork.kt @@ -1,6 +1,6 @@ package mods.eln.mechanical -import mods.eln.misc.Coordonate +import mods.eln.misc.Coordinate import mods.eln.misc.Direction import mods.eln.misc.INBTTReady import mods.eln.node.NodeManager @@ -141,7 +141,7 @@ class ShaftNetwork() : INBTTReady { } private fun getNeighbours(from: ShaftElement): ArrayList { - val c = Coordonate() + val c = Coordinate() val ret = ArrayList(6) for (dir in from.shaftConnectivity) { c.copyFrom(from.coordonate()) @@ -173,7 +173,7 @@ interface ShaftElement { var shaft: ShaftNetwork val shaftMass: Double val shaftConnectivity: Array - fun coordonate(): Coordonate + fun coordonate(): Coordinate fun initialize() { shaft.connectShaft(this) diff --git a/src/main/java/mods/eln/mechanical/SimpleShaft.kt b/src/main/java/mods/eln/mechanical/SimpleShaft.kt index 38c71bc89..98a0bdc9e 100644 --- a/src/main/java/mods/eln/mechanical/SimpleShaft.kt +++ b/src/main/java/mods/eln/mechanical/SimpleShaft.kt @@ -7,9 +7,7 @@ import mods.eln.misc.* import mods.eln.node.transparent.* import mods.eln.sim.process.destruct.WorldExplosion import mods.eln.sound.LoopedSound -import net.minecraft.item.ItemStack import net.minecraft.nbt.NBTTagCompound -import net.minecraftforge.client.IItemRenderer import org.lwjgl.opengl.GL11 import java.io.DataInputStream import java.io.DataOutputStream @@ -49,23 +47,24 @@ abstract class SimpleShaftDescriptor(name: String, elm: KClass 2097136) { + public ElnServerPacket(String channelName, ByteBuf buf) { + this(channelName, buf.array()); + } + + public ElnServerPacket(String channelName, byte[] buf) { + this.channelName = channelName; + this.buf = buf; + if (buf.length > 2097136) { throw new IllegalArgumentException("Payload may not be larger than 2097136 (0x1ffff0) bytes"); } } - public void readPacketData(PacketBuffer p_148837_1_) { + public void readPacketData(PacketBuffer buf) { try { - this.field_149172_a = p_148837_1_.readStringFromBuffer(20); + this.channelName = buf.readStringFromBuffer(20); } catch (Exception e) { e.printStackTrace(); } - this.field_149171_b = new byte[ByteBufUtils.readVarShort(p_148837_1_)]; - p_148837_1_.readBytes(this.field_149171_b); + this.buf = new byte[ByteBufUtils.readVarShort(buf)]; + buf.readBytes(this.buf); } - public void writePacketData(PacketBuffer p_148840_1_) { + public void writePacketData(PacketBuffer buf) { try { - p_148840_1_.writeStringToBuffer(this.field_149172_a); + buf.writeString(this.channelName); } catch (Exception e) { e.printStackTrace(); } - ByteBufUtils.writeVarShort(p_148840_1_, this.field_149171_b.length); - p_148840_1_.writeBytes(this.field_149171_b); + ByteBufUtils.writeVarShort(buf, this.buf.length); + buf.writeBytes(this.buf); } @Override public void processPacket(INetHandler arg0) { } } - -/* -public class ElnServerPacket - extends Packet -{ - private String field_149172_a; - private byte[] field_149171_b; - private static final String __OBFID = "CL_00001297"; - - public ElnServerPacket() {} - - public ElnServerPacket(String p_i45189_1_, ByteBuf p_i45189_2_) - { - this(p_i45189_1_, p_i45189_2_.array()); - } - - public ElnServerPacket(String p_i45190_1_, byte[] p_i45190_2_) - { - this.field_149172_a = p_i45190_1_; - this.field_149171_b = p_i45190_2_; - if (p_i45190_2_.length > 2097136) { - throw new IllegalArgumentException("Payload may not be larger than 2097136 (0x1ffff0) bytes"); - } - } - - public void readPacketData(PacketBuffer p_148837_1_) - { - this.field_149172_a = p_148837_1_.readStringFromBuffer(20); - this.field_149171_b = new byte[ByteBufUtils.readVarShort(p_148837_1_)]; - p_148837_1_.readBytes(this.field_149171_b); - } - - public void writePacketData(PacketBuffer p_148840_1_) - { - p_148840_1_.writeStringToBuffer(this.field_149172_a); - ByteBufUtils.writeVarShort(p_148840_1_, this.field_149171_b.length); - p_148840_1_.writeBytes(this.field_149171_b); - } - - public void processPacket(INetHandlerPlayClient p_149170_1_) - { - - //p_149170_1_.handleCustomPayload(this); - } - - public void processPacket(INetHandler p_148833_1_) - { - processPacket((INetHandlerPlayClient)p_148833_1_); - } - - @SideOnly(Side.CLIENT) - public String func_149169_c() - { - return this.field_149172_a; - } - - @SideOnly(Side.CLIENT) - public byte[] func_149168_d() - { - return this.field_149171_b; - } -}*/ diff --git a/src/main/java/mods/eln/misc/GhostPowerNode.kt b/src/main/java/mods/eln/misc/GhostPowerNode.kt index c1f2710ba..db3802373 100644 --- a/src/main/java/mods/eln/misc/GhostPowerNode.kt +++ b/src/main/java/mods/eln/misc/GhostPowerNode.kt @@ -6,9 +6,9 @@ import mods.eln.sim.ElectricalLoad import net.minecraft.entity.EntityLivingBase import net.minecraft.item.ItemStack -class GhostPowerNode(origin: Coordonate, front: Direction, offset: Coordonate, val load: ElectricalLoad): GhostNode() { +class GhostPowerNode(origin: Coordinate, front: Direction, offset: Coordinate, val load: ElectricalLoad): GhostNode() { - val coord = Coordonate(offset).apply { applyTransformation(front, origin) } + val coord = Coordinate(offset).apply { applyTransformation(front, origin) } fun initialize() { onBlockPlacedBy(coord, Direction.XN, null, null) diff --git a/src/main/java/mods/eln/misc/ItemRender.java b/src/main/java/mods/eln/misc/ItemRender.java index ef449d3ba..b51752a36 100644 --- a/src/main/java/mods/eln/misc/ItemRender.java +++ b/src/main/java/mods/eln/misc/ItemRender.java @@ -2,56 +2,55 @@ import net.minecraft.client.Minecraft; import net.minecraft.client.gui.FontRenderer; -import net.minecraft.client.renderer.entity.RenderItem; +import net.minecraft.client.renderer.RenderItem; import net.minecraft.item.ItemStack; -import net.minecraftforge.client.IItemRenderer; import org.lwjgl.opengl.GL11; -public class ItemRender implements IItemRenderer { - - private static final RenderItem renderItem = new RenderItem(); - - @Override - public boolean handleRenderType(ItemStack itemStack, ItemRenderType type) { - return true;// type == ItemRenderType.INVENTORY || type == ; - } - - @Override - public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { - return true; - } - - @Override - public void renderItem(ItemRenderType type, ItemStack itemStack, Object... data) { - FontRenderer fontRenderer = Minecraft.getMinecraft().fontRenderer; - // GL11.glTranslatef(-0.5f, -0.5f, -0.5f); - // Eln.obj.draw("ElectricFurnace", "furnace"); - // GL11.glTranslatef(0.5f, 0.5f, 0.5f); - // ====================== Render item texture ====================== - // int iconIndex = itemStack.getIconIndex(); - // renderItem.renderTexturedQuad(0, 0, iconIndex % 16 * 16, iconIndex / 16 * 16, 16, 16); - - // ====================== Render OpenGL square shape ====================== - /* GL11.glDisable(GL11.GL_TEXTURE_2D); - GL11.glEnable(GL11.GL_BLEND); - GL11.glDepthMask(false); - GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA); - - Tessellator tessellator = Tessellator.instance; - tessellator.startDrawing(GL11.GL_QUADS); - tessellator.setColorRGBA(0, 0, 0, 128); - tessellator.addVertex(0, 0, 0); - tessellator.addVertex(0, 8, 0); - tessellator.addVertex(8, 8, 0); - tessellator.addVertex(8, 0, 0); - tessellator.draw(); - - GL11.glDepthMask(true); - GL11.glDisable(GL11.GL_BLEND);*/ - - // ====================== Render text ====================== - GL11.glEnable(GL11.GL_TEXTURE_2D); - String text = Integer.toString(itemStack.getItemDamage()); - // fontRenderer.drawStringWithShadow(text, 1, 1, 0xFFFFFF); - } -} +//public class ItemRender implements IItemRenderer { +// +// private static final RenderItem renderItem = new RenderItem(); +// +// @Override +// public boolean handleRenderType(ItemStack itemStack, ItemRenderType type) { +// return true;// type == ItemRenderType.INVENTORY || type == ; +// } +// +// @Override +// public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { +// return true; +// } +// +// @Override +// public void renderItem(ItemRenderType type, ItemStack itemStack, Object... data) { +// FontRenderer fontRenderer = Minecraft.getMinecraft().fontRenderer; +// // GL11.glTranslatef(-0.5f, -0.5f, -0.5f); +// // Eln.obj.draw("ElectricFurnace", "furnace"); +// // GL11.glTranslatef(0.5f, 0.5f, 0.5f); +// // ====================== Render item texture ====================== +// // int iconIndex = itemStack.getIconIndex(); +// // renderItem.renderTexturedQuad(0, 0, iconIndex % 16 * 16, iconIndex / 16 * 16, 16, 16); +// +// // ====================== Render OpenGL square shape ====================== +// /* GL11.glDisable(GL11.GL_TEXTURE_2D); +// GL11.glEnable(GL11.GL_BLEND); +// GL11.glDepthMask(false); +// GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA); +// +// Tessellator tessellator = Tessellator.instance; +// tessellator.startDrawing(GL11.GL_QUADS); +// tessellator.setColorRGBA(0, 0, 0, 128); +// tessellator.addVertex(0, 0, 0); +// tessellator.addVertex(0, 8, 0); +// tessellator.addVertex(8, 8, 0); +// tessellator.addVertex(8, 0, 0); +// tessellator.draw(); +// +// GL11.glDepthMask(true); +// GL11.glDisable(GL11.GL_BLEND);*/ +// +// // ====================== Render text ====================== +// GL11.glEnable(GL11.GL_TEXTURE_2D); +// String text = Integer.toString(itemStack.getItemDamage()); +// // fontRenderer.drawStringWithShadow(text, 1, 1, 0xFFFFFF); +// } +//} diff --git a/src/main/java/mods/eln/misc/LRDU.java b/src/main/java/mods/eln/misc/LRDU.java index 5dce863ac..e0cb7d45a 100644 --- a/src/main/java/mods/eln/misc/LRDU.java +++ b/src/main/java/mods/eln/misc/LRDU.java @@ -1,7 +1,7 @@ package mods.eln.misc; import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.util.Vec3; +import net.minecraft.util.math.Vec3d; import org.lwjgl.opengl.GL11; import java.io.DataInputStream; @@ -189,24 +189,21 @@ public void rotateOnXnLeft(double[] v) { } } - public void rotateOnXnLeft(Vec3 v) { + public Vec3d rotateOnXnLeft(Vec3d v) { + double x = v.xCoord; double y = v.yCoord; double z = v.zCoord; switch (this) { case Left: - break; + return v; case Up: - v.yCoord = -z; - v.zCoord = y; - break; + return new Vec3d(x, -z, y); case Right: - v.yCoord = -y; - v.zCoord = -z; - break; + return new Vec3d(x, -y, -z); case Down: - v.yCoord = z; - v.zCoord = -y; - break; + return new Vec3d(x, z, -y); + default: + return v; } } diff --git a/src/main/java/mods/eln/misc/LiveDataManager.java b/src/main/java/mods/eln/misc/LiveDataManager.java index b01629e71..fb40bd1b9 100644 --- a/src/main/java/mods/eln/misc/LiveDataManager.java +++ b/src/main/java/mods/eln/misc/LiveDataManager.java @@ -1,9 +1,9 @@ package mods.eln.misc; -import cpw.mods.fml.common.FMLCommonHandler; -import cpw.mods.fml.common.eventhandler.SubscribeEvent; -import cpw.mods.fml.common.gameevent.TickEvent.Phase; -import cpw.mods.fml.common.gameevent.TickEvent.RenderTickEvent; +import net.minecraftforge.fml.common.FMLCommonHandler; +import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; +import net.minecraftforge.fml.common.gameevent.TickEvent.Phase; +import net.minecraftforge.fml.common.gameevent.TickEvent.RenderTickEvent; import java.util.ArrayList; import java.util.HashMap; diff --git a/src/main/java/mods/eln/misc/Obj3D.java b/src/main/java/mods/eln/misc/Obj3D.java index 9ed7f1137..4f6e3408f 100644 --- a/src/main/java/mods/eln/misc/Obj3D.java +++ b/src/main/java/mods/eln/misc/Obj3D.java @@ -1,6 +1,6 @@ package mods.eln.misc; -import cpw.mods.fml.common.FMLLog; +import net.minecraftforge.fml.common.FMLLog; import net.minecraft.util.ResourceLocation; import org.jetbrains.annotations.Nullable; import org.lwjgl.opengl.GL11; @@ -15,7 +15,7 @@ public class Obj3D { List vertex = new ArrayList(); List uv = new ArrayList(); - // Model obj properties read from the txt file + // Model obj properties read fromFacing the txt file Map nameToStringHash = new Hashtable(); public float xDim, yDim, zDim; @@ -363,7 +363,7 @@ public ResourceLocation getModelResourceLocation(String name) { /** * Load a resource (obj, mtl, txt file) for a model. * - * @param filePath the path from the "assets/eln" folder + * @param filePath the path fromFacing the "assets/eln" folder * @return the {@code BufferedReader} or null if the resource does not exist */ @Nullable @@ -555,7 +555,7 @@ public boolean loadFile(final String filePath, boolean reload) { updateTimer.scheduleAtFixedRate(new TimerTask() { @Override public void run() { - Utils.println("Reloading model data from " + filePath); + Utils.println("Reloading model data fromFacing " + filePath); loadFile(filePath, true); } }, refresh, refresh); @@ -597,6 +597,6 @@ public void draw(String part) { } public String getString(String name) { - return nameToStringHash.get(name); // Property read from the txt file + return nameToStringHash.get(name); // Property read fromFacing the txt file } } diff --git a/src/main/java/mods/eln/misc/PlayerUtil.kt b/src/main/java/mods/eln/misc/PlayerUtil.kt index 28e39e24e..9125be08c 100644 --- a/src/main/java/mods/eln/misc/PlayerUtil.kt +++ b/src/main/java/mods/eln/misc/PlayerUtil.kt @@ -5,8 +5,9 @@ import net.minecraft.entity.player.EntityPlayer fun EntityPlayer?.isHoldingMeter(): Boolean { if (this == null) return false - val equippedItem = currentEquippedItem - return (Eln.multiMeterElement.checkSameItemStack(equippedItem) - || Eln.thermometerElement.checkSameItemStack(equippedItem) - || Eln.allMeterElement.checkSameItemStack(equippedItem)) + return heldEquipment.any({ + Eln.multiMeterElement.checkSameItemStack(it) + || Eln.thermometerElement.checkSameItemStack(it) + || Eln.allMeterElement.checkSameItemStack(it) + }) } diff --git a/src/main/java/mods/eln/misc/TileEntityDestructor.java b/src/main/java/mods/eln/misc/TileEntityDestructor.java index 5e7738b9a..056e137b2 100644 --- a/src/main/java/mods/eln/misc/TileEntityDestructor.java +++ b/src/main/java/mods/eln/misc/TileEntityDestructor.java @@ -1,9 +1,9 @@ package mods.eln.misc; -import cpw.mods.fml.common.FMLCommonHandler; -import cpw.mods.fml.common.eventhandler.SubscribeEvent; -import cpw.mods.fml.common.gameevent.TickEvent.Phase; -import cpw.mods.fml.common.gameevent.TickEvent.ServerTickEvent; +import net.minecraftforge.fml.common.FMLCommonHandler; +import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; +import net.minecraftforge.fml.common.gameevent.TickEvent.Phase; +import net.minecraftforge.fml.common.gameevent.TickEvent.ServerTickEvent; import net.minecraft.tileentity.TileEntity; import java.util.ArrayList; diff --git a/src/main/java/mods/eln/misc/Utils.java b/src/main/java/mods/eln/misc/Utils.java index 053efe08c..19725276f 100644 --- a/src/main/java/mods/eln/misc/Utils.java +++ b/src/main/java/mods/eln/misc/Utils.java @@ -1,7 +1,15 @@ package mods.eln.misc; -import cpw.mods.fml.common.FMLCommonHandler; -import cpw.mods.fml.relauncher.Side; +import net.minecraft.block.state.IBlockState; +import net.minecraft.util.EnumFacing; +import net.minecraft.util.EnumHand; +import net.minecraft.util.math.AxisAlignedBB; +import net.minecraft.util.math.BlockPos; +import net.minecraft.util.math.MathHelper; +import net.minecraft.util.math.Vec3d; +import net.minecraft.util.text.TextComponentString; +import net.minecraftforge.fml.common.FMLCommonHandler; +import net.minecraftforge.fml.relauncher.Side; import mods.eln.Eln; import mods.eln.generic.GenericItemBlockUsingDamage; import mods.eln.generic.GenericItemUsingDamage; @@ -27,14 +35,9 @@ import net.minecraft.item.crafting.ShapelessRecipes; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagList; -import net.minecraft.network.play.server.S3FPacketCustomPayload; import net.minecraft.server.MinecraftServer; import net.minecraft.tileentity.TileEntity; import net.minecraft.tileentity.TileEntityFurnace; -import net.minecraft.util.AxisAlignedBB; -import net.minecraft.util.ChatComponentText; -import net.minecraft.util.MathHelper; -import net.minecraft.util.Vec3; import net.minecraft.world.EnumSkyBlock; import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; @@ -48,10 +51,10 @@ import java.io.*; import java.lang.reflect.Field; import java.text.DecimalFormat; -import java.util.ArrayList; -import java.util.Iterator; -import java.util.List; -import java.util.Random; +import java.util.*; + +import static net.minecraft.init.Blocks.FLOWING_WATER; +import static net.minecraft.init.Blocks.WATER; public class Utils { @@ -396,34 +399,10 @@ public static void writeToNBT(NBTTagCompound nbt, String str, IInventory invento } public static void sendPacketToClient(ByteArrayOutputStream bos, EntityPlayerMP player) { - // Profiler p = new Profiler(); - // p.add("A"); - // ElnServerPacket packet = new ElnServerPacket(Eln.channelName, bos.toByteArray()); - // ByteBuf b = Unpooled.buffer().capacity(bos.size()).setBytes(0, bos.toByteArray()); - // p.add("B"); - // Eln.eventChannel.sendTo(new FMLProxyPacket(b, Eln.channelName), player); - // p.stop(); - // Utils.println(p); - - S3FPacketCustomPayload packet = new S3FPacketCustomPayload(Eln.channelName, bos.toByteArray()); - player.playerNetServerHandler.sendPacket(packet); - - // FMLCommonHandler.instance().getMinecraftServerInstance().getEln.eventChannel.sendTo(new FMLProxyPacket(packet),player); + ElnServerPacket packet = new ElnServerPacket(bos.toByteArray()); + player.connection.sendPacket(packet); } - /* - * public static void sendPacketToPlayer( ElnServerPacket packet, EntityPlayerMP player) { - * - * Eln.eventChannel.sendTo(new FMLProxyPacket(packet), player); // player.playerNetServerHandler.sendPacket(new FMLProxyPacket(packet)); } - */ - - // private static Color[] dyeColors - - // public Color getDyeColor(ItemStack stack) - // { - // ItemDye.dyeColors[stack.getItemDamage()]; - // } - public static void setGlColorFromDye(int damage) { setGlColorFromDye(damage, 1.0f); } @@ -569,8 +548,8 @@ public static double getWind(int worldId, int y) { return Math.max(0.0, Eln.instance.wind.getWind(y)); } else { World world = getWorld(worldId); - float factor = 1f + world.getRainStrength(0) * 0.2f + world.getWeightedThunderStrength(0) * 0.2f; - return Math.max(0.0, Eln.instance.wind.getWind(y) * factor + world.getRainStrength(0) * 1f + world.getWeightedThunderStrength(0) * 2f); + float factor = 1f + world.getRainStrength(0) * 0.2f + world.getThunderStrength(0) * 0.2f; + return Math.max(0.0, Eln.instance.wind.getWind(y) * factor + world.getRainStrength(0) * 1f + world.getThunderStrength(0) * 2f); } } @@ -583,19 +562,19 @@ public static double getWind(int worldId, int y) { public static void dropItem(ItemStack itemStack, int x, int y, int z, World world) { if (itemStack == null) return; - if (world.getGameRules().getGameRuleBooleanValue("doTileDrops")) { + if (world.getGameRules().getBoolean("doTileDrops")) { float var6 = 0.7F; double var7 = (double) (world.rand.nextFloat() * var6) + (double) (1.0F - var6) * 0.5D; double var9 = (double) (world.rand.nextFloat() * var6) + (double) (1.0F - var6) * 0.5D; double var11 = (double) (world.rand.nextFloat() * var6) + (double) (1.0F - var6) * 0.5D; - EntityItem var13 = new EntityItem(world, (double) x + var7, (double) y + var9, (double) z + var11, itemStack); - var13.delayBeforeCanPickup = 10; - world.spawnEntityInWorld(var13); + EntityItem drop = new EntityItem(world, (double) x + var7, (double) y + var9, (double) z + var11, itemStack); + drop.setPickupDelay(10); + world.spawnEntityInWorld(drop); } } - public static void dropItem(ItemStack itemStack, Coordonate coordonate) { - dropItem(itemStack, coordonate.x, coordonate.y, coordonate.z, coordonate.world()); + public static void dropItem(ItemStack itemStack, Coordinate coordinate) { + dropItem(itemStack, coordinate.x, coordinate.y, coordinate.z, coordinate.world()); } public static boolean tryPutStackInInventory(ItemStack stack, IInventory inventory, int start, int count) { @@ -744,10 +723,12 @@ public static EntityItem unserializeItemStackToEntityItem(DataInputStream stream } else { ItemDamage = stream.readShort(); - if (old == null || Item.getIdFromItem(old.getEntityItem().getItem()) != itemId || old.getEntityItem().getItemDamage() != ItemDamage) - return new EntityItem(tileEntity.getWorldObj(), tileEntity.xCoord + 0.5, tileEntity.yCoord + 0.5, tileEntity.zCoord + 1.2, Utils.newItemStack(itemId, 1, ItemDamage)); - else + if (old == null || Item.getIdFromItem(old.getEntityItem().getItem()) != itemId || old.getEntityItem().getItemDamage() != ItemDamage) { + BlockPos pos = tileEntity.getPos(); + return new EntityItem(tileEntity.getWorld(), pos.getX() + 0.5, pos.getY() + 0.5, pos.getZ() + 1.2, Utils.newItemStack(itemId, 1, ItemDamage)); + } else { return old; + } } } @@ -755,8 +736,8 @@ public static boolean isGameInPause() { return Minecraft.getMinecraft().isGamePaused(); } - public static int getLight(World w, EnumSkyBlock e, int x, int y, int z) { - return w.getSavedLightValue(e, x, y, z); + public static int getLight(World w, EnumSkyBlock e, BlockPos pos) { + return w.getLightFor(e, pos); } /* @@ -776,72 +757,76 @@ public static int getLight(World w, EnumSkyBlock e, int x, int y, int z) { */ public static void notifyNeighbor(TileEntity t) { - int x = t.xCoord; - int y = t.yCoord; - int z = t.zCoord; - World w = t.getWorldObj(); + BlockPos pos = t.getPos(); + World w = t.getWorld(); TileEntity o; - o = w.getTileEntity(x + 1, y, z); + o = w.getTileEntity(pos.add(1, 0, 0)); if (o != null && o instanceof ITileEntitySpawnClient) ((ITileEntitySpawnClient) o).tileEntityNeighborSpawn(); - o = w.getTileEntity(x - 1, y, z); + o = w.getTileEntity(pos.add(-1, 0, 0)); if (o != null && o instanceof ITileEntitySpawnClient) ((ITileEntitySpawnClient) o).tileEntityNeighborSpawn(); - o = w.getTileEntity(x, y + 1, z); + o = w.getTileEntity(pos.add(0, 1, 0)); if (o != null && o instanceof ITileEntitySpawnClient) ((ITileEntitySpawnClient) o).tileEntityNeighborSpawn(); - o = w.getTileEntity(x, y - 1, z); + o = w.getTileEntity(pos.add(0, -1, 0)); if (o != null && o instanceof ITileEntitySpawnClient) ((ITileEntitySpawnClient) o).tileEntityNeighborSpawn(); - o = w.getTileEntity(x, y, z + 1); + o = w.getTileEntity(pos.add(0, 0, 1)); if (o != null && o instanceof ITileEntitySpawnClient) ((ITileEntitySpawnClient) o).tileEntityNeighborSpawn(); - o = w.getTileEntity(x, y, z - 1); + o = w.getTileEntity(pos.add(0, 0, -1)); if (o != null && o instanceof ITileEntitySpawnClient) ((ITileEntitySpawnClient) o).tileEntityNeighborSpawn(); } public static boolean playerHasMeter(EntityPlayer entityPlayer) { - return Eln.multiMeterElement.checkSameItemStack(entityPlayer.getCurrentEquippedItem()) - || Eln.thermometerElement.checkSameItemStack(entityPlayer.getCurrentEquippedItem()) - || Eln.allMeterElement.checkSameItemStack(entityPlayer.getCurrentEquippedItem()); + // In case future Minecraft versions allow you to grow more hands. + for (EnumHand hand : EnumHand.values()) { + ItemStack heldItem = entityPlayer.getHeldItem(hand); + if (Eln.multiMeterElement.checkSameItemStack(heldItem) + || Eln.thermometerElement.checkSameItemStack(heldItem) + || Eln.allMeterElement.checkSameItemStack(heldItem)) + return true; + } + return false; } - public static int getRedstoneLevelAround(Coordonate coord, Direction side) { - int level = coord.world().getStrongestIndirectPower(coord.x, coord.y, coord.z); + public static int getRedstoneLevelAround(Coordinate coord, Direction side) { + int level = coord.world().getStrongPower(coord.pos); if (level >= 15) return 15; - side = side.getInverse(); + EnumFacing facing = side.getInverse().toForge(); switch (side) { case YN: case YP: - level = Math.max(level, coord.world().getIndirectPowerLevelTo(coord.x + 1, coord.y, coord.z, side.toSideValue())); + level = Math.max(level, coord.world().getRedstonePower(coord.pos.add(1, 0, 0), facing)); if (level >= 15) return 15; - level = Math.max(level, coord.world().getIndirectPowerLevelTo(coord.x - 1, coord.y, coord.z, side.toSideValue())); + level = Math.max(level, coord.world().getRedstonePower(coord.pos.add(-1, 0, 0), facing)); if (level >= 15) return 15; - level = Math.max(level, coord.world().getIndirectPowerLevelTo(coord.x, coord.y, coord.z + 1, side.toSideValue())); + level = Math.max(level, coord.world().getRedstonePower(coord.pos.add(0, 0, 1), facing)); if (level >= 15) return 15; - level = Math.max(level, coord.world().getIndirectPowerLevelTo(coord.x, coord.y, coord.z - 1, side.toSideValue())); + level = Math.max(level, coord.world().getRedstonePower(coord.pos.add(0, 0, -1), facing)); case XN: case XP: - level = Math.max(level, coord.world().getIndirectPowerLevelTo(coord.x, coord.y + 1, coord.z, side.toSideValue())); + level = Math.max(level, coord.world().getRedstonePower(coord.pos.add(0, 1, 0), facing)); if (level >= 15) return 15; - level = Math.max(level, coord.world().getIndirectPowerLevelTo(coord.x, coord.y - 1, coord.z, side.toSideValue())); + level = Math.max(level, coord.world().getRedstonePower(coord.pos.add(0, -1, 0), facing)); if (level >= 15) return 15; - level = Math.max(level, coord.world().getIndirectPowerLevelTo(coord.x, coord.y, coord.z + 1, side.toSideValue())); + level = Math.max(level, coord.world().getRedstonePower(coord.pos.add(0, 0, 1), facing)); if (level >= 15) return 15; - level = Math.max(level, coord.world().getIndirectPowerLevelTo(coord.x, coord.y, coord.z - 1, side.toSideValue())); + level = Math.max(level, coord.world().getRedstonePower(coord.pos.add(0, 0, -1), facing)); case ZN: case ZP: - level = Math.max(level, coord.world().getIndirectPowerLevelTo(coord.x + 1, coord.y, coord.z, side.toSideValue())); + level = Math.max(level, coord.world().getRedstonePower(coord.pos.add(0, 1, 0), facing)); if (level >= 15) return 15; - level = Math.max(level, coord.world().getIndirectPowerLevelTo(coord.x - 1, coord.y, coord.z, side.toSideValue())); + level = Math.max(level, coord.world().getRedstonePower(coord.pos.add(0, -1, 0), facing)); if (level >= 15) return 15; - level = Math.max(level, coord.world().getIndirectPowerLevelTo(coord.x, coord.y + 1, coord.z, side.toSideValue())); + level = Math.max(level, coord.world().getRedstonePower(coord.pos.add(1, 0, 0), facing)); if (level >= 15) return 15; - level = Math.max(level, coord.world().getIndirectPowerLevelTo(coord.x, coord.y - 1, coord.z, side.toSideValue())); + level = Math.max(level, coord.world().getRedstonePower(coord.pos.add(-1, 0, 0), facing)); } return level; @@ -864,20 +849,15 @@ public static Object getItemObject(ItemStack stack) { return i; } - /* - * public static void drawIcon(Icon icon) { Utils.bindTextureByName(icon.getIconName()); Utils.disableCulling(); GL11.glBegin(GL11.GL_QUADS); GL11.glTexCoord2f(0f, 0f); GL11.glVertex3f(0.5f,-0.5f,0f); GL11.glTexCoord2f(0f, 0f);GL11.glVertex3f(-0.5f,-0.5f,0f); GL11.glTexCoord2f(0f, 1f);GL11.glVertex3f(-0.5f,0.5f,0f); GL11.glTexCoord2f(1f, 1f);GL11.glVertex3f(0.5f,0.5f,0f); GL11.glEnd(); Utils.enableCulling(); } - * - * public static void drawEnergyBare(float e) { float x = 14f/16f,y = 15f/16f-e*14f/16f; GL11.glColor3f(e, e, 0f); GL11.glDisable(GL11.GL_TEXTURE_2D); GL11.glBegin(GL11.GL_QUADS); GL11.glVertex3f(x+1f/16f,y,0.01f); GL11.glVertex3f(x,y,0f); GL11.glVertex3f(x,15f/16f,0f); GL11.glVertex3f(x+1f/16f,15f/16f,0.01f); GL11.glEnd(); GL11.glEnable(GL11.GL_TEXTURE_2D); GL11.glColor3f(1f, 1f, 1f); } - */ - static public void getItemStack(String name, List list) { - Iterator aitem = Item.itemRegistry.iterator(); + // TODO: Fuck this function. + Iterator itItem = Item.REGISTRY.iterator(); List tempList = new ArrayList(3000); Item item; - while (aitem.hasNext()) { - item = (Item) aitem.next(); - if (item != null && item.getCreativeTab() != null) { + while (itItem.hasNext()) { + item = (Item) itItem.next(); + if (item != null) { item.getSubItems(item, (CreativeTabs) null, tempList); } } @@ -934,8 +914,9 @@ public static boolean areSame(ItemStack stack, ItemStack output) { return false; } - public static Vec3 getVec05(Coordonate c) { - return Vec3.createVectorHelper(c.x + (c.x < 0 ? -1 : 1) * 0.5, c.y + (c.y < 0 ? -1 : 1) * 0.5, c.z + (c.z < 0 ? -1 : 1) * 0.5); + public static Vec3d getVec05(Coordinate c) { + int x = c.pos.getX(), y = c.pos.getY(), z = c.pos.getZ(); + return new Vec3d(x + (x < 0 ? -1 : 1) * 0.5, y + (y < 0 ? -1 : 1) * 0.5, z + (z < 0 ? -1 : 1) * 0.5); } public static double getHeadPosY(Entity e) { @@ -951,21 +932,16 @@ public static double getHeadPosY(Entity e) { */ public static boolean isCreative(EntityPlayerMP entityPlayer) { - return entityPlayer.theItemInWorldManager.isCreative(); - /* - * Minecraft m = Minecraft.getMinecraft(); return m.getIntegratedServer().getGameType().isCreative(); - */ + return entityPlayer.isCreative(); } public static boolean mustDropItem(EntityPlayerMP entityPlayer) { - if (entityPlayer == null) - return true; - return !isCreative(entityPlayer); + return entityPlayer == null || !isCreative(entityPlayer); } public static void serverTeleport(Entity e, double x, double y, double z) { if (e instanceof EntityPlayerMP) - ((EntityPlayerMP) e).setPositionAndUpdate(x, y, z); + e.setPositionAndUpdate(x, y, z); else e.setPosition(x, y, z); } @@ -1002,13 +978,13 @@ public static ArrayList traceRay(World world, double x, double y, } interface TraceRayWeight { - float getWeight(Block block); + float getWeight(IBlockState block); } public static class TraceRayWeightOpaque implements TraceRayWeight { @Override - public float getWeight(Block block) { + public float getWeight(IBlockState block) { if (block == null) return 0; return block.isOpaqueCube() ? 1f : 0f; @@ -1060,10 +1036,11 @@ public static float traceRay(World w, double posX, double posY, double posZ, dou int yInt = (int) yFloor; int zInt = (int) zFloor; - Block block = Blocks.air; + IBlockState blockState = Blocks.AIR.getDefaultState(); - if (w.blockExists(xInt + posXint, yInt + posYint, zInt + posZint)) - block = w.getBlock(xInt + posXint, yInt + posYint, zInt + posZint); + BlockPos pos = new BlockPos(xInt + posXint, yInt + posYint, zInt + posZint); + if (!w.isAirBlock(pos)) + blockState = w.getBlockState(pos); float dToStack; @@ -1073,7 +1050,7 @@ public static float traceRay(World w, double posX, double posY, double posZ, dou dToStack = (rangeMax - d); } - stackRed += weight.getWeight(block) * dToStack; + stackRed += weight.getWeight(blockState) * dToStack; x += vx * dBest; y += vy * dBest; @@ -1085,15 +1062,6 @@ public static float traceRay(World w, double posX, double posY, double posZ, dou return stackRed; } - public static boolean isBlockLoaded(World world, double x, double y, double z) { - return world.blockExists(MathHelper.floor_double(x), MathHelper.floor_double(y), MathHelper.floor_double(z)); - } - - public static Block getBlock(World world, double x, double y, double z) { - Block block = world.getBlock(MathHelper.floor_double(x), MathHelper.floor_double(y), MathHelper.floor_double(z)); - return block; - } - public static double getLength(double x, double y, double z, double tx, double ty, double tz) { double dx, dy, dz; @@ -1215,9 +1183,7 @@ public static ArrayList getRecipeInputs(IRecipe r) { try { ArrayList stacks = new ArrayList(); if (r instanceof ShapedRecipes) { - for (ItemStack stack : ((ShapedRecipes) r).recipeItems) { - stacks.add(stack); - } + stacks.addAll(Arrays.asList(((ShapedRecipes) r).recipeItems)); } if (r instanceof ShapelessRecipes) { for (Object stack : ((ShapelessRecipes) r).recipeItems) { @@ -1256,13 +1222,14 @@ public static double getWorldTime(World world) { return world.getWorldTime() / (23999.0); } - public static boolean isWater(Coordonate waterCoord) { - Block block = waterCoord.getBlock(); - return (block == Blocks.flowing_water || block == Blocks.water); + public static boolean isWateryEnoughForTurbine(Coordinate waterCoord) { + IBlockState blockState = waterCoord.getBlockState(); + Block block = blockState.getBlock(); + return Block.isEqualTo(block, FLOWING_WATER) || Block.isEqualTo(block, WATER); } public static void addChatMessage(EntityPlayer entityPlayer, String string) { - entityPlayer.addChatMessage(new ChatComponentText(string)); + entityPlayer.addChatMessage(new TextComponentString(string)); } public static ItemStack newItemStack(int i, int size, int damage) { @@ -1274,12 +1241,12 @@ public static ItemStack newItemStack(Item i, int size, int damage) { } public static List getTags(NBTTagCompound nbt) { - Object[] set = nbt.func_150296_c().toArray(); + Object[] set = nbt.getKeySet().toArray(); ArrayList tags = new ArrayList(); - for (int idx = 0; idx < set.length; idx++) { - tags.add(nbt.getCompoundTag((String) set[idx])); + for (Object aSet : set) { + tags.add(nbt.getCompoundTag((String) aSet)); } return tags; } @@ -1312,15 +1279,14 @@ public static Block getBlock(int blockId) { return Block.getBlockById(blockId); } - public static void updateSkylight(Chunk chunk) { - chunk.func_150804_b(false); - } - - public static void updateAllLightTypes(World worldObj, int xCoord, int yCoord, int zCoord) { - worldObj.func_147451_t(xCoord, yCoord, zCoord); - - worldObj.markBlocksDirtyVertical(xCoord, zCoord, 0, 255); - } +// public static void updateSkylight(Chunk chunk) { +// chunk.generateSkylightMap(); +// } +// +// public static void updateAllLightTypes(World worldObj, int xCoord, int yCoord, int zCoord) { +// worldObj.func_147451_t(xCoord, yCoord, zCoord); +// worldObj.markBlocksDirtyVertical(xCoord, zCoord, 0, 255); +// } public static int getItemId(ItemStack stack) { return Item.getIdFromItem(stack.getItem()); @@ -1333,11 +1299,11 @@ public static int getItemId(Block block) { // public static RecipesList smeltRecipeList = new RecipesList(); public static void addSmelting(Item parentItem, int parentItemDamage, ItemStack findItemStack, float f) { - FurnaceRecipes.smelting().func_151394_a(newItemStack(parentItem, 1, parentItemDamage), findItemStack, f); + FurnaceRecipes.instance().addSmeltingRecipe(newItemStack(parentItem, 1, parentItemDamage), findItemStack, f); } public static void addSmelting(Block parentBlock, int parentItemDamage, ItemStack findItemStack, float f) { - FurnaceRecipes.smelting().func_151394_a(newItemStack(Item.getItemFromBlock(parentBlock), 1, parentItemDamage), findItemStack, f); + FurnaceRecipes.instance().addSmeltingRecipeForBlock(parentBlock, findItemStack, f); } public static void addSmelting(Item parentItem, int parentItemDamage, ItemStack findItemStack) { diff --git a/src/main/java/mods/eln/misc/UtilsClient.java b/src/main/java/mods/eln/misc/UtilsClient.java index df7da7fb2..8f598f8bd 100644 --- a/src/main/java/mods/eln/misc/UtilsClient.java +++ b/src/main/java/mods/eln/misc/UtilsClient.java @@ -1,31 +1,33 @@ package mods.eln.misc; -import cpw.mods.fml.common.network.internal.FMLProxyPacket; +import net.minecraft.client.entity.EntityPlayerSP; +import net.minecraft.client.renderer.RenderItem; +import net.minecraft.entity.player.EntityPlayerMP; +import net.minecraft.network.PacketBuffer; +import net.minecraft.network.play.client.CPacketCustomPayload; +import net.minecraft.util.math.BlockPos; +import net.minecraft.util.math.MathHelper; +import net.minecraftforge.fml.common.network.internal.FMLProxyPacket; import mods.eln.Eln; import mods.eln.GuiHandler; import mods.eln.misc.Obj3D.Obj3DPart; import mods.eln.node.six.SixNodeEntity; import mods.eln.node.transparent.TransparentNodeEntity; import net.minecraft.client.Minecraft; -import net.minecraft.client.entity.EntityClientPlayerMP; import net.minecraft.client.gui.FontRenderer; import net.minecraft.client.gui.GuiScreen; import net.minecraft.client.renderer.OpenGlHelper; import net.minecraft.client.renderer.RenderHelper; import net.minecraft.client.renderer.entity.Render; -import net.minecraft.client.renderer.entity.RenderItem; import net.minecraft.client.renderer.entity.RenderManager; import net.minecraft.entity.Entity; import net.minecraft.entity.item.EntityItem; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; -import net.minecraft.network.play.client.C17PacketCustomPayload; import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.MathHelper; import net.minecraft.util.ResourceLocation; import net.minecraft.world.EnumSkyBlock; import net.minecraft.world.World; -import net.minecraftforge.client.IItemRenderer.ItemRenderType; import org.lwjgl.input.Keyboard; import org.lwjgl.opengl.GL11; @@ -42,8 +44,6 @@ public class UtilsClient { static boolean lightmapTexUnitTextureEnable; - protected static RenderItem itemRenderer; - private static int uuid = Integer.MIN_VALUE; final static ResourceLocation whiteTexture = new ResourceLocation("eln", "sprites/cable.png"); @@ -51,8 +51,9 @@ public class UtilsClient { private UtilsClient() { } - public static float distanceFromClientPlayer(World world, int xCoord, int yCoord, int zCoord) { - EntityClientPlayerMP player = Minecraft.getMinecraft().thePlayer; + private static float distanceFromClientPlayer(World world, int xCoord, int yCoord, int zCoord) { + // TODO(1.10): Not sure this will work in multiplayer. + EntityPlayerSP player = Minecraft.getMinecraft().thePlayer; return (float) Math.sqrt((xCoord - player.posX) * (xCoord - player.posX) + (yCoord - player.posY) * (yCoord - player.posY) @@ -60,14 +61,15 @@ public static float distanceFromClientPlayer(World world, int xCoord, int yCoord } public static float distanceFromClientPlayer(SixNodeEntity tileEntity) { - return distanceFromClientPlayer(tileEntity.getWorldObj(), tileEntity.xCoord, tileEntity.yCoord, tileEntity.zCoord); + BlockPos pos = tileEntity.getPos(); + return distanceFromClientPlayer(tileEntity.getWorld(), pos.getX(), pos.getY(), pos.getZ()); } - public static EntityClientPlayerMP getClientPlayer() { + public static EntityPlayerSP getClientPlayer() { return Minecraft.getMinecraft().thePlayer; } - public static void drawHaloNoLightSetup(Obj3DPart halo, float r, float g, float b, World w, int x, int y, int z, boolean bilinear) { + public static void drawHaloNoLightSetup(Obj3DPart halo, float r, float g, float b, World w, BlockPos pos, boolean bilinear) { if (halo == null) return; if (bilinear) @@ -85,7 +87,7 @@ public static void drawHaloNoLightSetup(Obj3DPart halo, float r, float g, float public static void clientOpenGui(GuiScreen gui) { guiLastOpen = gui; - EntityClientPlayerMP clientPlayer = getClientPlayer(); + EntityPlayerSP clientPlayer = getClientPlayer(); clientPlayer.openGui(Eln.instance, GuiHandler.genericOpen, clientPlayer.worldObj, 0, 0, 0); } @@ -99,11 +101,11 @@ public static void drawHalo(Obj3DPart halo, float r, float g, float b, World w, } public static void drawHaloNoLightSetup(Obj3DPart halo, float r, float g, float b, TileEntity e, boolean bilinear) { - drawHaloNoLightSetup(halo, r, g, b, e.getWorldObj(), e.xCoord, e.yCoord, e.zCoord, bilinear); + drawHaloNoLightSetup(halo, r, g, b, e.getWorld(), e.getPos(), bilinear); } public static void drawHalo(Obj3DPart halo, float r, float g, float b, TileEntity e, boolean bilinear) { - drawHalo(halo, r, g, b, e.getWorldObj(), e.xCoord, e.yCoord, e.zCoord, bilinear); + drawHalo(halo, r, g, b, e.getWorld(), e.getPos(), bilinear); } public static void drawHaloNoLightSetup(Obj3DPart halo, float distance) { @@ -225,86 +227,87 @@ public static void disableBlend() { // OpenGlHelper.glBlendFunc(1, 1, 1, 1); } - public static void drawIcon(ItemRenderType type) { - enableBlend(); - if (type == ItemRenderType.INVENTORY) { - - disableCulling(); - GL11.glBegin(GL11.GL_QUADS); - GL11.glTexCoord2f(1f, 0f); - GL11.glVertex3f(16f, 0f, 0f); - GL11.glTexCoord2f(0f, 0f); - GL11.glVertex3f(0f, 0f, 0f); - GL11.glTexCoord2f(0f, 1f); - GL11.glVertex3f(0f, 16f, 0f); - GL11.glTexCoord2f(1f, 1f); - GL11.glVertex3f(16f, 16f, 0f); - GL11.glEnd(); - enableCulling(); - } else if (type == ItemRenderType.ENTITY) { - - disableCulling(); - GL11.glBegin(GL11.GL_QUADS); - GL11.glTexCoord2f(1f, 1f); - GL11.glVertex3f(0, 0f, 0.5f); - GL11.glTexCoord2f(0f, 1f); - GL11.glVertex3f(0.0f, 0f, -0.5f); - GL11.glTexCoord2f(0f, 0f); - GL11.glVertex3f(0.0f, 1f, -0.5f); - GL11.glTexCoord2f(1f, 0f); - GL11.glVertex3f(0.0f, 1f, 0.5f); - GL11.glEnd(); - enableCulling(); - } else { - GL11.glTranslatef(0.5f, -0.3f, 0.5f); - - disableCulling(); - GL11.glBegin(GL11.GL_QUADS); - GL11.glTexCoord2f(1f, 1f); - GL11.glVertex3f(0.0f, 0.5f, 0.5f); - GL11.glTexCoord2f(0f, 1f); - GL11.glVertex3f(0.0f, 0.5f, -0.5f); - GL11.glTexCoord2f(0f, 0f); - GL11.glVertex3f(0.0f, 1.5f, -0.5f); - GL11.glTexCoord2f(1f, 0f); - GL11.glVertex3f(0.0f, 1.5f, 0.5f); - GL11.glEnd(); - enableCulling(); - } - disableBlend(); - } - - public static void drawIcon(ItemRenderType type, ResourceLocation icon) { - bindTexture(icon); - drawIcon(type); - } - - public static void drawEnergyBare(ItemRenderType type, float e) { - drawIcon(type, new ResourceLocation("eln", "sprites/portablebatteryoverlay.png")); - - float x = 13f, y = 14f - e * 12f; - GL11.glDisable(GL11.GL_TEXTURE_2D); - - GL11.glColor3f(0f, 0f, 0f); - GL11.glBegin(GL11.GL_QUADS); - GL11.glVertex3f(x + 1f, 2, 0.01f); - GL11.glVertex3f(x, 2, 0f); - GL11.glVertex3f(x, 14f, 0f); - GL11.glVertex3f(x + 1f, 14f, 0.01f); - GL11.glEnd(); - - GL11.glColor3f(1, e, 0f); - GL11.glBegin(GL11.GL_QUADS); - GL11.glVertex3f(x + 1f, y, 0.01f); - GL11.glVertex3f(x, y, 0f); - GL11.glVertex3f(x, 14f, 0f); - GL11.glVertex3f(x + 1f, 14f, 0.01f); - GL11.glEnd(); - - GL11.glEnable(GL11.GL_TEXTURE_2D); - GL11.glColor3f(1f, 1f, 1f); - - } + // TODO(1.10): Fix icon rendering. +// public static void drawIcon(ItemRenderType type) { +// enableBlend(); +// if (type == ItemRenderType.INVENTORY) { +// +// disableCulling(); +// GL11.glBegin(GL11.GL_QUADS); +// GL11.glTexCoord2f(1f, 0f); +// GL11.glVertex3f(16f, 0f, 0f); +// GL11.glTexCoord2f(0f, 0f); +// GL11.glVertex3f(0f, 0f, 0f); +// GL11.glTexCoord2f(0f, 1f); +// GL11.glVertex3f(0f, 16f, 0f); +// GL11.glTexCoord2f(1f, 1f); +// GL11.glVertex3f(16f, 16f, 0f); +// GL11.glEnd(); +// enableCulling(); +// } else if (type == ItemRenderType.ENTITY) { +// +// disableCulling(); +// GL11.glBegin(GL11.GL_QUADS); +// GL11.glTexCoord2f(1f, 1f); +// GL11.glVertex3f(0, 0f, 0.5f); +// GL11.glTexCoord2f(0f, 1f); +// GL11.glVertex3f(0.0f, 0f, -0.5f); +// GL11.glTexCoord2f(0f, 0f); +// GL11.glVertex3f(0.0f, 1f, -0.5f); +// GL11.glTexCoord2f(1f, 0f); +// GL11.glVertex3f(0.0f, 1f, 0.5f); +// GL11.glEnd(); +// enableCulling(); +// } else { +// GL11.glTranslatef(0.5f, -0.3f, 0.5f); +// +// disableCulling(); +// GL11.glBegin(GL11.GL_QUADS); +// GL11.glTexCoord2f(1f, 1f); +// GL11.glVertex3f(0.0f, 0.5f, 0.5f); +// GL11.glTexCoord2f(0f, 1f); +// GL11.glVertex3f(0.0f, 0.5f, -0.5f); +// GL11.glTexCoord2f(0f, 0f); +// GL11.glVertex3f(0.0f, 1.5f, -0.5f); +// GL11.glTexCoord2f(1f, 0f); +// GL11.glVertex3f(0.0f, 1.5f, 0.5f); +// GL11.glEnd(); +// enableCulling(); +// } +// disableBlend(); +// } +// +// public static void drawIcon(ItemRenderType type, ResourceLocation icon) { +// bindTexture(icon); +// drawIcon(type); +// } +// +// public static void drawEnergyBare(ItemRenderType type, float e) { +// drawIcon(type, new ResourceLocation("eln", "sprites/portablebatteryoverlay.png")); +// +// float x = 13f, y = 14f - e * 12f; +// GL11.glDisable(GL11.GL_TEXTURE_2D); +// +// GL11.glColor3f(0f, 0f, 0f); +// GL11.glBegin(GL11.GL_QUADS); +// GL11.glVertex3f(x + 1f, 2, 0.01f); +// GL11.glVertex3f(x, 2, 0f); +// GL11.glVertex3f(x, 14f, 0f); +// GL11.glVertex3f(x + 1f, 14f, 0.01f); +// GL11.glEnd(); +// +// GL11.glColor3f(1, e, 0f); +// GL11.glBegin(GL11.GL_QUADS); +// GL11.glVertex3f(x + 1f, y, 0.01f); +// GL11.glVertex3f(x, y, 0f); +// GL11.glVertex3f(x, 14f, 0f); +// GL11.glVertex3f(x + 1f, 14f, 0.01f); +// GL11.glEnd(); +// +// GL11.glEnable(GL11.GL_TEXTURE_2D); +// GL11.glColor3f(1f, 1f, 1f); +// +// } public static void bindTexture(ResourceLocation resource) { Minecraft.getMinecraft().renderEngine.bindTexture(resource); @@ -372,25 +375,25 @@ public static void glDefaultColor() { GL11.glColor4f(1f, 1f, 1f, 1f); } - static public void drawEntityItem(EntityItem entityItem, double x, double y, double z, float roty, float scale) { - if (entityItem == null) - return; - - entityItem.hoverStart = 0.0f; - entityItem.rotationYaw = 0.0f; - entityItem.motionX = 0.0; - entityItem.motionY = 0.0; - entityItem.motionZ = 0.0; - - Render var10; - var10 = RenderManager.instance.getEntityRenderObject(entityItem); - GL11.glPushMatrix(); - GL11.glTranslatef((float) x, (float) y, (float) z); - GL11.glRotatef(roty, 0, 1, 0); - GL11.glScalef(scale, scale, scale); - var10.doRender(entityItem, 0, 0, 0, 0, 0); - GL11.glPopMatrix(); - } +// static public void drawEntityItem(EntityItem entityItem, double x, double y, double z, float roty, float scale) { +// if (entityItem == null) +// return; +// +// entityItem.hoverStart = 0.0f; +// entityItem.rotationYaw = 0.0f; +// entityItem.motionX = 0.0; +// entityItem.motionY = 0.0; +// entityItem.motionZ = 0.0; +// +// Render var10; +// var10 = RenderManager.instance.getEntityRenderObject(entityItem); +// GL11.glPushMatrix(); +// GL11.glTranslatef((float) x, (float) y, (float) z); +// GL11.glRotatef(roty, 0, 1, 0); +// GL11.glScalef(scale, scale, scale); +// var10.doRender(entityItem, 0, 0, 0, 0, 0); +// GL11.glPopMatrix(); +// } static public void drawConnectionPinSixNode(float d, float w, float h) { d += 0.1f; @@ -453,65 +456,61 @@ static public void drawConnectionPinSixNode(LRDU front, float[] dList, float w, enableTexture(); } - static RenderItem getItemRender() { - if (itemRenderer == null) - itemRenderer = new RenderItem(); - return itemRenderer; - } +// static RenderItem getItemRender() { +// if (itemRenderer == null) +// itemRenderer = new RenderItem(); +// return itemRenderer; +// } static Minecraft mc() { return Minecraft.getMinecraft(); } - public static void guiScale() { - GL11.glScalef(16f, 16f, 1f); - } - - public static void drawItemStack(ItemStack par1ItemStack, int x, int y, String par4Str, boolean gui) { - // Block b = Block.getBlockFromItem(par1ItemStack.getItem()); - // b.rend - // ForgeHooksClient.renderInventoryItem(new RenderBlocks(),Minecraft.getMinecraft().getTextureManager(),par1ItemStack,false,0,x,y); - // ForgeHooksClient.renderInventoryItem(Minecraft.getMinecraft().bl, engine, item, inColor, zLevel, x, y) - - RenderItem itemRenderer = getItemRender(); - // GL11.glDisable(3042); - if (gui) { - GL11.glEnable(32826); - RenderHelper.enableGUIStandardItemLighting(); - } - // GL11.glTranslatef(0.0F, 0.0F, 32.0F); - // ForgeHooksClient.renderInventoryItem(new RenderBlocks(),Minecraft.getMinecraft().getTextureManager(),par1ItemStack,false,0,x,y); - itemRenderer.zLevel = 400.0F; - // ForgeHooksClient.renderInventoryItem(renderBlocks, engine, item, inColor, zLevel, x, y) - FontRenderer font = null; - if (par1ItemStack != null) { - Item i = par1ItemStack.getItem(); - if (i == null) - return; - font = i.getFontRenderer(par1ItemStack); - } - if (font == null) - font = mc().fontRenderer; - itemRenderer.renderItemAndEffectIntoGUI(font, mc().getTextureManager(), par1ItemStack, x, y); - // itemRenderer.renderItemOverlayIntoGUI(font, mc().getTextureManager(), par1ItemStack, x, y, par4Str); - - itemRenderer.zLevel = 0.0F; - - if (gui) { - RenderHelper.disableStandardItemLighting(); - GL11.glDisable(32826); - } - - if (par1ItemStack.stackSize > 1) { - disableDepthTest(); - // GL11.glPushMatrix(); - // GL - // GL11.glScalef(0.5f, 0.5f, 0.5f); - Minecraft.getMinecraft().fontRenderer.drawStringWithShadow("" + par1ItemStack.stackSize, x + 10, y + 9, 0xFFFFFFFF); - // GL11.glPopMatrix(); - enableDepthTest(); - } - } +// public static void drawItemStack(ItemStack par1ItemStack, int x, int y, String par4Str, boolean gui) { +// // Block b = Block.getBlockFromItem(par1ItemStack.getItem()); +// // b.rend +// // ForgeHooksClient.renderInventoryItem(new RenderBlocks(),Minecraft.getMinecraft().getTextureManager(),par1ItemStack,false,0,x,y); +// // ForgeHooksClient.renderInventoryItem(Minecraft.getMinecraft().bl, engine, item, inColor, zLevel, x, y) +// +// RenderItem itemRenderer = getItemRender(); +// // GL11.glDisable(3042); +// if (gui) { +// GL11.glEnable(32826); +// RenderHelper.enableGUIStandardItemLighting(); +// } +// // GL11.glTranslatef(0.0F, 0.0F, 32.0F); +// // ForgeHooksClient.renderInventoryItem(new RenderBlocks(),Minecraft.getMinecraft().getTextureManager(),par1ItemStack,false,0,x,y); +// itemRenderer.zLevel = 400.0F; +// // ForgeHooksClient.renderInventoryItem(renderBlocks, engine, item, inColor, zLevel, x, y) +// FontRenderer font = null; +// if (par1ItemStack != null) { +// Item i = par1ItemStack.getItem(); +// if (i == null) +// return; +// font = i.getFontRenderer(par1ItemStack); +// } +// if (font == null) +// font = mc().fontRenderer; +// itemRenderer.renderItemAndEffectIntoGUI(font, mc().getTextureManager(), par1ItemStack, x, y); +// // itemRenderer.renderItemOverlayIntoGUI(font, mc().getTextureManager(), par1ItemStack, x, y, par4Str); +// +// itemRenderer.zLevel = 0.0F; +// +// if (gui) { +// RenderHelper.disableStandardItemLighting(); +// GL11.glDisable(32826); +// } +// +// if (par1ItemStack.stackSize > 1) { +// disableDepthTest(); +// // GL11.glPushMatrix(); +// // GL +// // GL11.glScalef(0.5f, 0.5f, 0.5f); +// Minecraft.getMinecraft().fontRenderer.drawStringWithShadow("" + par1ItemStack.stackSize, x + 10, y + 9, 0xFFFFFFFF); +// // GL11.glPopMatrix(); +// enableDepthTest(); +// } +// } public static double clientDistanceTo(Entity e) { if (e == null) @@ -525,14 +524,18 @@ public static double clientDistanceTo(TransparentNodeEntity t) { if (t == null) return 100000000.0; Entity c = Minecraft.getMinecraft().thePlayer; - double x = (c.posX - t.xCoord), y = (c.posY - t.yCoord), z = (c.posZ - t.zCoord); + BlockPos pos = t.getPos(); + double x = (c.posX - pos.getX()), y = (c.posY - pos.getY()), z = (c.posZ - pos.getZ()); return Math.sqrt(x * x + y * y + z * z); } - public static int getLight(World w, int x, int y, int z) { - int b = w.getSkyBlockTypeBrightness(EnumSkyBlock.Block, x, y, z); - int s = w.getSkyBlockTypeBrightness(EnumSkyBlock.Sky, x, y, z) - w.calculateSkylightSubtracted(0f); - return Math.max(b, s); + private static int getLight(World w, BlockPos pos) { + // TODO(1.10): Is this right? + return w.getLight(pos); +// w.getLight() +// int b = w.getSkyBlockTypeBrightness(EnumSkyBlock.Block, x, y, z); +// int s = w.getSkyBlockTypeBrightness(EnumSkyBlock.Sky, x, y, z) - w.calculateSkylightSubtracted(0f); +// return Math.max(b, s); } public static void disableDepthTest() { @@ -543,10 +546,9 @@ public static void enableDepthTest() { GL11.glEnable(GL11.GL_DEPTH_TEST); } - public static void sendPacketToServer(ByteArrayOutputStream bos) { - C17PacketCustomPayload packet = new C17PacketCustomPayload(Eln.channelName, bos.toByteArray()); + public static void sendPacketToServer(PacketBuffer bos) { + CPacketCustomPayload packet = new CPacketCustomPayload(Eln.channelName, bos); Eln.eventChannel.sendToServer(new FMLProxyPacket(packet)); - // Minecraft.getMinecraft().thePlayer.sendQueue.addToSendQueue(new FMLProxyPacket(packet)); } public static int getUuid() { diff --git a/src/main/java/mods/eln/misc/VoltageLevelColor.java b/src/main/java/mods/eln/misc/VoltageLevelColor.java index 36d8376db..97b39109d 100644 --- a/src/main/java/mods/eln/misc/VoltageLevelColor.java +++ b/src/main/java/mods/eln/misc/VoltageLevelColor.java @@ -2,8 +2,6 @@ import mods.eln.Eln; import mods.eln.sixnode.electricalcable.ElectricalCableDescriptor; -import net.minecraft.util.ResourceLocation; -import net.minecraftforge.client.IItemRenderer; import org.lwjgl.opengl.GL11; public enum VoltageLevelColor { @@ -22,12 +20,13 @@ public enum VoltageLevelColor { this.voltageLevel = voltageLevel; } - public void drawIconBackground(IItemRenderer.ItemRenderType type) { - if (!Eln.noVoltageBackground && voltageLevel != null && - type == IItemRenderer.ItemRenderType.INVENTORY || type == IItemRenderer.ItemRenderType.FIRST_PERSON_MAP) { - UtilsClient.drawIcon(type, new ResourceLocation("eln", "textures/voltages/" + voltageLevel + ".png")); - } - } + // TODO(1.10): Item rendering. +// public void drawIconBackground(IItemRenderer.ItemRenderType type) { +// if (!Eln.noVoltageBackground && voltageLevel != null && +// type == IItemRenderer.ItemRenderType.INVENTORY || type == IItemRenderer.ItemRenderType.FIRST_PERSON_MAP) { +// UtilsClient.drawIcon(type, new ResourceLocation("eln", "textures/voltages/" + voltageLevel + ".png")); +// } +// } private String voltageLevel; diff --git a/src/main/java/mods/eln/node/AutoAcceptInventoryProxy.kt b/src/main/java/mods/eln/node/AutoAcceptInventoryProxy.kt index 58b84e476..1c2baa7c7 100644 --- a/src/main/java/mods/eln/node/AutoAcceptInventoryProxy.kt +++ b/src/main/java/mods/eln/node/AutoAcceptInventoryProxy.kt @@ -61,16 +61,16 @@ class AutoAcceptInventoryProxy(val inventory: IInventory) { if (existingItemDescriptor != null && existingItemDescriptor == itemDescriptor) { itemStack!!.stackSize -= 1 - existingStack.stackSize += 1 + existingStack!!.stackSize += 1 return true } - val existingItemBloackDescriptor = GenericItemBlockUsingDamageDescriptor.getDescriptor(existingStack) + val existingItemBlockDescriptor = GenericItemBlockUsingDamageDescriptor.getDescriptor(existingStack) val itemBlockDescriptor = GenericItemBlockUsingDamageDescriptor.getDescriptor(itemStack) - if (existingItemBloackDescriptor != null && existingItemBloackDescriptor == itemBlockDescriptor) { + if (existingItemBlockDescriptor != null && existingItemBlockDescriptor == itemBlockDescriptor) { itemStack!!.stackSize -= 1 - existingStack.stackSize += 1 + existingStack!!.stackSize += 1 return true } @@ -83,13 +83,14 @@ class AutoAcceptInventoryProxy(val inventory: IInventory) { : ItemAcceptorIfIncrement(index, maxItems, acceptedItems) { override fun take(itemStack: ItemStack?, inventory: IInventory): Boolean { if (super.take(itemStack, inventory)) return true + if (itemStack == null) return false // TODO: What do we do with the item that is actually in the slot? For the moment it just disappears. - GenericItemUsingDamageDescriptor.getDescriptor(itemStack)?.let { if (acceptedItems.contains(it.javaClass)) { - itemStack!!.stackSize -= 1 - existingItemHandler?.handleExistingInventoryItem(inventory.getStackInSlot(index)) + itemStack.stackSize -= 1 + inventory.getStackInSlot(index)?.let { + existing -> existingItemHandler?.handleExistingInventoryItem(existing) } inventory.setInventorySlotContents(index, it.newItemStack()) return true } @@ -97,8 +98,9 @@ class AutoAcceptInventoryProxy(val inventory: IInventory) { GenericItemBlockUsingDamageDescriptor.getDescriptor(itemStack)?.let { if (acceptedItems.contains(it.javaClass)) { - itemStack!!.stackSize -= 1 - existingItemHandler?.handleExistingInventoryItem(inventory.getStackInSlot(index)) + itemStack.stackSize -= 1 + inventory.getStackInSlot(index)?.let { + existing -> existingItemHandler?.handleExistingInventoryItem(existing) } inventory.setInventorySlotContents(index, it.newItemStack()) return true } diff --git a/src/main/java/mods/eln/node/INodeEntity.java b/src/main/java/mods/eln/node/INodeEntity.java index 8808cd913..e39fa3ba4 100644 --- a/src/main/java/mods/eln/node/INodeEntity.java +++ b/src/main/java/mods/eln/node/INodeEntity.java @@ -1,7 +1,7 @@ package mods.eln.node; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; +import net.minecraftforge.fml.relauncher.Side; +import net.minecraftforge.fml.relauncher.SideOnly; import mods.eln.misc.Direction; import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.player.EntityPlayer; diff --git a/src/main/java/mods/eln/node/Node.java b/src/main/java/mods/eln/node/Node.java index 70d174030..9d72d14a4 100644 --- a/src/main/java/mods/eln/node/Node.java +++ b/src/main/java/mods/eln/node/Node.java @@ -17,7 +17,7 @@ public void setLightValue(int light) { if (light < 0) light = 0; if (lastLight != light) { lastLight = light; - coordonate.world().updateLightByType(EnumSkyBlock.Block, coordonate.x, coordonate.y, coordonate.z); + coordinate.world().updateLightByType(EnumSkyBlock.Block, coordinate.x, coordinate.y, coordinate.z); setNeedPublish(true); } @@ -59,7 +59,7 @@ public void publishSerialize(DataOutputStream stream) { public NodeBlockEntity getEntity() { - return (NodeBlockEntity) coordonate.world().getTileEntity(coordonate.x, coordonate.y, coordonate.z); + return (NodeBlockEntity) coordinate.world().getTileEntity(coordinate.x, coordinate.y, coordinate.z); } public int isProvidingWeakPower(Direction side) { diff --git a/src/main/java/mods/eln/node/NodeBase.java b/src/main/java/mods/eln/node/NodeBase.java index c3342f60f..1098c2a8d 100644 --- a/src/main/java/mods/eln/node/NodeBase.java +++ b/src/main/java/mods/eln/node/NodeBase.java @@ -1,6 +1,5 @@ package mods.eln.node; -import cpw.mods.fml.common.FMLCommonHandler; import mods.eln.Eln; import mods.eln.GuiHandler; import mods.eln.ghost.GhostBlock; @@ -18,9 +17,10 @@ import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.server.MinecraftServer; -import net.minecraft.server.management.PlayerManager; +import net.minecraft.util.math.BlockPos; import net.minecraft.world.World; import net.minecraft.world.WorldServer; +import net.minecraftforge.fml.common.FMLCommonHandler; import java.io.ByteArrayOutputStream; import java.io.DataInputStream; @@ -60,7 +60,7 @@ public abstract class NodeBase { public static int teststatic; - public Coordonate coordonate; + public Coordinate coordinate; public ArrayList nodeConnectionList = new ArrayList(4); @@ -85,7 +85,7 @@ public void networkUnserialize(DataInputStream stream, EntityPlayerMP player) { } public void notifyNeighbor() { - coordonate.world().notifyBlockChange(coordonate.x, coordonate.y, coordonate.z, coordonate.getBlock()); + coordinate.world().notifyNeighborsRespectDebug(coordinate.pos, coordinate.getBlockState().getBlock()); } //public abstract Block getBlock(); @@ -95,22 +95,21 @@ public void notifyNeighbor() { public void neighborBlockRead() { int[] vector = new int[3]; - World world = coordonate.world(); + World world = coordinate.world(); neighborOpaque = 0; neighborWrapable = 0; for (Direction direction : Direction.values()) { - vector[0] = coordonate.x; - vector[1] = coordonate.y; - vector[2] = coordonate.z; + BlockPos.MutableBlockPos pos = coordinate.pos; + vector[0] = pos.getX(); + vector[1] = pos.getY(); + vector[2] = pos.getZ(); direction.applyTo(vector, 1); - Block b = world.getBlock(vector[0], vector[1], vector[2]); - if (b.isOpaqueCube()) - ; + Block b = world.getBlockState(pos).getBlock(); neighborOpaque |= 1 << direction.getInt(); - if (isBlockWrappable(b, world, coordonate.x, coordonate.y, coordonate.z)) + if (isBlockWrappable(b, world, pos)) neighborWrapable |= 1 << direction.getInt(); } } @@ -134,21 +133,21 @@ public boolean isBlockOpaque(Direction direction) { return ((neighborOpaque >> direction.getInt()) & 1) != 0; } - public static boolean isBlockWrappable(Block block, World w, int x, int y, int z) { - if (block.isReplaceable(w, x, y, z)) return true; - if (block == Blocks.air) return true; + public static boolean isBlockWrappable(Block block, World w, BlockPos pos) { + if (block.isReplaceable(w, pos)) return true; + if (block == Blocks.AIR) return true; if (block == Eln.sixNodeBlock) return true; if (block instanceof GhostBlock) return true; - if (block == Blocks.torch) return true; - if (block == Blocks.redstone_torch) return true; - if (block == Blocks.unlit_redstone_torch) return true; - if (block == Blocks.redstone_wire) return true; + if (block == Blocks.TORCH) return true; + if (block == Blocks.REDSTONE_TORCH) return true; + if (block == Blocks.UNLIT_REDSTONE_TORCH) return true; + if (block == Blocks.REDSTONE_WIRE) return true; return false; } public NodeBase() { - coordonate = new Coordonate(); + coordinate = new Coordinate(); } boolean destructed = false; @@ -162,17 +161,19 @@ public void physicalSelfDestruction(float explosionStrength) { destructed = true; if (Eln.instance.explosionEnable == false) explosionStrength = 0; disconnect(); - coordonate.world().setBlockToAir(coordonate.x, coordonate.y, coordonate.z); + World world = coordinate.world(); + BlockPos.MutableBlockPos pos = coordinate.pos; + world.setBlockToAir(pos); NodeManager.instance.removeNode(this); if (explosionStrength != 0) { - coordonate.world().createExplosion((Entity) null, coordonate.x, coordonate.y, coordonate.z, explosionStrength, true); + world.createExplosion(null, pos.getX(), pos.getY(), pos.getZ(), explosionStrength, true); } } // NodeBaseTodo - public void onBlockPlacedBy(Coordonate coordonate, Direction front, EntityLivingBase entityLiving, ItemStack itemStack) { + public void onBlockPlacedBy(Coordinate coordinate, Direction front, EntityLivingBase entityLiving, ItemStack itemStack) { // this.entity = entity; - this.coordonate = coordonate; + this.coordinate = coordinate; neighborBlockRead(); NodeManager.instance.addNode(this); @@ -187,12 +188,12 @@ abstract public void initializeFromThat(Direction front, public NodeBase getNeighbor(Direction direction) { int[] position = new int[3]; - position[0] = coordonate.x; - position[1] = coordonate.y; - position[2] = coordonate.z; + position[0] = coordinate.x; + position[1] = coordinate.y; + position[2] = coordinate.z; direction.applyTo(position, 1); - Coordonate nodeCoordonate = new Coordonate(position[0], position[1], position[2], coordonate.dimention); - return NodeManager.instance.getNodeFromCoordonate(nodeCoordonate); + Coordinate nodeCoordinate = new Coordinate(position[0], position[1], position[2], coordinate.dimension); + return NodeManager.instance.getNodeFromCoordinate(nodeCoordinate); } // leaf @@ -231,7 +232,7 @@ public boolean onBlockActivated(EntityPlayer entityPlayer, Direction side, float } } if (hasGui(side)) { - entityPlayer.openGui(Eln.instance, GuiHandler.nodeBaseOpen + side.getInt(), coordonate.world(), coordonate.x, coordonate.y, coordonate.z); + entityPlayer.openGui(Eln.instance, GuiHandler.nodeBaseOpen + side.getInt(), coordinate.world(), coordinate.x, coordinate.y, coordinate.z); return true; } @@ -302,9 +303,9 @@ public void connectJob() { int[] otherBlockCoord = new int[3]; for (Direction direction : Direction.values()) { if (isBlockWrappable(direction)) { - emptyBlockCoord[0] = coordonate.x; - emptyBlockCoord[1] = coordonate.y; - emptyBlockCoord[2] = coordonate.z; + emptyBlockCoord[0] = coordinate.x; + emptyBlockCoord[1] = coordinate.y; + emptyBlockCoord[2] = coordinate.z; direction.applyTo(emptyBlockCoord, 1); for (LRDU lrdu : LRDU.values()) { Direction elementSide = direction.applyLRDU(lrdu); @@ -312,7 +313,7 @@ public void connectJob() { otherBlockCoord[1] = emptyBlockCoord[1]; otherBlockCoord[2] = emptyBlockCoord[2]; elementSide.applyTo(otherBlockCoord, 1); - NodeBase otherNode = NodeManager.instance.getNodeFromCoordonate(new Coordonate(otherBlockCoord[0], otherBlockCoord[1], otherBlockCoord[2], coordonate.dimention)); + NodeBase otherNode = NodeManager.instance.getNodeFromCoordinate(new Coordinate(otherBlockCoord[0], otherBlockCoord[1], otherBlockCoord[2], coordinate.dimension)); if (otherNode == null) continue; Direction otherDirection = elementSide.getInverse(); LRDU otherLRDU = otherDirection.getLRDUGoingTo(direction).inverse(); @@ -409,7 +410,7 @@ public boolean nodeAutoSave() { public void readFromNBT(NBTTagCompound nbt) { - coordonate.readFromNBT(nbt, "c"); + coordinate.readFromNBT(nbt, "c"); neighborOpaque = nbt.getByte("NBOpaque"); neighborWrapable = nbt.getByte("NBWrap"); @@ -419,7 +420,7 @@ public void readFromNBT(NBTTagCompound nbt) { public void writeToNBT(NBTTagCompound nbt) { - coordonate.writeToNBT(nbt, "c"); + coordinate.writeToNBT(nbt, "c"); int idx; @@ -461,11 +462,11 @@ public void preparePacketForClient(DataOutputStream stream) { try { stream.writeByte(Eln.packetForClientNode); - stream.writeInt(coordonate.x); - stream.writeInt(coordonate.y); - stream.writeInt(coordonate.z); + stream.writeInt(coordinate.x); + stream.writeInt(coordinate.y); + stream.writeInt(coordinate.z); - stream.writeByte(coordonate.dimention); + stream.writeByte(coordinate.dimension); stream.writeUTF(getNodeUuid()); @@ -494,9 +495,9 @@ public void sendPacketToAllClient(ByteArrayOutputStream bos, double range) { EntityPlayerMP player = (EntityPlayerMP) obj; WorldServer worldServer = (WorldServer) MinecraftServer.getServer().worldServerForDimension(player.dimension); PlayerManager playerManager = worldServer.getPlayerManager(); - if (player.dimension != this.coordonate.dimention) continue; - if (!playerManager.isPlayerWatchingChunk(player, coordonate.x / 16, coordonate.z / 16)) continue; - if (coordonate.distanceTo(player) > range) continue; + if (player.dimension != this.coordinate.dimension) continue; + if (!playerManager.isPlayerWatchingChunk(player, coordinate.x / 16, coordinate.z / 16)) continue; + if (coordinate.distanceTo(player) > range) continue; Utils.sendPacketToClient(bos, player); } @@ -512,10 +513,10 @@ public ByteArrayOutputStream getPublishPacket() { stream.writeByte(Eln.packetNodeSingleSerialized); - stream.writeInt(coordonate.x); - stream.writeInt(coordonate.y); - stream.writeInt(coordonate.z); - stream.writeByte(coordonate.dimention); + stream.writeInt(coordinate.x); + stream.writeInt(coordinate.y); + stream.writeInt(coordinate.z); + stream.writeByte(coordinate.dimension); stream.writeUTF(getNodeUuid()); @@ -537,8 +538,8 @@ public void publishToAllPlayer() { EntityPlayerMP player = (EntityPlayerMP) obj; WorldServer worldServer = (WorldServer) MinecraftServer.getServer().worldServerForDimension(player.dimension); PlayerManager playerManager = worldServer.getPlayerManager(); - if (player.dimension != this.coordonate.dimention) continue; - if (!playerManager.isPlayerWatchingChunk(player, coordonate.x / 16, coordonate.z / 16)) continue; + if (player.dimension != this.coordinate.dimension) continue; + if (!playerManager.isPlayerWatchingChunk(player, coordinate.x / 16, coordinate.z / 16)) continue; Utils.sendPacketToClient(getPublishPacket(), player); } @@ -555,14 +556,14 @@ public void publishToPlayer(EntityPlayerMP player) { public void dropItem(ItemStack itemStack) { if (itemStack == null) return; - if (coordonate.world().getGameRules().getGameRuleBooleanValue("doTileDrops")) { + if (coordinate.world().getGameRules().getGameRuleBooleanValue("doTileDrops")) { float var6 = 0.7F; - double var7 = (double) (coordonate.world().rand.nextFloat() * var6) + (double) (1.0F - var6) * 0.5D; - double var9 = (double) (coordonate.world().rand.nextFloat() * var6) + (double) (1.0F - var6) * 0.5D; - double var11 = (double) (coordonate.world().rand.nextFloat() * var6) + (double) (1.0F - var6) * 0.5D; - EntityItem var13 = new EntityItem(coordonate.world(), (double) coordonate.x + var7, (double) coordonate.y + var9, (double) coordonate.z + var11, itemStack); + double var7 = (double) (coordinate.world().rand.nextFloat() * var6) + (double) (1.0F - var6) * 0.5D; + double var9 = (double) (coordinate.world().rand.nextFloat() * var6) + (double) (1.0F - var6) * 0.5D; + double var11 = (double) (coordinate.world().rand.nextFloat() * var6) + (double) (1.0F - var6) * 0.5D; + EntityItem var13 = new EntityItem(coordinate.world(), (double) coordinate.x + var7, (double) coordinate.y + var9, (double) coordinate.z + var11, itemStack); var13.delayBeforeCanPickup = 10; - coordonate.world().spawnEntityInWorld(var13); + coordinate.world().spawnEntityInWorld(var13); } } diff --git a/src/main/java/mods/eln/node/NodeBlockEntity.java b/src/main/java/mods/eln/node/NodeBlockEntity.java index 0585e0243..efca57be8 100644 --- a/src/main/java/mods/eln/node/NodeBlockEntity.java +++ b/src/main/java/mods/eln/node/NodeBlockEntity.java @@ -1,8 +1,6 @@ package mods.eln.node; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; import mods.eln.Eln; import mods.eln.cable.CableRenderDescriptor; import mods.eln.misc.*; @@ -14,10 +12,11 @@ import net.minecraft.inventory.Container; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.network.Packet; -import net.minecraft.network.play.server.S3FPacketCustomPayload; import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.AxisAlignedBB; +import net.minecraft.util.math.AxisAlignedBB; import net.minecraft.world.EnumSkyBlock; +import net.minecraftforge.fml.relauncher.Side; +import net.minecraftforge.fml.relauncher.SideOnly; import java.io.ByteArrayOutputStream; import java.io.DataInputStream; @@ -54,26 +53,18 @@ public void serverPublishUnserialize(DataInputStream stream) { boolean newRedstone = (b & 0x10) != 0; if (redstone != newRedstone) { redstone = newRedstone; - worldObj.notifyBlockChange(xCoord, yCoord, zCoord, getBlockType()); - } else { - redstone = newRedstone; + worldObj.notifyNeighborsRespectDebug(getPos(), getBlockType()); } } catch (IOException e) { e.printStackTrace(); } - /* if(lastLight == 0xFF) //boot trololol - { - lastLight = 15; - worldObj.updateLightByType(EnumSkyBlock.Block,xCoord,yCoord,zCoord); - }*/ if (lastLight != light) { lastLight = light; - worldObj.updateLightByType(EnumSkyBlock.Block, xCoord, yCoord, zCoord); + worldObj.checkLightFor(EnumSkyBlock.BLOCK, getPos()); } - } @Override @@ -105,14 +96,14 @@ public GuiScreen newGuiDraw(Direction side, EntityPlayer player) { public NodeBlockEntity() { - } @SideOnly(Side.CLIENT) public AxisAlignedBB getRenderBoundingBox() { if (cameraDrawOptimisation()) { - return AxisAlignedBB.getBoundingBox(xCoord - 1, yCoord - 1, zCoord - 1, xCoord + 1, yCoord + 1, zCoord + 1); + // TODO(1.10): This may not be correct. + return new AxisAlignedBB(pos); } else { return INFINITE_EXTENT_AABB; } @@ -136,7 +127,7 @@ public int getLightValue() { } /** - * Reads a tile entity from NBT. + * Reads a tile entity fromFacing NBT. */ public void readFromNBT(NBTTagCompound nbt) { super.readFromNBT(nbt); @@ -245,13 +236,13 @@ public Node getNode() { } if (this.worldObj == null) return null; if (node == null) { - NodeBase nodeFromCoordonate = NodeManager.instance.getNodeFromCoordonate(new Coordonate(xCoord, yCoord, zCoord, worldObj)); + NodeBase nodeFromCoordonate = NodeManager.instance.getNodeFromCoordinate(new Coordinate(xCoord, yCoord, zCoord, worldObj)); if (nodeFromCoordonate instanceof Node) { node = (Node) nodeFromCoordonate; } else { - Utils.println("ASSERT WRONG TYPE public Node getNode " + new Coordonate(xCoord, yCoord, zCoord, worldObj)); + Utils.println("ASSERT WRONG TYPE public Node getNode " + new Coordinate(xCoord, yCoord, zCoord, worldObj)); } - if (node == null) DelayedBlockRemove.add(new Coordonate(xCoord, yCoord, zCoord, this.worldObj)); + if (node == null) DelayedBlockRemove.add(new Coordinate(xCoord, yCoord, zCoord, this.worldObj)); } return node; } @@ -313,7 +304,6 @@ public int getCableDry(Direction side, LRDU lrdu) { } public boolean canConnectRedstone(Direction xn) { - if (worldObj.isRemote) return redstone; else { diff --git a/src/main/java/mods/eln/node/NodeBlockItem.java b/src/main/java/mods/eln/node/NodeBlockItem.java index eeca72f1b..a3c16e251 100644 --- a/src/main/java/mods/eln/node/NodeBlockItem.java +++ b/src/main/java/mods/eln/node/NodeBlockItem.java @@ -33,7 +33,7 @@ public boolean placeBlockAt(ItemStack stack, EntityLivingBase player, World worl NodeBase node = (NodeBase) getBlock().newNodeBase(); - node.onBlockPlacedBy(new Coordonate(x, y, z,world),direction,player,stack); + node.onBlockPlacedBy(new Coordinate(x, y, z,world),direction,player,stack); world.setBlock(x, y, z, getBlock(), node.getBlockMetadata(),0x03);//caca1.5.1 getBlock().onBlockPlacedBy(world, x, y, z,direction, player,metadata); diff --git a/src/main/java/mods/eln/node/NodeClient.java b/src/main/java/mods/eln/node/NodeClient.java index a9eebf97e..7f747a930 100644 --- a/src/main/java/mods/eln/node/NodeClient.java +++ b/src/main/java/mods/eln/node/NodeClient.java @@ -1,10 +1,10 @@ package mods.eln.node; -import cpw.mods.fml.common.FMLCommonHandler; -import cpw.mods.fml.common.eventhandler.SubscribeEvent; -import cpw.mods.fml.common.gameevent.TickEvent.ClientTickEvent; -import cpw.mods.fml.common.gameevent.TickEvent.Phase; +import net.minecraftforge.fml.common.FMLCommonHandler; +import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; +import net.minecraftforge.fml.common.gameevent.TickEvent.ClientTickEvent; +import net.minecraftforge.fml.common.gameevent.TickEvent.Phase; import java.util.ArrayList; diff --git a/src/main/java/mods/eln/node/NodeManager.java b/src/main/java/mods/eln/node/NodeManager.java index 65064e035..0b52ff7c6 100644 --- a/src/main/java/mods/eln/node/NodeManager.java +++ b/src/main/java/mods/eln/node/NodeManager.java @@ -1,6 +1,6 @@ package mods.eln.node; -import mods.eln.misc.Coordonate; +import mods.eln.misc.Coordinate; import mods.eln.misc.Utils; import mods.eln.node.transparent.TransparentNode; import mods.eln.node.transparent.TransparentNodeElement; @@ -12,10 +12,10 @@ public class NodeManager extends WorldSavedData { public static NodeManager instance = null; - private HashMap nodesMap; + private HashMap nodesMap; private ArrayList nodes; - public HashMap getNodeArray() { + public HashMap getNodeArray() { return nodesMap; } @@ -37,7 +37,7 @@ Collection getNodeList() { public NodeManager(String par1Str) { super(par1Str); - nodesMap = new HashMap(); + nodesMap = new HashMap(); nodes = new ArrayList(); instance = this; @@ -45,12 +45,12 @@ public NodeManager(String par1Str) { public void addNode(NodeBase node) { // nodeArray.add(node); - if (node.coordonate == null) { - Utils.println("Null coordonate addnode"); + if (node.coordinate == null) { + Utils.println("Null coordinate addnode"); while (true) ; } - NodeBase old = nodesMap.put(node.coordonate, node); + NodeBase old = nodesMap.put(node.coordinate, node); if (old != null) { nodes.remove(old); } @@ -62,12 +62,12 @@ public void addNode(NodeBase node) { public void removeNode(NodeBase node) { if (node == null) return; - nodesMap.remove(node.coordonate); + nodesMap.remove(node.coordinate); nodes.remove(node); Utils.println("NodeManager has " + nodesMap.size() + "node"); } - public void removeCoordonate(Coordonate c) { + public void removeCoordonate(Coordinate c) { // nodeArray.remove(node); NodeBase n = nodesMap.remove(c); if (n != null) nodes.remove(n); @@ -105,19 +105,19 @@ public void writeToNBT(NBTTagCompound nbt) { */ } - public NodeBase getNodeFromCoordonate(Coordonate nodeCoordonate) { + public NodeBase getNodeFromCoordinate(Coordinate nodeCoordinate) { int idx = 0; idx++; // for(Node node : nodeArray) { - // if(nodeCoordonate.equals(node.coordonate)) return node; + // if(nodeCoordinate.equals(node.coordinate)) return node; } - return nodesMap.get(nodeCoordonate); + return nodesMap.get(nodeCoordinate); // return null; } - public TransparentNodeElement getTransparentNodeFromCoordinate(Coordonate coord) { - NodeBase base = getNodeFromCoordonate(coord); + public TransparentNodeElement getTransparentNodeFromCoordinate(Coordinate coord) { + NodeBase base = getNodeFromCoordinate(coord); if (base instanceof TransparentNode) { TransparentNode n = (TransparentNode) base; return n.element; @@ -161,7 +161,7 @@ public void saveToNbt(NBTTagCompound nbt, int dim) { for (NodeBase node : nodesCopy) { try { if (node.mustBeSaved() == false) continue; - if (dim != Integer.MIN_VALUE && node.coordonate.dimention != dim) continue; + if (dim != Integer.MIN_VALUE && node.coordinate.dimension != dim) continue; NBTTagCompound nbtNode = new NBTTagCompound(); nbtNode.setString("tag", node.getNodeUuid()); node.writeToNBT(nbtNode); @@ -184,10 +184,10 @@ public void unload(int dimensionId) { Iterator i = nodes.iterator(); while (i.hasNext()) { NodeBase n = i.next(); - if (n.coordonate.dimention == dimensionId) { + if (n.coordinate.dimension == dimensionId) { n.unload(); i.remove(); - nodesMap.remove(n.coordonate); + nodesMap.remove(n.coordinate); } } } diff --git a/src/main/java/mods/eln/node/NodeServer.java b/src/main/java/mods/eln/node/NodeServer.java index 3e751e2f6..e55f83a3a 100644 --- a/src/main/java/mods/eln/node/NodeServer.java +++ b/src/main/java/mods/eln/node/NodeServer.java @@ -1,9 +1,9 @@ package mods.eln.node; -import cpw.mods.fml.common.FMLCommonHandler; -import cpw.mods.fml.common.eventhandler.SubscribeEvent; -import cpw.mods.fml.common.gameevent.TickEvent.Phase; -import cpw.mods.fml.common.gameevent.TickEvent.ServerTickEvent; +import net.minecraftforge.fml.common.FMLCommonHandler; +import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; +import net.minecraftforge.fml.common.gameevent.TickEvent.Phase; +import net.minecraftforge.fml.common.gameevent.TickEvent.ServerTickEvent; import net.minecraft.entity.player.EntityPlayerMP; import net.minecraft.server.MinecraftServer; diff --git a/src/main/java/mods/eln/node/simple/SimpleNode.java b/src/main/java/mods/eln/node/simple/SimpleNode.java index f7abbacfe..7a969e494 100644 --- a/src/main/java/mods/eln/node/simple/SimpleNode.java +++ b/src/main/java/mods/eln/node/simple/SimpleNode.java @@ -41,7 +41,7 @@ public Direction getFront() { public void setFront(Direction front) { this.front = front; if (applayFrontToMetadata()) { - coordonate.setMetadata(front.getInt()); + coordinate.setMetadata(front.getInt()); } } diff --git a/src/main/java/mods/eln/node/simple/SimpleNodeBlock.java b/src/main/java/mods/eln/node/simple/SimpleNodeBlock.java index 42da2fb7c..0b2bccd5d 100644 --- a/src/main/java/mods/eln/node/simple/SimpleNodeBlock.java +++ b/src/main/java/mods/eln/node/simple/SimpleNodeBlock.java @@ -39,7 +39,7 @@ public void onBlockPlacedBy(World w, int x, int y, int z, EntityLivingBase e, It if(w.isRemote == false){ SimpleNode node = newNode(); node.setDescriptorKey(descriptorKey); - node.onBlockPlacedBy(new Coordonate(x,y,z,w), getFrontForPlacement(e), e, stack); + node.onBlockPlacedBy(new Coordinate(x,y,z,w), getFrontForPlacement(e), e, stack); } }*/ diff --git a/src/main/java/mods/eln/node/simple/SimpleNodeEntity.java b/src/main/java/mods/eln/node/simple/SimpleNodeEntity.java index 031540179..d408d6a8c 100644 --- a/src/main/java/mods/eln/node/simple/SimpleNodeEntity.java +++ b/src/main/java/mods/eln/node/simple/SimpleNodeEntity.java @@ -1,9 +1,7 @@ package mods.eln.node.simple; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; import mods.eln.Eln; -import mods.eln.misc.Coordonate; +import mods.eln.misc.Coordinate; import mods.eln.misc.DescriptorManager; import mods.eln.misc.Direction; import mods.eln.misc.Utils; @@ -15,13 +13,15 @@ import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.Container; import net.minecraft.network.Packet; -import net.minecraft.network.play.server.S3FPacketCustomPayload; import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.ITickable; +import net.minecraftforge.fml.relauncher.Side; +import net.minecraftforge.fml.relauncher.SideOnly; import java.io.DataInputStream; import java.io.IOException; -public abstract class SimpleNodeEntity extends TileEntity implements INodeEntity { +public abstract class SimpleNodeEntity extends TileEntity implements INodeEntity, ITickable { private SimpleNode node; @@ -30,11 +30,10 @@ public SimpleNode getNode() { Utils.fatal(); return null; } - if (this.worldObj == null) return null; if (node == null) { - node = (SimpleNode) NodeManager.instance.getNodeFromCoordonate(new Coordonate(xCoord, yCoord, zCoord, this.worldObj)); + node = (SimpleNode) NodeManager.instance.getNodeFromCoordinate(new Coordinate(pos, worldObj)); if (node == null) { - DelayedBlockRemove.add(new Coordonate(xCoord, yCoord, zCoord, this.worldObj)); + DelayedBlockRemove.add(new Coordinate(pos, this.worldObj)); return null; } } @@ -49,7 +48,7 @@ public void onBlockPlacedBy(Direction front, EntityLivingBase entityLiving, int } */ - public void onBlockAdded() { + void onBlockAdded() { /*if (!worldObj.isRemote){ if (getNode() == null) { worldObj.setBlockToAir(xCoord, yCoord, zCoord); @@ -72,8 +71,7 @@ public void onChunkUnload() { } // client only - public void destructor() { - + void destructor() { } @Override @@ -93,7 +91,7 @@ public boolean onBlockActivated(EntityPlayer entityPlayer, Direction side, float return true; } - public void onNeighborBlockChange() { + void onNeighborBlockChange() { if (!worldObj.isRemote) { if (getNode() == null) return; getNode().onNeighborBlockChange(); diff --git a/src/main/java/mods/eln/node/simple/SimpleNodeItem.java b/src/main/java/mods/eln/node/simple/SimpleNodeItem.java index ac75c6d31..19253dccc 100644 --- a/src/main/java/mods/eln/node/simple/SimpleNodeItem.java +++ b/src/main/java/mods/eln/node/simple/SimpleNodeItem.java @@ -1,6 +1,6 @@ package mods.eln.node.simple; -import mods.eln.misc.Coordonate; +import mods.eln.misc.Coordinate; import net.minecraft.block.Block; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemBlock; @@ -21,7 +21,7 @@ public boolean placeBlockAt(ItemStack stack, EntityPlayer player, World world, i if (world.isRemote == false) { node = block.newNode(); node.setDescriptorKey(block.descriptorKey); - node.onBlockPlacedBy(new Coordonate(x, y, z, world), block.getFrontForPlacement(player), player, stack); + node.onBlockPlacedBy(new Coordinate(x, y, z, world), block.getFrontForPlacement(player), player, stack); } if (!world.setBlock(x, y, z, field_150939_a, metadata, 3)) { diff --git a/src/main/java/mods/eln/node/six/SixNode.java b/src/main/java/mods/eln/node/six/SixNode.java index 68565e3de..71476d87c 100644 --- a/src/main/java/mods/eln/node/six/SixNode.java +++ b/src/main/java/mods/eln/node/six/SixNode.java @@ -127,15 +127,15 @@ public boolean createSubBlock(ItemStack itemStack, Direction direction, EntityPl protected void dropItem(ItemStack itemStack) { - if (coordonate.world().getGameRules().getGameRuleBooleanValue("doTileDrops")) + if (coordinate.world().getGameRules().getGameRuleBooleanValue("doTileDrops")) { float var6 = 0.7F; - double var7 = (double)(coordonate.world().rand.nextFloat() * var6) + (double)(1.0F - var6) * 0.5D; - double var9 = (double)(coordonate.world().rand.nextFloat() * var6) + (double)(1.0F - var6) * 0.5D; - double var11 = (double)(coordonate.world().rand.nextFloat() * var6) + (double)(1.0F - var6) * 0.5D; - EntityItem var13 = new EntityItem(coordonate.world(), (double)coordonate.x + var7, (double)coordonate.y + var9, (double)coordonate.z + var11, itemStack); + double var7 = (double)(coordinate.world().rand.nextFloat() * var6) + (double)(1.0F - var6) * 0.5D; + double var9 = (double)(coordinate.world().rand.nextFloat() * var6) + (double)(1.0F - var6) * 0.5D; + double var11 = (double)(coordinate.world().rand.nextFloat() * var6) + (double)(1.0F - var6) * 0.5D; + EntityItem var13 = new EntityItem(coordinate.world(), (double)coordinate.x + var7, (double)coordinate.y + var9, (double)coordinate.z + var11, itemStack); var13.delayBeforeCanPickup = 10; - coordonate.world().spawnEntityInWorld(var13); + coordinate.world().spawnEntityInWorld(var13); } }*/ @@ -523,11 +523,11 @@ public boolean onBlockActivated(EntityPlayer entityPlayer, Direction side, float //if(sixNodeCacheMapId != sixNodeCacheMapIdOld) { - Chunk chunk = coordonate.world().getChunkFromBlockCoords(coordonate.x, coordonate.z); + Chunk chunk = coordinate.world().getChunkFromBlockCoords(coordinate.x, coordinate.z); Utils.generateHeightMap(chunk); Utils.updateSkylight(chunk); chunk.generateSkylightMap(); - Utils.updateAllLightTypes(coordonate.world(), coordonate.x, coordonate.y, coordonate.z); + Utils.updateAllLightTypes(coordinate.world(), coordinate.x, coordinate.y, coordinate.z); } return true; } else { diff --git a/src/main/java/mods/eln/node/six/SixNodeBlock.java b/src/main/java/mods/eln/node/six/SixNodeBlock.java index 996702f38..1752e94c0 100644 --- a/src/main/java/mods/eln/node/six/SixNodeBlock.java +++ b/src/main/java/mods/eln/node/six/SixNodeBlock.java @@ -1,7 +1,5 @@ package mods.eln.node.six; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; import mods.eln.Eln; import mods.eln.misc.Direction; import mods.eln.misc.Utils; @@ -9,8 +7,8 @@ import mods.eln.node.NodeBlock; import net.minecraft.block.Block; import net.minecraft.block.material.Material; +import net.minecraft.block.state.IBlockState; import net.minecraft.client.Minecraft; -import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.player.EntityPlayer; @@ -19,14 +17,18 @@ import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.AxisAlignedBB; -import net.minecraft.util.IIcon; -import net.minecraft.util.MovingObjectPosition; -import net.minecraft.util.Vec3; +import net.minecraft.util.math.AxisAlignedBB; +import net.minecraft.util.math.BlockPos; +import net.minecraft.util.math.RayTraceResult; +import net.minecraft.util.math.Vec3d; import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; import net.minecraft.world.chunk.Chunk; +import net.minecraftforge.fml.relauncher.Side; +import net.minecraftforge.fml.relauncher.SideOnly; +import javax.annotation.Nonnull; +import javax.annotation.Nullable; import java.util.List; import java.util.Random; @@ -40,25 +42,24 @@ public SixNodeBlock(Material material, Class tileEntityClass) { // setBlockTextureName("eln:air"); } - @Override - public ItemStack getPickBlock(MovingObjectPosition target, World world, int x, int y, int z, EntityPlayer player) { - SixNodeEntity entity = (SixNodeEntity) world.getTileEntity(x, y, z); + public ItemStack getPickBlock(IBlockState state, RayTraceResult target, World world, BlockPos pos, EntityPlayer player) { + SixNodeEntity entity = (SixNodeEntity) world.getTileEntity(pos); if (entity != null) { - SixNodeElementRender render = entity.elementRenderList[Direction.fromIntMinecraftSide(target.sideHit).getInt()]; + SixNodeElementRender render = entity.elementRenderList[Direction.fromFacing(target.sideHit).getInt()]; if (render != null) { return render.sixNodeDescriptor.newItemStack(); } } - - return super.getPickBlock(target, world, x, y, z, player); + return super.getPickBlock(state, target, world, pos, player); } - @Override - public void registerBlockIcons(IIconRegister r) { - super.registerBlockIcons(r); - this.blockIcon = r.registerIcon("eln:air"); - } + // TODO(1.10): Fix item render. +// @Override +// public void registerBlockIcons(IIconRegister r) { +// super.registerBlockIcons(r); +// this.blockIcon = r.registerIcon("eln:air"); +// } public AxisAlignedBB getCollisionBoundingBoxFromPool(World par1World, int par2, int par3, int par4) { if (nodeHasCache(par1World, par2, par3, par4) || hasVolume(par1World, par2, par3, par4)) @@ -136,24 +137,25 @@ public int quantityDropped(Random par1Random) { return 0; } - @Override - @SideOnly(Side.CLIENT) - public IIcon getIcon(IBlockAccess w, int x, int y, int z, int side) { - TileEntity e = w.getTileEntity(x, y, z); - if (e == null) return blockIcon; - SixNodeEntity sne = (SixNodeEntity) e; - Block b = sne.sixNodeCacheBlock; - if (b == Blocks.air) return blockIcon; - // return b.getIcon(w, x, y, z, side); - try { - return b.getIcon(side, sne.sixNodeCacheBlockMeta); - } catch (Exception e2) { - return blockIcon; - } - - // return Blocks.sand.getIcon(p_149673_1_, p_149673_2_, p_149673_3_, p_149673_4_, p_149673_5_); - // return Blocks.stone.getIcon(w, x, y, z, side); - } + // TODO(1.10): Fix item rendering. +// @Override +// @SideOnly(Side.CLIENT) +// public IIcon getIcon(IBlockAccess w, int x, int y, int z, int side) { +// TileEntity e = w.getTileEntity(x, y, z); +// if (e == null) return blockIcon; +// SixNodeEntity sne = (SixNodeEntity) e; +// Block b = sne.sixNodeCacheBlock; +// if (b == Blocks.air) return blockIcon; +// // return b.getIcon(w, x, y, z, side); +// try { +// return b.getIcon(side, sne.sixNodeCacheBlockMeta); +// } catch (Exception e2) { +// return blockIcon; +// } +// +// // return Blocks.sand.getIcon(p_149673_1_, p_149673_2_, p_149673_3_, p_149673_4_, p_149673_5_); +// // return Blocks.stone.getIcon(w, x, y, z, side); +// } @Override public boolean isReplaceable(IBlockAccess world, int x, int y, int z) { @@ -277,10 +279,13 @@ public void onNeighborBlockChange(World world, int x, int y, int z, Block par5) boolean[] booltemp = new boolean[6]; + @Nullable @Override - public MovingObjectPosition collisionRayTrace(World world, int x, int y, int z, Vec3 start, Vec3 end) { - if (nodeHasCache(world, x, y, z)) return super.collisionRayTrace(world, x, y, z, start, end); - SixNodeEntity tileEntity = (SixNodeEntity) world.getTileEntity(x, y, z); + public RayTraceResult collisionRayTrace(IBlockState blockState, World world, BlockPos pos, Vec3d start, Vec3d end) { + // TODO(??): Pretty sure this can be improved. Do we even want to use collisionRayTrace? + final int x = pos.getX(), y = pos.getY(), z = pos.getZ(); + if (nodeHasCache(world, x, y, z)) return super.collisionRayTrace(blockState, world, pos, start, end); + SixNodeEntity tileEntity = (SixNodeEntity) world.getTileEntity(pos); if (tileEntity == null) return null; if (world.isRemote) { booltemp[0] = tileEntity.getSyncronizedSideEnable(Direction.XN); @@ -294,8 +299,8 @@ public MovingObjectPosition collisionRayTrace(World world, int x, int y, int z, SixNodeElementRender element = entity.elementRenderList[Direction.YN.getInt()]; // setBlockBounds(0, 0, 0, 1, 1, 1); if (element != null && element.sixNodeDescriptor.hasVolume()) { - - return new MovingObjectPosition(x, y, z, Direction.YN.toSideValue(), Vec3.createVectorHelper(0.5, 0.5, 0.5)); + // We're going to assume this is a lamp socket on the roof? Okay. + return new RayTraceResult(new Vec3d(0.5, 0.5, 0.5), Direction.YN.toForge(), pos); } } @@ -314,7 +319,8 @@ public MovingObjectPosition collisionRayTrace(World world, int x, int y, int z, if (node != null && node instanceof SixNode) { SixNodeElement element = ((SixNode) node).sideElementList[Direction.YN.getInt()]; if (element != null && element.sixNodeElementDescriptor.hasVolume()) - return new MovingObjectPosition(x, y, z, Direction.YN.toSideValue(), Vec3.createVectorHelper(0.5, 0.5, 0.5)); + // Yup, still a lamp socket. + return new RayTraceResult(new Vec3d(0.5, 0.5, 0.5), Direction.YN.toForge(), pos); } } @@ -329,7 +335,7 @@ public MovingObjectPosition collisionRayTrace(World world, int x, int y, int z, hitY = start.yCoord + ratio * (end.yCoord - start.yCoord); hitZ = start.zCoord + ratio * (end.zCoord - start.zCoord); if (isIn(hitY, y + w, y + 1 - w) && isIn(hitZ, z + w, z + 1 - w)) - return new MovingObjectPosition(x, y, z, Direction.XN.toSideValue(), Vec3.createVectorHelper(hitX, hitY, hitZ)); + return new RayTraceResult(new Vec3d(hitX, hitY, hitZ), Direction.XN.toForge(), pos); } } // XP @@ -341,7 +347,7 @@ public MovingObjectPosition collisionRayTrace(World world, int x, int y, int z, hitY = start.yCoord + ratio * (end.yCoord - start.yCoord); hitZ = start.zCoord + ratio * (end.zCoord - start.zCoord); if (isIn(hitY, y + w, y + 1 - w) && isIn(hitZ, z + w, z + 1 - w)) - return new MovingObjectPosition(x, y, z, Direction.XP.toSideValue(), Vec3.createVectorHelper(hitX, hitY, hitZ)); + return new RayTraceResult(new Vec3d(hitX, hitY, hitZ), Direction.XP.toForge(), pos); } } // YN @@ -353,7 +359,7 @@ public MovingObjectPosition collisionRayTrace(World world, int x, int y, int z, hitY = start.yCoord + ratio * (end.yCoord - start.yCoord); hitZ = start.zCoord + ratio * (end.zCoord - start.zCoord); if (isIn(hitX, x + w, x + 1 - w) && isIn(hitZ, z + w, z + 1 - w)) - return new MovingObjectPosition(x, y, z, Direction.YN.toSideValue(), Vec3.createVectorHelper(hitX, hitY, hitZ)); + return new RayTraceResult(new Vec3d(hitX, hitY, hitZ), Direction.YN.toForge(), pos); } } @@ -366,7 +372,7 @@ public MovingObjectPosition collisionRayTrace(World world, int x, int y, int z, hitY = start.yCoord + ratio * (end.yCoord - start.yCoord); hitZ = start.zCoord + ratio * (end.zCoord - start.zCoord); if (isIn(hitX, x + w, x + 1 - w) && isIn(hitZ, z + w, z + 1 - w)) - return new MovingObjectPosition(x, y, z, Direction.YP.toSideValue(), Vec3.createVectorHelper(hitX, hitY, hitZ)); + return new RayTraceResult(new Vec3d(hitX, hitY, hitZ), Direction.YP.toForge(), pos); } } // ZN @@ -378,7 +384,8 @@ public MovingObjectPosition collisionRayTrace(World world, int x, int y, int z, hitY = start.yCoord + ratio * (end.yCoord - start.yCoord); hitZ = start.zCoord + ratio * (end.zCoord - start.zCoord); if (isIn(hitY, y + w, y + 1 - w) && isIn(hitX, x + w, x + 1 - w)) - return new MovingObjectPosition(x, y, z, Direction.ZN.toSideValue(), Vec3.createVectorHelper(hitX, hitY, hitZ)); + return new RayTraceResult(new Vec3d(hitX, hitY, hitZ), Direction.ZN.toForge(), pos); + } } // ZP @@ -390,117 +397,109 @@ public MovingObjectPosition collisionRayTrace(World world, int x, int y, int z, hitY = start.yCoord + ratio * (end.yCoord - start.yCoord); hitZ = start.zCoord + ratio * (end.zCoord - start.zCoord); if (isIn(hitY, y + w, y + 1 - w) && isIn(hitX, x + w, x + 1 - w)) - return new MovingObjectPosition(x, y, z, Direction.ZP.toSideValue(), Vec3.createVectorHelper(hitX, hitY, hitZ)); + return new RayTraceResult(new Vec3d(hitX, hitY, hitZ), Direction.ZP.toForge(), pos); } } return null; } - public static boolean isIn(double value, double min, double max) { - if (value >= min && value <= max) return true; - return false; + private static boolean isIn(double value, double min, double max) { + return value >= min && value <= max; } - public MovingObjectPosition collisionRayTrace(World world, int x, int y, int z, EntityPlayer entityLiving) { - - // double distanceMax = (double)Minecraft.getMinecraft().playerController.getBlockReachDistance(); + private RayTraceResult collisionRayTrace(World world, BlockPos pos, EntityPlayer entityLiving) { double distanceMax = 5.0; - Vec3 start = Vec3.createVectorHelper(entityLiving.posX, entityLiving.posY, entityLiving.posZ); + Vec3d start = new Vec3d(entityLiving.posX, entityLiving.posY, entityLiving.posZ); - if (!world.isRemote) start.yCoord += 1.62; - Vec3 var5 = entityLiving.getLook(0.5f); - Vec3 end = start.addVector(var5.xCoord * distanceMax, var5.yCoord * distanceMax, var5.zCoord * distanceMax); + // TODO(1.10): Really? + if (!world.isRemote) + start = start.addVector(0, 1.62, 0); + Vec3d var5 = entityLiving.getLook(0.5f); + Vec3d end = start.addVector(var5.xCoord * distanceMax, var5.yCoord * distanceMax, var5.zCoord * distanceMax); - return collisionRayTrace(world, x, y, z, start, end); + collisionRayTrace(world.getBlockState(pos), world, pos, start, end); } - public boolean getIfOtherBlockIsSolid(World world, int x, int y, int z, Direction direction) { - - int[] vect = new int[3]; - vect[0] = x; - vect[1] = y; - vect[2] = z; - direction.applyTo(vect, 1); + boolean getIfOtherBlockIsSolid(World world, BlockPos pos, Direction direction) { + pos = direction.applyTo(pos, 1); - Block block = world.getBlock(vect[0], vect[1], vect[2]); - if (block == Blocks.air) return false; - if (block.isOpaqueCube()) return true; - - return false; + IBlockState state = world.getBlockState(pos); + if (state.getBlock().isAir(state, world, pos)) return false; + return state.isOpaqueCube(); } - public boolean nodeHasCache(IBlockAccess world, int x, int y, int z) { + private boolean nodeHasCache(IBlockAccess world, BlockPos pos) { if (Utils.isRemote(world)) { - TileEntity tileEntity = world.getTileEntity(x, y, z); + TileEntity tileEntity = world.getTileEntity(pos); if (tileEntity != null && tileEntity instanceof SixNodeEntity) - return ((SixNodeEntity) tileEntity).sixNodeCacheBlock != Blocks.air; + return ((SixNodeEntity) tileEntity).sixNodeCacheBlock != Blocks.AIR; else Utils.println("ASSERT B public boolean nodeHasCache(World world, int x, int y, int z) "); } else { - SixNodeEntity tileEntity = (SixNodeEntity) world.getTileEntity(x, y, z); + SixNodeEntity tileEntity = (SixNodeEntity) world.getTileEntity(pos); SixNode sixNode = (SixNode) tileEntity.getNode(); if (sixNode != null) - return sixNode.sixNodeCacheBlock != Blocks.air; + return sixNode.sixNodeCacheBlock != Blocks.AIR; else Utils.println("ASSERT A public boolean nodeHasCache(World world, int x, int y, int z) "); } return false; } - @Override - public int getLightOpacity(IBlockAccess w, int x, int y, int z) { - - TileEntity e = w.getTileEntity(x, y, z); - if (e == null) return 0; - SixNodeEntity sne = (SixNodeEntity) e; - Block b = sne.sixNodeCacheBlock; - if (b == Blocks.air) return 0; - // return b.getIcon(w, x, y, z, side); - try { - return b.getLightOpacity(); - } catch (Exception e2) { - return 255; - } - - } + // TODO(1.10): This has to be done with block-states now. +// @Override +// public int getLightOpacity(IBlockAccess w, int x, int y, int z) { +// +// TileEntity e = w.getTileEntity(x, y, z); +// if (e == null) return 0; +// SixNodeEntity sne = (SixNodeEntity) e; +// Block b = sne.sixNodeCacheBlock; +// if (b == Blocks.air) return 0; +// // return b.getIcon(w, x, y, z, side); +// try { +// return b.getLightOpacity(); +// } catch (Exception e2) { +// return 255; +// } +// } public String getNodeUuid() { - return "s"; } - @Override - @SideOnly(Side.CLIENT) - public AxisAlignedBB getSelectedBoundingBoxFromPool(World w, int x, int y, int z) { - if (hasVolume(w, x, y, z)) return super.getSelectedBoundingBoxFromPool(w, x, y, z); - MovingObjectPosition col = collisionRayTrace(w, x, y, z, Minecraft.getMinecraft().thePlayer); - double h = 0.2; - double hn = 1 - h; - - double b = 0.02; - double bn = 1 - 0.02; - if (col != null) { - // Utils.println(Direction.fromIntMinecraftSide(col.sideHit)); - switch (Direction.fromIntMinecraftSide(col.sideHit)) { - case XN: - return AxisAlignedBB.getBoundingBox((double) x + b, (double) y, (double) z, (double) x + h, (double) y + 1, (double) z + 1); - case XP: - return AxisAlignedBB.getBoundingBox((double) x + hn, (double) y, (double) z, (double) x + bn, (double) y + 1, (double) z + 1); - case YN: - return AxisAlignedBB.getBoundingBox((double) x, (double) y + b, (double) z, (double) x + 1, (double) y + h, (double) z + 1); - case YP: - return AxisAlignedBB.getBoundingBox((double) x, (double) y + hn, (double) z, (double) x + 1, (double) y + bn, (double) z + 1); - case ZN: - return AxisAlignedBB.getBoundingBox((double) x, (double) y, (double) z + b, (double) x + 1, (double) y + 1, (double) z + h); - case ZP: - return AxisAlignedBB.getBoundingBox((double) x, (double) y, (double) z + hn, (double) x + 1, (double) y + 1, (double) z + bn); - - } - } - return AxisAlignedBB.getBoundingBox(0.5, 0.5, 0.5, 0.5, 0.5, 0.5);//super.getSelectedBoundingBoxFromPool(w, x, y, z); - // return AxisAlignedBB.getBoundingBox((double)p_149633_2_ , (double)p_149633_3_ , (double)p_149633_4_ + this.minZ+0.2, (double)p_149633_2_ + this.maxX, (double)p_149633_3_ + this.maxY, (double)p_149633_4_ + this.maxZ); - // return super.getSelectedBoundingBoxFromPool(w, x, y, z); - } + // TODO(1.10): Should probably be done by block states. +// @Override +// @SideOnly(Side.CLIENT) +// public AxisAlignedBB getSelectedBoundingBox(IBlockState state, World world, BlockPos pos) { +// if (hasVolume(w, x, y, z)) return super.getSelectedBoundingBoxFromPool(w, x, y, z); +// MovingObjectPosition col = collisionRayTrace(w, x, y, z, Minecraft.getMinecraft().thePlayer); +// double h = 0.2; +// double hn = 1 - h; +// +// double b = 0.02; +// double bn = 1 - 0.02; +// if (col != null) { +// // Utils.println(Direction.fromIntMinecraftSide(col.sideHit)); +// switch (Direction.fromIntMinecraftSide(col.sideHit)) { +// case XN: +// return AxisAlignedBB.getBoundingBox((double) x + b, (double) y, (double) z, (double) x + h, (double) y + 1, (double) z + 1); +// case XP: +// return AxisAlignedBB.getBoundingBox((double) x + hn, (double) y, (double) z, (double) x + bn, (double) y + 1, (double) z + 1); +// case YN: +// return AxisAlignedBB.getBoundingBox((double) x, (double) y + b, (double) z, (double) x + 1, (double) y + h, (double) z + 1); +// case YP: +// return AxisAlignedBB.getBoundingBox((double) x, (double) y + hn, (double) z, (double) x + 1, (double) y + bn, (double) z + 1); +// case ZN: +// return AxisAlignedBB.getBoundingBox((double) x, (double) y, (double) z + b, (double) x + 1, (double) y + 1, (double) z + h); +// case ZP: +// return AxisAlignedBB.getBoundingBox((double) x, (double) y, (double) z + hn, (double) x + 1, (double) y + 1, (double) z + bn); +// +// } +// } +// return AxisAlignedBB.getBoundingBox(0.5, 0.5, 0.5, 0.5, 0.5, 0.5);//super.getSelectedBoundingBoxFromPool(w, x, y, z); +// // return AxisAlignedBB.getBoundingBox((double)p_149633_2_ , (double)p_149633_3_ , (double)p_149633_4_ + this.minZ+0.2, (double)p_149633_2_ + this.maxX, (double)p_149633_3_ + this.maxY, (double)p_149633_4_ + this.maxZ); +// // return super.getSelectedBoundingBoxFromPool(w, x, y, z); +// } } diff --git a/src/main/java/mods/eln/node/six/SixNodeDescriptor.java b/src/main/java/mods/eln/node/six/SixNodeDescriptor.java index 0f558080c..7ecf4422d 100644 --- a/src/main/java/mods/eln/node/six/SixNodeDescriptor.java +++ b/src/main/java/mods/eln/node/six/SixNodeDescriptor.java @@ -4,13 +4,10 @@ import mods.eln.ghost.GhostGroup; import mods.eln.misc.*; import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.util.ResourceLocation; -import net.minecraftforge.client.IItemRenderer; import static mods.eln.i18n.I18N.tr; -public class SixNodeDescriptor extends GenericItemBlockUsingDamageDescriptor implements IItemRenderer { +public class SixNodeDescriptor extends GenericItemBlockUsingDamageDescriptor { public Class ElementClass, RenderClass; public VoltageLevelColor voltageLevelColor = VoltageLevelColor.None; @@ -26,37 +23,38 @@ public SixNodeDescriptor(String name, Class ElementClass, Class RenderClass, Str this.RenderClass = RenderClass; } - @Override - public boolean handleRenderType(ItemStack item, ItemRenderType type) { - return voltageLevelColor != VoltageLevelColor.None; - } - - @Override - public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { - return false; - } - - public boolean shouldUseRenderHelperEln(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { - return false; - } - - @Override - public void renderItem(ItemRenderType type, ItemStack item, Object... data) { - if (getIcon() == null) - return; - - voltageLevelColor.drawIconBackground(type); - - // remove "eln:" to add the full path replace("eln:", "textures/blocks/") + ".png"; - String icon = getIcon().getIconName().substring(4); - UtilsClient.drawIcon(type, new ResourceLocation("eln", "textures/blocks/" + icon + ".png")); - } + // TODO(1.10): Item rendering. +// @Override +// public boolean handleRenderType(ItemStack item, ItemRenderType type) { +// return voltageLevelColor != VoltageLevelColor.None; +// } +// +// @Override +// public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { +// return false; +// } +// +// public boolean shouldUseRenderHelperEln(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { +// return false; +// } +// +// @Override +// public void renderItem(ItemRenderType type, ItemStack item, Object... data) { +// if (getIcon() == null) +// return; +// +// voltageLevelColor.drawIconBackground(type); +// +// // remove "eln:" to add the full path replace("eln:", "textures/blocks/") + ".png"; +// String icon = getIcon().getIconName().substring(4); +// UtilsClient.drawIcon(type, new ResourceLocation("eln", "textures/blocks/" + icon + ".png")); +// } public boolean hasVolume() { return false; } - public boolean canBePlacedOnSide(EntityPlayer player, Coordonate c, Direction side) { + public boolean canBePlacedOnSide(EntityPlayer player, Coordinate c, Direction side) { return canBePlacedOnSide(player, side); } @@ -102,7 +100,7 @@ public void setPlaceDirection(Direction[] d) { protected Direction[] placeDirection = null; - public String checkCanPlace(Coordonate coord, Direction direction, LRDU front) { + public String checkCanPlace(Coordinate coord, Direction direction, LRDU front) { if (placeDirection != null) { boolean ok = false; for (Direction d : placeDirection) { diff --git a/src/main/java/mods/eln/node/six/SixNodeElement.java b/src/main/java/mods/eln/node/six/SixNodeElement.java index 0a40581c8..5fab073e3 100644 --- a/src/main/java/mods/eln/node/six/SixNodeElement.java +++ b/src/main/java/mods/eln/node/six/SixNodeElement.java @@ -62,12 +62,12 @@ protected void inventoryChanged() { public void play(SoundCommand s) { s.addUuid(getUuid()); - s.set(sixNode.coordonate); + s.set(sixNode.coordinate); s.play(); } - public Coordonate getCoordonate() { - return sixNode.coordonate; + public Coordinate getCoordonate() { + return sixNode.coordinate; } protected boolean onBlockActivatedRotate(EntityPlayer entityPlayer) { @@ -213,12 +213,12 @@ public void destroy(EntityPlayerMP entityPlayer) { } if (sixNodeElementDescriptor.hasGhostGroup()) { - Eln.ghostManager.removeObserver(sixNode.coordonate); - sixNodeElementDescriptor.getGhostGroup(side, front).erase(sixNode.coordonate); + Eln.ghostManager.removeObserver(sixNode.coordinate); + sixNodeElementDescriptor.getGhostGroup(side, front).erase(sixNode.coordinate); } sixNode.dropInventory(getInventory()); - // getCoordonate().world().getWorldInfo(). + // getCoordinate().world().getWorldInfo(). if (Utils.mustDropItem(entityPlayer)) sixNode.dropItem(getDropItemStack()); } @@ -367,8 +367,8 @@ public boolean canConnectRedstone() { return false; } - public Coordonate getGhostObserverCoordonate() { - return sixNode.coordonate; + public Coordinate getGhostObserverCoordonate() { + return sixNode.coordinate; } diff --git a/src/main/java/mods/eln/node/six/SixNodeElementInventory.java b/src/main/java/mods/eln/node/six/SixNodeElementInventory.java index 1c058d9dd..006a072be 100644 --- a/src/main/java/mods/eln/node/six/SixNodeElementInventory.java +++ b/src/main/java/mods/eln/node/six/SixNodeElementInventory.java @@ -107,16 +107,16 @@ public boolean isUseableByPlayer(EntityPlayer player) { /*if(sixNodeElement != null) { - SixNode sixNode = (SixNode) NodeManager.instance.getNodeFromCoordonate(sixNodeElement.sixNode.coordonate); + SixNode sixNode = (SixNode) NodeManager.instance.getNodeFromCoordonate(sixNodeElement.sixNode.coordinate); if(sixNode == null) return false; if(sixNode.sideElementList[sixNodeElement.side.getInt()] != sixNodeElement) return false; // if( != transparentNodeElement.node) return false; - return player.getDistanceSq(sixNodeElement.sixNode.coordonate.x + 0.5, sixNodeElement.sixNode.coordonate.y + 0.5, sixNodeElement.sixNode.coordonate.z + 0.5) < 18; + return player.getDistanceSq(sixNodeElement.sixNode.coordinate.x + 0.5, sixNodeElement.sixNode.coordinate.y + 0.5, sixNodeElement.sixNode.coordinate.z + 0.5) < 18; }*/ return true; /* if(sixNodeElement != null) - return player.getDistanceSq(sixNodeElement.sixNode.coordonate.x + 0.5, sixNodeElement.sixNode.coordonate.y + 0.5, sixNodeElement.sixNode.coordonate.z + 0.5) < 18; + return player.getDistanceSq(sixNodeElement.sixNode.coordinate.x + 0.5, sixNodeElement.sixNode.coordinate.y + 0.5, sixNodeElement.sixNode.coordinate.z + 0.5) < 18; return player.getDistanceSq(sixnodeRender.tileEntity.xCoord + 0.5, sixnodeRender.tileEntity.yCoord + 0.5, sixnodeRender.tileEntity.zCoord + 0.5) < 18; */ } diff --git a/src/main/java/mods/eln/node/six/SixNodeElementRender.java b/src/main/java/mods/eln/node/six/SixNodeElementRender.java index 4c28730e2..17b37503a 100644 --- a/src/main/java/mods/eln/node/six/SixNodeElementRender.java +++ b/src/main/java/mods/eln/node/six/SixNodeElementRender.java @@ -1,7 +1,7 @@ package mods.eln.node.six; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; +import net.minecraftforge.fml.relauncher.Side; +import net.minecraftforge.fml.relauncher.SideOnly; import mods.eln.cable.CableRender; import mods.eln.cable.CableRenderDescriptor; import mods.eln.cable.CableRenderType; diff --git a/src/main/java/mods/eln/node/six/SixNodeItem.java b/src/main/java/mods/eln/node/six/SixNodeItem.java index 2797213ae..ed4e8feb6 100644 --- a/src/main/java/mods/eln/node/six/SixNodeItem.java +++ b/src/main/java/mods/eln/node/six/SixNodeItem.java @@ -3,7 +3,7 @@ import mods.eln.Eln; import mods.eln.generic.GenericItemBlockUsingDamage; import mods.eln.ghost.GhostGroup; -import mods.eln.misc.Coordonate; +import mods.eln.misc.Coordinate; import mods.eln.misc.Direction; import mods.eln.misc.LRDU; import mods.eln.misc.Utils; @@ -13,10 +13,9 @@ import net.minecraft.init.Blocks; import net.minecraft.item.ItemStack; import net.minecraft.world.World; -import net.minecraftforge.client.IItemRenderer; import org.lwjgl.opengl.GL11; -public class SixNodeItem extends GenericItemBlockUsingDamage implements IItemRenderer { +public class SixNodeItem extends GenericItemBlockUsingDamage { public SixNodeItem(Block b) { super(b); @@ -87,7 +86,7 @@ public boolean func_150936_a(World par1World, int x, int y, int z, int par5, Ent int[] vect = new int[]{x, y, z}; Direction.fromIntMinecraftSide(par5).applyTo(vect, 1); SixNodeDescriptor descriptor = getDescriptor(par7ItemStack); - if (descriptor.canBePlacedOnSide(par6EntityPlayer, new Coordonate(x, y, z, par1World), Direction.fromIntMinecraftSide(par5).getInverse()) == false) { + if (descriptor.canBePlacedOnSide(par6EntityPlayer, new Coordinate(x, y, z, par1World), Direction.fromIntMinecraftSide(par5).getInverse()) == false) { return false; } if (par1World.getBlock(vect[0], vect[1], vect[2]) == Eln.sixNodeBlock) @@ -115,7 +114,7 @@ public boolean placeBlockAt(ItemStack stack, EntityPlayer player, World world, i if (blockOld == Blocks.air || blockOld.isReplaceable(world, x, y, z)) { // blockID = this.getBlockID(); - Coordonate coord = new Coordonate(x, y, z, world); + Coordinate coord = new Coordinate(x, y, z, world); SixNodeDescriptor descriptor = getDescriptor(stack); String error; @@ -130,7 +129,7 @@ public boolean placeBlockAt(ItemStack stack, EntityPlayer player, World world, i ghostgroup.plot(coord, coord, descriptor.getGhostGroupUuid()); SixNode sixNode = new SixNode(); - sixNode.onBlockPlacedBy(new Coordonate(x, y, z, world), direction, player, stack); + sixNode.onBlockPlacedBy(new Coordinate(x, y, z, world), direction, player, stack); sixNode.createSubBlock(stack, direction, player); world.setBlock(x, y, z, block, metadata, 0x03); @@ -162,64 +161,65 @@ public boolean placeBlockAt(ItemStack stack, EntityPlayer player, World world, i return false; } - @Override - public boolean handleRenderType(ItemStack item, ItemRenderType type) { - if (getDescriptor(item) == null) - return false; - return getDescriptor(item).handleRenderType(item, type); - } - - @Override - public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { - if (!isStackValidToPlace(item)) - return false; - return getDescriptor(item).shouldUseRenderHelper(type, item, helper); - } - - public boolean shouldUseRenderHelperEln(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { - if (!isStackValidToPlace(item)) - return false; - return getDescriptor(item).shouldUseRenderHelperEln(type, item, helper); - } - - @Override - public void renderItem(ItemRenderType type, ItemStack item, Object... data) { - if (!isStackValidToPlace(item)) - return; - - Minecraft.getMinecraft().mcProfiler.startSection("SixNodeItem"); - if (shouldUseRenderHelperEln(type, item, null)) { - switch (type) { - - case ENTITY: - GL11.glRotatef(90, 0, 0, 1); - // GL11.glTranslatef(0, 1, 0); - break; - - case EQUIPPED_FIRST_PERSON: - GL11.glRotatef(160, 0, 1, 0); - GL11.glTranslatef(-0.70f, 1, -0.7f); - GL11.glScalef(1.8f, 1.8f, 1.8f); - GL11.glRotatef(-90, 1, 0, 0); - break; - case EQUIPPED: - GL11.glRotatef(180, 0, 1, 0); - GL11.glTranslatef(-0.70f, 1, -0.7f); - GL11.glScalef(1.5f, 1.5f, 1.5f); - break; - case FIRST_PERSON_MAP: - // GL11.glTranslatef(0, 1, 0); - break; - case INVENTORY: - GL11.glRotatef(-90, 0, 1, 0); - GL11.glRotatef(-90, 1, 0, 0); - break; - default: - break; - } - } - // GL11.glTranslatef(0, 1, 0); - getDescriptor(item).renderItem(type, item, data); - Minecraft.getMinecraft().mcProfiler.endSection(); - } + // TODO(1.10): Fix item rendering. +// @Override +// public boolean handleRenderType(ItemStack item, ItemRenderType type) { +// if (getDescriptor(item) == null) +// return false; +// return getDescriptor(item).handleRenderType(item, type); +// } +// +// @Override +// public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { +// if (!isStackValidToPlace(item)) +// return false; +// return getDescriptor(item).shouldUseRenderHelper(type, item, helper); +// } +// +// public boolean shouldUseRenderHelperEln(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { +// if (!isStackValidToPlace(item)) +// return false; +// return getDescriptor(item).shouldUseRenderHelperEln(type, item, helper); +// } +// +// @Override +// public void renderItem(ItemRenderType type, ItemStack item, Object... data) { +// if (!isStackValidToPlace(item)) +// return; +// +// Minecraft.getMinecraft().mcProfiler.startSection("SixNodeItem"); +// if (shouldUseRenderHelperEln(type, item, null)) { +// switch (type) { +// +// case ENTITY: +// GL11.glRotatef(90, 0, 0, 1); +// // GL11.glTranslatef(0, 1, 0); +// break; +// +// case EQUIPPED_FIRST_PERSON: +// GL11.glRotatef(160, 0, 1, 0); +// GL11.glTranslatef(-0.70f, 1, -0.7f); +// GL11.glScalef(1.8f, 1.8f, 1.8f); +// GL11.glRotatef(-90, 1, 0, 0); +// break; +// case EQUIPPED: +// GL11.glRotatef(180, 0, 1, 0); +// GL11.glTranslatef(-0.70f, 1, -0.7f); +// GL11.glScalef(1.5f, 1.5f, 1.5f); +// break; +// case FIRST_PERSON_MAP: +// // GL11.glTranslatef(0, 1, 0); +// break; +// case INVENTORY: +// GL11.glRotatef(-90, 0, 1, 0); +// GL11.glRotatef(-90, 1, 0, 0); +// break; +// default: +// break; +// } +// } +// // GL11.glTranslatef(0, 1, 0); +// getDescriptor(item).renderItem(type, item, data); +// Minecraft.getMinecraft().mcProfiler.endSection(); +// } } diff --git a/src/main/java/mods/eln/node/transparent/TransparentNodeBlock.java b/src/main/java/mods/eln/node/transparent/TransparentNodeBlock.java index 1a82a3e8a..4fd4c3a61 100644 --- a/src/main/java/mods/eln/node/transparent/TransparentNodeBlock.java +++ b/src/main/java/mods/eln/node/transparent/TransparentNodeBlock.java @@ -5,16 +5,20 @@ import mods.eln.node.NodeBlock; import mods.eln.node.NodeBlockEntity; import net.minecraft.block.material.Material; +import net.minecraft.block.state.IBlockState; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.entity.Entity; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayerMP; import net.minecraft.item.Item; import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.AxisAlignedBB; +import net.minecraft.util.EnumFacing; +import net.minecraft.util.math.AxisAlignedBB; +import net.minecraft.util.math.BlockPos; import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; +import javax.annotation.Nullable; import java.lang.reflect.InvocationTargetException; import java.util.List; import java.util.Random; @@ -101,23 +105,13 @@ public int quantityDropped(Random par1Random) { return 0; } - - @Override - public boolean canPlaceBlockOnSide(World par1World, int par2, int par3, int par4, int par5) { - return true; - } - - public void addCollisionBoxesToList(World world, int x, int y, int z, AxisAlignedBB par5AxisAlignedBB, List list, Entity entity) { - // this.setBlockBoundsBasedOnState(world,x, y, z); - // super.addCollisionBoxesToList(world, x, y, z, par5AxisAlignedBB, list, entity); TileEntity tileEntity = world.getTileEntity(x, y, z); if (tileEntity == null || (tileEntity instanceof TransparentNodeEntity == false)) { super.addCollisionBoxesToList(world, x, y, z, par5AxisAlignedBB, list, entity); } else { ((TransparentNodeEntity) tileEntity).addCollisionBoxesToList(par5AxisAlignedBB, list, null); } - //Utils.println(list); } @Override diff --git a/src/main/java/mods/eln/node/transparent/TransparentNodeDescriptor.java b/src/main/java/mods/eln/node/transparent/TransparentNodeDescriptor.java index 8a795ca6d..d7f125189 100644 --- a/src/main/java/mods/eln/node/transparent/TransparentNodeDescriptor.java +++ b/src/main/java/mods/eln/node/transparent/TransparentNodeDescriptor.java @@ -6,20 +6,19 @@ import mods.eln.node.transparent.TransparentNode.FrontType; import net.minecraft.block.Block; import net.minecraft.block.BlockHopper; +import net.minecraft.block.BlockStone; import net.minecraft.entity.EntityLivingBase; import net.minecraft.init.Blocks; -import net.minecraft.item.ItemStack; -import net.minecraft.util.AxisAlignedBB; -import net.minecraft.util.ResourceLocation; +import net.minecraft.util.math.AxisAlignedBB; +import net.minecraft.util.math.BlockPos; import net.minecraft.world.World; -import net.minecraftforge.client.IItemRenderer; import org.lwjgl.opengl.GL11; import java.util.List; import static mods.eln.i18n.I18N.tr; -public class TransparentNodeDescriptor extends GenericItemBlockUsingDamageDescriptor implements IItemRenderer { +public class TransparentNodeDescriptor extends GenericItemBlockUsingDamageDescriptor { public Class ElementClass, RenderClass; protected VoltageLevelColor voltageLevelColor = VoltageLevelColor.None; @@ -43,31 +42,32 @@ public TransparentNodeDescriptor(String name, Class ElementClass, Class RenderCl this(name, ElementClass, RenderClass, EntityMetaTag.Basic); } - @Override - public boolean handleRenderType(ItemStack item, ItemRenderType type) { - return voltageLevelColor != VoltageLevelColor.None; - } - - @Override - public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { - return false; - } - - public boolean shouldUseRenderHelperEln(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { - return false; - } - - @Override - public void renderItem(ItemRenderType type, ItemStack item, Object... data) { - if (getIcon() == null) - return; - - voltageLevelColor.drawIconBackground(type); - - // remove "eln:" to add the full path replace("eln:", "textures/blocks/") + ".png"; - String icon = getIcon().getIconName().substring(4); - UtilsClient.drawIcon(type, new ResourceLocation("eln", "textures/blocks/" + icon + ".png")); - } + // TODO(1.10): Item rendering. +// @Override +// public boolean handleRenderType(ItemStack item, ItemRenderType type) { +// return voltageLevelColor != VoltageLevelColor.None; +// } +// +// @Override +// public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { +// return false; +// } +// +// public boolean shouldUseRenderHelperEln(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { +// return false; +// } +// +// @Override +// public void renderItem(ItemRenderType type, ItemStack item, Object... data) { +// if (getIcon() == null) +// return; +// +// voltageLevelColor.drawIconBackground(type); +// +// // remove "eln:" to add the full path replace("eln:", "textures/blocks/") + ".png"; +// String icon = getIcon().getIconName().substring(4); +// UtilsClient.drawIcon(type, new ResourceLocation("eln", "textures/blocks/" + icon + ".png")); +// } public void objItemScale(Obj3D obj) { if (obj == null) return; @@ -101,44 +101,44 @@ public boolean mustHaveWallFrontInverse() { return false; } - public String checkCanPlace(Coordonate coord, Direction front) { + public String checkCanPlace(Coordinate coord, Direction front) { Block block; boolean needDestroy = false; if (mustHaveFloor()) { - Coordonate temp = new Coordonate(coord); + Coordinate temp = new Coordinate(coord); temp.move(Direction.YN); block = temp.getBlock(); if (block == null || ((!block.isOpaqueCube()) && block instanceof BlockHopper == false)) return tr("You can't place this block at this side"); } if (mustHaveCeiling()) { - Coordonate temp = new Coordonate(coord); + Coordinate temp = new Coordinate(coord); temp.move(Direction.YP); block = temp.getBlock(); if (block == null || !block.isOpaqueCube()) return tr("You can't place this block at this side"); } if (mustHaveWallFrontInverse()) { - Coordonate temp = new Coordonate(coord); + Coordinate temp = new Coordinate(coord); temp.move(front.getInverse()); block = temp.getBlock(); if (block == null || !block.isOpaqueCube()) return tr("You can't place this block at this side"); } if (mustHaveWall()) { - Coordonate temp; + Coordinate temp; boolean wall = false; - temp = new Coordonate(coord); + temp = new Coordinate(coord); temp.move(Direction.XN); block = temp.getBlock(); if (block != null && block.isOpaqueCube()) wall = true; - temp = new Coordonate(coord); + temp = new Coordinate(coord); temp.move(Direction.XP); block = temp.getBlock(); if (block != null && block.isOpaqueCube()) wall = true; - temp = new Coordonate(coord); + temp = new Coordinate(coord); temp.move(Direction.ZN); block = temp.getBlock(); if (block != null && block.isOpaqueCube()) wall = true; - temp = new Coordonate(coord); + temp = new Coordinate(coord); temp.move(Direction.ZP); block = temp.getBlock(); if (block != null && block.isOpaqueCube()) wall = true; @@ -201,8 +201,8 @@ public int getSpawnDeltaZ() { return 0; } - public void addCollisionBoxesToList(AxisAlignedBB par5AxisAlignedBB, List list, World world, int x, int y, int z) { - AxisAlignedBB bb = Blocks.stone.getCollisionBoundingBoxFromPool(world, x, y, z); + public void addCollisionBoxesToList(AxisAlignedBB par5AxisAlignedBB, List list, BlockPos pos) { + AxisAlignedBB bb = new AxisAlignedBB(pos); if (par5AxisAlignedBB.intersectsWith(bb)) list.add(bb); } diff --git a/src/main/java/mods/eln/node/transparent/TransparentNodeElement.java b/src/main/java/mods/eln/node/transparent/TransparentNodeElement.java index db02e5175..a19fc02b9 100644 --- a/src/main/java/mods/eln/node/transparent/TransparentNodeElement.java +++ b/src/main/java/mods/eln/node/transparent/TransparentNodeElement.java @@ -248,9 +248,9 @@ public void onBreakElement() { if (useUuid()) stop(uuid); if (transparentNodeDescriptor.hasGhostGroup()) { - Eln.ghostManager.removeObserver(node.coordonate); - Eln.ghostManager.removeGhostAndBlockWithObserver(node.coordonate); - //transparentNodeDescriptor.getGhostGroup(front).erase(node.coordonate); + Eln.ghostManager.removeObserver(node.coordinate); + Eln.ghostManager.removeGhostAndBlockWithObserver(node.coordinate); + //transparentNodeDescriptor.getGhostGroup(front).erase(node.coordinate); } node.dropInventory(getInventory()); node.dropElement(node.removedByPlayer); @@ -413,8 +413,8 @@ public float getLightOpacity() { return 0f; } - public Coordonate getGhostObserverCoordonate() { - return node.coordonate; + public Coordinate getGhostObserverCoordonate() { + return node.coordinate; } @@ -434,11 +434,11 @@ public boolean ghostBlockActivated(int UUID, EntityPlayer entityPlayer, Directio public World world() { - return node.coordonate.world(); + return node.coordinate.world(); } - public Coordonate coordonate() { - return node.coordonate; + public Coordinate coordonate() { + return node.coordinate; } @@ -457,7 +457,7 @@ public boolean useUuid() { public void play(SoundCommand s) { s.addUuid(getUuid()); - s.set(node.coordonate); + s.set(node.coordinate); s.play(); } diff --git a/src/main/java/mods/eln/node/transparent/TransparentNodeElementInventory.java b/src/main/java/mods/eln/node/transparent/TransparentNodeElementInventory.java index 2fb980688..bf01a2bd4 100644 --- a/src/main/java/mods/eln/node/transparent/TransparentNodeElementInventory.java +++ b/src/main/java/mods/eln/node/transparent/TransparentNodeElementInventory.java @@ -91,7 +91,7 @@ public int getInventoryStackLimit() { public boolean isUseableByPlayer(EntityPlayer player) { /* - * if(transparentNodeElement != null) { if(NodeManager.instance.getNodeFromCoordonate(transparentNodeElement.node.coordonate) != transparentNodeElement.node) return false; return player.getDistance(transparentNodeElement.node.coordonate.x + 0.5, transparentNodeElement.node.coordonate.y + 0.5, transparentNodeElement.node.coordonate.z + 0.5) < 10; } + * if(transparentNodeElement != null) { if(NodeManager.instance.getNodeFromCoordonate(transparentNodeElement.node.coordinate) != transparentNodeElement.node) return false; return player.getDistance(transparentNodeElement.node.coordinate.x + 0.5, transparentNodeElement.node.coordinate.y + 0.5, transparentNodeElement.node.coordinate.z + 0.5) < 10; } */ return true; // return player.getDistanceSq(transparentNodeRender.tileEntity.xCoord + 0.5, transparentNodeRender.tileEntity.yCoord + 0.5, transparentNodeRender.tileEntity.zCoord + 0.5) < 18; diff --git a/src/main/java/mods/eln/node/transparent/TransparentNodeElementRender.java b/src/main/java/mods/eln/node/transparent/TransparentNodeElementRender.java index c3920f7f0..03f5d4f45 100644 --- a/src/main/java/mods/eln/node/transparent/TransparentNodeElementRender.java +++ b/src/main/java/mods/eln/node/transparent/TransparentNodeElementRender.java @@ -1,7 +1,7 @@ package mods.eln.node.transparent; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; +import net.minecraftforge.fml.relauncher.Side; +import net.minecraftforge.fml.relauncher.SideOnly; import mods.eln.cable.CableRender; import mods.eln.cable.CableRenderDescriptor; import mods.eln.cable.CableRenderType; @@ -228,9 +228,8 @@ public void serverPacketUnserialize(DataInputStream stream) { } - protected Coordonate coordonate() { - - return new Coordonate(tileEntity.xCoord, tileEntity.yCoord, tileEntity.zCoord, tileEntity.getWorldObj()); + protected Coordinate coordinate() { + return new Coordinate(tileEntity.xCoord, tileEntity.yCoord, tileEntity.zCoord, tileEntity.getWorldObj()); } diff --git a/src/main/java/mods/eln/node/transparent/TransparentNodeEntity.java b/src/main/java/mods/eln/node/transparent/TransparentNodeEntity.java index 83a0ceb72..bd935a57a 100644 --- a/src/main/java/mods/eln/node/transparent/TransparentNodeEntity.java +++ b/src/main/java/mods/eln/node/transparent/TransparentNodeEntity.java @@ -2,7 +2,7 @@ import mods.eln.Eln; import mods.eln.cable.CableRenderDescriptor; -import mods.eln.misc.Coordonate; +import mods.eln.misc.Coordinate; import mods.eln.misc.Direction; import mods.eln.misc.FakeSideInventory; import mods.eln.misc.LRDU; @@ -15,7 +15,8 @@ import net.minecraft.inventory.IInventory; import net.minecraft.inventory.ISidedInventory; import net.minecraft.item.ItemStack; -import net.minecraft.util.AxisAlignedBB; +import net.minecraft.util.math.AxisAlignedBB; +import net.minecraft.util.math.BlockPos; import net.minecraft.world.World; import java.io.ByteArrayOutputStream; @@ -123,7 +124,7 @@ public void tileEntityNeighborSpawn() { if (elementRender != null) elementRender.notifyNeighborSpawn(); } - public void addCollisionBoxesToList(AxisAlignedBB par5AxisAlignedBB, List list, Coordonate blockCoord) { + public void addCollisionBoxesToList(AxisAlignedBB par5AxisAlignedBB, List list, Coordinate blockCoord) { TransparentNodeDescriptor desc = null; if (worldObj.isRemote) { desc = elementRender == null ? null : elementRender.transparentNodedescriptor; @@ -131,21 +132,17 @@ public void addCollisionBoxesToList(AxisAlignedBB par5AxisAlignedBB, List list, TransparentNode node = (TransparentNode) getNode(); desc = node == null ? null : node.element.transparentNodeDescriptor; } - int x, y, z; + BlockPos pos; if (blockCoord != null) { - x = blockCoord.x; - y = blockCoord.y; - z = blockCoord.z; + pos = blockCoord.pos; } else { - x = xCoord; - y = yCoord; - z = zCoord; + pos = this.pos; } if (desc == null) { - AxisAlignedBB bb = Blocks.stone.getCollisionBoundingBoxFromPool(worldObj, x, y, z); + AxisAlignedBB bb = new AxisAlignedBB(pos); if (par5AxisAlignedBB.intersectsWith(bb)) list.add(bb); } else { - desc.addCollisionBoxesToList(par5AxisAlignedBB, list, worldObj, x, y, z); + desc.addCollisionBoxesToList(par5AxisAlignedBB, list, pos); } } diff --git a/src/main/java/mods/eln/node/transparent/TransparentNodeEntityWithFluid.java b/src/main/java/mods/eln/node/transparent/TransparentNodeEntityWithFluid.java index 64ab9cfb3..36f177069 100644 --- a/src/main/java/mods/eln/node/transparent/TransparentNodeEntityWithFluid.java +++ b/src/main/java/mods/eln/node/transparent/TransparentNodeEntityWithFluid.java @@ -1,7 +1,7 @@ package mods.eln.node.transparent; import mods.eln.node.Node; -import net.minecraftforge.common.util.ForgeDirection; +import net.minecraft.util.EnumFacing; import net.minecraftforge.fluids.Fluid; import net.minecraftforge.fluids.FluidStack; import net.minecraftforge.fluids.FluidTankInfo; @@ -35,7 +35,7 @@ private IFluidHandler getFluidHandler() { * @return Amount of resource that was (or would have been, if simulated) filled. */ @Override - public int fill(ForgeDirection from, FluidStack resource, boolean doFill) { + public int fill(EnumFacing from, FluidStack resource, boolean doFill) { return getFluidHandler().fill(from, resource, doFill); } @@ -49,7 +49,7 @@ public int fill(ForgeDirection from, FluidStack resource, boolean doFill) { * simulated) drained. */ @Override - public FluidStack drain(ForgeDirection from, FluidStack resource, boolean doDrain) { + public FluidStack drain(EnumFacing from, FluidStack resource, boolean doDrain) { return getFluidHandler().drain(from, resource, doDrain); } @@ -65,7 +65,7 @@ public FluidStack drain(ForgeDirection from, FluidStack resource, boolean doDrai * simulated) drained. */ @Override - public FluidStack drain(ForgeDirection from, int maxDrain, boolean doDrain) { + public FluidStack drain(EnumFacing from, int maxDrain, boolean doDrain) { return getFluidHandler().drain(from, maxDrain, doDrain); } @@ -78,7 +78,7 @@ public FluidStack drain(ForgeDirection from, int maxDrain, boolean doDrain) { * @param fluid */ @Override - public boolean canFill(ForgeDirection from, Fluid fluid) { + public boolean canFill(EnumFacing from, Fluid fluid) { return false; } @@ -91,7 +91,7 @@ public boolean canFill(ForgeDirection from, Fluid fluid) { * @param fluid */ @Override - public boolean canDrain(ForgeDirection from, Fluid fluid) { + public boolean canDrain(EnumFacing from, Fluid fluid) { return getFluidHandler().canDrain(from, fluid); } @@ -103,7 +103,7 @@ public boolean canDrain(ForgeDirection from, Fluid fluid) { * @return Info for the relevant internal tanks. */ @Override - public FluidTankInfo[] getTankInfo(ForgeDirection from) { + public FluidTankInfo[] getTankInfo(EnumFacing from) { return getFluidHandler().getTankInfo(from); } @@ -111,32 +111,32 @@ private static class FakeFluidHandler implements IFluidHandler { static FakeFluidHandler INSTANCE = new FakeFluidHandler(); @Override - public int fill(ForgeDirection from, FluidStack resource, boolean doFill) { + public int fill(EnumFacing from, FluidStack resource, boolean doFill) { return 0; } @Override - public FluidStack drain(ForgeDirection from, FluidStack resource, boolean doDrain) { + public FluidStack drain(EnumFacing from, FluidStack resource, boolean doDrain) { return null; } @Override - public FluidStack drain(ForgeDirection from, int maxDrain, boolean doDrain) { + public FluidStack drain(EnumFacing from, int maxDrain, boolean doDrain) { return null; } @Override - public boolean canFill(ForgeDirection from, Fluid fluid) { + public boolean canFill(EnumFacing from, Fluid fluid) { return false; } @Override - public boolean canDrain(ForgeDirection from, Fluid fluid) { + public boolean canDrain(EnumFacing from, Fluid fluid) { return false; } @Override - public FluidTankInfo[] getTankInfo(ForgeDirection from) { + public FluidTankInfo[] getTankInfo(EnumFacing from) { return new FluidTankInfo[0]; } } diff --git a/src/main/java/mods/eln/node/transparent/TransparentNodeItem.java b/src/main/java/mods/eln/node/transparent/TransparentNodeItem.java index 45de4d2fc..228ba1ec5 100644 --- a/src/main/java/mods/eln/node/transparent/TransparentNodeItem.java +++ b/src/main/java/mods/eln/node/transparent/TransparentNodeItem.java @@ -2,19 +2,16 @@ import mods.eln.generic.GenericItemBlockUsingDamage; import mods.eln.ghost.GhostGroup; -import mods.eln.misc.Coordonate; +import mods.eln.misc.Coordinate; import mods.eln.misc.Direction; import mods.eln.misc.Utils; import mods.eln.node.NodeBlock; import net.minecraft.block.Block; -import net.minecraft.client.Minecraft; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; import net.minecraft.world.World; -import net.minecraftforge.client.IItemRenderer; -import org.lwjgl.opengl.GL11; -public class TransparentNodeItem extends GenericItemBlockUsingDamage implements IItemRenderer { +public class TransparentNodeItem extends GenericItemBlockUsingDamage { public TransparentNodeItem(Block b) { @@ -40,7 +37,7 @@ public boolean placeBlockAt(ItemStack stack, EntityPlayer player, World world, i if (bb.isReplaceable(world, x, y, z)) ; //if(world.getBlock(x, y, z) != Blocks.air) return false; - Coordonate coord = new Coordonate(x, y, z, world); + Coordinate coord = new Coordinate(x, y, z, world); String error; @@ -65,50 +62,51 @@ public boolean placeBlockAt(ItemStack stack, EntityPlayer player, World world, i } - @Override - public boolean handleRenderType(ItemStack item, ItemRenderType type) { - TransparentNodeDescriptor d = getDescriptor(item); - if (Utils.nullCheck(d)) return false; - return d.handleRenderType(item, type); - } - - @Override - public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, - ItemRendererHelper helper) { - - return getDescriptor(item).shouldUseRenderHelper(type, item, helper); - } - - public boolean shouldUseRenderHelperEln(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { - return getDescriptor(item).shouldUseRenderHelperEln(type, item, helper); - } - - @Override - public void renderItem(ItemRenderType type, ItemStack item, Object... data) { - Minecraft.getMinecraft().mcProfiler.startSection("TransparentNodeItem"); - - if (shouldUseRenderHelperEln(type, item, null)) { - switch (type) { - case ENTITY: - GL11.glTranslatef(0.00f, 0.3f, 0.0f); - break; - case EQUIPPED_FIRST_PERSON: - GL11.glTranslatef(0.50f, 1, 0.5f); - break; - case EQUIPPED: - GL11.glTranslatef(0.50f, 1, 0.5f); - break; - case FIRST_PERSON_MAP: - break; - case INVENTORY: - GL11.glRotatef(90, 0, 1, 0); - break; - default: - break; - } - } - getDescriptor(item).renderItem(type, item, data); - - Minecraft.getMinecraft().mcProfiler.endSection(); - } + // TODO(1.10): Fix item rendering. +// @Override +// public boolean handleRenderType(ItemStack item, ItemRenderType type) { +// TransparentNodeDescriptor d = getDescriptor(item); +// if (Utils.nullCheck(d)) return false; +// return d.handleRenderType(item, type); +// } +// +// @Override +// public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, +// ItemRendererHelper helper) { +// +// return getDescriptor(item).shouldUseRenderHelper(type, item, helper); +// } +// +// public boolean shouldUseRenderHelperEln(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { +// return getDescriptor(item).shouldUseRenderHelperEln(type, item, helper); +// } +// +// @Override +// public void renderItem(ItemRenderType type, ItemStack item, Object... data) { +// Minecraft.getMinecraft().mcProfiler.startSection("TransparentNodeItem"); +// +// if (shouldUseRenderHelperEln(type, item, null)) { +// switch (type) { +// case ENTITY: +// GL11.glTranslatef(0.00f, 0.3f, 0.0f); +// break; +// case EQUIPPED_FIRST_PERSON: +// GL11.glTranslatef(0.50f, 1, 0.5f); +// break; +// case EQUIPPED: +// GL11.glTranslatef(0.50f, 1, 0.5f); +// break; +// case FIRST_PERSON_MAP: +// break; +// case INVENTORY: +// GL11.glRotatef(90, 0, 1, 0); +// break; +// default: +// break; +// } +// } +// getDescriptor(item).renderItem(type, item, data); +// +// Minecraft.getMinecraft().mcProfiler.endSection(); +// } } diff --git a/src/main/java/mods/eln/ore/OreBlock.java b/src/main/java/mods/eln/ore/OreBlock.java index 312f19a22..e312d3a3b 100644 --- a/src/main/java/mods/eln/ore/OreBlock.java +++ b/src/main/java/mods/eln/ore/OreBlock.java @@ -1,14 +1,13 @@ package mods.eln.ore; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; +import net.minecraftforge.fml.relauncher.Side; +import net.minecraftforge.fml.relauncher.SideOnly; import mods.eln.Eln; import net.minecraft.block.Block; import net.minecraft.block.material.Material; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; -import net.minecraft.util.IIcon; import net.minecraft.world.World; import java.util.ArrayList; @@ -38,52 +37,24 @@ public void getSubBlocks(Item i, CreativeTabs tab, List l) { //Puts all sub bloc Eln.oreItem.getSubItems(i, tab, l); } - @Override - @SideOnly(Side.CLIENT) - public IIcon getIcon(int par1, int par2) { - OreDescriptor desc = Eln.oreItem.getDescriptor(par2); - if (desc == null) return null; - return desc.getBlockIconId(par1, par2); - } + // TODO(1.10): Fix item rendering. +// @Override +// @SideOnly(Side.CLIENT) +// public IIcon getIcon(int par1, int par2) { +// OreDescriptor desc = Eln.oreItem.getDescriptor(par2); +// if (desc == null) return null; +// return desc.getBlockIconId(par1, par2); +// } public ArrayList getBlockDropped(World w, int x, int y, int z, int meta, int fortune) { //Specifies the block drop - /* ArrayList list = new ArrayList(); //The list of items - - list.add(new ItemStack(meta == 0 ? TutorialMain.ruby : TutorialMain.metaGem,1,meta == 0 ? 0 : meta-1)); //One guaranteed - - for(int i=0;i<2+fortune;i++){ //A loop for drops, increased by fortune enchant - if(w.rand.nextInt(101) > 49){ //50% chance - list.add(new ItemStack(meta == 0 ? TutorialMain.ruby : TutorialMain.metaGem,1,meta == 0 ? 0 : meta-1)); //Adds the gem - } - } - - return list; //Returns the finished list :)*/ OreDescriptor desc = Eln.oreItem.getDescriptor(meta); if (desc == null) return new ArrayList(); return desc.getBlockDropped(fortune); } - /*//caca1.5.1 - @Override - public String getTextureFile() { - return CommonProxy.BLOCK_PNG; - } - */ - @Override public void breakBlock(World par1World, int par2, int par3, int par4, Block par5, int par6) { super.breakBlock(par1World, par2, par3, par4, par5, par6); if (par1World.isRemote) return; - /* - - ArrayList list = Eln.oreItem.getDescriptor(par6).getBlockDropped(0); - if(list == null) { - dropBlockAsItem_do(par1World, par2, par3, par4, new ItemStack(this, 1, par6)); - } else { - for(ItemStack stack : list) { - dropBlockAsItem_do(par1World, par2, par3, par4, stack); - } - } - */ } } diff --git a/src/main/java/mods/eln/ore/OreDescriptor.java b/src/main/java/mods/eln/ore/OreDescriptor.java index 5271826d0..449be563d 100644 --- a/src/main/java/mods/eln/ore/OreDescriptor.java +++ b/src/main/java/mods/eln/ore/OreDescriptor.java @@ -1,13 +1,12 @@ package mods.eln.ore; -import cpw.mods.fml.common.IWorldGenerator; +import net.minecraftforge.fml.common.IWorldGenerator; import mods.eln.Eln; import mods.eln.generic.GenericItemBlockUsingDamageDescriptor; import mods.eln.wiki.Data; import net.minecraft.init.Blocks; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; -import net.minecraft.util.IIcon; import net.minecraft.world.World; import net.minecraft.world.WorldType; import net.minecraft.world.chunk.IChunkProvider; @@ -33,9 +32,10 @@ public OreDescriptor(String name, int metadata, this.spawnSizeMax = spawnSizeMax; } - public IIcon getBlockIconId(int side, int damage) { - return getIcon(); - } + // TODO(1.10): Fix item rendering. +// public IIcon getBlockIconId(int side, int damage) { +// return getIcon(); +// } @Override public void setParent(Item item, int damage) { diff --git a/src/main/java/mods/eln/ore/OreItem.java b/src/main/java/mods/eln/ore/OreItem.java index 2b238e99d..c8b7b8419 100644 --- a/src/main/java/mods/eln/ore/OreItem.java +++ b/src/main/java/mods/eln/ore/OreItem.java @@ -1,6 +1,6 @@ package mods.eln.ore; -import cpw.mods.fml.common.registry.GameRegistry; +import net.minecraftforge.fml.common.registry.GameRegistry; import mods.eln.generic.GenericItemBlockUsingDamage; import net.minecraft.block.Block; diff --git a/src/main/java/mods/eln/packets/AchievePacket.java b/src/main/java/mods/eln/packets/AchievePacket.java index cda52be9a..736af3a6c 100644 --- a/src/main/java/mods/eln/packets/AchievePacket.java +++ b/src/main/java/mods/eln/packets/AchievePacket.java @@ -1,7 +1,7 @@ package mods.eln.packets; -import cpw.mods.fml.common.network.ByteBufUtils; -import cpw.mods.fml.common.network.simpleimpl.IMessage; +import net.minecraftforge.fml.common.network.ByteBufUtils; +import net.minecraftforge.fml.common.network.simpleimpl.IMessage; import io.netty.buffer.ByteBuf; public class AchievePacket implements IMessage { diff --git a/src/main/java/mods/eln/packets/AchievePacketHandler.java b/src/main/java/mods/eln/packets/AchievePacketHandler.java index ddc0e3650..84be6dcf3 100644 --- a/src/main/java/mods/eln/packets/AchievePacketHandler.java +++ b/src/main/java/mods/eln/packets/AchievePacketHandler.java @@ -1,8 +1,8 @@ package mods.eln.packets; -import cpw.mods.fml.common.network.simpleimpl.IMessage; -import cpw.mods.fml.common.network.simpleimpl.IMessageHandler; -import cpw.mods.fml.common.network.simpleimpl.MessageContext; +import net.minecraftforge.fml.common.network.simpleimpl.IMessage; +import net.minecraftforge.fml.common.network.simpleimpl.IMessageHandler; +import net.minecraftforge.fml.common.network.simpleimpl.MessageContext; import mods.eln.Achievements; public class AchievePacketHandler implements IMessageHandler { diff --git a/src/main/java/mods/eln/packets/GhostNodeWailaRequestPacket.kt b/src/main/java/mods/eln/packets/GhostNodeWailaRequestPacket.kt index 145a6240c..41dd25c6c 100644 --- a/src/main/java/mods/eln/packets/GhostNodeWailaRequestPacket.kt +++ b/src/main/java/mods/eln/packets/GhostNodeWailaRequestPacket.kt @@ -1,16 +1,16 @@ package mods.eln.packets -import cpw.mods.fml.common.network.ByteBufUtils -import cpw.mods.fml.common.network.simpleimpl.IMessage import io.netty.buffer.ByteBuf -import mods.eln.misc.Coordonate +import mods.eln.misc.Coordinate +import net.minecraftforge.fml.common.network.ByteBufUtils +import net.minecraftforge.fml.common.network.simpleimpl.IMessage open class GhostNodeWailaRequestPacket : IMessage { - lateinit var coord: Coordonate + lateinit var coord: Coordinate constructor() {} - constructor(coord: Coordonate) { + constructor(coord: Coordinate) { this.coord = coord } @@ -19,13 +19,13 @@ open class GhostNodeWailaRequestPacket : IMessage { val y = ByteBufUtils.readVarInt(buf, 5) val z = ByteBufUtils.readVarInt(buf, 5) val w = ByteBufUtils.readVarInt(buf, 5) - coord = Coordonate(x, y, z, w) + coord = Coordinate(x, y, z, w) } override fun toBytes(buf: ByteBuf?) { - ByteBufUtils.writeVarInt(buf, coord.x, 5) - ByteBufUtils.writeVarInt(buf, coord.y, 5) - ByteBufUtils.writeVarInt(buf, coord.z, 5) - ByteBufUtils.writeVarInt(buf, coord.dimention, 5) + ByteBufUtils.writeVarInt(buf, coord.pos.x, 5) + ByteBufUtils.writeVarInt(buf, coord.pos.y, 5) + ByteBufUtils.writeVarInt(buf, coord.pos.z, 5) + ByteBufUtils.writeVarInt(buf, coord.dimension, 5) } } diff --git a/src/main/java/mods/eln/packets/GhostNodeWailaRequestPacketHandler.kt b/src/main/java/mods/eln/packets/GhostNodeWailaRequestPacketHandler.kt index ace1fd8c9..23ed2e167 100644 --- a/src/main/java/mods/eln/packets/GhostNodeWailaRequestPacketHandler.kt +++ b/src/main/java/mods/eln/packets/GhostNodeWailaRequestPacketHandler.kt @@ -1,24 +1,24 @@ package mods.eln.packets -import cpw.mods.fml.common.network.simpleimpl.IMessageHandler -import cpw.mods.fml.common.network.simpleimpl.MessageContext import mods.eln.Eln -import mods.eln.misc.Coordonate +import mods.eln.misc.Coordinate import mods.eln.misc.Direction import mods.eln.node.NodeManager import mods.eln.node.six.SixNodeElement import mods.eln.node.transparent.TransparentNode import net.minecraft.item.ItemStack +import net.minecraftforge.fml.common.network.simpleimpl.IMessageHandler +import net.minecraftforge.fml.common.network.simpleimpl.MessageContext class GhostNodeWailaRequestPacketHandler : IMessageHandler { override fun onMessage(message: GhostNodeWailaRequestPacket, ctx: MessageContext?): GhostNodeWailaResponsePacket { - val realCoord = Eln.ghostManager.getGhost(message.coord)?.observatorCoordonate + val realCoord = Eln.ghostManager.getGhost(message.coord)?.observatorCoordinate var itemStack: ItemStack? = null var type: Byte = GhostNodeWailaResponsePacket.UNKNOWN_TYPE var realSide = Direction.XN if (realCoord != null) { - val node = NodeManager.instance.getNodeFromCoordonate(realCoord) as? TransparentNode + val node = NodeManager.instance.getNodeFromCoordinate(realCoord) as? TransparentNode if (node != null) { itemStack = node.element.descriptor.newItemStack() type = GhostNodeWailaResponsePacket.TRANSPARENT_BLOCK_TYPE @@ -32,7 +32,7 @@ class GhostNodeWailaRequestPacketHandler : IMessageHandler { - private fun Coordonate.isNull() = this.x == 0 && this.y == 0 && this.z == 0 && this.dimention == 0 + private fun Coordinate.isNull() = this.pos.x == 0 && this.pos.y == 0 && this.pos.z == 0 && this.dimension == 0 override fun onMessage(message: GhostNodeWailaResponsePacket, ctx: MessageContext?): IMessage? { if (!message.realCoord.isNull()) { diff --git a/src/main/java/mods/eln/packets/SixNodeWailaRequestPacket.kt b/src/main/java/mods/eln/packets/SixNodeWailaRequestPacket.kt index e07916f79..f6ea84495 100644 --- a/src/main/java/mods/eln/packets/SixNodeWailaRequestPacket.kt +++ b/src/main/java/mods/eln/packets/SixNodeWailaRequestPacket.kt @@ -1,7 +1,7 @@ package mods.eln.packets import io.netty.buffer.ByteBuf -import mods.eln.misc.Coordonate +import mods.eln.misc.Coordinate import mods.eln.misc.Direction class SixNodeWailaRequestPacket : TransparentNodeRequestPacket { @@ -9,7 +9,7 @@ class SixNodeWailaRequestPacket : TransparentNodeRequestPacket { constructor() {} - constructor(coord: Coordonate, side: Direction) : super(coord) { + constructor(coord: Coordinate, side: Direction) : super(coord) { this.side = side } diff --git a/src/main/java/mods/eln/packets/SixNodeWailaRequestPacketHandler.kt b/src/main/java/mods/eln/packets/SixNodeWailaRequestPacketHandler.kt index 6203a65d9..9e8a7c3cb 100644 --- a/src/main/java/mods/eln/packets/SixNodeWailaRequestPacketHandler.kt +++ b/src/main/java/mods/eln/packets/SixNodeWailaRequestPacketHandler.kt @@ -1,16 +1,16 @@ package mods.eln.packets -import cpw.mods.fml.common.network.simpleimpl.IMessageHandler -import cpw.mods.fml.common.network.simpleimpl.MessageContext import mods.eln.node.NodeManager import mods.eln.node.six.SixNode import net.minecraft.item.ItemStack +import net.minecraftforge.fml.common.network.simpleimpl.IMessageHandler +import net.minecraftforge.fml.common.network.simpleimpl.MessageContext class SixNodeWailaRequestPacketHandler : IMessageHandler { override fun onMessage(message: SixNodeWailaRequestPacket, ctx: MessageContext?): SixNodeWailaResponsePacket { val coord = message.coord val side = message.side - val node = NodeManager.instance.getNodeFromCoordonate(coord) as? SixNode + val node = NodeManager.instance.getNodeFromCoordinate(coord) as? SixNode var stringMap: Map = emptyMap() var itemStack: ItemStack? = null if (node != null) { diff --git a/src/main/java/mods/eln/packets/SixNodeWailaResponsePacket.kt b/src/main/java/mods/eln/packets/SixNodeWailaResponsePacket.kt index 0ec545a9f..b5f62bbf4 100644 --- a/src/main/java/mods/eln/packets/SixNodeWailaResponsePacket.kt +++ b/src/main/java/mods/eln/packets/SixNodeWailaResponsePacket.kt @@ -1,10 +1,10 @@ package mods.eln.packets -import cpw.mods.fml.common.network.ByteBufUtils import io.netty.buffer.ByteBuf -import mods.eln.misc.Coordonate +import mods.eln.misc.Coordinate import mods.eln.misc.Direction import net.minecraft.item.ItemStack +import net.minecraftforge.fml.common.network.ByteBufUtils class SixNodeWailaResponsePacket : TransparentNodeResponsePacket { lateinit var side: Direction @@ -12,7 +12,7 @@ class SixNodeWailaResponsePacket : TransparentNodeResponsePacket { constructor() {} - constructor(coord: Coordonate, side: Direction, itemStack: ItemStack?, data: Map) : super(data, coord) { + constructor(coord: Coordinate, side: Direction, itemStack: ItemStack?, data: Map) : super(data, coord) { this.side = side this.itemStack = itemStack } diff --git a/src/main/java/mods/eln/packets/SixNodeWailaResponsePacketHandler.kt b/src/main/java/mods/eln/packets/SixNodeWailaResponsePacketHandler.kt index b32c2c173..73e51a38d 100644 --- a/src/main/java/mods/eln/packets/SixNodeWailaResponsePacketHandler.kt +++ b/src/main/java/mods/eln/packets/SixNodeWailaResponsePacketHandler.kt @@ -1,16 +1,16 @@ package mods.eln.packets -import cpw.mods.fml.common.network.simpleimpl.IMessage -import cpw.mods.fml.common.network.simpleimpl.IMessageHandler -import cpw.mods.fml.common.network.simpleimpl.MessageContext import mods.eln.integration.waila.SixNodeCoordonate import mods.eln.integration.waila.SixNodeWailaData import mods.eln.integration.waila.WailaCache -import mods.eln.misc.Coordonate +import mods.eln.misc.Coordinate +import net.minecraftforge.fml.common.network.simpleimpl.IMessage +import net.minecraftforge.fml.common.network.simpleimpl.IMessageHandler +import net.minecraftforge.fml.common.network.simpleimpl.MessageContext class SixNodeWailaResponsePacketHandler : IMessageHandler { - private fun Coordonate.isNull() = this.x == 0 && this.y == 0 && this.z == 0 && this.dimention == 0 + private fun Coordinate.isNull() = this.pos.x == 0 && this.pos.y == 0 && this.pos.z == 0 && this.dimension == 0 override fun onMessage(message: SixNodeWailaResponsePacket, ctx: MessageContext?): IMessage? { if (!message.coord.isNull()) { diff --git a/src/main/java/mods/eln/packets/TransparentNodeRequestPacket.kt b/src/main/java/mods/eln/packets/TransparentNodeRequestPacket.kt index 4408ffd53..6cbe5715d 100644 --- a/src/main/java/mods/eln/packets/TransparentNodeRequestPacket.kt +++ b/src/main/java/mods/eln/packets/TransparentNodeRequestPacket.kt @@ -1,22 +1,22 @@ package mods.eln.packets -import cpw.mods.fml.common.network.ByteBufUtils -import cpw.mods.fml.common.network.simpleimpl.IMessage import io.netty.buffer.ByteBuf -import mods.eln.misc.Coordonate +import mods.eln.misc.Coordinate +import net.minecraftforge.fml.common.network.ByteBufUtils +import net.minecraftforge.fml.common.network.simpleimpl.IMessage /** * Created by Gregory Maddra on 2016-06-27. */ open class TransparentNodeRequestPacket : IMessage { - lateinit var coord: Coordonate + lateinit var coord: Coordinate constructor() { } - constructor(c: Coordonate) { + constructor(c: Coordinate) { coord = c } @@ -25,13 +25,13 @@ open class TransparentNodeRequestPacket : IMessage { val y = ByteBufUtils.readVarInt(buf, 5) val z = ByteBufUtils.readVarInt(buf, 5) val w = ByteBufUtils.readVarInt(buf, 5) - coord = Coordonate(x, y, z, w) + coord = Coordinate(x, y, z, w) } override fun toBytes(buf: ByteBuf?) { - ByteBufUtils.writeVarInt(buf, coord.x, 5) - ByteBufUtils.writeVarInt(buf, coord.y, 5) - ByteBufUtils.writeVarInt(buf, coord.z, 5) - ByteBufUtils.writeVarInt(buf, coord.dimention, 5) + ByteBufUtils.writeVarInt(buf, coord.pos.x, 5) + ByteBufUtils.writeVarInt(buf, coord.pos.y, 5) + ByteBufUtils.writeVarInt(buf, coord.pos.z, 5) + ByteBufUtils.writeVarInt(buf, coord.dimension, 5) } } diff --git a/src/main/java/mods/eln/packets/TransparentNodeRequestPacketHandler.kt b/src/main/java/mods/eln/packets/TransparentNodeRequestPacketHandler.kt index a159a0c19..a951810df 100644 --- a/src/main/java/mods/eln/packets/TransparentNodeRequestPacketHandler.kt +++ b/src/main/java/mods/eln/packets/TransparentNodeRequestPacketHandler.kt @@ -1,10 +1,10 @@ package mods.eln.packets -import cpw.mods.fml.common.network.simpleimpl.IMessageHandler -import cpw.mods.fml.common.network.simpleimpl.MessageContext import mods.eln.misc.Utils import mods.eln.node.NodeManager import mods.eln.node.transparent.TransparentNode +import net.minecraftforge.fml.common.network.simpleimpl.IMessageHandler +import net.minecraftforge.fml.common.network.simpleimpl.MessageContext /** * Created by Gregory Maddra on 2016-06-27. @@ -12,7 +12,7 @@ import mods.eln.node.transparent.TransparentNode class TransparentNodeRequestPacketHandler : IMessageHandler { override fun onMessage(message: TransparentNodeRequestPacket?, ctx: MessageContext?): TransparentNodeResponsePacket? { val c = message!!.coord - val node = NodeManager.instance.getNodeFromCoordonate(c) as? TransparentNode + val node = NodeManager.instance.getNodeFromCoordinate(c) as? TransparentNode var stringMap: Map = emptyMap() if (node != null) { try { diff --git a/src/main/java/mods/eln/packets/TransparentNodeResponsePacket.kt b/src/main/java/mods/eln/packets/TransparentNodeResponsePacket.kt index d0f05151a..394a51463 100644 --- a/src/main/java/mods/eln/packets/TransparentNodeResponsePacket.kt +++ b/src/main/java/mods/eln/packets/TransparentNodeResponsePacket.kt @@ -1,9 +1,9 @@ package mods.eln.packets -import cpw.mods.fml.common.network.ByteBufUtils -import cpw.mods.fml.common.network.simpleimpl.IMessage import io.netty.buffer.ByteBuf -import mods.eln.misc.Coordonate +import mods.eln.misc.Coordinate +import net.minecraftforge.fml.common.network.ByteBufUtils +import net.minecraftforge.fml.common.network.simpleimpl.IMessage import java.util.* /** @@ -12,13 +12,13 @@ import java.util.* open class TransparentNodeResponsePacket : IMessage { lateinit var map: Map - lateinit var coord: Coordonate + lateinit var coord: Coordinate constructor() { } - constructor(m: Map, c: Coordonate) { + constructor(m: Map, c: Coordinate) { map = m coord = c } @@ -37,7 +37,7 @@ open class TransparentNodeResponsePacket : IMessage { val y = ByteBufUtils.readVarInt(buf, 5) val z = ByteBufUtils.readVarInt(buf, 5) val w = ByteBufUtils.readVarInt(buf, 5) - coord = Coordonate(x, y, z, w) + coord = Coordinate(x, y, z, w) val i1 = keys.iterator() val i2 = values.iterator() var localmap = HashMap() @@ -55,9 +55,9 @@ open class TransparentNodeResponsePacket : IMessage { for (element: String in map.values.iterator()) { ByteBufUtils.writeUTF8String(buf, element) } - ByteBufUtils.writeVarInt(buf, coord.x, 5) - ByteBufUtils.writeVarInt(buf, coord.y, 5) - ByteBufUtils.writeVarInt(buf, coord.z, 5) - ByteBufUtils.writeVarInt(buf, coord.dimention, 5) + ByteBufUtils.writeVarInt(buf, coord.pos.x, 5) + ByteBufUtils.writeVarInt(buf, coord.pos.y, 5) + ByteBufUtils.writeVarInt(buf, coord.pos.z, 5) + ByteBufUtils.writeVarInt(buf, coord.dimension, 5) } } diff --git a/src/main/java/mods/eln/packets/TransparentNodeResponsePacketHandler.kt b/src/main/java/mods/eln/packets/TransparentNodeResponsePacketHandler.kt index c155d5d16..c21a5860b 100644 --- a/src/main/java/mods/eln/packets/TransparentNodeResponsePacketHandler.kt +++ b/src/main/java/mods/eln/packets/TransparentNodeResponsePacketHandler.kt @@ -1,9 +1,9 @@ package mods.eln.packets -import cpw.mods.fml.common.network.simpleimpl.IMessage -import cpw.mods.fml.common.network.simpleimpl.IMessageHandler -import cpw.mods.fml.common.network.simpleimpl.MessageContext import mods.eln.integration.waila.WailaCache +import net.minecraftforge.fml.common.network.simpleimpl.IMessage +import net.minecraftforge.fml.common.network.simpleimpl.IMessageHandler +import net.minecraftforge.fml.common.network.simpleimpl.MessageContext /** * Created by Gregory Maddra on 2016-06-27. diff --git a/src/main/java/mods/eln/server/ConsoleListener.java b/src/main/java/mods/eln/server/ConsoleListener.java index d7ba4b696..48afcc338 100644 --- a/src/main/java/mods/eln/server/ConsoleListener.java +++ b/src/main/java/mods/eln/server/ConsoleListener.java @@ -8,9 +8,13 @@ import mods.eln.misc.Color; import mods.eln.misc.Version; import net.minecraft.command.CommandBase; +import net.minecraft.command.CommandException; import net.minecraft.command.ICommandSender; -import net.minecraft.util.ChatComponentText; +import net.minecraft.server.MinecraftServer; +import net.minecraft.util.math.BlockPos; +import net.minecraft.util.text.TextComponentString; +import javax.annotation.Nullable; import java.util.ArrayList; import java.util.Iterator; import java.util.List; @@ -67,47 +71,47 @@ public String getCommandUsage(ICommandSender icommandsender) { } @Override - public List addTabCompletionOptions(ICommandSender icommandsender, String[] astring) { - int argc = astring.length; + public List getTabCompletionOptions(MinecraftServer server, ICommandSender sender, String[] args, @Nullable BlockPos pos) { + int argc = args.length; switch (argc) { case 1: //Parse for probable commands - if (astring[0].isEmpty()) { - icommandsender.addChatMessage(new ChatComponentText(Color.COLOR_DARK_CYAN + "ELN >")); - icommandsender.addChatMessage(new ChatComponentText(Color.COLOR_BRIGHT_GREY + " \"" + cmdNameStr_listCmd + "\" to print the full command list.")); - icommandsender.addChatMessage(new ChatComponentText(Color.COLOR_BRIGHT_GREY + " \"" + cmdNameStr_man + "\" + for command usage (or command + TAB).")); + if (args[0].isEmpty()) { + sender.addChatMessage(new TextComponentString(Color.COLOR_DARK_CYAN + "ELN >")); + sender.addChatMessage(new TextComponentString(Color.COLOR_BRIGHT_GREY + " \"" + cmdNameStr_listCmd + "\" to print the full command list.")); + sender.addChatMessage(new TextComponentString(Color.COLOR_BRIGHT_GREY + " \"" + cmdNameStr_man + "\" + for command usage (or command + TAB).")); List ret = new ArrayList(); ret.add(cmdNameStr_listCmd); return ret; } - //icommandsender.addChatMessage(new ChatComponentText(Color.COLOR_DARK_GREY + "ELN > Console > Available commands :\n")); List cmdl = new ArrayList(); Iterator iter = cmdVisibleList.iterator(); while (iter.hasNext()) { String val = iter.next(); - if (val.toLowerCase().startsWith(astring[0].toLowerCase())) + if (val.toLowerCase().startsWith(args[0].toLowerCase())) cmdl.add(val); } if (cmdl.size() != 1) return cmdl; - if (!cmdl.get(0).equals(astring[0])) + if (!cmdl.get(0).equals(args[0])) return cmdl; case 2: default: //Return specific command arguments - commandMan(icommandsender, astring[0]); + commandMan(sender, args[0]); break; } return null; } + @Override - public void processCommand(ICommandSender ics, String[] astring) { + public void execute(MinecraftServer server, ICommandSender sender, String[] args) throws CommandException { String cmd; - if (astring.length >= 1) { - cmd = astring[0]; + if (args.length >= 1) { + cmd = args[0]; } else { cmd = "ls"; } @@ -115,22 +119,22 @@ public void processCommand(ICommandSender ics, String[] astring) { if (cmd.isEmpty()) { //Will normally never append. return; } else if (cmd.equalsIgnoreCase(cmdNameStr_man)) { - if (astring.length == 1) - commandMan(ics, cmdNameStr_man); + if (args.length == 1) + commandMan(sender, cmdNameStr_man); else { - if (!checkArgCount(ics, astring, 1)) + if (!checkArgCount(sender, args, 1)) return; - commandMan(ics, astring[1]); + commandMan(sender, args[1]); } } else if (cmd.equalsIgnoreCase(cmdNameStr_listCmd)) { - cprint(ics, Color.COLOR_DARK_CYAN + "ELN > " + Color.COLOR_DARK_YELLOW + cmdNameStr_listCmd); - cprint(ics, strOffsetL0 + "Public command list :"); + cprint(sender, Color.COLOR_DARK_CYAN + "ELN > " + Color.COLOR_DARK_YELLOW + cmdNameStr_listCmd); + cprint(sender, strOffsetL0 + "Public command list :"); String line = ""; Iterator iter = cmdVisibleList.iterator(); while (iter.hasNext()) { String val = iter.next(); if ((line.length() + val.length() + 2) > (lineWrapMaxLength - strOffsetL0.length())) { - cprint(ics, strOffsetL0 + Color.COLOR_DARK_GREY + line); + cprint(sender, strOffsetL0 + Color.COLOR_DARK_GREY + line); line = ""; } line += val; @@ -138,100 +142,95 @@ public void processCommand(ICommandSender ics, String[] astring) { line += ", "; else { line += "."; - cprint(ics, strOffsetL0 + Color.COLOR_DARK_GREY + line); + cprint(sender, strOffsetL0 + Color.COLOR_DARK_GREY + line); } } } else if (cmd.equalsIgnoreCase(cmdNameStr_about)) { - cprint(ics, Color.COLOR_DARK_CYAN + "ELN > " + Color.COLOR_DARK_YELLOW + cmdNameStr_about); - cprint(ics, strOffsetL0 + Eln.NAME + " - Codename " + Eln.MODID.toUpperCase(Locale.ROOT)); - cprint(ics, strOffsetL0 + "V" + String.valueOf(Version.MAJOR) + '.' + String.valueOf(Version.MINOR) + " r" + Version.REVISION); + cprint(sender, Color.COLOR_DARK_CYAN + "ELN > " + Color.COLOR_DARK_YELLOW + cmdNameStr_about); + cprint(sender, strOffsetL0 + Eln.NAME + " - Codename " + Eln.MODID.toUpperCase(Locale.ROOT)); + cprint(sender, strOffsetL0 + "V" + String.valueOf(Version.MAJOR) + '.' + String.valueOf(Version.MINOR) + " r" + Version.REVISION); String authorsStr = ""; for (int idx = 0; idx < Eln.AUTHORS.length; idx++) authorsStr += Eln.AUTHORS[idx] + ' '; - cprint(ics, strOffsetL0 + "Authors: " + Color.COLOR_DARK_GREY + authorsStr); - cprint(ics, strOffsetL0 + "Website: " + Color.COLOR_DARK_GREY + Eln.URL); + cprint(sender, strOffsetL0 + "Authors: " + Color.COLOR_DARK_GREY + authorsStr); + cprint(sender, strOffsetL0 + "Website: " + Color.COLOR_DARK_GREY + Eln.URL); } else if (cmd.equalsIgnoreCase(cmdNameStr_aging)) { - cprint(ics, Color.COLOR_DARK_CYAN + "ELN > " + Color.COLOR_DARK_YELLOW + cmdNameStr_aging); - if (!checkArgCount(ics, astring, 1)) + cprint(sender, Color.COLOR_DARK_CYAN + "ELN > " + Color.COLOR_DARK_YELLOW + cmdNameStr_aging); + if (!checkArgCount(sender, args, 1)) return; - ConsoleArg arg0 = getArgBool(ics, astring[1]); + ConsoleArg arg0 = getArgBool(sender, args[1]); if (!arg0.valid) return; SaveConfig.instance.batteryAging = (arg0.value); SaveConfig.instance.electricalLampAging = (arg0.value); SaveConfig.instance.heatFurnaceFuel = (arg0.value); SaveConfig.instance.infinitePortableBattery = (!arg0.value); - cprint(ics, strOffsetL0 + "Batteries / Furnace Fuel / Lamp aging : " + Color.COLOR_DARK_GREEN + boolToStr(arg0.value)); - cprint(ics, strOffsetL0 + "Parameter saved in the map."); + cprint(sender, strOffsetL0 + "Batteries / Furnace Fuel / Lamp aging : " + Color.COLOR_DARK_GREEN + boolToStr(arg0.value)); + cprint(sender, strOffsetL0 + "Parameter saved in the map."); } else if (cmd.equalsIgnoreCase(cmdNameStr_lampAging)) { - cprint(ics, Color.COLOR_DARK_CYAN + "ELN > " + Color.COLOR_DARK_YELLOW + cmdNameStr_lampAging); - if (!checkArgCount(ics, astring, 1)) + cprint(sender, Color.COLOR_DARK_CYAN + "ELN > " + Color.COLOR_DARK_YELLOW + cmdNameStr_lampAging); + if (!checkArgCount(sender, args, 1)) return; - ConsoleArg arg0 = getArgBool(ics, astring[1]); + ConsoleArg arg0 = getArgBool(sender, args[1]); if (!arg0.valid) return; SaveConfig.instance.electricalLampAging = (arg0.value); - cprint(ics, strOffsetL0 + "Lamp aging : " + Color.COLOR_DARK_GREEN + boolToStr(arg0.value)); - cprint(ics, strOffsetL0 + "Parameter saved in the map."); + cprint(sender, strOffsetL0 + "Lamp aging : " + Color.COLOR_DARK_GREEN + boolToStr(arg0.value)); + cprint(sender, strOffsetL0 + "Parameter saved in the map."); } else if (cmd.equalsIgnoreCase(cmdNameStr_batteryAging)) { - cprint(ics, Color.COLOR_DARK_CYAN + "ELN > " + Color.COLOR_DARK_YELLOW + cmdNameStr_batteryAging); - if (!checkArgCount(ics, astring, 1)) + cprint(sender, Color.COLOR_DARK_CYAN + "ELN > " + Color.COLOR_DARK_YELLOW + cmdNameStr_batteryAging); + if (!checkArgCount(sender, args, 1)) return; - ConsoleArg arg0 = getArgBool(ics, astring[1]); + ConsoleArg arg0 = getArgBool(sender, args[1]); if (!arg0.valid) return; SaveConfig.instance.batteryAging = (arg0.value); - cprint(ics, strOffsetL0 + "Non portable batteries aging : " + Color.COLOR_DARK_GREEN + boolToStr(arg0.value)); - cprint(ics, strOffsetL0 + "Parameter saved in the map."); + cprint(sender, strOffsetL0 + "Non portable batteries aging : " + Color.COLOR_DARK_GREEN + boolToStr(arg0.value)); + cprint(sender, strOffsetL0 + "Parameter saved in the map."); } else if (cmd.equalsIgnoreCase(cmdNameStr_heatFurnaceFuel)) { - cprint(ics, Color.COLOR_DARK_CYAN + "ELN > " + Color.COLOR_DARK_YELLOW + cmdNameStr_heatFurnaceFuel); - if (!checkArgCount(ics, astring, 1)) + cprint(sender, Color.COLOR_DARK_CYAN + "ELN > " + Color.COLOR_DARK_YELLOW + cmdNameStr_heatFurnaceFuel); + if (!checkArgCount(sender, args, 1)) return; - ConsoleArg arg0 = getArgBool(ics, astring[1]); + ConsoleArg arg0 = getArgBool(sender, args[1]); if (!arg0.valid) return; SaveConfig.instance.heatFurnaceFuel = (arg0.value); - cprint(ics, strOffsetL0 + "Furnace fuel aging : " + Color.COLOR_DARK_GREEN + boolToStr(arg0.value)); - cprint(ics, strOffsetL0 + "Parameter saved in the map."); + cprint(sender, strOffsetL0 + "Furnace fuel aging : " + Color.COLOR_DARK_GREEN + boolToStr(arg0.value)); + cprint(sender, strOffsetL0 + "Parameter saved in the map."); } else if (cmd.equalsIgnoreCase(cmdNameStr_newWind)) { - cprint(ics, Color.COLOR_DARK_CYAN + "ELN > " + Color.COLOR_DARK_YELLOW + cmdNameStr_newWind); - if (!checkArgCount(ics, astring, 0)) + cprint(sender, Color.COLOR_DARK_CYAN + "ELN > " + Color.COLOR_DARK_YELLOW + cmdNameStr_newWind); + if (!checkArgCount(sender, args, 0)) return; Eln.wind.newWindTarget(); - cprint(ics, strOffsetL0 + "New random wind amplitude target : " + Eln.wind.getTargetNotFiltred()); + cprint(sender, strOffsetL0 + "New random wind amplitude target : " + Eln.wind.getTargetNotFiltred()); } else if (cmd.equalsIgnoreCase(cmdNameStr_regenOre)) { - cprint(ics, Color.COLOR_DARK_CYAN + "ELN > " + Color.COLOR_DARK_YELLOW + cmdNameStr_regenOre); - if (!checkArgCount(ics, astring, 1)) + cprint(sender, Color.COLOR_DARK_CYAN + "ELN > " + Color.COLOR_DARK_YELLOW + cmdNameStr_regenOre); + if (!checkArgCount(sender, args, 1)) return; - ConsoleArg arg0 = getArgBool(ics, astring[1]); + ConsoleArg arg0 = getArgBool(sender, args[1]); if (!arg0.valid) return; Eln.instance.saveConfig.reGenOre = arg0.value; - cprint(ics, strOffsetL0 + "Regenerate ore at next map reload : " + Color.COLOR_DARK_GREEN + boolToStr(arg0.value)); - cprint(ics, strOffsetL0 + "Parameter saved in the map and effective once."); + cprint(sender, strOffsetL0 + "Regenerate ore at next map reload : " + Color.COLOR_DARK_GREEN + boolToStr(arg0.value)); + cprint(sender, strOffsetL0 + "Parameter saved in the map and effective once."); } else if (cmd.equalsIgnoreCase(cmdNameStr_generateLangFileTemplate)) { - cprint(ics, Color.COLOR_DARK_CYAN + "ELN > " + Color.COLOR_DARK_YELLOW + cmdNameStr_generateLangFileTemplate); - cprint(ics, strOffsetL0 + "New language system parses source code, see here how to generate language " + + cprint(sender, Color.COLOR_DARK_CYAN + "ELN > " + Color.COLOR_DARK_YELLOW + cmdNameStr_generateLangFileTemplate); + cprint(sender, strOffsetL0 + "New language system parses source code, see here how to generate language " + "files: https://github.com/Electrical-Age/ElectricalAge"); } else if (cmd.equalsIgnoreCase(cmdNameStr_killMonstersAroundLamps)) { - cprint(ics, Color.COLOR_DARK_CYAN + "ELN > " + Color.COLOR_DARK_YELLOW + cmdNameStr_killMonstersAroundLamps); - if (!checkArgCount(ics, astring, 1)) + cprint(sender, Color.COLOR_DARK_CYAN + "ELN > " + Color.COLOR_DARK_YELLOW + cmdNameStr_killMonstersAroundLamps); + if (!checkArgCount(sender, args, 1)) return; - ConsoleArg arg0 = getArgBool(ics, astring[1]); + ConsoleArg arg0 = getArgBool(sender, args[1]); if (!arg0.valid) return; Eln.instance.killMonstersAroundLamps = arg0.value; - cprint(ics, strOffsetL0 + "Avoid monsters spawning around lamps : " + Color.COLOR_DARK_GREEN + boolToStr(arg0.value)); - cprint(ics, strOffsetL0 + "Warning: Command effective to this game instance only."); + cprint(sender, strOffsetL0 + "Avoid monsters spawning around lamps : " + Color.COLOR_DARK_GREEN + boolToStr(arg0.value)); + cprint(sender, strOffsetL0 + "Warning: Command effective to this game instance only."); } else { - cprint(ics, Color.COLOR_DARK_CYAN + "ELN > " + Color.COLOR_DARK_RED + "Error: Unknown command."); + cprint(sender, Color.COLOR_DARK_CYAN + "ELN > " + Color.COLOR_DARK_RED + "Error: Unknown command."); } - - return; - - //Eln.simulator.setSimplify(!astring[1].equals("0")); - //Eln.simulator.pleaseCrash = true; } private boolean checkArgCount(ICommandSender ics, String[] args, int exceptedArgc) { @@ -359,7 +358,7 @@ private void commandMan(ICommandSender ics, String cmd) { } private void cprint(ICommandSender ics, String text) { - ics.addChatMessage(new ChatComponentText(Color.COLOR_BRIGHT_GREY + text)); + ics.addChatMessage(new TextComponentString(Color.COLOR_BRIGHT_GREY + text)); } } diff --git a/src/main/java/mods/eln/server/DelayedBlockRemove.java b/src/main/java/mods/eln/server/DelayedBlockRemove.java index f722bc0e4..48f1086b6 100644 --- a/src/main/java/mods/eln/server/DelayedBlockRemove.java +++ b/src/main/java/mods/eln/server/DelayedBlockRemove.java @@ -1,7 +1,7 @@ package mods.eln.server; import mods.eln.Eln; -import mods.eln.misc.Coordonate; +import mods.eln.misc.Coordinate; import mods.eln.server.DelayedTaskManager.ITask; import net.minecraft.init.Blocks; @@ -10,11 +10,11 @@ public class DelayedBlockRemove implements ITask { - Coordonate c; + Coordinate c; - private static final Set blocks = new HashSet(); + private static final Set blocks = new HashSet(); - private DelayedBlockRemove(Coordonate c) { + private DelayedBlockRemove(Coordinate c) { this.c = c; } @@ -22,7 +22,7 @@ public static void clear() { blocks.clear(); } - public static void add(Coordonate c) { + public static void add(Coordinate c) { if (blocks.contains(c)) return; blocks.add(c); Eln.delayedTask.add(new DelayedBlockRemove(c)); diff --git a/src/main/java/mods/eln/server/DelayedTaskManager.java b/src/main/java/mods/eln/server/DelayedTaskManager.java index 8d5d503c5..90111dadd 100644 --- a/src/main/java/mods/eln/server/DelayedTaskManager.java +++ b/src/main/java/mods/eln/server/DelayedTaskManager.java @@ -1,9 +1,9 @@ package mods.eln.server; -import cpw.mods.fml.common.FMLCommonHandler; -import cpw.mods.fml.common.eventhandler.SubscribeEvent; -import cpw.mods.fml.common.gameevent.TickEvent.Phase; -import cpw.mods.fml.common.gameevent.TickEvent.ServerTickEvent; +import net.minecraftforge.fml.common.FMLCommonHandler; +import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; +import net.minecraftforge.fml.common.gameevent.TickEvent.Phase; +import net.minecraftforge.fml.common.gameevent.TickEvent.ServerTickEvent; import net.minecraftforge.common.MinecraftForge; import java.util.ArrayList; diff --git a/src/main/java/mods/eln/server/OreRegenerate.java b/src/main/java/mods/eln/server/OreRegenerate.java index 58dd059c8..60d6c8576 100644 --- a/src/main/java/mods/eln/server/OreRegenerate.java +++ b/src/main/java/mods/eln/server/OreRegenerate.java @@ -1,9 +1,9 @@ package mods.eln.server; -import cpw.mods.fml.common.FMLCommonHandler; -import cpw.mods.fml.common.eventhandler.SubscribeEvent; -import cpw.mods.fml.common.gameevent.TickEvent.Phase; -import cpw.mods.fml.common.gameevent.TickEvent.ServerTickEvent; +import net.minecraftforge.fml.common.FMLCommonHandler; +import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; +import net.minecraftforge.fml.common.gameevent.TickEvent.Phase; +import net.minecraftforge.fml.common.gameevent.TickEvent.ServerTickEvent; import mods.eln.Eln; import mods.eln.misc.Utils; import mods.eln.ore.OreDescriptor; diff --git a/src/main/java/mods/eln/server/PlayerManager.java b/src/main/java/mods/eln/server/PlayerManager.java index 9957c5e51..92afc8c05 100644 --- a/src/main/java/mods/eln/server/PlayerManager.java +++ b/src/main/java/mods/eln/server/PlayerManager.java @@ -1,9 +1,9 @@ package mods.eln.server; -import cpw.mods.fml.common.FMLCommonHandler; -import cpw.mods.fml.common.eventhandler.SubscribeEvent; -import cpw.mods.fml.common.gameevent.TickEvent.Phase; -import cpw.mods.fml.common.gameevent.TickEvent.ServerTickEvent; +import net.minecraftforge.fml.common.FMLCommonHandler; +import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; +import net.minecraftforge.fml.common.gameevent.TickEvent.Phase; +import net.minecraftforge.fml.common.gameevent.TickEvent.ServerTickEvent; import mods.eln.misc.Utils; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayerMP; diff --git a/src/main/java/mods/eln/server/ServerEventListener.java b/src/main/java/mods/eln/server/ServerEventListener.java index 526c6fe54..3449e952c 100644 --- a/src/main/java/mods/eln/server/ServerEventListener.java +++ b/src/main/java/mods/eln/server/ServerEventListener.java @@ -1,11 +1,11 @@ package mods.eln.server; -import cpw.mods.fml.common.FMLCommonHandler; -import cpw.mods.fml.common.eventhandler.SubscribeEvent; -import cpw.mods.fml.common.gameevent.TickEvent.Phase; -import cpw.mods.fml.common.gameevent.TickEvent.ServerTickEvent; +import mods.eln.misc.Coordinate; +import net.minecraftforge.fml.common.FMLCommonHandler; +import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; +import net.minecraftforge.fml.common.gameevent.TickEvent.Phase; +import net.minecraftforge.fml.common.gameevent.TickEvent.ServerTickEvent; import mods.eln.Eln; -import mods.eln.misc.Coordonate; import mods.eln.misc.Utils; import mods.eln.node.NodeManager; import net.minecraft.entity.effect.EntityLightningBolt; @@ -53,7 +53,7 @@ public void clear() { lightningList.clear(); } - public double getLightningClosestTo(Coordonate c) { + public double getLightningClosestTo(Coordinate c) { double best = 10000000; for (EntityLightningBolt l : lightningList) { if (c.world() != l.worldObj) continue; diff --git a/src/main/java/mods/eln/sim/MonsterPopFreeProcess.java b/src/main/java/mods/eln/sim/MonsterPopFreeProcess.java index a714e3b19..33ba1e06f 100644 --- a/src/main/java/mods/eln/sim/MonsterPopFreeProcess.java +++ b/src/main/java/mods/eln/sim/MonsterPopFreeProcess.java @@ -2,7 +2,7 @@ import mods.eln.Eln; import mods.eln.entity.ReplicatorEntity; -import mods.eln.misc.Coordonate; +import mods.eln.misc.Coordinate; import mods.eln.misc.Utils; import net.minecraft.entity.boss.EntityWither; import net.minecraft.entity.monster.EntityEnderman; @@ -12,7 +12,7 @@ public class MonsterPopFreeProcess implements IProcess { - private Coordonate coordonate; + private Coordinate coordinate; private int range; double timerCounter = 0; @@ -20,8 +20,8 @@ public class MonsterPopFreeProcess implements IProcess { List oldList = null; - public MonsterPopFreeProcess(Coordonate coordonate, int range) { - this.coordonate = coordonate; + public MonsterPopFreeProcess(Coordinate coordinate, int range) { + this.coordinate = coordinate; this.range = range; } @@ -34,13 +34,13 @@ public void process(double time) { timerCounter += time; if (timerCounter > timerPeriod) { timerCounter -= Utils.rand(1, 1.5) * timerPeriod; - List list = coordonate.world().getEntitiesWithinAABB(EntityMob.class, coordonate.getAxisAlignedBB(range + 8)); + List list = coordinate.world().getEntitiesWithinAABB(EntityMob.class, coordinate.getAxisAlignedBB(range + 8)); for (Object o : list) { //Utils.println("MonsterPopFreeProcess : In range"); EntityMob mob = (EntityMob) o; if (oldList == null || !oldList.contains(o)) { - if (coordonate.distanceTo(mob) < range) { + if (coordinate.distanceTo(mob) < range) { //Utils.println("MonsterPopFreeProcess : Must die"); if (!(o instanceof ReplicatorEntity) && !(o instanceof EntityWither) && !(o instanceof EntityEnderman)) { mob.setDead(); diff --git a/src/main/java/mods/eln/sim/Simulator.java b/src/main/java/mods/eln/sim/Simulator.java index 8f7103c74..b0e225790 100644 --- a/src/main/java/mods/eln/sim/Simulator.java +++ b/src/main/java/mods/eln/sim/Simulator.java @@ -1,9 +1,9 @@ package mods.eln.sim; -import cpw.mods.fml.common.FMLCommonHandler; -import cpw.mods.fml.common.eventhandler.SubscribeEvent; -import cpw.mods.fml.common.gameevent.TickEvent.Phase; -import cpw.mods.fml.common.gameevent.TickEvent.ServerTickEvent; +import net.minecraftforge.fml.common.FMLCommonHandler; +import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; +import net.minecraftforge.fml.common.gameevent.TickEvent.Phase; +import net.minecraftforge.fml.common.gameevent.TickEvent.ServerTickEvent; import mods.eln.misc.Utils; import mods.eln.sim.mna.RootSystem; import mods.eln.sim.mna.component.Component; diff --git a/src/main/java/mods/eln/sim/process/destruct/WorldExplosion.java b/src/main/java/mods/eln/sim/process/destruct/WorldExplosion.java index cb2feb935..c0bc4f425 100644 --- a/src/main/java/mods/eln/sim/process/destruct/WorldExplosion.java +++ b/src/main/java/mods/eln/sim/process/destruct/WorldExplosion.java @@ -1,7 +1,7 @@ package mods.eln.sim.process.destruct; import mods.eln.Eln; -import mods.eln.misc.Coordonate; +import mods.eln.misc.Coordinate; import mods.eln.node.six.SixNodeElement; import mods.eln.node.transparent.TransparentNodeElement; import mods.eln.simplenode.energyconverter.EnergyConverterElnToOtherNode; @@ -12,11 +12,11 @@ public class WorldExplosion implements IDestructable { Object origine; - Coordonate c; + Coordinate c; float strength; String type; - public WorldExplosion(Coordonate c) { + public WorldExplosion(Coordinate c) { this.c = c; } @@ -33,7 +33,7 @@ public WorldExplosion(TransparentNodeElement e) { } public WorldExplosion(EnergyConverterElnToOtherNode e) { - this.c = e.coordonate; + this.c = e.coordinate; this.type = e.toString(); origine = e; } diff --git a/src/main/java/mods/eln/simplenode/computerprobe/ComputerProbeBlock.java b/src/main/java/mods/eln/simplenode/computerprobe/ComputerProbeBlock.java index 0d01e2791..8f57ec9af 100644 --- a/src/main/java/mods/eln/simplenode/computerprobe/ComputerProbeBlock.java +++ b/src/main/java/mods/eln/simplenode/computerprobe/ComputerProbeBlock.java @@ -1,18 +1,17 @@ package mods.eln.simplenode.computerprobe; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; +import net.minecraftforge.fml.relauncher.Side; +import net.minecraftforge.fml.relauncher.SideOnly; import mods.eln.node.simple.SimpleNode; import mods.eln.node.simple.SimpleNodeBlock; import net.minecraft.block.material.Material; -import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.IIcon; import net.minecraft.world.World; public class ComputerProbeBlock extends SimpleNodeBlock { - private IIcon[] icon = new IIcon[6]; + // TODO(1.10): Fix item rendering. +// private IIcon[] icon = new IIcon[6]; public ComputerProbeBlock() { super(Material.packedIce); @@ -28,17 +27,17 @@ protected SimpleNode newNode() { return new ComputerProbeNode(); } - public IIcon getIcon(int side, int meta) { - return icon[side]; - } - - @SideOnly(Side.CLIENT) - public void registerBlockIcons(IIconRegister register) { - icon[4] = register.registerIcon("eln:computerprobe_xn"); - icon[5] = register.registerIcon("eln:computerprobe_xp"); - icon[2] = register.registerIcon("eln:computerprobe_zn"); - icon[3] = register.registerIcon("eln:computerprobe_zp"); - icon[0] = register.registerIcon("eln:computerprobe_yn"); - icon[1] = register.registerIcon("eln:computerprobe_yp"); - } +// public IIcon getIcon(int side, int meta) { +// return icon[side]; +// } +// +// @SideOnly(Side.CLIENT) +// public void registerBlockIcons(IIconRegister register) { +// icon[4] = register.registerIcon("eln:computerprobe_xn"); +// icon[5] = register.registerIcon("eln:computerprobe_xp"); +// icon[2] = register.registerIcon("eln:computerprobe_zn"); +// icon[3] = register.registerIcon("eln:computerprobe_zp"); +// icon[0] = register.registerIcon("eln:computerprobe_yn"); +// icon[1] = register.registerIcon("eln:computerprobe_yp"); +// } } diff --git a/src/main/java/mods/eln/simplenode/computerprobe/ComputerProbeEntity.java b/src/main/java/mods/eln/simplenode/computerprobe/ComputerProbeEntity.java index ce2ace626..4dccfbd7c 100644 --- a/src/main/java/mods/eln/simplenode/computerprobe/ComputerProbeEntity.java +++ b/src/main/java/mods/eln/simplenode/computerprobe/ComputerProbeEntity.java @@ -1,6 +1,6 @@ package mods.eln.simplenode.computerprobe; -import cpw.mods.fml.common.Optional; +import net.minecraftforge.fml.common.Optional; import li.cil.oc.api.machine.Arguments; import li.cil.oc.api.machine.Callback; import li.cil.oc.api.machine.Context; diff --git a/src/main/java/mods/eln/simplenode/computerprobe/ComputerProbeNode.java b/src/main/java/mods/eln/simplenode/computerprobe/ComputerProbeNode.java index 3a0908fa9..c976a5414 100644 --- a/src/main/java/mods/eln/simplenode/computerprobe/ComputerProbeNode.java +++ b/src/main/java/mods/eln/simplenode/computerprobe/ComputerProbeNode.java @@ -1,6 +1,6 @@ package mods.eln.simplenode.computerprobe; -import cpw.mods.fml.common.Optional; +import net.minecraftforge.fml.common.Optional; import dan200.computercraft.api.lua.ILuaContext; import dan200.computercraft.api.lua.LuaException; import dan200.computercraft.api.peripheral.IComputerAccess; @@ -9,7 +9,7 @@ import li.cil.oc.api.machine.Context; import mods.eln.Eln; import mods.eln.Other; -import mods.eln.misc.Coordonate; +import mods.eln.misc.Coordinate; import mods.eln.misc.Direction; import mods.eln.misc.LRDU; import mods.eln.misc.Utils; @@ -77,7 +77,7 @@ public void process(double time) { double wirelessRead(String channel, String aggregatorName) { if (spot == null) { - spot = WirelessUtils.buildSpot(coordonate, null, 0); + spot = WirelessUtils.buildSpot(coordinate, null, 0); txSet.clear(); txStrength.clear(); WirelessUtils.getTx(spot, txSet, txStrength); @@ -352,8 +352,8 @@ class WirelessTx implements IWirelessSignalTx { double value; @Override - public Coordonate getCoordonate() { - return coordonate; + public Coordinate getCoordinate() { + return coordinate; } @Override diff --git a/src/main/java/mods/eln/simplenode/energyconverter/EnergyConverterElnToOtherBlock.java b/src/main/java/mods/eln/simplenode/energyconverter/EnergyConverterElnToOtherBlock.java index 22ef8bcbf..82c6c05b6 100644 --- a/src/main/java/mods/eln/simplenode/energyconverter/EnergyConverterElnToOtherBlock.java +++ b/src/main/java/mods/eln/simplenode/energyconverter/EnergyConverterElnToOtherBlock.java @@ -1,15 +1,13 @@ package mods.eln.simplenode.energyconverter; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; +import net.minecraftforge.fml.relauncher.Side; +import net.minecraftforge.fml.relauncher.SideOnly; import mods.eln.misc.Direction; import mods.eln.node.simple.SimpleNode; import mods.eln.node.simple.SimpleNodeBlock; import mods.eln.node.simple.SimpleNodeEntity; import net.minecraft.block.material.Material; -import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.IIcon; import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; @@ -17,8 +15,9 @@ public class EnergyConverterElnToOtherBlock extends SimpleNodeBlock { private EnergyConverterElnToOtherDescriptor descriptor; - private IIcon elnIcon, eln2Icon; - private IIcon sideIcon; + // TODO(1.10): Fix item rendering. +// private IIcon elnIcon, eln2Icon; +// private IIcon sideIcon; public EnergyConverterElnToOtherBlock(EnergyConverterElnToOtherDescriptor descriptor) { super(Material.packedIce); @@ -36,35 +35,35 @@ protected SimpleNode newNode() { return new EnergyConverterElnToOtherNode(); } - @Override - @SideOnly(Side.CLIENT) - public IIcon getIcon(IBlockAccess w, int x, int y, int z, int side) { - SimpleNodeEntity e = (SimpleNodeEntity) w.getTileEntity(x, y, z); - Direction s = Direction.fromIntMinecraftSide(side); - if (e == null) return sideIcon; - if (e.front == null) return sideIcon; - if (e.front == s) return getElnIcon(side); - if (e.front.back() == s) return blockIcon; - return sideIcon; - } - - public IIcon getIcon(int side, int meta) { - Direction s = Direction.fromIntMinecraftSide(side); - if (s == Direction.XP) return getElnIcon(side); - if (s == Direction.XN) return blockIcon; - return sideIcon; - } - - IIcon getElnIcon(int side) { - if (side == 2 || side == 5) return eln2Icon; - return elnIcon; - } - - @SideOnly(Side.CLIENT) - public void registerBlockIcons(IIconRegister register) { - this.blockIcon = register.registerIcon("eln:elntoic2lvu_ic2"); - this.elnIcon = register.registerIcon("eln:elntoic2lvu_eln"); - this.eln2Icon = register.registerIcon("eln:elntoic2lvu_eln2"); - this.sideIcon = register.registerIcon("eln:elntoic2lvu_side"); - } +// @Override +// @SideOnly(Side.CLIENT) +// public IIcon getIcon(IBlockAccess w, int x, int y, int z, int side) { +// SimpleNodeEntity e = (SimpleNodeEntity) w.getTileEntity(x, y, z); +// Direction s = Direction.fromIntMinecraftSide(side); +// if (e == null) return sideIcon; +// if (e.front == null) return sideIcon; +// if (e.front == s) return getElnIcon(side); +// if (e.front.back() == s) return blockIcon; +// return sideIcon; +// } +// +// public IIcon getIcon(int side, int meta) { +// Direction s = Direction.fromIntMinecraftSide(side); +// if (s == Direction.XP) return getElnIcon(side); +// if (s == Direction.XN) return blockIcon; +// return sideIcon; +// } +// +// IIcon getElnIcon(int side) { +// if (side == 2 || side == 5) return eln2Icon; +// return elnIcon; +// } +// +// @SideOnly(Side.CLIENT) +// public void registerBlockIcons(IIconRegister register) { +// this.blockIcon = register.registerIcon("eln:elntoic2lvu_ic2"); +// this.elnIcon = register.registerIcon("eln:elntoic2lvu_eln"); +// this.eln2Icon = register.registerIcon("eln:elntoic2lvu_eln2"); +// this.sideIcon = register.registerIcon("eln:elntoic2lvu_side"); +// } } diff --git a/src/main/java/mods/eln/simplenode/energyconverter/EnergyConverterElnToOtherEntity.java b/src/main/java/mods/eln/simplenode/energyconverter/EnergyConverterElnToOtherEntity.java index c33bc0694..79cf7299b 100644 --- a/src/main/java/mods/eln/simplenode/energyconverter/EnergyConverterElnToOtherEntity.java +++ b/src/main/java/mods/eln/simplenode/energyconverter/EnergyConverterElnToOtherEntity.java @@ -1,10 +1,6 @@ package mods.eln.simplenode.energyconverter; import cofh.api.energy.IEnergyHandler; -import cpw.mods.fml.common.Optional; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import ic2.api.energy.tile.IEnergySource; import li.cil.oc.api.network.Environment; import li.cil.oc.api.network.Message; import li.cil.oc.api.network.Node; @@ -15,8 +11,10 @@ import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.tileentity.TileEntity; -import net.minecraftforge.common.util.ForgeDirection; +import net.minecraft.util.EnumFacing; +import net.minecraftforge.fml.common.Optional; +import net.minecraftforge.fml.relauncher.Side; +import net.minecraftforge.fml.relauncher.SideOnly; import java.io.DataInputStream; import java.io.IOException; @@ -25,18 +23,15 @@ @Optional.Interface(iface = "ic2.api.energy.tile.IEnergySource", modid = Other.modIdIc2), @Optional.Interface(iface = "cofh.api.energy.IEnergyHandler", modid = Other.modIdTe), @Optional.Interface(iface = "li.cil.oc.api.network.Environment", modid = Other.modIdOc)}) -public class EnergyConverterElnToOtherEntity extends SimpleNodeEntity implements - IEnergySource, Environment, IEnergyHandler /* ,SidedEnvironment, ISidedBatteryProvider, IPowerEmitter, IPipeConnection */ { +public class EnergyConverterElnToOtherEntity extends SimpleNodeEntity implements Environment, IEnergyHandler { float inPowerFactor; boolean hasChanges = false; - public float inPowerMax; + float inPowerMax; - EnergyConverterElnToOtherFireWallOc oc; + private EnergyConverterElnToOtherFireWallOc oc; - protected boolean addedToEnet; - - public EnergyConverterElnToOtherEntity() { + EnergyConverterElnToOtherEntity() { if (Other.ocLoaded) getOc().constructor(); } @@ -70,51 +65,51 @@ public String getNodeUuid() { return EnergyConverterElnToOtherNode.getNodeUuidStatic(); } - // ********************IC2******************** - - @Optional.Method(modid = Other.modIdIc2) - @Override - public boolean emitsEnergyTo(TileEntity receiver, ForgeDirection direction) { - if (worldObj.isRemote) - return false; - SimpleNode n = getNode(); - if (n == null) - return false; - return n.getFront().back() == Direction.from(direction); - } - - @Optional.Method(modid = Other.modIdIc2) - @Override - public double getOfferedEnergy() { - if (worldObj.isRemote) - return 0; - if (getNode() == null) - return 0; - EnergyConverterElnToOtherNode node = (EnergyConverterElnToOtherNode) getNode(); - double pMax = node.getOtherModOutMax(node.descriptor.ic2.outMax, - Other.getElnToIc2ConversionRatio()); - return pMax; - } - - @Optional.Method(modid = Other.modIdIc2) - @Override - public void drawEnergy(double amount) { - if (worldObj.isRemote) - return; - if (getNode() == null) - return; - - EnergyConverterElnToOtherNode node = (EnergyConverterElnToOtherNode) getNode(); - node.drawEnergy(amount, Other.getElnToIc2ConversionRatio()); - } - - @Optional.Method(modid = Other.modIdIc2) - // @Override - public int getSourceTier() { - EnergyConverterElnToOtherNode node = (EnergyConverterElnToOtherNode) getNode(); - if (node == null) return 0; - return node.descriptor.ic2.tier; - } +// // ********************IC2******************** +// +// @Optional.Method(modid = Other.modIdIc2) +// @Override +// public boolean emitsEnergyTo(TileEntity receiver, EnumFacing direction) { +// if (worldObj.isRemote) +// return false; +// SimpleNode n = getNode(); +// if (n == null) +// return false; +// return n.getFront().back() == Direction.fromFacing(direction); +// } +// +// @Optional.Method(modid = Other.modIdIc2) +// @Override +// public double getOfferedEnergy() { +// if (worldObj.isRemote) +// return 0; +// if (getNode() == null) +// return 0; +// EnergyConverterElnToOtherNode node = (EnergyConverterElnToOtherNode) getNode(); +// double pMax = node.getOtherModOutMax(node.descriptor.ic2.outMax, +// Other.getElnToIc2ConversionRatio()); +// return pMax; +// } +// +// @Optional.Method(modid = Other.modIdIc2) +// @Override +// public void drawEnergy(double amount) { +// if (worldObj.isRemote) +// return; +// if (getNode() == null) +// return; +// +// EnergyConverterElnToOtherNode node = (EnergyConverterElnToOtherNode) getNode(); +// node.drawEnergy(amount, Other.getElnToIc2ConversionRatio()); +// } +// +// @Optional.Method(modid = Other.modIdIc2) +// // @Override +// public int getSourceTier() { +// EnergyConverterElnToOtherNode node = (EnergyConverterElnToOtherNode) getNode(); +// if (node == null) return 0; +// return node.descriptor.ic2.tier; +// } // ***************** OC ********************** @@ -146,28 +141,10 @@ public void onDisconnect(Node node) { public void onMessage(Message message) { } - /* - * @Override - * - * @Optional.Method(modid = Other.modIdOc) public Node - * sidedNode(ForgeDirection side) { if(worldObj.isRemote){ if(front.back() - * == Direction.from(side)) return node(); return null; }else{ - * if(getNode().getFront().back() == Direction.from(side)) return node(); - * return null; } } - * - * @Override - * - * @SideOnly(Side.CLIENT) - * - * @Optional.Method(modid = Other.modIdOc) public boolean - * canConnect(ForgeDirection side) { if(front == null) return false; - * if(front.back() == Direction.from(side)) return true; return false; } - */ - // *************** RF ************** @Override @Optional.Method(modid = Other.modIdTe) - public boolean canConnectEnergy(ForgeDirection from) { + public boolean canConnectEnergy(EnumFacing from) { // Utils.println("*****canConnectEnergy*****"); // return true; if (worldObj.isRemote) @@ -175,19 +152,19 @@ public boolean canConnectEnergy(ForgeDirection from) { if (getNode() == null) return false; SimpleNode n = getNode(); - return n.getFront().back() == Direction.from(from); + return n.getFront().back() == Direction.fromFacing(from); } @Override @Optional.Method(modid = Other.modIdTe) - public int receiveEnergy(ForgeDirection from, int maxReceive, boolean simulate) { + public int receiveEnergy(EnumFacing from, int maxReceive, boolean simulate) { // Utils.println("*****receiveEnergy*****"); return 0; } @Override @Optional.Method(modid = Other.modIdTe) - public int extractEnergy(ForgeDirection from, int maxExtract, boolean simulate) { + public int extractEnergy(EnumFacing from, int maxExtract, boolean simulate) { // Utils.println("*****extractEnergy*****"); if (worldObj.isRemote) return 0; @@ -203,25 +180,26 @@ public int extractEnergy(ForgeDirection from, int maxExtract, boolean simulate) @Override @Optional.Method(modid = Other.modIdTe) - public int getEnergyStored(ForgeDirection from) { + public int getEnergyStored(EnumFacing from) { // Utils.println("*****getEnergyStored*****"); return 0; } @Override @Optional.Method(modid = Other.modIdTe) - public int getMaxEnergyStored(ForgeDirection from) { + public int getMaxEnergyStored(EnumFacing from) { // Utils.println("*****getMaxEnergyStored*****"); return 0; } // ***************** Bridges **************** + + @Override - public void updateEntity() { - super.updateEntity(); - if (Other.ic2Loaded) - EnergyConverterElnToOtherFireWallIc2.updateEntity(this); + public void update() { +// if (Other.ic2Loaded) +// EnergyConverterElnToOtherFireWallIc2.updateEntity(this); if (Other.ocLoaded) getOc().updateEntity(); if (Other.teLoaded) diff --git a/src/main/java/mods/eln/simplenode/energyconverter/EnergyConverterElnToOtherFireWallIc2.java b/src/main/java/mods/eln/simplenode/energyconverter/EnergyConverterElnToOtherFireWallIc2.java index 476bc5c1d..f6c10d42d 100644 --- a/src/main/java/mods/eln/simplenode/energyconverter/EnergyConverterElnToOtherFireWallIc2.java +++ b/src/main/java/mods/eln/simplenode/energyconverter/EnergyConverterElnToOtherFireWallIc2.java @@ -1,53 +1,50 @@ package mods.eln.simplenode.energyconverter; -import cpw.mods.fml.common.FMLCommonHandler; -import ic2.api.energy.event.EnergyTileLoadEvent; -import ic2.api.energy.event.EnergyTileUnloadEvent; -import ic2.api.info.Info; +import net.minecraftforge.fml.common.FMLCommonHandler; import net.minecraftforge.common.MinecraftForge; -public class EnergyConverterElnToOtherFireWallIc2 { - - /** - * Forward for the base TileEntity's updateEntity(), used for creating the energy net link. - * Either updateEntity or onLoaded have to be used. - */ - public static void updateEntity(EnergyConverterElnToOtherEntity e) { - if (!e.addedToEnet) onLoaded(e); - } - - /** - * Notification that the base TileEntity finished loading, for advanced uses. - * Either updateEntity or onLoaded have to be used. - */ - public static void onLoaded(EnergyConverterElnToOtherEntity e) { - if (!e.addedToEnet && - !FMLCommonHandler.instance().getEffectiveSide().isClient() && - Info.isIc2Available()) { - - MinecraftForge.EVENT_BUS.post(new EnergyTileLoadEvent(e)); - - e.addedToEnet = true; - } - } - - /** - * Forward for the base TileEntity's invalidate(), used for destroying the energy net link. - * Both invalidate and onChunkUnload have to be used. - */ - public static void invalidate(EnergyConverterElnToOtherEntity e) { - e.onChunkUnload(); - } - - /** - * Forward for the base TileEntity's onChunkUnload(), used for destroying the energy net link. - * Both invalidate and onChunkUnload have to be used. - */ - public static void onChunkUnload(EnergyConverterElnToOtherEntity e) { - if (e.addedToEnet && Info.isIc2Available()) { - MinecraftForge.EVENT_BUS.post(new EnergyTileUnloadEvent(e)); - - e.addedToEnet = false; - } - } -} +//public class EnergyConverterElnToOtherFireWallIc2 { +// +// /** +// * Forward for the base TileEntity's updateEntity(), used for creating the energy net link. +// * Either updateEntity or onLoaded have to be used. +// */ +// public static void updateEntity(EnergyConverterElnToOtherEntity e) { +// if (!e.addedToEnet) onLoaded(e); +// } +// +// /** +// * Notification that the base TileEntity finished loading, for advanced uses. +// * Either updateEntity or onLoaded have to be used. +// */ +// public static void onLoaded(EnergyConverterElnToOtherEntity e) { +// if (!e.addedToEnet && +// !FMLCommonHandler.instance().getEffectiveSide().isClient() && +// Info.isIc2Available()) { +// +// MinecraftForge.EVENT_BUS.post(new EnergyTileLoadEvent(e)); +// +// e.addedToEnet = true; +// } +// } +// +// /** +// * Forward for the base TileEntity's invalidate(), used for destroying the energy net link. +// * Both invalidate and onChunkUnload have to be used. +// */ +// public static void invalidate(EnergyConverterElnToOtherEntity e) { +// e.onChunkUnload(); +// } +// +// /** +// * Forward for the base TileEntity's onChunkUnload(), used for destroying the energy net link. +// * Both invalidate and onChunkUnload have to be used. +// */ +// public static void onChunkUnload(EnergyConverterElnToOtherEntity e) { +// if (e.addedToEnet && Info.isIc2Available()) { +// MinecraftForge.EVENT_BUS.post(new EnergyTileUnloadEvent(e)); +// +// e.addedToEnet = false; +// } +// } +//} diff --git a/src/main/java/mods/eln/simplenode/energyconverter/EnergyConverterElnToOtherFireWallOc.java b/src/main/java/mods/eln/simplenode/energyconverter/EnergyConverterElnToOtherFireWallOc.java index 1b2f7e5bd..50453cfe5 100644 --- a/src/main/java/mods/eln/simplenode/energyconverter/EnergyConverterElnToOtherFireWallOc.java +++ b/src/main/java/mods/eln/simplenode/energyconverter/EnergyConverterElnToOtherFireWallOc.java @@ -44,14 +44,14 @@ public void updateEntity() { } public void onChunkUnload() { - // Make sure to remove the node from its network when its environment, + // Make sure to remove the node fromFacing its network when its environment, // meaning this tile entity, gets unloaded. if (e.getWorldObj().isRemote) return; if (node != null) node.remove(); } public void invalidate() { - // Make sure to remove the node from its network when its environment, + // Make sure to remove the node fromFacing its network when its environment, // meaning this tile entity, gets unloaded. if (e.getWorldObj().isRemote) return; if (node != null) node.remove(); diff --git a/src/main/java/mods/eln/sixnode/AnalogChips.kt b/src/main/java/mods/eln/sixnode/AnalogChips.kt index 2a5a40b59..9a399598d 100644 --- a/src/main/java/mods/eln/sixnode/AnalogChips.kt +++ b/src/main/java/mods/eln/sixnode/AnalogChips.kt @@ -21,7 +21,6 @@ import net.minecraft.entity.player.EntityPlayer import net.minecraft.item.Item import net.minecraft.item.ItemStack import net.minecraft.nbt.NBTTagCompound -import net.minecraftforge.client.IItemRenderer import org.lwjgl.opengl.GL11 import java.io.ByteArrayOutputStream import java.io.DataInputStream @@ -54,25 +53,26 @@ open class AnalogChipDescriptor(name: String, obj: Obj3D?, functionName: String, top?.draw() } - override fun handleRenderType(item: ItemStack?, type: IItemRenderer.ItemRenderType?): Boolean = true - override fun shouldUseRenderHelper(type: IItemRenderer.ItemRenderType?, item: ItemStack?, - helper: IItemRenderer.ItemRendererHelper?): Boolean = - type != IItemRenderer.ItemRenderType.INVENTORY - - override fun shouldUseRenderHelperEln(type: IItemRenderer.ItemRenderType?, item: ItemStack?, - helper: IItemRenderer.ItemRendererHelper?): Boolean = - type != IItemRenderer.ItemRenderType.INVENTORY - - override fun renderItem(type: IItemRenderer.ItemRenderType?, item: ItemStack?, vararg data: Any?) { - if (type == IItemRenderer.ItemRenderType.INVENTORY) { - super.renderItem(type, item, *data) - } else { - GL11.glTranslatef(0.0f, 0.0f, -0.2f) - GL11.glScalef(1.25f, 1.25f, 1.25f) - GL11.glRotatef(-90.0f, 0.0f, 1.0f, 0.0f) - draw() - } - } + // TODO(1.10): Reimplement chip renderings. +// override fun handleRenderType(item: ItemStack?, type: IItemRenderer.ItemRenderType?): Boolean = true +// override fun shouldUseRenderHelper(type: IItemRenderer.ItemRenderType?, item: ItemStack?, +// helper: IItemRenderer.ItemRendererHelper?): Boolean = +// type != IItemRenderer.ItemRenderType.INVENTORY +// +// override fun shouldUseRenderHelperEln(type: IItemRenderer.ItemRenderType?, item: ItemStack?, +// helper: IItemRenderer.ItemRendererHelper?): Boolean = +// type != IItemRenderer.ItemRenderType.INVENTORY +// +// override fun renderItem(type: IItemRenderer.ItemRenderType?, item: ItemStack?, vararg data: Any?) { +// if (type == IItemRenderer.ItemRenderType.INVENTORY) { +// super.renderItem(type, item, *data) +// } else { +// GL11.glTranslatef(0.0f, 0.0f, -0.2f) +// GL11.glScalef(1.25f, 1.25f, 1.25f) +// GL11.glRotatef(-90.0f, 0.0f, 1.0f, 0.0f) +// draw() +// } +// } override fun getFrontFromPlace(side: Direction?, player: EntityPlayer?): LRDU? = super.getFrontFromPlace(side, player).left() @@ -652,7 +652,7 @@ class SummingUnitGui(val render: SummingUnitRender) : GuiScreenEln() { class SampleAndHold : AnalogFunction() { override val hasState = true override val inputCount = 2 - override val infos = I18N.tr("Samples the voltage of a varying analog signal when\nthe clock input changes from 0 to 1 and holds its\noutput voltage at a constant level until next clock pulse.\nYou can see it as an analog D-Flipflop.") + override val infos = I18N.tr("Samples the voltage of a varying analog signal when\nthe clock input changes fromFacing 0 to 1 and holds its\noutput voltage at a constant level until next clock pulse.\nYou can see it as an analog D-Flipflop.") private var clock = false private var value = 0.0 diff --git a/src/main/java/mods/eln/sixnode/ElectricalFuse.kt b/src/main/java/mods/eln/sixnode/ElectricalFuse.kt index 9936963ae..b809f3df1 100644 --- a/src/main/java/mods/eln/sixnode/ElectricalFuse.kt +++ b/src/main/java/mods/eln/sixnode/ElectricalFuse.kt @@ -18,7 +18,6 @@ import net.minecraft.entity.player.EntityPlayer import net.minecraft.item.Item import net.minecraft.item.ItemStack import net.minecraft.nbt.NBTTagCompound -import net.minecraftforge.client.IItemRenderer import org.lwjgl.opengl.GL11 import java.io.DataInputStream import java.io.DataOutputStream @@ -40,23 +39,24 @@ class ElectricalFuseHolderDescriptor(name: String, obj: Obj3D) : Data.addWiring(newItemStack()) } - override fun handleRenderType(item: ItemStack?, type: IItemRenderer.ItemRenderType?) = true - - override fun shouldUseRenderHelper(type: IItemRenderer.ItemRenderType?, item: ItemStack?, - helper: IItemRenderer.ItemRendererHelper?) = - type != IItemRenderer.ItemRenderType.INVENTORY - - override fun shouldUseRenderHelperEln(type: IItemRenderer.ItemRenderType?, item: ItemStack?, - helper: IItemRenderer.ItemRendererHelper?) = - type != IItemRenderer.ItemRenderType.INVENTORY - - override fun renderItem(type: IItemRenderer.ItemRenderType?, item: ItemStack?, vararg data: Any?) { - if (type == IItemRenderer.ItemRenderType.INVENTORY) { - super.renderItem(type, item, *data) - } else { - draw(null) - } - } + // TODO(1.10): Reimplement fuse renderings. +// override fun handleRenderType(item: ItemStack?, type: IItemRenderer.ItemRenderType?) = true +// +// override fun shouldUseRenderHelper(type: IItemRenderer.ItemRenderType?, item: ItemStack?, +// helper: IItemRenderer.ItemRendererHelper?) = +// type != IItemRenderer.ItemRenderType.INVENTORY +// +// override fun shouldUseRenderHelperEln(type: IItemRenderer.ItemRenderType?, item: ItemStack?, +// helper: IItemRenderer.ItemRendererHelper?) = +// type != IItemRenderer.ItemRenderType.INVENTORY +// +// override fun renderItem(type: IItemRenderer.ItemRenderType?, item: ItemStack?, vararg data: Any?) { +// if (type == IItemRenderer.ItemRenderType.INVENTORY) { +// super.renderItem(type, item, *data) +// } else { +// draw(null) +// } +// } fun draw(installedFuse: ElectricalFuseDescriptor?) { case?.draw() @@ -206,7 +206,7 @@ class ElectricalFuseHolderElement(sixNode: SixNode, side: Direction, descriptor: if (onBlockActivatedRotate(entityPlayer)) return true var takenOutFuse: ElectricalFuseDescriptor? = null - val itemStack = entityPlayer?.currentEquippedItem + val itemStack = entityPlayer?.heldItemMainhand val fuseDescriptor = GenericItemUsingDamageDescriptorUpgrade.getDescriptor(itemStack) as? ElectricalFuseDescriptor if (itemStack != null) { if (fuseDescriptor != null && itemStack.stackSize > 0) { diff --git a/src/main/java/mods/eln/sixnode/EmergencyLamp.kt b/src/main/java/mods/eln/sixnode/EmergencyLamp.kt index a86a40680..e5feef252 100644 --- a/src/main/java/mods/eln/sixnode/EmergencyLamp.kt +++ b/src/main/java/mods/eln/sixnode/EmergencyLamp.kt @@ -112,7 +112,7 @@ class EmergencyLampElement(sixNode: SixNode, side: Direction, descriptor: SixNod var closestDistance = 10000f LampSupplyElement.channelMap[channel]?.forEach { - val distance = it.element.sixNode.coordonate.trueDistanceTo(sixNode.coordonate).toFloat() + val distance = it.element.sixNode.coordinate.trueDistanceTo(sixNode.coordinate).toFloat() if (distance < closestDistance && distance <= it.element.range) { closestDistance = distance closestPowerSupply = it diff --git a/src/main/java/mods/eln/sixnode/LogicGate.kt b/src/main/java/mods/eln/sixnode/LogicGate.kt index 10dff9453..64a5a0963 100644 --- a/src/main/java/mods/eln/sixnode/LogicGate.kt +++ b/src/main/java/mods/eln/sixnode/LogicGate.kt @@ -24,7 +24,6 @@ import net.minecraft.entity.player.EntityPlayer import net.minecraft.item.Item import net.minecraft.item.ItemStack import net.minecraft.nbt.NBTTagCompound -import net.minecraftforge.client.IItemRenderer import org.lwjgl.opengl.GL11 import java.io.ByteArrayOutputStream import java.io.DataInputStream @@ -57,25 +56,26 @@ open class LogicGateDescriptor(name: String, obj: Obj3D?, functionName: String, top?.draw() } - override fun handleRenderType(item: ItemStack?, type: IItemRenderer.ItemRenderType?): Boolean = true - override fun shouldUseRenderHelper(type: IItemRenderer.ItemRenderType?, item: ItemStack?, - helper: IItemRenderer.ItemRendererHelper?): Boolean = - type != IItemRenderer.ItemRenderType.INVENTORY - - override fun shouldUseRenderHelperEln(type: IItemRenderer.ItemRenderType?, item: ItemStack?, - helper: IItemRenderer.ItemRendererHelper?): Boolean = - type != IItemRenderer.ItemRenderType.INVENTORY - - override fun renderItem(type: IItemRenderer.ItemRenderType?, item: ItemStack?, vararg data: Any?) { - if (type == IItemRenderer.ItemRenderType.INVENTORY) { - super.renderItem(type, item, *data) - } else { - GL11.glTranslatef(0.0f, 0.0f, -0.2f) - GL11.glScalef(1.25f, 1.25f, 1.25f) - GL11.glRotatef(-90.0f, 0.0f, 1.0f, 0.0f) - draw() - } - } + // TODO(1.10): Reimplement this... +// override fun handleRenderType(item: ItemStack?, type: IItemRenderer.ItemRenderType?): Boolean = true +// override fun shouldUseRenderHelper(type: IItemRenderer.ItemRenderType?, item: ItemStack?, +// helper: IItemRenderer.ItemRendererHelper?): Boolean = +// type != IItemRenderer.ItemRenderType.INVENTORY +// +// override fun shouldUseRenderHelperEln(type: IItemRenderer.ItemRenderType?, item: ItemStack?, +// helper: IItemRenderer.ItemRendererHelper?): Boolean = +// type != IItemRenderer.ItemRenderType.INVENTORY +// +// override fun renderItem(type: IItemRenderer.ItemRenderType?, item: ItemStack?, vararg data: Any?) { +// if (type == IItemRenderer.ItemRenderType.INVENTORY) { +// super.renderItem(type, item, *data) +// } else { +// GL11.glTranslatef(0.0f, 0.0f, -0.2f) +// GL11.glScalef(1.25f, 1.25f, 1.25f) +// GL11.glRotatef(-90.0f, 0.0f, 1.0f, 0.0f) +// draw() +// } +// } override fun getFrontFromPlace(side: Direction?, player: EntityPlayer?): LRDU? = super.getFrontFromPlace(side, player).left() diff --git a/src/main/java/mods/eln/sixnode/Scanner.kt b/src/main/java/mods/eln/sixnode/Scanner.kt index f9e3fec48..4ce74c424 100644 --- a/src/main/java/mods/eln/sixnode/Scanner.kt +++ b/src/main/java/mods/eln/sixnode/Scanner.kt @@ -15,7 +15,7 @@ import net.minecraft.inventory.ISidedInventory import net.minecraft.item.ItemStack import net.minecraft.nbt.NBTTagCompound import net.minecraft.tileentity.TileEntity -import net.minecraftforge.common.util.ForgeDirection +import net.minecraft.util.EnumFacing import net.minecraftforge.fluids.IFluidHandler import java.io.DataInputStream import java.io.DataOutputStream @@ -64,10 +64,10 @@ class ScannerElement(sixNode: SixNode, side: Direction, descriptor: SixNodeDescr val updater = IProcess { val appliedLRDU = side.applyLRDU(front) - val scannedCoord = Coordonate(coordonate).apply { + val scannedCoord = Coordinate(coordonate).apply { move(appliedLRDU) } - val targetSide: ForgeDirection = appliedLRDU.inverse.toForge() + val targetSide: EnumFacing = appliedLRDU.inverse.toForge() val te = scannedCoord.tileEntity // TODO: Throttling. var out: Double? = null @@ -86,54 +86,57 @@ class ScannerElement(sixNode: SixNode, side: Direction, descriptor: SixNodeDescr slowProcessList.add(updater) } - private fun scanBlock(scannedCoord: Coordonate, targetSide: ForgeDirection): Double { - val block = scannedCoord.block - if (block.hasComparatorInputOverride()) { - return block.getComparatorInputOverride(scannedCoord.world(), scannedCoord.x, scannedCoord.y, scannedCoord.z, targetSide.ordinal) / 15.0 - } else if (block.isOpaqueCube) { - return 1.0 - } else if (block.isAir(scannedCoord.world(), scannedCoord.x, scannedCoord.y, scannedCoord.z)) { - return 0.0 - } else { - return 1.0/3.0 + private fun scanBlock(scannedCoord: Coordinate, targetSide: EnumFacing): Double { + val state = scannedCoord.blockState + return when { + state.hasComparatorInputOverride() -> state.getComparatorInputOverride(scannedCoord.world(), scannedCoord.pos) / 15.0 + state.isFullCube -> 1.0 + state.isOpaqueCube -> 0.8 + state.isBlockNormalCube -> 0.6 + state.isNormalCube -> 0.4 + state.isTranslucent -> 0.2 + else -> 0.0 } } - private fun scanTileEntity(te: TileEntity, targetSide: ForgeDirection): Double? { - if (te is IFluidHandler) { - val info = te.getTankInfo(targetSide) - return info.sumByDouble { - (it.fluid?.amount ?: 0).toDouble() / it.capacity - } / info.size - } else if (te is ISidedInventory) { - var sum = 0 - var limit = 0 - val slots = te.getAccessibleSlotsFromSide(targetSide.ordinal) - when (mode) { - ScanMode.SIMPLE -> slots.forEach { + private fun scanTileEntity(te: TileEntity, targetSide: EnumFacing): Double? { + when (te) { + is IFluidHandler -> { + val info = te.getTankInfo(targetSide) + return info.sumByDouble { + (it.fluid?.amount ?: 0).toDouble() / it.capacity + } / info.size + } + is ISidedInventory -> { + var sum = 0 + var limit = 0 + val slots = te.getSlotsForFace(targetSide) + when (mode) { + ScanMode.SIMPLE -> slots.forEach { sum += te.getStackInSlot(it)?.stackSize ?: 0 limit += te.inventoryStackLimit } - ScanMode.SLOTS -> slots.forEach { - sum += if ((te.getStackInSlot(it)?.stackSize ?: 0) > 0) 1 else 0 - limit += 1 + ScanMode.SLOTS -> slots.forEach { + sum += if ((te.getStackInSlot(it)?.stackSize ?: 0) > 0) 1 else 0 + limit += 1 + } } + return sum.toDouble() / limit } - return sum.toDouble() / limit - } else if (te is IInventory) { - val sum = when (mode) { - ScanMode.SIMPLE -> (0..te.sizeInventory - 1).sumBy { - te.getStackInSlot(it)?.stackSize ?: 0 - }.toDouble() - - ScanMode.SLOTS -> (0..te.sizeInventory - 1).count { - (te.getStackInSlot(it)?.stackSize ?: 0) > 0 - }.toDouble() * te.inventoryStackLimit + is IInventory -> { + val sum = when (mode) { + ScanMode.SIMPLE -> (0..te.sizeInventory - 1).sumBy { + te.getStackInSlot(it)?.stackSize ?: 0 + }.toDouble() + + ScanMode.SLOTS -> (0..te.sizeInventory - 1).count { + (te.getStackInSlot(it)?.stackSize ?: 0) > 0 + }.toDouble() * te.inventoryStackLimit + } + return sum / te.inventoryStackLimit / te.sizeInventory } - return sum / te.inventoryStackLimit / te.sizeInventory - } else { - return null + else -> return null } } diff --git a/src/main/java/mods/eln/sixnode/TreeResinCollector/TreeResinCollectorBlock.java b/src/main/java/mods/eln/sixnode/TreeResinCollector/TreeResinCollectorBlock.java index f066a2e96..552ae0828 100644 --- a/src/main/java/mods/eln/sixnode/TreeResinCollector/TreeResinCollectorBlock.java +++ b/src/main/java/mods/eln/sixnode/TreeResinCollector/TreeResinCollectorBlock.java @@ -1,75 +1,61 @@ package mods.eln.sixnode.TreeResinCollector; -import net.minecraft.block.Block; import net.minecraft.block.BlockContainer; import net.minecraft.block.material.Material; +import net.minecraft.block.state.IBlockState; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.AxisAlignedBB; +import net.minecraft.util.EnumFacing; +import net.minecraft.util.EnumHand; +import net.minecraft.util.math.BlockPos; +import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; +import org.jetbrains.annotations.NotNull; + +import javax.annotation.Nullable; public class TreeResinCollectorBlock extends BlockContainer { public TreeResinCollectorBlock(int id) { - super(Material.wood); - setBlockName("TreeResinCollector"); + super(Material.WOOD); + setRegistryName("TreeResinCollector"); } @Override - public boolean isOpaqueCube() { + public boolean isVisuallyOpaque() { return false; } - /** - * Returns a bounding box from the pool of bounding boxes (this means this box can change after the pool has been - * cleared to be reused) - */ - public AxisAlignedBB getCollisionBoundingBoxFromPool(World par1World, int par2, int par3, int par4) { - return null; - } - + @NotNull @Override public TileEntity createNewTileEntity(World world, int a) { return new TreeResinCollectorTileEntity(); } - public boolean canPlaceBlockOnSide(World world, int x, int y, int z, int side) { - //trololol fait chier - /*Side sideCS = FMLCommonHandler.instance().getEffectiveSide(); - if (sideCS == Side.CLIENT) return true; - Direction direction = Direction.fromIntMinecraftSide(side); - if (direction == Direction.YN || direction == Direction.YP) return false; - Coordonate coord = new Coordonate(x, y, z, world); - int blockId = direction.getInverse().getBlockId(coord); +// @Override +// public int onBlockPlaced(World world, int x, int y, int z, int side, float par6, float par7, float par8, int par9) { +// // world.setBlockMetadataWithNotify(x, y, z, side, 0); +// // ((TreeResinCollectorTileEntity)world.getBlockTileEntity(x, y, z)).setWoodDirection(Direction.fromIntMinecraftSide(side)); +// //return super.onBlockPlaced(world, x, y, z, side, par6, par7, par8, +// // par9); +// return side; +// } - Block block = Block.blocksList[blockID]; - if (blockId == Block.wood.blockID) return true; - */ - return true; - } - - @Override - public int onBlockPlaced(World world, int x, int y, int z, int side, float par6, float par7, float par8, int par9) { - // world.setBlockMetadataWithNotify(x, y, z, side, 0); - // ((TreeResinCollectorTileEntity)world.getBlockTileEntity(x, y, z)).setWoodDirection(Direction.fromIntMinecraftSide(side)); - //return super.onBlockPlaced(world, x, y, z, side, par6, par7, par8, - // par9); - return side; - } @Override - public boolean onBlockActivated(World par1World, int x, int y, int z, EntityPlayer par5EntityPlayer, int par6, float par7, float par8, float par9) { - return ((TreeResinCollectorTileEntity) par1World.getTileEntity(x, y, z)).onBlockActivated(); + public boolean onBlockActivated(World worldIn, BlockPos pos, IBlockState state, EntityPlayer playerIn, EnumHand hand, @Nullable ItemStack heldItem, EnumFacing side, float hitX, float hitY, float hitZ) { + return ((TreeResinCollectorTileEntity) worldIn.getTileEntity(pos)).onBlockActivated(); } @Override - public void onNeighborBlockChange(World world, int x, int y, int z, Block b) { - super.onNeighborBlockChange(world, x, y, z, b); - if (!canPlaceBlockOnSide(world, x, y, z, world.getBlockMetadata(x, y, z))) { - //Utils.println("WOOOOOOD down"); - dropBlockAsItem(world, x, y, z, new ItemStack(this)); - world.setBlockToAir(x, y, z); - } + public void onNeighborChange(IBlockAccess world, BlockPos pos, BlockPos neighbor) { + super.onNeighborChange(world, pos, neighbor); + // TODO(1.10): Should implement this. (But it wasn't there in 1.7...) +// if (!canPlaceBlockOnSide(world, x, y, z, world.getBlockMetadata(x, y, z))) { +// //Utils.println("WOOOOOOD down"); +// dropBlockAsItem(world, x, y, z, new ItemStack(this)); +// world.setBlockToAir(x, y, z); +// } } } diff --git a/src/main/java/mods/eln/sixnode/TreeResinCollector/TreeResinCollectorDescriptor.java b/src/main/java/mods/eln/sixnode/TreeResinCollector/TreeResinCollectorDescriptor.java index 3babf720e..12f06a83b 100644 --- a/src/main/java/mods/eln/sixnode/TreeResinCollector/TreeResinCollectorDescriptor.java +++ b/src/main/java/mods/eln/sixnode/TreeResinCollector/TreeResinCollectorDescriptor.java @@ -55,29 +55,30 @@ public void setParent(Item item, int damage) { Data.addMachine(newItemStack()); } - @Override - public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { - return type != ItemRenderType.INVENTORY; - } - - @Override - public boolean handleRenderType(ItemStack item, ItemRenderType type) { - return true; - } - - @Override - public boolean shouldUseRenderHelperEln(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { - return type != ItemRenderType.INVENTORY; - } - - @Override - public void renderItem(ItemRenderType type, ItemStack item, Object... data) { - if (type == ItemRenderType.INVENTORY) { - super.renderItem(type, item, data); - } else { - draw(0.0f); - } - } + // TODO(1.10): Fix item render. +// @Override +// public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { +// return type != ItemRenderType.INVENTORY; +// } +// +// @Override +// public boolean handleRenderType(ItemStack item, ItemRenderType type) { +// return true; +// } +// +// @Override +// public boolean shouldUseRenderHelperEln(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { +// return type != ItemRenderType.INVENTORY; +// } +// +// @Override +// public void renderItem(ItemRenderType type, ItemStack item, Object... data) { +// if (type == ItemRenderType.INVENTORY) { +// super.renderItem(type, item, data); +// } else { +// draw(0.0f); +// } +// } @Override public void addInformation(ItemStack itemStack, EntityPlayer entityPlayer, List list, boolean par4) { @@ -104,7 +105,7 @@ public static boolean isLeaf(Block b) { } @Override - public boolean canBePlacedOnSide(EntityPlayer player, Coordonate c, Direction side) { + public boolean canBePlacedOnSide(EntityPlayer player, Coordinate c, Direction side) { Block b = c.getBlock(); if (!isWood(b) || side.isY()) { Utils.addChatMessage(player, tr("This block can only be placed on the side of a tree!")); diff --git a/src/main/java/mods/eln/sixnode/TreeResinCollector/TreeResinCollectorElement.java b/src/main/java/mods/eln/sixnode/TreeResinCollector/TreeResinCollectorElement.java index 43dddc1f9..ba78dc6de 100644 --- a/src/main/java/mods/eln/sixnode/TreeResinCollector/TreeResinCollectorElement.java +++ b/src/main/java/mods/eln/sixnode/TreeResinCollector/TreeResinCollectorElement.java @@ -1,7 +1,7 @@ package mods.eln.sixnode.TreeResinCollector; import mods.eln.Eln; -import mods.eln.misc.Coordonate; +import mods.eln.misc.Coordinate; import mods.eln.misc.Direction; import mods.eln.misc.LRDU; import mods.eln.misc.Utils; @@ -66,7 +66,7 @@ public void initialize() { } double getProductPerSecond() { - Coordonate coord = sixNode.coordonate; + Coordinate coord = sixNode.coordinate; World worldObj = coord.world(); int[] posWood = new int[3]; int[] posCollector = new int[3]; @@ -96,12 +96,12 @@ public void initialize() { yEnd = posWood[1]; int collectiorCount = 0; - Coordonate coordTemp = new Coordonate(posCollector[0], 0, posCollector[2], worldObj); + Coordinate coordTemp = new Coordinate(posCollector[0], 0, posCollector[2], worldObj); posCollector[1] = yStart; for (posCollector[1] = yStart; posCollector[1] <= yEnd; posCollector[1]++) { coordTemp.y = posCollector[1]; // if(worldObj.getBlockId(posCollector[0],posCollector[1]+1,posCollector[2]) == Eln.treeResinCollectorBlock.blockID) - NodeBase node = NodeManager.instance.getNodeFromCoordonate(coordTemp); + NodeBase node = NodeManager.instance.getNodeFromCoordinate(coordTemp); if (node instanceof SixNode) { SixNode six = (SixNode) node; if (six.getElement(side) != null && six.getElement(side) instanceof TreeResinCollectorElement) { @@ -176,7 +176,7 @@ public void process(double time) { public void networkSerialize(DataOutputStream stream) { super.networkSerialize(stream); try { - if (getCoordonate().getBlockExist()) + if (getCoordonate().doesBlockExist()) stream.writeFloat((float) getProduct(getProductPerSecond())); else stream.writeFloat(0); diff --git a/src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerDescriptor.java b/src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerDescriptor.java index 39c240217..1309dc345 100644 --- a/src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerDescriptor.java +++ b/src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerDescriptor.java @@ -78,25 +78,24 @@ public void draw(boolean[] presence, boolean[] charged) { } } - @Override - public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { - return type != ItemRenderType.INVENTORY; - } - - @Override - public boolean handleRenderType(ItemStack item, ItemRenderType type) { - return true; - } - - //boolean[] defaultCharged = new boolean[]{true, true, true, true}; - - @Override - public void renderItem(ItemRenderType type, ItemStack item, Object... data) { - if (type == ItemRenderType.INVENTORY) { - super.renderItem(type, item, data); - } - draw(null, null); - } + // TODO(1.10): Fix item render. +// @Override +// public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { +// return type != ItemRenderType.INVENTORY; +// } +// +// @Override +// public boolean handleRenderType(ItemStack item, ItemRenderType type) { +// return true; +// } +// +// @Override +// public void renderItem(ItemRenderType type, ItemStack item, Object... data) { +// if (type == ItemRenderType.INVENTORY) { +// super.renderItem(type, item, data); +// } +// draw(null, null); +// } public void applyTo(NbtElectricalLoad powerLoad) { cable.applyTo(powerLoad); diff --git a/src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerRender.java b/src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerRender.java index 1d4ab999f..b673fa965 100644 --- a/src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerRender.java +++ b/src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerRender.java @@ -1,7 +1,7 @@ package mods.eln.sixnode.batterycharger; import mods.eln.cable.CableRenderDescriptor; -import mods.eln.misc.Coordonate; +import mods.eln.misc.Coordinate; import mods.eln.misc.Direction; import mods.eln.misc.LRDU; import mods.eln.misc.Utils; @@ -23,7 +23,7 @@ public class BatteryChargerRender extends SixNodeElementRender { BatteryChargerDescriptor descriptor; - Coordonate coord; + Coordinate coord; boolean[] charged = new boolean[]{false, false, false, false}; boolean[] batteryPresence = new boolean[]{false, false, false, false}; @@ -37,7 +37,7 @@ public BatteryChargerRender(SixNodeEntity tileEntity, Direction side, SixNodeDes super(tileEntity, side, descriptor); this.descriptor = (BatteryChargerDescriptor) descriptor; - coord = new Coordonate(tileEntity); + coord = new Coordinate(tileEntity); } @Override diff --git a/src/main/java/mods/eln/sixnode/diode/DiodeDescriptor.java b/src/main/java/mods/eln/sixnode/diode/DiodeDescriptor.java index a681a5e7e..a012319e4 100644 --- a/src/main/java/mods/eln/sixnode/diode/DiodeDescriptor.java +++ b/src/main/java/mods/eln/sixnode/diode/DiodeDescriptor.java @@ -70,32 +70,33 @@ public void setParent(Item item, int damage) { Data.addEnergy(newItemStack()); } - @Override - public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { - return type != ItemRenderType.INVENTORY; - } - - @Override - public boolean handleRenderType(ItemStack item, ItemRenderType type) { - return true; - } - - @Override - public boolean shouldUseRenderHelperEln(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { - return type != ItemRenderType.INVENTORY; - } - - @Override - public void renderItem(ItemRenderType type, ItemStack item, Object... data) { - if (type == ItemRenderType.INVENTORY) { - super.renderItem(type, item, data); - } else { - GL11.glTranslatef(0.0f, 0.0f, -0.2f); - GL11.glScalef(1.25f, 1.25f, 1.25f); - GL11.glRotatef(-90.f, 0.f, 1.f, 0.f); - draw(); - } - } + // TODO(1.10): Fix item render. +// @Override +// public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { +// return type != ItemRenderType.INVENTORY; +// } +// +// @Override +// public boolean handleRenderType(ItemStack item, ItemRenderType type) { +// return true; +// } +// +// @Override +// public boolean shouldUseRenderHelperEln(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { +// return type != ItemRenderType.INVENTORY; +// } +// +// @Override +// public void renderItem(ItemRenderType type, ItemStack item, Object... data) { +// if (type == ItemRenderType.INVENTORY) { +// super.renderItem(type, item, data); +// } else { +// GL11.glTranslatef(0.0f, 0.0f, -0.2f); +// GL11.glScalef(1.25f, 1.25f, 1.25f); +// GL11.glRotatef(-90.f, 0.f, 1.f, 0.f); +// draw(); +// } +// } /* public void applyTo(DiodeProcess diode) { diode.IfU = IfU; diff --git a/src/main/java/mods/eln/sixnode/electricalalarm/ElectricalAlarmDescriptor.java b/src/main/java/mods/eln/sixnode/electricalalarm/ElectricalAlarmDescriptor.java index e652d4dfb..f3e076873 100644 --- a/src/main/java/mods/eln/sixnode/electricalalarm/ElectricalAlarmDescriptor.java +++ b/src/main/java/mods/eln/sixnode/electricalalarm/ElectricalAlarmDescriptor.java @@ -78,28 +78,29 @@ void draw(boolean warm, float rotAlpha) { } } - @Override - public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { - return type != ItemRenderType.INVENTORY; - } - - @Override - public boolean shouldUseRenderHelperEln(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { - return type != ItemRenderType.INVENTORY; - } - - @Override - public boolean handleRenderType(ItemStack item, ItemRenderType type) { - return true; - } - - @Override - public void renderItem(ItemRenderType type, ItemStack item, Object... data) { - if (type == ItemRenderType.INVENTORY) { - super.renderItem(type, item, data); - } - draw(true, 0.0f); - } + // TODO(1.10): Fix item render. +// @Override +// public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { +// return type != ItemRenderType.INVENTORY; +// } +// +// @Override +// public boolean shouldUseRenderHelperEln(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { +// return type != ItemRenderType.INVENTORY; +// } +// +// @Override +// public boolean handleRenderType(ItemStack item, ItemRenderType type) { +// return true; +// } +// +// @Override +// public void renderItem(ItemRenderType type, ItemStack item, Object... data) { +// if (type == ItemRenderType.INVENTORY) { +// super.renderItem(type, item, data); +// } +// draw(true, 0.0f); +// } @Override public void addInformation(ItemStack itemStack, EntityPlayer entityPlayer, List list, boolean par4) { diff --git a/src/main/java/mods/eln/sixnode/electricalalarm/ElectricalAlarmSlowProcess.java b/src/main/java/mods/eln/sixnode/electricalalarm/ElectricalAlarmSlowProcess.java index 45eba4f39..face15cd4 100644 --- a/src/main/java/mods/eln/sixnode/electricalalarm/ElectricalAlarmSlowProcess.java +++ b/src/main/java/mods/eln/sixnode/electricalalarm/ElectricalAlarmSlowProcess.java @@ -1,7 +1,7 @@ package mods.eln.sixnode.electricalalarm; import mods.eln.Eln; -import mods.eln.misc.Coordonate; +import mods.eln.misc.Coordinate; import mods.eln.misc.Utils; import mods.eln.sim.IProcess; import mods.eln.sound.SoundCommand; @@ -31,7 +31,7 @@ public void process(double time) { if (warm & !element.mute) { if (soundTimeTimeout == 0) { float speed = 1f; - Coordonate coord = element.sixNode.coordonate; + Coordinate coord = element.sixNode.coordinate; element.play(new SoundCommand(element.descriptor.soundName).mulVolume(1F, 1.0F).longRange().addUuid(soundUuid)); soundTimeTimeout = element.descriptor.soundTime; } diff --git a/src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerDescriptor.java b/src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerDescriptor.java index 72dd45f90..bedb3e038 100644 --- a/src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerDescriptor.java +++ b/src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerDescriptor.java @@ -48,28 +48,29 @@ public void setParent(Item item, int damage) { Data.addWiring(newItemStack()); } - @Override - public boolean handleRenderType(ItemStack item, ItemRenderType type) { - return true; - } - - @Override - public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { - return type != ItemRenderType.INVENTORY; - } - - @Override - public boolean shouldUseRenderHelperEln(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { - return type != ItemRenderType.INVENTORY; - } - - @Override - public void renderItem(ItemRenderType type, ItemStack item, Object... data) { - if (type == ItemRenderType.INVENTORY) /*GL11.glScalef(1.8f, 1.8f, 1.8f);*/ { - super.renderItem(type, item, data); - } else - draw(0f, 0f); - } + // TODO(1.10): Fix item render. +// @Override +// public boolean handleRenderType(ItemStack item, ItemRenderType type) { +// return true; +// } +// +// @Override +// public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { +// return type != ItemRenderType.INVENTORY; +// } +// +// @Override +// public boolean shouldUseRenderHelperEln(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { +// return type != ItemRenderType.INVENTORY; +// } +// +// @Override +// public void renderItem(ItemRenderType type, ItemStack item, Object... data) { +// if (type == ItemRenderType.INVENTORY) /*GL11.glScalef(1.8f, 1.8f, 1.8f);*/ { +// super.renderItem(type, item, data); +// } else +// draw(0f, 0f); +// } public void draw(float on, float distance) { if (main != null) main.draw(); diff --git a/src/main/java/mods/eln/sixnode/electricalcable/ElectricalCableElement.java b/src/main/java/mods/eln/sixnode/electricalcable/ElectricalCableElement.java index 0ac8024e6..7ab99d146 100644 --- a/src/main/java/mods/eln/sixnode/electricalcable/ElectricalCableElement.java +++ b/src/main/java/mods/eln/sixnode/electricalcable/ElectricalCableElement.java @@ -158,7 +158,7 @@ public void initialize() { @Override public boolean onBlockActivated(EntityPlayer entityPlayer, Direction side, float vx, float vy, float vz) { - /* World w = sixNode.coordonate.world(); + /* World w = sixNode.coordinate.world(); boolean exist = w.blockExists(10000, 0, 0); int id = w.getBlockId(10000, 0, 0);*/ ItemStack currentItemStack = entityPlayer.getCurrentEquippedItem(); diff --git a/src/main/java/mods/eln/sixnode/electricaldatalogger/DataLogsPrintDescriptor.java b/src/main/java/mods/eln/sixnode/electricaldatalogger/DataLogsPrintDescriptor.java index 275ddcc69..d5cbe33f6 100644 --- a/src/main/java/mods/eln/sixnode/electricaldatalogger/DataLogsPrintDescriptor.java +++ b/src/main/java/mods/eln/sixnode/electricaldatalogger/DataLogsPrintDescriptor.java @@ -3,9 +3,6 @@ import mods.eln.generic.GenericItemUsingDamageDescriptor; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; -import net.minecraftforge.client.IItemRenderer.ItemRenderType; -import net.minecraftforge.client.IItemRenderer.ItemRendererHelper; -import org.lwjgl.opengl.GL11; public class DataLogsPrintDescriptor extends GenericItemUsingDamageDescriptor { @@ -19,35 +16,36 @@ public void initializeStack(ItemStack stack, DataLogs logs) { stack.setTagCompound(nbt); } - @Override - public boolean handleRenderType(ItemStack item, ItemRenderType type) { - return true; - } - - @Override - public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { - return true; - } - - @Override - public void renderItem(ItemRenderType type, ItemStack item, Object... data) { - NBTTagCompound nbt = item.getTagCompound(); - //byte [] logsArray = nbt.getByteArray("logs"); - //if(logsArray != null) { - - GL11.glLineWidth(1f); - GL11.glColor4f(1f, 0f, 0f, 1f); - GL11.glDisable(GL11.GL_LIGHTING); - GL11.glPushMatrix(); - - // GL11.glScalef(1f, -1f, 1f); - // GL11.glTranslatef(0.f, -0.5f, 0.5f); - //GL11.glRotatef(90, 0f, 1f, 0f); - GL11.glTranslatef(-0.5f, -0.5f, 0.1f); - DataLogs.draw(nbt, 1f, 1f, ""); - // DataLogs.draw(logsArray, logsArray.length); - GL11.glPopMatrix(); - GL11.glEnable(GL11.GL_LIGHTING); - //} - } + // TODO(1.10): Fix item rendering. +// @Override +// public boolean handleRenderType(ItemStack item, ItemRenderType type) { +// return true; +// } +// +// @Override +// public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { +// return true; +// } +// +// @Override +// public void renderItem(ItemRenderType type, ItemStack item, Object... data) { +// NBTTagCompound nbt = item.getTagCompound(); +// //byte [] logsArray = nbt.getByteArray("logs"); +// //if(logsArray != null) { +// +// GL11.glLineWidth(1f); +// GL11.glColor4f(1f, 0f, 0f, 1f); +// GL11.glDisable(GL11.GL_LIGHTING); +// GL11.glPushMatrix(); +// +// // GL11.glScalef(1f, -1f, 1f); +// // GL11.glTranslatef(0.f, -0.5f, 0.5f); +// //GL11.glRotatef(90, 0f, 1f, 0f); +// GL11.glTranslatef(-0.5f, -0.5f, 0.1f); +// DataLogs.draw(nbt, 1f, 1f, ""); +// // DataLogs.draw(logsArray, logsArray.length); +// GL11.glPopMatrix(); +// GL11.glEnable(GL11.GL_LIGHTING); +// //} +// } } diff --git a/src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerDescriptor.java b/src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerDescriptor.java index 47561d804..fe53823f9 100644 --- a/src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerDescriptor.java +++ b/src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerDescriptor.java @@ -117,29 +117,30 @@ public boolean hasVolume() { return onFloor; } - @Override - public boolean handleRenderType(ItemStack item, ItemRenderType type) { - return true; - } - - @Override - public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { - return type != ItemRenderType.INVENTORY; - } - - @Override - public boolean shouldUseRenderHelperEln(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { - return type != ItemRenderType.INVENTORY; - } - - @Override - public void renderItem(ItemRenderType type, ItemStack item, Object... data) { - if (type == ItemRenderType.INVENTORY) { - super.renderItem(type, item, data); - } else { - if (main != null) main.draw(); - } - } + // TODO(1.10): Fix item render. +// @Override +// public boolean handleRenderType(ItemStack item, ItemRenderType type) { +// return true; +// } +// +// @Override +// public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { +// return type != ItemRenderType.INVENTORY; +// } +// +// @Override +// public boolean shouldUseRenderHelperEln(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { +// return type != ItemRenderType.INVENTORY; +// } +// +// @Override +// public void renderItem(ItemRenderType type, ItemStack item, Object... data) { +// if (type == ItemRenderType.INVENTORY) { +// super.renderItem(type, item, data); +// } else { +// if (main != null) main.draw(); +// } +// } @Override public void addInformation(ItemStack itemStack, EntityPlayer entityPlayer, List list, boolean par4) { diff --git a/src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorDescriptor.java b/src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorDescriptor.java index e6d4329b7..9ff0eaefe 100644 --- a/src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorDescriptor.java +++ b/src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorDescriptor.java @@ -63,30 +63,31 @@ public void addInformation(ItemStack itemStack, EntityPlayer entityPlayer, List list.add(tr("Range: %1$ blocks", (int) maxRange)); } - @Override - public boolean handleRenderType(ItemStack item, ItemRenderType type) { - return true; - } - - @Override - public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { - return type != ItemRenderType.INVENTORY; - } - - @Override - public boolean shouldUseRenderHelperEln(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { - return type != ItemRenderType.INVENTORY; - } - - @Override - public void renderItem(ItemRenderType type, ItemStack item, Object... data) { - if (type == ItemRenderType.INVENTORY) { - super.renderItem(type, item, data); - } else { - GL11.glScalef(2f, 2f, 2f); - draw(false, null); - } - } + // TODO(1.10): Fix item render. +// @Override +// public boolean handleRenderType(ItemStack item, ItemRenderType type) { +// return true; +// } +// +// @Override +// public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { +// return type != ItemRenderType.INVENTORY; +// } +// +// @Override +// public boolean shouldUseRenderHelperEln(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { +// return type != ItemRenderType.INVENTORY; +// } +// +// @Override +// public void renderItem(ItemRenderType type, ItemStack item, Object... data) { +// if (type == ItemRenderType.INVENTORY) { +// super.renderItem(type, item, data); +// } else { +// GL11.glScalef(2f, 2f, 2f); +// draw(false, null); +// } +// } @Override public LRDU getFrontFromPlace(Direction side, EntityPlayer player) { diff --git a/src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorSlowProcess.java b/src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorSlowProcess.java index 0c9004b80..761c432fd 100644 --- a/src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorSlowProcess.java +++ b/src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorSlowProcess.java @@ -2,7 +2,7 @@ import mods.eln.generic.GenericItemUsingDamageDescriptor; import mods.eln.item.EntitySensorFilterDescriptor; -import mods.eln.misc.Coordonate; +import mods.eln.misc.Coordinate; import mods.eln.misc.INBTTReady; import mods.eln.misc.RcInterpolator; import mods.eln.misc.Utils; @@ -13,29 +13,28 @@ import net.minecraft.entity.player.EntityPlayerMP; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.util.AxisAlignedBB; -import net.minecraft.util.Vec3; +import net.minecraft.util.math.AxisAlignedBB; +import net.minecraft.util.math.Vec3d; import net.minecraft.world.World; import java.util.HashMap; import java.util.List; public class ElectricalEntitySensorSlowProcess implements IProcess, INBTTReady { + private ElectricalEntitySensorElement element; - ElectricalEntitySensorElement element; + private double timeCounter = 0; + private static final double refreshPeriode = 0.2; - double timeCounter = 0; - static final double refreshPeriode = 0.2; + private RcInterpolator rc1 = new RcInterpolator(0.4f); + private RcInterpolator rc2 = new RcInterpolator(0.4f); - RcInterpolator rc1 = new RcInterpolator(0.4f); - RcInterpolator rc2 = new RcInterpolator(0.4f); - - boolean oldState = false; + private boolean oldState = false; boolean state = false; - HashMap lastEPos = new HashMap(); + HashMap lastEPos = new HashMap(); - public ElectricalEntitySensorSlowProcess(ElectricalEntitySensorElement element) { + ElectricalEntitySensorSlowProcess(ElectricalEntitySensorElement element) { this.element = element; } @@ -47,7 +46,7 @@ public void process(double time) { timeCounter -= refreshPeriode; boolean useSpeed = element.descriptor.useEntitySpeed; double speedFactor = element.descriptor.speedFactor; - Coordonate coord = element.sixNode.coordonate; + Coordinate coord = element.sixNode.coordinate; ItemStack filterStack = element.getInventory().getStackInSlot(ElectricalEntitySensorContainer.filterId); Class filterClass = EntityLivingBase.class; @@ -68,7 +67,7 @@ public void process(double time) { for (Object o : list) { Entity e = (Entity) o; - Vec3 lastPos; + Vec3d lastPos; if ((lastPos = lastEPos.get(e)) != null) { double weight = 0.4; List blockList = Utils.traceRay(world, coord.x + 0.5, coord.y + 0.5, coord.z + 0.5, e.posX, e.posY + e.getEyeHeight(), e.posZ); @@ -97,7 +96,7 @@ public void process(double time) { } } output = Math.min(1, output); - lastEPos.put(e, Vec3.createVectorHelper(e.posX, e.posY, e.posZ)); + lastEPos.put(e, new Vec3d(e.posX, e.posY, e.posZ)); } //Utils.println(output); rc1.setTarget((float) output); diff --git a/src/main/java/mods/eln/sixnode/electricalfiredetector/ElectricalFireDetectorDescriptor.java b/src/main/java/mods/eln/sixnode/electricalfiredetector/ElectricalFireDetectorDescriptor.java index ca9001e26..41971dc49 100644 --- a/src/main/java/mods/eln/sixnode/electricalfiredetector/ElectricalFireDetectorDescriptor.java +++ b/src/main/java/mods/eln/sixnode/electricalfiredetector/ElectricalFireDetectorDescriptor.java @@ -72,30 +72,31 @@ public void addInformation(ItemStack itemStack, EntityPlayer entityPlayer, List list.add(tr("Range: %1$ blocks", (int) maxRange)); } - @Override - public boolean handleRenderType(ItemStack item, ItemRenderType type) { - return true; - } - - @Override - public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { - return type != ItemRenderType.INVENTORY; - } - - @Override - public boolean shouldUseRenderHelperEln(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { - return type != ItemRenderType.INVENTORY; - } - - @Override - public void renderItem(ItemRenderType type, ItemStack item, Object... data) { - if (type == ItemRenderType.INVENTORY) { - super.renderItem(type, item, data); - } else { - GL11.glScalef(2f, 2f, 2f); - draw(false); - } - } + // TODO(1.10): Fix item render. +// @Override +// public boolean handleRenderType(ItemStack item, ItemRenderType type) { +// return true; +// } +// +// @Override +// public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { +// return type != ItemRenderType.INVENTORY; +// } +// +// @Override +// public boolean shouldUseRenderHelperEln(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { +// return type != ItemRenderType.INVENTORY; +// } +// +// @Override +// public void renderItem(ItemRenderType type, ItemStack item, Object... data) { +// if (type == ItemRenderType.INVENTORY) { +// super.renderItem(type, item, data); +// } else { +// GL11.glScalef(2f, 2f, 2f); +// draw(false); +// } +// } @Override public LRDU getFrontFromPlace(Direction side, EntityPlayer player) { diff --git a/src/main/java/mods/eln/sixnode/electricalfiredetector/ElectricalFireDetectorRender.kt b/src/main/java/mods/eln/sixnode/electricalfiredetector/ElectricalFireDetectorRender.kt index bb120978d..15c978e59 100644 --- a/src/main/java/mods/eln/sixnode/electricalfiredetector/ElectricalFireDetectorRender.kt +++ b/src/main/java/mods/eln/sixnode/electricalfiredetector/ElectricalFireDetectorRender.kt @@ -1,7 +1,7 @@ package mods.eln.sixnode.electricalfiredetector import mods.eln.Eln -import mods.eln.misc.Coordonate +import mods.eln.misc.Coordinate import mods.eln.misc.Direction import mods.eln.misc.LRDU import mods.eln.node.six.SixNodeDescriptor @@ -28,7 +28,7 @@ class ElectricalFireDetectorRender(tileEntity: SixNodeEntity, side: Direction, d if (this.descriptor.batteryPowered) { inventory = SixNodeElementInventory(1, 64, this) addLoopedSound(object : LoopedSound("eln:FireAlarm", - Coordonate(tileEntity.xCoord, tileEntity.yCoord, tileEntity.zCoord, tileEntity.worldObj), + Coordinate(tileEntity), ISound.AttenuationType.LINEAR) { override fun getVolume() = if (firePresent) 1f else 0f }) diff --git a/src/main/java/mods/eln/sixnode/electricalfiredetector/ElectricalFireDetectorSlowProcess.java b/src/main/java/mods/eln/sixnode/electricalfiredetector/ElectricalFireDetectorSlowProcess.java index e61e8bc98..863476b3d 100644 --- a/src/main/java/mods/eln/sixnode/electricalfiredetector/ElectricalFireDetectorSlowProcess.java +++ b/src/main/java/mods/eln/sixnode/electricalfiredetector/ElectricalFireDetectorSlowProcess.java @@ -1,7 +1,7 @@ package mods.eln.sixnode.electricalfiredetector; import mods.eln.item.electricalitem.BatteryItem; -import mods.eln.misc.Coordonate; +import mods.eln.misc.Coordinate; import mods.eln.misc.RcInterpolator; import mods.eln.misc.Utils; import mods.eln.sim.IProcess; @@ -65,7 +65,7 @@ public void process(double time) { boolean fireDetected = false; int maxRangeHalf = ((int) element.descriptor.maxRange - 1) / 2; - Coordonate detectionBBCenter = new Coordonate(); + Coordinate detectionBBCenter = new Coordinate(); detectionBBCenter.copyFrom(element.getCoordonate()); switch (element.side) { case XP: @@ -101,7 +101,7 @@ public void process(double time) { if (block.getClass() == BlockFire.class) { fireDetected = true; - Coordonate coord = element.getCoordonate(); + Coordinate coord = element.getCoordonate(); List blockList = Utils.traceRay(coord.world(), coord.x + 0.5, coord.y + 0.5, coord.z + 0.5, detectionBBCenter.x + dx + 0.5, detectionBBCenter.y + dy + 0.5, detectionBBCenter.z + dz + 0.5); diff --git a/src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceDescriptor.java b/src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceDescriptor.java index 9b1a43587..bd479eb8b 100644 --- a/src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceDescriptor.java +++ b/src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceDescriptor.java @@ -57,31 +57,32 @@ public void setParent(Item item, int damage) { Data.addSignal(newItemStack()); } - @Override - public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { - return type != ItemRenderType.INVENTORY; - } - - @Override - public boolean handleRenderType(ItemStack item, ItemRenderType type) { - return true; - } - - @Override - public boolean shouldUseRenderHelperEln(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { - return type != ItemRenderType.INVENTORY; - } - - @Override - public void renderItem(ItemRenderType type, ItemStack item, Object... data) { - if (type != ItemRenderType.INVENTORY) { - GL11.glScalef(1.5f, 1.5f, 1.5f); - //if (type == ItemRenderType.INVENTORY) GL11.glScalef(1.5f, 1.5f, 1.5f); - draw(0f, 1f, null); - } else { - super.renderItem(type, item, data); - } - } + // TODO(1.10): Item rendering. +// @Override +// public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { +// return type != ItemRenderType.INVENTORY; +// } +// +// @Override +// public boolean handleRenderType(ItemStack item, ItemRenderType type) { +// return true; +// } +// +// @Override +// public boolean shouldUseRenderHelperEln(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { +// return type != ItemRenderType.INVENTORY; +// } +// +// @Override +// public void renderItem(ItemRenderType type, ItemStack item, Object... data) { +// if (type != ItemRenderType.INVENTORY) { +// GL11.glScalef(1.5f, 1.5f, 1.5f); +// //if (type == ItemRenderType.INVENTORY) GL11.glScalef(1.5f, 1.5f, 1.5f); +// draw(0f, 1f, null); +// } else { +// super.renderItem(type, item, data); +// } +// } @Override public LRDU getFrontFromPlace(Direction side, EntityPlayer player) { diff --git a/src/main/java/mods/eln/sixnode/electricallightsensor/ElectricalLightSensorDescriptor.java b/src/main/java/mods/eln/sixnode/electricallightsensor/ElectricalLightSensorDescriptor.java index 461507d06..c7db0e057 100644 --- a/src/main/java/mods/eln/sixnode/electricallightsensor/ElectricalLightSensorDescriptor.java +++ b/src/main/java/mods/eln/sixnode/electricallightsensor/ElectricalLightSensorDescriptor.java @@ -57,30 +57,31 @@ public void addInformation(ItemStack itemStack, EntityPlayer entityPlayer, List } } - @Override - public boolean handleRenderType(ItemStack item, ItemRenderType type) { - return true; - } - - @Override - public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { - return type != ItemRenderType.INVENTORY; - } - - @Override - public boolean shouldUseRenderHelperEln(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { - return type != ItemRenderType.INVENTORY; - } - - @Override - public void renderItem(ItemRenderType type, ItemStack item, Object... data) { - if (type == ItemRenderType.INVENTORY) { - super.renderItem(type, item, data); - } else { - GL11.glScalef(2f, 2f, 2f); - draw(); - } - } + // TODO(1.10): Fix item render. +// @Override +// public boolean handleRenderType(ItemStack item, ItemRenderType type) { +// return true; +// } +// +// @Override +// public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { +// return type != ItemRenderType.INVENTORY; +// } +// +// @Override +// public boolean shouldUseRenderHelperEln(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { +// return type != ItemRenderType.INVENTORY; +// } +// +// @Override +// public void renderItem(ItemRenderType type, ItemStack item, Object... data) { +// if (type == ItemRenderType.INVENTORY) { +// super.renderItem(type, item, data); +// } else { +// GL11.glScalef(2f, 2f, 2f); +// draw(); +// } +// } @Override public LRDU getFrontFromPlace(Direction side, EntityPlayer player) { diff --git a/src/main/java/mods/eln/sixnode/electricallightsensor/ElectricalLightSensorSlowProcess.java b/src/main/java/mods/eln/sixnode/electricallightsensor/ElectricalLightSensorSlowProcess.java index d62e306fa..7d7b780fb 100644 --- a/src/main/java/mods/eln/sixnode/electricallightsensor/ElectricalLightSensorSlowProcess.java +++ b/src/main/java/mods/eln/sixnode/electricallightsensor/ElectricalLightSensorSlowProcess.java @@ -1,9 +1,9 @@ package mods.eln.sixnode.electricallightsensor; -import mods.eln.misc.Coordonate; +import mods.eln.misc.Coordinate; import mods.eln.misc.Utils; import mods.eln.sim.IProcess; -import net.minecraft.util.MathHelper; +import net.minecraft.util.math.MathHelper; import net.minecraft.world.EnumSkyBlock; import net.minecraft.world.World; @@ -26,14 +26,14 @@ public void process(double time) { if (timeCounter > refreshPeriode) { timeCounter -= refreshPeriode; - if (!element.sixNode.coordonate.getBlockExist()) return; - Coordonate coord = element.sixNode.coordonate; + if (!element.sixNode.coordinate.doesBlockExist()) return; + Coordinate coord = element.sixNode.coordinate; //int light = coord.world().getSavedLightValue(EnumSkyBlock.Sky, coord.x, coord.y, coord.z) - coord.world().skylightSubtracted; // Utils.println("Light : " + light); World world = coord.world(); //if(element.descriptor.dayLightOnly) { - if (!world.provider.hasNoSky) { - int i1 = world.getSavedLightValue(EnumSkyBlock.Sky, coord.x, coord.y, coord.z) - world.skylightSubtracted; + if (!world.provider.getHasNoSky()) { + int i1 = Utils.getLight(world, EnumSkyBlock.SKY, coord.pos) - world.getSkylightSubtracted(); i1 = Math.max(0, i1); float f = world.getCelestialAngleRadians(1.0F); @@ -59,7 +59,7 @@ public void process(double time) { if (!element.descriptor.dayLightOnly) { // light = Math.max(light, (int)(world.getBlockLightValue(coord.x, coord.y, coord.z))); //light = 0; - light = Math.max(light, Utils.getLight(world, EnumSkyBlock.Block, coord.x, coord.y, coord.z)); + light = Math.max(light, Utils.getLight(world, EnumSkyBlock.BLOCK, coord.pos)); } element.outputGateProcess.setOutputNormalized(light / 15.0); } diff --git a/src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathDescriptor.java b/src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathDescriptor.java index 6f3875255..4b9f49c18 100644 --- a/src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathDescriptor.java +++ b/src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathDescriptor.java @@ -75,31 +75,32 @@ void draw(float open, boolean ledOn[]) { } } - @Override - public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { - return type != ItemRenderType.INVENTORY; - } - - @Override - public boolean handleRenderType(ItemStack item, ItemRenderType type) { - return true; - } - - @Override - public boolean shouldUseRenderHelperEln(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { - return type != ItemRenderType.INVENTORY; - } - - @Override - public void renderItem(ItemRenderType type, ItemStack item, Object... data) { - if (type == ItemRenderType.INVENTORY) { - super.renderItem(type, item, data); - } else { - GL11.glTranslatef(-0.3f, -0.1f, 0f); - GL11.glRotatef(90, 1, 0, 0); - draw(0.7f, ledDefault); - } - } + // TODO(1.10): Fix item render. +// @Override +// public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { +// return type != ItemRenderType.INVENTORY; +// } +// +// @Override +// public boolean handleRenderType(ItemStack item, ItemRenderType type) { +// return true; +// } +// +// @Override +// public boolean shouldUseRenderHelperEln(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { +// return type != ItemRenderType.INVENTORY; +// } +// +// @Override +// public void renderItem(ItemRenderType type, ItemStack item, Object... data) { +// if (type == ItemRenderType.INVENTORY) { +// super.renderItem(type, item, data); +// } else { +// GL11.glTranslatef(-0.3f, -0.1f, 0f); +// GL11.glRotatef(90, 1, 0, 0); +// draw(0.7f, ledDefault); +// } +// } @Override public void addInformation(ItemStack itemStack, EntityPlayer entityPlayer, List list, boolean par4) { diff --git a/src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathElement.java b/src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathElement.java index ddf71235d..47329f6c7 100644 --- a/src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathElement.java +++ b/src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathElement.java @@ -133,7 +133,7 @@ public class DayTime implements ISymbole { @Override public double getValue() { - return sixNode.coordonate.world().getWorldTime() / (24000.0 - 1.0); + return sixNode.coordinate.world().getWorldTime() / (24000.0 - 1.0); } @Override diff --git a/src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathRender.java b/src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathRender.java index 6ca86d237..713c9a886 100644 --- a/src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathRender.java +++ b/src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathRender.java @@ -17,7 +17,7 @@ public class ElectricalMathRender extends SixNodeElementRender { ElectricalMathDescriptor descriptor; - Coordonate coord; + Coordinate coord; PhysicalInterpolator interpolator; SixNodeElementInventory inventory = new SixNodeElementInventory(1, 64, this); @@ -34,7 +34,7 @@ public ElectricalMathRender(SixNodeEntity tileEntity, Direction side, SixNodeDes super(tileEntity, side, descriptor); this.descriptor = (ElectricalMathDescriptor) descriptor; interpolator = new PhysicalInterpolator(0.4f, 8.0f, 0.9f, 0.2f); - coord = new Coordonate(tileEntity); + coord = new Coordinate(tileEntity); ledOn[0] = true; ledOn[4] = true; } diff --git a/src/main/java/mods/eln/sixnode/electricalredstoneinput/ElectricalRedstoneInputDescriptor.java b/src/main/java/mods/eln/sixnode/electricalredstoneinput/ElectricalRedstoneInputDescriptor.java index 7ecbe25b6..3866b13ba 100644 --- a/src/main/java/mods/eln/sixnode/electricalredstoneinput/ElectricalRedstoneInputDescriptor.java +++ b/src/main/java/mods/eln/sixnode/electricalredstoneinput/ElectricalRedstoneInputDescriptor.java @@ -56,29 +56,30 @@ public void addInformation(ItemStack itemStack, EntityPlayer entityPlayer, List Collections.addAll(list, tr("Converts Redstone signal\nto an electrical voltage.").split("\n")); } - @Override - public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { - return type != ItemRenderType.INVENTORY; - } - - @Override - public boolean handleRenderType(ItemStack item, ItemRenderType type) { - return true; - } - - @Override - public boolean shouldUseRenderHelperEln(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { - return type != ItemRenderType.INVENTORY; - } - - @Override - public void renderItem(ItemRenderType type, ItemStack item, Object... data) { - if (type == ItemRenderType.INVENTORY) { - super.renderItem(type, item, data); - } else { - draw(15); - } - } + // TODO(1.10): Fix item render. +// @Override +// public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { +// return type != ItemRenderType.INVENTORY; +// } +// +// @Override +// public boolean handleRenderType(ItemStack item, ItemRenderType type) { +// return true; +// } +// +// @Override +// public boolean shouldUseRenderHelperEln(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { +// return type != ItemRenderType.INVENTORY; +// } +// +// @Override +// public void renderItem(ItemRenderType type, ItemStack item, Object... data) { +// if (type == ItemRenderType.INVENTORY) { +// super.renderItem(type, item, data); +// } else { +// draw(15); +// } +// } @Override public LRDU getFrontFromPlace(Direction side, EntityPlayer player) { diff --git a/src/main/java/mods/eln/sixnode/electricalredstoneinput/ElectricalRedstoneInputSlowProcess.java b/src/main/java/mods/eln/sixnode/electricalredstoneinput/ElectricalRedstoneInputSlowProcess.java index 47cf28af4..5064095be 100644 --- a/src/main/java/mods/eln/sixnode/electricalredstoneinput/ElectricalRedstoneInputSlowProcess.java +++ b/src/main/java/mods/eln/sixnode/electricalredstoneinput/ElectricalRedstoneInputSlowProcess.java @@ -1,6 +1,6 @@ package mods.eln.sixnode.electricalredstoneinput; -import mods.eln.misc.Coordonate; +import mods.eln.misc.Coordinate; import mods.eln.misc.Utils; import mods.eln.sim.IProcess; @@ -19,7 +19,7 @@ public ElectricalRedstoneInputSlowProcess(ElectricalRedstoneInputElement element @Override public void process(double time) { if (sleepCounter == 0.0) { - Coordonate coord = element.sixNode.coordonate; + Coordinate coord = element.sixNode.coordinate; // TODO: Ignore the value of a signal to redstone converter if it is connected to this converted directly. int signal = Utils.getRedstoneLevelAround(coord, element.side); diff --git a/src/main/java/mods/eln/sixnode/electricalredstoneoutput/ElectricalRedstoneOutputDescriptor.java b/src/main/java/mods/eln/sixnode/electricalredstoneoutput/ElectricalRedstoneOutputDescriptor.java index 1455e845a..4eba8aa8d 100644 --- a/src/main/java/mods/eln/sixnode/electricalredstoneoutput/ElectricalRedstoneOutputDescriptor.java +++ b/src/main/java/mods/eln/sixnode/electricalredstoneoutput/ElectricalRedstoneOutputDescriptor.java @@ -49,29 +49,30 @@ public void setParent(Item item, int damage) { Data.addSignal(newItemStack()); } - @Override - public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { - return type != ItemRenderType.INVENTORY; - } - - @Override - public boolean handleRenderType(ItemStack item, ItemRenderType type) { - return true; - } - - @Override - public boolean shouldUseRenderHelperEln(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { - return type != ItemRenderType.INVENTORY; - } - - @Override - public void renderItem(ItemRenderType type, ItemStack item, Object... data) { - if (type == ItemRenderType.INVENTORY) { - super.renderItem(type, item, data); - } else { - draw(15); - } - } + // TODO(1.10): Fix item render. +// @Override +// public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { +// return type != ItemRenderType.INVENTORY; +// } +// +// @Override +// public boolean handleRenderType(ItemStack item, ItemRenderType type) { +// return true; +// } +// +// @Override +// public boolean shouldUseRenderHelperEln(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { +// return type != ItemRenderType.INVENTORY; +// } +// +// @Override +// public void renderItem(ItemRenderType type, ItemStack item, Object... data) { +// if (type == ItemRenderType.INVENTORY) { +// super.renderItem(type, item, data); +// } else { +// draw(15); +// } +// } @Override public void addInformation(ItemStack itemStack, EntityPlayer entityPlayer, List list, boolean par4) { diff --git a/src/main/java/mods/eln/sixnode/electricalrelay/ElectricalRelayDescriptor.java b/src/main/java/mods/eln/sixnode/electricalrelay/ElectricalRelayDescriptor.java index eab79908e..7bf9b17ff 100644 --- a/src/main/java/mods/eln/sixnode/electricalrelay/ElectricalRelayDescriptor.java +++ b/src/main/java/mods/eln/sixnode/electricalrelay/ElectricalRelayDescriptor.java @@ -75,29 +75,30 @@ public void addInformation(ItemStack itemStack, EntityPlayer entityPlayer, List Collections.addAll(list, tr("A relay is an electrical\ncontact that conducts electric\ncurrent or not, depending\nthe actual input signal voltage.").split("\n")); } - @Override - public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { - return type != ItemRenderType.INVENTORY; - } - - @Override - public boolean handleRenderType(ItemStack item, ItemRenderType type) { - return true; - } - - @Override - public boolean shouldUseRenderHelperEln(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { - return type != ItemRenderType.INVENTORY; - } - - @Override - public void renderItem(ItemRenderType type, ItemStack item, Object... data) { - if (type == ItemRenderType.INVENTORY) { - super.renderItem(type, item, data); - } else { - draw(0f); - } - } + // TODO(1.10): Fix item render. +// @Override +// public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { +// return type != ItemRenderType.INVENTORY; +// } +// +// @Override +// public boolean handleRenderType(ItemStack item, ItemRenderType type) { +// return true; +// } +// +// @Override +// public boolean shouldUseRenderHelperEln(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { +// return type != ItemRenderType.INVENTORY; +// } +// +// @Override +// public void renderItem(ItemRenderType type, ItemStack item, Object... data) { +// if (type == ItemRenderType.INVENTORY) { +// super.renderItem(type, item, data); +// } else { +// draw(0f); +// } +// } void draw(float factor) { //UtilsClient.disableBlend(); diff --git a/src/main/java/mods/eln/sixnode/electricalsource/ElectricalSourceDescriptor.java b/src/main/java/mods/eln/sixnode/electricalsource/ElectricalSourceDescriptor.java index 801e7070f..9c16df4f6 100644 --- a/src/main/java/mods/eln/sixnode/electricalsource/ElectricalSourceDescriptor.java +++ b/src/main/java/mods/eln/sixnode/electricalsource/ElectricalSourceDescriptor.java @@ -64,36 +64,37 @@ public void addInformation(ItemStack itemStack, EntityPlayer entityPlayer, List list.add(tr("Creative block.")); } - @Override - public boolean handleRenderType(ItemStack item, ItemRenderType type) { - return true; - } - - @Override - public void renderItem(ItemRenderType type, ItemStack item, Object... data) { - switch (type) { - case ENTITY: - draw(false); - break; - - case EQUIPPED: - case EQUIPPED_FIRST_PERSON: - GL11.glPushMatrix(); - GL11.glTranslatef(0.8f, 0.3f, 0.2f); - GL11.glRotatef(150, 0, 0, 1); - draw(false); - GL11.glPopMatrix(); - break; - - case INVENTORY: - case FIRST_PERSON_MAP: - if (signalSource) { - VoltageLevelColor.SignalVoltage.drawIconBackground(type); - } - super.renderItem(type, item, data); - break; - } - } + // TODO(1.10): Fix item render. +// @Override +// public boolean handleRenderType(ItemStack item, ItemRenderType type) { +// return true; +// } +// +// @Override +// public void renderItem(ItemRenderType type, ItemStack item, Object... data) { +// switch (type) { +// case ENTITY: +// draw(false); +// break; +// +// case EQUIPPED: +// case EQUIPPED_FIRST_PERSON: +// GL11.glPushMatrix(); +// GL11.glTranslatef(0.8f, 0.3f, 0.2f); +// GL11.glRotatef(150, 0, 0, 1); +// draw(false); +// GL11.glPopMatrix(); +// break; +// +// case INVENTORY: +// case FIRST_PERSON_MAP: +// if (signalSource) { +// VoltageLevelColor.SignalVoltage.drawIconBackground(type); +// } +// super.renderItem(type, item, data); +// break; +// } +// } @Override public LRDU getFrontFromPlace(Direction side, EntityPlayer player) { diff --git a/src/main/java/mods/eln/sixnode/electricalswitch/ElectricalSwitchDescriptor.java b/src/main/java/mods/eln/sixnode/electricalswitch/ElectricalSwitchDescriptor.java index 517c90f52..6607b9a6a 100644 --- a/src/main/java/mods/eln/sixnode/electricalswitch/ElectricalSwitchDescriptor.java +++ b/src/main/java/mods/eln/sixnode/electricalswitch/ElectricalSwitchDescriptor.java @@ -120,30 +120,31 @@ public void applyTo(Resistor resistor, boolean state) { } } - @Override - public boolean handleRenderType(ItemStack item, ItemRenderType type) { - return true; - } - - @Override - public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { - return type != ItemRenderType.INVENTORY; - } - - @Override - public boolean shouldUseRenderHelperEln(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { - return type != ItemRenderType.INVENTORY; - } - - @Override - public void renderItem(ItemRenderType type, ItemStack item, Object... data) { - //if (type == ItemRenderType.INVENTORY) GL11.glScalef(1.8f, 1.8f, 1.8f); - if (type != ItemRenderType.INVENTORY) { - draw(0f, 0f, null); - } else { - super.renderItem(type, item, data); - } - } + // TODO(1.10): Fix item render. +// @Override +// public boolean handleRenderType(ItemStack item, ItemRenderType type) { +// return true; +// } +// +// @Override +// public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { +// return type != ItemRenderType.INVENTORY; +// } +// +// @Override +// public boolean shouldUseRenderHelperEln(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { +// return type != ItemRenderType.INVENTORY; +// } +// +// @Override +// public void renderItem(ItemRenderType type, ItemStack item, Object... data) { +// //if (type == ItemRenderType.INVENTORY) GL11.glScalef(1.8f, 1.8f, 1.8f); +// if (type != ItemRenderType.INVENTORY) { +// draw(0f, 0f, null); +// } else { +// super.renderItem(type, item, data); +// } +// } public void draw(float on, float distance, TileEntity e) { switch (objType) { diff --git a/src/main/java/mods/eln/sixnode/electricaltimeout/ElectricalTimeoutDescriptor.java b/src/main/java/mods/eln/sixnode/electricaltimeout/ElectricalTimeoutDescriptor.java index 1560574a1..f4139b017 100644 --- a/src/main/java/mods/eln/sixnode/electricaltimeout/ElectricalTimeoutDescriptor.java +++ b/src/main/java/mods/eln/sixnode/electricaltimeout/ElectricalTimeoutDescriptor.java @@ -68,28 +68,29 @@ public ElectricalTimeoutDescriptor setTickSound(String tickSound, float tickVolu return this; } - @Override - public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { - return type != ItemRenderType.INVENTORY; - } - - @Override - public boolean handleRenderType(ItemStack item, ItemRenderType type) { - return true; - } - - @Override - public boolean shouldUseRenderHelperEln(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { - return type != ItemRenderType.INVENTORY; - } - - @Override - public void renderItem(ItemRenderType type, ItemStack item, Object... data) { - if (type == ItemRenderType.INVENTORY) { - super.renderItem(type, item, data); - } - draw(1f); - } + // TODO(1.10): Fix item render. +// @Override +// public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { +// return type != ItemRenderType.INVENTORY; +// } +// +// @Override +// public boolean handleRenderType(ItemStack item, ItemRenderType type) { +// return true; +// } +// +// @Override +// public boolean shouldUseRenderHelperEln(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { +// return type != ItemRenderType.INVENTORY; +// } +// +// @Override +// public void renderItem(ItemRenderType type, ItemStack item, Object... data) { +// if (type == ItemRenderType.INVENTORY) { +// super.renderItem(type, item, data); +// } +// draw(1f); +// } @Override public LRDU getFrontFromPlace(Direction side, EntityPlayer player) { diff --git a/src/main/java/mods/eln/sixnode/electricalvumeter/ElectricalVuMeterDescriptor.java b/src/main/java/mods/eln/sixnode/electricalvumeter/ElectricalVuMeterDescriptor.java index d3031d3ef..6050dd944 100644 --- a/src/main/java/mods/eln/sixnode/electricalvumeter/ElectricalVuMeterDescriptor.java +++ b/src/main/java/mods/eln/sixnode/electricalvumeter/ElectricalVuMeterDescriptor.java @@ -95,29 +95,30 @@ public void addInformation(ItemStack itemStack, EntityPlayer entityPlayer, List list.add(tr("Displays the value of a signal.")); } - @Override - public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { - return type != ItemRenderType.INVENTORY; - } - - @Override - public boolean handleRenderType(ItemStack item, ItemRenderType type) { - return true; - } - - @Override - public boolean shouldUseRenderHelperEln(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { - return type != ItemRenderType.INVENTORY; - } - - @Override - public void renderItem(ItemRenderType type, ItemStack item, Object... data) { - if (type == ItemRenderType.INVENTORY) { - super.renderItem(type, item, data); - } else { - draw(0.0f, 1f, null); - } - } + // TODO(1.10): Fix item render. +// @Override +// public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { +// return type != ItemRenderType.INVENTORY; +// } +// +// @Override +// public boolean handleRenderType(ItemStack item, ItemRenderType type) { +// return true; +// } +// +// @Override +// public boolean shouldUseRenderHelperEln(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { +// return type != ItemRenderType.INVENTORY; +// } +// +// @Override +// public void renderItem(ItemRenderType type, ItemStack item, Object... data) { +// if (type == ItemRenderType.INVENTORY) { +// super.renderItem(type, item, data); +// } else { +// draw(0.0f, 1f, null); +// } +// } @Override public LRDU getFrontFromPlace(Direction side, EntityPlayer player) { diff --git a/src/main/java/mods/eln/sixnode/electricalwatch/ElectricalWatchDescriptor.java b/src/main/java/mods/eln/sixnode/electricalwatch/ElectricalWatchDescriptor.java index 87bb005ef..27ec0cc01 100644 --- a/src/main/java/mods/eln/sixnode/electricalwatch/ElectricalWatchDescriptor.java +++ b/src/main/java/mods/eln/sixnode/electricalwatch/ElectricalWatchDescriptor.java @@ -103,30 +103,31 @@ public void setParent(Item item, int damage) { //Data.addSignal(newItemStack()); } - @Override - public boolean handleRenderType(ItemStack item, ItemRenderType type) { - return true; - } - - @Override - public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { - return type != ItemRenderType.INVENTORY; - } - - @Override - public boolean shouldUseRenderHelperEln(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { - return type != ItemRenderType.INVENTORY; - } - - @Override - public void renderItem(ItemRenderType type, ItemStack item, Object... data) { - if (type == ItemRenderType.INVENTORY) { - super.renderItem(type, item, data); - } else { - GL11.glRotatef(90, 1, 0, 0); - draw(0.1f, 0.2f, true); - } - } + // TODO(1.10): Fix item render. +// @Override +// public boolean handleRenderType(ItemStack item, ItemRenderType type) { +// return true; +// } +// +// @Override +// public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { +// return type != ItemRenderType.INVENTORY; +// } +// +// @Override +// public boolean shouldUseRenderHelperEln(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { +// return type != ItemRenderType.INVENTORY; +// } +// +// @Override +// public void renderItem(ItemRenderType type, ItemStack item, Object... data) { +// if (type == ItemRenderType.INVENTORY) { +// super.renderItem(type, item, data); +// } else { +// GL11.glRotatef(90, 1, 0, 0); +// draw(0.1f, 0.2f, true); +// } +// } @Override public LRDU getFrontFromPlace(Direction side, EntityPlayer player) { diff --git a/src/main/java/mods/eln/sixnode/electricalwatch/ElectricalWatchSlowProcess.java b/src/main/java/mods/eln/sixnode/electricalwatch/ElectricalWatchSlowProcess.java index 81d086e28..c5edb87e1 100644 --- a/src/main/java/mods/eln/sixnode/electricalwatch/ElectricalWatchSlowProcess.java +++ b/src/main/java/mods/eln/sixnode/electricalwatch/ElectricalWatchSlowProcess.java @@ -35,7 +35,7 @@ public void process(double time) { if (battery == null || (energy = battery.getEnergy(batteryStack)) < element.descriptor.powerConsumtion * time * 4) { if (upToDate) { upToDate = false; - oldDate = element.sixNode.coordonate.world().getWorldTime(); + oldDate = element.sixNode.coordinate.world().getWorldTime(); if (batteryStack != null) battery.setEnergy(batteryStack, 0); element.needPublish(); } diff --git a/src/main/java/mods/eln/sixnode/electricalweathersensor/ElectricalWeatherSensorDescriptor.java b/src/main/java/mods/eln/sixnode/electricalweathersensor/ElectricalWeatherSensorDescriptor.java index d360aa7ab..3d87ca258 100644 --- a/src/main/java/mods/eln/sixnode/electricalweathersensor/ElectricalWeatherSensorDescriptor.java +++ b/src/main/java/mods/eln/sixnode/electricalweathersensor/ElectricalWeatherSensorDescriptor.java @@ -56,30 +56,31 @@ public void addInformation(ItemStack itemStack, EntityPlayer entityPlayer, List list.add(tr("Storm: %1$V", Utils.plotValue(Eln.SVU))); } - @Override - public boolean handleRenderType(ItemStack item, ItemRenderType type) { - return true; - } - - @Override - public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { - return type != ItemRenderType.INVENTORY; - } - - @Override - public boolean shouldUseRenderHelperEln(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { - return type != ItemRenderType.INVENTORY; - } - - @Override - public void renderItem(ItemRenderType type, ItemStack item, Object... data) { - if (type == ItemRenderType.INVENTORY) { - super.renderItem(type, item, data); - } else { - GL11.glScalef(2f, 2f, 2f); - draw(); - } - } + // TODO(1.10): Fix item render. +// @Override +// public boolean handleRenderType(ItemStack item, ItemRenderType type) { +// return true; +// } +// +// @Override +// public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { +// return type != ItemRenderType.INVENTORY; +// } +// +// @Override +// public boolean shouldUseRenderHelperEln(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { +// return type != ItemRenderType.INVENTORY; +// } +// +// @Override +// public void renderItem(ItemRenderType type, ItemStack item, Object... data) { +// if (type == ItemRenderType.INVENTORY) { +// super.renderItem(type, item, data); +// } else { +// GL11.glScalef(2f, 2f, 2f); +// draw(); +// } +// } @Override public LRDU getFrontFromPlace(Direction side, EntityPlayer player) { diff --git a/src/main/java/mods/eln/sixnode/electricalweathersensor/ElectricalWeatherSensorSlowProcess.java b/src/main/java/mods/eln/sixnode/electricalweathersensor/ElectricalWeatherSensorSlowProcess.java index 777230a68..45bc6d872 100644 --- a/src/main/java/mods/eln/sixnode/electricalweathersensor/ElectricalWeatherSensorSlowProcess.java +++ b/src/main/java/mods/eln/sixnode/electricalweathersensor/ElectricalWeatherSensorSlowProcess.java @@ -1,6 +1,6 @@ package mods.eln.sixnode.electricalweathersensor; -import mods.eln.misc.Coordonate; +import mods.eln.misc.Coordinate; import mods.eln.misc.INBTTReady; import mods.eln.misc.RcInterpolator; import mods.eln.sim.IProcess; @@ -26,11 +26,11 @@ public void process(double time) { if (timeCounter > refreshPeriode) { timeCounter -= refreshPeriode; - Coordonate coord = element.sixNode.coordonate; + Coordinate coord = element.sixNode.coordinate; float target = 0f; - if (coord.getWorldExist()) { + if (coord.doesWorldExist()) { World world = coord.world(); if (world.isRaining()) { diff --git a/src/main/java/mods/eln/sixnode/electricalwindsensor/ElectricalWindSensorDescriptor.java b/src/main/java/mods/eln/sixnode/electricalwindsensor/ElectricalWindSensorDescriptor.java index 4c37db3cb..e9938b534 100644 --- a/src/main/java/mods/eln/sixnode/electricalwindsensor/ElectricalWindSensorDescriptor.java +++ b/src/main/java/mods/eln/sixnode/electricalwindsensor/ElectricalWindSensorDescriptor.java @@ -65,34 +65,35 @@ public void addInformation(ItemStack itemStack, EntityPlayer entityPlayer, List list.add(tr("Maximum wind speed is %1$m/s", Utils.plotValue(windMax))); } - @Override - public boolean handleRenderType(ItemStack item, ItemRenderType type) { - return true; - } - - @Override - public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { - return type != ItemRenderType.INVENTORY; - } - - @Override - public boolean shouldUseRenderHelperEln(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { - return type != ItemRenderType.INVENTORY; - } - - @Override - public void renderItem(ItemRenderType type, ItemStack item, Object... data) { - if (type == ItemRenderType.INVENTORY) { - super.renderItem(type, item, data); - } else { - GL11.glRotatef(270, 1, 0, 0); - GL11.glTranslatef(-0.6f, 0f, 0f); - - GL11.glScalef(2f, 2f, 2f); - - draw(0); - } - } + // TODO(1.10): Fix item render. +// @Override +// public boolean handleRenderType(ItemStack item, ItemRenderType type) { +// return true; +// } +// +// @Override +// public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { +// return type != ItemRenderType.INVENTORY; +// } +// +// @Override +// public boolean shouldUseRenderHelperEln(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { +// return type != ItemRenderType.INVENTORY; +// } +// +// @Override +// public void renderItem(ItemRenderType type, ItemStack item, Object... data) { +// if (type == ItemRenderType.INVENTORY) { +// super.renderItem(type, item, data); +// } else { +// GL11.glRotatef(270, 1, 0, 0); +// GL11.glTranslatef(-0.6f, 0f, 0f); +// +// GL11.glScalef(2f, 2f, 2f); +// +// draw(0); +// } +// } @Override public boolean canBePlacedOnSide(EntityPlayer player, Direction side) { diff --git a/src/main/java/mods/eln/sixnode/electricalwindsensor/ElectricalWindSensorElement.java b/src/main/java/mods/eln/sixnode/electricalwindsensor/ElectricalWindSensorElement.java index e67c0195d..ee6c08a9b 100644 --- a/src/main/java/mods/eln/sixnode/electricalwindsensor/ElectricalWindSensorElement.java +++ b/src/main/java/mods/eln/sixnode/electricalwindsensor/ElectricalWindSensorElement.java @@ -13,7 +13,6 @@ import mods.eln.sim.ThermalLoad; import mods.eln.sim.nbt.NbtElectricalGateOutput; import mods.eln.sim.nbt.NbtElectricalGateOutputProcess; -import net.minecraft.entity.player.EntityPlayer; import java.io.DataOutputStream; import java.io.IOException; @@ -85,7 +84,7 @@ public void initialize() { public void networkSerialize(DataOutputStream stream) { super.networkSerialize(stream); try { - stream.writeFloat((float) Utils.getWind(sixNode.coordonate.dimention, sixNode.coordonate.y)); + stream.writeFloat((float) Utils.getWind(sixNode.coordinate.dimension, sixNode.coordinate.y)); } catch (IOException e) { e.printStackTrace(); } diff --git a/src/main/java/mods/eln/sixnode/electricalwindsensor/ElectricalWindSensorSlowProcess.java b/src/main/java/mods/eln/sixnode/electricalwindsensor/ElectricalWindSensorSlowProcess.java index cf69b93c1..4b10aa037 100644 --- a/src/main/java/mods/eln/sixnode/electricalwindsensor/ElectricalWindSensorSlowProcess.java +++ b/src/main/java/mods/eln/sixnode/electricalwindsensor/ElectricalWindSensorSlowProcess.java @@ -1,6 +1,6 @@ package mods.eln.sixnode.electricalwindsensor; -import mods.eln.misc.Coordonate; +import mods.eln.misc.Coordinate; import mods.eln.misc.INBTTReady; import mods.eln.misc.RcInterpolator; import mods.eln.misc.Utils; @@ -25,9 +25,9 @@ public void process(double time) { timeCounter += time; if (timeCounter > refreshPeriode) { timeCounter -= refreshPeriode; - Coordonate coord = element.sixNode.coordonate; + Coordinate coord = element.sixNode.coordinate; - element.outputGateProcess.setOutputNormalized(Utils.getWind(coord.dimention, coord.y) / element.descriptor.windMax); + element.outputGateProcess.setOutputNormalized(Utils.getWind(coord.dimension, coord.y) / element.descriptor.windMax); } } diff --git a/src/main/java/mods/eln/sixnode/energymeter/EnergyMeterDescriptor.java b/src/main/java/mods/eln/sixnode/energymeter/EnergyMeterDescriptor.java index 863613880..bebc5271e 100644 --- a/src/main/java/mods/eln/sixnode/energymeter/EnergyMeterDescriptor.java +++ b/src/main/java/mods/eln/sixnode/energymeter/EnergyMeterDescriptor.java @@ -50,36 +50,30 @@ public void setParent(Item item, int damage) { Data.addWiring(newItemStack()); } - @Override - public boolean handleRenderType(ItemStack item, ItemRenderType type) { - return true; - } - - @Override - public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { - return type != ItemRenderType.INVENTORY; - } - - @Override - public boolean shouldUseRenderHelperEln(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { - return type != ItemRenderType.INVENTORY; - } - - @Override - public void renderItem(ItemRenderType type, ItemStack item, Object... data) { - if (type == ItemRenderType.INVENTORY) { - super.renderItem(type, item, data); - /* - GL11.glRotatef(45, 0, 0, 1); - GL11.glRotatef(90, 1, 0, 0); - GL11.glRotatef(30, 0, 0, 1); - float scal = 2.5f; - GL11.glScalef(scal, scal, scal); - draw(13896, 1511, 1, 0, false);*/ - } else { - draw(13896, 1511, 1, 0, true); - } - } + // TODO(1.10): Fix item render. +// @Override +// public boolean handleRenderType(ItemStack item, ItemRenderType type) { +// return true; +// } +// +// @Override +// public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { +// return type != ItemRenderType.INVENTORY; +// } +// +// @Override +// public boolean shouldUseRenderHelperEln(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { +// return type != ItemRenderType.INVENTORY; +// } +// +// @Override +// public void renderItem(ItemRenderType type, ItemStack item, Object... data) { +// if (type == ItemRenderType.INVENTORY) { +// super.renderItem(type, item, data); +// } else { +// draw(13896, 1511, 1, 0, true); +// } +// } public void draw(double energy, double time, int energyUnit, int timeUnit, boolean drawAll) { // UtilsClient.disableCulling(); diff --git a/src/main/java/mods/eln/sixnode/lampsocket/LampSocketDescriptor.java b/src/main/java/mods/eln/sixnode/lampsocket/LampSocketDescriptor.java index 4e200cccb..d236d0451 100644 --- a/src/main/java/mods/eln/sixnode/lampsocket/LampSocketDescriptor.java +++ b/src/main/java/mods/eln/sixnode/lampsocket/LampSocketDescriptor.java @@ -14,7 +14,7 @@ public class LampSocketDescriptor extends SixNodeDescriptor { public LampSocketType socketType; - LampSocketObjRender render; +// LampSocketObjRender render; public boolean cameraOpt = true; @@ -31,7 +31,7 @@ public class LampSocketDescriptor extends SixNodeDescriptor { public boolean paintable = false; - public LampSocketDescriptor(String name, LampSocketObjRender render, + public LampSocketDescriptor(String name, /*LampSocketObjRender render,*/ LampSocketType socketType, boolean paintable, int range, @@ -44,7 +44,7 @@ public LampSocketDescriptor(String name, LampSocketObjRender render, this.alphaZMin = alphaZMin; this.alphaZMax = alphaZMax; this.alphaZBoot = alphaZBoot; - this.render = render; +// this.render = render; voltageLevelColor = VoltageLevelColor.Neutral; } @@ -66,30 +66,31 @@ public void setParent(net.minecraft.item.Item item, int damage) { Data.addLight(newItemStack()); } - @Override - public boolean handleRenderType(ItemStack item, ItemRenderType type) { - return true; - } - - @Override - public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { - return type != ItemRenderType.INVENTORY; - } - - @Override - public boolean shouldUseRenderHelperEln(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { - return type != ItemRenderType.INVENTORY; - } - - @Override - public void renderItem(ItemRenderType type, ItemStack item, Object... data) { - if (type == ItemRenderType.INVENTORY) - super.renderItem(type, item, data); - else { - GL11.glScalef(1.25f, 1.25f, 1.25f); - render.draw(this, type, 0.f); - } - } + // TODO(1.10): Fix item render. +// @Override +// public boolean handleRenderType(ItemStack item, ItemRenderType type) { +// return true; +// } +// +// @Override +// public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { +// return type != ItemRenderType.INVENTORY; +// } +// +// @Override +// public boolean shouldUseRenderHelperEln(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { +// return type != ItemRenderType.INVENTORY; +// } +// +// @Override +// public void renderItem(ItemRenderType type, ItemStack item, Object... data) { +// if (type == ItemRenderType.INVENTORY) +// super.renderItem(type, item, data); +// else { +// GL11.glScalef(1.25f, 1.25f, 1.25f); +// render.draw(this, type, 0.f); +// } +// } @Override public boolean hasVolume() { diff --git a/src/main/java/mods/eln/sixnode/lampsocket/LampSocketElement.java b/src/main/java/mods/eln/sixnode/lampsocket/LampSocketElement.java index d9f5b7cd7..b693a4530 100644 --- a/src/main/java/mods/eln/sixnode/lampsocket/LampSocketElement.java +++ b/src/main/java/mods/eln/sixnode/lampsocket/LampSocketElement.java @@ -37,7 +37,7 @@ public class LampSocketElement extends SixNodeElement { LampSocketDescriptor socketDescriptor = null; - public MonsterPopFreeProcess monsterPopFreeProcess = new MonsterPopFreeProcess(sixNode.coordonate, Eln.instance.killMonstersAroundLampsRange); + public MonsterPopFreeProcess monsterPopFreeProcess = new MonsterPopFreeProcess(sixNode.coordinate, Eln.instance.killMonstersAroundLampsRange); public NbtElectricalLoad positiveLoad = new NbtElectricalLoad("positiveLoad"); public LampSocketProcess lampProcess = new LampSocketProcess(this); diff --git a/src/main/java/mods/eln/sixnode/lampsocket/LampSocketObjRender.java b/src/main/java/mods/eln/sixnode/lampsocket/LampSocketObjRender.java deleted file mode 100644 index 51196b387..000000000 --- a/src/main/java/mods/eln/sixnode/lampsocket/LampSocketObjRender.java +++ /dev/null @@ -1,10 +0,0 @@ -package mods.eln.sixnode.lampsocket; - -import net.minecraftforge.client.IItemRenderer.ItemRenderType; - -public interface LampSocketObjRender { - - void draw(LampSocketDescriptor descriptor, ItemRenderType type, double distanceToPlayer); - - void draw(LampSocketRender render, double distanceToPlayer); -} diff --git a/src/main/java/mods/eln/sixnode/lampsocket/LampSocketProcess.java b/src/main/java/mods/eln/sixnode/lampsocket/LampSocketProcess.java index 8e2e62df1..5590a021c 100644 --- a/src/main/java/mods/eln/sixnode/lampsocket/LampSocketProcess.java +++ b/src/main/java/mods/eln/sixnode/lampsocket/LampSocketProcess.java @@ -5,7 +5,7 @@ import mods.eln.generic.GenericItemUsingDamageDescriptor; import mods.eln.item.LampDescriptor; import mods.eln.item.LampDescriptor.Type; -import mods.eln.misc.Coordonate; +import mods.eln.misc.Coordinate; import mods.eln.misc.INBTTReady; import mods.eln.misc.Utils; import mods.eln.server.SaveConfig; @@ -15,8 +15,7 @@ import net.minecraft.init.Blocks; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.util.MathHelper; -import net.minecraft.util.Vec3; +import net.minecraft.util.math.Vec3d; import java.io.ByteArrayOutputStream; import java.io.DataOutputStream; @@ -45,11 +44,11 @@ public class LampSocketProcess implements IProcess, INBTTReady /*,LightBlockObse double updateLifeTimeout = 0, updateLifeTimeoutMax = 5; - Coordonate lbCoord; + Coordinate lbCoord; public LampSocketProcess(LampSocketElement l) { this.lamp = l; - lbCoord = new Coordonate(l.sixNode.coordonate); + lbCoord = new Coordinate(l.sixNode.coordinate); } @Override @@ -60,13 +59,13 @@ public void process(double time) { lamp.setIsConnectedToLampSupply(false); oldLampSupply = null; } else { - Coordonate myCoord = lamp.sixNode.coordonate; + Coordinate myCoord = lamp.sixNode.coordinate; LampSupplyElement.PowerSupplyChannelHandle best = null; float bestDistance = 10000; List list = LampSupplyElement.channelMap.get(lamp.channel); if (list != null) { for (LampSupplyElement.PowerSupplyChannelHandle s : list) { - float distance = (float) s.element.sixNode.coordonate.trueDistanceTo(myCoord); + float distance = (float) s.element.sixNode.coordinate.trueDistanceTo(myCoord); if (distance < bestDistance && distance <= s.element.getRange()) { bestDistance = distance; best = s; @@ -91,22 +90,22 @@ public void process(double time) { if (lampStack != null) { LampDescriptor lampDescriptor = (LampDescriptor) ((GenericItemUsingDamage) lampStack.getItem()).getDescriptor(lampStack); - if (lamp.getCoordonate().getBlockExist() && lampDescriptor.vegetableGrowRate != 0.0) { + if (lamp.getCoordonate().doesBlockExist() && lampDescriptor.vegetableGrowRate != 0.0) { double randTarget = 1.0 / lampDescriptor.vegetableGrowRate * time * (1.0 * light / lampDescriptor.nominalLight / 15.0); if (randTarget > Math.random()) { boolean exit = false; - Vec3 vv = Vec3.createVectorHelper(1, 0, 0); - Vec3 vp = Vec3.createVectorHelper(myCoord().x + 0.5, myCoord().y + 0.5, myCoord().z + 0.5); + Vec3d vv = new Vec3d(1, 0, 0); + Vec3d vp = new Vec3d(myCoord().pos.getX() + 0.5, myCoord().pos.getY() + 0.5, myCoord().pos.getZ() + 0.5); - vv.rotateAroundZ((float) (alphaZ * Math.PI / 180.0)); + // TODO(1.10): I may have swapped these two. + vv = vv.rotatePitch((float) (alphaZ * Math.PI / 180.0)); + vv = vv.rotateYaw((float) ((Math.random() - 0.5) * 2 * Math.PI / 4)); + vv = vv.rotatePitch((float) ((Math.random() - 0.5) * 2 * Math.PI / 4)); - vv.rotateAroundY((float) ((Math.random() - 0.5) * 2 * Math.PI / 4)); - vv.rotateAroundZ((float) ((Math.random() - 0.5) * 2 * Math.PI / 4)); + vv = lamp.front.rotateOnXnLeft(vv); + vv = lamp.side.rotateFromXN(vv); - lamp.front.rotateOnXnLeft(vv); - lamp.side.rotateFromXN(vv); - - Coordonate c = new Coordonate(myCoord()); + Coordinate c = new Coordinate(myCoord()); for (int idx = 0; idx < lamp.socketDescriptor.range + light; idx++) { // newCoord.move(lamp.side.getInverse()); @@ -116,7 +115,7 @@ public void process(double time) { c.setPosition(vp); Block b = c.getBlock(); - if (!c.getBlockExist()) { + if (!c.doesBlockExist()) { exit = true; break; } @@ -266,7 +265,7 @@ public void process(double time) { // ElectricalConnectionOneWay connection = null; - public void rotateAroundZ(Vec3 v, float par1) { + public void rotateAroundZ(Vec3d v, float par1) { float f1 = MathHelper.cos(par1); float f2 = MathHelper.sin(par1); double d0 = v.xCoord * (double) f1 + v.yCoord * (double) f2; @@ -279,17 +278,17 @@ public void rotateAroundZ(Vec3 v, float par1) { void placeSpot(int newLight) { boolean exit = false; - if (!lbCoord.getBlockExist()) + if (!lbCoord.doesBlockExist()) return; - Vec3 vv = Vec3.createVectorHelper(1, 0, 0); - Vec3 vp = Utils.getVec05(myCoord()); + Vec3d vv = Vec3d.createVectorHelper(1, 0, 0); + Vec3d vp = Utils.getVec05(myCoord()); rotateAroundZ(vv, (float) (alphaZ * Math.PI / 180.0)); lamp.front.rotateOnXnLeft(vv); lamp.side.rotateFromXN(vv); - Coordonate newCoord = new Coordonate(myCoord()); + Coordinate newCoord = new Coordinate(myCoord()); for (int idx = 0; idx < lamp.socketDescriptor.range; idx++) { // newCoord.move(lamp.side.getInverse()); vp.xCoord += vv.xCoord; @@ -297,7 +296,7 @@ void placeSpot(int newLight) { vp.zCoord += vv.zCoord; newCoord.setPosition(vp); - if (!newCoord.getBlockExist()) { + if (!newCoord.doesBlockExist()) { exit = true; break; } @@ -330,7 +329,7 @@ void placeSpot(int newLight) { setLightAt(newCoord, newLight); } - public boolean isOpaque(Coordonate coord) { + public boolean isOpaque(Coordinate coord) { Block block = coord.getBlock(); boolean isNotOpaque = block == Blocks.air || !block.isOpaqueCube(); if (block == Blocks.farmland) @@ -342,9 +341,9 @@ public void publish() { Utils.print("Light published"); } - public void setLightAt(Coordonate coord, int value) { - Coordonate oldLbCoord = lbCoord; - lbCoord = new Coordonate(coord); + public void setLightAt(Coordinate coord, int value) { + Coordinate oldLbCoord = lbCoord; + lbCoord = new Coordinate(coord); int oldLight = light; boolean same = coord.equals(oldLbCoord); light = value; @@ -377,8 +376,8 @@ public void setLightAt(Coordonate coord, int value) { } } - Coordonate myCoord() { - return lamp.sixNode.coordonate; + Coordinate myCoord() { + return lamp.sixNode.coordinate; } public void destructor() { @@ -417,6 +416,6 @@ public int getBlockLight() { } /* * - * @Override public void lightBlockDestructor(Coordonate coord) { if(coord.equals(lbCoord)) { light = 0; lbCoord = new Coordonate(myCoord()); //placeSpot(light); } } + * @Override public void lightBlockDestructor(Coordinate coord) { if(coord.equals(lbCoord)) { light = 0; lbCoord = new Coordinate(myCoord()); //placeSpot(light); } } */ } diff --git a/src/main/java/mods/eln/sixnode/lampsocket/LampSocketRender.java b/src/main/java/mods/eln/sixnode/lampsocket/LampSocketRender.java index 552377498..b9fa85fc2 100644 --- a/src/main/java/mods/eln/sixnode/lampsocket/LampSocketRender.java +++ b/src/main/java/mods/eln/sixnode/lampsocket/LampSocketRender.java @@ -84,7 +84,7 @@ public void refresh(float deltaT) { entityTimout -= dt; if (entityTimout < 0) { - entityList = tileEntity.getWorldObj().getEntitiesWithinAABB(Entity.class, new Coordonate(tileEntity.xCoord, tileEntity.yCoord - 2, tileEntity.zCoord, tileEntity.getWorldObj()).getAxisAlignedBB(2)); + entityList = tileEntity.getWorldObj().getEntitiesWithinAABB(Entity.class, new Coordinate(tileEntity.xCoord, tileEntity.yCoord - 2, tileEntity.zCoord, tileEntity.getWorldObj()).getAxisAlignedBB(2)); entityTimout = 0.1f; } diff --git a/src/main/java/mods/eln/sixnode/lampsocket/LampSocketStandardObjRender.java b/src/main/java/mods/eln/sixnode/lampsocket/LampSocketStandardObjRender.java index 06680a425..c2d83b277 100644 --- a/src/main/java/mods/eln/sixnode/lampsocket/LampSocketStandardObjRender.java +++ b/src/main/java/mods/eln/sixnode/lampsocket/LampSocketStandardObjRender.java @@ -6,10 +6,9 @@ import mods.eln.misc.Utils; import mods.eln.misc.UtilsClient; import net.minecraft.util.ResourceLocation; -import net.minecraftforge.client.IItemRenderer.ItemRenderType; import org.lwjgl.opengl.GL11; -public class LampSocketStandardObjRender implements LampSocketObjRender { +public class LampSocketStandardObjRender { // implements LampSocketObjRender { private Obj3D obj; private Obj3DPart socket, socket_unlightable, socket_lightable, lampOn, lampOff, lightAlphaPlane, lightAlphaPlaneNoDepth; @@ -32,31 +31,32 @@ public LampSocketStandardObjRender(Obj3D obj, boolean onOffModel) { } } - @Override - public void draw(LampSocketDescriptor descriptor, ItemRenderType type, double distanceToPlayer) { - if (type == ItemRenderType.INVENTORY) { - if (descriptor.hasGhostGroup()) { - GL11.glScalef(0.5f, 0.5f, 0.5f); - GL11.glRotatef(90, 0, -1, 0); - GL11.glTranslatef(-1.5f, 0f, 0f); - } - } else if (type == ItemRenderType.EQUIPPED_FIRST_PERSON) { - if (descriptor.hasGhostGroup()) { - GL11.glScalef(0.3f, 0.3f, 0.3f); - GL11.glRotatef(90, 0, -1, 0); - GL11.glTranslatef(-0.5f, 0f, -1f); - } - } - draw(LRDU.Up, 0, (byte) 0, true, 15, distanceToPlayer); - } - - @Override - public void draw(LampSocketRender render, double distanceToPlayer) { - int color = 15; - if (render.descriptor.paintable) - color = render.paintColor; - draw(render.front, render.alphaZ, render.light, render.lampDescriptor != null, color, distanceToPlayer); - } + // TODO(1.10): Fix item rendering. +// @Override +// public void draw(LampSocketDescriptor descriptor, ItemRenderType type, double distanceToPlayer) { +// if (type == ItemRenderType.INVENTORY) { +// if (descriptor.hasGhostGroup()) { +// GL11.glScalef(0.5f, 0.5f, 0.5f); +// GL11.glRotatef(90, 0, -1, 0); +// GL11.glTranslatef(-1.5f, 0f, 0f); +// } +// } else if (type == ItemRenderType.EQUIPPED_FIRST_PERSON) { +// if (descriptor.hasGhostGroup()) { +// GL11.glScalef(0.3f, 0.3f, 0.3f); +// GL11.glRotatef(90, 0, -1, 0); +// GL11.glTranslatef(-0.5f, 0f, -1f); +// } +// } +// draw(LRDU.Up, 0, (byte) 0, true, 15, distanceToPlayer); +// } + +// @Override +// public void draw(LampSocketRender render, double distanceToPlayer) { +// int color = 15; +// if (render.descriptor.paintable) +// color = render.paintColor; +// draw(render.front, render.alphaZ, render.light, render.lampDescriptor != null, color, distanceToPlayer); +// } public void draw(LRDU front, float alphaZ, byte light, boolean hasBulb, int color, double distanceToPlayer) { front.glRotateOnX(); diff --git a/src/main/java/mods/eln/sixnode/lampsocket/LampSocketSuspendedObjRender.java b/src/main/java/mods/eln/sixnode/lampsocket/LampSocketSuspendedObjRender.java index 385052f34..22ded76c7 100644 --- a/src/main/java/mods/eln/sixnode/lampsocket/LampSocketSuspendedObjRender.java +++ b/src/main/java/mods/eln/sixnode/lampsocket/LampSocketSuspendedObjRender.java @@ -5,10 +5,9 @@ import mods.eln.misc.Obj3D.Obj3DPart; import mods.eln.misc.UtilsClient; import net.minecraft.util.ResourceLocation; -import net.minecraftforge.client.IItemRenderer.ItemRenderType; import org.lwjgl.opengl.GL11; -public class LampSocketSuspendedObjRender implements LampSocketObjRender { +public class LampSocketSuspendedObjRender { // implements LampSocketObjRender { private Obj3D obj; private Obj3DPart socket, chain, base, lightAlphaPlaneNoDepth; @@ -34,24 +33,25 @@ public LampSocketSuspendedObjRender(Obj3D obj, boolean onOffModel, int length) { } } - @Override - public void draw(LampSocketDescriptor descriptor, ItemRenderType type, double distanceToPlayer) { - if (type == ItemRenderType.INVENTORY) { - GL11.glScalef(0.5f, 0.5f, 0.5f); - GL11.glRotatef(90, 0, 1, 0); - GL11.glTranslatef(-1.5f, 0f, 0f); - } else if (type == ItemRenderType.EQUIPPED_FIRST_PERSON) { - GL11.glScalef(0.3f, 0.3f, 0.3f); - GL11.glRotatef(45, 0, 1, 0); - GL11.glTranslatef(-1.5f, 0f, 0.4f); - } - draw(LRDU.Up, 0, (byte) 0, 0, 0, distanceToPlayer); - } - - @Override - public void draw(LampSocketRender render, double distanceToPlayer) { - draw(render.front, render.alphaZ, render.light, render.pertuPy, render.pertuPz, distanceToPlayer); - } + // TODO(1.10): Fix item render. +// @Override +// public void draw(LampSocketDescriptor descriptor, ItemRenderType type, double distanceToPlayer) { +// if (type == ItemRenderType.INVENTORY) { +// GL11.glScalef(0.5f, 0.5f, 0.5f); +// GL11.glRotatef(90, 0, 1, 0); +// GL11.glTranslatef(-1.5f, 0f, 0f); +// } else if (type == ItemRenderType.EQUIPPED_FIRST_PERSON) { +// GL11.glScalef(0.3f, 0.3f, 0.3f); +// GL11.glRotatef(45, 0, 1, 0); +// GL11.glTranslatef(-1.5f, 0f, 0.4f); +// } +// draw(LRDU.Up, 0, (byte) 0, 0, 0, distanceToPlayer); +// } + +// @Override +// public void draw(LampSocketRender render, double distanceToPlayer) { +// draw(render.front, render.alphaZ, render.light, render.pertuPy, render.pertuPz, distanceToPlayer); +// } public void draw(LRDU front, float alphaZ, byte light, float pertuPy, float pertuPz, double distanceToPlayer) { // front.glRotateOnX(); diff --git a/src/main/java/mods/eln/sixnode/lampsocket/LightBlock.java b/src/main/java/mods/eln/sixnode/lampsocket/LightBlock.java index a86026fdf..7e8807223 100644 --- a/src/main/java/mods/eln/sixnode/lampsocket/LightBlock.java +++ b/src/main/java/mods/eln/sixnode/lampsocket/LightBlock.java @@ -1,15 +1,12 @@ package mods.eln.sixnode.lampsocket; -import mods.eln.misc.Coordonate; +import mods.eln.misc.Coordinate; import mods.eln.sixnode.lampsocket.LightBlockEntity.LightBlockObserver; -import net.minecraft.block.Block; import net.minecraft.block.BlockContainer; import net.minecraft.block.material.Material; -import net.minecraft.item.Item; +import net.minecraft.block.state.IBlockState; import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.AxisAlignedBB; -import net.minecraft.util.MovingObjectPosition; -import net.minecraft.util.Vec3; +import net.minecraft.util.math.BlockPos; import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; @@ -17,74 +14,52 @@ public class LightBlock extends BlockContainer { - public LightBlock() { - super(Material.air); + public LightBlock() + { + super(Material.AIR); } - public MovingObjectPosition collisionRayTrace(World world, int x, int y, int z, Vec3 start, Vec3 end) { - return null; - } - - public AxisAlignedBB getCollisionBoundingBoxFromPool(World par1World, int par2, int par3, int par4) { - return null; - } - - @Override - public boolean isOpaqueCube() { - return false; - } +// public MovingObjectPosition collisionRayTrace(World world, int x, int y, int z, Vec3d start, Vec3d end) { +// return null; +// } +// +// public AxisAlignedBB getCollisionBoundingBoxFromPool(World par1World, int par2, int par3, int par4) { +// return null; +// } @Override - public boolean renderAsNormalBlock() { - return false; - } - - @Override - public int getRenderType() { - return -1; - } - - @Override - public Item getItemDropped(int p_149650_1_, Random p_149650_2_, int p_149650_3_) { - return null; - } - public int quantityDropped(Random par1Random) { return 0; } @Override - public boolean isReplaceable(IBlockAccess access, int x, int y, int z) { + public boolean isReplaceable(IBlockAccess worldIn, BlockPos pos) { return true; } - @Override - public int getLightValue(IBlockAccess world, int x, int y, int z) { - /*if (FMLCommonHandler.instance().getEffectiveSide().isClient()) { - Utils.println("Light at " + x + ":" + y + ":" + z + " " + FMLCommonHandler.instance().getEffectiveSide().toString() + " get light " + world.getBlockMetadata(x, y, z)); - }*/ - // Utils.println("Light at " + x + ":" + y + ":" + z + " " + FMLCommonHandler.instance().getEffectiveSide().toString() + " get light " + world.getBlockMetadata(x, y, z)); - return world.getBlockMetadata(x, y, z); - - //return ((LightBlockEntity)world.getBlockTileEntity(x, y, z)).getClientLight(); - } + // TODO(1.10): Block states for light levels? Or setLightLevel? +// @Override +// public int getLightValue(IBlockAccess world, int x, int y, int z) { +// /*if (FMLCommonHandler.instance().getEffectiveSide().isClient()) { +// Utils.println("Light at " + x + ":" + y + ":" + z + " " + FMLCommonHandler.instance().getEffectiveSide().toString() + " get light " + world.getBlockMetadata(x, y, z)); +// }*/ +// // Utils.println("Light at " + x + ":" + y + ":" + z + " " + FMLCommonHandler.instance().getEffectiveSide().toString() + " get light " + world.getBlockMetadata(x, y, z)); +// return world.getBlockMetadata(x, y, z); +// +// //return ((LightBlockEntity)world.getBlockTileEntity(x, y, z)).getClientLight(); +// } @Override - public TileEntity createNewTileEntity(World arg0, int arg1) { + public TileEntity createNewTileEntity(World worldIn, int meta) { return new LightBlockEntity(); } @Override - public void breakBlock(World world, int x, int y, int z, Block arg4, int arg5) { - Coordonate coord = new Coordonate(x, y, z, world); + public void breakBlock(World worldIn, BlockPos pos, IBlockState state) { + Coordinate coord = new Coordinate(pos, worldIn); for (LightBlockObserver o : LightBlockEntity.observers) { o.lightBlockDestructor(coord); } - super.breakBlock(world, x, y, z, arg4, arg5); - } - - @Override - public int getLightOpacity() { - return 0; + super.breakBlock(worldIn, pos, state); } } diff --git a/src/main/java/mods/eln/sixnode/lampsocket/LightBlockEntity.java b/src/main/java/mods/eln/sixnode/lampsocket/LightBlockEntity.java index b43803949..4a44c6bba 100644 --- a/src/main/java/mods/eln/sixnode/lampsocket/LightBlockEntity.java +++ b/src/main/java/mods/eln/sixnode/lampsocket/LightBlockEntity.java @@ -1,7 +1,7 @@ package mods.eln.sixnode.lampsocket; import mods.eln.Eln; -import mods.eln.misc.Coordonate; +import mods.eln.misc.Coordinate; import mods.eln.misc.INBTTReady; import mods.eln.misc.Utils; import net.minecraft.block.Block; @@ -30,7 +30,7 @@ static void removeObserver(LightBlockObserver observer) { public interface LightBlockObserver { - void lightBlockDestructor(Coordonate coord); + void lightBlockDestructor(Coordinate coord); } static class LightHandle implements INBTTReady { @@ -156,21 +156,21 @@ public static void addLight(World w, int x, int y, int z, int light, int timeout Utils.println("ASSERT if(t != null && t instanceof LightBlockEntity)"); } - public static void addLight(Coordonate coord, int light, int timeout) { + public static void addLight(Coordinate coord, int light, int timeout) { addLight(coord.world(), coord.x, coord.y, coord.z, light, timeout); } - /*public static void removeLight(Coordonate coord, int light) { + /*public static void removeLight(Coordinate coord, int light) { int blockId = coord.getBlockId(); if (blockId != Eln.lightBlockId) return; ((LightBlockEntity)coord.getTileEntity()).removeLight(light); } - public static void replaceLight(Coordonate coord, int oldLight, int newLight) { + public static void replaceLight(Coordinate coord, int oldLight, int newLight) { int blockId = coord.getBlockId(); if (blockId != Eln.lightBlockId) { //coord.setBlock(Eln.lightBlockId, newLight); - Utils.println("ASSERT public static void replaceLight(Coordonate coord, int oldLight, int newLight) " + coord); + Utils.println("ASSERT public static void replaceLight(Coordinate coord, int oldLight, int newLight) " + coord); return; } ((LightBlockEntity)coord.getTileEntity()).replaceLight(oldLight,newLight); diff --git a/src/main/java/mods/eln/sixnode/lampsupply/LampSupplyDescriptor.java b/src/main/java/mods/eln/sixnode/lampsupply/LampSupplyDescriptor.java index 0004c8e78..5094a7dbb 100644 --- a/src/main/java/mods/eln/sixnode/lampsupply/LampSupplyDescriptor.java +++ b/src/main/java/mods/eln/sixnode/lampsupply/LampSupplyDescriptor.java @@ -62,29 +62,30 @@ public void draw(float openFactor) { UtilsClient.enableCulling(); } - @Override - public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { - return type != ItemRenderType.INVENTORY; - } - - @Override - public boolean handleRenderType(ItemStack item, ItemRenderType type) { - return true; - } - - @Override - public boolean shouldUseRenderHelperEln(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { - return type != ItemRenderType.INVENTORY; - } - - @Override - public void renderItem(ItemRenderType type, ItemStack item, Object... data) { - if (type == ItemRenderType.INVENTORY) { - super.renderItem(type, item, data); - } else { - draw(1f); - } - } + // TODO(1.10): Fix item render. +// @Override +// public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { +// return type != ItemRenderType.INVENTORY; +// } +// +// @Override +// public boolean handleRenderType(ItemStack item, ItemRenderType type) { +// return true; +// } +// +// @Override +// public boolean shouldUseRenderHelperEln(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { +// return type != ItemRenderType.INVENTORY; +// } +// +// @Override +// public void renderItem(ItemRenderType type, ItemStack item, Object... data) { +// if (type == ItemRenderType.INVENTORY) { +// super.renderItem(type, item, data); +// } else { +// draw(1f); +// } +// } @Override public void addInformation(ItemStack itemStack, EntityPlayer entityPlayer, List list, boolean par4) { diff --git a/src/main/java/mods/eln/sixnode/lampsupply/LampSupplyElement.java b/src/main/java/mods/eln/sixnode/lampsupply/LampSupplyElement.java index 884ed18ab..d51ae130e 100644 --- a/src/main/java/mods/eln/sixnode/lampsupply/LampSupplyElement.java +++ b/src/main/java/mods/eln/sixnode/lampsupply/LampSupplyElement.java @@ -256,7 +256,7 @@ protected void inventoryChanged() { public boolean onBlockActivated(EntityPlayer entityPlayer, Direction side, float vx, float vy, float vz) { if (onBlockActivatedRotate(entityPlayer)) return true; - return inventory.take(entityPlayer.getCurrentEquippedItem(), this, false, true); + return inventory.take(entityPlayer.getHeldItemMainhand(), this, false, true); } @Override diff --git a/src/main/java/mods/eln/sixnode/lampsupply/LampSupplyRender.java b/src/main/java/mods/eln/sixnode/lampsupply/LampSupplyRender.java index 0c7c3ddeb..653912ff1 100644 --- a/src/main/java/mods/eln/sixnode/lampsupply/LampSupplyRender.java +++ b/src/main/java/mods/eln/sixnode/lampsupply/LampSupplyRender.java @@ -20,7 +20,7 @@ public class LampSupplyRender extends SixNodeElementRender { LampSupplyDescriptor descriptor; - Coordonate coord; + Coordinate coord; PhysicalInterpolator interpolator; public ArrayList entries = new ArrayList(); @@ -34,7 +34,7 @@ public LampSupplyRender(SixNodeEntity tileEntity, Direction side, SixNodeDescrip super(tileEntity, side, descriptor); this.descriptor = (LampSupplyDescriptor) descriptor; interpolator = new PhysicalInterpolator(0.4f, 8.0f, 0.9f, 0.2f); - coord = new Coordonate(tileEntity); + coord = new Coordinate(tileEntity); for (int i = 0; i < ((LampSupplyDescriptor) descriptor).channelCount; i++) { entries.add(new LampSupplyElement.Entry("", "", 2)); } diff --git a/src/main/java/mods/eln/sixnode/modbusrtu/ModbusRtuDescriptor.java b/src/main/java/mods/eln/sixnode/modbusrtu/ModbusRtuDescriptor.java index 3f48c6312..b87bd6857 100644 --- a/src/main/java/mods/eln/sixnode/modbusrtu/ModbusRtuDescriptor.java +++ b/src/main/java/mods/eln/sixnode/modbusrtu/ModbusRtuDescriptor.java @@ -41,30 +41,31 @@ public void setParent(Item item, int damage) { Data.addSignal(newItemStack()); } - @Override - public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { - return type != ItemRenderType.INVENTORY; - } - - @Override - public boolean handleRenderType(ItemStack item, ItemRenderType type) { - return true; - } - - @Override - public boolean shouldUseRenderHelperEln(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { - return type != ItemRenderType.INVENTORY; - } - - @Override - public void renderItem(ItemRenderType type, ItemStack item, Object... data) { - if (type == ItemRenderType.INVENTORY) { - super.renderItem(type, item, data); - } else { - GL11.glTranslatef(-0.3f, -0.1f, 0f); - draw(0.7f, false, false); - } - } + // TODO(1.10): Fix item render. +// @Override +// public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { +// return type != ItemRenderType.INVENTORY; +// } +// +// @Override +// public boolean handleRenderType(ItemStack item, ItemRenderType type) { +// return true; +// } +// +// @Override +// public boolean shouldUseRenderHelperEln(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { +// return type != ItemRenderType.INVENTORY; +// } +// +// @Override +// public void renderItem(ItemRenderType type, ItemStack item, Object... data) { +// if (type == ItemRenderType.INVENTORY) { +// super.renderItem(type, item, data); +// } else { +// GL11.glTranslatef(-0.3f, -0.1f, 0f); +// draw(0.7f, false, false); +// } +// } void draw(float open, boolean activityLed, boolean errorLed) { if (main != null) main.draw(); diff --git a/src/main/java/mods/eln/sixnode/modbusrtu/ModbusRtuElement.java b/src/main/java/mods/eln/sixnode/modbusrtu/ModbusRtuElement.java index c9daf6bbb..7c312d987 100644 --- a/src/main/java/mods/eln/sixnode/modbusrtu/ModbusRtuElement.java +++ b/src/main/java/mods/eln/sixnode/modbusrtu/ModbusRtuElement.java @@ -321,7 +321,7 @@ public void networkUnserialize(DataInputStream stream, EntityPlayerMP player) { } uuid++; ServerWirelessTxStatus tx; - wirelessTxStatusList.put(uuid, tx = new ServerWirelessTxStatus(name, -1, 0, sixNode.coordonate, uuid, this)); + wirelessTxStatusList.put(uuid, tx = new ServerWirelessTxStatus(name, -1, 0, sixNode.coordinate, uuid, this)); sendTx1Syncronise(tx); } diff --git a/src/main/java/mods/eln/sixnode/modbusrtu/ModbusRtuRender.java b/src/main/java/mods/eln/sixnode/modbusrtu/ModbusRtuRender.java index 15c5e4aaa..b04d42ca2 100644 --- a/src/main/java/mods/eln/sixnode/modbusrtu/ModbusRtuRender.java +++ b/src/main/java/mods/eln/sixnode/modbusrtu/ModbusRtuRender.java @@ -15,7 +15,7 @@ public class ModbusRtuRender extends SixNodeElementRender { - Coordonate coord; + Coordinate coord; PhysicalInterpolator interpolator; float modbusActivityTimeout = 0; float modbusErrorTimeout = 0; @@ -36,7 +36,7 @@ public ModbusRtuRender(SixNodeEntity tileEntity, Direction side, SixNodeDescript this.descriptor = (ModbusRtuDescriptor) descriptor; interpolator = new PhysicalInterpolator(0.4f, 8.0f, 0.9f, 0.2f); - coord = new Coordonate(tileEntity); + coord = new Coordinate(tileEntity); } @Override diff --git a/src/main/java/mods/eln/sixnode/modbusrtu/ServerWirelessTxStatus.java b/src/main/java/mods/eln/sixnode/modbusrtu/ServerWirelessTxStatus.java index 239f4e705..b5593f4d0 100644 --- a/src/main/java/mods/eln/sixnode/modbusrtu/ServerWirelessTxStatus.java +++ b/src/main/java/mods/eln/sixnode/modbusrtu/ServerWirelessTxStatus.java @@ -1,7 +1,7 @@ package mods.eln.sixnode.modbusrtu; import mods.eln.Eln; -import mods.eln.misc.Coordonate; +import mods.eln.misc.Coordinate; import mods.eln.misc.Utils; import mods.eln.sixnode.wirelesssignal.IWirelessSignalTx; import mods.eln.sixnode.wirelesssignal.tx.WirelessSignalTxElement; @@ -11,14 +11,14 @@ public class ServerWirelessTxStatus extends WirelessTxStatus implements IWireles private ModbusRtuElement rtu; - Coordonate coordonate; + Coordinate coordinate; short getHoldingRegister_1; short setHoldingRegister_0; - public ServerWirelessTxStatus(String name, int id, double value, Coordonate coordonate, int uuid, ModbusRtuElement rtu) { + public ServerWirelessTxStatus(String name, int id, double value, Coordinate coordinate, int uuid, ModbusRtuElement rtu) { super(name, id, value, uuid); - this.coordonate = coordonate; + this.coordinate = coordinate; WirelessSignalTxElement.channelRegister(this); this.rtu = rtu; rtu.mapping.add(this); @@ -27,7 +27,7 @@ public ServerWirelessTxStatus(String name, int id, double value, Coordonate coor public ServerWirelessTxStatus(NBTTagCompound nbt, String str, ModbusRtuElement rtu) { super(); readFromNBT(nbt, str); - this.coordonate = rtu.sixNode.coordonate; + this.coordinate = rtu.sixNode.coordinate; WirelessSignalTxElement.channelRegister(this); this.rtu = rtu; rtu.mapping.add(this); @@ -45,8 +45,8 @@ public void delete() { } @Override - public Coordonate getCoordonate() { - return coordonate; + public Coordinate getCoordinate() { + return coordinate; } @Override diff --git a/src/main/java/mods/eln/sixnode/powercapacitorsix/PowerCapacitorSixDescriptor.java b/src/main/java/mods/eln/sixnode/powercapacitorsix/PowerCapacitorSixDescriptor.java index 449c230b8..7af54f60b 100644 --- a/src/main/java/mods/eln/sixnode/powercapacitorsix/PowerCapacitorSixDescriptor.java +++ b/src/main/java/mods/eln/sixnode/powercapacitorsix/PowerCapacitorSixDescriptor.java @@ -80,27 +80,28 @@ void draw() { if (null != CapacitorCore) CapacitorCore.draw(); } - @Override - public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { - return type != ItemRenderType.INVENTORY; - } - - @Override - public boolean handleRenderType(ItemStack item, ItemRenderType type) { - return true; - } - - @Override - public void renderItem(ItemRenderType type, ItemStack item, Object... data) { - if (type != ItemRenderType.INVENTORY) { - GL11.glTranslatef(0.0f, 0.0f, -0.2f); - GL11.glScalef(1.25f, 1.25f, 1.25f); - GL11.glRotatef(-90.f, 0.f, 1.f, 0.f); - draw(); - } else { - super.renderItem(type, item, data); - } - } + // TODO(1.10): Fix item render. +// @Override +// public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { +// return type != ItemRenderType.INVENTORY; +// } +// +// @Override +// public boolean handleRenderType(ItemStack item, ItemRenderType type) { +// return true; +// } +// +// @Override +// public void renderItem(ItemRenderType type, ItemStack item, Object... data) { +// if (type != ItemRenderType.INVENTORY) { +// GL11.glTranslatef(0.0f, 0.0f, -0.2f); +// GL11.glScalef(1.25f, 1.25f, 1.25f); +// GL11.glRotatef(-90.f, 0.f, 1.f, 0.f); +// draw(); +// } else { +// super.renderItem(type, item, data); +// } +// } @Override public LRDU getFrontFromPlace(Direction side, EntityPlayer player) { diff --git a/src/main/java/mods/eln/sixnode/powerinductorsix/PowerInductorSixDescriptor.java b/src/main/java/mods/eln/sixnode/powerinductorsix/PowerInductorSixDescriptor.java index fbaabd55c..a73695737 100644 --- a/src/main/java/mods/eln/sixnode/powerinductorsix/PowerInductorSixDescriptor.java +++ b/src/main/java/mods/eln/sixnode/powerinductorsix/PowerInductorSixDescriptor.java @@ -77,27 +77,28 @@ void draw() { if (null != InductorCore) InductorCore.draw(); } - @Override - public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { - return type != ItemRenderType.INVENTORY; - } - - @Override - public boolean handleRenderType(ItemStack item, ItemRenderType type) { - return true; - } - - @Override - public void renderItem(ItemRenderType type, ItemStack item, Object... data) { - if (type != ItemRenderType.INVENTORY) { - GL11.glTranslatef(0.0f, 0.0f, -0.2f); - GL11.glScalef(1.25f, 1.25f, 1.25f); - GL11.glRotatef(-90.f, 0.f, 1.f, 0.f); - draw(); - } else { - super.renderItem(type, item, data); - } - } + // TODO(1.10): Fix item render. +// @Override +// public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { +// return type != ItemRenderType.INVENTORY; +// } +// +// @Override +// public boolean handleRenderType(ItemStack item, ItemRenderType type) { +// return true; +// } +// +// @Override +// public void renderItem(ItemRenderType type, ItemStack item, Object... data) { +// if (type != ItemRenderType.INVENTORY) { +// GL11.glTranslatef(0.0f, 0.0f, -0.2f); +// GL11.glScalef(1.25f, 1.25f, 1.25f); +// GL11.glRotatef(-90.f, 0.f, 1.f, 0.f); +// draw(); +// } else { +// super.renderItem(type, item, data); +// } +// } @Override public LRDU getFrontFromPlace(Direction side, EntityPlayer player) { diff --git a/src/main/java/mods/eln/sixnode/powersocket/PowerSocketDescriptor.java b/src/main/java/mods/eln/sixnode/powersocket/PowerSocketDescriptor.java index 35035b113..83234d510 100644 --- a/src/main/java/mods/eln/sixnode/powersocket/PowerSocketDescriptor.java +++ b/src/main/java/mods/eln/sixnode/powersocket/PowerSocketDescriptor.java @@ -62,29 +62,30 @@ public void draw() { socket.draw(); } - @Override - public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { - return type != ItemRenderType.INVENTORY; - } - - @Override - public boolean handleRenderType(ItemStack item, ItemRenderType type) { - return true; - } - - @Override - public boolean shouldUseRenderHelperEln(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { - return type != ItemRenderType.INVENTORY; - } - - @Override - public void renderItem(ItemRenderType type, ItemStack item, Object... data) { - if (type == ItemRenderType.INVENTORY) { - super.renderItem(type, item, data); - } else { - draw(); - } - } + // TODO(1.10): Fix item render. +// @Override +// public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { +// return type != ItemRenderType.INVENTORY; +// } +// +// @Override +// public boolean handleRenderType(ItemStack item, ItemRenderType type) { +// return true; +// } +// +// @Override +// public boolean shouldUseRenderHelperEln(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { +// return type != ItemRenderType.INVENTORY; +// } +// +// @Override +// public void renderItem(ItemRenderType type, ItemStack item, Object... data) { +// if (type == ItemRenderType.INVENTORY) { +// super.renderItem(type, item, data); +// } else { +// draw(); +// } +// } @Override public void addInformation(ItemStack itemStack, EntityPlayer entityPlayer, List list, boolean par4) { diff --git a/src/main/java/mods/eln/sixnode/powersocket/PowerSocketRender.java b/src/main/java/mods/eln/sixnode/powersocket/PowerSocketRender.java index 674993cb7..211c1fc9e 100644 --- a/src/main/java/mods/eln/sixnode/powersocket/PowerSocketRender.java +++ b/src/main/java/mods/eln/sixnode/powersocket/PowerSocketRender.java @@ -1,7 +1,7 @@ package mods.eln.sixnode.powersocket; import mods.eln.cable.CableRenderDescriptor; -import mods.eln.misc.Coordonate; +import mods.eln.misc.Coordinate; import mods.eln.misc.Direction; import mods.eln.misc.LRDU; import mods.eln.misc.Utils; @@ -21,7 +21,7 @@ public class PowerSocketRender extends SixNodeElementRender { PowerSocketDescriptor descriptor; - Coordonate coord; + Coordinate coord; String channel; CableRenderDescriptor cableRender; @@ -31,7 +31,7 @@ public class PowerSocketRender extends SixNodeElementRender { public PowerSocketRender(SixNodeEntity tileEntity, Direction side, SixNodeDescriptor descriptor) { super(tileEntity, side, descriptor); this.descriptor = (PowerSocketDescriptor) descriptor; - coord = new Coordonate(tileEntity); + coord = new Coordinate(tileEntity); } @Override diff --git a/src/main/java/mods/eln/sixnode/resistor/ResistorDescriptor.java b/src/main/java/mods/eln/sixnode/resistor/ResistorDescriptor.java index 3fb723f16..5faf5406d 100644 --- a/src/main/java/mods/eln/sixnode/resistor/ResistorDescriptor.java +++ b/src/main/java/mods/eln/sixnode/resistor/ResistorDescriptor.java @@ -11,7 +11,6 @@ import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.IInventory; import net.minecraft.item.ItemStack; -import net.minecraftforge.client.IItemRenderer; import org.lwjgl.opengl.GL11; /** @@ -86,27 +85,28 @@ void draw(float wiperPos) { } } - @Override - public boolean shouldUseRenderHelper(IItemRenderer.ItemRenderType type, ItemStack item, IItemRenderer.ItemRendererHelper helper) { - return type != ItemRenderType.INVENTORY; - } - - @Override - public boolean handleRenderType(ItemStack item, IItemRenderer.ItemRenderType type) { - return true; - } - - @Override - public void renderItem(IItemRenderer.ItemRenderType type, ItemStack item, Object... data) { - if (type != ItemRenderType.INVENTORY) { - GL11.glTranslatef(0.0f, 0.0f, -0.2f); - GL11.glScalef(1.25f, 1.25f, 1.25f); - GL11.glRotatef(-90.f, 0.f, 1.f, 0.f); - draw(0); - } else { - super.renderItem(type, item, data); - } - } + // TODO(1.10): Fix item render. +// @Override +// public boolean shouldUseRenderHelper(IItemRenderer.ItemRenderType type, ItemStack item, IItemRenderer.ItemRendererHelper helper) { +// return type != ItemRenderType.INVENTORY; +// } +// +// @Override +// public boolean handleRenderType(ItemStack item, IItemRenderer.ItemRenderType type) { +// return true; +// } +// +// @Override +// public void renderItem(IItemRenderer.ItemRenderType type, ItemStack item, Object... data) { +// if (type != ItemRenderType.INVENTORY) { +// GL11.glTranslatef(0.0f, 0.0f, -0.2f); +// GL11.glScalef(1.25f, 1.25f, 1.25f); +// GL11.glRotatef(-90.f, 0.f, 1.f, 0.f); +// draw(0); +// } else { +// super.renderItem(type, item, data); +// } +// } @Override public LRDU getFrontFromPlace(Direction side, EntityPlayer player) { diff --git a/src/main/java/mods/eln/sixnode/tutorialsign/TutorialSignDescriptor.java b/src/main/java/mods/eln/sixnode/tutorialsign/TutorialSignDescriptor.java index 88f72ec47..200409b66 100644 --- a/src/main/java/mods/eln/sixnode/tutorialsign/TutorialSignDescriptor.java +++ b/src/main/java/mods/eln/sixnode/tutorialsign/TutorialSignDescriptor.java @@ -56,27 +56,28 @@ void draw(float factor) { GL11.glColor3f(1f, 1f, 1f); } - @Override - public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { - return type != ItemRenderType.INVENTORY; - } - - @Override - public boolean handleRenderType(ItemStack item, ItemRenderType type) { - return true; - } - - @Override - public boolean shouldUseRenderHelperEln(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { - return type != ItemRenderType.INVENTORY; - } - - @Override - public void renderItem(ItemRenderType type, ItemStack item, Object... data) { - if (type == ItemRenderType.INVENTORY) { - super.renderItem(type, item, data); - } else { - draw(1f); - } - } + // TODO(1.10): Fix item render. +// @Override +// public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { +// return type != ItemRenderType.INVENTORY; +// } +// +// @Override +// public boolean handleRenderType(ItemStack item, ItemRenderType type) { +// return true; +// } +// +// @Override +// public boolean shouldUseRenderHelperEln(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { +// return type != ItemRenderType.INVENTORY; +// } +// +// @Override +// public void renderItem(ItemRenderType type, ItemStack item, Object... data) { +// if (type == ItemRenderType.INVENTORY) { +// super.renderItem(type, item, data); +// } else { +// draw(1f); +// } +// } } diff --git a/src/main/java/mods/eln/sixnode/tutorialsign/TutorialSignOverlay.java b/src/main/java/mods/eln/sixnode/tutorialsign/TutorialSignOverlay.java index e9ecec8dc..9c1c3ba81 100644 --- a/src/main/java/mods/eln/sixnode/tutorialsign/TutorialSignOverlay.java +++ b/src/main/java/mods/eln/sixnode/tutorialsign/TutorialSignOverlay.java @@ -1,14 +1,15 @@ package mods.eln.sixnode.tutorialsign; -import cpw.mods.fml.common.eventhandler.SubscribeEvent; +import net.minecraft.client.entity.EntityPlayerSP; +import net.minecraft.util.math.BlockPos; +import net.minecraft.util.math.MathHelper; +import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; import mods.eln.misc.Utils; import mods.eln.node.six.SixNodeBlock; import mods.eln.node.six.SixNodeElementRender; import mods.eln.node.six.SixNodeEntity; import net.minecraft.client.Minecraft; -import net.minecraft.client.entity.EntityClientPlayerMP; import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.MathHelper; import net.minecraft.world.World; import net.minecraftforge.client.event.RenderGameOverlayEvent; import org.lwjgl.opengl.GL11; @@ -25,7 +26,7 @@ public TutorialSignOverlay() { @SubscribeEvent public void render(RenderGameOverlayEvent.Text event) { Minecraft mc = Minecraft.getMinecraft(); - EntityClientPlayerMP player = mc.thePlayer; + EntityPlayerSP player = mc.thePlayer; if (oldRender != null) { oldRender.lightInterpol.setTarget(0); @@ -42,8 +43,9 @@ public void render(RenderGameOverlayEvent.Text event) { for (int x = px - r; x <= px + r; x++) { for (int y = py - r; y <= py + r; y++) { for (int z = pz - r; z <= pz + r; z++) { - if (w.getBlock(x, y, z) instanceof SixNodeBlock) { - TileEntity e = w.getTileEntity(x, y, z); + BlockPos pos = new BlockPos(x, y, z); + if (w.getBlockState(pos).getBlock() instanceof SixNodeBlock) { + TileEntity e = w.getTileEntity(pos); if (e instanceof SixNodeEntity) { SixNodeEntity sne = (SixNodeEntity) e; for (SixNodeElementRender render : sne.elementRenderList) { @@ -69,7 +71,7 @@ public void render(RenderGameOverlayEvent.Text event) { GL11.glScalef(0.5f, 0.5f, 0.5f); int y = 0; for (String str : best.texts) { - Minecraft.getMinecraft().fontRenderer.drawString(str, 10/* event.resolution.getScaledWidth() / 2 - 50*/, 10 + y, 0xFFFFFF); + Minecraft.getMinecraft().fontRendererObj.drawString(str, 10/* event.resolution.getScaledWidth() / 2 - 50*/, 10 + y, 0xFFFFFF); y += 10; } GL11.glPopMatrix(); diff --git a/src/main/java/mods/eln/sixnode/wirelesssignal/IWirelessSignalSpot.java b/src/main/java/mods/eln/sixnode/wirelesssignal/IWirelessSignalSpot.java index 9cf819ed2..41ae88534 100644 --- a/src/main/java/mods/eln/sixnode/wirelesssignal/IWirelessSignalSpot.java +++ b/src/main/java/mods/eln/sixnode/wirelesssignal/IWirelessSignalSpot.java @@ -1,6 +1,6 @@ package mods.eln.sixnode.wirelesssignal; -import mods.eln.misc.Coordonate; +import mods.eln.misc.Coordinate; import java.util.ArrayList; import java.util.HashMap; @@ -13,7 +13,7 @@ public interface IWirelessSignalSpot { ArrayList getSpot(); - Coordonate getCoordonate(); + Coordinate getCoordinate(); public int getRange(); } diff --git a/src/main/java/mods/eln/sixnode/wirelesssignal/IWirelessSignalTx.java b/src/main/java/mods/eln/sixnode/wirelesssignal/IWirelessSignalTx.java index 83590edc7..587ef7208 100644 --- a/src/main/java/mods/eln/sixnode/wirelesssignal/IWirelessSignalTx.java +++ b/src/main/java/mods/eln/sixnode/wirelesssignal/IWirelessSignalTx.java @@ -1,10 +1,10 @@ package mods.eln.sixnode.wirelesssignal; -import mods.eln.misc.Coordonate; +import mods.eln.misc.Coordinate; public interface IWirelessSignalTx { - public Coordonate getCoordonate(); + public Coordinate getCoordinate(); public int getRange(); diff --git a/src/main/java/mods/eln/sixnode/wirelesssignal/WirelessSignalAnalyserItemDescriptor.java b/src/main/java/mods/eln/sixnode/wirelesssignal/WirelessSignalAnalyserItemDescriptor.java index 7f7feba90..0a27abf4f 100644 --- a/src/main/java/mods/eln/sixnode/wirelesssignal/WirelessSignalAnalyserItemDescriptor.java +++ b/src/main/java/mods/eln/sixnode/wirelesssignal/WirelessSignalAnalyserItemDescriptor.java @@ -1,7 +1,7 @@ package mods.eln.sixnode.wirelesssignal; import mods.eln.generic.GenericItemUsingDamageDescriptor; -import mods.eln.misc.Coordonate; +import mods.eln.misc.Coordinate; import mods.eln.misc.Direction; import mods.eln.misc.Utils; import mods.eln.sixnode.wirelesssignal.WirelessUtils.WirelessSignalSpot; @@ -25,7 +25,7 @@ public boolean onItemUse(ItemStack stack, EntityPlayer player, World world, int if (world.isRemote) return true; Utils.addChatMessage(player, "-------------------"); Direction dir = Direction.fromIntMinecraftSide(side); - Coordonate c = new Coordonate(x, y, z, world); + Coordinate c = new Coordinate(x, y, z, world); c.move(dir); WirelessSignalSpot spot = WirelessUtils.buildSpot(c, null, 0); diff --git a/src/main/java/mods/eln/sixnode/wirelesssignal/WirelessUtils.java b/src/main/java/mods/eln/sixnode/wirelesssignal/WirelessUtils.java index 02ea2f8a1..a33590aa4 100644 --- a/src/main/java/mods/eln/sixnode/wirelesssignal/WirelessUtils.java +++ b/src/main/java/mods/eln/sixnode/wirelesssignal/WirelessUtils.java @@ -1,9 +1,8 @@ package mods.eln.sixnode.wirelesssignal; -import mods.eln.misc.Coordonate; +import mods.eln.misc.Coordinate; import mods.eln.sixnode.wirelesssignal.tx.WirelessSignalTxElement; import net.minecraft.block.Block; -import net.minecraft.init.Blocks; import net.minecraft.world.World; import java.util.*; @@ -30,13 +29,13 @@ private static void getTx(IWirelessSignalSpot from, HashMap txs : from.getTx().values()) { for (IWirelessSignalTx tx : txs) { if (isRoot) - strength = tx.getRange() - getVirtualDistance(tx.getCoordonate(), from.getCoordonate(), tx.getCoordonate().trueDistanceTo(from.getCoordonate())); + strength = tx.getRange() - getVirtualDistance(tx.getCoordinate(), from.getCoordinate(), tx.getCoordinate().trueDistanceTo(from.getCoordinate())); addTo(tx, strength, txSet, txStrength); } } for (IWirelessSignalSpot spot : from.getSpot()) { if (isRoot) - strength = spot.getRange() - getVirtualDistance(spot.getCoordonate(), from.getCoordonate(), spot.getCoordonate().trueDistanceTo(from.getCoordonate())); + strength = spot.getRange() - getVirtualDistance(spot.getCoordinate(), from.getCoordinate(), spot.getCoordinate().trueDistanceTo(from.getCoordinate())); getTx(spot, txSet, txStrength, spotSet, false, strength); } } else { @@ -53,7 +52,7 @@ private static void getTx(IWirelessSignalSpot from, HashMap txs = root.getTx().get(channel); if(txs != null) txSet.addAll(txs); }else{ for(ArrayList txs : root.getTx().values()){ txSet.addAll(txs); } } } */ - public static WirelessSignalSpot buildSpot(Coordonate c, String channel, int range) { + public static WirelessSignalSpot buildSpot(Coordinate c, String channel, int range) { HashMap> txs = new HashMap>(); ArrayList spots = new ArrayList(); for (IWirelessSignalSpot spot : IWirelessSignalSpot.spots) { - if (isInRange(spot.getCoordonate(), c, spot.getRange())) { + if (isInRange(spot.getCoordinate(), c, spot.getRange())) { spots.add(spot); } } @@ -123,7 +122,7 @@ public static WirelessSignalSpot buildSpot(Coordonate c, String channel, int ran List sameChannelTx = WirelessSignalTxElement.channelMap.get(channel); if (sameChannelTx != null) { for (IWirelessSignalTx tx : sameChannelTx) { - if (isInRange(tx.getCoordonate(), c, tx.getRange())) { + if (isInRange(tx.getCoordinate(), c, tx.getRange())) { inRangeTx.add(tx); } } @@ -135,7 +134,7 @@ public static WirelessSignalSpot buildSpot(Coordonate c, String channel, int ran ArrayList inRangeTx = new ArrayList(); for (IWirelessSignalTx tx : entryTxs.getValue()) { - if (isInRange(tx.getCoordonate(), c, tx.getRange())) { + if (isInRange(tx.getCoordinate(), c, tx.getRange())) { inRangeTx.add(tx); } } @@ -148,14 +147,14 @@ public static WirelessSignalSpot buildSpot(Coordonate c, String channel, int ran return new WirelessSignalSpot(txs, spots, c, range); } - static private boolean isInRange(Coordonate txC, Coordonate rxC, double range) { + static private boolean isInRange(Coordinate txC, Coordinate rxC, double range) { double distance = txC.trueDistanceTo(rxC); if (distance > range) return false; if (getVirtualDistance(txC, rxC, distance) > range) return false; return true; } - static private double getVirtualDistance(Coordonate txC, Coordonate rxC, double distance) { + static private double getVirtualDistance(Coordinate txC, Coordinate rxC, double distance) { double virtualDistance = distance; if (distance > 2) { double vx, vy, vz; @@ -167,8 +166,8 @@ static private double getVirtualDistance(Coordonate txC, Coordonate rxC, double dx = (txC.x - rxC.x) / distance; dy = (txC.y - rxC.y) / distance; dz = (txC.z - rxC.z) / distance; - Coordonate c = new Coordonate(); - c.setDimention(rxC.dimention); + Coordinate c = new Coordinate(); + c.setDimension(rxC.dimension); for (int idx = 0; idx < distance - 1; idx++) { vx += dx; @@ -177,7 +176,7 @@ static private double getVirtualDistance(Coordonate txC, Coordonate rxC, double c.x = (int) vx; c.y = (int) vy; c.z = (int) vz; - if (c.getBlockExist()) { + if (c.doesBlockExist()) { Block b = c.getBlock(); World w = c.world(); @@ -195,13 +194,13 @@ public static class WirelessSignalSpot implements IWirelessSignalSpot { HashMap> txs; ArrayList spots; - Coordonate coordonate; + Coordinate coordinate; int range; - public WirelessSignalSpot(HashMap> txs, ArrayList spots, Coordonate coordonate, int range) { + public WirelessSignalSpot(HashMap> txs, ArrayList spots, Coordinate coordinate, int range) { this.txs = txs; this.spots = spots; - this.coordonate = coordonate; + this.coordinate = coordinate; this.range = range; } @@ -216,8 +215,8 @@ public ArrayList getSpot() { } @Override - public Coordonate getCoordonate() { - return coordonate; + public Coordinate getCoordinate() { + return coordinate; } @Override diff --git a/src/main/java/mods/eln/sixnode/wirelesssignal/repeater/WirelessSignalRepeaterDescriptor.java b/src/main/java/mods/eln/sixnode/wirelesssignal/repeater/WirelessSignalRepeaterDescriptor.java index 155c779ee..6450157c0 100644 --- a/src/main/java/mods/eln/sixnode/wirelesssignal/repeater/WirelessSignalRepeaterDescriptor.java +++ b/src/main/java/mods/eln/sixnode/wirelesssignal/repeater/WirelessSignalRepeaterDescriptor.java @@ -38,32 +38,32 @@ public void setParent(Item item, int damage) { Data.addSignal(newItemStack()); } - @Override - public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { - return type != ItemRenderType.INVENTORY; - } - - @Override - public boolean handleRenderType(ItemStack item, ItemRenderType type) { - return true; - } - - @Override - public boolean shouldUseRenderHelperEln(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { - return type != ItemRenderType.INVENTORY; - } - - @Override - public void renderItem(ItemRenderType type, ItemStack item, Object... data) { - if (type == ItemRenderType.INVENTORY) { - super.renderItem(type, item, data); - } else { - if (type == ItemRenderType.ENTITY) { - GL11.glScalef(2.8f, 2.8f, 2.8f); - } - draw(); - } - } +// @Override +// public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { +// return type != ItemRenderType.INVENTORY; +// } +// +// @Override +// public boolean handleRenderType(ItemStack item, ItemRenderType type) { +// return true; +// } +// +// @Override +// public boolean shouldUseRenderHelperEln(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { +// return type != ItemRenderType.INVENTORY; +// } +// +// @Override +// public void renderItem(ItemRenderType type, ItemStack item, Object... data) { +// if (type == ItemRenderType.INVENTORY) { +// super.renderItem(type, item, data); +// } else { +// if (type == ItemRenderType.ENTITY) { +// GL11.glScalef(2.8f, 2.8f, 2.8f); +// } +// draw(); +// } +// } public void draw() { if (main != null) main.draw(); diff --git a/src/main/java/mods/eln/sixnode/wirelesssignal/repeater/WirelessSignalRepeaterProcess.java b/src/main/java/mods/eln/sixnode/wirelesssignal/repeater/WirelessSignalRepeaterProcess.java index 72787382d..32f4bbcec 100644 --- a/src/main/java/mods/eln/sixnode/wirelesssignal/repeater/WirelessSignalRepeaterProcess.java +++ b/src/main/java/mods/eln/sixnode/wirelesssignal/repeater/WirelessSignalRepeaterProcess.java @@ -1,6 +1,6 @@ package mods.eln.sixnode.wirelesssignal.repeater; -import mods.eln.misc.Coordonate; +import mods.eln.misc.Coordinate; import mods.eln.misc.Utils; import mods.eln.sim.IProcess; import mods.eln.sixnode.wirelesssignal.IWirelessSignalSpot; @@ -49,7 +49,7 @@ public ArrayList getSpot() { } @Override - public Coordonate getCoordonate() { + public Coordinate getCoordinate() { return rx.getCoordonate(); } diff --git a/src/main/java/mods/eln/sixnode/wirelesssignal/rx/WirelessSignalRxDescriptor.java b/src/main/java/mods/eln/sixnode/wirelesssignal/rx/WirelessSignalRxDescriptor.java index 9b8d0f0a6..667c68164 100644 --- a/src/main/java/mods/eln/sixnode/wirelesssignal/rx/WirelessSignalRxDescriptor.java +++ b/src/main/java/mods/eln/sixnode/wirelesssignal/rx/WirelessSignalRxDescriptor.java @@ -32,32 +32,33 @@ public void setParent(Item item, int damage) { Data.addSignal(newItemStack()); } - @Override - public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { - return type != ItemRenderType.INVENTORY; - } - - @Override - public boolean handleRenderType(ItemStack item, ItemRenderType type) { - return true; - } - - @Override - public boolean shouldUseRenderHelperEln(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { - return type != ItemRenderType.INVENTORY; - } - - @Override - public void renderItem(ItemRenderType type, ItemStack item, Object... data) { - if (type == ItemRenderType.INVENTORY) { - super.renderItem(type, item, data); - } else { - if (type == ItemRenderType.ENTITY) { - GL11.glScalef(2.8f, 2.8f, 2.8f); - } - draw(false); - } - } + // TODO(1.10): Fix item render. +// @Override +// public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { +// return type != ItemRenderType.INVENTORY; +// } +// +// @Override +// public boolean handleRenderType(ItemStack item, ItemRenderType type) { +// return true; +// } +// +// @Override +// public boolean shouldUseRenderHelperEln(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { +// return type != ItemRenderType.INVENTORY; +// } +// +// @Override +// public void renderItem(ItemRenderType type, ItemStack item, Object... data) { +// if (type == ItemRenderType.INVENTORY) { +// super.renderItem(type, item, data); +// } else { +// if (type == ItemRenderType.ENTITY) { +// GL11.glScalef(2.8f, 2.8f, 2.8f); +// } +// draw(false); +// } +// } public void draw(boolean connection) { if (main != null) main.draw(); diff --git a/src/main/java/mods/eln/sixnode/wirelesssignal/rx/WirelessSignalRxElement.java b/src/main/java/mods/eln/sixnode/wirelesssignal/rx/WirelessSignalRxElement.java index 12313afa2..2595c3fd6 100644 --- a/src/main/java/mods/eln/sixnode/wirelesssignal/rx/WirelessSignalRxElement.java +++ b/src/main/java/mods/eln/sixnode/wirelesssignal/rx/WirelessSignalRxElement.java @@ -1,7 +1,7 @@ package mods.eln.sixnode.wirelesssignal.rx; import mods.eln.i18n.I18N; -import mods.eln.misc.Coordonate; +import mods.eln.misc.Coordinate; import mods.eln.misc.Direction; import mods.eln.misc.LRDU; import mods.eln.misc.Utils; @@ -17,7 +17,6 @@ import mods.eln.sixnode.wirelesssignal.aggregator.IWirelessSignalAggregator; import mods.eln.sixnode.wirelesssignal.aggregator.SmallerAggregator; import mods.eln.sixnode.wirelesssignal.aggregator.ToogleAggregator; -import net.minecraft.entity.player.EntityPlayer; import net.minecraft.nbt.NBTTagCompound; import javax.annotation.Nullable; @@ -129,8 +128,8 @@ public void readFromNBT(NBTTagCompound nbt) { } @Override - public Coordonate getCoordonate() { - return sixNode.coordonate; + public Coordinate getCoordonate() { + return sixNode.coordinate; } @Override diff --git a/src/main/java/mods/eln/sixnode/wirelesssignal/source/WirelessSignalSourceDescriptor.java b/src/main/java/mods/eln/sixnode/wirelesssignal/source/WirelessSignalSourceDescriptor.java index 607d572ce..802162995 100644 --- a/src/main/java/mods/eln/sixnode/wirelesssignal/source/WirelessSignalSourceDescriptor.java +++ b/src/main/java/mods/eln/sixnode/wirelesssignal/source/WirelessSignalSourceDescriptor.java @@ -30,34 +30,35 @@ void draw(float factor, float distance, TileEntity e) { render.draw(factor, distance, e); } - @Override - public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { - return type != ItemRenderType.INVENTORY; - } - - @Override - public void setParent(Item item, int damage) { - super.setParent(item, damage); - Data.addSignal(newItemStack()); - } - - @Override - public boolean handleRenderType(ItemStack item, ItemRenderType type) { - return true; - } - - @Override - public boolean shouldUseRenderHelperEln(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { - return type != ItemRenderType.INVENTORY; - } - - @Override - public void renderItem(ItemRenderType type, ItemStack item, Object... data) { - if (type == ItemRenderType.INVENTORY) { - super.renderItem(type, item, data); - } else { - GL11.glScalef(1.5f, 1.5f, 1.5f); - draw(0f, 1f, null); - } - } + // TODO(1.10): Fix item render. +// @Override +// public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { +// return type != ItemRenderType.INVENTORY; +// } +// +// @Override +// public void setParent(Item item, int damage) { +// super.setParent(item, damage); +// Data.addSignal(newItemStack()); +// } +// +// @Override +// public boolean handleRenderType(ItemStack item, ItemRenderType type) { +// return true; +// } +// +// @Override +// public boolean shouldUseRenderHelperEln(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { +// return type != ItemRenderType.INVENTORY; +// } +// +// @Override +// public void renderItem(ItemRenderType type, ItemStack item, Object... data) { +// if (type == ItemRenderType.INVENTORY) { +// super.renderItem(type, item, data); +// } else { +// GL11.glScalef(1.5f, 1.5f, 1.5f); +// draw(0f, 1f, null); +// } +// } } diff --git a/src/main/java/mods/eln/sixnode/wirelesssignal/source/WirelessSignalSourceElement.java b/src/main/java/mods/eln/sixnode/wirelesssignal/source/WirelessSignalSourceElement.java index a919c1859..606c309c3 100644 --- a/src/main/java/mods/eln/sixnode/wirelesssignal/source/WirelessSignalSourceElement.java +++ b/src/main/java/mods/eln/sixnode/wirelesssignal/source/WirelessSignalSourceElement.java @@ -1,6 +1,6 @@ package mods.eln.sixnode.wirelesssignal.source; -import mods.eln.misc.Coordonate; +import mods.eln.misc.Coordinate; import mods.eln.misc.Direction; import mods.eln.misc.LRDU; import mods.eln.misc.Utils; @@ -42,7 +42,7 @@ public WirelessSignalSourceElement(SixNode sixNode, Direction side, SixNodeDescr this.descriptor = (WirelessSignalSourceDescriptor) descriptor; WirelessSignalTxElement.channelRegister(this); - slowProcessList.add(lightningGlitchProcess = new LightningGlitchProcess(getCoordonate())); + slowProcessList.add(lightningGlitchProcess = new LightningGlitchProcess(getCoordinate())); if (this.descriptor.autoReset) { slowProcessList.add(autoResetProcess = new AutoResetProcess()); autoResetProcess.reset(); @@ -136,8 +136,8 @@ public void readFromNBT(NBTTagCompound nbt) { } @Override - public Coordonate getCoordonate() { - return sixNode.coordonate; + public Coordinate getCoordinate() { + return sixNode.coordinate; } @Override diff --git a/src/main/java/mods/eln/sixnode/wirelesssignal/tx/WirelessSignalTxDescriptor.java b/src/main/java/mods/eln/sixnode/wirelesssignal/tx/WirelessSignalTxDescriptor.java index 03fa75260..87a8eadb1 100644 --- a/src/main/java/mods/eln/sixnode/wirelesssignal/tx/WirelessSignalTxDescriptor.java +++ b/src/main/java/mods/eln/sixnode/wirelesssignal/tx/WirelessSignalTxDescriptor.java @@ -34,39 +34,40 @@ public void draw() { if (main != null) main.draw(); } - @Override - public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { - return type != ItemRenderType.INVENTORY; - } - - @Override - public void setParent(Item item, int damage) { - super.setParent(item, damage); - Data.addSignal(newItemStack()); - } - - @Override - public boolean handleRenderType(ItemStack item, ItemRenderType type) { - return true; - } - - @Override - public boolean shouldUseRenderHelperEln(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { - return type != ItemRenderType.INVENTORY; - } - - @Override - public void renderItem(ItemRenderType type, ItemStack item, Object... data) { - if (type == ItemRenderType.INVENTORY) { - super.renderItem(type, item, data); - } else { - if (type == ItemRenderType.ENTITY) { - // GL11.glTranslatef(1.0f, 0f, 0f); - GL11.glScalef(2.8f, 2.8f, 2.8f); - } - draw(); - } - } + // TODO(1.10): Fix item render. +// @Override +// public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { +// return type != ItemRenderType.INVENTORY; +// } +// +// @Override +// public void setParent(Item item, int damage) { +// super.setParent(item, damage); +// Data.addSignal(newItemStack()); +// } +// +// @Override +// public boolean handleRenderType(ItemStack item, ItemRenderType type) { +// return true; +// } +// +// @Override +// public boolean shouldUseRenderHelperEln(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { +// return type != ItemRenderType.INVENTORY; +// } +// +// @Override +// public void renderItem(ItemRenderType type, ItemStack item, Object... data) { +// if (type == ItemRenderType.INVENTORY) { +// super.renderItem(type, item, data); +// } else { +// if (type == ItemRenderType.ENTITY) { +// // GL11.glTranslatef(1.0f, 0f, 0f); +// GL11.glScalef(2.8f, 2.8f, 2.8f); +// } +// draw(); +// } +// } @Override public LRDU getFrontFromPlace(Direction side, EntityPlayer player) { diff --git a/src/main/java/mods/eln/sixnode/wirelesssignal/tx/WirelessSignalTxElement.java b/src/main/java/mods/eln/sixnode/wirelesssignal/tx/WirelessSignalTxElement.java index d29f9f446..213df0a38 100644 --- a/src/main/java/mods/eln/sixnode/wirelesssignal/tx/WirelessSignalTxElement.java +++ b/src/main/java/mods/eln/sixnode/wirelesssignal/tx/WirelessSignalTxElement.java @@ -2,7 +2,7 @@ import mods.eln.Eln; import mods.eln.i18n.I18N; -import mods.eln.misc.Coordonate; +import mods.eln.misc.Coordinate; import mods.eln.misc.Direction; import mods.eln.misc.LRDU; import mods.eln.misc.Utils; @@ -15,7 +15,6 @@ import mods.eln.sim.ThermalLoad; import mods.eln.sim.nbt.NbtElectricalGateInput; import mods.eln.sixnode.wirelesssignal.IWirelessSignalTx; -import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayerMP; import net.minecraft.nbt.NBTTagCompound; @@ -44,21 +43,21 @@ public class WirelessSignalTxElement extends SixNodeElement implements IWireless public WirelessSignalTxElement(SixNode sixNode, Direction side, SixNodeDescriptor descriptor) { super(sixNode, side, descriptor); electricalLoadList.add(inputGate); - slowProcessList.add(lightningGlitchProcess = new LightningGlitchProcess(getCoordonate())); + slowProcessList.add(lightningGlitchProcess = new LightningGlitchProcess(getCoordinate())); this.descriptor = (WirelessSignalTxDescriptor) descriptor; channelRegister(this); } static public class LightningGlitchProcess implements IProcess { double range = 64; - Coordonate c; + Coordinate c; double glichedTimer = 0; double glichedStrangth = 0; final double glitchLength = 6; public double glitchOffset = 0; - public LightningGlitchProcess(Coordonate c) { + public LightningGlitchProcess(Coordinate c) { this.c = c; } @@ -173,8 +172,8 @@ public void readFromNBT(NBTTagCompound nbt) { } @Override - public Coordonate getCoordonate() { - return sixNode.coordonate; + public Coordinate getCoordinate() { + return sixNode.coordinate; } @Override diff --git a/src/main/java/mods/eln/sound/LoopedSound.kt b/src/main/java/mods/eln/sound/LoopedSound.kt index cd93f5910..e08770c9e 100644 --- a/src/main/java/mods/eln/sound/LoopedSound.kt +++ b/src/main/java/mods/eln/sound/LoopedSound.kt @@ -1,18 +1,18 @@ package mods.eln.sound -import mods.eln.misc.Coordonate -import net.minecraft.client.audio.ISound -import net.minecraft.client.audio.ITickableSound +import mods.eln.misc.Coordinate +import net.minecraft.client.audio.* import net.minecraft.util.ResourceLocation +import net.minecraft.util.SoundCategory -abstract class LoopedSound(val sample: String, val coord: Coordonate, +abstract class LoopedSound(val sample: String, val coord: Coordinate, val attentuationType: ISound.AttenuationType = ISound.AttenuationType.LINEAR) : ITickableSound { var active = true - override final fun getPositionedSoundLocation() = ResourceLocation(sample) - override final fun getXPosF() = coord.x.toFloat() + 0.5f - override final fun getYPosF() = coord.y.toFloat() + 0.5f - override final fun getZPosF() = coord.z.toFloat() + 0.5f + override final fun getSoundLocation() = ResourceLocation(sample) + override final fun getXPosF() = coord.pos.x.toFloat() + 0.5f + override final fun getYPosF() = coord.pos.y.toFloat() + 0.5f + override final fun getZPosF() = coord.pos.z.toFloat() + 0.5f override final fun canRepeat() = true override final fun getAttenuationType() = attentuationType @@ -22,4 +22,13 @@ abstract class LoopedSound(val sample: String, val coord: Coordonate, override fun getRepeatDelay() = 0 override fun update() {} + + override fun getSound(): Sound { + TODO("not implemented") //To change body of created functions use File | Settings | File Templates. + } + + // TODO(1.10): This might be useful, maybe? + override fun createAccessor(handler: SoundHandler?): SoundEventAccessor? = null + + override fun getCategory() = SoundCategory.BLOCKS } diff --git a/src/main/java/mods/eln/sound/SoundClientEventListener.java b/src/main/java/mods/eln/sound/SoundClientEventListener.java index b61faed83..bbc6399db 100644 --- a/src/main/java/mods/eln/sound/SoundClientEventListener.java +++ b/src/main/java/mods/eln/sound/SoundClientEventListener.java @@ -1,6 +1,6 @@ package mods.eln.sound; -import cpw.mods.fml.common.eventhandler.SubscribeEvent; +import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; import mods.eln.client.UuidManager; import net.minecraft.client.audio.ISound; import net.minecraft.client.audio.SoundManager; diff --git a/src/main/java/mods/eln/sound/SoundCommand.java b/src/main/java/mods/eln/sound/SoundCommand.java index e315ef060..30a62a991 100644 --- a/src/main/java/mods/eln/sound/SoundCommand.java +++ b/src/main/java/mods/eln/sound/SoundCommand.java @@ -1,6 +1,6 @@ package mods.eln.sound; -import mods.eln.misc.Coordonate; +import mods.eln.misc.Coordinate; import net.minecraft.tileentity.TileEntity; import net.minecraft.world.World; @@ -70,7 +70,7 @@ public void play() { SoundServer.play(this); } - public void set(Coordonate c) { + public void set(Coordinate c) { world = c.world(); x = c.x + 0.5; y = c.y + 0.5; diff --git a/src/main/java/mods/eln/sound/SoundServer.java b/src/main/java/mods/eln/sound/SoundServer.java index 1f5a2f21d..ec9a1a2fb 100644 --- a/src/main/java/mods/eln/sound/SoundServer.java +++ b/src/main/java/mods/eln/sound/SoundServer.java @@ -1,6 +1,6 @@ package mods.eln.sound; -import cpw.mods.fml.common.FMLCommonHandler; +import net.minecraftforge.fml.common.FMLCommonHandler; import mods.eln.Eln; import mods.eln.misc.Utils; import net.minecraft.entity.player.EntityPlayerMP; @@ -14,11 +14,11 @@ public class SoundServer { /*public static void playFromBlock(World world,int x, int y, int z, String track, float volume, float pitch,float rangeNominal,float rangeMax){ play(world, x+0.5, y+0.5, z+0.5, track, volume, pitch, rangeNominal, rangeMax,1); } - public static void playFromCoord(Coordonate c, String track, float volume, float pitch,float rangeNominal,float rangeMax){ + public static void playFromCoord(Coordinate c, String track, float volume, float pitch,float rangeNominal,float rangeMax){ play(c.world(), c.x+0.5, c.y+0.5, c.z+0.5, track, volume, pitch, rangeNominal, rangeMax,1); } - public static void playFromCoord(Coordonate c, String track, float volume, float pitch,float rangeNominal,float rangeMax,float blockFactor){ + public static void playFromCoord(Coordinate c, String track, float volume, float pitch,float rangeNominal,float rangeMax,float blockFactor){ play(c.world(), c.x+0.5, c.y+0.5, c.z+0.5, track, volume, pitch, rangeNominal, rangeMax,blockFactor); }*/ diff --git a/src/main/java/mods/eln/transparentnode/FuelGenerator.kt b/src/main/java/mods/eln/transparentnode/FuelGenerator.kt index e2398ea26..6888ec929 100644 --- a/src/main/java/mods/eln/transparentnode/FuelGenerator.kt +++ b/src/main/java/mods/eln/transparentnode/FuelGenerator.kt @@ -22,7 +22,6 @@ import net.minecraft.client.audio.ISound import net.minecraft.entity.player.EntityPlayer import net.minecraft.item.ItemStack import net.minecraft.nbt.NBTTagCompound -import net.minecraftforge.client.IItemRenderer import net.minecraftforge.fluids.FluidContainerRegistry import net.minecraftforge.fluids.FluidRegistry import org.lwjgl.opengl.GL11 @@ -34,7 +33,7 @@ class FuelGeneratorDescriptor(name: String, internal val obj: Obj3D?, internal v tankCapacityInSecondsAtNominalPower: Double) : TransparentNodeDescriptor(name, FuelGeneratorElement::class.java, FuelGeneratorRender::class.java) { companion object { - internal fun EfficiencyFactorVsLoadFactor(loadFactor: Double) = when (Utils.limit(loadFactor, 0.0, 1.5)) { + internal fun efficiencyFactorVsLoadFactor(loadFactor: Double) = when (Utils.limit(loadFactor, 0.0, 1.5)) { in 0.0..0.1 -> 1.375 in 0.1..0.2 -> 1.125 in 0.2..0.3 -> 1.050 @@ -80,24 +79,25 @@ class FuelGeneratorDescriptor(name: String, internal val obj: Obj3D?, internal v } } - override fun handleRenderType(item: ItemStack, type: IItemRenderer.ItemRenderType) = true - - override fun shouldUseRenderHelper( - type: IItemRenderer.ItemRenderType, item: ItemStack, - helper: IItemRenderer.ItemRendererHelper) = type != IItemRenderer.ItemRenderType.INVENTORY - - override fun renderItem(type: IItemRenderer.ItemRenderType, item: ItemStack, vararg data: Any) = when (type) { - IItemRenderer.ItemRenderType.INVENTORY -> super.renderItem(type, item, *data) - else -> { - objItemScale(obj) - preserveMatrix { - Direction.ZP.glRotateXnRef() - GL11.glTranslatef(0f, -1f, 0f) - GL11.glScalef(0.6f, 0.6f, 0.6f) - draw() - } - } - } + // TODO(1.10): Fix rendering. +// override fun handleRenderType(item: ItemStack, type: IItemRenderer.ItemRenderType) = true +// +// override fun shouldUseRenderHelper( +// type: IItemRenderer.ItemRenderType, item: ItemStack, +// helper: IItemRenderer.ItemRendererHelper) = type != IItemRenderer.ItemRenderType.INVENTORY +// +// override fun renderItem(type: IItemRenderer.ItemRenderType, item: ItemStack, vararg data: Any) = when (type) { +// IItemRenderer.ItemRenderType.INVENTORY -> super.renderItem(type, item, *data) +// else -> { +// objItemScale(obj) +// preserveMatrix { +// Direction.ZP.glRotateXnRef() +// GL11.glTranslatef(0f, -1f, 0f) +// GL11.glScalef(0.6f, 0.6f, 0.6f) +// draw() +// } +// } +// } override fun addInformation(itemStack: ItemStack, entityPlayer: EntityPlayer, list: MutableList, par4: Boolean) { @@ -115,9 +115,9 @@ class FuelGeneratorElement(transparentNode: TransparentNode, descriptor_: Transp internal var powerSource = PowerSource("powerSource", positiveLoad) internal var slowProcess = FuelGeneratorSlowProcess(this) internal var descriptor = descriptor_ as FuelGeneratorDescriptor - internal val fuels = FuelRegistry.fluidListToFluids(descriptor.fuels).map { it.id } + internal val fuels = FuelRegistry.fluidListToFluids(descriptor.fuels) internal var tankLevel = 0.0 - internal var tankFluid = FluidRegistry.getFluid("lava").id + internal var tankFluid = FluidRegistry.getFluid("lava") internal var on by published(false) internal var voltageGracePeriod = 0.0 @@ -167,44 +167,45 @@ class FuelGeneratorElement(transparentNode: TransparentNode, descriptor_: Transp stream.writeFloat((positiveLoad.u / descriptor.maxVoltage).toFloat()) } + // TODO(1.10): Filling with fuel override fun onBlockActivated(player: EntityPlayer?, side: Direction?, vx: Float, vy: Float, vz: Float): Boolean { - if (!(player?.worldObj?.isRemote ?: true)) { - val bucket = player?.currentEquippedItem - if (FluidContainerRegistry.isBucket(bucket) && FluidContainerRegistry.isFilledContainer(bucket)) { - val deltaLevel = 1.0 / FuelGeneratorDescriptor.TankCapacityInBuckets; - if (tankLevel <= 1.0 - deltaLevel) { - val fluidStack = FluidContainerRegistry.getFluidForFilledItem(bucket) - if (fluidStack != null && (fluidStack.fluidID == tankFluid || tankLevel <= 0.0) && - fluidStack.fluidID in fuels) { - tankFluid = fluidStack.fluidID - tankLevel += deltaLevel - if (player != null && !player.capabilities.isCreativeMode) { - val emptyBucket = FluidContainerRegistry.drainFluidContainer(bucket); - val slot = player.inventory.currentItem - player.inventory.setInventorySlotContents(slot, emptyBucket) - } - - return true; - } - } - } else { - if (Eln.multiMeterElement.checkSameItemStack(player?.currentEquippedItem) || - Eln.thermometerElement.checkSameItemStack(player?.currentEquippedItem) || - Eln.allMeterElement.checkSameItemStack(player?.currentEquippedItem)) { - return false - } - - if (on) { - on = false - } else { - if (tankLevel > 0) { - on = true - voltageGracePeriod = FuelGeneratorDescriptor.VoltageStabilizationGracePeriod - } - } - return true - } - } +// if (!(player?.worldObj?.isRemote ?: true)) { +// val bucket = player?.heldItemMainhand +// if (FluidContainerRegistry.isBucket(bucket) && FluidContainerRegistry.isFilledContainer(bucket)) { +// val deltaLevel = 1.0 / FuelGeneratorDescriptor.TankCapacityInBuckets; +// if (tankLevel <= 1.0 - deltaLevel) { +// val fluidStack = FluidContainerRegistry.getFluidForFilledItem(bucket) +// if (fluidStack != null && (fluidStack.fluidID == tankFluid || tankLevel <= 0.0) && +// fluidStack.fluidID in fuels) { +// tankFluid = fluidStack.fluidID +// tankLevel += deltaLevel +// if (player != null && !player.capabilities.isCreativeMode) { +// val emptyBucket = FluidContainerRegistry.drainFluidContainer(bucket); +// val slot = player.inventory.currentItem +// player.inventory.setInventorySlotContents(slot, emptyBucket) +// } +// +// return true; +// } +// } +// } else { +// if (Eln.multiMeterElement.checkSameItemStack(player?.currentEquippedItem) || +// Eln.thermometerElement.checkSameItemStack(player?.currentEquippedItem) || +// Eln.allMeterElement.checkSameItemStack(player?.currentEquippedItem)) { +// return false +// } +// +// if (on) { +// on = false +// } else { +// if (tankLevel > 0) { +// on = true +// voltageGracePeriod = FuelGeneratorDescriptor.VoltageStabilizationGracePeriod +// } +// } +// return true +// } +// } return false } @@ -236,7 +237,7 @@ class FuelGeneratorRender(tileEntity: TransparentNodeEntity, descriptor: Transpa private val eConn = LRDUMask() private var on = false private var voltageRatio = SlewLimiter(1f) - private val sound = object : LoopedSound("eln:FuelGenerator", coordonate(), ISound.AttenuationType.LINEAR) { + private val sound = object : LoopedSound("eln:FuelGenerator", coordinate(), ISound.AttenuationType.LINEAR) { override fun getVolume() = if (on) 0.2f else 0f override fun getPitch() = 0.75f + 1f * voltageRatio.position } @@ -278,7 +279,7 @@ class FuelGeneratorSlowProcess(internal val generator: FuelGeneratorElement) : I val power = Math.max(generator.powerSource.effectiveP, generator.descriptor.nominalPower * FuelGeneratorDescriptor.MinimalLoadFractionOfNominalPower) generator.tankLevel = Math.max(0.0, generator.tankLevel - time * - FuelGeneratorDescriptor.EfficiencyFactorVsLoadFactor(power / generator.descriptor.nominalPower) * + FuelGeneratorDescriptor.efficiencyFactorVsLoadFactor(power / generator.descriptor.nominalPower) * power / generator.descriptor.tankEnergyCapacity) if (generator.tankLevel <= 0) { diff --git a/src/main/java/mods/eln/transparentnode/FuelHeatFurnace.kt b/src/main/java/mods/eln/transparentnode/FuelHeatFurnace.kt index 1fc567924..262568ab0 100644 --- a/src/main/java/mods/eln/transparentnode/FuelHeatFurnace.kt +++ b/src/main/java/mods/eln/transparentnode/FuelHeatFurnace.kt @@ -28,7 +28,6 @@ import net.minecraft.inventory.IInventory import net.minecraft.item.Item import net.minecraft.item.ItemStack import net.minecraft.nbt.NBTTagCompound -import net.minecraftforge.client.IItemRenderer import org.lwjgl.opengl.GL11 import java.io.DataInputStream import java.io.DataOutputStream @@ -76,12 +75,13 @@ class FuelHeatFurnaceDescriptor(name: String, model: Obj3D, val thermal: Thermal GL11.glColor3f(1f, 1f, 1f) } - override fun handleRenderType(item: ItemStack?, type: IItemRenderer.ItemRenderType?) = true - override fun shouldUseRenderHelper(type: IItemRenderer.ItemRenderType?, item: ItemStack?, - helper: IItemRenderer.ItemRendererHelper?) = - type != IItemRenderer.ItemRenderType.INVENTORY - override fun renderItem(type: IItemRenderer.ItemRenderType?, item: ItemStack?, vararg data: Any?) = - if (type == IItemRenderer.ItemRenderType.INVENTORY) super.renderItem(type, item, *data) else draw() + // TODO(1.10): Item rendering. +// override fun handleRenderType(item: ItemStack?, type: IItemRenderer.ItemRenderType?) = true +// override fun shouldUseRenderHelper(type: IItemRenderer.ItemRenderType?, item: ItemStack?, +// helper: IItemRenderer.ItemRendererHelper?) = +// type != IItemRenderer.ItemRenderType.INVENTORY +// override fun renderItem(type: IItemRenderer.ItemRenderType?, item: ItemStack?, vararg data: Any?) = +// if (type == IItemRenderer.ItemRenderType.INVENTORY) super.renderItem(type, item, *data) else draw() override fun addInformation(itemStack: ItemStack?, entityPlayer: EntityPlayer?, list: MutableList, par4: Boolean) { super.addInformation(itemStack, entityPlayer, list, par4) @@ -282,7 +282,7 @@ class FuelHeatFurnaceRender(tileEntity: TransparentNodeEntity, descriptor: Trans var heatPower = 0f var actualTemperature = 0f - val sound = object : LoopedSound("eln:fuelheatfurnace", coordonate()) { + val sound = object : LoopedSound("eln:fuelheatfurnace", coordinate()) { override fun getPitch() = FuelBurnerDescriptor.pitchForType(type) override fun getVolume() = if (heatPower > 0) 0.01f + 0.00001f * heatPower else 0f } diff --git a/src/main/java/mods/eln/transparentnode/LargeRheostat.kt b/src/main/java/mods/eln/transparentnode/LargeRheostat.kt index 31f1d6be6..97a30c666 100644 --- a/src/main/java/mods/eln/transparentnode/LargeRheostat.kt +++ b/src/main/java/mods/eln/transparentnode/LargeRheostat.kt @@ -27,7 +27,6 @@ import net.minecraft.client.gui.GuiScreen import net.minecraft.entity.player.EntityPlayer import net.minecraft.inventory.IInventory import net.minecraft.item.ItemStack -import net.minecraftforge.client.IItemRenderer import org.lwjgl.opengl.GL11 import java.io.DataInputStream import java.io.DataOutputStream @@ -53,12 +52,13 @@ class LargeRheostatDescriptor(name: String, val dissipator: ThermalDissipatorPas dissipator.obj.getPart("wiper")?.draw() } - override fun handleRenderType(item: ItemStack, type: IItemRenderer.ItemRenderType) = true - override fun shouldUseRenderHelper(type: IItemRenderer.ItemRenderType, item: ItemStack, - helper: IItemRenderer.ItemRendererHelper) = type != IItemRenderer.ItemRenderType.INVENTORY - - override fun renderItem(type: IItemRenderer.ItemRenderType, item: ItemStack, vararg data: Any) = - if (type != IItemRenderer.ItemRenderType.INVENTORY) draw() else super.renderItem(type, item, *data) + // TODO(1.10): Item rendering. +// override fun handleRenderType(item: ItemStack, type: IItemRenderer.ItemRenderType) = true +// override fun shouldUseRenderHelper(type: IItemRenderer.ItemRenderType, item: ItemStack, +// helper: IItemRenderer.ItemRendererHelper) = type != IItemRenderer.ItemRenderType.INVENTORY +// +// override fun renderItem(type: IItemRenderer.ItemRenderType, item: ItemStack, vararg data: Any) = +// if (type != IItemRenderer.ItemRenderType.INVENTORY) draw() else super.renderItem(type, item, *data) } class LargeRheostatElement(node: TransparentNode, desc_: TransparentNodeDescriptor) : diff --git a/src/main/java/mods/eln/transparentnode/autominer/AutoMinerDescriptor.java b/src/main/java/mods/eln/transparentnode/autominer/AutoMinerDescriptor.java index 4f322ee6c..b730ea070 100644 --- a/src/main/java/mods/eln/transparentnode/autominer/AutoMinerDescriptor.java +++ b/src/main/java/mods/eln/transparentnode/autominer/AutoMinerDescriptor.java @@ -18,8 +18,8 @@ import static mods.eln.i18n.I18N.tr; public class AutoMinerDescriptor extends TransparentNodeDescriptor { - private final Coordonate[] powerCoord; - final Coordonate lightCoord; + private final Coordinate[] powerCoord; + final Coordinate lightCoord; private final Obj3DPart core; private final Obj3DPart gui; private final Obj3DPart lampSocket; @@ -48,8 +48,8 @@ public class AutoMinerDescriptor extends TransparentNodeDescriptor { final double pipeOperationRp; - public AutoMinerDescriptor(String name, Obj3D obj, Coordonate[] powerCoord, Coordonate lightCoord, - Coordonate miningCoord, int deltaX, int deltaY, int deltaZ, + public AutoMinerDescriptor(String name, Obj3D obj, Coordinate[] powerCoord, Coordinate lightCoord, + Coordinate miningCoord, int deltaX, int deltaY, int deltaZ, ElectricalCableDescriptor cable, double pipeOperationTime, double pipeOperationEnergy) { super(name, AutoMinerElement.class, AutoMinerRender.class); this.nominalVoltage = cable.electricalNominalVoltage; @@ -157,31 +157,32 @@ void draw(boolean lampState, float[] buttonsState, boolean[] ledsAState, boolean UtilsClient.enableCulling(); } - @Override - public void renderItem(ItemRenderType type, ItemStack item, Object... data) { - if (type == ItemRenderType.INVENTORY) { - super.renderItem(type, item, data); - } else { - GL11.glScalef(0.18f, 0.18f, 0.18f); - draw(false, buttonsStateDefault, ledsAStateDefault, ledsPStateDefault); - } - } - - @Override - public boolean handleRenderType(ItemStack item, ItemRenderType type) { - return true; - } - - @Override - public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { - return type != ItemRenderType.INVENTORY; - } - - public Coordonate[] getPowerCoordonate(World w) { - Coordonate[] temp = new Coordonate[powerCoord.length]; + // TODO(1.10): Fix item render. +// @Override +// public void renderItem(ItemRenderType type, ItemStack item, Object... data) { +// if (type == ItemRenderType.INVENTORY) { +// super.renderItem(type, item, data); +// } else { +// GL11.glScalef(0.18f, 0.18f, 0.18f); +// draw(false, buttonsStateDefault, ledsAStateDefault, ledsPStateDefault); +// } +// } +// +// @Override +// public boolean handleRenderType(ItemStack item, ItemRenderType type) { +// return true; +// } +// +// @Override +// public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { +// return type != ItemRenderType.INVENTORY; +// } + + public Coordinate[] getPowerCoordonate(World w) { + Coordinate[] temp = new Coordinate[powerCoord.length]; for (int idx = 0; idx < temp.length; idx++) { - temp[idx] = new Coordonate(powerCoord[idx]); - temp[idx].setDimention(w.provider.dimensionId); + temp[idx] = new Coordinate(powerCoord[idx]); + temp[idx].setDimension(w.provider.getDimension()); } return temp; } diff --git a/src/main/java/mods/eln/transparentnode/autominer/AutoMinerElement.java b/src/main/java/mods/eln/transparentnode/autominer/AutoMinerElement.java index 7972c688b..ed61482fe 100644 --- a/src/main/java/mods/eln/transparentnode/autominer/AutoMinerElement.java +++ b/src/main/java/mods/eln/transparentnode/autominer/AutoMinerElement.java @@ -3,7 +3,7 @@ import mods.eln.i18n.I18N; import mods.eln.item.ElectricalDrillDescriptor; import mods.eln.item.MiningPipeDescriptor; -import mods.eln.misc.Coordonate; +import mods.eln.misc.Coordinate; import mods.eln.misc.Direction; import mods.eln.misc.LRDU; import mods.eln.misc.Utils; @@ -44,7 +44,7 @@ public class AutoMinerElement extends TransparentNodeElement { final AutoMinerDescriptor descriptor; - Coordonate lightCoordonate; + Coordinate lightCoordinate; private final VoltageStateWatchDog voltageWatchdog = new VoltageStateWatchDog(); @@ -94,14 +94,14 @@ public String thermoMeterString(Direction side) { @Override public void initialize() { - lightCoordonate = new Coordonate(this.descriptor.lightCoord); - lightCoordonate.applyTransformation(front, node.coordonate); + lightCoordinate = new Coordinate(this.descriptor.lightCoord); + lightCoordinate.applyTransformation(front, node.coordinate); int idx = 0; - for (Coordonate c : descriptor.getPowerCoordonate(node.coordonate.world())) { + for (Coordinate c : descriptor.getPowerCoordonate(node.coordinate.world())) { AutoMinerPowerNode n = new AutoMinerPowerNode(); n.setElement(this); - c.applyTransformation(front, node.coordonate); + c.applyTransformation(front, node.coordinate); Direction dir; if (idx != 0) diff --git a/src/main/java/mods/eln/transparentnode/autominer/AutoMinerRender.java b/src/main/java/mods/eln/transparentnode/autominer/AutoMinerRender.java index 049fdd5b8..e5616d7df 100644 --- a/src/main/java/mods/eln/transparentnode/autominer/AutoMinerRender.java +++ b/src/main/java/mods/eln/transparentnode/autominer/AutoMinerRender.java @@ -65,7 +65,7 @@ public AutoMinerRender(TransparentNodeEntity tileEntity, TransparentNodeDescript ledsPState[idx] = Math.random() > 0.5; } - addLoopedSound(new LoopedSound("eln:autominer", coordonate(), ISound.AttenuationType.LINEAR) { + addLoopedSound(new LoopedSound("eln:autominer", coordinate(), ISound.AttenuationType.LINEAR) { @Override public float getVolume() { if (powerOk && diff --git a/src/main/java/mods/eln/transparentnode/autominer/AutoMinerSlowProcess.java b/src/main/java/mods/eln/transparentnode/autominer/AutoMinerSlowProcess.java index 5899295ad..d08b1bda1 100644 --- a/src/main/java/mods/eln/transparentnode/autominer/AutoMinerSlowProcess.java +++ b/src/main/java/mods/eln/transparentnode/autominer/AutoMinerSlowProcess.java @@ -4,7 +4,7 @@ import mods.eln.item.ElectricalDrillDescriptor; import mods.eln.item.MiningPipeDescriptor; import mods.eln.item.electricalitem.PortableOreScannerItem; -import mods.eln.misc.Coordonate; +import mods.eln.misc.Coordinate; import mods.eln.misc.INBTTReady; import mods.eln.misc.Utils; import mods.eln.ore.OreBlock; @@ -17,7 +17,6 @@ import net.minecraft.inventory.IInventory; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.tileentity.TileEntityChest; import java.util.List; @@ -37,7 +36,7 @@ enum jobType {none, done, full, chestFull, ore, pipeAdd, pipeRemove} jobType job = jobType.none; private jobType oldJob = jobType.none; - private final Coordonate jobCoord = new Coordonate(); + private final Coordinate jobCoord = new Coordinate(); private int blinkCounter = 0; private int drillCount = 1; @@ -74,7 +73,7 @@ public void process(double time) { blinkCounter = 0; if ((miner.inPowerLoad.getU() / miner.descriptor.nominalVoltage - 0.5) * 3 > Math.random()) { miner.setPowerOk(true); - LightBlockEntity.addLight(miner.lightCoordonate, 12, 11); + LightBlockEntity.addLight(miner.lightCoordinate, 12, 11); } else { miner.setPowerOk(false); } @@ -107,7 +106,7 @@ public void process(double time) { // Use cobblestone instead of air, everywhere except the mining shaft. // This is so mobs won't spawn excessively. - int xDist = jobCoord.x - miner.node.coordonate.x, zDist = jobCoord.z - miner.node.coordonate.z; + int xDist = jobCoord.x - miner.node.coordinate.x, zDist = jobCoord.z - miner.node.coordinate.z; if (xDist * xDist + zDist * zDist > 25) { jobCoord.world().setBlock(jobCoord.x, jobCoord.y, jobCoord.z, Blocks.cobblestone); } else { @@ -119,7 +118,7 @@ public void process(double time) { break; case pipeAdd: // miner.pushLog("Pipe " + (pipeLength + 1) + " added"); - Eln.ghostManager.createGhost(jobCoord, miner.node.coordonate, jobCoord.y); + Eln.ghostManager.createGhost(jobCoord, miner.node.coordinate, jobCoord.y); miner.getInventory().decrStackSize(AutoMinerContainer.MiningPipeSlotId, 1); pipeLength++; @@ -210,7 +209,7 @@ public void process(double time) { private IInventory getDropInventory() { IInventory chestEntity = null; for (int x = 2; x >= 1; x--) { - Coordonate c = new Coordonate(x, -1, 0, miner.world()); + Coordinate c = new Coordinate(x, -1, 0, miner.world()); c.applyTransformation(miner.front, miner.coordonate()); if (c.getTileEntity() instanceof IInventory) { chestEntity = (IInventory) c.getTileEntity(); @@ -238,18 +237,18 @@ private void setupJob() { int scannerRadius = Eln.instance.autominerRange; double scannerEnergy = 0; - jobCoord.dimention = miner.node.coordonate.dimention; - jobCoord.x = miner.node.coordonate.x; - jobCoord.y = miner.node.coordonate.y - pipeLength; - jobCoord.z = miner.node.coordonate.z; + jobCoord.dimension = miner.node.coordinate.dimension; + jobCoord.x = miner.node.coordinate.x; + jobCoord.y = miner.node.coordinate.y - pipeLength; + jobCoord.z = miner.node.coordinate.z; boolean jobFind = false; - if (!miner.node.coordonate.getBlockExist()) { + if (!miner.node.coordinate.doesBlockExist()) { setJob(jobType.none); } else if (!miner.powerOk) { setJob(jobType.none); } else if (drill == null) { - if (jobCoord.y != miner.node.coordonate.y) { + if (jobCoord.y != miner.node.coordinate.y) { ItemStack pipeStack = miner.getInventory().getStackInSlot(AutoMinerContainer.MiningPipeSlotId); if (pipeStack == null || (pipeStack.stackSize != pipeStack.getMaxStackSize() && pipeStack.stackSize != miner.getInventory().getInventoryStackLimit())) { jobFind = true; @@ -263,17 +262,17 @@ private void setupJob() { setJob(jobType.chestFull); jobFind = true; } else if (pipe != null) { - if (jobCoord.y < miner.node.coordonate.y - 2) { - int depth = (miner.node.coordonate.y - jobCoord.y); + if (jobCoord.y < miner.node.coordinate.y - 2) { + int depth = (miner.node.coordinate.y - jobCoord.y); double miningRay = depth / 10 + 0.1; miningRay = Math.min(miningRay, 2); if (depth < scannerRadius) scannerRadius = depth + 1; miningRay = Math.min(miningRay, scannerRadius - 2); - for (jobCoord.z = miner.node.coordonate.z - scannerRadius; jobCoord.z <= miner.node.coordonate.z + scannerRadius; jobCoord.z++) { - for (jobCoord.x = miner.node.coordonate.x - scannerRadius; jobCoord.x <= miner.node.coordonate.x + scannerRadius; jobCoord.x++) { - double dx = jobCoord.x - miner.node.coordonate.x; + for (jobCoord.z = miner.node.coordinate.z - scannerRadius; jobCoord.z <= miner.node.coordinate.z + scannerRadius; jobCoord.z++) { + for (jobCoord.x = miner.node.coordinate.x - scannerRadius; jobCoord.x <= miner.node.coordinate.x + scannerRadius; jobCoord.x++) { + double dx = jobCoord.x - miner.node.coordinate.x; double dy = 0; - double dz = jobCoord.z - miner.node.coordonate.z; + double dz = jobCoord.z - miner.node.coordinate.z; double distance = Math.sqrt(dx * dx + dy * dy + dz * dz); Block block = jobCoord.world().getBlock(jobCoord.x, jobCoord.y, jobCoord.z); if (checkIsOre(jobCoord) || (distance > 0.1 && distance < miningRay && isMinable(block))) { @@ -291,9 +290,9 @@ private void setupJob() { jobFind = true; setJob(jobType.done); } else { - jobCoord.x = miner.node.coordonate.x; + jobCoord.x = miner.node.coordinate.x; jobCoord.y--; - jobCoord.z = miner.node.coordonate.z; + jobCoord.z = miner.node.coordinate.z; Block block = jobCoord.world().getBlock(jobCoord.x, jobCoord.y, jobCoord.z); if (block != Blocks.air @@ -341,13 +340,13 @@ private void setJob(jobType job) { this.job = job; } - private boolean checkIsOre(Coordonate coordonate) { - Block block = coordonate.world().getBlock(coordonate.x, coordonate.y, coordonate.z); + private boolean checkIsOre(Coordinate coordinate) { + Block block = coordinate.world().getBlock(coordinate.x, coordinate.y, coordinate.z); if (block instanceof BlockOre) return true; if (block instanceof OreBlock) return true; if (block instanceof BlockRedstoneOre) return true; if (PortableOreScannerItem.RenderStorage.getBlockKeyFactor()[Block.getIdFromBlock(block) + - (coordonate.world().getBlockMetadata(coordonate.x, coordonate.y, coordonate.z) << 12)] != 0) + (coordinate.world().getBlockMetadata(coordinate.x, coordinate.y, coordinate.z) << 12)] != 0) return true; return false; } @@ -358,14 +357,14 @@ public void onBreakElement() { private void destroyPipe() { dropPipe(); - Eln.ghostManager.removeGhostAndBlockWithObserverAndNotUuid(miner.node.coordonate, miner.descriptor.getGhostGroupUuid()); + Eln.ghostManager.removeGhostAndBlockWithObserverAndNotUuid(miner.node.coordinate, miner.descriptor.getGhostGroupUuid()); pipeLength = 0; miner.needPublish(); } private void dropPipe() { - Coordonate coord = new Coordonate(miner.node.coordonate); - for (coord.y = miner.node.coordonate.y - 1; coord.y >= miner.node.coordonate.y - pipeLength; coord.y--) { + Coordinate coord = new Coordinate(miner.node.coordinate); + for (coord.y = miner.node.coordinate.y - 1; coord.y >= miner.node.coordinate.y - pipeLength; coord.y--) { Utils.dropItem(Eln.miningPipeDescriptor.newItemStack(1), coord); } } diff --git a/src/main/java/mods/eln/transparentnode/battery/BatteryDescriptor.java b/src/main/java/mods/eln/transparentnode/battery/BatteryDescriptor.java index 7268de0b3..10bebac31 100644 --- a/src/main/java/mods/eln/transparentnode/battery/BatteryDescriptor.java +++ b/src/main/java/mods/eln/transparentnode/battery/BatteryDescriptor.java @@ -236,24 +236,25 @@ public double getEnergy(double charge, double life) { return energy; } - @Override - public boolean handleRenderType(ItemStack item, ItemRenderType type) { - return true; - } - - @Override - public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { - return type != ItemRenderType.INVENTORY; - } - - @Override - public void renderItem(ItemRenderType type, ItemStack item, Object... data) { - if (type == ItemRenderType.INVENTORY) { - super.renderItem(type, item, data); - } else { - draw(true, true); - } - } + // TODO(1.10): Fix item render. +// @Override +// public boolean handleRenderType(ItemStack item, ItemRenderType type) { +// return true; +// } +// +// @Override +// public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { +// return type != ItemRenderType.INVENTORY; +// } +// +// @Override +// public void renderItem(ItemRenderType type, ItemStack item, Object... data) { +// if (type == ItemRenderType.INVENTORY) { +// super.renderItem(type, item, data); +// } else { +// draw(true, true); +// } +// } @Override public boolean onEntityItemUpdate(EntityItem entityItem) { diff --git a/src/main/java/mods/eln/transparentnode/computercraftio/ComputerCraftIoDescriptor.java b/src/main/java/mods/eln/transparentnode/computercraftio/ComputerCraftIoDescriptor.java index 23ddc70b7..a58b9dd1f 100644 --- a/src/main/java/mods/eln/transparentnode/computercraftio/ComputerCraftIoDescriptor.java +++ b/src/main/java/mods/eln/transparentnode/computercraftio/ComputerCraftIoDescriptor.java @@ -18,20 +18,21 @@ public void setParent(Item item, int damage) { Data.addSignal(newItemStack()); } - @Override - public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { - return true; - } - - @Override - public boolean handleRenderType(ItemStack item, ItemRenderType type) { - return true; - } - - @Override - public void renderItem(ItemRenderType type, ItemStack item, Object... data) { - draw(0, 1f); - } + // TODO(1.10): Fix item render. +// @Override +// public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { +// return true; +// } +// +// @Override +// public boolean handleRenderType(ItemStack item, ItemRenderType type) { +// return true; +// } +// +// @Override +// public void renderItem(ItemRenderType type, ItemStack item, Object... data) { +// draw(0, 1f); +// } void draw(int eggStackSize, float powerFactor) { } diff --git a/src/main/java/mods/eln/transparentnode/computercraftio/ComputerCraftIoElement.java b/src/main/java/mods/eln/transparentnode/computercraftio/ComputerCraftIoElement.java index c01a82be0..a577fc2ee 100644 --- a/src/main/java/mods/eln/transparentnode/computercraftio/ComputerCraftIoElement.java +++ b/src/main/java/mods/eln/transparentnode/computercraftio/ComputerCraftIoElement.java @@ -4,7 +4,7 @@ import dan200.computercraft.api.lua.LuaException; import dan200.computercraft.api.peripheral.IComputerAccess; import dan200.computercraft.api.peripheral.IPeripheral; -import mods.eln.misc.Coordonate; +import mods.eln.misc.Coordinate; import mods.eln.misc.Direction; import mods.eln.misc.LRDU; import mods.eln.node.NodeBase; @@ -111,11 +111,11 @@ public Object[] callMethod(IComputerAccess computer, ILuaContext context, if (id == -1) return null; if (remaineStr.length() != 0) { - Coordonate c = new Coordonate(this.node.coordonate); + Coordinate c = new Coordinate(this.node.coordinate); Direction side = Direction.fromHorizontalIndex(id); c.move(side); //Utils.println("SUB probe ! " + side + " " + c); - NodeBase n = NodeManager.instance.getNodeFromCoordonate(c); + NodeBase n = NodeManager.instance.getNodeFromCoordinate(c); if (n == null) return null; //Utils.println(" NodeBase"); if (!(n instanceof TransparentNode)) return null; diff --git a/src/main/java/mods/eln/transparentnode/computercraftio/PeripheralHandler.java b/src/main/java/mods/eln/transparentnode/computercraftio/PeripheralHandler.java index 21d4c93c5..be83dd993 100644 --- a/src/main/java/mods/eln/transparentnode/computercraftio/PeripheralHandler.java +++ b/src/main/java/mods/eln/transparentnode/computercraftio/PeripheralHandler.java @@ -3,7 +3,7 @@ import dan200.computercraft.api.ComputerCraftAPI; import dan200.computercraft.api.peripheral.IPeripheral; import dan200.computercraft.api.peripheral.IPeripheralProvider; -import mods.eln.misc.Coordonate; +import mods.eln.misc.Coordinate; import mods.eln.node.NodeBase; import mods.eln.node.NodeManager; import mods.eln.simplenode.computerprobe.ComputerProbeNode; @@ -13,7 +13,7 @@ public class PeripheralHandler implements IPeripheralProvider { @Override public IPeripheral getPeripheral(World world, int x, int y, int z, int side) { - NodeBase nb = NodeManager.instance.getNodeFromCoordonate(new Coordonate(x, y, z, world)); + NodeBase nb = NodeManager.instance.getNodeFromCoordinate(new Coordinate(x, y, z, world)); /* if (nb instanceof TransparentNode) { TransparentNode tn = (TransparentNode) nb; if (tn.element != null && tn.element instanceof ComputerCraftIoElement) { diff --git a/src/main/java/mods/eln/transparentnode/eggincubator/EggIncubatorDescriptor.java b/src/main/java/mods/eln/transparentnode/eggincubator/EggIncubatorDescriptor.java index 88baf17ff..d969a9324 100644 --- a/src/main/java/mods/eln/transparentnode/eggincubator/EggIncubatorDescriptor.java +++ b/src/main/java/mods/eln/transparentnode/eggincubator/EggIncubatorDescriptor.java @@ -14,7 +14,8 @@ import net.minecraft.init.Blocks; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; -import net.minecraft.util.AxisAlignedBB; +import net.minecraft.util.math.AxisAlignedBB; +import net.minecraft.util.math.BlockPos; import net.minecraft.world.World; import org.lwjgl.opengl.GL11; @@ -60,24 +61,25 @@ public void setParent(Item item, int damage) { Data.addMachine(newItemStack()); } - @Override - public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { - return type != ItemRenderType.INVENTORY; - } - - @Override - public boolean handleRenderType(ItemStack item, ItemRenderType type) { - return true; - } - - @Override - public void renderItem(ItemRenderType type, ItemStack item, Object... data) { - if (type == ItemRenderType.INVENTORY) { - super.renderItem(type, item, data); - } else { - draw(0, 1f); - } - } + // TODO(1.10): Fix item render. +// @Override +// public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { +// return type != ItemRenderType.INVENTORY; +// } +// +// @Override +// public boolean handleRenderType(ItemStack item, ItemRenderType type) { +// return true; +// } +// +// @Override +// public void renderItem(ItemRenderType type, ItemStack item, Object... data) { +// if (type == ItemRenderType.INVENTORY) { +// super.renderItem(type, item, data); +// } else { +// draw(0, 1f); +// } +// } void draw(int eggStackSize, float powerFactor) { if (eggStackSize == 0) powerFactor = 0f; @@ -110,9 +112,9 @@ public void setState(Resistor powerLoad, boolean enable) { } @Override - public void addCollisionBoxesToList(AxisAlignedBB par5AxisAlignedBB, List list, World world, int x, int y, int z) { - AxisAlignedBB bb = Blocks.stone.getCollisionBoundingBoxFromPool(world, x, y, z); - bb.maxY -= 0.5; + public void addCollisionBoxesToList(AxisAlignedBB par5AxisAlignedBB, List list, BlockPos pos) { + AxisAlignedBB bb = new AxisAlignedBB(pos); + bb = bb.setMaxY(0.5); if (par5AxisAlignedBB.intersectsWith(bb)) list.add(bb); } } diff --git a/src/main/java/mods/eln/transparentnode/eggincubator/EggIncubatorElement.java b/src/main/java/mods/eln/transparentnode/eggincubator/EggIncubatorElement.java index 5bd4d8100..787117481 100644 --- a/src/main/java/mods/eln/transparentnode/eggincubator/EggIncubatorElement.java +++ b/src/main/java/mods/eln/transparentnode/eggincubator/EggIncubatorElement.java @@ -24,7 +24,6 @@ import net.minecraft.inventory.Container; import net.minecraft.inventory.IInventory; import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.util.MathHelper; import java.io.DataOutputStream; import java.io.IOException; @@ -74,16 +73,16 @@ public void process(double time) { descriptor.setState(powerResistor, true); if (energy <= 0) { inventory.decrStackSize(EggIncubatorContainer.EggSlotId, 1); - EntityChicken chicken = new EntityChicken(node.coordonate.world()); + EntityChicken chicken = new EntityChicken(node.coordinate.world()); chicken.setGrowingAge(-24000); EntityLiving entityliving = (EntityLiving) chicken; - entityliving.setLocationAndAngles(node.coordonate.x + 0.5, node.coordonate.y + 0.5, node.coordonate.z + 0.5, MathHelper.wrapAngleTo180_float(node.coordonate.world().rand.nextFloat() * 360.0F), 0.0F); + entityliving.setLocationAndAngles(node.coordinate.x + 0.5, node.coordinate.y + 0.5, node.coordinate.z + 0.5, MathHelper.wrapAngleTo180_float(node.coordinate.world().rand.nextFloat() * 360.0F), 0.0F); entityliving.rotationYawHead = entityliving.rotationYaw; entityliving.renderYawOffset = entityliving.rotationYaw; //entityliving.func_110161_a((EntityLivingData)null); 1.6.4 - node.coordonate.world().spawnEntityInWorld(entityliving); + node.coordinate.world().spawnEntityInWorld(entityliving); entityliving.playLivingSound(); - //node.coordonate.world().spawnEntityInWorld()); + //node.coordinate.world().spawnEntityInWorld()); resetEnergy(); needPublish(); diff --git a/src/main/java/mods/eln/transparentnode/electricalantennarx/ElectricalAntennaRxDescriptor.java b/src/main/java/mods/eln/transparentnode/electricalantennarx/ElectricalAntennaRxDescriptor.java index 7f752ff9c..7e1073f5f 100644 --- a/src/main/java/mods/eln/transparentnode/electricalantennarx/ElectricalAntennaRxDescriptor.java +++ b/src/main/java/mods/eln/transparentnode/electricalantennarx/ElectricalAntennaRxDescriptor.java @@ -72,23 +72,24 @@ public void draw() { GL11.glEnable(GL11.GL_CULL_FACE); } - @Override - public boolean handleRenderType(ItemStack item, ItemRenderType type) { - return true; - } - - @Override - public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { - return type != ItemRenderType.INVENTORY; - } - - @Override - public void renderItem(ItemRenderType type, ItemStack item, Object... data) { - if (type == ItemRenderType.INVENTORY) - super.renderItem(type, item, data); - else - draw(); - } +// // TODO(1.10): Fix item render. +// @Override +// public boolean handleRenderType(ItemStack item, ItemRenderType type) { +// return true; +// } +// +// @Override +// public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { +// return type != ItemRenderType.INVENTORY; +// } +// +// @Override +// public void renderItem(ItemRenderType type, ItemStack item, Object... data) { +// if (type == ItemRenderType.INVENTORY) +// super.renderItem(type, item, data); +// else +// draw(); +// } @Override public void addInformation(ItemStack itemStack, EntityPlayer entityPlayer, List list, boolean par4) { diff --git a/src/main/java/mods/eln/transparentnode/electricalantennarx/ElectricalAntennaRxElement.java b/src/main/java/mods/eln/transparentnode/electricalantennarx/ElectricalAntennaRxElement.java index 200d3fab8..0d4ca797c 100644 --- a/src/main/java/mods/eln/transparentnode/electricalantennarx/ElectricalAntennaRxElement.java +++ b/src/main/java/mods/eln/transparentnode/electricalantennarx/ElectricalAntennaRxElement.java @@ -2,7 +2,7 @@ import mods.eln.Eln; import mods.eln.i18n.I18N; -import mods.eln.misc.Coordonate; +import mods.eln.misc.Coordinate; import mods.eln.misc.Direction; import mods.eln.misc.LRDU; import mods.eln.misc.Utils; @@ -32,7 +32,7 @@ public class ElectricalAntennaRxElement extends TransparentNodeElement { PowerSource powerSrc = new PowerSource("powerSrc", powerOut); LRDU rot = LRDU.Up; - Coordonate rxCoord = null; + Coordinate rxCoord = null; ElectricalAntennaRxDescriptor descriptor; public double getSignal() { diff --git a/src/main/java/mods/eln/transparentnode/electricalantennatx/ElectricalAntennaTxDescriptor.java b/src/main/java/mods/eln/transparentnode/electricalantennatx/ElectricalAntennaTxDescriptor.java index 2eae3173c..5af05b7ab 100644 --- a/src/main/java/mods/eln/transparentnode/electricalantennatx/ElectricalAntennaTxDescriptor.java +++ b/src/main/java/mods/eln/transparentnode/electricalantennatx/ElectricalAntennaTxDescriptor.java @@ -79,23 +79,24 @@ public boolean mustHaveFloor() { return false; } - @Override - public boolean handleRenderType(ItemStack item, ItemRenderType type) { - return true; - } - - @Override - public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { - return type != ItemRenderType.INVENTORY; - } - - @Override - public void renderItem(ItemRenderType type, ItemStack item, Object... data) { - if (type == ItemRenderType.INVENTORY) - super.renderItem(type, item, data); - else - draw(); - } + // TODO(1.10): Fix item render. +// @Override +// public boolean handleRenderType(ItemStack item, ItemRenderType type) { +// return true; +// } +// +// @Override +// public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { +// return type != ItemRenderType.INVENTORY; +// } +// +// @Override +// public void renderItem(ItemRenderType type, ItemStack item, Object... data) { +// if (type == ItemRenderType.INVENTORY) +// super.renderItem(type, item, data); +// else +// draw(); +// } public void draw() { GL11.glDisable(GL11.GL_CULL_FACE); diff --git a/src/main/java/mods/eln/transparentnode/electricalantennatx/ElectricalAntennaTxElement.java b/src/main/java/mods/eln/transparentnode/electricalantennatx/ElectricalAntennaTxElement.java index ca497e130..f59dedd25 100644 --- a/src/main/java/mods/eln/transparentnode/electricalantennatx/ElectricalAntennaTxElement.java +++ b/src/main/java/mods/eln/transparentnode/electricalantennatx/ElectricalAntennaTxElement.java @@ -2,7 +2,7 @@ import mods.eln.Eln; import mods.eln.i18n.I18N; -import mods.eln.misc.Coordonate; +import mods.eln.misc.Coordinate; import mods.eln.misc.Direction; import mods.eln.misc.LRDU; import mods.eln.misc.Utils; @@ -41,7 +41,7 @@ public class ElectricalAntennaTxElement extends TransparentNodeElement { ElectricalAntennaTxDescriptor descriptor; - Coordonate rxCoord = null; + Coordinate rxCoord = null; ElectricalAntennaRxElement rxElement = null; double powerEfficency = 0.0; @@ -72,7 +72,7 @@ public void txDisconnect() { ElectricalAntennaRxElement getRxElement() { if (rxCoord == null) return null; if (rxElement == null) { - NodeBase node = NodeManager.instance.getNodeFromCoordonate(rxCoord); + NodeBase node = NodeManager.instance.getNodeFromCoordinate(rxCoord); if (node != null && node instanceof TransparentNode && ((TransparentNode) node).element instanceof ElectricalAntennaRxElement) rxElement = (ElectricalAntennaRxElement) ((TransparentNode) node).element; else { @@ -147,7 +147,7 @@ public boolean onBlockActivated(EntityPlayer entityPlayer, Direction side, float public void readFromNBT(NBTTagCompound nbt) { super.readFromNBT(nbt); if (nbt.getBoolean("rxCoordValid")) { - rxCoord = new Coordonate(); + rxCoord = new Coordinate(); rxCoord.readFromNBT(nbt, "rxCoord"); } rot = LRDU.readFromNBT(nbt, "rot"); diff --git a/src/main/java/mods/eln/transparentnode/electricalantennatx/ElectricalAntennaTxSlowProcess.java b/src/main/java/mods/eln/transparentnode/electricalantennatx/ElectricalAntennaTxSlowProcess.java index 11c6c315a..5cdc03e30 100644 --- a/src/main/java/mods/eln/transparentnode/electricalantennatx/ElectricalAntennaTxSlowProcess.java +++ b/src/main/java/mods/eln/transparentnode/electricalantennatx/ElectricalAntennaTxSlowProcess.java @@ -1,7 +1,7 @@ package mods.eln.transparentnode.electricalantennatx; import mods.eln.Eln; -import mods.eln.misc.Coordonate; +import mods.eln.misc.Coordinate; import mods.eln.node.NodeBase; import mods.eln.node.NodeManager; import mods.eln.node.transparent.TransparentNode; @@ -28,12 +28,12 @@ public ElectricalAntennaTxSlowProcess(ElectricalAntennaTxElement element) { @Override public void process(double time) { //if(element.rxCoord == null) - World world = element.node.coordonate.world(); + World world = element.node.coordinate.world(); if (timeCounter <= 0.0) { timeCounter = periode; int rangeMax = element.descriptor.rangeMax; - Coordonate coord = new Coordonate(element.node.coordonate); + Coordinate coord = new Coordinate(element.node.coordinate); int distance = 0; TransparentNode node = null; @@ -47,7 +47,7 @@ public void process(double time) { // a++; if ((block = coord.getBlock()) != Blocks.air && block != Blocks.fire) { if (block == Eln.transparentNodeBlock - && (node = (TransparentNode) NodeManager.instance.getNodeFromCoordonate(coord)) != null + && (node = (TransparentNode) NodeManager.instance.getNodeFromCoordinate(coord)) != null && (node.element instanceof ElectricalAntennaRxElement)) { ElectricalAntennaRxElement rx = (ElectricalAntennaRxElement) node.element; if (rx.front == element.front.getInverse()) { @@ -58,7 +58,7 @@ public void process(double time) { } } else { // b++; - NodeBase unknowNode = NodeManager.instance.getNodeFromCoordonate(coord); + NodeBase unknowNode = NodeManager.instance.getNodeFromCoordinate(coord); if (node != null) { if (unknowNode instanceof TransparentNode && (((TransparentNode) unknowNode).element instanceof ElectricalAntennaRxElement)) { @@ -74,7 +74,7 @@ public void process(double time) { } while (distance < rangeMax); if (!find) { element.txDisconnect(); - Coordonate coordCpy = new Coordonate(coord); + Coordinate coordCpy = new Coordinate(coord); coordCpy.move(element.front.getInverse()); if (element.powerResistor.getP() > 50) { if (coordCpy.world().blockExists(coordCpy.x, coordCpy.y, coordCpy.z)) { @@ -89,10 +89,10 @@ public void process(double time) { if (world.getWorldInfo().isRaining()) element.powerEfficency *= 0.707; if (world.getWorldInfo().isThundering()) element.powerEfficency *= 0.707; - element.rxCoord = node.coordonate; + element.rxCoord = node.coordinate; element.rxElement = (ElectricalAntennaRxElement) node.element; } - List list = world.getEntitiesWithinAABBExcludingEntity((Entity) null, Coordonate.getAxisAlignedBB(element.node.coordonate, coord)); + List list = world.getEntitiesWithinAABBExcludingEntity((Entity) null, Coordinate.getAxisAlignedBB(element.node.coordinate, coord)); for (Object o : list) { Entity e = (Entity) o; diff --git a/src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceDescriptor.java b/src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceDescriptor.java index 596397d08..63a1f7d0e 100644 --- a/src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceDescriptor.java +++ b/src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceDescriptor.java @@ -47,24 +47,25 @@ public void setParent(Item item, int damage) { Data.addMachine(newItemStack()); } - @Override - public boolean handleRenderType(ItemStack item, ItemRenderType type) { - return true; - } - - @Override - public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { - return type != ItemRenderType.INVENTORY; - } - - @Override - public void renderItem(ItemRenderType type, ItemStack item, Object... data) { - if (type == ItemRenderType.INVENTORY) { - super.renderItem(type, item, data); - } else { - Eln.obj.draw("ElectricFurnace", "furnace"); - } - } + // TODO(1.10): Fix item render. +// @Override +// public boolean handleRenderType(ItemStack item, ItemRenderType type) { +// return true; +// } +// +// @Override +// public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { +// return type != ItemRenderType.INVENTORY; +// } +// +// @Override +// public void renderItem(ItemRenderType type, ItemStack item, Object... data) { +// if (type == ItemRenderType.INVENTORY) { +// super.renderItem(type, item, data); +// } else { +// Eln.obj.draw("ElectricFurnace", "furnace"); +// } +// } @Override public void addInformation(ItemStack itemStack, EntityPlayer entityPlayer, List list, boolean par4) { diff --git a/src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceElement.java b/src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceElement.java index 9097f5749..5a211a06c 100644 --- a/src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceElement.java +++ b/src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceElement.java @@ -146,8 +146,8 @@ public void initialize() { // ItemStack stack = new ItemStack(Item.coal); - // EntityItem entity = new EntityItem(node.coordonate.world(), node.coordonate.x + 0.5, node.coordonate.y + 0.5, node.coordonate.z + 1.5, stack); - // node.coordonate.world().spawnEntityInWorld(entity); + // EntityItem entity = new EntityItem(node.coordinate.world(), node.coordinate.x + 0.5, node.coordinate.y + 0.5, node.coordinate.z + 1.5, stack); + // node.coordinate.world().spawnEntityInWorld(entity); connect(); } diff --git a/src/main/java/mods/eln/transparentnode/electricalmachine/ElectricalMachineDescriptor.java b/src/main/java/mods/eln/transparentnode/electricalmachine/ElectricalMachineDescriptor.java index 2a20d1e5a..33c0e283f 100644 --- a/src/main/java/mods/eln/transparentnode/electricalmachine/ElectricalMachineDescriptor.java +++ b/src/main/java/mods/eln/transparentnode/electricalmachine/ElectricalMachineDescriptor.java @@ -129,24 +129,25 @@ CableRenderDescriptor getPowerCableRender() { return null; } - @Override - public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { - return type != ItemRenderType.INVENTORY; - } - - @Override - public boolean handleRenderType(ItemStack item, ItemRenderType type) { - return true; - } - - @Override - public void renderItem(ItemRenderType type, ItemStack item, Object... data) { - if (type == ItemRenderType.INVENTORY) { - super.renderItem(type, item, data); - } else { - draw(null, getDefaultHandle(), null, null, 0f, 0f); - } - } + // TODO(1.10): Fix item render. +// @Override +// public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { +// return type != ItemRenderType.INVENTORY; +// } +// +// @Override +// public boolean handleRenderType(ItemStack item, ItemRenderType type) { +// return true; +// } +// +// @Override +// public void renderItem(ItemRenderType type, ItemStack item, Object... data) { +// if (type == ItemRenderType.INVENTORY) { +// super.renderItem(type, item, data); +// } else { +// draw(null, getDefaultHandle(), null, null, 0f, 0f); +// } +// } private Object getDefaultHandle() { if (defaultHandle == null) diff --git a/src/main/java/mods/eln/transparentnode/electricalmachine/ElectricalMachineRender.java b/src/main/java/mods/eln/transparentnode/electricalmachine/ElectricalMachineRender.java index 2d50eaa4c..bd6c490b8 100644 --- a/src/main/java/mods/eln/transparentnode/electricalmachine/ElectricalMachineRender.java +++ b/src/main/java/mods/eln/transparentnode/electricalmachine/ElectricalMachineRender.java @@ -42,7 +42,7 @@ public ElectricalMachineRender(TransparentNodeEntity tileEntity, final Transpare drawHandle = this.descriptor.newDrawHandle(); if (this.descriptor.runningSound != null) { - addLoopedSound(new LoopedSound(this.descriptor.runningSound, coordonate(), ISound.AttenuationType.LINEAR) { + addLoopedSound(new LoopedSound(this.descriptor.runningSound, coordinate(), ISound.AttenuationType.LINEAR) { @Override public float getPitch() { return powerFactor; diff --git a/src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceDescriptor.java b/src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceDescriptor.java index 1437ea4c1..b1fb1a7a4 100644 --- a/src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceDescriptor.java +++ b/src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceDescriptor.java @@ -101,24 +101,25 @@ void draw(float tiroirFactor) { //GL11.glCullFace(GL11.GL_BACK); } - @Override - public boolean handleRenderType(ItemStack item, ItemRenderType type) { - return true; - } - - @Override - public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { - return type != ItemRenderType.INVENTORY; - } - - @Override - public void renderItem(ItemRenderType type, ItemStack item, Object... data) { - if (type == ItemRenderType.INVENTORY) { - super.renderItem(type, item, data); - } else { - draw(1.0f); - } - } + // TODO(1.10): Fix item render. +// @Override +// public boolean handleRenderType(ItemStack item, ItemRenderType type) { +// return true; +// } +// +// @Override +// public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { +// return type != ItemRenderType.INVENTORY; +// } +// +// @Override +// public void renderItem(ItemRenderType type, ItemStack item, Object... data) { +// if (type == ItemRenderType.INVENTORY) { +// super.renderItem(type, item, data); +// } else { +// draw(1.0f); +// } +// } @Override public void addInformation(ItemStack itemStack, EntityPlayer entityPlayer, List list, boolean par4) { diff --git a/src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceRender.java b/src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceRender.java index 95e018a29..6b1ab7150 100644 --- a/src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceRender.java +++ b/src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceRender.java @@ -1,6 +1,6 @@ package mods.eln.transparentnode.heatfurnace; -import mods.eln.misc.Coordonate; +import mods.eln.misc.Coordinate; import mods.eln.misc.Direction; import mods.eln.misc.PhysicalInterpolator; import mods.eln.misc.Utils; @@ -29,7 +29,7 @@ public class HeatFurnaceRender extends TransparentNodeElementRender { HeatFurnaceDescriptor descriptor; - Coordonate coord; + Coordinate coord; PhysicalInterpolator interpolator; float counter = 0; @@ -44,7 +44,7 @@ public HeatFurnaceRender(TransparentNodeEntity tileEntity, TransparentNodeDescri super(tileEntity, descriptor); this.descriptor = (HeatFurnaceDescriptor) descriptor; interpolator = new PhysicalInterpolator(0.4f, 8.0f, 0.9f, 0.2f); - coord = new Coordonate(tileEntity); + coord = new Coordinate(tileEntity); } @Override diff --git a/src/main/java/mods/eln/transparentnode/powercapacitor/PowerCapacitorDescriptor.java b/src/main/java/mods/eln/transparentnode/powercapacitor/PowerCapacitorDescriptor.java index 99e635c0b..7f994f4d2 100644 --- a/src/main/java/mods/eln/transparentnode/powercapacitor/PowerCapacitorDescriptor.java +++ b/src/main/java/mods/eln/transparentnode/powercapacitor/PowerCapacitorDescriptor.java @@ -67,19 +67,20 @@ void draw() { } - @Override - public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, - ItemRendererHelper helper) { - return true; - } - - @Override - public boolean handleRenderType(ItemStack item, ItemRenderType type) { - return true; - } - - @Override - public void renderItem(ItemRenderType type, ItemStack item, Object... data) { - draw(); - } + // TODO(1.10): Fix item render. +// @Override +// public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, +// ItemRendererHelper helper) { +// return true; +// } +// +// @Override +// public boolean handleRenderType(ItemStack item, ItemRenderType type) { +// return true; +// } +// +// @Override +// public void renderItem(ItemRenderType type, ItemStack item, Object... data) { +// draw(); +// } } diff --git a/src/main/java/mods/eln/transparentnode/powerinductor/PowerInductorDescriptor.java b/src/main/java/mods/eln/transparentnode/powerinductor/PowerInductorDescriptor.java index 61d0d2d46..7c78388bd 100644 --- a/src/main/java/mods/eln/transparentnode/powerinductor/PowerInductorDescriptor.java +++ b/src/main/java/mods/eln/transparentnode/powerinductor/PowerInductorDescriptor.java @@ -63,19 +63,20 @@ void draw() { } - @Override - public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, - ItemRendererHelper helper) { - return true; - } - - @Override - public boolean handleRenderType(ItemStack item, ItemRenderType type) { - return true; - } - - @Override - public void renderItem(ItemRenderType type, ItemStack item, Object... data) { - draw(); - } + // TODO(1.10): Fix item render. +// @Override +// public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, +// ItemRendererHelper helper) { +// return true; +// } +// +// @Override +// public boolean handleRenderType(ItemStack item, ItemRenderType type) { +// return true; +// } +// +// @Override +// public void renderItem(ItemRenderType type, ItemStack item, Object... data) { +// draw(); +// } } diff --git a/src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelDescriptor.java b/src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelDescriptor.java index 877ca65f3..150896657 100644 --- a/src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelDescriptor.java +++ b/src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelDescriptor.java @@ -11,7 +11,8 @@ import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.Blocks; import net.minecraft.item.ItemStack; -import net.minecraft.util.AxisAlignedBB; +import net.minecraft.util.math.AxisAlignedBB; +import net.minecraft.util.math.BlockPos; import net.minecraft.world.World; import org.lwjgl.opengl.GL11; @@ -21,7 +22,7 @@ public class SolarPanelDescriptor extends TransparentNodeDescriptor { - final Coordonate groundCoordinate; + final Coordinate groundCoordinate; boolean basicModel; private Obj3D obj; private Obj3DPart main; @@ -31,7 +32,7 @@ public SolarPanelDescriptor( String name, Obj3D obj, CableRenderDescriptor cableRender, GhostGroup ghostGroup, int solarOffsetX, int solarOffsetY, int solarOffsetZ, - Coordonate groundCoordinate, double electricalUmax, double electricalPmax, + Coordinate groundCoordinate, double electricalUmax, double electricalPmax, double electricalDropFactor, double alphaMin, double alphaMax @@ -112,44 +113,44 @@ void draw(float alpha, Direction front) { } } - @Override - public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, - ItemRendererHelper helper) { - return type != ItemRenderType.INVENTORY; - } - - @Override - public boolean handleRenderType(ItemStack item, ItemRenderType type) { - return true; - } - - @Override - public void renderItem(ItemRenderType type, ItemStack item, Object... data) { - if (type == ItemRenderType.INVENTORY) { - super.renderItem(type, item, data); - } else { - draw((float) alphaMin, Direction.XN); - } - } + // TODO(1.10): Fix item render. +// @Override +// public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, +// ItemRendererHelper helper) { +// return type != ItemRenderType.INVENTORY; +// } +// +// @Override +// public boolean handleRenderType(ItemStack item, ItemRenderType type) { +// return true; +// } +// +// @Override +// public void renderItem(ItemRenderType type, ItemStack item, Object... data) { +// if (type == ItemRenderType.INVENTORY) { +// super.renderItem(type, item, data); +// } else { +// draw((float) alphaMin, Direction.XN); +// } +// } @Override public void addInformation(ItemStack itemStack, EntityPlayer entityPlayer, List list, boolean par4) { super.addInformation(itemStack, entityPlayer, list, par4); - list.add(tr("Produces power from solar radiation.")); + list.add(tr("Produces power fromFacing solar radiation.")); list.add(" " + tr("Max. voltage: %1$V", Utils.plotValue(electricalUmax))); list.add(" " + tr("Max. power: %1$W", Utils.plotValue(electricalPmax))); if (canRotate) list.add(tr("Can be geared towards the sun.")); } @Override - public void addCollisionBoxesToList(AxisAlignedBB par5AxisAlignedBB, List list, World world, int x, int y, int z) { + public void addCollisionBoxesToList(AxisAlignedBB par5AxisAlignedBB, List list, BlockPos pos) { if (canRotate) { - super.addCollisionBoxesToList(par5AxisAlignedBB, list, world, x, y, z); + super.addCollisionBoxesToList(par5AxisAlignedBB, list, pos); return; } - AxisAlignedBB bb = Blocks.stone.getCollisionBoundingBoxFromPool(world, x, y, z); - bb.maxY -= 0.5; + AxisAlignedBB bb = new AxisAlignedBB(pos).setMaxY(0.5); if (par5AxisAlignedBB.intersectsWith(bb)) list.add(bb); } } diff --git a/src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelElement.java b/src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelElement.java index dfffc6fd8..29541c743 100644 --- a/src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelElement.java +++ b/src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelElement.java @@ -139,7 +139,7 @@ public void initialize() { descriptor.applyTo(negativeLoad); if (descriptor.groundCoordinate != null) { - GhostPowerNode n = new GhostPowerNode(node.coordonate, front, descriptor.groundCoordinate, negativeLoad); + GhostPowerNode n = new GhostPowerNode(node.coordinate, front, descriptor.groundCoordinate, negativeLoad); n.initialize(); groundNode = n; } diff --git a/src/main/java/mods/eln/transparentnode/solarpanel/SolarPannelSlowProcess.java b/src/main/java/mods/eln/transparentnode/solarpanel/SolarPannelSlowProcess.java index fff87c734..a6fb33b19 100644 --- a/src/main/java/mods/eln/transparentnode/solarpanel/SolarPannelSlowProcess.java +++ b/src/main/java/mods/eln/transparentnode/solarpanel/SolarPannelSlowProcess.java @@ -1,9 +1,9 @@ package mods.eln.transparentnode.solarpanel; -import mods.eln.misc.Coordonate; +import mods.eln.misc.Coordinate; import mods.eln.misc.Utils; import mods.eln.sim.IProcess; -import net.minecraft.util.Vec3; +import net.minecraft.util.math.Vec3d; import net.minecraft.world.World; public class SolarPannelSlowProcess implements IProcess { @@ -44,8 +44,8 @@ public double getSolarLight() { } - Coordonate coordonate = solarPannel.node.coordonate; - Vec3 v = Utils.getVec05(coordonate); + Coordinate coordinate = solarPannel.node.coordinate; + Vec3d v = Utils.getVec05(coordinate); double x = v.xCoord + solarPannel.descriptor.solarOffsetX, y = v.yCoord + solarPannel.descriptor.solarOffsetY, z = v.zCoord + solarPannel.descriptor.solarOffsetZ; @@ -55,9 +55,9 @@ public double getSolarLight() { if (light < 0.0) light = 0.0; - if (coordonate.getWorldExist() == false) return light; + if (coordinate.doesWorldExist() == false) return light; - World world = coordonate.world(); + World world = coordinate.world(); if (world.getWorldInfo().isRaining()) light *= 0.5; if (world.getWorldInfo().isThundering()) light *= 0.5; @@ -101,6 +101,6 @@ public static double getSolarAlpha(World world) { } public double getSolarAlpha() { - return getSolarAlpha(solarPannel.node.coordonate.world()); + return getSolarAlpha(solarPannel.node.coordinate.world()); } } diff --git a/src/main/java/mods/eln/transparentnode/teleporter/ITeleporter.java b/src/main/java/mods/eln/transparentnode/teleporter/ITeleporter.java index 2fa1a20eb..85aa57fbf 100644 --- a/src/main/java/mods/eln/transparentnode/teleporter/ITeleporter.java +++ b/src/main/java/mods/eln/transparentnode/teleporter/ITeleporter.java @@ -1,9 +1,9 @@ package mods.eln.transparentnode.teleporter; -import mods.eln.misc.Coordonate; +import mods.eln.misc.Coordinate; public interface ITeleporter { - public Coordonate getTeleportCoordonate(); + public Coordinate getTeleportCoordinate(); public String getName(); diff --git a/src/main/java/mods/eln/transparentnode/teleporter/TeleporterDescriptor.java b/src/main/java/mods/eln/transparentnode/teleporter/TeleporterDescriptor.java index a7ea446e4..cdd9e3ac2 100644 --- a/src/main/java/mods/eln/transparentnode/teleporter/TeleporterDescriptor.java +++ b/src/main/java/mods/eln/transparentnode/teleporter/TeleporterDescriptor.java @@ -7,34 +7,34 @@ import mods.eln.sixnode.electricalcable.ElectricalCableDescriptor; import mods.eln.wiki.Data; import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.util.AxisAlignedBB; +import net.minecraft.util.math.AxisAlignedBB; +import net.minecraft.util.math.BlockPos; import net.minecraft.world.World; public class TeleporterDescriptor extends TransparentNodeDescriptor { private Obj3D obj; - public Obj3DPart main, ext_control, ext_power; - public Obj3DPart door_out, door_in, door_in_charge; - public Obj3DPart indoor_open, indoor_closed; - public Obj3DPart outlampline0_alpha, outlampline0; - public Obj3DPart[] leds = new Obj3DPart[10]; - public Obj3DPart scr0_electrictity, scr1_cables, scr2_transporter, scr3_userin, scr5_dooropen, src4_doorclosed; - public Obj3DPart gyro_alpha, gyro, whiteblur; + Obj3DPart main, ext_control, ext_power; + Obj3DPart door_out, door_in, door_in_charge; + Obj3DPart indoor_open, indoor_closed; + private Obj3DPart outlampline0_alpha, outlampline0; + Obj3DPart[] leds = new Obj3DPart[10]; + Obj3DPart scr0_electrictity, scr1_cables, scr2_transporter, scr3_userin, scr5_dooropen, src4_doorclosed; + Obj3DPart gyro_alpha, gyro, whiteblur; public TeleporterDescriptor( String name, Obj3D obj, ElectricalCableDescriptor cable, - Coordonate areaCoordonate, Coordonate lightCoordonate, + Coordinate areaCoordinate, Coordinate lightCoordinate, int areaH, - Coordonate[] powerCoordonate, + Coordinate[] powerCoordinate, GhostGroup ghostDoorOpen, GhostGroup ghostDoorClose ) { super(name, TeleporterElement.class, TeleporterRender.class); this.cable = cable; this.obj = obj; - this.powerCoordonate = powerCoordonate; + this.powerCoordinate = powerCoordinate; if (obj != null) { main = obj.getPart("main"); ext_control = obj.getPart("ext_control"); @@ -60,32 +60,32 @@ public TeleporterDescriptor( leds[idx] = obj.getPart("led" + idx); } } - this.areaCoordonate = areaCoordonate; + this.areaCoordinate = areaCoordinate; this.areaH = areaH; this.ghostDoorClose = ghostDoorClose; this.ghostDoorOpen = ghostDoorOpen; - this.lightCoordonate = lightCoordonate; + this.lightCoordinate = lightCoordinate; voltageLevelColor = VoltageLevelColor.HighVoltage; } - public GhostGroup ghostDoorOpen, ghostDoorClose; + GhostGroup ghostDoorOpen, ghostDoorClose; - int areaH; - public Coordonate areaCoordonate, lightCoordonate; + private int areaH; + private Coordinate areaCoordinate; + Coordinate lightCoordinate; - public AxisAlignedBB getBB(Coordonate c, Direction front) { - Coordonate temp = new Coordonate(areaCoordonate); - temp.setDimention(c.dimention); + AxisAlignedBB getBB(Coordinate c, Direction front) { + Coordinate temp = new Coordinate(areaCoordinate); + temp.setDimension(c.getDimension()); temp.applyTransformation(front, c); - AxisAlignedBB bb = AxisAlignedBB.getBoundingBox(temp.x, temp.y, temp.z, temp.x + 1, temp.y + areaH, temp.z + 1); - return bb; + return new AxisAlignedBB(temp.pos); } - public Coordonate getTeleportCoordonate(Direction front, Coordonate c) { - Coordonate temp = new Coordonate(areaCoordonate); - temp.setDimention(c.dimention); + Coordinate getTeleportCoordinate(Direction front, Coordinate c) { + Coordinate temp = new Coordinate(areaCoordinate); + temp.setDimension(c.getDimension()); temp.applyTransformation(front, c); return temp; @@ -94,7 +94,6 @@ public Coordonate getTeleportCoordonate(Direction front, Coordonate c) { @Override public void setParent(Item item, int damage) { - super.setParent(item, damage); Data.addMachine(newItemStack()); } @@ -109,13 +108,13 @@ public void draw() { if (door_out != null) door_out.draw(); } - Coordonate[] powerCoordonate; + private Coordinate[] powerCoordinate; - public Coordonate[] getPowerCoordonate(World w) { - Coordonate[] temp = new Coordonate[powerCoordonate.length]; + Coordinate[] getPowerCoordinate(World w) { + Coordinate[] temp = new Coordinate[powerCoordinate.length]; for (int idx = 0; idx < temp.length; idx++) { - temp[idx] = new Coordonate(powerCoordonate[idx]); - temp[idx].setDimention(w.provider.dimensionId); + temp[idx] = new Coordinate(powerCoordinate[idx]); + temp[idx].setDimension(w.provider.getDimension()); } return temp; } @@ -137,30 +136,31 @@ public TeleporterDescriptor setChargeSound(String sound, float volume) { } - @Override - public boolean handleRenderType(ItemStack item, ItemRenderType type) { - return true; - } - - @Override - public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, - ItemRendererHelper helper) { - return type != ItemRenderType.INVENTORY; - } - - @Override - public void renderItem(ItemRenderType type, ItemStack item, Object... data) { - if (type == ItemRenderType.INVENTORY) { - super.renderItem(type, item, data); - } else { - objItemScale(obj); - main.draw(); - ext_control.draw(); - ext_power.draw(); - UtilsClient.disableCulling(); - door_out.draw(); - UtilsClient.enableCulling(); - indoor_open.draw(); - } - } + // TODO(1.10): Fix item render. +// @Override +// public boolean handleRenderType(ItemStack item, ItemRenderType type) { +// return true; +// } +// +// @Override +// public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, +// ItemRendererHelper helper) { +// return type != ItemRenderType.INVENTORY; +// } +// +// @Override +// public void renderItem(ItemRenderType type, ItemStack item, Object... data) { +// if (type == ItemRenderType.INVENTORY) { +// super.renderItem(type, item, data); +// } else { +// objItemScale(obj); +// main.draw(); +// ext_control.draw(); +// ext_power.draw(); +// UtilsClient.disableCulling(); +// door_out.draw(); +// UtilsClient.enableCulling(); +// indoor_open.draw(); +// } +// } } diff --git a/src/main/java/mods/eln/transparentnode/teleporter/TeleporterElement.java b/src/main/java/mods/eln/transparentnode/teleporter/TeleporterElement.java index 69440c06c..212646918 100644 --- a/src/main/java/mods/eln/transparentnode/teleporter/TeleporterElement.java +++ b/src/main/java/mods/eln/transparentnode/teleporter/TeleporterElement.java @@ -1,10 +1,11 @@ package mods.eln.transparentnode.teleporter; import mods.eln.i18n.I18N; -import mods.eln.misc.Coordonate; +import mods.eln.misc.Coordinate; import mods.eln.misc.Direction; import mods.eln.misc.LRDU; import mods.eln.misc.Utils; +import mods.eln.node.NodeBase; import mods.eln.node.NodePeriodicPublishProcess; import mods.eln.node.transparent.TransparentNode; import mods.eln.node.transparent.TransparentNodeDescriptor; @@ -22,9 +23,9 @@ import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.item.EntityItem; import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.init.Blocks; import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.util.AxisAlignedBB; +import net.minecraft.util.math.AxisAlignedBB; +import net.minecraft.util.math.BlockPos; import java.io.DataInputStream; import java.io.DataOutputStream; @@ -36,12 +37,12 @@ public class TeleporterElement extends TransparentNodeElement implements ITeleporter { - TeleporterDescriptor descriptor; + private TeleporterDescriptor descriptor; NbtElectricalLoad powerLoad = new NbtElectricalLoad("powerLoad"); - Resistor powerResistor = new Resistor(powerLoad, null); - TeleporterSlowProcess slowProcess = new TeleporterSlowProcess(); + private Resistor powerResistor = new Resistor(powerLoad, null); + private TeleporterSlowProcess slowProcess = new TeleporterSlowProcess(); - NodePeriodicPublishProcess publisher; + private NodePeriodicPublishProcess publisher; static public final ArrayList teleporterList = new ArrayList(); public TeleporterElement(TransparentNode transparentNode, @@ -49,7 +50,6 @@ public TeleporterElement(TransparentNode transparentNode, super(transparentNode, descriptor); this.descriptor = (TeleporterDescriptor) descriptor; publisher = new NodePeriodicPublishProcess(node, 2, 1); - powerLoad.isPrivateSubSystem(); electricalLoadList.add(powerLoad); electricalComponentList.add(powerResistor); slowProcessList.add(slowProcess); @@ -62,9 +62,9 @@ public TeleporterElement(TransparentNode transparentNode, } - VoltageStateWatchDog voltageWatchdog = new VoltageStateWatchDog(); + private VoltageStateWatchDog voltageWatchdog = new VoltageStateWatchDog(); - Coordonate lightCoordonate; + private Coordinate lightCoordinate; @Override public ElectricalLoad getElectricalLoad(Direction side, LRDU lrdu) { @@ -83,7 +83,7 @@ public int getConnectionMask(Direction side, LRDU lrdu) { if (side == Direction.YP || side == Direction.YN) return 0; if (lrdu != LRDU.Down) return 0; - return node.maskElectricalPower; + return NodeBase.maskElectricalPower; } @Override @@ -110,20 +110,20 @@ public void initialize() { powerResistor.highImpedance(); - for (Coordonate c : descriptor.getPowerCoordonate(node.coordonate.world())) { + for (Coordinate c : descriptor.getPowerCoordinate(node.coordinate.world())) { TeleporterPowerNode n = new TeleporterPowerNode(); n.setElement(this); - c.applyTransformation(front, node.coordonate); + c.applyTransformation(front, node.coordinate); n.onBlockPlacedBy(c, Direction.XN, null, null); powerNodeList.add(n); } - lightCoordonate = new Coordonate(this.descriptor.lightCoordonate); - lightCoordonate.applyTransformation(front, node.coordonate); + lightCoordinate = new Coordinate(this.descriptor.lightCoordinate); + lightCoordinate.applyTransformation(front, node.coordinate); - descriptor.ghostDoorClose.newRotate(front).eraseGeo(node.coordonate); - descriptor.ghostDoorOpen.newRotate(front).plot(node.coordonate, node.coordonate, descriptor.getGhostGroupUuid()); + descriptor.ghostDoorClose.newRotate(front).eraseGeo(node.coordinate); + descriptor.ghostDoorOpen.newRotate(front).plot(node.coordinate, node.coordinate, descriptor.getGhostGroupUuid()); connect(); } @@ -140,7 +140,7 @@ public void onBreakElement() { unregister(); } - ArrayList powerNodeList = new ArrayList(); + private ArrayList powerNodeList = new ArrayList(); @Override public void unload() { @@ -159,10 +159,10 @@ public boolean onBlockActivated(EntityPlayer entityPlayer, Direction side, return false; } - String name = "Unnamed", targetName = "Unnamed"; - double energyHit = 0; - double energyTarget = 0; - double powerCharge = 2000; + private String name = "Unnamed", targetName = "Unnamed"; + private double energyHit = 0; + private double energyTarget = 0; + private double powerCharge = 2000; @Override public void writeToNBT(NBTTagCompound nbt) { @@ -189,19 +189,19 @@ public void readFromNBT(NBTTagCompound nbt) { state = StateReset; } - public static final byte StateIdle = 0; - public static final byte StateStart = 1; - public static final byte StateClose = 2; - public static final byte StateCharge = 3; - public static final byte StateTeleport = 4; - public static final byte StateOpen = 5; - public static final byte StateReserved = 6; - public static final byte StateReset = 7; + private static final byte StateIdle = 0; + private static final byte StateStart = 1; + private static final byte StateClose = 2; + private static final byte StateCharge = 3; + private static final byte StateTeleport = 4; + private static final byte StateOpen = 5; + private static final byte StateReserved = 6; + private static final byte StateReset = 7; - byte state = StateIdle; - float timeCounter; + private byte state = StateIdle; + private float timeCounter; - boolean doorState = true; + private boolean doorState = true; void setState(byte state) { if (state != this.state) { @@ -220,10 +220,10 @@ void setState(byte state) { processRatio = 0; break; case StateClose: - descriptor.ghostDoorOpen.newRotate(front).eraseGeo(node.coordonate); + descriptor.ghostDoorOpen.newRotate(front).eraseGeo(node.coordinate); break; case StateOpen: - descriptor.ghostDoorClose.newRotate(front).eraseGeo(node.coordonate); + descriptor.ghostDoorClose.newRotate(front).eraseGeo(node.coordinate); break; default: break; @@ -234,11 +234,11 @@ void setState(byte state) { switch (this.state) { case StateClose: doorState = false; - descriptor.ghostDoorClose.newRotate(front).plot(node.coordonate, node.coordonate, descriptor.getGhostGroupUuid()); + descriptor.ghostDoorClose.newRotate(front).plot(node.coordinate, node.coordinate, descriptor.getGhostGroupUuid()); break; case StateOpen: doorState = true; - descriptor.ghostDoorOpen.newRotate(front).plot(node.coordonate, node.coordonate, descriptor.getGhostGroupUuid()); + descriptor.ghostDoorOpen.newRotate(front).plot(node.coordinate, node.coordinate, descriptor.getGhostGroupUuid()); break; case StateCharge: powerResistor.setR(Math.pow(descriptor.cable.electricalNominalVoltage, 2) / powerCharge); @@ -270,32 +270,32 @@ public boolean reservate() { @Override public void reservateRefresh(boolean doorState, float processRatio) { reservateRefreshed = true; - if (this.doorState == false && doorState == true) { + if (!this.doorState && doorState) { setState(StateOpen); // setState(StateReserved); } - if (this.doorState == true && doorState == false) { + if (this.doorState && !doorState) { setState(StateClose); // setState(StateReserved); } this.processRatio = processRatio; } - boolean reservateRefreshed = false; + private boolean reservateRefreshed = false; - float processRatio = 0; - public static final byte eventNoTargetFind = 1; - public static final byte eventMultipleoTargetFind = 2; - public static final byte eventTargetFind = 3; - public static final byte eventSameTarget = 4; - public static final byte eventNotSameDimensionTarget = 5; - public static final byte eventTargetBusy = 6; - public static final byte eventInstablePowerSupply = 7; - boolean imMaster = false; + private float processRatio = 0; + private static final byte eventNoTargetFind = 1; + private static final byte eventMultipleoTargetFind = 2; + private static final byte eventTargetFind = 3; + private static final byte eventSameTarget = 4; + private static final byte eventNotSameDimensionTarget = 5; + private static final byte eventTargetBusy = 6; + private static final byte eventInstablePowerSupply = 7; + private boolean imMaster = false; class TeleporterSlowProcess implements IProcess { - int dx, dy, dz; + BlockPos delta; // Offset to teleport by. Not really a position. int blinkCounter = 0; int soundCounter = 0; @@ -308,9 +308,9 @@ public void process(double time) { if (target == null) { energyTarget = 0; } else { - Coordonate c = getTeleportCoordonate(); - double distance = getTeleportCoordonate().trueDistanceTo(target.getTeleportCoordonate()); - AxisAlignedBB bb = descriptor.getBB(node.coordonate, front); + Coordinate c = getTeleportCoordinate(); + double distance = getTeleportCoordinate().trueDistanceTo(target.getTeleportCoordinate()); + AxisAlignedBB bb = descriptor.getBB(node.coordinate, front); int playerCount = c.world().getEntitiesWithinAABB(EntityPlayer.class, bb).size(); int itemCount = c.world().getEntitiesWithinAABB(EntityItem.class, bb).size(); int petCount = c.world().getEntitiesWithinAABB(EntityLivingBase.class, bb).size() - playerCount; @@ -327,12 +327,12 @@ public void process(double time) { if (++blinkCounter >= 9) { blinkCounter = 0; if ((powerLoad.getU() / descriptor.cable.electricalNominalVoltage - 0.5) * 3 > Math.random()) - LightBlockEntity.addLight(lightCoordonate, 12, 11); + LightBlockEntity.addLight(lightCoordinate, 12, 11); } switch (state) { case StateReserved: - if (reservateRefreshed == false) { - if (doorState == false) + if (!reservateRefreshed) { + if (!doorState) setState(StateOpen); else setState(StateIdle); @@ -362,7 +362,7 @@ public void process(double time) { } ITeleporter target = getTarget(targetNameCopy); - if (target.reservate() == false) { + if (!target.reservate()) { sendIdToAllClient(eventTargetBusy); break; } @@ -370,7 +370,7 @@ public void process(double time) { sendIdToAllClient(eventTargetFind); /* - * AxisAlignedBB bb = descriptor.getBB(node.coordonate,front); List list = node.coordonate.world().getEntitiesWithinAABB(EntityItem.class, bb); for(Object o : list){ Entity e = (Entity)o; if(e instanceof EntityPlayerMP) ((EntityPlayerMP)e).setPositionAndUpdate(e.posX + dx, e.posY + dy, e.posZ + dz); else e.setPosition(e.posX + dx, e.posY + dy, e.posZ + dz); } + * AxisAlignedBB bb = descriptor.getBB(node.coordinate,front); List list = node.coordinate.world().getEntitiesWithinAABB(EntityItem.class, bb); for(Object o : list){ Entity e = (Entity)o; if(e instanceof EntityPlayerMP) ((EntityPlayerMP)e).setPositionAndUpdate(e.posX + dx, e.posY + dy, e.posZ + dz); else e.setPosition(e.posX + dx, e.posY + dy, e.posZ + dz); } */ imMaster = true; setState(StateStart); @@ -379,7 +379,7 @@ public void process(double time) { break; case StateStart: { - int count = node.coordonate.world().getEntitiesWithinAABB(Entity.class, descriptor.getBB(node.coordonate, front)).size(); + int count = node.coordinate.world().getEntitiesWithinAABB(Entity.class, descriptor.getBB(node.coordinate, front)).size(); if (count == 0) { timeCounter = 0; } else { @@ -425,47 +425,34 @@ public void process(double time) { } if (powerLoad.getU() < descriptor.cable.electricalNominalVoltage * 0.8) { sendIdToAllClient(eventInstablePowerSupply); - AxisAlignedBB bb = descriptor.getBB(node.coordonate, front); - List list = node.coordonate.world().getEntitiesWithinAABB(Entity.class, bb); + AxisAlignedBB bb = descriptor.getBB(node.coordinate, front); + List list = node.coordinate.world().getEntitiesWithinAABB(Entity.class, bb); for (Object o : list) { Entity e = (Entity) o; double failDistance = 1000; - while (true) { + { + // Find a not-immediately-fatal position to teleport to. + // ...well, it may be a lava lake. But you can survive that! int x, y, z; x = (int) (e.posX + (Math.random() * 2 - 1) * failDistance); z = (int) (e.posZ + (Math.random() * 2 - 1) * failDistance); y = 20; - while (e.worldObj.getBlock(x, y, z) != Blocks.air && e.worldObj.getBlock(x, y + 1, z) != Blocks.air) { + BlockPos pos = new BlockPos(x, y, z); + while (!(e.worldObj.isAirBlock(pos) && e.worldObj.isAirBlock(pos.up()))) { y++; } Utils.serverTeleport(e, x + 0.5, y, z + 0.5); - break; } } setState(StateOpen); } else { ITeleporter target = getTarget(targetNameCopy); - Coordonate c = getTeleportCoordonate(); - // double distance = getTeleportCoordonate().trueDistanceTo(c); - // AxisAlignedBB bb = descriptor.getBB(node.coordonate, front); - // int playerCount = c.world().getEntitiesWithinAABB(EntityPlayer.class, bb).size(); - // int itemCount = c.world().getEntitiesWithinAABB(EntityItem.class, bb).size(); - // int petCount = c.world().getEntitiesWithinAABB(EntityLivingBase.class, bb).size() - playerCount; - // // Object o = c.world().getEntitiesWithinAABB(EntityItem.class,bb); - // energyTarget = 10000 + - // 40000 * playerCount + - // 5000 * petCount + - // 5000 * itemCount; - // - // energyTarget *= 1.0 + Math.pow(distance / 250.0, 0.5); - + Coordinate c = getTeleportCoordinate(); energyHit += powerResistor.getP() * time; processRatio = (float) (energyHit / energyTarget); if (energyHit >= energyTarget) { - dx = target.getTeleportCoordonate().x - c.x; - dy = target.getTeleportCoordonate().y - c.y; - dz = target.getTeleportCoordonate().z - c.z; + delta = target.getTeleportCoordinate().pos.subtract(c.pos); setState(StateTeleport); } } @@ -476,11 +463,11 @@ public void process(double time) { timeCounter += time; if (timeCounter > 0) { - AxisAlignedBB bb = descriptor.getBB(node.coordonate, front); - List list = node.coordonate.world().getEntitiesWithinAABB(Entity.class, bb); + AxisAlignedBB bb = descriptor.getBB(node.coordinate, front); + List list = node.coordinate.world().getEntitiesWithinAABB(Entity.class, bb); for (Object o : list) { Entity e = (Entity) o; - Utils.serverTeleport(e, e.posX + dx, e.posY + dy, e.posZ + dz); + Utils.serverTeleport(e, e.posX + delta.getX(), e.posY + delta.getY(), e.posZ + delta.getZ()); } setState(StateOpen); @@ -515,20 +502,20 @@ public void process(double time) { } - int getTargetCount(String str) { + private int getTargetCount(String str) { int count = 0; for (ITeleporter t : teleporterList) { - if (t.getName().equals(str) && node.coordonate.dimention == t.getTeleportCoordonate().dimention) { + if (t.getName().equals(str) && node.coordinate.getDimension() == t.getTeleportCoordinate().getDimension()) { count++; } } return count; } - ITeleporter getTarget(String str) { + private ITeleporter getTarget(String str) { ITeleporter target = null; for (ITeleporter t : teleporterList) { - if (t.getName().equals(str) && node.coordonate.dimention == t.getTeleportCoordonate().dimention) { + if (t.getName().equals(str) && node.coordinate.getDimension() == t.getTeleportCoordinate().getDimension()) { if (target != null) return null; target = t; } @@ -536,12 +523,12 @@ ITeleporter getTarget(String str) { return target; } - boolean startFlag = false; + private boolean startFlag = false; - public static final byte setNameId = 1; - public static final byte startId = 2; - public static final byte setTargetNameId = 3; - public static final byte setChargePowerId = 4; + static final byte setNameId = 1; + static final byte startId = 2; + static final byte setTargetNameId = 3; + static final byte setChargePowerId = 4; @Override public byte networkUnserialize(DataInputStream stream) { @@ -611,9 +598,8 @@ public void networkSerialize(DataOutputStream stream) { } @Override - public Coordonate getTeleportCoordonate() { - - return descriptor.getTeleportCoordonate(front, node.coordonate); + public Coordinate getTeleportCoordinate() { + return descriptor.getTeleportCoordinate(front, node.coordinate); } @Override @@ -627,7 +613,7 @@ public Map getWaila() { Map info = new HashMap(); info.put(I18N.tr("Destination"), targetName); info.put(I18N.tr("Distance"), - Utils.plotValue(getTeleportCoordonate().trueDistanceTo(getTarget(targetName).getTeleportCoordonate()), "m")); + Utils.plotValue(getTeleportCoordinate().trueDistanceTo(getTarget(targetName).getTeleportCoordinate()), "m")); info.put(I18N.tr("Required energy"), Utils.plotEnergy("", energyTarget)); info.put(I18N.tr("Charge power"), Utils.plotPower("", powerCharge)); return info; diff --git a/src/main/java/mods/eln/transparentnode/teleporter/TeleporterRender.java b/src/main/java/mods/eln/transparentnode/teleporter/TeleporterRender.java index d3abaedba..1188529b4 100644 --- a/src/main/java/mods/eln/transparentnode/teleporter/TeleporterRender.java +++ b/src/main/java/mods/eln/transparentnode/teleporter/TeleporterRender.java @@ -16,14 +16,14 @@ public class TeleporterRender extends TransparentNodeElementRender { TeleporterDescriptor d; - Coordonate c; + Coordinate c; public TeleporterRender(TransparentNodeEntity tileEntity, TransparentNodeDescriptor descriptor) { super(tileEntity, descriptor); this.d = (TeleporterDescriptor) descriptor; doorInterpolator.setMaxSpeed(0.3f); - c = new Coordonate(tileEntity); + c = new Coordinate(tileEntity); } public static final float doorAlphaOpen = -90; @@ -41,10 +41,10 @@ public TeleporterRender(TransparentNodeEntity tileEntity, @Override public void draw() { - Coordonate lightCoordonate = new Coordonate(this.d.lightCoordonate); - lightCoordonate.applyTransformation(front, c); + Coordinate lightCoordinate = new Coordinate(this.d.lightCoordinate); + lightCoordinate.applyTransformation(front, c); - boolean lightEnable = tileEntity.getWorldObj().getBlock(lightCoordonate.x, lightCoordonate.y, lightCoordonate.z) == Eln.lightBlock; + boolean lightEnable = tileEntity.getWorldObj().getBlock(lightCoordinate.x, lightCoordinate.y, lightCoordinate.z) == Eln.lightBlock; front.glRotateXnRef(); diff --git a/src/main/java/mods/eln/transparentnode/thermaldissipatoractive/ThermalDissipatorActiveDescriptor.java b/src/main/java/mods/eln/transparentnode/thermaldissipatoractive/ThermalDissipatorActiveDescriptor.java index 78e11a88b..72c3944d2 100644 --- a/src/main/java/mods/eln/transparentnode/thermaldissipatoractive/ThermalDissipatorActiveDescriptor.java +++ b/src/main/java/mods/eln/transparentnode/thermaldissipatoractive/ThermalDissipatorActiveDescriptor.java @@ -90,25 +90,26 @@ void draw(float alpha) { } - @Override - public boolean handleRenderType(ItemStack item, ItemRenderType type) { - return true; - } - - @Override - public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, - ItemRendererHelper helper) { - return type != ItemRenderType.INVENTORY; - } - - @Override - public void renderItem(ItemRenderType type, ItemStack item, Object... data) { - if (type == ItemRenderType.INVENTORY) { - super.renderItem(type, item, data); - } else { - draw(0f); - } - } + // TODO(1.10): Fix item render. +// @Override +// public boolean handleRenderType(ItemStack item, ItemRenderType type) { +// return true; +// } +// +// @Override +// public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, +// ItemRendererHelper helper) { +// return type != ItemRenderType.INVENTORY; +// } +// +// @Override +// public void renderItem(ItemRenderType type, ItemStack item, Object... data) { +// if (type == ItemRenderType.INVENTORY) { +// super.renderItem(type, item, data); +// } else { +// draw(0f); +// } +// } @Override public void addInformation(ItemStack itemStack, EntityPlayer entityPlayer, diff --git a/src/main/java/mods/eln/transparentnode/thermaldissipatorpassive/ThermalDissipatorPassiveDescriptor.java b/src/main/java/mods/eln/transparentnode/thermaldissipatorpassive/ThermalDissipatorPassiveDescriptor.java index 92a2355d3..0b1e92986 100644 --- a/src/main/java/mods/eln/transparentnode/thermaldissipatorpassive/ThermalDissipatorPassiveDescriptor.java +++ b/src/main/java/mods/eln/transparentnode/thermaldissipatorpassive/ThermalDissipatorPassiveDescriptor.java @@ -72,23 +72,24 @@ public void draw() { } - @Override - public boolean handleRenderType(ItemStack item, ItemRenderType type) { - return true; - } - - @Override - public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, - ItemRendererHelper helper) { - return type != ItemRenderType.INVENTORY; - } - - @Override - public void renderItem(ItemRenderType type, ItemStack item, Object... data) { - if (type == ItemRenderType.INVENTORY) { - super.renderItem(type, item, data); - } else { - draw(); - } - } + // TODO(1.10): Fix item render. +// @Override +// public boolean handleRenderType(ItemStack item, ItemRenderType type) { +// return true; +// } +// +// @Override +// public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, +// ItemRendererHelper helper) { +// return type != ItemRenderType.INVENTORY; +// } +// +// @Override +// public void renderItem(ItemRenderType type, ItemStack item, Object... data) { +// if (type == ItemRenderType.INVENTORY) { +// super.renderItem(type, item, data); +// } else { +// draw(); +// } +// } } diff --git a/src/main/java/mods/eln/transparentnode/transformer/TransformerDescriptor.java b/src/main/java/mods/eln/transparentnode/transformer/TransformerDescriptor.java index 2708faa65..9bf710cad 100644 --- a/src/main/java/mods/eln/transparentnode/transformer/TransformerDescriptor.java +++ b/src/main/java/mods/eln/transparentnode/transformer/TransformerDescriptor.java @@ -58,24 +58,25 @@ public void addInformation(ItemStack itemStack, EntityPlayer entityPlayer, List Collections.addAll(list, tr("The voltage ratio is proportional\nto the cable stacks count ratio.").split("\n")); } - @Override - public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { - return type != ItemRenderType.INVENTORY; - } - - @Override - public boolean handleRenderType(ItemStack item, ItemRenderType type) { - return true; - } - - @Override - public void renderItem(ItemRenderType type, ItemStack item, Object... data) { - if (type == ItemRenderType.INVENTORY) { - super.renderItem(type, item, data); - } else { - draw(defaultFero, 1, 4, false, 0f); - } - } + // TODO(1.10): Fix item render. +// @Override +// public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { +// return type != ItemRenderType.INVENTORY; +// } +// +// @Override +// public boolean handleRenderType(ItemStack item, ItemRenderType type) { +// return true; +// } +// +// @Override +// public void renderItem(ItemRenderType type, ItemStack item, Object... data) { +// if (type == ItemRenderType.INVENTORY) { +// super.renderItem(type, item, data); +// } else { +// draw(defaultFero, 1, 4, false, 0f); +// } +// } void draw(Obj3DPart fero, int priCableNbr, int secCableNbr, boolean hasCasing, float doorOpen) { if (main != null) main.draw(); diff --git a/src/main/java/mods/eln/transparentnode/transformer/TransformerRender.java b/src/main/java/mods/eln/transparentnode/transformer/TransformerRender.java index e669829e9..c30f9435e 100644 --- a/src/main/java/mods/eln/transparentnode/transformer/TransformerRender.java +++ b/src/main/java/mods/eln/transparentnode/transformer/TransformerRender.java @@ -29,7 +29,7 @@ public class TransformerRender extends TransparentNodeElementRender { public TransformerRender(TransparentNodeEntity tileEntity, TransparentNodeDescriptor descriptor) { super(tileEntity, descriptor); this.descriptor = (TransformerDescriptor) descriptor; - addLoopedSound(new LoopedSound("eln:Transformer", coordonate(), ISound.AttenuationType.LINEAR) { + addLoopedSound(new LoopedSound("eln:Transformer", coordinate(), ISound.AttenuationType.LINEAR) { @Override public float getVolume() { if (load.getPosition() > TransformerRender.this.descriptor.minimalLoadToHum) @@ -40,7 +40,7 @@ public float getVolume() { } }); - coordinate = new Coordonate(tileEntity); + coordinate = new Coordinate(tileEntity); doorOpen = new PhysicalInterpolator(0.4f, 4.0f, 0.9f, 0.05f); } @@ -68,7 +68,7 @@ public GuiScreen newGuiDraw(Direction side, EntityPlayer player) { private Obj3DPart feroPart; private boolean hasCasing = false; - private final Coordonate coordinate; + private final Coordinate coordinate; private final PhysicalInterpolator doorOpen; @Override diff --git a/src/main/java/mods/eln/transparentnode/turbine/TurbineDescriptor.java b/src/main/java/mods/eln/transparentnode/turbine/TurbineDescriptor.java index fdbaae8d7..b0681f71a 100644 --- a/src/main/java/mods/eln/transparentnode/turbine/TurbineDescriptor.java +++ b/src/main/java/mods/eln/transparentnode/turbine/TurbineDescriptor.java @@ -86,24 +86,25 @@ void draw() { if (main != null) main.draw(); } - @Override - public boolean handleRenderType(ItemStack item, ItemRenderType type) { - return true; - } - - @Override - public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { - return type != ItemRenderType.INVENTORY; - } - - @Override - public void renderItem(ItemRenderType type, ItemStack item, Object... data) { - if (type == ItemRenderType.INVENTORY) { - super.renderItem(type, item, data); - } else { - draw(); - } - } + // TODO(1.10): Fix item render. +// @Override +// public boolean handleRenderType(ItemStack item, ItemRenderType type) { +// return true; +// } +// +// @Override +// public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { +// return type != ItemRenderType.INVENTORY; +// } +// +// @Override +// public void renderItem(ItemRenderType type, ItemStack item, Object... data) { +// if (type == ItemRenderType.INVENTORY) { +// super.renderItem(type, item, data); +// } else { +// draw(); +// } +// } @Override public void addInformation(ItemStack itemStack, EntityPlayer entityPlayer, List list, boolean par4) { diff --git a/src/main/java/mods/eln/transparentnode/turbine/TurbineRender.java b/src/main/java/mods/eln/transparentnode/turbine/TurbineRender.java index c35bec73b..c9954584d 100644 --- a/src/main/java/mods/eln/transparentnode/turbine/TurbineRender.java +++ b/src/main/java/mods/eln/transparentnode/turbine/TurbineRender.java @@ -28,7 +28,7 @@ public class TurbineRender extends TransparentNodeElementRender { public TurbineRender(TransparentNodeEntity tileEntity, TransparentNodeDescriptor descriptor) { super(tileEntity, descriptor); this.descriptor = (TurbineDescriptor) descriptor; - addLoopedSound(new LoopedSound(this.descriptor.soundFile, coordonate(), ISound.AttenuationType.LINEAR) { + addLoopedSound(new LoopedSound(this.descriptor.soundFile, coordinate(), ISound.AttenuationType.LINEAR) { @Override public float getVolume() { return 0.1f * factorLimiter.getPosition(); diff --git a/src/main/java/mods/eln/transparentnode/turret/TurretDescriptor.java b/src/main/java/mods/eln/transparentnode/turret/TurretDescriptor.java index ca792f804..c1c7355aa 100644 --- a/src/main/java/mods/eln/transparentnode/turret/TurretDescriptor.java +++ b/src/main/java/mods/eln/transparentnode/turret/TurretDescriptor.java @@ -99,28 +99,29 @@ public void addInformation(ItemStack itemStack, EntityPlayer entityPlayer, List list.add(tr("CAUTION: Cables can get quite hot!")); } - @Override - public boolean handleRenderType(ItemStack item, ItemRenderType type) { - return true; - } - - @Override - public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { - return type != ItemRenderType.INVENTORY; - } - - @Override - public boolean shouldUseRenderHelperEln(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { - return type != ItemRenderType.INVENTORY; - } - - @Override - public void renderItem(ItemRenderType type, ItemStack item, Object... data) { - if (type == ItemRenderType.INVENTORY) - super.renderItem(type, item, data); - else - draw(null); - } + // TODO(1.10): Fix item render. +// @Override +// public boolean handleRenderType(ItemStack item, ItemRenderType type) { +// return true; +// } +// +// @Override +// public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { +// return type != ItemRenderType.INVENTORY; +// } +// +// @Override +// public boolean shouldUseRenderHelperEln(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { +// return type != ItemRenderType.INVENTORY; +// } +// +// @Override +// public void renderItem(ItemRenderType type, ItemStack item, Object... data) { +// if (type == ItemRenderType.INVENTORY) +// super.renderItem(type, item, data); +// else +// draw(null); +// } public void draw(TurretRender render) { float turretAngle = render != null ? render.getTurretAngle() : 0; diff --git a/src/main/java/mods/eln/transparentnode/turret/TurretElement.java b/src/main/java/mods/eln/transparentnode/turret/TurretElement.java index e78bb108e..8c3b96e3b 100644 --- a/src/main/java/mods/eln/transparentnode/turret/TurretElement.java +++ b/src/main/java/mods/eln/transparentnode/turret/TurretElement.java @@ -4,7 +4,7 @@ import mods.eln.generic.GenericItemUsingDamageDescriptor; import mods.eln.i18n.I18N; import mods.eln.item.EntitySensorFilterDescriptor; -import mods.eln.misc.Coordonate; +import mods.eln.misc.Coordinate; import mods.eln.misc.Direction; import mods.eln.misc.LRDU; import mods.eln.misc.Utils; @@ -97,7 +97,7 @@ public void setSeekMode(boolean seekModeEnabled) { } public void shoot() { - Coordonate lightSourceCoordinate = new Coordonate(); + Coordinate lightSourceCoordinate = new Coordinate(); lightSourceCoordinate.copyFrom(coordonate()); lightSourceCoordinate.move(front); LightBlockEntity.addLight(lightSourceCoordinate, 25, 2); diff --git a/src/main/java/mods/eln/transparentnode/turret/TurretSlowProcess.java b/src/main/java/mods/eln/transparentnode/turret/TurretSlowProcess.java index 2173b6bbf..2c3a60380 100644 --- a/src/main/java/mods/eln/transparentnode/turret/TurretSlowProcess.java +++ b/src/main/java/mods/eln/transparentnode/turret/TurretSlowProcess.java @@ -5,15 +5,15 @@ import mods.eln.fsm.StateMachine; import mods.eln.generic.GenericItemUsingDamageDescriptor; import mods.eln.item.EntitySensorFilterDescriptor; -import mods.eln.misc.Coordonate; +import mods.eln.misc.Coordinate; import mods.eln.misc.Utils; import mods.eln.sim.process.destruct.WorldExplosion; import mods.eln.sound.SoundCommand; import net.minecraft.block.Block; import net.minecraft.entity.EntityLivingBase; import net.minecraft.item.ItemStack; -import net.minecraft.util.AxisAlignedBB; import net.minecraft.util.DamageSource; +import net.minecraft.util.math.AxisAlignedBB; import java.util.List; import java.util.Random; @@ -158,7 +158,7 @@ else if (element.getTurretAngle() <= -element.getDescriptor().getProperties().ac } } - Coordonate coord = element.coordonate(); + Coordinate coord = element.coordonate(); AxisAlignedBB bb = coord.getAxisAlignedBB((int) element.getDescriptor().getProperties().detectionDistance); @SuppressWarnings("unchecked") List list = coord.world().getEntitiesWithinAABB(EntityLivingBase.class, bb); @@ -254,7 +254,7 @@ public State state(double time) { if (filterClass == null || !filterClass.isAssignableFrom(target.getClass())) return new SeekingState(); } - Coordonate coord = element.coordonate(); + Coordinate coord = element.coordonate(); double dx = (float) (target.posX - coord.x - 0.5); double dy = (float) (target.posY + target.getEyeHeight() - coord.y - 0.75); @@ -348,7 +348,7 @@ public void process(double time) { element.energyBuffer = MaximalEnergy; } - if (element.coordonate().getBlockExist()) + if (element.coordonate().doesBlockExist()) super.process(time); if (actualPower == 0 || full) diff --git a/src/main/java/mods/eln/transparentnode/waterturbine/WaterTurbineDescriptor.java b/src/main/java/mods/eln/transparentnode/waterturbine/WaterTurbineDescriptor.java index 7698ec3fc..42320e539 100644 --- a/src/main/java/mods/eln/transparentnode/waterturbine/WaterTurbineDescriptor.java +++ b/src/main/java/mods/eln/transparentnode/waterturbine/WaterTurbineDescriptor.java @@ -21,7 +21,7 @@ public WaterTurbineDescriptor( ElectricalCableDescriptor cable, double nominalPower, double maxVoltage, - Coordonate waterCoord, + Coordinate waterCoord, String soundName, float nominalVolume ) { @@ -45,7 +45,7 @@ public WaterTurbineDescriptor( voltageLevelColor = VoltageLevelColor.LowVoltage; } - Coordonate waterCoord; + Coordinate waterCoord; public void setParent(net.minecraft.item.Item item, int damage) { super.setParent(item, damage); @@ -83,29 +83,30 @@ public Direction getFrontFromPlace(Direction side, } - @Override - public boolean handleRenderType(ItemStack item, ItemRenderType type) { - - return true; - } - - @Override - public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, - ItemRendererHelper helper) { - - return type != ItemRenderType.INVENTORY; - } - - @Override - public void renderItem(ItemRenderType type, ItemStack item, Object... data) { - if (type == ItemRenderType.INVENTORY) { - super.renderItem(type, item, data); - } else { - objItemScale(obj); - Direction.ZN.glRotateXnRef(); - draw(0f); - } - } + // TODO(1.10): Fix item render. +// @Override +// public boolean handleRenderType(ItemStack item, ItemRenderType type) { +// +// return true; +// } +// +// @Override +// public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, +// ItemRendererHelper helper) { +// +// return type != ItemRenderType.INVENTORY; +// } +// +// @Override +// public void renderItem(ItemRenderType type, ItemStack item, Object... data) { +// if (type == ItemRenderType.INVENTORY) { +// super.renderItem(type, item, data); +// } else { +// objItemScale(obj); +// Direction.ZN.glRotateXnRef(); +// draw(0f); +// } +// } @Override @@ -120,15 +121,15 @@ public void addInformation(ItemStack itemStack, EntityPlayer entityPlayer, } - public Coordonate getWaterCoordonate(World w) { - Coordonate coord = new Coordonate(waterCoord); - coord.setDimention(w.provider.dimensionId); + public Coordinate getWaterCoordonate(World w) { + Coordinate coord = new Coordinate(waterCoord); + coord.setDimension(w.provider.dimensionId); return coord; } @Override - public String checkCanPlace(Coordonate coord, Direction front) { + public String checkCanPlace(Coordinate coord, Direction front) { String str = super.checkCanPlace(coord, front); if (str != null) return str; @@ -137,11 +138,11 @@ public String checkCanPlace(Coordonate coord, Direction front) { } - public boolean checkCanPlaceWater(Coordonate coord, Direction front) { - Coordonate water = new Coordonate(waterCoord); + public boolean checkCanPlaceWater(Coordinate coord, Direction front) { + Coordinate water = new Coordinate(waterCoord); water.applyTransformation(front, coord); - if (coord.getBlockExist() == false) return true; - if (water.getBlock() == Blocks.air || Utils.isWater(water)) return true; + if (coord.doesBlockExist() == false) return true; + if (water.getBlock() == Blocks.air || Utils.isWateryEnoughForTurbine(water)) return true; return false; } } diff --git a/src/main/java/mods/eln/transparentnode/waterturbine/WaterTurbineElement.java b/src/main/java/mods/eln/transparentnode/waterturbine/WaterTurbineElement.java index aa1f30f3b..e3342b127 100644 --- a/src/main/java/mods/eln/transparentnode/waterturbine/WaterTurbineElement.java +++ b/src/main/java/mods/eln/transparentnode/waterturbine/WaterTurbineElement.java @@ -2,7 +2,7 @@ import mods.eln.Eln; import mods.eln.i18n.I18N; -import mods.eln.misc.Coordonate; +import mods.eln.misc.Coordinate; import mods.eln.misc.Direction; import mods.eln.misc.LRDU; import mods.eln.misc.Utils; @@ -83,14 +83,14 @@ public String thermoMeterString(Direction side) { return null; } - Coordonate waterCoord; + Coordinate waterCoord; @Override public void initialize() { setPhysicalValue(); - waterCoord = descriptor.getWaterCoordonate(node.coordonate.world()); - waterCoord.applyTransformation(front, node.coordonate); + waterCoord = descriptor.getWaterCoordonate(node.coordinate.world()); + waterCoord.applyTransformation(front, node.coordinate); powerSource.setUmax(descriptor.maxVoltage); powerSource.setImax(descriptor.nominalPower * 5 / descriptor.maxVoltage); connect(); diff --git a/src/main/java/mods/eln/transparentnode/waterturbine/WaterTurbineRender.java b/src/main/java/mods/eln/transparentnode/waterturbine/WaterTurbineRender.java index 15f74ae6b..c7b798a24 100644 --- a/src/main/java/mods/eln/transparentnode/waterturbine/WaterTurbineRender.java +++ b/src/main/java/mods/eln/transparentnode/waterturbine/WaterTurbineRender.java @@ -1,6 +1,6 @@ package mods.eln.transparentnode.waterturbine; -import mods.eln.misc.Coordonate; +import mods.eln.misc.Coordinate; import mods.eln.misc.Direction; import mods.eln.misc.RcInterpolator; import mods.eln.misc.Utils; @@ -24,7 +24,7 @@ public WaterTurbineRender(TransparentNodeEntity tileEntity, } - Coordonate waterCoord, waterCoordRight; + Coordinate waterCoord, waterCoordRight; RcInterpolator powerFactorFilter = new RcInterpolator(1); RcInterpolator dirFilter = new RcInterpolator(0.5f); WaterTurbineDescriptor descriptor; @@ -43,7 +43,7 @@ public void draw() { public void refresh(float deltaT) { float flowDir = waterCoord.getMeta() > waterCoordRight.getMeta() ? 1 : -1; - if (Utils.isWater(waterCoord) == false) + if (Utils.isWateryEnoughForTurbine(waterCoord) == false) flowDir = 0; dirFilter.setTarget(flowDir); @@ -60,7 +60,7 @@ public void refresh(float deltaT) { alpha += 360; if ((int) (alpha / 45) != (int) (alphaN_1 / 45) && soundPlaying == false) { - Coordonate coord = coordonate(); + Coordinate coord = coordinate(); play(new SoundCommand(descriptor.soundName) .mulVolume(descriptor.nominalVolume * (0.007f + 0.2f * (float) powerFactorFilter.get() * (float) powerFactorFilter.get()), 1.1f)); @@ -100,8 +100,8 @@ public void networkUnserialize(DataInputStream stream) { waterCoord = this.descriptor.getWaterCoordonate(tileEntity.getWorldObj()); waterCoord.setWorld(tileEntity.getWorldObj()); - waterCoord.applyTransformation(front, coordonate()); - waterCoordRight = new Coordonate(waterCoord); + waterCoord.applyTransformation(front, coordinate()); + waterCoordRight = new Coordinate(waterCoord); waterCoordRight.setWorld(tileEntity.getWorldObj()); waterCoordRight.move(front.right()); } diff --git a/src/main/java/mods/eln/transparentnode/waterturbine/WaterTurbineSlowProcess.java b/src/main/java/mods/eln/transparentnode/waterturbine/WaterTurbineSlowProcess.java index 8740c9d5c..c963c6c93 100644 --- a/src/main/java/mods/eln/transparentnode/waterturbine/WaterTurbineSlowProcess.java +++ b/src/main/java/mods/eln/transparentnode/waterturbine/WaterTurbineSlowProcess.java @@ -43,7 +43,7 @@ public void process(double time) { double getWaterFactor() { //Block b = turbine.waterCoord.getBlock(); double time = 0; - if (turbine.waterCoord.getBlockExist()) { + if (turbine.waterCoord.doesBlockExist()) { Block block = turbine.waterCoord.getBlock(); int blockMeta = turbine.waterCoord.getMeta(); //Utils.println("WATER : " + b + " " + turbine.waterCoord.getMeta()); @@ -53,7 +53,7 @@ public void process(double time) { } double timeFactor = 1 + 0.2 * Math.sin((time - 0.20) * Math.PI * 2); - double weatherFactor = 1 + Utils.getWeatherNoLoad(turbine.coordonate().dimention) * 2; + double weatherFactor = 1 + Utils.getWeatherNoLoad(turbine.coordonate().dimension) * 2; return timeFactor * weatherFactor; } diff --git a/src/main/java/mods/eln/transparentnode/windturbine/WindTurbineDescriptor.java b/src/main/java/mods/eln/transparentnode/windturbine/WindTurbineDescriptor.java index 5bd4b9d37..3a3b1b0ae 100644 --- a/src/main/java/mods/eln/transparentnode/windturbine/WindTurbineDescriptor.java +++ b/src/main/java/mods/eln/transparentnode/windturbine/WindTurbineDescriptor.java @@ -106,27 +106,28 @@ public Direction getFrontFromPlace(Direction side, return Direction.XN; } - @Override - public boolean handleRenderType(ItemStack item, ItemRenderType type) { - return true; - } - - @Override - public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, - ItemRendererHelper helper) { - return type != ItemRenderType.INVENTORY; - } - - @Override - public void renderItem(ItemRenderType type, ItemStack item, Object... data) { - if (type == ItemRenderType.INVENTORY) { - super.renderItem(type, item, data); - } else { - objItemScale(obj); - Direction.ZN.glRotateXnRef(); - draw(0f, false); - } - } + // TODO(1.10): Fix item render. +// @Override +// public boolean handleRenderType(ItemStack item, ItemRenderType type) { +// return true; +// } +// +// @Override +// public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, +// ItemRendererHelper helper) { +// return type != ItemRenderType.INVENTORY; +// } +// +// @Override +// public void renderItem(ItemRenderType type, ItemStack item, Object... data) { +// if (type == ItemRenderType.INVENTORY) { +// super.renderItem(type, item, data); +// } else { +// objItemScale(obj); +// Direction.ZN.glRotateXnRef(); +// draw(0f, false); +// } +// } @Override public void addInformation(ItemStack itemStack, EntityPlayer entityPlayer, diff --git a/src/main/java/mods/eln/transparentnode/windturbine/WindTurbineSlowProcess.java b/src/main/java/mods/eln/transparentnode/windturbine/WindTurbineSlowProcess.java index 4425cceef..3e4457b5f 100644 --- a/src/main/java/mods/eln/transparentnode/windturbine/WindTurbineSlowProcess.java +++ b/src/main/java/mods/eln/transparentnode/windturbine/WindTurbineSlowProcess.java @@ -1,6 +1,6 @@ package mods.eln.transparentnode.windturbine; -import mods.eln.misc.Coordonate; +import mods.eln.misc.Coordinate; import mods.eln.misc.INBTTReady; import mods.eln.misc.Utils; import mods.eln.sim.IProcess; @@ -32,7 +32,7 @@ class WindTurbineSlowProcess implements IProcess, INBTTReady { } double getWind() { - return Math.abs(localWind + Utils.getWind(turbine.node.coordonate.dimention, turbine.node.coordonate.y + + return Math.abs(localWind + Utils.getWind(turbine.node.coordinate.dimension, turbine.node.coordinate.y + turbine.descriptor.offY)) * environmentWindFactor; } @@ -49,7 +49,7 @@ public void process(double time) { int x1, x2, y1, y2, z1, z2; - Coordonate coord = new Coordonate(turbine.node.coordonate); + Coordinate coord = new Coordinate(turbine.node.coordinate); x1 = coord.x - d.rayX; x2 = coord.x + d.rayX; @@ -60,8 +60,8 @@ public void process(double time) { int blockBusyCount = -d.blockMalusSubCount; boolean notInCache = false; - if (turbine.node.coordonate.getWorldExist()) { - World world = turbine.node.coordonate.world(); + if (turbine.node.coordinate.doesWorldExist()) { + World world = turbine.node.coordinate.world(); //IChunkProvider chunk = world.getChunkProvider(); for (int x = x1; x <= x2; x++) { From 5e87b7cf965348a629f93437f0c2a4260a5d36d6 Mon Sep 17 00:00:00 2001 From: Svein Ove Aas Date: Sun, 1 Jul 2018 19:47:28 +0100 Subject: [PATCH 05/61] Fix applyTo naming for non-mutating version --- .../java/mods/eln/item/HeatingCorpElement.java | 2 +- .../mods/eln/item/ThermalIsolatorElement.java | 2 +- src/main/java/mods/eln/misc/Direction.java | 16 ++++++++-------- src/main/java/mods/eln/node/NodeBase.java | 10 +++------- .../java/mods/eln/node/six/SixNodeBlock.java | 6 +----- .../mods/eln/sixnode/diode/DiodeDescriptor.java | 2 +- .../ElectricalSwitchElement.java | 2 +- .../sixnode/lampsocket/LampSocketElement.java | 2 +- 8 files changed, 17 insertions(+), 25 deletions(-) diff --git a/src/main/java/mods/eln/item/HeatingCorpElement.java b/src/main/java/mods/eln/item/HeatingCorpElement.java index a0c0bf293..f7d2565a7 100644 --- a/src/main/java/mods/eln/item/HeatingCorpElement.java +++ b/src/main/java/mods/eln/item/HeatingCorpElement.java @@ -41,7 +41,7 @@ public HeatingCorpElement(String name, voltageLevelColor = VoltageLevelColor.fromVoltage(electricalNominalU); } /* - public void applyTo(ElectricalResistor resistor) { + public void applied(ElectricalResistor resistor) { resistor.setR(electricalR); }*/ diff --git a/src/main/java/mods/eln/item/ThermalIsolatorElement.java b/src/main/java/mods/eln/item/ThermalIsolatorElement.java index 2f970afb0..eb75eee23 100644 --- a/src/main/java/mods/eln/item/ThermalIsolatorElement.java +++ b/src/main/java/mods/eln/item/ThermalIsolatorElement.java @@ -12,7 +12,7 @@ public ThermalIsolatorElement(String name, double isolationFactor, double Tmax / } /* - public void applyTo(ThermalLoad resistor) { + public void applied(ThermalLoad resistor) { resistor.setRp(thermalRp); }*/ } diff --git a/src/main/java/mods/eln/misc/Direction.java b/src/main/java/mods/eln/misc/Direction.java index f586154e8..2fae0a041 100644 --- a/src/main/java/mods/eln/misc/Direction.java +++ b/src/main/java/mods/eln/misc/Direction.java @@ -76,14 +76,6 @@ public void applyTo(int[] vector, int distance) { if (dir == 5) vector[2] += distance; } - public BlockPos applyTo(BlockPos pos, int distance) { - return pos.add( - dir == 0 ? -distance : dir == 1 ? distance : 0, - dir == 2 ? -distance : dir == 3 ? distance : 0, - dir == 4 ? -distance : dir == 5 ? distance : 0 - ); - } - public void applyTo(BlockPos.MutableBlockPos pos, int distance) { pos.setPos( pos.getX() + (dir == 0 ? -distance : dir == 1 ? distance : 0), @@ -92,6 +84,14 @@ public void applyTo(BlockPos.MutableBlockPos pos, int distance) { ); } + public BlockPos applied(BlockPos pos, int distance) { + return pos.add( + dir == 0 ? -distance : dir == 1 ? distance : 0, + dir == 2 ? -distance : dir == 3 ? distance : 0, + dir == 4 ? -distance : dir == 5 ? distance : 0 + ); + } + public int getHorizontalIndex() { switch (this) { case XN: diff --git a/src/main/java/mods/eln/node/NodeBase.java b/src/main/java/mods/eln/node/NodeBase.java index 1098c2a8d..be725a56c 100644 --- a/src/main/java/mods/eln/node/NodeBase.java +++ b/src/main/java/mods/eln/node/NodeBase.java @@ -187,13 +187,9 @@ abstract public void initializeFromThat(Direction front, EntityLivingBase entityLiving, ItemStack itemStack); public NodeBase getNeighbor(Direction direction) { - int[] position = new int[3]; - position[0] = coordinate.x; - position[1] = coordinate.y; - position[2] = coordinate.z; - direction.applyTo(position, 1); - Coordinate nodeCoordinate = new Coordinate(position[0], position[1], position[2], coordinate.dimension); - return NodeManager.instance.getNodeFromCoordinate(nodeCoordinate); + BlockPos neighbour = direction.applied(coordinate.pos, 1); + Coordinate coordinate = new Coordinate(neighbour, this.coordinate.getDimension()); + return NodeManager.instance.getNodeFromCoordinate(coordinate); } // leaf diff --git a/src/main/java/mods/eln/node/six/SixNodeBlock.java b/src/main/java/mods/eln/node/six/SixNodeBlock.java index 1752e94c0..b8cd44862 100644 --- a/src/main/java/mods/eln/node/six/SixNodeBlock.java +++ b/src/main/java/mods/eln/node/six/SixNodeBlock.java @@ -8,7 +8,6 @@ import net.minecraft.block.Block; import net.minecraft.block.material.Material; import net.minecraft.block.state.IBlockState; -import net.minecraft.client.Minecraft; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.player.EntityPlayer; @@ -24,10 +23,7 @@ import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; import net.minecraft.world.chunk.Chunk; -import net.minecraftforge.fml.relauncher.Side; -import net.minecraftforge.fml.relauncher.SideOnly; -import javax.annotation.Nonnull; import javax.annotation.Nullable; import java.util.List; import java.util.Random; @@ -422,7 +418,7 @@ private RayTraceResult collisionRayTrace(World world, BlockPos pos, EntityPlayer } boolean getIfOtherBlockIsSolid(World world, BlockPos pos, Direction direction) { - pos = direction.applyTo(pos, 1); + pos = direction.applied(pos, 1); IBlockState state = world.getBlockState(pos); if (state.getBlock().isAir(state, world, pos)) return false; diff --git a/src/main/java/mods/eln/sixnode/diode/DiodeDescriptor.java b/src/main/java/mods/eln/sixnode/diode/DiodeDescriptor.java index a012319e4..1ca365783 100644 --- a/src/main/java/mods/eln/sixnode/diode/DiodeDescriptor.java +++ b/src/main/java/mods/eln/sixnode/diode/DiodeDescriptor.java @@ -98,7 +98,7 @@ public void setParent(Item item, int damage) { // } // } - /* public void applyTo(DiodeProcess diode) { + /* public void applied(DiodeProcess diode) { diode.IfU = IfU; } */ diff --git a/src/main/java/mods/eln/sixnode/electricalswitch/ElectricalSwitchElement.java b/src/main/java/mods/eln/sixnode/electricalswitch/ElectricalSwitchElement.java index 57cc84a03..5ef28aab1 100644 --- a/src/main/java/mods/eln/sixnode/electricalswitch/ElectricalSwitchElement.java +++ b/src/main/java/mods/eln/sixnode/electricalswitch/ElectricalSwitchElement.java @@ -147,7 +147,7 @@ public void setSwitchState(boolean state) { @Override public void initialize() { - //descriptor.thermal.applyTo(thermalLoad); + //descriptor.thermal.applied(thermalLoad); descriptor.applyTo(aLoad); descriptor.applyTo(bLoad); diff --git a/src/main/java/mods/eln/sixnode/lampsocket/LampSocketElement.java b/src/main/java/mods/eln/sixnode/lampsocket/LampSocketElement.java index b693a4530..e0cae28f1 100644 --- a/src/main/java/mods/eln/sixnode/lampsocket/LampSocketElement.java +++ b/src/main/java/mods/eln/sixnode/lampsocket/LampSocketElement.java @@ -274,7 +274,7 @@ public void computeElectricalLoad() { //negativeLoad.highImpedance(); } else { cableDescriptor.applyTo(positiveLoad); - //cableDescriptor.applyTo(negativeLoad, grounded,5); + //cableDescriptor.applied(negativeLoad, grounded,5); } lampDescriptor = (LampDescriptor) Utils.getItemObject(lamp); From 4738e9c5894c15b730dc523f7d9f7f49a503e9a1 Mon Sep 17 00:00:00 2001 From: lolmegaxd1 Date: Sun, 19 Aug 2018 23:44:04 +0000 Subject: [PATCH 06/61] Updating Eln.java Fixed some errors mainly recipe ones. --- src/main/java/mods/eln/Eln.java | 742 ++++++++++++++++---------------- 1 file changed, 371 insertions(+), 371 deletions(-) diff --git a/src/main/java/mods/eln/Eln.java b/src/main/java/mods/eln/Eln.java index e277dc5fe..6bd93d95c 100644 --- a/src/main/java/mods/eln/Eln.java +++ b/src/main/java/mods/eln/Eln.java @@ -1,15 +1,15 @@ package mods.eln; -import cpw.mods.fml.common.*; -import cpw.mods.fml.common.Mod.EventHandler; -import cpw.mods.fml.common.Mod.Instance; -import cpw.mods.fml.common.event.*; -import cpw.mods.fml.common.network.FMLEventChannel; -import cpw.mods.fml.common.network.NetworkRegistry; -import cpw.mods.fml.common.network.simpleimpl.SimpleNetworkWrapper; -import cpw.mods.fml.common.registry.EntityRegistry; -import cpw.mods.fml.common.registry.GameRegistry; -import cpw.mods.fml.relauncher.Side; +import net.minecraftforge.fml.common.*; +import net.minecraftforge.fml.common.Mod.EventHandler; +import net.minecraftforge.fml.common.Mod.Instance; +import net.minecraftforge.fml.common.event.*; +import net.minecraftforge.fml.common.network.FMLEventChannel; +import net.minecraftforge.fml.common.network.NetworkRegistry; +import net.minecraftforge.fml.common.network.simpleimpl.SimpleNetworkWrapper; +import net.minecraftforge.fml.common.registry.EntityRegistry; +import net.minecraftforge.fml.common.registry.GameRegistry; +import net.minecraftforge.fml.relauncher.Side; import mods.eln.cable.CableRenderDescriptor; import mods.eln.client.ClientKeyHandler; import mods.eln.client.SoundLoader; @@ -178,7 +178,7 @@ @SuppressWarnings({"SameParameterValue", "PointlessArithmeticExpression"}) @Mod(modid = Eln.MODID, name = Eln.NAME, version = "@VERSION@") public class Eln { - // Mod information (override from 'mcmod.info' file) + // Mod information (override fromFacing 'mcmod.info' file) public final static String MODID = "Eln"; public final static String NAME = "Electrical Age"; public final static String MODDESC = "Electricity in your base !"; @@ -282,10 +282,10 @@ public class Eln { public boolean forceOreRegen; public boolean explosionEnable; - public static boolean debugEnabled = false; // Read from configuration file. Default is `false`. - public static boolean versionCheckEnabled = true; // Read from configuration file. Default is `true`. - public static boolean analyticsEnabled = true; // Read from configuration file. Default is `true`. - public static String playerUUID = null; // Read from configuration file. Default is `null`. + public static boolean debugEnabled = false; // Read fromFacing configuration file. Default is `false`. + public static boolean versionCheckEnabled = true; // Read fromFacing configuration file. Default is `true`. + public static boolean analyticsEnabled = true; // Read fromFacing configuration file. Default is `true`. + public static String playerUUID = null; // Read fromFacing configuration file. Default is `null`. public double heatTurbinePowerFactor = 1; public double solarPanelPowerFactor = 1; @@ -335,7 +335,7 @@ public void preInit(FMLPreInitializationEvent event) { meta.url = URL; meta.updateUrl = UPDATE_URL; meta.authorList = Arrays.asList(AUTHORS); - meta.autogenerated = false; // Force to update from code + meta.autogenerated = false; // Force to update fromFacing code Utils.println(Version.print()); @@ -387,7 +387,7 @@ public void preInit(FMLPreInitializationEvent event) { waterTurbinePowerFactor = config.get("balancing", "waterTurbinePowerFactor", 1).getDouble(1); fuelGeneratorPowerFactor = config.get("balancing", "fuelGeneratorPowerFactor", 1).getDouble(1); fuelHeatFurnacePowerFactor = config.get("balancing", "fuelHeatFurnacePowerFactor", 1.0).getDouble(); - autominerRange = config.get("balancing", "autominerRange", 10, "Maximum horizontal distance from autominer that will be mined").getInt(10); + autominerRange = config.get("balancing", "autominerRange", 10, "Maximum horizontal distance fromFacing autominer that will be mined").getInt(10); Other.ElnToIc2ConversionRatio = config.get("balancing", "ElnToIndustrialCraftConversionRatio", 1.0 / 3.0).getDouble(1.0 / 3.0); Other.ElnToOcConversionRatio = config.get("balancing", "ElnToOpenComputerConversionRatio", 1.0 / 3.0 / 2.5).getDouble(1.0 / 3.0 / 2.5); @@ -491,12 +491,12 @@ public void preInit(FMLPreInitializationEvent event) { NetworkRegistry.INSTANCE.registerGuiHandler(this, new GuiHandler()); Item itemCreativeTab = new Item() - .setUnlocalizedName("eln:elncreativetab") - .setTextureName("eln:elncreativetab"); + .setUnlocalizedName("eln:elncreativetab"); + //.setTextureName("eln:elncreativetab"); GameRegistry.registerItem(itemCreativeTab, "eln.itemCreativeTab"); creativeTab = new GenericCreativeTab("Eln", itemCreativeTab); - oreBlock = (OreBlock) new OreBlock().setCreativeTab(creativeTab).setBlockName("OreEln"); + oreBlock = (OreBlock) new OreBlock().setCreativeTab(creativeTab).setUnlocalizedName("OreEln"); sharedItem = (SharedItem) new SharedItem() .setCreativeTab(creativeTab).setMaxStackSize(64) @@ -507,16 +507,16 @@ public void preInit(FMLPreInitializationEvent event) { .setUnlocalizedName("sharedItemStackOne"); transparentNodeBlock = (TransparentNodeBlock) new TransparentNodeBlock( - Material.iron, + Material.IRON, TransparentNodeEntity.class) - .setCreativeTab(creativeTab) - .setBlockTextureName("iron_block"); + .setCreativeTab(creativeTab); + //.setBlockTextureName("iron_block"); sixNodeBlock = (SixNodeBlock) new SixNodeBlock( - Material.plants, SixNodeEntity.class) - .setCreativeTab(creativeTab) - .setBlockTextureName("iron_block"); + Material.PLANTS, SixNodeEntity.class) + .setCreativeTab(creativeTab); + //.setBlockTextureName("iron_block"); - ghostBlock = (GhostBlock) new GhostBlock().setBlockTextureName("iron_block"); + ghostBlock = (GhostBlock) new GhostBlock();//.setBlockTextureName("iron_block"); lightBlock = (LightBlock) new LightBlock(); obj.loadAllElnModels(); @@ -848,7 +848,7 @@ private void registerEnergyConverter() { EnergyConverterElnToOtherDescriptor desc = new EnergyConverterElnToOtherDescriptor("EnergyConverterElnToOtherLVU", elnDesc, ic2Desc, ocDesc); elnToOtherBlockLvu = new EnergyConverterElnToOtherBlock(desc); - elnToOtherBlockLvu.setCreativeTab(creativeTab).setBlockName(blockName); + elnToOtherBlockLvu.setCreativeTab(creativeTab).setUnlocalizedName(blockName); GameRegistry.registerBlock(elnToOtherBlockLvu, SimpleNodeItem.class, blockName); } { @@ -859,7 +859,7 @@ private void registerEnergyConverter() { EnergyConverterElnToOtherDescriptor desc = new EnergyConverterElnToOtherDescriptor("EnergyConverterElnToOtherMVU", elnDesc, ic2Desc, ocDesc); elnToOtherBlockMvu = new EnergyConverterElnToOtherBlock(desc); - elnToOtherBlockMvu.setCreativeTab(creativeTab).setBlockName(blockName); + elnToOtherBlockMvu.setCreativeTab(creativeTab).setUnlocalizedName(blockName); GameRegistry.registerBlock(elnToOtherBlockMvu, SimpleNodeItem.class, blockName); } { @@ -870,7 +870,7 @@ private void registerEnergyConverter() { EnergyConverterElnToOtherDescriptor desc = new EnergyConverterElnToOtherDescriptor("EnergyConverterElnToOtherHVU", elnDesc, ic2Desc, ocDesc); elnToOtherBlockHvu = new EnergyConverterElnToOtherBlock(desc); - elnToOtherBlockHvu.setCreativeTab(creativeTab).setBlockName(blockName); + elnToOtherBlockHvu.setCreativeTab(creativeTab).setUnlocalizedName(blockName); GameRegistry.registerBlock(elnToOtherBlockHvu, SimpleNodeItem.class, blockName); } } @@ -888,7 +888,7 @@ private void registerComputer() { computerProbeBlock = new ComputerProbeBlock(); - computerProbeBlock.setCreativeTab(creativeTab).setBlockName(entityName); + computerProbeBlock.setCreativeTab(creativeTab);//.setBlockName(entityName); GameRegistry.registerBlock(computerProbeBlock, SimpleNodeItem.class, entityName); } @@ -1041,33 +1041,33 @@ public void onServerStarting(FMLServerStartingEvent ev) { WorldServer worldServer = server.worldServers[0]; - ghostManagerNbt = (GhostManagerNbt) worldServer.mapStorage.loadData( + ghostManagerNbt = (GhostManagerNbt) worldServer.getMapStorage().getOrLoadData( GhostManagerNbt.class, "GhostManager"); if (ghostManagerNbt == null) { ghostManagerNbt = new GhostManagerNbt("GhostManager"); - worldServer.mapStorage.setData("GhostManager", ghostManagerNbt); + worldServer.getMapStorage().setData("GhostManager", ghostManagerNbt); } - saveConfig = (SaveConfig) worldServer.mapStorage.loadData( + saveConfig = (SaveConfig) worldServer.getMapStorage().getOrLoadData( SaveConfig.class, "SaveConfig"); if (saveConfig == null) { saveConfig = new SaveConfig("SaveConfig"); - worldServer.mapStorage.setData("SaveConfig", saveConfig); + worldServer.getMapStorage().setData("SaveConfig", saveConfig); } // saveConfig.init(); - nodeManagerNbt = (NodeManagerNbt) worldServer.mapStorage.loadData( + nodeManagerNbt = (NodeManagerNbt) worldServer.getMapStorage().getOrLoadData( NodeManagerNbt.class, "NodeManager"); if (nodeManagerNbt == null) { nodeManagerNbt = new NodeManagerNbt("NodeManager"); - worldServer.mapStorage.setData("NodeManager", nodeManagerNbt); + worldServer.getMapStorage().setData("NodeManager", nodeManagerNbt); } nodeServer.init(); } { - MinecraftServer s = MinecraftServer.getServer(); + MinecraftServer s = ev.getServer(); ICommandManager command = s.getCommandManager(); ServerCommandManager manager = (ServerCommandManager) command; manager.registerCommand(new ConsoleListener()); @@ -1283,7 +1283,7 @@ private void registerThermalCable(int id) { { subId = 0; - name = "Removed from mod Copper Thermal Cable"; + name = "Removed fromFacing mod Copper Thermal Cable"; ThermalCableDescriptor desc = new ThermalCableDescriptor(name, 1000 - 20, -200, // thermalWarmLimit, thermalCoolLimit, @@ -1549,6 +1549,7 @@ private void registerElectricalSource(int id) { } } + private void registerLampSocket(int id) { int subId, completId; String name; @@ -1557,12 +1558,7 @@ private void registerLampSocket(int id) { subId = 0; name = TR_NAME(Type.NONE, "Lamp Socket A"); - - LampSocketDescriptor desc = new LampSocketDescriptor(name, new LampSocketStandardObjRender(obj.getObj("ClassicLampSocket"), false), - LampSocketType.Douille, // LampSocketType - false, - 4, 0, 0, 0); - + LampSocketDescriptor desc = new LampSocketDescriptor(name, LampSocketType.Douille, false, 4, 0, 0, 0); sixNodeItem.addDescriptor(subId + (id << 6), desc); } { @@ -1570,7 +1566,7 @@ private void registerLampSocket(int id) { name = TR_NAME(Type.NONE, "Lamp Socket B Projector"); - LampSocketDescriptor desc = new LampSocketDescriptor(name, new LampSocketStandardObjRender(obj.getObj("ClassicLampSocket"), false), + LampSocketDescriptor desc = new LampSocketDescriptor(name, LampSocketType.Douille, // LampSocketType false, 10, -90, 90, 0); @@ -1583,7 +1579,7 @@ private void registerLampSocket(int id) { name = TR_NAME(Type.NONE, "Robust Lamp Socket"); - LampSocketDescriptor desc = new LampSocketDescriptor(name, new LampSocketStandardObjRender(obj.getObj("RobustLamp"), true), + LampSocketDescriptor desc = new LampSocketDescriptor(name, LampSocketType.Douille, // LampSocketType false, 3, 0, 0, 0); @@ -1595,7 +1591,7 @@ private void registerLampSocket(int id) { name = TR_NAME(Type.NONE, "Flat Lamp Socket"); - LampSocketDescriptor desc = new LampSocketDescriptor(name, new LampSocketStandardObjRender(obj.getObj("FlatLamp"), true), + LampSocketDescriptor desc = new LampSocketDescriptor(name, LampSocketType.Douille, // LampSocketType false, 3, 0, 0, 0); @@ -1606,7 +1602,7 @@ private void registerLampSocket(int id) { name = TR_NAME(Type.NONE, "Simple Lamp Socket"); - LampSocketDescriptor desc = new LampSocketDescriptor(name, new LampSocketStandardObjRender(obj.getObj("SimpleLamp"), true), + LampSocketDescriptor desc = new LampSocketDescriptor(name, LampSocketType.Douille, // LampSocketType false, 3, 0, 0, 0); @@ -1617,7 +1613,7 @@ private void registerLampSocket(int id) { name = TR_NAME(Type.NONE, "Fluorescent Lamp Socket"); - LampSocketDescriptor desc = new LampSocketDescriptor(name, new LampSocketStandardObjRender(obj.getObj("FluorescentLamp"), true), + LampSocketDescriptor desc = new LampSocketDescriptor(name, LampSocketType.Douille, // LampSocketType false, 4, 0, 0, 0); @@ -1632,7 +1628,7 @@ private void registerLampSocket(int id) { name = TR_NAME(Type.NONE, "Street Light"); - LampSocketDescriptor desc = new LampSocketDescriptor(name, new LampSocketStandardObjRender(obj.getObj("StreetLight"), true), + LampSocketDescriptor desc = new LampSocketDescriptor(name, LampSocketType.Douille, // LampSocketType false, 0, 0, 0, 0); @@ -1649,7 +1645,7 @@ private void registerLampSocket(int id) { name = TR_NAME(Type.NONE, "Sconce Lamp Socket"); - LampSocketDescriptor desc = new LampSocketDescriptor(name, new LampSocketStandardObjRender(obj.getObj("SconceLamp"), true), + LampSocketDescriptor desc = new LampSocketDescriptor(name, LampSocketType.Douille, // LampSocketType true, 3, 0, 0, 0); @@ -1664,7 +1660,6 @@ private void registerLampSocket(int id) { name = TR_NAME(Type.NONE, "Suspended Lamp Socket"); LampSocketDescriptor desc = new LampSocketDescriptor(name, - new LampSocketSuspendedObjRender(obj.getObj("RobustLampSuspended"), true, 3), LampSocketType.Douille, // LampSocketType false, 3, 0, 0, 0); @@ -1679,7 +1674,6 @@ private void registerLampSocket(int id) { name = TR_NAME(Type.NONE, "Long Suspended Lamp Socket"); LampSocketDescriptor desc = new LampSocketDescriptor(name, - new LampSocketSuspendedObjRender(obj.getObj("RobustLampSuspended"), true, 7), LampSocketType.Douille, // LampSocketType false, 4, 0, 0, 0); @@ -1700,6 +1694,7 @@ private void registerLampSocket(int id) { meduimVoltageCableDescriptor, 10 * 60 * 20, 25, 10, 8, obj.getObj("EmergencyExitLighting"))); } + private void registerLampSupply(int id) { int subId, completId; String name; @@ -2826,7 +2821,7 @@ private void registerTurbine(int id) { private void registerElectricalFurnace(int id) { int subId, completId; String name; - furnaceList.add(new ItemStack(Blocks.furnace)); + furnaceList.add(new ItemStack(Blocks.FURNACE)); { subId = 0; name = TR_NAME(Type.NONE, "Electrical Furnace"); @@ -3108,7 +3103,7 @@ private void registerSolarPanel(int id) { subId = 3; name = TR_NAME(Type.NONE, "2x3 Solar Panel"); - Coordonate groundCoordinate = new Coordonate(1, 0, 0, 0); + Coordinate groundCoordinate = new Coordinate(1, 0, 0, 0); ghostGroup = new GhostGroup(); ghostGroup.addRectangle(0, 1, 0, 0, -1, 1); @@ -3129,7 +3124,7 @@ private void registerSolarPanel(int id) { subId = 4; name = TR_NAME(Type.NONE, "2x3 Rotating Solar Panel"); - Coordonate groundCoordinate = new Coordonate(1, 0, 0, 0); + Coordinate groundCoordinate = new Coordinate(1, 0, 0, 0); ghostGroup = new GhostGroup(); ghostGroup.addRectangle(0, 1, 0, 0, -1, 1); @@ -3883,7 +3878,10 @@ private void registerElectricalMotor(int id) { } + private void registerArmor() { + //ALL registerCustomItemStack commented + ItemStack stack; String name; @@ -3891,25 +3889,25 @@ private void registerArmor() { name = TR_NAME(Type.ITEM, "Copper Helmet"); helmetCopper = (ItemArmor) (new genericArmorItem(ArmorMaterial.IRON, 2, ArmourType.Helmet, "eln:textures/armor/copper_layer_1.png", "eln:textures/armor/copper_layer_2.png")).setUnlocalizedName(name).setTextureName("eln:copper_helmet").setCreativeTab(creativeTab); GameRegistry.registerItem(helmetCopper, "Eln." + name); - GameRegistry.registerCustomItemStack(name, new ItemStack(helmetCopper)); + //GameRegistry.registerCustomItemStack(name, new ItemStack(helmetCopper)); } { name = TR_NAME(Type.ITEM, "Copper Chestplate"); plateCopper = (ItemArmor) (new genericArmorItem(ArmorMaterial.IRON, 2, ArmourType.Chestplate, "eln:textures/armor/copper_layer_1.png", "eln:textures/armor/copper_layer_2.png")).setUnlocalizedName(name).setTextureName("eln:copper_chestplate").setCreativeTab(creativeTab); GameRegistry.registerItem(plateCopper, "Eln." + name); - GameRegistry.registerCustomItemStack(name, new ItemStack(plateCopper)); + //GameRegistry.registerCustomItemStack(name, new ItemStack(plateCopper)); } { name = TR_NAME(Type.ITEM, "Copper Leggings"); legsCopper = (ItemArmor) (new genericArmorItem(ArmorMaterial.IRON, 2, ArmourType.Leggings, "eln:textures/armor/copper_layer_1.png", "eln:textures/armor/copper_layer_2.png")).setUnlocalizedName(name).setTextureName("eln:copper_leggings").setCreativeTab(creativeTab); GameRegistry.registerItem(legsCopper, "Eln." + name); - GameRegistry.registerCustomItemStack(name, new ItemStack(legsCopper)); + //GameRegistry.registerCustomItemStack(name, new ItemStack(legsCopper)); } { name = TR_NAME(Type.ITEM, "Copper Boots"); bootsCopper = (ItemArmor) (new genericArmorItem(ArmorMaterial.IRON, 2, ArmourType.Boots, "eln:textures/armor/copper_layer_1.png", "eln:textures/armor/copper_layer_2.png")).setUnlocalizedName(name).setTextureName("eln:copper_boots").setCreativeTab(creativeTab); GameRegistry.registerItem(bootsCopper, "Eln." + name); - GameRegistry.registerCustomItemStack(name, new ItemStack(bootsCopper)); + //GameRegistry.registerCustomItemStack(name, new ItemStack(bootsCopper)); } int armorPoint; @@ -3931,9 +3929,9 @@ private void registerArmor() { // ratioMax,double // ratioMaxEnergy, energyPerDamage// double energyPerDamage - )).setUnlocalizedName(name).setTextureName("eln:ecoal_helmet").setCreativeTab(creativeTab); + )).setUnlocalizedName(name).setRegistryName("eln:ecoal_helmet").setCreativeTab(creativeTab); GameRegistry.registerItem(helmetECoal, "Eln." + name); - GameRegistry.registerCustomItemStack(name, new ItemStack(helmetECoal)); + //GameRegistry.registerCustomItemStack(name, new ItemStack(helmetECoal)); } { name = TR_NAME(Type.ITEM, "E-Coal Chestplate"); @@ -3947,9 +3945,9 @@ private void registerArmor() { // ratioMax,double // ratioMaxEnergy, energyPerDamage// double energyPerDamage - )).setUnlocalizedName(name).setTextureName("eln:ecoal_chestplate").setCreativeTab(creativeTab); + )).setUnlocalizedName(name).setRegistryName("eln:ecoal_chestplate").setCreativeTab(creativeTab); GameRegistry.registerItem(plateECoal, "Eln." + name); - GameRegistry.registerCustomItemStack(name, new ItemStack(plateECoal)); + //GameRegistry.registerCustomItemStack(name, new ItemStack(plateECoal)); } { name = TR_NAME(Type.ITEM, "E-Coal Leggings"); @@ -3963,9 +3961,9 @@ private void registerArmor() { // ratioMax,double // ratioMaxEnergy, energyPerDamage// double energyPerDamage - )).setUnlocalizedName(name).setTextureName("eln:ecoal_leggings").setCreativeTab(creativeTab); + )).setUnlocalizedName(name).setRegistryName("eln:ecoal_leggings").setCreativeTab(creativeTab); GameRegistry.registerItem(legsECoal, "Eln." + name); - GameRegistry.registerCustomItemStack(name, new ItemStack(legsECoal)); + //GameRegistry.registerCustomItemStack(name, new ItemStack(legsECoal)); } { name = TR_NAME(Type.ITEM, "E-Coal Boots"); @@ -3979,44 +3977,46 @@ private void registerArmor() { // ratioMax,double // ratioMaxEnergy, energyPerDamage// double energyPerDamage - )).setUnlocalizedName(name).setTextureName("eln:ecoal_boots").setCreativeTab(creativeTab); + )).setUnlocalizedName(name).setRegistryName("eln:ecoal_boots").setCreativeTab(creativeTab); GameRegistry.registerItem(bootsECoal, "Eln." + name); - GameRegistry.registerCustomItemStack(name, new ItemStack(bootsECoal)); + //GameRegistry.registerCustomItemStack(name, new ItemStack(bootsECoal)); } } private void registerTool() { + //ALL registerCustomItemStack commented + //ALL setTextureName replaced with registry name WIP ItemStack stack; String name; { name = TR_NAME(Type.ITEM, "Copper Sword"); - swordCopper = (new ItemSword(ToolMaterial.IRON)).setUnlocalizedName(name).setTextureName("eln:copper_sword").setCreativeTab(creativeTab); + swordCopper = (new ItemSword(ToolMaterial.IRON)).setUnlocalizedName(name).setRegistryName("eln:copper_sword").setCreativeTab(creativeTab); GameRegistry.registerItem(swordCopper, "Eln." + name); - GameRegistry.registerCustomItemStack(name, new ItemStack(swordCopper)); + //GameRegistry.registerCustomItemStack(name, new ItemStack(swordCopper)); } { name = TR_NAME(Type.ITEM, "Copper Hoe"); - hoeCopper = (new ItemHoe(ToolMaterial.IRON)).setUnlocalizedName(name).setTextureName("eln:copper_hoe").setCreativeTab(creativeTab); + hoeCopper = (new ItemHoe(ToolMaterial.IRON)).setUnlocalizedName(name).setRegistryName("eln:copper_hoe").setCreativeTab(creativeTab); GameRegistry.registerItem(hoeCopper, "Eln." + name); - GameRegistry.registerCustomItemStack(name, new ItemStack(hoeCopper)); + //GameRegistry.registerItem(name, new ItemStack(hoeCopper)); } { name = TR_NAME(Type.ITEM, "Copper Shovel"); - shovelCopper = (new ItemSpade(ToolMaterial.IRON)).setUnlocalizedName(name).setTextureName("eln:copper_shovel").setCreativeTab(creativeTab); + shovelCopper = (new ItemSpade(ToolMaterial.IRON)).setUnlocalizedName(name).setRegistryName("eln:copper_shovel").setCreativeTab(creativeTab); GameRegistry.registerItem(shovelCopper, "Eln." + name); - GameRegistry.registerCustomItemStack(name, new ItemStack(shovelCopper)); + //GameRegistry.registerCustomItemStack(name, new ItemStack(shovelCopper)); } { name = TR_NAME(Type.ITEM, "Copper Pickaxe"); - pickaxeCopper = new ItemPickaxeEln(ToolMaterial.IRON).setUnlocalizedName(name).setTextureName("eln:copper_pickaxe").setCreativeTab(creativeTab); + pickaxeCopper = new ItemPickaxeEln(ToolMaterial.IRON).setUnlocalizedName(name).setRegistryName("eln:copper_pickaxe").setCreativeTab(creativeTab); GameRegistry.registerItem(pickaxeCopper, "Eln." + name); - GameRegistry.registerCustomItemStack(name, new ItemStack(pickaxeCopper)); + //GameRegistry.registerCustomItemStack(name, new ItemStack(pickaxeCopper)); } { name = TR_NAME(Type.ITEM, "Copper Axe"); - axeCopper = new ItemAxeEln(ToolMaterial.IRON).setUnlocalizedName(name).setTextureName("eln:copper_axe").setCreativeTab(creativeTab); + axeCopper = new ItemAxeEln(ToolMaterial.IRON).setUnlocalizedName(name).setRegistryName("eln:copper_axe").setCreativeTab(creativeTab); GameRegistry.registerItem(axeCopper, "Eln." + name); - GameRegistry.registerCustomItemStack(name, new ItemStack(axeCopper)); + //GameRegistry.registerCustomItemStack(name, new ItemStack(axeCopper)); } } @@ -4076,7 +4076,7 @@ private void registerWindTurbine(int id) { subId = 16; name = TR_NAME(Type.NONE, "Water Turbine"); - Coordonate waterCoord = new Coordonate(1, -1, 0, 0); + Coordinate waterCoord = new Coordinate(1, -1, 0, 0); WaterTurbineDescriptor desc = new WaterTurbineDescriptor( name, obj.getObj("SmallWaterWheel"), // name,Obj3D obj, @@ -4186,9 +4186,9 @@ private void registerTransparentNodeMisc(int id) { subId = 0; name = TR_NAME(Type.NONE, "Experimental Transporter"); - Coordonate[] powerLoad = new Coordonate[2]; - powerLoad[0] = new Coordonate(-1, 0, 1, 0); - powerLoad[1] = new Coordonate(-1, 0, -1, 0); + Coordinate[] powerLoad = new Coordinate[2]; + powerLoad[0] = new Coordinate(-1, 0, 1, 0); + powerLoad[1] = new Coordinate(-1, 0, -1, 0); GhostGroup doorOpen = new GhostGroup(); doorOpen.addRectangle(-4, -3, 2, 2, 0, 0); @@ -4199,7 +4199,7 @@ private void registerTransparentNodeMisc(int id) { TeleporterDescriptor desc = new TeleporterDescriptor( name, obj.getObj("Transporter"), highVoltageCableDescriptor, - new Coordonate(-1, 0, 0, 0), new Coordonate(-1, 1, 0, 0), + new Coordinate(-1, 0, 0, 0), new Coordinate(-1, 1, 0, 0), 2,// int areaH powerLoad, doorOpen, doorClose @@ -4571,13 +4571,13 @@ private void registerAutoMiner(int id) { subId = 0; name = TR_NAME(Type.NONE, "Auto Miner"); - Coordonate[] powerLoad = new Coordonate[2]; - powerLoad[0] = new Coordonate(-2, -1, 1, 0); - powerLoad[1] = new Coordonate(-2, -1, -1, 0); + Coordinate[] powerLoad = new Coordinate[2]; + powerLoad[0] = new Coordinate(-2, -1, 1, 0); + powerLoad[1] = new Coordinate(-2, -1, -1, 0); - Coordonate lightCoord = new Coordonate(-3, 0, 0, 0); + Coordinate lightCoord = new Coordinate(-3, 0, 0, 0); - Coordonate miningCoord = new Coordonate(-1, 0, 1, 0); + Coordinate miningCoord = new Coordinate(-1, 0, 1, 0); AutoMinerDescriptor desc = new AutoMinerDescriptor(name, obj.getObj("AutoMiner"), @@ -4675,14 +4675,14 @@ private void registerBrush(int id) { for (int idx = 0; idx < 16; idx++) { addShapelessRecipe(emptyStack.copy(), - new ItemStack(Blocks.wool, 1, idx), - new ItemStack(Items.iron_ingot)); + new ItemStack(Blocks.WOOL, 1, idx), + new ItemStack(Items.IRON_INGOT)); } for (int idx = 0; idx < 16; idx++) { name = subNames[idx]; addShapelessRecipe(findItemStack(name, 1), - new ItemStack(Items.dye, 1, idx), + new ItemStack(Items.DYE, 1, idx), emptyStack.copy()); } @@ -5073,7 +5073,7 @@ private void recipeElectricalCable() { "RRR", "CCC", "RRR", - 'C', new ItemStack(Items.iron_ingot), + 'C', new ItemStack(Items.IRON_INGOT), 'R', "itemRubber"); addRecipe(lowVoltageCableDescriptor.newItemStack(6), @@ -5098,13 +5098,13 @@ private void recipeThermalCable() { "SSS", "CCC", "SSS", - 'S', new ItemStack(Blocks.cobblestone), + 'S', new ItemStack(Blocks.COBBLESTONE), 'C', "ingotCopper"); addRecipe(findItemStack("Copper Thermal Cable", 1), "S", "C", - 'S', new ItemStack(Blocks.cobblestone), + 'S', new ItemStack(Blocks.COBBLESTONE), 'C', findItemStack("Copper Cable")); } @@ -5113,63 +5113,63 @@ private void recipeLampSocket() { "G ", "IG", "G ", - 'G', new ItemStack(Blocks.glass_pane), - 'I', new ItemStack(Items.iron_ingot)); + 'G', new ItemStack(Blocks.GLASS_PANE), + 'I', new ItemStack(Items.IRON_INGOT)); addRecipe(findItemStack("Lamp Socket B Projector", 3), " I", "IG", " I", - 'G', new ItemStack(Blocks.glass_pane), - 'I', new ItemStack(Items.iron_ingot)); + 'G', new ItemStack(Blocks.GLASS_PANE), + 'I', new ItemStack(Items.IRON_INGOT)); addRecipe(findItemStack("Street Light", 1), "G", "I", "I", - 'G', new ItemStack(Blocks.glass_pane), - 'I', new ItemStack(Items.iron_ingot)); + 'G', new ItemStack(Blocks.GLASS_PANE), + 'I', new ItemStack(Items.IRON_INGOT)); addRecipe(findItemStack("Robust Lamp Socket", 3), "GIG", - 'G', new ItemStack(Blocks.glass_pane), - 'I', new ItemStack(Items.iron_ingot)); + 'G', new ItemStack(Blocks.GLASS_PANE), + 'I', new ItemStack(Items.IRON_INGOT)); addRecipe(findItemStack("Flat Lamp Socket", 3), "IGI", - 'G', new ItemStack(Blocks.glass_pane), - 'I', new ItemStack(Items.iron_ingot)); + 'G', new ItemStack(Blocks.GLASS_PANE), + 'I', new ItemStack(Items.IRON_INGOT)); addRecipe(findItemStack("Simple Lamp Socket", 3), " I ", "GGG", - 'G', new ItemStack(Blocks.glass_pane), - 'I', new ItemStack(Items.iron_ingot)); + 'G', new ItemStack(Blocks.GLASS_PANE), + 'I', new ItemStack(Items.IRON_INGOT)); addRecipe(findItemStack("Fluorescent Lamp Socket", 3), " I ", "I I", - 'G', new ItemStack(Blocks.glass_pane), - 'I', new ItemStack(Items.iron_ingot)); + 'G', new ItemStack(Blocks.GLASS_PANE), + 'I', new ItemStack(Items.IRON_INGOT)); addRecipe(findItemStack("Suspended Lamp Socket", 2), "I", "G", 'G', findItemStack("Robust Lamp Socket"), - 'I', new ItemStack(Items.iron_ingot)); + 'I', new ItemStack(Items.IRON_INGOT)); addRecipe(findItemStack("Long Suspended Lamp Socket", 2), "I", "I", "G", 'G', findItemStack("Robust Lamp Socket"), - 'I', new ItemStack(Items.iron_ingot)); + 'I', new ItemStack(Items.IRON_INGOT)); addRecipe(findItemStack("Sconce Lamp Socket", 2), "GCG", "GIG", - 'G', new ItemStack(Blocks.glass_pane), + 'G', new ItemStack(Blocks.GLASS_PANE), 'C', "dustCoal", - 'I', new ItemStack(Items.iron_ingot)); + 'I', new ItemStack(Items.IRON_INGOT)); addRecipe(findItemStack("50V Emergency Lamp"), "cbc", @@ -5178,7 +5178,7 @@ private void recipeLampSocket() { 'c', findItemStack("Low Voltage Cable"), 'b', findItemStack("Portable Battery Pack"), 'l', findItemStack("50V LED Bulb"), - 'g', new ItemStack(Blocks.glass_pane)); + 'g', new ItemStack(Blocks.GLASS_PANE)); addRecipe(findItemStack("200V Emergency Lamp"), "cbc", @@ -5187,7 +5187,7 @@ private void recipeLampSocket() { 'c', findItemStack("Medium Voltage Cable"), 'b', findItemStack("Portable Battery Pack"), 'l', findItemStack("200V LED Bulb"), - 'g', new ItemStack(Blocks.glass_pane)); + 'g', new ItemStack(Blocks.GLASS_PANE)); } private void recipeLampSupply() { @@ -5196,7 +5196,7 @@ private void recipeLampSupply() { "ICI", " I ", 'C', "ingotCopper", - 'I', new ItemStack(Items.iron_ingot)); + 'I', new ItemStack(Items.IRON_INGOT)); } @@ -5222,7 +5222,7 @@ private void recipePassiveComponent() { " RB", "IIR", " RB", - 'R', new ItemStack(Items.redstone), + 'R', new ItemStack(Items.REDSTONE), 'I', findItemStack("Iron Cable"), 'B', "itemRubber"); @@ -5230,8 +5230,8 @@ private void recipePassiveComponent() { " RB", "IIR", " RB", - 'R', new ItemStack(Items.redstone), - 'I', new ItemStack(Items.iron_ingot), + 'R', new ItemStack(Items.REDSTONE), + 'I', new ItemStack(Items.IRON_INGOT), 'B', "itemRubber"); addRecipe(findItemStack("25A Diode"), @@ -5244,7 +5244,7 @@ private void recipePassiveComponent() { addRecipe(findItemStack("Power Capacitor"), "cPc", "III", - 'I', new ItemStack(Items.iron_ingot), + 'I', new ItemStack(Items.IRON_INGOT), 'c', findItemStack("Iron Cable"), 'P', "plateIron"); @@ -5252,7 +5252,7 @@ private void recipePassiveComponent() { " P ", "cIc", "IPI", - 'I', new ItemStack(Items.iron_ingot), + 'I', new ItemStack(Items.IRON_INGOT), 'c', findItemStack("Copper Cable"), 'P', "plateIron"); @@ -5260,7 +5260,7 @@ private void recipePassiveComponent() { " P ", "c c", "IPI", - 'I', new ItemStack(Items.iron_ingot), + 'I', new ItemStack(Items.IRON_INGOT), 'c', findItemStack("Copper Cable"), 'P', "plateCopper"); @@ -5280,7 +5280,7 @@ private void recipePassiveComponent() { "csc", "IPI", 's', "dustSilicon", - 'I', new ItemStack(Items.iron_ingot), + 'I', new ItemStack(Items.IRON_INGOT), 'c', findItemStack("Copper Cable"), 'P', "plateCopper"); @@ -5305,7 +5305,7 @@ private void recipeSwitch() { " I", " I ", "CAC", - 'R', new ItemStack(Items.redstone), + 'R', new ItemStack(Items.REDSTONE), 'A', "itemRubber", 'I', findItemStack("Copper Cable"), 'C', findItemStack("Low Voltage Cable")); @@ -5314,7 +5314,7 @@ private void recipeSwitch() { " I", "AIA", "CAC", - 'R', new ItemStack(Items.redstone), + 'R', new ItemStack(Items.REDSTONE), 'A', "itemRubber", 'I', findItemStack("Copper Cable"), 'C', findItemStack("Medium Voltage Cable")); @@ -5323,7 +5323,7 @@ private void recipeSwitch() { "AAI", "AIA", "CAC", - 'R', new ItemStack(Items.redstone), + 'R', new ItemStack(Items.REDSTONE), 'A', "itemRubber", 'I', findItemStack("Copper Cable"), 'C', findItemStack("High Voltage Cable")); @@ -5332,7 +5332,7 @@ private void recipeSwitch() { "AAI", "AIA", "CAC", - 'R', new ItemStack(Items.redstone), + 'R', new ItemStack(Items.REDSTONE), 'A', "itemRubber", 'I', findItemStack("Copper Cable"), 'C', findItemStack("Very High Voltage Cable")); @@ -5344,9 +5344,9 @@ private void recipeElectricalRelay() { "GGG", "OIO", "CRC", - 'R', new ItemStack(Items.redstone), - 'O', new ItemStack(Items.iron_ingot), - 'G', new ItemStack(Blocks.glass_pane), + 'R', new ItemStack(Items.REDSTONE), + 'O', new ItemStack(Items.IRON_INGOT), + 'G', new ItemStack(Blocks.GLASS_PANE), 'A', "itemRubber", 'I', findItemStack("Copper Cable"), 'C', findItemStack("Low Voltage Cable")); @@ -5355,9 +5355,9 @@ private void recipeElectricalRelay() { "GGG", "OIO", "CRC", - 'R', new ItemStack(Items.redstone), - 'O', new ItemStack(Items.iron_ingot), - 'G', new ItemStack(Blocks.glass_pane), + 'R', new ItemStack(Items.REDSTONE), + 'O', new ItemStack(Items.IRON_INGOT), + 'G', new ItemStack(Blocks.GLASS_PANE), 'A', "itemRubber", 'I', findItemStack("Copper Cable"), 'C', findItemStack("Medium Voltage Cable")); @@ -5366,9 +5366,9 @@ private void recipeElectricalRelay() { "GGG", "OIO", "CRC", - 'R', new ItemStack(Items.redstone), - 'O', new ItemStack(Items.iron_ingot), - 'G', new ItemStack(Blocks.glass_pane), + 'R', new ItemStack(Items.REDSTONE), + 'O', new ItemStack(Items.IRON_INGOT), + 'G', new ItemStack(Blocks.GLASS_PANE), 'A', "itemRubber", 'I', findItemStack("Copper Cable"), 'C', findItemStack("High Voltage Cable")); @@ -5377,9 +5377,9 @@ private void recipeElectricalRelay() { "GGG", "OIO", "CRC", - 'R', new ItemStack(Items.redstone), - 'O', new ItemStack(Items.iron_ingot), - 'G', new ItemStack(Blocks.glass_pane), + 'R', new ItemStack(Items.REDSTONE), + 'O', new ItemStack(Items.IRON_INGOT), + 'G', new ItemStack(Blocks.GLASS_PANE), 'A', "itemRubber", 'I', findItemStack("Copper Cable"), 'C', findItemStack("Very High Voltage Cable")); @@ -5388,9 +5388,9 @@ private void recipeElectricalRelay() { "GGG", "OIO", "CRC", - 'R', new ItemStack(Items.redstone), - 'O', new ItemStack(Items.iron_ingot), - 'G', new ItemStack(Blocks.glass_pane), + 'R', new ItemStack(Items.REDSTONE), + 'O', new ItemStack(Items.IRON_INGOT), + 'G', new ItemStack(Blocks.GLASS_PANE), 'I', findItemStack("Copper Cable"), 'C', findItemStack("Signal Cable")); } @@ -5400,8 +5400,8 @@ private void recipeWirelessSignal() { " S ", " R ", "ICI", - 'R', new ItemStack(Items.redstone), - 'I', new ItemStack(Items.iron_ingot), + 'R', new ItemStack(Items.REDSTONE), + 'I', new ItemStack(Items.IRON_INGOT), 'C', dictCheapChip, 'S', findItemStack("Signal Antenna")); @@ -5409,16 +5409,16 @@ private void recipeWirelessSignal() { "S S", "R R", "ICI", - 'R', new ItemStack(Items.redstone), - 'I', new ItemStack(Items.iron_ingot), + 'R', new ItemStack(Items.REDSTONE), + 'I', new ItemStack(Items.IRON_INGOT), 'C', dictCheapChip, 'S', findItemStack("Signal Antenna")); addRecipe(findItemStack("Wireless Signal Receiver"), " S ", "ICI", - 'R', new ItemStack(Items.redstone), - 'I', new ItemStack(Items.iron_ingot), + 'R', new ItemStack(Items.REDSTONE), + 'I', new ItemStack(Items.IRON_INGOT), 'C', dictCheapChip, 'S', findItemStack("Signal Antenna")); } @@ -5429,7 +5429,7 @@ private void recipeChips() { "cCr", " ", 'C', dictCheapChip, - 'r', new ItemStack(Items.redstone), + 'r', new ItemStack(Items.REDSTONE), 'c', findItemStack("Copper Cable")); addRecipe(findItemStack("AND Chip"), @@ -5444,7 +5444,7 @@ private void recipeChips() { "cCr", " c ", 'C', dictCheapChip, - 'r', new ItemStack(Items.redstone), + 'r', new ItemStack(Items.REDSTONE), 'c', findItemStack("Copper Cable")); addRecipe(findItemStack("OR Chip"), @@ -5452,14 +5452,14 @@ private void recipeChips() { "rCr", " r ", 'C', dictCheapChip, - 'r', new ItemStack(Items.redstone)); + 'r', new ItemStack(Items.REDSTONE)); addRecipe(findItemStack("NOR Chip"), " r ", "rCc", " r ", 'C', dictCheapChip, - 'r', new ItemStack(Items.redstone), + 'r', new ItemStack(Items.REDSTONE), 'c', findItemStack("Copper Cable")); addRecipe(findItemStack("XOR Chip"), @@ -5467,14 +5467,14 @@ private void recipeChips() { "rCr", " rr", 'C', dictCheapChip, - 'r', new ItemStack(Items.redstone)); + 'r', new ItemStack(Items.REDSTONE)); addRecipe(findItemStack("XNOR Chip"), " rr", "rCc", " rr", 'C', dictCheapChip, - 'r', new ItemStack(Items.redstone), + 'r', new ItemStack(Items.REDSTONE), 'c', findItemStack("Copper Cable")); addRecipe(findItemStack("PAL Chip"), @@ -5482,7 +5482,7 @@ private void recipeChips() { "cCc", "rcr", 'C', dictAdvancedChip, - 'r', new ItemStack(Items.redstone), + 'r', new ItemStack(Items.REDSTONE), 'c', findItemStack("Copper Cable")); addRecipe(findItemStack("Schmitt Trigger Chip"), @@ -5522,7 +5522,7 @@ private void recipeChips() { " r", "cCc", " ", - 'r', new ItemStack(Items.redstone), + 'r', new ItemStack(Items.REDSTONE), 'c', findItemStack("Copper Cable"), 'C', dictAdvancedChip); @@ -5530,7 +5530,7 @@ private void recipeChips() { " r", "cCc", " c ", - 'r', new ItemStack(Items.redstone), + 'r', new ItemStack(Items.REDSTONE), 'c', findItemStack("Copper Cable"), 'C', dictAdvancedChip); @@ -5538,7 +5538,7 @@ private void recipeChips() { " cr", "cCc", " c ", - 'r', new ItemStack(Items.redstone), + 'r', new ItemStack(Items.REDSTONE), 'c', findItemStack("Copper Cable"), 'C', dictAdvancedChip); @@ -5546,7 +5546,7 @@ private void recipeChips() { " rr", "cCc", " c ", - 'r', new ItemStack(Items.redstone), + 'r', new ItemStack(Items.REDSTONE), 'c', findItemStack("Copper Cable"), 'C', dictAdvancedChip); @@ -5554,7 +5554,7 @@ private void recipeChips() { "rrr", "cCc", " ", - 'r', new ItemStack(Items.redstone), + 'r', new ItemStack(Items.REDSTONE), 'c', findItemStack("Copper Cable"), 'C', dictAdvancedChip); @@ -5562,7 +5562,7 @@ private void recipeChips() { " ", "cCc", "rrr", - 'r', new ItemStack(Items.redstone), + 'r', new ItemStack(Items.REDSTONE), 'c', findItemStack("Copper Cable"), 'C', dictAdvancedChip); @@ -5570,7 +5570,7 @@ private void recipeChips() { "rrr", "cCc", "rcr", - 'r', new ItemStack(Items.redstone), + 'r', new ItemStack(Items.REDSTONE), 'c', findItemStack("Copper Cable"), 'C', dictAdvancedChip); @@ -5590,7 +5590,7 @@ private void recipeTransformer() { "C C", "III", 'C', findItemStack("Copper Cable"), - 'I', new ItemStack(Items.iron_ingot)); + 'I', new ItemStack(Items.IRON_INGOT)); } private void recipeHeatFurnace() { @@ -5598,7 +5598,7 @@ private void recipeHeatFurnace() { "BBB", "BIB", "BiB", - 'B', new ItemStack(Blocks.stone), + 'B', new ItemStack(Blocks.STONE), 'i', findItemStack("Copper Thermal Cable"), 'I', findItemStack("Combustion Chamber")); @@ -5608,8 +5608,8 @@ private void recipeHeatFurnace() { "IiI", 'c', findItemStack("Cheap Chip"), 'm', findItemStack("Electrical Motor"), - 'C', new ItemStack(Items.cauldron), - 'I', new ItemStack(Items.iron_ingot), + 'C', new ItemStack(Items.CAULDRON), + 'I', new ItemStack(Items.IRON_INGOT), 'i', findItemStack("Copper Thermal Cable")); } @@ -5704,7 +5704,7 @@ private void recipeBattery() { "PPP", 'C', findItemStack("Low Voltage Cable"), 'P', "ingotLead", - 'I', new ItemStack(Items.iron_ingot)); + 'I', new ItemStack(Items.IRON_INGOT)); addRecipe(findItemStack("Capacity Oriented Battery"), "PPP", @@ -5718,7 +5718,7 @@ private void recipeBattery() { "PBP", "PPP", 'B', findItemStack("Cost Oriented Battery"), - 'P', new ItemStack(Items.iron_ingot)); + 'P', new ItemStack(Items.IRON_INGOT)); addRecipe(findItemStack("Current Oriented Battery"), "PPP", @@ -5732,14 +5732,14 @@ private void recipeBattery() { " B ", "P P", 'B', findItemStack("Cost Oriented Battery"), - 'P', new ItemStack(Items.gold_ingot)); + 'P', new ItemStack(Items.GOLD_INGOT)); addRecipe(findItemStack("Single-use Battery"), "ppp", "III", "ppp", 'C', findItemStack("Low Voltage Cable"), - 'p', new ItemStack(Items.coal, 1, 0), + 'p', new ItemStack(Items.COAL, 1, 0), 'I', "ingotCopper"); addRecipe(findItemStack("Single-use Battery"), @@ -5747,7 +5747,7 @@ private void recipeBattery() { "III", "ppp", 'C', findItemStack("Low Voltage Cable"), - 'p', new ItemStack(Items.coal, 1, 1), + 'p', new ItemStack(Items.COAL, 1, 1), 'I', "ingotCopper"); } @@ -5815,8 +5815,8 @@ private void recipeElectricalFurnace() { "IFI", "ICI", 'C', findItemStack("Low Voltage Cable"), - 'F', new ItemStack(Blocks.furnace), - 'I', new ItemStack(Items.iron_ingot)); + 'F', new ItemStack(Blocks.FURNACE), + 'I', new ItemStack(Items.IRON_INGOT)); } private void recipeSixNodeMisc() { @@ -5824,22 +5824,22 @@ private void recipeSixNodeMisc() { "crc", "III", 'c', findItemStack("Iron Cable"), - 'r', new ItemStack(Items.redstone), - 'I', new ItemStack(Items.iron_ingot)); + 'r', new ItemStack(Items.REDSTONE), + 'I', new ItemStack(Items.IRON_INGOT)); addRecipe(findItemStack("Digital Watch"), "rcr", "III", 'c', findItemStack("Iron Cable"), - 'r', new ItemStack(Items.redstone), - 'I', new ItemStack(Items.iron_ingot)); + 'r', new ItemStack(Items.REDSTONE), + 'I', new ItemStack(Items.IRON_INGOT)); addRecipe(findItemStack("Hub"), "I I", " c ", "I I", 'c', findItemStack("Copper Cable"), - 'I', new ItemStack(Items.iron_ingot)); + 'I', new ItemStack(Items.IRON_INGOT)); addRecipe(findItemStack("Energy Meter"), @@ -5848,7 +5848,7 @@ private void recipeSixNodeMisc() { "IcI", 'c', findItemStack("Copper Cable"), 'R', dictCheapChip, - 'I', new ItemStack(Items.iron_ingot)); + 'I', new ItemStack(Items.IRON_INGOT)); addRecipe(findItemStack("Advanced Energy Meter"), " c ", @@ -5919,7 +5919,7 @@ private void recipeSolarPanel() { "CSC", "III", 'S', "plateSilicon", - 'I', new ItemStack(Items.iron_ingot), + 'I', new ItemStack(Items.IRON_INGOT), 'C', findItemStack("Low Voltage Cable")); addRecipe(findItemStack("Small Rotating Solar Panel"), @@ -5927,7 +5927,7 @@ private void recipeSolarPanel() { "I I", 'S', findItemStack("Small Solar Panel"), 'M', findItemStack("Electrical Motor"), - 'I', new ItemStack(Items.iron_ingot)); + 'I', new ItemStack(Items.IRON_INGOT)); for (String metal : new String[] { "blockSteel", "blockAluminum", "blockAluminium", "casingMachineAdvanced" }) { for (String panel : new String[] {"Small Solar Panel", "Small Rotating Solar Panel"}) { @@ -5945,7 +5945,7 @@ private void recipeSolarPanel() { "I I", 'S', findItemStack("2x3 Solar Panel"), 'M', findItemStack("Electrical Motor"), - 'I', new ItemStack(Items.iron_ingot)); + 'I', new ItemStack(Items.IRON_INGOT)); } private void recipeThermalDissipatorPassiveAndActive() { @@ -6031,7 +6031,7 @@ private void recipeHeatingCorp() { "C C", "CCC", "C C", - 'C', new ItemStack(Items.iron_ingot)); + 'C', new ItemStack(Items.IRON_INGOT)); addRecipe(findItemStack("Small 200V Iron Heating Corp"), "CC", @@ -6066,21 +6066,21 @@ private void recipeRegulatorItem() { "R R", " R ", " I ", - 'R', new ItemStack(Items.redstone), - 'I', new ItemStack(Items.iron_ingot)); + 'R', new ItemStack(Items.REDSTONE), + 'I', new ItemStack(Items.IRON_INGOT)); addRecipe(findItemStack("On/OFF Regulator 1 Percent", 1), "RRR", " I ", - 'R', new ItemStack(Items.redstone), - 'I', new ItemStack(Items.iron_ingot)); + 'R', new ItemStack(Items.REDSTONE), + 'I', new ItemStack(Items.IRON_INGOT)); addRecipe(findItemStack("Analogic Regulator", 1), "R R", " C ", " I ", - 'R', new ItemStack(Items.redstone), - 'I', new ItemStack(Items.iron_ingot), + 'R', new ItemStack(Items.REDSTONE), + 'I', new ItemStack(Items.IRON_INGOT), 'C', dictCheapChip); } @@ -6091,7 +6091,7 @@ private void recipeLampItem() { " G ", "GFG", " S ", - 'G', new ItemStack(Blocks.glass_pane), + 'G', new ItemStack(Blocks.GLASS_PANE), 'F', dictTungstenIngot, 'S', findItemStack("Copper Cable")); @@ -6099,7 +6099,7 @@ private void recipeLampItem() { " G ", "GFG", " S ", - 'G', new ItemStack(Blocks.glass_pane), + 'G', new ItemStack(Blocks.GLASS_PANE), 'F', dictTungstenIngot, 'S', findItemStack("Low Voltage Cable")); @@ -6107,7 +6107,7 @@ private void recipeLampItem() { " G ", "GFG", " S ", - 'G', new ItemStack(Blocks.glass_pane), + 'G', new ItemStack(Blocks.GLASS_PANE), 'F', dictTungstenIngot, 'S', findItemStack("Medium Voltage Cable")); @@ -6116,16 +6116,16 @@ private void recipeLampItem() { " G ", "GFG", " S ", - 'G', new ItemStack(Blocks.glass_pane), - 'F', new ItemStack(Items.coal), + 'G', new ItemStack(Blocks.GLASS_PANE), + 'F', new ItemStack(Items.COAL), 'S', findItemStack("Copper Cable")); addRecipe(findItemStack("Small 50V Carbon Incandescent Light Bulb", 4), " G ", "GFG", " S ", - 'G', new ItemStack(Blocks.glass_pane), - 'F', new ItemStack(Items.coal, 1, 1), + 'G', new ItemStack(Blocks.GLASS_PANE), + 'F', new ItemStack(Items.COAL, 1, 1), 'S', findItemStack("Copper Cable")); addRecipe( @@ -6133,16 +6133,16 @@ private void recipeLampItem() { " G ", "GFG", " S ", - 'G', new ItemStack(Blocks.glass_pane), - 'F', new ItemStack(Items.coal), + 'G', new ItemStack(Blocks.GLASS_PANE), + 'F', new ItemStack(Items.COAL), 'S', findItemStack("Low Voltage Cable")); addRecipe(findItemStack("50V Carbon Incandescent Light Bulb", 4), " G ", "GFG", " S ", - 'G', new ItemStack(Blocks.glass_pane), - 'F', new ItemStack(Items.coal, 1, 1), + 'G', new ItemStack(Blocks.GLASS_PANE), + 'F', new ItemStack(Items.COAL, 1, 1), 'S', findItemStack("Low Voltage Cable")); addRecipe( @@ -6150,31 +6150,31 @@ private void recipeLampItem() { " G ", "GFG", " S ", - 'G', new ItemStack(Blocks.glass_pane), - 'F', new ItemStack(Items.glowstone_dust), + 'G', new ItemStack(Blocks.GLASS_PANE), + 'F', new ItemStack(Items.GLOWSTONE_DUST), 'S', findItemStack("Copper Cable")); addRecipe(findItemStack("50V Economic Light Bulb", 4), " G ", "GFG", " S ", - 'G', new ItemStack(Blocks.glass_pane), - 'F', new ItemStack(Items.glowstone_dust), + 'G', new ItemStack(Blocks.GLASS_PANE), + 'F', new ItemStack(Items.GLOWSTONE_DUST), 'S', findItemStack("Low Voltage Cable")); addRecipe(findItemStack("200V Economic Light Bulb", 4), " G ", "GFG", " S ", - 'G', new ItemStack(Blocks.glass_pane), - 'F', new ItemStack(Items.glowstone_dust), + 'G', new ItemStack(Blocks.GLASS_PANE), + 'F', new ItemStack(Items.GLOWSTONE_DUST), 'S', findItemStack("Medium Voltage Cable")); addRecipe(findItemStack("50V Farming Lamp", 2), "GGG", "FFF", "GSG", - 'G', new ItemStack(Blocks.glass_pane), + 'G', new ItemStack(Blocks.GLASS_PANE), 'F', dictTungstenIngot, 'S', findItemStack("Low Voltage Cable")); @@ -6182,7 +6182,7 @@ private void recipeLampItem() { "GGG", "FFF", "GSG", - 'G', new ItemStack(Blocks.glass_pane), + 'G', new ItemStack(Blocks.GLASS_PANE), 'F', dictTungstenIngot, 'S', findItemStack("Medium Voltage Cable")); @@ -6190,7 +6190,7 @@ private void recipeLampItem() { "GGG", "SSS", " C ", - 'G', new ItemStack(Blocks.glass_pane), + 'G', new ItemStack(Blocks.GLASS_PANE), 'S', findItemStack("Silicon Ingot"), 'C', findItemStack("Low Voltage Cable")); @@ -6198,7 +6198,7 @@ private void recipeLampItem() { "GGG", "SSS", " C ", - 'G', new ItemStack(Blocks.glass_pane), + 'G', new ItemStack(Blocks.GLASS_PANE), 'S', findItemStack("Silicon Ingot"), 'C', findItemStack("Medium Voltage Cable")); @@ -6209,13 +6209,13 @@ private void recipeProtection() { "SCD", 'S', findItemStack("Electrical Probe Chip"), 'C', dictCheapChip, - 'D', new ItemStack(Items.redstone)); + 'D', new ItemStack(Items.REDSTONE)); addRecipe(findItemStack("Overheating Protection", 4), "SCD", 'S', findItemStack("Thermal Probe Chip"), 'C', dictCheapChip, - 'D', new ItemStack(Items.redstone)); + 'D', new ItemStack(Items.REDSTONE)); } @@ -6224,7 +6224,7 @@ private void recipeCombustionChamber() { " L ", "L L", " L ", - 'L', new ItemStack(Blocks.stone)); + 'L', new ItemStack(Blocks.STONE)); } private void recipeFerromagneticCore() { @@ -6232,7 +6232,7 @@ private void recipeFerromagneticCore() { "LLL", "L ", "LLL", - 'L', Items.iron_ingot); + 'L', Items.IRON_INGOT); addRecipe(findItemStack("Average Ferromagnetic Core"), "PCP", @@ -6269,7 +6269,7 @@ private void recipeElectricalMotor() { " C ", "III", "C C", - 'I', new ItemStack(Items.iron_ingot), + 'I', new ItemStack(Items.IRON_INGOT), 'C', findItemStack("Low Voltage Cable")); addRecipe(findItemStack("Advanced Electrical Motor"), @@ -6277,8 +6277,8 @@ private void recipeElectricalMotor() { "MIM", "CRC", 'M', findItemStack("Advanced Magnet"), - 'I', new ItemStack(Items.iron_ingot), - 'R', new ItemStack(Items.redstone), + 'I', new ItemStack(Items.IRON_INGOT), + 'R', new ItemStack(Items.REDSTONE), 'C', findItemStack("Medium Voltage Cable")); // TODO @@ -6290,11 +6290,11 @@ private void recipeSolarTracker() { "VVV", "RQR", "III", - 'Q', new ItemStack(Items.quartz), - 'V', new ItemStack(Blocks.glass_pane), - 'R', new ItemStack(Items.redstone), - 'G', new ItemStack(Items.gold_ingot), - 'I', new ItemStack(Items.iron_ingot)); + 'Q', new ItemStack(Items.QUARTZ), + 'V', new ItemStack(Blocks.GLASS_PANE), + 'R', new ItemStack(Items.REDSTONE), + 'G', new ItemStack(Items.GOLD_INGOT), + 'I', new ItemStack(Items.IRON_INGOT)); } @@ -6311,18 +6311,18 @@ private void recipeMeter() { "RGR", "RER", "RCR", - 'G', new ItemStack(Blocks.glass_pane), + 'G', new ItemStack(Blocks.GLASS_PANE), 'C', findItemStack("Electrical Probe Chip"), - 'E', new ItemStack(Items.redstone), + 'E', new ItemStack(Items.REDSTONE), 'R', "itemRubber"); addRecipe(findItemStack("Thermometer"), "RGR", "RER", "RCR", - 'G', new ItemStack(Blocks.glass_pane), + 'G', new ItemStack(Blocks.GLASS_PANE), 'C', findItemStack("Thermal Probe Chip"), - 'E', new ItemStack(Items.redstone), + 'E', new ItemStack(Items.REDSTONE), 'R', "itemRubber"); addShapelessRecipe(findItemStack("AllMeter"), @@ -6333,9 +6333,9 @@ private void recipeMeter() { " S ", "RGR", "RER", - 'G', new ItemStack(Blocks.glass_pane), + 'G', new ItemStack(Blocks.GLASS_PANE), 'S', findItemStack("Signal Antenna"), - 'E', new ItemStack(Items.redstone), + 'E', new ItemStack(Items.REDSTONE), 'R', "itemRubber"); } @@ -6348,15 +6348,15 @@ private void recipeElectricalDrill() { 'T', findItemStack("Mining Pipe"), 'C', dictCheapChip, 'M', findItemStack("Electrical Motor"), - 'P', new ItemStack(Items.iron_pickaxe)); + 'P', new ItemStack(Items.IRON_PICKAXE)); addRecipe(findItemStack("Average Electrical Drill"), "RCR", " D ", - " d ", 'R', Items.redstone, + " d ", 'R', Items.REDSTONE, 'C', dictCheapChip, 'D', findItemStack("Cheap Electrical Drill"), - 'd', new ItemStack(Items.diamond)); + 'd', new ItemStack(Items.DIAMOND)); addRecipe(findItemStack("Fast Electrical Drill"), "MCM", @@ -6365,7 +6365,7 @@ private void recipeElectricalDrill() { 'T', findItemStack("Mining Pipe"), 'C', dictAdvancedChip, 'M', findItemStack("Advanced Electrical Motor"), - 'P', new ItemStack(Items.diamond_pickaxe)); + 'P', new ItemStack(Items.DIAMOND_PICKAXE)); } @@ -6375,9 +6375,9 @@ private void recipeOreScanner() { "RCR", "IGI", 'C', dictCheapChip, - 'R', new ItemStack(Items.redstone), - 'I', new ItemStack(Items.iron_ingot), - 'G', new ItemStack(Items.gold_ingot)); + 'R', new ItemStack(Items.REDSTONE), + 'I', new ItemStack(Items.IRON_INGOT), + 'G', new ItemStack(Items.GOLD_INGOT)); } @@ -6407,7 +6407,7 @@ private void recipeRawCable() { addRecipe(findItemStack("Iron Cable", 6), "III", - 'I', new ItemStack(Items.iron_ingot)); + 'I', new ItemStack(Items.IRON_INGOT)); addRecipe(findItemStack("Tungsten Cable", 6), "III", @@ -6421,7 +6421,7 @@ private void recipeBatteryItem() { "IPI", "IPI", 'P', "ingotLead", - 'I', new ItemStack(Items.iron_ingot)); + 'I', new ItemStack(Items.IRON_INGOT)); addShapelessRecipe( findItemStack("Portable Battery Pack"), findItemStack("Portable Battery"), findItemStack("Portable Battery"), findItemStack("Portable Battery")); @@ -6434,8 +6434,8 @@ private void recipeElectricalTool() { " I ", 'L', findItemStack("50V Incandescent Light Bulb"), 'B', findItemStack("Portable Battery"), - 'G', new ItemStack(Blocks.glass_pane), - 'I', new ItemStack(Items.iron_ingot)); + 'G', new ItemStack(Blocks.GLASS_PANE), + 'I', new ItemStack(Items.IRON_INGOT)); addRecipe(findItemStack("Portable Electrical Mining Drill"), " T ", @@ -6443,16 +6443,16 @@ private void recipeElectricalTool() { " I ", 'T', findItemStack("Average Electrical Drill"), 'B', findItemStack("Portable Battery"), - 'I', new ItemStack(Items.iron_ingot)); + 'I', new ItemStack(Items.IRON_INGOT)); addRecipe(findItemStack("Portable Electrical Axe"), " T ", "IMI", "IBI", - 'T', new ItemStack(Items.iron_axe), + 'T', new ItemStack(Items.IRON_AXE), 'B', findItemStack("Portable Battery"), 'M', findItemStack("Electrical Motor"), - 'I', new ItemStack(Items.iron_ingot)); + 'I', new ItemStack(Items.IRON_INGOT)); if (xRayScannerCanBeCrafted) { addRecipe(findItemStack("X-Ray Scanner"), @@ -6461,7 +6461,7 @@ private void recipeElectricalTool() { "PBP", 'C', dictAdvancedChip, 'B', findItemStack("Portable Battery"), - 'P', new ItemStack(Items.iron_ingot), + 'P', new ItemStack(Items.IRON_INGOT), 'G', findItemStack("Ore Scanner")); } @@ -6501,7 +6501,7 @@ private void recipePortableCapacitor() { "RcR", "wCw", "RcR", - 'C', new ItemStack(Items.redstone), + 'C', new ItemStack(Items.REDSTONE), 'R', "itemRubber", 'w', findItemStack("Copper Cable"), 'c', "plateCopper"); @@ -6518,20 +6518,20 @@ private void recipeMiscItem() { "RSR", " R ", 'S', "ingotSilicon", - 'R', new ItemStack(Items.redstone)); + 'R', new ItemStack(Items.REDSTONE)); addRecipe(findItemStack("Advanced Chip"), "LRL", "RCR", "LRL", 'C', dictCheapChip, 'L', "ingotSilicon", - 'R', new ItemStack(Items.redstone)); + 'R', new ItemStack(Items.REDSTONE)); addRecipe(findItemStack("Machine Block"), "LLL", "LcL", "LLL", - 'L', new ItemStack(Items.iron_ingot), + 'L', new ItemStack(Items.IRON_INGOT), 'c', findItemStack("Copper Cable")); addRecipe(findItemStack("Advanced Machine Block"), @@ -6547,16 +6547,16 @@ private void recipeMiscItem() { "RCR", " R ", 'C', findItemStack("High Voltage Cable"), - 'R', new ItemStack(Items.redstone)); + 'R', new ItemStack(Items.REDSTONE)); addRecipe(findItemStack("Thermal Probe Chip"), " C ", "RIR", " C ", - 'G', new ItemStack(Items.gold_ingot), - 'I', new ItemStack(Items.iron_ingot), + 'G', new ItemStack(Items.GOLD_INGOT), + 'I', new ItemStack(Items.IRON_INGOT), 'C', "ingotCopper", - 'R', new ItemStack(Items.redstone)); + 'R', new ItemStack(Items.REDSTONE)); addRecipe(findItemStack("Signal Antenna"), "c", @@ -6574,21 +6574,21 @@ private void recipeMiscItem() { " c ", "cc ", " c", - 'c', new ItemStack(Items.iron_ingot)); + 'c', new ItemStack(Items.IRON_INGOT)); addRecipe(findItemStack("Player Filter"), " g", "gc", " g", - 'g', new ItemStack(Blocks.glass_pane), - 'c', new ItemStack(Items.dye, 1, 2)); + 'g', new ItemStack(Blocks.GLASS_PANE), + 'c', new ItemStack(Items.DYE, 1, 2)); addRecipe(findItemStack("Monster Filter"), " g", "gc", " g", - 'g', new ItemStack(Blocks.glass_pane), - 'c', new ItemStack(Items.dye, 1, 1)); + 'g', new ItemStack(Blocks.GLASS_PANE), + 'c', new ItemStack(Items.DYE, 1, 1)); addRecipe(findItemStack("Casing", 8), "ppp", @@ -6602,41 +6602,41 @@ private void recipeMacerator() { float f = 4000; maceratorRecipes.addRecipe(new Recipe(findItemStack("Copper Ore"), new ItemStack[]{findItemStack("Copper Dust", 2)}, 1.0 * f)); - maceratorRecipes.addRecipe(new Recipe(new ItemStack(Blocks.iron_ore), + maceratorRecipes.addRecipe(new Recipe(new ItemStack(Blocks.IRON_ORE), new ItemStack[]{findItemStack("Iron Dust", 2)}, 1.5 * f)); - maceratorRecipes.addRecipe(new Recipe(new ItemStack(Blocks.gold_ore), + maceratorRecipes.addRecipe(new Recipe(new ItemStack(Blocks.GOLD_ORE), new ItemStack[]{findItemStack("Gold Dust", 2)}, 3.0 * f)); maceratorRecipes.addRecipe(new Recipe(findItemStack("Lead Ore"), new ItemStack[]{findItemStack("Lead Dust", 2)}, 2.0 * f)); maceratorRecipes.addRecipe(new Recipe(findItemStack("Tungsten Ore"), new ItemStack[]{findItemStack("Tungsten Dust", 2)}, 2.0 * f)); - maceratorRecipes.addRecipe(new Recipe(new ItemStack(Items.coal, 1, 0), + maceratorRecipes.addRecipe(new Recipe(new ItemStack(Items.COAL, 1, 0), new ItemStack[]{findItemStack("Coal Dust", 2)}, 1.0 * f)); - maceratorRecipes.addRecipe(new Recipe(new ItemStack(Items.coal, 1, 1), + maceratorRecipes.addRecipe(new Recipe(new ItemStack(Items.COAL, 1, 1), new ItemStack[]{findItemStack("Coal Dust", 2)}, 1.0 * f)); - maceratorRecipes.addRecipe(new Recipe(new ItemStack(Blocks.sand, 1), + maceratorRecipes.addRecipe(new Recipe(new ItemStack(Blocks.SAND, 1), new ItemStack[]{findItemStack("Silicon Dust", 1)}, 3.0 * f)); maceratorRecipes.addRecipe(new Recipe(findItemStack("Cinnabar Ore"), new ItemStack[]{findItemStack("Cinnabar Dust", 2)}, 2.0 * f)); maceratorRecipes.addRecipe(new Recipe(findItemStack("Copper Ingot"), new ItemStack[]{findItemStack("Copper Dust", 1)}, 0.5 * f)); - maceratorRecipes.addRecipe(new Recipe(new ItemStack(Items.iron_ingot), + maceratorRecipes.addRecipe(new Recipe(new ItemStack(Items.IRON_INGOT), new ItemStack[]{findItemStack("Iron Dust", 1)}, 0.5 * f)); - maceratorRecipes.addRecipe(new Recipe(new ItemStack(Items.gold_ingot), + maceratorRecipes.addRecipe(new Recipe(new ItemStack(Items.GOLD_INGOT), new ItemStack[]{findItemStack("Gold Dust", 1)}, 0.5 * f)); maceratorRecipes.addRecipe(new Recipe(findItemStack("Lead Ingot"), new ItemStack[]{findItemStack("Lead Dust", 1)}, 0.5 * f)); maceratorRecipes.addRecipe(new Recipe(findItemStack("Tungsten Ingot"), new ItemStack[]{findItemStack("Tungsten Dust", 1)}, 0.5 * f)); - maceratorRecipes.addRecipe(new Recipe(new ItemStack(Blocks.cobblestone), - new ItemStack[]{new ItemStack(Blocks.gravel)}, 1.0 * f)); - maceratorRecipes.addRecipe(new Recipe(new ItemStack(Blocks.gravel), - new ItemStack[]{new ItemStack(Items.flint)}, 1.0 * f)); + maceratorRecipes.addRecipe(new Recipe(new ItemStack(Blocks.COBBLESTONE), + new ItemStack[]{new ItemStack(Blocks.GRAVEL)}, 1.0 * f)); + maceratorRecipes.addRecipe(new Recipe(new ItemStack(Blocks.GRAVEL), + new ItemStack[]{new ItemStack(Items.FLINT)}, 1.0 * f)); - maceratorRecipes.addRecipe(new Recipe(new ItemStack(Blocks.dirt), - new ItemStack[]{new ItemStack(Blocks.sand)}, 1.0 * f)); + maceratorRecipes.addRecipe(new Recipe(new ItemStack(Blocks.DIRT), + new ItemStack[]{new ItemStack(Blocks.SAND)}, 1.0 * f)); } private void recipeMaceratorModOres() { @@ -6659,8 +6659,8 @@ private void recipeMaceratorModOre(float f, String inputName, String outputName, LogWrapper.info("No entries for oredict: " + outputName); return; } - ArrayList inOres = OreDictionary.getOres(inputName); - ArrayList outOres = OreDictionary.getOres(outputName); + List inOres = OreDictionary.getOres(inputName); + List outOres = OreDictionary.getOres(outputName); if (inOres.size() == 0) { LogWrapper.info("No ores in oredict entry: " + inputName); } @@ -6670,7 +6670,7 @@ private void recipeMaceratorModOre(float f, String inputName, String outputName, } ItemStack output = outOres.get(0).copy(); output.stackSize = outputCount; - LogWrapper.info("Adding mod recipe from " + inputName + " to " + outputName); + LogWrapper.info("Adding mod recipe fromFacing " + inputName + " to " + outputName); for (ItemStack input : inOres) { maceratorRecipes.addRecipe(new Recipe(input, output, f)); } @@ -6692,17 +6692,17 @@ private void recipePlateMachine() { plateMachineRecipes.addRecipe(new Recipe(findItemStack("Alloy Ingot", plateConversionRatio), findItemStack("Alloy Plate"), 1.0 * f)); - plateMachineRecipes.addRecipe(new Recipe(new ItemStack(Items.iron_ingot, plateConversionRatio, + plateMachineRecipes.addRecipe(new Recipe(new ItemStack(Items.IRON_INGOT, plateConversionRatio, 0), findItemStack("Iron Plate"), 1.0 * f)); - plateMachineRecipes.addRecipe(new Recipe(new ItemStack(Items.gold_ingot, plateConversionRatio, + plateMachineRecipes.addRecipe(new Recipe(new ItemStack(Items.GOLD_INGOT, plateConversionRatio, 0), findItemStack("Gold Plate"), 1.0 * f)); } private void recipeCompressor() { compressorRecipes.addRecipe(new Recipe(findItemStack("Coal Plate", 4), - new ItemStack[]{new ItemStack(Items.diamond)}, 80000.0)); + new ItemStack[]{new ItemStack(Items.DIAMOND)}, 80000.0)); // extractorRecipes.addRecipe(new // Recipe("dustCinnabar",new // ItemStack[]{findItemStack("Purified Cinnabar Dust",1)}, 1000.0)); @@ -6710,16 +6710,16 @@ private void recipeCompressor() { compressorRecipes.addRecipe(new Recipe(findItemStack("Coal Dust", 4), findItemStack("Coal Plate"), 4000.0)); - compressorRecipes.addRecipe(new Recipe(new ItemStack(Blocks.sand), + compressorRecipes.addRecipe(new Recipe(new ItemStack(Blocks.SAND), findItemStack("Dielectric"), 2000.0)); - compressorRecipes.addRecipe(new Recipe(new ItemStack(Blocks.log), + compressorRecipes.addRecipe(new Recipe(new ItemStack(Blocks.LOG), findItemStack("Tree Resin"), 3000.0)); } private void recipeMagnetizer() { - magnetizerRecipes.addRecipe(new Recipe(new ItemStack(Items.iron_ingot, 2), + magnetizerRecipes.addRecipe(new Recipe(new ItemStack(Items.IRON_INGOT, 2), new ItemStack[]{findItemStack("Basic Magnet")}, 5000.0)); magnetizerRecipes.addRecipe(new Recipe(findItemStack("Alloy Ingot", 2), new ItemStack[]{findItemStack("Advanced Magnet")}, 15000.0)); @@ -6774,11 +6774,11 @@ private void recipeFurnace() { // findItemStack("Ferrite Ingot")); in = findItemStack("dustIron"); Utils.addSmelting(in.getItem(), in.getItemDamage(), - new ItemStack(Items.iron_ingot)); + new ItemStack(Items.IRON_INGOT)); in = findItemStack("dustGold"); Utils.addSmelting(in.getItem(), in.getItemDamage(), - new ItemStack(Items.gold_ingot)); + new ItemStack(Items.GOLD_INGOT)); in = findItemStack("Tree Resin"); Utils.addSmelting(in.getItem(), in.getItemDamage(), @@ -6844,7 +6844,7 @@ private void recipeTurret() { 'M', findItemStack("Advanced Machine Block"), 'C', dictAdvancedChip, 'c', highVoltageCableDescriptor.newItemStack(), - 'R', new ItemStack(Blocks.redstone_block)); + 'R', new ItemStack(Blocks.REDSTONE_BLOCK)); } @@ -6855,9 +6855,9 @@ private void recipeMachine() { "IcI", 'M', findItemStack("Machine Block"), 'c', findItemStack("Electrical Motor"), - 'F', new ItemStack(Items.flint), - 'I', new ItemStack(Items.iron_ingot), - 'R', new ItemStack(Items.redstone)); + 'F', new ItemStack(Items.FLINT), + 'I', new ItemStack(Items.IRON_INGOT), + 'R', new ItemStack(Items.REDSTONE)); addRecipe(findItemStack("200V Macerator", 1), "ICI", "DMD", @@ -6865,7 +6865,7 @@ private void recipeMachine() { 'M', findItemStack("Advanced Machine Block"), 'C', dictAdvancedChip, 'c', findItemStack("Advanced Electrical Motor"), - 'D', new ItemStack(Items.diamond), + 'D', new ItemStack(Items.DIAMOND), 'I', "ingotAlloy"); addRecipe(findItemStack("50V Compressor", 1), @@ -6875,8 +6875,8 @@ private void recipeMachine() { 'M', findItemStack("Machine Block"), 'c', findItemStack("Electrical Motor"), 'F', "plateIron", - 'I', new ItemStack(Items.iron_ingot), - 'R', new ItemStack(Items.redstone)); + 'I', new ItemStack(Items.IRON_INGOT), + 'R', new ItemStack(Items.REDSTONE)); addRecipe(findItemStack("200V Compressor", 1), "ICI", "DMD", @@ -6893,8 +6893,8 @@ private void recipeMachine() { "IcI", 'M', findItemStack("Machine Block"), 'c', findItemStack("Electrical Motor"), - 'I', new ItemStack(Items.iron_ingot), - 'R', new ItemStack(Items.redstone)); + 'I', new ItemStack(Items.IRON_INGOT), + 'R', new ItemStack(Items.REDSTONE)); addRecipe(findItemStack("200V Plate Machine", 1), "DCD", @@ -6912,8 +6912,8 @@ private void recipeMachine() { "III", 'M', findItemStack("Machine Block"), 'c', findItemStack("Electrical Motor"), - 'I', new ItemStack(Items.iron_ingot), - 'R', new ItemStack(Items.redstone)); + 'I', new ItemStack(Items.IRON_INGOT), + 'R', new ItemStack(Items.REDSTONE)); addRecipe(findItemStack("200V Magnetizer", 1), "ICI", @@ -6928,14 +6928,14 @@ private void recipeMachine() { private void recipeElectricalGate() { addShapelessRecipe(findItemStack("Electrical Timer"), - new ItemStack(Items.repeater), + new ItemStack(Items.REPEATER), dictCheapChip); addRecipe(findItemStack("Signal Processor", 1), "IcI", "cCc", "IcI", - 'I', new ItemStack(Items.iron_ingot), + 'I', new ItemStack(Items.IRON_INGOT), 'c', findItemStack("Signal Cable"), 'C', dictCheapChip); } @@ -6945,46 +6945,46 @@ private void recipeElectricalRedstone() { "TCS", 'S', findItemStack("Signal Cable"), 'C', dictCheapChip, - 'T', new ItemStack(Blocks.redstone_torch)); + 'T', new ItemStack(Blocks.REDSTONE_TORCH)); addRecipe(findItemStack("Voltage-to-Redstone Converter", 1), "CTR", - 'R', new ItemStack(Items.redstone), + 'R', new ItemStack(Items.REDSTONE), 'C', dictCheapChip, - 'T', new ItemStack(Blocks.redstone_torch)); + 'T', new ItemStack(Blocks.REDSTONE_TORCH)); } private void recipeElectricalEnvironmentalSensor() { addShapelessRecipe(findItemStack("Electrical Daylight Sensor"), - new ItemStack(Blocks.daylight_detector), + new ItemStack(Blocks.DAYLIGHT_DETECTOR), findItemStack("Redstone-to-Voltage Converter")); addShapelessRecipe(findItemStack("Electrical Light Sensor"), - new ItemStack(Blocks.daylight_detector), - new ItemStack(Items.quartz), + new ItemStack(Blocks.DAYLIGHT_DETECTOR), + new ItemStack(Items.QUARTZ), findItemStack("Redstone-to-Voltage Converter")); addRecipe(findItemStack("Electrical Weather Sensor"), " r ", "rRr", " r ", - 'R', new ItemStack(Items.redstone), + 'R', new ItemStack(Items.REDSTONE), 'r', "itemRubber"); addRecipe(findItemStack("Electrical Anemometer Sensor"), " I ", " R ", "I I", - 'R', new ItemStack(Items.redstone), - 'I', new ItemStack(Items.iron_ingot)); + 'R', new ItemStack(Items.REDSTONE), + 'I', new ItemStack(Items.IRON_INGOT)); addRecipe(findItemStack("Electrical Entity Sensor"), " G ", "GRG", " G ", - 'G', new ItemStack(Blocks.glass_pane), - 'R', new ItemStack(Items.redstone)); + 'G', new ItemStack(Blocks.GLASS_PANE), + 'R', new ItemStack(Items.REDSTONE)); addRecipe(findItemStack("Electrical Fire Detector"), "cbr", @@ -7004,7 +7004,7 @@ private void recipeElectricalEnvironmentalSensor() { 'p', "plateCopper"); addShapelessRecipe(findItemStack("Scanner"), - new ItemStack(Items.comparator), + new ItemStack(Items.COMPARATOR), dictAdvancedChip); } @@ -7015,10 +7015,10 @@ private void recipeElectricalVuMeter() { "WWW", "RIr", "WSW", - 'W', new ItemStack(Blocks.planks, 1, idx), - 'R', new ItemStack(Items.redstone), - 'I', new ItemStack(Items.iron_ingot), - 'r', new ItemStack(Items.dye, 1, 1), + 'W', new ItemStack(Blocks.PLANKS, 1, idx), + 'R', new ItemStack(Items.REDSTONE), + 'I', new ItemStack(Items.IRON_INGOT), + 'r', new ItemStack(Items.DYE, 1, 1), 'S', findItemStack("Signal Cable")); } for (int idx = 0; idx < 4; idx++) { @@ -7026,8 +7026,8 @@ private void recipeElectricalVuMeter() { " W ", "WTW", " S ", - 'W', new ItemStack(Blocks.planks, 1, idx), - 'T', new ItemStack(Blocks.redstone_torch), + 'W', new ItemStack(Blocks.PLANKS, 1, idx), + 'T', new ItemStack(Blocks.REDSTONE_TORCH), 'S', findItemStack("Signal Cable")); } } @@ -7048,7 +7048,7 @@ private void recipeFuses() { "i", " ", "i", - 'i', new ItemStack(Items.iron_ingot)); + 'i', new ItemStack(Items.IRON_INGOT)); addRecipe(findItemStack("Lead Fuse for low voltage cables", 4), "rcr", @@ -7080,8 +7080,8 @@ private void recipeElectricalGateSource() { 'M', findItemStack("Machine Block"), 'c', findItemStack("Signal Cable"), 'r', "itemRubber", - 's', new ItemStack(Items.stick), - 'R', new ItemStack(Items.redstone)); + 's', new ItemStack(Items.STICK), + 'R', new ItemStack(Items.REDSTONE)); addRecipe(findItemStack("Signal Switch", 3), " r ", @@ -7090,8 +7090,8 @@ private void recipeElectricalGateSource() { 'M', findItemStack("Machine Block"), 'c', findItemStack("Signal Cable"), 'r', "itemRubber", - 'I', new ItemStack(Items.iron_ingot), - 'R', new ItemStack(Items.redstone)); + 'I', new ItemStack(Items.IRON_INGOT), + 'R', new ItemStack(Items.REDSTONE)); addRecipe(findItemStack("Signal Button", 3), " R ", @@ -7100,8 +7100,8 @@ private void recipeElectricalGateSource() { 'M', findItemStack("Machine Block"), 'c', findItemStack("Signal Cable"), 'r', "itemRubber", - 'I', new ItemStack(Items.iron_ingot), - 'R', new ItemStack(Items.redstone)); + 'I', new ItemStack(Items.IRON_INGOT), + 'R', new ItemStack(Items.REDSTONE)); addRecipe(findItemStack("Wireless Switch", 3), " a ", @@ -7112,8 +7112,8 @@ private void recipeElectricalGateSource() { 'C', dictCheapChip, 'a', findItemStack("Signal Antenna"), 'r', "itemRubber", - 'I', new ItemStack(Items.iron_ingot), - 'R', new ItemStack(Items.redstone)); + 'I', new ItemStack(Items.IRON_INGOT), + 'R', new ItemStack(Items.REDSTONE)); addRecipe(findItemStack("Wireless Button", 3), " a ", @@ -7124,8 +7124,8 @@ private void recipeElectricalGateSource() { 'C', dictCheapChip, 'a', findItemStack("Signal Antenna"), 'r', "itemRubber", - 'I', new ItemStack(Items.iron_ingot), - 'R', new ItemStack(Items.redstone)); + 'I', new ItemStack(Items.IRON_INGOT), + 'R', new ItemStack(Items.REDSTONE)); // Wireless Switch // Wireless Button @@ -7138,7 +7138,7 @@ private void recipeElectricalDataLogger() { "RCR", 'R', "itemRubber", 'C', dictCheapChip, - 'G', new ItemStack(Blocks.glass_pane)); + 'G', new ItemStack(Blocks.GLASS_PANE)); addRecipe(findItemStack("Modern Data Logger", 1), "RRR", @@ -7146,7 +7146,7 @@ private void recipeElectricalDataLogger() { "RCR", 'R', "itemRubber", 'C', dictAdvancedChip, - 'G', new ItemStack(Blocks.glass_pane)); + 'G', new ItemStack(Blocks.GLASS_PANE)); addRecipe(findItemStack("Industrial Data Logger", 1), "RRR", @@ -7154,7 +7154,7 @@ private void recipeElectricalDataLogger() { "RCR", 'R', "itemRubber", 'C', dictAdvancedChip, - 'G', new ItemStack(Blocks.glass_pane)); + 'G', new ItemStack(Blocks.GLASS_PANE)); } private void recipeSixNodeCache() { @@ -7167,17 +7167,17 @@ private void recipeElectricalAlarm() { "IMI", "IcI", 'c', findItemStack("Signal Cable"), - 'T', new ItemStack(Blocks.redstone_torch), - 'I', new ItemStack(Items.iron_ingot), - 'M', new ItemStack(Blocks.noteblock)); + 'T', new ItemStack(Blocks.REDSTONE_TORCH), + 'I', new ItemStack(Items.IRON_INGOT), + 'M', new ItemStack(Blocks.NOTEBLOCK)); addRecipe(findItemStack("Standard Alarm", 1), "MTM", "IcI", "III", 'c', findItemStack("Signal Cable"), - 'T', new ItemStack(Blocks.redstone_torch), - 'I', new ItemStack(Items.iron_ingot), - 'M', new ItemStack(Blocks.noteblock)); + 'T', new ItemStack(Blocks.REDSTONE_TORCH), + 'I', new ItemStack(Items.IRON_INGOT), + 'M', new ItemStack(Blocks.NOTEBLOCK)); } @@ -7187,17 +7187,17 @@ private void recipeElectricalAntenna() { "CI ", "R i", 'C', dictCheapChip, - 'i', new ItemStack(Items.iron_ingot), + 'i', new ItemStack(Items.IRON_INGOT), 'I', "plateIron", - 'R', new ItemStack(Items.redstone)); + 'R', new ItemStack(Items.REDSTONE)); addRecipe(findItemStack("Low Power Receiver Antenna", 1), "i ", " IC", "i ", 'C', dictCheapChip, 'I', "plateIron", - 'i', new ItemStack(Items.iron_ingot), - 'R', new ItemStack(Items.redstone)); + 'i', new ItemStack(Items.IRON_INGOT), + 'R', new ItemStack(Items.REDSTONE)); addRecipe(findItemStack("Medium Power Transmitter Antenna", 1), "c I", "CI ", @@ -7205,14 +7205,14 @@ private void recipeElectricalAntenna() { 'C', dictAdvancedChip, 'c', dictCheapChip, 'I', "plateIron", - 'R', new ItemStack(Items.redstone)); + 'R', new ItemStack(Items.REDSTONE)); addRecipe(findItemStack("Medium Power Receiver Antenna", 1), "I ", " IC", "I ", 'C', dictAdvancedChip, 'I', "plateIron", - 'R', new ItemStack(Items.redstone)); + 'R', new ItemStack(Items.REDSTONE)); addRecipe(findItemStack("High Power Transmitter Antenna", 1), "C I", @@ -7221,15 +7221,15 @@ private void recipeElectricalAntenna() { 'C', dictAdvancedChip, 'c', dictCheapChip, 'I', "plateIron", - 'R', new ItemStack(Items.redstone)); + 'R', new ItemStack(Items.REDSTONE)); addRecipe(findItemStack("High Power Receiver Antenna", 1), "I D", " IC", "I D", 'C', dictAdvancedChip, 'I', "plateIron", - 'R', new ItemStack(Items.redstone), - 'D', new ItemStack(Items.diamond)); + 'R', new ItemStack(Items.REDSTONE), + 'D', new ItemStack(Items.DIAMOND)); } @@ -7239,16 +7239,16 @@ private void recipeBatteryCharger() { "III", "RcR", 'c', findItemStack("Low Voltage Cable"), - 'I', new ItemStack(Items.iron_ingot), - 'R', new ItemStack(Items.redstone)); + 'I', new ItemStack(Items.IRON_INGOT), + 'R', new ItemStack(Items.REDSTONE)); addRecipe(findItemStack("50V Battery Charger", 1), "RIR", "ICI", "RcR", 'C', dictCheapChip, 'c', findItemStack("Low Voltage Cable"), - 'I', new ItemStack(Items.iron_ingot), - 'R', new ItemStack(Items.redstone)); + 'I', new ItemStack(Items.IRON_INGOT), + 'R', new ItemStack(Items.REDSTONE)); addRecipe(findItemStack("200V Battery Charger", 1), "RIR", @@ -7256,8 +7256,8 @@ private void recipeBatteryCharger() { "RcR", 'C', dictAdvancedChip, 'c', findItemStack("Medium Voltage Cable"), - 'I', new ItemStack(Items.iron_ingot), - 'R', new ItemStack(Items.redstone)); + 'I', new ItemStack(Items.IRON_INGOT), + 'R', new ItemStack(Items.REDSTONE)); } @@ -7268,8 +7268,8 @@ private void recipeEggIncubator() { "CII", 'C', dictCheapChip, 'E', findItemStack("Small 50V Tungsten Heating Corp"), - 'I', new ItemStack(Items.iron_ingot), - 'G', new ItemStack(Blocks.glass_pane)); + 'I', new ItemStack(Items.IRON_INGOT), + 'G', new ItemStack(Blocks.GLASS_PANE)); } @@ -7281,7 +7281,7 @@ private void recipeEnergyConverter() { "III", 'C', dictCheapChip, 'c', findItemStack("Low Voltage Cable"), - 'I', new ItemStack(Items.iron_ingot), + 'I', new ItemStack(Items.IRON_INGOT), 'R', "ingotCopper"); addRecipe(new ItemStack(elnToOtherBlockMvu), @@ -7290,7 +7290,7 @@ private void recipeEnergyConverter() { "III", 'C', dictCheapChip, 'c', findItemStack("Medium Voltage Cable"), - 'I', new ItemStack(Items.iron_ingot), + 'I', new ItemStack(Items.IRON_INGOT), 'R', dictTungstenIngot); addRecipe(new ItemStack(elnToOtherBlockHvu), @@ -7299,8 +7299,8 @@ private void recipeEnergyConverter() { "III", 'C', dictAdvancedChip, 'c', findItemStack("High Voltage Cable"), - 'I', new ItemStack(Items.iron_ingot), - 'R', new ItemStack(Items.gold_ingot)); + 'I', new ItemStack(Items.IRON_INGOT), + 'R', new ItemStack(Items.GOLD_INGOT)); } } @@ -7313,7 +7313,7 @@ private void recipeComputerProbe() { "WIc", 'C', dictAdvancedChip, 'c', findItemStack("Signal Cable"), - 'I', new ItemStack(Items.iron_ingot), + 'I', new ItemStack(Items.IRON_INGOT), 'w', findItemStack("Wireless Signal Receiver"), 'W', findItemStack("Wireless Signal Transmitter")); } @@ -7353,31 +7353,31 @@ private void recipeTool() { "s", "s", 'i', "ingotCopper", - 's', new ItemStack(Items.stick)); + 's', new ItemStack(Items.STICK)); addRecipe(new ItemStack(axeCopper), "ii", "is", " s", 'i', "ingotCopper", - 's', new ItemStack(Items.stick)); + 's', new ItemStack(Items.STICK)); addRecipe(new ItemStack(hoeCopper), "ii", " s", " s", 'i', "ingotCopper", - 's', new ItemStack(Items.stick)); + 's', new ItemStack(Items.STICK)); addRecipe(new ItemStack(pickaxeCopper), "iii", " s ", " s ", 'i', "ingotCopper", - 's', new ItemStack(Items.stick)); + 's', new ItemStack(Items.STICK)); addRecipe(new ItemStack(swordCopper), "i", "i", "s", 'i', "ingotCopper", - 's', new ItemStack(Items.stick)); + 's', new ItemStack(Items.STICK)); } @@ -7388,16 +7388,16 @@ private void registerReplicator() { int orangeColor = (255 << 16) + (200 << 8); if (replicatorRegistrationId == -1) + //PROBABLY WILL HAVE TO BE REMOVED replicatorRegistrationId = EntityRegistry.findGlobalUniqueEntityId(); Utils.println("Replicator registred at" + replicatorRegistrationId); - // Register mob - EntityRegistry.registerGlobalEntityID(ReplicatorEntity.class, TR_NAME(Type.ENTITY, "EAReplicator"), replicatorRegistrationId, redColor, orangeColor); - + // Register mob WIP VARIABLES + EntityRegistry.registerModEntity(ReplicatorEntity.class, TR_NAME(Type.ENTITY, "EAReplicator"), replicatorRegistrationId, Eln.instance, 20, 20, true); ReplicatorEntity.dropList.add(findItemStack("Iron Dust", 1)); ReplicatorEntity.dropList.add(findItemStack("Copper Dust", 1)); ReplicatorEntity.dropList.add(findItemStack("Gold Dust", 1)); - ReplicatorEntity.dropList.add(new ItemStack(Items.redstone)); - ReplicatorEntity.dropList.add(new ItemStack(Items.glowstone_dust)); + ReplicatorEntity.dropList.add(new ItemStack(Items.REDSTONE)); + ReplicatorEntity.dropList.add(new ItemStack(Items.GLOWSTONE_DUST)); // Add mob spawn // EntityRegistry.addSpawn(ReplicatorEntity.class, 1, 1, 2, EnumCreatureType.monster, BiomeGenBase.plains); @@ -7439,13 +7439,13 @@ public void regenOreScannerFactors() { } } - oreScannerConfig.add(new OreScannerConfigElement(Block.getIdFromBlock(Blocks.coal_ore), 5 / 100f)); - oreScannerConfig.add(new OreScannerConfigElement(Block.getIdFromBlock(Blocks.iron_ore), 15 / 100f)); - oreScannerConfig.add(new OreScannerConfigElement(Block.getIdFromBlock(Blocks.gold_ore), 40 / 100f)); - oreScannerConfig.add(new OreScannerConfigElement(Block.getIdFromBlock(Blocks.lapis_ore), 40 / 100f)); - oreScannerConfig.add(new OreScannerConfigElement(Block.getIdFromBlock(Blocks.redstone_ore), 40 / 100f)); - oreScannerConfig.add(new OreScannerConfigElement(Block.getIdFromBlock(Blocks.diamond_ore), 100 / 100f)); - oreScannerConfig.add(new OreScannerConfigElement(Block.getIdFromBlock(Blocks.emerald_ore), 40 / 100f)); + oreScannerConfig.add(new OreScannerConfigElement(Block.getIdFromBlock(Blocks.COAL_ORE), 5 / 100f)); + oreScannerConfig.add(new OreScannerConfigElement(Block.getIdFromBlock(Blocks.IRON_ORE), 15 / 100f)); + oreScannerConfig.add(new OreScannerConfigElement(Block.getIdFromBlock(Blocks.GOLD_ORE), 40 / 100f)); + oreScannerConfig.add(new OreScannerConfigElement(Block.getIdFromBlock(Blocks.LAPIS_ORE), 40 / 100f)); + oreScannerConfig.add(new OreScannerConfigElement(Block.getIdFromBlock(Blocks.REDSTONE_ORE), 40 / 100f)); + oreScannerConfig.add(new OreScannerConfigElement(Block.getIdFromBlock(Blocks.DIAMOND_ORE), 100 / 100f)); + oreScannerConfig.add(new OreScannerConfigElement(Block.getIdFromBlock(Blocks.EMERALD_ORE), 40 / 100f)); oreScannerConfig.add(new OreScannerConfigElement(Block.getIdFromBlock(oreBlock) + (1 << 12), 10 / 100f)); oreScannerConfig.add(new OreScannerConfigElement(Block.getIdFromBlock(oreBlock) + (4 << 12), 20 / 100f)); @@ -7466,7 +7466,7 @@ public static void applySmallRs(Resistor r) { } static ItemStack findItemStack(String name, int stackSize) { - ItemStack stack = GameRegistry.findItemStack("Eln", name, stackSize); + ItemStack stack = new ItemStack(GameRegistry.findItem("Eln", name), stackSize); if (stack == null) { stack = dictionnaryOreFromMod.get(name); stack = Utils.newItemStack(Item.getIdFromItem(stack.getItem()), stackSize, stack.getItemDamage()); From 8a5cd36ff8092d1e249030fdfa952197d327806c Mon Sep 17 00:00:00 2001 From: lolmegaxd1 Date: Mon, 20 Aug 2018 00:19:26 +0000 Subject: [PATCH 07/61] Update BrushDescriptor.kt --- src/main/java/mods/eln/item/BrushDescriptor.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/mods/eln/item/BrushDescriptor.kt b/src/main/java/mods/eln/item/BrushDescriptor.kt index e3eaac0cb..7467b886b 100644 --- a/src/main/java/mods/eln/item/BrushDescriptor.kt +++ b/src/main/java/mods/eln/item/BrushDescriptor.kt @@ -53,7 +53,7 @@ class BrushDescriptor(name: String): GenericItemUsingDamageDescriptor(name) { fun use(stack: ItemStack, entityPlayer: EntityPlayer): Boolean { val creative = entityPlayer.capabilities.isCreativeMode - var life = stack.tagCompound.getInteger("life") + var life = stack.tagCompound!!.getInteger("life") return if (creative || life != 0) { if (!creative) { --life From 4a68bf6e9ed1ca2b3e42e59beffa80667ea7671c Mon Sep 17 00:00:00 2001 From: Svein Ove Aas Date: Wed, 22 Aug 2018 21:04:37 +0100 Subject: [PATCH 08/61] Update Tasks.org --- Tasks.org | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/Tasks.org b/Tasks.org index 97555e88b..451796cac 100644 --- a/Tasks.org +++ b/Tasks.org @@ -1,6 +1,8 @@ * Tasks -** TODO Fix item rendering for basically everything -** TODO Add IC2 exporter -** TODO Not all TEs should be tickable. +** Port to 1.10 +*** TODO Fix item rendering for basically everything +*** TODO Re-add IC2 exporter +*** TODO Not all TEs should be tickable. +*** TODO Some TESRs can be FastTESRs. * Ideas ** TODO Try gravity sketch From 61e3a0a709f4e57ed0d1eff053bf29db2781376f Mon Sep 17 00:00:00 2001 From: Svein Ove Aas Date: Wed, 22 Aug 2018 21:38:06 +0100 Subject: [PATCH 09/61] Thoughts on the workbench --- Tasks.org | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/Tasks.org b/Tasks.org index 451796cac..04e2fa034 100644 --- a/Tasks.org +++ b/Tasks.org @@ -4,5 +4,25 @@ *** TODO Re-add IC2 exporter *** TODO Not all TEs should be tickable. *** TODO Some TESRs can be FastTESRs. +* Plans +** TODO Workbench + A CfB and Factorio-style crafting system. The player churns through recipes at a configurable rate; say 0.5/second. It's like Cooking for Blockheads in that the base workbench only supports the minimum functionality, with expansion blocks adding to it. + - The recipe ordering is precalculated, and automatically ordered to minimize time spent waiting. + - Workbench space is limited. Intermediate items are shown, and *not* stored in the player's inventory. Additional benches let more complex recipes be crafted. + - Very few Eln devices will be possible to hand-craft with the Minecraft system. No AE2 for you, but that never worked great anyway. + - Minecraft recipes *can* be crafted with the multiblock. + - However, pack creators can use a configuration file to make particular recipes require some of the extra blocks sketched below. Will need substring/oredict matching for this. + - The planned MA expansion will add quality parameters to most items. Upgraded blocks can provide better quality, often faster. Steve is strong, and can shape metal with his bare hands. This does not mean it's a good idea. + - Workbench w/drawers. Mostly decorative, but acts like component storage. (Is however twice the size, 2x1x1.) + - Component storage. Single block, 8x4 storage slots. Not intended to be used by hand. Does not export an inventory interface, for that matter. Can be seen in the UI. Max stack size: 16. + - This is intended to be used for e.g. resistors. More on that later. + - Hand tools can be crafted, and stored. Note: This will happen automatically. + - A lathe, which will require said hand tools. + - Upgraded lathes... requiring lathes to build. Electrical ones, say. + - A furnace. Can we use the vanilla one? + - All the existing Eln devices. + - Once the above is in place, it becomes reasonable to add a degree of "microcrafting" to everything, to make the recipes more realistic. This is essentially fluff, given that players would never be crafting by hand anyway. + - Animating the player *using* all this would be complicated. Having Steve flail wildly might be almost as good. + - Later in the game, robots can be used to automate most of this. CnC machines, robot arms, etc. * Ideas ** TODO Try gravity sketch From 88233434983e1f098d4260e9af14aeb53810be5b Mon Sep 17 00:00:00 2001 From: Svein Ove Aas Date: Wed, 22 Aug 2018 21:41:26 +0100 Subject: [PATCH 10/61] Research? --- Tasks.org | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Tasks.org b/Tasks.org index 04e2fa034..b945fdac0 100644 --- a/Tasks.org +++ b/Tasks.org @@ -25,4 +25,7 @@ - Animating the player *using* all this would be complicated. Having Steve flail wildly might be almost as good. - Later in the game, robots can be used to automate most of this. CnC machines, robot arms, etc. * Ideas +** Research system + How do we do this so it isn't annoying? + It could be used as a gating mechanic, by having research blocks that require ever larger and more irregular bursts of power. It should probably be part of the workshop multiblock. The player should also have a way to opt out, though. ** TODO Try gravity sketch From 27af65ae5e761b6b5510a103fd3fbb5151bfd132 Mon Sep 17 00:00:00 2001 From: Svein Ove Aas Date: Fri, 24 Aug 2018 15:36:39 +0100 Subject: [PATCH 11/61] Add calculator --- Tasks.org | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/Tasks.org b/Tasks.org index b945fdac0..540a9cc6c 100644 --- a/Tasks.org +++ b/Tasks.org @@ -5,7 +5,7 @@ *** TODO Not all TEs should be tickable. *** TODO Some TESRs can be FastTESRs. * Plans -** TODO Workbench +** TODO Workshop A CfB and Factorio-style crafting system. The player churns through recipes at a configurable rate; say 0.5/second. It's like Cooking for Blockheads in that the base workbench only supports the minimum functionality, with expansion blocks adding to it. - The recipe ordering is precalculated, and automatically ordered to minimize time spent waiting. - Workbench space is limited. Intermediate items are shown, and *not* stored in the player's inventory. Additional benches let more complex recipes be crafted. @@ -25,6 +25,14 @@ - Animating the player *using* all this would be complicated. Having Steve flail wildly might be almost as good. - Later in the game, robots can be used to automate most of this. CnC machines, robot arms, etc. * Ideas +** Factorio-style blueprints & construction bots. +** Super Circuit Maker-style circuit boards + The largest problem with our current circuits is how large they are. Yes, they're smaller than vanilla redstone, but they still won't fit in your living room. It would be nice to have an alternative. Sub-ideas: +*** The workshop should provide some functionality for working with these. Perhaps most of it. +*** We need protoboards. 'Burning' a non-protoboard version should be an obvious upgrade, allowing for more amps. Need workshop machine(s) for that. +*** Obviously, power wires on these will have much lower amp ratings in general. This ties into the parametric wire system. We might actually want to make the signal cables less ideal. +*** The multimeter should provide graphs when working with these. Auto-crafting is a thing; make the graphs a grayscale button version of themselves if it's missing. +*** Sample circuits in the handbook. One should be a handheld calculator. Implicitly: These can be handheld. ** Research system How do we do this so it isn't annoying? It could be used as a gating mechanic, by having research blocks that require ever larger and more irregular bursts of power. It should probably be part of the workshop multiblock. The player should also have a way to opt out, though. From 546e9ab06a93c31f0f86cef5eff29b285cd2c164 Mon Sep 17 00:00:00 2001 From: Svein Ove Aas Date: Fri, 24 Aug 2018 15:37:29 +0100 Subject: [PATCH 12/61] Fix the formatting --- Tasks.org | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/Tasks.org b/Tasks.org index 540a9cc6c..da9592c52 100644 --- a/Tasks.org +++ b/Tasks.org @@ -28,11 +28,11 @@ ** Factorio-style blueprints & construction bots. ** Super Circuit Maker-style circuit boards The largest problem with our current circuits is how large they are. Yes, they're smaller than vanilla redstone, but they still won't fit in your living room. It would be nice to have an alternative. Sub-ideas: -*** The workshop should provide some functionality for working with these. Perhaps most of it. -*** We need protoboards. 'Burning' a non-protoboard version should be an obvious upgrade, allowing for more amps. Need workshop machine(s) for that. -*** Obviously, power wires on these will have much lower amp ratings in general. This ties into the parametric wire system. We might actually want to make the signal cables less ideal. -*** The multimeter should provide graphs when working with these. Auto-crafting is a thing; make the graphs a grayscale button version of themselves if it's missing. -*** Sample circuits in the handbook. One should be a handheld calculator. Implicitly: These can be handheld. + - The workshop should provide some functionality for working with these. Perhaps most of it. + - We need protoboards. 'Burning' a non-protoboard version should be an obvious upgrade, allowing for more amps. Need workshop machine(s) for that. + - Obviously, power wires on these will have much lower amp ratings in general. This ties into the parametric wire system. We might actually want to make the signal cables less ideal. + - The multimeter should provide graphs when working with these. Auto-crafting is a thing; make the graphs a grayscale button version of themselves if it's missing. + - Sample circuits in the handbook. One should be a handheld calculator. Implicitly: These can be handheld. ** Research system How do we do this so it isn't annoying? It could be used as a gating mechanic, by having research blocks that require ever larger and more irregular bursts of power. It should probably be part of the workshop multiblock. The player should also have a way to opt out, though. From 13a3d1fd3a2f3c717eb7f201d4baf0d6e6c1c22c Mon Sep 17 00:00:00 2001 From: Svein Ove Aas Date: Fri, 24 Aug 2018 16:11:35 +0100 Subject: [PATCH 13/61] Update readme file for 1.10 (#875) Updated readme for 1.10 --- README.md | 33 ++++++++++++++++++++++----------- Tasks.org | 9 +++++---- 2 files changed, 27 insertions(+), 15 deletions(-) diff --git a/README.md b/README.md index 7e141d4a9..395d56102 100644 --- a/README.md +++ b/README.md @@ -1,40 +1,50 @@ # Minecraft Mod - Codename : ELN -[![Build Status](https://travis-ci.org/Electrical-Age/ElectricalAge.svg?branch=1.7.10-MNA)](https://travis-ci.org/Electrical-Age/ElectricalAge) +[![Build Status](https://travis-ci.org/Electrical-Age/ElectricalAge.svg?branch=ports/1.10)](https://travis-ci.org/Electrical-Age/ElectricalAge) [![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2FElectrical-Age%2FElectricalAge.svg?type=shield)](https://app.fossa.io/projects/git%2Bgithub.com%2FElectrical-Age%2FElectricalAge?ref=badge_shield) Electrical Age (ELN) is a Minecraft Mod offering the ability to perform large-scale in-game electrical simulations. -Look at the official project website [electrical-age.net](https://electrical-age.net/) and [the Wiki](http://wiki.electrical-age.net/) to get general information. [This official Minecraft forum post](http://www.minecraftforum.net/topic/2741783-172forge-electrical-age-mod-beta-146/) is updated frequently. +Look at the official project website [electrical-age.net](https://electrical-age.net/) and [the Wiki](http://wiki.electrical-age.net/) for general information. [This official Minecraft forum post](http://www.minecraftforum.net/topic/2741783-172forge-electrical-age-mod-beta-146/) is occasionally updated. You can also visit our Discord server. + + ## How to get started -**ElectricalAge is Minecraft 1.7.10 compatible only. Forge is needed.** +**The newest Electrical Age is Minecraft 1.10.2 compatible only. Forge is needed.** 1. Download the [last mod release](https://minecraft.curseforge.com/projects/electrical-age) (other versions are available through the same link). Copy the Jar file to the `.minecraft/mods/` directory (or related folder depending on your platform). 2. Get started with the tutorial map or start playing on the offical demonstration map. The two official maps can be [downloaded from here](https://github.com/Electrical-Age/ElectricalAge/releases/download/BETA-1.10/ElectricalAge_tutorialMap_BETA-1.9_r41.zip). They must be copied to the `.minecraft/saves/` (or related) directory. -3. Launch Minecraft using the `1.7.10-Forge` profile, select the tutorial map and enjoy! +3. Launch Minecraft using the `1.10.2-Forge` profile, select the tutorial map and enjoy! -Or add it with the Curse launcher. +Alternately to the above: Search for Electrical Age using the Curse launcher. Add it to your profile, and enjoy. ### Building from source -Alternatively, you can compile and launch the current development version. -[Download](https://github.com/Electrical-Age/ElectricalAge/archive/develop.zip) or clone the `develop` branch. Then build and launch the tutorial map using Gradle: +This option is primarily for developers. If you take it, make sure to join our Discord first; see the chat button above. + +To build Electrical Age, you need to already have Git and the Java development kit installed. You should also have IDEA, which is what we recommend for working on it. You don't have to be running Linux, but it helps; you can typically install git and the JDK with your package manager, if they don't come preinstalled. Windows users are on your own. + +Once the prerequisites are in place, run these commands: ```sh $ git clone https://github.com/Electrical-Age/ElectricalAge.git $ cd ElectricalAge -$ gradle unzipTutoMap runClient +$ git checkout # Optional. The main development branch is also the default. +$ gradle setupDecompWorkspace +$ gradle build # Confirm that everything works. +$ gradle unzipTutoMap runClient # To launch the tutorial map, which is also useful for testing. You only need to unzip once. ``` +For more information, see Discord and [HACKING.md](HACKING.md). + ## Contributing -We appreciate any help from the community to improve the mod. You can find more information [here](./CONTRIBUTING.md). +We appreciate any help from the community to improve the mod, but please follow the pull request and issue guidelines. You can find the basic guidelines whenever you open one. For more information, go [here](./CONTRIBUTING.md). ## ABOUT -Here is some highlighted features: +Here are some highlighted features: A better simulation > Electrical simulation with resistive and capacitive effects. Behaviour similar to those of real life objects. @@ -83,6 +93,7 @@ Code/models: - **meelock** (typo fix) - **Sukasa** (code enhancement) - **DrummingFish** (GUI text parsing, cleaning/refactoring, some tweaks) +- **lolmegaxde1** (lots of work on the 1.10 port) Languages: @@ -120,4 +131,4 @@ Some graphics are public domain. These are: ![logo](https://raw.githubusercontent.com/Electrical-Age/electrical-age.github.io/master/assets/favicon.ico) -[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2FElectrical-Age%2FElectricalAge.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2FElectrical-Age%2FElectricalAge?ref=badge_large) \ No newline at end of file +[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2FElectrical-Age%2FElectricalAge.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2FElectrical-Age%2FElectricalAge?ref=badge_large) diff --git a/Tasks.org b/Tasks.org index da9592c52..e2aca93f0 100644 --- a/Tasks.org +++ b/Tasks.org @@ -1,9 +1,10 @@ * Tasks ** Port to 1.10 -*** TODO Fix item rendering for basically everything -*** TODO Re-add IC2 exporter -*** TODO Not all TEs should be tickable. -*** TODO Some TESRs can be FastTESRs. + - TODO Fix item rendering for basically everything + - TODO Re-add IC2 exporter + - TODO Not all TEs should be tickable. + - TODO Some TESRs can be FastTESRs. + - TODO Make sure that HACKING.md exists. * Plans ** TODO Workshop A CfB and Factorio-style crafting system. The player churns through recipes at a configurable rate; say 0.5/second. It's like Cooking for Blockheads in that the base workbench only supports the minimum functionality, with expansion blocks adding to it. From c3d801c919dc9057eafd7d667cab10dad417aa3f Mon Sep 17 00:00:00 2001 From: Svein Ove Aas Date: Fri, 24 Aug 2018 16:20:40 +0100 Subject: [PATCH 14/61] Update README.md --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 395d56102..e8df3ce5a 100644 --- a/README.md +++ b/README.md @@ -7,7 +7,9 @@ Electrical Age (ELN) is a Minecraft Mod offering the ability to perform large-sc Look at the official project website [electrical-age.net](https://electrical-age.net/) and [the Wiki](http://wiki.electrical-age.net/) for general information. [This official Minecraft forum post](http://www.minecraftforum.net/topic/2741783-172forge-electrical-age-mod-beta-146/) is occasionally updated. You can also visit our Discord server. + + ## How to get started From 2a0fe4608436837c1f64455dc77685b9f2276591 Mon Sep 17 00:00:00 2001 From: lolmegaxd1 Date: Fri, 24 Aug 2018 15:46:34 +0000 Subject: [PATCH 15/61] Changes made to several files (#874) Quite a lot of simple compilation fixes. * Update ComputerProbeBlock.java * Update PacketHandler.java * Update GuiHandler.java * Update Achievements.java * Update CableRender.java * Update TileEntityDestructor.java * Update FrameTime.java * Update ClientPacketHandler.java * Update GhostGroup.java * Update Utils.java * Update EnergyConverterElnToOtherBlock.java * Update EnergyConverterElnToOtherFireWallRf.java * Update EnergyConverterElnToOtherFireWallOc.java * Update TestEntity.java * Update TestBlock.java * Update BatteryChargerElement.java * Update ElectricalCableElement.java * Update DataLogs.java * Update ElectricalDataLoggerContainer.java * Update ElectricalDataLoggerRender.java * Update ElectricalEntitySensorElement.java * Update ElectricalEntitySensorSlowProcess.java * Update ElectricalFireDetectorElement.java * Update ElectricalFireDetectorSlowProcess.java * Update ElectricalGateSourceElement.java * Update ElectricalMathContainer.java * Update ElectricalMathRender.java * Update ElectricalRedstoneInputElement.java * Update ElectricalSensorElement.java * Update ElectricalSwitchElement.java * Update ElectricalWatchElement.java * Update ElectricalWindSensorElement.java * Update ElectricalWindSensorSlowProcess.java * Update ElectricalWindSensorElement.java * Update GroundCableElement.java * Update LampSocketElement.java * Update LampSocketProcess.java * Update LightBlock.java * Update LightBlockEntity.java * Update ElectricalFireDetectorSlowProcess.java * Update LightBlockEntity.java * Update LightBlockEntity.java --- src/main/java/mods/eln/Achievements.java | 2 +- src/main/java/mods/eln/GuiHandler.java | 6 +- src/main/java/mods/eln/PacketHandler.java | 10 ++-- src/main/java/mods/eln/cable/CableRender.java | 29 +++++----- .../mods/eln/client/ClientPacketHandler.java | 4 +- src/main/java/mods/eln/client/FrameTime.java | 2 +- src/main/java/mods/eln/ghost/GhostGroup.java | 6 +- .../mods/eln/misc/TileEntityDestructor.java | 10 +++- src/main/java/mods/eln/misc/Utils.java | 8 ++- .../computerprobe/ComputerProbeBlock.java | 2 +- .../EnergyConverterElnToOtherBlock.java | 2 +- .../EnergyConverterElnToOtherFireWallOc.java | 6 +- .../EnergyConverterElnToOtherFireWallRf.java | 2 +- .../mods/eln/simplenode/test/TestBlock.java | 2 +- .../mods/eln/simplenode/test/TestEntity.java | 5 ++ .../batterycharger/BatteryChargerElement.java | 2 +- .../ElectricalCableElement.java | 2 +- .../electricaldatalogger/DataLogs.java | 2 +- .../ElectricalDataLoggerContainer.java | 2 +- .../ElectricalDataLoggerRender.java | 2 +- .../ElectricalEntitySensorElement.java | 2 +- .../ElectricalEntitySensorSlowProcess.java | 6 +- .../ElectricalFireDetectorElement.java | 2 +- .../ElectricalFireDetectorSlowProcess.java | 24 ++++---- .../ElectricalGateSourceElement.java | 2 +- .../ElectricalMathContainer.java | 2 +- .../electricalmath/ElectricalMathRender.java | 2 +- .../ElectricalRedstoneInputElement.java | 2 +- .../ElectricalSensorElement.java | 2 +- .../ElectricalSwitchElement.java | 8 +-- .../ElectricalWatchElement.java | 2 +- .../ElectricalWindSensorElement.java | 2 +- .../ElectricalWindSensorSlowProcess.java | 2 +- .../groundcable/GroundCableElement.java | 2 +- .../sixnode/lampsocket/LampSocketElement.java | 4 +- .../sixnode/lampsocket/LampSocketProcess.java | 57 ++++++++----------- .../eln/sixnode/lampsocket/LightBlock.java | 4 +- .../sixnode/lampsocket/LightBlockEntity.java | 32 ++++++----- 38 files changed, 136 insertions(+), 127 deletions(-) diff --git a/src/main/java/mods/eln/Achievements.java b/src/main/java/mods/eln/Achievements.java index 044386e50..549bf5525 100644 --- a/src/main/java/mods/eln/Achievements.java +++ b/src/main/java/mods/eln/Achievements.java @@ -14,7 +14,7 @@ public class Achievements { public static void init() { openGuide = new Achievement(TR("achievement.open_guide"), - "open_guide", 0, 0, Items.book, null).registerStat(); + "open_guide", 0, 0, Items.BOOK, null).registerStat(); TR_DESC(Type.ACHIEVEMENT, "open_guide"); diff --git a/src/main/java/mods/eln/GuiHandler.java b/src/main/java/mods/eln/GuiHandler.java index f0f41b796..8049244bf 100644 --- a/src/main/java/mods/eln/GuiHandler.java +++ b/src/main/java/mods/eln/GuiHandler.java @@ -16,9 +16,9 @@ public class GuiHandler implements IGuiHandler { - INodeEntity getNodeEntity(World world, int x, int y, int z) { - TileEntity e = world.getTileEntity(x, y, z); - if (e == null || false == e instanceof INodeEntity) return null; + private INodeEntity getNodeEntity(World world, int x, int y, int z) { + TileEntity e = world.getTileEntity(new BlockPos(x,y,z)); + if (!(e instanceof INodeEntity)) return null; return (INodeEntity) e; } diff --git a/src/main/java/mods/eln/PacketHandler.java b/src/main/java/mods/eln/PacketHandler.java index 68d514aac..5e31354e3 100644 --- a/src/main/java/mods/eln/PacketHandler.java +++ b/src/main/java/mods/eln/PacketHandler.java @@ -33,10 +33,10 @@ public PacketHandler() { @SubscribeEvent public void onServerPacket(ServerCustomPacketEvent event) { - FMLProxyPacket packet = event.packet; + FMLProxyPacket packet = event.getPacket(); DataInputStream stream = new DataInputStream(new ByteArrayInputStream(packet.payload().array())); - NetworkManager manager = event.manager; - EntityPlayer player = ((NetHandlerPlayServer) event.handler).playerEntity; // EntityPlayerMP + NetworkManager manager = event.getManager(); + EntityPlayer player = ((NetHandlerPlayServer) event.getHandler()).playerEntity; // EntityPlayerMP packetRx(stream, manager, player); } @@ -165,7 +165,7 @@ void packetForClientNode(DataInputStream stream, NetworkManager manager, EntityP if (clientPlayer.dimension == dimention) { - TileEntity entity = clientPlayer.worldObj.getTileEntity(x, y, z); + TileEntity entity = clientPlayer.worldObj.getTileEntity(new BlockPos(x,y,z)); if (entity != null && entity instanceof INodeEntity) { INodeEntity node = (INodeEntity) entity; if (node.getNodeUuid().equals(stream.readUTF())) { @@ -198,7 +198,7 @@ void packetNodeSingleSerialized(DataInputStream stream, NetworkManager manager, dimention = stream.readByte(); if (clientPlayer.dimension == dimention) { - TileEntity entity = clientPlayer.worldObj.getTileEntity(x, y, z); + TileEntity entity = clientPlayer.worldObj.getTileEntity(new BlockPos(x,y,z)); if (entity != null && entity instanceof INodeEntity) { INodeEntity node = (INodeEntity) entity; if (node.getNodeUuid().equals(stream.readUTF())) { diff --git a/src/main/java/mods/eln/cable/CableRender.java b/src/main/java/mods/eln/cable/CableRender.java index 6c24d4ab9..6ac8acddd 100644 --- a/src/main/java/mods/eln/cable/CableRender.java +++ b/src/main/java/mods/eln/cable/CableRender.java @@ -10,6 +10,7 @@ import mods.eln.node.six.SixNodeEntity; import net.minecraft.block.Block; import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.math.BlockPos; import org.lwjgl.opengl.GL11; public class CableRender { @@ -35,9 +36,10 @@ public static CableRenderType connectionType(NodeBlockEntity entity, LRDUMask co Direction sideLrdu = side.applyLRDU(lrdu); - x2 = entity.xCoord; - y2 = entity.yCoord; - z2 = entity.zCoord; + BlockPos pos = entity.getPos(); + x2 = pos.getX(); + y2 = pos.getY(); + z2 = pos.getZ(); switch (sideLrdu) { case XN: @@ -63,7 +65,7 @@ public static CableRenderType connectionType(NodeBlockEntity entity, LRDUMask co } //standardConnection - otherTileEntity = entity.getWorldObj().getTileEntity(x2, y2, z2); + otherTileEntity = entity.getWorld().getTileEntity(new BlockPos(x2, y2, z2)); if (otherTileEntity instanceof SixNodeEntity) { SixNodeEntity sixNodeEntity = (SixNodeEntity) otherTileEntity; if (sixNodeEntity.elementRenderList[side.getInt()] != null) { @@ -75,7 +77,7 @@ public static CableRenderType connectionType(NodeBlockEntity entity, LRDUMask co } //no wrappeConection ? - if (!NodeBase.isBlockWrappable(entity.getWorldObj().getBlock(x2, y2, z2), entity.getWorldObj(), x2, y2, z2)) { + if (!NodeBase.isBlockWrappable(entity.getWorld().getBlockState(new BlockPos(x2, y2, z2)).getBlock(), entity.getWorld(), new BlockPos(x2, y2, z2))) { continue; } else { switch (side) { @@ -101,7 +103,7 @@ public static CableRenderType connectionType(NodeBlockEntity entity, LRDUMask co break; } - otherTileEntity = entity.getWorldObj().getTileEntity(x2, y2, z2); + otherTileEntity = entity.getWorld().getTileEntity(new BlockPos(x2, y2, z2)); if (otherTileEntity instanceof NodeBlockEntity) { /* @@ -208,10 +210,11 @@ public static CableRenderType connectionType(SixNodeElementRender element, Direc connectionTypeBuild.otherRender[lrdu.dir] = otherElement.getCableRender(otherLRDU); continue; } - - x2 = element.tileEntity.xCoord; - y2 = element.tileEntity.yCoord; - z2 = element.tileEntity.zCoord; + + BlockPos pos = element.tileEntity.getPos(); + x2 = pos.getX(); + y2 = pos.getY(); + z2 = pos.getZ(); switch (sideLrdu) { case XN: @@ -237,7 +240,7 @@ public static CableRenderType connectionType(SixNodeElementRender element, Direc } //standardConnection - otherTileEntity = element.tileEntity.getWorldObj().getTileEntity(x2, y2, z2); + otherTileEntity = element.tileEntity.getWorld().getTileEntity(new BlockPos(x2, y2, z2)); if (otherTileEntity instanceof SixNodeEntity) { SixNodeEntity sixNodeEntity = (SixNodeEntity) otherTileEntity; if (sixNodeEntity.elementRenderList[side.getInt()] != null) { @@ -248,7 +251,7 @@ public static CableRenderType connectionType(SixNodeElementRender element, Direc } //no wrappeConection ? - if (!NodeBase.isBlockWrappable(element.tileEntity.getWorldObj().getBlock(x2, y2, z2), element.tileEntity.getWorldObj(), x2, y2, z2)) { + if (!NodeBase.isBlockWrappable(element.tileEntity.getWorld().getBlockState(new BlockPos(x2, y2, z2)).getBlock(), element.tileEntity.getWorld(), new BlockPos(x2, y2, z2))) { continue; } else { switch (side) { @@ -274,7 +277,7 @@ public static CableRenderType connectionType(SixNodeElementRender element, Direc break; } - otherTileEntity = element.tileEntity.getWorldObj().getTileEntity(x2, y2, z2); + otherTileEntity = element.tileEntity.getWorld().getTileEntity(new BlockPos(x2, y2, z2)); if (otherTileEntity instanceof NodeBlockEntity) { //Direction otherDirection = side.getInverse(); diff --git a/src/main/java/mods/eln/client/ClientPacketHandler.java b/src/main/java/mods/eln/client/ClientPacketHandler.java index 87de1491d..d28c62e93 100644 --- a/src/main/java/mods/eln/client/ClientPacketHandler.java +++ b/src/main/java/mods/eln/client/ClientPacketHandler.java @@ -23,9 +23,9 @@ public ClientPacketHandler() { @SubscribeEvent public void onClientPacket(ClientCustomPacketEvent event) { //Utils.println("onClientPacket"); - FMLProxyPacket packet = event.packet; + FMLProxyPacket packet = event.getPacket(); DataInputStream stream = new DataInputStream(new ByteArrayInputStream(packet.payload().array())); - NetworkManager manager = event.manager; + NetworkManager manager = event.getManager(); EntityPlayer player = Minecraft.getMinecraft().thePlayer; // EntityClientPlayerMP Eln.packetHandler.packetRx(stream, manager, player); diff --git a/src/main/java/mods/eln/client/FrameTime.java b/src/main/java/mods/eln/client/FrameTime.java index b8a715dfe..97a228b01 100644 --- a/src/main/java/mods/eln/client/FrameTime.java +++ b/src/main/java/mods/eln/client/FrameTime.java @@ -65,7 +65,7 @@ public void tick(RenderTickEvent event) { float deltaTcaped = getNotCaped2(); while (i.hasNext()) { NodeBlockEntity e = i.next(); - if (e.getWorldObj() != w) { + if (e.getWorld() != w) { i.remove(); continue; } diff --git a/src/main/java/mods/eln/ghost/GhostGroup.java b/src/main/java/mods/eln/ghost/GhostGroup.java index 492d0f641..45abe44c7 100644 --- a/src/main/java/mods/eln/ghost/GhostGroup.java +++ b/src/main/java/mods/eln/ghost/GhostGroup.java @@ -62,7 +62,8 @@ public void addRectangle(int x1, int x2, int y1, int y2, int z1, int z2) { } public boolean canBePloted(Coordinate c) { - return canBePloted(c.world(), c.x, c.y, c.z); + return canBePloted(c.world(), c.pos.getX(), c.pos.getY(), c.pos.getZ()); + } public boolean canBePloted(World world, int x, int y, int z) { @@ -74,7 +75,8 @@ public boolean canBePloted(World world, int x, int y, int z) { } public boolean plot(Coordinate coordinate, Coordinate observerCoordinate, int UUID) { - if (canBePloted(coordinate.world(), coordinate.x, coordinate.y, coordinate.z) == false) return false; + if (!canBePloted(coordinate.world(), coordinate.pos.getX(), coordinate.pos.getY(), coordinate.pos.getZ())) return false; + for (GhostGroupElement element : elementList) { Coordinate offsetCoordinate = coordinate.newWithOffset(element.x, element.y, element.z); diff --git a/src/main/java/mods/eln/misc/TileEntityDestructor.java b/src/main/java/mods/eln/misc/TileEntityDestructor.java index 056e137b2..0c70fe9d6 100644 --- a/src/main/java/mods/eln/misc/TileEntityDestructor.java +++ b/src/main/java/mods/eln/misc/TileEntityDestructor.java @@ -1,5 +1,8 @@ package mods.eln.misc; + +import net.minecraft.util.math.BlockPos; + import net.minecraftforge.fml.common.FMLCommonHandler; import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; import net.minecraftforge.fml.common.gameevent.TickEvent.Phase; @@ -28,9 +31,10 @@ public void add(TileEntity tile) { public void tick(ServerTickEvent event) { if (event.phase != Phase.START) return; for (TileEntity t : destroyList) { - if (t.getWorldObj() != null && t.getWorldObj().getTileEntity(t.xCoord, t.yCoord, t.zCoord) == t) { - t.getWorldObj().setBlockToAir(t.xCoord, t.yCoord, t.zCoord); - Utils.println("destroy light at " + t.xCoord + " " + t.yCoord + " " + t.zCoord); + BlockPos pos = t.getPos(); + if (t.getWorld().getTileEntity(new BlockPos(pos.getX(), pos.getY(), pos.getZ())) == t) { + t.getWorld().setBlockToAir(new BlockPos(pos.getX(), pos.getY(), pos.getZ())); + Utils.println("destroy light at " + pos.getX() + " " + pos.getY() + " " + pos.getZ()); } } destroyList.clear(); diff --git a/src/main/java/mods/eln/misc/Utils.java b/src/main/java/mods/eln/misc/Utils.java index 19725276f..bc513cf61 100644 --- a/src/main/java/mods/eln/misc/Utils.java +++ b/src/main/java/mods/eln/misc/Utils.java @@ -574,7 +574,8 @@ public static void dropItem(ItemStack itemStack, int x, int y, int z, World worl } public static void dropItem(ItemStack itemStack, Coordinate coordinate) { - dropItem(itemStack, coordinate.x, coordinate.y, coordinate.z, coordinate.world()); + dropItem(itemStack, coordinate.pos.getX(), coordinate.pos.getY(), coordinate.pos.getZ(), coordinate.world()); + } public static boolean tryPutStackInInventory(ItemStack stack, IInventory inventory, int start, int count) { @@ -962,8 +963,9 @@ public static ArrayList traceRay(World world, double x, double y, double d = 0; while (d < norm) { - if (Utils.isBlockLoaded(world, x, y, z)) { - Block b = Utils.getBlock(world, x, y, z); + if (world.isBlockLoaded(new BlockPos( x, y, z))) { + //ASKS FOR BLOCK ID with Utils.getBlock() + Block b = world.getBlockState(new BlockPos(x,y,z)).getBlock(); if (b != null) blockList.add(b); } diff --git a/src/main/java/mods/eln/simplenode/computerprobe/ComputerProbeBlock.java b/src/main/java/mods/eln/simplenode/computerprobe/ComputerProbeBlock.java index 8f57ec9af..f4b515c0e 100644 --- a/src/main/java/mods/eln/simplenode/computerprobe/ComputerProbeBlock.java +++ b/src/main/java/mods/eln/simplenode/computerprobe/ComputerProbeBlock.java @@ -14,7 +14,7 @@ public class ComputerProbeBlock extends SimpleNodeBlock { // private IIcon[] icon = new IIcon[6]; public ComputerProbeBlock() { - super(Material.packedIce); + super(Material.PACKED_ICE); } @Override diff --git a/src/main/java/mods/eln/simplenode/energyconverter/EnergyConverterElnToOtherBlock.java b/src/main/java/mods/eln/simplenode/energyconverter/EnergyConverterElnToOtherBlock.java index 82c6c05b6..363bb2d9c 100644 --- a/src/main/java/mods/eln/simplenode/energyconverter/EnergyConverterElnToOtherBlock.java +++ b/src/main/java/mods/eln/simplenode/energyconverter/EnergyConverterElnToOtherBlock.java @@ -20,7 +20,7 @@ public class EnergyConverterElnToOtherBlock extends SimpleNodeBlock { // private IIcon sideIcon; public EnergyConverterElnToOtherBlock(EnergyConverterElnToOtherDescriptor descriptor) { - super(Material.packedIce); + super(Material.PACKED_ICE); this.descriptor = descriptor; setDescriptor(descriptor); } diff --git a/src/main/java/mods/eln/simplenode/energyconverter/EnergyConverterElnToOtherFireWallOc.java b/src/main/java/mods/eln/simplenode/energyconverter/EnergyConverterElnToOtherFireWallOc.java index 50453cfe5..a5b429d9a 100644 --- a/src/main/java/mods/eln/simplenode/energyconverter/EnergyConverterElnToOtherFireWallOc.java +++ b/src/main/java/mods/eln/simplenode/energyconverter/EnergyConverterElnToOtherFireWallOc.java @@ -25,7 +25,7 @@ public void updateEntity() { // neighboring tile entities, which isn't possible in validate(). // We could alternatively check node != null && node.network() == null, // but this has somewhat better performance, and makes it clearer. - if (e.getWorldObj().isRemote) return; + if (e.getWorld().isRemote) return; if (!addedToNetwork) { addedToNetwork = true; Network.joinOrCreateNetwork(e); @@ -46,14 +46,14 @@ public void updateEntity() { public void onChunkUnload() { // Make sure to remove the node fromFacing its network when its environment, // meaning this tile entity, gets unloaded. - if (e.getWorldObj().isRemote) return; + if (e.getWorld().isRemote) return; if (node != null) node.remove(); } public void invalidate() { // Make sure to remove the node fromFacing its network when its environment, // meaning this tile entity, gets unloaded. - if (e.getWorldObj().isRemote) return; + if (e.getWorld().isRemote) return; if (node != null) node.remove(); } diff --git a/src/main/java/mods/eln/simplenode/energyconverter/EnergyConverterElnToOtherFireWallRf.java b/src/main/java/mods/eln/simplenode/energyconverter/EnergyConverterElnToOtherFireWallRf.java index fe01f578f..db3d50147 100644 --- a/src/main/java/mods/eln/simplenode/energyconverter/EnergyConverterElnToOtherFireWallRf.java +++ b/src/main/java/mods/eln/simplenode/energyconverter/EnergyConverterElnToOtherFireWallRf.java @@ -6,7 +6,7 @@ public class EnergyConverterElnToOtherFireWallRf { public static void updateEntity(EnergyConverterElnToOtherEntity e) { - if (e.getWorldObj().isRemote) return; + if (e.getWorld().isRemote) return; if (e.getNode() == null) return; EnergyConverterElnToOtherNode node = (EnergyConverterElnToOtherNode) e.getNode(); diff --git a/src/main/java/mods/eln/simplenode/test/TestBlock.java b/src/main/java/mods/eln/simplenode/test/TestBlock.java index 7e2d12025..201f5bec4 100644 --- a/src/main/java/mods/eln/simplenode/test/TestBlock.java +++ b/src/main/java/mods/eln/simplenode/test/TestBlock.java @@ -9,7 +9,7 @@ public class TestBlock extends SimpleNodeBlock { public TestBlock() { - super(Material.packedIce); + super(Material.PACKED_ICE); } @Override diff --git a/src/main/java/mods/eln/simplenode/test/TestEntity.java b/src/main/java/mods/eln/simplenode/test/TestEntity.java index df190189c..42e148a1b 100644 --- a/src/main/java/mods/eln/simplenode/test/TestEntity.java +++ b/src/main/java/mods/eln/simplenode/test/TestEntity.java @@ -8,4 +8,9 @@ public class TestEntity extends SimpleNodeEntity { public String getNodeUuid() { return TestNode.getNodeUuidStatic(); } + + @Override + public void update() { + + } } diff --git a/src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerElement.java b/src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerElement.java index 312f44ce5..27b5252bc 100644 --- a/src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerElement.java +++ b/src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerElement.java @@ -142,7 +142,7 @@ public boolean onBlockActivated(EntityPlayer entityPlayer, Direction side, float if (onBlockActivatedRotate(entityPlayer)) { return true; } else { - return inventory.take(entityPlayer.getCurrentEquippedItem(), this, false, true); + return inventory.take(entityPlayer.getHeldItemMainhand(), this, false, true); } } diff --git a/src/main/java/mods/eln/sixnode/electricalcable/ElectricalCableElement.java b/src/main/java/mods/eln/sixnode/electricalcable/ElectricalCableElement.java index 7ab99d146..6157cff3d 100644 --- a/src/main/java/mods/eln/sixnode/electricalcable/ElectricalCableElement.java +++ b/src/main/java/mods/eln/sixnode/electricalcable/ElectricalCableElement.java @@ -161,7 +161,7 @@ public boolean onBlockActivated(EntityPlayer entityPlayer, Direction side, float /* World w = sixNode.coordinate.world(); boolean exist = w.blockExists(10000, 0, 0); int id = w.getBlockId(10000, 0, 0);*/ - ItemStack currentItemStack = entityPlayer.getCurrentEquippedItem(); + ItemStack currentItemStack = entityPlayer.getHeldItemMainhand(); //int i; if (Utils.isPlayerUsingWrench(entityPlayer)) { colorCare = colorCare ^ 1; diff --git a/src/main/java/mods/eln/sixnode/electricaldatalogger/DataLogs.java b/src/main/java/mods/eln/sixnode/electricaldatalogger/DataLogs.java index 31e1a8409..ba71f1ef2 100644 --- a/src/main/java/mods/eln/sixnode/electricaldatalogger/DataLogs.java +++ b/src/main/java/mods/eln/sixnode/electricaldatalogger/DataLogs.java @@ -168,7 +168,7 @@ static void draw(byte[] value, int size, float samplingPeriod, float maxValue, f */ GL11.glEnable(GL11.GL_TEXTURE_2D); - FontRenderer fontrenderer = Minecraft.getMinecraft().fontRenderer; + FontRenderer fontrenderer = Minecraft.getMinecraft().fontRendererObj; GL11.glPushMatrix(); float scale = 0.01f; GL11.glScalef(scale, scale, 1f); diff --git a/src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerContainer.java b/src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerContainer.java index 011a31af1..5c54fc3e0 100644 --- a/src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerContainer.java +++ b/src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerContainer.java @@ -17,7 +17,7 @@ public class ElectricalDataLoggerContainer extends BasicContainer { public ElectricalDataLoggerContainer(EntityPlayer player, IInventory inventory) { super(player, inventory, new Slot[]{ - new SlotFilter(inventory, paperSlotId, 176 / 2 - 44, 125, 64, new ItemStackFilter[]{new ItemStackFilter(Items.paper)}, SlotSkin.medium, new String[]{"Paper Slot"}), + new SlotFilter(inventory, paperSlotId, 176 / 2 - 44, 125, 64, new ItemStackFilter[]{new ItemStackFilter(Items.PAPER)}, SlotSkin.medium, new String[]{"Paper Slot"}), new GenericItemUsingDamageSlot(inventory, printSlotId, 176 / 2 + 45 - 17, 125, 1, DataLogsPrintDescriptor.class, SlotSkin.medium, new String[]{}) }); } diff --git a/src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerRender.java b/src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerRender.java index 5513b1648..4626e52cc 100644 --- a/src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerRender.java +++ b/src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerRender.java @@ -51,7 +51,7 @@ public void draw() { drawSignalPin(front.inverse(), new float[]{6.37f, 6.37f, 5.67f, 6.12f}); } } - descriptor.draw(log, side, front, this.tileEntity.xCoord, this.tileEntity.zCoord); + descriptor.draw(log, side, front, this.tileEntity.getPos().getX(), this.tileEntity.getPos().getZ()); } /* diff --git a/src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorElement.java b/src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorElement.java index 27b2f85d9..42c7b42bf 100644 --- a/src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorElement.java +++ b/src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorElement.java @@ -93,7 +93,7 @@ public void initialize() { @Override public boolean onBlockActivated(EntityPlayer entityPlayer, Direction side, float vx, float vy, float vz) { if (onBlockActivatedRotate(entityPlayer)) return true; - return inventory.take(entityPlayer.getCurrentEquippedItem()); + return inventory.take(entityPlayer.getHeldItemMainhand()); } @Override diff --git a/src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorSlowProcess.java b/src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorSlowProcess.java index 761c432fd..4cce09bd7 100644 --- a/src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorSlowProcess.java +++ b/src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorSlowProcess.java @@ -70,11 +70,11 @@ public void process(double time) { Vec3d lastPos; if ((lastPos = lastEPos.get(e)) != null) { double weight = 0.4; - List blockList = Utils.traceRay(world, coord.x + 0.5, coord.y + 0.5, coord.z + 0.5, e.posX, e.posY + e.getEyeHeight(), e.posZ); + List blockList = Utils.traceRay(world, coord.pos.getX() + 0.5, coord.pos.getY() + 0.5, coord.pos.getZ() + 0.5, e.posX, e.posY + e.getEyeHeight(), e.posZ); boolean view = true; for (Block b : blockList) { - if (b.isOpaqueCube()) { + if (b.isOpaqueCube(b.getBlockState().getBaseState())) { view = false; break; } @@ -82,7 +82,7 @@ public void process(double time) { if (view) { if (e instanceof EntityPlayerMP) weight *= 2.0; - double distance = Utils.getLength(coord.x + 0.5, coord.y + 0.5, coord.z + 0.5, e.posX, e.posY + e.getEyeHeight(), e.posZ); + double distance = Utils.getLength(coord.pos.getX() + 0.5, coord.pos.getY() + 0.5, coord.pos.getZ() + 0.5, e.posX, e.posY + e.getEyeHeight(), e.posZ); if (distance < rayMax) { double sf = 1; if (useSpeed) { diff --git a/src/main/java/mods/eln/sixnode/electricalfiredetector/ElectricalFireDetectorElement.java b/src/main/java/mods/eln/sixnode/electricalfiredetector/ElectricalFireDetectorElement.java index fb1143eae..73495eb95 100644 --- a/src/main/java/mods/eln/sixnode/electricalfiredetector/ElectricalFireDetectorElement.java +++ b/src/main/java/mods/eln/sixnode/electricalfiredetector/ElectricalFireDetectorElement.java @@ -118,7 +118,7 @@ public void initialize() { public boolean onBlockActivated(EntityPlayer entityPlayer, Direction side, float vx, float vy, float vz) { if (onBlockActivatedRotate(entityPlayer)) return true; - return inventory != null && inventory.take(entityPlayer.getCurrentEquippedItem(), this, false, true); + return inventory != null && inventory.take(entityPlayer.getHeldItemMainhand(), this, false, true); } @Override diff --git a/src/main/java/mods/eln/sixnode/electricalfiredetector/ElectricalFireDetectorSlowProcess.java b/src/main/java/mods/eln/sixnode/electricalfiredetector/ElectricalFireDetectorSlowProcess.java index 863476b3d..3fffe66be 100644 --- a/src/main/java/mods/eln/sixnode/electricalfiredetector/ElectricalFireDetectorSlowProcess.java +++ b/src/main/java/mods/eln/sixnode/electricalfiredetector/ElectricalFireDetectorSlowProcess.java @@ -9,6 +9,7 @@ import net.minecraft.block.Block; import net.minecraft.block.BlockFire; import net.minecraft.item.ItemStack; +import net.minecraft.util.math.BlockPos; import java.util.List; @@ -69,44 +70,45 @@ public void process(double time) { detectionBBCenter.copyFrom(element.getCoordonate()); switch (element.side) { case XP: - detectionBBCenter.x -= maxRangeHalf; + detectionBBCenter.pos.add( -maxRangeHalf, 0, 0); break; case XN: - detectionBBCenter.x += maxRangeHalf; + detectionBBCenter.pos.add( maxRangeHalf, 0, 0); break; case YP: - detectionBBCenter.y -= maxRangeHalf; + detectionBBCenter.pos.add(0, -maxRangeHalf, 0); break; case YN: - detectionBBCenter.y += maxRangeHalf; + detectionBBCenter.pos.add(0, maxRangeHalf, 0); break; case ZP: - detectionBBCenter.z -= maxRangeHalf; + detectionBBCenter.pos.add(0,0, -maxRangeHalf); break; case ZN: - detectionBBCenter.z += maxRangeHalf; + detectionBBCenter.pos.add(0,0, maxRangeHalf); break; } for (int dx = -maxRangeHalf; dx <= maxRangeHalf; ++dx) for (int dy = -maxRangeHalf; dy <= maxRangeHalf; ++dy) for (int dz = -maxRangeHalf; dz <= maxRangeHalf; ++dz) { - Block block = detectionBBCenter.world().getBlock(detectionBBCenter.x + dx, detectionBBCenter.y + dy, - detectionBBCenter.z + dz); + Block block = detectionBBCenter.world().getBlockState(new BlockPos(detectionBBCenter.pos.getX() + dx, detectionBBCenter.pos.getY() + dy, + detectionBBCenter.pos.getZ() + dz)).getBlock(); if (block.getClass() == BlockFire.class) { fireDetected = true; Coordinate coord = element.getCoordonate(); - List blockList = Utils.traceRay(coord.world(), coord.x + 0.5, coord.y + 0.5, coord.z + 0.5, - detectionBBCenter.x + dx + 0.5, detectionBBCenter.y + dy + 0.5, detectionBBCenter.z + dz + 0.5); + List blockList = Utils.traceRay(coord.world(), coord.pos.getX() + 0.5, coord.pos.getY() + 0.5, coord.pos.getZ() + 0.5, + detectionBBCenter.pos.getX() + dx + 0.5, detectionBBCenter.pos.getY() + dy + 0.5, detectionBBCenter.pos.getZ() + dz + 0.5); + for (Block b : blockList) - if (b.isOpaqueCube()) { + if (b.isOpaqueCube(b.getBlockState().getBaseState())) { fireDetected = false; break; } diff --git a/src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceElement.java b/src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceElement.java index f129d28bf..f04295f3e 100644 --- a/src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceElement.java +++ b/src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceElement.java @@ -147,7 +147,7 @@ public void computeElectricalLoad() { @Override public boolean onBlockActivated(EntityPlayer entityPlayer, Direction side, float vx, float vy, float vz) { - ItemStack currentItemStack = entityPlayer.getCurrentEquippedItem(); + ItemStack currentItemStack = entityPlayer.getHeldItemMainhand(); if (onBlockActivatedRotate(entityPlayer)) { return true; diff --git a/src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathContainer.java b/src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathContainer.java index 525a23512..ecf8946e0 100644 --- a/src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathContainer.java +++ b/src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathContainer.java @@ -20,7 +20,7 @@ public class ElectricalMathContainer extends BasicContainer { public ElectricalMathContainer(NodeBase node, EntityPlayer player, IInventory inventory) { super(player, inventory, new Slot[]{ new SlotFilter(inventory, restoneSlotId, 125 + 27 + 44 / 2, 25, 64, - new ItemStackFilter[]{new ItemStackFilter(Items.redstone)}, SlotSkin.medium, new String[]{tr("Redstone slot")}) + new ItemStackFilter[]{new ItemStackFilter(Items.REDSTONE)}, SlotSkin.medium, new String[]{tr("Redstone slot")}) }); this.node = node; } diff --git a/src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathRender.java b/src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathRender.java index 713c9a886..9bddea13e 100644 --- a/src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathRender.java +++ b/src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathRender.java @@ -100,7 +100,7 @@ public void refresh(float deltaT) { ledTime = 0; } - if (!Utils.isPlayerAround(tileEntity.getWorldObj(), coord.getAxisAlignedBB(0))) + if (!Utils.isPlayerAround(tileEntity.getWorld(), coord.getAxisAlignedBB(0))) interpolator.setTarget(0f); else interpolator.setTarget(1f); diff --git a/src/main/java/mods/eln/sixnode/electricalredstoneinput/ElectricalRedstoneInputElement.java b/src/main/java/mods/eln/sixnode/electricalredstoneinput/ElectricalRedstoneInputElement.java index 50baf6d72..6ec4f00a7 100644 --- a/src/main/java/mods/eln/sixnode/electricalredstoneinput/ElectricalRedstoneInputElement.java +++ b/src/main/java/mods/eln/sixnode/electricalredstoneinput/ElectricalRedstoneInputElement.java @@ -121,7 +121,7 @@ public void initialize() { @Override public boolean onBlockActivated(EntityPlayer entityPlayer, Direction side, float vx, float vy, float vz) { if (onBlockActivatedRotate(entityPlayer)) return true; - ItemStack currentItemStack = entityPlayer.getCurrentEquippedItem(); + ItemStack currentItemStack = entityPlayer.getHeldItemMainhand(); if (currentItemStack != null) { Item item = currentItemStack.getItem(); /*if (item== Eln.toolsSetItem) { diff --git a/src/main/java/mods/eln/sixnode/electricalsensor/ElectricalSensorElement.java b/src/main/java/mods/eln/sixnode/electricalsensor/ElectricalSensorElement.java index ba61218bf..f4d82319e 100644 --- a/src/main/java/mods/eln/sixnode/electricalsensor/ElectricalSensorElement.java +++ b/src/main/java/mods/eln/sixnode/electricalsensor/ElectricalSensorElement.java @@ -231,7 +231,7 @@ public void computeElectricalLoad() { @Override public boolean onBlockActivated(EntityPlayer entityPlayer, Direction side, float vx, float vy, float vz) { if (onBlockActivatedRotate(entityPlayer)) return true; - return inventory.take(entityPlayer.getCurrentEquippedItem(), this, false, true); + return inventory.take(entityPlayer.getHeldItemMainhand(), this, false, true); } @Override diff --git a/src/main/java/mods/eln/sixnode/electricalswitch/ElectricalSwitchElement.java b/src/main/java/mods/eln/sixnode/electricalswitch/ElectricalSwitchElement.java index 5ef28aab1..c9d04ccf7 100644 --- a/src/main/java/mods/eln/sixnode/electricalswitch/ElectricalSwitchElement.java +++ b/src/main/java/mods/eln/sixnode/electricalswitch/ElectricalSwitchElement.java @@ -160,15 +160,15 @@ public void initialize() { @Override public boolean onBlockActivated(EntityPlayer entityPlayer, Direction side, float vx, float vy, float vz) { if (onBlockActivatedRotate(entityPlayer)) return true; - ItemStack currentItemStack = entityPlayer.getCurrentEquippedItem(); + ItemStack currentItemStack = entityPlayer.getHeldItemMainhand(); - if (Eln.multiMeterElement.checkSameItemStack(entityPlayer.getCurrentEquippedItem())) { + if (Eln.multiMeterElement.checkSameItemStack(entityPlayer.getHeldItemMainhand())) { return false; } - if (Eln.thermometerElement.checkSameItemStack(entityPlayer.getCurrentEquippedItem())) { + if (Eln.thermometerElement.checkSameItemStack(entityPlayer.getHeldItemMainhand())) { return false; } - if (Eln.allMeterElement.checkSameItemStack(entityPlayer.getCurrentEquippedItem())) { + if (Eln.allMeterElement.checkSameItemStack(entityPlayer.getHeldItemMainhand())) { return false; } else { setSwitchState(!switchState); diff --git a/src/main/java/mods/eln/sixnode/electricalwatch/ElectricalWatchElement.java b/src/main/java/mods/eln/sixnode/electricalwatch/ElectricalWatchElement.java index 7ec0750b1..ba577af83 100644 --- a/src/main/java/mods/eln/sixnode/electricalwatch/ElectricalWatchElement.java +++ b/src/main/java/mods/eln/sixnode/electricalwatch/ElectricalWatchElement.java @@ -75,7 +75,7 @@ public void initialize() { @Override public boolean onBlockActivated(EntityPlayer entityPlayer, Direction side, float vx, float vy, float vz) { - return inventory.take(entityPlayer.getCurrentEquippedItem(), this, true, false); + return inventory.take(entityPlayer.getHeldItemMainhand(), this, true, false); } @Override diff --git a/src/main/java/mods/eln/sixnode/electricalwindsensor/ElectricalWindSensorElement.java b/src/main/java/mods/eln/sixnode/electricalwindsensor/ElectricalWindSensorElement.java index ee6c08a9b..09ec41a03 100644 --- a/src/main/java/mods/eln/sixnode/electricalwindsensor/ElectricalWindSensorElement.java +++ b/src/main/java/mods/eln/sixnode/electricalwindsensor/ElectricalWindSensorElement.java @@ -84,7 +84,7 @@ public void initialize() { public void networkSerialize(DataOutputStream stream) { super.networkSerialize(stream); try { - stream.writeFloat((float) Utils.getWind(sixNode.coordinate.dimension, sixNode.coordinate.y)); + stream.writeFloat((float) Utils.getWind(sixNode.coordonate.getDimension(), sixNode.coordonate.pos.getY())); } catch (IOException e) { e.printStackTrace(); } diff --git a/src/main/java/mods/eln/sixnode/electricalwindsensor/ElectricalWindSensorSlowProcess.java b/src/main/java/mods/eln/sixnode/electricalwindsensor/ElectricalWindSensorSlowProcess.java index 4b10aa037..042f4c0bd 100644 --- a/src/main/java/mods/eln/sixnode/electricalwindsensor/ElectricalWindSensorSlowProcess.java +++ b/src/main/java/mods/eln/sixnode/electricalwindsensor/ElectricalWindSensorSlowProcess.java @@ -26,8 +26,8 @@ public void process(double time) { if (timeCounter > refreshPeriode) { timeCounter -= refreshPeriode; Coordinate coord = element.sixNode.coordinate; + element.outputGateProcess.setOutputNormalized(Utils.getWind(coord.getDimension(), coord.pos.geY()) / element.descriptor.windMax); - element.outputGateProcess.setOutputNormalized(Utils.getWind(coord.dimension, coord.y) / element.descriptor.windMax); } } diff --git a/src/main/java/mods/eln/sixnode/groundcable/GroundCableElement.java b/src/main/java/mods/eln/sixnode/groundcable/GroundCableElement.java index c099e0e63..9076f629a 100644 --- a/src/main/java/mods/eln/sixnode/groundcable/GroundCableElement.java +++ b/src/main/java/mods/eln/sixnode/groundcable/GroundCableElement.java @@ -121,7 +121,7 @@ public void initialize() { @Override public boolean onBlockActivated(EntityPlayer entityPlayer, Direction side, float vx, float vy, float vz) { - ItemStack currentItemStack = entityPlayer.getCurrentEquippedItem(); + ItemStack currentItemStack = entityPlayer.getHeldItemMainhand(); if (Utils.isPlayerUsingWrench(entityPlayer)) { colorCare = colorCare ^ 1; Utils.addChatMessage(entityPlayer, "Wire color care " + colorCare); diff --git a/src/main/java/mods/eln/sixnode/lampsocket/LampSocketElement.java b/src/main/java/mods/eln/sixnode/lampsocket/LampSocketElement.java index e0cae28f1..a38fa6147 100644 --- a/src/main/java/mods/eln/sixnode/lampsocket/LampSocketElement.java +++ b/src/main/java/mods/eln/sixnode/lampsocket/LampSocketElement.java @@ -296,7 +296,7 @@ public boolean onBlockActivated(EntityPlayer entityPlayer, Direction side, float return true; } - ItemStack currentItemStack = entityPlayer.getCurrentEquippedItem(); + ItemStack currentItemStack = entityPlayer.getHeldItemMainhand(); if (currentItemStack != null) { GenericItemUsingDamageDescriptor itemDescriptor = GenericItemUsingDamageDescriptor.getDescriptor(currentItemStack); if (itemDescriptor != null) { @@ -312,7 +312,7 @@ public boolean onBlockActivated(EntityPlayer entityPlayer, Direction side, float } } - return acceptingInventory.take(entityPlayer.getCurrentEquippedItem(), this, true, false); + return acceptingInventory.take(entityPlayer.getHeldItemMainhand(), this, true, false); } public int getLightValue() { diff --git a/src/main/java/mods/eln/sixnode/lampsocket/LampSocketProcess.java b/src/main/java/mods/eln/sixnode/lampsocket/LampSocketProcess.java index 5590a021c..c8e98f01f 100644 --- a/src/main/java/mods/eln/sixnode/lampsocket/LampSocketProcess.java +++ b/src/main/java/mods/eln/sixnode/lampsocket/LampSocketProcess.java @@ -15,12 +15,16 @@ import net.minecraft.init.Blocks; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.math.BlockPos; +import net.minecraft.util.math.MathHelper; + import net.minecraft.util.math.Vec3d; import java.io.ByteArrayOutputStream; import java.io.DataOutputStream; import java.io.IOException; import java.util.List; +import java.util.Random; public class LampSocketProcess implements IProcess, INBTTReady /*,LightBlockObserver*/ { @@ -109,32 +113,27 @@ public void process(double time) { for (int idx = 0; idx < lamp.socketDescriptor.range + light; idx++) { // newCoord.move(lamp.side.getInverse()); - vp.xCoord += vv.xCoord; - vp.yCoord += vv.yCoord; - vp.zCoord += vv.zCoord; - + vp.addVector(vv.xCoord, vv.yCoord, vv.zCoord); c.setPosition(vp); - Block b = c.getBlock(); + Block b = c.getBlockState().getBlock(); + if (!c.doesBlockExist()) { exit = true; break; } if (isOpaque(c)) { - vp.xCoord -= vv.xCoord; - vp.yCoord -= vv.yCoord; - vp.zCoord -= vv.zCoord; - + vp.addVector(-vv.xCoord, -vv.yCoord, -vv.zCoord); c.setPosition(vp); - b = c.getBlock(); + b = c.getBlockState().getBlock(); break; } } if (!exit) { - Block b = c.getBlock(); + Block b = c.getBlockState().getBlock(); - if (b != Blocks.air) { - b.updateTick(c.world(), c.x, c.y, c.z, c.world().rand); + if (b != Blocks.AIR) { + b.updateTick(c.world(), new BlockPos(c.pos.getX(), c.pos.getY(), c.pos.getZ()), c.getBlockState(), new Random()); } } } @@ -271,16 +270,14 @@ public void rotateAroundZ(Vec3d v, float par1) { double d0 = v.xCoord * (double) f1 + v.yCoord * (double) f2; double d1 = v.yCoord * (double) f1 - v.xCoord * (double) f2; double d2 = v.zCoord; - v.xCoord = d0; - v.yCoord = d1; - v.zCoord = d2; + v = new Vec3d(d0, d1, d2); } void placeSpot(int newLight) { boolean exit = false; if (!lbCoord.doesBlockExist()) return; - Vec3d vv = Vec3d.createVectorHelper(1, 0, 0); + Vec3d vv = new Vec3d(1, 0, 0); Vec3d vp = Utils.getVec05(myCoord()); rotateAroundZ(vv, (float) (alphaZ * Math.PI / 180.0)); @@ -291,20 +288,14 @@ void placeSpot(int newLight) { Coordinate newCoord = new Coordinate(myCoord()); for (int idx = 0; idx < lamp.socketDescriptor.range; idx++) { // newCoord.move(lamp.side.getInverse()); - vp.xCoord += vv.xCoord; - vp.yCoord += vv.yCoord; - vp.zCoord += vv.zCoord; - + vp.add(vv); newCoord.setPosition(vp); if (!newCoord.doesBlockExist()) { exit = true; break; } if (isOpaque(newCoord)) { - vp.xCoord -= vv.xCoord; - vp.yCoord -= vv.yCoord; - vp.zCoord -= vv.zCoord; - + vp.add(new Vec3d(-vv.xCoord, -vv.yCoord, -vv.zCoord)); newCoord.setPosition(vp); break; } @@ -312,16 +303,13 @@ void placeSpot(int newLight) { if (!exit) { int count = 0; while (!newCoord.equals(myCoord())) { - Block block = newCoord.getBlock(); - if (block == Blocks.air || block == Eln.lightBlock) { + Block block = newCoord.getBlockState().getBlock(); + if (block == Blocks.AIR || block == Eln.lightBlock) { count++; if (count == 2) break; } - - vp.xCoord -= vv.xCoord; - vp.yCoord -= vv.yCoord; - vp.zCoord -= vv.zCoord; + vp.add(new Vec3d(-vv.xCoord, -vv.yCoord, -vv.zCoord)); newCoord.setPosition(vp); } } @@ -330,9 +318,10 @@ void placeSpot(int newLight) { } public boolean isOpaque(Coordinate coord) { - Block block = coord.getBlock(); - boolean isNotOpaque = block == Blocks.air || !block.isOpaqueCube(); - if (block == Blocks.farmland) + Block block = coord.getBlockState().getBlock(); + boolean isNotOpaque = block == Blocks.AIR || !block.isOpaqueCube(block.getBlockState().getBaseState()); + if (block == Blocks.FARMLAND) + isNotOpaque = false; return !isNotOpaque; } diff --git a/src/main/java/mods/eln/sixnode/lampsocket/LightBlock.java b/src/main/java/mods/eln/sixnode/lampsocket/LightBlock.java index 7e8807223..edb14e996 100644 --- a/src/main/java/mods/eln/sixnode/lampsocket/LightBlock.java +++ b/src/main/java/mods/eln/sixnode/lampsocket/LightBlock.java @@ -14,8 +14,8 @@ public class LightBlock extends BlockContainer { - public LightBlock() - { + public LightBlock() { + super(Material.AIR); } diff --git a/src/main/java/mods/eln/sixnode/lampsocket/LightBlockEntity.java b/src/main/java/mods/eln/sixnode/lampsocket/LightBlockEntity.java index 4a44c6bba..00c8cc511 100644 --- a/src/main/java/mods/eln/sixnode/lampsocket/LightBlockEntity.java +++ b/src/main/java/mods/eln/sixnode/lampsocket/LightBlockEntity.java @@ -5,9 +5,11 @@ import mods.eln.misc.INBTTReady; import mods.eln.misc.Utils; import net.minecraft.block.Block; +import net.minecraft.block.state.IBlockState; import net.minecraft.init.Blocks; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.math.BlockPos; import net.minecraft.world.EnumSkyBlock; import net.minecraft.world.World; @@ -109,22 +111,21 @@ void lightManager() { }*/ } - @Override public void updateEntity() { if (worldObj.isRemote) return; if (lightList.isEmpty()) { // worldObj.setBlockMetadataWithNotify(xCoord, yCoord, zCoord, 1, 2); - worldObj.setBlockToAir(xCoord, yCoord, zCoord); + worldObj.setBlockToAir(new BlockPos(this.pos.getX(), this.pos.getY(), this.pos.getZ())); //worldObj.updateLightByType(EnumSkyBlock.Block, xCoord, yCoord, zCoord); //Eln.instance.tileEntityDestructor.add(this); - Utils.println("Destroy light at " + xCoord + " " + yCoord + " " + zCoord + " "); + Utils.println("Destroy light at " + this.pos.getX() + " " + this.pos.getY() + " " + this.pos.getZ() + " "); return; } int light = 0; Iterator iterator = lightList.iterator(); - + while (iterator.hasNext()) { LightHandle l = iterator.next(); if (light < l.value) light = l.value; @@ -134,22 +135,23 @@ public void updateEntity() { iterator.remove(); } } - - if (light != worldObj.getBlockMetadata(xCoord, yCoord, zCoord)) { - - worldObj.setBlockMetadataWithNotify(xCoord, yCoord, zCoord, light, 2); - worldObj.updateLightByType(EnumSkyBlock.Block, xCoord, yCoord, zCoord); + IBlockState state = worldObj.getBlockState(pos); + Block block = state.getBlock(); + if (light != block.getMetaFromState(state)) { + block.setLightLevel(2); + worldObj.notifyLightSet(pos); } } - public static void addLight(World w, int x, int y, int z, int light, int timeout) { - Block block = w.getBlock(x, y, z); + public static void addLight(World w, BlockPos pos, int light, int timeout) { + Block block = w.getBlockState(pos).getBlock(); if (block != Eln.lightBlock) { - if (block != Blocks.air) return; - w.setBlock(x, y, z, Eln.lightBlock, light, 2); + if (block != Blocks.AIR) return; + w.setBlockState(pos, Eln.lightBlock.getDefaultState()); + w.setLightFor(EnumSkyBlock.BLOCK, pos, 2); } - TileEntity t = w.getTileEntity(x, y, z); + TileEntity t = w.getTileEntity(pos); if (t != null && t instanceof LightBlockEntity) ((LightBlockEntity) t).addLight(light, timeout); else @@ -157,7 +159,7 @@ public static void addLight(World w, int x, int y, int z, int light, int timeout } public static void addLight(Coordinate coord, int light, int timeout) { - addLight(coord.world(), coord.x, coord.y, coord.z, light, timeout); + addLight(coord.world(), coord.pos, light, timeout); } /*public static void removeLight(Coordinate coord, int light) { From 7261bd968827706284bc017257692ed2c91928ec Mon Sep 17 00:00:00 2001 From: XGodL Date: Tue, 28 Aug 2018 01:48:44 +0100 Subject: [PATCH 16/61] Many Changes fixed --- .../mods/eln/client/ClientKeyHandler.java | 4 +- .../eln/client/VersionCheckerHandler.java | 4 +- .../mods/eln/entity/ReplicatorEntity.java | 36 +++---- .../java/mods/eln/misc/BasicContainer.java | 5 +- src/main/java/mods/eln/misc/Utils.java | 12 ++- src/main/java/mods/eln/misc/UtilsClient.java | 10 +- src/main/java/mods/eln/node/Node.java | 4 +- src/main/java/mods/eln/node/NodeBase.java | 85 +++++++++-------- src/main/java/mods/eln/node/NodeBlock.java | 82 ++++++++-------- .../java/mods/eln/node/NodeBlockItem.java | 20 ++-- .../mods/eln/node/NodeEntityClientSender.java | 12 ++- src/main/java/mods/eln/node/NodeManager.java | 26 +++-- .../java/mods/eln/node/NodeManagerNbt.java | 5 +- .../java/mods/eln/node/simple/SimpleNode.java | 11 ++- .../eln/node/simple/SimpleNodeEntity.java | 8 +- .../java/mods/eln/node/six/SixNodeBlock.java | 94 ++++++++++--------- .../mods/eln/node/six/SixNodeCacheStd.java | 2 +- .../java/mods/eln/node/six/SixNodeItem.java | 65 ++++++------- .../transparent/TransparentNodeBlock.java | 36 +++---- .../TransparentNodeDescriptor.java | 29 +++--- .../TransparentNodeElementRender.java | 5 +- .../transparent/TransparentNodeEntity.java | 5 +- .../node/transparent/TransparentNodeItem.java | 19 ++-- .../sixnode/lampsocket/LightBlockEntity.java | 6 +- 24 files changed, 320 insertions(+), 265 deletions(-) diff --git a/src/main/java/mods/eln/client/ClientKeyHandler.java b/src/main/java/mods/eln/client/ClientKeyHandler.java index d7c767af2..797472baf 100644 --- a/src/main/java/mods/eln/client/ClientKeyHandler.java +++ b/src/main/java/mods/eln/client/ClientKeyHandler.java @@ -44,7 +44,7 @@ public ClientKeyHandler() { @SubscribeEvent public void onKeyInput(KeyInputEvent event) { for (int i = 0; i < desc.length; ++i) { - boolean s = keys[i].getIsKeyPressed(); + boolean s = keys[i].isPressed(); if (s == false) continue; if (states[i]) setState(i, false); @@ -56,7 +56,7 @@ public void onKeyInput(KeyInputEvent event) { public void tick(ClientTickEvent event) { if (event.phase != Phase.START) return; for (int i = 0; i < desc.length; ++i) { - boolean s = keys[i].getIsKeyPressed(); + boolean s = keys[i].isPressed(); if (s == false && states[i] == true) { setState(i, false); } diff --git a/src/main/java/mods/eln/client/VersionCheckerHandler.java b/src/main/java/mods/eln/client/VersionCheckerHandler.java index 6dc1b1218..2a2a7c708 100644 --- a/src/main/java/mods/eln/client/VersionCheckerHandler.java +++ b/src/main/java/mods/eln/client/VersionCheckerHandler.java @@ -111,8 +111,8 @@ public void tick(ClientTickEvent event) { // Print the current version when the client start a map if (Eln.versionCheckEnabled) { - m.thePlayer.addChatMessage(new ChatComponentText(Version.printColor())); - m.thePlayer.addChatMessage(new ChatComponentText(versionMsg)); + m.thePlayer.addChatMessage(new TextComponentString(Version.printColor())); + m.thePlayer.addChatMessage(new TextComponentString(versionMsg)); } FMLCommonHandler.instance().bus().unregister(this); diff --git a/src/main/java/mods/eln/entity/ReplicatorEntity.java b/src/main/java/mods/eln/entity/ReplicatorEntity.java index dbae7a98b..4e916a06f 100644 --- a/src/main/java/mods/eln/entity/ReplicatorEntity.java +++ b/src/main/java/mods/eln/entity/ReplicatorEntity.java @@ -9,11 +9,14 @@ import net.minecraft.entity.monster.EntityMob; import net.minecraft.entity.passive.EntityVillager; import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.SoundEvents; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.DamageSource; +import net.minecraft.util.ResourceLocation; import net.minecraft.world.World; +import net.minecraftforge.client.event.sound.SoundEvent; import java.util.ArrayList; import java.util.Map.Entry; @@ -53,8 +56,8 @@ public ReplicatorEntity(World par1World) { this.tasks.addTask(p++, new EntityAILookIdle(this)); p = 1; this.targetTasks.addTask(p++, new EntityAIHurtByTarget(this, true)); - this.targetTasks.addTask(p, new EntityAINearestAttackableTarget(this, EntityPlayer.class, 0, true)); - this.targetTasks.addTask(p, new EntityAINearestAttackableTarget(this, EntityVillager.class, 0, false)); + this.targetTasks.addTask(p, new EntityAINearestAttackableTarget(this, EntityPlayer.class, true, true)); + this.targetTasks.addTask(p, new EntityAINearestAttackableTarget(this, EntityVillager.class, true, false)); this.targetTasks.addTask(p++, new ReplicatorHungryAttack(this, ReplicatorEntity.class, 0, false)); // this.targetTasks.addTask(p++, new EntityAINearestAttackableTarget(this, ReplicatorEntity.class, 0, false)); // this.targetTasks.addTask(p++, replicatorIa); @@ -70,8 +73,8 @@ public boolean attackEntityAsMob(Entity e) { } @Override - protected void updateAITick() { - super.updateAITick(); + protected void updateAITasks() { + super.updateAITasks(); //setDead(); hunger += 0.05 / hungerTime; @@ -98,10 +101,10 @@ void eatElectricity(double e) { protected void applyEntityAttributes() { super.applyEntityAttributes(); - this.getEntityAttribute(SharedMonsterAttributes.followRange).setBaseValue(8.0D); - this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(8.0D); - this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(0.23000000417232513D); - this.getEntityAttribute(SharedMonsterAttributes.attackDamage).setBaseValue(3.0D); + this.getEntityAttribute(SharedMonsterAttributes.FOLLOW_RANGE).setBaseValue(8.0D); + this.getEntityAttribute(SharedMonsterAttributes.MAX_HEALTH).setBaseValue(8.0D); + this.getEntityAttribute(SharedMonsterAttributes.MOVEMENT_SPEED).setBaseValue(0.23000000417232513D); + this.getEntityAttribute(SharedMonsterAttributes.ATTACK_DAMAGE).setBaseValue(3.0D); // this.getAttributeMap().func_111150_b(field_110186_bp).setAttribute(this.rand.nextDouble() * ForgeDummyContainer.zombieSummonBaseChance); } @@ -109,16 +112,17 @@ protected boolean isAIEnabled() { return true; } - protected String getLivingSound() { - return "mob.silverfish.say"; + //TODO: FIX SOUND EVENTS + protected SoundEvent getLivingSound() { + return SoundEvents.ENTITY_SILVERFISH_AMBIENT; } - protected String getHurtSound() { - return "mob.silverfish.hit"; + protected SoundEvent getHurtSound() { + return SoundEvents.ENTITY_SILVERFISH_HURT; } - protected String getDeathSound() { - return "mob.silverfish.kill"; + protected SoundEvent getDeathSound() { + return SoundEvents.ENTITY_SILVERFISH_DEATH; } /*protected void playStepSound(int par1, int par2, int par3, int par4) { @@ -135,10 +139,10 @@ protected void dropFewItems(boolean par1, int par2) { if (isSpawnedFromWeather) { if (Math.random() < 0.33) { - for (Object s : EntityList.IDtoClassMapping.entrySet()) { + for (Object s : EntityList.ID_TO_CLASS.entrySet()) { Entry e = (Entry) s; if (e.getValue() == ReplicatorEntity.class) { - this.entityDropItem(new ItemStack((Item) Item.itemRegistry.getObject("spawn_egg"), 1, (Integer) e.getKey()), 0.5f); + this.entityDropItem(new ItemStack((Item) Item.getByNameOrId("spawn_egg"), 1, (Integer) e.getKey()), 0.5f); break; } } diff --git a/src/main/java/mods/eln/misc/BasicContainer.java b/src/main/java/mods/eln/misc/BasicContainer.java index 47140d583..8cd3c656a 100644 --- a/src/main/java/mods/eln/misc/BasicContainer.java +++ b/src/main/java/mods/eln/misc/BasicContainer.java @@ -4,6 +4,7 @@ import mods.eln.gui.SlotWithSkin; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.InventoryPlayer; +import net.minecraft.inventory.ClickType; import net.minecraft.inventory.Container; import net.minecraft.inventory.IInventory; import net.minecraft.inventory.Slot; @@ -179,7 +180,7 @@ protected boolean mergeItemStack(ItemStack par1ItemStack, int par2, int par3, bo } @Override - public ItemStack slotClick(int arg0, int arg1, int arg2, EntityPlayer arg3) { + public ItemStack slotClick(int arg0, int arg1, ClickType type, EntityPlayer arg3) { if (arg0 >= this.inventorySlots.size()) { System.out.println("Damned !!! What happen ?"); Utils.addChatMessage(arg3, "Damn! Sorry, this is a debug"); @@ -188,6 +189,6 @@ public ItemStack slotClick(int arg0, int arg1, int arg2, EntityPlayer arg3) { Utils.addChatMessage(arg3, "Thanks :D"); return null; } - return super.slotClick(arg0, arg1, arg2, arg3); + return super.slotClick(arg0, arg1, type, arg3); } } diff --git a/src/main/java/mods/eln/misc/Utils.java b/src/main/java/mods/eln/misc/Utils.java index bc513cf61..a7aac6841 100644 --- a/src/main/java/mods/eln/misc/Utils.java +++ b/src/main/java/mods/eln/misc/Utils.java @@ -559,7 +559,7 @@ public static double getWind(int worldId, int y) { // return Math.max(0.0, Eln.instance.wind.getWind(y) * factor + world.getRainStrength(0) * 1f + world.getWeightedThunderStrength(0) * 2f); // } - public static void dropItem(ItemStack itemStack, int x, int y, int z, World world) { + public static void dropItem(ItemStack itemStack, BlockPos pos, World world) { if (itemStack == null) return; if (world.getGameRules().getBoolean("doTileDrops")) { @@ -567,14 +567,14 @@ public static void dropItem(ItemStack itemStack, int x, int y, int z, World worl double var7 = (double) (world.rand.nextFloat() * var6) + (double) (1.0F - var6) * 0.5D; double var9 = (double) (world.rand.nextFloat() * var6) + (double) (1.0F - var6) * 0.5D; double var11 = (double) (world.rand.nextFloat() * var6) + (double) (1.0F - var6) * 0.5D; - EntityItem drop = new EntityItem(world, (double) x + var7, (double) y + var9, (double) z + var11, itemStack); + EntityItem drop = new EntityItem(world, (double) pos.getX() + var7, (double) pos.getY() + var9, (double) pos.getZ() + var11, itemStack); drop.setPickupDelay(10); world.spawnEntityInWorld(drop); } } public static void dropItem(ItemStack itemStack, Coordinate coordinate) { - dropItem(itemStack, coordinate.pos.getX(), coordinate.pos.getY(), coordinate.pos.getZ(), coordinate.world()); + dropItem(itemStack, coordinate.pos, coordinate.world()); } @@ -1406,4 +1406,10 @@ public static void printFunction(FunctionTable func, double start, double end, d } Utils.println("********"); } + + public static int getMetaFromPos(World worldIn, BlockPos pos){ + IBlockState state = worldIn.getBlockState(pos); + return state.getBlock().getMetaFromState(state); + } + } diff --git a/src/main/java/mods/eln/misc/UtilsClient.java b/src/main/java/mods/eln/misc/UtilsClient.java index 8f598f8bd..2c199c583 100644 --- a/src/main/java/mods/eln/misc/UtilsClient.java +++ b/src/main/java/mods/eln/misc/UtilsClient.java @@ -74,9 +74,9 @@ public static void drawHaloNoLightSetup(Obj3DPart halo, float r, float g, float return; if (bilinear) enableBilinear(); - int light = getLight(w, x, y, z) * 19 / 15 - 4; + int light = getLight(w, pos) * 19 / 15 - 4; Entity e = getClientPlayer(); - float d = (float) (Math.abs(x - e.posX) + Math.abs(y - e.posY) + Math.abs(z - e.posZ)); + float d = (float) (Math.abs(pos.getX() - e.posX) + Math.abs(pos.getY() - e.posY) + Math.abs(pos.getZ() - e.posZ)); GL11.glColor4f(r, g, b, 1f - (light / 15f)); halo.draw(d * 20, 1, 0, 0); @@ -91,11 +91,11 @@ public static void clientOpenGui(GuiScreen gui) { clientPlayer.openGui(Eln.instance, GuiHandler.genericOpen, clientPlayer.worldObj, 0, 0, 0); } - public static void drawHalo(Obj3DPart halo, float r, float g, float b, World w, int x, int y, int z, boolean bilinear) { + public static void drawHalo(Obj3DPart halo, float r, float g, float b, World w, BlockPos pos, boolean bilinear) { disableLight(); enableBlend(); - UtilsClient.drawHaloNoLightSetup(halo, r, g, b, w, x, y, z, bilinear); + UtilsClient.drawHaloNoLightSetup(halo, r, g, b, w, pos, bilinear); enableLight(); disableBlend(); } @@ -130,7 +130,7 @@ public static void drawHaloNoLightSetup(Obj3DPart halo, float r, float g, float return; if (bilinear) enableBilinear(); - int light = getLight(e.worldObj, MathHelper.floor_double(e.posX), MathHelper.floor_double(e.posY), MathHelper.floor_double(e.posZ)); + int light = getLight(e.worldObj, new BlockPos(MathHelper.floor_double(e.posX), MathHelper.floor_double(e.posY), MathHelper.floor_double(e.posZ))); // light = // e.worldObj.getLightBrightnessForSkyBlocks(MathHelper.floor_double(e.posX), // MathHelper.floor_double(e.posY), MathHelper.floor_double(e.posZ),0); diff --git a/src/main/java/mods/eln/node/Node.java b/src/main/java/mods/eln/node/Node.java index 9d72d14a4..63a26d898 100644 --- a/src/main/java/mods/eln/node/Node.java +++ b/src/main/java/mods/eln/node/Node.java @@ -17,7 +17,7 @@ public void setLightValue(int light) { if (light < 0) light = 0; if (lastLight != light) { lastLight = light; - coordinate.world().updateLightByType(EnumSkyBlock.Block, coordinate.x, coordinate.y, coordinate.z); + coordinate.world().setLightFor(EnumSkyBlock.BLOCK, coordinate.pos, light); setNeedPublish(true); } @@ -59,7 +59,7 @@ public void publishSerialize(DataOutputStream stream) { public NodeBlockEntity getEntity() { - return (NodeBlockEntity) coordinate.world().getTileEntity(coordinate.x, coordinate.y, coordinate.z); + return (NodeBlockEntity) coordinate.world().getTileEntity(coordinate.pos); } public int isProvidingWeakPower(Direction side) { diff --git a/src/main/java/mods/eln/node/NodeBase.java b/src/main/java/mods/eln/node/NodeBase.java index be725a56c..e6e14ab1e 100644 --- a/src/main/java/mods/eln/node/NodeBase.java +++ b/src/main/java/mods/eln/node/NodeBase.java @@ -5,6 +5,7 @@ import mods.eln.ghost.GhostBlock; import mods.eln.misc.*; import mods.eln.node.six.SixNode; +import mods.eln.server.PlayerManager; import mods.eln.sim.*; import net.minecraft.block.Block; import net.minecraft.entity.Entity; @@ -109,8 +110,9 @@ public void neighborBlockRead() { Block b = world.getBlockState(pos).getBlock(); neighborOpaque |= 1 << direction.getInt(); - if (isBlockWrappable(b, world, pos)) + if (isBlockWrappable(b, world, pos)) { neighborWrapable |= 1 << direction.getInt(); + } } } @@ -201,20 +203,20 @@ public void onBreakBlock() { } public boolean onBlockActivated(EntityPlayer entityPlayer, Direction side, float vx, float vy, float vz) { - if (!entityPlayer.worldObj.isRemote && entityPlayer.getCurrentEquippedItem() != null) { - if (Eln.multiMeterElement.checkSameItemStack(entityPlayer.getCurrentEquippedItem())) { + if (!entityPlayer.worldObj.isRemote && entityPlayer.getHeldItemMainhand() != null) { + if (Eln.multiMeterElement.checkSameItemStack(entityPlayer.getHeldItemMainhand())) { String str = multiMeterString(side); if (str != null) Utils.addChatMessage(entityPlayer, str); return true; } - if (Eln.thermometerElement.checkSameItemStack(entityPlayer.getCurrentEquippedItem())) { + if (Eln.thermometerElement.checkSameItemStack(entityPlayer.getHeldItemMainhand())) { String str = thermoMeterString(side); if (str != null) Utils.addChatMessage(entityPlayer, str); return true; } - if (Eln.allMeterElement.checkSameItemStack(entityPlayer.getCurrentEquippedItem())) { + if (Eln.allMeterElement.checkSameItemStack(entityPlayer.getHeldItemMainhand())) { String str1 = multiMeterString(side); String str2 = thermoMeterString(side); String str = ""; @@ -228,7 +230,7 @@ public boolean onBlockActivated(EntityPlayer entityPlayer, Direction side, float } } if (hasGui(side)) { - entityPlayer.openGui(Eln.instance, GuiHandler.nodeBaseOpen + side.getInt(), coordinate.world(), coordinate.x, coordinate.y, coordinate.z); + entityPlayer.openGui(Eln.instance, GuiHandler.nodeBaseOpen + side.getInt(), coordinate.world(), coordinate.pos.getX(), coordinate.pos.getY(), coordinate.pos.getZ()); return true; } @@ -295,21 +297,17 @@ public void checkCanStay(boolean onCreate) { public void connectJob() { // EXTERNAL OTHERS SIXNODE { - int[] emptyBlockCoord = new int[3]; - int[] otherBlockCoord = new int[3]; + //int[] emptyBlockCoord = new int[3]; + //int[] otherBlockCoord = new int[3]; for (Direction direction : Direction.values()) { if (isBlockWrappable(direction)) { - emptyBlockCoord[0] = coordinate.x; - emptyBlockCoord[1] = coordinate.y; - emptyBlockCoord[2] = coordinate.z; - direction.applyTo(emptyBlockCoord, 1); + BlockPos emptyBlockCoord = coordinate.pos; + direction.applyTo(new BlockPos.MutableBlockPos(emptyBlockCoord), 1); for (LRDU lrdu : LRDU.values()) { Direction elementSide = direction.applyLRDU(lrdu); - otherBlockCoord[0] = emptyBlockCoord[0]; - otherBlockCoord[1] = emptyBlockCoord[1]; - otherBlockCoord[2] = emptyBlockCoord[2]; - elementSide.applyTo(otherBlockCoord, 1); - NodeBase otherNode = NodeManager.instance.getNodeFromCoordinate(new Coordinate(otherBlockCoord[0], otherBlockCoord[1], otherBlockCoord[2], coordinate.dimension)); + BlockPos otherBlockCoord = emptyBlockCoord; + elementSide.applyTo(new BlockPos.MutableBlockPos(otherBlockCoord), 1); + NodeBase otherNode = NodeManager.instance.getNodeFromCoordinate(new Coordinate(otherBlockCoord, coordinate.getDimension())); if (otherNode == null) continue; Direction otherDirection = elementSide.getInverse(); LRDU otherLRDU = otherDirection.getLRDUGoingTo(direction).inverse(); @@ -458,11 +456,12 @@ public void preparePacketForClient(DataOutputStream stream) { try { stream.writeByte(Eln.packetForClientNode); - stream.writeInt(coordinate.x); - stream.writeInt(coordinate.y); - stream.writeInt(coordinate.z); + BlockPos pos = coordinate.pos; + stream.writeInt(pos.getX()); + stream.writeInt(pos.getY()); + stream.writeInt(pos.getZ()); - stream.writeByte(coordinate.dimension); + stream.writeByte(coordinate.getDimension()); stream.writeUTF(getNodeUuid()); @@ -486,13 +485,15 @@ public void sendPacketToAllClient(ByteArrayOutputStream bos, double range) { MinecraftServer server = FMLCommonHandler.instance().getMinecraftServerInstance(); - for (Object obj : server.getConfigurationManager().playerEntityList) { + //TODO: Find new way to get isPlayerWatchingChunk() + + for (Object obj : server.getEntityWorld().playerEntities) { EntityPlayerMP player = (EntityPlayerMP) obj; - WorldServer worldServer = (WorldServer) MinecraftServer.getServer().worldServerForDimension(player.dimension); + WorldServer worldServer = (WorldServer) server.worldServerForDimension(player.dimension); PlayerManager playerManager = worldServer.getPlayerManager(); - if (player.dimension != this.coordinate.dimension) continue; - if (!playerManager.isPlayerWatchingChunk(player, coordinate.x / 16, coordinate.z / 16)) continue; + if (player.dimension != this.coordinate.getDimension()) continue; + if (!playerManager.isPlayerWatchingChunk(player, coordinate.pos.getX() / 16, coordinate.pos.getZ() / 16)) continue; if (coordinate.distanceTo(player) > range) continue; Utils.sendPacketToClient(bos, player); @@ -509,10 +510,11 @@ public ByteArrayOutputStream getPublishPacket() { stream.writeByte(Eln.packetNodeSingleSerialized); - stream.writeInt(coordinate.x); - stream.writeInt(coordinate.y); - stream.writeInt(coordinate.z); - stream.writeByte(coordinate.dimension); + BlockPos pos = coordinate.pos; + stream.writeInt(pos.getX()); + stream.writeInt(pos.getY()); + stream.writeInt(pos.getZ()); + stream.writeByte(coordinate.getDimension()); stream.writeUTF(getNodeUuid()); @@ -529,13 +531,12 @@ public ByteArrayOutputStream getPublishPacket() { public void publishToAllPlayer() { MinecraftServer server = FMLCommonHandler.instance().getMinecraftServerInstance(); - - for (Object obj : server.getConfigurationManager().playerEntityList) { + for (Object obj : server.getEntityWorld().playerEntities) { EntityPlayerMP player = (EntityPlayerMP) obj; - WorldServer worldServer = (WorldServer) MinecraftServer.getServer().worldServerForDimension(player.dimension); + WorldServer worldServer = (WorldServer) server.worldServerForDimension(player.dimension); PlayerManager playerManager = worldServer.getPlayerManager(); - if (player.dimension != this.coordinate.dimension) continue; - if (!playerManager.isPlayerWatchingChunk(player, coordinate.x / 16, coordinate.z / 16)) continue; + if (player.dimension != this.coordinate.getDimension()) continue; + if (!playerManager.isPlayerWatchingChunk(player, coordinate.pos.getX() / 16, coordinate.pos.getZ() / 16)) continue; Utils.sendPacketToClient(getPublishPacket(), player); } @@ -552,14 +553,16 @@ public void publishToPlayer(EntityPlayerMP player) { public void dropItem(ItemStack itemStack) { if (itemStack == null) return; - if (coordinate.world().getGameRules().getGameRuleBooleanValue("doTileDrops")) { + World w = coordinate.world(); + BlockPos pos = coordinate.pos; + if (w.getGameRules().getBoolean("doTileDrops")) { float var6 = 0.7F; - double var7 = (double) (coordinate.world().rand.nextFloat() * var6) + (double) (1.0F - var6) * 0.5D; - double var9 = (double) (coordinate.world().rand.nextFloat() * var6) + (double) (1.0F - var6) * 0.5D; - double var11 = (double) (coordinate.world().rand.nextFloat() * var6) + (double) (1.0F - var6) * 0.5D; - EntityItem var13 = new EntityItem(coordinate.world(), (double) coordinate.x + var7, (double) coordinate.y + var9, (double) coordinate.z + var11, itemStack); - var13.delayBeforeCanPickup = 10; - coordinate.world().spawnEntityInWorld(var13); + double var7 = (double) (w.rand.nextFloat() * var6) + (double) (1.0F - var6) * 0.5D; + double var9 = (double) (w.rand.nextFloat() * var6) + (double) (1.0F - var6) * 0.5D; + double var11 = (double) (w.rand.nextFloat() * var6) + (double) (1.0F - var6) * 0.5D; + EntityItem var13 = new EntityItem(w, (double) pos.getX() + var7, (double) pos.getY() + var9, (double) pos.getZ() + var11, itemStack); + var13.setPickupDelay(10); + w.spawnEntityInWorld(var13); } } diff --git a/src/main/java/mods/eln/node/NodeBlock.java b/src/main/java/mods/eln/node/NodeBlock.java index 9ae44e525..f52779a46 100644 --- a/src/main/java/mods/eln/node/NodeBlock.java +++ b/src/main/java/mods/eln/node/NodeBlock.java @@ -4,13 +4,19 @@ import mods.eln.misc.Utils; import net.minecraft.block.Block; import net.minecraft.block.material.Material; +import net.minecraft.block.state.IBlockState; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.EnumBlockRenderType; +import net.minecraft.util.EnumFacing; +import net.minecraft.util.math.BlockPos; import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; +import net.minecraftforge.fml.relauncher.Side; +import net.minecraftforge.fml.relauncher.SideOnly; import java.lang.reflect.InvocationTargetException; import java.util.List; @@ -21,7 +27,7 @@ public abstract class NodeBlock extends Block {//BlockContainer public NodeBlock(Material material, Class tileEntityClass, int blockItemNbr) { super(material); - setBlockName("NodeBlock"); + setUnlocalizedName("NodeBlock"); this.tileEntityClass = tileEntityClass; useNeighborBrightness = true; this.blockItemNbr = blockItemNbr; @@ -30,47 +36,50 @@ public NodeBlock(Material material, Class tileEntityClass, int blockItemNbr) { } @Override - public float getBlockHardness(World par1World, int par2, int par3, int par4) { + public float getBlockHardness(IBlockState blockState, World worldIn, BlockPos pos) { return 1.0f; } + //TODO: Fix function isProvidingWeakPower @Override - public int isProvidingWeakPower(IBlockAccess block, int x, int y, int z, int side) { - NodeBlockEntity entity = (NodeBlockEntity) block.getTileEntity(x, y, z); - return entity.isProvidingWeakPower(Direction.fromIntMinecraftSide(side)); + public int isProvidingWeakPower(IBlockAccess block, BlockPos pos, EnumFacing side) { + NodeBlockEntity entity = (NodeBlockEntity) block.getTileEntity(pos); + return entity.isProvidingWeakPower(Direction.fromFacing(side)); } @Override - public boolean canConnectRedstone(IBlockAccess block, int x, int y, int z, int side) { - NodeBlockEntity entity = (NodeBlockEntity) block.getTileEntity(x, y, z); + public boolean canConnectRedstone(IBlockState state, IBlockAccess world, BlockPos pos, EnumFacing side) { + NodeBlockEntity entity = (NodeBlockEntity) world.getTileEntity(pos); return entity.canConnectRedstone(Direction.XN); } @Override - public boolean canProvidePower() { + public boolean canProvidePower(IBlockState state) { - return super.canProvidePower(); + return super.canProvidePower(state); } @Override - public boolean isOpaqueCube() { + public boolean isOpaqueCube(IBlockState state) { return true; } - @Override + //@Override public boolean renderAsNormalBlock() { return false; } @Override - public int getRenderType() { - return -1; + public EnumBlockRenderType getRenderType(IBlockState state) { + //-1 + return this.getRenderType(state); } - public int getLightValue(IBlockAccess world, int x, int y, int z) { - final TileEntity entity = world.getTileEntity(x, y, z); + + public int getLightValue(IBlockAccess world, BlockPos pos) { + final TileEntity entity = world.getTileEntity(pos); if (entity == null || !(entity instanceof NodeBlockEntity)) return 0; NodeBlockEntity tileEntity = (NodeBlockEntity) entity; return tileEntity.getLightValue(); @@ -78,46 +87,45 @@ public int getLightValue(IBlockAccess world, int x, int y, int z) { //client server - public boolean onBlockPlacedBy(World world, int x, int y, int z, Direction front, EntityLivingBase entityLiving, int metadata) { + public boolean onBlockPlacedBy(World world, BlockPos pos, Direction front, EntityLivingBase entityLiving, int metadata) { - NodeBlockEntity tileEntity = (NodeBlockEntity) world.getTileEntity(x, y, z); + NodeBlockEntity tileEntity = (NodeBlockEntity) world.getTileEntity(pos); tileEntity.onBlockPlacedBy(front, entityLiving, metadata); return true; } - //server - public void onBlockAdded(World par1World, int x, int y, int z) { - if (par1World.isRemote == false) { - NodeBlockEntity entity = (NodeBlockEntity) par1World.getTileEntity(x, y, z); + @SideOnly(Side.SERVER) + public void onBlockAdded(World par1World, BlockPos pos) { + if (!par1World.isRemote) { + NodeBlockEntity entity = (NodeBlockEntity) par1World.getTileEntity(pos); entity.onBlockAdded(); } } - //server - public void breakBlock(World par1World, int x, int y, int z, Block par5, int par6) { - - //if(par1World.isRemote == false) + @SideOnly(Side.SERVER) + public void breakBlock(World par1World, BlockPos pos, Block par5, int par6) { + if(!par1World.isRemote) { - NodeBlockEntity entity = (NodeBlockEntity) par1World.getTileEntity(x, y, z); + NodeBlockEntity entity = (NodeBlockEntity) par1World.getTileEntity(pos); entity.onBreakBlock(); - super.breakBlock(par1World, x, y, z, par5, par6); + super.breakBlock(par1World, pos, par5.getStateFromMeta( par6)); } } @Override - public void onNeighborBlockChange(World world, int x, int y, int z, Block b) { - if (Utils.isRemote(world) == false) { - NodeBlockEntity entity = (NodeBlockEntity) world.getTileEntity(x, y, z); + public void onNeighborChange(IBlockAccess world, BlockPos pos, BlockPos neighbor) { + if (!Utils.isRemote(world)) { + NodeBlockEntity entity = (NodeBlockEntity) world.getTileEntity(pos); entity.onNeighborBlockChange(); } } @Override - public int damageDropped(int metadata) { - return metadata; + public int damageDropped(IBlockState state) { + return getMetaFromState(state); } //@SideOnly(Side.CLIENT) @@ -128,19 +136,19 @@ public void getSubBlocks(int par1, CreativeTabs tab, List subItems) { } //client server - public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer entityPlayer, int side, float vx, float vy, float vz) { - NodeBlockEntity entity = (NodeBlockEntity) world.getTileEntity(x, y, z); + public boolean onBlockActivated(World world, BlockPos pos, EntityPlayer entityPlayer, int side, float vx, float vy, float vz) { + NodeBlockEntity entity = (NodeBlockEntity) world.getTileEntity(pos); // entityPlayer.openGui( Eln.instance, 0,world,x ,y, z); return entity.onBlockActivated(entityPlayer, Direction.fromIntMinecraftSide(side), vx, vy, vz); } @Override - public boolean hasTileEntity(int metadata) { - return true; + public boolean hasTileEntity(IBlockState state) { + return hasTileEntity(getDefaultState()); } @Override - public TileEntity createTileEntity(World var1, int meta) { + public TileEntity createTileEntity(World var1, IBlockState state) { try { return (TileEntity) tileEntityClass.getConstructor().newInstance(); } catch (InstantiationException e) { diff --git a/src/main/java/mods/eln/node/NodeBlockItem.java b/src/main/java/mods/eln/node/NodeBlockItem.java index a3c16e251..352ff63ff 100644 --- a/src/main/java/mods/eln/node/NodeBlockItem.java +++ b/src/main/java/mods/eln/node/NodeBlockItem.java @@ -1,9 +1,12 @@ package mods.eln.node; +import mods.eln.misc.Coordinate; +import mods.eln.misc.Direction; import net.minecraft.block.Block; import net.minecraft.entity.EntityLivingBase; import net.minecraft.item.ItemBlock; import net.minecraft.item.ItemStack; +import net.minecraft.util.math.BlockPos; import net.minecraft.world.World; public class NodeBlockItem extends ItemBlock { @@ -23,23 +26,24 @@ public int getMetadata(int damageValue) { /*int getBlockID(){ return Block.getIdFromBlock(getBlock()); }*/ - NodeBlock getBlock() { + public NodeBlock getBlock() { return (NodeBlock) Block.getBlockFromItem(this); } - public boolean placeBlockAt(ItemStack stack, EntityLivingBase player, World world, int x, int y, int z, int side, float hitX, float hitY, float hitZ, int metadata) { - /* if(world.isRemote) return false; + public boolean placeBlockAt(ItemStack stack, EntityLivingBase player, Coordinate coord, float hitX, float hitY, float hitZ, int metadata) { + World w = coord.world(); + BlockPos pos = coord.pos; + /*if(w.isRemote) return false; Direction direction = Direction.fromIntMinecraftSide(side).getInverse(); - NodeBase node = (NodeBase) getBlock().newNodeBase(); - node.onBlockPlacedBy(new Coordinate(x, y, z,world),direction,player,stack); + node.onBlockPlacedBy(new Coordinate(pos ,w),direction,player,stack); - world.setBlock(x, y, z, getBlock(), node.getBlockMetadata(),0x03);//caca1.5.1 - getBlock().onBlockPlacedBy(world, x, y, z,direction, player,metadata); + w.setBlockState(pos, getBlock(), node.getBlockMetadata(),0x03);//caca1.5.1 + getBlock().onBlockPlacedBy(w, pos, direction, player,metadata); node.checkCanStay(true); - */ + */ return false; } diff --git a/src/main/java/mods/eln/node/NodeEntityClientSender.java b/src/main/java/mods/eln/node/NodeEntityClientSender.java index 6bdb35911..6b10821f3 100644 --- a/src/main/java/mods/eln/node/NodeEntityClientSender.java +++ b/src/main/java/mods/eln/node/NodeEntityClientSender.java @@ -3,6 +3,7 @@ import mods.eln.Eln; import mods.eln.misc.UtilsClient; import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.math.BlockPos; import java.io.ByteArrayOutputStream; import java.io.DataOutputStream; @@ -21,12 +22,12 @@ public NodeEntityClientSender(TileEntity e, String nodeUuid) { public void preparePacketForServer(DataOutputStream stream) { try { stream.writeByte(Eln.packetPublishForNode); + BlockPos pos = e.getPos(); + stream.writeInt(pos.getX()); + stream.writeInt(pos.getY()); + stream.writeInt(pos.getZ()); - stream.writeInt(e.xCoord); - stream.writeInt(e.yCoord); - stream.writeInt(e.zCoord); - - stream.writeByte(e.getWorldObj().provider.dimensionId); + stream.writeByte(e.getWorld().provider.getDimension()); stream.writeUTF(nodeUuid); @@ -37,6 +38,7 @@ public void preparePacketForServer(DataOutputStream stream) { } } + public void sendPacketToServer(ByteArrayOutputStream bos) { UtilsClient.sendPacketToServer(bos); } diff --git a/src/main/java/mods/eln/node/NodeManager.java b/src/main/java/mods/eln/node/NodeManager.java index 0b52ff7c6..3147392c5 100644 --- a/src/main/java/mods/eln/node/NodeManager.java +++ b/src/main/java/mods/eln/node/NodeManager.java @@ -97,13 +97,21 @@ public void readFromNBT(NBTTagCompound nbt) { } @Override - public void writeToNBT(NBTTagCompound nbt) { - /* - * int nodeCounter = 0; for(NodeBase node : nodesmap.values()) { try { if(node.mustBeSaved() == false) continue; NBTTagCompound nbtNode = new NBTTagCompound(); nbtNode.setString("tag", node.getNodeUuid()); node.writeToNBT(nbtNode); nbt.setTag("n" + nodeCounter++, nbtNode); } catch (Exception e) { e.printStackTrace(); } - * - * } - */ - } + public NBTTagCompound writeToNBT(NBTTagCompound nbt) { + int nodeCounter = 0; + for(NodeBase node : nodesMap.values()) { + try { + if(!node.mustBeSaved()) { + continue; + } + NBTTagCompound nbtNode = new NBTTagCompound(); nbtNode.setString("tag", node.getNodeUuid()); node.writeToNBT(nbtNode); nbt.setTag("n" + nodeCounter++, nbtNode); } + catch (Exception e) { + e.printStackTrace(); + } + } + return nbt; + } + public NodeBase getNodeFromCoordinate(Coordinate nodeCoordinate) { int idx = 0; @@ -161,7 +169,7 @@ public void saveToNbt(NBTTagCompound nbt, int dim) { for (NodeBase node : nodesCopy) { try { if (node.mustBeSaved() == false) continue; - if (dim != Integer.MIN_VALUE && node.coordinate.dimension != dim) continue; + if (dim != Integer.MIN_VALUE && node.coordinate.getDimension() != dim) continue; NBTTagCompound nbtNode = new NBTTagCompound(); nbtNode.setString("tag", node.getNodeUuid()); node.writeToNBT(nbtNode); @@ -184,7 +192,7 @@ public void unload(int dimensionId) { Iterator i = nodes.iterator(); while (i.hasNext()) { NodeBase n = i.next(); - if (n.coordinate.dimension == dimensionId) { + if (n.coordinate.getDimension() == dimensionId) { n.unload(); i.remove(); nodesMap.remove(n.coordinate); diff --git a/src/main/java/mods/eln/node/NodeManagerNbt.java b/src/main/java/mods/eln/node/NodeManagerNbt.java index 51063bba9..11f741265 100644 --- a/src/main/java/mods/eln/node/NodeManagerNbt.java +++ b/src/main/java/mods/eln/node/NodeManagerNbt.java @@ -19,7 +19,8 @@ public void readFromNBT(NBTTagCompound nbt) { } @Override - public void writeToNBT(NBTTagCompound nbt) { - //NodeManager.instance.saveToNbt(nbt, Integer.MIN_VALUE); + public NBTTagCompound writeToNBT(NBTTagCompound nbt) { + NodeManager.instance.saveToNbt(nbt, Integer.MIN_VALUE); + return nbt; } } diff --git a/src/main/java/mods/eln/node/simple/SimpleNode.java b/src/main/java/mods/eln/node/simple/SimpleNode.java index 7a969e494..146d9abae 100644 --- a/src/main/java/mods/eln/node/simple/SimpleNode.java +++ b/src/main/java/mods/eln/node/simple/SimpleNode.java @@ -10,10 +10,13 @@ import mods.eln.sim.mna.component.Component; import mods.eln.sim.mna.state.State; import mods.eln.sim.nbt.NbtThermalLoad; +import net.minecraft.block.state.IBlockState; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.player.EntityPlayerMP; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.math.BlockPos; +import net.minecraft.world.World; import java.io.DataOutputStream; import java.io.IOException; @@ -40,12 +43,14 @@ public Direction getFront() { public void setFront(Direction front) { this.front = front; - if (applayFrontToMetadata()) { - coordinate.setMetadata(front.getInt()); + BlockPos pos = coordinate.pos; + World w = coordinate.world(); + if (applyFrontToMetadata()) { + w.setBlockState(pos, w.getBlockState(pos).getBlock().getStateFromMeta(front.getInt())); } } - protected boolean applayFrontToMetadata() { + protected boolean applyFrontToMetadata() { return false; } diff --git a/src/main/java/mods/eln/node/simple/SimpleNodeEntity.java b/src/main/java/mods/eln/node/simple/SimpleNodeEntity.java index d408d6a8c..de3519e4c 100644 --- a/src/main/java/mods/eln/node/simple/SimpleNodeEntity.java +++ b/src/main/java/mods/eln/node/simple/SimpleNodeEntity.java @@ -9,10 +9,12 @@ import mods.eln.node.NodeEntityClientSender; import mods.eln.node.NodeManager; import mods.eln.server.DelayedBlockRemove; +import net.minecraft.block.state.IBlockState; import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.Container; import net.minecraft.network.Packet; +import net.minecraft.network.play.server.SPacketCustomPayload; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.ITickable; import net.minecraftforge.fml.relauncher.Side; @@ -114,7 +116,8 @@ public Object getDescriptor() { public void serverPublishUnserialize(DataInputStream stream) { try { if (front != (front = Direction.fromInt(stream.readByte()))) { - worldObj.markBlockForUpdate(xCoord, yCoord, zCoord); + IBlockState state = this.worldObj.getBlockState(this.pos); + worldObj.notifyBlockUpdate(getPos(), state, state, 0); } } catch (IOException e) { e.printStackTrace(); @@ -126,6 +129,7 @@ public void serverPacketUnserialize(DataInputStream stream) { } + //TODO: FIX Packets @Override public Packet getDescriptionPacket() { SimpleNode node = getNode(); @@ -133,7 +137,7 @@ public Packet getDescriptionPacket() { Utils.println("ASSERT NULL NODE public Packet getDescriptionPacket() nodeblock entity"); return null; } - return new S3FPacketCustomPayload(Eln.channelName, node.getPublishPacket().toByteArray()); + return new SPacketCustomPayload(Eln.channelName, node.getPublishPacket()); } diff --git a/src/main/java/mods/eln/node/six/SixNodeBlock.java b/src/main/java/mods/eln/node/six/SixNodeBlock.java index b8cd44862..f49913f89 100644 --- a/src/main/java/mods/eln/node/six/SixNodeBlock.java +++ b/src/main/java/mods/eln/node/six/SixNodeBlock.java @@ -16,6 +16,8 @@ import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.EnumBlockRenderType; +import net.minecraft.util.EnumFacing; import net.minecraft.util.math.AxisAlignedBB; import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.RayTraceResult; @@ -57,36 +59,36 @@ public ItemStack getPickBlock(IBlockState state, RayTraceResult target, World wo // this.blockIcon = r.registerIcon("eln:air"); // } - public AxisAlignedBB getCollisionBoundingBoxFromPool(World par1World, int par2, int par3, int par4) { - if (nodeHasCache(par1World, par2, par3, par4) || hasVolume(par1World, par2, par3, par4)) - return super.getCollisionBoundingBoxFromPool(par1World, par2, par3, par4); + public AxisAlignedBB getCollisionBoundingBoxFromPool(World par1World, BlockPos pos) { + if (nodeHasCache(par1World, pos) || hasVolume(par1World, pos)) + return super.getCollisionBoundingBox(par1World.getBlockState(pos), par1World, pos); else return null; } - public boolean hasVolume(World world, int x, int y, int z) { - SixNodeEntity entity = getEntity(world, x, y, z); + public boolean hasVolume(World world, BlockPos pos) { + SixNodeEntity entity = getEntity(world, pos); if (entity == null) return false; - return entity.hasVolume(world, x, y, z); + return entity.hasVolume(world, pos.getX(), pos.getY(), pos.getZ()); } @Override - public float getBlockHardness(World world, int x, int y, int z) { + public float getBlockHardness(IBlockState blockState, World worldIn, BlockPos pos) { return 0.3f; } - @Override - public int getDamageValue(World world, int x, int y, int z) { + //@Override + public int getDamageValue(World world, BlockPos pos) { if (world == null) return 0; - SixNodeEntity entity = getEntity(world, x, y, z); - return entity == null ? 0 : entity.getDamageValue(world, x, y, z); + SixNodeEntity entity = getEntity(world, pos); + return entity == null ? 0 : entity.getDamageValue(world, pos.getX(), pos.getY(), pos.getZ()); } - SixNodeEntity getEntity(World world, int x, int y, int z) { - TileEntity tileEntity = world.getTileEntity(x, y, z); + SixNodeEntity getEntity(World world, BlockPos pos) { + TileEntity tileEntity = world.getTileEntity(pos); if (tileEntity != null && tileEntity instanceof SixNodeEntity) return (SixNodeEntity) tileEntity; Utils.println("ASSERTSixNodeEntity getEntity() null"); @@ -103,7 +105,7 @@ public void getSubBlocks(Item par1, CreativeTabs tab, List subItems) { } @Override - public boolean isOpaqueCube() { + public boolean isOpaqueCube(IBlockState state) { return false; } @@ -113,8 +115,8 @@ public boolean renderAsNormalBlock() { } @Override - public int getRenderType() { - return 0; + public EnumBlockRenderType getRenderType(IBlockState state) { + return state.getRenderType(); } /* @@ -124,7 +126,7 @@ public int getRenderType() { */ @Override - public Item getItemDropped(int p_149650_1_, Random p_149650_2_, int p_149650_3_) { + public Item getItemDropped(IBlockState state, Random rand, int fortune) { return null; } @@ -154,12 +156,12 @@ public int quantityDropped(Random par1Random) { // } @Override - public boolean isReplaceable(IBlockAccess world, int x, int y, int z) { + public boolean isReplaceable(IBlockAccess world, BlockPos pos) { return false; } @Override - public boolean canPlaceBlockOnSide(World par1World, int par2, int par3, int par4, int par5) { + public boolean canPlaceBlockOnSide(World par1World, BlockPos pos, EnumFacing facing) { /* see canPlaceBlockAt; it needs changing if this method is fixed */ return true;/* * if(par1World.isRemote) return true; SixNodeEntity tileEntity = (SixNodeEntity) par1World.getBlockTileEntity(par2, par3, par4); if(tileEntity == null || (tileEntity instanceof SixNodeEntity) == false) return true; Direction direction = Direction.fromIntMinecraftSide(par5); SixNode node = (SixNode) tileEntity.getNode(); if(node == null) return true; if(node.getSideEnable(direction))return false; @@ -169,7 +171,7 @@ public boolean canPlaceBlockOnSide(World par1World, int par2, int par3, int par4 } @Override - public boolean canPlaceBlockAt(World par1World, int par2, int par3, int par4) { + public boolean canPlaceBlockAt(World par1World, BlockPos pos) { /* This should probably call canPlaceBlockOnSide with each * appropriate side to see if it can go somewhere. * (cf. BlockLever, BlockTorch, etc) @@ -186,9 +188,8 @@ public boolean canPlaceBlockAt(World par1World, int par2, int par3, int par4) { } @Override - public boolean onBlockPlacedBy(World world, int x, int y, int z, Direction direction, EntityLivingBase entityLiving, int metadata) { + public void onBlockPlacedBy(World world, BlockPos pos, IBlockState state, EntityLivingBase entityLiving, ItemStack stack) { - return true; } /* @@ -196,48 +197,49 @@ public boolean onBlockPlacedBy(World world, int x, int y, int z, Direction direc * * return tileEntity.onBlockActivated(entityPlayer, Direction.fromIntMinecraftSide(minecraftSide),vx,vy,vz); } */ + @Override - public boolean removedByPlayer(World world, EntityPlayer entityPlayer, int x, int y, int z) { + public boolean removedByPlayer(IBlockState state, World world, BlockPos pos, EntityPlayer entityPlayer, boolean willHarvest) { if (world.isRemote) return false; - SixNodeEntity tileEntity = (SixNodeEntity) world.getTileEntity(x, y, z); + SixNodeEntity tileEntity = (SixNodeEntity) world.getTileEntity(pos); - MovingObjectPosition MOP = collisionRayTrace(world, x, y, z, entityPlayer); - if (MOP == null) return false; + RayTraceResult raytrace = collisionRayTrace(world, pos, entityPlayer); + if (raytrace == null) return false; SixNode sixNode = (SixNode) tileEntity.getNode(); if (sixNode == null) return true; - if (sixNode.sixNodeCacheBlock != Blocks.air) { + if (sixNode.sixNodeCacheBlock != Blocks.AIR) { - if (Utils.isCreative((EntityPlayerMP) entityPlayer) == false) { + if (!(Utils.isCreative((EntityPlayerMP) entityPlayer))) { ItemStack stack = new ItemStack(sixNode.sixNodeCacheBlock, 1, sixNode.sixNodeCacheBlockMeta); sixNode.dropItem(stack); } - sixNode.sixNodeCacheBlock = Blocks.air; + sixNode.sixNodeCacheBlock = Blocks.AIR; - Chunk chunk = world.getChunkFromBlockCoords(x, z); + Chunk chunk = world.getChunkFromBlockCoords(pos); Utils.generateHeightMap(chunk); Utils.updateSkylight(chunk); chunk.generateSkylightMap(); - Utils.updateAllLightTypes(world, x, y, z); + Utils.updateAllLightTypes(world, pos); sixNode.setNeedPublish(true); return false; } - if (false == sixNode.playerAskToBreakSubBlock((EntityPlayerMP) entityPlayer, Direction.fromIntMinecraftSide(MOP.sideHit))) + if (!sixNode.playerAskToBreakSubBlock((EntityPlayerMP) entityPlayer, Direction.fromIntMinecraftSide(raytrace.sideHit.getIndex()))) return false; if (sixNode.getIfSideRemain()) return true; - return super.removedByPlayer(world, entityPlayer, x, y, z); + return super.removedByPlayer(world.getBlockState(pos), world, pos, entityPlayer, willHarvest); } @Override - public void breakBlock(World world, int x, int y, int z, Block par5, int par6) { + public void breakBlock(World world, BlockPos pos, Block par5, int par6) { if (world.isRemote == false) { - SixNodeEntity tileEntity = (SixNodeEntity) world.getTileEntity(x, y, z); + SixNodeEntity tileEntity = (SixNodeEntity) world.getTileEntity(pos); SixNode sixNode = (SixNode) tileEntity.getNode(); if (sixNode == null) return; @@ -247,27 +249,29 @@ public void breakBlock(World world, int x, int y, int z, Block par5, int par6) { } } } - super.breakBlock(world, x, y, z, par5, par6); + super.breakBlock(world, pos, par5, par6); } @Override - public void onNeighborBlockChange(World world, int x, int y, int z, Block par5) { - SixNodeEntity tileEntity = (SixNodeEntity) world.getTileEntity(x, y, z); + //TODO: REQUIRES IBlockAccess + public void onNeighborBlockChange(World world, BlockPos pos, BlockPos par5) { + SixNodeEntity tileEntity = (SixNodeEntity) world.getTileEntity(pos); SixNode sixNode = (SixNode) tileEntity.getNode(); if (sixNode == null) return; for (Direction direction : Direction.values()) { if (sixNode.getSideEnable(direction)) { - if (!getIfOtherBlockIsSolid(world, x, y, z, direction)) { + if (!getIfOtherBlockIsSolid(world, pos, direction)) { sixNode.deleteSubBlock(null, direction); } } + } if (!sixNode.getIfSideRemain()) { - world.setBlockToAir(x, y, z); + world.setBlockToAir(pos); } else { - super.onNeighborBlockChange(world, x, y, z, par5); + super.onNeighborChange(world, pos, par5); } } @@ -280,7 +284,7 @@ public void onNeighborBlockChange(World world, int x, int y, int z, Block par5) public RayTraceResult collisionRayTrace(IBlockState blockState, World world, BlockPos pos, Vec3d start, Vec3d end) { // TODO(??): Pretty sure this can be improved. Do we even want to use collisionRayTrace? final int x = pos.getX(), y = pos.getY(), z = pos.getZ(); - if (nodeHasCache(world, x, y, z)) return super.collisionRayTrace(blockState, world, pos, start, end); + if (nodeHasCache(world, pos)) return super.collisionRayTrace(blockState, world, pos, start, end); SixNodeEntity tileEntity = (SixNodeEntity) world.getTileEntity(pos); if (tileEntity == null) return null; if (world.isRemote) { @@ -290,7 +294,7 @@ public RayTraceResult collisionRayTrace(IBlockState blockState, World world, Blo booltemp[3] = tileEntity.getSyncronizedSideEnable(Direction.YP); booltemp[4] = tileEntity.getSyncronizedSideEnable(Direction.ZN); booltemp[5] = tileEntity.getSyncronizedSideEnable(Direction.ZP); - SixNodeEntity entity = getEntity(world, x, y, z); + SixNodeEntity entity = getEntity(world, pos); if (entity != null) { SixNodeElementRender element = entity.elementRenderList[Direction.YN.getInt()]; // setBlockBounds(0, 0, 0, 1, 1, 1); @@ -309,7 +313,7 @@ public RayTraceResult collisionRayTrace(IBlockState blockState, World world, Blo booltemp[3] = sixNode.getSideEnable(Direction.YP); booltemp[4] = sixNode.getSideEnable(Direction.ZN); booltemp[5] = sixNode.getSideEnable(Direction.ZP); - SixNodeEntity entity = getEntity(world, x, y, z); + SixNodeEntity entity = getEntity(world, pos); if (entity != null) { NodeBase node = entity.getNode(); if (node != null && node instanceof SixNode) { @@ -414,7 +418,7 @@ private RayTraceResult collisionRayTrace(World world, BlockPos pos, EntityPlayer Vec3d var5 = entityLiving.getLook(0.5f); Vec3d end = start.addVector(var5.xCoord * distanceMax, var5.yCoord * distanceMax, var5.zCoord * distanceMax); - collisionRayTrace(world.getBlockState(pos), world, pos, start, end); + return collisionRayTrace(world.getBlockState(pos), world, pos, start, end); } boolean getIfOtherBlockIsSolid(World world, BlockPos pos, Direction direction) { diff --git a/src/main/java/mods/eln/node/six/SixNodeCacheStd.java b/src/main/java/mods/eln/node/six/SixNodeCacheStd.java index 1c1139b23..b30cece95 100644 --- a/src/main/java/mods/eln/node/six/SixNodeCacheStd.java +++ b/src/main/java/mods/eln/node/six/SixNodeCacheStd.java @@ -13,7 +13,7 @@ public boolean accept(ItemStack stack) { Block b = Block.getBlockFromItem(stack.getItem()); if (b == null) return false; if (b instanceof BlockContainer) return false; - return b.getRenderType() == 0 && stack.getItem() instanceof SixNodeItem == false; + return b.getRenderType(b.getDefaultState()).equals(0) && !(stack.getItem() instanceof SixNodeItem); } @Override diff --git a/src/main/java/mods/eln/node/six/SixNodeItem.java b/src/main/java/mods/eln/node/six/SixNodeItem.java index ed4e8feb6..9d2f6471a 100644 --- a/src/main/java/mods/eln/node/six/SixNodeItem.java +++ b/src/main/java/mods/eln/node/six/SixNodeItem.java @@ -12,6 +12,8 @@ import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.Blocks; import net.minecraft.item.ItemStack; +import net.minecraft.util.EnumFacing; +import net.minecraft.util.math.BlockPos; import net.minecraft.world.World; import org.lwjgl.opengl.GL11; @@ -31,43 +33,42 @@ public int getMetadata(int damageValue) { /** * Callback for item usage. If the item does something special on right clicking, he will have one of those. Return True if something happen and false if it don't. This is for ITEMS, not BLOCKS */ - public boolean onItemUse(ItemStack stack, EntityPlayer player, World world, int x, int y, int z, int side, float hitX, float hitY, float hitZ) { - Block block = world.getBlock(x, y, z); - - if ((block == Blocks.snow_layer) && ((world.getBlockMetadata(x, y, z) & 0x7) < 1)) { + public boolean onItemUse(ItemStack stack, EntityPlayer player, World world, BlockPos pos, int side, float hitX, float hitY, float hitZ) { + Block block = world.getBlockState(pos).getBlock(); + if ((block == Blocks.SNOW_LAYER) && ((Utils.getMetaFromPos(world, pos) & 0x7) < 1)) { side = 1; - } else if ((block != Blocks.vine) && (block != Blocks.tallgrass) && (block != Blocks.deadbush) && (!block.isReplaceable(world, x, y, z))) { + } else if ((block != Blocks.VINE) && (block != Blocks.TALLGRASS) && (block != Blocks.DEADBUSH) && (!block.isReplaceable(world, pos))) { if (side == 0) - y--; - + pos.add(0,-1,0); if (side == 1) - y++; + pos.add(0,1,0); if (side == 2) - z--; + pos.add(0,0,-1); if (side == 3) - z++; + pos.add(0,0,1); if (side == 4) - x--; + pos.add(-1,0,0); if (side == 5) - x++; + + pos.add(1,0,0); } if (stack.stackSize == 0) return false; - if (!player.canPlayerEdit(x, y, z, side, stack)) + if (!player.canPlayerEdit(pos, EnumFacing.getFacingFromVector(hitX,hitY,hitZ), stack)) return false; - if ((y == 255) && (this.field_150939_a.getMaterial().isSolid())) + if ((pos.getY() == 255) && (this.field_150939_a.getMaterial().isSolid())) return false; int i1 = getMetadata(stack.getItemDamage()); - int metadata = this.field_150939_a.onBlockPlaced(world, x, y, z, side, hitX, hitY, hitZ, i1); + int metadata = this.field_150939_a.onBlockPlaced(world, pos, side, hitX, hitY, hitZ, i1); - if (placeBlockAt(stack, player, world, x, y, z, side, hitX, hitY, hitZ, metadata)) { - world.playSoundEffect(x + 0.5F, y + 0.5F, z + 0.5F, this.field_150939_a.stepSound.func_150496_b(), (this.field_150939_a.stepSound.getVolume() + 1.0F) / 2.0F, this.field_150939_a.stepSound.getPitch() * 0.8F); + if (placeBlockAt(stack, player, world, pos, EnumFacing.getFacingFromVector(hitX, hitY, hitZ), hitX, hitY, hitZ, block.getStateFromMeta(metadata))) { + world.playSound(pos.getX() + 0.5F, pos.getY() + 0.5F, pos.getZ() + 0.5F, this.field_150939_a.stepSound.func_150496_b(), (this.field_150939_a.stepSound.getVolume() + 1.0F) / 2.0F, this.field_150939_a.stepSound.getPitch() * 0.8F); stack.stackSize -= 1; } @@ -102,19 +103,19 @@ public boolean isStackValidToPlace(ItemStack stack) { return descriptor != null; } - public boolean placeBlockAt(ItemStack stack, EntityPlayer player, World world, int x, int y, int z, int side, float hitX, float hitY, float hitZ, int metadata) { + public boolean placeBlockAt(ItemStack stack, EntityPlayer player, World world,BlockPos pos, int side, float hitX, float hitY, float hitZ, int metadata) { if (world.isRemote) return false; if (!isStackValidToPlace(stack)) return false; Direction direction = Direction.fromIntMinecraftSide(side).getInverse(); - Block blockOld = world.getBlock(x, y, z); + Block blockOld = world.getBlockState(pos).getBlock(); SixNodeBlock block = (SixNodeBlock) Block.getBlockFromItem(this); - if (blockOld == Blocks.air || blockOld.isReplaceable(world, x, y, z)) { + if (blockOld == Blocks.AIR || blockOld.isReplaceable(world, pos)) { // blockID = this.getBlockID(); - Coordinate coord = new Coordinate(x, y, z, world); + Coordinate coord = new Coordinate(pos, world); SixNodeDescriptor descriptor = getDescriptor(stack); String error; @@ -123,38 +124,38 @@ public boolean placeBlockAt(ItemStack stack, EntityPlayer player, World world, i return false; } - if (block.getIfOtherBlockIsSolid(world, x, y, z, direction)) { + if (block.getIfOtherBlockIsSolid(world, pos, direction)) { GhostGroup ghostgroup = descriptor.getGhostGroup(direction, LRDU.Up); if (ghostgroup != null) ghostgroup.plot(coord, coord, descriptor.getGhostGroupUuid()); SixNode sixNode = new SixNode(); - sixNode.onBlockPlacedBy(new Coordinate(x, y, z, world), direction, player, stack); + sixNode.onBlockPlacedBy(new Coordinate(pos, world), direction, player, stack); sixNode.createSubBlock(stack, direction, player); - world.setBlock(x, y, z, block, metadata, 0x03); - block.getIfOtherBlockIsSolid(world, x, y, z, direction); - block.onBlockPlacedBy(world, x, y, z, Direction.fromIntMinecraftSide(side).getInverse(), player, metadata); + world.setBlockState(pos, block.getStateFromMeta( metadata & 0x03)); + block.getIfOtherBlockIsSolid(world, pos, direction); + block.onBlockPlacedBy(world, pos, Direction.fromIntMinecraftSide(side).getInverse(), player, metadata); return true; } } else if (blockOld == block) { - SixNode sixNode = (SixNode) ((SixNodeEntity) world.getTileEntity(x, y, z)).getNode(); + SixNode sixNode = (SixNode) ((SixNodeEntity) world.getTileEntity(pos)).getNode(); if (sixNode == null) { - world.setBlockToAir(x, y, z); + world.setBlockToAir(pos); return false; } - if (sixNode.getSideEnable(direction) == false && block.getIfOtherBlockIsSolid(world, x, y, z, direction)) { + if (sixNode.getSideEnable(direction) == false && block.getIfOtherBlockIsSolid(world, pos, direction)) { sixNode.createSubBlock(stack, direction, player); - block.onBlockPlacedBy(world, x, y, z, Direction.fromIntMinecraftSide(side).getInverse(), player, metadata); + block.onBlockPlacedBy(world, pos, Direction.fromIntMinecraftSide(side).getInverse(), player, metadata); return true; } } else { - SixNode sixNode = (SixNode) ((SixNodeEntity) world.getTileEntity(x, y, z)).getNode(); + SixNode sixNode = (SixNode) ((SixNodeEntity) world.getTileEntity(pos)).getNode(); if (sixNode == null) { - world.setBlockToAir(x, y, z); + world.setBlockToAir(pos); return false; } } diff --git a/src/main/java/mods/eln/node/transparent/TransparentNodeBlock.java b/src/main/java/mods/eln/node/transparent/TransparentNodeBlock.java index 4fd4c3a61..41f7e967e 100644 --- a/src/main/java/mods/eln/node/transparent/TransparentNodeBlock.java +++ b/src/main/java/mods/eln/node/transparent/TransparentNodeBlock.java @@ -1,6 +1,7 @@ package mods.eln.node.transparent; import mods.eln.Eln; +import mods.eln.misc.Utils; import mods.eln.node.NodeBase; import mods.eln.node.NodeBlock; import mods.eln.node.NodeBlockEntity; @@ -12,6 +13,7 @@ import net.minecraft.entity.player.EntityPlayerMP; import net.minecraft.item.Item; import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.EnumBlockRenderType; import net.minecraft.util.EnumFacing; import net.minecraft.util.math.AxisAlignedBB; import net.minecraft.util.math.BlockPos; @@ -46,7 +48,7 @@ public void getSubBlocks(Item par1, CreativeTabs tab, List subItems) { } @Override - public boolean isOpaqueCube() { + public boolean isOpaqueCube(IBlockState state) { return false; } @@ -56,15 +58,15 @@ public boolean renderAsNormalBlock() { } @Override - public int getRenderType() { - return -1; + public EnumBlockRenderType getRenderType(IBlockState state) { + return state.getRenderType(); } @Override - public boolean removedByPlayer(World world, EntityPlayer entityPlayer, int x, int y, int z) { + public boolean removedByPlayer(IBlockState state, World world, EntityPlayer entityPlayer, BlockPos pos, boolean willHarvest) { if (!world.isRemote) { - NodeBlockEntity entity = (NodeBlockEntity) world.getTileEntity(x, y, z); + NodeBlockEntity entity = (NodeBlockEntity) world.getTileEntity(pos); if (entity != null) { NodeBase nodeBase = entity.getNode(); if (nodeBase instanceof TransparentNode) { @@ -74,24 +76,24 @@ public boolean removedByPlayer(World world, EntityPlayer entityPlayer, int x, in } } - return super.removedByPlayer(world, entityPlayer, x, y, z); + return super.removedByPlayer(state, world, pos, entityPlayer, willHarvest); } @Override - public int getDamageValue(World world, int x, int y, int z) { + public int getDamageValue(World world, BlockPos pos) { if (world == null) return 0; - TileEntity tile = world.getTileEntity(x, y, z); + TileEntity tile = world.getTileEntity(pos); if (tile != null && tile instanceof TransparentNodeEntity) - return ((TransparentNodeEntity) world.getTileEntity(x, y, z)).getDamageValue(world, x, y, z); + return ((TransparentNodeEntity) world.getTileEntity(pos)).getDamageValue(world, pos); return 0; } @Override - public int getLightOpacity(IBlockAccess world, int x, int y, int z) { - return (world.getBlockMetadata(x, y, z) & 3) << 6; + public int getLightValue(IBlockAccess world, BlockPos pos) { + return (world.getBlockState(pos).getBlock().getMetaFromState(world.getBlockState(pos)) & 3) << 6; } @@ -105,20 +107,20 @@ public int quantityDropped(Random par1Random) { return 0; } - public void addCollisionBoxesToList(World world, int x, int y, int z, AxisAlignedBB par5AxisAlignedBB, List list, Entity entity) { - TileEntity tileEntity = world.getTileEntity(x, y, z); + public void addCollisionBoxesToList(World world, BlockPos pos, AxisAlignedBB par5AxisAlignedBB, List list, Entity entity) { + TileEntity tileEntity = world.getTileEntity(pos); if (tileEntity == null || (tileEntity instanceof TransparentNodeEntity == false)) { - super.addCollisionBoxesToList(world, x, y, z, par5AxisAlignedBB, list, entity); + super.addCollisionBoxToList(world.getBlockState(pos), world, pos, par5AxisAlignedBB, list, entity); } else { ((TransparentNodeEntity) tileEntity).addCollisionBoxesToList(par5AxisAlignedBB, list, null); } } @Override - public TileEntity createTileEntity(World var1, int meta) { + public TileEntity createTileEntity(World var1, IBlockState state) { try { for (EntityMetaTag tag : EntityMetaTag.values()) { - if (tag.meta == meta) { + if (tag.meta == state.getBlock().getMetaFromState(state)) { return (TileEntity) tag.cls.getConstructor().newInstance(); } } @@ -126,7 +128,7 @@ public TileEntity createTileEntity(World var1, int meta) { // Only real fix is to replace the blocks, but there should be no // serious downside to getting the wrong subclass so long as they really // wanted the superclass. - System.out.println("Unknown block meta-tag: " + meta); + System.out.println("Unknown block meta-tag: " + state.getBlock().getMetaFromState(state)); return (TileEntity) EntityMetaTag.Basic.cls.getConstructor().newInstance(); } catch (InstantiationException e) { e.printStackTrace(); diff --git a/src/main/java/mods/eln/node/transparent/TransparentNodeDescriptor.java b/src/main/java/mods/eln/node/transparent/TransparentNodeDescriptor.java index d7f125189..ef90159b2 100644 --- a/src/main/java/mods/eln/node/transparent/TransparentNodeDescriptor.java +++ b/src/main/java/mods/eln/node/transparent/TransparentNodeDescriptor.java @@ -101,47 +101,48 @@ public boolean mustHaveWallFrontInverse() { return false; } + //TODO: REFACTOR public String checkCanPlace(Coordinate coord, Direction front) { Block block; boolean needDestroy = false; if (mustHaveFloor()) { Coordinate temp = new Coordinate(coord); temp.move(Direction.YN); - block = temp.getBlock(); - if (block == null || ((!block.isOpaqueCube()) && block instanceof BlockHopper == false)) + block = temp.getBlockState().getBlock(); + if (block == null || ((!block.isOpaqueCube(temp.getBlockState())) && block instanceof BlockHopper == false)) return tr("You can't place this block at this side"); } if (mustHaveCeiling()) { Coordinate temp = new Coordinate(coord); temp.move(Direction.YP); - block = temp.getBlock(); - if (block == null || !block.isOpaqueCube()) return tr("You can't place this block at this side"); + block = temp.getBlockState().getBlock(); + if (block == null || !block.isOpaqueCube(temp.getBlockState())) return tr("You can't place this block at this side"); } if (mustHaveWallFrontInverse()) { Coordinate temp = new Coordinate(coord); temp.move(front.getInverse()); - block = temp.getBlock(); - if (block == null || !block.isOpaqueCube()) return tr("You can't place this block at this side"); + block = temp.getBlockState().getBlock(); + if (block == null || !block.isOpaqueCube(temp.getBlockState())) return tr("You can't place this block at this side"); } if (mustHaveWall()) { Coordinate temp; boolean wall = false; temp = new Coordinate(coord); temp.move(Direction.XN); - block = temp.getBlock(); - if (block != null && block.isOpaqueCube()) wall = true; + block = temp.getBlockState().getBlock(); + if (block != null && block.isOpaqueCube(temp.getBlockState())) wall = true; temp = new Coordinate(coord); temp.move(Direction.XP); - block = temp.getBlock(); - if (block != null && block.isOpaqueCube()) wall = true; + block = temp.getBlockState().getBlock(); + if (block != null && block.isOpaqueCube(temp.getBlockState())) wall = true; temp = new Coordinate(coord); temp.move(Direction.ZN); - block = temp.getBlock(); - if (block != null && block.isOpaqueCube()) wall = true; + block = temp.getBlockState().getBlock(); + if (block != null && block.isOpaqueCube(temp.getBlockState())) wall = true; temp = new Coordinate(coord); temp.move(Direction.ZP); - block = temp.getBlock(); - if (block != null && block.isOpaqueCube()) wall = true; + block = temp.getBlockState().getBlock();; + if (block != null && block.isOpaqueCube(temp.getBlockState())) wall = true; if (!wall) return tr("You can't place this block at this side"); } diff --git a/src/main/java/mods/eln/node/transparent/TransparentNodeElementRender.java b/src/main/java/mods/eln/node/transparent/TransparentNodeElementRender.java index 03f5d4f45..b4335f49b 100644 --- a/src/main/java/mods/eln/node/transparent/TransparentNodeElementRender.java +++ b/src/main/java/mods/eln/node/transparent/TransparentNodeElementRender.java @@ -37,6 +37,7 @@ protected EntityItem unserializeItemStackToEntityItem(DataInputStream stream, En } + //TODO: ITEM RENDERING public void drawEntityItem(EntityItem entityItem, double x, double y, double z, float roty, float scale) {/* if(entityItem == null) return; @@ -209,7 +210,7 @@ public CableRenderType drawCable(Direction side, CableRenderDescriptor render, L for (LRDU lrdu : LRDU.values()) { Utils.setGlColorFromDye(renderPreProcess.otherdry[lrdu.toInt()]); - if (connection.get(lrdu) == false) continue; + if (!connection.get(lrdu)) continue; maskTempDraw.set(1 << lrdu.toInt()); CableRender.drawCable(render, maskTempDraw, renderPreProcess); } @@ -229,7 +230,7 @@ public void serverPacketUnserialize(DataInputStream stream) { } protected Coordinate coordinate() { - return new Coordinate(tileEntity.xCoord, tileEntity.yCoord, tileEntity.zCoord, tileEntity.getWorldObj()); + return new Coordinate(tileEntity.getPos(), tileEntity.getWorld()); } diff --git a/src/main/java/mods/eln/node/transparent/TransparentNodeEntity.java b/src/main/java/mods/eln/node/transparent/TransparentNodeEntity.java index bd935a57a..ebb1b4e64 100644 --- a/src/main/java/mods/eln/node/transparent/TransparentNodeEntity.java +++ b/src/main/java/mods/eln/node/transparent/TransparentNodeEntity.java @@ -26,6 +26,7 @@ import java.lang.reflect.InvocationTargetException; import java.util.List; +//TODO: FIX ISidedInventory 1.10 public class TransparentNodeEntity extends NodeBlockEntity implements ISidedInventory { // boolean[] syncronizedSideEnable = new boolean[6]; TransparentNodeElementRender elementRender = null; short elementRenderId; @@ -111,7 +112,7 @@ public boolean cameraDrawOptimisation() { return elementRender.cameraDrawOptimisation(); } - public int getDamageValue(World world, int x, int y, int z) { + public int getDamageValue(World world, BlockPos pos) { if (world.isRemote) { return elementRenderId; } @@ -225,7 +226,7 @@ public void setInventorySlotContents(int var1, ItemStack var2) { @Override public String getInventoryName() { - return getSidedInventory().getInventoryName(); + return getSidedInventory().getName(); } @Override diff --git a/src/main/java/mods/eln/node/transparent/TransparentNodeItem.java b/src/main/java/mods/eln/node/transparent/TransparentNodeItem.java index 228ba1ec5..681b68cfd 100644 --- a/src/main/java/mods/eln/node/transparent/TransparentNodeItem.java +++ b/src/main/java/mods/eln/node/transparent/TransparentNodeItem.java @@ -9,6 +9,7 @@ import net.minecraft.block.Block; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; +import net.minecraft.util.math.BlockPos; import net.minecraft.world.World; public class TransparentNodeItem extends GenericItemBlockUsingDamage { @@ -22,22 +23,20 @@ public TransparentNodeItem(Block b) { @Override - public boolean placeBlockAt(ItemStack stack, EntityPlayer player, World world, int x, int y, int z, int side, float hitX, float hitY, float hitZ, int metadata) { + public boolean placeBlockAt(ItemStack stack, EntityPlayer player, World world, BlockPos pos, int side, float hitX, float hitY, float hitZ, int metadata) { if (world.isRemote) return false; TransparentNodeDescriptor descriptor = getDescriptor(stack); Direction direction = Direction.fromIntMinecraftSide(side).getInverse(); Direction front = descriptor.getFrontFromPlace(direction, player); int[] v = new int[]{descriptor.getSpawnDeltaX(), descriptor.getSpawnDeltaY(), descriptor.getSpawnDeltaZ()}; front.rotateFromXN(v); - x += v[0]; - y += v[1]; - z += v[2]; + pos.add(v[0], v[1], v[2]); - Block bb = world.getBlock(x, y, z); - if (bb.isReplaceable(world, x, y, z)) ; + Block bb = world.getBlockState(pos).getBlock(); + if (bb.isReplaceable(world, pos)) ; //if(world.getBlock(x, y, z) != Blocks.air) return false; - Coordinate coord = new Coordinate(x, y, z, world); + Coordinate coord = new Coordinate(pos, world); String error; @@ -51,9 +50,9 @@ public boolean placeBlockAt(ItemStack stack, EntityPlayer player, World world, i TransparentNode node = new TransparentNode(); node.onBlockPlacedBy(coord, front, player, stack); - - world.setBlock(x, y, z, Block.getBlockFromItem(this), node.getBlockMetadata(), 0x03);//caca1.5.1 - ((NodeBlock) Block.getBlockFromItem(this)).onBlockPlacedBy(world, x, y, z, direction, player, metadata); + //TODO: Probably use getStateForPlacement instead + world.setBlockState(pos, Block.getBlockFromItem(this).getStateFromMeta(node.getBlockMetadata() & 0x03));//caca1.5.1 + ((NodeBlock) Block.getBlockFromItem(this)).onBlockPlacedBy(world, pos, direction, player, metadata); node.checkCanStay(true); diff --git a/src/main/java/mods/eln/sixnode/lampsocket/LightBlockEntity.java b/src/main/java/mods/eln/sixnode/lampsocket/LightBlockEntity.java index 00c8cc511..e79ac0be0 100644 --- a/src/main/java/mods/eln/sixnode/lampsocket/LightBlockEntity.java +++ b/src/main/java/mods/eln/sixnode/lampsocket/LightBlockEntity.java @@ -113,13 +113,13 @@ void lightManager() { public void updateEntity() { if (worldObj.isRemote) return; - + BlockPos pos = this.pos; if (lightList.isEmpty()) { // worldObj.setBlockMetadataWithNotify(xCoord, yCoord, zCoord, 1, 2); - worldObj.setBlockToAir(new BlockPos(this.pos.getX(), this.pos.getY(), this.pos.getZ())); + worldObj.setBlockToAir(pos); //worldObj.updateLightByType(EnumSkyBlock.Block, xCoord, yCoord, zCoord); //Eln.instance.tileEntityDestructor.add(this); - Utils.println("Destroy light at " + this.pos.getX() + " " + this.pos.getY() + " " + this.pos.getZ() + " "); + Utils.println("Destroy light at " + pos.getX() + " " + pos.getY() + " " + pos.getZ() + " "); return; } From e9b8a9114e741d145f9f490781957f9a848217cc Mon Sep 17 00:00:00 2001 From: XGodL Date: Tue, 28 Aug 2018 21:02:25 +0100 Subject: [PATCH 17/61] Fixed some stuff --- src/main/java/mods/eln/node/NodeBase.java | 20 +++++++------- src/main/java/mods/eln/node/NodeManager.java | 26 ++++++++++--------- .../java/mods/eln/node/six/SixNodeItem.java | 23 ++++++++-------- .../node/transparent/TransparentNodeItem.java | 2 +- 4 files changed, 36 insertions(+), 35 deletions(-) diff --git a/src/main/java/mods/eln/node/NodeBase.java b/src/main/java/mods/eln/node/NodeBase.java index e6e14ab1e..7d3355542 100644 --- a/src/main/java/mods/eln/node/NodeBase.java +++ b/src/main/java/mods/eln/node/NodeBase.java @@ -136,14 +136,14 @@ public boolean isBlockOpaque(Direction direction) { } public static boolean isBlockWrappable(Block block, World w, BlockPos pos) { + Block[] blocks = {Blocks.AIR, Eln.sixNodeBlock, Blocks.TORCH, Blocks.REDSTONE_TORCH, Blocks.UNLIT_REDSTONE_TORCH, Blocks.REDSTONE_WIRE}; if (block.isReplaceable(w, pos)) return true; - if (block == Blocks.AIR) return true; - if (block == Eln.sixNodeBlock) return true; + + for (int i = 0; i < blocks.length; i++) { + if (block == blocks[i]) return true; + } + if (block instanceof GhostBlock) return true; - if (block == Blocks.TORCH) return true; - if (block == Blocks.REDSTONE_TORCH) return true; - if (block == Blocks.UNLIT_REDSTONE_TORCH) return true; - if (block == Blocks.REDSTONE_WIRE) return true; return false; } @@ -301,12 +301,12 @@ public void connectJob() { //int[] otherBlockCoord = new int[3]; for (Direction direction : Direction.values()) { if (isBlockWrappable(direction)) { - BlockPos emptyBlockCoord = coordinate.pos; - direction.applyTo(new BlockPos.MutableBlockPos(emptyBlockCoord), 1); + BlockPos.MutableBlockPos emptyBlockCoord = new BlockPos.MutableBlockPos(coordinate.pos); + direction.applyTo(emptyBlockCoord, 1); for (LRDU lrdu : LRDU.values()) { Direction elementSide = direction.applyLRDU(lrdu); - BlockPos otherBlockCoord = emptyBlockCoord; - elementSide.applyTo(new BlockPos.MutableBlockPos(otherBlockCoord), 1); + BlockPos.MutableBlockPos otherBlockCoord = new BlockPos.MutableBlockPos(emptyBlockCoord); + elementSide.applyTo(otherBlockCoord, 1); NodeBase otherNode = NodeManager.instance.getNodeFromCoordinate(new Coordinate(otherBlockCoord, coordinate.getDimension())); if (otherNode == null) continue; Direction otherDirection = elementSide.getInverse(); diff --git a/src/main/java/mods/eln/node/NodeManager.java b/src/main/java/mods/eln/node/NodeManager.java index 3147392c5..40da897e0 100644 --- a/src/main/java/mods/eln/node/NodeManager.java +++ b/src/main/java/mods/eln/node/NodeManager.java @@ -83,17 +83,15 @@ public boolean isDirty() { public void readFromNBT(NBTTagCompound nbt) { int i = 0; i++; - /* - * for(Object o : Utils.getTags(nbt)) { NBTTagCompound tag = (NBTTagCompound) o; Class nodeClass = UUIDToClass.get(tag.getString("tag")); try { NodeBase node = (NodeBase) nodeClass.getConstructor().newInstance(); node.readFromNBT(tag); addNode(node); node.initializeFromNBT(); - * - * } catch (Exception e) { e.printStackTrace(); } - * - * } - * - * - * - * for(NodeBase node : nodes){ node.globalBoot(); } - */ + for(Object o : Utils.getTags(nbt)) { NBTTagCompound tag = (NBTTagCompound) o; Class nodeClass = UUIDToClass.get(tag.getString("tag")); try { NodeBase node = (NodeBase) nodeClass.getConstructor().newInstance(); node.readFromNBT(tag); addNode(node); node.initializeFromNBT(); + + } catch (Exception e) { e.printStackTrace(); } + + } + + + + for(NodeBase node : nodes){ node.globalBoot(); } } @Override @@ -104,7 +102,11 @@ public NBTTagCompound writeToNBT(NBTTagCompound nbt) { if(!node.mustBeSaved()) { continue; } - NBTTagCompound nbtNode = new NBTTagCompound(); nbtNode.setString("tag", node.getNodeUuid()); node.writeToNBT(nbtNode); nbt.setTag("n" + nodeCounter++, nbtNode); } + NBTTagCompound nbtNode = new NBTTagCompound(); + nbtNode.setString("tag", node.getNodeUuid()); + node.writeToNBT(nbtNode); + nbt.setTag("n" + nodeCounter++, nbtNode); + } catch (Exception e) { e.printStackTrace(); } diff --git a/src/main/java/mods/eln/node/six/SixNodeItem.java b/src/main/java/mods/eln/node/six/SixNodeItem.java index 9d2f6471a..3569e40dc 100644 --- a/src/main/java/mods/eln/node/six/SixNodeItem.java +++ b/src/main/java/mods/eln/node/six/SixNodeItem.java @@ -39,22 +39,21 @@ public boolean onItemUse(ItemStack stack, EntityPlayer player, World world, Bloc side = 1; } else if ((block != Blocks.VINE) && (block != Blocks.TALLGRASS) && (block != Blocks.DEADBUSH) && (!block.isReplaceable(world, pos))) { if (side == 0) - pos.add(0,-1,0); + pos = pos.add(0,-1,0); if (side == 1) - - pos.add(0,1,0); + pos = pos.add(0,1,0); if (side == 2) - pos.add(0,0,-1); + pos = pos.add(0,0,-1); if (side == 3) - pos.add(0,0,1); + pos = pos.add(0,0,1); if (side == 4) - pos.add(-1,0,0); + pos = pos.add(-1,0,0); if (side == 5) - pos.add(1,0,0); + pos = pos.add(1,0,0); } if (stack.stackSize == 0) @@ -81,18 +80,18 @@ public boolean onItemUse(ItemStack stack, EntityPlayer player, World world, Bloc // func_150936_a <= canPlaceItemBlockOnSide @Override - public boolean func_150936_a(World par1World, int x, int y, int z, int par5, EntityPlayer par6EntityPlayer, ItemStack par7ItemStack) { + public boolean func_150936_a(World par1World, BlockPos pos, int par5, EntityPlayer par6EntityPlayer, ItemStack par7ItemStack) { if (!isStackValidToPlace(par7ItemStack)) return false; - int[] vect = new int[]{x, y, z}; + int[] vect = new int[]{pos.getX(), pos.getY(), pos.getZ()}; Direction.fromIntMinecraftSide(par5).applyTo(vect, 1); SixNodeDescriptor descriptor = getDescriptor(par7ItemStack); - if (descriptor.canBePlacedOnSide(par6EntityPlayer, new Coordinate(x, y, z, par1World), Direction.fromIntMinecraftSide(par5).getInverse()) == false) { + if (descriptor.canBePlacedOnSide(par6EntityPlayer, new Coordinate(pos, par1World), Direction.fromIntMinecraftSide(par5).getInverse()) == false) { return false; } - if (par1World.getBlock(vect[0], vect[1], vect[2]) == Eln.sixNodeBlock) + if (par1World.getBlockState(new BlockPos(vect[0], vect[1], vect[2])).getBlock() == Eln.sixNodeBlock) return true; - if (super.func_150936_a(par1World, x, y, z, par5, par6EntityPlayer, par7ItemStack)) + if (super.func_150936_a(par1World, pos, par5, par6EntityPlayer, par7ItemStack)) return true; return false; diff --git a/src/main/java/mods/eln/node/transparent/TransparentNodeItem.java b/src/main/java/mods/eln/node/transparent/TransparentNodeItem.java index 681b68cfd..fa4fbd933 100644 --- a/src/main/java/mods/eln/node/transparent/TransparentNodeItem.java +++ b/src/main/java/mods/eln/node/transparent/TransparentNodeItem.java @@ -30,7 +30,7 @@ public boolean placeBlockAt(ItemStack stack, EntityPlayer player, World world, B Direction front = descriptor.getFrontFromPlace(direction, player); int[] v = new int[]{descriptor.getSpawnDeltaX(), descriptor.getSpawnDeltaY(), descriptor.getSpawnDeltaZ()}; front.rotateFromXN(v); - pos.add(v[0], v[1], v[2]); + pos = pos.add(v[0], v[1], v[2]); Block bb = world.getBlockState(pos).getBlock(); if (bb.isReplaceable(world, pos)) ; From eee84c64f062f94e7a62927c01a868d248ab35dc Mon Sep 17 00:00:00 2001 From: XGodL Date: Wed, 29 Aug 2018 16:34:44 +0100 Subject: [PATCH 18/61] A lot of fixes related mainly to block.isAir() --- .../java/mods/eln/client/ClientProxy.java | 1 + .../mods/eln/entity/ReplicatorPopProcess.java | 8 +++++--- .../eventhandlers/ElnForgeEventsHandler.java | 2 +- .../generic/GenericItemBlockUsingDamage.java | 6 ++++-- .../mods/eln/generic/genericArmorItem.java | 2 +- .../eln/item/electricalitem/LampItem.java | 19 ++++++++----------- .../PortableOreScannerItem.java | 7 ++++--- src/main/java/mods/eln/node/NodeBase.java | 8 ++++++-- src/main/java/mods/eln/node/six/SixNode.java | 8 ++++---- .../java/mods/eln/node/six/SixNodeBlock.java | 2 +- .../java/mods/eln/node/six/SixNodeEntity.java | 2 +- .../java/mods/eln/node/six/SixNodeItem.java | 2 +- .../mods/eln/server/DelayedBlockRemove.java | 2 +- .../sim/process/destruct/WorldExplosion.java | 5 +++-- .../sixnode/lampsocket/LampSocketProcess.java | 6 +++--- .../autominer/AutoMinerSlowProcess.java | 17 ++++++++--------- .../ElectricalAntennaTxSlowProcess.java | 18 ++++++++++++------ .../waterturbine/WaterTurbineDescriptor.java | 6 +++--- 18 files changed, 67 insertions(+), 54 deletions(-) diff --git a/src/main/java/mods/eln/client/ClientProxy.java b/src/main/java/mods/eln/client/ClientProxy.java index 05a476468..1314b61b1 100644 --- a/src/main/java/mods/eln/client/ClientProxy.java +++ b/src/main/java/mods/eln/client/ClientProxy.java @@ -22,6 +22,7 @@ public class ClientProxy extends CommonProxy { public static UuidManager uuidManager; public static SoundClientEventListener soundClientEventListener; + //TODO: FIX ITEM RENDERING 1.10 @Override public void registerRenderers() { new ClientPacketHandler(); diff --git a/src/main/java/mods/eln/entity/ReplicatorPopProcess.java b/src/main/java/mods/eln/entity/ReplicatorPopProcess.java index c9c3ef155..aef3132a8 100644 --- a/src/main/java/mods/eln/entity/ReplicatorPopProcess.java +++ b/src/main/java/mods/eln/entity/ReplicatorPopProcess.java @@ -1,5 +1,6 @@ package mods.eln.entity; +import net.minecraft.util.math.BlockPos; import net.minecraftforge.fml.common.FMLCommonHandler; import mods.eln.misc.Utils; import mods.eln.sim.IProcess; @@ -33,7 +34,7 @@ public void process(double time) { } } - if (world.difficultySetting == EnumDifficulty.PEACEFUL) return; + if (world.getDifficulty() == EnumDifficulty.PEACEFUL) return; if (world.getWorldInfo().isThundering()) { MinecraftServer server = FMLCommonHandler.instance().getMinecraftServerInstance(); @@ -44,11 +45,12 @@ public void process(double time) { x = (int) (player.posX + Utils.rand(-100, 100)); z = (int) (player.posZ + Utils.rand(-100, 100)); y = 2; + BlockPos pos = new BlockPos(x,y,z) Utils.println("POP"); - if (world.blockExists(x, y, z) == false) break; + if (world.blockExists(pos) == false) break; - while (world.getBlock(x, y, z) != Blocks.air || Utils.getLight(world, EnumSkyBlock.Block, x, y, z) > 6) { + while (world.isAirBlock(pos) || Utils.getLight(world, EnumSkyBlock.BLOCK, pos) > 6) { y++; } diff --git a/src/main/java/mods/eln/eventhandlers/ElnForgeEventsHandler.java b/src/main/java/mods/eln/eventhandlers/ElnForgeEventsHandler.java index 7b6c78c10..416300433 100644 --- a/src/main/java/mods/eln/eventhandlers/ElnForgeEventsHandler.java +++ b/src/main/java/mods/eln/eventhandlers/ElnForgeEventsHandler.java @@ -16,7 +16,7 @@ public class ElnForgeEventsHandler { @SideOnly(Side.CLIENT) @SuppressWarnings("unused") public void openGuide(GuiOpenEvent e) { - if (e.gui instanceof Root) { + if (e.getGui() instanceof Root) { Eln.elnNetwork.sendToServer(p); } } diff --git a/src/main/java/mods/eln/generic/GenericItemBlockUsingDamage.java b/src/main/java/mods/eln/generic/GenericItemBlockUsingDamage.java index 5e418c5ba..169713528 100644 --- a/src/main/java/mods/eln/generic/GenericItemBlockUsingDamage.java +++ b/src/main/java/mods/eln/generic/GenericItemBlockUsingDamage.java @@ -9,6 +9,7 @@ import net.minecraft.item.Item; import net.minecraft.item.ItemBlock; import net.minecraft.item.ItemStack; +import net.minecraft.util.math.BlockPos; import net.minecraft.world.World; import net.minecraftforge.fml.common.registry.GameRegistry; import net.minecraftforge.fml.relauncher.Side; @@ -47,7 +48,7 @@ public void addDescriptor(int damage, Descriptor descriptor) { orderList.add(damage); descriptors.add(descriptor); descriptor.setParent(this, damage); - GameRegistry.registerCustomItemStack(descriptor.name, descriptor.newItemStack(1)); + GameRegistry.registerItem(descriptor.parentItem); } public void addWithoutRegistry(int damage, Descriptor descriptor) { @@ -144,8 +145,9 @@ public boolean onEntityItemUpdate(EntityItem entityItem) { return false; } + //TODO: Maybe its onItemUse only? @Override - public boolean onItemUseFirst(ItemStack stack, EntityPlayer player, World world, int x, int y, int z, int side, float hitX, float hitY, float hitZ) { + public boolean onItemUseFirst(ItemStack stack, EntityPlayer player, World world, BlockPos pos, int side, float hitX, float hitY, float hitZ) { Descriptor desc = getDescriptor(stack); if (desc != null) return desc.onItemUseFirst(stack, player); return false; diff --git a/src/main/java/mods/eln/generic/genericArmorItem.java b/src/main/java/mods/eln/generic/genericArmorItem.java index 28020aa0d..bde6aa2ee 100644 --- a/src/main/java/mods/eln/generic/genericArmorItem.java +++ b/src/main/java/mods/eln/generic/genericArmorItem.java @@ -33,7 +33,7 @@ public genericArmorItem(ArmorMaterial par2EnumArmorMaterial, int par3, ArmourTyp @Override public String getArmorTexture(ItemStack stack, Entity entity, int slot, String layer) { - if (this.armorType == 2) { + if (this.armorType.getIndex() == 2) { return t2; } else { return t1; diff --git a/src/main/java/mods/eln/item/electricalitem/LampItem.java b/src/main/java/mods/eln/item/electricalitem/LampItem.java index efcea4603..ccb514c6c 100644 --- a/src/main/java/mods/eln/item/electricalitem/LampItem.java +++ b/src/main/java/mods/eln/item/electricalitem/LampItem.java @@ -5,8 +5,8 @@ import mods.eln.sixnode.lampsocket.LightBlockEntity; import net.minecraft.block.Block; import net.minecraft.entity.Entity; -import net.minecraft.init.Blocks; import net.minecraft.item.ItemStack; +import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.MathHelper; import net.minecraft.util.math.Vec3d; import net.minecraft.world.World; @@ -34,10 +34,7 @@ public void onUpdate(ItemStack stack, World world, Entity entity, int par4, bool double x = entity.posX, y = entity.posY + 1.62 - yOffset, z = entity.posZ; Vec3d v = entity.getLookVec(); - - v.xCoord *= 0.25; - v.yCoord *= 0.25; - v.zCoord *= 0.25; + v = new Vec3d(v.xCoord * 0.25, v.yCoord * 0.25, v.zCoord * 0.25); int range = getRange(stack) + 1; int rCount = 0; @@ -46,9 +43,9 @@ public void onUpdate(ItemStack stack, World world, Entity entity, int par4, bool x += v.xCoord; y += v.yCoord; z += v.zCoord; - - Block block = world.getBlock(MathHelper.floor_double(x), MathHelper.floor_double(y), MathHelper.floor_double(z)); - if (block != Blocks.air && block != Eln.instance.lightBlock /*&& Block.blocksList[blockId].isOpaqueCube() == false*/) { + BlockPos pos = new BlockPos(MathHelper.floor_double(x), MathHelper.floor_double(y), MathHelper.floor_double(z)); + Block block = world.getBlockState(pos).getBlock(); + if (!world.isAirBlock(pos) && block != Eln.instance.lightBlock /*&& Block.blocksList[blockId].isOpaqueCube() == false*/) { x -= v.xCoord; y -= v.yCoord; z -= v.zCoord; @@ -58,10 +55,10 @@ public void onUpdate(ItemStack stack, World world, Entity entity, int par4, bool } while (rCount > 0) { - Block block = world.getBlock(MathHelper.floor_double(x), MathHelper.floor_double(y), MathHelper.floor_double(z)); - if (block == Blocks.air || block == Eln.instance.lightBlock) { + BlockPos pos = new BlockPos(MathHelper.floor_double(x), MathHelper.floor_double(y), MathHelper.floor_double(z)); + if (world.isAirBlock(pos) || world.getBlockState(pos).getBlock() == Eln.instance.lightBlock) { //break; - LightBlockEntity.addLight(world, MathHelper.floor_double(x), MathHelper.floor_double(y), MathHelper.floor_double(z), light, 10); + LightBlockEntity.addLight(world, pos, light, 10); return;/* x -= v.xCoord * 4; y -= v.yCoord * 4; diff --git a/src/main/java/mods/eln/item/electricalitem/PortableOreScannerItem.java b/src/main/java/mods/eln/item/electricalitem/PortableOreScannerItem.java index fcf899f98..01799145e 100644 --- a/src/main/java/mods/eln/item/electricalitem/PortableOreScannerItem.java +++ b/src/main/java/mods/eln/item/electricalitem/PortableOreScannerItem.java @@ -18,6 +18,7 @@ import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.ResourceLocation; +import net.minecraft.util.math.BlockPos; import net.minecraft.world.World; import net.minecraft.world.chunk.Chunk; import net.minecraft.world.chunk.storage.ExtendedBlockStorage; @@ -554,7 +555,7 @@ public void generate(World w, double posX, double posY, double posZ, float alpha int zBlock = posZint + (int) zFloor; blockKey = 0; if (yBlock >= 0 && yBlock < 256) { - Chunk chunk = w.getChunkFromBlockCoords(xBlock, zBlock); + Chunk chunk = w.getChunkFromBlockCoords(new BlockPos(xBlock, yBlock, zBlock)); if (chunk != null) { ExtendedBlockStorage storage = chunk.getBlockStorageArray()[yBlock >> 4]; if (storage != null) { @@ -586,8 +587,8 @@ public void generate(World w, double posX, double posY, double posZ, float alpha stackGreen += blockKeyFactor[blockKey] * dToStack; Block b = Block.getBlockById(blockKey & 0xFFF); - if (b != Blocks.air && b != Eln.lightBlock) { - if (b.isOpaqueCube()) + if (b != Blocks.AIR && b != Eln.lightBlock) { + if (b.isOpaqueCube(b.getDefaultState())) stackRed += 0.2f * dToStack; else stackRed += 0.1f * dToStack; diff --git a/src/main/java/mods/eln/node/NodeBase.java b/src/main/java/mods/eln/node/NodeBase.java index 7d3355542..08d616996 100644 --- a/src/main/java/mods/eln/node/NodeBase.java +++ b/src/main/java/mods/eln/node/NodeBase.java @@ -136,9 +136,13 @@ public boolean isBlockOpaque(Direction direction) { } public static boolean isBlockWrappable(Block block, World w, BlockPos pos) { - Block[] blocks = {Blocks.AIR, Eln.sixNodeBlock, Blocks.TORCH, Blocks.REDSTONE_TORCH, Blocks.UNLIT_REDSTONE_TORCH, Blocks.REDSTONE_WIRE}; + Block[] blocks = {Eln.sixNodeBlock, + Blocks.TORCH, + Blocks.REDSTONE_TORCH, + Blocks.UNLIT_REDSTONE_TORCH, + Blocks.REDSTONE_WIRE}; if (block.isReplaceable(w, pos)) return true; - + if (w.isAirBlock(pos)) return true; for (int i = 0; i < blocks.length; i++) { if (block == blocks[i]) return true; } diff --git a/src/main/java/mods/eln/node/six/SixNode.java b/src/main/java/mods/eln/node/six/SixNode.java index 71476d87c..537120b9c 100644 --- a/src/main/java/mods/eln/node/six/SixNode.java +++ b/src/main/java/mods/eln/node/six/SixNode.java @@ -37,7 +37,7 @@ public class SixNode extends Node { public ArrayList internalElectricalConnectionList = new ArrayList(1); public ArrayList internalThermalConnectionList = new ArrayList(1); - public Block sixNodeCacheBlock = Blocks.air; + public Block sixNodeCacheBlock = Blocks.AIR; public byte sixNodeCacheBlockMeta = 0; //public int sixNodeCacheMapId = -1; @@ -485,13 +485,13 @@ public void externalDisconnect(Direction side, LRDU lrdu) { } public boolean onBlockActivated(EntityPlayer entityPlayer, Direction side, float vx, float vy, float vz) { - if (sixNodeCacheBlock != Blocks.air) { + if (sixNodeCacheBlock != Blocks.AIR) { return false; } else { - ItemStack stack = entityPlayer.getCurrentEquippedItem(); + ItemStack stack = entityPlayer.getHeldItemMainhand(); - Block b = Blocks.air; + Block b = Blocks.AIR; if (stack != null) b = Block.getBlockFromItem(stack.getItem()); diff --git a/src/main/java/mods/eln/node/six/SixNodeBlock.java b/src/main/java/mods/eln/node/six/SixNodeBlock.java index f49913f89..97b3c4291 100644 --- a/src/main/java/mods/eln/node/six/SixNodeBlock.java +++ b/src/main/java/mods/eln/node/six/SixNodeBlock.java @@ -209,7 +209,7 @@ public boolean removedByPlayer(IBlockState state, World world, BlockPos pos, En SixNode sixNode = (SixNode) tileEntity.getNode(); if (sixNode == null) return true; - if (sixNode.sixNodeCacheBlock != Blocks.AIR) { + if (sixNode.sixNodeCacheBlock.isAir(world.getBlockState(pos), world, pos)) { if (!(Utils.isCreative((EntityPlayerMP) entityPlayer))) { ItemStack stack = new ItemStack(sixNode.sixNodeCacheBlock, 1, sixNode.sixNodeCacheBlockMeta); diff --git a/src/main/java/mods/eln/node/six/SixNodeEntity.java b/src/main/java/mods/eln/node/six/SixNodeEntity.java index 70d6dca4e..f03355b82 100644 --- a/src/main/java/mods/eln/node/six/SixNodeEntity.java +++ b/src/main/java/mods/eln/node/six/SixNodeEntity.java @@ -25,7 +25,7 @@ public class SixNodeEntity extends NodeBlockEntity { public SixNodeElementRender[] elementRenderList = new SixNodeElementRender[6]; short[] elementRenderIdList = new short[6]; - public Block sixNodeCacheBlock = Blocks.air; + public Block sixNodeCacheBlock = Blocks.AIR; public byte sixNodeCacheBlockMeta = 0; public SixNodeEntity() { diff --git a/src/main/java/mods/eln/node/six/SixNodeItem.java b/src/main/java/mods/eln/node/six/SixNodeItem.java index 3569e40dc..d8df70f18 100644 --- a/src/main/java/mods/eln/node/six/SixNodeItem.java +++ b/src/main/java/mods/eln/node/six/SixNodeItem.java @@ -111,7 +111,7 @@ public boolean placeBlockAt(ItemStack stack, EntityPlayer player, World world,Bl Direction direction = Direction.fromIntMinecraftSide(side).getInverse(); Block blockOld = world.getBlockState(pos).getBlock(); SixNodeBlock block = (SixNodeBlock) Block.getBlockFromItem(this); - if (blockOld == Blocks.AIR || blockOld.isReplaceable(world, pos)) { + if (world.isAirBlock(pos) || blockOld.isReplaceable(world, pos)) { // blockID = this.getBlockID(); Coordinate coord = new Coordinate(pos, world); diff --git a/src/main/java/mods/eln/server/DelayedBlockRemove.java b/src/main/java/mods/eln/server/DelayedBlockRemove.java index 48f1086b6..1bf43e9c6 100644 --- a/src/main/java/mods/eln/server/DelayedBlockRemove.java +++ b/src/main/java/mods/eln/server/DelayedBlockRemove.java @@ -31,6 +31,6 @@ public static void add(Coordinate c) { @Override public void run() { blocks.remove(c); - c.setBlock(Blocks.air); + c.setBlock(Blocks.AIR); } } diff --git a/src/main/java/mods/eln/sim/process/destruct/WorldExplosion.java b/src/main/java/mods/eln/sim/process/destruct/WorldExplosion.java index c0bc4f425..87e050410 100644 --- a/src/main/java/mods/eln/sim/process/destruct/WorldExplosion.java +++ b/src/main/java/mods/eln/sim/process/destruct/WorldExplosion.java @@ -7,6 +7,7 @@ import mods.eln.simplenode.energyconverter.EnergyConverterElnToOtherNode; import net.minecraft.entity.Entity; import net.minecraft.init.Blocks; +import net.minecraft.util.math.BlockPos; public class WorldExplosion implements IDestructable { @@ -53,9 +54,9 @@ public void destructImpl() { //NodeManager.instance.removeNode(NodeManager.instance.getNodeFromCoordonate(c)); if (Eln.instance.explosionEnable) - c.world().createExplosion((Entity) null, c.x, c.y, c.z, strength, true); + c.world().createExplosion((Entity) null, c.pos.getX(), c.pos.getY(), c.pos.getZ(), strength, true); else - c.world().setBlock(c.x, c.y, c.z, Blocks.air); + c.world().setBlockToAir(new BlockPos(c.pos.getX(), c.pos.getY(), c.pos.getZ())); } @Override diff --git a/src/main/java/mods/eln/sixnode/lampsocket/LampSocketProcess.java b/src/main/java/mods/eln/sixnode/lampsocket/LampSocketProcess.java index c8e98f01f..f8f6696df 100644 --- a/src/main/java/mods/eln/sixnode/lampsocket/LampSocketProcess.java +++ b/src/main/java/mods/eln/sixnode/lampsocket/LampSocketProcess.java @@ -132,7 +132,7 @@ public void process(double time) { if (!exit) { Block b = c.getBlockState().getBlock(); - if (b != Blocks.AIR) { + if (c.isAir()) { b.updateTick(c.world(), new BlockPos(c.pos.getX(), c.pos.getY(), c.pos.getZ()), c.getBlockState(), new Random()); } } @@ -304,7 +304,7 @@ void placeSpot(int newLight) { int count = 0; while (!newCoord.equals(myCoord())) { Block block = newCoord.getBlockState().getBlock(); - if (block == Blocks.AIR || block == Eln.lightBlock) { + if (newCoord.world().isAirBlock(newCoord.pos) || block == Eln.lightBlock) { count++; if (count == 2) break; @@ -319,7 +319,7 @@ void placeSpot(int newLight) { public boolean isOpaque(Coordinate coord) { Block block = coord.getBlockState().getBlock(); - boolean isNotOpaque = block == Blocks.AIR || !block.isOpaqueCube(block.getBlockState().getBaseState()); + boolean isNotOpaque = coord.world().isAirBlock(coord.pos)|| !block.isOpaqueCube(block.getBlockState().getBaseState()); if (block == Blocks.FARMLAND) isNotOpaque = false; diff --git a/src/main/java/mods/eln/transparentnode/autominer/AutoMinerSlowProcess.java b/src/main/java/mods/eln/transparentnode/autominer/AutoMinerSlowProcess.java index d08b1bda1..a86e370f9 100644 --- a/src/main/java/mods/eln/transparentnode/autominer/AutoMinerSlowProcess.java +++ b/src/main/java/mods/eln/transparentnode/autominer/AutoMinerSlowProcess.java @@ -17,6 +17,7 @@ import net.minecraft.inventory.IInventory; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.math.Vec3d; import java.util.List; @@ -223,10 +224,10 @@ private void drop(ItemStack stack) { } private boolean isMinable(Block block) { - return block != Blocks.air - && (block) != Blocks.flowing_water && (block) != Blocks.water - && (block) != Blocks.flowing_lava && (block) != Blocks.lava - && (block) != Blocks.obsidian && (block) != Blocks.bedrock; + return block != Blocks.AIR + && (block) != Blocks.FLOWING_WATER && (block) != Blocks.WATER + && (block) != Blocks.FLOWING_LAVA && (block) != Blocks.LAVA + && (block) != Blocks.OBSIDIAN && (block) != Blocks.BEDROCK; } private void setupJob() { @@ -237,10 +238,8 @@ private void setupJob() { int scannerRadius = Eln.instance.autominerRange; double scannerEnergy = 0; - jobCoord.dimension = miner.node.coordinate.dimension; - jobCoord.x = miner.node.coordinate.x; - jobCoord.y = miner.node.coordinate.y - pipeLength; - jobCoord.z = miner.node.coordinate.z; + jobCoord.setDimension(miner.node.coordinate.getDimension()); + jobCoord.setPosition(new Vec3d(miner.node.coordinate.pos.getX(), miner.node.coordinate.pos.getY() - pipeLength, miner.node.coordinate.pos.getZ())); boolean jobFind = false; if (!miner.node.coordinate.doesBlockExist()) { @@ -248,7 +247,7 @@ private void setupJob() { } else if (!miner.powerOk) { setJob(jobType.none); } else if (drill == null) { - if (jobCoord.y != miner.node.coordinate.y) { + if (jobCoord.pos.getY() != miner.node.coordinate.pos.getY()) { ItemStack pipeStack = miner.getInventory().getStackInSlot(AutoMinerContainer.MiningPipeSlotId); if (pipeStack == null || (pipeStack.stackSize != pipeStack.getMaxStackSize() && pipeStack.stackSize != miner.getInventory().getInventoryStackLimit())) { jobFind = true; diff --git a/src/main/java/mods/eln/transparentnode/electricalantennatx/ElectricalAntennaTxSlowProcess.java b/src/main/java/mods/eln/transparentnode/electricalantennatx/ElectricalAntennaTxSlowProcess.java index 5cdc03e30..7651ff0f0 100644 --- a/src/main/java/mods/eln/transparentnode/electricalantennatx/ElectricalAntennaTxSlowProcess.java +++ b/src/main/java/mods/eln/transparentnode/electricalantennatx/ElectricalAntennaTxSlowProcess.java @@ -10,6 +10,7 @@ import net.minecraft.block.Block; import net.minecraft.entity.Entity; import net.minecraft.init.Blocks; +import net.minecraft.util.math.BlockPos; import net.minecraft.world.World; import java.util.List; @@ -43,9 +44,9 @@ public void process(double time) { coord.move(element.front); distance++; Block block; - if (element.placeBoot || element.rxCoord == null || coord.world().blockExists(coord.x, coord.y, coord.z)) { - // a++; - if ((block = coord.getBlock()) != Blocks.air && block != Blocks.fire) { + if (element.placeBoot || element.rxCoord == null || coord.world().blockExists(coord.pos.getX(), coord.pos.getY(), coord.pos.getZ())) { + block = coord.world().getBlockState(coord.pos).getBlock(); + if ((coord.world().isAirBlock(coord.pos) && block != Blocks.FIRE)) { if (block == Eln.transparentNodeBlock && (node = (TransparentNode) NodeManager.instance.getNodeFromCoordinate(coord)) != null && (node.element instanceof ElectricalAntennaRxElement)) { @@ -76,10 +77,15 @@ public void process(double time) { element.txDisconnect(); Coordinate coordCpy = new Coordinate(coord); coordCpy.move(element.front.getInverse()); + BlockPos pos = coordCpy.pos; + int x = pos.getX(); + int y = pos.getY(); + int z = pos.getZ(); if (element.powerResistor.getP() > 50) { - if (coordCpy.world().blockExists(coordCpy.x, coordCpy.y, coordCpy.z)) { - if (coordCpy.getBlock() == Blocks.air) { - coordCpy.world().setBlock(coordCpy.x, coordCpy.y, coordCpy.z, Blocks.fire); + //TODO: Check if blockExists + if (coordCpy.world().blockExists(x, y, z)) { + if (coordCpy.world().isAirBlock(pos)) { + coordCpy.world().setBlockState(pos, Blocks.FIRE.getDefaultState()); } } } diff --git a/src/main/java/mods/eln/transparentnode/waterturbine/WaterTurbineDescriptor.java b/src/main/java/mods/eln/transparentnode/waterturbine/WaterTurbineDescriptor.java index 42320e539..93db7bc11 100644 --- a/src/main/java/mods/eln/transparentnode/waterturbine/WaterTurbineDescriptor.java +++ b/src/main/java/mods/eln/transparentnode/waterturbine/WaterTurbineDescriptor.java @@ -123,7 +123,7 @@ public void addInformation(ItemStack itemStack, EntityPlayer entityPlayer, public Coordinate getWaterCoordonate(World w) { Coordinate coord = new Coordinate(waterCoord); - coord.setDimension(w.provider.dimensionId); + coord.setDimension(w.provider.getDimension()); return coord; } @@ -141,8 +141,8 @@ public String checkCanPlace(Coordinate coord, Direction front) { public boolean checkCanPlaceWater(Coordinate coord, Direction front) { Coordinate water = new Coordinate(waterCoord); water.applyTransformation(front, coord); - if (coord.doesBlockExist() == false) return true; - if (water.getBlock() == Blocks.air || Utils.isWateryEnoughForTurbine(water)) return true; + if (!coord.doesBlockExist()) return true; + if (water.world().isAirBlock(water.pos) || Utils.isWateryEnoughForTurbine(water)) return true; return false; } } From b7daaf39f4c5fb12fcad910cf08b263f5374c1bd Mon Sep 17 00:00:00 2001 From: XGodL Date: Wed, 29 Aug 2018 17:10:13 +0100 Subject: [PATCH 19/61] Update to AutoMinerSlowProcess --- src/main/java/mods/eln/misc/Utils.java | 5 ++ .../autominer/AutoMinerSlowProcess.java | 53 +++++++++---------- 2 files changed, 31 insertions(+), 27 deletions(-) diff --git a/src/main/java/mods/eln/misc/Utils.java b/src/main/java/mods/eln/misc/Utils.java index a7aac6841..05f31abf1 100644 --- a/src/main/java/mods/eln/misc/Utils.java +++ b/src/main/java/mods/eln/misc/Utils.java @@ -1412,4 +1412,9 @@ public static int getMetaFromPos(World worldIn, BlockPos pos){ return state.getBlock().getMetaFromState(state); } + public static int getMetaFromPos(Coordinate coord){ + IBlockState state = coord.world().getBlockState(coord.pos); + return state.getBlock().getMetaFromState(state); + } + } diff --git a/src/main/java/mods/eln/transparentnode/autominer/AutoMinerSlowProcess.java b/src/main/java/mods/eln/transparentnode/autominer/AutoMinerSlowProcess.java index a86e370f9..4adca6b97 100644 --- a/src/main/java/mods/eln/transparentnode/autominer/AutoMinerSlowProcess.java +++ b/src/main/java/mods/eln/transparentnode/autominer/AutoMinerSlowProcess.java @@ -13,6 +13,7 @@ import net.minecraft.block.Block; import net.minecraft.block.BlockOre; import net.minecraft.block.BlockRedstoneOre; +import net.minecraft.block.state.BlockStateBase; import net.minecraft.init.Blocks; import net.minecraft.inventory.IInventory; import net.minecraft.item.ItemStack; @@ -93,12 +94,12 @@ public void process(double time) { case ore: drillCount++; - Block block = jobCoord.world().getBlock(jobCoord.x, jobCoord.y, jobCoord.z); - int meta = jobCoord.world().getBlockMetadata(jobCoord.x, jobCoord.y, jobCoord.z); + Block block = jobCoord.world().getBlockState(jobCoord.pos).getBlock(); + int meta = Utils.getMetaFromPos(jobCoord); if (silkTouch) { drop(new ItemStack(block, 1, meta)); } else { - List drop = block.getDrops(jobCoord.world(), jobCoord.x, jobCoord.y, jobCoord.z, meta, 0); + List drop = block.getDrops(jobCoord.world(), jobCoord.pos, block.getStateFromMeta(meta), 0); for (ItemStack stack : drop) { drop(stack); @@ -107,11 +108,11 @@ public void process(double time) { // Use cobblestone instead of air, everywhere except the mining shaft. // This is so mobs won't spawn excessively. - int xDist = jobCoord.x - miner.node.coordinate.x, zDist = jobCoord.z - miner.node.coordinate.z; + int xDist = jobCoord.pos.getX() - miner.node.coordinate.pos.getX(), zDist = jobCoord.pos.getZ() - miner.node.coordinate.pos.getZ(); if (xDist * xDist + zDist * zDist > 25) { - jobCoord.world().setBlock(jobCoord.x, jobCoord.y, jobCoord.z, Blocks.cobblestone); + jobCoord.world().setBlockState(jobCoord.pos, Blocks.COBBLESTONE.getDefaultState()); } else { - jobCoord.world().setBlockToAir(jobCoord.x, jobCoord.y, jobCoord.z); + jobCoord.world().setBlockToAir(jobCoord.pos); } energyCounter -= energyTarget; @@ -119,7 +120,7 @@ public void process(double time) { break; case pipeAdd: // miner.pushLog("Pipe " + (pipeLength + 1) + " added"); - Eln.ghostManager.createGhost(jobCoord, miner.node.coordinate, jobCoord.y); + Eln.ghostManager.createGhost(jobCoord, miner.node.coordinate, jobCoord.pos.getY()); miner.getInventory().decrStackSize(AutoMinerContainer.MiningPipeSlotId, 1); pipeLength++; @@ -261,19 +262,19 @@ private void setupJob() { setJob(jobType.chestFull); jobFind = true; } else if (pipe != null) { - if (jobCoord.y < miner.node.coordinate.y - 2) { - int depth = (miner.node.coordinate.y - jobCoord.y); + if (jobCoord.pos.getY() < miner.node.coordinate.pos.getY() - 2) { + int depth = (miner.node.coordinate.pos.getY() - jobCoord.pos.getY()); double miningRay = depth / 10 + 0.1; miningRay = Math.min(miningRay, 2); if (depth < scannerRadius) scannerRadius = depth + 1; miningRay = Math.min(miningRay, scannerRadius - 2); - for (jobCoord.z = miner.node.coordinate.z - scannerRadius; jobCoord.z <= miner.node.coordinate.z + scannerRadius; jobCoord.z++) { - for (jobCoord.x = miner.node.coordinate.x - scannerRadius; jobCoord.x <= miner.node.coordinate.x + scannerRadius; jobCoord.x++) { - double dx = jobCoord.x - miner.node.coordinate.x; + for (jobCoord.pos.setPos(jobCoord.pos.getX(), jobCoord.pos.getY(), miner.node.coordinate.pos.getZ() - scannerRadius); jobCoord.pos.getZ() <= miner.node.coordinate.pos.getZ() + scannerRadius; jobCoord.pos.setPos(jobCoord.pos.getX(), jobCoord.pos.getY(), jobCoord.pos.getZ() + 1)) { + for (jobCoord.pos.setPos(miner.node.coordinate.pos.getX() - scannerRadius, jobCoord.pos.getY(), jobCoord.pos.getZ()) ; jobCoord.pos.getX() <= miner.node.coordinate.pos.getX() + scannerRadius; jobCoord.pos.setPos(jobCoord.pos.getX() + 1, jobCoord.pos.getY(), jobCoord.pos.getZ())) { + double dx = jobCoord.pos.getX() - miner.node.coordinate.pos.getX(); double dy = 0; - double dz = jobCoord.z - miner.node.coordinate.z; + double dz = jobCoord.pos.getZ() - miner.node.coordinate.pos.getZ(); double distance = Math.sqrt(dx * dx + dy * dy + dz * dz); - Block block = jobCoord.world().getBlock(jobCoord.x, jobCoord.y, jobCoord.z); + Block block = jobCoord.world().getBlockState(jobCoord.pos).getBlock(); if (checkIsOre(jobCoord) || (distance > 0.1 && distance < miningRay && isMinable(block))) { jobFind = true; setJob(jobType.ore); @@ -285,19 +286,17 @@ private void setupJob() { } if (!jobFind) { - if (jobCoord.y < 3) { + if (jobCoord.pos.getY() < 3) { jobFind = true; setJob(jobType.done); } else { - jobCoord.x = miner.node.coordinate.x; - jobCoord.y--; - jobCoord.z = miner.node.coordinate.z; - - Block block = jobCoord.world().getBlock(jobCoord.x, jobCoord.y, jobCoord.z); - if (block != Blocks.air - && block != Blocks.flowing_water && block != Blocks.water - && block != Blocks.flowing_lava && block != Blocks.lava) { - if (block != Blocks.obsidian && block != Blocks.bedrock) { + jobCoord.pos.setPos(miner.node.coordinate.pos.getX(), jobCoord.pos.getY() - 1, miner.node.coordinate.pos.getZ()); + + Block block = jobCoord.world().getBlockState(jobCoord.pos).getBlock(); + if (jobCoord.world().isAirBlock(jobCoord.pos) + && block != Blocks.FLOWING_WATER && block != Blocks.WATER + && block != Blocks.FLOWING_LAVA && block != Blocks.LAVA) { + if (block != Blocks.OBSIDIAN && block != Blocks.BEDROCK) { jobFind = true; setJob(jobType.ore); } else { @@ -340,12 +339,12 @@ private void setJob(jobType job) { } private boolean checkIsOre(Coordinate coordinate) { - Block block = coordinate.world().getBlock(coordinate.x, coordinate.y, coordinate.z); + Block block = coordinate.world().getBlockState(coordinate.pos).getBlock(); if (block instanceof BlockOre) return true; if (block instanceof OreBlock) return true; if (block instanceof BlockRedstoneOre) return true; if (PortableOreScannerItem.RenderStorage.getBlockKeyFactor()[Block.getIdFromBlock(block) + - (coordinate.world().getBlockMetadata(coordinate.x, coordinate.y, coordinate.z) << 12)] != 0) + (Utils.getMetaFromPos(coordinate) << 12)] != 0) return true; return false; } @@ -363,7 +362,7 @@ private void destroyPipe() { private void dropPipe() { Coordinate coord = new Coordinate(miner.node.coordinate); - for (coord.y = miner.node.coordinate.y - 1; coord.y >= miner.node.coordinate.y - pipeLength; coord.y--) { + for (coord.pos.setY(miner.node.coordinate.pos.getY() - 1); coord.pos.getY() >= miner.node.coordinate.pos.getY() - pipeLength; coord.pos.setY(coord.pos.getY() - 1)) { Utils.dropItem(Eln.miningPipeDescriptor.newItemStack(1), coord); } } From 76df5e54536356c784d94b788791d47a5b5bec64 Mon Sep 17 00:00:00 2001 From: lolmegaxd1 Date: Fri, 31 Aug 2018 23:37:40 +0100 Subject: [PATCH 20/61] Update NodeManager.java --- src/main/java/mods/eln/node/NodeManager.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/main/java/mods/eln/node/NodeManager.java b/src/main/java/mods/eln/node/NodeManager.java index 40da897e0..069daacb0 100644 --- a/src/main/java/mods/eln/node/NodeManager.java +++ b/src/main/java/mods/eln/node/NodeManager.java @@ -93,7 +93,8 @@ public void readFromNBT(NBTTagCompound nbt) { for(NodeBase node : nodes){ node.globalBoot(); } } - + + /* @Override public NBTTagCompound writeToNBT(NBTTagCompound nbt) { int nodeCounter = 0; @@ -113,6 +114,7 @@ public NBTTagCompound writeToNBT(NBTTagCompound nbt) { } return nbt; } + */ public NodeBase getNodeFromCoordinate(Coordinate nodeCoordinate) { From d7bd40a246f118f3b00195d05b60c981b3f217b0 Mon Sep 17 00:00:00 2001 From: lolmegaxd1 Date: Fri, 31 Aug 2018 23:39:31 +0100 Subject: [PATCH 21/61] Update NodeManager.java --- src/main/java/mods/eln/node/NodeManager.java | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/main/java/mods/eln/node/NodeManager.java b/src/main/java/mods/eln/node/NodeManager.java index 069daacb0..5e66a7498 100644 --- a/src/main/java/mods/eln/node/NodeManager.java +++ b/src/main/java/mods/eln/node/NodeManager.java @@ -89,8 +89,6 @@ public void readFromNBT(NBTTagCompound nbt) { } - - for(NodeBase node : nodes){ node.globalBoot(); } } From d3bb8c34211fae9313d269468972cdacaf896214 Mon Sep 17 00:00:00 2001 From: XGodL Date: Mon, 3 Sep 2018 20:23:05 +0100 Subject: [PATCH 22/61] Some minor changes --- src/main/java/mods/eln/GuiHandler.java | 1 + src/main/java/mods/eln/PacketHandler.java | 1 + .../mods/eln/entity/ReplicatorPopProcess.java | 5 +- .../java/mods/eln/node/NodeBlockEntity.java | 57 ++++++++----------- 4 files changed, 31 insertions(+), 33 deletions(-) diff --git a/src/main/java/mods/eln/GuiHandler.java b/src/main/java/mods/eln/GuiHandler.java index 8049244bf..835327e65 100644 --- a/src/main/java/mods/eln/GuiHandler.java +++ b/src/main/java/mods/eln/GuiHandler.java @@ -1,5 +1,6 @@ package mods.eln; +import net.minecraft.util.math.BlockPos; import net.minecraftforge.fml.common.network.IGuiHandler; import mods.eln.misc.Direction; import mods.eln.misc.Utils; diff --git a/src/main/java/mods/eln/PacketHandler.java b/src/main/java/mods/eln/PacketHandler.java index 5e31354e3..f54a9c77d 100644 --- a/src/main/java/mods/eln/PacketHandler.java +++ b/src/main/java/mods/eln/PacketHandler.java @@ -1,6 +1,7 @@ package mods.eln; import mods.eln.misc.Coordinate; +import net.minecraft.util.math.BlockPos; import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; import net.minecraftforge.fml.common.network.FMLNetworkEvent.ServerCustomPacketEvent; import net.minecraftforge.fml.common.network.internal.FMLProxyPacket; diff --git a/src/main/java/mods/eln/entity/ReplicatorPopProcess.java b/src/main/java/mods/eln/entity/ReplicatorPopProcess.java index aef3132a8..9ca39cded 100644 --- a/src/main/java/mods/eln/entity/ReplicatorPopProcess.java +++ b/src/main/java/mods/eln/entity/ReplicatorPopProcess.java @@ -45,9 +45,12 @@ public void process(double time) { x = (int) (player.posX + Utils.rand(-100, 100)); z = (int) (player.posZ + Utils.rand(-100, 100)); y = 2; - BlockPos pos = new BlockPos(x,y,z) + BlockPos pos = new BlockPos(x,y,z); Utils.println("POP"); + //TODO: Fix blockExists() + //Only solution I found was canPlaceBlockAt() but its not what we want + //Maybe its not needed anymore? if (world.blockExists(pos) == false) break; while (world.isAirBlock(pos) || Utils.getLight(world, EnumSkyBlock.BLOCK, pos) > 6) { diff --git a/src/main/java/mods/eln/node/NodeBlockEntity.java b/src/main/java/mods/eln/node/NodeBlockEntity.java index efca57be8..661007350 100644 --- a/src/main/java/mods/eln/node/NodeBlockEntity.java +++ b/src/main/java/mods/eln/node/NodeBlockEntity.java @@ -12,8 +12,10 @@ import net.minecraft.inventory.Container; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.network.Packet; +import net.minecraft.network.play.server.SPacketCustomPayload; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.math.AxisAlignedBB; +import net.minecraft.util.math.BlockPos; import net.minecraft.world.EnumSkyBlock; import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.relauncher.SideOnly; @@ -136,8 +138,8 @@ public void readFromNBT(NBTTagCompound nbt) { /** * Writes a tile entity to NBT. */ - public void writeToNBT(NBTTagCompound nbt) { - super.writeToNBT(nbt); + public NBTTagCompound writeToNBT(NBTTagCompound nbt) { + return super.writeToNBT(nbt); } @@ -155,29 +157,20 @@ void onBlockPlacedBy(Direction front, EntityLivingBase entityLiving, int metadat @Override - public boolean canUpdate() { - - return true; - } - - boolean updateEntityFirst = true; - - @Override - public void updateEntity() { - if (updateEntityFirst) { - updateEntityFirst = false; - if (!worldObj.isRemote) { - // worldObj.setBlock(xCoord, yCoord, zCoord, 0); - } else { - clientList.add(this); - } + public void onLoad() + { + if (!worldObj.isRemote) { + // worldObj.setBlock(xCoord, yCoord, zCoord, 0); + } else { + clientList.add(this); } } + public void onBlockAdded() { if (!worldObj.isRemote && getNode() == null) { - worldObj.setBlockToAir(xCoord, yCoord, zCoord); + worldObj.setBlockToAir(pos); } } @@ -236,21 +229,21 @@ public Node getNode() { } if (this.worldObj == null) return null; if (node == null) { - NodeBase nodeFromCoordonate = NodeManager.instance.getNodeFromCoordinate(new Coordinate(xCoord, yCoord, zCoord, worldObj)); - if (nodeFromCoordonate instanceof Node) { - node = (Node) nodeFromCoordonate; + NodeBase nodeFromCoordinate = NodeManager.instance.getNodeFromCoordinate(new Coordinate(pos, worldObj)); + if (nodeFromCoordinate instanceof Node) { + node = (Node) nodeFromCoordinate; } else { - Utils.println("ASSERT WRONG TYPE public Node getNode " + new Coordinate(xCoord, yCoord, zCoord, worldObj)); + Utils.println("ASSERT WRONG TYPE public Node getNode " + new Coordinate(pos, worldObj)); } - if (node == null) DelayedBlockRemove.add(new Coordinate(xCoord, yCoord, zCoord, this.worldObj)); + if (node == null) DelayedBlockRemove.add(new Coordinate(pos, this.worldObj)); } return node; } - public static NodeBlockEntity getEntity(int x, int y, int z) { + public static NodeBlockEntity getEntity(BlockPos pos) { TileEntity entity; - if ((entity = Minecraft.getMinecraft().theWorld.getTileEntity(x, y, z)) != null) { + if ((entity = Minecraft.getMinecraft().theWorld.getTileEntity(pos)) != null) { if (entity instanceof NodeBlockEntity) { return (NodeBlockEntity) entity; } @@ -258,7 +251,7 @@ public static NodeBlockEntity getEntity(int x, int y, int z) { return null; } - + //TODO: FIX PACKETS @Override public Packet getDescriptionPacket() { Node node = getNode(); //TO DO NULL POINTER @@ -266,7 +259,7 @@ public Packet getDescriptionPacket() { Utils.println("ASSERT NULL NODE public Packet getDescriptionPacket() nodeblock entity"); return null; } - return new S3FPacketCustomPayload(Eln.channelName, node.getPublishPacket().toByteArray()); + return new SPacketCustomPayload(Eln.channelName, node.getPublishPacket().toByteArray()); //return null; } @@ -275,11 +268,11 @@ public void preparePacketForServer(DataOutputStream stream) { try { stream.writeByte(Eln.packetPublishForNode); - stream.writeInt(xCoord); - stream.writeInt(yCoord); - stream.writeInt(zCoord); + stream.writeInt(pos.getX()); + stream.writeInt(pos.getY()); + stream.writeInt(pos.getZ()); - stream.writeByte(worldObj.provider.dimensionId); + stream.writeByte(worldObj.provider.getDimension()); stream.writeUTF(getNodeUuid()); From 5fa3fc335ef58f0b823354008b37db4f8d32904e Mon Sep 17 00:00:00 2001 From: XGodL Date: Thu, 6 Sep 2018 01:19:32 +0100 Subject: [PATCH 23/61] Removed coordonate and other changes --- src/main/java/mods/eln/PacketHandler.java | 12 ++--- .../mods/eln/client/ClientKeyHandler.java | 1 + .../mods/eln/entity/ReplicatorCableAI.java | 2 +- src/main/java/mods/eln/ghost/GhostGroup.java | 3 +- .../java/mods/eln/ghost/GhostManager.java | 28 +++++------ .../java/mods/eln/ghost/GhostManagerNbt.java | 2 +- .../java/mods/eln/ghost/GhostObserver.java | 2 +- .../java/mods/eln/gridnode/GridElement.java | 10 ++-- src/main/java/mods/eln/gridnode/GridLink.java | 14 +++--- .../java/mods/eln/gridnode/GridRender.java | 8 ++-- .../electricalpole/ElectricalPoleRender.java | 2 +- ...NodeCoordonate.kt => SixNodeCoordinate.kt} | 2 +- .../integration/waila/SixNodeWailaProvider.kt | 2 +- .../eln/integration/waila/WailaCache.java | 8 ++-- .../java/mods/eln/mechanical/ShaftNetwork.kt | 4 +- src/main/java/mods/eln/misc/INBTTReady.java | 2 +- src/main/java/mods/eln/misc/Utils.java | 3 +- src/main/java/mods/eln/misc/WindProcess.java | 3 +- src/main/java/mods/eln/node/NodeManager.java | 2 +- .../mods/eln/node/simple/SimpleNodeBlock.java | 46 +++++++++++-------- .../mods/eln/node/simple/SimpleNodeItem.java | 22 +++++---- .../mods/eln/node/six/SixNodeElement.java | 4 +- .../eln/node/six/SixNodeElementInventory.java | 4 +- .../transparent/TransparentNodeElement.java | 4 +- src/main/java/mods/eln/ore/OreBlock.java | 8 ++-- src/main/java/mods/eln/ore/OreDescriptor.java | 6 ++- .../SixNodeWailaResponsePacketHandler.kt | 4 +- .../java/mods/eln/server/ElnWorldStorage.java | 11 +++-- .../java/mods/eln/server/OreRegenerate.java | 6 +-- src/main/java/mods/eln/server/SaveConfig.java | 5 +- .../mods/eln/server/ServerEventListener.java | 35 ++++++++------ .../sim/process/destruct/WorldExplosion.java | 6 +-- src/main/java/mods/eln/sixnode/Scanner.kt | 2 +- .../TreeResinCollectorElement.java | 2 +- .../ElectricalFireDetectorSlowProcess.java | 4 +- .../ElectricalWindSensorElement.java | 2 +- .../sixnode/lampsocket/LampSocketProcess.java | 2 +- .../sixnode/lampsupply/LampSupplyElement.java | 2 +- .../sixnode/modbusrtu/ModbusRtuElement.java | 2 +- .../WirelessSignalRepeaterProcess.java | 4 +- .../rx/WirelessSignalRxElement.java | 2 +- .../rx/WirelessSignalRxProcess.java | 5 +- src/main/java/mods/eln/sound/SoundClient.java | 3 +- .../java/mods/eln/sound/SoundCommand.java | 17 ++++--- src/main/java/mods/eln/sound/SoundServer.java | 6 +-- .../autominer/AutoMinerDescriptor.java | 2 +- .../autominer/AutoMinerElement.java | 2 +- .../autominer/AutoMinerRender.java | 10 ++-- .../autominer/AutoMinerSlowProcess.java | 2 +- .../transparentnode/turret/TurretElement.java | 4 +- .../turret/TurretSlowProcess.java | 28 +++++------ .../waterturbine/WaterTurbineDescriptor.java | 2 +- .../waterturbine/WaterTurbineElement.java | 2 +- .../waterturbine/WaterTurbineRender.java | 2 +- .../waterturbine/WaterTurbineSlowProcess.java | 2 +- 55 files changed, 207 insertions(+), 173 deletions(-) rename src/main/java/mods/eln/integration/waila/{SixNodeCoordonate.kt => SixNodeCoordinate.kt} (63%) diff --git a/src/main/java/mods/eln/PacketHandler.java b/src/main/java/mods/eln/PacketHandler.java index f54a9c77d..cf87a0036 100644 --- a/src/main/java/mods/eln/PacketHandler.java +++ b/src/main/java/mods/eln/PacketHandler.java @@ -156,16 +156,16 @@ void packetForNode(DataInputStream stream, NetworkManager manager, EntityPlayer void packetForClientNode(DataInputStream stream, NetworkManager manager, EntityPlayer player) { EntityPlayer clientPlayer = (EntityPlayer) player; - int x, y, z, dimention; + int x, y, z, dimension; try { x = stream.readInt(); y = stream.readInt(); z = stream.readInt(); - dimention = stream.readByte(); + dimension = stream.readByte(); - if (clientPlayer.dimension == dimention) { + if (clientPlayer.dimension == dimension) { TileEntity entity = clientPlayer.worldObj.getTileEntity(new BlockPos(x,y,z)); if (entity != null && entity instanceof INodeEntity) { INodeEntity node = (INodeEntity) entity; @@ -192,13 +192,13 @@ void packetForClientNode(DataInputStream stream, NetworkManager manager, EntityP void packetNodeSingleSerialized(DataInputStream stream, NetworkManager manager, EntityPlayer player) { try { EntityPlayer clientPlayer = player; - int x, y, z, dimention; + int x, y, z, dimension; x = stream.readInt(); y = stream.readInt(); z = stream.readInt(); - dimention = stream.readByte(); + dimension = stream.readByte(); - if (clientPlayer.dimension == dimention) { + if (clientPlayer.dimension == dimension) { TileEntity entity = clientPlayer.worldObj.getTileEntity(new BlockPos(x,y,z)); if (entity != null && entity instanceof INodeEntity) { INodeEntity node = (INodeEntity) entity; diff --git a/src/main/java/mods/eln/client/ClientKeyHandler.java b/src/main/java/mods/eln/client/ClientKeyHandler.java index 797472baf..300e90b55 100644 --- a/src/main/java/mods/eln/client/ClientKeyHandler.java +++ b/src/main/java/mods/eln/client/ClientKeyHandler.java @@ -1,5 +1,6 @@ package mods.eln.client; +import net.minecraft.network.PacketBuffer; import net.minecraftforge.fml.client.registry.ClientRegistry; import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; import net.minecraftforge.fml.common.gameevent.InputEvent.KeyInputEvent; diff --git a/src/main/java/mods/eln/entity/ReplicatorCableAI.java b/src/main/java/mods/eln/entity/ReplicatorCableAI.java index c82ced5d2..a4fca6aba 100644 --- a/src/main/java/mods/eln/entity/ReplicatorCableAI.java +++ b/src/main/java/mods/eln/entity/ReplicatorCableAI.java @@ -108,7 +108,7 @@ public void updateTask() { double distance = cableCoordinate.distanceTo(entity); if (distance > 2 && (entity.getNavigator().getPath() == null || entity.getNavigator().getPath().isFinished())) { - this.entity.getNavigator().tryMoveToXYZ(cableCoordinate.x, cableCoordinate.y, cableCoordinate.z, 1); + this.entity.getNavigator().tryMoveToXYZ(cableCoordinate.pos.getX(), cableCoordinate.pos.getY(), cableCoordinate.pos.getZ(), 1); } if (distance < 2) { //Utils.println("replicator on cable !"); diff --git a/src/main/java/mods/eln/ghost/GhostGroup.java b/src/main/java/mods/eln/ghost/GhostGroup.java index 45abe44c7..6597c5919 100644 --- a/src/main/java/mods/eln/ghost/GhostGroup.java +++ b/src/main/java/mods/eln/ghost/GhostGroup.java @@ -5,6 +5,7 @@ import mods.eln.misc.Direction; import mods.eln.misc.LRDU; import net.minecraft.block.Block; +import net.minecraft.util.math.BlockPos; import net.minecraft.world.World; import java.util.ArrayList; @@ -68,7 +69,7 @@ public boolean canBePloted(Coordinate c) { public boolean canBePloted(World world, int x, int y, int z) { for (GhostGroupElement element : elementList) { - if (false == Eln.ghostManager.canCreateGhostAt(world, x + element.x, y + element.y, z + element.z)) + if (!Eln.ghostManager.canCreateGhostAt(world, new BlockPos( + element.x, y + element.y, z + element.z))) return false; } return true; diff --git a/src/main/java/mods/eln/ghost/GhostManager.java b/src/main/java/mods/eln/ghost/GhostManager.java index 06478a099..8172d2110 100644 --- a/src/main/java/mods/eln/ghost/GhostManager.java +++ b/src/main/java/mods/eln/ghost/GhostManager.java @@ -8,6 +8,7 @@ import net.minecraft.block.Block; import net.minecraft.init.Blocks; import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.math.BlockPos; import net.minecraft.world.World; import net.minecraft.world.WorldSavedData; @@ -52,7 +53,7 @@ public void removeGhost(Coordinate coordinate) { } public void addObserver(GhostObserver observer) { - observerTable.put(observer.getGhostObserverCoordonate(), observer); + observerTable.put(observer.getGhostObserverCoordinate(), observer); } public GhostObserver getObserver(Coordinate coordinate) { @@ -71,7 +72,7 @@ public void removeGhostAndBlockWithObserver(Coordinate observerCoordinate) { if (element.observatorCoordinate.equals(observerCoordinate)) { iterator.remove(); removeGhostNode(element.elementCoordinate); - element.elementCoordinate.world().setBlockToAir(element.elementCoordinate.x, element.elementCoordinate.y, element.elementCoordinate.z); + element.elementCoordinate.world().setBlockToAir(element.elementCoordinate.pos); } } } @@ -84,7 +85,7 @@ public void removeGhostAndBlockWithObserver(Coordinate observerCoordinate, int u if (element.observatorCoordinate.equals(observerCoordinate) && element.getUUID() == uuid) { iterator.remove(); removeGhostNode(element.elementCoordinate); - element.elementCoordinate.world().setBlockToAir(element.elementCoordinate.x, element.elementCoordinate.y, element.elementCoordinate.z); + element.elementCoordinate.world().setBlockToAir(element.elementCoordinate.pos); } } } @@ -97,7 +98,7 @@ public void removeGhostAndBlockWithObserverAndNotUuid(Coordinate observerCoordin if (element.observatorCoordinate.equals(observerCoordinate) && element.getUUID() != uuid) { iterator.remove(); removeGhostNode(element.elementCoordinate); - element.elementCoordinate.world().setBlockToAir(element.elementCoordinate.x, element.elementCoordinate.y, element.elementCoordinate.z); + element.elementCoordinate.world().setBlockToAir(element.elementCoordinate.pos); } } } @@ -110,7 +111,7 @@ public void removeGhostNode(Coordinate c) { public void removeGhostAndBlock(Coordinate coordinate) { removeGhost(coordinate); - coordinate.world().setBlockToAir(coordinate.x, coordinate.y, coordinate.z); //caca1.5.1 + coordinate.world().setBlockToAir(coordinate.pos); //caca1.5.1 } @Override @@ -125,7 +126,7 @@ public void readFromNBT(NBTTagCompound nbt) { } @Override - public void writeToNBT(NBTTagCompound nbt) { + public NBTTagCompound writeToNBT(NBTTagCompound nbt) { /* int nodeCounter = 0; for(GhostElement ghost : ghostTable.values()) { @@ -149,7 +150,7 @@ public void saveToNBT(NBTTagCompound nbt, int dim) { int nodeCounter = 0; for (GhostElement ghost : ghostTable.values()) { - if (dim != Integer.MIN_VALUE && ghost.elementCoordinate.dimension != dim) continue; + if (dim != Integer.MIN_VALUE && ghost.elementCoordinate.getDimension() != dim) continue; NBTTagCompound nbtGhost = new NBTTagCompound(); ghost.writeToNBT(nbtGhost, ""); nbt.setTag("n" + nodeCounter++, nbtGhost); @@ -161,16 +162,16 @@ public void unload(int dimensionId) { while (i.hasNext()) { GhostElement n = i.next(); - if (n.elementCoordinate.dimension == dimensionId) { + if (n.elementCoordinate.getDimension() == dimensionId) { i.remove(); } } } - public boolean canCreateGhostAt(World world, int x, int y, int z) { - if (!world.getChunkProvider().chunkExists(x >> 4, z >> 4)) { + public boolean canCreateGhostAt(World world, BlockPos pos) { + if (!world.getChunkProvider().chunkexists(pos.getX() >> 4, pos.getZ() >> 4)) { return false; - } else if (world.getBlock(x, y, z) != Blocks.air && !world.getBlock(x, y, z).isReplaceable(world, x, y, z)) { + } else if (world.isAirBlock(pos) && !world.getBlockState(pos).getBlock().isReplaceable(world, pos)) { return false; } else return true; } @@ -180,8 +181,9 @@ public void createGhost(Coordinate coordinate, Coordinate observerCoordinate, in } public void createGhost(Coordinate coordinate, Coordinate observerCoordinate, int UUID, Block block, int meta) { - coordinate.world().setBlockToAir(coordinate.x, coordinate.y, coordinate.z); - if (coordinate.world().setBlock(coordinate.x, coordinate.y, coordinate.z, block, meta, 3)) { + coordinate.world().setBlockToAir(coordinate.pos); + + if (coordinate.world().setBlockState(coordinate.pos, block.getStateFromMeta(meta), 3)) { coordinate = new Coordinate(coordinate); GhostElement element = new GhostElement(coordinate, observerCoordinate, UUID); ghostTable.put(element.elementCoordinate, element); diff --git a/src/main/java/mods/eln/ghost/GhostManagerNbt.java b/src/main/java/mods/eln/ghost/GhostManagerNbt.java index 1b322af28..cdda6f398 100644 --- a/src/main/java/mods/eln/ghost/GhostManagerNbt.java +++ b/src/main/java/mods/eln/ghost/GhostManagerNbt.java @@ -20,7 +20,7 @@ public void readFromNBT(NBTTagCompound nbt) { } @Override - public void writeToNBT(NBTTagCompound nbt) { + public NBTTagCompound writeToNBT(NBTTagCompound nbt) { //Eln.ghostManager.saveToNbt(nbt, Integer.MIN_VALUE); } } diff --git a/src/main/java/mods/eln/ghost/GhostObserver.java b/src/main/java/mods/eln/ghost/GhostObserver.java index a46ad8a28..88c1b3117 100644 --- a/src/main/java/mods/eln/ghost/GhostObserver.java +++ b/src/main/java/mods/eln/ghost/GhostObserver.java @@ -6,7 +6,7 @@ public interface GhostObserver { - public abstract Coordinate getGhostObserverCoordonate(); + public abstract Coordinate getGhostObserverCoordinate(); public abstract void ghostDestroyed(int UUID); diff --git a/src/main/java/mods/eln/gridnode/GridElement.java b/src/main/java/mods/eln/gridnode/GridElement.java index 317248bc6..3af65689d 100644 --- a/src/main/java/mods/eln/gridnode/GridElement.java +++ b/src/main/java/mods/eln/gridnode/GridElement.java @@ -45,7 +45,7 @@ public GridElement(TransparentNode transparentNode, TransparentNodeDescriptor de @Override public boolean onBlockActivated(EntityPlayer entityPlayer, Direction side, float vx, float vy, float vz) { // Check if user is holding an appropriate tool. - final ItemStack stack = entityPlayer.getCurrentEquippedItem(); + final ItemStack stack = entityPlayer.getHeldItemMainhand(); final GenericItemBlockUsingDamageDescriptor itemDesc = GenericItemBlockUsingDamageDescriptor.getDescriptor(stack); if (itemDesc instanceof ElectricalCableDescriptor) { return onTryGridConnect(entityPlayer, stack, (ElectricalCableDescriptor) itemDesc, side); @@ -69,9 +69,9 @@ private boolean onTryGridConnect(EntityPlayer entityPlayer, ItemStack stack, Ele } if (other == null || other == this) { Utils.addChatMessage(entityPlayer, "Setting starting point"); - pending.put(uuid, Pair.of(this.coordonate(), side)); + pending.put(uuid, Pair.of(this.coordinate(), side)); } else { - final double distance = other.coordonate().trueDistanceTo(this.coordonate()); + final double distance = other.coordinate().trueDistanceTo(this.coordinate()); final int cableLength = (int) Math.ceil(distance); final int range = Math.min(connectRange, other.connectRange); if (stack.stackSize < distance) { @@ -212,7 +212,7 @@ public void updateIdealRenderAngle() { for (GridLink link : gridLinkList) { Coordinate vec = link.a.subtract(link.b); // Angles 180 degrees apart are equivalent. - if (vec.z < 0) + if (vec.pos.getZ() < 0) vec = vec.negate(); double h = Math.sqrt(vec.x * vec.x + vec.z * vec.z); angles[i++] = Math.acos(vec.x / h); @@ -246,7 +246,7 @@ public void networkSerialize(DataOutputStream stream) { // Check for which ones it's this one. ArrayList ourLinks = new ArrayList(); for (GridLink link : gridLinkList) { - if (link.a.equals(coordonate())/* && link.connected*/) { + if (link.a.equals(coordinate())/* && link.connected*/) { ourLinks.add(link); } } diff --git a/src/main/java/mods/eln/gridnode/GridLink.java b/src/main/java/mods/eln/gridnode/GridLink.java index 5b4162134..92576a10b 100644 --- a/src/main/java/mods/eln/gridnode/GridLink.java +++ b/src/main/java/mods/eln/gridnode/GridLink.java @@ -72,7 +72,7 @@ static public boolean addLink(GridElement a, GridElement b, Direction as, Direct // Makin' a Link. Where'd Zelda go? GridLink link = new GridLink( - a.coordonate(), b.coordonate(), as, bs, cable.newItemStack(cableLength), + a.coordinate(), b.coordinate(), as, bs, cable.newItemStack(cableLength), cable.electricalRs * cableLength); link.connect(); @@ -153,11 +153,11 @@ public void disconnect() { } private boolean links(GridElement a, GridElement b) { - if (this.a.equals(a.coordonate())) { - return this.b.equals(b.coordonate()); + if (this.a.equals(a.coordinate())) { + return this.b.equals(b.coordinate()); } - if (this.a.equals(b.coordonate())) { - return this.b.equals(a.coordonate()); + if (this.a.equals(b.coordinate())) { + return this.b.equals(a.coordinate()); } return false; } @@ -173,13 +173,13 @@ public void readFromNBT(NBTTagCompound nbt, String str) { } @Override - public void writeToNBT(NBTTagCompound nbt, String str) { + public NBTTagCompound writeToNBT(NBTTagCompound nbt, String str) { a.writeToNBT(nbt, str + "a"); b.writeToNBT(nbt, str + "b"); as.writeToNBT(nbt, str + "as"); bs.writeToNBT(nbt, str + "bs"); nbt.setDouble(str + "rs", rs); - cable.writeToNBT(nbt); + return cable.writeToNBT(nbt); } public void selfDestroy() { diff --git a/src/main/java/mods/eln/gridnode/GridRender.java b/src/main/java/mods/eln/gridnode/GridRender.java index f75bf566b..7ecaa18ad 100644 --- a/src/main/java/mods/eln/gridnode/GridRender.java +++ b/src/main/java/mods/eln/gridnode/GridRender.java @@ -43,7 +43,7 @@ public void draw() { } private Vec3d readVec(DataInputStream stream) throws IOException { - return Vec3d.createVectorHelper(stream.readFloat(), stream.readFloat(), stream.readFloat()); + return new Vec3d(stream.readFloat(), stream.readFloat(), stream.readFloat()); } @Override @@ -89,7 +89,7 @@ public boolean cameraDrawOptimisation() { private class Catenary { final int list; - final Vec3d origin = Vec3d.createVectorHelper(0, 0, 0); + final Vec3d origin = new Vec3d(0, 0, 0); final int box[] = { 3, 7, 5, 3, 5, 1, 4, 8, 6, 4, 6, 2, @@ -195,7 +195,7 @@ private Vec3d negate(Vec3d v) { } Vec3d multiply(Vec3d a, double b) { - return Vec3d.createVectorHelper( + return new Vec3d( a.xCoord * b, a.yCoord * b, a.zCoord * b @@ -232,7 +232,7 @@ private Vec3d[] getConnectionCatenary(Vec3d start, Vec3d end) { double x1 = 0 + dx * n1; double z1 = 0 + dz * n1; double y1 = a * Math.cosh(((Math.sqrt(x1 * x1 + z1 * z1)) - p) / a) + q; - vex[i] = Vec3d.createVectorHelper(start.xCoord + x1, start.yCoord + y1, start.zCoord + z1); + vex[i] = new Vec3d(start.xCoord + x1, start.yCoord + y1, start.zCoord + z1); } return vex; } diff --git a/src/main/java/mods/eln/gridnode/electricalpole/ElectricalPoleRender.java b/src/main/java/mods/eln/gridnode/electricalpole/ElectricalPoleRender.java index 05fc4bd43..62ddfc271 100644 --- a/src/main/java/mods/eln/gridnode/electricalpole/ElectricalPoleRender.java +++ b/src/main/java/mods/eln/gridnode/electricalpole/ElectricalPoleRender.java @@ -29,7 +29,7 @@ public ElectricalPoleRender(TransparentNodeEntity entity, final TransparentNodeD this.descriptor = (ElectricalPoleDescriptor) descriptor; if (this.descriptor.includeTransformer) { - addLoopedSound(new LoopedSound("eln:Transformer", coordonate(), ISound.AttenuationType.LINEAR) { + addLoopedSound(new LoopedSound("eln:Transformer", coordinate(), ISound.AttenuationType.LINEAR) { @Override public float getVolume() { if (load.getPosition() > ElectricalPoleRender.this.descriptor.minimalLoadToHum) diff --git a/src/main/java/mods/eln/integration/waila/SixNodeCoordonate.kt b/src/main/java/mods/eln/integration/waila/SixNodeCoordinate.kt similarity index 63% rename from src/main/java/mods/eln/integration/waila/SixNodeCoordonate.kt rename to src/main/java/mods/eln/integration/waila/SixNodeCoordinate.kt index f91d060d7..af4a2551f 100644 --- a/src/main/java/mods/eln/integration/waila/SixNodeCoordonate.kt +++ b/src/main/java/mods/eln/integration/waila/SixNodeCoordinate.kt @@ -3,4 +3,4 @@ package mods.eln.integration.waila import mods.eln.misc.Coordinate import mods.eln.misc.Direction -data class SixNodeCoordonate(val coord: Coordinate, val side: Direction) +data class SixNodeCoordinate(val coord: Coordinate, val side: Direction) diff --git a/src/main/java/mods/eln/integration/waila/SixNodeWailaProvider.kt b/src/main/java/mods/eln/integration/waila/SixNodeWailaProvider.kt index 7f27b29cf..3ae9db982 100644 --- a/src/main/java/mods/eln/integration/waila/SixNodeWailaProvider.kt +++ b/src/main/java/mods/eln/integration/waila/SixNodeWailaProvider.kt @@ -23,7 +23,7 @@ class SixNodeWailaProvider : IWailaDataProvider { val side = Direction.fromFacing(accessor.side) var sixData: SixNodeWailaData? = null try { - sixData = WailaCache.sixNodes.get(SixNodeCoordonate(coord, side)) + sixData = WailaCache.sixNodes.get(SixNodeCoordinate(coord, side)) } catch(e: CacheLoader.InvalidCacheLoadException) { } diff --git a/src/main/java/mods/eln/integration/waila/WailaCache.java b/src/main/java/mods/eln/integration/waila/WailaCache.java index 4521ac8e8..4f5e203f3 100644 --- a/src/main/java/mods/eln/integration/waila/WailaCache.java +++ b/src/main/java/mods/eln/integration/waila/WailaCache.java @@ -38,18 +38,18 @@ public ListenableFuture> reload(Coordinate key, } ); - public static LoadingCache sixNodes = CacheBuilder.newBuilder() + public static LoadingCache sixNodes = CacheBuilder.newBuilder() .maximumSize(20) .refreshAfterWrite(2, TimeUnit.SECONDS) .build( - new CacheLoader() { - public SixNodeWailaData load(SixNodeCoordonate key) throws Exception { + new CacheLoader() { + public SixNodeWailaData load(SixNodeCoordinate key) throws Exception { Eln.elnNetwork.sendToServer(new SixNodeWailaRequestPacket(key.getCoord(), key.getSide())); return null; } @Override - public ListenableFuture reload(SixNodeCoordonate key, + public ListenableFuture reload(SixNodeCoordinate key, SixNodeWailaData oldValue) throws Exception { load(key); return Futures.immediateFuture(oldValue); diff --git a/src/main/java/mods/eln/mechanical/ShaftNetwork.kt b/src/main/java/mods/eln/mechanical/ShaftNetwork.kt index 5c6119f17..4c928155d 100644 --- a/src/main/java/mods/eln/mechanical/ShaftNetwork.kt +++ b/src/main/java/mods/eln/mechanical/ShaftNetwork.kt @@ -144,7 +144,7 @@ class ShaftNetwork() : INBTTReady { val c = Coordinate() val ret = ArrayList(6) for (dir in from.shaftConnectivity) { - c.copyFrom(from.coordonate()) + c.copyFrom(from.coordinate()) c.move(dir) val to = NodeManager.instance!!.getTransparentNodeFromCoordinate(c) if (to is ShaftElement) { @@ -173,7 +173,7 @@ interface ShaftElement { var shaft: ShaftNetwork val shaftMass: Double val shaftConnectivity: Array - fun coordonate(): Coordinate + fun coordinate(): Coordinate fun initialize() { shaft.connectShaft(this) diff --git a/src/main/java/mods/eln/misc/INBTTReady.java b/src/main/java/mods/eln/misc/INBTTReady.java index a6a0034aa..ac22efe64 100644 --- a/src/main/java/mods/eln/misc/INBTTReady.java +++ b/src/main/java/mods/eln/misc/INBTTReady.java @@ -5,5 +5,5 @@ public interface INBTTReady { public abstract void readFromNBT(NBTTagCompound nbt, String str); - public abstract void writeToNBT(NBTTagCompound nbt, String str); + public abstract NBTTagCompound writeToNBT(NBTTagCompound nbt, String str); } diff --git a/src/main/java/mods/eln/misc/Utils.java b/src/main/java/mods/eln/misc/Utils.java index 05f31abf1..7142e43cd 100644 --- a/src/main/java/mods/eln/misc/Utils.java +++ b/src/main/java/mods/eln/misc/Utils.java @@ -383,7 +383,7 @@ public static void readFromNBT(NBTTagCompound nbt, String str, IInventory invent } } - public static void writeToNBT(NBTTagCompound nbt, String str, IInventory inventory) { + public static NBTTagCompound writeToNBT(NBTTagCompound nbt, String str, IInventory inventory) { NBTTagList var2 = new NBTTagList(); for (int var3 = 0; var3 < inventory.getSizeInventory(); ++var3) { @@ -396,6 +396,7 @@ public static void writeToNBT(NBTTagCompound nbt, String str, IInventory invento } nbt.setTag(str, var2); + return nbt; } public static void sendPacketToClient(ByteArrayOutputStream bos, EntityPlayerMP player) { diff --git a/src/main/java/mods/eln/misc/WindProcess.java b/src/main/java/mods/eln/misc/WindProcess.java index 72d07ee43..e20a4db34 100644 --- a/src/main/java/mods/eln/misc/WindProcess.java +++ b/src/main/java/mods/eln/misc/WindProcess.java @@ -62,10 +62,11 @@ public void readFromNBT(NBTTagCompound nbt, String str) { } @Override - public void writeToNBT(NBTTagCompound nbt, String str) { + public NBTTagCompound writeToNBT(NBTTagCompound nbt, String str) { nbt.setDouble(str + "windHit", windHit); nbt.setDouble(str + "windTarget", windTarget); nbt.setDouble(str + "windVariation", windVariation); nbt.setFloat(str + "windTargetFiltred", windTargetFiltred.get()); + return nbt; } } diff --git a/src/main/java/mods/eln/node/NodeManager.java b/src/main/java/mods/eln/node/NodeManager.java index 5e66a7498..01bf11966 100644 --- a/src/main/java/mods/eln/node/NodeManager.java +++ b/src/main/java/mods/eln/node/NodeManager.java @@ -67,7 +67,7 @@ public void removeNode(NodeBase node) { Utils.println("NodeManager has " + nodesMap.size() + "node"); } - public void removeCoordonate(Coordinate c) { + public void removeCoordinate(Coordinate c) { // nodeArray.remove(node); NodeBase n = nodesMap.remove(c); if (n != null) nodes.remove(n); diff --git a/src/main/java/mods/eln/node/simple/SimpleNodeBlock.java b/src/main/java/mods/eln/node/simple/SimpleNodeBlock.java index 0b2bccd5d..91bd64dbf 100644 --- a/src/main/java/mods/eln/node/simple/SimpleNodeBlock.java +++ b/src/main/java/mods/eln/node/simple/SimpleNodeBlock.java @@ -6,11 +6,19 @@ import net.minecraft.block.Block; import net.minecraft.block.BlockContainer; import net.minecraft.block.material.Material; +import net.minecraft.block.state.IBlockState; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayerMP; +import net.minecraft.item.ItemStack; +import net.minecraft.util.EnumFacing; +import net.minecraft.util.EnumHand; +import net.minecraft.util.math.BlockPos; +import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; +import javax.annotation.Nullable; + public abstract class SimpleNodeBlock extends BlockContainer { protected SimpleNodeBlock(Material material) { @@ -46,28 +54,28 @@ public void onBlockPlacedBy(World w, int x, int y, int z, EntityLivingBase e, It protected abstract SimpleNode newNode(); - SimpleNode getNode(World world, int x, int y, int z) { - SimpleNodeEntity entity = (SimpleNodeEntity) world.getTileEntity(x, y, z); + SimpleNode getNode(World world, BlockPos pos) { + SimpleNodeEntity entity = (SimpleNodeEntity) world.getTileEntity(pos); if (entity != null) { return entity.getNode(); } return null; } - public SimpleNodeEntity getEntity(World world, int x, int y, int z) { - SimpleNodeEntity entity = (SimpleNodeEntity) world.getTileEntity(x, y, z); + public SimpleNodeEntity getEntity(World world, BlockPos pos) { + SimpleNodeEntity entity = (SimpleNodeEntity) world.getTileEntity(pos); return entity; } @Override - public boolean removedByPlayer(World world, EntityPlayer entityPlayer, int x, int y, int z, boolean willHarvest) { + public boolean removedByPlayer(IBlockState state, World world, BlockPos pos, EntityPlayer entityPlayer, boolean willHarvest) { if (!world.isRemote) { - SimpleNode node = getNode(world, x, y, z); + SimpleNode node = getNode(world, pos); if (node != null) { node.removedByPlayer = (EntityPlayerMP) entityPlayer; } } - return super.removedByPlayer(world, entityPlayer, x, y, z, willHarvest); + return super.removedByPlayer(state, world, pos, entityPlayer, willHarvest); } // client server @@ -81,35 +89,35 @@ public void onBlockPlacedBy(World world, int x, int y, int z, Direction front, E // server @Override - public void onBlockAdded(World par1World, int x, int y, int z) { - if (par1World.isRemote == false) { - SimpleNodeEntity entity = (SimpleNodeEntity) par1World.getTileEntity(x, y, z); + public void onBlockAdded(World par1World, BlockPos pos, IBlockState state) { + if (!par1World.isRemote) { + SimpleNodeEntity entity = (SimpleNodeEntity) par1World.getTileEntity(pos); entity.onBlockAdded(); } } // server @Override - public void breakBlock(World par1World, int x, int y, int z, Block par5, int par6) { - SimpleNodeEntity entity = (SimpleNodeEntity) par1World.getTileEntity(x, y, z); + public void breakBlock(World par1World, BlockPos pos, IBlockState state) { + SimpleNodeEntity entity = (SimpleNodeEntity) par1World.getTileEntity(pos); entity.onBreakBlock(); - super.breakBlock(par1World, x, y, z, par5, par6); + super.breakBlock(par1World, pos, state); } @Override - public void onNeighborBlockChange(World world, int x, int y, int z, Block b) { - if (Utils.isRemote(world) == false) { - SimpleNodeEntity entity = (SimpleNodeEntity) world.getTileEntity(x, y, z); + public void onNeighborChange(IBlockAccess world, BlockPos pos, BlockPos neighbor) { + if (!Utils.isRemote(world)) { + SimpleNodeEntity entity = (SimpleNodeEntity) world.getTileEntity(pos); entity.onNeighborBlockChange(); } } // client server @Override - public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer entityPlayer, int side, float vx, float vy, float vz) { - SimpleNodeEntity entity = (SimpleNodeEntity) world.getTileEntity(x, y, z); - return entity.onBlockActivated(entityPlayer, Direction.fromIntMinecraftSide(side), vx, vy, vz); + public boolean onBlockActivated(World world, BlockPos pos, IBlockState state, EntityPlayer entityPlayer, EnumHand hand, @Nullable ItemStack heldItem, EnumFacing side, float vx, float vy, float vz) { + SimpleNodeEntity entity = (SimpleNodeEntity) world.getTileEntity(pos); + return entity.onBlockActivated(entityPlayer, Direction.fromFacing(side), vx, vy, vz); } } diff --git a/src/main/java/mods/eln/node/simple/SimpleNodeItem.java b/src/main/java/mods/eln/node/simple/SimpleNodeItem.java index 19253dccc..211d47254 100644 --- a/src/main/java/mods/eln/node/simple/SimpleNodeItem.java +++ b/src/main/java/mods/eln/node/simple/SimpleNodeItem.java @@ -2,9 +2,12 @@ import mods.eln.misc.Coordinate; import net.minecraft.block.Block; +import net.minecraft.block.state.IBlockState; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemBlock; import net.minecraft.item.ItemStack; +import net.minecraft.util.EnumFacing; +import net.minecraft.util.math.BlockPos; import net.minecraft.world.World; public class SimpleNodeItem extends ItemBlock { @@ -16,23 +19,24 @@ public SimpleNodeItem(Block b) { } @Override - public boolean placeBlockAt(ItemStack stack, EntityPlayer player, World world, int x, int y, int z, int side, float hitX, float hitY, float hitZ, int metadata) { - SimpleNode node = null; - if (world.isRemote == false) { + public boolean placeBlockAt(ItemStack stack, EntityPlayer player, World world, BlockPos pos, EnumFacing side, float hitX, float hitY, float hitZ, IBlockState newState) { + SimpleNode node = null;< + if (!world.isRemote) { node = block.newNode(); node.setDescriptorKey(block.descriptorKey); - node.onBlockPlacedBy(new Coordinate(x, y, z, world), block.getFrontForPlacement(player), player, stack); + node.onBlockPlacedBy(new Coordinate(pos, world), block.getFrontForPlacement(player), player, stack); } - if (!world.setBlock(x, y, z, field_150939_a, metadata, 3)) { + if (!world.setBlockState(pos, newState, 3)) { if (node != null) node.onBreakBlock(); return false; } - - if (world.getBlock(x, y, z) == field_150939_a) { - field_150939_a.onBlockPlacedBy(world, x, y, z, player, stack); - field_150939_a.onPostBlockPlaced(world, x, y, z, metadata); + IBlockState state = world.getBlockState(pos); + if (state.getBlock() == this.block) { + this.block.onBlockPlacedBy(world, pos, state, player, stack); + //TODO: find replacement of onPostBlockPlaced + this.block.onPostBlockPlaced(world, pos, metadata); } return true; diff --git a/src/main/java/mods/eln/node/six/SixNodeElement.java b/src/main/java/mods/eln/node/six/SixNodeElement.java index 5fab073e3..a83bbbfe5 100644 --- a/src/main/java/mods/eln/node/six/SixNodeElement.java +++ b/src/main/java/mods/eln/node/six/SixNodeElement.java @@ -66,7 +66,7 @@ public void play(SoundCommand s) { s.play(); } - public Coordinate getCoordonate() { + public Coordinate getCoordinate() { return sixNode.coordinate; } @@ -367,7 +367,7 @@ public boolean canConnectRedstone() { return false; } - public Coordinate getGhostObserverCoordonate() { + public Coordinate getGhostObserverCoordinate() { return sixNode.coordinate; } diff --git a/src/main/java/mods/eln/node/six/SixNodeElementInventory.java b/src/main/java/mods/eln/node/six/SixNodeElementInventory.java index 006a072be..042585245 100644 --- a/src/main/java/mods/eln/node/six/SixNodeElementInventory.java +++ b/src/main/java/mods/eln/node/six/SixNodeElementInventory.java @@ -149,9 +149,9 @@ public void readFromNBT(NBTTagCompound nbt, String str) { } @Override - public void writeToNBT(NBTTagCompound nbt, String str) { + public NBTTagCompound writeToNBT(NBTTagCompound nbt, String str) { - Utils.writeToNBT(nbt, str, this); + return Utils.writeToNBT(nbt, str, this); } diff --git a/src/main/java/mods/eln/node/transparent/TransparentNodeElement.java b/src/main/java/mods/eln/node/transparent/TransparentNodeElement.java index a19fc02b9..c2f991c57 100644 --- a/src/main/java/mods/eln/node/transparent/TransparentNodeElement.java +++ b/src/main/java/mods/eln/node/transparent/TransparentNodeElement.java @@ -413,7 +413,7 @@ public float getLightOpacity() { return 0f; } - public Coordinate getGhostObserverCoordonate() { + public Coordinate getGhostObserverCoordinate() { return node.coordinate; } @@ -437,7 +437,7 @@ public World world() { return node.coordinate.world(); } - public Coordinate coordonate() { + public Coordinate coordinate() { return node.coordinate; } diff --git a/src/main/java/mods/eln/ore/OreBlock.java b/src/main/java/mods/eln/ore/OreBlock.java index e312d3a3b..05cb15377 100644 --- a/src/main/java/mods/eln/ore/OreBlock.java +++ b/src/main/java/mods/eln/ore/OreBlock.java @@ -1,5 +1,7 @@ package mods.eln.ore; +import net.minecraft.block.state.IBlockState; +import net.minecraft.util.math.BlockPos; import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.relauncher.SideOnly; import mods.eln.Eln; @@ -16,7 +18,7 @@ public class OreBlock extends Block { public OreBlock() { - super(Material.rock); //Parameters: Block ID, Block material + super(Material.ROCK); //Parameters: Block ID, Block material /* setTextureFile("/TutorialGFX/Blocks.png"); //The texture file used setBlockName("DeverionXBlockOre"); //The incode block name setCreativeTab(eln.c.tabGems); //The tab it appears in*/ @@ -53,8 +55,8 @@ public ArrayList getBlockDropped(World w, int x, int y, int z, int me } @Override - public void breakBlock(World par1World, int par2, int par3, int par4, Block par5, int par6) { - super.breakBlock(par1World, par2, par3, par4, par5, par6); + public void breakBlock(World par1World, BlockPos pos , IBlockState state) { + super.breakBlock(par1World, pos, state); if (par1World.isRemote) return; } } diff --git a/src/main/java/mods/eln/ore/OreDescriptor.java b/src/main/java/mods/eln/ore/OreDescriptor.java index 449be563d..45f68934a 100644 --- a/src/main/java/mods/eln/ore/OreDescriptor.java +++ b/src/main/java/mods/eln/ore/OreDescriptor.java @@ -1,5 +1,7 @@ package mods.eln.ore; +import net.minecraft.util.math.BlockPos; +import net.minecraft.world.chunk.IChunkGenerator; import net.minecraftforge.fml.common.IWorldGenerator; import mods.eln.Eln; import mods.eln.generic.GenericItemBlockUsingDamageDescriptor; @@ -51,7 +53,7 @@ public ArrayList getBlockDropped(int fortune) { @Override public void generate(Random random, int chunkX, int chunkZ, World world, - IChunkProvider chunkGenerator, IChunkProvider chunkProvider) { + IChunkGenerator chunkGenerator, IChunkProvider chunkProvider) { if (world.provider.isSurfaceWorld()) { generateSurface(random, chunkX * 16, chunkZ * 16, world); //This makes it gen overworld (the *16 is important) } @@ -65,7 +67,7 @@ public void generateSurface(Random random, int x, int z, World w) { int posY = spawnHeightMin + random.nextInt(spawnHeightMax - spawnHeightMin); //Y coordinate less than 40 to gen at int posZ = z + random.nextInt(16); //Z coordinate to gen at int size = spawnSizeMin + random.nextInt(spawnSizeMax - spawnSizeMin); - new WorldGenMinable(Eln.oreBlock, metadata, size, Blocks.stone).generate(w, random, posX, posY, posZ); //The gen call + new WorldGenMinable(Eln.oreBlock.getStateFromMeta(metadata), size).generate(w, random, new BlockPos( posX, posY, posZ)); //The gen call } //} //new WorldGenTrees(par1, par2, par3, par4, par5) diff --git a/src/main/java/mods/eln/packets/SixNodeWailaResponsePacketHandler.kt b/src/main/java/mods/eln/packets/SixNodeWailaResponsePacketHandler.kt index 73e51a38d..e515f8c1b 100644 --- a/src/main/java/mods/eln/packets/SixNodeWailaResponsePacketHandler.kt +++ b/src/main/java/mods/eln/packets/SixNodeWailaResponsePacketHandler.kt @@ -1,6 +1,6 @@ package mods.eln.packets -import mods.eln.integration.waila.SixNodeCoordonate +import mods.eln.integration.waila.SixNodeCoordinate import mods.eln.integration.waila.SixNodeWailaData import mods.eln.integration.waila.WailaCache import mods.eln.misc.Coordinate @@ -14,7 +14,7 @@ class SixNodeWailaResponsePacketHandler : IMessageHandler blockList = Utils.traceRay(coord.world(), coord.pos.getX() + 0.5, coord.pos.getY() + 0.5, coord.pos.getZ() + 0.5, detectionBBCenter.pos.getX() + dx + 0.5, detectionBBCenter.pos.getY() + dy + 0.5, detectionBBCenter.pos.getZ() + dz + 0.5); diff --git a/src/main/java/mods/eln/sixnode/electricalwindsensor/ElectricalWindSensorElement.java b/src/main/java/mods/eln/sixnode/electricalwindsensor/ElectricalWindSensorElement.java index 09ec41a03..8967f7939 100644 --- a/src/main/java/mods/eln/sixnode/electricalwindsensor/ElectricalWindSensorElement.java +++ b/src/main/java/mods/eln/sixnode/electricalwindsensor/ElectricalWindSensorElement.java @@ -84,7 +84,7 @@ public void initialize() { public void networkSerialize(DataOutputStream stream) { super.networkSerialize(stream); try { - stream.writeFloat((float) Utils.getWind(sixNode.coordonate.getDimension(), sixNode.coordonate.pos.getY())); + stream.writeFloat((float) Utils.getWind(sixNode.coordinate.getDimension(), sixNode.coordinate.pos.getY())); } catch (IOException e) { e.printStackTrace(); } diff --git a/src/main/java/mods/eln/sixnode/lampsocket/LampSocketProcess.java b/src/main/java/mods/eln/sixnode/lampsocket/LampSocketProcess.java index f8f6696df..8b3040abd 100644 --- a/src/main/java/mods/eln/sixnode/lampsocket/LampSocketProcess.java +++ b/src/main/java/mods/eln/sixnode/lampsocket/LampSocketProcess.java @@ -94,7 +94,7 @@ public void process(double time) { if (lampStack != null) { LampDescriptor lampDescriptor = (LampDescriptor) ((GenericItemUsingDamage) lampStack.getItem()).getDescriptor(lampStack); - if (lamp.getCoordonate().doesBlockExist() && lampDescriptor.vegetableGrowRate != 0.0) { + if (lamp.getCoordinate().doesBlockExist() && lampDescriptor.vegetableGrowRate != 0.0) { double randTarget = 1.0 / lampDescriptor.vegetableGrowRate * time * (1.0 * light / lampDescriptor.nominalLight / 15.0); if (randTarget > Math.random()) { boolean exit = false; diff --git a/src/main/java/mods/eln/sixnode/lampsupply/LampSupplyElement.java b/src/main/java/mods/eln/sixnode/lampsupply/LampSupplyElement.java index d51ae130e..07a4d8c5a 100644 --- a/src/main/java/mods/eln/sixnode/lampsupply/LampSupplyElement.java +++ b/src/main/java/mods/eln/sixnode/lampsupply/LampSupplyElement.java @@ -144,7 +144,7 @@ public void process(double time) { if (sleepTimer < 0) { sleepTimer += Utils.rand(1.2, 2); - IWirelessSignalSpot spot = WirelessUtils.buildSpot(LampSupplyElement.this.getCoordonate(), null, 0); + IWirelessSignalSpot spot = WirelessUtils.buildSpot(LampSupplyElement.this.getCoordinate(), null, 0); WirelessUtils.getTx(spot, txSet, txStrength); } diff --git a/src/main/java/mods/eln/sixnode/modbusrtu/ModbusRtuElement.java b/src/main/java/mods/eln/sixnode/modbusrtu/ModbusRtuElement.java index 7c312d987..ec17b967f 100644 --- a/src/main/java/mods/eln/sixnode/modbusrtu/ModbusRtuElement.java +++ b/src/main/java/mods/eln/sixnode/modbusrtu/ModbusRtuElement.java @@ -104,7 +104,7 @@ public void process(double time) { if (sleepTimer < 0) { sleepTimer += Utils.rand(1.2, 2); - IWirelessSignalSpot spot = WirelessUtils.buildSpot(getCoordonate(), null, 0); + IWirelessSignalSpot spot = WirelessUtils.buildSpot(getCoordinate(), null, 0); WirelessUtils.getTx(spot, txSet, txStrength); } diff --git a/src/main/java/mods/eln/sixnode/wirelesssignal/repeater/WirelessSignalRepeaterProcess.java b/src/main/java/mods/eln/sixnode/wirelesssignal/repeater/WirelessSignalRepeaterProcess.java index 32f4bbcec..057ca27a5 100644 --- a/src/main/java/mods/eln/sixnode/wirelesssignal/repeater/WirelessSignalRepeaterProcess.java +++ b/src/main/java/mods/eln/sixnode/wirelesssignal/repeater/WirelessSignalRepeaterProcess.java @@ -29,7 +29,7 @@ public void process(double time) { if (sleepTimer < 0) { sleepTimer += Utils.rand(1.2, 2); - spot = WirelessUtils.buildSpot(rx.getCoordonate(), null, rx.descriptor.range); + spot = WirelessUtils.buildSpot(rx.getCoordinate(), null, rx.descriptor.range); if (boot) { boot = false; @@ -50,7 +50,7 @@ public ArrayList getSpot() { @Override public Coordinate getCoordinate() { - return rx.getCoordonate(); + return rx.getCoordinate(); } @Override diff --git a/src/main/java/mods/eln/sixnode/wirelesssignal/rx/WirelessSignalRxElement.java b/src/main/java/mods/eln/sixnode/wirelesssignal/rx/WirelessSignalRxElement.java index 2595c3fd6..b995a6dd7 100644 --- a/src/main/java/mods/eln/sixnode/wirelesssignal/rx/WirelessSignalRxElement.java +++ b/src/main/java/mods/eln/sixnode/wirelesssignal/rx/WirelessSignalRxElement.java @@ -128,7 +128,7 @@ public void readFromNBT(NBTTagCompound nbt) { } @Override - public Coordinate getCoordonate() { + public Coordinate getCoordinate() { return sixNode.coordinate; } diff --git a/src/main/java/mods/eln/sixnode/wirelesssignal/rx/WirelessSignalRxProcess.java b/src/main/java/mods/eln/sixnode/wirelesssignal/rx/WirelessSignalRxProcess.java index 630ef005d..0227ea695 100644 --- a/src/main/java/mods/eln/sixnode/wirelesssignal/rx/WirelessSignalRxProcess.java +++ b/src/main/java/mods/eln/sixnode/wirelesssignal/rx/WirelessSignalRxProcess.java @@ -32,7 +32,7 @@ public void process(double time) { if (sleepTimer < 0) { sleepTimer += Utils.rand(1.2, 2); - IWirelessSignalSpot spot = WirelessUtils.buildSpot(rx.getCoordonate(), rx.channel, 0); + IWirelessSignalSpot spot = WirelessUtils.buildSpot(rx.getCoordinate(), rx.channel, 0); WirelessUtils.getTx(spot, txSet, txStrength); } @@ -53,6 +53,7 @@ public void readFromNBT(NBTTagCompound nbt, String str) { } @Override - public void writeToNBT(NBTTagCompound nbt, String str) { + public NBTTagCompound writeToNBT(NBTTagCompound nbt, String str) { + return nbt; } } diff --git a/src/main/java/mods/eln/sound/SoundClient.java b/src/main/java/mods/eln/sound/SoundClient.java index 16c942526..b78ad39f6 100644 --- a/src/main/java/mods/eln/sound/SoundClient.java +++ b/src/main/java/mods/eln/sound/SoundClient.java @@ -11,11 +11,12 @@ public class SoundClient { play(world, x + 0.5, y + 0.5, z + 0.5, track, volume, pitch, rangeNominal, rangeMax); }*/ + //TODO: FIX SOUNDS public static void play(SoundCommand p) { ClientProxy.soundClientEventListener.currentUuid = p.uuid; //trolilole EntityPlayer player = Minecraft.getMinecraft().thePlayer; - if (p.world.provider.dimensionId != player.dimension) return; + if (p.world.provider.getDimension() != player.dimension) return; double distance = Math.sqrt(Math.pow(p.x - player.posX, 2) + Math.pow(p.y - player.posY, 2) + Math.pow(p.z - player.posZ, 2)); if (distance >= p.rangeMax) return; float distanceFactor = 1; diff --git a/src/main/java/mods/eln/sound/SoundCommand.java b/src/main/java/mods/eln/sound/SoundCommand.java index 30a62a991..e7d388e04 100644 --- a/src/main/java/mods/eln/sound/SoundCommand.java +++ b/src/main/java/mods/eln/sound/SoundCommand.java @@ -2,6 +2,7 @@ import mods.eln.misc.Coordinate; import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.math.BlockPos; import net.minecraft.world.World; import java.io.DataInputStream; @@ -72,16 +73,18 @@ public void play() { public void set(Coordinate c) { world = c.world(); - x = c.x + 0.5; - y = c.y + 0.5; - z = c.z + 0.5; + BlockPos pos = c.pos; + x = pos.getX() + 0.5; + y = pos.getY() + 0.5; + z = pos.getZ() + 0.5; } public SoundCommand set(TileEntity c) { - world = c.getWorldObj(); - x = c.xCoord + 0.5; - y = c.yCoord + 0.5; - z = c.zCoord + 0.5; + world = c.getWorld(); + BlockPos pos = c.getPos(); + x = pos.getX() + 0.5; + y = pos.getY() + 0.5; + z = pos.getZ() + 0.5; //mediumRange(); return this; } diff --git a/src/main/java/mods/eln/sound/SoundServer.java b/src/main/java/mods/eln/sound/SoundServer.java index ec9a1a2fb..8ab242916 100644 --- a/src/main/java/mods/eln/sound/SoundServer.java +++ b/src/main/java/mods/eln/sound/SoundServer.java @@ -30,15 +30,15 @@ public static void play(SoundCommand p) { try { stream.writeByte(Eln.packetPlaySound); - stream.writeByte(p.world.provider.dimensionId); + stream.writeByte(p.world.provider.getDimension()); p.writeTo(stream); MinecraftServer server = FMLCommonHandler.instance().getMinecraftServerInstance(); - for (Object obj : server.getConfigurationManager().playerEntityList) { + for (Object obj : p.world.playerEntities) { EntityPlayerMP player = (EntityPlayerMP) obj; - if (player.dimension == p.world.provider.dimensionId && player.getDistance(p.x, p.y, p.z) < p.rangeMax + 2) + if (player.dimension == p.world.provider.getDimension() && player.getDistance(p.x, p.y, p.z) < p.rangeMax + 2) ; Utils.sendPacketToClient(bos, player); } diff --git a/src/main/java/mods/eln/transparentnode/autominer/AutoMinerDescriptor.java b/src/main/java/mods/eln/transparentnode/autominer/AutoMinerDescriptor.java index b730ea070..a111fa0ba 100644 --- a/src/main/java/mods/eln/transparentnode/autominer/AutoMinerDescriptor.java +++ b/src/main/java/mods/eln/transparentnode/autominer/AutoMinerDescriptor.java @@ -178,7 +178,7 @@ void draw(boolean lampState, float[] buttonsState, boolean[] ledsAState, boolean // return type != ItemRenderType.INVENTORY; // } - public Coordinate[] getPowerCoordonate(World w) { + public Coordinate[] getPowerCoordinate(World w) { Coordinate[] temp = new Coordinate[powerCoord.length]; for (int idx = 0; idx < temp.length; idx++) { temp[idx] = new Coordinate(powerCoord[idx]); diff --git a/src/main/java/mods/eln/transparentnode/autominer/AutoMinerElement.java b/src/main/java/mods/eln/transparentnode/autominer/AutoMinerElement.java index ed61482fe..db6279230 100644 --- a/src/main/java/mods/eln/transparentnode/autominer/AutoMinerElement.java +++ b/src/main/java/mods/eln/transparentnode/autominer/AutoMinerElement.java @@ -98,7 +98,7 @@ public void initialize() { lightCoordinate.applyTransformation(front, node.coordinate); int idx = 0; - for (Coordinate c : descriptor.getPowerCoordonate(node.coordinate.world())) { + for (Coordinate c : descriptor.getPowerCoordinate(node.coordinate.world())) { AutoMinerPowerNode n = new AutoMinerPowerNode(); n.setElement(this); c.applyTransformation(front, node.coordinate); diff --git a/src/main/java/mods/eln/transparentnode/autominer/AutoMinerRender.java b/src/main/java/mods/eln/transparentnode/autominer/AutoMinerRender.java index e5616d7df..79b776bd9 100644 --- a/src/main/java/mods/eln/transparentnode/autominer/AutoMinerRender.java +++ b/src/main/java/mods/eln/transparentnode/autominer/AutoMinerRender.java @@ -12,6 +12,7 @@ import net.minecraft.client.audio.ISound; import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.util.math.BlockPos; import org.lwjgl.opengl.GL11; import java.io.DataInputStream; @@ -127,7 +128,7 @@ public void draw() { GL11.glScalef(1 / 128f, -1 / 128f, 1); int idx = 0; for (String log : logs) { - Minecraft.getMinecraft().fontRenderer.drawString(idx == 0 ? Color.COLOR_BRIGHT_GREEN + "> " + + Minecraft.getMinecraft().fontRendererObj.drawString(idx == 0 ? Color.COLOR_BRIGHT_GREEN + "> " + log.substring(2) : Color.COLOR_DARK_GREEN + log, 80, 1 + idx, 0xFFD0D0D0 /*No effect...*/); idx += 8; } @@ -192,9 +193,10 @@ public void refresh(float deltaT) { camAlpha = (float) (Math.PI / 2); break; } - render.generate(this.tileEntity.getWorldObj(), tileEntity.xCoord + 0.5, - tileEntity.yCoord + 0.5 - (Math.max(0, pipeLength - 5)), - tileEntity.zCoord + 0.5, -(float) (Math.PI * 1 / 2) + camAlpha, -(float) (Math.PI / 2)); + BlockPos pos = tileEntity.getPos(); + render.generate(this.tileEntity.getWorld(), pos.getX() + 0.5, + pos.getY() + 0.5 - (Math.max(0, pipeLength - 5)), + pos.getZ() + 0.5, -(float) (Math.PI * 1 / 2) + camAlpha, -(float) (Math.PI / 2)); } } diff --git a/src/main/java/mods/eln/transparentnode/autominer/AutoMinerSlowProcess.java b/src/main/java/mods/eln/transparentnode/autominer/AutoMinerSlowProcess.java index 4adca6b97..796b0aa4d 100644 --- a/src/main/java/mods/eln/transparentnode/autominer/AutoMinerSlowProcess.java +++ b/src/main/java/mods/eln/transparentnode/autominer/AutoMinerSlowProcess.java @@ -212,7 +212,7 @@ private IInventory getDropInventory() { IInventory chestEntity = null; for (int x = 2; x >= 1; x--) { Coordinate c = new Coordinate(x, -1, 0, miner.world()); - c.applyTransformation(miner.front, miner.coordonate()); + c.applyTransformation(miner.front, miner.coordinate()); if (c.getTileEntity() instanceof IInventory) { chestEntity = (IInventory) c.getTileEntity(); } diff --git a/src/main/java/mods/eln/transparentnode/turret/TurretElement.java b/src/main/java/mods/eln/transparentnode/turret/TurretElement.java index 8c3b96e3b..5225a74a7 100644 --- a/src/main/java/mods/eln/transparentnode/turret/TurretElement.java +++ b/src/main/java/mods/eln/transparentnode/turret/TurretElement.java @@ -98,7 +98,7 @@ public void setSeekMode(boolean seekModeEnabled) { public void shoot() { Coordinate lightSourceCoordinate = new Coordinate(); - lightSourceCoordinate.copyFrom(coordonate()); + lightSourceCoordinate.copyFrom(coordinate()); lightSourceCoordinate.move(front); LightBlockEntity.addLight(lightSourceCoordinate, 25, 2); if (simulation.shoot()) needPublish(); @@ -151,7 +151,7 @@ public void initialize() { @Override public boolean onBlockActivated(EntityPlayer entityPlayer, Direction side, float vx, float vy, float vz) { - return acceptingInventory.take(entityPlayer.getCurrentEquippedItem()); + return acceptingInventory.take(entityPlayer.getHeldItemMainhand()); } @Override diff --git a/src/main/java/mods/eln/transparentnode/turret/TurretSlowProcess.java b/src/main/java/mods/eln/transparentnode/turret/TurretSlowProcess.java index 2c3a60380..149e10fa7 100644 --- a/src/main/java/mods/eln/transparentnode/turret/TurretSlowProcess.java +++ b/src/main/java/mods/eln/transparentnode/turret/TurretSlowProcess.java @@ -158,13 +158,13 @@ else if (element.getTurretAngle() <= -element.getDescriptor().getProperties().ac } } - Coordinate coord = element.coordonate(); + Coordinate coord = element.coordinate(); AxisAlignedBB bb = coord.getAxisAlignedBB((int) element.getDescriptor().getProperties().detectionDistance); @SuppressWarnings("unchecked") List list = coord.world().getEntitiesWithinAABB(EntityLivingBase.class, bb); for (EntityLivingBase entity : list) { - double dx = (entity.posX - coord.x - 0.5); - double dz = (entity.posZ - coord.z - 0.5); + double dx = (entity.posX - coord.pos.getX() - 0.5); + double dz = (entity.posZ - coord.pos.getY() - 0.5); double entityAngle = -Math.toDegrees(Math.atan2(dz, dx)); switch (element.front) { case XN: @@ -196,11 +196,11 @@ else if (element.getTurretAngle() <= -element.getDescriptor().getProperties().ac if (filterClass == null || !filterClass.isAssignableFrom(entity.getClass())) return null; } - List blockList = Utils.traceRay(coord.world(), coord.x + 0.5, coord.y + 0.5, coord.z + 0.5, + List blockList = Utils.traceRay(coord.world(), coord.pos.getX() + 0.5, coord.pos.getY() + 0.5, coord.pos.getZ() + 0.5, entity.posX, entity.posY + entity.getEyeHeight(), entity.posZ); boolean visible = true; for (Block b : blockList) - if (b.isOpaqueCube()) { + if (b.isOpaqueCube(b.getDefaultState())) { visible = false; break; } @@ -254,11 +254,11 @@ public State state(double time) { if (filterClass == null || !filterClass.isAssignableFrom(target.getClass())) return new SeekingState(); } - Coordinate coord = element.coordonate(); + Coordinate coord = element.coordinate(); - double dx = (float) (target.posX - coord.x - 0.5); - double dy = (float) (target.posY + target.getEyeHeight() - coord.y - 0.75); - double dz = (float) (target.posZ - coord.z - 0.5); + double dx = (float) (target.posX - coord.pos.getX() - 0.5); + double dy = (float) (target.posY + target.getEyeHeight() - coord.pos.getY() - 0.75); + double dz = (float) (target.posZ - coord.pos.getZ() - 0.5); double entityAngle = -Math.toDegrees(Math.atan2(dz, dx)); switch (element.front) { case XN: @@ -288,14 +288,14 @@ public State state(double time) { element.setTurretAngle((float) entityAngle); element.setGunElevation((float) -entityAngle2); - if (Math.abs(target.posX - coord.x) > element.getDescriptor().getProperties().aimDistance || - Math.abs(target.posZ - coord.z) > element.getDescriptor().getProperties().aimDistance) + if (Math.abs(target.posX - coord.pos.getX()) > element.getDescriptor().getProperties().aimDistance || + Math.abs(target.posZ - coord.pos.getZ()) > element.getDescriptor().getProperties().aimDistance) return new SeekingState(); - List blockList = Utils.traceRay(coord.world(), coord.x + 0.5, coord.y + 0.5, coord.z + 0.5, + List blockList = Utils.traceRay(coord.world(), coord.pos.getX() + 0.5, coord.pos.getY() + 0.5, coord.pos.getZ() + 0.5, target.posX, target.posY + target.getEyeHeight(), target.posZ); for (Block b : blockList) - if (b.isOpaqueCube()) + if (b.isOpaqueCube(b.getDefaultState())) return new SeekingState(); if (element.getGunPosition() == 1 && element.isTargetReached() && @@ -348,7 +348,7 @@ public void process(double time) { element.energyBuffer = MaximalEnergy; } - if (element.coordonate().doesBlockExist()) + if (element.coordinate().doesBlockExist()) super.process(time); if (actualPower == 0 || full) diff --git a/src/main/java/mods/eln/transparentnode/waterturbine/WaterTurbineDescriptor.java b/src/main/java/mods/eln/transparentnode/waterturbine/WaterTurbineDescriptor.java index 93db7bc11..cfc64fb63 100644 --- a/src/main/java/mods/eln/transparentnode/waterturbine/WaterTurbineDescriptor.java +++ b/src/main/java/mods/eln/transparentnode/waterturbine/WaterTurbineDescriptor.java @@ -121,7 +121,7 @@ public void addInformation(ItemStack itemStack, EntityPlayer entityPlayer, } - public Coordinate getWaterCoordonate(World w) { + public Coordinate getWaterCoordinate(World w) { Coordinate coord = new Coordinate(waterCoord); coord.setDimension(w.provider.getDimension()); return coord; diff --git a/src/main/java/mods/eln/transparentnode/waterturbine/WaterTurbineElement.java b/src/main/java/mods/eln/transparentnode/waterturbine/WaterTurbineElement.java index e3342b127..2896a47b0 100644 --- a/src/main/java/mods/eln/transparentnode/waterturbine/WaterTurbineElement.java +++ b/src/main/java/mods/eln/transparentnode/waterturbine/WaterTurbineElement.java @@ -89,7 +89,7 @@ public String thermoMeterString(Direction side) { public void initialize() { setPhysicalValue(); - waterCoord = descriptor.getWaterCoordonate(node.coordinate.world()); + waterCoord = descriptor.getWaterCoordinate(node.coordinate.world()); waterCoord.applyTransformation(front, node.coordinate); powerSource.setUmax(descriptor.maxVoltage); powerSource.setImax(descriptor.nominalPower * 5 / descriptor.maxVoltage); diff --git a/src/main/java/mods/eln/transparentnode/waterturbine/WaterTurbineRender.java b/src/main/java/mods/eln/transparentnode/waterturbine/WaterTurbineRender.java index c7b798a24..56acfee18 100644 --- a/src/main/java/mods/eln/transparentnode/waterturbine/WaterTurbineRender.java +++ b/src/main/java/mods/eln/transparentnode/waterturbine/WaterTurbineRender.java @@ -98,7 +98,7 @@ public void networkUnserialize(DataInputStream stream) { e.printStackTrace(); } - waterCoord = this.descriptor.getWaterCoordonate(tileEntity.getWorldObj()); + waterCoord = this.descriptor.getWaterCoordinate(tileEntity.getWorldObj()); waterCoord.setWorld(tileEntity.getWorldObj()); waterCoord.applyTransformation(front, coordinate()); waterCoordRight = new Coordinate(waterCoord); diff --git a/src/main/java/mods/eln/transparentnode/waterturbine/WaterTurbineSlowProcess.java b/src/main/java/mods/eln/transparentnode/waterturbine/WaterTurbineSlowProcess.java index c963c6c93..0bbbd390f 100644 --- a/src/main/java/mods/eln/transparentnode/waterturbine/WaterTurbineSlowProcess.java +++ b/src/main/java/mods/eln/transparentnode/waterturbine/WaterTurbineSlowProcess.java @@ -53,7 +53,7 @@ public void process(double time) { } double timeFactor = 1 + 0.2 * Math.sin((time - 0.20) * Math.PI * 2); - double weatherFactor = 1 + Utils.getWeatherNoLoad(turbine.coordonate().dimension) * 2; + double weatherFactor = 1 + Utils.getWeatherNoLoad(turbine.coordinate().dimension) * 2; return timeFactor * weatherFactor; } From b4124d36fc796d7efcf2862658368b7a7a03fd60 Mon Sep 17 00:00:00 2001 From: XGodL Date: Thu, 6 Sep 2018 17:37:07 +0100 Subject: [PATCH 24/61] Fixing writeToNBT --- .../cofh/api/energy/TileEnergyHandler.java | 4 +- .../mods/eln/fluid/ElementFluidHandler.java | 3 +- .../java/mods/eln/ghost/GhostElement.java | 3 +- .../java/mods/eln/gridnode/GridElement.java | 3 +- src/main/java/mods/eln/misc/Coordinate.java | 3 +- src/main/java/mods/eln/misc/Direction.java | 3 +- src/main/java/mods/eln/misc/LRDU.java | 3 +- .../java/mods/eln/misc/RcInterpolator.java | 3 +- .../java/mods/eln/misc/RcRcInterpolator.java | 3 +- src/main/java/mods/eln/node/Node.java | 3 +- src/main/java/mods/eln/node/NodeBase.java | 4 +- .../java/mods/eln/node/simple/SimpleNode.java | 4 +- src/main/java/mods/eln/node/six/SixNode.java | 3 +- .../mods/eln/node/six/SixNodeElement.java | 3 +- .../eln/node/transparent/TransparentNode.java | 4 +- .../transparent/TransparentNodeElement.java | 3 +- .../TransparentNodeElementInventory.java | 4 +- ...eElectricalGateInputHysteresisProcess.java | 3 +- .../java/mods/eln/sim/NodeVoltageState.java | 3 +- .../java/mods/eln/sim/RegulatorProcess.java | 3 +- .../mods/eln/sim/mna/component/Inductor.java | 3 +- .../eln/sim/mna/component/PowerSource.java | 3 +- .../eln/sim/mna/component/ResistorSwitch.java | 3 +- .../eln/sim/mna/component/VoltageSource.java | 3 +- .../sim/mna/process/PowerSourceBipole.java | 3 +- .../mods/eln/sim/nbt/NbtBatteryProcess.java | 3 +- .../nbt/NbtElectricalGateOutputProcess.java | 3 +- .../mods/eln/sim/nbt/NbtElectricalLoad.java | 3 +- .../mods/eln/sim/nbt/NbtFurnaceProcess.java | 3 +- .../java/mods/eln/sim/nbt/NbtResistor.java | 3 +- .../java/mods/eln/sim/nbt/NbtThermalLoad.java | 3 +- .../computerprobe/ComputerProbeNode.java | 3 +- .../EnergyConverterElnToOtherEntity.java | 3 +- .../EnergyConverterElnToOtherNode.java | 3 +- .../TreeResinCollectorElement.java | 15 +++---- .../TreeResinCollectorTileEntity.java | 39 +++++++++---------- .../batterycharger/BatteryChargerElement.java | 3 +- .../mods/eln/sixnode/diode/DiodeElement.java | 3 +- .../ElectricalAlarmElement.java | 3 +- .../ElectricalBreakerCutProcess.java | 3 +- .../ElectricalBreakerElement.java | 3 +- .../ElectricalCableElement.java | 3 +- .../electricaldatalogger/DataLogs.java | 3 +- .../ElectricalDataLoggerElement.java | 3 +- .../ElectricalEntitySensorSlowProcess.java | 3 +- .../ElectricalGateSourceElement.java | 3 +- .../electricalmath/ElectricalMathElement.java | 4 +- .../ElectricalRedstoneInputElement.java | 3 +- .../ElectricalRedstoneOutputElement.java | 3 +- .../ElectricalRelayElement.java | 3 +- .../ElectricalSensorElement.java | 3 +- .../ElectricalSourceElement.java | 3 +- .../ElectricalSwitchElement.java | 3 +- .../ElectricalTimeoutElement.java | 3 +- .../ElectricalTimeoutProcess.java | 3 +- .../ElectricalVuMeterElement.java | 3 +- .../ElectricalWatchSlowProcess.java | 3 +- .../ElectricalWeatherSensorSlowProcess.java | 3 +- .../ElectricalWindSensorSlowProcess.java | 5 ++- .../energymeter/EnergyMeterElement.java | 3 +- .../groundcable/GroundCableElement.java | 3 +- .../java/mods/eln/sixnode/hub/HubElement.java | 3 +- .../sixnode/lampsocket/LampSocketElement.java | 3 +- .../sixnode/lampsocket/LampSocketProcess.java | 3 +- .../sixnode/lampsocket/LightBlockEntity.java | 3 +- .../sixnode/lampsupply/LampSupplyElement.java | 3 +- .../sixnode/modbusrtu/ModbusRtuElement.java | 3 +- .../sixnode/modbusrtu/WirelessRxStatus.java | 3 +- .../sixnode/modbusrtu/WirelessTxStatus.java | 3 +- .../PowerCapacitorSixContainer.java | 2 +- .../PowerCapacitorSixElement.java | 3 +- .../PowerInductorSixElement.java | 4 +- .../powersocket/PowerSocketElement.java | 3 +- .../thermalcable/ThermalCableElement.java | 3 +- .../thermalsensor/ThermalSensorElement.java | 3 +- .../tutorialsign/TutorialSignElement.java | 3 +- .../aggregator/ToogleAggregator.java | 3 +- .../rx/WirelessSignalRxElement.java | 3 +- .../source/WirelessSignalSourceElement.java | 3 +- .../tx/WirelessSignalTxElement.java | 3 +- src/main/java/mods/eln/solver/Equation.java | 26 ++++++++----- .../autominer/AutoMinerElement.java | 3 +- .../autominer/AutoMinerSlowProcess.java | 3 +- .../battery/BatteryElement.java | 3 +- .../eggincubator/EggIncubatorElement.java | 3 +- .../ElectricalAntennaRxElement.java | 3 +- .../ElectricalAntennaTxElement.java | 4 +- .../ElectricalFurnaceElement.java | 3 +- .../ElectricalMachineElement.java | 3 +- .../heatfurnace/HeatFurnaceElement.java | 4 +- .../HeatFurnaceInventoryProcess.java | 3 +- .../powercapacitor/PowerCapacitorElement.java | 3 +- .../powerinductor/PowerInductorElement.java | 4 +- .../solarpanel/SolarPanelElement.java | 3 +- .../teleporter/TeleporterElement.java | 3 +- .../transformer/TransformerElement.java | 3 +- .../transparentnode/turret/TurretElement.java | 3 +- .../waterturbine/WaterTurbineSlowProcess.java | 13 ++++--- .../windturbine/WindTurbineElement.java | 3 +- .../windturbine/WindTurbineSlowProcess.java | 3 +- 100 files changed, 245 insertions(+), 147 deletions(-) diff --git a/src/main/java/cofh/api/energy/TileEnergyHandler.java b/src/main/java/cofh/api/energy/TileEnergyHandler.java index c051e388c..02f792718 100644 --- a/src/main/java/cofh/api/energy/TileEnergyHandler.java +++ b/src/main/java/cofh/api/energy/TileEnergyHandler.java @@ -21,10 +21,10 @@ public void readFromNBT(NBTTagCompound nbt) { } @Override - public void writeToNBT(NBTTagCompound nbt) { + public NBTTagCompound writeToNBT(NBTTagCompound nbt) { super.writeToNBT(nbt); - storage.writeToNBT(nbt); + return storage.writeToNBT(nbt); } /* IEnergyConnection */ diff --git a/src/main/java/mods/eln/fluid/ElementFluidHandler.java b/src/main/java/mods/eln/fluid/ElementFluidHandler.java index a47793f82..89174a19e 100644 --- a/src/main/java/mods/eln/fluid/ElementFluidHandler.java +++ b/src/main/java/mods/eln/fluid/ElementFluidHandler.java @@ -100,10 +100,11 @@ public void readFromNBT(NBTTagCompound nbt, String str) { } @Override - public void writeToNBT(NBTTagCompound nbt, String str) { + public NBTTagCompound writeToNBT(NBTTagCompound nbt, String str) { NBTTagCompound t = new NBTTagCompound(); tank.writeToNBT(t); nbt.setTag(str + "tank", t); nbt.setFloat(str + "fhm", fluid_heat_mb); + return nbt; } } diff --git a/src/main/java/mods/eln/ghost/GhostElement.java b/src/main/java/mods/eln/ghost/GhostElement.java index 20cbe90f7..8514e381c 100644 --- a/src/main/java/mods/eln/ghost/GhostElement.java +++ b/src/main/java/mods/eln/ghost/GhostElement.java @@ -50,10 +50,11 @@ public void readFromNBT(NBTTagCompound nbt, String str) { } @Override - public void writeToNBT(NBTTagCompound nbt, String str) { + public NBTTagCompound writeToNBT(NBTTagCompound nbt, String str) { elementCoordinate.writeToNBT(nbt, str + "elemCoord"); observatorCoordinate.writeToNBT(nbt, str + "obserCoord"); nbt.setInteger(str + "UUID", UUID); + return nbt; } } diff --git a/src/main/java/mods/eln/gridnode/GridElement.java b/src/main/java/mods/eln/gridnode/GridElement.java index 3af65689d..a6481c6e0 100644 --- a/src/main/java/mods/eln/gridnode/GridElement.java +++ b/src/main/java/mods/eln/gridnode/GridElement.java @@ -140,7 +140,7 @@ public void selfDestroy() { } @Override - public void writeToNBT(NBTTagCompound nbt) { + public NBTTagCompound writeToNBT(NBTTagCompound nbt) { super.writeToNBT(nbt); Integer i = 0; @@ -149,6 +149,7 @@ public void writeToNBT(NBTTagCompound nbt) { link.writeToNBT(Utils.newNbtTagCompund(gridLinks, i.toString()), ""); i++; } + return nbt; } @Override diff --git a/src/main/java/mods/eln/misc/Coordinate.java b/src/main/java/mods/eln/misc/Coordinate.java index f9a705846..cd0cc9efc 100644 --- a/src/main/java/mods/eln/misc/Coordinate.java +++ b/src/main/java/mods/eln/misc/Coordinate.java @@ -110,11 +110,12 @@ public void readFromNBT(NBTTagCompound nbt, String str) { } @Override - public void writeToNBT(NBTTagCompound nbt, String str) { + public NBTTagCompound writeToNBT(NBTTagCompound nbt, String str) { nbt.setInteger(str + "x", pos.getX()); nbt.setInteger(str + "y", pos.getY()); nbt.setInteger(str + "z", pos.getZ()); nbt.setInteger(str + "d", dimension); + return nbt; } @Override diff --git a/src/main/java/mods/eln/misc/Direction.java b/src/main/java/mods/eln/misc/Direction.java index 2fae0a041..8f0de009c 100644 --- a/src/main/java/mods/eln/misc/Direction.java +++ b/src/main/java/mods/eln/misc/Direction.java @@ -465,8 +465,9 @@ public TileEntity getTileEntity(Coordinate coordinate) { return coordinate.world().getTileEntity(new BlockPos(x, y, z)); } - public void writeToNBT(NBTTagCompound nbt, String name) { + public NBTTagCompound writeToNBT(NBTTagCompound nbt, String name) { nbt.setByte(name, (byte) getInt()); + return nbt; } static public Direction readFromNBT(NBTTagCompound nbt, String name) { diff --git a/src/main/java/mods/eln/misc/LRDU.java b/src/main/java/mods/eln/misc/LRDU.java index e0cb7d45a..9916ebf97 100644 --- a/src/main/java/mods/eln/misc/LRDU.java +++ b/src/main/java/mods/eln/misc/LRDU.java @@ -235,8 +235,9 @@ public LRDU right() { return Left; } - public void writeToNBT(NBTTagCompound nbt, String name) { + public NBTTagCompound writeToNBT(NBTTagCompound nbt, String name) { nbt.setByte(name, (byte) toInt()); + return nbt; } static public LRDU readFromNBT(NBTTagCompound nbt, String name) { diff --git a/src/main/java/mods/eln/misc/RcInterpolator.java b/src/main/java/mods/eln/misc/RcInterpolator.java index c2378b98e..6b7a0e93c 100644 --- a/src/main/java/mods/eln/misc/RcInterpolator.java +++ b/src/main/java/mods/eln/misc/RcInterpolator.java @@ -49,8 +49,9 @@ public void readFromNBT(NBTTagCompound nbt, String str) { } @Override - public void writeToNBT(NBTTagCompound nbt, String str) { + public NBTTagCompound writeToNBT(NBTTagCompound nbt, String str) { nbt.setFloat(str + "factor", factor); nbt.setFloat(str + "factorFiltred", factorFiltred); + return nbt; } } diff --git a/src/main/java/mods/eln/misc/RcRcInterpolator.java b/src/main/java/mods/eln/misc/RcRcInterpolator.java index 55ab8f4ea..da320d976 100644 --- a/src/main/java/mods/eln/misc/RcRcInterpolator.java +++ b/src/main/java/mods/eln/misc/RcRcInterpolator.java @@ -47,9 +47,10 @@ public void readFromNBT(NBTTagCompound nbt, String str) { } @Override - public void writeToNBT(NBTTagCompound nbt, String str) { + public NBTTagCompound writeToNBT(NBTTagCompound nbt, String str) { nbt.setFloat(str + "c1", c1); nbt.setFloat(str + "c2", c2); nbt.setFloat(str + "target", target); + return nbt; } } diff --git a/src/main/java/mods/eln/node/Node.java b/src/main/java/mods/eln/node/Node.java index 63a26d898..3c644376d 100644 --- a/src/main/java/mods/eln/node/Node.java +++ b/src/main/java/mods/eln/node/Node.java @@ -35,9 +35,10 @@ public void readFromNBT(NBTTagCompound nbt) { } - public void writeToNBT(NBTTagCompound nbt) { + public NBTTagCompound writeToNBT(NBTTagCompound nbt) { super.writeToNBT(nbt); nbt.setByte("lastLight", (byte) lastLight); + return nbt; } boolean oldSendedRedstone = false; diff --git a/src/main/java/mods/eln/node/NodeBase.java b/src/main/java/mods/eln/node/NodeBase.java index 08d616996..eddb82474 100644 --- a/src/main/java/mods/eln/node/NodeBase.java +++ b/src/main/java/mods/eln/node/NodeBase.java @@ -416,7 +416,7 @@ public void readFromNBT(NBTTagCompound nbt) { initialized = true; } - public void writeToNBT(NBTTagCompound nbt) { + public NBTTagCompound writeToNBT(NBTTagCompound nbt) { coordinate.writeToNBT(nbt, "c"); @@ -424,7 +424,7 @@ public void writeToNBT(NBTTagCompound nbt) { nbt.setByte("NBOpaque", neighborOpaque); nbt.setByte("NBWrap", neighborWrapable); - + return nbt; } public String multiMeterString(Direction side) { diff --git a/src/main/java/mods/eln/node/simple/SimpleNode.java b/src/main/java/mods/eln/node/simple/SimpleNode.java index 146d9abae..9ebf6cbae 100644 --- a/src/main/java/mods/eln/node/simple/SimpleNode.java +++ b/src/main/java/mods/eln/node/simple/SimpleNode.java @@ -159,7 +159,7 @@ public void readFromNBT(NBTTagCompound nbt) { } } - public void writeToNBT(NBTTagCompound nbt) { + public NBTTagCompound writeToNBT(NBTTagCompound nbt) { super.writeToNBT(nbt); front.writeToNBT(nbt, "SNfront"); @@ -190,6 +190,6 @@ public void writeToNBT(NBTTagCompound nbt) { for (IProcess process : thermalSlowProcessList) { if (process instanceof INBTTReady) ((INBTTReady) process).writeToNBT(nbt, ""); } - + return nbt; } } diff --git a/src/main/java/mods/eln/node/six/SixNode.java b/src/main/java/mods/eln/node/six/SixNode.java index 537120b9c..b2db445fe 100644 --- a/src/main/java/mods/eln/node/six/SixNode.java +++ b/src/main/java/mods/eln/node/six/SixNode.java @@ -231,7 +231,7 @@ public boolean nodeAutoSave() { return false; } - public void writeToNBT(NBTTagCompound nbt) { + public NBTTagCompound writeToNBT(NBTTagCompound nbt) { int idx = 0; nbt.setInteger("cacheBlockId", Block.getIdFromBlock(sixNodeCacheBlock)); nbt.setByte("cacheBlockMeta", sixNodeCacheBlockMeta); @@ -250,6 +250,7 @@ public void writeToNBT(NBTTagCompound nbt) { NBTTagCompound nodeNbt = new NBTTagCompound(); super.writeToNBT(nodeNbt); nbt.setTag("node", nodeNbt); + return nbt; } public boolean getSideEnable(Direction direction) { diff --git a/src/main/java/mods/eln/node/six/SixNodeElement.java b/src/main/java/mods/eln/node/six/SixNodeElement.java index a83bbbfe5..2ba7a9363 100644 --- a/src/main/java/mods/eln/node/six/SixNodeElement.java +++ b/src/main/java/mods/eln/node/six/SixNodeElement.java @@ -291,7 +291,7 @@ public void readFromNBT(NBTTagCompound nbt) { } - public void writeToNBT(NBTTagCompound nbt) { + public NBTTagCompound writeToNBT(NBTTagCompound nbt) { int idx; @@ -331,6 +331,7 @@ public void writeToNBT(NBTTagCompound nbt) { if (process instanceof INBTTReady) ((INBTTReady) process).writeToNBT(nbt, ""); } + return nbt; } diff --git a/src/main/java/mods/eln/node/transparent/TransparentNode.java b/src/main/java/mods/eln/node/transparent/TransparentNode.java index 637adbc84..d4dcd5a3e 100644 --- a/src/main/java/mods/eln/node/transparent/TransparentNode.java +++ b/src/main/java/mods/eln/node/transparent/TransparentNode.java @@ -69,12 +69,12 @@ public void readFromNBT(NBTTagCompound nbt) { } - public void writeToNBT(NBTTagCompound nbt) { + public NBTTagCompound writeToNBT(NBTTagCompound nbt) { super.writeToNBT(Utils.newNbtTagCompund(nbt, "node")); nbt.setShort("eid", (short) elementId); - element.writeToNBT(Utils.newNbtTagCompund(nbt, "element")); + return element.writeToNBT(Utils.newNbtTagCompund(nbt, "element")); } diff --git a/src/main/java/mods/eln/node/transparent/TransparentNodeElement.java b/src/main/java/mods/eln/node/transparent/TransparentNodeElement.java index c2f991c57..a8d795d43 100644 --- a/src/main/java/mods/eln/node/transparent/TransparentNodeElement.java +++ b/src/main/java/mods/eln/node/transparent/TransparentNodeElement.java @@ -352,7 +352,7 @@ public void readFromNBT(NBTTagCompound nbt) { } - public void writeToNBT(NBTTagCompound nbt) { + public NBTTagCompound writeToNBT(NBTTagCompound nbt) { int idx = 0; IInventory inv = getInventory(); @@ -385,6 +385,7 @@ public void writeToNBT(NBTTagCompound nbt) { nbt.setByte("others", (byte) (front.getInt() + (grounded ? 8 : 0))); + return nbt; } public void reconnect() { diff --git a/src/main/java/mods/eln/node/transparent/TransparentNodeElementInventory.java b/src/main/java/mods/eln/node/transparent/TransparentNodeElementInventory.java index bf01a2bd4..0aac23778 100644 --- a/src/main/java/mods/eln/node/transparent/TransparentNodeElementInventory.java +++ b/src/main/java/mods/eln/node/transparent/TransparentNodeElementInventory.java @@ -121,9 +121,9 @@ public void readFromNBT(NBTTagCompound nbt, String str) { } @Override - public void writeToNBT(NBTTagCompound nbt, String str) { + public NBTTagCompound writeToNBT(NBTTagCompound nbt, String str) { - Utils.writeToNBT(nbt, str, this); + return Utils.writeToNBT(nbt, str, this); } @Override diff --git a/src/main/java/mods/eln/sim/NodeElectricalGateInputHysteresisProcess.java b/src/main/java/mods/eln/sim/NodeElectricalGateInputHysteresisProcess.java index 562483171..a61b44acb 100644 --- a/src/main/java/mods/eln/sim/NodeElectricalGateInputHysteresisProcess.java +++ b/src/main/java/mods/eln/sim/NodeElectricalGateInputHysteresisProcess.java @@ -40,7 +40,8 @@ public void readFromNBT(NBTTagCompound nbt, String str) { } @Override - public void writeToNBT(NBTTagCompound nbt, String str) { + public NBTTagCompound writeToNBT(NBTTagCompound nbt, String str) { nbt.setBoolean(str + name + "state", state); + return nbt; } } diff --git a/src/main/java/mods/eln/sim/NodeVoltageState.java b/src/main/java/mods/eln/sim/NodeVoltageState.java index 26a51a939..48716532b 100644 --- a/src/main/java/mods/eln/sim/NodeVoltageState.java +++ b/src/main/java/mods/eln/sim/NodeVoltageState.java @@ -20,7 +20,8 @@ public void readFromNBT(NBTTagCompound nbttagcompound, String str) { if (getU() == Float.POSITIVE_INFINITY) setU(0); } - public void writeToNBT(NBTTagCompound nbttagcompound, String str) { + public NBTTagCompound writeToNBT(NBTTagCompound nbttagcompound, String str) { nbttagcompound.setFloat(str + name + "Uc", (float) getU()); + return nbttagcompound; } } diff --git a/src/main/java/mods/eln/sim/RegulatorProcess.java b/src/main/java/mods/eln/sim/RegulatorProcess.java index ee3683d36..15c0a4f58 100644 --- a/src/main/java/mods/eln/sim/RegulatorProcess.java +++ b/src/main/java/mods/eln/sim/RegulatorProcess.java @@ -115,8 +115,9 @@ public void readFromNBT(NBTTagCompound nbt, String str) { } @Override - public void writeToNBT(NBTTagCompound nbt, String str) { + public NBTTagCompound writeToNBT(NBTTagCompound nbt, String str) { nbt.setDouble(str + name + "errorIntegrated", errorIntegrated); nbt.setDouble(str + name + "target", target); + return nbt; } } diff --git a/src/main/java/mods/eln/sim/mna/component/Inductor.java b/src/main/java/mods/eln/sim/mna/component/Inductor.java index e78711806..4d11905a6 100644 --- a/src/main/java/mods/eln/sim/mna/component/Inductor.java +++ b/src/main/java/mods/eln/sim/mna/component/Inductor.java @@ -85,9 +85,10 @@ public void readFromNBT(NBTTagCompound nbt, String str) { } @Override - public void writeToNBT(NBTTagCompound nbt, String str) { + public NBTTagCompound writeToNBT(NBTTagCompound nbt, String str) { str += name; nbt.setDouble(str + "Istate", currentState.state); + return nbt; } public void resetStates() { diff --git a/src/main/java/mods/eln/sim/mna/component/PowerSource.java b/src/main/java/mods/eln/sim/mna/component/PowerSource.java index 4d7caad42..481623dfb 100644 --- a/src/main/java/mods/eln/sim/mna/component/PowerSource.java +++ b/src/main/java/mods/eln/sim/mna/component/PowerSource.java @@ -79,7 +79,7 @@ public void readFromNBT(NBTTagCompound nbt, String str) { } @Override - public void writeToNBT(NBTTagCompound nbt, String str) { + public NBTTagCompound writeToNBT(NBTTagCompound nbt, String str) { super.writeToNBT(nbt, str); str += name; @@ -87,5 +87,6 @@ public void writeToNBT(NBTTagCompound nbt, String str) { nbt.setDouble(str + "P", getP()); nbt.setDouble(str + "Umax", Umax); nbt.setDouble(str + "Imax", Imax); + return nbt; } } diff --git a/src/main/java/mods/eln/sim/mna/component/ResistorSwitch.java b/src/main/java/mods/eln/sim/mna/component/ResistorSwitch.java index adec08892..c592e32bd 100644 --- a/src/main/java/mods/eln/sim/mna/component/ResistorSwitch.java +++ b/src/main/java/mods/eln/sim/mna/component/ResistorSwitch.java @@ -46,10 +46,11 @@ public void readFromNBT(NBTTagCompound nbt, String str) { } @Override - public void writeToNBT(NBTTagCompound nbt, String str) { + public NBTTagCompound writeToNBT(NBTTagCompound nbt, String str) { str += name; nbt.setDouble(str + "R", baseR); nbt.setBoolean(str + "State", getState()); + return nbt; } public void mustUseUltraImpedance() { diff --git a/src/main/java/mods/eln/sim/mna/component/VoltageSource.java b/src/main/java/mods/eln/sim/mna/component/VoltageSource.java index 65bed4d0e..f4aa32251 100644 --- a/src/main/java/mods/eln/sim/mna/component/VoltageSource.java +++ b/src/main/java/mods/eln/sim/mna/component/VoltageSource.java @@ -81,10 +81,11 @@ public void readFromNBT(NBTTagCompound nbt, String str) { } @Override - public void writeToNBT(NBTTagCompound nbt, String str) { + public NBTTagCompound writeToNBT(NBTTagCompound nbt, String str) { str += name; nbt.setDouble(str + "U", u); nbt.setDouble(str + "Istate", currentState.state); + return nbt; } public double getP() { diff --git a/src/main/java/mods/eln/sim/mna/process/PowerSourceBipole.java b/src/main/java/mods/eln/sim/mna/process/PowerSourceBipole.java index 0f823b82b..4c1fccd06 100644 --- a/src/main/java/mods/eln/sim/mna/process/PowerSourceBipole.java +++ b/src/main/java/mods/eln/sim/mna/process/PowerSourceBipole.java @@ -73,9 +73,10 @@ public void readFromNBT(NBTTagCompound nbt, String str) { } @Override - public void writeToNBT(NBTTagCompound nbt, String str) { + public NBTTagCompound writeToNBT(NBTTagCompound nbt, String str) { nbt.setDouble(str + "P", getP()); nbt.setDouble(str + "Umax", Umax); nbt.setDouble(str + "Imax", Imax); + return nbt; } } diff --git a/src/main/java/mods/eln/sim/nbt/NbtBatteryProcess.java b/src/main/java/mods/eln/sim/nbt/NbtBatteryProcess.java index 1c8febaba..97eee6829 100644 --- a/src/main/java/mods/eln/sim/nbt/NbtBatteryProcess.java +++ b/src/main/java/mods/eln/sim/nbt/NbtBatteryProcess.java @@ -22,9 +22,10 @@ public void readFromNBT(NBTTagCompound nbttagcompound, String str) { } @Override - public void writeToNBT(NBTTagCompound nbttagcompound, String str) { + public NBTTagCompound writeToNBT(NBTTagCompound nbttagcompound, String str) { nbttagcompound.setDouble(str + "NBP" + "Q", Q); nbttagcompound.setDouble(str + "NBP" + "life", life); + return nbttagcompound; } public void setIMax(double iMax) { diff --git a/src/main/java/mods/eln/sim/nbt/NbtElectricalGateOutputProcess.java b/src/main/java/mods/eln/sim/nbt/NbtElectricalGateOutputProcess.java index 1431b492c..6f00e4364 100644 --- a/src/main/java/mods/eln/sim/nbt/NbtElectricalGateOutputProcess.java +++ b/src/main/java/mods/eln/sim/nbt/NbtElectricalGateOutputProcess.java @@ -49,9 +49,10 @@ public void readFromNBT(NBTTagCompound nbt, String str) { } @Override - public void writeToNBT(NBTTagCompound nbt, String str) { + public NBTTagCompound writeToNBT(NBTTagCompound nbt, String str) { nbt.setBoolean(str + name + "highImpedance", highImpedance); nbt.setDouble(str + name + "U", U); + return nbt; } public void setOutputNormalized(double value) { diff --git a/src/main/java/mods/eln/sim/nbt/NbtElectricalLoad.java b/src/main/java/mods/eln/sim/nbt/NbtElectricalLoad.java index 6be00b0d9..2bac78baa 100644 --- a/src/main/java/mods/eln/sim/nbt/NbtElectricalLoad.java +++ b/src/main/java/mods/eln/sim/nbt/NbtElectricalLoad.java @@ -20,7 +20,8 @@ public void readFromNBT(NBTTagCompound nbttagcompound, String str) { if (getU() == Float.POSITIVE_INFINITY) setU(0); } - public void writeToNBT(NBTTagCompound nbttagcompound, String str) { + public NBTTagCompound writeToNBT(NBTTagCompound nbttagcompound, String str) { nbttagcompound.setFloat(str + name + "Uc", (float) getU()); + return nbttagcompound; } } diff --git a/src/main/java/mods/eln/sim/nbt/NbtFurnaceProcess.java b/src/main/java/mods/eln/sim/nbt/NbtFurnaceProcess.java index 9514ba9b5..d51b27fd1 100644 --- a/src/main/java/mods/eln/sim/nbt/NbtFurnaceProcess.java +++ b/src/main/java/mods/eln/sim/nbt/NbtFurnaceProcess.java @@ -21,8 +21,9 @@ public void readFromNBT(NBTTagCompound nbttagcompound, String str) { } @Override - public void writeToNBT(NBTTagCompound nbttagcompound, String str) { + public NBTTagCompound writeToNBT(NBTTagCompound nbttagcompound, String str) { nbttagcompound.setFloat(str + name + "Q", (float) combustibleEnergy); nbttagcompound.setDouble(str + name + "gain", getGain()); + return nbttagcompound; } } diff --git a/src/main/java/mods/eln/sim/nbt/NbtResistor.java b/src/main/java/mods/eln/sim/nbt/NbtResistor.java index 727f87479..c60d4fd78 100644 --- a/src/main/java/mods/eln/sim/nbt/NbtResistor.java +++ b/src/main/java/mods/eln/sim/nbt/NbtResistor.java @@ -21,8 +21,9 @@ public void readFromNBT(NBTTagCompound nbt, String str) { } @Override - public void writeToNBT(NBTTagCompound nbt, String str) { + public NBTTagCompound writeToNBT(NBTTagCompound nbt, String str) { name += str; nbt.setDouble(str + "R", getR()); + return nbt; } } diff --git a/src/main/java/mods/eln/sim/nbt/NbtThermalLoad.java b/src/main/java/mods/eln/sim/nbt/NbtThermalLoad.java index 65ff6f1a6..9cdb69783 100644 --- a/src/main/java/mods/eln/sim/nbt/NbtThermalLoad.java +++ b/src/main/java/mods/eln/sim/nbt/NbtThermalLoad.java @@ -25,7 +25,8 @@ public void readFromNBT(NBTTagCompound nbttagcompound, String str) { if (Tc == Float.POSITIVE_INFINITY) Tc = 0; } - public void writeToNBT(NBTTagCompound nbttagcompound, String str) { + public NBTTagCompound writeToNBT(NBTTagCompound nbttagcompound, String str) { nbttagcompound.setFloat(str + name + "Tc", (float) Tc); + return nbttagcompound; } } diff --git a/src/main/java/mods/eln/simplenode/computerprobe/ComputerProbeNode.java b/src/main/java/mods/eln/simplenode/computerprobe/ComputerProbeNode.java index c976a5414..d60db6cf7 100644 --- a/src/main/java/mods/eln/simplenode/computerprobe/ComputerProbeNode.java +++ b/src/main/java/mods/eln/simplenode/computerprobe/ComputerProbeNode.java @@ -325,7 +325,7 @@ public boolean equals(IPeripheral other) { // ********************** NBT ***************** - public void writeToNBT(NBTTagCompound nbt) { + public NBTTagCompound writeToNBT(NBTTagCompound nbt) { super.writeToNBT(nbt); nbt.setInteger("wirelessTxCount", wirelessTxMap.size()); int idx = 0; @@ -333,6 +333,7 @@ public void writeToNBT(NBTTagCompound nbt) { nbt.setString("wirelessTx" + idx + "channel", tx.channel); nbt.setDouble("wirelessTx" + idx + "value", tx.value); } + return nbt; } public void readFromNBT(NBTTagCompound nbt) { diff --git a/src/main/java/mods/eln/simplenode/energyconverter/EnergyConverterElnToOtherEntity.java b/src/main/java/mods/eln/simplenode/energyconverter/EnergyConverterElnToOtherEntity.java index 79cf7299b..ccb090351 100644 --- a/src/main/java/mods/eln/simplenode/energyconverter/EnergyConverterElnToOtherEntity.java +++ b/src/main/java/mods/eln/simplenode/energyconverter/EnergyConverterElnToOtherEntity.java @@ -236,9 +236,10 @@ public void readFromNBT(NBTTagCompound nbt) { getOc().readFromNBT(nbt); } - public void writeToNBT(NBTTagCompound nbt) { + public NBTTagCompound writeToNBT(NBTTagCompound nbt) { super.writeToNBT(nbt); if (Other.ocLoaded) getOc().writeToNBT(nbt); + return nbt; } } diff --git a/src/main/java/mods/eln/simplenode/energyconverter/EnergyConverterElnToOtherNode.java b/src/main/java/mods/eln/simplenode/energyconverter/EnergyConverterElnToOtherNode.java index 7e49d16b0..4dc00ee7e 100644 --- a/src/main/java/mods/eln/simplenode/energyconverter/EnergyConverterElnToOtherNode.java +++ b/src/main/java/mods/eln/simplenode/energyconverter/EnergyConverterElnToOtherNode.java @@ -113,10 +113,11 @@ public double getOtherModOutMax(double otherOutMax, double conversionRatio) { } @Override - public void writeToNBT(NBTTagCompound nbt) { + public NBTTagCompound writeToNBT(NBTTagCompound nbt) { super.writeToNBT(nbt); nbt.setDouble("energyBuffer", energyBuffer); nbt.setDouble("inPowerFactor", inPowerFactor); + return nbt; } @Override diff --git a/src/main/java/mods/eln/sixnode/TreeResinCollector/TreeResinCollectorElement.java b/src/main/java/mods/eln/sixnode/TreeResinCollector/TreeResinCollectorElement.java index da81a347c..2b913578e 100644 --- a/src/main/java/mods/eln/sixnode/TreeResinCollector/TreeResinCollectorElement.java +++ b/src/main/java/mods/eln/sixnode/TreeResinCollector/TreeResinCollectorElement.java @@ -95,7 +95,7 @@ public void initialize() { } yEnd = posWood[1]; - int collectiorCount = 0; + int collectorCount = 0; Coordinate coordTemp = new Coordinate(posCollector[0], 0, posCollector[2], worldObj); posCollector[1] = yStart; for (posCollector[1] = yStart; posCollector[1] <= yEnd; posCollector[1]++) { @@ -105,16 +105,16 @@ public void initialize() { if (node instanceof SixNode) { SixNode six = (SixNode) node; if (six.getElement(side) != null && six.getElement(side) instanceof TreeResinCollectorElement) { - collectiorCount++; + collectorCount++; } } } - if (collectiorCount == 0) { - collectiorCount++; - Utils.println("ASSERT collectiorCount == 0"); + if (collectorCount == 0) { + collectorCount++; + Utils.println("ASSERT collectorCount == 0"); } double leaf = leafCount >= 1 ? 1 : 0.000000001; - double productPerSeconde = Math.min(0.05, occupancyProductPerSecondPerTreeBlock * (yEnd - yStart + 1) / collectiorCount) * leaf; + double productPerSeconde = Math.min(0.05, occupancyProductPerSecondPerTreeBlock * (yEnd - yStart + 1) / collectorCount) * leaf; return productPerSeconde; } @@ -154,9 +154,10 @@ public void readFromNBT(NBTTagCompound nbt) { } @Override - public void writeToNBT(NBTTagCompound nbt) { + public NBTTagCompound writeToNBT(NBTTagCompound nbt) { super.writeToNBT(nbt); nbt.setDouble("timeFromLastActivated", timeFromLastActivated); + return nbt; } class TreeResinCollectorSlowProcess implements IProcess { diff --git a/src/main/java/mods/eln/sixnode/TreeResinCollector/TreeResinCollectorTileEntity.java b/src/main/java/mods/eln/sixnode/TreeResinCollector/TreeResinCollectorTileEntity.java index 5f0f7c4b5..e0a8983d7 100644 --- a/src/main/java/mods/eln/sixnode/TreeResinCollector/TreeResinCollectorTileEntity.java +++ b/src/main/java/mods/eln/sixnode/TreeResinCollector/TreeResinCollectorTileEntity.java @@ -1,13 +1,16 @@ package mods.eln.sixnode.TreeResinCollector; import mods.eln.Eln; +import mods.eln.misc.Coordinate; import mods.eln.misc.Direction; import mods.eln.misc.Utils; import net.minecraft.init.Blocks; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.ITickable; +import net.minecraft.util.math.BlockPos; -public class TreeResinCollectorTileEntity extends TileEntity { +public class TreeResinCollectorTileEntity extends TileEntity implements ITickable { float occupancy = 0f; final float occupancyMax = 2f; @@ -20,48 +23,43 @@ public class TreeResinCollectorTileEntity extends TileEntity { boolean onBlockActivated() { if (worldObj.isRemote) return true; while (occupancy >= 1f) { - Utils.dropItem(Eln.treeResin.newItemStack(1), xCoord, yCoord, zCoord, worldObj); + Utils.dropItem(Eln.treeResin.newItemStack(1), new Coordinate( this.pos.getX(), this.pos.getY(), this.pos.getZ(), worldObj)); occupancy -= 1f; } return true; } @Override - public boolean canUpdate() { - return true; - } - - @Override - public void updateEntity() { + public void update() { if (worldObj.isRemote) return; timeCounter += 1f / 20f; if (timeCounter > timeTarget) { int[] posWood = new int[3]; int[] posCollector = new int[3]; Direction woodDirection = Direction.fromIntMinecraftSide(getBlockMetadata()).getInverse(); - posWood[0] = xCoord; - posWood[1] = yCoord; - posWood[2] = zCoord; - posCollector[0] = xCoord; - posCollector[1] = yCoord; - posCollector[2] = zCoord; + posWood[0] = pos.getX(); + posWood[1] = pos.getY(); + posWood[2] = pos.getZ(); + posCollector[0] = pos.getX(); + posCollector[1] = pos.getY(); + posCollector[2] = pos.getZ(); woodDirection.applyTo(posWood, 1); int yStart, yEnd; - while (worldObj.getBlock(posWood[0], posWood[1] - 1, posWood[2]) == Blocks.log) { + while (worldObj.getBlockState(new BlockPos(posWood[0], posWood[1] - 1, posWood[2])) == Blocks.LOG) { posWood[1]--; } yStart = posWood[1]; - posWood[1] = yCoord; + posWood[1] = pos.getY(); timeCounter -= timeTarget; - while (worldObj.getBlock(posWood[0], posWood[1] + 1, posWood[2]) == Blocks.log) { + while (worldObj.getBlockState(new BlockPos(posWood[0], posWood[1] + 1, posWood[2])).getBlock() == Blocks.LOG) { posWood[1]++; } yEnd = posWood[1]; - int collectiorCount = 0; + int collectorCount = 0; posCollector[1] = yStart; for (posCollector[1] = yStart; posCollector[1] <= yEnd; posCollector[1]++) { ////// if (worldObj.getBlockId(posCollector[0], posCollector[1] + 1, posCollector[2]) == Eln.treeResinCollectorBlock.blockID) @@ -70,7 +68,7 @@ public void updateEntity() { } } - occupancy += occupancyProductPerSecondPerTreeBlock * (yEnd - yStart + 1) * timeTarget / collectiorCount; + occupancy += occupancyProductPerSecondPerTreeBlock * (yEnd - yStart + 1) * timeTarget / collectorCount; if (occupancy > occupancyMax) occupancy = occupancyMax; @@ -80,10 +78,11 @@ public void updateEntity() { } @Override - public void writeToNBT(NBTTagCompound nbt) { + public NBTTagCompound writeToNBT(NBTTagCompound nbt) { super.writeToNBT(nbt); nbt.setFloat("occupancy", occupancy); // woodDirection.writeToNBT(nbt, "woodDirection"); + return nbt; } @Override diff --git a/src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerElement.java b/src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerElement.java index 27b5252bc..2070ce846 100644 --- a/src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerElement.java +++ b/src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerElement.java @@ -147,10 +147,11 @@ public boolean onBlockActivated(EntityPlayer entityPlayer, Direction side, float } @Override - public void writeToNBT(NBTTagCompound nbt) { + public NBTTagCompound writeToNBT(NBTTagCompound nbt) { super.writeToNBT(nbt); nbt.setBoolean("powerOn", powerOn); nbt.setDouble("energyCounter", slowProcess.energyCounter); + return nbt; } @Override diff --git a/src/main/java/mods/eln/sixnode/diode/DiodeElement.java b/src/main/java/mods/eln/sixnode/diode/DiodeElement.java index 1bb31c059..1da270c3f 100644 --- a/src/main/java/mods/eln/sixnode/diode/DiodeElement.java +++ b/src/main/java/mods/eln/sixnode/diode/DiodeElement.java @@ -66,9 +66,10 @@ public void readFromNBT(NBTTagCompound nbt) { } @Override - public void writeToNBT(NBTTagCompound nbt) { + public NBTTagCompound writeToNBT(NBTTagCompound nbt) { super.writeToNBT(nbt); nbt.setByte("front", (byte) (front.toInt() << 0)); + return nbt; } @Override diff --git a/src/main/java/mods/eln/sixnode/electricalalarm/ElectricalAlarmElement.java b/src/main/java/mods/eln/sixnode/electricalalarm/ElectricalAlarmElement.java index 1e4567b2a..972153d0a 100644 --- a/src/main/java/mods/eln/sixnode/electricalalarm/ElectricalAlarmElement.java +++ b/src/main/java/mods/eln/sixnode/electricalalarm/ElectricalAlarmElement.java @@ -55,10 +55,11 @@ public void readFromNBT(NBTTagCompound nbt) { } @Override - public void writeToNBT(NBTTagCompound nbt) { + public NBTTagCompound writeToNBT(NBTTagCompound nbt) { super.writeToNBT(nbt); nbt.setByte("front", (byte) ((front.toInt() << 0))); nbt.setBoolean("mute", mute); + return nbt; } @Override diff --git a/src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerCutProcess.java b/src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerCutProcess.java index 775b2a2e8..6fe1d205f 100644 --- a/src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerCutProcess.java +++ b/src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerCutProcess.java @@ -52,7 +52,8 @@ public void readFromNBT(NBTTagCompound nbt, String str) { } @Override - public void writeToNBT(NBTTagCompound nbt, String str) { + public NBTTagCompound writeToNBT(NBTTagCompound nbt, String str) { nbt.setFloat(str + "T", (float) T); + return nbt; } } diff --git a/src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerElement.java b/src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerElement.java index 15351a71f..dc70f2764 100644 --- a/src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerElement.java +++ b/src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerElement.java @@ -83,12 +83,13 @@ public void readFromNBT(NBTTagCompound nbt) { } @Override - public void writeToNBT(NBTTagCompound nbt) { + public NBTTagCompound writeToNBT(NBTTagCompound nbt) { super.writeToNBT(nbt); nbt.setByte("front", (byte) (front.toInt() << 0)); nbt.setBoolean("switchState", switchState); nbt.setFloat("voltageMax", voltageMax); nbt.setFloat("voltageMin", voltageMin); + return nbt; } @Override diff --git a/src/main/java/mods/eln/sixnode/electricalcable/ElectricalCableElement.java b/src/main/java/mods/eln/sixnode/electricalcable/ElectricalCableElement.java index 6157cff3d..33bf82a7d 100644 --- a/src/main/java/mods/eln/sixnode/electricalcable/ElectricalCableElement.java +++ b/src/main/java/mods/eln/sixnode/electricalcable/ElectricalCableElement.java @@ -80,9 +80,10 @@ public void readFromNBT(NBTTagCompound nbt) { } @Override - public void writeToNBT(NBTTagCompound nbt) { + public NBTTagCompound writeToNBT(NBTTagCompound nbt) { super.writeToNBT(nbt); nbt.setByte("color", (byte) (color + (colorCare << 4))); + return nbt; } @Override diff --git a/src/main/java/mods/eln/sixnode/electricaldatalogger/DataLogs.java b/src/main/java/mods/eln/sixnode/electricaldatalogger/DataLogs.java index ba71f1ef2..fbe42eec2 100644 --- a/src/main/java/mods/eln/sixnode/electricaldatalogger/DataLogs.java +++ b/src/main/java/mods/eln/sixnode/electricaldatalogger/DataLogs.java @@ -69,12 +69,13 @@ public void readFromNBT(NBTTagCompound nbt, String str) { } @Override - public void writeToNBT(NBTTagCompound nbt, String str) { + public NBTTagCompound writeToNBT(NBTTagCompound nbt, String str) { nbt.setByteArray(str + "log", copyLog()); nbt.setFloat(str + "samplingPeriod", samplingPeriod); nbt.setFloat(str + "maxValue", maxValue); nbt.setFloat(str + "minValue", minValue); nbt.setByte(str + "unitType", unitType); + return nbt; } public byte[] copyLog() { diff --git a/src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerElement.java b/src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerElement.java index e667d72d1..ea5b99300 100644 --- a/src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerElement.java +++ b/src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerElement.java @@ -96,7 +96,7 @@ public void readFromNBT(NBTTagCompound nbt) { } @Override - public void writeToNBT(NBTTagCompound nbt) { + public NBTTagCompound writeToNBT(NBTTagCompound nbt) { super.writeToNBT(nbt); nbt.setByte("front", (byte) (front.toInt() << 0)); nbt.setDouble("timeToNextSample", timeToNextSample); @@ -105,6 +105,7 @@ public void writeToNBT(NBTTagCompound nbt) { logs.writeToNBT(nbt, "logs"); nbt.setInteger("sampleStack", sampleStack); nbt.setInteger("sampleStackNbr", sampleStackNbr); + return nbt; } @Override diff --git a/src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorSlowProcess.java b/src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorSlowProcess.java index 4cce09bd7..1b6513936 100644 --- a/src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorSlowProcess.java +++ b/src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorSlowProcess.java @@ -120,8 +120,9 @@ public void readFromNBT(NBTTagCompound nbt, String str) { } @Override - public void writeToNBT(NBTTagCompound nbt, String str) { + public NBTTagCompound writeToNBT(NBTTagCompound nbt, String str) { rc1.writeToNBT(nbt, str + "rc1"); rc2.writeToNBT(nbt, str + "rc2"); + return nbt; } } diff --git a/src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceElement.java b/src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceElement.java index f04295f3e..149d38073 100644 --- a/src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceElement.java +++ b/src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceElement.java @@ -81,9 +81,10 @@ public void readFromNBT(NBTTagCompound nbt) { } @Override - public void writeToNBT(NBTTagCompound nbt) { + public NBTTagCompound writeToNBT(NBTTagCompound nbt) { super.writeToNBT(nbt); nbt.setByte("front", (byte) ((front.toInt() << 0))); + return nbt; } @Override diff --git a/src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathElement.java b/src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathElement.java index 47329f6c7..bc4f8a725 100644 --- a/src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathElement.java +++ b/src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathElement.java @@ -224,10 +224,10 @@ public Container newContainer(Direction side, EntityPlayer player) { } @Override - public void writeToNBT(NBTTagCompound nbt) { + public NBTTagCompound writeToNBT(NBTTagCompound nbt) { super.writeToNBT(nbt); nbt.setString("expression", expression); - equation.writeToNBT(nbt, "equation"); + return equation.writeToNBT(nbt, "equation"); } @Override diff --git a/src/main/java/mods/eln/sixnode/electricalredstoneinput/ElectricalRedstoneInputElement.java b/src/main/java/mods/eln/sixnode/electricalredstoneinput/ElectricalRedstoneInputElement.java index 6ec4f00a7..fa71e5add 100644 --- a/src/main/java/mods/eln/sixnode/electricalredstoneinput/ElectricalRedstoneInputElement.java +++ b/src/main/java/mods/eln/sixnode/electricalredstoneinput/ElectricalRedstoneInputElement.java @@ -57,9 +57,10 @@ public void readFromNBT(NBTTagCompound nbt) { } @Override - public void writeToNBT(NBTTagCompound nbt) { + public NBTTagCompound writeToNBT(NBTTagCompound nbt) { super.writeToNBT(nbt); nbt.setByte("front", (byte) (front.toInt() << 0)); + return nbt; } @Override diff --git a/src/main/java/mods/eln/sixnode/electricalredstoneoutput/ElectricalRedstoneOutputElement.java b/src/main/java/mods/eln/sixnode/electricalredstoneoutput/ElectricalRedstoneOutputElement.java index 1b86cdfc5..2dec41d60 100644 --- a/src/main/java/mods/eln/sixnode/electricalredstoneoutput/ElectricalRedstoneOutputElement.java +++ b/src/main/java/mods/eln/sixnode/electricalredstoneoutput/ElectricalRedstoneOutputElement.java @@ -67,10 +67,11 @@ public void readFromNBT(NBTTagCompound nbt) { } @Override - public void writeToNBT(NBTTagCompound nbt) { + public NBTTagCompound writeToNBT(NBTTagCompound nbt) { super.writeToNBT(nbt); nbt.setByte("front", (byte) (front.toInt() << 0)); nbt.setInteger("redstoneValue", redstoneValue); + return nbt; } @Override diff --git a/src/main/java/mods/eln/sixnode/electricalrelay/ElectricalRelayElement.java b/src/main/java/mods/eln/sixnode/electricalrelay/ElectricalRelayElement.java index bd0bda966..7948539af 100644 --- a/src/main/java/mods/eln/sixnode/electricalrelay/ElectricalRelayElement.java +++ b/src/main/java/mods/eln/sixnode/electricalrelay/ElectricalRelayElement.java @@ -86,11 +86,12 @@ public void readFromNBT(NBTTagCompound nbt) { } @Override - public void writeToNBT(NBTTagCompound nbt) { + public NBTTagCompound writeToNBT(NBTTagCompound nbt) { super.writeToNBT(nbt); nbt.setByte("front", (byte) (front.toInt() << 0)); nbt.setBoolean("switchState", switchState); nbt.setBoolean("defaultOutput", defaultOutput); + return nbt; } @Override diff --git a/src/main/java/mods/eln/sixnode/electricalsensor/ElectricalSensorElement.java b/src/main/java/mods/eln/sixnode/electricalsensor/ElectricalSensorElement.java index f4d82319e..e9afff329 100644 --- a/src/main/java/mods/eln/sixnode/electricalsensor/ElectricalSensorElement.java +++ b/src/main/java/mods/eln/sixnode/electricalsensor/ElectricalSensorElement.java @@ -106,13 +106,14 @@ public void readFromNBT(NBTTagCompound nbt) { } @Override - public void writeToNBT(NBTTagCompound nbt) { + public NBTTagCompound writeToNBT(NBTTagCompound nbt) { super.writeToNBT(nbt); nbt.setByte("front", (byte) (front.toInt() << 0)); nbt.setByte("typeOfSensor", (byte) typeOfSensor); nbt.setFloat("lowValue", lowValue); nbt.setFloat("highValue", highValue); nbt.setByte("dirType", dirType); + return nbt; } @Override diff --git a/src/main/java/mods/eln/sixnode/electricalsource/ElectricalSourceElement.java b/src/main/java/mods/eln/sixnode/electricalsource/ElectricalSourceElement.java index 555a83407..22e679f21 100644 --- a/src/main/java/mods/eln/sixnode/electricalsource/ElectricalSourceElement.java +++ b/src/main/java/mods/eln/sixnode/electricalsource/ElectricalSourceElement.java @@ -57,11 +57,12 @@ public static boolean canBePlacedOnSide(Direction side, int type) { } @Override - public void writeToNBT(NBTTagCompound nbt) { + public NBTTagCompound writeToNBT(NBTTagCompound nbt) { super.writeToNBT(nbt); nbt.setByte("color", (byte) (color + (colorCare << 4))); nbt.setDouble("voltage", voltageSource.getU()); + return nbt; } @Override diff --git a/src/main/java/mods/eln/sixnode/electricalswitch/ElectricalSwitchElement.java b/src/main/java/mods/eln/sixnode/electricalswitch/ElectricalSwitchElement.java index c9d04ccf7..c698c4537 100644 --- a/src/main/java/mods/eln/sixnode/electricalswitch/ElectricalSwitchElement.java +++ b/src/main/java/mods/eln/sixnode/electricalswitch/ElectricalSwitchElement.java @@ -75,10 +75,11 @@ public void readFromNBT(NBTTagCompound nbt) { } @Override - public void writeToNBT(NBTTagCompound nbt) { + public NBTTagCompound writeToNBT(NBTTagCompound nbt) { super.writeToNBT(nbt); nbt.setByte("front", (byte) (front.toInt() << 0)); nbt.setBoolean("switchState", switchState); + return nbt; } @Override diff --git a/src/main/java/mods/eln/sixnode/electricaltimeout/ElectricalTimeoutElement.java b/src/main/java/mods/eln/sixnode/electricaltimeout/ElectricalTimeoutElement.java index d0dc3765c..50cab50e2 100644 --- a/src/main/java/mods/eln/sixnode/electricaltimeout/ElectricalTimeoutElement.java +++ b/src/main/java/mods/eln/sixnode/electricaltimeout/ElectricalTimeoutElement.java @@ -64,11 +64,12 @@ public void readFromNBT(NBTTagCompound nbt) { } @Override - public void writeToNBT(NBTTagCompound nbt) { + public NBTTagCompound writeToNBT(NBTTagCompound nbt) { super.writeToNBT(nbt); nbt.setByte("front", (byte) (front.toInt() << 0)); nbt.setFloat("timeOutValue", (float) timeOutValue); nbt.setFloat("timeOutCounter", (float) timeOutCounter); + return nbt; } @Override diff --git a/src/main/java/mods/eln/sixnode/electricaltimeout/ElectricalTimeoutProcess.java b/src/main/java/mods/eln/sixnode/electricaltimeout/ElectricalTimeoutProcess.java index 76bb39443..548ddc3e4 100644 --- a/src/main/java/mods/eln/sixnode/electricaltimeout/ElectricalTimeoutProcess.java +++ b/src/main/java/mods/eln/sixnode/electricaltimeout/ElectricalTimeoutProcess.java @@ -52,7 +52,8 @@ public void readFromNBT(NBTTagCompound nbt, String str) { } @Override - public void writeToNBT(NBTTagCompound nbt, String str) { + public NBTTagCompound writeToNBT(NBTTagCompound nbt, String str) { nbt.setBoolean(str + "SProcinputState", inputState); + return nbt; } } diff --git a/src/main/java/mods/eln/sixnode/electricalvumeter/ElectricalVuMeterElement.java b/src/main/java/mods/eln/sixnode/electricalvumeter/ElectricalVuMeterElement.java index f1c035063..90a30535d 100644 --- a/src/main/java/mods/eln/sixnode/electricalvumeter/ElectricalVuMeterElement.java +++ b/src/main/java/mods/eln/sixnode/electricalvumeter/ElectricalVuMeterElement.java @@ -46,9 +46,10 @@ public void readFromNBT(NBTTagCompound nbt) { } @Override - public void writeToNBT(NBTTagCompound nbt) { + public NBTTagCompound writeToNBT(NBTTagCompound nbt) { super.writeToNBT(nbt); nbt.setByte("front", (byte) (front.toInt() << 0)); + return nbt; } @Override diff --git a/src/main/java/mods/eln/sixnode/electricalwatch/ElectricalWatchSlowProcess.java b/src/main/java/mods/eln/sixnode/electricalwatch/ElectricalWatchSlowProcess.java index c5edb87e1..375bfedf5 100644 --- a/src/main/java/mods/eln/sixnode/electricalwatch/ElectricalWatchSlowProcess.java +++ b/src/main/java/mods/eln/sixnode/electricalwatch/ElectricalWatchSlowProcess.java @@ -55,8 +55,9 @@ public void readFromNBT(NBTTagCompound nbt, String str) { } @Override - public void writeToNBT(NBTTagCompound nbt, String str) { + public NBTTagCompound writeToNBT(NBTTagCompound nbt, String str) { nbt.setBoolean(str + "upToDate", upToDate); nbt.setLong(str + "oldDate", oldDate); + return nbt; } } diff --git a/src/main/java/mods/eln/sixnode/electricalweathersensor/ElectricalWeatherSensorSlowProcess.java b/src/main/java/mods/eln/sixnode/electricalweathersensor/ElectricalWeatherSensorSlowProcess.java index 45bc6d872..37f1c4e5c 100644 --- a/src/main/java/mods/eln/sixnode/electricalweathersensor/ElectricalWeatherSensorSlowProcess.java +++ b/src/main/java/mods/eln/sixnode/electricalweathersensor/ElectricalWeatherSensorSlowProcess.java @@ -66,7 +66,8 @@ public void readFromNBT(NBTTagCompound nbt, String str) { } @Override - public void writeToNBT(NBTTagCompound nbt, String str) { + public NBTTagCompound writeToNBT(NBTTagCompound nbt, String str) { nbt.setFloat(str + "rc", rc.get()); + return nbt; } } diff --git a/src/main/java/mods/eln/sixnode/electricalwindsensor/ElectricalWindSensorSlowProcess.java b/src/main/java/mods/eln/sixnode/electricalwindsensor/ElectricalWindSensorSlowProcess.java index 042f4c0bd..c0c1f34c4 100644 --- a/src/main/java/mods/eln/sixnode/electricalwindsensor/ElectricalWindSensorSlowProcess.java +++ b/src/main/java/mods/eln/sixnode/electricalwindsensor/ElectricalWindSensorSlowProcess.java @@ -26,7 +26,7 @@ public void process(double time) { if (timeCounter > refreshPeriode) { timeCounter -= refreshPeriode; Coordinate coord = element.sixNode.coordinate; - element.outputGateProcess.setOutputNormalized(Utils.getWind(coord.getDimension(), coord.pos.geY()) / element.descriptor.windMax); + element.outputGateProcess.setOutputNormalized(Utils.getWind(coord.getDimension(), coord.pos.getY()) / element.descriptor.windMax); } } @@ -36,6 +36,7 @@ public void readFromNBT(NBTTagCompound nbt, String str) { } @Override - public void writeToNBT(NBTTagCompound nbt, String str) { + public NBTTagCompound writeToNBT(NBTTagCompound nbt, String str) { + return nbt; } } diff --git a/src/main/java/mods/eln/sixnode/energymeter/EnergyMeterElement.java b/src/main/java/mods/eln/sixnode/energymeter/EnergyMeterElement.java index 8a5e00c1f..0c5cea8c6 100644 --- a/src/main/java/mods/eln/sixnode/energymeter/EnergyMeterElement.java +++ b/src/main/java/mods/eln/sixnode/energymeter/EnergyMeterElement.java @@ -275,7 +275,7 @@ public void readFromNBT(NBTTagCompound nbt) { } @Override - public void writeToNBT(NBTTagCompound nbt) { + public NBTTagCompound writeToNBT(NBTTagCompound nbt) { super.writeToNBT(nbt); nbt.setString("mode", mod.toString()); @@ -284,6 +284,7 @@ public void writeToNBT(NBTTagCompound nbt) { nbt.setString("password", password); nbt.setByte("energyUnit", (byte) energyUnit); nbt.setByte("timeUnit", (byte) timeUnit); + return nbt; } class SlowProcess implements IProcess { diff --git a/src/main/java/mods/eln/sixnode/groundcable/GroundCableElement.java b/src/main/java/mods/eln/sixnode/groundcable/GroundCableElement.java index 9076f629a..d6c7abbe3 100644 --- a/src/main/java/mods/eln/sixnode/groundcable/GroundCableElement.java +++ b/src/main/java/mods/eln/sixnode/groundcable/GroundCableElement.java @@ -60,9 +60,10 @@ public static boolean canBePlacedOnSide(Direction side, int type) { } @Override - public void writeToNBT(NBTTagCompound nbt) { + public NBTTagCompound writeToNBT(NBTTagCompound nbt) { super.writeToNBT(nbt); nbt.setByte("color", (byte) (color + (colorCare << 4))); + return nbt; } @Override diff --git a/src/main/java/mods/eln/sixnode/hub/HubElement.java b/src/main/java/mods/eln/sixnode/hub/HubElement.java index a8c6e5575..e6a640a90 100644 --- a/src/main/java/mods/eln/sixnode/hub/HubElement.java +++ b/src/main/java/mods/eln/sixnode/hub/HubElement.java @@ -55,11 +55,12 @@ public void readFromNBT(NBTTagCompound nbt) { } @Override - public void writeToNBT(NBTTagCompound nbt) { + public NBTTagCompound writeToNBT(NBTTagCompound nbt) { super.writeToNBT(nbt); for (int idx = 0; idx < 6; idx++) { nbt.setBoolean("connectionGrid" + idx, connectionGrid[idx]); } + return nbt; } @Override diff --git a/src/main/java/mods/eln/sixnode/lampsocket/LampSocketElement.java b/src/main/java/mods/eln/sixnode/lampsocket/LampSocketElement.java index a38fa6147..6bbc8d6d9 100644 --- a/src/main/java/mods/eln/sixnode/lampsocket/LampSocketElement.java +++ b/src/main/java/mods/eln/sixnode/lampsocket/LampSocketElement.java @@ -103,12 +103,13 @@ public void readFromNBT(NBTTagCompound nbt) { } @Override - public void writeToNBT(NBTTagCompound nbt) { + public NBTTagCompound writeToNBT(NBTTagCompound nbt) { super.writeToNBT(nbt); nbt.setByte("front", (byte) ((front.toInt() << 0) + (grounded ? 4 : 0))); nbt.setBoolean("poweredByLampSupply", poweredByLampSupply); nbt.setString("channel", channel); nbt.setByte("color", (byte) (paintColor)); + return nbt; } public void networkUnserialize(DataInputStream stream) { diff --git a/src/main/java/mods/eln/sixnode/lampsocket/LampSocketProcess.java b/src/main/java/mods/eln/sixnode/lampsocket/LampSocketProcess.java index 8b3040abd..3cde41ff5 100644 --- a/src/main/java/mods/eln/sixnode/lampsocket/LampSocketProcess.java +++ b/src/main/java/mods/eln/sixnode/lampsocket/LampSocketProcess.java @@ -389,11 +389,12 @@ public void readFromNBT(NBTTagCompound nbt, String str) { } @Override - public void writeToNBT(NBTTagCompound nbt, String str) { + public NBTTagCompound writeToNBT(NBTTagCompound nbt, String str) { nbt.setDouble(str + "LSP" + "stableProb", stableProb); lbCoord.writeToNBT(nbt, str + "lbCoordInst"); nbt.setFloat(str + "alphaZ", (float) alphaZ); nbt.setInteger(str + "light", light); + return nbt; } public int getBlockLight() { diff --git a/src/main/java/mods/eln/sixnode/lampsocket/LightBlockEntity.java b/src/main/java/mods/eln/sixnode/lampsocket/LightBlockEntity.java index e79ac0be0..a5a42dd0b 100644 --- a/src/main/java/mods/eln/sixnode/lampsocket/LightBlockEntity.java +++ b/src/main/java/mods/eln/sixnode/lampsocket/LightBlockEntity.java @@ -56,9 +56,10 @@ public void readFromNBT(NBTTagCompound nbt, String str) { } @Override - public void writeToNBT(NBTTagCompound nbt, String str) { + public NBTTagCompound writeToNBT(NBTTagCompound nbt, String str) { nbt.setByte(str + "value", value); nbt.setInteger(str + "timeout", timeout); + return nbt; } } diff --git a/src/main/java/mods/eln/sixnode/lampsupply/LampSupplyElement.java b/src/main/java/mods/eln/sixnode/lampsupply/LampSupplyElement.java index 07a4d8c5a..0bb62730d 100644 --- a/src/main/java/mods/eln/sixnode/lampsupply/LampSupplyElement.java +++ b/src/main/java/mods/eln/sixnode/lampsupply/LampSupplyElement.java @@ -278,7 +278,7 @@ void unregister() { } @Override - public void writeToNBT(NBTTagCompound nbt) { + public NBTTagCompound writeToNBT(NBTTagCompound nbt) { super.writeToNBT(nbt); int idx = 0; for (Entry e : entries) { @@ -291,6 +291,7 @@ public void writeToNBT(NBTTagCompound nbt) { idx++; } + return nbt; } @Override diff --git a/src/main/java/mods/eln/sixnode/modbusrtu/ModbusRtuElement.java b/src/main/java/mods/eln/sixnode/modbusrtu/ModbusRtuElement.java index ec17b967f..c3a5e9499 100644 --- a/src/main/java/mods/eln/sixnode/modbusrtu/ModbusRtuElement.java +++ b/src/main/java/mods/eln/sixnode/modbusrtu/ModbusRtuElement.java @@ -456,7 +456,7 @@ private void setStation(int port) { } @Override - public void writeToNBT(NBTTagCompound nbt) { + public NBTTagCompound writeToNBT(NBTTagCompound nbt) { super.writeToNBT(nbt); nbt.setInteger("station", station); nbt.setString("name", name); @@ -476,6 +476,7 @@ public void writeToNBT(NBTTagCompound nbt) { rx.writeToNBT(nbt, "rx" + idx); idx++; } + return nbt; } @Override diff --git a/src/main/java/mods/eln/sixnode/modbusrtu/WirelessRxStatus.java b/src/main/java/mods/eln/sixnode/modbusrtu/WirelessRxStatus.java index 06c562021..30418d203 100644 --- a/src/main/java/mods/eln/sixnode/modbusrtu/WirelessRxStatus.java +++ b/src/main/java/mods/eln/sixnode/modbusrtu/WirelessRxStatus.java @@ -62,10 +62,11 @@ public void readFromNBT(NBTTagCompound nbt, String str) { } @Override - public void writeToNBT(NBTTagCompound nbt, String str) { + public NBTTagCompound writeToNBT(NBTTagCompound nbt, String str) { nbt.setString(str + "name", name); nbt.setInteger(str + "id", id); nbt.setBoolean(str + "connected", connected); nbt.setInteger(str + "uuid", uuid); + return nbt; } } diff --git a/src/main/java/mods/eln/sixnode/modbusrtu/WirelessTxStatus.java b/src/main/java/mods/eln/sixnode/modbusrtu/WirelessTxStatus.java index 9427367c2..4139e5f42 100644 --- a/src/main/java/mods/eln/sixnode/modbusrtu/WirelessTxStatus.java +++ b/src/main/java/mods/eln/sixnode/modbusrtu/WirelessTxStatus.java @@ -59,10 +59,11 @@ public void readFromNBT(NBTTagCompound nbt, String str) { } @Override - public void writeToNBT(NBTTagCompound nbt, String str) { + public NBTTagCompound writeToNBT(NBTTagCompound nbt, String str) { nbt.setString(str + "name", name); nbt.setInteger(str + "id", id); nbt.setDouble(str + "value", value); nbt.setInteger(str + "uuid", uuid); + return nbt; } } diff --git a/src/main/java/mods/eln/sixnode/powercapacitorsix/PowerCapacitorSixContainer.java b/src/main/java/mods/eln/sixnode/powercapacitorsix/PowerCapacitorSixContainer.java index 1ece6cdf1..866eb545c 100644 --- a/src/main/java/mods/eln/sixnode/powercapacitorsix/PowerCapacitorSixContainer.java +++ b/src/main/java/mods/eln/sixnode/powercapacitorsix/PowerCapacitorSixContainer.java @@ -21,7 +21,7 @@ public class PowerCapacitorSixContainer extends BasicContainer { public PowerCapacitorSixContainer(EntityPlayer player, IInventory inventory) { super(player, inventory, new Slot[]{ new SlotFilter(inventory, redId, 132, 8, 13, - new ItemStackFilter[]{new ItemStackFilter(Items.redstone)}, + new ItemStackFilter[]{new ItemStackFilter(Items.REDSTONE)}, SlotSkin.medium, new String[]{tr("Redstone slot"), tr("(Increases capacity)")}), new GenericItemUsingDamageSlot(inventory, dielectricId, 132 + 20, 8, 20, DielectricItem.class, diff --git a/src/main/java/mods/eln/sixnode/powercapacitorsix/PowerCapacitorSixElement.java b/src/main/java/mods/eln/sixnode/powercapacitorsix/PowerCapacitorSixElement.java index e639e6229..d9dd30620 100644 --- a/src/main/java/mods/eln/sixnode/powercapacitorsix/PowerCapacitorSixElement.java +++ b/src/main/java/mods/eln/sixnode/powercapacitorsix/PowerCapacitorSixElement.java @@ -155,9 +155,10 @@ public void setupPhysical() { } @Override - public void writeToNBT(NBTTagCompound nbt) { + public NBTTagCompound writeToNBT(NBTTagCompound nbt) { super.writeToNBT(nbt); nbt.setDouble("punkELeft", punkProcess.eLeft); + return nbt; } @Override diff --git a/src/main/java/mods/eln/sixnode/powerinductorsix/PowerInductorSixElement.java b/src/main/java/mods/eln/sixnode/powerinductorsix/PowerInductorSixElement.java index 15a2642af..0e24a9b76 100644 --- a/src/main/java/mods/eln/sixnode/powerinductorsix/PowerInductorSixElement.java +++ b/src/main/java/mods/eln/sixnode/powerinductorsix/PowerInductorSixElement.java @@ -112,8 +112,8 @@ public void setupPhysical() { } @Override - public void writeToNBT(NBTTagCompound nbt) { - super.writeToNBT(nbt); + public NBTTagCompound writeToNBT(NBTTagCompound nbt) { + return super.writeToNBT(nbt); } @Override diff --git a/src/main/java/mods/eln/sixnode/powersocket/PowerSocketElement.java b/src/main/java/mods/eln/sixnode/powersocket/PowerSocketElement.java index 42b7b23f9..c4c3814bf 100644 --- a/src/main/java/mods/eln/sixnode/powersocket/PowerSocketElement.java +++ b/src/main/java/mods/eln/sixnode/powersocket/PowerSocketElement.java @@ -165,9 +165,10 @@ void unregister() { } @Override - public void writeToNBT(NBTTagCompound nbt) { + public NBTTagCompound writeToNBT(NBTTagCompound nbt) { super.writeToNBT(nbt); nbt.setString("channel", channel); + return nbt; } @Override diff --git a/src/main/java/mods/eln/sixnode/thermalcable/ThermalCableElement.java b/src/main/java/mods/eln/sixnode/thermalcable/ThermalCableElement.java index 8d7e48719..d874b8a75 100644 --- a/src/main/java/mods/eln/sixnode/thermalcable/ThermalCableElement.java +++ b/src/main/java/mods/eln/sixnode/thermalcable/ThermalCableElement.java @@ -64,9 +64,10 @@ public void readFromNBT(NBTTagCompound nbt) { } @Override - public void writeToNBT(NBTTagCompound nbt) { + public NBTTagCompound writeToNBT(NBTTagCompound nbt) { super.writeToNBT(nbt); nbt.setByte("color", (byte) (color + (colorCare << 4))); + return nbt; } @Override diff --git a/src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorElement.java b/src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorElement.java index dfb2a95c5..8610e01b6 100644 --- a/src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorElement.java +++ b/src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorElement.java @@ -88,12 +88,13 @@ public void readFromNBT(NBTTagCompound nbt) { } @Override - public void writeToNBT(NBTTagCompound nbt) { + public NBTTagCompound writeToNBT(NBTTagCompound nbt) { super.writeToNBT(nbt); nbt.setByte("front", (byte) ((front.toInt() << 0))); nbt.setByte("typeOfSensor", (byte) typeOfSensor); nbt.setFloat("lowValue", lowValue); nbt.setFloat("highValue", highValue); + return nbt; } @Override diff --git a/src/main/java/mods/eln/sixnode/tutorialsign/TutorialSignElement.java b/src/main/java/mods/eln/sixnode/tutorialsign/TutorialSignElement.java index 148b38e5d..1a3e3c42b 100644 --- a/src/main/java/mods/eln/sixnode/tutorialsign/TutorialSignElement.java +++ b/src/main/java/mods/eln/sixnode/tutorialsign/TutorialSignElement.java @@ -129,9 +129,10 @@ private void setTextFile(String name) { @Override - public void writeToNBT(NBTTagCompound nbt) { + public NBTTagCompound writeToNBT(NBTTagCompound nbt) { super.writeToNBT(nbt); nbt.setString("baliseName", baliseName); + return nbt; } @Override diff --git a/src/main/java/mods/eln/sixnode/wirelesssignal/aggregator/ToogleAggregator.java b/src/main/java/mods/eln/sixnode/wirelesssignal/aggregator/ToogleAggregator.java index 27ae1e629..813ac8e31 100644 --- a/src/main/java/mods/eln/sixnode/wirelesssignal/aggregator/ToogleAggregator.java +++ b/src/main/java/mods/eln/sixnode/wirelesssignal/aggregator/ToogleAggregator.java @@ -29,8 +29,9 @@ public void readFromNBT(NBTTagCompound nbt, String str) { } @Override - public void writeToNBT(NBTTagCompound nbt, String str) { + public NBTTagCompound writeToNBT(NBTTagCompound nbt, String str) { nbt.setBoolean(str + "state", state); nbt.setDouble(str + "oldValue", oldValue); + return nbt; } } diff --git a/src/main/java/mods/eln/sixnode/wirelesssignal/rx/WirelessSignalRxElement.java b/src/main/java/mods/eln/sixnode/wirelesssignal/rx/WirelessSignalRxElement.java index b995a6dd7..97e2062b7 100644 --- a/src/main/java/mods/eln/sixnode/wirelesssignal/rx/WirelessSignalRxElement.java +++ b/src/main/java/mods/eln/sixnode/wirelesssignal/rx/WirelessSignalRxElement.java @@ -110,12 +110,13 @@ void setConnection(boolean connection) { } @Override - public void writeToNBT(NBTTagCompound nbt) { + public NBTTagCompound writeToNBT(NBTTagCompound nbt) { super.writeToNBT(nbt); nbt.setString("channel", channel); nbt.setBoolean("connection", connection); nbt.setInteger("selectedAggregator", selectedAggregator); toogleAggregator.writeToNBT(nbt, "toogleAggregator"); + return nbt; } @Override diff --git a/src/main/java/mods/eln/sixnode/wirelesssignal/source/WirelessSignalSourceElement.java b/src/main/java/mods/eln/sixnode/wirelesssignal/source/WirelessSignalSourceElement.java index 606c309c3..0bf340177 100644 --- a/src/main/java/mods/eln/sixnode/wirelesssignal/source/WirelessSignalSourceElement.java +++ b/src/main/java/mods/eln/sixnode/wirelesssignal/source/WirelessSignalSourceElement.java @@ -118,10 +118,11 @@ public void destroy(EntityPlayerMP entityPlayer) { } @Override - public void writeToNBT(NBTTagCompound nbt) { + public NBTTagCompound writeToNBT(NBTTagCompound nbt) { super.writeToNBT(nbt); nbt.setString("channel", channel); nbt.setBoolean("state", state); + return nbt; } @Override diff --git a/src/main/java/mods/eln/sixnode/wirelesssignal/tx/WirelessSignalTxElement.java b/src/main/java/mods/eln/sixnode/wirelesssignal/tx/WirelessSignalTxElement.java index 213df0a38..dcede87b5 100644 --- a/src/main/java/mods/eln/sixnode/wirelesssignal/tx/WirelessSignalTxElement.java +++ b/src/main/java/mods/eln/sixnode/wirelesssignal/tx/WirelessSignalTxElement.java @@ -156,9 +156,10 @@ void unregister() { } @Override - public void writeToNBT(NBTTagCompound nbt) { + public NBTTagCompound writeToNBT(NBTTagCompound nbt) { super.writeToNBT(nbt); nbt.setString("channel", channel); + return nbt; } @Override diff --git a/src/main/java/mods/eln/solver/Equation.java b/src/main/java/mods/eln/solver/Equation.java index 694825c3b..84648880a 100644 --- a/src/main/java/mods/eln/solver/Equation.java +++ b/src/main/java/mods/eln/solver/Equation.java @@ -589,9 +589,10 @@ public void readFromNBT(NBTTagCompound nbt, String str) { } @Override - public void writeToNBT(NBTTagCompound nbt, String str) { + public NBTTagCompound writeToNBT(NBTTagCompound nbt, String str) { nbt.setDouble(str + "counter", counter); + return nbt; } @Override @@ -628,8 +629,9 @@ public void readFromNBT(NBTTagCompound nbt, String str) { } @Override - public void writeToNBT(NBTTagCompound nbt, String str) { + public NBTTagCompound writeToNBT(NBTTagCompound nbt, String str) { nbt.setDouble(str + "counter", counter); + return nbt; } @Override @@ -666,8 +668,9 @@ public void readFromNBT(NBTTagCompound nbt, String str) { } @Override - public void writeToNBT(NBTTagCompound nbt, String str) { + public NBTTagCompound writeToNBT(NBTTagCompound nbt, String str) { nbt.setDouble(str + "counter", counter); + return nbt; } @Override @@ -706,9 +709,10 @@ public void readFromNBT(NBTTagCompound nbt, String str) { } @Override - public void writeToNBT(NBTTagCompound nbt, String str) { + public NBTTagCompound writeToNBT(NBTTagCompound nbt, String str) { nbt.setDouble(str + "old", old); nbt.setDouble(str + "value", value); + return nbt; } @Override @@ -748,10 +752,11 @@ public void readFromNBT(NBTTagCompound nbt, String str) { } @Override - public void writeToNBT(NBTTagCompound nbt, String str) { + public NBTTagCompound writeToNBT(NBTTagCompound nbt, String str) { nbt.setDouble(str + "iStack", iStack); nbt.setDouble(str + "oldError", oldError); nbt.setDouble(str + "dValue", dValue); + return nbt; } @Override @@ -860,8 +865,9 @@ public void readFromNBT(NBTTagCompound nbt, String str) { } @Override - public void writeToNBT(NBTTagCompound nbt, String str) { + public NBTTagCompound writeToNBT(NBTTagCompound nbt, String str) { nbt.setBoolean(str + "state", state); + return nbt; } @Override @@ -898,8 +904,9 @@ public void readFromNBT(NBTTagCompound nbt, String str) { } @Override - public void writeToNBT(NBTTagCompound nbt, String str) { + public NBTTagCompound writeToNBT(NBTTagCompound nbt, String str) { nbt.setDouble(str + "state", state); + return nbt; } @Override @@ -1028,13 +1035,14 @@ public void readFromNBT(NBTTagCompound nbt, String str) { } @Override - public void writeToNBT(NBTTagCompound nbt, String str) { - if (!isValid()) return; + public NBTTagCompound writeToNBT(NBTTagCompound nbt, String str) { + if (!isValid()) return nbt; int idx = 0; for (INBTTReady o : nbtList) { o.writeToNBT(nbt, str + idx); idx++; } + return nbt; } public int getOperatorCount() { diff --git a/src/main/java/mods/eln/transparentnode/autominer/AutoMinerElement.java b/src/main/java/mods/eln/transparentnode/autominer/AutoMinerElement.java index db6279230..2fce162e0 100644 --- a/src/main/java/mods/eln/transparentnode/autominer/AutoMinerElement.java +++ b/src/main/java/mods/eln/transparentnode/autominer/AutoMinerElement.java @@ -179,10 +179,11 @@ public void setPowerOk(boolean b) { } @Override - public void writeToNBT(NBTTagCompound nbt) { + public NBTTagCompound writeToNBT(NBTTagCompound nbt) { super.writeToNBT(nbt); nbt.setBoolean("powerOk", powerOk); nbt.setBoolean("silkTouch", slowProcess.silkTouch); + return nbt; } @Override diff --git a/src/main/java/mods/eln/transparentnode/autominer/AutoMinerSlowProcess.java b/src/main/java/mods/eln/transparentnode/autominer/AutoMinerSlowProcess.java index 796b0aa4d..6ddbba911 100644 --- a/src/main/java/mods/eln/transparentnode/autominer/AutoMinerSlowProcess.java +++ b/src/main/java/mods/eln/transparentnode/autominer/AutoMinerSlowProcess.java @@ -379,8 +379,9 @@ public void readFromNBT(NBTTagCompound nbt, String str) { } @Override - public void writeToNBT(NBTTagCompound nbt, String str) { + public NBTTagCompound writeToNBT(NBTTagCompound nbt, String str) { nbt.setInteger(str + "AMSP" + "pipeLength", pipeLength); nbt.setInteger(str + "AMSP" + "drillCount", drillCount); + return nbt; } } diff --git a/src/main/java/mods/eln/transparentnode/battery/BatteryElement.java b/src/main/java/mods/eln/transparentnode/battery/BatteryElement.java index 915ad9c41..1ad3a0fbe 100644 --- a/src/main/java/mods/eln/transparentnode/battery/BatteryElement.java +++ b/src/main/java/mods/eln/transparentnode/battery/BatteryElement.java @@ -202,9 +202,10 @@ public boolean onBlockActivated(EntityPlayer entityPlayer, Direction side, float } @Override - public void writeToNBT(NBTTagCompound nbt) { + public NBTTagCompound writeToNBT(NBTTagCompound nbt) { super.writeToNBT(nbt); //inventory.writeToNBT(nbt, str + "inv"); + return nbt; } @Override diff --git a/src/main/java/mods/eln/transparentnode/eggincubator/EggIncubatorElement.java b/src/main/java/mods/eln/transparentnode/eggincubator/EggIncubatorElement.java index 787117481..d03661041 100644 --- a/src/main/java/mods/eln/transparentnode/eggincubator/EggIncubatorElement.java +++ b/src/main/java/mods/eln/transparentnode/eggincubator/EggIncubatorElement.java @@ -100,8 +100,9 @@ public void readFromNBT(NBTTagCompound nbt, String str) { } @Override - public void writeToNBT(NBTTagCompound nbt, String str) { + public NBTTagCompound writeToNBT(NBTTagCompound nbt, String str) { nbt.setDouble(str + "energyCounter", energy); + return nbt; } } diff --git a/src/main/java/mods/eln/transparentnode/electricalantennarx/ElectricalAntennaRxElement.java b/src/main/java/mods/eln/transparentnode/electricalantennarx/ElectricalAntennaRxElement.java index 0d4ca797c..06f74f8a9 100644 --- a/src/main/java/mods/eln/transparentnode/electricalantennarx/ElectricalAntennaRxElement.java +++ b/src/main/java/mods/eln/transparentnode/electricalantennarx/ElectricalAntennaRxElement.java @@ -117,10 +117,11 @@ public void readFromNBT(NBTTagCompound nbt) { } @Override - public void writeToNBT(NBTTagCompound nbt) { + public NBTTagCompound writeToNBT(NBTTagCompound nbt) { super.writeToNBT(nbt); rot.writeToNBT(nbt, "rot"); + return nbt; } public boolean mustHaveFloor() { diff --git a/src/main/java/mods/eln/transparentnode/electricalantennatx/ElectricalAntennaTxElement.java b/src/main/java/mods/eln/transparentnode/electricalantennatx/ElectricalAntennaTxElement.java index f59dedd25..bb59fb946 100644 --- a/src/main/java/mods/eln/transparentnode/electricalantennatx/ElectricalAntennaTxElement.java +++ b/src/main/java/mods/eln/transparentnode/electricalantennatx/ElectricalAntennaTxElement.java @@ -155,7 +155,7 @@ public void readFromNBT(NBTTagCompound nbt) { } @Override - public void writeToNBT(NBTTagCompound nbt) { + public NBTTagCompound writeToNBT(NBTTagCompound nbt) { super.writeToNBT(nbt); if (rxCoord == null) nbt.setBoolean("rxCoordValid", false); @@ -163,7 +163,7 @@ public void writeToNBT(NBTTagCompound nbt) { nbt.setBoolean("rxCoordValid", true); rxCoord.writeToNBT(nbt, "rxCoord"); } - rot.writeToNBT(nbt, "rot"); + return rot.writeToNBT(nbt, "rot"); } @Override diff --git a/src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceElement.java b/src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceElement.java index 5a211a06c..71aaf20f7 100644 --- a/src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceElement.java +++ b/src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceElement.java @@ -215,10 +215,11 @@ public void networkSerialize(java.io.DataOutputStream stream) { } @Override - public void writeToNBT(NBTTagCompound nbt) { + public NBTTagCompound writeToNBT(NBTTagCompound nbt) { super.writeToNBT(nbt); nbt.setBoolean("powerOn", powerOn); nbt.setBoolean("autoShutDown", autoShutDown); + return nbt; } @Override diff --git a/src/main/java/mods/eln/transparentnode/electricalmachine/ElectricalMachineElement.java b/src/main/java/mods/eln/transparentnode/electricalmachine/ElectricalMachineElement.java index f32a6a6a7..b7026f935 100644 --- a/src/main/java/mods/eln/transparentnode/electricalmachine/ElectricalMachineElement.java +++ b/src/main/java/mods/eln/transparentnode/electricalmachine/ElectricalMachineElement.java @@ -168,9 +168,10 @@ public void networkSerialize(java.io.DataOutputStream stream) { } @Override - public void writeToNBT(NBTTagCompound nbt) { + public NBTTagCompound writeToNBT(NBTTagCompound nbt) { super.writeToNBT(nbt); nbt.setBoolean("powerOn", powerOn); + return nbt; } @Override diff --git a/src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceElement.java b/src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceElement.java index 96ca297e4..ada2fb4b3 100644 --- a/src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceElement.java +++ b/src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceElement.java @@ -232,11 +232,13 @@ void computeInventory() { } @Override - public void writeToNBT(NBTTagCompound nbt) { + public NBTTagCompound writeToNBT(NBTTagCompound nbt) { super.writeToNBT(nbt); nbt.setBoolean("takeFuel", takeFuel); nbt.setBoolean("controlExternal", controlExternal); + + return nbt; } @Override diff --git a/src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceInventoryProcess.java b/src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceInventoryProcess.java index c7123086a..9d6c00ade 100644 --- a/src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceInventoryProcess.java +++ b/src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceInventoryProcess.java @@ -73,7 +73,8 @@ public void readFromNBT(NBTTagCompound nbt, String str) { } @Override - public void writeToNBT(NBTTagCompound nbt, String str) { + public NBTTagCompound writeToNBT(NBTTagCompound nbt, String str) { nbt.setDouble(str + "HFIP" + "combustribleBuffer", combustibleBuffer); + return nbt; } } diff --git a/src/main/java/mods/eln/transparentnode/powercapacitor/PowerCapacitorElement.java b/src/main/java/mods/eln/transparentnode/powercapacitor/PowerCapacitorElement.java index 5ad8e48c5..8cfa4d881 100644 --- a/src/main/java/mods/eln/transparentnode/powercapacitor/PowerCapacitorElement.java +++ b/src/main/java/mods/eln/transparentnode/powercapacitor/PowerCapacitorElement.java @@ -149,9 +149,10 @@ public boolean onBlockActivated(EntityPlayer entityPlayer, Direction side, } @Override - public void writeToNBT(NBTTagCompound nbt) { + public NBTTagCompound writeToNBT(NBTTagCompound nbt) { super.writeToNBT(nbt); nbt.setDouble("punkELeft", punkProcess.eLeft); + return nbt; } @Override diff --git a/src/main/java/mods/eln/transparentnode/powerinductor/PowerInductorElement.java b/src/main/java/mods/eln/transparentnode/powerinductor/PowerInductorElement.java index 3064a8960..1291d5ed7 100644 --- a/src/main/java/mods/eln/transparentnode/powerinductor/PowerInductorElement.java +++ b/src/main/java/mods/eln/transparentnode/powerinductor/PowerInductorElement.java @@ -108,8 +108,8 @@ public boolean onBlockActivated(EntityPlayer entityPlayer, Direction side, } @Override - public void writeToNBT(NBTTagCompound nbt) { - super.writeToNBT(nbt); + public NBTTagCompound writeToNBT(NBTTagCompound nbt) { + return super.writeToNBT(nbt); } @Override diff --git a/src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelElement.java b/src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelElement.java index 29541c743..a385c8a1f 100644 --- a/src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelElement.java +++ b/src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelElement.java @@ -160,10 +160,11 @@ public boolean onBlockActivated(EntityPlayer entityPlayer, Direction side, float } @Override - public void writeToNBT(NBTTagCompound nbt) { + public NBTTagCompound writeToNBT(NBTTagCompound nbt) { super.writeToNBT(nbt); powerSource.writeToNBT(nbt, "powerSource"); nbt.setDouble("panelAlpha", panelAlpha); + return nbt; } @Override diff --git a/src/main/java/mods/eln/transparentnode/teleporter/TeleporterElement.java b/src/main/java/mods/eln/transparentnode/teleporter/TeleporterElement.java index 212646918..8842140da 100644 --- a/src/main/java/mods/eln/transparentnode/teleporter/TeleporterElement.java +++ b/src/main/java/mods/eln/transparentnode/teleporter/TeleporterElement.java @@ -165,7 +165,7 @@ public boolean onBlockActivated(EntityPlayer entityPlayer, Direction side, private double powerCharge = 2000; @Override - public void writeToNBT(NBTTagCompound nbt) { + public NBTTagCompound writeToNBT(NBTTagCompound nbt) { super.writeToNBT(nbt); @@ -173,6 +173,7 @@ public void writeToNBT(NBTTagCompound nbt) { nbt.setString("targetName", targetName); nbt.setDouble("powerCharge", powerCharge); nbt.setBoolean("reset", state != StateIdle); + return nbt; } diff --git a/src/main/java/mods/eln/transparentnode/transformer/TransformerElement.java b/src/main/java/mods/eln/transparentnode/transformer/TransformerElement.java index 282a86875..4a8aece72 100644 --- a/src/main/java/mods/eln/transparentnode/transformer/TransformerElement.java +++ b/src/main/java/mods/eln/transparentnode/transformer/TransformerElement.java @@ -295,9 +295,10 @@ public void networkSerialize(DataOutputStream stream) { } @Override - public void writeToNBT(NBTTagCompound nbt) { + public NBTTagCompound writeToNBT(NBTTagCompound nbt) { super.writeToNBT(nbt); nbt.setBoolean("isIsolated", isIsolator); + return nbt; } @Override diff --git a/src/main/java/mods/eln/transparentnode/turret/TurretElement.java b/src/main/java/mods/eln/transparentnode/turret/TurretElement.java index 5225a74a7..33650f901 100644 --- a/src/main/java/mods/eln/transparentnode/turret/TurretElement.java +++ b/src/main/java/mods/eln/transparentnode/turret/TurretElement.java @@ -173,11 +173,12 @@ public void networkSerialize(DataOutputStream stream) { } @Override - public void writeToNBT(NBTTagCompound nbt) { + public NBTTagCompound writeToNBT(NBTTagCompound nbt) { super.writeToNBT(nbt); nbt.setDouble("chargePower", chargePower); nbt.setBoolean("filterIsSpare", filterIsSpare); nbt.setDouble("energyBuffer", energyBuffer); + return nbt; } @Override diff --git a/src/main/java/mods/eln/transparentnode/waterturbine/WaterTurbineSlowProcess.java b/src/main/java/mods/eln/transparentnode/waterturbine/WaterTurbineSlowProcess.java index 0bbbd390f..6621ff44b 100644 --- a/src/main/java/mods/eln/transparentnode/waterturbine/WaterTurbineSlowProcess.java +++ b/src/main/java/mods/eln/transparentnode/waterturbine/WaterTurbineSlowProcess.java @@ -5,6 +5,7 @@ import mods.eln.misc.Utils; import mods.eln.sim.IProcess; import net.minecraft.block.Block; +import net.minecraft.block.state.IBlockState; import net.minecraft.init.Blocks; import net.minecraft.nbt.NBTTagCompound; @@ -44,16 +45,17 @@ public void process(double time) { //Block b = turbine.waterCoord.getBlock(); double time = 0; if (turbine.waterCoord.doesBlockExist()) { - Block block = turbine.waterCoord.getBlock(); - int blockMeta = turbine.waterCoord.getMeta(); + IBlockState state = turbine.waterCoord.getBlockState(); + Block block = state.getBlock(); + int blockMeta = block.getMetaFromState(state); //Utils.println("WATER : " + b + " " + turbine.waterCoord.getMeta()); - if (block != Blocks.flowing_water && block != Blocks.water) return -1; + if (block != Blocks.FLOWING_WATER && block != Blocks.WATER) return -1; if (blockMeta == 0) return 0; time = Utils.getWorldTime(turbine.world()); } double timeFactor = 1 + 0.2 * Math.sin((time - 0.20) * Math.PI * 2); - double weatherFactor = 1 + Utils.getWeatherNoLoad(turbine.coordinate().dimension) * 2; + double weatherFactor = 1 + Utils.getWeatherNoLoad(turbine.coordinate().getDimension()) * 2; return timeFactor * weatherFactor; } @@ -63,9 +65,10 @@ public void readFromNBT(NBTTagCompound nbt, String str) { } @Override - public void writeToNBT(NBTTagCompound nbt, String str) { + public NBTTagCompound writeToNBT(NBTTagCompound nbt, String str) { filter.writeToNBT(nbt, str + "filter"); + return nbt; } } diff --git a/src/main/java/mods/eln/transparentnode/windturbine/WindTurbineElement.java b/src/main/java/mods/eln/transparentnode/windturbine/WindTurbineElement.java index 0a9cd2d72..000cf1395 100644 --- a/src/main/java/mods/eln/transparentnode/windturbine/WindTurbineElement.java +++ b/src/main/java/mods/eln/transparentnode/windturbine/WindTurbineElement.java @@ -104,10 +104,11 @@ public void networkSerialize(DataOutputStream stream) { } @Override - public void writeToNBT(NBTTagCompound nbt) { + public NBTTagCompound writeToNBT(NBTTagCompound nbt) { super.writeToNBT(nbt); cableFront.writeToNBT(nbt, "cableFront"); Utils.println(cableFront); + return nbt; } @Override diff --git a/src/main/java/mods/eln/transparentnode/windturbine/WindTurbineSlowProcess.java b/src/main/java/mods/eln/transparentnode/windturbine/WindTurbineSlowProcess.java index 3e4457b5f..e3c734e77 100644 --- a/src/main/java/mods/eln/transparentnode/windturbine/WindTurbineSlowProcess.java +++ b/src/main/java/mods/eln/transparentnode/windturbine/WindTurbineSlowProcess.java @@ -136,8 +136,9 @@ public void readFromNBT(NBTTagCompound nbt, String str) { } @Override - public void writeToNBT(NBTTagCompound nbt, String str) { + public NBTTagCompound writeToNBT(NBTTagCompound nbt, String str) { nbt.setDouble(str + name + "localWind", localWind); nbt.setDouble(str + name + "environementWindFactor", environmentWindFactor); + return nbt; } } From f01bcaceead0a5486d45d7ed8e7021b0897de362 Mon Sep 17 00:00:00 2001 From: XGodL Date: Sun, 23 Sep 2018 18:33:31 +0100 Subject: [PATCH 25/61] Fixes --- .../eln/fluid/PreciseElementFluidHandler.kt | 3 +- .../generic/GenericItemBlockUsingDamage.java | 9 ++-- ...GenericItemBlockUsingDamageDescriptor.java | 5 +- .../eln/generic/GenericItemUsingDamage.java | 28 ++++++----- .../GenericItemUsingDamageDescriptor.java | 18 ++++--- .../mods/eln/generic/genericArmorItem.java | 4 +- .../java/mods/eln/ghost/GhostManager.java | 10 +++- .../java/mods/eln/gridnode/GridElement.java | 10 ++-- .../java/mods/eln/gridnode/GridRender.java | 4 +- src/main/java/mods/eln/gui/GuiButtonEln.java | 2 +- src/main/java/mods/eln/gui/GuiHelpText.java | 4 +- src/main/java/mods/eln/gui/GuiHelper.java | 4 +- src/main/java/mods/eln/gui/GuiLabel.java | 2 +- src/main/java/mods/eln/gui/GuiScreenEln.java | 7 ++- .../java/mods/eln/gui/GuiTextFieldEln.java | 2 +- .../mods/eln/gui/GuiVerticalProgressBar.java | 2 +- .../mods/eln/gui/GuiVerticalTrackBar.java | 4 +- .../eln/gui/GuiVerticalWorkingZoneBar.java | 4 +- .../ItemEnergyInventoryProcess.java | 2 +- .../item/electricalitem/ElectricalAxe.java | 5 +- .../electricalitem/ElectricalLampItem.java | 6 ++- .../electricalitem/ElectricalPickaxe.java | 8 +-- .../item/electricalitem/ElectricalTool.java | 8 +-- .../PortableOreScannerItem.java | 9 ++-- src/main/java/mods/eln/mechanical/JointHub.kt | 4 +- .../java/mods/eln/mechanical/ShaftNetwork.kt | 3 +- .../java/mods/eln/mechanical/SimpleShaft.kt | 6 +-- .../java/mods/eln/mechanical/Tachometer.kt | 3 +- src/main/java/mods/eln/mechanical/Turbines.kt | 8 +-- src/main/java/mods/eln/misc/Coordinate.java | 14 ++++++ src/main/java/mods/eln/misc/DirectionSet.kt | 3 +- .../java/mods/eln/misc/FakeSideInventory.java | 43 +++++++++++++--- src/main/java/mods/eln/misc/Utils.java | 8 +++ src/main/java/mods/eln/node/NodeBase.java | 5 +- src/main/java/mods/eln/node/NodeBlock.java | 8 +-- .../java/mods/eln/node/NodeBlockEntity.java | 12 +++-- src/main/java/mods/eln/node/NodeServer.java | 2 +- .../mods/eln/node/simple/SimpleNodeItem.java | 2 +- src/main/java/mods/eln/node/six/SixNode.java | 4 +- .../java/mods/eln/node/six/SixNodeBlock.java | 3 +- .../eln/node/six/SixNodeElementInventory.java | 42 ++++++++++++---- .../java/mods/eln/node/six/SixNodeEntity.java | 2 +- .../java/mods/eln/node/six/SixNodeItem.java | 41 +++++++++------- .../java/mods/eln/node/six/SixNodeRender.java | 5 +- .../transparent/TransparentNodeBlock.java | 4 +- .../TransparentNodeElementInventory.java | 47 ++++++++++++++---- .../transparent/TransparentNodeEntity.java | 49 +++++++++++++------ .../TransparentNodeEntityWithSiededInv.java | 29 +++++------ .../node/transparent/TransparentNodeItem.java | 10 ++-- .../transparent/TransparentNodeRender.java | 2 +- .../eln/packets/AchievePacketHandler.java | 4 +- .../computerprobe/ComputerProbeEntity.java | 5 ++ src/main/java/mods/eln/sixnode/AnalogChips.kt | 26 ++++++---- .../java/mods/eln/sixnode/ElectricalFuse.kt | 3 +- .../java/mods/eln/sixnode/EmergencyLamp.kt | 3 +- src/main/java/mods/eln/sixnode/LogicGate.kt | 22 ++++++--- src/main/java/mods/eln/sixnode/Scanner.kt | 3 +- .../TreeResinCollectorElement.java | 20 ++++---- .../TreeResinCollectorTileEntity.java | 9 ++-- .../ElectricalSourceElement.java | 2 +- .../ElectricalWatchRender.java | 2 +- .../sixnode/lampsocket/LampSocketRender.java | 9 ++-- .../sixnode/lampsupply/LampSupplyRender.java | 2 +- .../sixnode/modbusrtu/ModbusRtuRender.java | 2 +- .../thermalcable/ThermalCableElement.java | 2 +- .../thermalsensor/ThermalSensorElement.java | 2 +- .../WirelessSignalAnalyserItemDescriptor.java | 14 ++++-- .../sixnode/wirelesssignal/WirelessUtils.java | 29 +++++------ src/main/java/mods/eln/sound/SoundClient.java | 1 - .../eln/sound/SoundClientEventListener.java | 2 +- .../mods/eln/transparentnode/FuelGenerator.kt | 3 +- .../eln/transparentnode/FuelHeatFurnace.kt | 3 +- .../autominer/AutoMinerElement.java | 2 +- .../battery/BatteryElement.java | 2 +- .../computercraftio/PeripheralHandler.java | 6 ++- .../eggincubator/EggIncubatorContainer.java | 2 +- .../eggincubator/EggIncubatorElement.java | 3 +- .../eggincubator/EggIncubatorInventory.java | 7 +-- .../eggincubator/EggIncubatorRender.java | 2 +- .../ElectricalFurnaceInventory.java | 13 ++--- .../ElectricalFurnaceRender.java | 4 +- .../ElectricalMachineElement.java | 2 +- .../ElectricalMachineInventory.java | 13 ++--- .../heatfurnace/HeatFurnaceInventory.java | 7 +-- .../heatfurnace/HeatFurnaceRender.java | 2 +- .../solarpanel/SolarPanelElement.java | 2 +- .../solarpanel/SolarPanelRender.java | 2 +- .../solarpanel/SolarPannelGuiDraw.java | 2 +- .../solarpanel/SolarPannelSlowProcess.java | 3 +- .../teleporter/TeleporterRender.java | 4 +- .../ThermalDissipatorPassiveElement.java | 8 +-- .../transformer/TransformerRender.java | 2 +- .../waterturbine/WaterTurbineRender.java | 6 +-- .../windturbine/WindTurbineSlowProcess.java | 23 +++++---- src/main/java/mods/eln/wiki/GuiItemStack.java | 2 +- 95 files changed, 508 insertions(+), 298 deletions(-) diff --git a/src/main/java/mods/eln/fluid/PreciseElementFluidHandler.kt b/src/main/java/mods/eln/fluid/PreciseElementFluidHandler.kt index e4dafe0ba..c5ef17c6d 100644 --- a/src/main/java/mods/eln/fluid/PreciseElementFluidHandler.kt +++ b/src/main/java/mods/eln/fluid/PreciseElementFluidHandler.kt @@ -11,9 +11,10 @@ class PreciseElementFluidHandler(tankSize: Int) : ElementFluidHandler(tankSize) fixup = nbt.getDouble(str + "fixup") } - override fun writeToNBT(nbt: NBTTagCompound, str: String?) { + override fun writeToNBT(nbt: NBTTagCompound, str: String?): NBTTagCompound? { super.writeToNBT(nbt, str) nbt.setDouble(str + "fixup", fixup) + return nbt; } fun drain(demand: Double): Double { diff --git a/src/main/java/mods/eln/generic/GenericItemBlockUsingDamage.java b/src/main/java/mods/eln/generic/GenericItemBlockUsingDamage.java index 169713528..6fb55e07b 100644 --- a/src/main/java/mods/eln/generic/GenericItemBlockUsingDamage.java +++ b/src/main/java/mods/eln/generic/GenericItemBlockUsingDamage.java @@ -9,6 +9,9 @@ import net.minecraft.item.Item; import net.minecraft.item.ItemBlock; import net.minecraft.item.ItemStack; +import net.minecraft.util.EnumActionResult; +import net.minecraft.util.EnumFacing; +import net.minecraft.util.EnumHand; import net.minecraft.util.math.BlockPos; import net.minecraft.world.World; import net.minecraftforge.fml.common.registry.GameRegistry; @@ -147,9 +150,9 @@ public boolean onEntityItemUpdate(EntityItem entityItem) { //TODO: Maybe its onItemUse only? @Override - public boolean onItemUseFirst(ItemStack stack, EntityPlayer player, World world, BlockPos pos, int side, float hitX, float hitY, float hitZ) { + public EnumActionResult onItemUse(ItemStack stack, EntityPlayer player, World world, BlockPos pos, EnumHand hand, EnumFacing side, float hitX, float hitY, float hitZ) { Descriptor desc = getDescriptor(stack); - if (desc != null) return desc.onItemUseFirst(stack, player); - return false; + if (desc != null) return desc.onItemUse(stack, player); + return EnumActionResult.FAIL; } } diff --git a/src/main/java/mods/eln/generic/GenericItemBlockUsingDamageDescriptor.java b/src/main/java/mods/eln/generic/GenericItemBlockUsingDamageDescriptor.java index 25d5bcabf..93d4ba9b4 100644 --- a/src/main/java/mods/eln/generic/GenericItemBlockUsingDamageDescriptor.java +++ b/src/main/java/mods/eln/generic/GenericItemBlockUsingDamageDescriptor.java @@ -6,6 +6,7 @@ import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.EnumActionResult; import java.util.List; @@ -90,7 +91,7 @@ public boolean onEntityItemUpdate(EntityItem entityItem) { return false; } - public boolean onItemUseFirst(ItemStack stack, EntityPlayer player) { - return false; + public EnumActionResult onItemUse(ItemStack stack, EntityPlayer player) { + return EnumActionResult.FAIL; } } diff --git a/src/main/java/mods/eln/generic/GenericItemUsingDamage.java b/src/main/java/mods/eln/generic/GenericItemUsingDamage.java index f3304bb01..7b337b7da 100644 --- a/src/main/java/mods/eln/generic/GenericItemUsingDamage.java +++ b/src/main/java/mods/eln/generic/GenericItemUsingDamage.java @@ -2,12 +2,18 @@ import mods.eln.misc.UtilsClient; import net.minecraft.block.Block; +import net.minecraft.block.state.IBlockState; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; +import net.minecraft.util.ActionResult; +import net.minecraft.util.EnumActionResult; +import net.minecraft.util.EnumFacing; +import net.minecraft.util.EnumHand; +import net.minecraft.util.math.BlockPos; import net.minecraft.world.World; import net.minecraftforge.fml.common.registry.GameRegistry; import net.minecraftforge.fml.relauncher.Side; @@ -61,10 +67,10 @@ public Descriptor getDescriptor(ItemStack itemStack) { } @Override - public ItemStack onItemRightClick(ItemStack s, World w, EntityPlayer p) { + public ActionResult onItemRightClick(ItemStack s, World w, EntityPlayer p, EnumHand hand) { Descriptor desc = getDescriptor(s); if (desc == null) - return s; + return new ActionResult(EnumActionResult.PASS, s); return desc.onItemRightClick(s, w, p); } @@ -122,11 +128,11 @@ public void addInformation(ItemStack itemStack, EntityPlayer entityPlayer, List * True if something happen and false if it don't. This is for ITEMS, not BLOCKS */ @Override - public boolean onItemUse(ItemStack stack, EntityPlayer player, World world, int x, int y, int z, int side, float vx, float vy, float vz) { + public EnumActionResult onItemUse(ItemStack stack, EntityPlayer player, World world, BlockPos pos, EnumHand hand, EnumFacing facing, float vx, float vy, float vz) { GenericItemUsingDamageDescriptor d = getDescriptor(stack); if (d == null) - return false; - return d.onItemUse(stack, player, world, x, y, z, side, vx, vy, vz); + return EnumActionResult.PASS; + return d.onItemUse(stack, player, world, pos, hand, facing, vx, vy, vz); } public boolean onEntitySwing(EntityLivingBase entityLiving, ItemStack stack) { @@ -139,7 +145,7 @@ public boolean onEntitySwing(EntityLivingBase entityLiving, ItemStack stack) { public boolean onBlockStartBreak(ItemStack itemstack, int X, int Y, int Z, EntityPlayer player) { GenericItemUsingDamageDescriptor d = getDescriptor(itemstack); if (d == null) - return super.onBlockStartBreak(itemstack, X, Y, Z, player); + return super.onBlockStartBreak(itemstack, new BlockPos(X, Y, Z), player); return d.onBlockStartBreak(itemstack, X, Y, Z, player); } @@ -156,20 +162,20 @@ public void onUpdate(ItemStack stack, World world, Entity entity, int par4, bool } @Override - public float func_150893_a(ItemStack stack, Block block) { //getStrVsBlock + public float func_150893_a(ItemStack stack, IBlockState state) { //getStrVsBlock GenericItemUsingDamageDescriptor d = getDescriptor(stack); if (d == null) return 0.2f; - return d.getStrVsBlock(stack, block); + return d.getStrVsBlock(stack, state); } @Override - public boolean canHarvestBlock(Block par1Block, ItemStack item) { + public boolean canHarvestBlock(IBlockState state) { return true; } @Override - public boolean onBlockDestroyed(ItemStack stack, World w, Block block, int x, int y, int z, EntityLivingBase entity) { + public boolean onBlockDestroyed(ItemStack stack, World w, IBlockState state, BlockPos pos, EntityLivingBase entity) { if (w.isRemote) { return false; } @@ -178,7 +184,7 @@ public boolean onBlockDestroyed(ItemStack stack, World w, Block block, int x, in if (d == null) return true; - return d.onBlockDestroyed(stack, w, block, x, y, z, entity); + return d.onBlockDestroyed(stack, w, state, pos, entity); } @Override diff --git a/src/main/java/mods/eln/generic/GenericItemUsingDamageDescriptor.java b/src/main/java/mods/eln/generic/GenericItemUsingDamageDescriptor.java index 725c00a91..6d1d5b77c 100644 --- a/src/main/java/mods/eln/generic/GenericItemUsingDamageDescriptor.java +++ b/src/main/java/mods/eln/generic/GenericItemUsingDamageDescriptor.java @@ -2,12 +2,18 @@ import mods.eln.misc.VoltageLevelColor; import net.minecraft.block.Block; +import net.minecraft.block.state.IBlockState; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.ActionResult; +import net.minecraft.util.EnumActionResult; +import net.minecraft.util.EnumFacing; +import net.minecraft.util.EnumHand; +import net.minecraft.util.math.BlockPos; import net.minecraft.world.World; import java.util.List; @@ -42,8 +48,8 @@ public void addInformation(ItemStack itemStack, EntityPlayer entityPlayer, List } - public ItemStack onItemRightClick(ItemStack s, World w, EntityPlayer p) { - return s; + public ActionResult onItemRightClick(ItemStack s, World w, EntityPlayer p) { + return new ActionResult(EnumActionResult.PASS, s); } public void getSubItems(List list) { @@ -109,8 +115,8 @@ public boolean checkSameItemStack(ItemStack stack) { * Callback for item usage. If the item does something special on right clicking, he will have one of those. Return * True if something happen and false if it don't. This is for ITEMS, not BLOCKS */ - public boolean onItemUse(ItemStack stack, EntityPlayer player, World world, int x, int y, int z, int side, float vx, float vy, float vz) { - return false; + public EnumActionResult onItemUse(ItemStack stack, EntityPlayer player, World world, BlockPos pos, EnumHand hand, EnumFacing facing, float vx, float vy, float vz) { + return EnumActionResult.PASS; } // TODO(1.10): Fix item render. @@ -144,11 +150,11 @@ protected NBTTagCompound getNbt(ItemStack stack) { return nbt; } - public float getStrVsBlock(ItemStack stack, Block block) { + public float getStrVsBlock(ItemStack stack, IBlockState state) { return 0.2f; } - public boolean onBlockDestroyed(ItemStack stack, World w, Block block, int x, int y, int z, EntityLivingBase entity) { + public boolean onBlockDestroyed(ItemStack stack, World w, IBlockState state, BlockPos pos, EntityLivingBase entity) { return false; } diff --git a/src/main/java/mods/eln/generic/genericArmorItem.java b/src/main/java/mods/eln/generic/genericArmorItem.java index bde6aa2ee..538957704 100644 --- a/src/main/java/mods/eln/generic/genericArmorItem.java +++ b/src/main/java/mods/eln/generic/genericArmorItem.java @@ -1,6 +1,7 @@ package mods.eln.generic; import net.minecraft.entity.Entity; +import net.minecraft.inventory.EntityEquipmentSlot; import net.minecraft.item.ItemArmor; import net.minecraft.item.ItemStack; @@ -26,11 +27,12 @@ public int getValue() { } public genericArmorItem(ArmorMaterial par2EnumArmorMaterial, int par3, ArmourType Type, String t1, String t2) { - super(par2EnumArmorMaterial, par3, Type.getValue()); + super(par2EnumArmorMaterial, par3, EntityEquipmentSlot.valueOf(Type.toString())); this.t1 = t1; this.t2 = t2; } + //TODO: FIX TEXTURES @Override public String getArmorTexture(ItemStack stack, Entity entity, int slot, String layer) { if (this.armorType.getIndex() == 2) { diff --git a/src/main/java/mods/eln/ghost/GhostManager.java b/src/main/java/mods/eln/ghost/GhostManager.java index 8172d2110..ed8918fe7 100644 --- a/src/main/java/mods/eln/ghost/GhostManager.java +++ b/src/main/java/mods/eln/ghost/GhostManager.java @@ -8,9 +8,11 @@ import net.minecraft.block.Block; import net.minecraft.init.Blocks; import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.server.MinecraftServer; import net.minecraft.util.math.BlockPos; import net.minecraft.world.World; import net.minecraft.world.WorldSavedData; +import net.minecraftforge.common.ForgeChunkManager; import java.util.Hashtable; import java.util.Iterator; @@ -169,9 +171,13 @@ public void unload(int dimensionId) { } public boolean canCreateGhostAt(World world, BlockPos pos) { - if (!world.getChunkProvider().chunkexists(pos.getX() >> 4, pos.getZ() >> 4)) { + //Probably isn't needed anymore since now when asked for a chunk even if it isnt generated it auto generates it + /* + if (!world.getChunkProvider().chunkExists(pos.getX() >> 4, pos.getZ() >> 4)) { return false; - } else if (world.isAirBlock(pos) && !world.getBlockState(pos).getBlock().isReplaceable(world, pos)) { + } + */ + if (world.isAirBlock(pos) && !world.getBlockState(pos).getBlock().isReplaceable(world, pos)) { return false; } else return true; } diff --git a/src/main/java/mods/eln/gridnode/GridElement.java b/src/main/java/mods/eln/gridnode/GridElement.java index a6481c6e0..3382cf2c8 100644 --- a/src/main/java/mods/eln/gridnode/GridElement.java +++ b/src/main/java/mods/eln/gridnode/GridElement.java @@ -215,8 +215,8 @@ public void updateIdealRenderAngle() { // Angles 180 degrees apart are equivalent. if (vec.pos.getZ() < 0) vec = vec.negate(); - double h = Math.sqrt(vec.x * vec.x + vec.z * vec.z); - angles[i++] = Math.acos(vec.x / h); + double h = Math.sqrt(vec.pos.getX() * vec.pos.getX() + vec.pos.getZ() * vec.pos.getZ()); + angles[i++] = Math.acos(vec.pos.getX() / h); } // This could probably be optimised with a bit of math, but w.e. double optAngle = 0; @@ -266,10 +266,10 @@ public void networkSerialize(DataOutputStream stream) { Coordinate offset = link.b.subtract(link.a); for (int i = 0; i < 2; i++) { final Vec3d start = getCablePoint(ourSide, i); - start.rotateAroundY((float) Math.toRadians(idealRenderingAngle)); + start.rotateYaw((float) Math.toRadians(idealRenderingAngle)); Vec3d end = target.getCablePoint(theirSide, i); - end.rotateAroundY((float) Math.toRadians(target.idealRenderingAngle)); - end = end.addVector(offset.x, offset.y, offset.z); + end.rotateYaw((float) Math.toRadians(target.idealRenderingAngle)); + end = end.addVector(offset.pos.getX(), offset.pos.getY(), offset.pos.getZ()); writeVec(stream, start); writeVec(stream, end); } diff --git a/src/main/java/mods/eln/gridnode/GridRender.java b/src/main/java/mods/eln/gridnode/GridRender.java index 7ecaa18ad..a9916ac31 100644 --- a/src/main/java/mods/eln/gridnode/GridRender.java +++ b/src/main/java/mods/eln/gridnode/GridRender.java @@ -179,8 +179,8 @@ private Vec3d[] spread(Vec3d a, Vec3d b) { // This is just to copy. // We don't care what r is, so long as it's linearly independent of delta. final Vec3d r = delta.normalize(); - r.rotateAroundY(1); - r.rotateAroundX(1); + r.rotateYaw(1); + r.rotateYaw(1); // This gives us one vector which is perpendicular to delta. final Vec3d x1 = multiply(delta.crossProduct(r).normalize(), cableWidth); // And this, another, perpendicular to delta and x1. diff --git a/src/main/java/mods/eln/gui/GuiButtonEln.java b/src/main/java/mods/eln/gui/GuiButtonEln.java index 523602698..414156728 100644 --- a/src/main/java/mods/eln/gui/GuiButtonEln.java +++ b/src/main/java/mods/eln/gui/GuiButtonEln.java @@ -67,7 +67,7 @@ public void imouseMovedOrUp(int x, int y, int witch) { @Override public void idraw2(int x, int y) { if (helper != null && visible && x >= xPosition && y >= yPosition && x < xPosition + width && y < yPosition + height) - helper.drawHoveringText(comment, x, y, Minecraft.getMinecraft().fontRenderer); + helper.drawHoveringText(comment, x, y, Minecraft.getMinecraft().fontRendererObj); } @Override diff --git a/src/main/java/mods/eln/gui/GuiHelpText.java b/src/main/java/mods/eln/gui/GuiHelpText.java index 635042b86..902567b49 100644 --- a/src/main/java/mods/eln/gui/GuiHelpText.java +++ b/src/main/java/mods/eln/gui/GuiHelpText.java @@ -29,7 +29,7 @@ public void idraw(int x, int y, float f) { drawRect(xPosition + 1, yPosition - 1, xPosition + width - 1, yPosition + height + 1, 0xFF606060); drawRect(xPosition + 2, yPosition, xPosition + width - 2, yPosition + height, 0xFF808080); - this.drawCenteredString(Minecraft.getMinecraft().fontRenderer, "?", this.xPosition + this.width / 2, this.yPosition + (this.height - 8) / 2, 0xFF); + this.drawCenteredString(Minecraft.getMinecraft().fontRendererObj, "?", this.xPosition + this.width / 2, this.yPosition + (this.height - 8) / 2, 0xFF); } @Override @@ -77,7 +77,7 @@ public void idraw2(int x, int y) { /*int px, py; px = xPosition - helper.getHoveringTextWidth(comment, Minecraft.getMinecraft().fontRenderer) / 2; py = yPosition + height + 20;*/ - helper.drawHoveringText(comment, x, y, Minecraft.getMinecraft().fontRenderer); + helper.drawHoveringText(comment, x, y, Minecraft.getMinecraft().fontRendererObj); } } } diff --git a/src/main/java/mods/eln/gui/GuiHelper.java b/src/main/java/mods/eln/gui/GuiHelper.java index 479f3cd61..cb4d2f931 100644 --- a/src/main/java/mods/eln/gui/GuiHelper.java +++ b/src/main/java/mods/eln/gui/GuiHelper.java @@ -40,7 +40,7 @@ public GuiHelper(GuiScreen screen, int xSize, int ySize) { GuiTextFieldEln newGuiTextField(int x, int y, int width) { GuiTextFieldEln o; - o = new GuiTextFieldEln(Minecraft.getMinecraft().fontRenderer, + o = new GuiTextFieldEln(Minecraft.getMinecraft().fontRendererObj, screen.width / 2 - xSize / 2 + x, screen.height / 2 - ySize / 2 + y, width, 12, this); objectList.add(o); return o; @@ -188,7 +188,7 @@ protected void mouseMovedOrUp(int x, int y, int witch) { } public void drawString(int x, int y, int color, String str) { - Minecraft.getMinecraft().fontRenderer.drawString(str, screen.width / 2 - xSize / 2 + x, screen.height / 2 - ySize / 2 + y, color); + Minecraft.getMinecraft().fontRendererObj.drawString(str, screen.width / 2 - xSize / 2 + x, screen.height / 2 - ySize / 2 + y, color); } public void draw2(int x, int y) { diff --git a/src/main/java/mods/eln/gui/GuiLabel.java b/src/main/java/mods/eln/gui/GuiLabel.java index a43d21a96..2b2011cd5 100644 --- a/src/main/java/mods/eln/gui/GuiLabel.java +++ b/src/main/java/mods/eln/gui/GuiLabel.java @@ -13,7 +13,7 @@ public class GuiLabel extends Gui implements IGuiObject { public GuiLabel(int x, int y, String text) { this.text = text; - font = Minecraft.getMinecraft().fontRenderer; + font = Minecraft.getMinecraft().fontRendererObj; color = 0x00FFFFFF; xPos = x; yPos = y; diff --git a/src/main/java/mods/eln/gui/GuiScreenEln.java b/src/main/java/mods/eln/gui/GuiScreenEln.java index 4ffed9f50..7dc04c789 100644 --- a/src/main/java/mods/eln/gui/GuiScreenEln.java +++ b/src/main/java/mods/eln/gui/GuiScreenEln.java @@ -4,6 +4,8 @@ import mods.eln.gui.IGuiObject.IGuiObjectObserver; import net.minecraft.client.gui.GuiScreen; +import java.io.IOException; + public abstract class GuiScreenEln extends GuiScreen implements GuiTextFieldElnObserver, IGuiObjectObserver { protected GuiHelper helper; @@ -53,12 +55,13 @@ public GuiVerticalProgressBar newGuiVerticalProgressBar(int x, int y, int width, } @Override - protected void keyTyped(char key, int code) { + protected void keyTyped(char key, int code) throws IOException { helper.keyTyped(key, code); super.keyTyped(key, code); } - protected void mouseClicked(int x, int y, int code) { + @Override + protected void mouseClicked(int x, int y, int code) throws IOException { helper.mouseClicked(x, y, code); super.mouseClicked(x, y, code); } diff --git a/src/main/java/mods/eln/gui/GuiTextFieldEln.java b/src/main/java/mods/eln/gui/GuiTextFieldEln.java index 79785b27d..069183f3b 100644 --- a/src/main/java/mods/eln/gui/GuiTextFieldEln.java +++ b/src/main/java/mods/eln/gui/GuiTextFieldEln.java @@ -127,7 +127,7 @@ public void imouseMovedOrUp(int x, int y, int witch) { @Override public void idraw2(int x, int y) { if (!isFocused() && getVisible() && x >= xPos && y >= yPos && x < xPos + width && y < yPos + height) - helper.drawHoveringText(comment, x, y, Minecraft.getMinecraft().fontRenderer); + helper.drawHoveringText(comment, x, y, Minecraft.getMinecraft().fontRendererObj); } diff --git a/src/main/java/mods/eln/gui/GuiVerticalProgressBar.java b/src/main/java/mods/eln/gui/GuiVerticalProgressBar.java index 4aee292a7..676887b62 100644 --- a/src/main/java/mods/eln/gui/GuiVerticalProgressBar.java +++ b/src/main/java/mods/eln/gui/GuiVerticalProgressBar.java @@ -89,7 +89,7 @@ public void imouseMovedOrUp(int x, int y, int witch) { @Override public void idraw2(int x, int y) { if (visible && x >= xPosition && y >= yPosition && x < xPosition + width && y < yPosition + height) - helper.drawHoveringText(comment, x, y, Minecraft.getMinecraft().fontRenderer); + helper.drawHoveringText(comment, x, y, Minecraft.getMinecraft().fontRendererObj); } public void setComment(int line, String comment) { diff --git a/src/main/java/mods/eln/gui/GuiVerticalTrackBar.java b/src/main/java/mods/eln/gui/GuiVerticalTrackBar.java index e13e729d0..4f2b31054 100644 --- a/src/main/java/mods/eln/gui/GuiVerticalTrackBar.java +++ b/src/main/java/mods/eln/gui/GuiVerticalTrackBar.java @@ -187,9 +187,9 @@ public void imouseMovedOrUp(int x, int y, int witch) { public void idraw2(int x, int y) { if (visible && (x >= xPosition && y >= yPosition && x < xPosition + width && y < yPosition + height) || drag) { int px, py; - px = xPosition - helper.getHoveringTextWidth(comment, Minecraft.getMinecraft().fontRenderer) / 2; + px = xPosition - helper.getHoveringTextWidth(comment, Minecraft.getMinecraft().fontRendererObj) / 2; py = yPosition + height + 20/* - helper.getHoveringTextHeight(comment,Minecraft.getMinecraft().fontRenderer)*/; - helper.drawHoveringText(comment, px, py, Minecraft.getMinecraft().fontRenderer); + helper.drawHoveringText(comment, px, py, Minecraft.getMinecraft().fontRendererObj); } } diff --git a/src/main/java/mods/eln/gui/GuiVerticalWorkingZoneBar.java b/src/main/java/mods/eln/gui/GuiVerticalWorkingZoneBar.java index 06401f2b8..5697b4850 100644 --- a/src/main/java/mods/eln/gui/GuiVerticalWorkingZoneBar.java +++ b/src/main/java/mods/eln/gui/GuiVerticalWorkingZoneBar.java @@ -140,9 +140,9 @@ public void setComment(int line, String comment) { public void idraw2(int x, int y) { if (/*visible == true && */(x >= xPosition && y >= yPosition && x < xPosition + width && y < yPosition + height)) { int px, py; - px = xPosition - helper.getHoveringTextWidth(comment, Minecraft.getMinecraft().fontRenderer) / 2; + px = xPosition - helper.getHoveringTextWidth(comment, Minecraft.getMinecraft().fontRendererObj) / 2; py = yPosition + height + 20/* - helper.getHoveringTextHeight(comment,Minecraft.getMinecraft().fontRenderer)*/; - helper.drawHoveringText(comment, px, py, Minecraft.getMinecraft().fontRenderer); + helper.drawHoveringText(comment, px, py, Minecraft.getMinecraft().fontRendererObj); } } } diff --git a/src/main/java/mods/eln/item/electricalinterface/ItemEnergyInventoryProcess.java b/src/main/java/mods/eln/item/electricalinterface/ItemEnergyInventoryProcess.java index dd26cbfc3..ea6cfcaa1 100644 --- a/src/main/java/mods/eln/item/electricalinterface/ItemEnergyInventoryProcess.java +++ b/src/main/java/mods/eln/item/electricalinterface/ItemEnergyInventoryProcess.java @@ -93,7 +93,7 @@ public void process(double time) { ArrayList list = new ArrayList(); - for (Object obj : server.getConfigurationManager().playerEntityList) { + for (Object obj : server.getEntityWorld().playerEntities) { EntityPlayerMP player = (EntityPlayerMP) obj; list.clear(); diff --git a/src/main/java/mods/eln/item/electricalitem/ElectricalAxe.java b/src/main/java/mods/eln/item/electricalitem/ElectricalAxe.java index e5af46838..b1c4659a0 100644 --- a/src/main/java/mods/eln/item/electricalitem/ElectricalAxe.java +++ b/src/main/java/mods/eln/item/electricalitem/ElectricalAxe.java @@ -4,6 +4,7 @@ import mods.eln.wiki.Data; import net.minecraft.block.Block; import net.minecraft.block.material.Material; +import net.minecraft.block.state.IBlockState; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; @@ -21,8 +22,8 @@ public void setParent(Item item, int damage) { } @Override - public float getStrVsBlock(ItemStack stack, Block block) { - float value = block != null && (block.getMaterial() == Material.wood || block.getMaterial() == Material.plants || block.getMaterial() == Material.vine) ? getStrength(stack) : super.getStrVsBlock(stack, block); + public float getStrVsBlock(ItemStack stack, IBlockState state) { + float value = state.getBlock() != null && (state.getMaterial() == Material.WOOD || state.getMaterial() == Material.PLANTS || state.getMaterial() == Material.VINE) ? getStrength(stack) : super.getStrVsBlock(stack, state); Utils.println(value); return value; } diff --git a/src/main/java/mods/eln/item/electricalitem/ElectricalLampItem.java b/src/main/java/mods/eln/item/electricalitem/ElectricalLampItem.java index ec252b2eb..18c081249 100644 --- a/src/main/java/mods/eln/item/electricalitem/ElectricalLampItem.java +++ b/src/main/java/mods/eln/item/electricalitem/ElectricalLampItem.java @@ -9,6 +9,8 @@ import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.ActionResult; +import net.minecraft.util.EnumActionResult; import net.minecraft.util.ResourceLocation; import net.minecraft.world.World; @@ -125,7 +127,7 @@ public void onUpdate(ItemStack stack, World world, Entity entity, int par4, }*/ @Override - public ItemStack onItemRightClick(ItemStack s, World w, EntityPlayer p) { + public ActionResult onItemRightClick(ItemStack s, World w, EntityPlayer p) { if (!w.isRemote) { int lightState = getLightState(s) + 1; if (lightState > 1) lightState = 0; @@ -145,7 +147,7 @@ public ItemStack onItemRightClick(ItemStack s, World w, EntityPlayer p) { } setLightState(s, lightState); } - return s; + return new ActionResult(EnumActionResult.PASS, s); } @Override diff --git a/src/main/java/mods/eln/item/electricalitem/ElectricalPickaxe.java b/src/main/java/mods/eln/item/electricalitem/ElectricalPickaxe.java index 45143b841..d7c77563d 100644 --- a/src/main/java/mods/eln/item/electricalitem/ElectricalPickaxe.java +++ b/src/main/java/mods/eln/item/electricalitem/ElectricalPickaxe.java @@ -3,6 +3,7 @@ import mods.eln.wiki.Data; import net.minecraft.block.Block; import net.minecraft.block.material.Material; +import net.minecraft.block.state.IBlockState; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; @@ -20,10 +21,11 @@ public void setParent(Item item, int damage) { } @Override - public float getStrVsBlock(ItemStack stack, Block block) { - float value = block != null && (block.getMaterial() == Material.iron || block.getMaterial() == Material.glass || block.getMaterial() == Material.anvil || block.getMaterial() == Material.rock) ? getStrength(stack) : super.getStrVsBlock(stack, block); + public float getStrVsBlock(ItemStack stack, IBlockState state) { + Block bl = state.getBlock(); + float value = bl != null && (state.getMaterial() == Material.IRON || state.getMaterial() == Material.GLASS || state.getMaterial() == Material.ANVIL || state.getMaterial() == Material.ROCK) ? getStrength(stack) : super.getStrVsBlock(stack, state); for (Block b : blocksEffectiveAgainst) { - if (b == block) { + if (b == bl) { value = getStrength(stack); break; } diff --git a/src/main/java/mods/eln/item/electricalitem/ElectricalTool.java b/src/main/java/mods/eln/item/electricalitem/ElectricalTool.java index c67d8d447..a7d8dc55f 100644 --- a/src/main/java/mods/eln/item/electricalitem/ElectricalTool.java +++ b/src/main/java/mods/eln/item/electricalitem/ElectricalTool.java @@ -6,12 +6,14 @@ import mods.eln.misc.Utils; import mods.eln.misc.UtilsClient; import net.minecraft.block.Block; +import net.minecraft.block.state.IBlockState; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.Blocks; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.ResourceLocation; +import net.minecraft.util.math.BlockPos; import net.minecraft.world.World; import java.util.List; @@ -49,8 +51,8 @@ public boolean onEntitySwing(EntityLivingBase entityLiving, ItemStack stack) { } @Override - public boolean onBlockDestroyed(ItemStack stack, World w, Block block, int x, int y, int z, EntityLivingBase entity) { - if (getStrVsBlock(stack, block) == strengthOn) { + public boolean onBlockDestroyed(ItemStack stack, World w, IBlockState state, BlockPos pos, EntityLivingBase entity) { + if (getStrVsBlock(stack, state) == strengthOn) { double e = getEnergy(stack) - energyPerBlock; if (e < 0) e = 0; setEnergy(stack, e); @@ -60,7 +62,7 @@ public boolean onBlockDestroyed(ItemStack stack, World w, Block block, int x, in } // public static final Block[] blocksEffectiveAgainst = new Block[] {Block.cobblestone, Block.stoneDoubleSlab, Block.stoneSingleSlab, Block.stone, Block.sandStone, Block.cobblestoneMossy, Block.oreIron, Block.blockIron, Block.oreCoal, Block.blockGold, Block.oreGold, Block.oreDiamond, Block.blockDiamond, Block.ice, Block.netherrack, Block.oreLapis, Block.blockLapis, Block.oreRedstone, Block.oreRedstoneGlowing, Block.rail, Block.railDetector, Block.railPowered, Block.railActivator}; - public static final Block[] blocksEffectiveAgainst = new Block[]{Blocks.grass, Blocks.dirt, Blocks.sand, Blocks.gravel, Blocks.snow, Blocks.snow, Blocks.clay, Blocks.farmland, Blocks.soul_sand, Blocks.mycelium}; + public static final Block[] blocksEffectiveAgainst = new Block[]{Blocks.GRASS, Blocks.DIRT, Blocks.SAND, Blocks.GRAVEL, Blocks.SNOW, Blocks.CLAY, Blocks.FARMLAND, Blocks.SOUL_SAND, Blocks.MYCELIUM}; //@Override //public abstract float getStrVsBlock(ItemStack stack, Block block); diff --git a/src/main/java/mods/eln/item/electricalitem/PortableOreScannerItem.java b/src/main/java/mods/eln/item/electricalitem/PortableOreScannerItem.java index 01799145e..095af4aee 100644 --- a/src/main/java/mods/eln/item/electricalitem/PortableOreScannerItem.java +++ b/src/main/java/mods/eln/item/electricalitem/PortableOreScannerItem.java @@ -17,8 +17,11 @@ import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.ActionResult; +import net.minecraft.util.EnumActionResult; import net.minecraft.util.ResourceLocation; import net.minecraft.util.math.BlockPos; +import net.minecraft.util.math.MathHelper; import net.minecraft.world.World; import net.minecraft.world.chunk.Chunk; import net.minecraft.world.chunk.storage.ExtendedBlockStorage; @@ -127,8 +130,8 @@ public void onUpdate(ItemStack stack, World world, Entity entity, int par4, bool } @Override - public ItemStack onItemRightClick(ItemStack s, World w, EntityPlayer p) { - if (w.isRemote) return s; + public ActionResult onItemRightClick(ItemStack s, World w, EntityPlayer p) { + if (w.isRemote) return new ActionResult(EnumActionResult.FAIL, s);; boolean playerInteractRise = true; double energy = getEnergy(s); byte state = getState(s); @@ -148,7 +151,7 @@ public ItemStack onItemRightClick(ItemStack s, World w, EntityPlayer p) { } break; } - return s; + return new ActionResult(EnumActionResult.PASS, s);; } @Override diff --git a/src/main/java/mods/eln/mechanical/JointHub.kt b/src/main/java/mods/eln/mechanical/JointHub.kt index 27c0b8d89..3cafce60d 100644 --- a/src/main/java/mods/eln/mechanical/JointHub.kt +++ b/src/main/java/mods/eln/mechanical/JointHub.kt @@ -93,9 +93,9 @@ class JointHubElement(node: TransparentNode, desc_: TransparentNodeDescriptor) : connectedSides.serialize(stream) } - override fun writeToNBT(nbt: NBTTagCompound) { + override fun writeToNBT(nbt: NBTTagCompound): NBTTagCompound? { super.writeToNBT(nbt) - connectedSides.writeToNBT(nbt, "connectedSides") + return connectedSides.writeToNBT(nbt, "connectedSides") } override fun readFromNBT(nbt: NBTTagCompound) { diff --git a/src/main/java/mods/eln/mechanical/ShaftNetwork.kt b/src/main/java/mods/eln/mechanical/ShaftNetwork.kt index 4c928155d..067b67641 100644 --- a/src/main/java/mods/eln/mechanical/ShaftNetwork.kt +++ b/src/main/java/mods/eln/mechanical/ShaftNetwork.kt @@ -163,8 +163,9 @@ class ShaftNetwork() : INBTTReady { rads = nbt.getFloat(str + "rads").toDouble() } - override fun writeToNBT(nbt: NBTTagCompound, str: String?) { + override fun writeToNBT(nbt: NBTTagCompound, str: String?): NBTTagCompound?{ nbt.setFloat(str + "rads", rads.toFloat()) + return nbt } } diff --git a/src/main/java/mods/eln/mechanical/SimpleShaft.kt b/src/main/java/mods/eln/mechanical/SimpleShaft.kt index 98a0bdc9e..857209c6d 100644 --- a/src/main/java/mods/eln/mechanical/SimpleShaft.kt +++ b/src/main/java/mods/eln/mechanical/SimpleShaft.kt @@ -190,14 +190,14 @@ abstract class SimpleShaftElement(node: TransparentNode, desc_: TransparentNodeD node.lrduCubeMask.getTranslate(front.down()).serialize(stream) } - override fun writeToNBT(nbt: NBTTagCompound) { + override fun writeToNBT(nbt: NBTTagCompound): NBTTagCompound? { super.writeToNBT(nbt) - shaft.writeToNBT(nbt, "shaft") + return shaft.writeToNBT(nbt, "shaft") } override fun readFromNBT(nbt: NBTTagCompound) { super.readFromNBT(nbt) - shaft.readFromNBT(nbt, "shaft") + return shaft.readFromNBT(nbt, "shaft") } override fun multiMeterString(side: Direction?): String { diff --git a/src/main/java/mods/eln/mechanical/Tachometer.kt b/src/main/java/mods/eln/mechanical/Tachometer.kt index 13c52136e..9215bb9c0 100644 --- a/src/main/java/mods/eln/mechanical/Tachometer.kt +++ b/src/main/java/mods/eln/mechanical/Tachometer.kt @@ -106,10 +106,11 @@ open class TachometerElement(node: TransparentNode, desc_: TransparentNodeDescri maxRads = nbt.getFloat("maxRads") } - override fun writeToNBT(nbt: NBTTagCompound) { + override fun writeToNBT(nbt: NBTTagCompound): NBTTagCompound? { super.writeToNBT(nbt) nbt.setFloat("minRads", minRads) nbt.setFloat("maxRads", maxRads) + return nbt } override fun getWaila(): Map { diff --git a/src/main/java/mods/eln/mechanical/Turbines.kt b/src/main/java/mods/eln/mechanical/Turbines.kt index 2547f3b29..f2cec5195 100644 --- a/src/main/java/mods/eln/mechanical/Turbines.kt +++ b/src/main/java/mods/eln/mechanical/Turbines.kt @@ -150,8 +150,8 @@ class TurbineElement(node: TransparentNode, desc_: TransparentNodeDescriptor) : rc.readFromNBT(nbt, str) } - override fun writeToNBT(nbt: NBTTagCompound?, str: String?) { - rc.writeToNBT(nbt, str) + override fun writeToNBT(nbt: NBTTagCompound?, str: String?): NBTTagCompound? { + return rc.writeToNBT(nbt, str) } } @@ -174,10 +174,10 @@ class TurbineElement(node: TransparentNode, desc_: TransparentNodeDescriptor) : override fun thermoMeterString(side: Direction?) = Utils.plotPercent(" Eff:", efficiency.toDouble()) + fluidRate.toString() + "mB/s" - override fun writeToNBT(nbt: NBTTagCompound) { + override fun writeToNBT(nbt: NBTTagCompound): NBTTagCompound? { super.writeToNBT(nbt) tank.writeToNBT(nbt, "tank") - turbineSlowProcess.writeToNBT(nbt, "proc") + return turbineSlowProcess.writeToNBT(nbt, "proc") } override fun readFromNBT(nbt: NBTTagCompound) { diff --git a/src/main/java/mods/eln/misc/Coordinate.java b/src/main/java/mods/eln/misc/Coordinate.java index cd0cc9efc..55d9f087d 100644 --- a/src/main/java/mods/eln/misc/Coordinate.java +++ b/src/main/java/mods/eln/misc/Coordinate.java @@ -206,4 +206,18 @@ public boolean isAir() { public IBlockState getBlockState() { return world().getBlockState(pos); } + + public Block getBlock() { return getBlockState().getBlock(); } + + public int getMeta(){ + return Utils.getMetaFromPos(this); + } + + public Coordinate subtract(Coordinate b) { + return newWithOffset(-b.pos.getX(), -b.pos.getY(), -b.pos.getZ()); + } + public Coordinate negate() { + return new Coordinate(-pos.getX(), -pos.getY(), -pos.getZ(), dimension); + } + } diff --git a/src/main/java/mods/eln/misc/DirectionSet.kt b/src/main/java/mods/eln/misc/DirectionSet.kt index 54f7f7806..70d916f95 100644 --- a/src/main/java/mods/eln/misc/DirectionSet.kt +++ b/src/main/java/mods/eln/misc/DirectionSet.kt @@ -39,8 +39,9 @@ class DirectionSet : TreeSet() { fromInt(stream.readInt()) } - fun writeToNBT(nbt: NBTTagCompound, name: String) { + fun writeToNBT(nbt: NBTTagCompound, name: String): NBTTagCompound? { nbt.setInteger(name, toInt()) + return nbt } fun readFromNBT(nbt: NBTTagCompound, name: String) { diff --git a/src/main/java/mods/eln/misc/FakeSideInventory.java b/src/main/java/mods/eln/misc/FakeSideInventory.java index 50e95bcde..5818e25d4 100644 --- a/src/main/java/mods/eln/misc/FakeSideInventory.java +++ b/src/main/java/mods/eln/misc/FakeSideInventory.java @@ -3,6 +3,8 @@ import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.ISidedInventory; import net.minecraft.item.ItemStack; +import net.minecraft.util.EnumFacing; +import net.minecraft.util.text.ITextComponent; public class FakeSideInventory implements ISidedInventory { @@ -28,7 +30,7 @@ public ItemStack decrStackSize(int var1, int var2) { } @Override - public ItemStack getStackInSlotOnClosing(int var1) { + public ItemStack removeStackFromSlot(int var1) { return null; } @@ -38,15 +40,20 @@ public void setInventorySlotContents(int var1, ItemStack var2) { } @Override - public String getInventoryName() { + public String getName() { return "FakeSideInventory"; } @Override - public boolean hasCustomInventoryName() { + public boolean hasCustomName() { return false; } + @Override + public ITextComponent getDisplayName() { + return null; + } + @Override public int getInventoryStackLimit() { return 0; @@ -63,12 +70,12 @@ public boolean isUseableByPlayer(EntityPlayer var1) { } @Override - public void openInventory() { + public void openInventory(EntityPlayer var1) { } @Override - public void closeInventory() { + public void closeInventory(EntityPlayer var1) { } @@ -78,17 +85,37 @@ public boolean isItemValidForSlot(int var1, ItemStack var2) { } @Override - public int[] getAccessibleSlotsFromSide(int var1) { + public int getField(int id) { + return 0; + } + + @Override + public void setField(int id, int value) { + + } + + @Override + public int getFieldCount() { + return 0; + } + + @Override + public void clear() { + + } + + @Override + public int[] getSlotsForFace(EnumFacing var1) { return new int[]{}; } @Override - public boolean canInsertItem(int var1, ItemStack var2, int var3) { + public boolean canInsertItem(int var1, ItemStack var2, EnumFacing var3) { return false; } @Override - public boolean canExtractItem(int var1, ItemStack var2, int var3) { + public boolean canExtractItem(int var1, ItemStack var2, EnumFacing var3) { return false; } } diff --git a/src/main/java/mods/eln/misc/Utils.java b/src/main/java/mods/eln/misc/Utils.java index 7142e43cd..90c52e936 100644 --- a/src/main/java/mods/eln/misc/Utils.java +++ b/src/main/java/mods/eln/misc/Utils.java @@ -1418,4 +1418,12 @@ public static int getMetaFromPos(Coordinate coord){ return state.getBlock().getMetaFromState(state); } + public static int[] posToArray(BlockPos pos){ + int[] array = new int[3]; + array[0] = pos.getX(); + array[1] = pos.getY(); + array[2] = pos.getZ(); + return array; + } + } diff --git a/src/main/java/mods/eln/node/NodeBase.java b/src/main/java/mods/eln/node/NodeBase.java index eddb82474..d6164d777 100644 --- a/src/main/java/mods/eln/node/NodeBase.java +++ b/src/main/java/mods/eln/node/NodeBase.java @@ -102,10 +102,7 @@ public void neighborBlockRead() { neighborWrapable = 0; for (Direction direction : Direction.values()) { BlockPos.MutableBlockPos pos = coordinate.pos; - vector[0] = pos.getX(); - vector[1] = pos.getY(); - vector[2] = pos.getZ(); - + vector = Utils.posToArray(pos); direction.applyTo(vector, 1); Block b = world.getBlockState(pos).getBlock(); diff --git a/src/main/java/mods/eln/node/NodeBlock.java b/src/main/java/mods/eln/node/NodeBlock.java index f52779a46..bb11a3cc8 100644 --- a/src/main/java/mods/eln/node/NodeBlock.java +++ b/src/main/java/mods/eln/node/NodeBlock.java @@ -87,11 +87,11 @@ public int getLightValue(IBlockAccess world, BlockPos pos) { //client server - public boolean onBlockPlacedBy(World world, BlockPos pos, Direction front, EntityLivingBase entityLiving, int metadata) { + public boolean onBlockPlacedBy(World world, BlockPos pos, Direction front, EntityLivingBase entityLiving, IBlockState state) { NodeBlockEntity tileEntity = (NodeBlockEntity) world.getTileEntity(pos); - tileEntity.onBlockPlacedBy(front, entityLiving, metadata); + tileEntity.onBlockPlacedBy(front, entityLiving, state); return true; } @@ -136,10 +136,10 @@ public void getSubBlocks(int par1, CreativeTabs tab, List subItems) { } //client server - public boolean onBlockActivated(World world, BlockPos pos, EntityPlayer entityPlayer, int side, float vx, float vy, float vz) { + public boolean onBlockActivated(World world, BlockPos pos, EntityPlayer entityPlayer, EnumFacing side, float vx, float vy, float vz) { NodeBlockEntity entity = (NodeBlockEntity) world.getTileEntity(pos); // entityPlayer.openGui( Eln.instance, 0,world,x ,y, z); - return entity.onBlockActivated(entityPlayer, Direction.fromIntMinecraftSide(side), vx, vy, vz); + return entity.onBlockActivated(entityPlayer, Direction.fromFacing(side), vx, vy, vz); } @Override diff --git a/src/main/java/mods/eln/node/NodeBlockEntity.java b/src/main/java/mods/eln/node/NodeBlockEntity.java index 661007350..5f63964d7 100644 --- a/src/main/java/mods/eln/node/NodeBlockEntity.java +++ b/src/main/java/mods/eln/node/NodeBlockEntity.java @@ -1,10 +1,13 @@ package mods.eln.node; +import io.netty.buffer.ByteBuf; +import io.netty.buffer.Unpooled; import mods.eln.Eln; import mods.eln.cable.CableRenderDescriptor; import mods.eln.misc.*; import mods.eln.server.DelayedBlockRemove; +import net.minecraft.block.state.IBlockState; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.EntityLivingBase; @@ -12,6 +15,7 @@ import net.minecraft.inventory.Container; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.network.Packet; +import net.minecraft.network.PacketBuffer; import net.minecraft.network.play.server.SPacketCustomPayload; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.math.AxisAlignedBB; @@ -151,7 +155,7 @@ public double getMaxRenderDistanceSquared() { } - void onBlockPlacedBy(Direction front, EntityLivingBase entityLiving, int metadata) { + void onBlockPlacedBy(Direction front, EntityLivingBase entityLiving, IBlockState state) { } @@ -259,7 +263,9 @@ public Packet getDescriptionPacket() { Utils.println("ASSERT NULL NODE public Packet getDescriptionPacket() nodeblock entity"); return null; } - return new SPacketCustomPayload(Eln.channelName, node.getPublishPacket().toByteArray()); + + ByteBuf buffer = Unpooled.buffer(); + return new SPacketCustomPayload(Eln.channelName, new PacketBuffer(buffer.writeBytes(node.getPublishPacket().toByteArray()))); //return null; } @@ -284,7 +290,7 @@ public void preparePacketForServer(DataOutputStream stream) { } public void sendPacketToServer(ByteArrayOutputStream bos) { - UtilsClient.sendPacketToServer(bos); + UtilsClient.sendPacketToServer(new PacketBuffer(Unpooled.buffer().readBytes(bos.toByteArray()))); } diff --git a/src/main/java/mods/eln/node/NodeServer.java b/src/main/java/mods/eln/node/NodeServer.java index e55f83a3a..555e73786 100644 --- a/src/main/java/mods/eln/node/NodeServer.java +++ b/src/main/java/mods/eln/node/NodeServer.java @@ -37,7 +37,7 @@ public void tick(ServerTickEvent event) { } } - for (Object obj : server.getConfigurationManager().playerEntityList) { + for (Object obj : server.getPlayerList().getPlayerList()) { EntityPlayerMP player = (EntityPlayerMP) obj; NodeBase openContainerNode = null; diff --git a/src/main/java/mods/eln/node/simple/SimpleNodeItem.java b/src/main/java/mods/eln/node/simple/SimpleNodeItem.java index 211d47254..019217d2b 100644 --- a/src/main/java/mods/eln/node/simple/SimpleNodeItem.java +++ b/src/main/java/mods/eln/node/simple/SimpleNodeItem.java @@ -20,7 +20,7 @@ public SimpleNodeItem(Block b) { @Override public boolean placeBlockAt(ItemStack stack, EntityPlayer player, World world, BlockPos pos, EnumFacing side, float hitX, float hitY, float hitZ, IBlockState newState) { - SimpleNode node = null;< + SimpleNode node = null; if (!world.isRemote) { node = block.newNode(); node.setDescriptorKey(block.descriptorKey); diff --git a/src/main/java/mods/eln/node/six/SixNode.java b/src/main/java/mods/eln/node/six/SixNode.java index b2db445fe..f82439b53 100644 --- a/src/main/java/mods/eln/node/six/SixNode.java +++ b/src/main/java/mods/eln/node/six/SixNode.java @@ -524,11 +524,11 @@ public boolean onBlockActivated(EntityPlayer entityPlayer, Direction side, float //if(sixNodeCacheMapId != sixNodeCacheMapIdOld) { - Chunk chunk = coordinate.world().getChunkFromBlockCoords(coordinate.x, coordinate.z); + Chunk chunk = coordinate.world().getChunkFromBlockCoords(coordinate.pos); Utils.generateHeightMap(chunk); Utils.updateSkylight(chunk); chunk.generateSkylightMap(); - Utils.updateAllLightTypes(coordinate.world(), coordinate.x, coordinate.y, coordinate.z); + Utils.updateAllLightTypes(coordinate.world(), coordinate.pos); } return true; } else { diff --git a/src/main/java/mods/eln/node/six/SixNodeBlock.java b/src/main/java/mods/eln/node/six/SixNodeBlock.java index 97b3c4291..75fda022e 100644 --- a/src/main/java/mods/eln/node/six/SixNodeBlock.java +++ b/src/main/java/mods/eln/node/six/SixNodeBlock.java @@ -253,8 +253,7 @@ public void breakBlock(World world, BlockPos pos, Block par5, int par6) { } @Override - //TODO: REQUIRES IBlockAccess - public void onNeighborBlockChange(World world, BlockPos pos, BlockPos par5) { + public void onNeighborBlockChange(IBlockAccess world, BlockPos pos, BlockPos par5) { SixNodeEntity tileEntity = (SixNodeEntity) world.getTileEntity(pos); SixNode sixNode = (SixNode) tileEntity.getNode(); if (sixNode == null) return; diff --git a/src/main/java/mods/eln/node/six/SixNodeElementInventory.java b/src/main/java/mods/eln/node/six/SixNodeElementInventory.java index 042585245..956ab2262 100644 --- a/src/main/java/mods/eln/node/six/SixNodeElementInventory.java +++ b/src/main/java/mods/eln/node/six/SixNodeElementInventory.java @@ -6,6 +6,7 @@ import net.minecraft.inventory.IInventory; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.text.ITextComponent; public class SixNodeElementInventory implements IInventory, INBTTReady { SixNodeElementRender sixnodeRender = null; @@ -63,9 +64,8 @@ public ItemStack decrStackSize(int slot, int amt) { return stack; } - @Override - public ItemStack getStackInSlotOnClosing(int slot) { + public ItemStack removeStackFromSlot(int slot) { ItemStack stack = getStackInSlot(slot); if (stack != null) { setInventorySlotContents(slot, null); @@ -90,7 +90,7 @@ public void setInventorySlotContents(int slot, ItemStack stack) { @Override - public String getInventoryName() { + public String getName() { return "tco.SixNodeInventory"; } @@ -121,20 +121,17 @@ public boolean isUseableByPlayer(EntityPlayer player) { */ } - @Override - public void openInventory() { - + public void openInventory(EntityPlayer player) { } - @Override - public void closeInventory() { - + public void closeInventory(EntityPlayer player) { } + @Override public void markDirty() { if (sixNodeElement != null && !sixNodeElement.sixNode.isDestructing()) { @@ -162,10 +159,35 @@ public boolean isItemValidForSlot(int i, ItemStack itemstack) { } @Override - public boolean hasCustomInventoryName() { + public int getField(int id) { + return 0; + } + + @Override + public void setField(int id, int value) { + + } + + @Override + public int getFieldCount() { + return 0; + } + + @Override + public void clear() { + + } + + @Override + public boolean hasCustomName() { return false; } + @Override + public ITextComponent getDisplayName() { + return null; + } + } diff --git a/src/main/java/mods/eln/node/six/SixNodeEntity.java b/src/main/java/mods/eln/node/six/SixNodeEntity.java index f03355b82..46e07d824 100644 --- a/src/main/java/mods/eln/node/six/SixNodeEntity.java +++ b/src/main/java/mods/eln/node/six/SixNodeEntity.java @@ -99,7 +99,7 @@ public void serverPublishUnserialize(DataInputStream stream) { // worldObj.setLightValue(EnumSkyBlock.Sky, xCoord,yCoord,zCoord,15); if (sixNodeCacheBlock != sixNodeCacheBlockOld) { - Chunk chunk = worldObj.getChunkFromBlockCoords(xCoord, zCoord); + Chunk chunk = worldObj.getChunkFromBlockCoords(pos); chunk.generateHeightMap(); Utils.updateSkylight(chunk); chunk.generateSkylightMap(); diff --git a/src/main/java/mods/eln/node/six/SixNodeItem.java b/src/main/java/mods/eln/node/six/SixNodeItem.java index d8df70f18..ce570a60f 100644 --- a/src/main/java/mods/eln/node/six/SixNodeItem.java +++ b/src/main/java/mods/eln/node/six/SixNodeItem.java @@ -8,11 +8,15 @@ import mods.eln.misc.LRDU; import mods.eln.misc.Utils; import net.minecraft.block.Block; +import net.minecraft.block.state.IBlockState; import net.minecraft.client.Minecraft; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.Blocks; import net.minecraft.item.ItemStack; +import net.minecraft.util.EnumActionResult; import net.minecraft.util.EnumFacing; +import net.minecraft.util.EnumHand; +import net.minecraft.util.SoundCategory; import net.minecraft.util.math.BlockPos; import net.minecraft.world.World; import org.lwjgl.opengl.GL11; @@ -33,8 +37,10 @@ public int getMetadata(int damageValue) { /** * Callback for item usage. If the item does something special on right clicking, he will have one of those. Return True if something happen and false if it don't. This is for ITEMS, not BLOCKS */ - public boolean onItemUse(ItemStack stack, EntityPlayer player, World world, BlockPos pos, int side, float hitX, float hitY, float hitZ) { + @Override + public EnumActionResult onItemUse(ItemStack stack, EntityPlayer player, World world, BlockPos pos, EnumHand hand, EnumFacing facing, float hitX, float hitY, float hitZ) { Block block = world.getBlockState(pos).getBlock(); + int side = facing.getIndex(); if ((block == Blocks.SNOW_LAYER) && ((Utils.getMetaFromPos(world, pos) & 0x7) < 1)) { side = 1; } else if ((block != Blocks.VINE) && (block != Blocks.TALLGRASS) && (block != Blocks.DEADBUSH) && (!block.isReplaceable(world, pos))) { @@ -57,21 +63,22 @@ public boolean onItemUse(ItemStack stack, EntityPlayer player, World world, Bloc } if (stack.stackSize == 0) - return false; + return EnumActionResult.FAIL; if (!player.canPlayerEdit(pos, EnumFacing.getFacingFromVector(hitX,hitY,hitZ), stack)) - return false; - if ((pos.getY() == 255) && (this.field_150939_a.getMaterial().isSolid())) - return false; + return EnumActionResult.FAIL; + if ((pos.getY() == 255) && (this.block.getMaterial(world.getBlockState(pos)).isSolid())) + return EnumActionResult.FAIL; int i1 = getMetadata(stack.getItemDamage()); - int metadata = this.field_150939_a.onBlockPlaced(world, pos, side, hitX, hitY, hitZ, i1); + int metadata = this.block.getMetaFromState(this.block.onBlockPlaced(world, pos, facing, hitX, hitY, hitZ, i1, player)); if (placeBlockAt(stack, player, world, pos, EnumFacing.getFacingFromVector(hitX, hitY, hitZ), hitX, hitY, hitZ, block.getStateFromMeta(metadata))) { - world.playSound(pos.getX() + 0.5F, pos.getY() + 0.5F, pos.getZ() + 0.5F, this.field_150939_a.stepSound.func_150496_b(), (this.field_150939_a.stepSound.getVolume() + 1.0F) / 2.0F, this.field_150939_a.stepSound.getPitch() * 0.8F); + world.playSound(player, new BlockPos(pos.getX() + 0.5F, pos.getY() + 0.5F, pos.getZ() + 0.5F), this.block.getSoundType().getStepSound(), SoundCategory.BLOCKS, this.block.getSoundType().volume + 1.0F / 2.0F, this.block.getSoundType().getPitch() * 0.8F); + stack.stackSize -= 1; } - return true; + return EnumActionResult.SUCCESS; } /** @@ -80,18 +87,18 @@ public boolean onItemUse(ItemStack stack, EntityPlayer player, World world, Bloc // func_150936_a <= canPlaceItemBlockOnSide @Override - public boolean func_150936_a(World par1World, BlockPos pos, int par5, EntityPlayer par6EntityPlayer, ItemStack par7ItemStack) { + public boolean canPlaceBlockOnSide(World par1World, BlockPos pos, EnumFacing side, EntityPlayer par6EntityPlayer, ItemStack par7ItemStack) { if (!isStackValidToPlace(par7ItemStack)) return false; int[] vect = new int[]{pos.getX(), pos.getY(), pos.getZ()}; - Direction.fromIntMinecraftSide(par5).applyTo(vect, 1); + Direction.fromFacing(side).applyTo(vect, 1); SixNodeDescriptor descriptor = getDescriptor(par7ItemStack); - if (descriptor.canBePlacedOnSide(par6EntityPlayer, new Coordinate(pos, par1World), Direction.fromIntMinecraftSide(par5).getInverse()) == false) { + if (!descriptor.canBePlacedOnSide(par6EntityPlayer, new Coordinate(pos, par1World), Direction.fromFacing(side).getInverse()) == false) { return false; } if (par1World.getBlockState(new BlockPos(vect[0], vect[1], vect[2])).getBlock() == Eln.sixNodeBlock) return true; - if (super.func_150936_a(par1World, pos, par5, par6EntityPlayer, par7ItemStack)) + if (super.canPlaceBlockOnSide(par1World, pos, side, par6EntityPlayer, par7ItemStack)) return true; return false; @@ -102,13 +109,13 @@ public boolean isStackValidToPlace(ItemStack stack) { return descriptor != null; } - public boolean placeBlockAt(ItemStack stack, EntityPlayer player, World world,BlockPos pos, int side, float hitX, float hitY, float hitZ, int metadata) { + public boolean placeBlockAt(ItemStack stack, EntityPlayer player, World world,BlockPos pos, EnumFacing side, float hitX, float hitY, float hitZ, IBlockState state) { if (world.isRemote) return false; if (!isStackValidToPlace(stack)) return false; - Direction direction = Direction.fromIntMinecraftSide(side).getInverse(); + Direction direction = Direction.fromFacing(side).getInverse(); Block blockOld = world.getBlockState(pos).getBlock(); SixNodeBlock block = (SixNodeBlock) Block.getBlockFromItem(this); if (world.isAirBlock(pos) || blockOld.isReplaceable(world, pos)) { @@ -132,9 +139,9 @@ public boolean placeBlockAt(ItemStack stack, EntityPlayer player, World world,Bl sixNode.onBlockPlacedBy(new Coordinate(pos, world), direction, player, stack); sixNode.createSubBlock(stack, direction, player); - world.setBlockState(pos, block.getStateFromMeta( metadata & 0x03)); + world.setBlockState(pos, block.getStateFromMeta( block.getMetaFromState(state) & 0x03)); block.getIfOtherBlockIsSolid(world, pos, direction); - block.onBlockPlacedBy(world, pos, Direction.fromIntMinecraftSide(side).getInverse(), player, metadata); + block.onBlockPlacedBy(world, pos, Direction.fromFacing(side).getInverse(), player, state); return true; } @@ -147,7 +154,7 @@ public boolean placeBlockAt(ItemStack stack, EntityPlayer player, World world,Bl } if (sixNode.getSideEnable(direction) == false && block.getIfOtherBlockIsSolid(world, pos, direction)) { sixNode.createSubBlock(stack, direction, player); - block.onBlockPlacedBy(world, pos, Direction.fromIntMinecraftSide(side).getInverse(), player, metadata); + block.onBlockPlacedBy(world, pos, Direction.fromFacing(side).getInverse(), player, state); return true; } diff --git a/src/main/java/mods/eln/node/six/SixNodeRender.java b/src/main/java/mods/eln/node/six/SixNodeRender.java index 4f52f494c..a455894d1 100644 --- a/src/main/java/mods/eln/node/six/SixNodeRender.java +++ b/src/main/java/mods/eln/node/six/SixNodeRender.java @@ -8,9 +8,10 @@ import org.lwjgl.opengl.GL11; public class SixNodeRender extends TileEntitySpecialRenderer { + @Override public void renderTileEntityAt(TileEntity entity, double x, double y, - double z, float var8) { + double z, float var8, int stage) { Minecraft.getMinecraft().mcProfiler.startSection("SixNode"); SixNodeEntity tileEntity = (SixNodeEntity) entity; @@ -23,7 +24,7 @@ public void renderTileEntityAt(TileEntity entity, double x, double y, if(SixNodeCacheItem.map[tileEntity.sixNodeCacheMapId] != null) { UtilsClient.glDefaultColor(); - SixNodeCacheItem.map[tileEntity.sixNodeCacheMapId].draw(entity.getWorldObj(),entity.xCoord,entity.yCoord,entity.zCoord); + SixNodeCacheItem.map[tileEntity.sixNodeCacheMapId].draw(entity.getWorld(),entity.xCoord,entity.yCoord,entity.zCoord); } }*/ diff --git a/src/main/java/mods/eln/node/transparent/TransparentNodeBlock.java b/src/main/java/mods/eln/node/transparent/TransparentNodeBlock.java index 41f7e967e..3ef381bdd 100644 --- a/src/main/java/mods/eln/node/transparent/TransparentNodeBlock.java +++ b/src/main/java/mods/eln/node/transparent/TransparentNodeBlock.java @@ -64,7 +64,7 @@ public EnumBlockRenderType getRenderType(IBlockState state) { @Override - public boolean removedByPlayer(IBlockState state, World world, EntityPlayer entityPlayer, BlockPos pos, boolean willHarvest) { + public boolean removedByPlayer(IBlockState state, World world, BlockPos pos, EntityPlayer entityPlayer, boolean willHarvest) { if (!world.isRemote) { NodeBlockEntity entity = (NodeBlockEntity) world.getTileEntity(pos); if (entity != null) { @@ -98,7 +98,7 @@ public int getLightValue(IBlockAccess world, BlockPos pos) { @Override - public Item getItemDropped(int p_149650_1_, Random p_149650_2_, + public Item getItemDropped(IBlockState p_149650_1_, Random p_149650_2_, int p_149650_3_) { return null; } diff --git a/src/main/java/mods/eln/node/transparent/TransparentNodeElementInventory.java b/src/main/java/mods/eln/node/transparent/TransparentNodeElementInventory.java index 0aac23778..489250dba 100644 --- a/src/main/java/mods/eln/node/transparent/TransparentNodeElementInventory.java +++ b/src/main/java/mods/eln/node/transparent/TransparentNodeElementInventory.java @@ -6,6 +6,8 @@ import net.minecraft.inventory.ISidedInventory; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.EnumFacing; +import net.minecraft.util.text.ITextComponent; public class TransparentNodeElementInventory implements ISidedInventory, INBTTReady { protected TransparentNodeElementRender transparentNodeRender = null; @@ -60,7 +62,7 @@ public ItemStack decrStackSize(int slot, int amt) { } @Override - public ItemStack getStackInSlotOnClosing(int slot) { + public ItemStack removeStackFromSlot(int slot) { ItemStack stack = getStackInSlot(slot); if (stack != null) { setInventorySlotContents(slot, null); @@ -77,7 +79,7 @@ public void setInventorySlotContents(int slot, ItemStack stack) { } @Override - public String getInventoryName() { + public String getName() { return "tco.TransparentNodeInventory"; } @@ -98,12 +100,12 @@ public boolean isUseableByPlayer(EntityPlayer player) { } @Override - public void openInventory() { + public void openInventory(EntityPlayer player) { } @Override - public void closeInventory() { + public void closeInventory(EntityPlayer player) { } @@ -129,9 +131,9 @@ public NBTTagCompound writeToNBT(NBTTagCompound nbt, String str) { @Override public boolean isItemValidForSlot(int i, ItemStack itemstack) { for (int idx = 0; idx < 6; idx++) { - int[] lol = getAccessibleSlotsFromSide(idx); + int[] lol = getSlotsForFace(EnumFacing.getFront(idx)); for (int hohoho : lol) { - if (hohoho == i && canInsertItem(i, itemstack, idx)) { + if (hohoho == i && canInsertItem(i, itemstack, EnumFacing.getFront(idx))) { return true; } } @@ -140,23 +142,48 @@ public boolean isItemValidForSlot(int i, ItemStack itemstack) { } @Override - public boolean hasCustomInventoryName() { + public int getField(int id) { + return 0; + } + + @Override + public void setField(int id, int value) { + + } + + @Override + public int getFieldCount() { + return 0; + } + + @Override + public void clear() { + + } + + @Override + public boolean hasCustomName() { return false; } @Override - public int[] getAccessibleSlotsFromSide(int var1) { + public ITextComponent getDisplayName() { + return null; + } + + @Override + public int[] getSlotsForFace(EnumFacing var1) { return new int[]{}; } @Override - public boolean canInsertItem(int var1, ItemStack var2, int var3) { + public boolean canInsertItem(int var1, ItemStack var2, EnumFacing var3) { return false; } @Override - public boolean canExtractItem(int var1, ItemStack var2, int var3) { + public boolean canExtractItem(int var1, ItemStack var2, EnumFacing var3) { return false; } diff --git a/src/main/java/mods/eln/node/transparent/TransparentNodeEntity.java b/src/main/java/mods/eln/node/transparent/TransparentNodeEntity.java index ebb1b4e64..30a8736ce 100644 --- a/src/main/java/mods/eln/node/transparent/TransparentNodeEntity.java +++ b/src/main/java/mods/eln/node/transparent/TransparentNodeEntity.java @@ -15,6 +15,7 @@ import net.minecraft.inventory.IInventory; import net.minecraft.inventory.ISidedInventory; import net.minecraft.item.ItemStack; +import net.minecraft.util.EnumFacing; import net.minecraft.util.math.AxisAlignedBB; import net.minecraft.util.math.BlockPos; import net.minecraft.world.World; @@ -26,7 +27,7 @@ import java.lang.reflect.InvocationTargetException; import java.util.List; -//TODO: FIX ISidedInventory 1.10 + public class TransparentNodeEntity extends NodeBlockEntity implements ISidedInventory { // boolean[] syncronizedSideEnable = new boolean[6]; TransparentNodeElementRender elementRender = null; short elementRenderId; @@ -215,8 +216,8 @@ public ItemStack decrStackSize(int var1, int var2) { } @Override - public ItemStack getStackInSlotOnClosing(int var1) { - return getSidedInventory().getStackInSlotOnClosing(var1); + public ItemStack removeStackFromSlot(int var1) { + return getSidedInventory().removeStackFromSlot(var1); } @Override @@ -225,13 +226,13 @@ public void setInventorySlotContents(int var1, ItemStack var2) { } @Override - public String getInventoryName() { + public String getName() { return getSidedInventory().getName(); } @Override - public boolean hasCustomInventoryName() { - return getSidedInventory().hasCustomInventoryName(); + public boolean hasCustomName() { + return getSidedInventory().hasCustomName(); } @Override @@ -245,14 +246,12 @@ public boolean isUseableByPlayer(EntityPlayer var1) { } @Override - public void openInventory() { - getSidedInventory().openInventory(); + public void openInventory(EntityPlayer var1) { + getSidedInventory().openInventory(var1); } @Override - public void closeInventory() { - getSidedInventory().closeInventory(); - } + public void closeInventory(EntityPlayer var1) { getSidedInventory().closeInventory(var1); } @Override public boolean isItemValidForSlot(int var1, ItemStack var2) { @@ -260,17 +259,37 @@ public boolean isItemValidForSlot(int var1, ItemStack var2) { } @Override - public int[] getAccessibleSlotsFromSide(int var1) { - return getSidedInventory().getAccessibleSlotsFromSide(var1); + public int getField(int id) { + return 0; + } + + @Override + public void setField(int id, int value) { + + } + + @Override + public int getFieldCount() { + return 0; + } + + @Override + public void clear() { + + } + + @Override + public int[] getSlotsForFace(EnumFacing var1) { + return getSidedInventory().getSlotsForFace(var1); } @Override - public boolean canInsertItem(int var1, ItemStack var2, int var3) { + public boolean canInsertItem(int var1, ItemStack var2, EnumFacing var3) { return getSidedInventory().canInsertItem(var1, var2, var3); } @Override - public boolean canExtractItem(int var1, ItemStack var2, int var3) { + public boolean canExtractItem(int var1, ItemStack var2, EnumFacing var3) { return getSidedInventory().canExtractItem(var1, var2, var3); } } diff --git a/src/main/java/mods/eln/node/transparent/TransparentNodeEntityWithSiededInv.java b/src/main/java/mods/eln/node/transparent/TransparentNodeEntityWithSiededInv.java index a2d6062cd..4239c4216 100644 --- a/src/main/java/mods/eln/node/transparent/TransparentNodeEntityWithSiededInv.java +++ b/src/main/java/mods/eln/node/transparent/TransparentNodeEntityWithSiededInv.java @@ -6,6 +6,7 @@ import net.minecraft.inventory.IInventory; import net.minecraft.inventory.ISidedInventory; import net.minecraft.item.ItemStack; +import net.minecraft.util.EnumFacing; public class TransparentNodeEntityWithSiededInv extends TransparentNodeEntity implements ISidedInventory { // boolean[] syncronizedSideEnable = new boolean[6]; ISidedInventory getSidedInventory() { @@ -45,8 +46,8 @@ public ItemStack decrStackSize(int var1, int var2) { } @Override - public ItemStack getStackInSlotOnClosing(int var1) { - return getSidedInventory().getStackInSlotOnClosing(var1); + public ItemStack removeStackFromSlot(int var1) { + return getSidedInventory().removeStackFromSlot(var1); } @Override @@ -55,13 +56,13 @@ public void setInventorySlotContents(int var1, ItemStack var2) { } @Override - public String getInventoryName() { - return getSidedInventory().getInventoryName(); + public String getName() { + return getSidedInventory().getName(); } @Override - public boolean hasCustomInventoryName() { - return getSidedInventory().hasCustomInventoryName(); + public boolean hasCustomName() { + return getSidedInventory().hasCustomName(); } @Override @@ -75,13 +76,13 @@ public boolean isUseableByPlayer(EntityPlayer var1) { } @Override - public void openInventory() { - getSidedInventory().openInventory(); + public void openInventory(EntityPlayer var1) { + getSidedInventory().openInventory(var1); } @Override - public void closeInventory() { - getSidedInventory().closeInventory(); + public void closeInventory(EntityPlayer var1) { + getSidedInventory().closeInventory(var1); } @Override @@ -90,17 +91,17 @@ public boolean isItemValidForSlot(int var1, ItemStack var2) { } @Override - public int[] getAccessibleSlotsFromSide(int var1) { - return getSidedInventory().getAccessibleSlotsFromSide(var1); + public int[] getSlotsForFace(EnumFacing var1) { + return getSidedInventory().getSlotsForFace(var1); } @Override - public boolean canInsertItem(int var1, ItemStack var2, int var3) { + public boolean canInsertItem(int var1, ItemStack var2, EnumFacing var3) { return getSidedInventory().canInsertItem(var1, var2, var3); } @Override - public boolean canExtractItem(int var1, ItemStack var2, int var3) { + public boolean canExtractItem(int var1, ItemStack var2, EnumFacing var3) { return getSidedInventory().canExtractItem(var1, var2, var3); } } diff --git a/src/main/java/mods/eln/node/transparent/TransparentNodeItem.java b/src/main/java/mods/eln/node/transparent/TransparentNodeItem.java index fa4fbd933..3a6959493 100644 --- a/src/main/java/mods/eln/node/transparent/TransparentNodeItem.java +++ b/src/main/java/mods/eln/node/transparent/TransparentNodeItem.java @@ -7,8 +7,12 @@ import mods.eln.misc.Utils; import mods.eln.node.NodeBlock; import net.minecraft.block.Block; +import net.minecraft.block.state.IBlockState; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; +import net.minecraft.util.EnumActionResult; +import net.minecraft.util.EnumFacing; +import net.minecraft.util.EnumHand; import net.minecraft.util.math.BlockPos; import net.minecraft.world.World; @@ -23,10 +27,10 @@ public TransparentNodeItem(Block b) { @Override - public boolean placeBlockAt(ItemStack stack, EntityPlayer player, World world, BlockPos pos, int side, float hitX, float hitY, float hitZ, int metadata) { + public boolean placeBlockAt(ItemStack stack, EntityPlayer player, World world, BlockPos pos, EnumFacing side, float hitX, float hitY, float hitZ, IBlockState state) { if (world.isRemote) return false; TransparentNodeDescriptor descriptor = getDescriptor(stack); - Direction direction = Direction.fromIntMinecraftSide(side).getInverse(); + Direction direction = Direction.fromFacing(side).getInverse(); Direction front = descriptor.getFrontFromPlace(direction, player); int[] v = new int[]{descriptor.getSpawnDeltaX(), descriptor.getSpawnDeltaY(), descriptor.getSpawnDeltaZ()}; front.rotateFromXN(v); @@ -52,7 +56,7 @@ public boolean placeBlockAt(ItemStack stack, EntityPlayer player, World world, B node.onBlockPlacedBy(coord, front, player, stack); //TODO: Probably use getStateForPlacement instead world.setBlockState(pos, Block.getBlockFromItem(this).getStateFromMeta(node.getBlockMetadata() & 0x03));//caca1.5.1 - ((NodeBlock) Block.getBlockFromItem(this)).onBlockPlacedBy(world, pos, direction, player, metadata); + ((NodeBlock) Block.getBlockFromItem(this)).onBlockPlacedBy(world, pos, direction, player, state); node.checkCanStay(true); diff --git a/src/main/java/mods/eln/node/transparent/TransparentNodeRender.java b/src/main/java/mods/eln/node/transparent/TransparentNodeRender.java index 8384f08e3..08264f524 100644 --- a/src/main/java/mods/eln/node/transparent/TransparentNodeRender.java +++ b/src/main/java/mods/eln/node/transparent/TransparentNodeRender.java @@ -7,7 +7,7 @@ public class TransparentNodeRender extends TileEntitySpecialRenderer { @Override public void renderTileEntityAt(TileEntity entity, double x, double y, - double z, float var8) { + double z, float var8, int var9) { //Utils.println("delta T : " + var8); TransparentNodeEntity tileEntity = (TransparentNodeEntity) entity; diff --git a/src/main/java/mods/eln/packets/AchievePacketHandler.java b/src/main/java/mods/eln/packets/AchievePacketHandler.java index 84be6dcf3..b649e8b58 100644 --- a/src/main/java/mods/eln/packets/AchievePacketHandler.java +++ b/src/main/java/mods/eln/packets/AchievePacketHandler.java @@ -11,9 +11,9 @@ public class AchievePacketHandler implements IMessageHandler, output: Double): MutableMap { @@ -401,8 +404,9 @@ open class VoltageControlledSawtoothOscillator : AnalogFunction() { out = nbt?.getDouble("out") ?: 0.0 } - override fun writeToNBT(nbt: NBTTagCompound?, str: String?) { + override fun writeToNBT(nbt: NBTTagCompound?, str: String?): NBTTagCompound? { nbt?.setDouble("out", out) + return nbt } } @@ -424,8 +428,9 @@ class Amplifier : AnalogFunction() { gain = nbt?.getDouble("gain") ?: 1.0 } - override fun writeToNBT(nbt: NBTTagCompound?, str: String?) { + override fun writeToNBT(nbt: NBTTagCompound?, str: String?): NBTTagCompound? { nbt?.setDouble("gain", gain) + return nbt } override fun getWaila(inputs: Array, output: Double): MutableMap { @@ -545,10 +550,11 @@ class SummingUnit : AnalogFunction() { } } - override fun writeToNBT(nbt: NBTTagCompound?, str: String?) { + override fun writeToNBT(nbt: NBTTagCompound?, str: String?): NBTTagCompound? { for (i in gains.indices) { nbt?.setDouble("gain$i", gains[i]) } + return nbt } override fun getWaila(inputs: Array, output: Double): MutableMap { @@ -668,9 +674,10 @@ class SampleAndHold : AnalogFunction() { value = nbt?.getDouble("value") ?: 0.0 } - override fun writeToNBT(nbt: NBTTagCompound?, str: String?) { + override fun writeToNBT(nbt: NBTTagCompound?, str: String?): NBTTagCompound? { nbt?.setBoolean("clock", clock) nbt?.setDouble("value", value) + return nbt } } @@ -694,11 +701,12 @@ class Filter: AnalogFunction() { } } - override fun writeToNBT(nbt: NBTTagCompound?, str: String?) { + override fun writeToNBT(nbt: NBTTagCompound?, str: String?): NBTTagCompound? { nbt?.apply { setDouble("feedback", feedback) setDouble("output", output) } + return nbt } } diff --git a/src/main/java/mods/eln/sixnode/ElectricalFuse.kt b/src/main/java/mods/eln/sixnode/ElectricalFuse.kt index b809f3df1..a427d8c1f 100644 --- a/src/main/java/mods/eln/sixnode/ElectricalFuse.kt +++ b/src/main/java/mods/eln/sixnode/ElectricalFuse.kt @@ -139,7 +139,7 @@ class ElectricalFuseHolderElement(sixNode: SixNode, side: Direction, descriptor: } } - override fun writeToNBT(nbt: NBTTagCompound?) { + override fun writeToNBT(nbt: NBTTagCompound?): NBTTagCompound? { super.writeToNBT(nbt) if (nbt != null) { front.writeToNBT(nbt, "front") @@ -152,6 +152,7 @@ class ElectricalFuseHolderElement(sixNode: SixNode, side: Direction, descriptor: nbt.setDouble("T", T) } + return nbt } override fun getElectricalLoad(lrdu: LRDU?): ElectricalLoad? = when (lrdu) { diff --git a/src/main/java/mods/eln/sixnode/EmergencyLamp.kt b/src/main/java/mods/eln/sixnode/EmergencyLamp.kt index e5feef252..336d4f07e 100644 --- a/src/main/java/mods/eln/sixnode/EmergencyLamp.kt +++ b/src/main/java/mods/eln/sixnode/EmergencyLamp.kt @@ -214,12 +214,13 @@ class EmergencyLampElement(sixNode: SixNode, side: Direction, descriptor: SixNod channel = nbt.getString("channel") } - override fun writeToNBT(nbt: NBTTagCompound) { + override fun writeToNBT(nbt: NBTTagCompound): NBTTagCompound? { super.writeToNBT(nbt) nbt.setBoolean("on", on) nbt.setDouble("charge", charge) nbt.setBoolean("poweredByCable", poweredByCable) nbt.setString("channel", channel) + return nbt } override fun hasGui() = true diff --git a/src/main/java/mods/eln/sixnode/LogicGate.kt b/src/main/java/mods/eln/sixnode/LogicGate.kt index 64a5a0963..b254733f9 100644 --- a/src/main/java/mods/eln/sixnode/LogicGate.kt +++ b/src/main/java/mods/eln/sixnode/LogicGate.kt @@ -164,9 +164,9 @@ open class LogicGateElement(node: SixNode, side: Direction, sixNodeDescriptor: S function.readFromNBT(nbt, "function") } - override fun writeToNBT(nbt: NBTTagCompound?) { + override fun writeToNBT(nbt: NBTTagCompound?): NBTTagCompound? { super.writeToNBT(nbt) - function.writeToNBT(nbt, "function") + return function.writeToNBT(nbt, "function") } override fun getThermalLoad(lrdu: LRDU?): ThermalLoad? = null @@ -220,7 +220,9 @@ abstract class LogicFunction : INBTTReady { ) override fun readFromNBT(nbt: NBTTagCompound?, str: String?) {} - override fun writeToNBT(nbt: NBTTagCompound?, str: String?) {} + override fun writeToNBT(nbt: NBTTagCompound?, str: String?): NBTTagCompound? { + return nbt + } } class Not : LogicFunction() { @@ -302,8 +304,9 @@ class SchmittTrigger : LogicFunction() { state = nbt?.getBoolean(str + "state") ?: false } - override fun writeToNBT(nbt: NBTTagCompound?, str: String?) { + override fun writeToNBT(nbt: NBTTagCompound?, str: String?): NBTTagCompound? { nbt?.setBoolean(str + "state", state) + return nbt } } @@ -334,9 +337,10 @@ class Oscillator : LogicFunction() { state = nbt?.getBoolean(str + "state") ?: false } - override fun writeToNBT(nbt: NBTTagCompound?, str: String?) { + override fun writeToNBT(nbt: NBTTagCompound?, str: String?): NBTTagCompound? { nbt?.setDouble(str + "ramp", ramp) nbt?.setBoolean(str + "state", state) + return nbt } } @@ -368,9 +372,10 @@ abstract class TriggeredLogicFunction(private val triggerIndex: Int) : LogicFunc state = nbt?.getBoolean(str + "state") ?: false } - override fun writeToNBT(nbt: NBTTagCompound?, str: String?) { + override fun writeToNBT(nbt: NBTTagCompound?, str: String?): NBTTagCompound? { nbt?.setBoolean(str + "trigger", trigger) nbt?.setBoolean(str + "state", state) + return nbt } } @@ -517,11 +522,12 @@ class Pal : LogicFunction() { (inputs[2] ?: false) * 2 + ((inputs[2] ?: false) xor (inputs[1] ?: false)) * 1] - override fun readFromNBT(nbt: NBTTagCompound?, str: String?) { + override fun readFromNBT(nbt: NBTTagCompound?, str: String?){ truthTable.fromInt(nbt?.getInteger(str + "truthTable") ?: 0) } - override fun writeToNBT(nbt: NBTTagCompound?, str: String?) { + override fun writeToNBT(nbt: NBTTagCompound?, str: String?): NBTTagCompound? { nbt?.setInteger(str + "truthTable", truthTable.toInt()) + return nbt } } diff --git a/src/main/java/mods/eln/sixnode/Scanner.kt b/src/main/java/mods/eln/sixnode/Scanner.kt index 7539ba589..8667b2610 100644 --- a/src/main/java/mods/eln/sixnode/Scanner.kt +++ b/src/main/java/mods/eln/sixnode/Scanner.kt @@ -173,9 +173,10 @@ class ScannerElement(sixNode: SixNode, side: Direction, descriptor: SixNodeDescr stream.writeByte(mode.value.toInt()) } - override fun writeToNBT(nbt: NBTTagCompound) { + override fun writeToNBT(nbt: NBTTagCompound): NBTTagCompound? { super.writeToNBT(nbt) nbt.setByte("mode", mode.value) + return nbt; } override fun readFromNBT(nbt: NBTTagCompound) { diff --git a/src/main/java/mods/eln/sixnode/TreeResinCollector/TreeResinCollectorElement.java b/src/main/java/mods/eln/sixnode/TreeResinCollector/TreeResinCollectorElement.java index 2b913578e..d3ef74b8e 100644 --- a/src/main/java/mods/eln/sixnode/TreeResinCollector/TreeResinCollectorElement.java +++ b/src/main/java/mods/eln/sixnode/TreeResinCollector/TreeResinCollectorElement.java @@ -16,6 +16,7 @@ import mods.eln.sim.ThermalLoad; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.math.BlockPos; import net.minecraft.world.World; import java.io.DataOutputStream; @@ -71,25 +72,22 @@ public void initialize() { int[] posWood = new int[3]; int[] posCollector = new int[3]; Direction woodDirection = side; - posWood[0] = coord.x; - posWood[1] = coord.y; - posWood[2] = coord.z; - posCollector[0] = coord.x; - posCollector[1] = coord.y; - posCollector[2] = coord.z; + posWood = Utils.posToArray(coord.pos); + //Tried not using the function again (since the values are the same) + posCollector = posWood; woodDirection.applyTo(posWood, 1); int leafCount = 0; int yStart, yEnd; - while (TreeResinCollectorDescriptor.isWood(worldObj.getBlock(posWood[0], posWood[1] - 1, posWood[2]))) { + while (TreeResinCollectorDescriptor.isWood(worldObj.getBlockState(new BlockPos(posWood[0], posWood[1] - 1, posWood[2])).getBlock())) { posWood[1]--; } yStart = posWood[1]; - posWood[1] = coord.y; + posWood[1] = coord.pos.getY(); // timeCounter-= timeTarget; - while (TreeResinCollectorDescriptor.isWood(worldObj.getBlock(posWood[0], posWood[1] + 1, posWood[2]))) { - if (TreeResinCollectorDescriptor.isLeaf(worldObj.getBlock(posCollector[0], posWood[1] + 1, posCollector[2]))) + while (TreeResinCollectorDescriptor.isWood(worldObj.getBlockState(new BlockPos(posWood[0], posWood[1] + 1, posWood[2])).getBlock())) { + if (TreeResinCollectorDescriptor.isLeaf(worldObj.getBlockState(new BlockPos(posCollector[0], posWood[1] + 1, posCollector[2])).getBlock())) leafCount++; posWood[1]++; } @@ -99,7 +97,7 @@ public void initialize() { Coordinate coordTemp = new Coordinate(posCollector[0], 0, posCollector[2], worldObj); posCollector[1] = yStart; for (posCollector[1] = yStart; posCollector[1] <= yEnd; posCollector[1]++) { - coordTemp.y = posCollector[1]; + coordTemp.pos.setY(posCollector[1]); // if(worldObj.getBlockId(posCollector[0],posCollector[1]+1,posCollector[2]) == Eln.treeResinCollectorBlock.blockID) NodeBase node = NodeManager.instance.getNodeFromCoordinate(coordTemp); if (node instanceof SixNode) { diff --git a/src/main/java/mods/eln/sixnode/TreeResinCollector/TreeResinCollectorTileEntity.java b/src/main/java/mods/eln/sixnode/TreeResinCollector/TreeResinCollectorTileEntity.java index e0a8983d7..920d2da31 100644 --- a/src/main/java/mods/eln/sixnode/TreeResinCollector/TreeResinCollectorTileEntity.java +++ b/src/main/java/mods/eln/sixnode/TreeResinCollector/TreeResinCollectorTileEntity.java @@ -37,12 +37,9 @@ public void update() { int[] posWood = new int[3]; int[] posCollector = new int[3]; Direction woodDirection = Direction.fromIntMinecraftSide(getBlockMetadata()).getInverse(); - posWood[0] = pos.getX(); - posWood[1] = pos.getY(); - posWood[2] = pos.getZ(); - posCollector[0] = pos.getX(); - posCollector[1] = pos.getY(); - posCollector[2] = pos.getZ(); + posWood = Utils.posToArray(pos); + //Tried not using the function again + posCollector = posWood; woodDirection.applyTo(posWood, 1); int yStart, yEnd; diff --git a/src/main/java/mods/eln/sixnode/electricalsource/ElectricalSourceElement.java b/src/main/java/mods/eln/sixnode/electricalsource/ElectricalSourceElement.java index 22e679f21..b0842a14f 100644 --- a/src/main/java/mods/eln/sixnode/electricalsource/ElectricalSourceElement.java +++ b/src/main/java/mods/eln/sixnode/electricalsource/ElectricalSourceElement.java @@ -126,7 +126,7 @@ public void initialize() { @Override public boolean onBlockActivated(EntityPlayer entityPlayer, Direction side, float vx, float vy, float vz) { if (onBlockActivatedRotate(entityPlayer)) return true; - ItemStack currentItemStack = entityPlayer.getCurrentEquippedItem(); + ItemStack currentItemStack = entityPlayer.getHeldItemMainhand(); if (currentItemStack != null) { Item item = currentItemStack.getItem(); diff --git a/src/main/java/mods/eln/sixnode/electricalwatch/ElectricalWatchRender.java b/src/main/java/mods/eln/sixnode/electricalwatch/ElectricalWatchRender.java index e0757dcbd..f93475100 100644 --- a/src/main/java/mods/eln/sixnode/electricalwatch/ElectricalWatchRender.java +++ b/src/main/java/mods/eln/sixnode/electricalwatch/ElectricalWatchRender.java @@ -30,7 +30,7 @@ public void draw() { super.draw(); long time; if (upToDate) - time = tileEntity.getWorldObj().getWorldTime(); + time = tileEntity.getWorld().getWorldTime(); else time = oldDate; time += 6000; diff --git a/src/main/java/mods/eln/sixnode/lampsocket/LampSocketRender.java b/src/main/java/mods/eln/sixnode/lampsocket/LampSocketRender.java index b9fa85fc2..75b516ae4 100644 --- a/src/main/java/mods/eln/sixnode/lampsocket/LampSocketRender.java +++ b/src/main/java/mods/eln/sixnode/lampsocket/LampSocketRender.java @@ -17,6 +17,7 @@ import net.minecraft.entity.projectile.EntityArrow; import net.minecraft.inventory.IInventory; import net.minecraft.item.ItemStack; +import net.minecraft.util.math.BlockPos; import net.minecraft.world.EnumSkyBlock; import org.lwjgl.opengl.GL11; @@ -81,10 +82,10 @@ public void draw() { public void refresh(float deltaT) { if (descriptor.render instanceof LampSocketSuspendedObjRender) { float dt = deltaT; - + BlockPos pos = tileEntity.getPos(); entityTimout -= dt; if (entityTimout < 0) { - entityList = tileEntity.getWorldObj().getEntitiesWithinAABB(Entity.class, new Coordinate(tileEntity.xCoord, tileEntity.yCoord - 2, tileEntity.zCoord, tileEntity.getWorldObj()).getAxisAlignedBB(2)); + entityList = tileEntity.getWorld().getEntitiesWithinAABB(Entity.class, new Coordinate(pos.getX(), pos.getY() - 2, pos.getZ(), tileEntity.getWorld()).getAxisAlignedBB(2)); entityTimout = 0.1f; } @@ -102,8 +103,8 @@ public void refresh(float deltaT) { pertuVy += e.motionZ * eFactor * dt; } - if (tileEntity.getWorldObj().getSavedLightValue(EnumSkyBlock.Sky, tileEntity.xCoord, tileEntity.yCoord, tileEntity.zCoord) > 3) { - float weather = (float) UtilsClient.getWeather(tileEntity.getWorldObj()) * 0.9f + 0.1f; + if (tileEntity.getWorld().getSavedLightValue(EnumSkyBlock.SKY, pos.getX(), pos.getY(), pos.getZ()) > 3) { + float weather = (float) UtilsClient.getWeather(tileEntity.getWorld()) * 0.9f + 0.1f; weatherAlphaY += (0.4 - Math.random()) * dt * Math.PI / 0.2 * weather; weatherAlphaZ += (0.4 - Math.random()) * dt * Math.PI / 0.2 * weather; diff --git a/src/main/java/mods/eln/sixnode/lampsupply/LampSupplyRender.java b/src/main/java/mods/eln/sixnode/lampsupply/LampSupplyRender.java index 653912ff1..2f13d9764 100644 --- a/src/main/java/mods/eln/sixnode/lampsupply/LampSupplyRender.java +++ b/src/main/java/mods/eln/sixnode/lampsupply/LampSupplyRender.java @@ -58,7 +58,7 @@ public void draw() { @Override public void refresh(float deltaT) { - if (!Utils.isPlayerAround(tileEntity.getWorldObj(), coord.getAxisAlignedBB(0))) + if (!Utils.isPlayerAround(tileEntity.getWorld(), coord.getAxisAlignedBB(0))) interpolator.setTarget(0f); else interpolator.setTarget(1f); diff --git a/src/main/java/mods/eln/sixnode/modbusrtu/ModbusRtuRender.java b/src/main/java/mods/eln/sixnode/modbusrtu/ModbusRtuRender.java index b04d42ca2..6a091b012 100644 --- a/src/main/java/mods/eln/sixnode/modbusrtu/ModbusRtuRender.java +++ b/src/main/java/mods/eln/sixnode/modbusrtu/ModbusRtuRender.java @@ -54,7 +54,7 @@ public void draw() { @Override public void refresh(float deltaT) { - if (!Utils.isPlayerAround(tileEntity.getWorldObj(), coord.getAxisAlignedBB(0))) + if (!Utils.isPlayerAround(tileEntity.getWorld(), coord.getAxisAlignedBB(0))) interpolator.setTarget(0f); else interpolator.setTarget(1f); diff --git a/src/main/java/mods/eln/sixnode/thermalcable/ThermalCableElement.java b/src/main/java/mods/eln/sixnode/thermalcable/ThermalCableElement.java index d874b8a75..20820ed04 100644 --- a/src/main/java/mods/eln/sixnode/thermalcable/ThermalCableElement.java +++ b/src/main/java/mods/eln/sixnode/thermalcable/ThermalCableElement.java @@ -123,7 +123,7 @@ public void initialize() { @Override public boolean onBlockActivated(EntityPlayer entityPlayer, Direction side, float vx, float vy, float vz) { - ItemStack currentItemStack = entityPlayer.getCurrentEquippedItem(); + ItemStack currentItemStack = entityPlayer.getHeldItemMainhand(); if (Utils.isPlayerUsingWrench(entityPlayer)) { colorCare = colorCare ^ 1; Utils.addChatMessage(entityPlayer, "Wire color care " + colorCare); diff --git a/src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorElement.java b/src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorElement.java index 8610e01b6..46d2e725d 100644 --- a/src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorElement.java +++ b/src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorElement.java @@ -222,7 +222,7 @@ boolean isItemElectricalCable() { @Override public boolean onBlockActivated(EntityPlayer entityPlayer, Direction side, float vx, float vy, float vz) { if (onBlockActivatedRotate(entityPlayer)) return true; - ItemStack currentItemStack = entityPlayer.getCurrentEquippedItem(); + ItemStack currentItemStack = entityPlayer.getHeldItemMainhand(); if (Eln.multiMeterElement.checkSameItemStack(currentItemStack)) { return false; diff --git a/src/main/java/mods/eln/sixnode/wirelesssignal/WirelessSignalAnalyserItemDescriptor.java b/src/main/java/mods/eln/sixnode/wirelesssignal/WirelessSignalAnalyserItemDescriptor.java index 0a27abf4f..9b28a0cb4 100644 --- a/src/main/java/mods/eln/sixnode/wirelesssignal/WirelessSignalAnalyserItemDescriptor.java +++ b/src/main/java/mods/eln/sixnode/wirelesssignal/WirelessSignalAnalyserItemDescriptor.java @@ -8,6 +8,10 @@ import mods.eln.sixnode.wirelesssignal.aggregator.BiggerAggregator; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; +import net.minecraft.util.EnumActionResult; +import net.minecraft.util.EnumFacing; +import net.minecraft.util.EnumHand; +import net.minecraft.util.math.BlockPos; import net.minecraft.world.World; import java.util.HashMap; @@ -21,11 +25,11 @@ public WirelessSignalAnalyserItemDescriptor(String name) { } @Override - public boolean onItemUse(ItemStack stack, EntityPlayer player, World world, int x, int y, int z, int side, float vx, float vy, float vz) { - if (world.isRemote) return true; + public EnumActionResult onItemUse(ItemStack stack, EntityPlayer player, World world, BlockPos pos, EnumHand hand, EnumFacing side, float vx, float vy, float vz) { + if (world.isRemote) return EnumActionResult.PASS; Utils.addChatMessage(player, "-------------------"); - Direction dir = Direction.fromIntMinecraftSide(side); - Coordinate c = new Coordinate(x, y, z, world); + Direction dir = Direction.fromFacing(side); + Coordinate c = new Coordinate(pos, world); c.move(dir); WirelessSignalSpot spot = WirelessUtils.buildSpot(c, null, 0); @@ -57,6 +61,6 @@ public boolean onItemUse(ItemStack stack, EntityPlayer player, World world, int if (list.size() == 0) { Utils.addChatMessage(player, "No wireless signal in area!"); }*/ - return true; + return EnumActionResult.PASS; } } diff --git a/src/main/java/mods/eln/sixnode/wirelesssignal/WirelessUtils.java b/src/main/java/mods/eln/sixnode/wirelesssignal/WirelessUtils.java index a33590aa4..d6a4b6fb4 100644 --- a/src/main/java/mods/eln/sixnode/wirelesssignal/WirelessUtils.java +++ b/src/main/java/mods/eln/sixnode/wirelesssignal/WirelessUtils.java @@ -3,6 +3,8 @@ import mods.eln.misc.Coordinate; import mods.eln.sixnode.wirelesssignal.tx.WirelessSignalTxElement; import net.minecraft.block.Block; +import net.minecraft.block.state.IBlockState; +import net.minecraft.util.math.BlockPos; import net.minecraft.world.World; import java.util.*; @@ -154,35 +156,34 @@ static private boolean isInRange(Coordinate txC, Coordinate rxC, double range) { return true; } + //TODO: Needs performance improvement static private double getVirtualDistance(Coordinate txC, Coordinate rxC, double distance) { double virtualDistance = distance; if (distance > 2) { double vx, vy, vz; double dx, dy, dz; - vx = rxC.x + 0.5; - vy = rxC.y + 0.5; - vz = rxC.z + 0.5; + vx = rxC.pos.getX() + 0.5; + vy = rxC.pos.getY() + 0.5; + vz = rxC.pos.getZ() + 0.5; - dx = (txC.x - rxC.x) / distance; - dy = (txC.y - rxC.y) / distance; - dz = (txC.z - rxC.z) / distance; + dx = (txC.pos.getX() - rxC.pos.getX()) / distance; + dy = (txC.pos.getY() - rxC.pos.getY()) / distance; + dz = (txC.pos.getZ() - rxC.pos.getZ()) / distance; Coordinate c = new Coordinate(); - c.setDimension(rxC.dimension); + c.setDimension(rxC.getDimension()); for (int idx = 0; idx < distance - 1; idx++) { vx += dx; vy += dy; vz += dz; - c.x = (int) vx; - c.y = (int) vy; - c.z = (int) vz; + c.pos = c.pos.setPos((int) vx, (int) vy, (int) vz); if (c.doesBlockExist()) { - Block b = c.getBlock(); + IBlockState s = c.getBlockState(); + Block b = s.getBlock(); World w = c.world(); - virtualDistance += - b.isOpaqueCube() && - !b.isAir(w, c.x, c.y, c.z) ? + b.isOpaqueCube(c.getBlockState()) && + !b.isAir(s, w, c.pos) ? 2.0 : 0.0; } } diff --git a/src/main/java/mods/eln/sound/SoundClient.java b/src/main/java/mods/eln/sound/SoundClient.java index b78ad39f6..a2d60fc14 100644 --- a/src/main/java/mods/eln/sound/SoundClient.java +++ b/src/main/java/mods/eln/sound/SoundClient.java @@ -33,7 +33,6 @@ public static void play(SoundCommand p) { p.volume *= Math.pow(temp, 2); p.volume *= distanceFactor; if (p.volume <= 0) return; - p.world.playSound(player.posX + 2 * (p.x - player.posX) / distance, player.posY + 2 * (p.y - player.posY) / distance, player.posZ + 2 * (p.z - player.posZ) / distance, p.track, p.volume, p.pitch, false); } else { for (int idx = 0; idx < trackCount; idx++) { diff --git a/src/main/java/mods/eln/sound/SoundClientEventListener.java b/src/main/java/mods/eln/sound/SoundClientEventListener.java index bbc6399db..c6a5eb2cb 100644 --- a/src/main/java/mods/eln/sound/SoundClientEventListener.java +++ b/src/main/java/mods/eln/sound/SoundClientEventListener.java @@ -22,7 +22,7 @@ public SoundClientEventListener(UuidManager uuidManager) { @SubscribeEvent public void event(PlaySoundSourceEvent e) { if (currentUuid == null) return; - uuidManager.add(currentUuid, new SoundClientEntity(e.manager, e.sound)); + uuidManager.add(currentUuid, new SoundClientEntity(e.getManager(), e.getSound())); } static class KillSound { diff --git a/src/main/java/mods/eln/transparentnode/FuelGenerator.kt b/src/main/java/mods/eln/transparentnode/FuelGenerator.kt index 6888ec929..462730307 100644 --- a/src/main/java/mods/eln/transparentnode/FuelGenerator.kt +++ b/src/main/java/mods/eln/transparentnode/FuelGenerator.kt @@ -216,10 +216,11 @@ class FuelGeneratorElement(transparentNode: TransparentNode, descriptor_: Transp on = nbt?.getBoolean("on") ?: false } - override fun writeToNBT(nbt: NBTTagCompound?) { + override fun writeToNBT(nbt: NBTTagCompound?): NBTTagCompound? { super.writeToNBT(nbt) nbt?.setDouble("tankLevel", tankLevel) nbt?.setBoolean("on", on) + return nbt; } override fun getWaila(): Map = mutableMapOf( diff --git a/src/main/java/mods/eln/transparentnode/FuelHeatFurnace.kt b/src/main/java/mods/eln/transparentnode/FuelHeatFurnace.kt index 262568ab0..f72ca30f7 100644 --- a/src/main/java/mods/eln/transparentnode/FuelHeatFurnace.kt +++ b/src/main/java/mods/eln/transparentnode/FuelHeatFurnace.kt @@ -220,7 +220,7 @@ class FuelHeatFurnaceElement(transparentNode: TransparentNode, descriptor: Trans return TransparentNodeElement.unserializeNulldId } - override fun writeToNBT(nbt: NBTTagCompound) { + override fun writeToNBT(nbt: NBTTagCompound): NBTTagCompound? { super.writeToNBT(nbt) tank.writeToNBT(nbt, "tank") nbt.setBoolean("externalControlled", externalControlled) @@ -229,6 +229,7 @@ class FuelHeatFurnaceElement(transparentNode: TransparentNode, descriptor: Trans nbt.setDouble("manualControl", manualControl) nbt.setDouble("setTemperature", setTemperature) nbt.setDouble("actualHeatPower", actualHeatPower) + return nbt } override fun readFromNBT(nbt: NBTTagCompound) { diff --git a/src/main/java/mods/eln/transparentnode/autominer/AutoMinerElement.java b/src/main/java/mods/eln/transparentnode/autominer/AutoMinerElement.java index 2fce162e0..aa76b4d54 100644 --- a/src/main/java/mods/eln/transparentnode/autominer/AutoMinerElement.java +++ b/src/main/java/mods/eln/transparentnode/autominer/AutoMinerElement.java @@ -133,7 +133,7 @@ public void onBreakElement() { @Override public boolean onBlockActivated(EntityPlayer entityPlayer, Direction side, float vx, float vy, float vz) { - return inventory.take(entityPlayer.getCurrentEquippedItem()); + return inventory.take(entityPlayer.getHeldItemMainhand()); } @Override diff --git a/src/main/java/mods/eln/transparentnode/battery/BatteryElement.java b/src/main/java/mods/eln/transparentnode/battery/BatteryElement.java index 1ad3a0fbe..e089ee8b7 100644 --- a/src/main/java/mods/eln/transparentnode/battery/BatteryElement.java +++ b/src/main/java/mods/eln/transparentnode/battery/BatteryElement.java @@ -198,7 +198,7 @@ public void inventoryChange(IInventory inventory) { @Override public boolean onBlockActivated(EntityPlayer entityPlayer, Direction side, float vx, float vy, float vz) { - return inventory.take(entityPlayer.getCurrentEquippedItem()); + return inventory.take(entityPlayer.getHeldItemMainhand()); } @Override diff --git a/src/main/java/mods/eln/transparentnode/computercraftio/PeripheralHandler.java b/src/main/java/mods/eln/transparentnode/computercraftio/PeripheralHandler.java index be83dd993..3411df762 100644 --- a/src/main/java/mods/eln/transparentnode/computercraftio/PeripheralHandler.java +++ b/src/main/java/mods/eln/transparentnode/computercraftio/PeripheralHandler.java @@ -7,13 +7,15 @@ import mods.eln.node.NodeBase; import mods.eln.node.NodeManager; import mods.eln.simplenode.computerprobe.ComputerProbeNode; +import net.minecraft.util.EnumFacing; +import net.minecraft.util.math.BlockPos; import net.minecraft.world.World; public class PeripheralHandler implements IPeripheralProvider { @Override - public IPeripheral getPeripheral(World world, int x, int y, int z, int side) { - NodeBase nb = NodeManager.instance.getNodeFromCoordinate(new Coordinate(x, y, z, world)); + public IPeripheral getPeripheral(World world, BlockPos pos, EnumFacing side) { + NodeBase nb = NodeManager.instance.getNodeFromCoordinate(new Coordinate(pos, world)); /* if (nb instanceof TransparentNode) { TransparentNode tn = (TransparentNode) nb; if (tn.element != null && tn.element instanceof ComputerCraftIoElement) { diff --git a/src/main/java/mods/eln/transparentnode/eggincubator/EggIncubatorContainer.java b/src/main/java/mods/eln/transparentnode/eggincubator/EggIncubatorContainer.java index 7c7248426..843b4f034 100644 --- a/src/main/java/mods/eln/transparentnode/eggincubator/EggIncubatorContainer.java +++ b/src/main/java/mods/eln/transparentnode/eggincubator/EggIncubatorContainer.java @@ -22,7 +22,7 @@ public class EggIncubatorContainer extends BasicContainer implements INodeContai public EggIncubatorContainer(EntityPlayer player, IInventory inventory, Node node) { super(player, inventory, new Slot[]{ new SlotFilter(inventory, EggSlotId, 176 / 2 - 8, 7, 64, - new ItemStackFilter[]{new ItemStackFilter(Items.egg)}, + new ItemStackFilter[]{new ItemStackFilter(Items.EGG)}, SlotSkin.medium, new String[]{tr("Egg slot")}) // new SlotFilter(inventory, 1, 62 + 18, 17, 1, new ItemStackFilter[]{new ItemStackFilter(Eln.sixNodeBlock, 0xFF, Eln.electricalCableId)}) }); diff --git a/src/main/java/mods/eln/transparentnode/eggincubator/EggIncubatorElement.java b/src/main/java/mods/eln/transparentnode/eggincubator/EggIncubatorElement.java index d03661041..ee69564f1 100644 --- a/src/main/java/mods/eln/transparentnode/eggincubator/EggIncubatorElement.java +++ b/src/main/java/mods/eln/transparentnode/eggincubator/EggIncubatorElement.java @@ -24,6 +24,7 @@ import net.minecraft.inventory.Container; import net.minecraft.inventory.IInventory; import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.math.MathHelper; import java.io.DataOutputStream; import java.io.IOException; @@ -76,7 +77,7 @@ public void process(double time) { EntityChicken chicken = new EntityChicken(node.coordinate.world()); chicken.setGrowingAge(-24000); EntityLiving entityliving = (EntityLiving) chicken; - entityliving.setLocationAndAngles(node.coordinate.x + 0.5, node.coordinate.y + 0.5, node.coordinate.z + 0.5, MathHelper.wrapAngleTo180_float(node.coordinate.world().rand.nextFloat() * 360.0F), 0.0F); + entityliving.setLocationAndAngles(node.coordinate.pos.getX() + 0.5, node.coordinate.pos.getY() + 0.5, node.coordinate.pos.getZ() + 0.5, MathHelper.wrapDegrees(node.coordinate.world().rand.nextFloat() * 360.0F), 0.0F); entityliving.rotationYawHead = entityliving.rotationYaw; entityliving.renderYawOffset = entityliving.rotationYaw; //entityliving.func_110161_a((EntityLivingData)null); 1.6.4 diff --git a/src/main/java/mods/eln/transparentnode/eggincubator/EggIncubatorInventory.java b/src/main/java/mods/eln/transparentnode/eggincubator/EggIncubatorInventory.java index 9a21e87fa..845fa6e00 100644 --- a/src/main/java/mods/eln/transparentnode/eggincubator/EggIncubatorInventory.java +++ b/src/main/java/mods/eln/transparentnode/eggincubator/EggIncubatorInventory.java @@ -4,6 +4,7 @@ import mods.eln.node.transparent.TransparentNodeElementInventory; import mods.eln.node.transparent.TransparentNodeElementRender; import net.minecraft.item.ItemStack; +import net.minecraft.util.EnumFacing; public class EggIncubatorInventory extends TransparentNodeElementInventory { @@ -16,17 +17,17 @@ public EggIncubatorInventory(int size, int stackLimit, TransparentNodeElementRen } @Override - public int[] getAccessibleSlotsFromSide(int side) { + public int[] getSlotsForFace(EnumFacing side) { return new int[]{EggIncubatorContainer.EggSlotId}; } @Override - public boolean canInsertItem(int var1, ItemStack var2, int var3) { + public boolean canInsertItem(int var1, ItemStack var2, EnumFacing var3) { return true; } @Override - public boolean canExtractItem(int var1, ItemStack var2, int var3) { + public boolean canExtractItem(int var1, ItemStack var2, EnumFacing var3) { return false; } } diff --git a/src/main/java/mods/eln/transparentnode/eggincubator/EggIncubatorRender.java b/src/main/java/mods/eln/transparentnode/eggincubator/EggIncubatorRender.java index 126f43519..38f240b44 100644 --- a/src/main/java/mods/eln/transparentnode/eggincubator/EggIncubatorRender.java +++ b/src/main/java/mods/eln/transparentnode/eggincubator/EggIncubatorRender.java @@ -69,7 +69,7 @@ public void networkUnserialize(DataInputStream stream) { try { eggStackSize = stream.readByte(); if (eggStackSize != 0) { - egg = new EntityItem(this.tileEntity.getWorldObj(), 0, 0, 0, new ItemStack(Items.egg)); + egg = new EntityItem(this.tileEntity.getWorld(), 0, 0, 0, new ItemStack(Items.EGG)); } else { egg = null; } diff --git a/src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceInventory.java b/src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceInventory.java index 256afa2f2..bc9b7c5a2 100644 --- a/src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceInventory.java +++ b/src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceInventory.java @@ -5,6 +5,7 @@ import mods.eln.node.transparent.TransparentNodeElementInventory; import mods.eln.node.transparent.TransparentNodeElementRender; import net.minecraft.item.ItemStack; +import net.minecraft.util.EnumFacing; public class ElectricalFurnaceInventory extends TransparentNodeElementInventory { @@ -17,8 +18,8 @@ public ElectricalFurnaceInventory(int size, int stackLimit, TransparentNodeEleme } @Override - public int[] getAccessibleSlotsFromSide(int side) { - switch (Direction.fromIntMinecraftSide(side)) { + public int[] getSlotsForFace(EnumFacing side) { + switch (Direction.fromFacing(side)) { case YP: return new int[]{ElectricalFurnaceElement.inSlotId}; default: @@ -28,8 +29,8 @@ public int[] getAccessibleSlotsFromSide(int side) { } @Override - public boolean canInsertItem(int var1, ItemStack var2, int side) { - switch (Direction.fromIntMinecraftSide(side)) { + public boolean canInsertItem(int var1, ItemStack var2, EnumFacing side) { + switch (Direction.fromFacing(side)) { case YP: return true; default: @@ -38,8 +39,8 @@ public boolean canInsertItem(int var1, ItemStack var2, int side) { } @Override - public boolean canExtractItem(int var1, ItemStack var2, int side) { - switch (Direction.fromIntMinecraftSide(side)) { + public boolean canExtractItem(int var1, ItemStack var2, EnumFacing side) { + switch (Direction.fromFacing(side)) { case YP: return false; default: diff --git a/src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceRender.java b/src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceRender.java index fcf3bbaf5..dc0f434fe 100644 --- a/src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceRender.java +++ b/src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceRender.java @@ -11,6 +11,7 @@ import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.item.EntityItem; import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.util.math.BlockPos; import java.io.ByteArrayOutputStream; import java.io.DataInputStream; @@ -99,7 +100,8 @@ public void networkUnserialize(DataInputStream stream) { entityItemIn = null; stream.readShort(); } else { - entityItemIn = new EntityItem(tileEntity.getWorldObj(), tileEntity.xCoord + 0.5, tileEntity.yCoord + 0.5, tileEntity.zCoord + 1.2, Utils.newItemStack(read, 1, stream.readShort())); + BlockPos pos = tileEntity.getPos(); + entityItemIn = new EntityItem(tileEntity.getWorld(), pos.getX() + 0.5, pos.getY() + 0.5, pos.getZ() + 1.2, Utils.newItemStack(read, 1, stream.readShort())); } heatingCorpResistorP = stream.readShort(); diff --git a/src/main/java/mods/eln/transparentnode/electricalmachine/ElectricalMachineElement.java b/src/main/java/mods/eln/transparentnode/electricalmachine/ElectricalMachineElement.java index b7026f935..21f4c63d7 100644 --- a/src/main/java/mods/eln/transparentnode/electricalmachine/ElectricalMachineElement.java +++ b/src/main/java/mods/eln/transparentnode/electricalmachine/ElectricalMachineElement.java @@ -146,7 +146,7 @@ private void setPhysicalValue() { @Override public boolean onBlockActivated(EntityPlayer entityPlayer, Direction side, float vx, float vy, float vz) { - return booterAccepter.take(entityPlayer.getCurrentEquippedItem(), this, false, true); + return booterAccepter.take(entityPlayer.getHeldItemMainhand(), this, false, true); } public void networkSerialize(java.io.DataOutputStream stream) { diff --git a/src/main/java/mods/eln/transparentnode/electricalmachine/ElectricalMachineInventory.java b/src/main/java/mods/eln/transparentnode/electricalmachine/ElectricalMachineInventory.java index 9740669a3..c16bb0995 100644 --- a/src/main/java/mods/eln/transparentnode/electricalmachine/ElectricalMachineInventory.java +++ b/src/main/java/mods/eln/transparentnode/electricalmachine/ElectricalMachineInventory.java @@ -4,6 +4,7 @@ import mods.eln.node.transparent.TransparentNodeElementInventory; import mods.eln.node.transparent.TransparentNodeElementRender; import net.minecraft.item.ItemStack; +import net.minecraft.util.EnumFacing; public class ElectricalMachineInventory extends TransparentNodeElementInventory { private ElectricalMachineElement machineElement; @@ -24,10 +25,10 @@ ElectricalMachineDescriptor getDescriptor() { } @Override - public int[] getAccessibleSlotsFromSide(int side) { + public int[] getSlotsForFace(EnumFacing side) { if (transparentNodeElement == null) return new int[0]; - switch (Direction.fromIntMinecraftSide(side)) { + switch (Direction.fromFacing(side)) { case YP: return new int[]{machineElement.inSlotId}; default: @@ -40,8 +41,8 @@ public int[] getAccessibleSlotsFromSide(int side) { } @Override - public boolean canInsertItem(int var1, ItemStack var2, int side) { - switch (Direction.fromIntMinecraftSide(side)) { + public boolean canInsertItem(int var1, ItemStack var2, EnumFacing side) { + switch (Direction.fromFacing(side)) { case YP: return true; default: @@ -50,8 +51,8 @@ public boolean canInsertItem(int var1, ItemStack var2, int side) { } @Override - public boolean canExtractItem(int var1, ItemStack var2, int side) { - switch (Direction.fromIntMinecraftSide(side)) { + public boolean canExtractItem(int var1, ItemStack var2, EnumFacing side) { + switch (Direction.fromFacing(side)) { case YP: return false; default: diff --git a/src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceInventory.java b/src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceInventory.java index b37013bb8..cd7dfb09d 100644 --- a/src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceInventory.java +++ b/src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceInventory.java @@ -4,6 +4,7 @@ import mods.eln.node.transparent.TransparentNodeElementInventory; import mods.eln.node.transparent.TransparentNodeElementRender; import net.minecraft.item.ItemStack; +import net.minecraft.util.EnumFacing; public class HeatFurnaceInventory extends TransparentNodeElementInventory { public HeatFurnaceInventory(int size, int stackLimit, TransparentNodeElement TransparentNodeElement) { @@ -15,17 +16,17 @@ public HeatFurnaceInventory(int size, int stackLimit, TransparentNodeElementRend } @Override - public int[] getAccessibleSlotsFromSide(int side) { + public int[] getSlotsForFace(EnumFacing side) { return new int[]{HeatFurnaceContainer.combustibleId}; } @Override - public boolean canInsertItem(int var1, ItemStack var2, int var3) { + public boolean canInsertItem(int var1, ItemStack var2, EnumFacing var3) { return true; } @Override - public boolean canExtractItem(int var1, ItemStack var2, int var3) { + public boolean canExtractItem(int var1, ItemStack var2, EnumFacing var3) { return false; } } diff --git a/src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceRender.java b/src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceRender.java index 6b1ab7150..540321fa5 100644 --- a/src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceRender.java +++ b/src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceRender.java @@ -58,7 +58,7 @@ public void draw() { @Override public void refresh(float deltaT) { - if (!Utils.isPlayerAround(tileEntity.getWorldObj(), coord.getAxisAlignedBB(1))) + if (!Utils.isPlayerAround(tileEntity.getWorld(), coord.getAxisAlignedBB(1))) interpolator.setTarget(0f); else interpolator.setTarget(1f); diff --git a/src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelElement.java b/src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelElement.java index a385c8a1f..fcd537b65 100644 --- a/src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelElement.java +++ b/src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelElement.java @@ -156,7 +156,7 @@ public void onBreakElement() { @Override public boolean onBlockActivated(EntityPlayer entityPlayer, Direction side, float vx, float vy, float vz) { - return descriptor.canRotate && inventory.take(entityPlayer.getCurrentEquippedItem(), this, true, false); + return descriptor.canRotate && inventory.take(entityPlayer.getHeldItemMainHand(), this, true, false); } @Override diff --git a/src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelRender.java b/src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelRender.java index 8f0ec4d58..a0dd66040 100644 --- a/src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelRender.java +++ b/src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelRender.java @@ -44,7 +44,7 @@ public void refresh(float deltaT) { if (hasTracker == false) { alpha = (float) descriptor.alphaTrunk(pannelAlphaSyncValue); } else { - alpha = (float) descriptor.alphaTrunk(SolarPannelSlowProcess.getSolarAlpha(tileEntity.getWorldObj())); + alpha = (float) descriptor.alphaTrunk(SolarPannelSlowProcess.getSolarAlpha(tileEntity.getWorld())); } interpol.setTarget(alpha); if (boot) { diff --git a/src/main/java/mods/eln/transparentnode/solarpanel/SolarPannelGuiDraw.java b/src/main/java/mods/eln/transparentnode/solarpanel/SolarPannelGuiDraw.java index 0db62ebca..71293fe02 100644 --- a/src/main/java/mods/eln/transparentnode/solarpanel/SolarPannelGuiDraw.java +++ b/src/main/java/mods/eln/transparentnode/solarpanel/SolarPannelGuiDraw.java @@ -61,7 +61,7 @@ protected void preDraw(float f, int x, int y) { if (render.pannelAlphaSyncNew) syncVumeter(); //vuMeterTemperature.temperatureHit = (float) (SolarPannelSlowProcess.getSolarAlpha(render.tileEntity.worldObj)); vuMeterTemperature.setEnable(!render.hasTracker); - int sunAlpha = ((int) (180 / Math.PI * SolarPannelSlowProcess.getSolarAlpha(render.tileEntity.getWorldObj())) - 90); + int sunAlpha = ((int) (180 / Math.PI * SolarPannelSlowProcess.getSolarAlpha(render.tileEntity.getWorld())) - 90); vuMeterTemperature.setComment(0, tr("Solar panel angle: %1$°", ((int) (180 / Math.PI * vuMeterTemperature.getValue()) - 90))); if (Math.abs(sunAlpha) > 90) diff --git a/src/main/java/mods/eln/transparentnode/solarpanel/SolarPannelSlowProcess.java b/src/main/java/mods/eln/transparentnode/solarpanel/SolarPannelSlowProcess.java index a6fb33b19..8a1d9f642 100644 --- a/src/main/java/mods/eln/transparentnode/solarpanel/SolarPannelSlowProcess.java +++ b/src/main/java/mods/eln/transparentnode/solarpanel/SolarPannelSlowProcess.java @@ -3,6 +3,7 @@ import mods.eln.misc.Coordinate; import mods.eln.misc.Utils; import mods.eln.sim.IProcess; +import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.Vec3d; import net.minecraft.world.World; @@ -74,7 +75,7 @@ public double getSolarLight() { int count = 0; ///world.getChunkProvider().chunkExists(var1, var2) while (world.getChunkProvider().chunkExists(((int) x) >> 4, ((int) z) >> 4)) { - double opacity = world.getBlockLightOpacity((int) x, (int) y, (int) z); + double opacity = world.getBlockLightOpacity(new BlockPos((int) x, (int) y, (int) z)); light *= (255 - opacity) / 255; if (light == 0.0) { break; diff --git a/src/main/java/mods/eln/transparentnode/teleporter/TeleporterRender.java b/src/main/java/mods/eln/transparentnode/teleporter/TeleporterRender.java index 1188529b4..2bfe80718 100644 --- a/src/main/java/mods/eln/transparentnode/teleporter/TeleporterRender.java +++ b/src/main/java/mods/eln/transparentnode/teleporter/TeleporterRender.java @@ -44,7 +44,7 @@ public void draw() { Coordinate lightCoordinate = new Coordinate(this.d.lightCoordinate); lightCoordinate.applyTransformation(front, c); - boolean lightEnable = tileEntity.getWorldObj().getBlock(lightCoordinate.x, lightCoordinate.y, lightCoordinate.z) == Eln.lightBlock; + boolean lightEnable = tileEntity.getWorld().getBlockState(lightCoordinate.pos).getBlock() == Eln.lightBlock; front.glRotateXnRef(); @@ -116,7 +116,7 @@ public void draw() { d.scr1_cables.draw(); d.scr2_transporter.draw(); - if (!tileEntity.getWorldObj().getEntitiesWithinAABB(Entity.class, d.getBB(c, front)).isEmpty()) + if (!tileEntity.getWorld().getEntitiesWithinAABB(Entity.class, d.getBB(c, front)).isEmpty()) d.scr3_userin.draw(); if (doorState) diff --git a/src/main/java/mods/eln/transparentnode/thermaldissipatorpassive/ThermalDissipatorPassiveElement.java b/src/main/java/mods/eln/transparentnode/thermaldissipatorpassive/ThermalDissipatorPassiveElement.java index e394648de..56a1598e6 100644 --- a/src/main/java/mods/eln/transparentnode/thermaldissipatorpassive/ThermalDissipatorPassiveElement.java +++ b/src/main/java/mods/eln/transparentnode/thermaldissipatorpassive/ThermalDissipatorPassiveElement.java @@ -87,15 +87,15 @@ public void initialize() { @Override public boolean onBlockActivated(EntityPlayer entityPlayer, Direction side, float vx, float vy, float vz) { - ItemStack stack = entityPlayer.getCurrentEquippedItem(); + ItemStack stack = entityPlayer.getHeldItemMainhand(); if (stack == null) return false; - if (stack.getItem() == Items.water_bucket) { + if (stack.getItem() == Items.WATER_BUCKET) { thermalLoad.Tc *= 0.5; - entityPlayer.inventory.setInventorySlotContents(entityPlayer.inventory.currentItem, new ItemStack(Items.bucket)); + entityPlayer.inventory.setInventorySlotContents(entityPlayer.inventory.currentItem, new ItemStack(Items.BUCKET)); return true; } - if (stack.getItem() == Item.getItemFromBlock(Blocks.ice)) { + if (stack.getItem() == Item.getItemFromBlock(Blocks.ICE)) { thermalLoad.Tc *= 0.2; if (stack.stackSize != 0) stack.stackSize--; diff --git a/src/main/java/mods/eln/transparentnode/transformer/TransformerRender.java b/src/main/java/mods/eln/transparentnode/transformer/TransformerRender.java index c30f9435e..f93e07359 100644 --- a/src/main/java/mods/eln/transparentnode/transformer/TransformerRender.java +++ b/src/main/java/mods/eln/transparentnode/transformer/TransformerRender.java @@ -150,7 +150,7 @@ public void refresh(float deltaT) { load.step(deltaT); if (hasCasing) { - if (!Utils.isPlayerAround(tileEntity.getWorldObj(), coordinate.moved(front).getAxisAlignedBB(0))) + if (!Utils.isPlayerAround(tileEntity.getWorld(), coordinate.moved(front).getAxisAlignedBB(0))) doorOpen.setTarget(0f); else doorOpen.setTarget(1f); diff --git a/src/main/java/mods/eln/transparentnode/waterturbine/WaterTurbineRender.java b/src/main/java/mods/eln/transparentnode/waterturbine/WaterTurbineRender.java index 56acfee18..0edeb4013 100644 --- a/src/main/java/mods/eln/transparentnode/waterturbine/WaterTurbineRender.java +++ b/src/main/java/mods/eln/transparentnode/waterturbine/WaterTurbineRender.java @@ -98,11 +98,11 @@ public void networkUnserialize(DataInputStream stream) { e.printStackTrace(); } - waterCoord = this.descriptor.getWaterCoordinate(tileEntity.getWorldObj()); - waterCoord.setWorld(tileEntity.getWorldObj()); + waterCoord = this.descriptor.getWaterCoordinate(tileEntity.getWorld()); + waterCoord.setWorld(tileEntity.getWorld()); waterCoord.applyTransformation(front, coordinate()); waterCoordRight = new Coordinate(waterCoord); - waterCoordRight.setWorld(tileEntity.getWorldObj()); + waterCoordRight.setWorld(tileEntity.getWorld()); waterCoordRight.move(front.right()); } } diff --git a/src/main/java/mods/eln/transparentnode/windturbine/WindTurbineSlowProcess.java b/src/main/java/mods/eln/transparentnode/windturbine/WindTurbineSlowProcess.java index e3c734e77..0c86a3826 100644 --- a/src/main/java/mods/eln/transparentnode/windturbine/WindTurbineSlowProcess.java +++ b/src/main/java/mods/eln/transparentnode/windturbine/WindTurbineSlowProcess.java @@ -4,8 +4,8 @@ import mods.eln.misc.INBTTReady; import mods.eln.misc.Utils; import mods.eln.sim.IProcess; -import net.minecraft.init.Blocks; import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.math.BlockPos; import net.minecraft.world.World; class WindTurbineSlowProcess implements IProcess, INBTTReady { @@ -32,7 +32,7 @@ class WindTurbineSlowProcess implements IProcess, INBTTReady { } double getWind() { - return Math.abs(localWind + Utils.getWind(turbine.node.coordinate.dimension, turbine.node.coordinate.y + + return Math.abs(localWind + Utils.getWind(turbine.node.coordinate.getDimension(), turbine.node.coordinate.pos.getY() + turbine.descriptor.offY)) * environmentWindFactor; } @@ -47,16 +47,19 @@ public void process(double time) { if (environmentTimeCounter < 0.0) { environmentTimeCounter += environmentTimeCounterReset * (0.75 + Math.random() * 0.5); - int x1, x2, y1, y2, z1, z2; + int x1, x2, y1, y2, z1, z2, xc, yc, zc; Coordinate coord = new Coordinate(turbine.node.coordinate); - x1 = coord.x - d.rayX; - x2 = coord.x + d.rayX; - y1 = coord.y - d.rayY + d.offY; - y2 = coord.y + d.rayY + d.offY; - z1 = coord.z - d.rayZ; - z2 = coord.z + d.rayZ; + xc = coord.pos.getX(); + yc = coord.pos.getY(); + zc = coord.pos.getZ(); + x1 = xc - d.rayX; + x2 = xc + d.rayX; + y1 = yc - d.rayY + d.offY; + y2 = yc + d.rayY + d.offY; + z1 = zc - d.rayZ; + z2 = zc + d.rayZ; int blockBusyCount = -d.blockMalusSubCount; boolean notInCache = false; @@ -71,7 +74,7 @@ public void process(double time) { notInCache = true; break; } - if (world.getBlock(x, y, z) != Blocks.air) { + if (!world.isAirBlock(new BlockPos(x,y,z))) { blockBusyCount++; } } diff --git a/src/main/java/mods/eln/wiki/GuiItemStack.java b/src/main/java/mods/eln/wiki/GuiItemStack.java index 3ef49c0d8..de188cf8e 100644 --- a/src/main/java/mods/eln/wiki/GuiItemStack.java +++ b/src/main/java/mods/eln/wiki/GuiItemStack.java @@ -102,7 +102,7 @@ public void idraw2(int x, int y) { px = posX; py = posY; List list = stack.getTooltip(Minecraft.getMinecraft().thePlayer, false); - helper.drawHoveringText(list, x, y, Minecraft.getMinecraft().fontRenderer); + helper.drawHoveringText(list, x, y, Minecraft.getMinecraft().fontRendererObj); } } From 003d3e3bf3bc4e1a19d85b55da589999a0faf807 Mon Sep 17 00:00:00 2001 From: Jared Dunbar Date: Wed, 8 Aug 2018 13:32:11 -0400 Subject: [PATCH 26/61] fixed sound bug by setting limits on how far away looped sounds can be heard by the player to 16 blocks, and added a configuration option to set the limit. Now, with squared distance delta optimizations! --- src/main/java/mods/eln/Eln.java | 4 ++++ .../java/mods/eln/sound/LoopedSoundManager.kt | 21 ++++++++++++++++++- 2 files changed, 24 insertions(+), 1 deletion(-) diff --git a/src/main/java/mods/eln/Eln.java b/src/main/java/mods/eln/Eln.java index 6bd93d95c..167957781 100644 --- a/src/main/java/mods/eln/Eln.java +++ b/src/main/java/mods/eln/Eln.java @@ -311,6 +311,8 @@ public class Eln { public static boolean noSymbols = false; public static boolean noVoltageBackground = false; + public static double maxSoundDistance = 16; + @EventHandler public void preInit(FMLPreInitializationEvent event) { @@ -462,6 +464,8 @@ public void preInit(FMLPreInitializationEvent event) { Eln.noSymbols = config.get("general", "noSymbols", false).getBoolean(); Eln.noVoltageBackground = config.get("general", "noVoltageBackground", false).getBoolean(); + Eln.maxSoundDistance = config.get("debug", "maxSoundDistance", 16.0).getDouble(); + config.save(); diff --git a/src/main/java/mods/eln/sound/LoopedSoundManager.kt b/src/main/java/mods/eln/sound/LoopedSoundManager.kt index 3bc3f9511..cb3686b31 100644 --- a/src/main/java/mods/eln/sound/LoopedSoundManager.kt +++ b/src/main/java/mods/eln/sound/LoopedSoundManager.kt @@ -1,5 +1,6 @@ package mods.eln.sound +import mods.eln.Eln import net.minecraft.client.Minecraft class LoopedSoundManager(val updateInterval: Float = 0.5f) { @@ -14,18 +15,36 @@ class LoopedSoundManager(val updateInterval: Float = 0.5f) { fun dispose() = loops.forEach { it.active = false } + // takes in two points and gets the squared distance delta between them + inline fun sqDistDelta(cx: Double, cy: Double, cz: Double, px: Double, py: Double, pz: Double) = (cx - px) * (cx - px) + (cy - py) * (cy - py) + (cz - pz) * (cz - pz) + fun process(deltaT: Float) { remaining -= deltaT if (remaining <= 0) { val soundHandler = Minecraft.getMinecraft().soundHandler loops.forEach { - if (it.volume > 0 && it.pitch > 0 && !soundHandler.isSoundPlaying(it)) { + // add 0.5 to put the point in the center of the block making sounds + val cx = it.coord.x + 0.5 + val cy = it.coord.y + 0.5 + val cz = it.coord.z + 0.5 + // get the player, and get the squared distance between the player and the block + val player = Minecraft.getMinecraft().thePlayer + val distDeltaSquared = sqDistDelta(cx, cy, cz, player.posX, player.posY, player.posZ) + // when comparing, compare distDeltaSquared to the square of the distance delta that you are trying to compare against. + if (it.volume > 0 && it.pitch > 0 && !soundHandler.isSoundPlaying(it) && distDeltaSquared < Eln.maxSoundDistance * Eln.maxSoundDistance) { try { soundHandler.playSound(it) } catch (e: IllegalArgumentException) { System.out.println(e) } } + if (distDeltaSquared >= Eln.maxSoundDistance * Eln.maxSoundDistance || it.volume == 0f || it.pitch == 0f) { + try { + soundHandler.stopSound(it) + }catch (e: Exception) { + System.out.println(e) + } + } } remaining = updateInterval From 66e21f2efe5060c5589b9eeb58ceefcf5472de29 Mon Sep 17 00:00:00 2001 From: Jared Dunbar Date: Sun, 12 Aug 2018 18:18:25 -0400 Subject: [PATCH 27/61] fixed #813 --- src/main/java/mods/eln/misc/Utils.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/main/java/mods/eln/misc/Utils.java b/src/main/java/mods/eln/misc/Utils.java index 90c52e936..86f6d808e 100644 --- a/src/main/java/mods/eln/misc/Utils.java +++ b/src/main/java/mods/eln/misc/Utils.java @@ -229,8 +229,10 @@ public static void ByteTobooleanSideMask(byte b, boolean[] side) { public static String plotValue(double value) { double valueAbs = Math.abs(value); - if (valueAbs < 0.001) { + if (valueAbs < 0.0001) { return "0"; + } else if (valueAbs < 0.000999) { + return String.format("%1.2fµ",value * 10000); } else if (valueAbs < 0.00999) { return String.format("%1.2fm", value * 1000); } else if (valueAbs < 0.0999) { From 89133418471b24c972552595f0b32fbb4df7f041 Mon Sep 17 00:00:00 2001 From: lolmegaxd1 Date: Mon, 4 Feb 2019 21:44:48 +0000 Subject: [PATCH 28/61] Small things --- src/main/java/mods/eln/ghost/GhostGroup.java | 2 +- .../java/mods/eln/ghost/GhostManager.java | 3 ++- src/main/java/mods/eln/node/NodeManager.java | 22 ++++++++++++++----- 3 files changed, 20 insertions(+), 7 deletions(-) diff --git a/src/main/java/mods/eln/ghost/GhostGroup.java b/src/main/java/mods/eln/ghost/GhostGroup.java index 6597c5919..350cf2347 100644 --- a/src/main/java/mods/eln/ghost/GhostGroup.java +++ b/src/main/java/mods/eln/ghost/GhostGroup.java @@ -69,7 +69,7 @@ public boolean canBePloted(Coordinate c) { public boolean canBePloted(World world, int x, int y, int z) { for (GhostGroupElement element : elementList) { - if (!Eln.ghostManager.canCreateGhostAt(world, new BlockPos( + element.x, y + element.y, z + element.z))) + if (!Eln.ghostManager.canCreateGhostAt(world, new BlockPos( x + element.x, y + element.y, z + element.z))) return false; } return true; diff --git a/src/main/java/mods/eln/ghost/GhostManager.java b/src/main/java/mods/eln/ghost/GhostManager.java index ed8918fe7..0b74d5802 100644 --- a/src/main/java/mods/eln/ghost/GhostManager.java +++ b/src/main/java/mods/eln/ghost/GhostManager.java @@ -130,7 +130,7 @@ public void readFromNBT(NBTTagCompound nbt) { @Override public NBTTagCompound writeToNBT(NBTTagCompound nbt) { /* int nodeCounter = 0; - + for(GhostElement ghost : ghostTable.values()) { NBTTagCompound nbtGhost = new NBTTagCompound(); ghost.writeToNBT(nbtGhost, ""); @@ -170,6 +170,7 @@ public void unload(int dimensionId) { } } + //TODO(1.10): public boolean canCreateGhostAt(World world, BlockPos pos) { //Probably isn't needed anymore since now when asked for a chunk even if it isnt generated it auto generates it /* diff --git a/src/main/java/mods/eln/node/NodeManager.java b/src/main/java/mods/eln/node/NodeManager.java index 01bf11966..72ccfb8f0 100644 --- a/src/main/java/mods/eln/node/NodeManager.java +++ b/src/main/java/mods/eln/node/NodeManager.java @@ -83,15 +83,27 @@ public boolean isDirty() { public void readFromNBT(NBTTagCompound nbt) { int i = 0; i++; - for(Object o : Utils.getTags(nbt)) { NBTTagCompound tag = (NBTTagCompound) o; Class nodeClass = UUIDToClass.get(tag.getString("tag")); try { NodeBase node = (NodeBase) nodeClass.getConstructor().newInstance(); node.readFromNBT(tag); addNode(node); node.initializeFromNBT(); + for(Object o : Utils.getTags(nbt)) { + NBTTagCompound tag = (NBTTagCompound) o; + Class nodeClass = UUIDToClass.get(tag.getString("tag")); + try { + NodeBase node = (NodeBase) nodeClass.getConstructor().newInstance(); + node.readFromNBT(tag); + addNode(node); + node.initializeFromNBT(); + + } catch (Exception e) { e.printStackTrace(); } - } catch (Exception e) { e.printStackTrace(); } + } - } + for(NodeBase node : nodes){ node.globalBoot(); } + } - for(NodeBase node : nodes){ node.globalBoot(); } + @Override + public NBTTagCompound writeToNBT(NBTTagCompound compound) { + return compound; } - + /* @Override public NBTTagCompound writeToNBT(NBTTagCompound nbt) { From 5f3ad58594460bf02a335f83ca2cb89c52989a6e Mon Sep 17 00:00:00 2001 From: Svein Ove Aas Date: Tue, 5 Feb 2019 01:23:45 +0000 Subject: [PATCH 29/61] Remove the cofh API, er, again. --- src/main/java/cofh/api/CoFHAPIProps.java | 11 -- .../java/cofh/api/energy/EnergyStorage.java | 157 ------------------ .../cofh/api/energy/IEnergyConnection.java | 20 --- .../cofh/api/energy/IEnergyContainerItem.java | 45 ----- .../java/cofh/api/energy/IEnergyHandler.java | 51 ------ .../java/cofh/api/energy/IEnergyProvider.java | 34 ---- .../java/cofh/api/energy/IEnergyReceiver.java | 34 ---- .../java/cofh/api/energy/IEnergyStorage.java | 41 ----- .../cofh/api/energy/ItemEnergyContainer.java | 109 ------------ .../cofh/api/energy/TileEnergyHandler.java | 64 ------- .../java/cofh/api/energy/package-info.java | 10 -- src/main/java/cofh/api/package-info.java | 9 - 12 files changed, 585 deletions(-) delete mode 100644 src/main/java/cofh/api/CoFHAPIProps.java delete mode 100644 src/main/java/cofh/api/energy/EnergyStorage.java delete mode 100644 src/main/java/cofh/api/energy/IEnergyConnection.java delete mode 100644 src/main/java/cofh/api/energy/IEnergyContainerItem.java delete mode 100644 src/main/java/cofh/api/energy/IEnergyHandler.java delete mode 100644 src/main/java/cofh/api/energy/IEnergyProvider.java delete mode 100644 src/main/java/cofh/api/energy/IEnergyReceiver.java delete mode 100644 src/main/java/cofh/api/energy/IEnergyStorage.java delete mode 100644 src/main/java/cofh/api/energy/ItemEnergyContainer.java delete mode 100644 src/main/java/cofh/api/energy/TileEnergyHandler.java delete mode 100644 src/main/java/cofh/api/energy/package-info.java delete mode 100644 src/main/java/cofh/api/package-info.java diff --git a/src/main/java/cofh/api/CoFHAPIProps.java b/src/main/java/cofh/api/CoFHAPIProps.java deleted file mode 100644 index c32bfded3..000000000 --- a/src/main/java/cofh/api/CoFHAPIProps.java +++ /dev/null @@ -1,11 +0,0 @@ -package cofh.api; - -public class CoFHAPIProps { - - private CoFHAPIProps() { - - } - - public static final String VERSION = "1.7.10R1.0.2"; - -} diff --git a/src/main/java/cofh/api/energy/EnergyStorage.java b/src/main/java/cofh/api/energy/EnergyStorage.java deleted file mode 100644 index c510e15d6..000000000 --- a/src/main/java/cofh/api/energy/EnergyStorage.java +++ /dev/null @@ -1,157 +0,0 @@ -package cofh.api.energy; - -import net.minecraft.nbt.NBTTagCompound; - -/** - * Reference implementation of {@link IEnergyStorage}. Use/extend this or implement your own. - * - * @author King Lemming - */ -public class EnergyStorage implements IEnergyStorage { - - protected int energy; - protected int capacity; - protected int maxReceive; - protected int maxExtract; - - public EnergyStorage(int capacity) { - - this(capacity, capacity, capacity); - } - - public EnergyStorage(int capacity, int maxTransfer) { - - this(capacity, maxTransfer, maxTransfer); - } - - public EnergyStorage(int capacity, int maxReceive, int maxExtract) { - - this.capacity = capacity; - this.maxReceive = maxReceive; - this.maxExtract = maxExtract; - } - - public EnergyStorage readFromNBT(NBTTagCompound nbt) { - - this.energy = nbt.getInteger("Energy"); - - if (energy > capacity) { - energy = capacity; - } - return this; - } - - public NBTTagCompound writeToNBT(NBTTagCompound nbt) { - - if (energy < 0) { - energy = 0; - } - nbt.setInteger("Energy", energy); - return nbt; - } - - public void setCapacity(int capacity) { - - this.capacity = capacity; - - if (energy > capacity) { - energy = capacity; - } - } - - public void setMaxTransfer(int maxTransfer) { - - setMaxReceive(maxTransfer); - setMaxExtract(maxTransfer); - } - - public void setMaxReceive(int maxReceive) { - - this.maxReceive = maxReceive; - } - - public void setMaxExtract(int maxExtract) { - - this.maxExtract = maxExtract; - } - - public int getMaxReceive() { - - return maxReceive; - } - - public int getMaxExtract() { - - return maxExtract; - } - - /** - * This function is included to allow for server -> client sync. Do not call this externally to the containing Tile Entity, as not all IEnergyHandlers - * are guaranteed to have it. - * - * @param energy - */ - public void setEnergyStored(int energy) { - - this.energy = energy; - - if (this.energy > capacity) { - this.energy = capacity; - } else if (this.energy < 0) { - this.energy = 0; - } - } - - /** - * This function is included to allow the containing tile to directly and efficiently modify the energy contained in the EnergyStorage. Do not rely on this - * externally, as not all IEnergyHandlers are guaranteed to have it. - * - * @param energy - */ - public void modifyEnergyStored(int energy) { - - this.energy += energy; - - if (this.energy > capacity) { - this.energy = capacity; - } else if (this.energy < 0) { - this.energy = 0; - } - } - - /* IEnergyStorage */ - @Override - public int receiveEnergy(int maxReceive, boolean simulate) { - - int energyReceived = Math.min(capacity - energy, Math.min(this.maxReceive, maxReceive)); - - if (!simulate) { - energy += energyReceived; - } - return energyReceived; - } - - @Override - public int extractEnergy(int maxExtract, boolean simulate) { - - int energyExtracted = Math.min(energy, Math.min(this.maxExtract, maxExtract)); - - if (!simulate) { - energy -= energyExtracted; - } - return energyExtracted; - } - - @Override - public int getEnergyStored() { - - return energy; - } - - @Override - public int getMaxEnergyStored() { - - return capacity; - } - -} diff --git a/src/main/java/cofh/api/energy/IEnergyConnection.java b/src/main/java/cofh/api/energy/IEnergyConnection.java deleted file mode 100644 index 01097ac79..000000000 --- a/src/main/java/cofh/api/energy/IEnergyConnection.java +++ /dev/null @@ -1,20 +0,0 @@ -package cofh.api.energy; - -import net.minecraft.util.EnumFacing; - -/** - * Implement this interface on TileEntities which should connect to energy transportation blocks. This is intended for blocks which generate energy but do not - * accept it; otherwise just use IEnergyHandler. - *

- * Note that {@link IEnergyHandler} is an extension of this. - * - * @author King Lemming - */ -public interface IEnergyConnection { - - /** - * Returns TRUE if the TileEntity can connect on a given side. - */ - boolean canConnectEnergy(EnumFacing from); - -} diff --git a/src/main/java/cofh/api/energy/IEnergyContainerItem.java b/src/main/java/cofh/api/energy/IEnergyContainerItem.java deleted file mode 100644 index f5d2ebfd9..000000000 --- a/src/main/java/cofh/api/energy/IEnergyContainerItem.java +++ /dev/null @@ -1,45 +0,0 @@ -package cofh.api.energy; - -import net.minecraft.item.ItemStack; - -/** - * Implement this interface on Item classes that support external manipulation of their internal energy storages. - *

- * A reference implementation is provided {@link ItemEnergyContainer}. - * - * @author King Lemming - */ -public interface IEnergyContainerItem { - - /** - * Adds energy to a container item. Returns the quantity of energy that was accepted. This should always return 0 if the item cannot be externally charged. - * - * @param container ItemStack to be charged. - * @param maxReceive Maximum amount of energy to be sent into the item. - * @param simulate If TRUE, the charge will only be simulated. - * @return Amount of energy that was (or would have been, if simulated) received by the item. - */ - int receiveEnergy(ItemStack container, int maxReceive, boolean simulate); - - /** - * Removes energy from a container item. Returns the quantity of energy that was removed. This should always return 0 if the item cannot be externally - * discharged. - * - * @param container ItemStack to be discharged. - * @param maxExtract Maximum amount of energy to be extracted from the item. - * @param simulate If TRUE, the discharge will only be simulated. - * @return Amount of energy that was (or would have been, if simulated) extracted from the item. - */ - int extractEnergy(ItemStack container, int maxExtract, boolean simulate); - - /** - * Get the amount of energy currently stored in the container item. - */ - int getEnergyStored(ItemStack container); - - /** - * Get the max amount of energy that can be stored in the container item. - */ - int getMaxEnergyStored(ItemStack container); - -} diff --git a/src/main/java/cofh/api/energy/IEnergyHandler.java b/src/main/java/cofh/api/energy/IEnergyHandler.java deleted file mode 100644 index 5ece1347a..000000000 --- a/src/main/java/cofh/api/energy/IEnergyHandler.java +++ /dev/null @@ -1,51 +0,0 @@ -package cofh.api.energy; - -import net.minecraft.util.EnumFacing; - -/** - * Implement this interface on Tile Entities which should handle energy, generally storing it in one or more internal {@link IEnergyStorage} objects. - *

- * A reference implementation is provided {@link TileEnergyHandler}. - * - * @author King Lemming - */ -public interface IEnergyHandler extends IEnergyProvider, IEnergyReceiver { - - // merely a convenience interface (remove these methods in 1.8; provided here for back-compat via compiler doing things) - - /** - * Add energy to an IEnergyReceiver, internal distribution is left entirely to the IEnergyReceiver. - * - * @param from Orientation the energy is received from. - * @param maxReceive Maximum amount of energy to receive. - * @param simulate If TRUE, the charge will only be simulated. - * @return Amount of energy that was (or would have been, if simulated) received. - */ - @Override - int receiveEnergy(EnumFacing from, int maxReceive, boolean simulate); - - /** - * Remove energy from an IEnergyProvider, internal distribution is left entirely to the IEnergyProvider. - * - * @param from Orientation the energy is extracted from. - * @param maxExtract Maximum amount of energy to extract. - * @param simulate If TRUE, the extraction will only be simulated. - * @return Amount of energy that was (or would have been, if simulated) extracted. - */ - @Override - int extractEnergy(EnumFacing from, int maxExtract, boolean simulate); - - - /** - * Returns the amount of energy currently stored. - */ - @Override - int getEnergyStored(EnumFacing from); - - /** - * Returns the maximum amount of energy that can be stored. - */ - @Override - int getMaxEnergyStored(EnumFacing from); - -} diff --git a/src/main/java/cofh/api/energy/IEnergyProvider.java b/src/main/java/cofh/api/energy/IEnergyProvider.java deleted file mode 100644 index aba670519..000000000 --- a/src/main/java/cofh/api/energy/IEnergyProvider.java +++ /dev/null @@ -1,34 +0,0 @@ -package cofh.api.energy; - -import net.minecraft.util.EnumFacing; - -/** - * Implement this interface on Tile Entities which should provide energy, generally storing it in one or more internal {@link IEnergyStorage} objects. - *

- * A reference implementation is provided {@link TileEnergyHandler}. - * - * @author King Lemming - */ -public interface IEnergyProvider extends IEnergyConnection { - - /** - * Remove energy from an IEnergyProvider, internal distribution is left entirely to the IEnergyProvider. - * - * @param from Orientation the energy is extracted from. - * @param maxExtract Maximum amount of energy to extract. - * @param simulate If TRUE, the extraction will only be simulated. - * @return Amount of energy that was (or would have been, if simulated) extracted. - */ - int extractEnergy(EnumFacing from, int maxExtract, boolean simulate); - - /** - * Returns the amount of energy currently stored. - */ - int getEnergyStored(EnumFacing from); - - /** - * Returns the maximum amount of energy that can be stored. - */ - int getMaxEnergyStored(EnumFacing from); - -} diff --git a/src/main/java/cofh/api/energy/IEnergyReceiver.java b/src/main/java/cofh/api/energy/IEnergyReceiver.java deleted file mode 100644 index 241344949..000000000 --- a/src/main/java/cofh/api/energy/IEnergyReceiver.java +++ /dev/null @@ -1,34 +0,0 @@ -package cofh.api.energy; - -import net.minecraft.util.EnumFacing; - -/** - * Implement this interface on Tile Entities which should receive energy, generally storing it in one or more internal {@link IEnergyStorage} objects. - *

- * A reference implementation is provided {@link TileEnergyHandler}. - * - * @author King Lemming - */ -public interface IEnergyReceiver extends IEnergyConnection { - - /** - * Add energy to an IEnergyReceiver, internal distribution is left entirely to the IEnergyReceiver. - * - * @param from Orientation the energy is received from. - * @param maxReceive Maximum amount of energy to receive. - * @param simulate If TRUE, the charge will only be simulated. - * @return Amount of energy that was (or would have been, if simulated) received. - */ - int receiveEnergy(EnumFacing from, int maxReceive, boolean simulate); - - /** - * Returns the amount of energy currently stored. - */ - int getEnergyStored(EnumFacing from); - - /** - * Returns the maximum amount of energy that can be stored. - */ - int getMaxEnergyStored(EnumFacing from); - -} diff --git a/src/main/java/cofh/api/energy/IEnergyStorage.java b/src/main/java/cofh/api/energy/IEnergyStorage.java deleted file mode 100644 index b69f1df79..000000000 --- a/src/main/java/cofh/api/energy/IEnergyStorage.java +++ /dev/null @@ -1,41 +0,0 @@ -package cofh.api.energy; - -/** - * An energy storage is the unit of interaction with Energy inventories.
- * This is not to be implemented on TileEntities. This is for internal use only. - *

- * A reference implementation can be found at {@link EnergyStorage}. - * - * @author King Lemming - */ -public interface IEnergyStorage { - - /** - * Adds energy to the storage. Returns quantity of energy that was accepted. - * - * @param maxReceive Maximum amount of energy to be inserted. - * @param simulate If TRUE, the insertion will only be simulated. - * @return Amount of energy that was (or would have been, if simulated) accepted by the storage. - */ - int receiveEnergy(int maxReceive, boolean simulate); - - /** - * Removes energy from the storage. Returns quantity of energy that was removed. - * - * @param maxExtract Maximum amount of energy to be extracted. - * @param simulate If TRUE, the extraction will only be simulated. - * @return Amount of energy that was (or would have been, if simulated) extracted from the storage. - */ - int extractEnergy(int maxExtract, boolean simulate); - - /** - * Returns the amount of energy currently stored. - */ - int getEnergyStored(); - - /** - * Returns the maximum amount of energy that can be stored. - */ - int getMaxEnergyStored(); - -} diff --git a/src/main/java/cofh/api/energy/ItemEnergyContainer.java b/src/main/java/cofh/api/energy/ItemEnergyContainer.java deleted file mode 100644 index 51db96d26..000000000 --- a/src/main/java/cofh/api/energy/ItemEnergyContainer.java +++ /dev/null @@ -1,109 +0,0 @@ -package cofh.api.energy; - -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; - -/** - * Reference implementation of {@link IEnergyContainerItem}. Use/extend this or implement your own. - * - * @author King Lemming - */ -public class ItemEnergyContainer extends Item implements IEnergyContainerItem { - - protected int capacity; - protected int maxReceive; - protected int maxExtract; - - public ItemEnergyContainer() { - - } - - public ItemEnergyContainer(int capacity) { - - this(capacity, capacity, capacity); - } - - public ItemEnergyContainer(int capacity, int maxTransfer) { - - this(capacity, maxTransfer, maxTransfer); - } - - public ItemEnergyContainer(int capacity, int maxReceive, int maxExtract) { - - this.capacity = capacity; - this.maxReceive = maxReceive; - this.maxExtract = maxExtract; - } - - public ItemEnergyContainer setCapacity(int capacity) { - - this.capacity = capacity; - return this; - } - - public void setMaxTransfer(int maxTransfer) { - - setMaxReceive(maxTransfer); - setMaxExtract(maxTransfer); - } - - public void setMaxReceive(int maxReceive) { - - this.maxReceive = maxReceive; - } - - public void setMaxExtract(int maxExtract) { - - this.maxExtract = maxExtract; - } - - /* IEnergyContainerItem */ - @Override - public int receiveEnergy(ItemStack container, int maxReceive, boolean simulate) { - - if (container.stackTagCompound == null) { - container.stackTagCompound = new NBTTagCompound(); - } - int energy = container.stackTagCompound.getInteger("Energy"); - int energyReceived = Math.min(capacity - energy, Math.min(this.maxReceive, maxReceive)); - - if (!simulate) { - energy += energyReceived; - container.stackTagCompound.setInteger("Energy", energy); - } - return energyReceived; - } - - @Override - public int extractEnergy(ItemStack container, int maxExtract, boolean simulate) { - - if (container.stackTagCompound == null || !container.stackTagCompound.hasKey("Energy")) { - return 0; - } - int energy = container.stackTagCompound.getInteger("Energy"); - int energyExtracted = Math.min(energy, Math.min(this.maxExtract, maxExtract)); - - if (!simulate) { - energy -= energyExtracted; - container.stackTagCompound.setInteger("Energy", energy); - } - return energyExtracted; - } - - @Override - public int getEnergyStored(ItemStack container) { - - if (container.stackTagCompound == null || !container.stackTagCompound.hasKey("Energy")) { - return 0; - } - return container.stackTagCompound.getInteger("Energy"); - } - - @Override - public int getMaxEnergyStored(ItemStack container) { - - return capacity; - } - -} diff --git a/src/main/java/cofh/api/energy/TileEnergyHandler.java b/src/main/java/cofh/api/energy/TileEnergyHandler.java deleted file mode 100644 index 02f792718..000000000 --- a/src/main/java/cofh/api/energy/TileEnergyHandler.java +++ /dev/null @@ -1,64 +0,0 @@ -package cofh.api.energy; - -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.EnumFacing; - -/** - * Reference implementation of {@link IEnergyHandler}. Use/extend this or implement your own. - * - * @author King Lemming - */ -public class TileEnergyHandler extends TileEntity implements IEnergyHandler { - - protected EnergyStorage storage = new EnergyStorage(32000); - - @Override - public void readFromNBT(NBTTagCompound nbt) { - - super.readFromNBT(nbt); - storage.readFromNBT(nbt); - } - - @Override - public NBTTagCompound writeToNBT(NBTTagCompound nbt) { - - super.writeToNBT(nbt); - return storage.writeToNBT(nbt); - } - - /* IEnergyConnection */ - @Override - public boolean canConnectEnergy(EnumFacing from) { - - return true; - } - - /* IEnergyReceiver */ - @Override - public int receiveEnergy(EnumFacing from, int maxReceive, boolean simulate) { - - return storage.receiveEnergy(maxReceive, simulate); - } - - /* IEnergyProvider */ - @Override - public int extractEnergy(EnumFacing from, int maxExtract, boolean simulate) { - - return storage.extractEnergy(maxExtract, simulate); - } - - /* IEnergyReceiver and IEnergyProvider */ - @Override - public int getEnergyStored(EnumFacing from) { - - return storage.getEnergyStored(); - } - - @Override - public int getMaxEnergyStored(EnumFacing from) { - - return storage.getMaxEnergyStored(); - } - -} diff --git a/src/main/java/cofh/api/energy/package-info.java b/src/main/java/cofh/api/energy/package-info.java deleted file mode 100644 index 880844fca..000000000 --- a/src/main/java/cofh/api/energy/package-info.java +++ /dev/null @@ -1,10 +0,0 @@ -/** - * (C) 2014 Team CoFH / CoFH / Cult of the Full Hub - * http://www.teamcofh.com - */ -@API(apiVersion = CoFHAPIProps.VERSION, owner = "CoFHAPI", provides = "CoFHAPI|energy") -package cofh.api.energy; - -import cofh.api.CoFHAPIProps; -import net.minecraftforge.fml.common.API; - diff --git a/src/main/java/cofh/api/package-info.java b/src/main/java/cofh/api/package-info.java deleted file mode 100644 index 1aec468f0..000000000 --- a/src/main/java/cofh/api/package-info.java +++ /dev/null @@ -1,9 +0,0 @@ -/** - * (C) 2014 Team CoFH / CoFH / Cult of the Full Hub - * http://www.teamcofh.com - */ -@API(apiVersion = CoFHAPIProps.VERSION, owner = "CoFHLib", provides = "CoFHAPI") -package cofh.api; - -import net.minecraftforge.fml.common.API; - From c74907150451277ddde9c3509704488464568eba Mon Sep 17 00:00:00 2001 From: Svein Ove Aas Date: Wed, 6 Feb 2019 01:00:20 +0000 Subject: [PATCH 30/61] Fix compile errors in all the .kt files --- .../eln/item/electricalitem/BatteryItem.kt | 31 +- .../item/electricalitem/ElectricalArmor.kt | 12 +- .../eln/item/electricalitem/ElectricalAxe.kt | 75 ++-- .../item/electricalitem/ElectricalLampItem.kt | 42 +- .../item/electricalitem/ElectricalPickaxe.kt | 21 +- .../eln/item/electricalitem/ElectricalTool.kt | 55 +-- .../mods/eln/item/electricalitem/LampItem.kt | 24 +- .../electricalitem/PortableOreScannerItem.kt | 387 +++++++++--------- src/main/java/mods/eln/misc/GhostPowerNode.kt | 2 - .../java/mods/eln/sound/LoopedSoundManager.kt | 7 +- 10 files changed, 334 insertions(+), 322 deletions(-) diff --git a/src/main/java/mods/eln/item/electricalitem/BatteryItem.kt b/src/main/java/mods/eln/item/electricalitem/BatteryItem.kt index d3883cfbe..00e8c3b14 100644 --- a/src/main/java/mods/eln/item/electricalitem/BatteryItem.kt +++ b/src/main/java/mods/eln/item/electricalitem/BatteryItem.kt @@ -9,8 +9,6 @@ import net.minecraft.entity.player.EntityPlayer import net.minecraft.item.Item import net.minecraft.item.ItemStack import net.minecraft.nbt.NBTTagCompound -import net.minecraftforge.client.IItemRenderer.ItemRenderType -import net.minecraftforge.client.IItemRenderer.ItemRendererHelper import mods.eln.i18n.I18N.tr @@ -61,20 +59,21 @@ class BatteryItem(name: String, private var energyStorage: Double, internal var return priority } - override fun shouldUseRenderHelper(type: ItemRenderType, item: ItemStack, helper: ItemRendererHelper): Boolean { - return type != ItemRenderType.INVENTORY - } - - override fun handleRenderType(item: ItemStack, type: ItemRenderType): Boolean { - return true - } - - override fun renderItem(type: ItemRenderType, item: ItemStack, vararg data: Any) { - super.renderItem(type, item, *data) - if (type == ItemRenderType.INVENTORY) { - UtilsClient.drawEnergyBare(type, (getEnergy(item) / getEnergyMax(item)).toFloat()) - } - } + // TODO(1.10): Fix rendering +// override fun shouldUseRenderHelper(type: ItemRenderType, item: ItemStack, helper: ItemRendererHelper): Boolean { +// return type != ItemRenderType.INVENTORY +// } +// +// override fun handleRenderType(item: ItemStack, type: ItemRenderType): Boolean { +// return true +// } +// +// override fun renderItem(type: ItemRenderType, item: ItemStack, vararg data: Any) { +// super.renderItem(type, item, *data) +// if (type == ItemRenderType.INVENTORY) { +// UtilsClient.drawEnergyBare(type, (getEnergy(item) / getEnergyMax(item)).toFloat()) +// } +// } override fun electricalItemUpdate(stack: ItemStack, time: Double) {} } diff --git a/src/main/java/mods/eln/item/electricalitem/ElectricalArmor.kt b/src/main/java/mods/eln/item/electricalitem/ElectricalArmor.kt index cc667c6a9..0d2567202 100644 --- a/src/main/java/mods/eln/item/electricalitem/ElectricalArmor.kt +++ b/src/main/java/mods/eln/item/electricalitem/ElectricalArmor.kt @@ -65,14 +65,14 @@ class ElectricalArmor(par2EnumArmorMaterial: ItemArmor.ArmorMaterial, if (nbt == null) { stack.tagCompound = defaultNBT } - return stack.tagCompound + return stack.tagCompound!! } - override fun addInformation(itemStack: ItemStack, entityPlayer: EntityPlayer?, list: MutableList, par4: Boolean) { - super.addInformation(itemStack, entityPlayer, list, par4) - list.add(tr("Charge power: %1\$W", chargePower.toInt())) - list.add(tr("Stored energy: %1\$J (%2$%)", getEnergy(itemStack), - (getEnergy(itemStack) / energyStorage * 100).toInt())) + override fun addInformation(stack: ItemStack, playerIn: EntityPlayer, tooltip: MutableList, advanced: Boolean) { + super.addInformation(stack, playerIn, tooltip, advanced) + tooltip.add(tr("Charge power: %1\$W", chargePower.toInt())) + tooltip.add(tr("Stored energy: %1\$J (%2$%)", getEnergy(stack), + (getEnergy(stack) / energyStorage * 100).toInt())) } override fun getEnergy(stack: ItemStack): Double { diff --git a/src/main/java/mods/eln/item/electricalitem/ElectricalAxe.kt b/src/main/java/mods/eln/item/electricalitem/ElectricalAxe.kt index 887b12592..246ecd6e2 100644 --- a/src/main/java/mods/eln/item/electricalitem/ElectricalAxe.kt +++ b/src/main/java/mods/eln/item/electricalitem/ElectricalAxe.kt @@ -5,12 +5,17 @@ import mods.eln.sim.IProcess import mods.eln.wiki.Data import net.minecraft.block.Block import net.minecraft.block.material.Material +import net.minecraft.block.state.IBlockState import net.minecraft.entity.EntityLivingBase import net.minecraft.entity.player.EntityPlayer import net.minecraft.item.Item import net.minecraft.item.ItemStack -import net.minecraft.util.ChunkCoordinates +import net.minecraft.util.ActionResult +import net.minecraft.util.EnumActionResult +import net.minecraft.util.math.BlockPos +import net.minecraft.util.math.ChunkPos import net.minecraft.world.World +import net.minecraftforge.common.util.ChunkCoordComparator import java.util.* import kotlin.collections.HashMap @@ -24,18 +29,19 @@ class ElectricalAxe(name: String, strengthOn: Float, strengthOff: Float, Data.addPortable(newItemStack()) } - override fun getStrVsBlock(stack: ItemStack, block: Block?): Float { + override fun getStrVsBlock(stack: ItemStack, state: IBlockState?): Float { return when { - block != null && (block.material === Material.wood || block.material === Material.plants || block.material === Material.vine) -> getStrength(stack) - else -> super.getStrVsBlock(stack, block) + state != null && (state.material === Material.WOOD || state.material === Material.PLANTS || state.material === Material.VINE) -> getStrength(stack) + else -> super.getStrVsBlock(stack, state) } } - override fun onItemRightClick(s: ItemStack, w: World, p: EntityPlayer?): ItemStack { + + override fun onItemRightClick(s: ItemStack, w: World, p: EntityPlayer?): ActionResult { if (!w.isRemote) { setCapitation(p, s, !getCapitation(s)) } - return s + return ActionResult(EnumActionResult.PASS, s) } private fun getCapitation(stack: ItemStack): Boolean { @@ -49,7 +55,7 @@ class ElectricalAxe(name: String, strengthOn: Float, strengthOff: Float, } } - override fun onBlockDestroyed(stack: ItemStack, w: World, block: Block, x: Int, y: Int, z: Int, entity: EntityLivingBase): Boolean { + override fun onBlockDestroyed(stack: ItemStack, w: World, state: IBlockState, pos: BlockPos, entity: EntityLivingBase?): Boolean { return if (entity is EntityPlayer && getCapitation(stack)) { TreeCapitation.addBlockSwapper( world = w, @@ -57,11 +63,11 @@ class ElectricalAxe(name: String, strengthOn: Float, strengthOff: Float, tool = this, stack = stack, leaves = true, - origCoords = ChunkCoordinates(x, y, z) + origCoords = pos ) true } else { - super.onBlockDestroyed(stack, w, block, x, y, z, entity) + super.onBlockDestroyed(stack, w, state, pos, entity) } } } @@ -129,14 +135,14 @@ object TreeCapitation : IProcess { * documentation). * @return The created block swapper. */ - fun addBlockSwapper(world: World, player: EntityPlayer, tool: ElectricalTool, origCoords: ChunkCoordinates, leaves: Boolean, stack: ItemStack) { + fun addBlockSwapper(world: World, player: EntityPlayer, tool: ElectricalTool, origCoords: BlockPos, leaves: Boolean, stack: ItemStack) { val swapper = BlockSwapper(world, player, tool, origCoords, BLOCK_RANGE, leaves, stack) // Block swapper registration should only occur on the server if (world.isRemote) return - val dim = world.provider.dimensionId + val dim = world.provider.dimension blockSwappers[dim] = blockSwappers[dim]?.plus(swapper) ?: listOf(swapper) } @@ -182,7 +188,7 @@ object TreeCapitation : IProcess { /** * The origin of the swapper (eg, where it started). */ - private val origin: ChunkCoordinates, + private val origin: BlockPos, /** * The initial range which this block swapper starts with. */ @@ -206,7 +212,7 @@ object TreeCapitation : IProcess { * The set of already swaps coordinates which do not have * to be revisited. */ - private val completedCoords: MutableSet + private val completedCoords: MutableSet init { @@ -250,9 +256,7 @@ object TreeCapitation : IProcess { tool = tool, stack = stack, world = world, - x = candidate.coordinates.posX, - y = candidate.coordinates.posY, - z = candidate.coordinates.posZ + pos = candidate.coordinates ) remainingSwaps-- @@ -262,10 +266,10 @@ object TreeCapitation : IProcess { // Then, go through all of the adjacent blocks and look if // any of them are any good. for (adj in adjacent(candidate.coordinates)) { - val block = world.getBlock(adj.posX, adj.posY, adj.posZ) + val state = world.getBlockState(adj) - val isWood = block.isWood(world, adj.posX, adj.posY, adj.posZ) - val isLeaf = block.isLeaves(world, adj.posX, adj.posY, adj.posZ) + val isWood = state.block.isWood(world, adj) + val isLeaf = state.block.isLeaves(state, world, adj) // If it's not wood or a leaf, we aren't interested. if (!isWood && !isLeaf) @@ -287,8 +291,8 @@ object TreeCapitation : IProcess { return true } - fun adjacent(original: ChunkCoordinates): List { - val coords = ArrayList() + fun adjacent(original: BlockPos): List { + val coords = ArrayList() // Visit all the surrounding blocks in the provided radius. // Gotta love these nested loops, right? for (dx in -SINGLE_BLOCK_RADIUS..SINGLE_BLOCK_RADIUS) @@ -298,7 +302,7 @@ object TreeCapitation : IProcess { if (dx == 0 && dy == 0 && dz == 0) continue - coords.add(ChunkCoordinates(original.posX + dx, original.posY + dy, original.posZ + dz)) + coords.add(BlockPos(original.x + dx, original.y + dy, original.z + dz)) } return coords @@ -322,7 +326,7 @@ object TreeCapitation : IProcess { /** * The location of this swap candidate. */ - var coordinates: ChunkCoordinates, + var coordinates: BlockPos, /** * The remaining range of this swap candidate. */ @@ -352,30 +356,29 @@ object TreeCapitation : IProcess { /** * The bits below, however, are from ToolCommons.java. Mostly. Maybe about half, by now. */ - fun removeBlockWithDrops(player: EntityPlayer, tool: ElectricalTool, stack: ItemStack, world: World, x: Int, y: Int, z: Int) { - if (world.isRemote || !world.blockExists(x, y, z)) + fun removeBlockWithDrops(player: EntityPlayer, tool: ElectricalTool, stack: ItemStack, world: World, pos: BlockPos) { + if (world.isRemote) return - val block = world.getBlock(x, y, z) - val meta = world.getBlockMetadata(x, y, z) + val state = world.getBlockState(pos) + val block = state.block - if (block != null && !block.isAir(world, x, y, z) && block.getPlayerRelativeBlockHardness(player, world, x, y, z) > 0) { - if (!block.canHarvestBlock(player, meta)/* || !isRightMaterial(mat, materialsListing)*/) + if (!block.isAir(state, world, pos) && state.getPlayerRelativeBlockHardness(player, world, pos) > 0) { + if (!block.canHarvestBlock(world, pos, player)) return if (!player.capabilities.isCreativeMode) { - tool.subtractEnergyForBlockBreak(stack, block) + tool.subtractEnergyForBlockBreak(stack, state) if (tool.getEnergy(stack) > 0) { - val localMeta = world.getBlockMetadata(x, y, z) - block.onBlockHarvested(world, x, y, z, localMeta, player) + block.onBlockHarvested(world, pos, state, player) - if (block.removedByPlayer(world, player, x, y, z, true)) { - block.onBlockDestroyedByPlayer(world, x, y, z, localMeta) - block.harvestBlock(world, player, x, y, z, localMeta) + if (block.removedByPlayer(state, world, pos, player, true)) { + block.onBlockDestroyedByPlayer(world, pos, state) + block.harvestBlock(world, player, pos, state, null, stack) } } } else { - world.setBlockToAir(x, y, z) + world.setBlockToAir(pos) } } } diff --git a/src/main/java/mods/eln/item/electricalitem/ElectricalLampItem.kt b/src/main/java/mods/eln/item/electricalitem/ElectricalLampItem.kt index 7d8ebfcfc..b08f14549 100644 --- a/src/main/java/mods/eln/item/electricalitem/ElectricalLampItem.kt +++ b/src/main/java/mods/eln/item/electricalitem/ElectricalLampItem.kt @@ -1,5 +1,6 @@ package mods.eln.item.electricalitem +import mods.eln.i18n.I18N.tr import mods.eln.item.electricalinterface.IItemEnergyBattery import mods.eln.misc.Utils import mods.eln.misc.UtilsClient @@ -9,12 +10,10 @@ import net.minecraft.entity.player.EntityPlayerMP import net.minecraft.item.Item import net.minecraft.item.ItemStack import net.minecraft.nbt.NBTTagCompound +import net.minecraft.util.ActionResult +import net.minecraft.util.EnumActionResult import net.minecraft.util.ResourceLocation import net.minecraft.world.World -import net.minecraftforge.client.IItemRenderer.ItemRenderType -import net.minecraftforge.client.IItemRenderer.ItemRendererHelper - -import mods.eln.i18n.I18N.tr class ElectricalLampItem(name: String, private var lightMin: Int, private var rangeMin: Int, private var dischargeMin: Double, private var lightMax: Int, private var rangeMax: Int, internal var dischargeMax: Double, internal var energyStorage: Double, internal var chargePower: Double) : LampItem(name), IItemEnergyBattery { @@ -61,7 +60,7 @@ class ElectricalLampItem(name: String, private var lightMin: Int, private var ra return nbt } - internal override fun getLightState(stack: ItemStack): Int { + override fun getLightState(stack: ItemStack): Int { return getNbt(stack).getInteger("LightState") } @@ -73,7 +72,7 @@ class ElectricalLampItem(name: String, private var lightMin: Int, private var ra return if (getLightState(stack) == 1) lightMin else lightMax } - override fun onItemRightClick(s: ItemStack, w: World, p: EntityPlayer): ItemStack { + override fun onItemRightClick(s: ItemStack, w: World, p: EntityPlayer): ActionResult { if (!w.isRemote) { var lightState = getLightState(s) + 1 if (lightState > 1) lightState = 0 @@ -87,7 +86,7 @@ class ElectricalLampItem(name: String, private var lightMin: Int, private var ra } setLightState(s, lightState) } - return s + return ActionResult(EnumActionResult.SUCCESS, s) } override fun addInformation(itemStack: ItemStack?, entityPlayer: EntityPlayer, list: MutableList, par4: Boolean) { @@ -125,20 +124,21 @@ class ElectricalLampItem(name: String, private var lightMin: Int, private var ra return 0 } - override fun shouldUseRenderHelper(type: ItemRenderType, item: ItemStack, helper: ItemRendererHelper): Boolean { - return type != ItemRenderType.INVENTORY - } - - override fun handleRenderType(item: ItemStack, type: ItemRenderType): Boolean { - return true - } - - override fun renderItem(type: ItemRenderType, item: ItemStack, vararg data: Any) { - UtilsClient.drawIcon(type, if (getLight(item) != 0 && getLightState(item) != 0) on else off) - if (type == ItemRenderType.INVENTORY) { - UtilsClient.drawEnergyBare(type, (getEnergy(item) / getEnergyMax(item)).toFloat()) - } - } + // TODO(!.10): Fix rendering +// override fun shouldUseRenderHelper(type: ItemRenderType, item: ItemStack, helper: ItemRendererHelper): Boolean { +// return type != ItemRenderType.INVENTORY +// } +// +// override fun handleRenderType(item: ItemStack, type: ItemRenderType): Boolean { +// return true +// } +// +// override fun renderItem(type: ItemRenderType, item: ItemStack, vararg data: Any) { +// UtilsClient.drawIcon(type, if (getLight(item) != 0 && getLightState(item) != 0) on else off) +// if (type == ItemRenderType.INVENTORY) { +// UtilsClient.drawEnergyBare(type, (getEnergy(item) / getEnergyMax(item)).toFloat()) +// } +// } override fun electricalItemUpdate(stack: ItemStack, time: Double) { val energy = getEnergy(stack) diff --git a/src/main/java/mods/eln/item/electricalitem/ElectricalPickaxe.kt b/src/main/java/mods/eln/item/electricalitem/ElectricalPickaxe.kt index b16299954..ddc51c1e6 100644 --- a/src/main/java/mods/eln/item/electricalitem/ElectricalPickaxe.kt +++ b/src/main/java/mods/eln/item/electricalitem/ElectricalPickaxe.kt @@ -3,6 +3,7 @@ package mods.eln.item.electricalitem import mods.eln.wiki.Data import net.minecraft.block.Block import net.minecraft.block.material.Material +import net.minecraft.block.state.IBlockState import net.minecraft.item.Item import net.minecraft.item.ItemStack @@ -14,14 +15,18 @@ class ElectricalPickaxe(name: String, strengthOn: Float, strengthOff: Float, Data.addPortable(newItemStack()) } - override fun getStrVsBlock(stack: ItemStack, block: Block?): Float { - var value = when { - block != null && (block.material === Material.iron || block.material === Material.glass || block.material === Material.anvil || block.material === Material.rock) -> getStrength(stack) - else -> super.getStrVsBlock(stack, block) + override fun getStrVsBlock(stack: ItemStack, state: IBlockState): Float { + return when { + state.material in pickaxeEffectiveAgainst -> getStrength(stack) + state.block in blocksEffectiveAgainst -> getStrength(stack) + else -> super.getStrVsBlock(stack, state) } - if (blocksEffectiveAgainst.any { it == block }) { - value = getStrength(stack) - } - return value } + + private val pickaxeEffectiveAgainst = arrayOf( + Material.IRON, + Material.GLASS, + Material.ANVIL, + Material.ROCK + ) } diff --git a/src/main/java/mods/eln/item/electricalitem/ElectricalTool.kt b/src/main/java/mods/eln/item/electricalitem/ElectricalTool.kt index f3a0a68f1..f8ce0dd33 100644 --- a/src/main/java/mods/eln/item/electricalitem/ElectricalTool.kt +++ b/src/main/java/mods/eln/item/electricalitem/ElectricalTool.kt @@ -5,16 +5,14 @@ import mods.eln.generic.GenericItemUsingDamageDescriptor import mods.eln.i18n.I18N.tr import mods.eln.item.electricalinterface.IItemEnergyBattery import mods.eln.misc.Utils -import mods.eln.misc.UtilsClient -import net.minecraft.block.Block +import net.minecraft.block.state.IBlockState import net.minecraft.entity.EntityLivingBase import net.minecraft.entity.player.EntityPlayer import net.minecraft.init.Blocks import net.minecraft.item.ItemStack import net.minecraft.nbt.NBTTagCompound +import net.minecraft.util.math.BlockPos import net.minecraft.world.World -import net.minecraftforge.client.IItemRenderer.ItemRenderType -import net.minecraftforge.client.IItemRenderer.ItemRendererHelper open class ElectricalTool(name: String, private var strengthOn: Float, private var strengthOff: Float, private var energyStorage: Double, private var energyPerBlock: Double, internal var chargePower: Double) : GenericItemUsingDamageDescriptor(name), IItemEnergyBattery { @@ -29,14 +27,14 @@ open class ElectricalTool(name: String, private var strengthOn: Float, private v return super.onEntitySwing(entityLiving, stack) } - override fun onBlockDestroyed(stack: ItemStack, w: World, block: Block, x: Int, y: Int, z: Int, entity: EntityLivingBase): Boolean { - subtractEnergyForBlockBreak(stack, block) + override fun onBlockDestroyed(stack: ItemStack, w: World, state: IBlockState, pos: BlockPos, entity: EntityLivingBase?): Boolean { + subtractEnergyForBlockBreak(stack, state) Utils.println("destroy") return true } - fun subtractEnergyForBlockBreak(stack: ItemStack, block: Block) { - if (getStrVsBlock(stack, block) == strengthOn) { + fun subtractEnergyForBlockBreak(stack: ItemStack, state: IBlockState) { + if (getStrVsBlock(stack, state) == strengthOn) { var e = getEnergy(stack) - energyPerBlock if (e < 0) e = 0.0 setEnergy(stack, e) @@ -87,22 +85,33 @@ open class ElectricalTool(name: String, private var strengthOn: Float, private v return 0 } - override fun shouldUseRenderHelper(type: ItemRenderType, item: ItemStack, helper: ItemRendererHelper): Boolean { - return type != ItemRenderType.INVENTORY - } - - override fun handleRenderType(item: ItemStack, type: ItemRenderType): Boolean { - return true - } - - override fun renderItem(type: ItemRenderType, item: ItemStack, vararg data: Any) { - super.renderItem(type, item, *data) - if (type == ItemRenderType.INVENTORY) { - UtilsClient.drawEnergyBare(type, (getEnergy(item) / getEnergyMax(item)).toFloat()) - } - } + // TODO(1.10): Render +// override fun shouldUseRenderHelper(type: ItemRenderType, item: ItemStack, helper: ItemRendererHelper): Boolean { +// return type != ItemRenderType.INVENTORY +// } +// +// override fun handleRenderType(item: ItemStack, type: ItemRenderType): Boolean { +// return true +// } +// +// override fun renderItem(type: ItemRenderType, item: ItemStack, vararg data: Any) { +// super.renderItem(type, item, *data) +// if (type == ItemRenderType.INVENTORY) { +// UtilsClient.drawEnergyBare(type, (getEnergy(item) / getEnergyMax(item)).toFloat()) +// } +// } override fun electricalItemUpdate(stack: ItemStack, time: Double) {} - val blocksEffectiveAgainst = arrayOf(Blocks.grass, Blocks.dirt, Blocks.sand, Blocks.gravel, Blocks.snow, Blocks.snow, Blocks.clay, Blocks.farmland, Blocks.soul_sand, Blocks.mycelium) + val blocksEffectiveAgainst = arrayOf( + Blocks.GRASS, + Blocks.DIRT, + Blocks.SAND, + Blocks.GRAVEL, + Blocks.SNOW, + Blocks.CLAY, + Blocks.FARMLAND, + Blocks.SOUL_SAND, + Blocks.MYCELIUM + ) } diff --git a/src/main/java/mods/eln/item/electricalitem/LampItem.kt b/src/main/java/mods/eln/item/electricalitem/LampItem.kt index 3b5a33dac..2c09951b6 100644 --- a/src/main/java/mods/eln/item/electricalitem/LampItem.kt +++ b/src/main/java/mods/eln/item/electricalitem/LampItem.kt @@ -4,9 +4,9 @@ import mods.eln.Eln import mods.eln.generic.GenericItemUsingDamageDescriptor import mods.eln.sixnode.lampsocket.LightBlockEntity import net.minecraft.entity.Entity -import net.minecraft.init.Blocks import net.minecraft.item.ItemStack -import net.minecraft.util.MathHelper +import net.minecraft.util.math.BlockPos +import net.minecraft.util.math.MathHelper import net.minecraft.world.World abstract class LampItem(name: String) : GenericItemUsingDamageDescriptor(name) { @@ -28,11 +28,7 @@ abstract class LampItem(name: String) : GenericItemUsingDamageDescriptor(name) { var y = entity.posY + 1.62 - yOffset var z = entity.posZ - val v = entity.lookVec - - v.xCoord *= 0.25 - v.yCoord *= 0.25 - v.zCoord *= 0.25 + val v = entity.lookVec.scale(0.25) val range = getRange(stack) + 1 var rCount = 0 @@ -42,8 +38,10 @@ abstract class LampItem(name: String) : GenericItemUsingDamageDescriptor(name) { y += v.yCoord z += v.zCoord - val block = world.getBlock(MathHelper.floor_double(x), MathHelper.floor_double(y), MathHelper.floor_double(z)) - if (block !== Blocks.air && block !== Eln.lightBlock /*&& Block.blocksList[blockId].isOpaqueCube() == false*/) { + val pos = BlockPos(MathHelper.floor_double(x), MathHelper.floor_double(y), MathHelper.floor_double(z)) + val state = world.getBlockState(pos) + val block = state.block + if (!block.isAir(state, world, pos) && block !== Eln.lightBlock) { x -= v.xCoord y -= v.yCoord z -= v.zCoord @@ -53,9 +51,11 @@ abstract class LampItem(name: String) : GenericItemUsingDamageDescriptor(name) { } while (rCount > 0) { - val block = world.getBlock(MathHelper.floor_double(x), MathHelper.floor_double(y), MathHelper.floor_double(z)) - if (block === Blocks.air || block === Eln.lightBlock) { - LightBlockEntity.addLight(world, MathHelper.floor_double(x), MathHelper.floor_double(y), MathHelper.floor_double(z), light, 10) + val pos = BlockPos(MathHelper.floor_double(x), MathHelper.floor_double(y), MathHelper.floor_double(z)) + val state = world.getBlockState(pos) + val block = state.block + if (block.isAir(state, world, pos) || block === Eln.lightBlock) { + LightBlockEntity.addLight(world, pos, light, 10) return } x -= v.xCoord diff --git a/src/main/java/mods/eln/item/electricalitem/PortableOreScannerItem.kt b/src/main/java/mods/eln/item/electricalitem/PortableOreScannerItem.kt index ea3b26dec..b2f0671d4 100644 --- a/src/main/java/mods/eln/item/electricalitem/PortableOreScannerItem.kt +++ b/src/main/java/mods/eln/item/electricalitem/PortableOreScannerItem.kt @@ -17,14 +17,12 @@ import net.minecraft.init.Blocks import net.minecraft.item.Item import net.minecraft.item.ItemStack import net.minecraft.nbt.NBTTagCompound -import net.minecraft.util.MathHelper +import net.minecraft.util.ActionResult +import net.minecraft.util.EnumActionResult +import net.minecraft.util.math.BlockPos +import net.minecraft.util.math.MathHelper import net.minecraft.world.World -import net.minecraftforge.client.IItemRenderer -import net.minecraftforge.client.IItemRenderer.ItemRenderType -import net.minecraftforge.client.IItemRenderer.ItemRendererHelper import org.lwjgl.opengl.GL11 -import kotlin.experimental.and -import kotlin.experimental.or @ExperimentalUnsignedTypes class PortableOreScannerItem(name: String, obj: Obj3D, @@ -70,8 +68,8 @@ class PortableOreScannerItem(name: String, obj: Obj3D, } } - override fun onItemRightClick(s: ItemStack, w: World, p: EntityPlayer): ItemStack { - if (w.isRemote) return s + override fun onItemRightClick(s: ItemStack, w: World, p: EntityPlayer): ActionResult { + if (w.isRemote) return ActionResult(EnumActionResult.SUCCESS, s) val energy = getEnergy(s) val state = getState(s) @@ -86,7 +84,7 @@ class PortableOreScannerItem(name: String, obj: Obj3D, } else -> {} } - return s + return ActionResult(EnumActionResult.SUCCESS, s) } override fun setParent(item: Item, damage: Int) { @@ -165,14 +163,6 @@ class PortableOreScannerItem(name: String, obj: Obj3D, return 0 } - override fun handleRenderType(item: ItemStack, type: ItemRenderType): Boolean { - return true - } - - override fun shouldUseRenderHelper(type: ItemRenderType, item: ItemStack, helper: ItemRendererHelper): Boolean { - return type != ItemRenderType.INVENTORY - } - override fun onBlockStartBreak(itemstack: ItemStack, x: Int, y: Int, z: Int, player: EntityPlayer): Boolean { if (!player.worldObj.isRemote) { setDamage(itemstack, (getDamage(itemstack) + 1).toByte()) @@ -180,166 +170,175 @@ class PortableOreScannerItem(name: String, obj: Obj3D, return super.onBlockStartBreak(itemstack, x, y, z, player) } - override fun renderItem(type: ItemRenderType, item: ItemStack, vararg data: Any) { - if (type == ItemRenderType.INVENTORY) { - super.renderItem(type, item, *data) - UtilsClient.drawEnergyBare(type, (getEnergy(item) / getEnergyMax(item)).toFloat()) - return - } - - val energy = getEnergy(item) - val state = getState(item) - - GL11.glPushMatrix() - val e: Entity? - - when (type) { - IItemRenderer.ItemRenderType.ENTITY -> { - e = null - GL11.glTranslatef(0f, -0.2f, 0f) - GL11.glRotatef(90f, 0f, 0f, 1f) - } - - IItemRenderer.ItemRenderType.EQUIPPED -> { - e = data[1] as Entity - GL11.glRotatef(130f, 0f, 0f, 1f) - GL11.glRotatef(140f, 1f, 0f, 0f) - GL11.glRotatef(-20f, 0f, 1f, 0f) - GL11.glScalef(1.6f, 1.6f, 1.6f) - GL11.glTranslatef(-0.2f, 0.7f, -0.0f) - } - - IItemRenderer.ItemRenderType.EQUIPPED_FIRST_PERSON -> { - e = data[1] as Entity - GL11.glTranslatef(0f, 1f, 0f) - GL11.glRotatef(90f, 0f, 0f, 1f) - GL11.glRotatef(35f, 1f, 0f, 0f) - GL11.glTranslatef(0.0f, 1f, -0.2f) - } - - IItemRenderer.ItemRenderType.INVENTORY -> { - GL11.glPopMatrix() - return - } - - IItemRenderer.ItemRenderType.FIRST_PERSON_MAP -> e = null - - else -> e = null - } - - val drawScreen = e != null && UtilsClient.clientDistanceTo(e) < 10 - val drawRay = drawScreen && state == State.Run - - base.draw() - - if (drawRay) { - GL11.glPushMatrix() - - var oRender = Eln.clientLiveDataManager.getData(item, 1) - if (oRender == null) - oRender = Eln.clientLiveDataManager.newData(item, RenderStorage(viewRange, viewYAlpha, resWidth, resHeight), 1) - val render = oRender as RenderStorage - - render.generate(e!!.worldObj, e.posX, Utils.getHeadPosY(e), e.posZ, e.rotationYaw * Math.PI.toFloat() / 180.0f, e.rotationPitch * Math.PI.toFloat() / 180.0f) - - val scale = 1f / resWidth * 0.50f - GL11.glTranslatef(0.90668f, 0.163f, -0.25078f) - GL11.glRotatef(270f, 1f, 0f, 0f) - GL11.glRotatef(270f, 0f, 0f, 1f) - GL11.glScalef(scale, -scale, 1f) - render.draw() - - GL11.glPopMatrix() - - var r = 0f - var g = 0f - var b = 0f - var count = 0 - - var y = 0 - while (y < resHeight) { - var x = 0 - while (x < resHeight) { - r += render.screenRed[y][x] - g += render.screenGreen[y][x] - b += render.screenBlue[y][x] - count++ - x += 6 - } - y += 6 - } - r /= count.toFloat() - g /= count.toFloat() - b /= count.toFloat() - UtilsClient.drawHalo(screenLuma, r, g, b, e, false) - } - - if (drawScreen) { - if (state == State.Idle) { - GL11.glColor4f(0.5f, 0.5f, 0.5f, 1f) - led.draw() - GL11.glColor4f(1f, 1f, 1f, 1f) - buttons.draw() - } - UtilsClient.disableLight() - if (state != State.Idle) { - GL11.glColor4f(1f, 1f, 1f, 1f) - buttons.draw() - - var r = 0f - var g = 0f - var b = 0f - when (state) { - State.Boot -> { - r = 0.9f - g = 0.4f - b = 0f - } - State.Run -> { - r = 0f - g = 1f - b = 0f - } - State.Stop -> { - r = 1f - g = 0f - b = 0f - } - else -> { - } - } - GL11.glColor4f(r * 0.6f, g * 0.6f, b * 0.6f, 1f) - led.draw() - UtilsClient.enableBlend() - UtilsClient.drawHaloNoLightSetup(ledHalo, r, g, b, e, false) - } - - GL11.glColor4f(1f, 1f, 1f, 0.4f) - when (state) { - State.Boot -> textInit.draw() - State.Run -> { - textRun.draw() - val batLevel = Math.min(textBat.size - 1, (energy / energyStorage * textBat.size + 0.5f).toInt()) - textBat[batLevel].draw() - } - else -> { - } - } - UtilsClient.enableBlend() - GL11.glColor4f(1f, 1f, 1f, 1f) - var breakLevel = getDamage(item) / damagePerBreakLevel - if (state == State.Idle) breakLevel = Math.min(breakLevel, screenDamage.size - 1) - for (idx in 0 until breakLevel) { - if (idx == screenDamage.size) break - screenDamage[Math.min(screenDamage.size - 1, breakLevel - 1) - idx].draw() - } - - UtilsClient.disableBlend() - UtilsClient.enableLight() - } - - GL11.glPopMatrix() - } + // TODO(1.10): Fix rendering +// override fun handleRenderType(item: ItemStack, type: ItemRenderType): Boolean { +// return true +// } +// +// override fun shouldUseRenderHelper(type: ItemRenderType, item: ItemStack, helper: ItemRendererHelper): Boolean { +// return type != ItemRenderType.INVENTORY +// } +// +// override fun renderItem(type: ItemRenderType, item: ItemStack, vararg data: Any) { +// if (type == ItemRenderType.INVENTORY) { +// super.renderItem(type, item, *data) +// UtilsClient.drawEnergyBare(type, (getEnergy(item) / getEnergyMax(item)).toFloat()) +// return +// } +// +// val energy = getEnergy(item) +// val state = getState(item) +// +// GL11.glPushMatrix() +// val e: Entity? +// +// when (type) { +// IItemRenderer.ItemRenderType.ENTITY -> { +// e = null +// GL11.glTranslatef(0f, -0.2f, 0f) +// GL11.glRotatef(90f, 0f, 0f, 1f) +// } +// +// IItemRenderer.ItemRenderType.EQUIPPED -> { +// e = data[1] as Entity +// GL11.glRotatef(130f, 0f, 0f, 1f) +// GL11.glRotatef(140f, 1f, 0f, 0f) +// GL11.glRotatef(-20f, 0f, 1f, 0f) +// GL11.glScalef(1.6f, 1.6f, 1.6f) +// GL11.glTranslatef(-0.2f, 0.7f, -0.0f) +// } +// +// IItemRenderer.ItemRenderType.EQUIPPED_FIRST_PERSON -> { +// e = data[1] as Entity +// GL11.glTranslatef(0f, 1f, 0f) +// GL11.glRotatef(90f, 0f, 0f, 1f) +// GL11.glRotatef(35f, 1f, 0f, 0f) +// GL11.glTranslatef(0.0f, 1f, -0.2f) +// } +// +// IItemRenderer.ItemRenderType.INVENTORY -> { +// GL11.glPopMatrix() +// return +// } +// +// IItemRenderer.ItemRenderType.FIRST_PERSON_MAP -> e = null +// +// else -> e = null +// } +// +// val drawScreen = e != null && UtilsClient.clientDistanceTo(e) < 10 +// val drawRay = drawScreen && state == State.Run +// +// base.draw() +// +// if (drawRay) { +// GL11.glPushMatrix() +// +// var oRender = Eln.clientLiveDataManager.getData(item, 1) +// if (oRender == null) +// oRender = Eln.clientLiveDataManager.newData(item, RenderStorage(viewRange, viewYAlpha, resWidth, resHeight), 1) +// val render = oRender as RenderStorage +// +// render.generate(e!!.worldObj, e.posX, Utils.getHeadPosY(e), e.posZ, e.rotationYaw * Math.PI.toFloat() / 180.0f, e.rotationPitch * Math.PI.toFloat() / 180.0f) +// +// val scale = 1f / resWidth * 0.50f +// GL11.glTranslatef(0.90668f, 0.163f, -0.25078f) +// GL11.glRotatef(270f, 1f, 0f, 0f) +// GL11.glRotatef(270f, 0f, 0f, 1f) +// GL11.glScalef(scale, -scale, 1f) +// render.draw() +// +// GL11.glPopMatrix() +// +// var r = 0f +// var g = 0f +// var b = 0f +// var count = 0 +// +// var y = 0 +// while (y < resHeight) { +// var x = 0 +// while (x < resHeight) { +// r += render.screenRed[y][x] +// g += render.screenGreen[y][x] +// b += render.screenBlue[y][x] +// count++ +// x += 6 +// } +// y += 6 +// } +// r /= count.toFloat() +// g /= count.toFloat() +// b /= count.toFloat() +// UtilsClient.drawHalo(screenLuma, r, g, b, e, false) +// } +// +// if (drawScreen) { +// if (state == State.Idle) { +// GL11.glColor4f(0.5f, 0.5f, 0.5f, 1f) +// led.draw() +// GL11.glColor4f(1f, 1f, 1f, 1f) +// buttons.draw() +// } +// UtilsClient.disableLight() +// if (state != State.Idle) { +// GL11.glColor4f(1f, 1f, 1f, 1f) +// buttons.draw() +// +// var r = 0f +// var g = 0f +// var b = 0f +// when (state) { +// State.Boot -> { +// r = 0.9f +// g = 0.4f +// b = 0f +// } +// State.Run -> { +// r = 0f +// g = 1f +// b = 0f +// } +// State.Stop -> { +// r = 1f +// g = 0f +// b = 0f +// } +// else -> { +// } +// } +// GL11.glColor4f(r * 0.6f, g * 0.6f, b * 0.6f, 1f) +// led.draw() +// UtilsClient.enableBlend() +// UtilsClient.drawHaloNoLightSetup(ledHalo, r, g, b, e, false) +// } +// +// GL11.glColor4f(1f, 1f, 1f, 0.4f) +// when (state) { +// State.Boot -> textInit.draw() +// State.Run -> { +// textRun.draw() +// val batLevel = Math.min(textBat.size - 1, (energy / energyStorage * textBat.size + 0.5f).toInt()) +// textBat[batLevel].draw() +// } +// else -> { +// } +// } +// UtilsClient.enableBlend() +// GL11.glColor4f(1f, 1f, 1f, 1f) +// var breakLevel = getDamage(item) / damagePerBreakLevel +// if (state == State.Idle) breakLevel = Math.min(breakLevel, screenDamage.size - 1) +// for (idx in 0 until breakLevel) { +// if (idx == screenDamage.size) break +// screenDamage[Math.min(screenDamage.size - 1, breakLevel - 1) - idx].draw() +// } +// +// UtilsClient.disableBlend() +// UtilsClient.enableLight() +// } +// +// GL11.glPopMatrix() +// } class RenderStorage(private var viewRange: Float, viewYAlpha: Float, var resWidth: Int, private var resHeight: Int) { @@ -448,21 +447,15 @@ class PortableOreScannerItem(name: String, obj: Obj3D, val zBlock = posZint + zFloor.toInt() blockKey = 0U if (yBlock in 0..255) { - val chunk = w.getChunkFromBlockCoords(xBlock, zBlock) - if (chunk != null) { - val storage = chunk.blockStorageArray[yBlock shr 4] - if (storage != null) { - val xLocal = xBlock and 0xF - val yLocal = yBlock and 0xF - val zLocal = zBlock and 0xF - - var blockId = storage.blockLSBArray[yLocal shl 8 or (zLocal shl 4) or xLocal].toUByte() - if (storage.blockMSBArray != null) { - blockId = blockId or ((storage.blockMSBArray.get(xLocal, yLocal, zLocal) shl 8).toUByte()) - } - - blockKey = (blockId + (storage.getExtBlockMetadata(xLocal, yLocal, zLocal).toUInt() shl 12)).toUShort() - } + val chunk = w.getChunkFromBlockCoords(BlockPos(xBlock, yBlock, zBlock)) + val storage = chunk.blockStorageArray[yBlock shr 4] + if (storage != null) { + val xLocal = xBlock and 0xF + val yLocal = yBlock and 0xF + val zLocal = zBlock and 0xF + + val state = storage.get(xLocal, yLocal, zLocal) + blockKey = Block.getStateId(state).toUShort() } } if (blockKey >= 1024U * 64U) { @@ -479,9 +472,13 @@ class PortableOreScannerItem(name: String, obj: Obj3D, } stackGreen += blockKeyFactor[blockKey.toInt()] * dToStack - val b = Block.getBlockById((blockKey and 0xFFFU).toInt()) - if (b !== Blocks.air && b !== Eln.lightBlock) { - stackRed += if (b.isOpaqueCube) + + // TODO(1.10): This needs a total rewrite. + val state = Block.getStateById(blockKey.toInt()) + val b = state.block + //val b = Block.getBlockById((blockKey and 0xFFFU).toInt()) + if (b !== Blocks.AIR && b !== Eln.lightBlock) { + stackRed += if (b.isVisuallyOpaque) 0.2f * dToStack else 0.1f * dToStack diff --git a/src/main/java/mods/eln/misc/GhostPowerNode.kt b/src/main/java/mods/eln/misc/GhostPowerNode.kt index 28b7cbdc4..efcd7961a 100644 --- a/src/main/java/mods/eln/misc/GhostPowerNode.kt +++ b/src/main/java/mods/eln/misc/GhostPowerNode.kt @@ -8,8 +8,6 @@ import net.minecraft.item.ItemStack class GhostPowerNode(origin: Coordinate, front: Direction, offset: Coordinate, val load: ElectricalLoad): GhostNode() { -class GhostPowerNode(origin: Coordonate, front: Direction, offset: Coordonate, val load: ElectricalLoad): GhostNode() { - val coord = Coordinate(offset).apply { applyTransformation(front, origin) dimension = origin.dimension diff --git a/src/main/java/mods/eln/sound/LoopedSoundManager.kt b/src/main/java/mods/eln/sound/LoopedSoundManager.kt index cb3686b31..44c944517 100644 --- a/src/main/java/mods/eln/sound/LoopedSoundManager.kt +++ b/src/main/java/mods/eln/sound/LoopedSoundManager.kt @@ -24,9 +24,10 @@ class LoopedSoundManager(val updateInterval: Float = 0.5f) { val soundHandler = Minecraft.getMinecraft().soundHandler loops.forEach { // add 0.5 to put the point in the center of the block making sounds - val cx = it.coord.x + 0.5 - val cy = it.coord.y + 0.5 - val cz = it.coord.z + 0.5 + val pos = it.coord.pos + val cx = pos.x + 0.5 + val cy = pos.y + 0.5 + val cz = pos.z + 0.5 // get the player, and get the squared distance between the player and the block val player = Minecraft.getMinecraft().thePlayer val distDeltaSquared = sqDistDelta(cx, cy, cz, player.posX, player.posY, player.posZ) From 84b3fa7ccf10cac29495a242c6ee3214921a2e1e Mon Sep 17 00:00:00 2001 From: Svein Ove Aas Date: Wed, 6 Feb 2019 01:02:20 +0000 Subject: [PATCH 31/61] Add the 1.10 COFH RF API --- build.gradle | 8 +- src/main/java/cofh/api/CoFHAPIProps.java | 11 ++ .../java/cofh/api/energy/EnergyStorage.java | 155 ++++++++++++++++++ .../cofh/api/energy/IEnergyConnection.java | 20 +++ .../cofh/api/energy/IEnergyContainerItem.java | 45 +++++ .../java/cofh/api/energy/IEnergyHandler.java | 26 +++ .../java/cofh/api/energy/IEnergyProvider.java | 24 +++ .../java/cofh/api/energy/IEnergyReceiver.java | 24 +++ .../java/cofh/api/energy/IEnergyStorage.java | 41 +++++ .../cofh/api/energy/IEnergyTransport.java | 106 ++++++++++++ .../cofh/api/energy/ItemEnergyContainer.java | 112 +++++++++++++ .../cofh/api/energy/TileEnergyHandler.java | 67 ++++++++ .../java/cofh/api/energy/package-info.java | 9 + src/main/java/cofh/api/package-info.java | 8 + 14 files changed, 655 insertions(+), 1 deletion(-) create mode 100644 src/main/java/cofh/api/CoFHAPIProps.java create mode 100644 src/main/java/cofh/api/energy/EnergyStorage.java create mode 100644 src/main/java/cofh/api/energy/IEnergyConnection.java create mode 100644 src/main/java/cofh/api/energy/IEnergyContainerItem.java create mode 100644 src/main/java/cofh/api/energy/IEnergyHandler.java create mode 100644 src/main/java/cofh/api/energy/IEnergyProvider.java create mode 100644 src/main/java/cofh/api/energy/IEnergyReceiver.java create mode 100644 src/main/java/cofh/api/energy/IEnergyStorage.java create mode 100644 src/main/java/cofh/api/energy/IEnergyTransport.java create mode 100644 src/main/java/cofh/api/energy/ItemEnergyContainer.java create mode 100644 src/main/java/cofh/api/energy/TileEnergyHandler.java create mode 100644 src/main/java/cofh/api/energy/package-info.java create mode 100644 src/main/java/cofh/api/package-info.java diff --git a/build.gradle b/build.gradle index f73319e2f..046d9164e 100644 --- a/build.gradle +++ b/build.gradle @@ -81,6 +81,10 @@ repositories { maven { url "https://tehnut.info/maven" } maven { url "https://cc.crzd.me/maven/" } maven { url "https://maven.cil.li/" } +// maven { +// name = "CoFH Maven" +// url = "https://maven.covers1624.net" +// } // mavenCentral() // maven { @@ -96,10 +100,12 @@ repositories { dependencies { external files("libs/commons-math3-3.3.jar") implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8" - compile group: "net.shadowfacts", name: "Forgelin", version: "1.7.3" + compile group: "net.shadowfacts", name: "Forgelin", version: "1.8.2" compile "dan200.computercraft:ComputerCraft:1.80pr1-build5" compile "li.cil.oc:OpenComputers:MC1.10.2-1.7.2.172" deobfCompile "mcp.mobius.waila:Hwyla:1.8.17-B31_1.10.2" + // TODO(1.12): Switch to this. +// deobfCompile "cofh:RedstoneFlux:1.12-2.0.0.1:universal" // compile "mcp.mobius.waila:Waila:1.5.11-RC2-NONEI_1.7.10:dev" } diff --git a/src/main/java/cofh/api/CoFHAPIProps.java b/src/main/java/cofh/api/CoFHAPIProps.java new file mode 100644 index 000000000..8c2350802 --- /dev/null +++ b/src/main/java/cofh/api/CoFHAPIProps.java @@ -0,0 +1,11 @@ +package cofh.api; + +public class CoFHAPIProps { + + private CoFHAPIProps() { + + } + + public static final String VERSION = "1.7.0"; + +} diff --git a/src/main/java/cofh/api/energy/EnergyStorage.java b/src/main/java/cofh/api/energy/EnergyStorage.java new file mode 100644 index 000000000..581c9fe92 --- /dev/null +++ b/src/main/java/cofh/api/energy/EnergyStorage.java @@ -0,0 +1,155 @@ +package cofh.api.energy; + +import net.minecraft.nbt.NBTTagCompound; + +/** + * Reference implementation of {@link IEnergyStorage}. Use/extend this or implement your own. + * + * @author King Lemming + */ +public class EnergyStorage implements IEnergyStorage { + + protected int energy; + protected int capacity; + protected int maxReceive; + protected int maxExtract; + + public EnergyStorage(int capacity) { + + this(capacity, capacity, capacity); + } + + public EnergyStorage(int capacity, int maxTransfer) { + + this(capacity, maxTransfer, maxTransfer); + } + + public EnergyStorage(int capacity, int maxReceive, int maxExtract) { + + this.capacity = capacity; + this.maxReceive = maxReceive; + this.maxExtract = maxExtract; + } + + public EnergyStorage readFromNBT(NBTTagCompound nbt) { + + this.energy = nbt.getInteger("Energy"); + + if (energy > capacity) { + energy = capacity; + } + return this; + } + + public NBTTagCompound writeToNBT(NBTTagCompound nbt) { + + if (energy < 0) { + energy = 0; + } + nbt.setInteger("Energy", energy); + return nbt; + } + + public EnergyStorage setCapacity(int capacity) { + + this.capacity = capacity; + + if (energy > capacity) { + energy = capacity; + } + return this; + } + + public EnergyStorage setMaxTransfer(int maxTransfer) { + + setMaxReceive(maxTransfer); + setMaxExtract(maxTransfer); + return this; + } + + public EnergyStorage setMaxReceive(int maxReceive) { + + this.maxReceive = maxReceive; + return this; + } + + public EnergyStorage setMaxExtract(int maxExtract) { + + this.maxExtract = maxExtract; + return this; + } + + public int getMaxReceive() { + + return maxReceive; + } + + public int getMaxExtract() { + + return maxExtract; + } + + /** + * This function is included to allow for server to client sync. Do not call this externally to the containing Tile Entity, as not all IEnergyHandlers are guaranteed to have it. + */ + public void setEnergyStored(int energy) { + + this.energy = energy; + + if (this.energy > capacity) { + this.energy = capacity; + } else if (this.energy < 0) { + this.energy = 0; + } + } + + /** + * This function is included to allow the containing tile to directly and efficiently modify the energy contained in the EnergyStorage. Do not rely on this externally, as not all IEnergyHandlers are guaranteed to have it. + */ + public void modifyEnergyStored(int energy) { + + this.energy += energy; + + if (this.energy > capacity) { + this.energy = capacity; + } else if (this.energy < 0) { + this.energy = 0; + } + } + + /* IEnergyStorage */ + @Override + public int receiveEnergy(int maxReceive, boolean simulate) { + + int energyReceived = Math.min(capacity - energy, Math.min(this.maxReceive, maxReceive)); + + if (!simulate) { + energy += energyReceived; + } + return energyReceived; + } + + @Override + public int extractEnergy(int maxExtract, boolean simulate) { + + int energyExtracted = Math.min(energy, Math.min(this.maxExtract, maxExtract)); + + if (!simulate) { + energy -= energyExtracted; + } + return energyExtracted; + } + + @Override + public int getEnergyStored() { + + return energy; + } + + @Override + public int getMaxEnergyStored() { + + return capacity; + } + +} diff --git a/src/main/java/cofh/api/energy/IEnergyConnection.java b/src/main/java/cofh/api/energy/IEnergyConnection.java new file mode 100644 index 000000000..e95b348af --- /dev/null +++ b/src/main/java/cofh/api/energy/IEnergyConnection.java @@ -0,0 +1,20 @@ +package cofh.api.energy; + +import net.minecraft.util.EnumFacing; + +/** + * Implement this interface on TileEntities which should connect to energy transportation blocks. This is intended for blocks which generate energy but do not + * accept it; otherwise just use IEnergyHandler. + * + * Note that {@link IEnergyHandler} is an extension of this. + * + * @author King Lemming + */ +public interface IEnergyConnection { + + /** + * Returns TRUE if the TileEntity can connect on a given side. + */ + boolean canConnectEnergy(EnumFacing from); + +} diff --git a/src/main/java/cofh/api/energy/IEnergyContainerItem.java b/src/main/java/cofh/api/energy/IEnergyContainerItem.java new file mode 100644 index 000000000..abc742fde --- /dev/null +++ b/src/main/java/cofh/api/energy/IEnergyContainerItem.java @@ -0,0 +1,45 @@ +package cofh.api.energy; + +import net.minecraft.item.ItemStack; + +/** + * Implement this interface on Item classes that support external manipulation of their internal energy storages. + * + * A reference implementation is provided {@link ItemEnergyContainer}. + * + * @author King Lemming + */ +public interface IEnergyContainerItem { + + /** + * Adds energy to a container item. Returns the quantity of energy that was accepted. This should always return 0 if the item cannot be externally charged. + * + * @param container ItemStack to be charged. + * @param maxReceive Maximum amount of energy to be sent into the item. + * @param simulate If TRUE, the charge will only be simulated. + * @return Amount of energy that was (or would have been, if simulated) received by the item. + */ + int receiveEnergy(ItemStack container, int maxReceive, boolean simulate); + + /** + * Removes energy from a container item. Returns the quantity of energy that was removed. This should always return 0 if the item cannot be externally + * discharged. + * + * @param container ItemStack to be discharged. + * @param maxExtract Maximum amount of energy to be extracted from the item. + * @param simulate If TRUE, the discharge will only be simulated. + * @return Amount of energy that was (or would have been, if simulated) extracted from the item. + */ + int extractEnergy(ItemStack container, int maxExtract, boolean simulate); + + /** + * Get the amount of energy currently stored in the container item. + */ + int getEnergyStored(ItemStack container); + + /** + * Get the max amount of energy that can be stored in the container item. + */ + int getMaxEnergyStored(ItemStack container); + +} diff --git a/src/main/java/cofh/api/energy/IEnergyHandler.java b/src/main/java/cofh/api/energy/IEnergyHandler.java new file mode 100644 index 000000000..e03783e47 --- /dev/null +++ b/src/main/java/cofh/api/energy/IEnergyHandler.java @@ -0,0 +1,26 @@ +package cofh.api.energy; + +import net.minecraft.util.EnumFacing; + +/** + * Implement this interface on Tile Entities which should handle energy, generally storing it in one or more internal {@link IEnergyStorage} objects. + * + * A reference implementation is provided {@link TileEnergyHandler}. + * + * Note that {@link IEnergyReceiver} and {@link IEnergyProvider} are extensions of this. + * + * @author King Lemming + */ +public interface IEnergyHandler extends IEnergyConnection { + + /** + * Returns the amount of energy currently stored. + */ + int getEnergyStored(EnumFacing from); + + /** + * Returns the maximum amount of energy that can be stored. + */ + int getMaxEnergyStored(EnumFacing from); + +} diff --git a/src/main/java/cofh/api/energy/IEnergyProvider.java b/src/main/java/cofh/api/energy/IEnergyProvider.java new file mode 100644 index 000000000..da704806f --- /dev/null +++ b/src/main/java/cofh/api/energy/IEnergyProvider.java @@ -0,0 +1,24 @@ +package cofh.api.energy; + +import net.minecraft.util.EnumFacing; + +/** + * Implement this interface on Tile Entities which should provide energy, generally storing it in one or more internal {@link IEnergyStorage} objects. + * + * A reference implementation is provided {@link TileEnergyHandler}. + * + * @author King Lemming + */ +public interface IEnergyProvider extends IEnergyHandler { + + /** + * Remove energy from an IEnergyProvider, internal distribution is left entirely to the IEnergyProvider. + * + * @param from Orientation the energy is extracted from. + * @param maxExtract Maximum amount of energy to extract. + * @param simulate If TRUE, the extraction will only be simulated. + * @return Amount of energy that was (or would have been, if simulated) extracted. + */ + int extractEnergy(EnumFacing from, int maxExtract, boolean simulate); + +} diff --git a/src/main/java/cofh/api/energy/IEnergyReceiver.java b/src/main/java/cofh/api/energy/IEnergyReceiver.java new file mode 100644 index 000000000..5299827f6 --- /dev/null +++ b/src/main/java/cofh/api/energy/IEnergyReceiver.java @@ -0,0 +1,24 @@ +package cofh.api.energy; + +import net.minecraft.util.EnumFacing; + +/** + * Implement this interface on Tile Entities which should receive energy, generally storing it in one or more internal {@link IEnergyStorage} objects. + * + * A reference implementation is provided {@link TileEnergyHandler}. + * + * @author King Lemming + */ +public interface IEnergyReceiver extends IEnergyHandler { + + /** + * Add energy to an IEnergyReceiver, internal distribution is left entirely to the IEnergyReceiver. + * + * @param from Orientation the energy is received from. + * @param maxReceive Maximum amount of energy to receive. + * @param simulate If TRUE, the charge will only be simulated. + * @return Amount of energy that was (or would have been, if simulated) received. + */ + int receiveEnergy(EnumFacing from, int maxReceive, boolean simulate); + +} diff --git a/src/main/java/cofh/api/energy/IEnergyStorage.java b/src/main/java/cofh/api/energy/IEnergyStorage.java new file mode 100644 index 000000000..1349c6717 --- /dev/null +++ b/src/main/java/cofh/api/energy/IEnergyStorage.java @@ -0,0 +1,41 @@ +package cofh.api.energy; + +/** + * An energy storage is the unit of interaction with Energy inventories.
+ * This is not to be implemented on TileEntities. This is for internal use only. + * + * A reference implementation can be found at {@link EnergyStorage}. + * + * @author King Lemming + */ +public interface IEnergyStorage { + + /** + * Adds energy to the storage. Returns quantity of energy that was accepted. + * + * @param maxReceive Maximum amount of energy to be inserted. + * @param simulate If TRUE, the insertion will only be simulated. + * @return Amount of energy that was (or would have been, if simulated) accepted by the storage. + */ + int receiveEnergy(int maxReceive, boolean simulate); + + /** + * Removes energy from the storage. Returns quantity of energy that was removed. + * + * @param maxExtract Maximum amount of energy to be extracted. + * @param simulate If TRUE, the extraction will only be simulated. + * @return Amount of energy that was (or would have been, if simulated) extracted from the storage. + */ + int extractEnergy(int maxExtract, boolean simulate); + + /** + * Returns the amount of energy currently stored. + */ + int getEnergyStored(); + + /** + * Returns the maximum amount of energy that can be stored. + */ + int getMaxEnergyStored(); + +} diff --git a/src/main/java/cofh/api/energy/IEnergyTransport.java b/src/main/java/cofh/api/energy/IEnergyTransport.java new file mode 100644 index 000000000..8fbd707b1 --- /dev/null +++ b/src/main/java/cofh/api/energy/IEnergyTransport.java @@ -0,0 +1,106 @@ +package cofh.api.energy; + +import net.minecraft.util.EnumFacing; + +/** + * Implement this interface on Tile Entities which transport energy. + * + * This is used to "negotiate" connection types between two separate IEnergyTransports, allowing users to set flow direction and allowing for networks Of + * IEnergyTransports to intelligently transfer energy to other networks. + */ +public interface IEnergyTransport extends IEnergyProvider, IEnergyReceiver { + + /** + * The type of interface for a given side of a {@link IEnergyTransport}. + * + * Values are: + * {@link #SEND} for sending only + * {@link #RECEIVE} for receiving only + * {@link #BALANCE} for sending and receiving, and the default state + */ + enum InterfaceType { + /** + * Indicates that this {@link IEnergyTransport} is only sending power on this side. + */ + SEND, /** + * Indicates that this {@link IEnergyTransport} is only receiving power on this side. + */ + RECEIVE, /** + * Indicates that this {@link IEnergyTransport} wants to balance power between itself and the + * senders/receivers on this side. This is the default state. + * To block any connection, use {@link IEnergyConnection#canConnectEnergy} + * + * IEnergyTransport based senders should check that the total power in the destination IEnergyTransport is less than the power in themselves before sending. + * + * Active IEnergyTransport receivers (i.e., those that call {@link IEnergyProvider#extractEnergy}) should check that they contain less power than the + * source IEnergyTransport. + */ + BALANCE; + + /** + * Returns the opposite state to this InterfaceType. + * + * {@link #BALANCE} is considered its own opposite. + * {@link #SEND} is the opposite of {@link #RECEIVE} and visa versa. + */ + public InterfaceType getOpposite() { + + return this == BALANCE ? BALANCE : this == SEND ? RECEIVE : SEND; + } + + /** + * Returns the next InterfaceType as described in {@link IEnergyTransport#getTransportState} + */ + public InterfaceType rotate() { + + return rotate(true); + } + + /** + * Returns the next InterfaceType as described in {@link IEnergyTransport#getTransportState} + * + * @param forward Whether to step in the order specified by {@link IEnergyTransport#getTransportState} (true) or to step in the opposite direction + */ + public InterfaceType rotate(boolean forward) { + + if (forward) { + return this == BALANCE ? RECEIVE : this == RECEIVE ? SEND : BALANCE; + } else { + return this == BALANCE ? SEND : this == SEND ? RECEIVE : BALANCE; + } + } + } + + /** + * {@inheritDoc} + * This method cannot be a no-op for IEnergyTransport. + */ + @Override + int getEnergyStored(EnumFacing from); + + /** + * Indicates to other IEnergyTransports the state of the given side. See {@link InterfaceType} for details. + * + * For clarity of state tracking, on a tile update from another IEnergyTransport, if its mode has changed from the opposite of your own mode on that side, you + * should change your mode to the opposite of its mode. + * + * When the user alters your mode and your state is: + * BALANCE, your mode should change to {@link InterfaceType#RECEIVE}. + * RECEIVE, your mode should change to {@link InterfaceType#SEND}. + * SEND, your mode should change to {@link InterfaceType#BALANCE}. + * This is not required, but will be easier for users. + * + * @return The type of connection to establish on this side. null is NOT a valid value. + */ + InterfaceType getTransportState(EnumFacing from); + + /** + * This method is provided primarily for the purposes of automation tools, and should not need to be called by another IEnergyTransport. + * + * Calls to this method may fail if this IEnergyTransport has been secured by a user. + * + * @return Whether or not state was successfully altered. + */ + boolean setTransportState(InterfaceType state, EnumFacing from); + +} diff --git a/src/main/java/cofh/api/energy/ItemEnergyContainer.java b/src/main/java/cofh/api/energy/ItemEnergyContainer.java new file mode 100644 index 000000000..7705c76c0 --- /dev/null +++ b/src/main/java/cofh/api/energy/ItemEnergyContainer.java @@ -0,0 +1,112 @@ +package cofh.api.energy; + +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; + +/** + * Reference implementation of {@link IEnergyContainerItem}. Use/extend this or implement your own. + * + * @author King Lemming + */ +public class ItemEnergyContainer extends Item implements IEnergyContainerItem { + + protected int capacity; + protected int maxReceive; + protected int maxExtract; + + public ItemEnergyContainer() { + + } + + public ItemEnergyContainer(int capacity) { + + this(capacity, capacity, capacity); + } + + public ItemEnergyContainer(int capacity, int maxTransfer) { + + this(capacity, maxTransfer, maxTransfer); + } + + public ItemEnergyContainer(int capacity, int maxReceive, int maxExtract) { + + this.capacity = capacity; + this.maxReceive = maxReceive; + this.maxExtract = maxExtract; + } + + public ItemEnergyContainer setCapacity(int capacity) { + + this.capacity = capacity; + return this; + } + + public ItemEnergyContainer setMaxTransfer(int maxTransfer) { + + setMaxReceive(maxTransfer); + setMaxExtract(maxTransfer); + return this; + } + + public ItemEnergyContainer setMaxReceive(int maxReceive) { + + this.maxReceive = maxReceive; + return this; + } + + public ItemEnergyContainer setMaxExtract(int maxExtract) { + + this.maxExtract = maxExtract; + return this; + } + + /* IEnergyContainerItem */ + @Override + public int receiveEnergy(ItemStack container, int maxReceive, boolean simulate) { + + if (!container.hasTagCompound()) { + container.setTagCompound(new NBTTagCompound()); + } + int energy = container.getTagCompound().getInteger("Energy"); + int energyReceived = Math.min(capacity - energy, Math.min(this.maxReceive, maxReceive)); + + if (!simulate) { + energy += energyReceived; + container.getTagCompound().setInteger("Energy", energy); + } + return energyReceived; + } + + @Override + public int extractEnergy(ItemStack container, int maxExtract, boolean simulate) { + + if (container.getTagCompound() == null || !container.getTagCompound().hasKey("Energy")) { + return 0; + } + int energy = container.getTagCompound().getInteger("Energy"); + int energyExtracted = Math.min(energy, Math.min(this.maxExtract, maxExtract)); + + if (!simulate) { + energy -= energyExtracted; + container.getTagCompound().setInteger("Energy", energy); + } + return energyExtracted; + } + + @Override + public int getEnergyStored(ItemStack container) { + + if (container.getTagCompound() == null || !container.getTagCompound().hasKey("Energy")) { + return 0; + } + return container.getTagCompound().getInteger("Energy"); + } + + @Override + public int getMaxEnergyStored(ItemStack container) { + + return capacity; + } + +} diff --git a/src/main/java/cofh/api/energy/TileEnergyHandler.java b/src/main/java/cofh/api/energy/TileEnergyHandler.java new file mode 100644 index 000000000..d8415e24e --- /dev/null +++ b/src/main/java/cofh/api/energy/TileEnergyHandler.java @@ -0,0 +1,67 @@ +package cofh.api.energy; + +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.EnumFacing; + +/** + * Reference implementation of {@link IEnergyReceiver} and {@link IEnergyProvider}. Use/extend this or implement your own. + * + * This class is really meant to summarize how each interface is properly used. + * + * @author King Lemming + */ +public class TileEnergyHandler extends TileEntity implements IEnergyReceiver, IEnergyProvider { + + protected EnergyStorage storage = new EnergyStorage(32000); + + @Override + public void readFromNBT(NBTTagCompound nbt) { + + super.readFromNBT(nbt); + storage.readFromNBT(nbt); + } + + @Override + public NBTTagCompound writeToNBT(NBTTagCompound nbt) { + + super.writeToNBT(nbt); + storage.writeToNBT(nbt); + return nbt; + } + + /* IEnergyConnection */ + @Override + public boolean canConnectEnergy(EnumFacing from) { + + return true; + } + + /* IEnergyReceiver */ + @Override + public int receiveEnergy(EnumFacing from, int maxReceive, boolean simulate) { + + return storage.receiveEnergy(maxReceive, simulate); + } + + /* IEnergyProvider */ + @Override + public int extractEnergy(EnumFacing from, int maxExtract, boolean simulate) { + + return storage.extractEnergy(maxExtract, simulate); + } + + /* IEnergyHandler */ + @Override + public int getEnergyStored(EnumFacing from) { + + return storage.getEnergyStored(); + } + + @Override + public int getMaxEnergyStored(EnumFacing from) { + + return storage.getMaxEnergyStored(); + } + +} diff --git a/src/main/java/cofh/api/energy/package-info.java b/src/main/java/cofh/api/energy/package-info.java new file mode 100644 index 000000000..bf788ef51 --- /dev/null +++ b/src/main/java/cofh/api/energy/package-info.java @@ -0,0 +1,9 @@ +/** + * (C) 2014-2017 Team CoFH / CoFH / Cult of the Full Hub + * http://www.teamcofh.com + */ +@API (apiVersion = CoFHAPIProps.VERSION, owner = "cofhapi", provides = "cofhapi|energy") +package cofh.api.energy; + +import cofh.api.CoFHAPIProps; +import net.minecraftforge.fml.common.API; diff --git a/src/main/java/cofh/api/package-info.java b/src/main/java/cofh/api/package-info.java new file mode 100644 index 000000000..b12cff641 --- /dev/null +++ b/src/main/java/cofh/api/package-info.java @@ -0,0 +1,8 @@ +/** + * (C) 2014-2017 Team CoFH / CoFH / Cult of the Full Hub + * http://www.teamcofh.com + */ +@API (apiVersion = CoFHAPIProps.VERSION, owner = "cofhlib", provides = "cofhapi") +package cofh.api; + +import net.minecraftforge.fml.common.API; From b21ba2bc35984142e805e2850078366119292c07 Mon Sep 17 00:00:00 2001 From: Svein Ove Aas Date: Wed, 6 Feb 2019 01:08:48 +0000 Subject: [PATCH 32/61] Fix the exporters --- .../EnergyConverterElnToOtherEntity.java | 30 ++++++++----------- .../EnergyConverterElnToOtherFireWallRf.java | 14 +++++---- 2 files changed, 20 insertions(+), 24 deletions(-) diff --git a/src/main/java/mods/eln/simplenode/energyconverter/EnergyConverterElnToOtherEntity.java b/src/main/java/mods/eln/simplenode/energyconverter/EnergyConverterElnToOtherEntity.java index ccb090351..5f16f7de1 100644 --- a/src/main/java/mods/eln/simplenode/energyconverter/EnergyConverterElnToOtherEntity.java +++ b/src/main/java/mods/eln/simplenode/energyconverter/EnergyConverterElnToOtherEntity.java @@ -1,6 +1,7 @@ package mods.eln.simplenode.energyconverter; -import cofh.api.energy.IEnergyHandler; +//import cofh.api.energy.IEnergyHandler; +import cofh.api.energy.IEnergyProvider; import li.cil.oc.api.network.Environment; import li.cil.oc.api.network.Message; import li.cil.oc.api.network.Node; @@ -21,9 +22,9 @@ @Optional.InterfaceList({ @Optional.Interface(iface = "ic2.api.energy.tile.IEnergySource", modid = Other.modIdIc2), - @Optional.Interface(iface = "cofh.api.energy.IEnergyHandler", modid = Other.modIdTe), + @Optional.Interface(iface = "cofh.api.energy.IEnergyProvider", modid = Other.modIdTe), @Optional.Interface(iface = "li.cil.oc.api.network.Environment", modid = Other.modIdOc)}) -public class EnergyConverterElnToOtherEntity extends SimpleNodeEntity implements Environment, IEnergyHandler { +public class EnergyConverterElnToOtherEntity extends SimpleNodeEntity implements Environment, IEnergyProvider { float inPowerFactor; boolean hasChanges = false; @@ -155,13 +156,6 @@ public boolean canConnectEnergy(EnumFacing from) { return n.getFront().back() == Direction.fromFacing(from); } - @Override - @Optional.Method(modid = Other.modIdTe) - public int receiveEnergy(EnumFacing from, int maxReceive, boolean simulate) { - // Utils.println("*****receiveEnergy*****"); - return 0; - } - @Override @Optional.Method(modid = Other.modIdTe) public int extractEnergy(EnumFacing from, int maxExtract, boolean simulate) { @@ -206,16 +200,16 @@ public void update() { EnergyConverterElnToOtherFireWallRf.updateEntity(this); } - public void onLoaded() { - if (Other.ic2Loaded) - EnergyConverterElnToOtherFireWallIc2.onLoaded(this); - } +// public void onLoaded() { +// if (Other.ic2Loaded) +// EnergyConverterElnToOtherFireWallIc2.onLoaded(this); +// } @Override public void invalidate() { super.invalidate(); - if (Other.ic2Loaded) - EnergyConverterElnToOtherFireWallIc2.invalidate(this); +// if (Other.ic2Loaded) +// EnergyConverterElnToOtherFireWallIc2.invalidate(this); if (Other.ocLoaded) getOc().invalidate(); } @@ -223,8 +217,8 @@ public void invalidate() { @Override public void onChunkUnload() { super.onChunkUnload(); - if (Other.ic2Loaded) - EnergyConverterElnToOtherFireWallIc2.onChunkUnload(this); +// if (Other.ic2Loaded) +// EnergyConverterElnToOtherFireWallIc2.onChunkUnload(this); if (Other.ocLoaded) getOc().onChunkUnload(); } diff --git a/src/main/java/mods/eln/simplenode/energyconverter/EnergyConverterElnToOtherFireWallRf.java b/src/main/java/mods/eln/simplenode/energyconverter/EnergyConverterElnToOtherFireWallRf.java index db3d50147..ebbd15402 100644 --- a/src/main/java/mods/eln/simplenode/energyconverter/EnergyConverterElnToOtherFireWallRf.java +++ b/src/main/java/mods/eln/simplenode/energyconverter/EnergyConverterElnToOtherFireWallRf.java @@ -1,21 +1,23 @@ package mods.eln.simplenode.energyconverter; -import cofh.api.energy.IEnergyHandler; +import cofh.api.energy.IEnergyReceiver; import mods.eln.Other; import net.minecraft.tileentity.TileEntity; -public class EnergyConverterElnToOtherFireWallRf { - public static void updateEntity(EnergyConverterElnToOtherEntity e) { +class EnergyConverterElnToOtherFireWallRf { + // TODO(1.10): Fix RF conversion + + static void updateEntity(EnergyConverterElnToOtherEntity e) { if (e.getWorld().isRemote) return; if (e.getNode() == null) return; EnergyConverterElnToOtherNode node = (EnergyConverterElnToOtherNode) e.getNode(); TileEntity tileEntity = node.getFront().getInverse().applyToTileEntity(e); - if (tileEntity == null || !(tileEntity instanceof IEnergyHandler)) return; - IEnergyHandler energyHandler = (IEnergyHandler) tileEntity; + if (!(tileEntity instanceof IEnergyReceiver)) return; + IEnergyReceiver receiver = (IEnergyReceiver) tileEntity; double pMax = node.getOtherModEnergyBuffer(Other.getElnToTeConversionRatio()); - node.drawEnergy(energyHandler.receiveEnergy(node.getFront().toForge(), (int) pMax, false), Other.getElnToTeConversionRatio()); + node.drawEnergy(receiver.receiveEnergy(node.getFront().toForge(), (int) pMax, false), Other.getElnToTeConversionRatio()); } } From 7f42c38a4541f3621040e16ab402eba0dfa091e4 Mon Sep 17 00:00:00 2001 From: Svein Ove Aas Date: Wed, 6 Feb 2019 01:42:21 +0000 Subject: [PATCH 33/61] "Fix" the GUI code --- src/main/java/mods/eln/gui/GuiButtonEln.java | 14 +++++++------- .../java/mods/eln/gui/GuiContainerEln.java | 12 +++++++----- src/main/java/mods/eln/gui/GuiHelper.java | 18 ++++++++++-------- .../java/mods/eln/gui/GuiTextFieldEln.java | 3 ++- 4 files changed, 26 insertions(+), 21 deletions(-) diff --git a/src/main/java/mods/eln/gui/GuiButtonEln.java b/src/main/java/mods/eln/gui/GuiButtonEln.java index 414156728..3351475e9 100644 --- a/src/main/java/mods/eln/gui/GuiButtonEln.java +++ b/src/main/java/mods/eln/gui/GuiButtonEln.java @@ -47,13 +47,13 @@ public void onMouseClicked() { @Override public void imouseClicked(int x, int y, int code) { - if (mousePressed(Minecraft.getMinecraft(), x, y)) { - Minecraft.getMinecraft().getSoundHandler().playSound(PositionedSoundRecord.func_147674_a(new ResourceLocation("gui.button.press"), 1.0F)); - onMouseClicked(); - if (observer != null) { - observer.guiObjectEvent(this); - } - } +// if (mousePressed(Minecraft.getMinecraft(), x, y)) { +// Minecraft.getMinecraft().getSoundHandler().playSound(PositionedSoundRecord.(new ResourceLocation("gui.button.press"), 1.0F)); +// onMouseClicked(); +// if (observer != null) { +// observer.guiObjectEvent(this); +// } +// } } @Override diff --git a/src/main/java/mods/eln/gui/GuiContainerEln.java b/src/main/java/mods/eln/gui/GuiContainerEln.java index 139b290e1..26f3240e0 100644 --- a/src/main/java/mods/eln/gui/GuiContainerEln.java +++ b/src/main/java/mods/eln/gui/GuiContainerEln.java @@ -11,6 +11,7 @@ import org.lwjgl.input.Keyboard; import org.lwjgl.opengl.GL11; +import java.io.IOException; import java.util.ArrayList; public abstract class GuiContainerEln extends GuiContainer implements IGuiObjectObserver, GuiTextFieldElnObserver { @@ -84,22 +85,23 @@ public void drawTexturedModalRectEln(int x, int y, int u, int v, int width, int } @Override - protected void keyTyped(char key, int code) { + protected void keyTyped(char key, int code) throws IOException { helper.keyTyped(key, code); if (code == Keyboard.KEY_ESCAPE) { super.keyTyped(key, code); } } - protected void mouseClicked(int x, int y, int code) { + protected void mouseClicked(int x, int y, int code) throws IOException { helper.mouseClicked(x, y, code); super.mouseClicked(x, y, code); } @Override - protected void mouseMovedOrUp(int x, int y, int witch) { - helper.mouseMovedOrUp(x, y, witch); - super.mouseMovedOrUp(x, y, witch); + protected void mouseReleased(int mouseX, int mouseY, int state) { + // TODO(1.10): Really not sure about this. + super.mouseReleased(mouseX, mouseY, state); + helper.mouseMovedOrUp(mouseX, mouseY, state); } public boolean doesGuiPauseGame() { diff --git a/src/main/java/mods/eln/gui/GuiHelper.java b/src/main/java/mods/eln/gui/GuiHelper.java index cb4d2f931..186654f37 100644 --- a/src/main/java/mods/eln/gui/GuiHelper.java +++ b/src/main/java/mods/eln/gui/GuiHelper.java @@ -7,6 +7,7 @@ import net.minecraft.client.gui.inventory.GuiContainer; import net.minecraft.client.renderer.RenderHelper; import net.minecraft.client.renderer.Tessellator; +import net.minecraft.client.renderer.vertex.VertexFormat; import net.minecraft.util.ResourceLocation; import org.lwjgl.opengl.GL11; import org.lwjgl.opengl.GL12; @@ -23,7 +24,7 @@ public class GuiHelper { static final ResourceLocation slotSkin = new ResourceLocation("textures/gui/container/furnace.png"); - public static final Tessellator tessellator = new Tessellator(); + public static final Tessellator tessellator = new Tessellator(16); public GuiHelper(GuiScreen screen, int xSize, int ySize, String backgroundName) { this.screen = screen; @@ -292,14 +293,15 @@ public void drawGradientRect(int par1, int par2, int par3, int par4, int par5, i GL11.glDisable(GL11.GL_ALPHA_TEST); GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA); GL11.glShadeModel(GL11.GL_SMOOTH); + // TODO(1.10): Just no. Use LibLib. // Tessellator tessellator = Tessellator.instance; - tessellator.startDrawingQuads(); - tessellator.setColorRGBA_F(f1, f2, f3, f); - tessellator.addVertex((double) par3, (double) par2, 0); - tessellator.addVertex((double) par1, (double) par2, 0); - tessellator.setColorRGBA_F(f5, f6, f7, f4); - tessellator.addVertex((double) par1, (double) par4, 0); - tessellator.addVertex((double) par3, (double) par4, 0); +// tessellator.startDrawingQuads(); +// tessellator.setColorRGBA_F(f1, f2, f3, f); +// tessellator.addVertex((double) par3, (double) par2, 0); +// tessellator.addVertex((double) par1, (double) par2, 0); +// tessellator.setColorRGBA_F(f5, f6, f7, f4); +// tessellator.addVertex((double) par1, (double) par4, 0); +// tessellator.addVertex((double) par3, (double) par4, 0); tessellator.draw(); GL11.glShadeModel(GL11.GL_FLAT); GL11.glDisable(GL11.GL_BLEND); diff --git a/src/main/java/mods/eln/gui/GuiTextFieldEln.java b/src/main/java/mods/eln/gui/GuiTextFieldEln.java index 069183f3b..becf85ea8 100644 --- a/src/main/java/mods/eln/gui/GuiTextFieldEln.java +++ b/src/main/java/mods/eln/gui/GuiTextFieldEln.java @@ -17,7 +17,8 @@ public class GuiTextFieldEln extends GuiTextField implements IGuiObject { IGuiObjectObserver iGuiObjectObserver; public GuiTextFieldEln(FontRenderer par1FontRenderer, int x, int y, int w, int h, GuiHelper helper) { - super(par1FontRenderer, x, y, w, h); + super(0, // TODO(1.10): 0 is almost certainly wrong. + par1FontRenderer, x, y, w, h); setTextColor(-1); setDisabledTextColour(-1); setEnableBackgroundDrawing(true); From 07f31d248871227cd6dc33853cfb732a4a394888 Mon Sep 17 00:00:00 2001 From: Svein Ove Aas Date: Thu, 7 Feb 2019 00:45:25 +0000 Subject: [PATCH 34/61] Fix packet handling, maybe. --- .../java/mods/eln/node/NodeBlockEntity.java | 32 +++++++++++++------ 1 file changed, 22 insertions(+), 10 deletions(-) diff --git a/src/main/java/mods/eln/node/NodeBlockEntity.java b/src/main/java/mods/eln/node/NodeBlockEntity.java index 5f63964d7..08864d12f 100644 --- a/src/main/java/mods/eln/node/NodeBlockEntity.java +++ b/src/main/java/mods/eln/node/NodeBlockEntity.java @@ -14,9 +14,11 @@ import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.Container; import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.network.NetworkManager; import net.minecraft.network.Packet; import net.minecraft.network.PacketBuffer; import net.minecraft.network.play.server.SPacketCustomPayload; +import net.minecraft.network.play.server.SPacketUpdateTileEntity; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.math.AxisAlignedBB; import net.minecraft.util.math.BlockPos; @@ -24,10 +26,8 @@ import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.relauncher.SideOnly; -import java.io.ByteArrayOutputStream; -import java.io.DataInputStream; -import java.io.DataOutputStream; -import java.io.IOException; +import javax.annotation.Nullable; +import java.io.*; import java.util.LinkedList; @@ -255,20 +255,32 @@ public static NodeBlockEntity getEntity(BlockPos pos) { return null; } - //TODO: FIX PACKETS + // TODO(1.10): Packets are probably still broken somehow! + @Nullable @Override - public Packet getDescriptionPacket() { - Node node = getNode(); //TO DO NULL POINTER + public SPacketUpdateTileEntity getUpdatePacket() { + Node node = getNode(); if (node == null) { Utils.println("ASSERT NULL NODE public Packet getDescriptionPacket() nodeblock entity"); return null; } - ByteBuf buffer = Unpooled.buffer(); - return new SPacketCustomPayload(Eln.channelName, new PacketBuffer(buffer.writeBytes(node.getPublishPacket().toByteArray()))); - //return null; + NBTTagCompound tagCompound = new NBTTagCompound(); + tagCompound.setByteArray("eln", node.getPublishPacket().toByteArray()); + return new SPacketUpdateTileEntity( + getPos(), + getBlockMetadata(), + tagCompound + ); } + @Override + public void onDataPacket(NetworkManager net, SPacketUpdateTileEntity pkt) { + assert(worldObj.isRemote); + byte[] bytes = pkt.getNbtCompound().getByteArray("eln"); + DataInputStream dataInputStream = new DataInputStream(new ByteArrayInputStream(bytes)); + Eln.packetHandler.packetRx(dataInputStream, net, Minecraft.getMinecraft().thePlayer); + } public void preparePacketForServer(DataOutputStream stream) { try { From 5eee6f28a8aba711ec39ef4b44824ed66f114908 Mon Sep 17 00:00:00 2001 From: Svein Ove Aas Date: Tue, 26 Feb 2019 01:48:10 +0000 Subject: [PATCH 35/61] 1.10 port now compiles, among other things. Things such as crashing. --- src/main/java/mods/eln/Eln.java | 107 +++++++++--------- .../java/mods/eln/client/ClientProxy.java | 15 ++- .../eln/client/VersionCheckerHandler.java | 11 +- src/main/java/mods/eln/entity/EntityIDs.kt | 5 + .../mods/eln/entity/ReplicatorEntity.java | 46 ++++---- .../eln/entity/ReplicatorHungryAttack.java | 5 +- .../mods/eln/entity/ReplicatorPopProcess.java | 5 - .../mods/eln/entity/ReplicatorRender.java | 14 +-- .../eln/generic/GenericItemUsingDamage.java | 17 ++- .../mods/eln/generic/genericArmorItem.java | 4 +- .../java/mods/eln/ghost/GhostManager.java | 3 +- .../java/mods/eln/ghost/GhostManagerNbt.java | 1 + src/main/java/mods/eln/gui/GuiScreenEln.java | 7 +- src/main/java/mods/eln/misc/RecipesList.java | 4 +- src/main/java/mods/eln/misc/UtilsClient.java | 7 ++ src/main/java/mods/eln/node/NodeBase.java | 10 +- src/main/java/mods/eln/node/NodeBlock.java | 7 +- .../java/mods/eln/node/NodeBlockEntity.java | 5 +- .../eln/node/simple/SimpleNodeEntity.java | 54 +++++---- .../mods/eln/node/simple/SimpleNodeItem.java | 2 - src/main/java/mods/eln/node/six/SixNode.java | 11 +- .../java/mods/eln/node/six/SixNodeBlock.java | 15 +-- .../java/mods/eln/node/six/SixNodeEntity.java | 53 ++------- .../transparent/TransparentNodeBlock.java | 27 +++-- .../TransparentNodeElementRender.java | 4 +- .../transparent/TransparentNodeEntity.java | 3 - src/main/java/mods/eln/server/SaveConfig.java | 2 +- .../mods/eln/server/ServerEventListener.java | 1 + .../computerprobe/ComputerProbeEntity.java | 8 -- .../batterycharger/BatteryChargerRender.java | 19 ++-- .../java/mods/eln/sixnode/hub/HubGui.java | 4 +- .../sixnode/lampsocket/LampSocketRender.java | 98 ++++++++-------- src/main/java/mods/eln/sound/SoundClient.java | 33 ++++-- .../autominer/AutoMinerSlowProcess.java | 17 ++- .../eggincubator/EggIncubatorRender.java | 3 +- .../ElectricalAntennaTxSlowProcess.java | 47 ++------ .../ElectricalFurnaceProcess.java | 2 +- .../CompressorDescriptor.java | 5 +- .../MaceratorDescriptor.java | 5 +- .../MagnetizerDescriptor.java | 3 +- .../PlateMachineDescriptor.java | 5 +- .../HeatFurnaceInventoryProcess.java | 2 +- .../PowerCapacitorContainer.java | 2 +- .../solarpanel/SolarPanelElement.java | 2 +- .../solarpanel/SolarPannelSlowProcess.java | 7 +- .../teleporter/TeleporterElement.java | 2 +- .../windturbine/WindTurbineSlowProcess.java | 16 +-- src/main/java/mods/eln/wiki/GuiItemStack.java | 3 +- 48 files changed, 339 insertions(+), 389 deletions(-) create mode 100644 src/main/java/mods/eln/entity/EntityIDs.kt diff --git a/src/main/java/mods/eln/Eln.java b/src/main/java/mods/eln/Eln.java index 6fa6b3c2f..74b3533a1 100644 --- a/src/main/java/mods/eln/Eln.java +++ b/src/main/java/mods/eln/Eln.java @@ -1,18 +1,9 @@ package mods.eln; -import net.minecraftforge.fml.common.*; -import net.minecraftforge.fml.common.Mod.EventHandler; -import net.minecraftforge.fml.common.Mod.Instance; -import net.minecraftforge.fml.common.event.*; -import net.minecraftforge.fml.common.network.FMLEventChannel; -import net.minecraftforge.fml.common.network.NetworkRegistry; -import net.minecraftforge.fml.common.network.simpleimpl.SimpleNetworkWrapper; -import net.minecraftforge.fml.common.registry.EntityRegistry; -import net.minecraftforge.fml.common.registry.GameRegistry; -import net.minecraftforge.fml.relauncher.Side; import mods.eln.cable.CableRenderDescriptor; import mods.eln.client.ClientKeyHandler; import mods.eln.client.SoundLoader; +import mods.eln.entity.EntityIDs; import mods.eln.entity.ReplicatorEntity; import mods.eln.entity.ReplicatorPopProcess; import mods.eln.eventhandlers.ElnFMLEventsHandler; @@ -93,7 +84,10 @@ import mods.eln.sixnode.energymeter.EnergyMeterDescriptor; import mods.eln.sixnode.groundcable.GroundCableDescriptor; import mods.eln.sixnode.hub.HubDescriptor; -import mods.eln.sixnode.lampsocket.*; +import mods.eln.sixnode.lampsocket.LampSocketDescriptor; +import mods.eln.sixnode.lampsocket.LampSocketType; +import mods.eln.sixnode.lampsocket.LightBlock; +import mods.eln.sixnode.lampsocket.LightBlockEntity; import mods.eln.sixnode.lampsupply.LampSupplyDescriptor; import mods.eln.sixnode.lampsupply.LampSupplyElement; import mods.eln.sixnode.logicgate.*; @@ -154,6 +148,7 @@ import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.Blocks; import net.minecraft.init.Items; +import net.minecraft.init.SoundEvents; import net.minecraft.item.*; import net.minecraft.item.Item.ToolMaterial; import net.minecraft.item.ItemArmor.ArmorMaterial; @@ -167,6 +162,16 @@ import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.common.config.Configuration; import net.minecraftforge.common.config.Property; +import net.minecraftforge.fml.common.*; +import net.minecraftforge.fml.common.Mod.EventHandler; +import net.minecraftforge.fml.common.Mod.Instance; +import net.minecraftforge.fml.common.event.*; +import net.minecraftforge.fml.common.network.FMLEventChannel; +import net.minecraftforge.fml.common.network.NetworkRegistry; +import net.minecraftforge.fml.common.network.simpleimpl.SimpleNetworkWrapper; +import net.minecraftforge.fml.common.registry.EntityRegistry; +import net.minecraftforge.fml.common.registry.GameRegistry; +import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.oredict.OreDictionary; import net.minecraftforge.oredict.ShapedOreRecipe; import net.minecraftforge.oredict.ShapelessOreRecipe; @@ -348,28 +353,12 @@ public void preInit(FMLPreInitializationEvent event) { event.getSuggestedConfigurationFile()); config.load(); - - //Hacks for correct long date typing failures in config file - //WARNING/BUG: "renameProperty" changes the type to String! However read functions don't seem to care attention to it, so it's OK... for the moment. - if (config.hasKey("lamp", "incondescentLifeInHours")) - config.renameProperty("lamp", "incondescentLifeInHours", "incandescentLifeInHours"); - if (config.hasKey("mapgenerate", "plumb")) - config.renameProperty("mapgenerate", "plumb", "lead"); - if (config.hasKey("mapgenerate", "cooper")) - config.renameProperty("mapgenerate", "cooper", "copper"); - if (config.hasKey("simulation", "electricalFrequancy")) - config.renameProperty("simulation", "electricalFrequancy", "electricalFrequency"); - if (config.hasKey("simulation", "thermalFrequancy")) - config.renameProperty("simulation", "thermalFrequancy", "thermalFrequency"); - - modbusEnable = config.get("modbus", "enable", false).getBoolean(false); modbusPort = config.get("modbus", "port", 1502).getInt(1502); debugEnabled = config.get("debug", "enable", false).getBoolean(false); explosionEnable = config.get("gameplay", "explosion", true).getBoolean(true); - //explosionEnable = false; versionCheckEnabled = config.get("general", "versionCheckEnable", true).getBoolean(true); analyticsEnabled = config.get("general", "analyticsEnable", true).getBoolean(true); @@ -404,7 +393,6 @@ public void preInit(FMLPreInitializationEvent event) { replicatorPop = config.get("entity", "replicatorPop", true).getBoolean(true); ReplicatorPopProcess.popPerSecondPerPlayer = config.get("entity", "replicatorPopWhenThunderPerSecond", 1.0 / 120).getDouble(1.0 / 120); - replicatorRegistrationId = config.get("entity", "replicatorId", -1).getInt(-1); killMonstersAroundLamps = config.get("entity", "killMonstersAroundLamps", true).getBoolean(true); killMonstersAroundLampsRange = config.get("entity", "killMonstersAroundLampsRange", 9).getInt(9); @@ -3880,43 +3868,65 @@ private void registerElectricalMotor(int id) { } private void registerArmor() { - //TODO(1.10): ALL registerCustomItemStack commented + // TODO(1.10): Fix the textures? ItemStack stack; String name; { name = TR_NAME(Type.ITEM, "Copper Helmet"); - helmetCopper = (ItemArmor) (new genericArmorItem(ArmorMaterial.IRON, 2, ArmourType.Helmet, "eln:textures/armor/copper_layer_1.png", "eln:textures/armor/copper_layer_2.png")).setUnlocalizedName(name).setTextureName("eln:copper_helmet").setCreativeTab(creativeTab); - GameRegistry.registerItem(helmetCopper, "Eln." + name); + helmetCopper = (ItemArmor) (new genericArmorItem(ArmorMaterial.IRON, 2, ArmourType.Helmet, "eln:textures/armor/copper_layer_1.png", "eln:textures/armor/copper_layer_2.png")) + .setUnlocalizedName(name) + .setRegistryName(name) +// .setTextureName("eln:copper_helmet") + .setCreativeTab(creativeTab); + GameRegistry.register(helmetCopper); //GameRegistry.registerCustomItemStack(name, new ItemStack(helmetCopper)); } { name = TR_NAME(Type.ITEM, "Copper Chestplate"); - plateCopper = (ItemArmor) (new genericArmorItem(ArmorMaterial.IRON, 2, ArmourType.Chestplate, "eln:textures/armor/copper_layer_1.png", "eln:textures/armor/copper_layer_2.png")).setUnlocalizedName(name).setTextureName("eln:copper_chestplate").setCreativeTab(creativeTab); - GameRegistry.registerItem(plateCopper, "Eln." + name); + plateCopper = (ItemArmor) (new genericArmorItem(ArmorMaterial.IRON, 2, ArmourType.Chestplate, "eln:textures/armor/copper_layer_1.png", "eln:textures/armor/copper_layer_2.png")) + .setUnlocalizedName(name) + .setRegistryName(name) +// .setTextureName("eln:copper_chestplate") + .setCreativeTab(creativeTab); + GameRegistry.register(plateCopper); //GameRegistry.registerCustomItemStack(name, new ItemStack(plateCopper)); } { name = TR_NAME(Type.ITEM, "Copper Leggings"); - legsCopper = (ItemArmor) (new genericArmorItem(ArmorMaterial.IRON, 2, ArmourType.Leggings, "eln:textures/armor/copper_layer_1.png", "eln:textures/armor/copper_layer_2.png")).setUnlocalizedName(name).setTextureName("eln:copper_leggings").setCreativeTab(creativeTab); - GameRegistry.registerItem(legsCopper, "Eln." + name); + legsCopper = (ItemArmor) (new genericArmorItem(ArmorMaterial.IRON, 2, ArmourType.Leggings, "eln:textures/armor/copper_layer_1.png", "eln:textures/armor/copper_layer_2.png")) + .setUnlocalizedName(name) + .setRegistryName(name) +// .setTextureName("eln:copper_leggings") + .setCreativeTab(creativeTab); + GameRegistry.register(legsCopper); //GameRegistry.registerCustomItemStack(name, new ItemStack(legsCopper)); } { name = TR_NAME(Type.ITEM, "Copper Boots"); - bootsCopper = (ItemArmor) (new genericArmorItem(ArmorMaterial.IRON, 2, ArmourType.Boots, "eln:textures/armor/copper_layer_1.png", "eln:textures/armor/copper_layer_2.png")).setUnlocalizedName(name).setTextureName("eln:copper_boots").setCreativeTab(creativeTab); - GameRegistry.registerItem(bootsCopper, "Eln." + name); + bootsCopper = (ItemArmor) (new genericArmorItem(ArmorMaterial.IRON, 2, ArmourType.Boots, "eln:textures/armor/copper_layer_1.png", "eln:textures/armor/copper_layer_2.png")) + .setUnlocalizedName(name) + .setRegistryName(name) +// .setTextureName("eln:copper_boots") + .setCreativeTab(creativeTab); + GameRegistry.register(bootsCopper); //GameRegistry.registerCustomItemStack(name, new ItemStack(bootsCopper)); } - int armorPoint; String t1, t2; t1 = "eln:textures/armor/ecoal_layer_1.png"; t2 = "eln:textures/armor/ecoal_layer_2.png"; double energyPerDamage = 500; int armor, armorMarge; - ArmorMaterial eCoalMaterial = net.minecraftforge.common.util.EnumHelper.addArmorMaterial("ECoal", 10, new int[]{2, 6, 5, 2}, 9); + ArmorMaterial eCoalMaterial = net.minecraftforge.common.util.EnumHelper.addArmorMaterial( + "ECoal", + "ECoal", + 10, + new int[]{2, 6, 5, 2}, + 9, + SoundEvents.ITEM_ARMOR_EQUIP_LEATHER, + 10); { name = TR_NAME(Type.ITEM, "E-Coal Helmet"); armor = 2; @@ -6600,8 +6610,8 @@ private void recipeMiscItem() { private void recipeMacerator() { float f = 4000; - maceratorRecipes.addRecipe(new Recipe(new ItemStack(Blocks.coal_ore, 1), - new ItemStack(Items.coal, 3, 0), 1.0 * f)); + maceratorRecipes.addRecipe(new Recipe(new ItemStack(Blocks.COAL_ORE, 1), + new ItemStack(Items.COAL, 3, 0), 1.0 * f)); maceratorRecipes.addRecipe(new Recipe(findItemStack("Copper Ore"), new ItemStack[]{findItemStack("Copper Dust", 2)}, 1.0 * f)); maceratorRecipes.addRecipe(new Recipe(new ItemStack(Blocks.IRON_ORE), @@ -7383,26 +7393,13 @@ private void recipeTool() { } - private int replicatorRegistrationId = -1; - private void registerReplicator() { - int redColor = (255 << 16); - int orangeColor = (255 << 16) + (200 << 8); - - if (replicatorRegistrationId == -1) - //PROBABLY WILL HAVE TO BE REMOVED - replicatorRegistrationId = EntityRegistry.findGlobalUniqueEntityId(); - Utils.println("Replicator registred at" + replicatorRegistrationId); - // Register mob WIP VARIABLES - EntityRegistry.registerModEntity(ReplicatorEntity.class, TR_NAME(Type.ENTITY, "EAReplicator"), replicatorRegistrationId, Eln.instance, 20, 20, true); + EntityRegistry.registerModEntity(ReplicatorEntity.class, TR_NAME(Type.ENTITY, "EAReplicator"), EntityIDs.REPLICATOR.getId(), Eln.instance, 20, 20, true); ReplicatorEntity.dropList.add(findItemStack("Iron Dust", 1)); ReplicatorEntity.dropList.add(findItemStack("Copper Dust", 1)); ReplicatorEntity.dropList.add(findItemStack("Gold Dust", 1)); ReplicatorEntity.dropList.add(new ItemStack(Items.REDSTONE)); ReplicatorEntity.dropList.add(new ItemStack(Items.GLOWSTONE_DUST)); - // Add mob spawn - // EntityRegistry.addSpawn(ReplicatorEntity.class, 1, 1, 2, EnumCreatureType.monster, BiomeGenBase.plains); - } // Registers WIP items. diff --git a/src/main/java/mods/eln/client/ClientProxy.java b/src/main/java/mods/eln/client/ClientProxy.java index 1314b61b1..eae731503 100644 --- a/src/main/java/mods/eln/client/ClientProxy.java +++ b/src/main/java/mods/eln/client/ClientProxy.java @@ -1,6 +1,9 @@ package mods.eln.client; +import net.minecraft.client.renderer.entity.Render; +import net.minecraft.client.renderer.entity.RenderManager; import net.minecraftforge.fml.client.registry.ClientRegistry; +import net.minecraftforge.fml.client.registry.IRenderFactory; import net.minecraftforge.fml.client.registry.RenderingRegistry; import net.minecraftforge.fml.common.FMLCommonHandler; import mods.eln.CommonProxy; @@ -29,12 +32,14 @@ public void registerRenderers() { ClientRegistry.bindTileEntitySpecialRenderer(SixNodeEntity.class, new SixNodeRender()); ClientRegistry.bindTileEntitySpecialRenderer(TransparentNodeEntity.class, new TransparentNodeRender()); - MinecraftForgeClient.registerItemRenderer(Eln.transparentNodeItem, Eln.transparentNodeItem); - MinecraftForgeClient.registerItemRenderer(Eln.sixNodeItem, Eln.sixNodeItem); - MinecraftForgeClient.registerItemRenderer(Eln.sharedItem, Eln.sharedItem); - MinecraftForgeClient.registerItemRenderer(Eln.sharedItemStackOne, Eln.sharedItemStackOne); +// MinecraftForgeClient.registerItemRenderer(Eln.transparentNodeItem, Eln.transparentNodeItem); +// MinecraftForgeClient.registerItemRenderer(Eln.sixNodeItem, Eln.sixNodeItem); +// MinecraftForgeClient.registerItemRenderer(Eln.sharedItem, Eln.sharedItem); +// MinecraftForgeClient.registerItemRenderer(Eln.sharedItemStackOne, Eln.sharedItemStackOne); - RenderingRegistry.registerEntityRenderingHandler(ReplicatorEntity.class, new ReplicatorRender(new ModelSilverfish(), (float) 0.3)); + RenderingRegistry.registerEntityRenderingHandler( + ReplicatorEntity.class, + manager -> new ReplicatorRender(manager, new ModelSilverfish(), 0.3f)); Eln.clientKeyHandler = new ClientKeyHandler(); FMLCommonHandler.instance().bus().register(Eln.clientKeyHandler); diff --git a/src/main/java/mods/eln/client/VersionCheckerHandler.java b/src/main/java/mods/eln/client/VersionCheckerHandler.java index 2a2a7c708..b5887290b 100644 --- a/src/main/java/mods/eln/client/VersionCheckerHandler.java +++ b/src/main/java/mods/eln/client/VersionCheckerHandler.java @@ -2,16 +2,17 @@ import com.google.gson.JsonObject; import com.google.gson.JsonParser; -import net.minecraftforge.fml.client.FMLClientHandler; -import net.minecraftforge.fml.common.FMLCommonHandler; -import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; -import net.minecraftforge.fml.common.gameevent.TickEvent.ClientTickEvent; -import net.minecraftforge.fml.common.gameevent.TickEvent.Phase; import mods.eln.Eln; import mods.eln.misc.Color; import mods.eln.misc.Version; import net.minecraft.client.Minecraft; import net.minecraft.client.multiplayer.WorldClient; +import net.minecraft.util.text.TextComponentString; +import net.minecraftforge.fml.client.FMLClientHandler; +import net.minecraftforge.fml.common.FMLCommonHandler; +import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; +import net.minecraftforge.fml.common.gameevent.TickEvent.ClientTickEvent; +import net.minecraftforge.fml.common.gameevent.TickEvent.Phase; import org.apache.commons.io.IOUtils; import java.io.IOException; diff --git a/src/main/java/mods/eln/entity/EntityIDs.kt b/src/main/java/mods/eln/entity/EntityIDs.kt new file mode 100644 index 000000000..29ecd6111 --- /dev/null +++ b/src/main/java/mods/eln/entity/EntityIDs.kt @@ -0,0 +1,5 @@ +package mods.eln.entity + +enum class EntityIDs(val id: Int) { + REPLICATOR(0) +} diff --git a/src/main/java/mods/eln/entity/ReplicatorEntity.java b/src/main/java/mods/eln/entity/ReplicatorEntity.java index 4e916a06f..2bf7b05b1 100644 --- a/src/main/java/mods/eln/entity/ReplicatorEntity.java +++ b/src/main/java/mods/eln/entity/ReplicatorEntity.java @@ -1,6 +1,7 @@ package mods.eln.entity; import mods.eln.misc.Utils; +import net.minecraft.block.Block; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityList; import net.minecraft.entity.EnumCreatureAttribute; @@ -9,14 +10,15 @@ import net.minecraft.entity.monster.EntityMob; import net.minecraft.entity.passive.EntityVillager; import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Items; import net.minecraft.init.SoundEvents; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.DamageSource; -import net.minecraft.util.ResourceLocation; +import net.minecraft.util.SoundEvent; +import net.minecraft.util.math.BlockPos; import net.minecraft.world.World; -import net.minecraftforge.client.event.sound.SoundEvent; import java.util.ArrayList; import java.util.Map.Entry; @@ -36,7 +38,7 @@ public class ReplicatorEntity extends EntityMob { public ReplicatorEntity(World par1World) { super(par1World); - func_110163_bv(); //persistenceRequired + enablePersistence(); this.setSize(0.3F, 0.7F); @@ -44,10 +46,11 @@ public ReplicatorEntity(World par1World) { int p = 0; this.tasks.addTask(p++, new EntityAISwimming(this)); - // this.tasks.addTask(p++, new EntityAIBreakDoor(this)); - this.tasks.addTask(p++, new EntityAIAttackOnCollide(this, EntityPlayer.class, 1.0D, false)); - this.tasks.addTask(p++, new EntityAIAttackOnCollide(this, EntityVillager.class, 1.0D, true)); - this.tasks.addTask(p++, new EntityAIAttackOnCollide(this, ReplicatorEntity.class, 1.0D, true)); + // TODO(1.10): Is there a replacement for this? Is it even needed anymore? + // TODO: Also, consider leaping towards targets. +// this.tasks.addTask(p++, new EntityAIAttackOnCollide(this, EntityPlayer.class, 1.0D, false)); +// this.tasks.addTask(p++, new EntityAIAttackOnCollide(this, EntityVillager.class, 1.0D, true)); +// this.tasks.addTask(p++, new EntityAIAttackOnCollide(this, ReplicatorEntity.class, 1.0D, true)); this.tasks.addTask(p++, replicatorIa); this.tasks.addTask(p++, new EntityAIMoveTowardsRestriction(this, 1.0D)); this.tasks.addTask(p++, new EntityAIMoveThroughVillage(this, 1.0D, false)); @@ -58,7 +61,7 @@ public ReplicatorEntity(World par1World) { this.targetTasks.addTask(p++, new EntityAIHurtByTarget(this, true)); this.targetTasks.addTask(p, new EntityAINearestAttackableTarget(this, EntityPlayer.class, true, true)); this.targetTasks.addTask(p, new EntityAINearestAttackableTarget(this, EntityVillager.class, true, false)); - this.targetTasks.addTask(p++, new ReplicatorHungryAttack(this, ReplicatorEntity.class, 0, false)); + this.targetTasks.addTask(p++, new ReplicatorHungryAttack(this, ReplicatorEntity.class, 0, false, true, null)); // this.targetTasks.addTask(p++, new EntityAINearestAttackableTarget(this, ReplicatorEntity.class, 0, false)); // this.targetTasks.addTask(p++, replicatorIa); } @@ -108,31 +111,32 @@ protected void applyEntityAttributes() { // this.getAttributeMap().func_111150_b(field_110186_bp).setAttribute(this.rand.nextDouble() * ForgeDummyContainer.zombieSummonBaseChance); } - protected boolean isAIEnabled() { - return true; - } + // TODO(1.10): Necessary? +// @Override +// public boolean isAIDisabled() { +// return false; +// } - //TODO: FIX SOUND EVENTS - protected SoundEvent getLivingSound() { + protected SoundEvent getAmbientSound() + { return SoundEvents.ENTITY_SILVERFISH_AMBIENT; } - protected SoundEvent getHurtSound() { + protected SoundEvent getHurtSound() + { return SoundEvents.ENTITY_SILVERFISH_HURT; } - protected SoundEvent getDeathSound() { + protected SoundEvent getDeathSound() + { return SoundEvents.ENTITY_SILVERFISH_DEATH; } - /*protected void playStepSound(int par1, int par2, int par3, int par4) { - this.playSound("mob.silverfish.step", 0.15F, 1.0F); + protected void playStepSound(BlockPos pos, Block blockIn) + { + this.playSound(SoundEvents.ENTITY_SILVERFISH_STEP, 0.15F, 1.0F); } - protected int getDropItemId() { - return Item.getIdFromItem(Items.rotten_flesh); - }*/ - @Override protected void dropFewItems(boolean par1, int par2) { this.entityDropItem(dropList.get(new Random().nextInt(dropList.size())).copy(), 0.5f); diff --git a/src/main/java/mods/eln/entity/ReplicatorHungryAttack.java b/src/main/java/mods/eln/entity/ReplicatorHungryAttack.java index ac5c48eba..cf7179f44 100644 --- a/src/main/java/mods/eln/entity/ReplicatorHungryAttack.java +++ b/src/main/java/mods/eln/entity/ReplicatorHungryAttack.java @@ -1,13 +1,14 @@ package mods.eln.entity; +import com.google.common.base.Predicate; import net.minecraft.entity.ai.EntityAINearestAttackableTarget; public class ReplicatorHungryAttack extends EntityAINearestAttackableTarget { ReplicatorEntity replicator; - public ReplicatorHungryAttack(ReplicatorEntity replicator, Class par2Class, int par3, boolean par4) { - super(replicator, par2Class, par3, par4); + public ReplicatorHungryAttack(ReplicatorEntity replicator, Class classTarget, int chance, boolean checkSight, boolean onlyNearby, Predicate targetSelector) { + super(replicator, classTarget, chance, checkSight, onlyNearby, targetSelector); this.replicator = replicator; } diff --git a/src/main/java/mods/eln/entity/ReplicatorPopProcess.java b/src/main/java/mods/eln/entity/ReplicatorPopProcess.java index 9ca39cded..3676dd9ae 100644 --- a/src/main/java/mods/eln/entity/ReplicatorPopProcess.java +++ b/src/main/java/mods/eln/entity/ReplicatorPopProcess.java @@ -48,11 +48,6 @@ public void process(double time) { BlockPos pos = new BlockPos(x,y,z); Utils.println("POP"); - //TODO: Fix blockExists() - //Only solution I found was canPlaceBlockAt() but its not what we want - //Maybe its not needed anymore? - if (world.blockExists(pos) == false) break; - while (world.isAirBlock(pos) || Utils.getLight(world, EnumSkyBlock.BLOCK, pos) > 6) { y++; } diff --git a/src/main/java/mods/eln/entity/ReplicatorRender.java b/src/main/java/mods/eln/entity/ReplicatorRender.java index 356ea321d..05da2f6ce 100644 --- a/src/main/java/mods/eln/entity/ReplicatorRender.java +++ b/src/main/java/mods/eln/entity/ReplicatorRender.java @@ -2,6 +2,7 @@ import net.minecraft.client.model.ModelBase; import net.minecraft.client.renderer.entity.RenderLiving; +import net.minecraft.client.renderer.entity.RenderManager; import net.minecraft.entity.Entity; import net.minecraft.util.ResourceLocation; @@ -9,21 +10,12 @@ public class ReplicatorRender extends RenderLiving { private static final ResourceLocation res = new ResourceLocation("eln:textures/entity/replicator.png"); - public ReplicatorRender(ModelBase par1ModelBase, float par2) { - super(par1ModelBase, par2); + public ReplicatorRender(RenderManager rendermanagerIn, ModelBase modelbaseIn, float shadowsizeIn) { + super(rendermanagerIn, modelbaseIn, shadowsizeIn); } @Override protected ResourceLocation getEntityTexture(Entity entity) { return res; } - - /*@Override - public void doRender(Entity par1Entity, double par2, double par4, double par6, float par8, float par9) { - //UtilsClient.disableDepthTest(); - //GL11.glColor3f(1, 0, 0); - super.doRender(par1Entity, par2, par4, par6, par8, par9); - //GL11.glColor3f(1, 1, 1); - //UtilsClient.enableDepthTest(); - }*/ } diff --git a/src/main/java/mods/eln/generic/GenericItemUsingDamage.java b/src/main/java/mods/eln/generic/GenericItemUsingDamage.java index 7b337b7da..18904b09f 100644 --- a/src/main/java/mods/eln/generic/GenericItemUsingDamage.java +++ b/src/main/java/mods/eln/generic/GenericItemUsingDamage.java @@ -34,24 +34,21 @@ public GenericItemUsingDamage() { setHasSubtypes(true); } - public void setDefaultElement(Descriptor descriptor) { - defaultElement = descriptor; - } - public void addWithoutRegistry(int damage, Descriptor descriptor) { subItemList.put(damage, descriptor); - ItemStack stack = new ItemStack(this, 1, damage); - LanguageRegistry.addName(stack, descriptor.name); + setUnlocalizedName(descriptor.name); + setRegistryName(descriptor.name); + GameRegistry.register(this); descriptor.setParent(this, damage); } public void addElement(int damage, Descriptor descriptor) { subItemList.put(damage, descriptor); - ItemStack stack = new ItemStack(this, 1, damage); - LanguageRegistry.addName(stack, descriptor.name); + setUnlocalizedName(descriptor.name); + setRegistryName(descriptor.name); + GameRegistry.register(this); orderList.add(damage); descriptor.setParent(this, damage); - GameRegistry.registerCustomItemStack(descriptor.name, descriptor.newItemStack(1)); } public Descriptor getDescriptor(int damage) { @@ -162,7 +159,7 @@ public void onUpdate(ItemStack stack, World world, Entity entity, int par4, bool } @Override - public float func_150893_a(ItemStack stack, IBlockState state) { //getStrVsBlock + public float getStrVsBlock(ItemStack stack, IBlockState state) { GenericItemUsingDamageDescriptor d = getDescriptor(stack); if (d == null) return 0.2f; diff --git a/src/main/java/mods/eln/generic/genericArmorItem.java b/src/main/java/mods/eln/generic/genericArmorItem.java index 538957704..d82c2b533 100644 --- a/src/main/java/mods/eln/generic/genericArmorItem.java +++ b/src/main/java/mods/eln/generic/genericArmorItem.java @@ -32,9 +32,9 @@ public genericArmorItem(ArmorMaterial par2EnumArmorMaterial, int par3, ArmourTyp this.t2 = t2; } - //TODO: FIX TEXTURES + // TODO(1.10): WTF? @Override - public String getArmorTexture(ItemStack stack, Entity entity, int slot, String layer) { + public String getArmorTexture(ItemStack stack, Entity entity, EntityEquipmentSlot slot, String type) { if (this.armorType.getIndex() == 2) { return t2; } else { diff --git a/src/main/java/mods/eln/ghost/GhostManager.java b/src/main/java/mods/eln/ghost/GhostManager.java index 0b74d5802..ed59c72d4 100644 --- a/src/main/java/mods/eln/ghost/GhostManager.java +++ b/src/main/java/mods/eln/ghost/GhostManager.java @@ -129,13 +129,14 @@ public void readFromNBT(NBTTagCompound nbt) { @Override public NBTTagCompound writeToNBT(NBTTagCompound nbt) { - /* int nodeCounter = 0; + /* int nodeCounter = 0; for(GhostElement ghost : ghostTable.values()) { NBTTagCompound nbtGhost = new NBTTagCompound(); ghost.writeToNBT(nbtGhost, ""); nbt.setTag("n" + nodeCounter++, nbtGhost); }*/ + return nbt; } public void loadFromNBT(NBTTagCompound nbt) { diff --git a/src/main/java/mods/eln/ghost/GhostManagerNbt.java b/src/main/java/mods/eln/ghost/GhostManagerNbt.java index cdda6f398..028339f56 100644 --- a/src/main/java/mods/eln/ghost/GhostManagerNbt.java +++ b/src/main/java/mods/eln/ghost/GhostManagerNbt.java @@ -22,5 +22,6 @@ public void readFromNBT(NBTTagCompound nbt) { @Override public NBTTagCompound writeToNBT(NBTTagCompound nbt) { //Eln.ghostManager.saveToNbt(nbt, Integer.MIN_VALUE); + return nbt; } } diff --git a/src/main/java/mods/eln/gui/GuiScreenEln.java b/src/main/java/mods/eln/gui/GuiScreenEln.java index 7dc04c789..accd9507e 100644 --- a/src/main/java/mods/eln/gui/GuiScreenEln.java +++ b/src/main/java/mods/eln/gui/GuiScreenEln.java @@ -67,9 +67,10 @@ protected void mouseClicked(int x, int y, int code) throws IOException { } @Override - protected void mouseMovedOrUp(int x, int y, int witch) { - helper.mouseMovedOrUp(x, y, witch); - super.mouseMovedOrUp(x, y, witch); + protected void mouseReleased(int mouseX, int mouseY, int state) { + // TODO(1.10): Really not sure about this. + super.mouseReleased(mouseX, mouseY, state); + helper.mouseMovedOrUp(mouseX, mouseY, state); } public boolean doesGuiPauseGame() { diff --git a/src/main/java/mods/eln/misc/RecipesList.java b/src/main/java/mods/eln/misc/RecipesList.java index 76bd5d207..be4b34b14 100644 --- a/src/main/java/mods/eln/misc/RecipesList.java +++ b/src/main/java/mods/eln/misc/RecipesList.java @@ -66,7 +66,7 @@ public static ArrayList getGlobalRecipeWithOutput(ItemStack output) { list.addAll(recipesList.getRecipeFromOutput(output)); } - FurnaceRecipes furnaceRecipes = FurnaceRecipes.smelting(); + FurnaceRecipes furnaceRecipes = FurnaceRecipes.instance(); { Iterator it = furnaceRecipes.getSmeltingList().entrySet().iterator(); @@ -99,7 +99,7 @@ public static ArrayList getGlobalRecipeWithInput(ItemStack input) { list.add(r); } - FurnaceRecipes furnaceRecipes = FurnaceRecipes.smelting(); + FurnaceRecipes furnaceRecipes = FurnaceRecipes.instance(); ItemStack smeltResult = furnaceRecipes.getSmeltingResult(input); Recipe smeltRecipe; if (smeltResult != null) { diff --git a/src/main/java/mods/eln/misc/UtilsClient.java b/src/main/java/mods/eln/misc/UtilsClient.java index 2c199c583..3c48f53cf 100644 --- a/src/main/java/mods/eln/misc/UtilsClient.java +++ b/src/main/java/mods/eln/misc/UtilsClient.java @@ -1,5 +1,6 @@ package mods.eln.misc; +import io.netty.buffer.Unpooled; import net.minecraft.client.entity.EntityPlayerSP; import net.minecraft.client.renderer.RenderItem; import net.minecraft.entity.player.EntityPlayerMP; @@ -32,6 +33,7 @@ import org.lwjgl.opengl.GL11; import java.awt.Color; +import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.util.HashSet; import java.util.List; @@ -551,6 +553,11 @@ public static void sendPacketToServer(PacketBuffer bos) { Eln.eventChannel.sendToServer(new FMLProxyPacket(packet)); } + @Deprecated + public static void sendPacketToServer(ByteArrayOutputStream bos) { + sendPacketToServer(new PacketBuffer(Unpooled.buffer().readBytes(bos.toByteArray()))); + } + public static int getUuid() { if (uuid > -1) uuid = Integer.MIN_VALUE; diff --git a/src/main/java/mods/eln/node/NodeBase.java b/src/main/java/mods/eln/node/NodeBase.java index d6164d777..2a0c79920 100644 --- a/src/main/java/mods/eln/node/NodeBase.java +++ b/src/main/java/mods/eln/node/NodeBase.java @@ -18,6 +18,7 @@ import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.server.MinecraftServer; +import net.minecraft.server.management.PlayerChunkMap; import net.minecraft.util.math.BlockPos; import net.minecraft.world.World; import net.minecraft.world.WorldServer; @@ -486,15 +487,13 @@ public void sendPacketToAllClient(ByteArrayOutputStream bos, double range) { MinecraftServer server = FMLCommonHandler.instance().getMinecraftServerInstance(); - //TODO: Find new way to get isPlayerWatchingChunk() - for (Object obj : server.getEntityWorld().playerEntities) { EntityPlayerMP player = (EntityPlayerMP) obj; WorldServer worldServer = (WorldServer) server.worldServerForDimension(player.dimension); - PlayerManager playerManager = worldServer.getPlayerManager(); + if (player.dimension != this.coordinate.getDimension()) continue; - if (!playerManager.isPlayerWatchingChunk(player, coordinate.pos.getX() / 16, coordinate.pos.getZ() / 16)) continue; + if (!worldServer.getPlayerChunkMap().isPlayerWatchingChunk(player, coordinate.pos.getX() / 16, coordinate.pos.getZ() / 16)) continue; if (coordinate.distanceTo(player) > range) continue; Utils.sendPacketToClient(bos, player); @@ -535,9 +534,8 @@ public void publishToAllPlayer() { for (Object obj : server.getEntityWorld().playerEntities) { EntityPlayerMP player = (EntityPlayerMP) obj; WorldServer worldServer = (WorldServer) server.worldServerForDimension(player.dimension); - PlayerManager playerManager = worldServer.getPlayerManager(); if (player.dimension != this.coordinate.getDimension()) continue; - if (!playerManager.isPlayerWatchingChunk(player, coordinate.pos.getX() / 16, coordinate.pos.getZ() / 16)) continue; + if (!worldServer.getPlayerChunkMap().isPlayerWatchingChunk(player, coordinate.pos.getX() / 16, coordinate.pos.getZ() / 16)) continue; Utils.sendPacketToClient(getPublishPacket(), player); } diff --git a/src/main/java/mods/eln/node/NodeBlock.java b/src/main/java/mods/eln/node/NodeBlock.java index bb11a3cc8..0aeed3e78 100644 --- a/src/main/java/mods/eln/node/NodeBlock.java +++ b/src/main/java/mods/eln/node/NodeBlock.java @@ -37,15 +37,12 @@ public NodeBlock(Material material, Class tileEntityClass, int blockItemNbr) { @Override public float getBlockHardness(IBlockState blockState, World worldIn, BlockPos pos) { - return 1.0f; } - - //TODO: Fix function isProvidingWeakPower @Override - public int isProvidingWeakPower(IBlockAccess block, BlockPos pos, EnumFacing side) { - NodeBlockEntity entity = (NodeBlockEntity) block.getTileEntity(pos); + public int getWeakPower(IBlockState blockState, IBlockAccess blockAccess, BlockPos pos, EnumFacing side) { + NodeBlockEntity entity = (NodeBlockEntity) blockAccess.getTileEntity(pos); return entity.isProvidingWeakPower(Direction.fromFacing(side)); } diff --git a/src/main/java/mods/eln/node/NodeBlockEntity.java b/src/main/java/mods/eln/node/NodeBlockEntity.java index 08864d12f..db5f437c2 100644 --- a/src/main/java/mods/eln/node/NodeBlockEntity.java +++ b/src/main/java/mods/eln/node/NodeBlockEntity.java @@ -293,16 +293,13 @@ public void preparePacketForServer(DataOutputStream stream) { stream.writeByte(worldObj.provider.getDimension()); stream.writeUTF(getNodeUuid()); - - } catch (IOException e) { - e.printStackTrace(); } } public void sendPacketToServer(ByteArrayOutputStream bos) { - UtilsClient.sendPacketToServer(new PacketBuffer(Unpooled.buffer().readBytes(bos.toByteArray()))); + UtilsClient.sendPacketToServer(bos); } diff --git a/src/main/java/mods/eln/node/simple/SimpleNodeEntity.java b/src/main/java/mods/eln/node/simple/SimpleNodeEntity.java index de3519e4c..eac82fa40 100644 --- a/src/main/java/mods/eln/node/simple/SimpleNodeEntity.java +++ b/src/main/java/mods/eln/node/simple/SimpleNodeEntity.java @@ -10,16 +10,20 @@ import mods.eln.node.NodeManager; import mods.eln.server.DelayedBlockRemove; import net.minecraft.block.state.IBlockState; +import net.minecraft.client.Minecraft; import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.Container; -import net.minecraft.network.Packet; -import net.minecraft.network.play.server.SPacketCustomPayload; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.network.NetworkManager; +import net.minecraft.network.play.server.SPacketUpdateTileEntity; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.ITickable; import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.relauncher.SideOnly; +import javax.annotation.Nullable; +import java.io.ByteArrayInputStream; import java.io.DataInputStream; import java.io.IOException; @@ -44,11 +48,6 @@ public SimpleNode getNode() { //***************** Wrapping ************************** - /* - public void onBlockPlacedBy(Direction front, EntityLivingBase entityLiving, int metadata) { - - } -*/ void onBlockAdded() { /*if (!worldObj.isRemote){ @@ -112,6 +111,32 @@ public Object getDescriptor() { public Direction front; + // TODO(1.10): Packets are probably still broken somehow! + @Nullable + @Override + public SPacketUpdateTileEntity getUpdatePacket() { + SimpleNode node = getNode(); + if (node == null) { + Utils.println("ASSERT NULL NODE public Packet getDescriptionPacket() nodeblock entity"); + return null; + } + NBTTagCompound tagCompound = new NBTTagCompound(); + tagCompound.setByteArray("eln", node.getPublishPacket().toByteArray()); + return new SPacketUpdateTileEntity( + getPos(), + getBlockMetadata(), + tagCompound + ); + } + + @Override + public void onDataPacket(NetworkManager net, SPacketUpdateTileEntity pkt) { + assert(worldObj.isRemote); + byte[] bytes = pkt.getNbtCompound().getByteArray("eln"); + DataInputStream dataInputStream = new DataInputStream(new ByteArrayInputStream(bytes)); + Eln.packetHandler.packetRx(dataInputStream, net, Minecraft.getMinecraft().thePlayer); + } + @Override public void serverPublishUnserialize(DataInputStream stream) { try { @@ -126,21 +151,8 @@ public void serverPublishUnserialize(DataInputStream stream) { @Override public void serverPacketUnserialize(DataInputStream stream) { - } - //TODO: FIX Packets - @Override - public Packet getDescriptionPacket() { - SimpleNode node = getNode(); - if (node == null) { - Utils.println("ASSERT NULL NODE public Packet getDescriptionPacket() nodeblock entity"); - return null; - } - return new SPacketCustomPayload(Eln.channelName, node.getPublishPacket()); - } - - public NodeEntityClientSender sender = new NodeEntityClientSender(this, getNodeUuid()); @@ -155,6 +167,4 @@ public Container newContainer(Direction side, EntityPlayer player) { public GuiScreen newGuiDraw(Direction side, EntityPlayer player) { return null; } - - } diff --git a/src/main/java/mods/eln/node/simple/SimpleNodeItem.java b/src/main/java/mods/eln/node/simple/SimpleNodeItem.java index 019217d2b..9fde7678a 100644 --- a/src/main/java/mods/eln/node/simple/SimpleNodeItem.java +++ b/src/main/java/mods/eln/node/simple/SimpleNodeItem.java @@ -35,8 +35,6 @@ public boolean placeBlockAt(ItemStack stack, EntityPlayer player, World world, B IBlockState state = world.getBlockState(pos); if (state.getBlock() == this.block) { this.block.onBlockPlacedBy(world, pos, state, player, stack); - //TODO: find replacement of onPostBlockPlaced - this.block.onPostBlockPlaced(world, pos, metadata); } return true; diff --git a/src/main/java/mods/eln/node/six/SixNode.java b/src/main/java/mods/eln/node/six/SixNode.java index f82439b53..b9875bc52 100644 --- a/src/main/java/mods/eln/node/six/SixNode.java +++ b/src/main/java/mods/eln/node/six/SixNode.java @@ -523,12 +523,13 @@ public boolean onBlockActivated(EntityPlayer entityPlayer, Direction side, float entityPlayer.inventory.decrStackSize(entityPlayer.inventory.currentItem, 1); //if(sixNodeCacheMapId != sixNodeCacheMapIdOld) + // TODO(1.10): Hopefully this is unnecessary. { - Chunk chunk = coordinate.world().getChunkFromBlockCoords(coordinate.pos); - Utils.generateHeightMap(chunk); - Utils.updateSkylight(chunk); - chunk.generateSkylightMap(); - Utils.updateAllLightTypes(coordinate.world(), coordinate.pos); +// Chunk chunk = coordinate.world().getChunkFromBlockCoords(coordinate.pos); +// Utils.generateHeightMap(chunk); +// Utils.updateSkylight(chunk); +// chunk.generateSkylightMap(); +// Utils.updateAllLightTypes(coordinate.world(), coordinate.pos); } return true; } else { diff --git a/src/main/java/mods/eln/node/six/SixNodeBlock.java b/src/main/java/mods/eln/node/six/SixNodeBlock.java index 75fda022e..ddb670f74 100644 --- a/src/main/java/mods/eln/node/six/SixNodeBlock.java +++ b/src/main/java/mods/eln/node/six/SixNodeBlock.java @@ -220,9 +220,10 @@ public boolean removedByPlayer(IBlockState state, World world, BlockPos pos, En Chunk chunk = world.getChunkFromBlockCoords(pos); Utils.generateHeightMap(chunk); - Utils.updateSkylight(chunk); - chunk.generateSkylightMap(); - Utils.updateAllLightTypes(world, pos); + // TODO(1.10): Was this important? + //Utils.updateSkylight(chunk); + //chunk.generateSkylightMap(); + //Utils.updateAllLightTypes(world, pos); sixNode.setNeedPublish(true); return false; @@ -253,7 +254,7 @@ public void breakBlock(World world, BlockPos pos, Block par5, int par6) { } @Override - public void onNeighborBlockChange(IBlockAccess world, BlockPos pos, BlockPos par5) { + public void onNeighborChange(IBlockAccess world, BlockPos pos, BlockPos neighbor) { SixNodeEntity tileEntity = (SixNodeEntity) world.getTileEntity(pos); SixNode sixNode = (SixNode) tileEntity.getNode(); if (sixNode == null) return; @@ -268,9 +269,9 @@ public void onNeighborBlockChange(IBlockAccess world, BlockPos pos, BlockPos par } if (!sixNode.getIfSideRemain()) { - world.setBlockToAir(pos); + // TODO(1.10): Set this block to air. } else { - super.onNeighborChange(world, pos, par5); + super.onNeighborChange(world, pos, neighbor); } } @@ -420,7 +421,7 @@ private RayTraceResult collisionRayTrace(World world, BlockPos pos, EntityPlayer return collisionRayTrace(world.getBlockState(pos), world, pos, start, end); } - boolean getIfOtherBlockIsSolid(World world, BlockPos pos, Direction direction) { + boolean getIfOtherBlockIsSolid(IBlockAccess world, BlockPos pos, Direction direction) { pos = direction.applied(pos, 1); IBlockState state = world.getBlockState(pos); diff --git a/src/main/java/mods/eln/node/six/SixNodeEntity.java b/src/main/java/mods/eln/node/six/SixNodeEntity.java index 46e07d824..d49674cae 100644 --- a/src/main/java/mods/eln/node/six/SixNodeEntity.java +++ b/src/main/java/mods/eln/node/six/SixNodeEntity.java @@ -19,8 +19,6 @@ import java.lang.reflect.InvocationTargetException; public class SixNodeEntity extends NodeBlockEntity { - //boolean[] syncronizedSideEnable = new boolean[6]; - public SixNodeElementRender[] elementRenderList = new SixNodeElementRender[6]; short[] elementRenderIdList = new short[6]; @@ -35,22 +33,8 @@ public SixNodeEntity() { } } - /* caca - public boolean onBlockActivated(EntityPlayer entityPlayer, Direction direction) { - - //Utils.println("onBlockActivated " + direction); - - return getNode().onBlockActivated(entityPlayer, direction); - } - */ - - public static final int singleTargetId = 2; - @Override public void serverPublishUnserialize(DataInputStream stream) { - - Block sixNodeCacheBlockOld = sixNodeCacheBlock; - super.serverPublishUnserialize(stream); try { @@ -74,38 +58,19 @@ public void serverPublishUnserialize(DataInputStream stream) { } } - } catch (IOException e) { - - e.printStackTrace(); - } catch (InstantiationException e) { - - e.printStackTrace(); - } catch (IllegalAccessException e) { - - e.printStackTrace(); - } catch (IllegalArgumentException e) { - - e.printStackTrace(); - } catch (InvocationTargetException e) { - - e.printStackTrace(); - } catch (NoSuchMethodException e) { - - e.printStackTrace(); - } catch (SecurityException e) { - + } catch (IOException | InstantiationException | IllegalAccessException | IllegalArgumentException | InvocationTargetException | NoSuchMethodException | SecurityException e) { e.printStackTrace(); } // worldObj.setLightValue(EnumSkyBlock.Sky, xCoord,yCoord,zCoord,15); - if (sixNodeCacheBlock != sixNodeCacheBlockOld) { - Chunk chunk = worldObj.getChunkFromBlockCoords(pos); - chunk.generateHeightMap(); - Utils.updateSkylight(chunk); - chunk.generateSkylightMap(); - Utils.updateAllLightTypes(worldObj, xCoord, yCoord, zCoord); - } - + // TODO(1.10): This is hopefully unneeded. +// if (sixNodeCacheBlock != sixNodeCacheBlockOld) { +// Chunk chunk = worldObj.getChunkFromBlockCoords(pos); +// chunk.generateHeightMap(); +// Utils.updateSkylight(chunk); +// chunk.generateSkylightMap(); +// Utils.updateAllLightTypes(worldObj, xCoord, yCoord, zCoord); +// } } @Override diff --git a/src/main/java/mods/eln/node/transparent/TransparentNodeBlock.java b/src/main/java/mods/eln/node/transparent/TransparentNodeBlock.java index 3ef381bdd..5242ab346 100644 --- a/src/main/java/mods/eln/node/transparent/TransparentNodeBlock.java +++ b/src/main/java/mods/eln/node/transparent/TransparentNodeBlock.java @@ -6,6 +6,7 @@ import mods.eln.node.NodeBlock; import mods.eln.node.NodeBlockEntity; import net.minecraft.block.material.Material; +import net.minecraft.block.state.BlockStateContainer; import net.minecraft.block.state.IBlockState; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.entity.Entity; @@ -77,29 +78,27 @@ public boolean removedByPlayer(IBlockState state, World world, BlockPos pos, Ent } return super.removedByPlayer(state, world, pos, entityPlayer, willHarvest); - - } - - @Override - public int getDamageValue(World world, BlockPos pos) { - if (world == null) - return 0; - TileEntity tile = world.getTileEntity(pos); - if (tile != null && tile instanceof TransparentNodeEntity) - return ((TransparentNodeEntity) world.getTileEntity(pos)).getDamageValue(world, pos); - return 0; } + // TOOD(1.10): Was this important? +// @Override +// public int getDamageValue(World world, BlockPos pos) { +// if (world == null) +// return 0; +// TileEntity tile = world.getTileEntity(pos); +// if (tile != null && tile instanceof TransparentNodeEntity) +// return ((TransparentNodeEntity) world.getTileEntity(pos)).getDamageValue(world, pos); +// return 0; +// } @Override public int getLightValue(IBlockAccess world, BlockPos pos) { return (world.getBlockState(pos).getBlock().getMetaFromState(world.getBlockState(pos)) & 3) << 6; } - + @Nullable @Override - public Item getItemDropped(IBlockState p_149650_1_, Random p_149650_2_, - int p_149650_3_) { + public Item getItemDropped(IBlockState state, Random rand, int fortune) { return null; } diff --git a/src/main/java/mods/eln/node/transparent/TransparentNodeElementRender.java b/src/main/java/mods/eln/node/transparent/TransparentNodeElementRender.java index b4335f49b..19bf714f0 100644 --- a/src/main/java/mods/eln/node/transparent/TransparentNodeElementRender.java +++ b/src/main/java/mods/eln/node/transparent/TransparentNodeElementRender.java @@ -37,7 +37,7 @@ protected EntityItem unserializeItemStackToEntityItem(DataInputStream stream, En } - //TODO: ITEM RENDERING + // TODO(1.10): ITEM RENDERING public void drawEntityItem(EntityItem entityItem, double x, double y, double z, float roty, float scale) {/* if(entityItem == null) return; @@ -58,7 +58,7 @@ public void drawEntityItem(EntityItem entityItem, double x, double y, double z, var10.doRender(entityItem,0, 0, 0, 0, 0); GL11.glPopMatrix(); */ - UtilsClient.drawEntityItem(entityItem, x, y, z, roty, scale); + //UtilsClient.drawEntityItem(entityItem, x, y, z, roty, scale); } diff --git a/src/main/java/mods/eln/node/transparent/TransparentNodeEntity.java b/src/main/java/mods/eln/node/transparent/TransparentNodeEntity.java index 30a8736ce..1646d9e40 100644 --- a/src/main/java/mods/eln/node/transparent/TransparentNodeEntity.java +++ b/src/main/java/mods/eln/node/transparent/TransparentNodeEntity.java @@ -95,11 +95,8 @@ public GuiScreen newGuiDraw(Direction side, EntityPlayer player) { public void preparePacketForServer(DataOutputStream stream) { try { super.preparePacketForServer(stream); - stream.writeShort(elementRenderId); - } catch (IOException e) { - e.printStackTrace(); } } diff --git a/src/main/java/mods/eln/server/SaveConfig.java b/src/main/java/mods/eln/server/SaveConfig.java index bacceb618..8a02aa0e5 100644 --- a/src/main/java/mods/eln/server/SaveConfig.java +++ b/src/main/java/mods/eln/server/SaveConfig.java @@ -28,7 +28,6 @@ public void readFromNBT(NBTTagCompound nbt) { infinitePortableBattery = nbt.getBoolean("infinitPortableBattery"); reGenOre = nbt.getBoolean("reGenOre"); cableRsFactor_lastUsed = nbt.getDouble("cableRsFactor_lastUsed"); - Eln.wind.readFromNBT(nbt, "wind"); } @@ -40,6 +39,7 @@ public NBTTagCompound writeToNBT(NBTTagCompound nbt) { nbt.setBoolean("infinitPortableBattery", infinitePortableBattery); nbt.setBoolean("reGenOre", reGenOre); Eln.wind.writeToNBT(nbt, "wind"); + return nbt; } @Override diff --git a/src/main/java/mods/eln/server/ServerEventListener.java b/src/main/java/mods/eln/server/ServerEventListener.java index fdebc3cbd..75814813a 100644 --- a/src/main/java/mods/eln/server/ServerEventListener.java +++ b/src/main/java/mods/eln/server/ServerEventListener.java @@ -1,5 +1,6 @@ package mods.eln.server; +import mods.eln.item.electricalitem.TreeCapitation; import mods.eln.misc.Coordinate; import net.minecraftforge.fml.common.FMLCommonHandler; import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; diff --git a/src/main/java/mods/eln/simplenode/computerprobe/ComputerProbeEntity.java b/src/main/java/mods/eln/simplenode/computerprobe/ComputerProbeEntity.java index c669061c4..3853020ca 100644 --- a/src/main/java/mods/eln/simplenode/computerprobe/ComputerProbeEntity.java +++ b/src/main/java/mods/eln/simplenode/computerprobe/ComputerProbeEntity.java @@ -16,12 +16,6 @@ public String getComponentName() { return "ElnProbe"; } - /* @Callback - @Optional.Method(modid = Other.modIdOc) - public Object[] greet(Context context, Arguments args) { - return new Object[]{String.format("Hello, %s!", args.checkString(0))}; - }*/ - @Callback @Optional.Method(modid = Other.modIdOc) public Object[] signalSetDir(Context context, Arguments args) { @@ -98,8 +92,6 @@ public ComputerProbeNode getNode() { return (ComputerProbeNode) super.getNode(); } - //return new String[]{"writeDir", "readDir", "writeOut", "readOut", "readIn"}; - @Override public String getNodeUuid() { return ComputerProbeNode.getNodeUuidStatic(); diff --git a/src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerRender.java b/src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerRender.java index b673fa965..fdd992fb3 100644 --- a/src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerRender.java +++ b/src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerRender.java @@ -74,15 +74,16 @@ public void drawEntityItem(EntityItem entityItem, double x, double y, double z, entityItem.motionZ = 0.0; //scale *= 10; Render var10; - var10 = RenderManager.instance.getEntityRenderObject(entityItem); - GL11.glPushMatrix(); - GL11.glTranslatef((float) x, (float) y, (float) z); - GL11.glRotatef(90, 0f, 1f, 0f); - GL11.glRotatef(roty, 0, 1, 0); - GL11.glScalef(scale, scale, scale); - GL11.glTranslatef(0.0f, -0.25f, 0.0f); - var10.doRender(entityItem, 0, 0, 0, 0, 0); - GL11.glPopMatrix(); + // TODO(1.10): Render items. +// var10 = RenderManager.instance.getEntityRenderObject(entityItem); +// GL11.glPushMatrix(); +// GL11.glTranslatef((float) x, (float) y, (float) z); +// GL11.glRotatef(90, 0f, 1f, 0f); +// GL11.glRotatef(roty, 0, 1, 0); +// GL11.glScalef(scale, scale, scale); +// GL11.glTranslatef(0.0f, -0.25f, 0.0f); +// var10.doRender(entityItem, 0, 0, 0, 0, 0); +// GL11.glPopMatrix(); } @Override diff --git a/src/main/java/mods/eln/sixnode/hub/HubGui.java b/src/main/java/mods/eln/sixnode/hub/HubGui.java index 8bc598630..44ff4f4df 100644 --- a/src/main/java/mods/eln/sixnode/hub/HubGui.java +++ b/src/main/java/mods/eln/sixnode/hub/HubGui.java @@ -7,6 +7,8 @@ import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.IInventory; +import java.io.IOException; + public class HubGui extends GuiContainerEln { int w, w2; @@ -120,7 +122,7 @@ void drawConnection(int id, int color) { } } - protected void mouseClicked(int x, int y, int code) { + protected void mouseClicked(int x, int y, int code) throws IOException { super.mouseClicked(x, y, code); x -= width / 2 - xSize / 2; y -= height / 2 - ySize / 2; diff --git a/src/main/java/mods/eln/sixnode/lampsocket/LampSocketRender.java b/src/main/java/mods/eln/sixnode/lampsocket/LampSocketRender.java index 75b516ae4..4f3adb3ee 100644 --- a/src/main/java/mods/eln/sixnode/lampsocket/LampSocketRender.java +++ b/src/main/java/mods/eln/sixnode/lampsocket/LampSocketRender.java @@ -70,63 +70,65 @@ public IInventory getInventory() { return inventory; } + // TODO(1.10): Fix render. @Override public void draw() { super.draw(); //Colored cable only GL11.glRotatef(descriptor.initialRotateDeg, 1.f, 0.f, 0.f); - descriptor.render.draw(this, UtilsClient.distanceFromClientPlayer(this.tileEntity)); + //descriptor.render.draw(this, UtilsClient.distanceFromClientPlayer(this.tileEntity)); } @Override public void refresh(float deltaT) { - if (descriptor.render instanceof LampSocketSuspendedObjRender) { - float dt = deltaT; - BlockPos pos = tileEntity.getPos(); - entityTimout -= dt; - if (entityTimout < 0) { - entityList = tileEntity.getWorld().getEntitiesWithinAABB(Entity.class, new Coordinate(pos.getX(), pos.getY() - 2, pos.getZ(), tileEntity.getWorld()).getAxisAlignedBB(2)); - entityTimout = 0.1f; - } - - for (Object o : entityList) { - Entity e = (Entity) o; - float eFactor = 0; - if (e instanceof EntityArrow) - eFactor = 1f; - if (e instanceof EntityLivingBase) - eFactor = 4f; - - if (eFactor == 0) - continue; - pertuVz += e.motionX * eFactor * dt; - pertuVy += e.motionZ * eFactor * dt; - } - - if (tileEntity.getWorld().getSavedLightValue(EnumSkyBlock.SKY, pos.getX(), pos.getY(), pos.getZ()) > 3) { - float weather = (float) UtilsClient.getWeather(tileEntity.getWorld()) * 0.9f + 0.1f; - - weatherAlphaY += (0.4 - Math.random()) * dt * Math.PI / 0.2 * weather; - weatherAlphaZ += (0.4 - Math.random()) * dt * Math.PI / 0.2 * weather; - if (weatherAlphaY > 2 * Math.PI) - weatherAlphaY -= 2 * Math.PI; - if (weatherAlphaZ > 2 * Math.PI) - weatherAlphaZ -= 2 * Math.PI; - pertuVy += Math.random() * Math.sin(weatherAlphaY) * weather * weather * dt * 3; - pertuVz += Math.random() * Math.cos(weatherAlphaY) * weather * weather * dt * 3; - - pertuVy += 0.4 * dt * weather * Math.signum(pertuVy) * Math.random(); - pertuVz += 0.4 * dt * weather * Math.signum(pertuVz) * Math.random(); - } - - pertuVy -= pertuPy / 10 * dt; - pertuVy *= (1 - 0.2 * dt); - pertuPy += pertuVy; - - pertuVz -= pertuPz / 10 * dt; - pertuVz *= (1 - 0.2 * dt); - pertuPz += pertuVz; - } + // TODO(1.10): Fix render. +// if (descriptor.render instanceof LampSocketSuspendedObjRender) { +// float dt = deltaT; +// BlockPos pos = tileEntity.getPos(); +// entityTimout -= dt; +// if (entityTimout < 0) { +// entityList = tileEntity.getWorld().getEntitiesWithinAABB(Entity.class, new Coordinate(pos.getX(), pos.getY() - 2, pos.getZ(), tileEntity.getWorld()).getAxisAlignedBB(2)); +// entityTimout = 0.1f; +// } +// +// for (Object o : entityList) { +// Entity e = (Entity) o; +// float eFactor = 0; +// if (e instanceof EntityArrow) +// eFactor = 1f; +// if (e instanceof EntityLivingBase) +// eFactor = 4f; +// +// if (eFactor == 0) +// continue; +// pertuVz += e.motionX * eFactor * dt; +// pertuVy += e.motionZ * eFactor * dt; +// } +// +// if (tileEntity.getWorld().getSavedLightValue(EnumSkyBlock.SKY, pos.getX(), pos.getY(), pos.getZ()) > 3) { +// float weather = (float) UtilsClient.getWeather(tileEntity.getWorld()) * 0.9f + 0.1f; +// +// weatherAlphaY += (0.4 - Math.random()) * dt * Math.PI / 0.2 * weather; +// weatherAlphaZ += (0.4 - Math.random()) * dt * Math.PI / 0.2 * weather; +// if (weatherAlphaY > 2 * Math.PI) +// weatherAlphaY -= 2 * Math.PI; +// if (weatherAlphaZ > 2 * Math.PI) +// weatherAlphaZ -= 2 * Math.PI; +// pertuVy += Math.random() * Math.sin(weatherAlphaY) * weather * weather * dt * 3; +// pertuVz += Math.random() * Math.cos(weatherAlphaY) * weather * weather * dt * 3; +// +// pertuVy += 0.4 * dt * weather * Math.signum(pertuVy) * Math.random(); +// pertuVz += 0.4 * dt * weather * Math.signum(pertuVz) * Math.random(); +// } +// +// pertuVy -= pertuPy / 10 * dt; +// pertuVy *= (1 - 0.2 * dt); +// pertuPy += pertuVy; +// +// pertuVz -= pertuPz / 10 * dt; +// pertuVz *= (1 - 0.2 * dt); +// pertuPz += pertuVz; +// } } void setLight(byte newLight) { diff --git a/src/main/java/mods/eln/sound/SoundClient.java b/src/main/java/mods/eln/sound/SoundClient.java index a2d60fc14..91ba1b08a 100644 --- a/src/main/java/mods/eln/sound/SoundClient.java +++ b/src/main/java/mods/eln/sound/SoundClient.java @@ -5,13 +5,13 @@ import mods.eln.misc.Utils; import net.minecraft.client.Minecraft; import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.util.ResourceLocation; +import net.minecraft.util.SoundCategory; +import net.minecraft.util.SoundEvent; +import net.minecraft.util.math.BlockPos; public class SoundClient { - /*public static void playFromBlock(World world, int x, int y, int z, String track, float volume, float pitch, float rangeNominal, float rangeMax) { - play(world, x + 0.5, y + 0.5, z + 0.5, track, volume, pitch, rangeNominal, rangeMax); - }*/ - - //TODO: FIX SOUNDS + // TODO(1.10): Fix sounds. public static void play(SoundCommand p) { ClientProxy.soundClientEventListener.currentUuid = p.uuid; //trolilole @@ -28,21 +28,34 @@ public static void play(SoundCommand p) { int trackCount = SoundLoader.getTrackCount(p.track); + BlockPos soundPos = new BlockPos(p.x, p.y, p.z); if (trackCount == 1) { float temp = 1.0f / (1 + blockFactor); p.volume *= Math.pow(temp, 2); p.volume *= distanceFactor; if (p.volume <= 0) return; - p.world.playSound(player.posX + 2 * (p.x - player.posX) / distance, player.posY + 2 * (p.y - player.posY) / distance, player.posZ + 2 * (p.z - player.posZ) / distance, p.track, p.volume, p.pitch, false); + p.world.playSound( + player, + soundPos, + new SoundEvent(new ResourceLocation("eln", p.track)), + SoundCategory.BLOCKS, // TODO(1.10): Move this to the sound command. + p.volume, + p.pitch); } else { for (int idx = 0; idx < trackCount; idx++) { float bandVolume = p.volume; bandVolume *= distanceFactor; - float normalizedBlockFactor = blockFactor; - - bandVolume -= ((trackCount - 1 - idx) / (trackCount - 1f) + 0.2) * normalizedBlockFactor; + bandVolume -= ((trackCount - 1 - idx) / (trackCount - 1f) + 0.2) * blockFactor; Utils.print(bandVolume + " "); - p.world.playSound(player.posX + 2 * (p.x - player.posX) / distance, player.posY + 2 * (p.y - player.posY) / distance, player.posZ + 2 * (p.z - player.posZ) / distance, p.track + "_" + idx + "x", bandVolume, p.pitch, false); + if (bandVolume > 0) { + p.world.playSound( + player, + soundPos, + new SoundEvent(new ResourceLocation("eln", p.track + "_" + idx + "x")), + SoundCategory.BLOCKS, + bandVolume, + p.pitch); + } } Utils.println(""); } diff --git a/src/main/java/mods/eln/transparentnode/autominer/AutoMinerSlowProcess.java b/src/main/java/mods/eln/transparentnode/autominer/AutoMinerSlowProcess.java index 3a9f11ad5..4ea383844 100644 --- a/src/main/java/mods/eln/transparentnode/autominer/AutoMinerSlowProcess.java +++ b/src/main/java/mods/eln/transparentnode/autominer/AutoMinerSlowProcess.java @@ -15,8 +15,10 @@ import net.minecraft.block.BlockOre; import net.minecraft.block.BlockRedstoneOre; import net.minecraft.block.state.BlockStateBase; +import net.minecraft.block.state.IBlockState; import net.minecraft.init.Blocks; import net.minecraft.inventory.IInventory; +import net.minecraft.inventory.ItemStackHelper; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.math.Vec3d; @@ -98,12 +100,12 @@ public void process(double time) { case ore: drillCount++; - Block block = jobCoord.world().getBlock(jobCoord.x, jobCoord.y, jobCoord.z); - int meta = jobCoord.world().getBlockMetadata(jobCoord.x, jobCoord.y, jobCoord.z); + IBlockState state = jobCoord.getBlockState(); + Block block = state.getBlock(); if (silkTouch) { - itemsToDrop.add(new ItemStack(block, 1, meta)); + itemsToDrop.add(new ItemStack(block, 1, block.getMetaFromState(state))); } else { - itemsToDrop.addAll(block.getDrops(jobCoord.world(), jobCoord.x, jobCoord.y, jobCoord.z, meta, 0)); + itemsToDrop.addAll(block.getDrops(jobCoord.world(), jobCoord.pos, state, 0)); } // Use cobblestone instead of air, everywhere except the mining shaft. @@ -347,12 +349,15 @@ private void setJob(jobType job) { } private boolean checkIsOre(Coordinate coordinate) { - Block block = coordinate.world().getBlockState(coordinate.pos).getBlock(); + IBlockState state = coordinate.world().getBlockState(coordinate.pos); + Block block = state.getBlock(); if (block instanceof BlockOre) return true; if (block instanceof OreBlock) return true; if (block instanceof BlockRedstoneOre) return true; + + return OreColorMapping.INSTANCE.getMap()[Block.getIdFromBlock(block) + - (coordonate.world().getBlockMetadata(coordinate.x, coordinate.y, coordinate.z) << 12)] != 0; + block.getMetaFromState(state) << 12] != 0; } public void onBreakElement() { diff --git a/src/main/java/mods/eln/transparentnode/eggincubator/EggIncubatorRender.java b/src/main/java/mods/eln/transparentnode/eggincubator/EggIncubatorRender.java index 38f240b44..0824b2a81 100644 --- a/src/main/java/mods/eln/transparentnode/eggincubator/EggIncubatorRender.java +++ b/src/main/java/mods/eln/transparentnode/eggincubator/EggIncubatorRender.java @@ -40,12 +40,13 @@ public EggIncubatorRender(TransparentNodeEntity tileEntity, TransparentNodeDescr this.descriptor = (EggIncubatorDescriptor) descriptor; } + // TODO(1.10): Fix rendering. @Override public void draw() { GL11.glPushMatrix(); front.glRotateXnRef(); if (egg != null) { - UtilsClient.drawEntityItem(egg, 0.0f, -0.3f, 0.13f, alpha, 0.6f); + //UtilsClient.drawEntityItem(egg, 0.0f, -0.3f, 0.13f, alpha, 0.6f); } descriptor.draw(eggStackSize, (float) (voltage / descriptor.nominalVoltage)); GL11.glPopMatrix(); diff --git a/src/main/java/mods/eln/transparentnode/electricalantennatx/ElectricalAntennaTxSlowProcess.java b/src/main/java/mods/eln/transparentnode/electricalantennatx/ElectricalAntennaTxSlowProcess.java index 7651ff0f0..eb0a10aab 100644 --- a/src/main/java/mods/eln/transparentnode/electricalantennatx/ElectricalAntennaTxSlowProcess.java +++ b/src/main/java/mods/eln/transparentnode/electricalantennatx/ElectricalAntennaTxSlowProcess.java @@ -28,7 +28,6 @@ public ElectricalAntennaTxSlowProcess(ElectricalAntennaTxElement element) { @Override public void process(double time) { - //if(element.rxCoord == null) World world = element.node.coordinate.world(); if (timeCounter <= 0.0) { @@ -44,33 +43,17 @@ public void process(double time) { coord.move(element.front); distance++; Block block; - if (element.placeBoot || element.rxCoord == null || coord.world().blockExists(coord.pos.getX(), coord.pos.getY(), coord.pos.getZ())) { - block = coord.world().getBlockState(coord.pos).getBlock(); - if ((coord.world().isAirBlock(coord.pos) && block != Blocks.FIRE)) { - if (block == Eln.transparentNodeBlock - && (node = (TransparentNode) NodeManager.instance.getNodeFromCoordinate(coord)) != null - && (node.element instanceof ElectricalAntennaRxElement)) { - ElectricalAntennaRxElement rx = (ElectricalAntennaRxElement) node.element; - if (rx.front == element.front.getInverse()) { - find = true; - } + block = coord.world().getBlockState(coord.pos).getBlock(); + if ((coord.world().isAirBlock(coord.pos) && block != Blocks.FIRE)) { + if (block == Eln.transparentNodeBlock + && (node = (TransparentNode) NodeManager.instance.getNodeFromCoordinate(coord)) != null + && (node.element instanceof ElectricalAntennaRxElement)) { + ElectricalAntennaRxElement rx = (ElectricalAntennaRxElement) node.element; + if (rx.front == element.front.getInverse()) { + find = true; } - break; - } - } else { - // b++; - NodeBase unknowNode = NodeManager.instance.getNodeFromCoordinate(coord); - if (node != null) { - if (unknowNode instanceof TransparentNode - && (((TransparentNode) unknowNode).element instanceof ElectricalAntennaRxElement)) { - node = (TransparentNode) unknowNode; - ElectricalAntennaRxElement rx = (ElectricalAntennaRxElement) node.element; - if (rx.front == element.front.getInverse()) { - find = true; - } - } - break; } + break; } } while (distance < rangeMax); if (!find) { @@ -78,16 +61,8 @@ public void process(double time) { Coordinate coordCpy = new Coordinate(coord); coordCpy.move(element.front.getInverse()); BlockPos pos = coordCpy.pos; - int x = pos.getX(); - int y = pos.getY(); - int z = pos.getZ(); - if (element.powerResistor.getP() > 50) { - //TODO: Check if blockExists - if (coordCpy.world().blockExists(x, y, z)) { - if (coordCpy.world().isAirBlock(pos)) { - coordCpy.world().setBlockState(pos, Blocks.FIRE.getDefaultState()); - } - } + if (element.powerResistor.getP() > 50 && coordCpy.world().isAirBlock(pos)) { + coordCpy.world().setBlockState(pos, Blocks.FIRE.getDefaultState()); } } else { element.powerEfficency = 1 - (element.descriptor.electricalPowerRatioLostOffset + element.descriptor.electricalPowerRatioLostPerBlock * distance); diff --git a/src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceProcess.java b/src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceProcess.java index eb7d61fed..ac64515a9 100644 --- a/src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceProcess.java +++ b/src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceProcess.java @@ -109,7 +109,7 @@ private boolean smeltCan() { } public ItemStack getSmeltResult() { - return FurnaceRecipes.smelting().getSmeltingResult(inventory.getStackInSlot(ElectricalFurnaceElement.inSlotId)); + return FurnaceRecipes.instance().getSmeltingResult(inventory.getStackInSlot(ElectricalFurnaceElement.inSlotId)); } /** diff --git a/src/main/java/mods/eln/transparentnode/electricalmachine/CompressorDescriptor.java b/src/main/java/mods/eln/transparentnode/electricalmachine/CompressorDescriptor.java index f30c87a30..8a4255409 100644 --- a/src/main/java/mods/eln/transparentnode/electricalmachine/CompressorDescriptor.java +++ b/src/main/java/mods/eln/transparentnode/electricalmachine/CompressorDescriptor.java @@ -53,8 +53,9 @@ void draw(ElectricalMachineRender render, Object handleO, EntityItem inEntity, E float powerFactor, float processState) { CompressorDescriptorHandle handle = (CompressorDescriptorHandle) handleO; - UtilsClient.drawEntityItem(inEntity, -0.35f, 0.04f, 0.3f, handle.itemCounter, 1f); - UtilsClient.drawEntityItem(outEntity, 0.35f, 0.04f, 0.3f, -handle.itemCounter + 139f, 1f); + // TODO(1.10): Fix rendering. +// UtilsClient.drawEntityItem(inEntity, -0.35f, 0.04f, 0.3f, handle.itemCounter, 1f); +// UtilsClient.drawEntityItem(outEntity, 0.35f, 0.04f, 0.3f, -handle.itemCounter + 139f, 1f); main.draw(); GL11.glTranslatef(0f, tyOff + (float) Math.sqrt(handle.interpolator.get()) * (tyOn - tyOff), 0f); diff --git a/src/main/java/mods/eln/transparentnode/electricalmachine/MaceratorDescriptor.java b/src/main/java/mods/eln/transparentnode/electricalmachine/MaceratorDescriptor.java index dc56d6298..865e61080 100644 --- a/src/main/java/mods/eln/transparentnode/electricalmachine/MaceratorDescriptor.java +++ b/src/main/java/mods/eln/transparentnode/electricalmachine/MaceratorDescriptor.java @@ -35,6 +35,7 @@ Object newDrawHandle() { return new MaceratorDescriptorHandle(); } + // TODO(1.10): Fix rendering. @Override void draw(ElectricalMachineRender render, Object handleO, EntityItem inEntity, EntityItem outEntity, float powerFactor, float processState) { @@ -46,8 +47,8 @@ void draw(ElectricalMachineRender render, Object handleO, EntityItem inEntity, E //UtilsClient.enableDepthTest(); GL11.glScalef(0.7f, 0.7f, 0.7f); - UtilsClient.drawEntityItem(inEntity, 0.0, 0.4f, 0f, handle.itemCounter, 1f); - UtilsClient.drawEntityItem(outEntity, 0.0, -0.5f, 0f, 130 + handle.itemCounter, 1f); + //UtilsClient.drawEntityItem(inEntity, 0.0, 0.4f, 0f, handle.itemCounter, 1f); + //UtilsClient.drawEntityItem(outEntity, 0.0, -0.5f, 0f, 130 + handle.itemCounter, 1f); } @Override diff --git a/src/main/java/mods/eln/transparentnode/electricalmachine/MagnetizerDescriptor.java b/src/main/java/mods/eln/transparentnode/electricalmachine/MagnetizerDescriptor.java index 9855096b2..8ce20fdaa 100644 --- a/src/main/java/mods/eln/transparentnode/electricalmachine/MagnetizerDescriptor.java +++ b/src/main/java/mods/eln/transparentnode/electricalmachine/MagnetizerDescriptor.java @@ -43,7 +43,8 @@ void draw(ElectricalMachineRender render, Object handleO, EntityItem inEntity, E rot.draw(handle.counter, 0f, 0f, 1f); GL11.glScalef(0.5f, 0.5f, 0.5f); - UtilsClient.drawEntityItem(inEntity, 0.0, 0.25f, 0f, handle.itemCounter, 1f); + // TODO(1.10): Item something something + //UtilsClient.drawEntityItem(inEntity, 0.0, 0.25f, 0f, handle.itemCounter, 1f); } @Override diff --git a/src/main/java/mods/eln/transparentnode/electricalmachine/PlateMachineDescriptor.java b/src/main/java/mods/eln/transparentnode/electricalmachine/PlateMachineDescriptor.java index ecb39c3d3..657ee0f96 100644 --- a/src/main/java/mods/eln/transparentnode/electricalmachine/PlateMachineDescriptor.java +++ b/src/main/java/mods/eln/transparentnode/electricalmachine/PlateMachineDescriptor.java @@ -41,8 +41,9 @@ void draw(ElectricalMachineRender render, Object handleO, EntityItem inEntity, E rot1.draw(handle.counter, 0f, 0f, -1f); rot2.draw(handle.counter, 0f, 0f, 1f); - UtilsClient.drawEntityItem(inEntity, -0.35f, 0.1f, 0f, handle.itemCounter, 1f); - UtilsClient.drawEntityItem(outEntity, 0.35f, 0.1f, 0f, -handle.itemCounter + 139f, 1f); + // TODO(1.10): Fix rendering. +// UtilsClient.drawEntityItem(inEntity, -0.35f, 0.1f, 0f, handle.itemCounter, 1f); +// UtilsClient.drawEntityItem(outEntity, 0.35f, 0.1f, 0f, -handle.itemCounter + 139f, 1f); } @Override diff --git a/src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceInventoryProcess.java b/src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceInventoryProcess.java index 9d6c00ade..6344047d0 100644 --- a/src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceInventoryProcess.java +++ b/src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceInventoryProcess.java @@ -50,7 +50,7 @@ public void process(double time) { combustibleBuffer += itemEnergy; furnace.inventory.decrStackSize(HeatFurnaceContainer.combustibleId, 1); if (combustibleStack.getItem().getUnlocalizedName().toLowerCase().contains("bucket")) { - furnace.inventory.setInventorySlotContents(HeatFurnaceContainer.combustibleId, new ItemStack(Items.bucket)); + furnace.inventory.setInventorySlotContents(HeatFurnaceContainer.combustibleId, new ItemStack(Items.BUCKET)); } } } diff --git a/src/main/java/mods/eln/transparentnode/powercapacitor/PowerCapacitorContainer.java b/src/main/java/mods/eln/transparentnode/powercapacitor/PowerCapacitorContainer.java index ef6e3e2c7..4e05fec49 100644 --- a/src/main/java/mods/eln/transparentnode/powercapacitor/PowerCapacitorContainer.java +++ b/src/main/java/mods/eln/transparentnode/powercapacitor/PowerCapacitorContainer.java @@ -21,7 +21,7 @@ public class PowerCapacitorContainer extends BasicContainer { public PowerCapacitorContainer(EntityPlayer player, IInventory inventory) { super(player, inventory, new Slot[]{ new SlotFilter(inventory, redId, 132, 8, 13, - new ItemStackFilter[]{new ItemStackFilter(Items.redstone)}, + new ItemStackFilter[]{new ItemStackFilter(Items.REDSTONE)}, SlotSkin.medium, new String[]{tr("Redstone slot"), tr("(Increases capacity)")}), new GenericItemUsingDamageSlot(inventory, dielectricId, 132 + 20, 8, 20, DielectricItem.class, SlotSkin.medium, diff --git a/src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelElement.java b/src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelElement.java index fcd537b65..004ea564c 100644 --- a/src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelElement.java +++ b/src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelElement.java @@ -156,7 +156,7 @@ public void onBreakElement() { @Override public boolean onBlockActivated(EntityPlayer entityPlayer, Direction side, float vx, float vy, float vz) { - return descriptor.canRotate && inventory.take(entityPlayer.getHeldItemMainHand(), this, true, false); + return descriptor.canRotate && inventory.take(entityPlayer.getHeldItemMainhand(), this, true, false); } @Override diff --git a/src/main/java/mods/eln/transparentnode/solarpanel/SolarPannelSlowProcess.java b/src/main/java/mods/eln/transparentnode/solarpanel/SolarPannelSlowProcess.java index 8a1d9f642..87646463d 100644 --- a/src/main/java/mods/eln/transparentnode/solarpanel/SolarPannelSlowProcess.java +++ b/src/main/java/mods/eln/transparentnode/solarpanel/SolarPannelSlowProcess.java @@ -72,9 +72,7 @@ public double getSolarLight() { yD = 1.0; xD /= yD; } - int count = 0; - ///world.getChunkProvider().chunkExists(var1, var2) - while (world.getChunkProvider().chunkExists(((int) x) >> 4, ((int) z) >> 4)) { + while (y <= 256.0) { double opacity = world.getBlockLightOpacity(new BlockPos((int) x, (int) y, (int) z)); light *= (255 - opacity) / 255; if (light == 0.0) { @@ -83,10 +81,7 @@ public double getSolarLight() { x += xD; y += yD; - count++; - if (y > 256.0) break; } -// Utils.print("count : " + count + " "); return light; } diff --git a/src/main/java/mods/eln/transparentnode/teleporter/TeleporterElement.java b/src/main/java/mods/eln/transparentnode/teleporter/TeleporterElement.java index 8842140da..84c9066b0 100644 --- a/src/main/java/mods/eln/transparentnode/teleporter/TeleporterElement.java +++ b/src/main/java/mods/eln/transparentnode/teleporter/TeleporterElement.java @@ -190,7 +190,7 @@ public void readFromNBT(NBTTagCompound nbt) { state = StateReset; } - private static final byte StateIdle = 0; + public static final byte StateIdle = 0; private static final byte StateStart = 1; private static final byte StateClose = 2; private static final byte StateCharge = 3; diff --git a/src/main/java/mods/eln/transparentnode/windturbine/WindTurbineSlowProcess.java b/src/main/java/mods/eln/transparentnode/windturbine/WindTurbineSlowProcess.java index 0c86a3826..651a39f0c 100644 --- a/src/main/java/mods/eln/transparentnode/windturbine/WindTurbineSlowProcess.java +++ b/src/main/java/mods/eln/transparentnode/windturbine/WindTurbineSlowProcess.java @@ -62,34 +62,22 @@ public void process(double time) { z2 = zc + d.rayZ; int blockBusyCount = -d.blockMalusSubCount; - boolean notInCache = false; if (turbine.node.coordinate.doesWorldExist()) { World world = turbine.node.coordinate.world(); - //IChunkProvider chunk = world.getChunkProvider(); for (int x = x1; x <= x2; x++) { for (int y = y1; y <= y2; y++) { for (int z = z1; z <= z2; z++) { - if (!world.blockExists(x, y, z)) { - notInCache = true; - break; - } if (!world.isAirBlock(new BlockPos(x,y,z))) { blockBusyCount++; } } - if (notInCache) break; } - if (notInCache) break; } - } else { - notInCache = true; } - if (!notInCache) { - environmentWindFactor = Math.max(0.0, Math.min(1.0, 1.0 - blockBusyCount * d.blockMalus)); + environmentWindFactor = Math.max(0.0, Math.min(1.0, 1.0 - blockBusyCount * d.blockMalus)); - Utils.println("EnvironementWindFactor : " + environmentWindFactor); - } + Utils.println("EnvironementWindFactor : " + environmentWindFactor); } localWindTimeCounter -= time; diff --git a/src/main/java/mods/eln/wiki/GuiItemStack.java b/src/main/java/mods/eln/wiki/GuiItemStack.java index de188cf8e..a10265cce 100644 --- a/src/main/java/mods/eln/wiki/GuiItemStack.java +++ b/src/main/java/mods/eln/wiki/GuiItemStack.java @@ -44,7 +44,8 @@ public void idraw(int x, int y, float f) { RenderHelper.enableStandardItemLighting(); RenderHelper.enableGUIStandardItemLighting(); - UtilsClient.drawItemStack(stack, posX, posY, null, true); + // TODO(1.10): Render or something. +// UtilsClient.drawItemStack(stack, posX, posY, null, true); RenderHelper.disableStandardItemLighting(); // GL11.glEnable(GL11.GL_LIGHTING); From e8eabdf1222c41fdf93ec66cbcb96928188396f4 Mon Sep 17 00:00:00 2001 From: Svein Ove Aas Date: Tue, 26 Feb 2019 02:07:14 +0000 Subject: [PATCH 36/61] Disable CC, there's no 1.10 version. Disable all the armor for now. --- build.gradle | 3 +- src/main/java/mods/eln/Eln.java | 240 +++++++++--------- .../mods/eln/generic/genericArmorItem.java | 31 +-- .../item/electricalitem/ElectricalArmor.kt | 11 +- .../computerprobe/ComputerProbeNode.java | 138 +++++----- .../ComputerCraftIoElement.java | 160 ++++++------ .../computercraftio/PeripheralHandler.java | 49 ++-- 7 files changed, 310 insertions(+), 322 deletions(-) diff --git a/build.gradle b/build.gradle index 046d9164e..e5ae8eb06 100644 --- a/build.gradle +++ b/build.gradle @@ -101,7 +101,8 @@ dependencies { external files("libs/commons-math3-3.3.jar") implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8" compile group: "net.shadowfacts", name: "Forgelin", version: "1.8.2" - compile "dan200.computercraft:ComputerCraft:1.80pr1-build5" + // 1.12 version: + //compile "dan200.computercraft:ComputerCraft:1.80pr1-build12" compile "li.cil.oc:OpenComputers:MC1.10.2-1.7.2.172" deobfCompile "mcp.mobius.waila:Hwyla:1.8.17-B31_1.10.2" // TODO(1.12): Switch to this. diff --git a/src/main/java/mods/eln/Eln.java b/src/main/java/mods/eln/Eln.java index 74b3533a1..4aad52838 100644 --- a/src/main/java/mods/eln/Eln.java +++ b/src/main/java/mods/eln/Eln.java @@ -692,7 +692,8 @@ private void registerGridDevices(int id) { public void modsLoaded(FMLPostInitializationEvent event) { Other.check(); if (Other.ccLoaded) { - PeripheralHandler.register(); + // TODO(1.12): Re-enable this. +// PeripheralHandler.register(); } recipeMaceratorModOres(); } @@ -3869,128 +3870,129 @@ private void registerElectricalMotor(int id) { private void registerArmor() { // TODO(1.10): Fix the textures? + // TODO(1.10): Register armor some other way. Maybe LibLib. ItemStack stack; String name; - { - name = TR_NAME(Type.ITEM, "Copper Helmet"); - helmetCopper = (ItemArmor) (new genericArmorItem(ArmorMaterial.IRON, 2, ArmourType.Helmet, "eln:textures/armor/copper_layer_1.png", "eln:textures/armor/copper_layer_2.png")) - .setUnlocalizedName(name) - .setRegistryName(name) -// .setTextureName("eln:copper_helmet") - .setCreativeTab(creativeTab); - GameRegistry.register(helmetCopper); - //GameRegistry.registerCustomItemStack(name, new ItemStack(helmetCopper)); - } - { - name = TR_NAME(Type.ITEM, "Copper Chestplate"); - plateCopper = (ItemArmor) (new genericArmorItem(ArmorMaterial.IRON, 2, ArmourType.Chestplate, "eln:textures/armor/copper_layer_1.png", "eln:textures/armor/copper_layer_2.png")) - .setUnlocalizedName(name) - .setRegistryName(name) -// .setTextureName("eln:copper_chestplate") - .setCreativeTab(creativeTab); - GameRegistry.register(plateCopper); - //GameRegistry.registerCustomItemStack(name, new ItemStack(plateCopper)); - } - { - name = TR_NAME(Type.ITEM, "Copper Leggings"); - legsCopper = (ItemArmor) (new genericArmorItem(ArmorMaterial.IRON, 2, ArmourType.Leggings, "eln:textures/armor/copper_layer_1.png", "eln:textures/armor/copper_layer_2.png")) - .setUnlocalizedName(name) - .setRegistryName(name) -// .setTextureName("eln:copper_leggings") - .setCreativeTab(creativeTab); - GameRegistry.register(legsCopper); - //GameRegistry.registerCustomItemStack(name, new ItemStack(legsCopper)); - } - { - name = TR_NAME(Type.ITEM, "Copper Boots"); - bootsCopper = (ItemArmor) (new genericArmorItem(ArmorMaterial.IRON, 2, ArmourType.Boots, "eln:textures/armor/copper_layer_1.png", "eln:textures/armor/copper_layer_2.png")) - .setUnlocalizedName(name) - .setRegistryName(name) -// .setTextureName("eln:copper_boots") - .setCreativeTab(creativeTab); - GameRegistry.register(bootsCopper); - //GameRegistry.registerCustomItemStack(name, new ItemStack(bootsCopper)); - } - - String t1, t2; - t1 = "eln:textures/armor/ecoal_layer_1.png"; - t2 = "eln:textures/armor/ecoal_layer_2.png"; - double energyPerDamage = 500; - int armor, armorMarge; - ArmorMaterial eCoalMaterial = net.minecraftforge.common.util.EnumHelper.addArmorMaterial( - "ECoal", - "ECoal", - 10, - new int[]{2, 6, 5, 2}, - 9, - SoundEvents.ITEM_ARMOR_EQUIP_LEATHER, - 10); - { - name = TR_NAME(Type.ITEM, "E-Coal Helmet"); - armor = 2; - armorMarge = 1; - helmetECoal = (ItemArmor) (new ElectricalArmor(eCoalMaterial, 2, ArmourType.Helmet, t1, t2, - (armor + armorMarge) * energyPerDamage, 250.0,// double - // energyStorage,double - // chargePower - armor / 20.0, armor * energyPerDamage,// double - // ratioMax,double - // ratioMaxEnergy, - energyPerDamage// double energyPerDamage - )).setUnlocalizedName(name).setRegistryName("eln:ecoal_helmet").setCreativeTab(creativeTab); - GameRegistry.registerItem(helmetECoal, "Eln." + name); - //GameRegistry.registerCustomItemStack(name, new ItemStack(helmetECoal)); - } - { - name = TR_NAME(Type.ITEM, "E-Coal Chestplate"); - armor = 6; - armorMarge = 2; - plateECoal = (ItemArmor) (new ElectricalArmor(eCoalMaterial, 2, ArmourType.Chestplate, t1, t2, - (armor + armorMarge) * energyPerDamage, 250.0,// double - // energyStorage,double - // chargePower - armor / 20.0, armor * energyPerDamage,// double - // ratioMax,double - // ratioMaxEnergy, - energyPerDamage// double energyPerDamage - )).setUnlocalizedName(name).setRegistryName("eln:ecoal_chestplate").setCreativeTab(creativeTab); - GameRegistry.registerItem(plateECoal, "Eln." + name); - //GameRegistry.registerCustomItemStack(name, new ItemStack(plateECoal)); - } - { - name = TR_NAME(Type.ITEM, "E-Coal Leggings"); - armor = 5; - armorMarge = 2; - legsECoal = (ItemArmor) (new ElectricalArmor(eCoalMaterial, 2, ArmourType.Leggings, t1, t2, - (armor + armorMarge) * energyPerDamage, 250.0,// double - // energyStorage,double - // chargePower - armor / 20.0, armor * energyPerDamage,// double - // ratioMax,double - // ratioMaxEnergy, - energyPerDamage// double energyPerDamage - )).setUnlocalizedName(name).setRegistryName("eln:ecoal_leggings").setCreativeTab(creativeTab); - GameRegistry.registerItem(legsECoal, "Eln." + name); - //GameRegistry.registerCustomItemStack(name, new ItemStack(legsECoal)); - } - { - name = TR_NAME(Type.ITEM, "E-Coal Boots"); - armor = 2; - armorMarge = 1; - bootsECoal = (ItemArmor) (new ElectricalArmor(eCoalMaterial, 2, ArmourType.Boots, t1, t2, - (armor + armorMarge) * energyPerDamage, 250.0,// double - // energyStorage,double - // chargePower - armor / 20.0, armor * energyPerDamage,// double - // ratioMax,double - // ratioMaxEnergy, - energyPerDamage// double energyPerDamage - )).setUnlocalizedName(name).setRegistryName("eln:ecoal_boots").setCreativeTab(creativeTab); - GameRegistry.registerItem(bootsECoal, "Eln." + name); - //GameRegistry.registerCustomItemStack(name, new ItemStack(bootsECoal)); - } +// { +// name = TR_NAME(Type.ITEM, "Copper Helmet"); +// helmetCopper = (ItemArmor) (new genericArmorItem(ArmorMaterial.IRON, 2, ArmourType.Helmet, "eln:textures/armor/copper_layer_1.png", "eln:textures/armor/copper_layer_2.png")) +// .setUnlocalizedName(name) +// .setRegistryName(name) +//// .setTextureName("eln:copper_helmet") +// .setCreativeTab(creativeTab); +// GameRegistry.register(helmetCopper); +// //GameRegistry.registerCustomItemStack(name, new ItemStack(helmetCopper)); +// } +// { +// name = TR_NAME(Type.ITEM, "Copper Chestplate"); +// plateCopper = (ItemArmor) (new genericArmorItem(ArmorMaterial.IRON, 2, ArmourType.Chestplate, "eln:textures/armor/copper_layer_1.png", "eln:textures/armor/copper_layer_2.png")) +// .setUnlocalizedName(name) +// .setRegistryName(name) +//// .setTextureName("eln:copper_chestplate") +// .setCreativeTab(creativeTab); +// GameRegistry.register(plateCopper); +// //GameRegistry.registerCustomItemStack(name, new ItemStack(plateCopper)); +// } +// { +// name = TR_NAME(Type.ITEM, "Copper Leggings"); +// legsCopper = (ItemArmor) (new genericArmorItem(ArmorMaterial.IRON, 2, ArmourType.Leggings, "eln:textures/armor/copper_layer_1.png", "eln:textures/armor/copper_layer_2.png")) +// .setUnlocalizedName(name) +// .setRegistryName(name) +//// .setTextureName("eln:copper_leggings") +// .setCreativeTab(creativeTab); +// GameRegistry.register(legsCopper); +// //GameRegistry.registerCustomItemStack(name, new ItemStack(legsCopper)); +// } +// { +// name = TR_NAME(Type.ITEM, "Copper Boots"); +// bootsCopper = (ItemArmor) (new genericArmorItem(ArmorMaterial.IRON, 2, ArmourType.Boots, "eln:textures/armor/copper_layer_1.png", "eln:textures/armor/copper_layer_2.png")) +// .setUnlocalizedName(name) +// .setRegistryName(name) +//// .setTextureName("eln:copper_boots") +// .setCreativeTab(creativeTab); +// GameRegistry.register(bootsCopper); +// //GameRegistry.registerCustomItemStack(name, new ItemStack(bootsCopper)); +// } +// +// String t1, t2; +// t1 = "eln:textures/armor/ecoal_layer_1.png"; +// t2 = "eln:textures/armor/ecoal_layer_2.png"; +// double energyPerDamage = 500; +// int armor, armorMarge; +// ArmorMaterial eCoalMaterial = net.minecraftforge.common.util.EnumHelper.addArmorMaterial( +// "ECoal", +// "ECoal", +// 10, +// new int[]{2, 6, 5, 2}, +// 9, +// SoundEvents.ITEM_ARMOR_EQUIP_LEATHER, +// 10); +// { +// name = TR_NAME(Type.ITEM, "E-Coal Helmet"); +// armor = 2; +// armorMarge = 1; +// helmetECoal = (ItemArmor) (new ElectricalArmor(eCoalMaterial, 2, ArmourType.Helmet, t1, t2, +// (armor + armorMarge) * energyPerDamage, 250.0,// double +// // energyStorage,double +// // chargePower +// armor / 20.0, armor * energyPerDamage,// double +// // ratioMax,double +// // ratioMaxEnergy, +// energyPerDamage// double energyPerDamage +// )).setUnlocalizedName(name).setRegistryName("eln:ecoal_helmet").setCreativeTab(creativeTab); +// GameRegistry.registerItem(helmetECoal, "Eln." + name); +// //GameRegistry.registerCustomItemStack(name, new ItemStack(helmetECoal)); +// } +// { +// name = TR_NAME(Type.ITEM, "E-Coal Chestplate"); +// armor = 6; +// armorMarge = 2; +// plateECoal = (ItemArmor) (new ElectricalArmor(eCoalMaterial, 2, ArmourType.Chestplate, t1, t2, +// (armor + armorMarge) * energyPerDamage, 250.0,// double +// // energyStorage,double +// // chargePower +// armor / 20.0, armor * energyPerDamage,// double +// // ratioMax,double +// // ratioMaxEnergy, +// energyPerDamage// double energyPerDamage +// )).setUnlocalizedName(name).setRegistryName("eln:ecoal_chestplate").setCreativeTab(creativeTab); +// GameRegistry.registerItem(plateECoal, "Eln." + name); +// //GameRegistry.registerCustomItemStack(name, new ItemStack(plateECoal)); +// } +// { +// name = TR_NAME(Type.ITEM, "E-Coal Leggings"); +// armor = 5; +// armorMarge = 2; +// legsECoal = (ItemArmor) (new ElectricalArmor(eCoalMaterial, 2, ArmourType.Leggings, t1, t2, +// (armor + armorMarge) * energyPerDamage, 250.0,// double +// // energyStorage,double +// // chargePower +// armor / 20.0, armor * energyPerDamage,// double +// // ratioMax,double +// // ratioMaxEnergy, +// energyPerDamage// double energyPerDamage +// )).setUnlocalizedName(name).setRegistryName("eln:ecoal_leggings").setCreativeTab(creativeTab); +// GameRegistry.registerItem(legsECoal, "Eln." + name); +// //GameRegistry.registerCustomItemStack(name, new ItemStack(legsECoal)); +// } +// { +// name = TR_NAME(Type.ITEM, "E-Coal Boots"); +// armor = 2; +// armorMarge = 1; +// bootsECoal = (ItemArmor) (new ElectricalArmor(eCoalMaterial, 2, ArmourType.Boots, t1, t2, +// (armor + armorMarge) * energyPerDamage, 250.0,// double +// // energyStorage,double +// // chargePower +// armor / 20.0, armor * energyPerDamage,// double +// // ratioMax,double +// // ratioMaxEnergy, +// energyPerDamage// double energyPerDamage +// )).setUnlocalizedName(name).setRegistryName("eln:ecoal_boots").setCreativeTab(creativeTab); +// GameRegistry.registerItem(bootsECoal, "Eln." + name); +// //GameRegistry.registerCustomItemStack(name, new ItemStack(bootsECoal)); +// } } private void registerTool() { diff --git a/src/main/java/mods/eln/generic/genericArmorItem.java b/src/main/java/mods/eln/generic/genericArmorItem.java index d82c2b533..c443463e9 100644 --- a/src/main/java/mods/eln/generic/genericArmorItem.java +++ b/src/main/java/mods/eln/generic/genericArmorItem.java @@ -1,14 +1,16 @@ package mods.eln.generic; -import net.minecraft.entity.Entity; import net.minecraft.inventory.EntityEquipmentSlot; import net.minecraft.item.ItemArmor; -import net.minecraft.item.ItemStack; public class genericArmorItem extends ItemArmor { String t1, t2; + public genericArmorItem(ArmorMaterial materialIn, int renderIndexIn, EntityEquipmentSlot equipmentSlotIn) { + super(materialIn, renderIndexIn, equipmentSlotIn); + } + public enum ArmourType { Helmet(0), Chestplate(1), @@ -26,19 +28,14 @@ public int getValue() { } } - public genericArmorItem(ArmorMaterial par2EnumArmorMaterial, int par3, ArmourType Type, String t1, String t2) { - super(par2EnumArmorMaterial, par3, EntityEquipmentSlot.valueOf(Type.toString())); - this.t1 = t1; - this.t2 = t2; - } - - // TODO(1.10): WTF? - @Override - public String getArmorTexture(ItemStack stack, Entity entity, EntityEquipmentSlot slot, String type) { - if (this.armorType.getIndex() == 2) { - return t2; - } else { - return t1; - } - } +// +// // TODO(1.10): WTF? +// @Override +// public String getArmorTexture(ItemStack stack, Entity entity, EntityEquipmentSlot slot, String type) { +// if (this.armorType.getIndex() == 2) { +// return t2; +// } else { +// return t1; +// } +// } } diff --git a/src/main/java/mods/eln/item/electricalitem/ElectricalArmor.kt b/src/main/java/mods/eln/item/electricalitem/ElectricalArmor.kt index 0d2567202..a783c55d2 100644 --- a/src/main/java/mods/eln/item/electricalitem/ElectricalArmor.kt +++ b/src/main/java/mods/eln/item/electricalitem/ElectricalArmor.kt @@ -7,22 +7,21 @@ import mods.eln.misc.Utils import mods.eln.wiki.Data import net.minecraft.entity.EntityLivingBase import net.minecraft.entity.player.EntityPlayer +import net.minecraft.inventory.EntityEquipmentSlot import net.minecraft.item.ItemArmor import net.minecraft.item.ItemStack import net.minecraft.nbt.NBTTagCompound import net.minecraft.util.DamageSource import net.minecraftforge.common.ISpecialArmor -class ElectricalArmor(par2EnumArmorMaterial: ItemArmor.ArmorMaterial, - par3: Int, - type: genericArmorItem.ArmourType, - t1: String, - t2: String, +class ElectricalArmor(materialIn: ItemArmor.ArmorMaterial, + renderSlotIn: Int, + equipmentSlotIn: EntityEquipmentSlot, private var energyStorage: Double, internal var chargePower: Double, private var ratioMax: Double, private var ratioMaxEnergy: Double, - private var energyPerDamage: Double) : genericArmorItem(par2EnumArmorMaterial, par3, type, t1, t2), IItemEnergyBattery, ISpecialArmor { + private var energyPerDamage: Double) : genericArmorItem(materialIn, renderSlotIn, equipmentSlotIn), IItemEnergyBattery, ISpecialArmor { private val defaultNBT: NBTTagCompound get() { diff --git a/src/main/java/mods/eln/simplenode/computerprobe/ComputerProbeNode.java b/src/main/java/mods/eln/simplenode/computerprobe/ComputerProbeNode.java index d60db6cf7..d0376fef4 100644 --- a/src/main/java/mods/eln/simplenode/computerprobe/ComputerProbeNode.java +++ b/src/main/java/mods/eln/simplenode/computerprobe/ComputerProbeNode.java @@ -1,10 +1,5 @@ package mods.eln.simplenode.computerprobe; -import net.minecraftforge.fml.common.Optional; -import dan200.computercraft.api.lua.ILuaContext; -import dan200.computercraft.api.lua.LuaException; -import dan200.computercraft.api.peripheral.IComputerAccess; -import dan200.computercraft.api.peripheral.IPeripheral; import li.cil.oc.api.machine.Arguments; import li.cil.oc.api.machine.Context; import mods.eln.Eln; @@ -28,12 +23,13 @@ import mods.eln.sixnode.wirelesssignal.aggregator.SmallerAggregator; import mods.eln.sixnode.wirelesssignal.tx.WirelessSignalTxElement; import net.minecraft.nbt.NBTTagCompound; +import net.minecraftforge.fml.common.Optional; import java.util.HashMap; import java.util.HashSet; @Optional.Interface(iface = "dan200.computercraft.api.peripheral.IPeripheral", modid = Other.modIdCc) -public class ComputerProbeNode extends SimpleNode implements IPeripheral { +public class ComputerProbeNode extends SimpleNode /*implements IPeripheral */{ public NbtElectricalGateInputOutput[] ioGate = new NbtElectricalGateInputOutput[6]; public NbtElectricalGateOutputProcess[] ioGateProcess = new NbtElectricalGateOutputProcess[6]; @@ -257,71 +253,71 @@ public Object[] wirelessGet(Context context, Arguments args) { } // *************************** CC ******************** - @Override - @Optional.Method(modid = Other.modIdCc) - public String getType() { - return "ElnProbe"; - } - - String[] functionNames = {"signalSetDir", "signalGetDir", "signalSetOut", "signalGetOut", "signalGetIn", "wirelessSet", "wirelessRemove", "wirelessRemoveAll", "wirelessGet"}; - - @Override - @Optional.Method(modid = Other.modIdCc) - public String[] getMethodNames() { - return functionNames; - } - - @Override - @Optional.Method(modid = Other.modIdCc) - public Object[] callMethod(IComputerAccess computer, ILuaContext context, int method, Object[] args) throws LuaException, InterruptedException { - try { - if (method < 0 || method >= functionNames.length) return null; - switch (method) { - case 0: - return signalSetDir(Direction.valueOf((String) args[0]), args[1].equals("in")); - case 1: - return signalGetDir(Direction.valueOf((String) args[0])); - case 2: - return signalSetOut(Direction.valueOf((String) args[0]), (Double) args[1]); - case 3: - return signalGetOut(Direction.valueOf((String) args[0])); - case 4: - return signalGetIn(Direction.valueOf((String) args[0])); - case 5: - return wirelessSet((String) args[0], (Double) args[1]); - case 6: - return wirelessRemove((String) args[0]); - case 7: - return wirelessRemoveAll(); - case 8: { - String aggregation = "bigger"; - if (args.length == 2) aggregation = (String) args[1]; - return wirelessGet((String) args[0], aggregation); - } - } - } catch (Exception e) { - // TODO: handle exception - } - return null; - } - - @Override - @Optional.Method(modid = Other.modIdCc) - public void attach(IComputerAccess computer) { - Utils.println("CC attache"); - } - - @Override - @Optional.Method(modid = Other.modIdCc) - public void detach(IComputerAccess computer) { - Utils.println("CC detach"); - } - - @Override - @Optional.Method(modid = Other.modIdCc) - public boolean equals(IPeripheral other) { - return this == other; - } +// @Override +// @Optional.Method(modid = Other.modIdCc) +// public String getType() { +// return "ElnProbe"; +// } +// +// String[] functionNames = {"signalSetDir", "signalGetDir", "signalSetOut", "signalGetOut", "signalGetIn", "wirelessSet", "wirelessRemove", "wirelessRemoveAll", "wirelessGet"}; +// +// @Override +// @Optional.Method(modid = Other.modIdCc) +// public String[] getMethodNames() { +// return functionNames; +// } +// +// @Override +// @Optional.Method(modid = Other.modIdCc) +// public Object[] callMethod(IComputerAccess computer, ILuaContext context, int method, Object[] args) throws LuaException, InterruptedException { +// try { +// if (method < 0 || method >= functionNames.length) return null; +// switch (method) { +// case 0: +// return signalSetDir(Direction.valueOf((String) args[0]), args[1].equals("in")); +// case 1: +// return signalGetDir(Direction.valueOf((String) args[0])); +// case 2: +// return signalSetOut(Direction.valueOf((String) args[0]), (Double) args[1]); +// case 3: +// return signalGetOut(Direction.valueOf((String) args[0])); +// case 4: +// return signalGetIn(Direction.valueOf((String) args[0])); +// case 5: +// return wirelessSet((String) args[0], (Double) args[1]); +// case 6: +// return wirelessRemove((String) args[0]); +// case 7: +// return wirelessRemoveAll(); +// case 8: { +// String aggregation = "bigger"; +// if (args.length == 2) aggregation = (String) args[1]; +// return wirelessGet((String) args[0], aggregation); +// } +// } +// } catch (Exception e) { +// // TODO: handle exception +// } +// return null; +// } +// +// @Override +// @Optional.Method(modid = Other.modIdCc) +// public void attach(IComputerAccess computer) { +// Utils.println("CC attache"); +// } +// +// @Override +// @Optional.Method(modid = Other.modIdCc) +// public void detach(IComputerAccess computer) { +// Utils.println("CC detach"); +// } +// +// @Override +// @Optional.Method(modid = Other.modIdCc) +// public boolean equals(IPeripheral other) { +// return this == other; +// } // ********************** NBT ***************** diff --git a/src/main/java/mods/eln/transparentnode/computercraftio/ComputerCraftIoElement.java b/src/main/java/mods/eln/transparentnode/computercraftio/ComputerCraftIoElement.java index a577fc2ee..263cd8ba5 100644 --- a/src/main/java/mods/eln/transparentnode/computercraftio/ComputerCraftIoElement.java +++ b/src/main/java/mods/eln/transparentnode/computercraftio/ComputerCraftIoElement.java @@ -1,9 +1,5 @@ package mods.eln.transparentnode.computercraftio; -import dan200.computercraft.api.lua.ILuaContext; -import dan200.computercraft.api.lua.LuaException; -import dan200.computercraft.api.peripheral.IComputerAccess; -import dan200.computercraft.api.peripheral.IPeripheral; import mods.eln.misc.Coordinate; import mods.eln.misc.Direction; import mods.eln.misc.LRDU; @@ -20,7 +16,7 @@ import java.util.Map; -public class ComputerCraftIoElement extends TransparentNodeElement implements IPeripheral { +public class ComputerCraftIoElement extends TransparentNodeElement /*implements IPeripheral */{ public NbtElectricalGateInputOutput[] ioGate = new NbtElectricalGateInputOutput[4]; public NbtElectricalGateOutputProcess[] ioGateProcess = new NbtElectricalGateOutputProcess[4]; @@ -85,83 +81,83 @@ public String getType() { return "EAProbe"; } - @Override - public String[] getMethodNames() { - return new String[]{"writeDirection", "readDirection", "writeOutput", "readOutput", "readInput"}; - } - - @Override - public Object[] callMethod(IComputerAccess computer, ILuaContext context, - int method, Object[] arguments) throws LuaException, InterruptedException { - int id = -1; - if (arguments.length < 1) return null; - if (!(arguments[0] instanceof String)) return null; - String arg0 = (String) arguments[0]; - if (arg0.length() < 2) return null; - - String sideStr = arg0.substring(0, 2); - String remaineStr = arg0.substring(2, arg0.length()); - - //Utils.println(sideStr + " " + remaineStr); - - if (sideStr.equals("XN")) id = 0; - if (sideStr.equals("XP")) id = 1; - if (sideStr.equals("ZN")) id = 2; - if (sideStr.equals("ZP")) id = 3; - if (id == -1) return null; - - if (remaineStr.length() != 0) { - Coordinate c = new Coordinate(this.node.coordinate); - Direction side = Direction.fromHorizontalIndex(id); - c.move(side); - //Utils.println("SUB probe ! " + side + " " + c); - NodeBase n = NodeManager.instance.getNodeFromCoordinate(c); - if (n == null) return null; - //Utils.println(" NodeBase"); - if (!(n instanceof TransparentNode)) return null; - //Utils.println(" TransparentNode"); - TransparentNode tn = (TransparentNode) n; - if (!(tn.element instanceof ComputerCraftIoElement)) return null; - //Utils.println(" ComputerCraftIoElement"); - ComputerCraftIoElement e = (ComputerCraftIoElement) tn.element; - Object[] argumentsCopy = arguments.clone(); - argumentsCopy[0] = remaineStr; - return e.callMethod(computer, context, method, argumentsCopy); - } - - switch (method) { - case 0: - if (arguments.length < 2) return null; - ioGateProcess[id].setHighImpedance(arguments[1].equals("in")); - break; - case 1: - return new Object[]{ioGateProcess[id].isHighImpedance() ? "in" : "out"}; - case 2: - if (arguments.length < 2) return null; - ioGateProcess[id].setOutputNormalized((Double) arguments[1]); - break; - case 3: - return new Object[]{ioGateProcess[id].getOutputNormalized()}; - case 4: - return new Object[]{ioGate[id].getInputNormalized()}; - default: - break; - } - return null; - } - - @Override - public void attach(IComputerAccess computer) { - } - - @Override - public void detach(IComputerAccess computer) { - } - - @Override - public boolean equals(IPeripheral other) { - return other == this; - } +// @Override +// public String[] getMethodNames() { +// return new String[]{"writeDirection", "readDirection", "writeOutput", "readOutput", "readInput"}; +// } +// +// @Override +// public Object[] callMethod(IComputerAccess computer, ILuaContext context, +// int method, Object[] arguments) throws LuaException, InterruptedException { +// int id = -1; +// if (arguments.length < 1) return null; +// if (!(arguments[0] instanceof String)) return null; +// String arg0 = (String) arguments[0]; +// if (arg0.length() < 2) return null; +// +// String sideStr = arg0.substring(0, 2); +// String remaineStr = arg0.substring(2, arg0.length()); +// +// //Utils.println(sideStr + " " + remaineStr); +// +// if (sideStr.equals("XN")) id = 0; +// if (sideStr.equals("XP")) id = 1; +// if (sideStr.equals("ZN")) id = 2; +// if (sideStr.equals("ZP")) id = 3; +// if (id == -1) return null; +// +// if (remaineStr.length() != 0) { +// Coordinate c = new Coordinate(this.node.coordinate); +// Direction side = Direction.fromHorizontalIndex(id); +// c.move(side); +// //Utils.println("SUB probe ! " + side + " " + c); +// NodeBase n = NodeManager.instance.getNodeFromCoordinate(c); +// if (n == null) return null; +// //Utils.println(" NodeBase"); +// if (!(n instanceof TransparentNode)) return null; +// //Utils.println(" TransparentNode"); +// TransparentNode tn = (TransparentNode) n; +// if (!(tn.element instanceof ComputerCraftIoElement)) return null; +// //Utils.println(" ComputerCraftIoElement"); +// ComputerCraftIoElement e = (ComputerCraftIoElement) tn.element; +// Object[] argumentsCopy = arguments.clone(); +// argumentsCopy[0] = remaineStr; +// return e.callMethod(computer, context, method, argumentsCopy); +// } +// +// switch (method) { +// case 0: +// if (arguments.length < 2) return null; +// ioGateProcess[id].setHighImpedance(arguments[1].equals("in")); +// break; +// case 1: +// return new Object[]{ioGateProcess[id].isHighImpedance() ? "in" : "out"}; +// case 2: +// if (arguments.length < 2) return null; +// ioGateProcess[id].setOutputNormalized((Double) arguments[1]); +// break; +// case 3: +// return new Object[]{ioGateProcess[id].getOutputNormalized()}; +// case 4: +// return new Object[]{ioGate[id].getInputNormalized()}; +// default: +// break; +// } +// return null; +// } +// +// @Override +// public void attach(IComputerAccess computer) { +// } +// +// @Override +// public void detach(IComputerAccess computer) { +// } +// +// @Override +// public boolean equals(IPeripheral other) { +// return other == this; +// } @Override public Map getWaila() { diff --git a/src/main/java/mods/eln/transparentnode/computercraftio/PeripheralHandler.java b/src/main/java/mods/eln/transparentnode/computercraftio/PeripheralHandler.java index 3411df762..b8e07e4d2 100644 --- a/src/main/java/mods/eln/transparentnode/computercraftio/PeripheralHandler.java +++ b/src/main/java/mods/eln/transparentnode/computercraftio/PeripheralHandler.java @@ -1,8 +1,5 @@ package mods.eln.transparentnode.computercraftio; -import dan200.computercraft.api.ComputerCraftAPI; -import dan200.computercraft.api.peripheral.IPeripheral; -import dan200.computercraft.api.peripheral.IPeripheralProvider; import mods.eln.misc.Coordinate; import mods.eln.node.NodeBase; import mods.eln.node.NodeManager; @@ -11,27 +8,27 @@ import net.minecraft.util.math.BlockPos; import net.minecraft.world.World; -public class PeripheralHandler implements IPeripheralProvider { - - @Override - public IPeripheral getPeripheral(World world, BlockPos pos, EnumFacing side) { - NodeBase nb = NodeManager.instance.getNodeFromCoordinate(new Coordinate(pos, world)); - /* if (nb instanceof TransparentNode) { - TransparentNode tn = (TransparentNode) nb; - if (tn.element != null && tn.element instanceof ComputerCraftIoElement) { - return (IPeripheral) tn.element; - } - }*/ - - if (nb instanceof ComputerProbeNode) { - IPeripheral p = (IPeripheral) nb; - return p; - } - - return null; - } - - public static void register() { - ComputerCraftAPI.registerPeripheralProvider(new PeripheralHandler()); - } +public class PeripheralHandler /*implements IPeripheralProvider*/ { +// +// @Override +// public IPeripheral getPeripheral(World world, BlockPos pos, EnumFacing side) { +// NodeBase nb = NodeManager.instance.getNodeFromCoordinate(new Coordinate(pos, world)); +// /* if (nb instanceof TransparentNode) { +// TransparentNode tn = (TransparentNode) nb; +// if (tn.element != null && tn.element instanceof ComputerCraftIoElement) { +// return (IPeripheral) tn.element; +// } +// }*/ +// +// if (nb instanceof ComputerProbeNode) { +// IPeripheral p = (IPeripheral) nb; +// return p; +// } +// +// return null; +// } +// +// public static void register() { +// ComputerCraftAPI.registerPeripheralProvider(new PeripheralHandler()); +// } } From bfd6071782ef0824f1754827c9d042d1b5e0846d Mon Sep 17 00:00:00 2001 From: Svein Ove Aas Date: Tue, 26 Feb 2019 02:43:29 +0000 Subject: [PATCH 37/61] Misc. Fixes --- build.gradle | 7 +- libs/commons-math3-3.3.jar | Bin 1952352 -> 0 bytes src/main/java/mods/eln/Eln.java | 64 ++++++++++-------- .../generic/GenericItemBlockUsingDamage.java | 3 +- .../eln/generic/GenericItemUsingDamage.java | 4 -- 5 files changed, 42 insertions(+), 36 deletions(-) delete mode 100644 libs/commons-math3-3.3.jar diff --git a/build.gradle b/build.gradle index e5ae8eb06..3a63f3ca0 100644 --- a/build.gradle +++ b/build.gradle @@ -98,9 +98,10 @@ repositories { } dependencies { - external files("libs/commons-math3-3.3.jar") + compile group: 'org.apache.commons', name: 'commons-math3', version: '3.6.1' implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8" - compile group: "net.shadowfacts", name: "Forgelin", version: "1.8.2" + // TODO(1.12): Update. Maybe the latest actually works. + compile group: "net.shadowfacts", name: "Forgelin", version: "1.6.0" // 1.12 version: //compile "dan200.computercraft:ComputerCraft:1.80pr1-build12" compile "li.cil.oc:OpenComputers:MC1.10.2-1.7.2.172" @@ -261,7 +262,7 @@ task updateMasterLanguageFile(type: JavaExec, dependsOn: 'classes') { args = ['./src', './src/main/resources/assets/eln/lang/en_US.lang'] } -jar.dependsOn(updateMasterLanguageFile) +//jar.dependsOn(updateMasterLanguageFile) // publishing { // publications { diff --git a/libs/commons-math3-3.3.jar b/libs/commons-math3-3.3.jar deleted file mode 100644 index 25102f2f9379c8078d45a1ec47df3c505b12b0a9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1952352 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

6IGa1ei$5I} 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 z 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ʦ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

jF5I@a_GC91XOzUTy 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

K_US|K2aF*ebb(TQ=H{40$t5`SD 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⋘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

|Dh)Q7ghquL!U_g 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≫7Y$}h>_Vw(TH=JXj++nQu>{0ddF$n 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

s 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 z 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

gHHA;%X9k=9?%A; zLy`d{!^Zd|3wgCHUP_)Giw%unZN5U3HqZt$q(~Az6zlVtt9n<+7vmwF63utv;i`A) z(=ub#&g*gY>ykjvIc=xY-@T=>@jJhP+pyXv+0sJncqk3;C18E%4`o^-+tuB&fSfCR z__3j+u*NhHbRr8d^Rj);^FU_vLRuVz`;qLdJg~1QJk zxl^W6SM)g7dC1>nVXvVFF?f7t!DWK#B|3bKDV0!rqmhfTYB|JMxiQ+>m+e&;os|yj zlUgwn4u@BGyS)}l{?08{OMm-?zlk}dBUA&TT4fvi%nv%gEb|Oczxehfgm&*$S_DItc>*CQ8p47D1jL{PC`5Hg)SMd@(-4*Sh76C50PQ3}w5oz& zzi8D04>(~%f;m^E1*w${@VHdBe3UuvF!ApGHn}Ve32}D^CtCvC{2D8AmLt7NyvLA2 z;FJ4li;Z5(*+k)vXfo1+CKDD1ycl*Kkb|ezjHuFzr&+!#rEX$TH72>}x}|Vt>wYaI zS*x|JT@@u5^5*V{3p>@7|H^D$WcAMBUsUozRu+l2a6C4m4kN+eKJV{6M-u-^M% zHk2}hzhrAJCuS{X?Ad6z!>Ko}3-lZj5PzaLe6E4_qR_<5?>oAMzJBow`dpI1;!?_B zT9T6=<#?ydI()yFx z`0$g@S!7~ONF^;H<8IT{7%Q&C3dJR!_1aWqHhy5F_l@>)ZeFDQ;~oJn+{~oyiCr`CUq%RqLn22Ud8O$#7Wd*Zk<#xpgr&Kuu)`+3a!n&pp45I z9J!(#YrNTx++}_iiga<7mN}lb9C{U0db+eyta5=gzpV%}OMgMBO{cBsFvU{I+-97D z+gc``h!I_t_`)LD;zRAP3qV&_YZ?znXUr11&tN<);U)n@zcHbboT@1H9wkkh?e&-D zeR*?AMjh_1lU&+sLEg~pQc+S&yfM5ZWO?Sk&e2gCfXg|6tV4(7j_qlF5{SID$})uU zN+gcqv6j&hUwH@<64ujtv8qi4p_0A^GiI!v!t}mC?v})_GbP^LBrExb>2Fr;SaB9x zQRKY(66f&8(V{3TfXya###jD)^)#J?iZ!LVAthN+8noI?i>XAI1Dt&+3gHI9=@^QT z9uV>u0Z-H#;_X@l0(4?@MwlaZ3gOTYpa3B3hv`LvMhA>j8{C$E>6Rgh;a$c{aC9Q( z(3tm8o^TFp;5FFj>Lg;R!cW|TT!q&Sb(sTSx?rnK9`uSnBC<1j%l?WsVVH1SWoQhv zDv}CzQe@5spD@tSb)s)_n7`HXi+&?hbb}OTg@#PkjBXqQs$k=y&L_=?F}>94bqW(( zPNN2K-LOqZvhCBK$ue|I))iepgm9#*Wsjc9T6WqMSVtR&M#e=*r7Wv)BXS#=^4{93 zFT@5UQCkKgJw*($b*9k@>*K0o>+#;Gs%~2G{geW|_L_9O`e4UWvK7a{Cay!2Ug?wA zb7!?Ql>I1`H%8a5fY8t6;t52v0X9?-cir7odYT<#>viN7w--L-uO;6^jC>~g%#0)Y zJlwRlctLe7CH~aDW_eQbul4CQVt<4K(KYK1{h302j#V6y)c2u2HIArZ*eZWkLpYC8+&}ae6MiRWS%+x$ zyc_qGmCU`C82c?P5T7hyxE!ihF9`#4cR|e?<`F zE_vszaKi`V^CR=s`WYg3+c-4>nuNHAdFv|2D~*Jt?1e$pDraB5iGet$|ECq+5bt<= z+J%|S4xw}G-f!_=+_;9iO$7nY8y+EAg#`6tx1z83PT}2QM^@q|#iWuiJna=t_w12G zBUgVt)*Aw66c6QcGN|--ay)#vt0k`-4&EOQQAD6IC87h z-=#i^Yi7#APH0nq_tkjVQ*18geg8TIX~f0N<-J7uQ6=8bZI`6cVtkhlRO z-2a{|YTpI@_1Xs&Qp7={l+klDNW@uunh`WJNkQUEE*@|}&@BC+FSKXr} zeiGVl4lZeN)ho-c%}^T> z#Q@q>D#hr$hd=)lz)y-G2Q+P<1-G%%8)6+ws>!426Q4GF(*=^Dh&C#aqF|?vWYKE_ zG;Jg|+-W0s=JD;5gq7Dj;+>;=={8AF3k>U}um1FWeGCW*_}Q&9k-=QTYHCi~t#aE% zpv}}@zM(nKyz$ZlSs#PGI#`d%^(U1!Bbi_XFNIa#^zDFeewV9TUwE!EiR|L`x*RdL zrA%_%I?RxL`3&-oP#b5a>kX;akPVdr za?<%~pf|l1{Trd3OlS68a<3yAZ!wI37<3Fs$X~7UMx1aDp#Fn+ub7s$g+|fr*3iw^ z89wcDqw!sRrX)Ts2&d0~Vwkz~NcbTp3q;CTYkuEGu#M^~ekXwysR`|0yG!-wxNhS< zWNAw3T0E)pNE<*R7%rHw9$AW_d8V<3r=H352Wc+YP;nUOLkwK%{^T+ zA68jz8+I1$^vK#as4KBYOp-LuGO}-73x3*ijrm#KGyXR-R9qn5z3eknJ&jx9M@tA-+teGHQghG}p zY-tUKy`%)2vV0gW-;90iHx{`x^hsfza@}=1EZTJsjEYUXcd!6ct^^77;cNLO{ zyvaqu9EA=Ivz&K$0zYGMum#ZG)|=_hQ=6&Q+n7nAUtJhJrr6r(120QnYx$p5QzeJj z`NJ+bRXj;^Ty|3?0Ua|3DKL%O4J^^~Hi>(k+KO_Yx7(pWxZk(8DUQ#KX9F6TAj9r@ zCUq6O?s8O{i$hd8Y_(e$uqmR;VzAg0VpdTwgV=Kv<1xQ98RL=#dy5(Zm3i^r@B==- zLMk(y#~)Q7F@MO~slJCPXJJvUr689TT&Nd128pRXf%RB~aW9iO+wtzS_1;^b^}6|G zU+lN&z+NW7$y!xTpz;~NGwnI-jIy_RBXgZT+l)4r6v)<*eLywdd)jnGWQ0eC6`><` z1+My=%%vi{Y3y9=w!=2*;0yDD)nW#K7cFIQJyz-vSn zEbA&Nh#0$Zc^TqU;(DaUwtlV=)_lFFD3+g-i)UuC%)nZcl0N&bnWWGXz~XImW0=JK~Ml!q%b>aI~q7P^*}+lj=W@(u+nR#SP=F zKA)K55Aal1tLO#G>+=Jc!apYxw&o#R><0zq$5XpR32hpOOl)_{wTT@nNs+7@VYKs+ zt+eW?FVtA{g_K?iKx>;vo;0dYQ=S7#v(VA4x^8@?l&IR*=#IlgmlLE);fKK|%bA7b z=<$~_qOml_>kqwiZL0kEifFvz-uij2^h{ed1i=mWw>S-7RLoysB^u(Woxz-b(OJD~ zRCwZP*2;LqL_py7P@kciCQ}MJw2~YIe@POv(tshF}Xj2u*LRT zLu$NFn0NVZG8UI!bw0LV2305iv|9>T6{!x}hbzNK^ ze2-6c-x!kYe|dZ||3{@t{~!7iC083$v2QxY-swNAoYZt}aK5AFrY_GXF1;?IdAV;M ze(zyegyS+m7yUI0lMKAzNLz7?xC?qw#JG}M+S9$Vdm5I*drpqmMu?R_Q2}^pLPA37 z0og91g@cn+RKR-*lpTmm-@g@qRllpaUjq5OJv04+7iY5x{^b&JOoxG1sH_@#NoC0ks$Acb!-{w~@x=5F1bk zc9an6GNWRe}B%(r!orCBrQ66socqDuX@VBU(Qe%@}j8s+q| ztGb^1WIuE9_2nZF?y{yS<0thBD+}xU#*nsbO&0H^hwEh|t9qq*%GAQtI$0d0pb2uQ zHEZaE$S<_86rd#X+ZRxMEi$N=aR_vu}JGnA!*9wH3gRhu^{c6PyRJD*AVs=l&87vEl5qdl=AgP3#1!X&H)12)pPJuaRhfnq zMcM~g)ERJc+gy*uIeBjYf=^TDMha6-=%bNKc0zlQ(+ix3U!8DWILO%0c{9VB!dRHi z%yvs^h=X!=m{S(?dm&o{EHxi!J1-8)+B1i222hCl9>_yy9n4xgKn3Us-q<(kFpIjtW=U(3iH}QFQx_I-NvE{^=8_T}*Q!}v^JP<0+W48dZjyXj zGRyvR_vcm%N_R}5&S#V@vAI~LgFWl4;Z?6^o~k6OfN86*`N$tq*jl*I z%sDzmTHCUn8L4j0#auU?bWyv0?rdz=(UM7(yU?qR!}#fUvFD8FYUgdm>3%)k>REnr zTK%zP&BlgULV;jikkJtJzI^w?sGtQO1uwJ_c=ne_SbZDscKNH#w;(cEA$2$Dr zAL5vWxfH-F)F5=m3%!OIy5=CO4e9qlOZ0#fza}cV28-F%mDz(|zahuz7oFJk{rwX6 zafBqd3!OET+6wPK%<~!iMj8N45)M8%AUqe#Tn`UFPJzQI;)w*x38gN#TQyNg0dJ@X zrIGMGrbX2+D8!53D0_mrdP2%t77mg(P<8ildV(Jv#IBH|-=z8c8a|-+5aR1kyoI0A zH>4%;pi1iTq6p3n2D^^>s`Yr38)6LcJKy&9iJyf-(2P0}vjR&mb+3z#b%>L<&-T6d zvXZ@w*adUK{5#e8qJ!nB*#|#@sS!UvaYSHre*|&?Qve)0;%MfDkbQ3rCM+UZHHyN_ zKl0lFGS`qjepJUdA~TG}?3{RAW?{VZ1CzKF)Hlj2YQqS@awz9uH0aoTpYoGrRj`}< zKyzKLXnfcP{*Suip#e>8Df26C?h4$zb3G^Ch^<8{Rm>P zqre{n*>lr9%+zU3Ol}Qkx0x^iYdwEinW7)|vD{K5KmPlF$}F|~PzucYRw^QWD;2f= zfA$jzOLGeaCsSif=kFDX|66luQnz+MUjELHxs;+Fr5<1EH*>VGEbC#z2>2N~CIHzC zDR&@VM+gcvC8f2`IwzH^h5;<8WrYL;;K?W=a4vOR929(N<7IB{9U=X%O|Y4GLb_={2vN zmtCjB)ORy%0f#%^xs8KIx}oEip16=kBi!gsEWPnU48(-04p!umM?5`D9ZI7c0f zoDvSSowDAb$UWttvNW<#OwUsp$F|2@Ok}0`4Hy@O#Tq}fND4Lk2 ziuMS7RC|}DoW)UmaQC2MoNgJ&V;!7eVyQT$TC#d1L1TANww_u8$*+q7ORr%=dcTIL zjgO!4O`;8bMQOcW=)}09qwJjCc*O#ikouXw9miePLggf{&QFgo+qj$SU1|I4PrTxm zCR9v%#<0yQK8&dVjSbe;`1G*Oau0*z_khLESxmp4)Hzx_RrZsS%y*$y3$uoJ`Z)65 zp_15~g38(DwZWO0l@G?4R;Iy5)BQPsvijZyy+`ppYNTgAM$0XLZ!w^#Zfjdrdm%xx zV9+JTP|tXyYCTLn3p+dRNZoY9ya0x4B}Rcls@PWr=I)YOM6 zgNp5>F{5RY@hYi^Vrf891wN_uaCrx-6>6*a5R8&DID>Lw^H+Ci0Gc;vxD;%R zOQx`mb4V89Fz3!k+#Tobi>n9OwjP?3)aX(fj#Hf16A2JD^y=O-=d9h=^~Dc}?~QmAH*Ch{Esh%L7t8J~wAl|l=0#=ZM7?(b!tUYv zf6B}=268Il#%?oS#Rmsa0_=oSAYR3axf5h~1t@|Tk?=GRV_TDX4trlu82vg6)+KH# ztp33mHM3U~@;Gq?ARq=aHq6{LU`)t$|B*V^6p&Hs%9m&c4$TyhAx^%GVg&)BY->JR z^sEuHFpz1rqYH(B)iTRAinx`qvKJ$@^|&%MVw|i^Y>#5zbfRP$!6|N+92rk%O>}~l z92lw@j|-_&*x~T}OVW8fV6dTOgyS^tA}PkdOU+>}rxomp(MF#5!)&zQ5BoRH4rj@g zRUyNaAn`9;%PV0DbpNFg>*nN-nX?|)y=o}ovjMcAqdK8J_}|Bdgg;SZewR(zV-r3R zKWs;f?M~9!BdV|Y^&=srhP_+SdrMUIqOFDqmLmo)qi}T_xW(KPPBiXqx=bW5XHW(A?mfzguo9@4m5n~v;(XHFS;(Z zgGUWuwUc*)N)B+nPP-zNg7ob(-o|Yv094G4U=_mk!Q1$0xkF%um~JN+u_d}=@usE~ zogG5oPJA&S+YkRHh1EaVPsrp8-G!3f!@1-BCej|_+JE|#`NXn;=o`3sYcNJ5kD}8} z)DTQp3Nd`ERM>X~pCv1=51SVx$1Q;lk@p2i6166gf;l4D-=o<93^)d)xYq|ZU$iaR z65S^Dg4WcHky|l8g@RXEZ|vj{AU9$S@NkLb!Fmq;hW|bp2h;mnHOuk&P-2W62(`qQfoa(Lc;&vsJcZzt(EzXbie=#?)z!51_L{_1T>Hlv^_LMi(kqbPN807^ zlhcwR@|0Gn*`l=e2rOZn0=VanQ?FaNU=da}4Z73c-X+%XI#79RKL1h^{V|hH99h=A z{-P8Yfc;%By}#l#{_L?8-L3zWul+Y-=zmS5l{IZwjnI77*z93#+Ni8eMIiI2sid1y zEAsm8sv`@}0gnNUo%|pJPFtgze#3rATEhtJTtPMSn*rVjjn<^g*!^ri5Cxb#WC96* zR2I&^^vr&|edW2__B?-kS(W7lYL1e?K$j}CN30@8gL9yWtY;J7O}|(zWOIELdNv_kTSw$s|3b>@;3j9PdVcna;sl zSW5~>48vt>U1q9CtI+hx+xDdH&<|=5U%wlB@fo!~u0&mt(F>})JdRqnX}CM_$2&&%b__b3 zTknWH)3&kTPqVpX?nMm!-tq8m()6)I{$?sR&~a!C8(OE_=IMsD>GvPG+sVX-lwqz+^o8|1uI zyM~*z+@5dE*fBcbtikA7ecl!8*}*v>dn=- z7~%^r6qTmMsEuhg{r0t*lXlhidjWOm)$uy1n1H7!b=&Z0$s8gzAwPMtcHrws#4a=< zdYmJE+y;hwv;u{U<{Ri4#a^5{M_ENc4g@#k!w?$hv6%kn5D|V@pnL?gm|`%&-w-2E zQ@L=H(}Dp{KNRft!w`dyoqDJkTv1oSOXAVN=$;#Q# zNf7jnN1)vBB|e0AB+FG1dI|&!nTBrt38t-dK46y(&frFbHlxJ`u8zccbh1ww_jm~5 z(2(@7^RT{RPXSPa`}Z6_6Kt}rM`GaE_!IIO)q=B1&)4{|>gjJc?& zJu*;g_JFI<|74ch!IsJk16eC-oFL)tM%nNez5K!A$@L73y94DFP^GtnsrH1jDsTI} zS+;hP5KTCYs)>xVFnaz>^}8$q_aM@{j=*;44dlP~}t90}{iB zsQLgPbUkT@N{H>tD#!3q03vj9Hueyc90G>M-l8 z2Yd9O+YN-ObMEui^m>%!btByk3}UAxx==LR@Q0_p7=&;(&$%e-3cM}B{P6DE$gP=D zVtorP^Yy+R>DOJr9$1(@z^29N&IQB0-QowBJnLX|{4OgC9wPsfQtf%9J+XoW zr2blS&Y_HN9e~qT6&9lT1?&LiE>^(rFf!hS$GtsGQzq%4e4mPWJU*~FF|$dcF^)CS zgV;J5WPlW^KxvFZH@y?o_($;t~;oM*RgBPAQ=2ZL76Sx-IH{GgFnzHuyb=>9}+e@n)jWE(dt9e*f?M(*%k&$RJ4v^MQPZdDv zPn?11;F^4{sd0vvw-CZ@fO*o`8$y^>e`H<;F^C9nI%^ub8vrD!t*uuNahr~hB{EDR zT@ntHWOo$V&pO5>i=sKY6pmq+6I|?OdDVw|+gTavDx%%Q_eIOOH8Uw<%CI$H^W+qN zK5k}1ml7>_@cZvtw!~Af*_(@KnjdJwE)6FxHb%qh2a;@eETrgzD9$~;Et_=q%5}m{ z_Qj3%bgfepwrGIx5*TXG6`)ml?LgdG z@0h67P`Epld8ppdl7_ChC)2WsoaJ2sS-AX~Q@+rPew1$LFK3|8Jrx0xSM4YZh+wXw zG`SxH7(Sqv*L1XJvzhbfQTdCseWnX7eVD&^&L&{pwFPJ5Zx>4b0{p`-r7)?Xw@rzW5mV2ur_5C@aF4x7}8i;SBrTLc*;FSn8ipRWYM zK_4ggxD6ywn6!nFGn)Knp3`^A=vy?Fdr?%-8IU&B{UKV#e>m)Eb0R2DDB%(uQEaeS zvgFK>&>DI4Lb68O=B_Tn;E-%Zny!ORziM2Ct{xuOj~vwcV7xqbyS034mNWxB;xZGF zQo+omaHnXMyVM?Od%hA^Uc|~+Dj;Iaq)6Ac;?!4kbW&$+lS>mw5JXEq*B6gNuF4wi z!4kFLmFwcnb4J4xjh>h&iwlVcV1mdDNRj>vUM-nFvA6WjSZY&)uT0xBUY{ITY3TfVVBHaAE{lLu`M!_=gh$` zp-r^`Kp8`L*=>BTVB(Ct17RXLL4+#&KuN4XRlVIswH{2YU|Yg)UV>m=!sxDFKe`CX zwTeUVWI|CgQ1mnO-(*8@xCkD0;&nv&5($oNEt^nIyc!0a?2eC%0G84TnWeLBu_`c(O--jH18|(pL z_!b((PFY#a0wkn=;11>DxH)Xad99yI=4jI^8q#X_bG{YbKW5B$s^;8CggeTb^)@c* zoW?|T@)%yE3eB`XQ8=N&J+8A43tcvp;uAdx-bhFI4Bw)cJ$AraXxvTyw>_skICIU= zBZ>%R*()hDy!gTswpT)NW}*+2XDC7WD3p;M+O8!=kL*z~=D1bmK`X;PHm2HA; zneQyU(@naVMvIYlNE;>hyWp{yq77t}*auq~#_esPC-wrXKkZjM=(nL|dX65yTy%y_ zfw24RO|xIX{)ry^BXdF?sPIgEL8v*t;39ud*!#a{&VQ@O|Mdk-Ra+5L8O=vVtkwt- zia?HlB9I_JX_-Ky07L^n;Jf0lA4rfDG^6t5`_fLV*y1f~~?Z zK7G0hJrQAReY&!(B#HNoFuH?+hF@ET$j%PcA*&PREFzi?vOa^Z^ILD|74ZzqKks5A;qtKlm1FTT>ShRD7sMt6<`@3p=Jrg*X^3 z9R=Bdd+eIRc=iofLc~bHxryCi~E*|!newtmqCa*oL%o~j#NMQfZgX(l6(WKSF} zG8RAW;=Fe?9~^`Bww*#mO&|^_T+s=tQpR-z(bg0pWUUaqqm%P zflQQUkm@Hv47G5Vt6LDXiB@xW%$!1GirrkJk}fvP#`IDIWP`k*U*n)`c&^ZjYHOs6 z68V+iLMfYxk69M>CJRM>8CK3x1~qvtvJDV);J>r9vW7U6S$g!Ou)I$m5+_u?g&0&- z+WX`NhFqX;M_dyZ!%DHY(t2#A<`Q+$M=pO(dZh%DbeIa!YToGDn~BVmGiw@2^JpUf z(21;2coUaMyEH)C-qjdOa_Xc#u?Z#%iJ^I67fPs#s}!8W zE>{1IDma@WX^jCuXew+G4Mhj|f)9lE$2v((ylGDsnbI+k**SuBJ!C(npHDj_;&bUdZgaDmo(P_w=4yyd-GH`ux(*Hw`)4Dj+2u`}Jtm6+El8 zr1?8m1uNN1o1jzJ65$%h+ZAS{V?U$@<&!ak6O{FMd!VB^U9x#xSj)U4QfJbVk*W5r zS*kI6;pJ#ngv)F2MownS{#6MFtVY%#KVw9!9WKwM-SN)oBww|myZEE}iw$j@KLRLb z5f?(fLg)&zTOoUWgD6|{%BGvV4SbDLf|#Y;-J+lntL2&fGMaUsSIkRR>h_~uK9<_# zoK_=Jt_#UGENJt3Wd0j^UHpN8~yC(3?Z zQVcyR3`?NuzTU+s-Rp5SudBTeJ4Oho>r^eSFRH+tkKlQe6A(@;N>?5iPvPw=fd5l0 z(?d%0=h=07UiyMKI|h-8K00;~-5I@huQLbCfja9@DSkV;R|x!z@**Evo)HLyXNXK; zGSak+IvOFRQW9opQhsMlw0&CoRr#>*Ul^Q!5Kst9D2b}Szyq;gwg}??;bYGqJkI}1 z)3K`frS|;kJxrq6+o%OuFIF-I1+$HySzi&LATGF~gaD^Nk=t)v2cy|%)4I%8(u9iZ zT&|dTEu4AXzj#7czoWOAah-iN-zC7kX;T}(XU#D?yw{ewdYN&VaeJQq`PK@u#l!=< z1x_MF1azgB3yUpwt*`J~345d4=^LXM*w$c!$JkD52rH0K)^4BXn-R|sk9KMUt{<*; z{csX5 zOO6J{JMi?%vE~^&FH@vZ^xesvgw%}>d$43oQ8SmN#X|Ir1?{(&Qj2ILI2s4vewbvlu$Nn(JQy$zEXYfn@l*9)la9!V|FKyzm#h6f6; zQJ~Hp8^}bCh8d?=uAOGGEZi7#s%8iOgy(F9Hc)AJqVFrw%WVoWi;d7*0VK89<@vQ5 zo8HcDyh#8gDfbJRCQ%>FtIyY`w=8-frY((Fi~#u^!i@%wn&)e&FaFqGqRANmK=B|CFlItOVx1MvF%J{mMmxyzSNAEHv05 zrNsm}Jb|Z5=-zk<$6?qs-DI#b1~6<2K5rb(1~uDDxef2AHRvOYx;;~io1`*T7Bi#B zw9;Jj!0v*AGMm2^U$1?Jp4o~GueqXf35fX7Z+VDywh_DQ(4#pAl_13+X2aApgZ+iV z2tN~Z%F^^&0vmC+@9glS2u^5gW;(yEAxOwFqq*1JAr9&AwgE+m)yO2&dMG+T5H9qT zdo|1*v0RBG>;_cn$Lw-Im*}n4=b`E)EI@L}C27nmFTCM##h&1B>9ssyE5fpJP9zQ3 zbb%x|VO>z?FG^FJ^$~zTD(Ri6(Xq32QX*)jq)8Nx(Sx>0O=lG6gh$lno=@cFtA<)~ zIo#t{*e=oAHVZy!hdLr}9&nd4``TX~FWtaPo{C-R?|@y4TrYLdFAFC4>DT=`L_l7L zbhH?u@(YNYNrPpF(K+T7vF#^{=du`FM9cf}o)4i&5WH;4AF?oX2QKXDxV9epun}92 z(+|MCdEKYRPT`?xSK4S+TvgAar-Ko93#4|%In;k7tMG}M0a4XMOs;{pckwOhy!a5+ zqH;6g{6Z%p*+RmA%Y~1@vIm})bTk_j#~p`$N5f;cIkSyJGV7eahDl@H&VGe37!*8P zQ6$N*@Lc1US;GIH0Q43DMa0_`KX6X2Yhjp{}M!a`?KQ(iU7;t8qE?w5a zUgH}DLcOFv%d=0h60w7;ik+1gKpw=SF$7mNPpGP;fH@Z3@byEyv$9`gK+>Gk+^2I5UUH_MUGKH7w4SFb!pYirJ2njm_Rs{iG4q1R`?|f^4~1 zjz-|wU6c@-odcg8-}DGRimH_V82UlHKdKsVz+>>V^6&wWjlEm#>f`t{523mrjrP5jlmb$j|( zOxYi40RY^?U+=4^M*G5){ikW+--_ygjJa1GR+W&nYq2SlG9@#iXsD->_>4&_Ff?Xb zTVmiy`M20|Y!K5VHHGD|8={bi*sV9*wo-NVf>3o*j=TB#j7j!WtG1zjI2#QD{mf5= z{(gAo9W}AxdG4H)zxnax{=FLyhwMn`tIGv}hbE=-lLs+$lkH(6G0I0g>VAbJp~r9c z^COoEHy7Ey@h5WfBHJZI7lyc|UUUJ}6)1rlCTug+efh zzi1`S$ur|rDQRpmac_!jpm3cLUSukT3Nj6MHe^JxS{h?icIpT-u|huxDoDLJC_H^y zDTKGunui`NzIbY^g8!j>9ntNAU12cirJD|4x3T2Xp${=Kr#QQUAnJu)hd@&rOj-%z zqMXiZWvkYGQSQpNT~2$!y6Bpr2GQ|(W@&2K)wD*xBMNM7I2K2?iaZEzfdfQ~4dzU! zpeK8#*thfsUn5O%$@b9Ljj1-vJc#53W9nWtqX?^?ZFgn|jKvZ>aV^(7HLSpxVkJ=+ zpomOaY-w<@?IkEL&pdip;e~J^hfqq>UB5KZD$EDLQ=$t|)pWMNHJjE5(ylpAQ&3ICqWXI-5(mAEe67zLBL34qzeI96QH41pjHT&eh+(+*i9U_8hI-K+Xt8Fz z_TGHlL8@$7SB%4XHut2pdNEpMm1-SglF{X@lihax2C~sK^`7e-j8&m^S8c;+{>nQ% zx$LN5SW^+vxPwX1yi;gCcp=AcZa1iwWHKeX4|*?bvj8z!TVsSKmbmVOL%`Oe(d~*M ztEg|rvfyg=iR+cyo@8-HAW4Y7Eguf+l@ zE*2;2(eeUFFJx}J=YoHK33KKh8l?-@Lb;|bq_;0 z7q>i%h$jkaZ_q~mW^fZ*_)b?|pc7z$O9wY@IBdV?PRr$V>m#yA;Cblx17nUbJA_mr zUy%=pb9t_b-xSaJY2s6_{gUX}q|#7Iz( zIB_9FT&ORCqyz_bs;Zu)PxCia<8~mRxRBWABk4)*!!^;v+tYWTZxh=Ay#RrNfXcEW zlM1(D#I@u?Sa$UI)zfU&;|}9GX3kjD`xYTCiSj&)Hbg*58jiMxh|7|FCQ7|PfnhRMLKe>R76s$%=QS~T zNZ{mH@@$22d2*z312^XZr*0Z-L~;Up)8HGKsF+{^E(rrPC%hnQ<*b+)Fz&q&Yww#I zUN}xBWf|Z~3bchS*Gr1FWFR)%2eP{C*`Xa8tNSLkOhX1bTI(2~Pk^%pMGVWy@5ImN z8aHNJ7S!C8=|53l9S#!MwJNu-&`vjJ0098m#dy;OaY1jsp|RGfedCDKRHyRuf3r5? z99sH`kf4uxEs?Y-NyzYUJ;s0kZzR#7hnQ*EuSP}lOCeSGfBY#GY^@E99Zdh7B3kgp z?^ZNM`^>!Gtv59_g#PkiXHAH%TrEZv9s$jJ{T6N=tj*e)a9+;sWNPU-aD2QpRV+UT zjJO*Kp<`x%w>^`B7NmFA3xy~hL4Uo0`3ZCVnB`K(!H2SP$36L)ak%@)qigH?aysGq z?d3})l@in#OBt>&#t#%4Y9a(zldg0NEo#(F{O5Q3nhdy%Jzac-D9r=+YvrTRh&3lQ)2vep#8!}kZm%&$ z>tBfL)jWRMqTZ{qXx7x9G1y1PRE#H#3-nhSf`tib&q3O2R;^&NP!eliH59yFCr%fX zcjBQLqoboEB5>uLm}}$LupEpjlePBc=?>>6VDrkK5ps)i6roy0;@2UFO#f0I-Ws5x z$sd0tHISN%C1{a`=QyU8UM{ z%NIv4Ix<}=S5tpa!M~Ylr0IPprOiU8Vw?QYk;$56WlF- z5y*Ur6_qQ}P@trarg6Yw1EaK^@>S4uz>q3FX6IHd>QqP4%>R{m15ZlB;ZFc1`mzLq zVoJ7=s7Bi30ULO-G{1Xab(n!nU4~XBJyCe-W5=p&mB;s8U6QsIEVJ_1!$?1>r`?9M zOtFAPiVd4hnj5RY{Xw0izDMMvYv(vRe0$ca+^^XE9$qvO8dB^L_lGBrPpzRwYH*FI zJ2_N&x<5>o zZm+-%-5{|i)|)Uh0|?mXX7jaR@1X&d_g!LdZXk3DXuhOUS5U76nB74417t+qL|-Af z&H>f=@GO1Fsv$5k1Hu%69Tor<)S2r*%liQE*%Q7^+u_1#Yk`CS?Lms`ro`fh`L>7p zf^FT!)9<>;mpL%g+5}8%bBElKzAXuDTy9rwcYrK&b64+bvJdN?(0G}uZ1L`0I9odg zYd8JMFB6FDsO&5*k|+b)%M$F|*kjQhfrlD$cDMlg_`!>(D=Ksi{8l#_=EGci2l{rQ zrK_~hSPVLkW19Y*!i2@UpLV_d(bAUhB3yym3rbpdOK%GIZqGK4eMM}b@K>eF}%_kOLNwE-oD9VKZfO`sJ0R!TH>ke0rg#G|^q zOVt>wmjHGbq0AIQusMQAM-;wD_ZkSg(ZGkNb+$)nAL_Z$)e+hkuBG{X>-h&!)jRoD;T}4hi@%(CbH7 z6eXX3;1;-w24r)0UoC=YR3sKBf@V!+rOVDXYD_KA6)k8hd z>rDg}M{24z5v_|%l^P;AhA}xAHN0$?{(AJ0e={BE2(Nf``a%Yw5`6o{{I_=ckNy2` z(}6!XIiK?Ch&hiu*ri%qztDi-hu9)6D27L#vM_7k*7o??a+tyWXmR;I>bvm?$4B}xH0|#W@#y$;r3|6FYu39+?B!1w0!HK&pQm2W zJJcim+QinI`@V{0Df}vkbt?4g%BCUw>dMZtl@SokzH${3Aj-~Skd=oSE&hZvXyT>Y z`<<;3{Iw6xC*T%~cVHJw^Ex0P+wKiX*1>9UQsc@|E9MGGl+y=)+dK*_EA~n<3YLp< zn>|X~O{W(M3!@N6_VbDV|*bW%e`&dEwj&Vi&iG{SxQyd>~+UXj+(Ad|BUv<(?k-XNpAp5<<*?eJ>Q%)A=#H$STP8uWqQhH>iK*eA$-LuS zr0e--DaAn=gM9|a%KfEjw2I!iBMU*0n%cd?VIm5hm zEJb4)h;Jr>y5=2v&07N%L2n4nYNH~Ubyv1bPJ=q`$;ZW`vVLG)@%O_gu%6m%;}k)r z?Med*O6wMesp{G05xypVDi?PGXO{EqDl8cY*SMVKLW90s&E%I$9Mb2ez(lCbKA7)sr6Wi*s zGX;2zwj&K`ap-~U?P<=@@6KQ}zmxF_tCHhNRlNicD4AD-%{ zbr?|~QHam|75Pke(F;NApO$!^glf#%hdmmW5WVq+AlOQ8fHa>Go6TF9e01+6)AFK0 zw!Ns|9_dP?1-+~NCh~Nn83bfgeV{H;%2ax4-onAFh-MM zIRX!z5N5Wt^4e|_Bi^>yZy;Y-Dw%Rvaq>R0_e&=qRw7J>sRTI z0#H}R5L>>hphxO};M=!HP2Yko0Hguos)0K7fUp|Bi6g9h;|GX2`!)`WhR11kuq{(I z36GfS09mSzC+M>0KKM&PhTk5*tOiKO0h(eTNlES7!V-Y53;LXV(XR!_J!h9aUTlAk z6Qnr~faVR@rzS%=(M&%JI@VU94xt-twqJyKBHbu zopb>u-Z?MR*#~5Sn@#u;_*C~UGCq;;=a&um-`?4$U{h8z(R1XnaB3kYG3n11;#G4WS<$f#7W+<7e7uMwdC^%2R_h`aiS>#A}O|{m=*C#gJ}T*1~Dy z>h?;X*YtEUS%45!cb)cGt2%|=0grMU6b68a^S?LYiMkR?r9s^2b2cJ~_b6G{G=&>P zuiQS9YSzfoDxNXQS;o@;j988Rtj3?D@^AnCtYH+)cTtb;UBP0ckDd?Ofzl$0XWKw% zjOpNlzLzXtE=&S^!@@b!nUR#lk3qIbzzI@28ugYA!+scYw@rC)sD2mM@#Fr8>6J;b zKijuZ}mOhM+2!S@Cjn6Y=X+OVs9%iqCr=OpqM6ChG=nS9(&|cGlNLMpya5!ONT>xSvtmHi#?DVQ2~W3nL9VDvnxg2it0JcR-{!8r z%bj=$KZi?OU0LYy;ZD~Z8!6bMpz6`=5G29sd#qJk=|7+w;}-1O+EF}tK_A2is@Gyg z=|#B4re1F~8{N|GLTZAk+QS?!m)+|0n@qg_Ta6p>QdWKQbyRA;j?Lc#p9q4@4 z+c=r)8(10t)oM${_z&LoKPtmNi^9a%NeLi+=z*?!=cWZ-Hv}&r?jt;$`(JV%WYm5F zm&^7mg=Z59%geb{2R&d{Ils^NOG%ky;GS+I1#UjBUqH7Ig4rJ&&JNk|?o_P=@y{Td zicI6-P=gk&k|&nrzNk)xJN4}hXDwbO1uV0LQnlM;8EXlO35W8#)^S@^5dMQxLZ>1M z9KFwS2ac$jvc1B`o&JobieHeX{xH_^tEq~-ItpHR861p#3f6cHq|RF&BAal_-s^l2 zsbL@e#)v4~&(05BR{|{S;5AfAWC+$z&dJFr^q*7mmnVqDqDT6obuHxF7wOexL&oQbEBMaJVsX z6c#3N6mg|U4*(kyK}o8?fqDMpbLYmli6ta5$Z`mEB+g^^@5;{Q;H&A`paqtOhmOAV z@}PwLi}8v*ZmuUpkU4jPeK&CP7Al>W9hfc2Q%O`ZXO2vSpCtk71a-)ZSN9v{$PR$` zJqQvIl=)Ej>74u@K>yt5AE76ql1D-CYe-4)HR1YCY|B{w>vctG^vkvki5qd%ewTv@ z2{Pf4u)rSDIXxG=Bm~4eLZnZwdmus1rHX)8dAMO=y zcLO~*TsR8F>BL%UOSGfO#r-O66$`*vFEw6tJc?8X#sJ(12?^B^o3+7=P=7$*H&9Pu za(J32t}vnBdeF_fHjGs38c@AaqqdG!lv=b$_khSP+&Hd>T9wVdtZ}hzWUJQjkjRo7 zcm1t#KsXXO;rpF82I$4^L2n=>MqaVoU$$8U95A5X_+}76vCJjE=Y6Wkdoe?q`;IiW z?7L!{r#M#Ub}NYt95shN2uD4r-ix)eKYg&@iNuVj)s6Jxi~{#y#cN^F%agz%OsK$& zTswEH@F#U`M_O_21ZAm46NYW&3R$0iAZ`=yKl2kQABKgr@sA444(Q;n19EaKNhfezG!3RUUvj87k2=I%pbSflacczB z-eZGtuGB;q#w~`CO+g%PhYP9>*l@x~SHbd(kQSueVH1HqJaHfx!5PY6Vr05;!tKxf z^0Msy#yHCp2GCBZb!iWWD_7tSiaR@|{BoLLmtpl#q|yK_n2X)bmP2OX*FF%6-iMDh zVK-i2`RfYfMVi2b>)C&)NH+wz_7_G}zKW=Qgh}R17T(OSSuF_!r$i5q-M>s-|2Md< zaOv#m>)w@p#W$J1b^rb~zWsBA{(p;ZnKAzr-ONub|BP-|BVqdhFXa zwB^*aW8Nu0y>;;!O%4t1k>>5)g^mVYU8Id0xPT*ZmKP2*E>INI{TD9LA9vlIdb^+W z>#m!9y|4bgnD&pH@TWx~%Rijt3KXUPs587*m+a%xSdbJt&7sK0!RBD7;Sq4b;*>0q zx4xYR&JHXSX|h{>-S)L-Os(cGk3!*MtQR0QLiyjm045bb_>^*~8%_tvQQ^%zNv1N}k`&vif@O`s^fxxYd3J)bAqFQ^l!FR~AHR5hfMeQ$%W59y?z z11R3e(r9w%j$Lnv>jvy6rHb*`_V<{6YMwozh8(TQ?*%6tsPdDxt7N%Ggpr0UByx@R z$ct1|D?|EePTYWsLFF|2Zd%Tn!4=foBG8ndpeu3?#rI*qWyOLNJmh=TKb z#s#jwS$t}z?a3fH1veZ$!wT*W1K6F^&cgqclV7{{mcM-Gg)}kOp~CP(Qe!F86g6ZL zVfiT@W-_dqQx|0hu~3Od`uXSOh=ArmeAPK z7%Qf=`Ln0G8i?_ybDqV)*mUx`Y6@l4TgJ0zTH8mjQB~I^^5z=_k92jnDMfv-yH^kP zishH@4S7$ud4heIO6EM;^vni&M&vQ|HkLbt$K+rNs$Hy$eMe{g*KAS3X^Bj_y=a4cy_Y2-O&4{TSpbGjLFLA%Jr)G%A1VRQGMA!E3c3|q%sX%rEX zQFEVlfw4UQc~P-S32CFx$Inbd(fotr3(CMCl_ALoXe9=X4$_APp{K-8XhVtChs~k1 zKNo^ebt5M|uAyj}#Cq2*y8ppB3f@%^ow_|GgTt?%Su?)Hxx^=HxM9PyXwHq?}$f8bGZo>K^*e1V6W%Fa+t z?5>am>Hit&VAGLVp*ZO;r6tUoEiu|LJ-h^vIm&d7bB4}Axed4W`;uD%Ke@HfRx-9c>6~&9;Jp%21y06OvYj% z&`SA8tnYnaquR>g^3up^DsmhNtSwyRcYQH6LKaYWX_*vUEK+x)eYoD88F27>=Qj@+ zn|}~#Ty+K63>OMc-sl{MT)tu z0Nwz2{Zp6^0EqGzY=>4-mzPr+>+h<@l*!E3Z}U0wh^C zv#hXiftphICE-SaNsNYU+w(>QX<9{$T1(e;XA_L#KaQk&7nL@{gO>IbqD3lW9@tV{GsTM8?%qWVYAna zJ3Vv`?>m*FD;(IY9yo7>LGUd<6sjbP5d%a6hKc-yKs~*lHcsbG#YAu81RBKF8g%qE zVyB47Bg+Uq=!R1bZY8@W zC(MKV+>%_7d4XB0$PtQl<|%y-z}W+;i5$g=HCGrz{Tbq);o^^S??>%G@E_$~`+s_x z*#10C4GEf-U+H%6vrfFO#mc%|cc1 zmmC}tl6=qitzd-7d`go0ob=$a+BQ>@iMIpa2`!)Zj}JsXI3j7f0jZjC4mMVvsrr>Cwa)c;!InLUc0jO zVOJ$PDPnv3BjY$RYi#nalyQkM%z!Ld$LsC&`C=LEs#(Llj412{u017NFDTvq=6chd zoY_8;hAjT#7n2%K6)VZQCWHs7{SS@gA&p@E?=jS>oj(%0dY^=tf!tpThrk9jv4~b@ zSZdV<@Q*YjADo4nG2tEdC-o9-#n7Ib!LDs0)RvvY;Z`(y)I?$h2qXIB0zTEmuuq9^L*CueZOJ(ATnc zFs0SE(>F9TrZu#+wzjo#q_x&}GGnCuKmHPO`VRVk$`t&+qPKSxFJvzrR-kVEXL-1) z-E2SJg-k)2ADi&Oc?$;uV`nYlI2`DCd~Esqkm#rT8^xX@!F%ulGU*XJSFHnFS{bYpz$a zNbChjgDQ$NjH}3CuFV9$$Y{m~*cl5X6ad6$y92voeZuW7hY(vcGa8==c0K6GOtt0h z#QCNs+yRYvh^5BH>yMCRrB!V|JwWWoj9`Bbzdg{W688XjtrqZ31|HvoC$CNi=k7}l zC-GaBF%`s9B1(ut7{?k$Ib~F+0#TwVKknJOcl;%Qxt*nFO{^7u+f1_b=)!I)bOtOJ z(b1?fF@V746zO4*pYd`u;+tPvg;IjeZ-P;RsPcC(f8J)#mWVnH$9Gr6pjIpI*;S$# zqh%BKuLt0Stu@&ob2RH=zgb@5%JcA8y%Sd@G}2V1j&-t2Qf*9T)MWeqz({jcW2&~4 zKKtI29C8E-48oAW6Oc!aSNRmgwD`L;I4p!ry%3w^7%8rGan#XbPwVol0}ZZ2gkpv1 z%)P)Y1MRz4QRM|HAoNRuEQ|WzmXsT`#;KU0s zpM*nZRK7p;^#-D~Y+|T3em;oOrh^ZQF#;Bal;;TR zrzF>8R%U5j@*Sbu|JKWtbDkZ#|Hjzne~2;me_`yqm#Kij`;D>v|H4=o6bKeJWUHkp zY1Ha}VXVlOt;S9#d2?S!-A}}2Hfq*j5Q#7lf#x^h2N*SpfDa%88(<`EY)$*aZ7%1@ z%+x48ejETzfns2sG#ZQ!o;c)Bvbu~mt9`6~jEMR_8TB6(sKdJQI1s()9)3$V;#7CP ziLPk9gd%Sl5+hry4+VylO8ULZK2*f4LKQlwQ)O-tuUW)u_L?AnTQ#90$hDL};hB8O zA>2gBjU|q&9Y)vZme=#coLkD1fgoJMmIisSqDUe+nB4JWeDrV0nr1AetNXDNPEN8d z=dc1vropC_)3oCw*IZFVe;Vkb<@}*^wAP0KQSSZm!5~#~ZU<^fzs{`K>WIs3lR>dj zVK6g7B8Q9?C!44+&Df<-QTI~+6aSUc&@x32xy!f+dE%2s=19;(B0>!Bu41Ep`tk&Evil9~uxD`fVn1%0-2Cnh6WM1y)OHU)a6S&X8=uESnH%lVp@1vdM)ZL!&5VljG#n^UnF%op#PkJ;R0etwR+e_~l1*llQH zj}h3;Ze!l)3((pTy9#48a|LQ^mM~m9Yv|7@qoCF!9BnNBMbT-@9P`=(AUY?ysFib3 zxwpR|?XS8C`V8Cl>H7&Ge_Ig#qbi*BAMdDEP1+e-6yc9n=Q3BdD^d9BYDxe=SdC52 zaHKKPWF%o)4ur|%op3@#QDfT3J(%T6jT#wFo8zH?V^Ny|C^#Grgen4JQV@41m;=_g1X4 zwc4!Q8hmzZb-KRY*GsicKbuH=_Q2x0HBh1Jep+KAW< zmL97uLK>-Bf}`afSt4Q*MpJd8R^x4$x@c&FrSpB4-P+oFy7rw|qmxAZ6tb&xKn?Qd zO7>}I(DCDkz?%(KS(n<(AOE0`=O~E##wa0`x*|C>ncqTFHkE>wDi&KrHYC(@Q)Y`v z!9AL}A<4&b``s6{+&=Ud5aAgZ$f??C+d?JNG-jl-v6g7UdAZr<3>RQULmMeG6NOA}ihGpZRy5S)Go za)HWmId}+CFX3O8z-sYfgFptK&J+ySTAXDkV4!yxw-r8y6F8yfg1Ijv&KzaxG?J~-|ssfd@kX$v}VD3EmIOf(jKOUX6 z-vOL5AdDv5WKA6IHry1S7Z?|TG6ha1WAZTAEexatMgt7dnRYGhy^J7803_@t&lzAV z>^XmvmA-`PB&FT3ZsldKUnjDe)*L{c=@bA}6SlRN*6%1pD!kXRu005`l7Hn%`PF;V zg44d>Xq($8F~*}<2bB(iJ-nD%q(WYj)*VI?Q$wZRbK2Be(p%>YVO*U@o6`Yy%i)&+ zr5&aH*9r^gqg~s38p)~(TRj0}SmKnHwuim8>v$XqO z4fU_#oUy6%zyAH!A$+S2{xwn>R+Dw!5W(&Q5_H}z%^UdFS(f$1W8lDd*Gl18}Ko?;pHloQ6Tql@EPeDGiFdef`As)cjpPU&KOeAQ%Nam9JmdPK>*4dl%8QE}zgPyZY zxkVX5S7;dsM2rC@>^kZ1&~ca`ISEhO+^KmaYe_C0t_}57<}P3@vY|cq`z^ya5NQGf zOoKCiBEQ<@lR}=+^r1gHP?vrAvd<9VZ5PXo6d*CvyhgB~&%zozO>7`Am%BRb?{a8o z$Ub3sXSdi|Ww_2nSDd=~+^8pcYP?7x)lqA9eL-grKtYKyR2jmokB0yLBaSodM77ttrfIn0TiD;L#>~VA% zaedzj>K3E1-NLAQ+Vl?--eP{mLtgAPP4v~dHn$XG=dFu+Wa-YQWu$o~*~a)y&7*TC zy&3;3JWrF2CMkI{1Tt)RN1)WMaU^kKgk?8IZRATi5khSmrub{@FdsuOsnQC4GiG3o zJTY5HeNUqyQ)`^D`(X93pHr+l$B)XEw+WZl9IOxmWL;&t%vh$XW4pWk!N~b8t9>i5 z45VozN^!`1Jz8k}0*B~l`MBKNi;PHhiv_-MfEh6N!49$HQcYkFz2l|0 z1UtxrfIl<|^&bS_UIZ%k!hW!nGS`a0L0M{5My&(?Bs$W4=J7<`g&zrc(jv7PTuC2Y zk#N3NqIosj(v3g9e#-_NoNE*X67Mwma!2|p1?@3J3!3^etO7vEgbjn;Vfx-Qs2skq zB(=q@BnYO_+*j20!Hqbkb+Ofpe3nPF25{yCi+Q=IL>d!mIU}7A+eBf+CzC4QI1B~< zJ!k$!bb~9$lMudhX7+d3(ff}=j)>`Ba()*}H&bO7Cs$(^S0_^v5knWl?}L4I&fgj+ zc_XWD#nV5Vo8Ju;WJUyExg48hJ4;Dn$|iw8pm8FNLOj845&}?BfC-4tTQHy^&!h+Y-Upz4Md*o1e3v=t{9A^_gf|Q`6$b2J=|F<3b7- zcEFySh1 z94Iag$WgS0eki4e`ML^#C~1?@z+$pl9y0bfTxu{!U5<@i@t0mR(O^;jmN&^7GCr@; zs&0)R(g~=+iB6?q+V&-%<-Tc-k@xvS zHbL4iKf5K-S4nbp9HvBX)=#%b?Zzm2ss(@vnq#IoMs$ErlOminE89(=ZGSl-w<(fl zbQ1$*jlZFgGN}6Go7$Jm)r*s{bZtZC{xu}c+Zo8a1ZiKt}kBk!>35ch4n+Z>~L1o zT#8d?Vjqp|lty`mSZsaZ-@11Dxto(&-)aeenEzYp@1M%eVfATyY*Cc2*sCY9nU*&T zTn5{KAWPfwp~#2%<6=l#oK~>%vNs0XMKrdH$e)$n+O;ccRCS3Q1c3rTs+$x@5y%9J zNKp_Fk~i9VIjW6t;*%l12#%x#AOrE;41$t`K6WMOAt*_W1XPrp>Y%u4jYKoi zjb|7tOjz-?sW7oxM9D@(1I!85&GpY&o}on+{Q&a3HZ8ltsZ6%k!5hTNL7#rsi&ML%)@mXTI~k1RZb zxea#({N=yq#WA>>$?`L&khK*1!>F=;td`T2QC>oPVrj`oOs2#Q^$|juF+eAQ1;$SH z_?J;4GSkj$EvT^xPb80SQD~_GPZxr@LA6T7vuv%^M_K{pM24w{HGNC0b2N?dg(;u4 zHt95-rVmTk90AdSbEs63RA&DX#Si5M%o%nY$aGo5Njv5?^dTU0tnx1VWg1N^`O|@` zet!qm*(fbF%7`);T6;8CV)p4PQ)X&oxqcodC?F4+eqs-me#9=4gT^3&JVggkbyS*N zEZjZZr(^B7IJE(0%^c?G6sx0GH;A#ex?M0mw96k93Jnzkz_hcdG=${_n3|v+32GrO z$eLl5VH#3`c%TzF?+BkTwgWZuT~>!hXTzvmoiOQNpF+(C`mI2@$Nc2LVUfCR23hOl zK6xigADYzaR0u0A=ooaYn@}*|=jI9&+iTN;JDdksdp?&lel8}Pgoz5`&vkgh%5fW( z)RVN~u}%ViPS8AfNCw&d&x5c492d=`5&Q zF7N}iWd%FO4lcTz{Bjw+A*&ok-}jFE>Mb5fe(ZZ#WG+CiYhg=V1FWK)UL>BAJ%Wf+ zvPYL3bl{Y*E_uh(I6UNSBf4<#7fXPSUtEE{D>xlMCZQG*qn_u7y_+b|4ibaRf+Rv@ zp-r6K`{ zud6TELzDo^qAHlQd13JrjV>1EWZk0}YB$b(s19GLwdfq}{8Xsv@O)HsEjNU#Ig6^SEIVdNXz<7B{|Ig)f{ZoW4#ye_mHX7$UVHU3Rs|U369$ za{_`A={EZ+nqY7>aXE3xfUB8OqWtPD?{KeeASdrGTz9NBT=DE=H8&5MyTdl>sqC7m zfc8S^;B|L?q7`eMUf&1k7~<#JE)Dq{ax$5O31++Uvga6Uu*;E)whR^U-BJe?mY;eV zQC8VU7|4z=JfixBuSg*UeDG&mwH>ixTp}<1M7WKTzGe)%)76WHP-UKQYq3%0*7bsR zsXyq{8$(FWmMXnV*;9N2;j~3mfUbZwVuc|hj{#y_1ky3ru)xOKAcpc&Kok^ClX)Un z`=oFf>Z0~e`dqOj#2y!_vOzz{eq~jb*RATNBrdH>8HaWl8j>t6tjd_por7U$>__AG=TpxrA zmTE4BD81*2zxV;oUZJU^3KDH)$rn4>A^|zB0&BK@0S%Qi=Fc}IVB<`Ah2`n8EJo&J za0T@j)aUb)mrd=V5k3OE!KAg18u{ubva$myJ!#APZ3C{ng{7mWtc8)qyO%k&!?4D# zAM;oCmQPQH-JV9EF~Wl&zYO=Ne8m|=7p51Tv46G+``i>oSn~A4e58v@Y(F$AOxjqQyr4ekCN0{>98m33}4mwrU3&??=*TXd$B7Ki{s21?Ns z3WOjOl9+Yq8Z>MTU!e^Tg+S-^iQj%-{ZiT2zv-G|zXkPyd6Hoi=wcLX%V0j4%6Xfa z_2Jy{^Q!=o*z-aF)Pdeb;Zkt{BP^_jV;oX#f+j8$Ql76R8t+rXNGr#2S3SYr)L?cU zq)f%>tVwTcUH;*mjovz;rb(|sOt90HfV<6wAO9k!w=$3KYz9jUp2^LOID+PF>n{HUljmc1$_CI}8da{G2bmru}mQ z=8V{cbsU!5-tk=_^N*}v4MG*xWa&Y>PL`MT{KTAA`3CH0BQIEfTLRS4JB+)tI7AMc z?m3w2P|m|<)Sjx2a|KwNgky_DwWu0St3ih;V%$FXNluh?267q&*N6K#?}bltxI%m$ z!a0Ibn=_3jq=>GlJp`>p=v=s8Si_e+i*WLoI=z#(YX0~SWN?hIZ$M;-X3&FlEYUSxA$QDutai9Q=NMy}K(n{q<_m7+s<+~kCBZf~1lU2a2m(bAw`h{P^+49dEFg@Y_UOJPVVX%Aik$XWxHG84gHGr^3=S@RhBi)1|F3wOzTUn6Tx5%TUm zPUzlR#IIR@T%uMD7s{)$3T55$rVloWoiRcigOoFpaLO1%x-B;RaUXFl{_F#D#4443 zr7B7Zd`3~fQDT?Jl4@jJJcqJq|Fg%2I7sb0JgB@afNi1}{pVvx>^7Xz3cV5>(=hHZ z>2FegPrXW0@29^hkN?8VuguG@&u=b=^o^VUjMM#ZO~Bv!M}PTP{tvpg+P}Oj--Au_ z^Oou-cs?;vh6r}v2nA@NVPQ%LUfBZ|cGBz=o5rP;TSuN(0KOCs@3|lXDh~`M{KNO@ z(W#4#2WWtt0YSJ=95?4x;ZrsfWMUrJ5k8bCwGwHyb@f#D<|>Lb^C+CP(e6&SM!QHn1t$+7*Mbxbu}#vV%}T0f9j$>b66JRe5O1$J4VmvNEL*=@x+DUpy@2IjA~tEn6Q zhp&vx&+ArtH9!}GLa^9V^j|+6PdSvM0eR3zHF@yG>A_S>4lo8BaHwV=UqJ!Q_dO8l zAt|X#5D9bD=V{j!QF)8H3-*hm7*P*kwASjgok>SwXjTkQXFK%xOldI80?TDuHC%A{ zRat_B)F&KZyvJKVmP(9MVP~0u_>4gEnmKfGw?+#9pkwH73Uw9 z>W?%4<<%9F-_K-$b>!z>q6y70wxzBC|6(wcD8eptxkoThnv;7c(!-e7vKY*4gy4;J zmaED}L{HTQDj89Lhe0t14)$|wKKaN@?eE&w*F*>7hi6EXYDs5lXJ;(H+9g7^J{I$b z&_Sc>j19sEW$of+kTp#B@LfrmDLmWaR&J4zXk7B7!lrRjnSxa|{Y6L&IUB6Ji2+6F zw2A&@!mydTo5DVuw4P-6Eg@goU;XCg$1#n9^DKuMEf?Byej(tX?rOs&VU%4pgn@%t zcq4?c;trC-rm)iS*W~K#e66ksnp(~I zqueMd;fA+!>EjJ8)S2Q5(@y#;*eAOkR9&KmV3T8{*;Tns-`^~ij`)V{VsoSF`_&l4v2j+#U>xUkWG+`x_$faIAXkRRd1X5ME zkdAGU?q%dfQ+R4c{uD=6L~`07rwd2OyUf^vV~qdD&t9|C%T}}Ow--@IRs_C zP>L4gDJv89L>rW@Nb`nU06eKFHM$@oj$wwWsrT(p{yKI5U=|_~#Pg74vC#&n36E(# zM7rEcSM7fAG;Y!oS!HXc#Ks+1P;9xG%$cEqQ{+yadX)ujc22CbX4c|s`28ZoIh5~J z^`^O9#gNnOyj+!JT#%gJ`AjGTh8sH%k&xB?M!pBg>+Qi3t2V=Hlj@t-2de=)cB8UW@QIMCuh@tk;i{cjcWgCJ51(sM3O<0z~_NZ z0q~q_10_LIK}{$_RVqLd)UD6vSTv#X)>)GyP5VHk@rVG$?-M7yZd3e4R!BhFk~5XV zdGdSesr%vLB|aZuxgjkuGL>ebEju(YDbib0==vfboNR)OimVEzvVwka0c&tF4gb-` zZ!EW`9(U)#2X!4U{&&1>UE4chO5s-O`#TW=RT589Pvb^755%xsUuROEIf|_?6{al{ z%j9Bs^(7+)Y%ev&J#FPscHjzPKlipHWc%hl?)CMZ!1)^j%cB`apFy{h6bNj3cp-s_ zwH14*>w4ZA^1L_VD@wgireqJrZruWQN&f~QA}?aL8N~uN+$&mqK}_uWj;^iro?CX^?ddP<#q6DuY{Ne>;af9-4v#%?BmMpu*^$IyHXHaLajR(^ zI8o-1u2+#tTPkrE;Yv?>(G@rDv`e>hLTKnT8XCiEKj zETu4$CnqU{vZky!bvfz{jNuFH>dUg}&OrUd^94^4)e`Ox%Pg41T_^~MZfT~B94!dTZu@*xZtGqv^EMr*x7|yu}MK{?Ui3~iz z7(Z7h5f4@wflcr*EaG^=H*#{i+#^dn_|kq1WwF|Yi*ock8x!{VcdLP=LgxD2H@rW- z;jQr>4IloW3f2Ek_Wo9)&i@A2FDgI}K9%jN<)s9b#y7w!-%7DjO1dnv-+S=5{T|{w zJ{Nc=5qV(T`;zR~lZ}s_Y;XhU3`7Ps1POzRLkyErxI9w+2(>*t=WI{_sJ8b7=&3s1A$ zaV|}lND)BWrKR-f;z%}~b3+$Uht_NwHXG)imwSHRMzWoM?A^9kOv&@1euDso0fik&U4p9QRWx2-|KB85f5ihSyd&e5@6T)X z|HEhg*N6Q-$4}XB#qeM8QymqAp73;pfNo1lJ*dDVfUykA5?OLF$o*D?jwc`-X+ssd z10iRafx&0Tdv@g$&>&1NfIuLff#Z}yNe=VJ8ufr}SK~Fs>%e_UNRy>X1}iuqcfTMAJx(sel?xSwk>o?7m8WBrdg^@uu|h zg4VXiLe;_qha|MEBes-fpnxMmi2#tSbYV#JRnr-Z{Z-TAb71&3{nR7d6|%2|`G=C% zOdSz*BQr-N?=Ump*V@mox0$zDzxOZmr^PS7uW$gO*F1E>%?m=taU=d{U>dl_*O-ef zcY{Ce*YuP;UqAJlcKHxryze-Dwxj8H0qK1*knTk3t?o!ya_!T*_-tYk9LJ(vGw$~V zeb%C_?+~JY)O%zMtBd-?j*4sWOzbnFg=_NA?L*RI-MJ#ld(DSfB8qn<+@(a6i{hZ( z#Y7kr^$_lB0wNF$H)^u>lGdU?Sqb)K1!b+IJQifpTX?wx5$HqQS7DufSEfNY?#fB<00YXKHW4nx)hPgfk8|gPkY= zSTUom#?%GMaiUr0k$9%{O470RYO3k@nSrVJ(3zUZqPhHh3OONFxOv)P;(}p}H5~hL z`lg~WP8rF_nls0YDaD$j7}L;FpQO6*4y{F)vm_?|t1F9@Ww^jKw3D+Qi&hiaicpJD zaMm5_)-G43f-_HsP-KGM%IuWM>(Toc4>fRmP9;i;;;&Wu-KZ3+OB(e-I`&Z-?Jgap zMn%QVa}ZQT#816^0E4)j_*cPAJwQ?65pSveP#b^0yRZ@~?m_>A3Ra2o=AGc0bJPD-`o^GdfX2>yXo|LG%0hIp_P(SAsJ;M&)FC=bAF7x)P{>? zQ3LIWEtH2|ZQh?-GG`hdv?R@jdWpL%78VfrIEo17v2pX--(&W;nO*uy%z$j)-RaW`stgya`rQEq`%^J{L z;&!6i{G$loWJCANrKu6yWo&woRQ_Qj#7mOX%vV-n1rM8z)x9i(tw|>PWA> z*r>BB=p;^8k}Q4gzHWfAQw3f2iT}f2zPtn2PoG3}s|#-5D`XA`+-_jH4b-sBft9T& zwrA14RNfBTZcvNwQ&N92H;~gUZDhLi4$k>8SswkG1pkj}A-bIqs81nSJDd?Nk8|5T zEAl5Xl%2|p1_tG!Jb$|2$)Rx zF##)wT){PrkMOasFV|&%!WFFY!(Y!PI+?U}8@T zAFyXG5Fz^kKE0bN_mZ-Bqe09XY%X&W_C-13{^fkr14|J0cHt+uW#p&pAsC!OFLeFV z^Q}ru4)nB5K~x~T!YUpxcsS+U{5~+ANNk2!h&&oGM zuDsfF>L*!xOu*7>AWL_Fyy}ZDZK%07^lF{_d?C%TTQipje}YmJvzla|jPWCI=akNy z+M@##>Enp&&!Hj&#|2=Vxi@tJUk7*qvHzsql}iH~-IkDyE&;k0&KYmp=08G{>v>n3 zlia5BF7cNtnN-&@b9C*LXe`{4z0ZP!AAfSPN`8Tf*9|?n#JiT4p_yp`t9aQN1 zVnLqFQXFLVA$L@sGyd@c_924DY*O{L8AH(U*%6mjK(E0ZeZlP`7^!03ho3nNZg$rX zXE`B1-i44NmkP}mmZFHY?jxW%#^+?qhp8Ky5d`a^NZ-T|R^ z82A+z@%%-kj32@9PXziMo7tVY&>OU0WbeNGEBAJx_g6pvbhu;ATy~^`uLvG{-4KCW zBH4lt{BJ~YSj7|Nve+{&{jv=nQ$%+BLmtJYq75ET|CrO`k>2`n7IMQcVBwN>iqUWi zb1^z2s6n%);5K;t@=m-7FQ9w^6#65+FnOd#5o!fWr<~Jq6;}nCvNJsj(lXb?*y4p` zD;%iisl6~|RhReH_JQge&7-Mqm5mU|yKV`(5i6z!yP5%{Wqkx`TEkenktErgW2>4T zXroes8b@W&rlYQ?jT!IkXGR##c;fD%>eCuO)O5EQnzKudJZCpa^Y{ClC(>N>D*|cm z6N~VsnM_@iBmHpRLNw0Pj9`UnNN55RyC^*9zNLFoHg5%rhBe?plLw%8n;~7X?1C52 zCc_QF!Qa+Yv9Zgy{QupJl1LuObxR5WP@?!hb))?I98g4A*xuH`(#G_kRCmi8(nsaj z(^vaL%UY5o5HK?&qCyBrk^qnxvOr4!SfGFg2^iynNdO~ZWHP9Oeo=&K)mD>L;y#jN zB{hP8_%0ay($e+?@jy7ky(JjRs0{mPyatw*W52XojFI|vz#w85AF7? zHpE3j4a3sX!w&FIXvA$4k3|$lRwT;B8C-FdMrCp4=OATL8C0fLEa=8vD&!+tP3zQh zCEq}M@4Dxqiwc`>gdj{km!zed8Tpi(ktH^qH{U7w{)vdj407zby%_vz+HQ7 z_V;b*kaSqG5$rZqhntk(1ph=+v~1pc^Ksq;)8Vk!*CfQ7fZJ(?R#; zxu}-WF!r{QEAa7bY$Dpoks892w-V9^3mz`7Aa4~hv{8kuSlF=*KM$g@iD+vhGYUrh z%`Y>~&n;skhX;ve6Hk*ce$(r&ug>xKSeBTMkL@LfNqj~fdpz8(zY?wWlHyrLva`X^ zXY-Elxjsf}Y;B-OilmKbkz5q%B+O@2#FF0H#C@wJv(&au;nk-)z%x(FCpTKi4{PJ1=yQ1(@E?S^uaZ6nxoD$Wga9vz93%_qjrbK|>CTOLrQbo$iZ*fK?|8esE}GReF^^n=z?^jT274{)mk&(6oou$yqyHs$3Ca zZJPQ0sWhWmBIrB`dpQyFAV40t)}7dO4d+Rj6V1T2x3kxrsXUAy4k7GL6Qs|J^OjOX zXwuIXT5vzEN3g^Fp-Z}x7cT+}C5)0ll!uN9S<7oWYI44A@x$@dOAs2<0wd6zP(V#t z>9m$`toN)+BJ@!z*%Zu(mSeiXLsvyYeF9Gl&G-zS6M6b2SOF{ez+HF>9w@GPq+G#D zMXeg3KRDg!%Zt@|L6W=`+-U1aO{9xDhqpGp%%q8sOr0vPsMRFCc9u}=HKwwWJD98w zY#rme^e`y5Q+B&Y7KhTrFhC*mIKVcnWxJHSIVGn$4q&4>f;IXtS!DWr5RW@4(;`>` z4p73CE@`Z69SnA-9f#7G=)?7IMX`;e(T0m1Z7@%|kyy9q!rB>S09=;u>)t??o7G%? zJ^mgUeh5rPUA#0eYG^P8JGQNmL7HskX)ha2BR=L6vBYivpwwmc+=X{;ajj1#bK zN}OND0jJiI4#5O6rV|S>fFru^w&q+xcZ4xdY}1XKBYsZ!c^5WLv^_7K4Rr;+!r%jW zQ{(~6KW7T*-mD!Pu|*TUZz)>p9=zql_7w+`M|UwWs)f+hk~(eQBBHj$?ljcOeFC%( zWGoGLGj62IIeUv4OUqn}ZyQ}H0%5nTIyo*$R^6f7QrYu)Udj)(3E{k1mI2c^! zX4a!GWFkBnOBQukF*UemocAJ+4aM){zPTJ(7GYr{ogpNe&F#e31;;eT|M+GP2&ok zA7w>jU#s^u@wGw!LqvzzVk!{={P`59_qFmhleF$3`T`WgGb;~eshWF1R)U0xnq#wp zhFt>)r-#n&K3ab+d1?i#w@tI=X%YA_A)jp#t@pK5k&MXxbSIyId40y3^4(Qu}kC&5?WdmtiFLN0V;N$-W%j_5EV! zV|)H~3H!&sonyTIht%ezRU15g+xfm#+Ucn6i}MEXrkLM)yb#ZrJ-$#N6-9sONa##x zf9QDVaAjPK0e)VC&YcCDN(X`-x$2sA+X+6 z3N}ctKmP5-AhEykh|7!hwgc+HX=LR{urL{ml;`UG4_+sP*@(}QgwKg#qr=s6Jk?^h zM9y9g4TOlc8$ssT@nntkwWst7+~uyDg2}^vV)(3PlFljepFjRjOJAltaJtkHSdKb;=Tyckv>9vI8`X?!sr#-h*>0ks^q!Ct`0>- zGF;R_@++=2tAq}?bn&Rb^>L#AgZd0go97M{$;rId3jR)%f8 znhn@=m+eJ`zTOCneYOm#W+NR8@Ounk9jiClR%UDd@D^xhpg+M3!K6 z%W7=lby0!pBTOpj7JC9I7e(mCqm~`*6G&}|7)xRI(#4#1rMv1JZqqPV)l~^!Iaq8Z3DXQu6p=TQxhIsEI~dr~9R5_`~*}#otS|t+PLIu~A{o3sb(JRF-k_G-D zKhIj=;?NaYH>^zz38yEwD8RVhYODsfk|Wbi7A?EF!bH+*AU z)I;}|`Cv8K#3fmEP+>Hb(>Xx+bwsw#R0SDIgBf|dL?OULF<%ib(`c9pRKahZ_=2Q| z9Qv9|6^6jmz6KZkBPo$Ol_?-f2KY*=6p#@aDkn;a%6Yp?}cKtn?faf*MC))iPymvKAZP2fihF>RVN;`wwO3B%U zP_z(TCKRNm+`q>*Bnpn(UTumh>az`VnoW^ksb1|W`eR{799np{Q(`^&DfI$Wy^2P9lU_g+B8$mz z02RA(OSBwsN#~-lcs$i0rnN!M*7p&tPknOq7rU}zkh^=n+Ex5VZrFjZ-M5p+5{_A zo63zo#RqyEq6XvfpC$(ZWae~(&GK__I<{qiJ@$KkZfq4DY?Ke65sM{9NGkBJp1@od zVPVl&QR)v_q-cncN0GWjaYP?SacNPUHw33GFwG0JMvHlYK4KSTZllva%Fk167QvdQ zni>^o(1k^#8Z~mLPobPdw_8-Bq3==b5S@#3YEaG~sYg?j++UZuTo!tDK%U<955tt{ z1MmV~u2D9D*;YE-mlGq@^wE7moPoSN1SjigMe`m5@@qayQ_M);9Bk1R_^=4aBult4 z@242|mO+mf;E)72CQhLgtA%eWMp^JKpBy#<&+_->@w!1Kj(()pPJj*L1e)LU*#lZT5ALM|Ahhq>fN*hyY7> z^AMa;QiXc9qP{oprx-}h^~#lm`}U_4Ei5^lv*mtD06;*N0}TZza;Tc4XGI=2IbiWr z#i_YWO#ziGa-E$*6?5=r#HG0|@#7d!W#}c0`(<{zEHI*8odqoC2M#&_aE=z#v*Xk= zuJAgcO4TGF&N!gWBtRQq>-Fn3j>b5EDfjDv&){C7%IHfE4uJL23E)WlBo@$0zd3of z)7$V4Ono1~JiV?@+Uv{rw6T>39OD0dE!*BwF6+5Qn9byOTeb;ywvtrpo=}Hceult% zb&>-7rcAIEV4%eT>SYXy=JM20z#-fCIx!+bWtB@UsybR1>uj&BD5)3x=$C<_imZy5g>;QzW_BKdE1&i%q$^HA{WwSAQJkoLaWow{TEYqp2Phpr8}eRTRTcSSdK4??Fd z-(4NGZr9B@F`o-83VtV8bZ_VVka?ZaU7B^w>jJC(=8YD`pYb>$lL0~AfXgskfewk% zwWM=V?*`kOK7BCX03RFPUQx5w@M{zHpxbw{El?_0CuojrR1O4@#P6*VCws-DL?XRO zaHVi?CwdB$`?w(ToY5YbhVyP>{>70l_>FTcr!;$QrQW+nCE7^*V*VSnxnw=fxrm$N zKXA=ie*MzsB8Kk_rZWeba1<-R`Nt2(`vU23B}fv~3giN9Cd+^-#a5DNX&vEx$&s4f zxZW3AGhb)v^~a;p>5bqCi&``r+!5zs3+$G}=(fz6wxvU=?wW`&-thcHD1U6c=3xEC zwOXZU)#0theOsJh9J>bB9pAIgIYBD1E8XEb**2`$WU9}~2~L{Bb84nFtJ8Lk5wJO$ zjia2ST}kpo;sOfu{T8cFN`C`oTdGslD(tb@p8Sr8Fg|R@#@73a0z<_Kp)m~B)ySWq zETeAYuWL7J|It6wg5BABL>OT@r6uiR$!9`xhgj0xItP@OSs`00V!^t}XCN!%EZeNH zRCjhg)@c*4gA#w($0U-ZlvUkSY8#8KQgKzKliNv#2drP+`D|0x5+i>ekYOtG1gMm= z7~eM-GTS;%Ik9fvLVf-;g~}KouTM*jEyl(%bW;eoXYsBVi-B1oI=|AQ!Q@}d6QYw# zT0du4%g1xexP-S~powq(w9IxUI+c%?s=-X56qPVjx_v54o`@TP;Rzo;xj7`xqXgW_ z0fCej97wu^_;?3_3w#zCG|fE}+;)8tT+AUZzuUmgu>_gX=Y?H{!}D>B56)K$mY&Pr z0nM=nQAeCra=2wtCzVB3ShN{E`;~Xhcu5}+EjFft>`mSk2S&{K2pWHY3b>w*N2v`)N4`+DMtWrPZidcca3 zQz})vRH{y?RGkv3dSz0z%DAdj=j}3aW%}JRd8K-ZyjfJKTq25eE>)@DFV6qP+FQm( zvUF>@W@cu$%gos3HZwCbGc&c_X1mSI%*@PGW@fjUnW+uqea>9X{zmuL(MYdC5h+zh zDx}D)%y+G4Ef$l6d{Zr8iMm7AKAm&$LTL-3cV#61(syNQm}^TJS0%q98L@0$jSqE_ zPir=;X~}ASsh4HJ0lcV`+oxUCq&HKk4;J#DY4JTWqx!}BjLNqu)Gy|4(O#MC zfu|Eu;`GTQgMxZVuDwu$2X}kN)oY+{&{iW{9hgL^pw09CvI%Q>TI)vzcX!~~$fQLr zpZAkn1M*53l6Yp;$>s9|Dc)0HhI#|QUFj{auF zT$3X`6#SQ+Cxb3mWlo_34Si*xOudl=0J16eoZb7iv*v zn39|bHD!Jxy5d+k)xn$W>K(;MHuy>+vUbtZ%$r|zZINx^ue=$5@)|*ox$D4*QbdXt zb_nqjg43D<8df8sp)HXAOQHN6!N*rl_;6m@j<0-deP)$7OEJt)BTV^&V1)Hp&P{a* zaMHXJw!rd*4$|S-IVnCU$`SY&bk0+(_1WDhyS`{6NNe)_WvQ|p_T=c<;duvJu&m!l z2vstoNK-BC0P$e77NKzMyum7kT{S94+Qe4O=vKdUk*nSrECVLA7sd>oZ+ho$*Z3p& zdS~3-$;(zN62eL~9RbDlD>C~7G67?oDk{56kzIoJD`4?~Bv18d9K01A`_(p2LJNNg zRTx5bexgSqYj;_yP-42zIO6;mR6D*&66QV$+Se3%gwQ!{3U+-Iu}405H&_Kyov3ZA z7z8$Y?k~y}vDxw|=!=S5mI%fzs^rq=#;u*e{9I(y;|VOb{O(eYRaB}b?MN?1zXoW> zm{!&L@h)Snz+=obSES04N+i5`Pn5V>4DL4`QRj(wUum2I*qWMOBtTQ3q1&d8P|AsyhJ9?3!h!8?NjE1GJF(oX-UuH~Kx=1r3!;lakTTqQOyxJsL`< zCYsah^n;JhjZPyTlwwq%rc#wemc-#LZMU ze5eJq*;VH79psEn0jts({bUVK zHvPh7k=6yDR^<-?#I?Xi8E=@GEdllZ6FvA>Zd>?2rM5*#7l!Tn-a*a3{B*oCvzN0I zvAT%3#M0`IsZ27Kf!j<(NABxbN1XVB&>v1G@F&{Ih7~?EzT z176o0K}F$aMQQdCihgp3AEgcV;88BU{Q^`DeHB5k*2fUS8e?EY2Qg?0cC&pED%`yWzX59ah+ z`XF)o30AG~9~)grw+sD+%YG(yNoY>FoOvt*A7)lKEScL-#%Lm#F_x(7(W#lJ(-XAn z`nBK%S@r;@bVexQd13~wBpv&Ag_UDlpi{oT8B^gCD-oIX@+i^_wn6n6F?L446o=GC zqA7)>y-p0l;2b0v2qE?qr~ag@fII{8Ll@3H|3{qB&)ol(iB`e_QaAMEq*~4pSS8&9R#^c23cc+tpCi@+asV@X{8(Sg5nWQU&77L2H&ZWDo{gRVz-_vK^J8kP|7ybfp13aYWV7a>Iy%kUg-<(Bq#HsF(_aGE_!b7>bgC z_p6Bo(|L-oI(Svn1qlN3%N3U0e(g$wOhsXWQm9;#5v5B1DTRoc4h#~Y;$Xiprel0T zm{M@)rVER~oX7qeC;VDzAp2=vRFS_Z_`z9}zX*EN@^rCfF6{$5x2}G5BQpRNi?5r}qC zypkiUk)Xf1vjvIQ*pi}fVA#d`EO#YU4SFMyCrnp{FChOgD0ieiaF{GbEIw`8;7^iQ z>QkAoPAwIQYcDPs*SdAY+h2mGU03e8Sos7g?%IaBHIlmC4$bx@>G8F*y-*y7NBu3a z1x9aQgz#<%cd}mE^MP=1+EWbnuE{O;Gn(RfT6mpthTvV4Tli=A=>uWnjQg%fTclrJ zk4#J6JHz{TFM&@&+oi4C5hk;a4~mPK&vHI!ZbXlG{)KO-Kjd5McHUgTs*>yeK>K`v zg+j~aMHg5HkF@cwmsPeZYdV(H@5-4DWsODjxK*YK#=zEWYzjTMpPxvLRQimzT!DCV z51$vFME}s=3AL52;+Q!TJlAL&=nCve^x)G7D?MzbVuaacQbn+@!WC%D_O9X`tF2pLY)=(7bp1 z$;iy|n$3)bJ`wG9k=eNq1lY*^7tq=)K0lri_CYQ4i3@o@ZTQM)@M>=n){R{JiB-HM zZycwP*w>_r!%)tSpkjVOf&Codg zF8qxP!A2|~qr)Y)S1Nkz)B}ubz(({Sqr2b;a%dcUa(m;7d*gQf_s+8Wn8!g!q6Y#< zY5E*FO*UeKekW)9Gao4!>_34ZFyIn=;^95{5L<}!fa56&6kyGSf#OAiL_rA@pw3u; zu}wj-p|MR_6qkv?PqHS15{;K_Y6y=1b}s$HiQT=&>jmV@X~w~xLAUs9a%AqZ&=IP^ zOPM8(8b2ZY{dcA{;t{6;^XmlD0b-a{Zn?}^OEeZX*e6JA%~Te=+XBV}?^1$$){s#( zm~7o@GtXN8HHg7v+f<$bD)eA=()P?!7`o|)LA!cxQP)tnUowO|>}^4xXTVD*3=0&+ z*Dxcjx;Fdrc#~$u`%EixsURi%IOHVdnA3TIjDG_KDC?H4MS2GG1J zy|BI_s5vahy|nVhS{{cP@34r!@lH4Fj7$79D|_R35f5PqQ>Xghl2?1N&$%Ks+BZP8 z{&)ghhJ;-S4nC3WLZjRWhdrZ;yrBU6kWfEwh_UNxq;7Itl-_iqi=NGiQg^o=7?s~t zC8_((_!7Q-yMm#?$oS&6;5v>s?o$sj@*;s^IP`>B?Zxf`j^adp}YY< z(*|8bt$yGfGlysRu8_%HNv)l0_*xWB#m22&rFy3kmj84O%3GrgJ`h*#B>*3f2|l2l zM{$NbNTZyUxHG}CO`aEVrjg~4&!cgMqGzHl9nF+HN^dxZYlv6NXs|5c3MFDcnwz)y zjN&3ztI6NWfIntDJh>+t_B9f-tihEY+dV9&vuhgLZ5MuMpo#Pr2|h)ni9ADE+@f;v zDVVv55*p!vBm8GjEc6gcqY~Onie#g7=%C_lt3MvpyGtOk>6ZT znrDJ|_G%($E@v`l*6#P;mCo=F%j%b(Y(vv3+t)nXEAyU#KGuDwYwhk6}48g(?M;w~&5X4Yf&TR^pC+ z70a8Q3GY`s35WYsfzX4G>y5$kNM&-a2wW+MtrI8NBMtuj2M$*=KPQ1)MmVb>h<$R@ z@wwxc+Yf3oUx~J9u&V5ecn26z^1fyX>IfL(!et{f9%UAc!KF%mz1FiJ=~C{} zs;^YVDyx+$t8~$hUkwyjxeeBcl&aMN8I*D5E5F_l%G*Jh&XM+kbCx_X=IF{ibmz+K zbci_4T{UYO_aQU8c>c89zhA-aIA2LZ z2LGcV_kYul|CI{xl_LC~X;%Lo?Ovrg`A>>)cG4|Iy?bZ6yKVP@@+VzUoKdeWGl0)qj~)Mg-RSO) zX;fw@Xg0hSR1Vj@gjuv&MiIb@?0?Nk4$F9h=* z2|W<$maA4v??K?i#@i@|M*O=T9ZWQCyRT$(@CGphW0%Q$-U<0=0j2+9OS$UQzjocr zLcDunIibx5koj@>r25&hyBg!-ryoHC+wBr9?Q~Q(kyQA1MFSZ$kF<$`V+1VEzdAQN zS4fY%iNP0|ee+*HkAG-eR0t0!>0gT;@Kr@x_J6eS|9`YC=KsCQ{~y(ZoxL<)11EUi}G!aD=NBD~V()~%sHtItfi!D$225X^Ar z40WLrSP`txy2~|vQr2A!SG&(%^$gm0E2qEM9#i82P-?1n_VDDL3bzWc*-dnb8>G(i zDng6310iVeBAW5p2-vtp`^LL;HY|n7Z{-HSYH4|1t5$8H9|zhGZlYv4hW>gD z15d374mD;F_>aJ@9;}P}jybSJIQ#pd=9n_H1jEOV; z#qDN#FgzMoHnq(mcJPnjlKTCQj{7FeaN2iyUg4bTV6kvK8LEsFSXTRRCMHJkY@otuCz9g7EaMdiL#mKWF}k z{Ur|_A{={$iyIHK0of?J0;27TzA9$|9hW6SL{Tqo zKIGyX1e^{#r?{nx`yoO^ddnG?gZ=^;M;Z1O53C8}mE5NW$fLh}kK00dp^w`_efbgB zC6Y~29|QCQOrv>51Bt_U<@aMmkWjcJ_8|d`XrAG~aS^@Q)e3HJS@WMpOpTk^cl6=U z-1+nY!2IGnun!z?bzyPwZ!DDikz(MAP`%$M@xmZ{^NIo_*l;d68}hP2d6EQ|G9AR( z4$s2qAA;M#*ds966+7YtL-;o~aSy31l}2EVm{ONPx7DEJ-CUH~+b~x$iN{W~3DT5|#*)98s7aggqkGG6dELK=(sK zoy^~FbqpU5h+tmAxND6(h@vgh1WFu4IvJGde98SYH-T&$oTs_Emjfk z6LGhN7{W$ge|V4?MNQ*g?A@_5!~^LlM?Qo|3&Js&him0WjYR?a3tmkTYJPT{%Y|SW z#G3#$zGS76Q)@dh(^SbCLN*L&#K7Mc>dJJx1*4P&U9=eRZXrwP6NrH@&d?vfU^K{3 zL=iPCkg8$lAhyFG)_fEB>nbh?1Jur~pb!rNOSB%oEAl^s3!WQjOH&bu$!d{FXiUGZ}rGJ*4Z;AW(SCZ}hOli~0Z>vq5nrMwyzL|&yvBVU7 z-$_AY{emH%Ghw!7TMWZgXWPjD1%wu_8e=o09h!OUK1d7Y+CZMsZGo3^!G5#aeFQ!I zEEWw4!xUq`dEbW}hHj+gjNKx-oUJX)J{x+ou?dUXE>?^lW#2rMs!;VsV(0DJUgl)W z7<%SF>>w%h3(jiX2^pCAD+=-RptbojjYjtLx{Q)SrJ1 zvIaG-`Q2)XoCAr@1K`_zNOTg8Ql|N*TZYvMZ(SSJ@EKc6qIAQ@2PCu;^_qs)EY|ti z+EDFQ*L-H#_Xz8(ZOL%p*`T; zf#D)n;WB0pCBf^Tn|RXhSO^5n(w-?FIqkNV{R43uOah39uGevyHAzLxAr17$yE%wm@ES8oBhTwXQ<8)N!~x z7DskL#&m3BwJr{Anq3)u|GLeFid>p9b;)Od-|SUd?KM`Bw388JUqv=T?F*(%ZMxR+ zH}u5TKk0mN4AU{|pTggwfLpi|5`uodC_4oSV~~ARe0MEr7;ghZdf z9Q>gpxD$jJjk@Q?kFeq5oJ6jDdTuzdygR?%RlJg=rj<@Wcq$v@b;b zrdNA(uE9Ewf2FLVVs{Gds{(3f1DDJ0o52`7#0?ol6;)F5Ndj6%LsP;o2tA?`&q=c+ zkd*&)sJtrFwQYwPx%Zhb?6VF{ZSM;@K0o83Ricjy{OV>_b!<%)8x$Lq6QPV3926Xs zBufa3l)#F!*_{-#UPWo2B#DF&&Lqmt`C%8ncIEv7OtDxXY7iI!s zMWQK{g6s_W>v#de;rnQ#BrHJ^Sg6=>G5|RM5&&1^T*O9%4M5}if_i#Ox-ctFwar)5 zE+0mazb<@#@7nI01f=EN3?nFnhAtZgC8`s%Bo zf(!Hl-CW*bsjT{e0{?mtX6B$Ig-eN19@*#?he@H6BlOxgV37!T8j<>kFLCx zE`uNAQo!Md8gw4wusQM@TO;W5$w3HW|8HjBUt5^)A>~Ie`OFbCP@0I&M^oPk!Pmyl zUf_Kah;Le^xF$Pm$$0rUX1RHA_9!bKTs*{6y!PgLMX$lN%$e3^W`%O9Aby+Eo>)g6 z3vCJg#vafytV+1V+mC{k`ykt#P~5!x!r>-l-xmC}`u(-#sR(Nl#T1#@NlL?`~=P1?9V4OSVwv!YLlDl zAuz4pzLknfR?0^AgK#fkqj|@XhT8} z7`KJuf%pcm)yly5M6G=~mfT(+%s}%8`ia!uzG^*a=_+52$9FeO>(81Skcy!bG2{Yl zBx09vn{F_tosfl?z8%+TG~dXHxQ@_>#RdYq7K_E;2VOI%SidL}9z(#*imk~$*`-<( zTfG>bCTUb~W7 zqnum&bNS+)INqDqYL}SLU7r&Tz_$jp6zsU??zkJJ`VyNJw3)n76C`lWJ^vr|d(d3; zatFFoE^(m|cxiCnLm?&8buvf~k;GK+A8p84k!BIZ<4Ez$j)u;T>K^ZtD!}pw7S)FG zcwwc7nMsJJNdBi_#mgGu&oVpjVV2rtrtAxc3LHM1AhMs@m>DYE5>`9x1M)h)nFqJ7 zBelh-;eK5IC1hf&JMs$+c_R|N3PxKAHEh{p^Pe=tCdOZMvQZhZlkpk`X*QNcN|!&m zQjGgh3%^&lDC7^yG8bqpz`uR$Ws0PG7B7VMPxc{oSe{LQgfAiq4tv(+h2Q0qq)P9- z0%hs!486OGQ@ZH<_|7nD+K3vDV_R4G0+05x)x7@+$xHHlWW;m2v!To66WoHo@qCwP zIJK7i?btX$x^1pV=b0QC3##WAWiSxWMwmdXy{e60aOQ|2(#3LCnYw;&mp9G#3yRi* zmG>S0&kl9^3M@uuvly8quG#Hy=IKxHo}r_|QiH}D)Z#3v-l_Xr0jfa(3IA}+w2AS= z&5I6Vi4QN5?+s*8}g@X{=kQzTuu<={Xvi*36kvNqLFyGgN@!(8nL za0hq}2a1-~$<6-pjy$&6st~@7SMX_ZGOFllvHjfN>}nywS``P@82BCbp@uG#%S;ke z_8WzD9nqb(aG2R}t0y=#<^rJBL5d#q#?mG7zJi47a1uV4u&k@b0DpHDLU;;x-!53j1S8{rLSk0fk4B4nEV7WYZg+?3`KBK?=5}#8@LZ z*s!Ob?HnZRxZHyk&`Xvy?c^ zX2lRqcDp620lIa?2`|)1FIcCQaZU!k0IA3HQMx;Zd&F$EOoib|CC5ZOv(?&1+cpc? z)A6w&Q(Euodd96d^qLKU)P`v8hSoWpE24I+yGd8X%a#f}jxx@DWL1jx2NI;07zg0b z->m)OsX<86E%kLZIoRvw&fF};cGv`zOOU_iAbwYdooqx~+xSz;YBFE$wBj2|@X`(2 z2ILpwOb|mYV)#0S;Gql45+k5<3UkP$2Sjd2vPMQY!>MnLHcW=EM@0V4fNQ6w(X)kL zwA%EcUqWnBw#Cdh_@Zhx+ohh@d7pcnge0^Zj;Z`9ING~yZicQ}U5U#rjV)W*<{Uzr z$AqR+%$%u42ndS@w@%V&6&Veb9b;-$qV}I0gJ~6{4p~o(b7*0Kd!!mhYev0k105d7 zdGYba4;j@*5yjt(3VM3(c0z7`rcHJU+eUiu&30Mt$Gzs5#g-rI_CWiX8WETd+V1Us z4o%G~jzG-J($kie#hD+Yo9~}MB8CZnBn!vi5q_4C=oC6nELJ@){t@5&iUlmV_=0#p zRxCN^rhXQahvcvjgX)3=j{&HZFotWNIW*LlTR&m6H1;Oxs`+mAJ-nxh<1<=)Ol`?=4>rZKuV-T(%Y0S*I93 zDZ|@!K)OegKbbr2w}jbIH4U~a82o5pnH_h#uLti!$Y5ef!buqmARI}ZJxMu!4flBg z-(G=iuyB1S5-BjIC?FI%KI)w8x&DCpw9g5-;g;9lc$OM?4t60_rcSZ`qma_7rd%z! zS0lQ|@x+p?W)X5j?2xcGoKPpePcS200%DT~Q7LnrnN@fPwa^CXx@m!kW6Znww3Mbt zDJy?kxUO(?QF<4h$a4b3)=rp`)JdRu+D+|54xxP#PO6{uk{wIzUM_Sofw`&bj*2Nl z8^56nG4`Ev*oekC_ct;vvE)n!?xbQ9N4p55Md!CkMm*-`k0{LUy;Ic}m00M-=a(qV z&X*o9e~n8@j`zt#|0>M-sodM}N8I0IWW^UAL#o^ZXuQgZMR8B4tt6COU@*G^A~w&( z<4AvqmQYZ8A!EK{Vs>rC0L;B2Ml#7+FqK9WO!`xCMLn;GDH)|8cx6{y8m-Nk ze8UrJt@OfU9hF8r%$Kj9Gh*seZE{34_-*a8ciFFjj{oM6vnT6zR9aWCM;Tf4WP++m zvI5=@TNe84vB_z%aDNPkV^(Ta1daXSR{}-R29v?TdnJ zBGRJC=`BcC$?K(tUO5ipn3GHx$x7cR&qxN6jMy^NtXx#*QWp*W4M9bZtDv{1we@BpIk|$c!IM>yBR; z#AU;_WvLHEy5jiER-hh1Z!!Y^EM52gWKDs3rv~F%{qa{%enjmejkmG2y7hz4pWY?C zv>N$R;IeglUSe&N{Tx@bTff@Vak(~YZ4>%G{i|U5L)*beqQOVK!AHJ-S~vW}GUQ&9 z2fCuK`Iqq}8$UGUFk$98>JZWT5L*k{lSo?y0V_j}%8qxo+r@n* z0U3m9@Ei9K8*(V%yRZuqhCJ9KePdE@syovKB&(nm%n)@}PMCl24U;hpZuVA!u35y+ zl@)S7u!OA`r$(oHMO<@y`h-H;9a9eb!F@7~!lQQXSQdXk4A*_=sD+RtlB-4L;((I_ zsLFe7aWM}1+eWS>DfG_9fV8g!g3m?jNrp#W=XSF9bpw0fMly*?PM5rSzLHJORe`F= zeHIV&I2GN9i>EvkBd3MNuD7(o+?T0iXS@2;3yve_vG99s#@rNi1I*CTqyx<6zl@E8 zja$(UqpKuNzk8`RD?OiNa>#}NGTN{kV+$1dIlZ@2il(jBgEckcd7fjB*J+mb8Heb zP!)OU=Bcyqn@lO~%H!>wlXTvd3~yHjLSaQDVgTVINz3NBMb%}W_~#E*M~9-Dd%>|? zdF0Q;IbfIjc5KdAmwUg+P8Yl*Q|GkQb+-~(r%z{zz4KZO8W@|Fx)%#4k*qR-FJz#2 z2|F(x%a1e&gx!L6!ma>EO%P>Jy(%aytAuTt3lWW?MJEGxg^xftSeXulNH<)p3l_RH zQ;o*)S_^DLLD!CFg_3p}I#YjaXZ!%sty^3J)BZFtI(0COJqV37kDN&PH>^A%eR9~K z`q$q$G2<5)b*zJ|LEpx1_De4-H&G5W1lW+J8ebG@=zq;O&hH>xAfSu*!N%ziNB@Tg zkrs#eEpDB|bT}OsoWtsK^#s@;2ZO<`mBxoyMqVA3YVk?7V|mUux^h&?)?=u;a_vQrKqe z+Rq%-Jaxb6+&Gh0i>_G}t22%4H?ygWQp@SIjzkZuEpVZfFo+s5n92RSc~oc@>nmQ} zEWD)>Zl}PZ06qj?mucgA4zVg+pK+4S_f!qgM`cJE4x}u^lkT73sY7hK^(srCy%AsXVgs-POq#?gS&2zHKHwa-TP!JUrUpzB}m z$=}~KWPj%PT0|D;QC+1){-7y-b#1?m*{0Fkyx{TWnHPx**Wgd_q{|+vFFH<0k((8v zH7JE^mJL=e^!{FF6JOcKWyTxgMN9Faysy5BSz6zP&t3VQ+&3=j1J~M|(kk8D z4|MP#hi*TIV&6PY{URjddRE0m5>xYdg7<@WTxf_X&858WS!z1urD9&IF;3rxrDtE0 zML!nrPC@!m!fK)|d17`U)tN5MxQrRO&g4=miYp@v!0i&^QE;?vnEs|D55vU%hP0Z7 zgqn89Fj3!VA!~)zMwhl+Je+Ac+R5-U_c&gUq!^vvGP5KaC*|_;@ zo*J928~fjGW_$2rhYdN^AYtcT7&4Cf(H;t3WhXcwuRS5U(TnKTDD zl5>|s-|y6wQk?ly?$Vlmgi~I;uicfA&!rTF+#5+hCVI*WaoGoviB2t|ce5 zPf9_!=ley^<-#pbw~h1cVKIl+S2P|^0p>orJt6vpsiqT(ENr?0Um2^}?jHGRcI1tQ zE?>AGmbpT#D?ZKNMkk?9yblUm!*SvS7N4~u=}jV^A6%Z1W_DV@Kyi?^hJB~#s6;_7xOSC4+hHdL`{d9LBxS)*g|q)H?T9HZGk1X2$Lq875Qr4%bX``-!8c!+Sd@$+~2EKJsy4 zeA{gI8x*Ig{Fr?mrfj@}LTy+Lf8kb|TZRcjyUl~k`z_^{mwtg}CI5dAL;o-$FG797 zJqSTS7Ii^D#QsO7?0+(2|1UpwGC57=F&H5LWl4qt9US!6H)(%=vRHo<0R_tt6NzCN zv)u^@w6kB*MGRHaMO4)}rL77>&0sGe9Qj1rae=j#Y(>lY^ zC!T!Yy7k}Fz6{x??9U(TKioYB0vLZjQh~@QiLGvPyOm?suj0XLTZ0F_I%(1HWMv7O z=+gYfvX(L>YR;Bu2yQAAqPas`H88AVmoT>#@mcsQ18?2J%zsu(BGC(lgjKjKXT=jK z0qpNrA9Ih%X!6 z39;+rTaxa0v(ibZNOM}xE7Q^ww^e8Ms~x2icpQHChDkLMHvYC5parEZ3HTGWEeePP zXhEMN6uBg;pMOhry`LRUzXfw{qEdL!U3jpg`6FE99exhDB?Ua8w&eir0LUmW%&s4> zaXD)%ft4vhVUb6aRcm8@u2QHFLdMgd+0o?M&>7#oF03${80Jki0>S3Ky`y3)jXr58PGm*`2x7q-EG%k^S zcM(7NeR_aBx@RcR5dLpq@cV54rYQ)*c~gKt2iw*aY-pDuRGOhZ@aU%IHl)AXz`)cN z5nOHLo2?%cO0)-9oGQ`Jlx2}>ql7<MbA425jR2CsRmi~58PKu%2$>{fD zr%iqv(M0DEI-!9Ye(A$vM7)Iez;EYX@)nLFGBJ(qB3t?G<*C5qgPk-ik%26l)k212 zRdwy+mA>AIIoTJDq|%%}fNq(gvjgk#_QO!WHGinZFpy&(QN*XzfJvb)e;ysqTOP?% z%SR*p*TEBEZV4+l@VAFxf@<>psO!>knPoq-@Q-JmT)w;4N8FJLMXDhVBxbg#CRBSM zI&4VoB!-x$Vt1NX=P1v9p&uHOSkL`o>@xa|*g#|-n7QnULaQ){_L9#!>Jnw#5w~l4J!lPvG1f4vHGsCY2=# z6U>WMsd4%6eDi01u74Zthy&YKqEX$4zA&7an!(3F_{0i){4Lvz@x=}%XfW4c(jv}b z`Befq{~JsChPG`);QImSa!#S3L{5XSV#z67A zc?>u=NG*@l-F5>cW2q~l=EOq-bL0c}bDTqDF$2Rmv!%U;suI>PkR>F2>By~)+z#}D z%#z$>WmC&2I(ngR_U=bzr{HI}?Vo8RFtvLoL_5jgHYD~9HLN0MP-z#H3PF|Ke1+*; zIF{ckphqo2rnV{e1rv&{AzSi{(YlTN?fQleo)si+6e8~8wPhtF1p@h3BJ3q7WijM! zzOzA78;AJfkU`13mcpD|>@12Q*Kl}w1cnnOEmVQy;);?yTJ14ow-!Hm=Nlq!K%mzuGM3s-pF3^!y#$WQ@8oQ4)L z{VJ9Vhc{0+rH!FDj!uLeuN<4XbaW(yEAKZ1MY+C{{7TB*vO*>D$wU&M$B5*d3F8~3 zUNmVCNyO?XMp*)`G>;tMffLrP=!U=VgE;6j9F`-PVgqA1`TaA^VPrHDvf-(cA%^&A z!c%UtYiRDl+$+N|sL933ra)MaX->=>c>a-f4V*iKZ7F+llAY~fvW+pWrdh<7Jt_8e zg@X$>!PwI%%^ zn|iMkg44U;eO<1{PsZKAZdP^}9?f|+pm?rz z2s?uHf^bVV=Pg6mcaY${x2E_Ee%3Yg)c0tvgt|SV{_P0%wK4xR_-t&DUr`ELY6EL& zkY82e;g!8eyK!%Jd&K26HqUAJxw@+OXb-ixwE&0p7@Xxh+AS2dZ6~7ETg@a|M+@b# zQH`@&U;1m!+qJ`}Uv1yRzpvAtrms~p=>C@|^Ezf^yiw>t#3B;o03S~$#Plj=M!Z$% z^0q5arz|3WL5O?lJ+zfaiqsXYTSt6x;d&ARAWbTna1#*yw4?gVYYGWE%ty+V_!_Ow zcNlh&u*fk60M`lH(?qrEMh>0Ti?A|`6Bkzrtlq!nHZl4gCNwB9C^9HBC`1+<79~N0 z%7f^PB5vx2cV-%Y0%FxS=b(}-hM2a%7%9OXM*wIOxeeP##}%WJ@1165+s2KIH#aXx z^7-;;F;E;e5_jC(@|7&q#cEHmObd0Xg_LVGkLlRcWl33rfhGX-FALTYm71IdN}SBq zIeZ^wlprK z3d2KEObIMMdwK}}`CZVUScY5JKx;l@6Tyr;=vu7CgT~4SMsN#o=4)tUZI{r(k02-W zt0!;#DhJ={0wBm%$r^7^HS*L(qF-1wfPeGdIu%jwRVr?Y(tKO3tbvwg`D#QqR{1DW z7w*%jr9W~B7(wB=30fg{3O@X|@Odzl8|uZk-I{OP^r^pNdn3uq(m6f_sUeR+uSeQwC|FyVKIU0bM?~NIy%?Frsi;2kK7lh{eX`2tg`4QNhTKW)YDAmdnpM3f zTY6s_1P%|p8ELAeUzbw`{_@0Dm8J@8*OVlSqtf7d4`(}C_Ef-Lu3B!Zuu$F~RN2AJ zd^&FM<@q$m2joqeG-IdQqrJW3$Ma&T(^#yxi}6lnlYIgZlbDAA&)-4FR;B1-{~W)8 z6p-LogF{w_UKsfAIG}GJAlQNSwrk%Yw}5C&6=M>gUF|>c7_utq$j5C4e%Fqj51X#5 z4)t%7B7zudLPoGA0^18Tp!o?mr^7#Vq{l>i4dTYy+a(bihUd~uE7AeM~*fO@?^ZqVC`lUMYCzgumLXAI_*I4YAPFD20SO=275fWz;+*LUl2+JTrYJtD&p4KQKnRbM&bu!fH$B@@C1(>J_rm*|GouNv z!NXKdcC;l&NK6|>lXl2j)~_{sXy{6R%^4WkTC{Y-@5@f?QXKFHpUiIQ z^9GVzuvi@2=YHWz%%4nq$kGQwxkD~H|ttP*euO6k3X!q@?{MA zgHTi{1@&peD6{>n=`dpU*o2t@|LvWv$xkqu{iE=GAQf?$*;N z$k72QhjPDWy|BkF@ThL^8AskoG7eYhU?VUS!4HuUh9_E7Cf!n7*E(O!Czk*FV}(2X z-{1|!zj2brORVvK?tW{X8LD~W!I}Dc67MAey+UCxRI_{CQutBK+p} zWN4m@&{iP{OAi-Qud9b#u%#)ZHe3?D4xQ%HV(ou$WPyt1wvD=AylNMnG{en{A{IYx z1-?^X=Z_j==HnNj=YZ9a;khCn)P>i`RX{sV9xuvN=y0hqbOI@VvOkh?%;GSPZdarB zbxGrIROzE{WIz*cpzj81yY>~Q!b2h4sYO*xU0@&nWr83c&h>^EcveK%e#beCF_iNF z>w1P?xRsPmo7^RKf^v0#64t`tf3c?5dtRbMW(azX%f$n zo!M~dHD6;F1QuVtX8PJx=qlz&ZC^`6UpS;x zx+5}uOMG(m`s`kl#GCc#M*9Jhs^c^(HNTC?39cu)^#R4uzqk3_qq7HGPkg*9pxFm~ zI;tm-ap!4ct;BdxW}sE^2OpMs&FPJGFC}0PDbwA`L?_5u{Q`UNo*Dp7NXZ*a{+-2X z2VB-9mj8c|_LV_(Zrhe2xVu|$ch}(V?yzxpcXxMpch}(V?hxE1Sb&58z4Okwea?N| zU3Jgvs&7~Emo?`abIh@(EF)7gtH7~|=_OR$*gjB{48-aDT(^^=eTnGKzR~gcILepx zDaO|<-lAD$r3)nv;<`t&MPI#UvD2j0Zq)i+ARF}aP|l_}r^y>a%MDZW;AeZk8+n~J z{(jaMs_P#9u(mm$u)UqNd)Vu~BlAusPSxdyOb`|k&#V6KxXjSHzToQ8J=ar|SGkZ$ z6Pz~*xt2Iqi}bD1eI*<jN&Y9`sn#B zP*UA@h4~@c8?bGp{%lqT_oUVY5O2N+UJ9kr`Vq+qm9p6VMpD>5rp5k0Hj*8#@|8zK zG~>WcPzfmk`{kEeoLh?EFU;nv@cQ151{Lv>3jmx+e-;gL)&|=4aFancTF7gI4tvDO zpdf2378b~+#y$NcK4NAscjL!)3DdYMX0PIj%LMAC(K1luxG3XCPRhZ03|*@^F&Rn5 zBGU9vhGJyl>E@q$LL-zya$;@=nm1!)I~a*U&N-)Zxzw*ScKmlDm3NK#oo?`&5F=N1 zCGAys1u7u=s6Q-$E@f%BNt|~|RF^jJ%@I(p=*zEX^M~cFy`6XzoEMxP`pcRtPV|z^ zM+D@zsJOO9J`?b5pHkB>J`SYoVd3IZ=I}TWiQSJg1}@)$=z1rq5kt}<$F>L)(ev`e zJAoDN-!%nw-O^cn1OJ7e6c`1|IOBO06Tg2Ra@(bQ3rar>A|F88DrD4xXYtrZcBtYo zBdJPs+oy?QSImYJt^$24M+{YlFvP7JJ{a*y>_UL`Lg*LB8|5czaFIwD#h*o-Z|v}X zk%xX92~hO-$lT7NoWw?l%*Z4u1AI=)oY)-G8rI#95cNm6~Xr#RvISTF_i0T zU`C=Ic*M5u6mTpOGua~8SRfHU`m}wgF3WWO9Di|!cUZ<#YE!wsy-6es5B2ojU^2up zlCh;ih+XxjG@_w&Leo51q&^LG=XUa71Ptqh%9nFje|`W49xnnLVv9ws7=WFWmtW@ zO%Q}DU$w#JyaC64rW;LjBmUgDZ5Tl-YOV3pgsd8kOmOcFyeb9vd!0Eks%>NBuAK(+ zfiEX`oADEXbS9LoJz*oRh#^=RSbLO*>zT#+z`nJnsG~if{*JWA4C}*j8)k$Is0dx)Y_3@0Di5f z%}-+A`&3vKXEjaVU#7DF^LHhZNBe-xz|ju*;k)~cA^i}Y`7D;9yo!CZ!vWeYg>#9T z*jwV*+eFi7VlFX$!zv?hdb7i$a>D7Ovyf74k965hU2`>QCwEp;G~0fc+RoGw*Zrub zxwS^f<8!##y4ZC=#)ehOZezoj)HXjL=J@EU4OsZVT7>co;-SvQgM?vOObww zABNMBdefNuDBLINZ4~w!fSB`P$6!NVoJ%AU5!KP9(&LqZtN4hYGn=sYR7J*4-KuO> zMMXRgO;?wnP1%X+pZdn$f-_!xbS^)~cg6}(^&oXx-n+@Hp5iFc?Qg{@EhXP-c74*T z>$Q4llxF40)mYYaLhC^>e=5>THddFD*lESDG@q3Q@4_W912E8TOk34lB+lC=F3-$zRTL7G!CPZ2@7xEz%ym3J=tJNpE+xW8bxT7o- zfz(qWEeOZCJFG^6LhV&Ss!TMS#nMxB;*iwjW)2Fd3P~)bl%G_YnxYcxq;E=0kI(5t zG40L9V=dsy%MT(LxuwXyU(onf16Rd+i-!BuO-Uj7ltKB_gf`h6OylC3RB=v&1)0=2 zW)_UeU%JLS$3F4F@rcqT5 zlINKDC6Zw<-aS{}VHO;c;Og7Kq(GNUv6kP9LR7vv^X+2Z3h5ldOd1Y*vF&K^_Z zBXh%T48jY#2KOl}%9YubnD1Kw`Q13D#~}H$t06PE<~TNUGjk&Cm=|(I-Vr?N&vqJc zZET?LD1ExM0l4IQq3~d8P`x zl60JBZdy22^{kC~dOc^cU!o`C3@2O}sW=2e9Z8~xPBe~8J@RGxoyP2a6T?e{X&Z#t zKSHt>6z~HlK#P5jLM@~foR&y-CWtM8M(dQmAEwbIE^AWU2leHqInF{A>lIb5D_w)$ z|MjI~N}*yMmrcS2|ES!y1owT3bhQuNx9xI1jE*Hblv+7A!t;nLT4Rg_P{xv`Z#_WZ z=c; z#*`gF8YUNW7DXSTY`~D6pxZEbSz&_QV0=ibo`N7GBT2hK<@qGM9iMA3XD-rM5C+dT z45Oux$5hm9De{_Mjh4X)>m_3>L>WKXY+eL%PGq(q0wF)bH-_93MD~F=^AwzQe$qbk zuJYGfnHdV22F^Yl>kyP}I7=}RPBBrojt`0Y23c|s47{vV*QC8VA9_v&1e6bVflCzo z>d`M)jJyb6m3}~E*Mzb!WX8lM}D{izp|ANGEaw3-^ zvx^c}hcSd6^+{W%3U`1$tT8~(BT*kV-WWB+*y~e_wA%KnErRj`d63AZnP6B%IJHAq z?U1+w#|_yOGv(bvV62W}L{$mhpI-=F1#84+B5?9r)E=W?(XesBFlf0bHGkRY`YM2~ z9!h!>kG-Y@mKMQE##=l48G;85hdF;Dz6e?0$u$)sj~Gtjor3mMr9#@ACW2RhY&+d_Lg_*4 z$E-nuMJ77EQAx(HjNo$YKzP@naH&rETJ`r2^=r|BO7(%ejyO+k=0QiSMfpL5b!R1s zHs#}?Tj#_zSdxSK`a!%8pN@X0M>@T3#|vW$go6qDrK70d@lh;>ZG`GmSGI1gA6FM9 zH~Ox=MdT*F*#+yJ z5|}S}b6NJN@ab3PGN{g~tDY3mBj;sd0$^L#bxb&oWx#m0C{~T*9%_TcA(ll*2o+wse`L)ex?58Ue-lxC<*OZEhCMkIe)nXDz1(#_P{XN+@Q+ z0p}!HY$oY6{g$JCF7FIN?0rWMuR5Gs?yNH%9|f1RU*#k(9oMnEb4G6(-aRC=58k_n zHxj?E{!Xbfgw-O+PyV+z10Qd&6yr`QJuXTzs+3we+sEes+V}^u70QJMDgNQLTXGWP1X>>4F10&$a$X zZ@d5RcK?6v1N^fE{jXi%z(tEYLfu#*H~WIYT1Z;F&271*4xO^&^gP4biaFO44j(FQ^Qxa}l-h zs2ET3s5S-;bFu4T5OCdMK20S>WqfV1tI2iWSBk%$(tjU!Ad2PS z@97H2z~lb^U0VCMl7s)(Y=wV2a>62Ftf4Fdk#casTLtRCGK*|mr_7BGYkm%X*meJeE)&H=IW=6jQ&dV z?LnKxuUc3?qQ@RMTfq!CTfz8cOZAW03VAW$LLj<|e2O92QkJ?u5v;#}{`;}hN4k}y z1CPB6_!9vB>>SM)0QLYQa}x$5I~yB2TPFq^fU`LZ1Hcww?crqM#PHYh(Er=e3YTa; zgaJmhpjRnB{|MOnL80Ka^r~7oD2!5Zw3dnmuo4Th+L1mGPBdb^4+PeesXen#-y!Np z3k4Jn% z3U$^xwPNA}x1p^ydOUVwzC#5s4&B`&TUa}hGO?2~|8aL)R5ooF1(5iUun7Vs>(n#zFYukO@@~ky%kBemOo$sDB;G8Sc9wR;cl;#h4Y=JmUlsLS||n z@i-PJ)_?6FPC7Z_Vn#Zj(9;4l&9EX*@mQ%?ueIZf0Y_%t?u<>u*BpqiLabq z%D*|@%`{~E5Ng8>Z{$!yW|{nBX(s`Ln_ZL)mlA2x_|Wrn1Gd;3A5y6F*%Ukd?X2zD zb#k+{C!KDE%0yx!e1?{Z##cc%YZsNTyhUM+!+SOF0h2eJ-P(0VJY?HnyViD)`r#Kz z$h?#Tq_S((m`(7C0N4fNnBY;v#-odHN6m((Bo?0)jfSKpS+l%AQhmVRzEm~Ey#W?L z2nT%&T_jQE@E|{#oqa&?6*mZqC&4y9;g_M<5$>o(TWZhr4m?!Q@qsW;;GIxlPiK7^Bkkyq5-q#Y64b~Uxq9U8v zCyBZIOeQqz3$8gtKs;J-Bl&Pc^>AxZY(9GzmA;$CG$>7Z%Y6KU*7lBT>qK3FqG!0y z1+`0j?`fYBg%b?jNy3Fnmi&Q4Qxcw7@{HPik1@wlN@EvFlPWzQg<#O3F(*JUi7Wz1 zYHXjBDCF#y3dh1Cr*M~)iOi&Xg?+a9kMGV=;yWCF!OHIomTgINO$q+t!wbxZ51jv# z3&!6LlX{p8PGVJfg?{VNTXi2nD{R2Yllqp>uDdN}P~)gWjsb%(e?w+p z%^+NXp52zIMv{}xi$V#j>5KRfRjB(6jm9v*A$|pRN`dh#8M`mvOn3FsD@v`y8r94U z-<9s14~KL3F7-@`ffP ze}7ZArV3nSg^RV3wG^xHpsg+bJ@RC+lQtUjZjtq4C}>rgR#vNbl`*6$nWHN1nSDg= zBVL+wNLh6t$FauHei3n?)c7OCr33edTdRRQtTlHfya#%(!4uCikDdeBW@$AGMu||K zHl?S@Xbx6=kffc?FaUqnP+`;)i#wCCct1QA@+LpF2y5jQk23CYYgy4t(W^35fBg=5 zc2d)L)22%WZ;>hR;G<7+K^H=Gv~uG%vm&TmhH=RFroqR<;MkMfKslGU!pNin4aaIb z)oYhfMWc!=AD-)G{~gX$g9iZl+G9hgr2 zvCGS5)gc$JhTUyGaV5zCjRMBfp`tPPsz?)1DaAjx0$=p%9w7#jN00KLCnSli-1*W{06^8!Ze zfvhti{vOb-7-C*&qwSBhB)lf$2=d4{4kbfPBJ&Q`=St==3Le~9mGp&!D-WS1`0MD; zNd+-2{vaF_BZR#wUOL=Hro=!Kd*@?mPC7+z7BctN9W#ZJx=bCe1u2cz}+G8aSoGq5!6b+dPWVCS4xnXZNFhz&|OMO91}IGB?QZE;NBDDCQ(y#zd< zs+^gzO7woBe~pA+u#=GR%NPEMy1k%}75_HEbVewHGMi#c9B;d)Dizme?wf_jH_A2R z1n#6WoW>h%#T#hX9%|=-#?c=8%>%CY9-{OfE9zdXH9>rxoWN|eeZtkT$n&hpTm+?i zEwCp37G<5B68v*MdK?n^po?)OFaD~*fua=jf`A<$&{f0%x-LJa7&!qgszO)=B~Ed_ z+?t1gq9Pb#CDKO3VQ5{gI2?wkPhABhOY$4n7ir1XjECG&+=p}*fnhwoK?EUaW%zKB z6p1jQlf3c~#u#1Jup3g>qLR!XOWu_hxPLF^r2wLD&X}U^5fF8gfUCr_|n_bi|2zk-HKL|1)6hihVDS1)@yQ<0-n}HatY-)<>&4$SD zk4R=J&*x5wB>{E#;sgET?Z>Z=_EAkJqhxYY*(jl~5w%B`T131$y7Iz0*k2oUqZ$fo zgXBw(zx1$NcKno}&)}#NaLzVaaL>}ci95f?$uu|Fr~cl7*L9>+_Xw!*B>y#RDu)wUY!QJG{Uv3csq@j}z2n7}DEr%#{xNPthW&dU z2O5}=d{doWDG0zH^y(*N^P|E(k}jSFMkUV2-hU5dns$;)_P~^680^CbuK(yL|8-=4 zFhwrXKj(~Tm)90K$rjc>h0qz$0O zdhu@4W(Rh^}cAqR4jcxY6)bXsV(VvDI}aqq!4_8W#4 zulnp5lgYzItpZV8H-aBndQmkV3sE7RgB=W|oxw-DcQtDXxxXG8@mT(dp&en&6~%eg zgfk$9MXh#ci-K(*BhDkX7Lw~^*4?wol;>!*rXimCm1Vx{)T#7kjK7#vMgB66&3p}n zMN}@0tzDfxmgqIFR@1A5c9M=p!4d^yC9a?48*7%UftR8;*xSU<(|1kAG5lgD@nV6F zY+8H{HNrTM!!^&;dAQjUGF|Lfs7i04oiKO#+&mm(9&FB0P8uebY;lmr(e_imP&-bBIxR<;s`w5HY=0W0J|apE2fK?dWT8T ziJ%e;hF~(^8fou=x)5+9l)wyjw4yxNP*`x^NKvNne!NQSD_S$|RrN=uG@b z%O^sBP>Sq89Pa4~@PV2R!idWpHZ-DCWnZ$ljcx$G=PIdm4UYG^&7Jc5PXUWlWyUSs zz#1KruqM#!C$`utH64h@M2P7h-}4DQ4OPj9{C;uuPC{n?(pJnR6j5>^h-$}erkmPJ z4RMgspxkW@@!*7`d3UX%b8{7;RH5xSw%0+P0Eqx?APDnexDFE{Q7W{=C~YtRAiGG- zF+!SBnt#L3tBP%E?WXy{iM~)uoJM)w@EkH;Z|?|6S$nlpX5?<5u2g(wXDg*WvQko* zr2ZAKCIRBaI~7)cy@!ypgp9Ii%ZgJ=?)mtBi>+7IK}=O?L?w&1xXUQxD)K8i%=oZN z93`bCkAs@tw7l!ET=lRY23+@S$yv-C%|5ePH1WK7CDYsG8ehYOki-r(i{$}7hzc;#t9ONZhve}r}8@Bis&ACBo$z6`jqhMKaY%+cdw0Ybj3HtF&f`X zF{TXdclJS3`otmNk)=I-O@F{76aH=&MlL~xG$%zPc0P;uzk6nAn_ky8Fizb9)A9dN zroi%NY*PLs5l`ZDNXjJF(Yj6(%9o=CZ1f4M27^JT#DC#dRu*rM8_pz)02Ia&;IL zjZ(;nEdQQ*V;*08An*lsPXq#hG8!=xsBxHN`>8qns~I(HZbgMe%Gi-w!JrPAXOcqG z4@>=6s3i&&LYkU8iePv@@*!WZwB3iq1X5NAsY!KF-sH1ZEU_<6w(-Hl8*E&^{MyeB zQB#lwZuHFQ7WGIQW$tDMQ5iX@za&*rTGhC4yz58;>|cGecnW=lUS*Yv3$~O}hxECg zo`zHyS5LU36J^eBr8DFc6Qa5Zt^vb?c$Ng`=})`;Zu5`z;Rt}&hb<^sW!msy0?4{B zFXpL^@%Mwv(}PtRC^^mC`abHqi}^)oogpPB6TYee3W=9AW?1FNX?tfg%8A0CK5D3l z&qOL7N;=8F8ddl{nySILlA*jX7Vpl!uMiXV?l#V9hywWUA4+D_lRt0vL1=@5{`4=E zB|(jBYX86z9;Lw@eCE*K81mzz7C`wYL|LHxr~$uLI@#nN)QCG~1~x~mH2WKK?alcv zb?qLnmkWQ@+E~ZVUorW2*UckL=??)Qm~jHt8}|PwCY!q08aZ3o*)oW_+uQtW@MrS$ zZ{=q6Ju41JM_Afl;D;QQO=4=N1($zhygw@xmH*Ph7ROBK`a}bX7k*0H?v(TgOiDcW z4+Jnwu6Q2>Rktc3zj>OO`QGp3H2A&!d;=8#zu;!wT5*5`$G>mqiD}Z9b3ly3No7T2 zOJ+^RE+vo_ucUxGGpy*3_qc8a8R}f9Ob*$qLq=c*HymhY7@UOjoSQv4^U{V{VF)!!nbQLkfyUxdl)xtmNk;`w7Q+PB- z!;)C{ig~1#5|Ww~L2YuRD44&lM~|$68OnDI}E}O{k~Fi5nK@IdtGiRE1VIYiQ0R58npZTPqq0=7_mZC5zH7J0_x2SGeZBwJA57jxpA}T%~ zLm8;iS=p)3l{d5|BWX&Sf%Z!6P||(_`it_G90N>nXn1Qh!)fN|>r>n+$A>PB7RA2o z7!O(vb1jYL`XL4GM5#=pQ12=}1Ip}k+_-|3vvP5>>f-{&Hv&v4FvN!FA2x+LBrW?Ca^7PKcu}7u@wK*H(*m{^ zi>&p}Ngca$Wws|puA+xDR1^YD03CtoD%jlbStAPavhJUj;`KR6X4&9g{JeB%xa3yZ z^z8OW>VH(xGBNM+A!o5zo@EY1Gz9SGWT%$AoKP-epiM40Ohh|6ykK8az2p{ZO!Tp> zq0#7r$tZ(YnknRjBZlY5zqjhed;KEPn;nuJ=oz+973Rz0%DTnP`wJ+3t5DE*a`>!3 zgWLjH58FR8im;uN`JWP$iWQLX0IdS4y+WJ zeir#P^(JL~bR_z^!oOhS=9dk7Ci^==RI)^5dhp+Z$eIm^;VU{h?%S5o?&+)9rlWSkL8jRZRqY3pnq z7t&$T_@Ny&@!pV)B_BooT~@z0GsdDxHZ+ig20n#!O^ah0J}XG&7qcj#glO?ZmsGsY z%@;7NCW<5nhb@#~v&%k4ox~0Sg@{Pp;eGStxL}k|*AgTYf321qJ)iei%Q%YV8@^Xi)mbnp=urmVs?$LU_qSr^G3Ipkkao z3K#PO6cWuo)zs6T5jO}pEqo)J&QI|C0Lz`}Bjz~!$E;-!o$%}8W1{+k4taivgqP5V zO&??a7$()X_=KnodQoeqhS?*HwG?5%gW$esp1LAgwU0!AQp%=bPIQ6INOJVwK?eUmsMWH~GwkgpbL+B|2j z_u@|8o@9*RT~}7?F>iQ5WkM%I+vU_?0Dzi6yv_Q+sa6g66o~&aKxj;vgc#}cU*O>T4G0e1^h&hFgLLg^ z()u5!fZ%|sked((mDA$Z#W2SE_Q|g7kbAmkytOhv^IAvdw&icVyT2bCDIstxM1fWz z09xfAvIsG2J3Gg}%reM`g!hCF6_Wb#h>WydU=rlM^Ai$gWi||+|JUvK)>;%?GC6Sl z5Y7P38xU_aLwsr?BBG)GE}n}F&6?M@+n*2yh*k73=}t^>;6S@XA*5nSQ7B0Q?PABu z0~f;LgUhJ0p#+X;u>`+wH4k5*Y-Ob%jE^iGH98%LJr)e;tvTQaf;J)8)~aH$>HrA< z0#b((nV*z-uUqAZnB{P{!o_oX0VfK;k`JfGGzy5?1($kftdF4bT7DcP-{6KNk`)6F z3_7CGrx-8a+=zvjH*OTl`Fk%BKzA7N-mV;r4#((iKH6Q5{zh#!=EGcxDK5c{1~YLZ zP!CVfzz0OGiDu|wXrXN8BAqQ?2(O7+3aZq`V;r5xBZiNqC?u z-jM3d_PM|J4F5LFboTV~-wpHox=aqOM=<~ma|8Tw{4>-Rv2e98Hu+aH?UMTl#BI>7 z>W?t{RZNOB{R7YiOB%bOk>&*jgsI4(moxD`qCFED85++ZzR9;UjVUn=>0Z}HGaYet z-{Ryy_~5N74)=tCB8CyfVp(!XRXwB@Y+T7=W%IBk!PPV@-0?@1GW((|#xv(MK#Oo9 zH#9nAI4^`qVL=$7&UR=-7!Y|F6poz+ixca@wa*djP*Cs9W*{h;us*5Qn%-shPm87} zgl~R-&7JMjJJr--St69hfOIUjP8$hzY(eWV9}tZxc>fj(XES+HFz58fs5|kgr2jn? zyK?I~dqS}y%t_@mw3!#bSx5pj;XCDiaP(ZaH>4NMgtoDj=pERmaaI;$d6D24E^~AjNSnJ$1uyWX`@cO4|EAcS+kVESz>Codl)VK1 znGIy@%q*Nq6#$L^8xv$GAt)0MTe&@ z-LvR~yNU;f(QTCQk)h|>`R8kSg*?llzM=@=tbMZzvP>*C{>v>Mw`(Av@igi8`fNZd zh^-5K9-(^x3pwIP` zq{^;>HFOBarh1bnc1;OOWPKItxf4xq$Y4a3nq=>1Gb@>kP`G1`c;O_;$IAKpWbs$+ zr&rhAaM6m5CPO}!Ebpu`Mt>C;OeV|1^Z_{Q(2L$HnO_P<3~jnkYIEjo5_0mu0Lmam zlNc#n{$4$k$P$CrpabMGD;9 zrz*m797{4_U#LPooTd}OpgGGxhpxsX#?VffEK;XMBJCz{!L+e%jIHTY3Hlh24F+Ms zw!ceKY$1zJ{wWC6IB$_(6BL`7PI9}oOI{AJ#C|Z{&@_R6`Ewq z&ajdmMw!tsxKM{sx!I9R=mECy3%nV(j$CC>A7dvbOvPzS5q7K7ylE|FzG_+aUn!ZX z1nkN8Jro9%812#@36jz&NcSyh4{=1HswqfUQ4=p<8p3~l9A=%EH4NrGpm2cx9^SQo zj;0tBE92MSN6@SV`Lq9_=M5vsi_!AX#ee`Wh6A^$H@`BC^{aaE9h*aUM2ZPwg6D*o zA>SqDbpzG~ifSd%Vy{$ZT+utvU-a>}jE?9v?g0^H<(3i}b4o5~~DnkP(B0sDb)sTa!;GZ?8A<;9mCLZmcC4|lcvO1Uw)XxwNv3Y_-JhVb5JmxW_qR&AZk$hbk27E61_ILLRl`rc0dX`n=-)87T_xy)!E!;(7^o?mI{8sFR1! zmo6Rvibo;cbc;r2_ATFmF}TSZTn+g37{=?8js>W0-7f76U1;8tnMQ8zQPtPno3Xm9 z;j7HnUoWCrSbaB_JKs*9@tqaR#I*`nE%(6q_K4GO<3^I2oy<+iJx`D>QRy7Z=QN~( ztTYN6nC1GYR4m9L?YTie7hZnpul7q9Tv0ZTF(l^~%Up(;DF#3L0A<0cMOhqvr+)ZV z4Kd-JQ+WB8s0de4Wr_1iQ#Ncy^)iX3wa)W3?dogqSZBDj!DJTc#T{Xfw-_Mx*j>N2 zSkvmi%U`_cMG~$+ADj5+J|+w-&T$6VI{)coDi?A?j>VxoxE;BGqq4P#%Q_Pgu2Ypr;VVPVoJct8UGIwN8y7f36XTRRw zZ@PVWsy81Tsi93wpD`FI^Bsx7eeFgtBtaEQUKcz zhmBibF{GZk4Ifu1+=weg$zmk}E*sa>fy5^VU`R*0S-KWaCy6lGLuhUbN0oHDL15?9 z*8hs%b|MT#2m{Jk@suu7k=oT!ZH4a1tzu{q9}Ur8;AjzwSr+l)SUlPge0Q^D-nM*v3pzPR_U# z_?jef_X5t$ zIu!>kmGPG=fgRyt4=bdRw9_<9t8TzIji;|mCua8j5Z1`Lhm=@MW1{83Iv4lz4m9tP zW{tCIM_})i5h*iN;UKoX;}d8lG`#~GKk&u|cIR{W{kK;JnRV$P86ayT13L6S6hUMy zZ2zQfz&vLFD1rL)n^>LSJT(i}l)CbAyRdRzG)|)H!UZchR~TrH<$mziL8umJ6(*pSBS$rpUx5O+if8bk)C71WIVW298f^Uw2$U1`Vn_SPvoyc2v?rrBH9qn2zWe#up*X=o)wluK||G0i+*ZheTiVPD0Li3;EUa5(6~qK3tbIF z+$};{treEi7!uWWzn=QueUh8uW$OD|H|+zh)}Y)k4be`|>!+gC&=^XL*d)JBZ?`hc zD0tQY1~kS)nq>^(y^bAZxDw#IjmeT-)GnKy*I|auPx>b<-uPQ?7Yt|lP&g~u&ueba z{#|@~?Y_O=s^-p|w!Kd6hr8Pf;Bst>b?AJKtg8y3gc|w{;5smeDO1E+`uo1liLac8 z3m|l)3jb`=t1$hrqns=-)x0J%iS%U|DM+CG@RD)rNu#xWI|PufVJ_uFa{p?r|EhZL-UndLh#zP zWCxb3W)_-Ti#1O8Ns(bObT(W}hjEeZ5xy-m4L)CBd4J68v+9dLdvjdQft}IT>BuwU zcc&%SP_sqBcez(}9=I9jc*UFCR00cg#g|3E&U;*LsSQ_Bd#M8n-4{+|AZneyjR_+4 zV!&-?)Y@S*7=l3XnR2B+#Djp>YZS1~%uNtYj^VU08048J2FV&RIm{fu#XJH&%oK{G zK7`*}+;ImS8I3J8z5|HesK)7%80bCHac4~(h^Qo=0v(N#Tap7+Um~|S4zc;=43^_= z>XoV;1Kqe{Iue<)q%-)4an;$+^AyvAwfTgmpM|IURCT1wb>#Q$enI@@i@$R`9!uXs zzTYST^u>QDi3l3m{i&DM{BH%HL78I?<>vQ$=ai8Ljo0dh=PbpA81KTGy_3=5oEbD0wfb%DOxo^~ReGOO?EK8ZSZG*$P^`42^w!PoD`M<$#Yaa|CKl14R_=3xss#ZJ5LA$DNHii(4 z9~|!3tz>3kcUG`|DIpIZtOg2Pa9vCK$&Lq2pt0F{$PDRg^(3FXmNC#1Z6IRReAbnE zh_`WL4=jUAh*MMB>~-Gq%|0tg$v!Zj7q z_S$}vin49=c!-LY(j~l75Dg14b7#i>X?Oa*JqTPyM>;og48M1g)?9pyK7WK#Yy`DK z{y}ug%B?XParCTDl1geR7O37o@$w|F8@nf*;>s_~Qxb{4e?gO*uludu=g1i4s%8IH z?|=TG-e->J7}M_kmtHqzkZKy*L^;%tIL?EAO?O4|-GSDf2!=k<1`V$#XYj|V%ujnt z&Y`V1w)AD6;$EV`8;j_cyEG&gQ{8CyG{d|Ojg6zv3v2!3llt-aqc!-%S1`3=O0}YI ztA2mWcYljPei@CVEx=s&2e4l8A5#6_`L2`mzw+D~H5+AIRWx7vVCzQBkA=fE48XBB z@me3jn=_?spzYYcpux2EsH7dCU?grky9ELD;(3RW9fKU?NbVxSoLh$HX~KQ?ndv*? z9E1cSmZy%Bo@}St-^~C1U_t|B{OJ>|CAg*bk{UQlF3m|>$!GDw(Ix7Sw^^|l!A2j)WdvV;s)HFGe9c5N zr{S*6u2NMi@!Qd&Ta*!>Z>qVAJmTSvB{$j&6%LER;Ok9ps!Z)Ba%xqtaJP-G(%2iZ zpK+|YOX`DmykJ{Jz@ME)?@mMwj?JN9&>?1OFq)*Ui!VsEsnRj($`Ja@(<^*owcyrT zGq+y)12^LhB38>)GT;~7k+CynP6?**avHmAEwqkKbw`160*%}*Qo?5KMTpv=u$jZ+ zMysRAB;8T0^WErxNUlYS=4cH#B3REj>+XDJQxCn5q*BMOimWtcB2h87++9O&_`Jwm{6=*7C4q@#^{9=vby6<$A!HubH4Udkl3;SD=fA- z(1}TH24`7YFITsXz-QwCl^;6CB!}w@qmcQoo<&xE`-4gFW=f<*<)%=`lwhmS&e^iIJ zgJ|}C)byf-e0IdK?8RBYfXjK}!MIEKn{(w(&QU?GD?EJn#-ewT#zW7XR1D=YdCjNn z5~5-4YZd6Kud6C_EZ+@T9q8qA_@QcP6SP0Fz^AN_Oo%tNh=D)RpY(ZT$f#Hz%~ho4 zDGV3fU8?xJvCcbvE4H&o1&;L^neS)w@0rEdAyo0BI%g2~aa+S=8^j?^yC2ozS`B(1MrYP@bFD#u^>m_jlTZ=Aflc^)7XX~_# zN0-E_1VrYXczTE&X9!kl!T?-{2I-UOcnFvAXu?eOuEmqF43J(|nN?hIby!`JePzOsWONmR) zmP5+F>`(o4a=Ht>FN(PqcpqwDxsI}SQKZ$@-@lc%ddGBTVsFMO{lq; z_-fy5CQ>t}PIBjw<%+x1Yf8>+TDW97GOh7#g?~Z2wc=aRbd&tgmo#ppXtClDw`I1b zp$2Ou6miB<(pUo@LUG0dQaLo;;j8X3$h`gOOe6KDxtWH|L20~pKIh9l69nLloA2XG z1bXX(A(XA25o+ya!$}R#FB&?d2nXDuxbB37d;y3EM)lakpSH7@jL`hSSp2SYJ>zcW zNCcAsP?a zZz%%uq7v*O=-raPRejp;nG3?e47e#xh<-N0Dp@685G2l8$!gvT3^pcNw9# zUk1056Dd4uGifXm@H0!82}2Z%QPvu>AqYkI-VgXX5&`ujGIzq!U2tI@y0U|V>6l$z zz5S>Yy|=5bR$Vf>NxYzrwje5Q8R%ntcG*n%Dj3R3C)g^0Offrl5~tU%w{Z7SlSKBq zpIAGa%^(2@ilKm&Vv{se0w*kn!#LNk-ioSAtSD(JIwzl*+G4wpxqx=hazf|F-?-E7 zr)Fo#fNnb=ck=q@ZaH>E_0ga8x@Oqf>Y zH(aw#>y)*GCb>PjXJGXMiufKVVxKUPX%1{;Wie%>p_i$d@5@fk`sJuy$*aNY9@}+l$idI$%5Td#)apm*VP0SE zO6f0V|pkD4=Mzy3(aSz2iLE{nM#5+_NQ3Kzt`rRgLYjhezZ^`Ud{BM zGgVvqxR=;8#Mq7PDWxVVxIz};yX(=j&mA8ufAr)Y#Dji)#l4M3{H5h3y^9oBzx64c z;5K|tt+ym_P8INJ zxAG%6i5Ciy(a6QFF0(LGeL4Q7EWf#4o{{qvW`o5BHH_Oq?MF9T_e);wWsAN~i#dbM zl42a>LMEL289$anmQg7EAo5Urv37hd$M*AFbO=(K$A*bQ;U z!;F%%x8_5o(f^CPcYM!#&%3|drb%Plw(Z7j%*M8DHMX5Jwr$(C(b!Id`%HKD%$}L+ zxQ^fK8xQUW`3v$r-&(J=K8SQvth{rGVKR)9lJ6%I@}?eoj8l#2SV;K|iT9?z!*cLE zxqo8&g2(d%M!xEsSag0+R<_W)FqJSfsgbC|ntX_wDLUp)# zAqvHEtR-XDz4Kgqrw{Iudeeq*PYluX<}b9w+qmUF%Y@br_=GP3BNzXFCojku8=6}h z>-~qo5GSYlCNR9@t)6tr8Vd@xXh*54QZDtxcXZypZZJ3SW=X3ua*E?Xf=}cXDVVXX>P+h)$!YOom zcKJ|~fx`*f+|4TgRDWat1uA24&v3ltF*91yD@j3G!uVV&#gv;WE1dHxK@Ond@WE23 z(;=dgsdsL^+K4Yhp92T=1P!@B(+Uz$?x~@WLKWo2! zTV8QF6diY3sgclRudAdkwij0HgTA+*FQBqu5~Yl%wm@bO1gVqo3^pMU(G4`4;?rDU z79`NZn@lenrjT9W{)U|811Ygo>USdKZGtECb+c`MA2fm1B>A!c=&@GACeu}?O|u4Rq4ulvE8HJyNWpd{ z%>-TS4Cb2dJ7#9vqcC%aAqO*fy0;u=8;*JD3H!k90Dulds;bI?OFyq*Ou zjZ4TmttoSVhbeDC)p+R1l$X#{>BGN!LQq^<`8k?DE|08m{RB_P;LlBY6Jd81(ldvxcg%_8YwT_Zsj|8?w53jNXj-zhZ zuh%()3ws$M%%EpvAkdN9%TS{rs{p(gxghvkW`Wx~oG!z6`NEfcd_(^Cy!DprZSD!v z`L5SLzqfOLp!MP);|$0|l+c2hA_%bx8Y_pZ=O35GoHOf*)8H1AFeSJGyM8kmpmV)(qPOmdSg7k zJ}_9t$Woem5GR(7u_H#m(h?g}X2%V7j9af^Jvwo_vXXP%XpvIwZOjo4$>r$_Y%ZFg z^}*n>wM0&SaXxu>S(Uz~-Uw&p8XK=adKik5wx;iB5tTizeyB}-ZzBqqB*H2nX>$nZ4wF)FC>sG;sQb5Q3WY8Y)#V!W(*p*$TZBWGU82 zxH$YPkZmH16?FL_DXKD0ez+izxH9uO^%}!DH#?M@7m|1Jc#p964|n2`vbEYTAC&LU z?oX!a+S~c&PNL;Der)o-Hr|N(Lwwpx7r8BjCthK$p*S&Ns2N2;VyMWm~)yd}>Qlz>>j09fRZZbT2E@n;# z%6gd$>u&G_Qz??l@p;HFR=>{12AwP#Q)EF4+ziaVL@D`B^63i)_sT7eL+^$I%G~~MZcvn~}xAgY(@xU^$tEwr=L7Zx*V3jFvC*77B_B{cME0z!)I<}Q_f)hnU=%K zrYxtuBkt8n@b7IdnFN&bwFQPvjuXmmEe$l#i1`Ev-X)BFeEc)kG{PY8U@CHI#kYW) zd@z2l`+W*`3E4Y(rg#2Z##DLI`+>!3el@ouKf$w&CD?ko71IT4XXGhKTMbaBwi9AX zMISwa!U4qg@kCr`ITRwqcjDgG_LqHeQyA@Ie(U!Vv3E}RnlaSt72hnK!`Cm)ChkzX zVG{e@SMclv!*MowXEq6oH3_x8UPl34arVzIWa3NNpNSMXrByyK@xfw+<7bCqK7wta z31J2*TScX#w^B2)Ty{8UW0!TO?vFh|0FUADuz9l_k&+CE#^rjq$iI9e^ke7r-g8D% ziG0HNXB~U%^8_V|)4G5$6$t9TKC1|8+uPb2YyVaSN&!Al%vq$DK8|XJq_i8&ZKL{J z*e$Jc79!Jr!VOkJ-;%VZ${4$}1|G4P!P641#Z@#0h9g$0&*q}47qT~%Sw)Bnaa{=J zaH1>7yf}|NK(f6+BA`K+aQ8fcPqBzTzk!XsjjDO_mh_C zpJ;v0Qtm&5CpUm;&dSizh3OLOu(o+`q4Bm654c~rTk^d09KYOi9jJchjBn@C-+G@4 zi`+&%@Qt|5I|gheR8FUp*&1DtSL^~sWf?10Vnj!BKpo4_PTo%5e#XuTd?edJYd)3K zDg?X)Y~0odNPz<~P1;+<)~txs8Q8omv6-U_3zPG60a@UgH5bd0IC0GQ-Y0_ws}34A zaCTz#aW=K`GzTBu+XHf<)fkV-vatnkiXRf0=%ZlS93;FQi4P1%X! z(ZsprF@8nR9Aq@TgXY>freJQ#Twi5q$7bTIPc7M~!Ic_a`66S06)0xWc>EFCU5uut z*)8vYv;ZaBWh1m~Pw%L*yF%e!;#_ruWC%~z>b&o3`4vTVhh!k+XiQ;sPfgZY>@d5V ze?K*H8tn=@E9*e7ps4@H%w)Ec`EOYar@<~_)F}N9aMlnU70Y~|3!2a5I@yP7V>ph5 zr?=n*W^IL^Cy;1W{c?5Jy7)nT8z=a1T&T?8^onuoGnIt(GQ+hqBjNO<`+fYX0URwt zGi7RbMYyHPJu-IPIVkq*MWUZ&NZ5MixjLuCCTCl|);)WfkIz^fIET$+sGOb$_;)TY z3jK7=ui8vBD6KxO^UN+cbFXb|;I|t6aP?)UGLGd0NzNKVG=wa>{%RCswX)6%HJ2Xh z4*2S~K?EgT*bc#irbt45ZgDk}OG1JH2S4R$Zw5+#^qtTqZ^crPx{+#W*qDCzV3Y4R z_IlP8-zmqMAt}!{Er~m~uZ^s&pmU%zjGA{j_Gg3y?khnUWn5xUacje4g|8?TfB#ed z^>uturcR3`R+}O3E+Qf=HJPig67wt?$QkWH^kBUG^h| z#V&^j!qT~5+ZK6~pzdb%DwRtJrlo1PyA5MTAU6N=`!Q;sZ)4U{x8O^%DnBDUgU8nK z9X!QUeO!Q-AQoT50}Ve>^Nu^@FuuZv9t)Wba6@F{4-yf2^gf#pL|bIqYthIY^MAO* z^#c-!%XbSs+D7f=HOm%?N52lD*>re7(T(WI6Oqh_5Vhc7gJQcRpVxuE(?YmolraTZ z=CFV;w5c*%x9(unc>BRoW3r`>d*}}Asu`DOZI+1C$)cC3(=<*@0_7W)M1}dp$Lk!` zc=u|dv3W2_a)636=j<}hA5bllQS-yC)>g+852^{RJ%Wfx+l{`446l;p=1NT2I6|1P zoJL9`T_8_HS2zcxA_zKwskaN&`)F$DnmQnnR~sKm8lRQrjRmT0GR*fl2Trl}>*bx9 zX%gis#-BG1)xv73AdM2rEm24i>w_;7l7LIbyLK} z+r*V;2F^+DXc5!Yb2)K-LkO-PWqMMVB#9zKM*dqn($<8NF*6?FR62QaF3~0jpL}xL zJlTaMYiif)sHSXtemrdEJ6y@s2!uM2fi#hD3?vU;@ci*(_NppK^B15rfNj zQkhw&RBj^tYv(d@^uhg`9ut5dKu7x<%J@^ET6RPI?J>zTkDg*D<9hR$!1^Ncm>8d8 z7{-|GF2uElZ&0yb!FK?If5P?(;0whH;E_hEKkRH?TTEJiax^^t-rn{KuzUJLL$TPe z@bUKJTa0fpp6)AmRrw=92|^J;>H8n^ABfxp;wexvp-oAx)@dc0iU_xWKT>VBZc?RC zHu{@dHxF{5mFeoL+~kZ`Oj@;;4c;}*BINDf{w&*0aW8YZ`*LdaGmXZ*8i6%Fx=fdO z#iF*VHxkW?0~D=SrLeDKZHm8o4LKdtis(~~W4p4L*P1=4mmQf*L=3D(d62u5vYr_O zrP-(OX!pt3Hp0yatbPSfJHm^HK5QJT=^v8wnEkMu?sUATb;owTByZOhTG{sOmJV5O zlDgDsO(zMSBwm){M67MJZptkmb>p5a7cU- zvNkvu`#Lw50aUroR6c(vo&m#LMgmOaqd#MJKG@unCLh4uO}3>T?vAWutn?zH+dWdO z8JW~$j*WjpUM478Cj7$U@fVTm?JyhR)+iPa~uQUnYOk+zo*o{yY8Bs2ru<9 zo321z=HGDut&-yhX;y*l^a@@@ztxiFhov!D2r2P*U!W0@q{KAxII_IQ!DBDLFW-s` z?j{c}K#k78q8;i>+>JAr^WolSRdhBSERZh=_T?Fj!_^-MU4l<$Sq?ujkD7?x&&z6= z#;PQ&(Kqj3(!|238wv>9geN-rI?pJ^FSLk!)g*l@WR71p+_bARgvv4^L!sZKt6L@~ z8iuyE{}{W8n#)4&K%`K>o@dxBNq&TEUasjAJ)q|+sNY4Z0IY~VEs>uyeeE%CJdKXh z3|1DVtnb=&ehg-@l(?_qRZ0Mjv|nHdHB&m39$(ov951>V=&Rgz=yaRNq^D$-uGhTX zkS@d0!00-aNGnU!O_qnwE?|_`-xgs>g1pfas7|V^A7bF9#V3KY9jR27tWj%rL$gB* z(W$+VC}tcfQ|r+t?#neMV&reE5+`OTB^5!t6QjX9XMGZ> zN|iF_MMW-nHQlBtpeRg|K6~*|5v)p07!r#eTR0#%!LB7Vn;m{Xe&UYDvh?6mWVcA8 zEYdKqBq>_P`b)oc3x0>D!bNiUe5Fb+7#4`XeIn|lc4kI)pbQunjA|o1GSd(Ni`x`E z+0bVwVH1xNV>w~Y=APl|Dce2A!*8#) zoWyryf^S5&0=#m=QtdvSu zuvl|m6+EJ(|G270eNVZ$je@_px+jdX`pqOMK?{~UPnUHaws zu6GCQjJjNkk<+Hjpl#9FUdjpqtii-S@5~298Ht+9cqJV)zfF0W1bk^qx(4>G04`lP zpFNE9K}Z+lCUG;zUk{oUfHSC@MymY064xSzpp^NAw~13XXHjY7zC+x7y_=y! zyT^Tl`jWmM*Yh~o7oh`#6`@JR27HtyL#)9D#>7GKV-35>l(2@}`c-Iqm!g{ETy{;; z_L9?9D@2r0*oK1tHAit%I8TD*F zW$ugGCeiRgi8dXX5@I*QtJoXK%p3RXz8%#|k_nxvmXGGnxl%!-i0V9q#1Pb3qy()G z48e8>>+RH=TB=Zk5)?8-rFFA#)0sx3tN3?*1lpP`qODf)VReZQ1?XU|hS@`fa>io> zo7I!Bi}4KFA70vsi8cFm!$P4d_r1rzMkQ2+CLQ-C?DsS6&<={VdLuLp_8+RoUSO^5 zI3a)DzRM<}r~3*z*w$YGOFzf|Ge{Ygih+p< zaIDkf#0%bQTRKZtAmTMEQWA}9s3ixx1RpDnen*qjvEWmn+5XhrH{1l7324URKpz3X zz&p@)Z{-=mOEp6Ppqu>-n~$vVpBQJH%&-^`z~*ycdaS&xQriY=C#QJiIb7x%<%z4?54QYvvl@u_WaNcK{PCDuM`tiP+NJjD+HMhQ{2k#?*& z*7D1=B8+3~hg>u$9*^XhWC8GRBypbczCfRw;J8zk8;}x+R1Pu7pVij7vm)7?<$*Z|d=}wP@+0*Gvc;>|~ z51=|+ikyjYbs(`W#8(%GrGyt;{-oOsR(`Df5z;-!^v?9DBm7=IaEp#yb`NtW0h#l_9cheV_-ne70Szgr`tIUqvn61 zZ@NPp!YX_^VmyAhNZSYQk>`ja@hJ<;EzH-`fYIxkI2N$}4!{zj{(&XJr~t6U(0^cw z-%T@+jB8J33B$9mWf*_UXrA|T@H*LT0PujydRLLuwH0u5` z0}>}Q_=t=QwhOAnusii{YLLLo%pD0}u9^8i4h#DSnD|=_`aNwcE(0bT%opZ*36>O) z;=)oEYQB`5s2Vl$T@6q_9*9J~IG-+uYS9GZX8Y>G-AOb9Cu<=?H$E&J_K|B|ENy>r z-jZ#1Jt0lE^LDuQY6%sdB;ORTUl--M(b43c-L~&hB6l(Yzqn1Qy?uD8IUJ)w6SG>Re9i>EinjY z5_gnX9)e8C4K_!15CJ8w`noAch8oV6+xPzj-1TENS*aR=HBpr)u}HFkhsYF$ zTdeZ?a-Xl1=;6HM=`>j^_!tgp$)|Iey8U8Xs$kF$66b>#Nn5%XNqRC;F~#dOM&O5a zGL%!tVyySqsqmAQU#8=1v{YD#TT_Qv2P^ZAgle1GnwwKN^IG$S8B$3R!3WBFuv$xD!2)0Xt zZ71|X3nyfxwY`p+xf;=lN>rkIDl4!2$5MB{bLxvXjZlwDdqBmBE!1=FcdNcq*@HEw zb9UXptbsZDy<2LjBs1VFXC5Su9b%ve4@- z`B9S9Fm*J)V5FPWU$t&s13@XAVH7_s@FjKZhs_!hWz1oY`feEkBX=nWxak90NN0e; zQ{ck{J~T_aGu4*c6%{|cVfqOKrnz7wmx|nIrRur5?tB2sBDq`00j$dfyz5~XeM_j) zJu+b2~)_gMCa&o$uClVdaX zQ*GfJm^tM*-du;BbuJHq)X`yC(*(tV#Wm0@zO;9d9$8e8q`mBGDg4UyH^T1?v4h*D zi^T|B)^)DmM;J#V^NBOSekSQ?ElV*1Pi>}vsmuob6c7V=eOid~1ch#A+WXq=3UlVG zTYP#ug(Xa%j_B$sM9@Z$kF4gxI-na~KS2_w{KP-$Y=9r`k6Sb1d?bUe6^uq;6m-3A z6X8T}@S&yyN8A$QQ~^zICKT%A8~3eHS4lifBHcBFvw(R_xkAalGdx?jfT;H)e(XAE z=+e-`_mqh;IP*-r{eA!kdF`h3NSq};i*ZAL4ovVAt@04O)G~Ce#*fmr`F*K=!Qc5M z#=Zag#cTT>j^G~5@PdK(9Ad4vydiY`oXuS6oI~cN!@jKb+h^m4;bFTdLG)hjoIq3} zzW2s1q335~y{0u}*Ozq6`21*=-JkYCd4Id%&brB*htb-O20qacJ6d z67!X|rlKggx+^5ILdihFiU;Da@G3k7w8+8~;Dxp|p?584DDk6ma5CLjOfNS=j5|O6 zIKxA_piF-GOM85qS}@m3^xmeHzY$!ZU}p83_K^m7lX+oFHftNQetDBofMG&~XoR)} zyTEQTtZ?R#{71$jSHEUy>T?=%zL_m69f|1Z==!>^v-67BSI=7)(!>Yl$PF4)x9JtU?mRE*sgZ&&HBwxGBFiVKRN^BW&c3lLBKOD6>&;^cQb{2fi3 zk`iKS1O`ib7du649Hcq~1mN^VzD0fzp&I>7N9&bmU!rgVIDH62?E81zfP53IU->35 zYd2$KY_oP^WTj zV(_k3%pv@f{Ox*r+-@HrbgC( zEp8VzTi66FpSc~Rq;*ur+F{w+wzqdiV!fT7#A04fFR+9M3ff3y5Y zya|CQw5Zd**IT@a?sWZXN40>uzh7!rk$iW|KjKZ8Rv4uHj5pxH(G~f((fMzjW(^Xt z(k@cw(kn53NraUuW@1VQ4q6odC>%Q)_xd@6k(c+JcrefL- zwDLQdG&=7}Dqd_7p0FJF!ryEWn$NJOFAGg0W9 zBJpVG53^m01;aNA8Q8^G;UWw%wX}R53_>@d$Ly$5i7(gLfD38~oQ7 z&W~FV9OAO6es(;<@_HKjyuDX{_HM4iqN_s!p(~xs17pxYKcU!F$tjFU-0^FsA9An2TG#p#GsG)sV zqgEVTx#lmNrS``_P{Q}yZsNw5y>(4@+1-YfBn@NmmQhx5^UsGP;S%FobApaniFR3gSd0y6E{m2{f zrAy>lfNP4snQLm}#B}C`%GY57*XHEwyf;-BsyZWyy8L+T zfciK&%hOjm-U_4iNoGEd|KP@L9^?AwH(H0E^ap8<`lR2+btrzgZ`aP7(m1Ah*w zhHxQ$q(>9D5}r5%-EXEB88nqwsaKhe_gdKFFNUdR^zNdfE`hn_@=Sam-98hxQ+L@d z&@ob66$-Y9141s!Q23Z}=BN)c8ACVUe`i_LhEuLTd4n4^57X^KrZZp|QLTkxqDuTy z!1ftGN&}CT#K@gdgkW4#X3oFMs5jLPMia056toTqnqOil?TU~bAbs)8SiHN?H%@n z7NSZW7!{)ODT)&ZdxY|fs;{uDeGmncmqriNw!2f{D((mGwv^a`zg(K{bV7Z(FvlU@ zaK_Ak24P6lS5$lg>ttL?%3XR79>P>wDL0LwQM%9&vNf(t8-jcv3rqir(@#f{@xw?9 zf|X4)T53Bk#X`2$!OBQqC zW!sYG35R6;{Fa94RC*5<4#EDleWS4%Az{ZMjP}qJwT(b8-;d2^P7#&vb$4uq?Hfe* z@b+%K;^+3%8_Wy~J<2?;lo?#`TAN%Wba`-l@EW;>w09qJIY{BIC?k5b=g>yB?Om8J zq_!Aa>Az}d&EQRc?w1}Y+cJVw?HLtfuYdX!zWQyA&Fezzq3r@;=uXRFA1mW}W1rD5 z=$+ee(b>Q?m+(E1>pk5(y=x%j9DM=>Y=kw<4`n0=|0n+BjR;qCgul9W-)2pHPuBIn z>BZyMvH4R~`cvsl`A;t%JmdenUOfNhC`bm0-2o-ucB)pEEc2M$2|Ft7df)smd$W=K z^h-1oiTUMC9Vun5L8|(7N38F6ey63@o1j0_%H7tWFvTh6H!;km${F+kYXhG^qedY^ zMg8@JnL|!K2w(C06E0FE_{e%JaNMsd%v%hgmUFx5BvkYcs6Uv2gp1qE$TXu)N&dg{ z;(bXGZXYO^xtWAkuv2#O&yUG`^?zCCf(!}Z`%r4O2HWN#DsG}d(WK^M2f4ZYF{3PH z{!|YQCw$sFMmDwpi^Mql)Y$>weBc~^k|jMSTZS+E#hENMOA`w)YjPy@ah9^a&6+oW zS<^*ylksiV>_S7o`UIWWNjVB>C=>V%C)$yHMRiH|a9jDD4^fS9nUvLyBj9Q>>3Z|6 zpWv9%7XK9SQ(4^2|JiKu9OR!m!P`5LSHK@)MiXN|yo`E{hZmAF}EVO}Ai0i(Xr7URE zQtRQ)67jb!qSGRlb$?38T#E5_jk)J%X+q(Tpuf@B2erh-FWeTa%IE_e>`wduX;~zj zq3Wl;Z8#uwcYf%O4WPa(A^IaYFWkWQLk#?gWc&*5cBna!K^87j!QP7ERE)Ds25 zm*ZRnf*zLY~S5IeMe`33=`M3x#n950@$>|L2IyfY*7e?v)F2u}v%}bvT zx5a13$1J8Go-th2a)9eqi-q3do6ylnYN-rTZHa|eoOHSsmu{K+UsPx^z`th&lceNt zmJ509|6u@~VXFBE8fz} zuh!jP18Dv0Sm^WB{2k7_q6WjR4k!c`8AiGY)#=18pP*%B#tOX*y$rLAu1HtHxS0sF zKX%iRU%RP1AbZmi%rd0jMQ@NrE#NNskKNP`u$#{MADt|?MR2HVa{#QnvEPC4 z59=Wz1o_*#3vee-gTzyn;972k`zb6SQ)g&xSQwSiF9?^gbRUxrTdFj7 zWu};6KI3Q0&I@tKPik+XrAzw1U_5%>(NbcAgVh`_+MgaN)j&1dWTo8P0H^?$an zh~y^!_;=oyX|hX%RO)=c!eD=aIz|9cXBuFK>eUcFM^1GH+xX!3%MI06_O=kI-fX-r zM3%1{47cN&>z?llHp0Px=D(;3clLa+7|}uxA+~t426<m zsg*jt#8L|3HpoY+gI45H?5{TV^T@4v=kg8VVQ8xg0J-keWm)YQyqTi$}VOf2~r)1Ns-{TmPDS>tBky zWhCbGb!b0We)TVMK>rf{-M`%2g&{wlff=Sm=meg(C2kzo9oprP1if)O^6L{CT1Oo* z82|8+hld$3uXI%FOZdg5LJwCV=K+3mXh0Omict(!!(HeNezpS`4Or+DkWY~}28kH@ z4+^HjOL|M3Pl7_ZW#JA5S>0U>oavBnn9ixTGCM51(d;(U<`D|ON`8|)OeE3|+a~z# zunG7?GX7$d6pNKiFlfm-n)xt2zkkaAZ5`ScWk(18GWnUt58=8Ph+a#ZWZGylczVQW zEWX{xJud-Ka*7oR4T4oLyY|fM>&WDY6?!A(jZmj^RhUnAJp(I7 znkWu5a6n>nB}jEkz%`2=DtB0=;w!vPU&$5R8Q(Djj(GFEF#7Um=Us@Z?S>nm9QCeU zk)gPO*TcWuO5XHFNxh38`oDK8`SoC&mD%sqsJC0mTMwgfOvMM?Qqs**^zp;sFJVL$ zDUgPMdbTO6Xs8!Iy$yUK*VWhAggF;R+Z(H{q(|nkY+FlNe7JXW{bc2n1}?S$T7jlT z(ZS6BpoX?fjVe}p8`;@ha~GY-EiI&xKPl4ZsFOoBjkzGbpBbotj3PQNA>U=iUU88a zk_1W;9l#u1BI-oAlGE)6=Mq)m`#Fc$ZV25Y&LrQ!#ky}}+)q-p&+^9Q1RKaTD`C?o z)5dg~HP$_Dv=D%e=Ic-woy!>PKk1V46Uc3-B+|8`N$Bst5Y8xE9q&orLI`4N1yPHV zWK>hbO^N9N1+(H2T)!D5FE8mAZPHhI!50r5fykAK^bqI4Z4y4Z^PN>Z-#>*kC)nN@ zQ_ezI{3y*#pXXv67>-vNPa389ryl>7F>%sVh5mO>C4h{H|G%6{9G=IB`Riz!06~BX z!wMj`{@BT*@z?U2Mzi^?KXYw9T$k~`&k-M1N%cK9P{4MYA_k;HJ8)Rl91i+lB7v>j zU@C=7MD?H?{>-9rQet&=L*(~$%>CG?TC^IUPUzA@&?WsGe)~c7Q~Jsm8-GH~Cfw2U z;~t|Q;TTSJC508S2J#7U=hT#miS%z9wlk0;Rf(5sL!giM>_kIfh097X!$|1qgMzK* zl3o1CHjcjh@u5+G2|FcM_x9jKJOAqmj=vuPp0}d9211($uegaW9V^!NRC|$iq7O`K zsSYGZPOqOOSP#PC?RNlYR30g*90asIYZ#MkU4XTG76Q|EE@_xllQCfK3+q1 z4olF>V>7FZvW%T5HU2$4B8YgGUdi$}p$UN*_%K^Ump+p{sO}R2U%p(6hJhs)tS7CS zGxbSBnU5vCKJEQ1-+LWjWN2@<2j@X=1Wm4B{(!WqEqlaA(H-J(bf!`ySb@!zi4^l` zC8qiI1zp7%sHJ^k$aUCvrJc)%V?s4VyaLZBY=JPJW4BK|dWd{qZlYYP+ULD@a@$Qx z)w3z{9Yi3tcN0^%x}E(p)`YNl9#4-0xb9=YjaL$ZRtnEP@^IbC^2et^#o$kKtZZF} zu2jn_%IFx35YLYrq-<9%So}Cx6A#^b17-K>*hK%oA^sgrR)?kn%Y8=rrfr-m7P4NRHesB|zj0r?=n|6) z6M39reeV!B0RjXM5<11ubP*vHDuB~-62D(*C*G1n4x16v)+kVuX1+(xVYSybESbQR z1j=@0xY&nE?T#(iN83SlN=ID2WXiH-SrB_n=&>#rygXjcq(;NgksXbUUCmwbGN$CixsX#3>aT#;)~qELOCIZz zE@PFC*-^r`&R-9{L+Cq6j@sd^E0>wlh^<~>V=x!9P@m0~(d){2CnWZ3m6OYVK1Bp; zAZTno(pd#o?wJ?#gBf+Ba%(_DhlhRgp#Z+p(~W|T?&sci16E?Ok{S@sAN9oCQh;fm zaCLP{okv*ZZ{?{8?b4y#R5EF(%F0X;2@0#h3Me;!p}RM%?b+CKL-{a(AIdEyXN#sj zNl12pVhN$<7au%ELYjHLym-t06d=9q+cEoKELmTl&Qkz3G%ajpY--AlFykWu3S-*o zhF}5(y{C_VsFIdo=w@U9*@4WcMR8)54YOPssuXyg8|Hva$DqU@2S3ZUtw0j3af?1N z^!jld_VRJFK9y;6mte}_LnVt0&G}GhYh*pcQ$mS?ZfoCkON~$C-0-%7h)g*9a|E4g zLZp2grfnh}!`9<13+(tEVa&r9FFk&(J<(i-*wn$U_nrY+MOhG`VqYS%VSBN zo{o2T1Nt53D`UKIpg#I+10#miOyPyHA^@?TR>noK`Dk-c@|4G=T*j|38*Wg`cFuW< zmlBIUE+I;umcX#t{k4=A!l}3>%9zx)RfZRS`vk<+n4p+Rv0?{3sn311UF!7$Q++i` zar;!ht!S7=!I(~B&`@VYK2;A$cN#s$nJSefF@W`ILW8@@0b5%L%+7bV0_BIBn6G0F z*~ook!Z_*AE?>{-bkJ7szD0PKQHnV0x~pf(R{W6s9-GC{ek*v2iU6uR+}kZYOoB5+ z>`vn^n*^M})e8~h7l>_Lys6!IZUNo*VB;Gon4Qj;`c&K`d`=oO+A4(SKFWb8f)E<; z^P5PM-;{daX`m2cBK#a!jzHKFZ6OQaGQapB8SH4KoZ8pC1t}R)?Ih*qeb>w8hU*0@G-tn<)yL=5j{J9~$8Xw;*ML$P=vd>WUlzBQIW>E-?dBM3Q07H~%D&dJ@rtjGt>J?|R}R6aZQeAbQEa7Esu+$Hk3I2qfIT5M=P1#> zUhcq>K@VgFnosD@ovEbWm*kV$;QNzRnt1q(JHXDQE;h48=sRDWbp{p^O6BjD)*(|x zflwI(#^L2Z8G{l z@-_ehxc(<^!`nA0_7$Iw^X~xdfL1LF8`gy@xjfzh=TEpl#$a{lp^Y{`Dkg*#F-(yiMDeMxxK)|g7 z$b*~vy~Epxbn$=6K}%0VO=&yBwu@#`YFMlDbUI)icvc@jc~y0zZXR96zw1c$L4Y-o0w(zmIvqlC0md} zk|CQ-_2I*9kcTX*gf2BbvbDd^(ZqX(#N4D!%1gTY_isCVE>I44s5c5eU`{8nx_5-$ z%TBa22gRIP31Lc%1IlT~?>@H7-E}c9}+}a&$CVGKtT%~YDs+B0&_+UwZ=mAMkWpqjRtyK z&xN?}>`+aRuA~!XLLi8I`jz{hsAbZlR4&pniwHTj-*D~)yc>t?(GKkWC`Z>foSUGO z$9l<~6_91h_dfhv7(8?3z{FEMF@NvarnfY|2NUW~z_SgHt|MX52+j2u9M#^CuI*Fs z1VC$Wm5mv(rx^K53xe@uQmWIMdIQtcdV8eXJ7^D2oe&GQD(NJuBAw<9dg9X{h-4pn zA(T_2A__T7O@EdTa6aRn_3VVt(){)mR)*J?8 zjhdJpRes-}r5+(`^NvoG-6EE`v=@KfpAT(URjV7e#yB(|6)U-8I_J87vDSj zz{-><9YP*caWSS~Z4SPlx8ZSx8H)S3V=nlfP&`D)4P z=wMBHXcpkgJL&yFjbk;uY0{703vlJJbuMBpo`6fi{((P;|H2Bn=7wz z7f>nC=}UIxmE&h=k(?6~nJZHJ!NEaJcPhatA|Oc78!*sKA?M(ZMrk>QE{|@@Dh`PM zRjwlWt6W8eRovFKuAgWZ4V z7$>}n=zb!h@#J;Dtak{kp=dxCZA5<1e1-bw_xL7Pp@OquUI6L@5&(bT`tR@uIXitT zq2EuF{qbF<$$ynXkU@O0sP{flW=0VJ93iHVg^<06@O^y>wdu6!0%6u9Y3wS}I+MsU zKMRJ@UGxg;`gn`Tt}$K+qm5%BJLAFQoU*NR-BGS{*`7W`PA+;^W$@ z35pz2Bf$~M6Gla6H6tfX5crjCy>~&nCfiq{?U3%aEz@qIHUurvH?rh#p598=3Jgt- zKL}$Wy{H{g$usrCW7OX}$g!BK>2Yg}MHqu0M;e@BHN|LY=)#gajR?al*J^@1_`19} z@qo+%&c|{rJ6NaI+SAI{K1QWc(vVkNoT@Mpv}M(r%{ zcVRR#68Ppr2es`qLVNuk%CI0IZ8BtKX#&M2rRy9O!8ly19i~QRklbLuQ|rc#AHjBn0gKLp zYMh__hbdgc=lv>=Ytfwe>`h1V5FZYq%>kzAI6)4sG*qMWgCwRQ|LG&sSS}JQTvr6@ zm^Qv@LOtxG3Shjt_9)F z^oE>Nq)9!K2;k1nz2VYn>s=Qjf`m7Nc4s5<{KQ0-KdL)G6b*C;n{mTNY{vEz}`i0|udK+4_f z2p|@T4MEXC&MV1%WR!^wVSp4JkRcFqkRr&&fFYSjIQ}LzV>-R`Cagi)Y58zBr0eCW zWn}XdO20f)ux6q^(6&1O+O}lZs!o0DHyg8J^V1!GwrTFK0gfgW>yJZws~wd!Hdt*` zsZjpMJPW)7(!VM@lsllZ9~62|nDDsX4aa@#;edWG5*HuF`f)PFzVS>nR? z8r2~s!k>VpM8!9puytVt0jSgb&mj<@=d{2==^sPjAECe)qJIv7-vL7)ptKWV{4oR~ zrwjZw6nLiNs=+Jk*SS`jL!%bWK-lo9sg;CkNcZaAI28OX6qqYO-_VIZ>DqF?y%i7& zOemTWH;U0UPh%{KA{5YgF-RA%!r_}A|3)GpoxSEi6Q@aMX{6?asq8HVUE=}_*C?E# z9NE5@t&U`0CK*2Ib#!s((MkO=1wQ|C3XHe%?|aJp<4wP>h&ty$my!Xl;-5s^QU5RQ z-YTjNEn6B64#C~s-QC^YosGM@B@o;_Sa7%C?izx-ySoOLf9IUjw@>$dx!rHyKL&d+ z29JxmYt2=&W)&Et*e1!6#OCD%-nb<5(J~TO!Ea$(In-amwuPU++1eB1eh=!qw8%pJ zH~MIN34^z&Q?9iqV5Z-uHQAod?x)wkbsE3lB(lmAJ_0~w|8KOGz)s`;Cj$go*y6h3 zxU)!mBo>)D=j4En+)(p6a{f6?onKZL{-v28I!=^698K3^P!hLmCqre`4=)<0t|8!6 zde`RqiuX3*4b71NEdYX_IuBvj(Z>l0fz5_KweWe0byMMAqs6ZLj_&yYO3uVTEdW^g zc!A9Z&;o$ohK8;Xd(Mo!9Tt|N2#!u$OJcoSAC`6#gCWnzh@Gv9xq_f+8;&*K$A511 zE5|pp=Lbn_^fsR5+;jxliAztG+l$Fh&!K=VDXARwuM0un4JQ+pwcr$nC@t`(e_H@> z7OxHS0N*933a$BK_}tRC?32KEi5T!*B5*?{9}U!DZ^&-_wg7QDx!jMkamfjwerqj2}zN~q~$YC})B z5UMvNf~l@bDsFKq5Q>P#7uZ$EF1ND?A`U?;1ef6?=bd{I(aMG&pMR|(k8;Bm-5%WLwb}K2HwbO{Qp4(57IwLNWW ziPEivHFu@%BiWo(UOBAF{_*~T;u)W>Z|40%F=W6*T7>>t;TzNwgxwJ)yqxWXLcu<8 zq@Bzs{cM!Ao{Xo$1(C6yO_xe75N%<3FgY64P>Xn%hC!WK=tRRZ4oDw-2>|=ZCCS>s zo*Ld0`-9hRJf)N9mlIq&Qb43BZot?vD1(HD$_diqPrx z`Y%>ffG!mOsKGzOnpgDnR)v7kyDh~@9MZClg?#_CMOo(@rvOIp()!@{7+#JleqdDc z+yr}|>R)t&23L0~7w}x*pFjVpKTrNC zA9AbOM2~Hb`-gMCEYP`sghIA+3+UYc@ek+zd7yKD1-st&k$-jWU)lW2xgThY0%U4% z?L88SS&`h4Sdy&waKLj=Eg>0{_@dnLCnFMEPqoWf_(Z-_x1(&&?FJz8h2% z*58{cruxCbnMJ=hQ-1XHM+GF~X~c6nQijraB48>pRb${RV3$dj19_ptD8nZALUAu! zeEw+VTpM8U?m_h_oFYZy8|-VB2UZFKIZS=67m%qT{}-mFbPuDRS9>6Ir+%XVRc1C4 zXx)DTwC*SPZQUP8X=Q;HUwCi-aprau#HzYF)@t-mxrJIMP;QY;oms?;iyg@&YI5EU zQkROZwlIhg-p6(HMYK%>nT9A3~zAsp+5PnEaR00?Y%Ck;lYC4gl3ui-)ouw6k4RczIeZXaEy7y`MG#ky#rY2Bgl0wCH-cA z{PS!)b#pbfl!Q%!N2N)dOZn4SGk+XHvn(raYF(uBQ zJcz&6B4DD6+<(f4mY2l{h%(={uT}DwIee|0T9EazE(;09ic#MFzLW7tC>zxduNzC+ zBNcUignP)&sJWzZy$dqGIR6PpsgH-$sa-klneLECkvR!f-lN3zo$xk=?-hf>RtWBLM{ zDSdM>?7(f5XXn5=-r5!PETTUp7Ab#7EVLAzL&@-DfZHhkz-^Qf;5G`Isn&35HC;J? z=9-Dw&WJk}9Sv@E*aTgJ08@$0k&|s6tAcbM$lNCFEu85CX5=|y{o|EOPk?xESbYh^ zgFk|}eXuYPgTZxpG`>6o@u1Yp%e4jk2&=aVMo6C%$lS63O_IPU3#pWO6{aQDZcfFP z;@V9)+~qrxTL#X|&!;m#86rKA13Lz??NNFWcM`Q0JG0LKZ0Tt<*}K#7Go zF@nF;Z;6E!VQH*M53I6d{2vkvVAF0f9SSr_+V`*MsW>Nng~tw2G^qfts--dm@!%iS zZTujDg27whDVO~j(m$!&zgbRF0qfCeXtU_Q%zOs6NdM^B|DVo$_EK%>U=KM}x)l{w zE=#t7JH_{7Tfsjn&z-cEviJquj&hL)M#Oxrib?8lf>9u8s2Jj$HglIhf0`yX2?f~G zl5GUomI@&ot-0~jN0ExF*q(;vZu)K6-vB2H0!b)TM^Q;)x$_7nR@Q>9u7@KHWXR-O zxvo|rW2h!RsZ-+0VFUp3E35w&I94TYlQq49|Z+`#-ssF3YXY#QB zS2CY}za14F_`ynmOHo!pwU5|;#tQz!`SgFSLKUiSIIO4v$-(W#(vw2LM)bPqt8!Oq z+2bPm$;rwSOAacUmBSpBq+;C#`3^F7Gv2v7$nAx$ZZIY!IX+ND>=P|yMyVI&ZVO7; zV&a02c@J4Yqtkod4eoor=UBlDL2#wsh#0&Go*00RzQlcTUvE@M0s^`?d>v11>I~EO z9rX4xmq&JZSe&0Y2AE0{ZCSYVFa5;>9hmrjd zxK+<}R+_08+>eI~W<l zwVe(|5kFCmC(dhdjOjs#8PU$SLQPyaqk6CClmc_5Uf4z~@az&evk z_xz3{m=||EVR}!uu@3i3f@mYb5Bh~G5)k?xsTY31&2_oMdEEq00>W{KS4r&2wS@SY z{4H=c^Xt_gACEX++>LlOSDQZ!5inmaVaeOFL5;$ldeOEOq%ZS+Akysv=377rhP}7&vMm@I*ZkATd=6920HKZyKGi& z@2OEOk>g2n*HJ;3nb(3{p(dlnxTv9;grVX^SAi+?7Q7%S?x1ySj}gu=%5pPnpAxxM zl_VXTnH_>p56G1w3;JubCmXk#mfgoa=Ee%hpma<2zXTm-Z?g%=l8nuW)Eg9N@kX;s z-@@>Hsgs&{M$0Oc-}*_Em0!fd9VgDSm6x~y>sd2&!MJR!E&C8JseP27CS8>ootC}? z`R=dHIY+EYIZ_LtDVo|;>6^tZTBbS}#S2dRHPUwsR+-Kb{j1D)f4&^s#q)K@Uj-Fw z^8rHjA%g9^y4TPIZX<5AiE5jdZi`{P_g*@0<(8<@Kd%A!W01$QKH!;f2)(YLq7m+n z&8R$r;zBHKKzYqZnhgM?G~eJg;N{~9|FeeoX^m4C;`j3&|w`&4K0k|PGJS~C~s$3b?m8Pjmv&~zIjIfmafiy+Lp_@qZS)}AJ0%I zn;F-94FM;HJTB8wzs;%H{Hb%y11i!WKY{f?-e!DU+o0pT#lOlP(uLQh$Y!45Atsx5 z#y4g|_msU{jo_WO)A|9L&O zM6JkkGIyimkbG&mO?3G06gB7rWE9NF{cI7SJ_N&seqE2NYIPdCvn6aNr=9ZQ-JL_w z^jvV)R`NUo8`>^sp6csS-2p?x7Z5|UJrE7BtXUV}<9TZ#Q1hC&pKNf~3DUW zjyL292QgbMI<@WH*|(2u9vg~a3?Gpe0ef{_>6?D+V&mKcI$%s@CFeG zi3NWbqP5|F>UG7PoS+mzBoeN?(m64{j$WLVVR$nJWIWty(0b81h^5Vkg_>c7GqvQ7 zl*p-lMP^T6VMtUbC0Df?`BB2s;46Nto)-VaVw^Qa-!?HEWpVpMEM563X*m|FqgGO) zoJF0TtWwOfGGDyn7fZZK)=`Q@*J(dC zt4~@J^%jJBqhsi5i+IVJO`yu@)mKjfvG>zXS1pF;x@2hb?1)ctCWNBE! zh37_nFSFMSYt48q&BZV^N6ZpA5d0@O`I{JOiu|DXdw8=9Bq#qvqcvdqtJ~j1JgCe_ z{Nr{<6q8CaxvPDZ(y(hn!5`3xlZ%9uQ|Xpy zr8ZS}|6@CBPbQJL?zjP>&s3D=iUhAd=slw8sUXeTli`B1g>j5W!`xL763zoRYs2jU z!^5Z7siUV`HGp-qwQ1LJ;Q0a!o9mlWi;nkCF9vliI#$!rc0!ye=Sme5ql-gItEOPa zP`wf2vpL`pXObQ0L1IXSuk2I#0)AtZ0iBgdGtuYVa#2G%%5W+eghE+XK7N*ZsBmXL zM|aNlNe^-T^sMT9P{wpN45eku|4uHj z9@Bv>`2S7B^N(4)x~r9~3mN;L+(d)=n!>CQ+MD@`ik8MwPRR@PG06%9bz2E16(=1Q zba^;5^Of}>!fBkn?DDz9MavXzc27SRxr97gASU1E?^`}47BW4S#w6y_tTQ(Y7rrj$ z`?n|ejL#n;Qcs0&ovl)_&c%4EO0CGE`RGs~Q1dAUv7#tETx{S*VliKh*7h@2OJP>7 zPTV$N&v;_36FKgipV^Xf^^wTkO+cu@3Xk`Em!)V4k9$4pX6aXovg( z9!~q9u0MIim=AVJRChCZrbBBLz3vTcP-aBLw(UtB-M2 zdyTdi1C*Dh(JE^YKTST#Ir1i1V`6mJo#Ia&%UD`nW$(sm#2Z5y>u~3>3u%2Zof~$J zCt(~o6m7;^soJDz-RZ4u4ikD-{8tpNZrM+>09O4R5QYDns{hOHvO#U_&p7!N_guA7 zOX2Ra#gA(udenosaGYvzQsR|t4=${>P&}r*vhGdtQQ?|=pYQoTV;Yo%4{kyLv!1cC zh570y;CHDZCOA4D1dkIQkR^Q! zKHHz4LEw(W3xfnNu8EL#(;lJxyBsw|k067uPbWYd-Ik39%9xm>P2we_L{|j*%C|qA zwv+fSdsFe|VLaJU+CCf4^Az#HdBo7GmhCtANz(l&+59wnu#9oxcsyda*K9yEXRaP3 z{~eH*8WOC6!+$7G8a&K4zMYvRfmIZ{3LX*#S*u^gahCjxeoN_$klA2|?7n4fg_k)j^y4D?vGg}r+7CRtXaU$i%@)Zup8Wk#rbx_iV zsIr|Tck5>sapNCR-z-EF z-u%_0d2$B06W)fbh;t*v=Ia(ufS4tzN7?Ro#9FeS^~BV)5#>_+!5o24F&5Sw<=WCt z^eNNSzjk?#Vy01HQ3-60#6Q#WD?iWc_nKvfM+}mH=Nv%&vvz+!l{$JYd?0{4{v+@s^M4{u z#H`HC&795bU9AAdwq}3qPr3t~tpKiO|G@G;LHt|%*l%0iV8!L-(qG^0!Lz$tnZq`V zaD#J+)WCz!9cEm;N90&cS-?8eVF|lKY1Xypf`R-g%xdPvYT~ZV^A*e{Mm{(ti~?#V zb>>$z64k8bZg_F~ieA$fSNI0&6uH{~tBi)MBU`&1~QeIKVGlu2=>Y;}2(CM|A%hE@E^2I#7732~2#E~L$_ zQK{pj4y^JbwizJH!`$(ue~J6S`TlK>|2J`8%rxoH4?N@#z{3{#KOOep zk5?Yx>TKotuZQdw!*317j3m)@m5oO!Zja=c%!b@knbAEM*V`=BGA9OI8Kq%UKV93I z9*IX3$}-R4z83)4hbN4E6wH46;JYckDQqO1>VBF)5w=k4Njnl){cxNtAhz4*Xd*Xa*mZ4XV4>h9fzzw)m4HhiU~~~+C+{;krm!0MR(UP=n>+d z1^K&$*f0Z!!~%k;4-ibb{!eH0j}!T`g0`4!u)K*NvImn9O;1%~>X@ zwGBd|(R}2<2r9|3>mM36Pmo(0{drDtsCgw@k`wk(;As-GE8der!rMm*^o*{}g`2hO zMzAil?)BhV@q-ziMckknE=HB96FMwL)shsk!&YlBF3@C`h)c0PWh3f++MXohb4(egG3|1owMOMGLEvg)x_$- zxuclB4v-wz`Mo}Z5Xk^NrdPN|L8=l$UOKgsnm+qiD?GM+Dt}Om&L&Kk{RcimhNA75 z?P^++lE(`(Rt^6oMoo?PHH`_Sk8{S!LJp66>-In6k_XEs8hwJdu`a(&y04|YvK$6y z>1l#J`n)hYgm-RI5!y^3k`%5enytd5V|+x2pyK|~>%{bh9F`M5v!6P~=^E+Atgl(T zne|ayWZcr#FL&kqW-#T}xHo?)v!m;7vjb@rW&jCe+lcM%b*f+&Yf^cc3q1iMafK1V zkZ9|i%ZX6x%^1I_rBh2!q)50WQ<{r`SK8mgF-p_IOHDYCu$zJ24@#eyKfLrp&N~Se1Uk27!{sX_X$qtCBzhk@Q%0J{}c%zalZRThG*ta^ecT%&TlpJsY6!YJWOVL)o8&>Z&M&RvbkTTXC6G8#V%bF>g?YZmQ(M( zQT~2Fk^GleH|t-+G_|qc$*yl4jXM-hR#ZXPx^E&l#Y(7wGzBCGY?aG2-5@wHPRm>w zrnDCNwv?aSAew2 z9O>#KJUibuWVd);+YYAow0gf+&Ggfex0&<%5rf?AqU6B zG*2JRdd|AfeD)W-;J$Bq_qzA{P<~~@ThVMd2*%-y*=ELPDTz#wP%{)`yy~#T&&sMA zaRFe=7O?Fj^{hvW1rQQ;It=YBPJ|LBZNu;lml9qF6ApVuMEWepSX`R$W(|Pw(l|{b zFd__lj>pjOO>nk%m-c1)6?oov5xqT(V@7hmETs;6hCBE!#gscGIlRCS8pL1Gh+eg7 zk)&u(7+pO*VO3NP6Mq9JThQf(*5!ZkE|bKKLM_f?#h%;t)1etWpqNQt!jNSJ=SeJ$ zhqRN6w4cGv8=jgnC0S!CGizL%%ptFTsB)!Si&GdJ`lZ&I%ZZG8Aj0A;=IG5@Q!UD&Qi%G+QHcAEso zJtz~gMFuSCdL-=vg>v;R>CjKiJY^20EpC}n1bX-z;3Ay@+pMtn zO|)eQ=b$sgk^9Uhf}vO0IU;+Zs)ANvsV}@_%=sSyk^K@VIuscsx^GwS6&-52?p&Wtz|! zTs11}=n7+p5|&&)!(|n&G_(h&yaWr=T=xe{RQnuCuBA-LM$JctunQoO!yjG2$;(KX zh?)#*1&YvnMf;cZPt$wZZL-85S#u_Y@$idx53g$Rs3skw7^lf``h*` zsGm$0qSrVjgoUHtVB5#>ZGP;7hZ{fpAN7F-s{_>l;RM!rIU0Kw7lXDzC=L^*fs(sO+stMB1^Cio#}O4`!g7~VC-}T{fT!`xNr0sU7+wcU1Jmd`<35Z%4^f| z^Gh$|E@gECBr~Q8DhxoBKJ^^HL9ip86NUu^+QC(7ZZ?~i;7zdxM4l(yk|VLrxBhA# zqc)Q=uW7ru5^27-*&n!E0lpzzfom^a0J$Vjlt!y*_>Jy0D zvTB_x8AF^n;hR1pTb)7{R9ucWn=t`Oin<=3zi{+cmolO5FOb~aC?tJS*X3$1q(wUq zhYM=+h6LRL$y;e1h74)@p7b-4+vDk}Ilt|>!)z`ss zPUE6<^uW{Sy~_YJ60PP1SjvO4etl(56`oHXW~i z$^`r>0%TfK$mDszq3&^0RP~M3$I8(yLs4RY(J7hnMo%vgJt|c3fCcwR#f1m*;Kr3($z$GfcpHgbRVM=9j4UQ}p)gRINb!LfF2(U)|TapOYZLu}L8;_?LF zW8?M2lC_kOTcBx*+$~WsOg@97Ipwmla@ED*FB7fgdI04cEa$Mvf5tklh|V(68vcra zhb&7rq@_ca@_QY@4_a0|yuiTp&|o2IrBBmr&Z}mi-rLrEL|aWIP;Zs0sw@a)&Y{%3 zEu?5O=2o|SK=fL^2la?igZwHt?w(}E<09H@I^xcePqzOW89fe3!jgc6G@CWD+M<+5zfOD+X~png?WH#c7};w78F zAc$|omj^I}Ek#d+Pd&)K;h0w*?LnV*%tklSHG&qzYVi6=5=y3MnP3WvQs0;wC0ovFF{b2$y}C7qANl20`xgIf@XwUNb=w0BvL`xqy_4R zJ8xnPmiR8H1laWo4(~LmP3xQPVN9Ro1#*DU*SjZb802YetC5fhO^V`pPgxk3esv#d zw?R@-vzp3_NT4op7(YVI-V<)33you0wI?Zn^GJoJ7VUD3q@^cTKrRDk@pdXMb^MH$ zvPOE}(XVun*KO|$EUuIx$tOg_(hS>GEg zInxD4cC}EgI8lq|tbC8XwPODJ>=QnN-k!&GZts={^5`mo$B{CgCi+G|A623AS7_}} zwSg`zx2JNo&}^e)!=h!i1qAh&C;f&pn|?|rakV5^hI`&)^R2xKReXx1)vN>PZG{G7 zC{9+Q4$6C7wZgWIGM?5AGXLbwuLoC{s9hrZDHDdq=Nl)0A#?kKW-=w7=2>aF?D0Y) zL}Azp0*%Ix$)`GMb&#{Qb6NvcLp+U;m8TN*bs0#;{z2NPBo)|xr{=eHzob-_3bkR~ zYc*Df0vE@YYhv9tts0RfwZa5SIkwnN`pHguLr*z;d!8;O-J#xoK3#D(qO;n9B`)Sj zy~8A-_TTT=%Ul|R-kUsdD650Fb*PEk)PT3aY;O=-W25)LSSI-+2;bZGAemvnDVzWK z>kGx@Y8Z+cDjH*+O5hPD7D_klmdhciC%`ul0MZUE&>Qx_fUu}0no5&k)HV#z=JirV zN+2mO9nE>%8-Y*BNavb@l;!Q|l9RWGLrhgw6Gk@G6ce7YAdR3M7ULDsR5ee9S~_ll zR7-;`8DxuxjPf0nM}teXk>JamGl@l*B=`=o%sqk3y#bvW;ttN86agr&GxTZBx(!h^ z7|cz56{eqbFZ)B$p@cI7+G+sVFJn@)CgfN{3L2YsR}}8{vSb36Xy&}@D5Xxl5A6v$ z9mvTt1!8Jk$rzfjxbH-4J1)E(BcvS#gR%+?0+Hp^BD6NpKMkI=DV)Y`A5UUMlX^#} z%q2_P4aa1AQMQP|laY?iJ6h6brzk5+t5$9$N{O%7cj2O4_PQX#JEB$Y6tZ|_6go*F z>ZFulwiG&xU`|=s&x)OQwJp;ruNr3gtdAeGWM2bFTjwn>zG#2MTRJ!^+vliLq+aOC z)%ygQ>=%Q6>Ty}Oaj>+QG~%Jkupw{WdBeyTrJ%#`*!ljqH22@MR;nj}0v@OZiUTSD zr2eBeTG-g-5A$>-2U{ORl%cp*qK?&}M+Q|p530}a-5>vq_&76K~W4+IEIscY+_I(4m z=!7N79nBWen-r9Wv~Ts1TCON}J1wG=t%FaKxzbo-fKK$F%I1RGer)^B`4B5$j|UEx zwyLS}M&JH4wRLOWx@zZyo!~Ud_1w{CqRID_Y+_;KEtt74F0%oTmWq|kIr#+=KJpwY zQCPPI&xO6hE`6Q1(`rWUAi~Dc=ZjB@XDkJ3Ps|>x8beOM$64#q#TD^%C63WhT1e_Q=ckGgahOjgDAVE zU5766SDl^cLY^jR{p2kA5YI8^pgs7IdO}CWIF^#=74z!DbY0yPK$^m4B*(#qs=N#4 zbltg@+tg(@UpetS7OHtB;M$stq>V~WIu&NRW0q-Dzh=KY)kLaNdj$beB=+ZnSNN;` zW~W#C5M{fh58uiYL6QYS?jE59UB`Y%7Jxx_`vD=-14~lynr9*hKb>i<_ttzeG!)y^ zk^jrHXZL08oH4ku;M&eSBVyn6`x0@;QF+r>!11c-&4VjYu4gylvjT`_5W5*A4>^qd z3faf*ZJalJTPR0D-1ym?=dd!0>(#Q6$rrj&(Ev`n)(R&84{di!dY%3;s~>(9ykJ4x zMb6kwQcFET!%_{l?@_dWJP@6_l&lAmyl@#@b&9knh|*{WrI9mGzgRnY5UuBqDl{w` zf*~KCk<2jwg}NFh(;Bpx#As`cLNQm0hZ0#F`brYS6xNTle=47VL>cSx<6cmiK1Ela zMrTn{Splu8c+zaai17yxGJOn>(k132c!_>(IBDapHBv=#7}s4=7;zkNbKNc2Brq~T z&a_15w`kK*ya7CBceVb#T&nnYY8v5u6n~*)b-WzAcR0Cs>Mb4B<`BtvNBF+_6Xv5m z(k+}{zoeQ&hEyJ)A7LUsiNxn82oI&=4ZZ){k^+9nQVkxEN?8O7Zv_6Mubi~4t(Col zmCL_;(UN2xfQ-t}yDWh{FvisojcPJQgg`1a0+zmngsf1D1p+6m*?u*c&e?WXvcMm@ z6O0gqCRYZJ%XzcSaX%z=jZ3{$D3C^A)WqU|lQ*lO>-FUYqMODZjZ?t)_3CZr-h*7P zTO5^~j><{8Ho)!jzC+6bdL!nYHvnmcKg-o&g>UoCfX;*$;k7f&c;(6uJBY>J z>Yag^Mqb@B!NXEEJ*@Sh5c&QNODi!~$qJ!2{?d!&S+ZCBWMW5avS1Kz!L2cyi#}xV6Wkf2o29pI@;)?|bwsRXCaDOv zB4^WaCFX2F{`n8760Ke=KhERfFXtG8(mK19R)kpJ$3CBtdVGG7bXMGAlTKuFjJ%~8 zk28aBGzLv9K;O3wDMh7_Y*nLu$F7z5wZLww@LUL&S3xa@DzRnGk{L$|j9MtV~TY(^*_YF&CUo%p!bwVs5(^Z}C^tymW0X};%&9j<5WhUWYwc5B%NepB60 zTUry^6FhB*pP37pH(FC<5`yI@RqKWi|3({S4c zmM#wVe=oiU4OyVp3#j@$z3Lw<%9W24{h1Gevf_5aC(|u|?0zhHve|F-B4md-^~-Zx zjy)@UA31@rCkq~hHzgQCTAkQv05m+iHyz*ce9@__KE478L*RaO!DIY>&E?|ZzRU0h z&In^n>HK-)?dfhvuq$E{Paxb#E)~L;rhTGcOCwdcmrkNOXr*_Tr1?u53mUVpqJ)7& z03c6^jyhV#Pqam|Tm$FVc1Xem=X~-DDWt?rO}iNn1LqnACtoyieL+TRh6yxTf_#Y4 zy7kOqON703xj|FmlG{3q<*x65O3T!4Bg4~cPflAQFPsNW%G&UyU6s8R_S~^MwOG-} zTIC}gXG_h&p~7HI6#keyOZoEGDzmDaGx{MGo3~985b}>CPgo99JQH(h>c4EO&Y7j& zBtnM5uaT6OpZ1H)ZHmfWG@C}{`er@EepYF4rRUDdW|c-jLBS(py9~V{oekE2}Rd29k-ugkMf?`)bzat|lEFFD1#DoE z+?rLXd}LX17y z8OWK@dTA?S7H_W|np=ete_CofIOw(>O}{GMezd!qb)#_~;z`%_DScy9GW6Q3Y>_Eh zVNPGVCmFu14Ml7ehja7%41t98^@%U=IS) zLyzGvjwR>@AruysutdzW%06)7-l5b}lU-<1Av-E|zt5XaLD~^q2c&w}&$$ADmkiHo z%uei93PyHHd}+&C)-2zmWG9I6iEeE_U|%OvJvnm1q+%d!8ha8FKHM@lekl~0MK%@dYMf`>R_Iubs-#i(<_Kq zV$Y~H&+WuvtFlo8+JxQoOnSYrgbqFCz>N9#t@b6?l>Kh42HNu&5ut_MnR;V1 zlI~VT@FOqZ4+IFTGpb1bsoOm(+OFBow*?|yfX ziekE+d~%_~`}h}LuHjYT#z+*)XB)Xo8aM-UuK)k%5-E|&mV z*-cYv!zG>GLKvZ%nxk$^;Swd93R=0R^XooNzHD7BE~0jXTgM3`dzNB{$WTLx%TUtH=Hi9oPF?*8Rb?IZgg=|D6zL{X*4~q!>{6^Ci z(MGRs4wuGRnu27in~Lqx?OGD%C#z_{)%eTbq$Iy5#Lq}S6Iy|n84~n|4}AYo&HZ_q z{Y$y2k2vFsqw(8$vBktyqoU^bBcT%16a>lPL7|fFFwK8i{1IDAr(EsSFlgtcl8-&d z7xapJx}=nhKhhn@H4tb#5U99GsAYlKyq19e^-Gx=WU1@3`~8`VVs_`+)6M{67iemq zhVSFhMz-MF<97#CPkcghCWbLkfs}PW?nbIH%IV!gZJA9~x)V<#-s~eLw+bdb>Xe`6 zm9=#?Rcf5H4d14#w5etr$9gs4Dt^S#c-kX5b5^)eqQG5|uQc?Tg=kUeT42$8`mpgB z)achBH{kScY{7?0FsSoI^17X`)NbJ7!6Tl2-tr%~$$)flIT6B2S+G|Am_N|>#p_Gk zD)-0JZfL$@(wFWZ2~UG)w=V$%qgGjInbA+(P(wItcPl5pudJ=H1N_@JGZ7ZpkH*ZhZ40_D)w5d&Ry8tRej(fMAPUC~wwgNrKjNtHb@J#b zLGdAES`XCQe2AmN#R6~d6>kZ-+eydp`lgj|@tYfhZ|GBoFJxH1i#nHk$2)}A(#PI! zAN94qhIw#7poyGOZP=dY%a@B z62s1>yuu)$sEJr2n=g0-O(vUHo~nuOr=WqOeSh^dO=*(Oxk0Dyo4P?z@pqmWOXs264CTl}xZum5RpZy+gBwLD z`Q~fym$S}7T(w!(NJg{ULiUc;RDgDN-rXCEYH3#}Z9P zBtgKGk{@r<@2{e)YKl4w%6-@z&N(dWz7scy9xRKQ7g{5S#caLPvSbpKCEhHHeSqGZ zbUfq(J)NO3np)wSo~YH9q*%<6oY9#qZv%Ymk-ilmVr!E9{CG|PqH09Q5NwmGd_&zX z3K~Uqp)Z51y6&@U<(d7W9P#w|6n^w>TA-)^vjDH9c#<#yTQ@_0c3Ov_l79fg4AsCz zS@FaQ*adwz>v|@*s(&M^WV9B1d9}#iU>EmKytbXXYofM^=9+VYHSFzPDE4H$^|ZOA zOjl+hqq5eiktdcl9Ci=U*!?kMc%8*0U6t`pvfvCad ziMwGH*BCaL7Mus#HQu++_$ zKCuU92u9)5L#Zac$jovo->^S6sKPDy3B!jc$Wb5^iwq-ORE~gulirt+(p8`LR960> z83>n*`Mu+^(KhMESkeGL+Wv>tM;g1X48j*fMHO7^diE<0^Dq@%-cl6(&f)#F&4JJ) zz$>o-X8>T{ZlwD4`*~PE?)|!ez)W9GhiH_}-oFj+kp%*_OMzf115}&-XJDynW&*Hx z{X1BGQ~R^!r|^e!%H*-POcNp6Qy+pnE(lPXF>-vd#A$)wRVNUc`ek}5XY3Qm&k-&b z|ADwhc#VikJ$|u9_#>SZEe4(TrJ+_GSf|TQ0dk>AaE0%|s>{UVxtF~E`^i^B5IG}; z%-5?X!LH}WSVoettqLKYKocy?R3t7+ChE()Zdp)OA!x} zaAA$S+1o4Jwr0pSH2AT%!C{032e;p0zM?7rNqmksCg8Gu#r3r!pj*p%K#1w0atepG zP5wZpSlLNOwoIjX&vU6x-A}whkNZAK_|uvlE|=k*PDA~&%3W(>V~4~S#RA-)hS_rE zMP(QDYwoRQb8QOc-wa%B1v*O<}q z3UO3@S)gr)k#nsIZrB4ss`j4T2_Zes;JSUJtVQ+InL5dS1n`Ax9g3)Vd+hR;{E$aR z18MG7`i`MHBH94*H=;faD1O5wM_X(g2ShVuuAjt3ry3sT3E0(GI>&5wfZ1^mOhBq; ziw}on1?)ZDSlYA3)YY1IYr(SIq~U>r6J|L4um&RlMDbcT@`{(8DUi6II`(E(5_@-p ziGU(2$Lu4Bb+;(Bjy>sR;vJ84loIHHkugfFQsnt_PcQY@$lkG&=`eB*TrtXfk0S`N zoJ~mL6W%#<*j?(l9I%De`+A6<$EF&-YX|-=uVFkXF7K`*Xho2a=Bbw$PEik%@&GP@ zEv~bJgG#u+##zcAWDc{{qGpU}PLU)N!Bja}^WA|YX|X}BlFTEmn_#6j^i58XIRTpp z!4xtvB~5OYgFa-oU56s2*0>j`X&VKr(YS3`JF;KHc03|+vHeTQ+@~GgEz_J#$i#km zn@t2rhgFp4`%mwVT9)dVY!eLaJ$W0Z)Ub5dG_qcis(w%=o|x1X#(3xo6Xp&J5BzPn z%bS%@!Sp)5*RGaFc>#!*0s^}iI0C(t4=CB&w7x|dT6?gtFNBWi-}|xn$1t~FYLq($ zLk{1Q>}|mpuIlY=@v?WYjl%>8ceJgG#&_Ww{GHoF!5cu#-IA9EnZpXQ+zD^|W8@}I zbPON9sW*j9LdWCDeEl!8*QuaXt>46(9>H9!N#wrXDP0DonjJ zLA?f94VH%2_@ImjbO;n;je%6^uJ^Ttg65`nh{Q2x<15Q8$ff%bVAN%oQJ58|%#dLQ zA0zadb0mi`1fetCkv4nTJsGd&;r`xzsdN#qrZ{mKpf*wRSqhfz4h`r6w>TcAT$1`r zf8+5egE8A@hZ|&!3N2ztE`5<-iEeKt8k>~Us_`IVW@dFtz>X`CcNu<#3Xf5D@6Ne~ z$tLCJS?O_+ZHTr9kslbbj(esanBWoZ#Jb90&<5G zbUkaknHmYF+SbL;%zKm$9@_+BTnsXTJDLmEV1jrsTLb;XmWpT09<1LMOx>fA2aeZ?HGcs3_pAO(Px^yFN( z(I^}HdwJ$|p1JK&bGzl#lW*)FN6-8XP(kr&O-MG=8f~egxr;)s-01>ZlG~bf2*KzU zR2uXk2(%y&(W|eF8@(;FIJ_7S?bd?OT<)cuzPBeYgR@@*shV1LNVrjz0;0_l%Sds9 zJ%diY51jX-f{fxH>NM6lGG)T=KDn~m$0p+!CAp+E>2h%wF~UX6|jSt5!dMi$eH@Bn0FW+iTWB1yZ-#v^R^{Q$p0 zrY7jy5%yJM@Df=UpdJ`1c;He1zk=~q*?c>h=J+bIK5ni+;x#j#*5DFXq6l-^9&q-h z{h|rKuAl2RMMk{SNC3TmCSip&VTd3TZL#5+f@HGeiEJ}t7sC{U_kkvzIFh*G*x)CM zwd{z0x}KA$(PQCVG{Nv)vCoqK(sp5s_tJ540_Qj3rGX?8Ty4~`iOb5mPp2hmiHy)q z(NZK8Z%oV;;XC$|bi9l?E;i;gl875>x`|WE7JIZTO=lcq zfA;T*o!el<8&!;I^{^-g3uejh71~g(fInX`1Kf?4luNZJpgi9jcfO3{8F8eS) zvoXEHW_ZEw0yRG7?S}YQP!U=qab!`c1hbT0yc%zx614hb7H^1HK15-8 z{c+8gy5hrh7{odxi$nL1(be~Q3sgye#ONUS%SQ2+3KJ+6{3@4&SRxP9gpwn*46cB< zSQ`Wly@Q{q2m@n&ko)mWs*X0B`arU0zw1}&1wi(!x^FK|eBoL!0=8&lPJB=ZPJm53 zkB`cZmepL@t9qr#>bM*7WXzl$m=_g{8SQ#>PgQ;xU0g@&`N6$iVj-rZaDvQyZRXnc z&J33gP|FN*0X}c>5qMpOCZ8!J!*U&)znt}&Oe`zBW=3RGo;R*8{Z^3=*b!Fsgr1xb zeydjmnMPbR=Lb9X-%GGPXcICIQ?2rsj8^0pU|~BPC7^`(>JpVE^I1q zme=ZcJg#WHnnHX!ZIND_KTN6ovr9~nZDj0~?sdw3@r{tLg_{8j(Sg}Lj8D=|DyWANlQ2m1u@!`%9Q(_CeGx%(W%DX#B^6{f)*Cdg5 zq~Zlud*FQWGf-!@<^|=`PbVVkrK%OQ2Pxy$qYkVl;>Ra`Ghjv^{FCr%U`LSbleYaP zcyu>s@7E_u_Hf1?@h468h|l1}OU(=FCmAgSfj4#M8M*PSuO7pcbO)FoHY(}49W+%q z3?n%5r{Vg3>LHe&7LHJ{%pt719nhL`|O-HtY4;i_d@Sy8mHhc`GKgmA|JN z8VEo@lK&Bkk<>GBGP1Wf`mc7KSir{0*3!uJUz_(P6&qQ_6_hWWC%OqxR70a2in1tS zH2Uga0rlw6U~-5*sKR~X(eXOqUEiG1p5gsT<&exR6N(wE3Wf)p#gHsVPE|{UsuY+O zP9;q^{w{i+9Zx?PkX=4#WUTIZbugyCfHx_zJ!d+6%NjQwe2zCq@OZzblz^mC;dT*V zlHvzJRRaZqmgqszheHVq#2b-Y$b7qMlTsBm#ZTvXBEe*%1L5Dr@CJ22j zW+IX^m<)|cpL69%lPsy9D~!YP;xaFU@nEztDp+gewl=Px(>5TsF=jmSC2EQWxRm>>(8oJ2JkEiP_n#bLeRBQl_9D|M{c1v|_-JxH~Z zM*e_k%vKzqbX*tyZDH>|;1$yNLOODmsqE~)k%c5kq@~s3f<>1q6mewr$O%@|)@WrM zshDXek#}!QYt=UqXL4li22ZdPpn}`GX9Mr^T)KKEAWUi? z359t*7RG6G72_bf0STwhWd#SXVK*Up=o-cYMnAFZ7i5OiM7zH!sJr#O|8PR>;bI`M zcfU~B_TVcq#e-dLY?V#Se=y0EH0cp}g*9QV_YYEW783-F3HEBr7{yj<*0EU^WWE4{ z5hPO*sm;Os59e9*z0*7P1|r-UlSnoN?8(&TxQ1aH*`VP2vR3iYT)ktP*_1*K4AJtk zhS+^j9#09Nz5~$3i@zz#2@2OFNL0vXh?Q=?R08|{aO8w#Y$cyT-&J}nJub23Ye}-U zO$$j^qLA8y6&6_!=$*eH2yTd=Y`PJcTGkY;0_|6_tRHA;!`P@eb+0Beq(z?ZxKHG* zyt5nn&?M%E`e`PeJj?u3Hh%|tPS+P~3IA@1Bg_DOmSwPTTu5LRUPWPSbP>U}N?pIw zK>O6xJ-;~YtXl?V;zPFu7J#!nyWW~x>8UFzc#h72aIqT%(eetRb+E8_9OjhT`$-Ke zY3yJeFSX#Nw|B~bTSGAaE>zp}xXHg%;Q5;1#%U6@)`-<9APB$sq$Nx!*Gc;**5I&p z^x5B#y6<(M=+ZJw^O&|j&7tL^c96a45ymlabQoxDXB*U4n-p#$Spqz@EN8-zGpg=hYjAt8|_gh4HQu<<7SMZcpI6vItUZV14cL0mh`m z5%j|P*z>M~%)lkbF$XJ_2+L;SmoUobfGUpwo`9LH{~@Hj;H9L1I0*&skU z-hq7+$uuuW7e#r2$si?1?)%&y4)f+-K#jX-3J#4#sceNcIbG-OK~cJB{<$G6=c#tM z{-h~4uvUp6J1BbxT59J!FoSVR2QTJg^t!xuGGE>|zYXqmx;Bu}8qFYAeQ|7&c)mS8 zBXOFKZQ*;S$>5vvy;6=yH}DQi;+R09@sr(UCVap)jZP}(dxk$LYS&3)nZaiccxCuf z++BZY>XCG7JKtzO{;-U9&PxU__tW5?Eksp96c%-)POQNvbTW+(LD*lVjmgzO&C@|O zDB%j%Q}d4$w3R)(jc49vF&osVhbcK=_{h9-tImoeB?Ev%1PBMthNC07B)0#y2fi4@ zU)~i10pKTeCYwF&lNA3wKM5Y zv(}#w9`|unKR8rp`k*;2MAK;j5Vbbit_8T>*E+QH5&WyJ2lIikoO#I+Uzh9aQOP!cI4 zE4_gFr~;88t!3!nBBsnMU#(kWAFHI&3rq{dBTMWkB8oBGD?$3y5Y zdT5m>UjeIJSzk#Zm|eo~931OI{O)PEvu#GAHFh6?`uC5oOfTk@$v>MY6K(yBa)b2e7kee!<0uK zSBiPRwy2GH#3yVz7KMj0BF9T>Gm zPEfAVT{04E9OOohLw^ih2)Sv&O=Q>$PLERE%yev$PHK2w6W`yzX#bhvhN0q}p)Ey)$KTA_ftzn*s;a6C z8n@b9BjBRg)@a!-xY=9LMSdfhzjgXY%+V*8MWI3KV12b~dih?@Nu}c{KJOEBG zbOyteb+{FVI8>Q?HlE#<9n5PxRITRKrCL|2Jsc@%BE^C1fH|BFpwh1id)ba6#3FSX zpkhf+?d3Lyyy+BNGO)b@(*$t*Ij~-fnv`cxnaIWiUTM<(h4l=#I%zQ|34j`|bG z6|uvbWi=wBuz;=+pPTHLdo6U=#mE`5ILcCX##bh+gotuS!(jubS5H{b-ox?b*Mn1O z4x&Kx6~dD112mS9x)X6!W`^Q|!S`=1N}`m9?Qt59?|XdYDva-oY|e7ry-{(M#*SD|?P+y%KV;`~X(LwHO?f#2b_aD5%@c3o6@O{razgZXQ|LDH|_s#zI8~?9} zrAU@f9F*@@Wf+6S-VpDBH4<0#!7u)sUpKV}z*%A@OnT0wlasVBL_52E;4kEMF5EwU zkmw4y2)L-oY2oGATmu=mPT3~tW$NYA(@LJQE%701uZUQuQg_5>w}{M9=)B7!=BVNY zHr7yH6DnoG!4F1XN-)Rew?qYsLPyuz6$5nH#O7r1=z6awz3KQg&Gm*kIUJ~GGOCi4 zE*)KBXB>jW0Oz?zMwS&GZ&(K!gI>=`{R@XRA5$f^&kJNhuV0av6yz}Lo&0E^Fz@bB zayt$GgPU3UAYa=37EXYDL%#oSD>@whua8aM%+T=L&-SlRD@#ekM)6yZ<-CzLut|RD zxUMxmtDKu6hYn4M?YH+ZJOtdxiV}4&nKtl1pQ2zqy|`RTtlvp|w+9_KxS@bo0S^ZY zKMY^6_wDs#Sq)Sm?&}oC@xz^Z(`sT1 z6sT^3^`@;39r40r}Dnn*d?8(Jn}G+We%+97+0n3%HzxxMgy9N zH?WaaG)Yzdfc0;Z!%S_2=%(}N8@RY2BtvvpD%ryN<(?)^B%iKJhdpZ_@J@kLE7Xn) zk0}NVbrjC3Djo@pYxeC)lOX7qRFKSUMl5UOWvF0jtCD2D^(T457$ZkB*>BzSV)1@g=g>!<_=#7`wBcQb9V}Cfb z9{U8V>mJO}D5Ql?oVPQPc<>o*Hd!aY@Fotn2}#OY-VIS@JsAG-IIqcu@dCJ+5=x6ILQmmvLBWOk-g zL|T^ha_vbKFy@1zyCYyD=XA+$-(Nb*=MoJz++I9@!l_b@da8P8xmK0(gzo;@x$&9} z7LgAcZ$M@Oi=Dxxg=UAuB2y5DSW7$i(+(_3$E{;eo6HoS2M$(7m#OGxoyW1DWO_s6 z7@bt4z??AblgiXRRu9e7b=<)8`RJ1)ARhOgOF>iPOjD$FV?<8k0bbkhny(&|8S`n> zy_2Yk(-5=S-B4V&S}W&k%s=<|@XCw}lv-fC1# zU^KM$*5d4VgHJ(BJdeo@^iOi9n~#bIwYxOUel$_pvwXUgS0Li+&d8Wo7~+bm;QP)l z!`p`Rv!!DskJ^EX?%dTe?ecOu!uZY}!$|%7oE)>U_C$TEeFB6(F{^_i1PJo~37f%)0OeV>9_F5hnkW?+-&7H1hb?omqZ+(nbEG zH_!j%w1}mQ98GQhZ{l{9qLs{oEV4K4`LcB)@WvmvTO1?MBEr3mP`y2T2}<;H`a$?3 z`DzWZmGow!Tb(h{K~rYWr|%6%G!eig-m^_(-@~u_JFer0ZSSw!S1eyQE=d7CiU5qs za&#p-ssQSvLV9Kx<54#a;Yo{82`>==zB4cs7mNqArKWZ@w+3~FDola1w9xcVxXTqT znIBZN@B#>om8ssd^e>#&tU-G3Rms;u!Vw} z*YL7uK4Z6;Ckz887@6ipQsdF-a8qPf?65H+m%fxF;q!SkYu2o7-h?e@O&Sv1rbi5Q z6RO^vwL|4Z8|bgx_R{`m=yAuciX((qWvw%^uQrxANUpj2jMa`q`1Txk^2o6UquE!< z1ZExGBFNA~^I_it_-iQ6{NK2LIf;UY67Wd74GtTmXUxP858c|E)Y|XH?@|llW2ar5 z_|Ed|*x51sn5O|;=)}3J7s~;jmt3uwg@Tuys*g!svj!iv(TkX4GAHlmtQ1WB;JEKD|@LFrmfODz>ac3Iw=}FFdNi>M5B$ZO z%L{dTr5{wDj~JwFyuFs@=KQpOH?ndK^mJPf2XC=lsnGz~Z;L_W`3+`{lV!SqQhN3D zB?-I2-n+Dmg;=PCUY(k{-Yue=BOdK76RZBevtk<)pKQ53~kwJR-0e0*n(}P{P zWwoRK#k(o(m5QoX__nV7aU?a+#h${{27~upX{Ne>%=Yp1jBv6u^$6Md_3TmF&7Z`Z zN;eaum3PF40T$UFN%hdQJdM2vy@Yty=;Xf3($Q>}b5<5%p*jrOTNa{9Fi?+4avr*b z+qJX4mSJ$pL2bC80ls0c@dlk5BLZifH1vsCr=}lM=Jn>g%3>2e?qr)$a>`~K5k;-( z8vw>e-lxo6e7E{KXs7J<`#k6GkAFWKm#14e@82~K=)3;?XI=Nd_uBva2`P%5`Hm#| zHQe)Jva-zUipb@`8ak5XFCQM_znlMTmT9d}FD6zG-5oZw*9U%+H+bP*3nAVYNN`}_ z&2&HYK5~xb3ypoaI%5~RFRLqiHZE_;1>Gr`vKY^7Nae<=Q6E0E_$odhzUW_M?{sMy z%Q7@nL@aT{eu5vsMDvbsLw*ymMB^qEH=*6N?u&Q+n#sLUYG%AlDT!H;@7#=z0x~eq zqJ1lv!F;@CGpe$1KP|*R+<8|S|3Pf)zEgOSj^{KB+19))bXE@Tm%y^IBWdp5(e~Oy zhRF8Wrsg;IrJMl?VOg{)?BYBx^ma{nzJu-2#UmP5R7r3H`R|W8NZ^M94-62{02&aG z)PMGhvDY)OFmg1rHj#ETm9hWs)cOC(g8H|6sA}P;xPwt2)bL*>v5s zuB4$wds!c$v%XG?r`0@vy_qHn5(+Jge|*(2v;FRAa_#W64LFR+*@Di6qwB!L^SKT1 z$nk#v36Hvm2oKV_*lUFA`CaXE_rtO4YbN`YUfK(*lR=Q|UxE|Aim|KX2Ab?&lCi7r zcQ;zMfnZSqoVc5z8N}}$_Al9)+tg(m_Ob!j9;VOApe=5)!By3VF$1sreV45QP+O<% zdjn?6TCE#RA5o`jK;LN~F@7GfmaMipe(zxTyRbw0&iN$fBni&)xx}mM%ZnS`?pg{C zGAbU|XUk4fG&EgXQZ!y5gygXsh%qDz%G6E6;nAxg-Da=R#nAjXQkUoL?EzI=iLhmx zDkc37{0rf-$53O6KcLz*0=j4_1hlfw*VEONUF7;W4WopDD@|4MccdZEm6Z zn@5m9o0e-)a2qWKZu1C0N^$Dt10>9=Qc-YZgyWmWTpc5_M3;XTCAsg-#VHcwYEbT~ zqlO8|M}e3x^|OGeOLXRx-fs{wbT}BA24tyPS%tC)Rv~}WP=S6S^|~~lL_$^)VX{g-{`C9B+Q`t&#F~lobbmD0~i23ity!VuWmVo1WSUr8sz$M(Co1CNCB6^B(8*3FCCpQ zq0okNCGS8|OK@>w)23vkL<}6Pf;>inkWprUH1EUhdHv55rZF6gWQnP?qNCFyV^B^Q zuHMt$&@9RM&=ShlWFG+nH^jOysK3t4Msd-iOc5lx4|*aM(WHT0b)%>lUx{1Ew`cRZ zH%yv5kQ2LA)?4~>V)_Mt{@&*0ii8j{u&X~9bvxbgfEbMUbk4Z*#30>C(vF@2Q0nE0 zAm{0@BLJ{t$k$fpKlP5^)*^nZX;9N8 z=c~cNLs4_?RX;sY)ku-$%Gx_|Z4abiPIdc$CTMd7h7?tabh05yzK!18)4Mn^J zp~-#7!_h%jzGTMN{JA&ji3g#{8OSmed(DJXk|UdSMeaUEIj_~hEX=EW@040hgXPaABg5<;&<7m}nHWO+9`|6i;aevK?njt!#Zg%iyLmOB4lx4$!`!~|`N-&RKl692v zOW#ZALfvVcVaZZjG^khG#S2xz!}MBCUM(%mo}lvqaP#VtZ60!ys${$L@7|B(JqgwL zteoN3(}ttR%p3*@ZyqQk6kAhNAa94(;ft|b%js!f;qc8r41pd{XGqbe1q*Lf*ebnI zNvhK08K{FPb3fRG(*GO%>>$z{YceId6#V zvx7~HW8`svsY?CTzH0gDt?3JPB0xgx_@oK6_N-#`l&Bctz$P|kPzDj7EHaBDScM_D zVoyu6@`DmhS}$6Lj5KHPU;!TFa3LnrJk}tvWLuC-Sk8|inCK`Mimjw-EWeyj!(~_EfWX&iA1^_-+ z)cc$}Dj=V_Uq~%50)1r&gFS4C4Z;HA*sxlZrbk`@o(t@`Kn;R6#BHmxBG06G!IpM? z0o*BTx^^0T@xHLW`IEiCEB&NY8MGsIL#ygGVMVLzK4Ax^RQbHTsolKG8V$<45$IGa zbwjIQ>Cmi0&Xp6!-g&uHep*e|1XZz3R%C9YS;cBdCeP ze!jn2SPLqr7F@^+(O;WP>eNYrd|RdKnSGzSYrVwmuM=!_`ooG>tU-5PJT=`o5^PT^8R;|F3vV@ME@F8bXv1?WaipO>R))%GHXA)lOUA(&Kk=_DnYRO^U6U;8j=bW{p407J^($1m6{FTaSO{l+A zq6FCJ4~8HTRj#|xP`=lD=O}lnXw-?JycCj zwlJ*O2tit#@U#Z7KS*n*SS7ZF)VOhS+yG6F1SEQg;@lft4C9G}PkoVCK9kW0Vco)5 z8y9%PYdl6^Xmy$ za+RtaIVX%{9TfhMirl4P@cX;x-bvFP;uBi+@|}3@G9>VlvKrzOp|i(*tIC7UF0RHDPI#Zf{q+5 z0&KjLO|DHbvr>~rTF&|xbW(<3RJ|0nvU4cMA;T?+QHp9l7oD_>0;g&=5gJsSGtarAY+~iIlF<7_1)-L9)rZnY{V4Zj zHXSQuw9=}487&H0#TgW|vaJ62FxDuYIyOM-N;T-9EXUY4M7;(oq#?z!% z)gez!{+&$Ud(qcZ0+g-7qdAcUd!PKr#?5oJw&!|#T#`^+`Jo40nRJnzrTTu_;;WHJ z8M>;(`5K(cW{F*uYGcEhWAil0`LrL|1=WT)R|awa@JG1DT;4`bmXjh zG%8M=g_;pHv*FM_vekn^g`2KI7$YiTZa3xiVCSWPp^S0*<%E=ozvHB;g?G2nh(}qP zk!`LjYBBVO;hEwGN7{dD*%c0KTu;r3r4PBEZJicNRp;p1veHN~;^A%kB&7LtFdB|`ipamR>Fp)>HUD6c<6c~zVbfP4` z6$Wyp6Qd;BPtm8Dalrf#f1_mk_6(nLQ<_X4GrITeCWneOtTDqz6b>Uv>a$lPjSTXO&!k3ONabJ3Gfk}?!huUqY7~v4 zPVfJh4}T3?#-hTs?e^{6l*-Zk#x4k0` z8VHEjOE_wMeGz6f4WTWHOlD~F!X;|1Q=5l}u)5b%JL@&N)c z9eIy^C{koe%2at<)xMN~RwR)`$Hf=}zQG%mrdEl*t?sVUuh*we1vLNEVeW43ukxA? z`oE))j&QIsh9$yeB@LiR;36fYAtem~0SfzTeMBJoqWFv_i51mq&hQyU=_I=wMk!V< zExsi+U$uWGa+wCUR!g;-ht2QVD;Uj=#5dQN&km;M^&0dmoD3R($iD*Ow%hC}`A^%#CyPleQqcR>l0g35=SSCU3o_n(ALY ztMrdjesp>XJgT5n7`8v{q11SK7VR|6ERVabIFEBAe^I`eU|aEl52bS7JFDfng!EckAf|Bk*h2-w(=`J*G z&0|fQuIFe_;m-qhN>6PGZJ^A@*Ov*R(Zv>>k5@#0BnM-_=?ro4vYJu9955Zp4mxQt zXMbs*mj-1NzDs@uW_iCah>kM5vhi8dfrj4tR3vhxxTdWLcA|bx+)+c2DK^5c zo17Airbb-cy<{v4(os!<*AD-rBF1d447H3h;srLbR8#<_#DxHbRIR3VO*i&9Dw1NB zNU+)LD04-2%)29 zT|b^PCm;l|mZ1wnA2$15{ro5Q-0xpZnMOIn@I|&-@T~bN_w^T8*d1d4xdHktb%BW` zm<_-X+*GYljTh{9fJviCctuTLQ_i|J3*SQ7CyQ$h>BQZvFKLH%#sllv$H~e+v<0qI zhV`tp-O7xKZ{vK&&z+?~aP+lQQt1LAir-_RK-~3?&R+kR)_DI35IjMiG4*D z&~|r3R$ajfbX~*v0&YcZzQ6+K=RJV+i10z_@CpBx%=D6VRh%ZS!;HcY+~Irhv)j*2QY=$Hv(rZeX&i{BIKi=bPHR;kmm?BfVzx{`JA^2fyF zql~yRxzzDo0ix1BmL>rW*t(qTJ;H3=PkDiMa8(_4{tZ?AZVDvXgDbXB&wvUJll@6t zBAbKBh!DGmX|-R^4gQML>UMPJqKB5y-FXeiB~4)J67(6IrvoPBL8buIO>qi-JjEur z)P)VzBCN&1N}Xbpq|U#SFBTNVa~6SbX>dIV3BUzX!I7>>MKecG!nDii0Uvd>!pODgbFmAse%Vj8z3fB zAHW>BhC3oE$D`k#kW4Ffa+>Xa%B^WV>w}?@jNuTCRhWIt6mZ7HUF1k3gk>a2p@pxZ zp6>GZqUR)}c;p$^W={`$BvHaSDAU4G!X1l5o`%n$(}-^rWgK6r`Rktx_twchq~%Kj zewt}NSq59ml0ZCE*M1NWoXORZL_Ag1c#EZm=O0-5qu`0RNvRMhKCiPqz z>*8jy_()J9Mb(8BqlQz7yWz)O9baJ_kRliO-N&(!)(>%(XF<7W?FzR-4un%MrD(FfTXfKh&t zc=hr`;?+g?j8#8=IpWG5i3#OBJSNm0mUzLT1;Bn_+W^pBSiLFyUDX-^D05*dLryPI zt-vWm${)(u{dj}K+DIce?V|uGh6vv9{g;GNz|7vctHfqRPiV+Zv+6MC9>s@}=3vJj z;xz~^?9)y9!?{cZ=b2VZCagowmjXX3A&7bUDmM)S`qQzG>eliKX5E} zrp7lgaY#1(bOE+Lw~=C1Jk7+XMR2sDuE#zhii!+bG0=8M?gtZD*1Vi;*i%xNa21Bi z40`bz5%QthFosR(GFT1tIUaF4;=vg9S|n2u`OE>FM2=X*8K!qgNBs;}xPrv?lL26_ z27@o)e}8lOV6ze7e>#hIGGuouG<$$Gv@>OMIMr3A{ruy5S`~jNM zOrU}zFV9(?EZhhQe2C&RKibc+s`655xue|KD4#jkTMp`PE{&|bsTl+eurYcHhPlhA zq}w^@2XNZkH@24hk*PVX!h-z!!`G_%k=A(1MfqL&li9j=B;5u zm)m2OPbWGb6f{C%U9LWZKYnumMV;V`8v!i@s79y}0XBgqK{!7bDj#I_tS8DL#FM@d zb2o0EkfNd{6wY6&1DzjTAatQ4L9Nv3I}l1=OXx6r8GdKO!@=R^KV0_0W{1I>@?;+a zf~BBj%3Z~W7AUjjfWX#M_fw1XHg32U6lNJNXwj_h_X;g)Qc1wP+T!Le9KFvhpI#15 zKOPoG*Dh{u9t53TmHpxqo}!PjqInHgjS?>VpI*uCtj!ngS930UnG@{wHwX<0z z6oxyevb)?`bXS>##}F^wO*(oE8M^wkLI!}=71#l-6R9O)Ype}H{B4Hc0q6c@npUNT z>%lfvmKacWqS24kiCO+OZPAA23xBwe#o-z07%^3wu?eCgu#qq{f~$08j4Jb*Riq)I zy#vJz5A^$}p)_TNS`@h?G&*qEfdij2eU+#`V{UUI=C$p$boxHqG8*J`h9$iaQoS-R z<*5-!Yhzu4xCro}p&qh&$y3lBrm2%B{Q()rs(MI9BQ42O7!wVxifSWvUIIr2xvW0h zstkv-d*-ZS+lu zpQLk%60F-4=|yPdJhnEdPI=-If&EC+Ra6m3OF=Glr`8f#(V}q{=D*$c;+Q0UM z2(%GFcLpXXwdZaqwU=*%4p6vU7uY6+-He8}_A6JRi*48=rt*=hyK4a8FL~iB%pVXc z$c5@8;sfU|b-_8iu&_4aC*I*L$k^|u(&5!wcAG}l;B@!43V2mE^au+|u)G6J8YE8$ zKd9KY-xe=Aj}x$bn38{v?pC9<>h#G%S1=y7m%x-T*7qwEHCv@y6zqypO;FBEGsOIH zD`+&ePTQ7OO0?qCP^YGIK(b16&n@yF$LOvzk|$|;-*~2budVF zi>lC0-scOqwbUft@Cu%(AXcj(@38=hn{S8MyVxet;vfasB6E1f^vKW#mmk`NpGxm1Ic$Pgxw#!gewBK>>mN%I0q+&a6;+ckssqPn3Rp}gV`gm3Z>x_ zt{^i2v$3@w7=}kq)BdhtBP1pW-R8k0CR(nj>|<(l$B<8o?o|4L>Z#pFCsYCC+zoT%J?&N24w~{x?##<;yV6}$RSW%Tp%0ENSAzcWKmJUsM2SHg-VO|4nvtZmHYm0 z>N0Yn9-FxoGQ;w7`XkFG-HexKXB&7I;)#Y_qjo@dDp?L(Cj+t^ooM8l|L1*D!0!MQ z`|cu%#8Td%?rO^WwEC)5B+MJpLP!fgwlG6mbu*n;zp1*A zJvDnk2QAA!t?mXpreXdZihe6&NQnAvDX~UA#&Ki zyvpXgZMZdciaWmD3=1zCz{d`Q_B7 zjFsPkK*zbJolRxi?YH8KHot6Uc~!0Yljr_*Z^S=p@E4u)Gw5%Qy7yb+_@BueWsOYq z9Gw15-dL3=C$soZ*5SF9Mztc}4?!U?!J5s0s5{+X{9M-u#O$zQxBchZYHjJ-7VVcL zo)A3&czoXrpx}Alc3p1QSobgHiA0&@?7jXg7fRY>!-kjF2iO+Ay6yGqJf;P&r>ATe zs(KxLfQ97fTbmCE4$6Qz5=IYMBNZ6aI;Bs<8tc|gH4UkA&3^76+&bI}buL~P>n(tj z5iml_IIKhy4{maf$94T+fp_nRj`!vbD_S{Lvsv0_h=DUA=S~v@jT5&K!M074(8)Lt zw9P2LBEFUv%noz^bwB|RhoPF#XPfbjl?Az=!O1pB+Zt_-jBvr#QU`Hx56M6*dB+z1 zSO&el^elC~hr_o9fq}QwUgY|3h;Pc}kKgP@ZqajnJWq~jLh1bAnhqX&Y#^iKMN*?% zD@kEg%)DenH6z-Shf0rax-V3E)_H-6`bu5W8J}HLw|4k}&C*rEJdBXnycC5F2^~>; zLL?`H5osMHWuIBeVg8yX={~AuV`J>p6@nnwv8&(!feBb)*R#ZyO>4B zEL?N`AkDv1}V&u_uS3k z*Y&cTE!9%rY(zUan{nQRB$C*?^vBjq?cevm9xVkj-+aO9T1V+PC}cq=MiTRk#b=N(dE?ef9Z$q^3Wlr&VF{Z8@mmjO%|&@J{Ri zBt+lJWkS^d)U5iC1n>VfeEjdvzDo7{|3E1#YBM7@B8spJatg^zkh;P`ltwdcXKds( z()@6w4}bJ@N1B?;rbpYNBqRYdf<$>!tZi9QibNGRWd7Xd1?OTICQm;Z7$4xBQ~=!x zS+K*EcGa>4CsC#`<8#}wi}!c*%yie?&e!`gClHT+(l@Wo#G2#vcr*29hj+ue>+U+N z`d9pmCjtk!B?e*uicS42@*z^bV9^Onhj_cdj@CD}!E$hzy(felS;1s;-M+l{Lxhs1hJV1m1 zyPt~EyK;|=Qd_CkM%R{{DI2eYkuh~9@{sgrjbZ)TZJgv&Jc!YszG=%M&4!11mOQlc zV1Ll4>yY7)27@-}0ToilSGyL)W63Vf+DUOWQA4O8cO^P%s?alqChr2@mmD)A;2K98x{ zilDZ8<2Lr?8iZnQ+@^=}BK+0elHJwi8+SE2+LcLl_fAXNQzeC#NCJwHbm6JBdh4Z% zgScMw4u4coFXOewH&rCzp9{#sV<6XQRRN;R|Q8 zM|P`XsC0;fL1k_Qz4D0JGEs}~XjH~&{lv_!Rl3yT;h*VxOK2#W(g)3GjPq3HW6qF= zsBZje1Q`M|r%C{l&7&*G6968oJZdeC=$h4Tha}pQA6WJ052B zG8O3I*fFQW-L3GUfJuGiWT)qg~3bDlng*OWZJ5C92d zUdk}TVQuk3lyKRRLR9$6l+UwLp1md|MXP8Ics6zL_N%CmmxCf3BH0hhnK>Qg5J+gGTgNajaPJRrhZzI z1nKVBB3DzSFYB&vsuA$@duqd0xO2%xHbV$J_(l%XDXc9RW;(p3v(zy#5ye303RZT8 z<7ZLyMB%`UX<7Ec5hiUuP659_i!PEqb6{XnIC@?6@099TiIvzzr+{u*46>%+KWA2@ zDa*e!`8+7w`rlM$!h#bv#55Yj=EQbRE`1!jo1(=ud>xEuk-V zT$Bh*gik=c1j5#CyQo^WpRl&x;Iusynv2jai-eo6QUGT+K(-}qlG3vDD!D?2l%JTT;lb3-PB= zq!$G7xyLcwIP>8^${_EW_m?()*UB55vki8?=uJMdV;#XlZDte|m0Bt%Log3E%WDmx z6r6643^6xeFf!YW8&h!Na3x3msQ5>?%Pujadz!vF9b%jD|A(`849+y#wnjTiCmnW& z9jAjgwr$(CZQHhO+qP}nww>JcxqIKe&sVp;I{Q@R$NH6e>#4cc9BZsO#@J5kA-pE; zCg%ssMEspcMLbLAFBwX=KW%7~2dUb!r`SN=phsCwU*;l~FfmG3K$ui_0lL$_z%ToV zDLn9QZI5JqbH-80`N`9NTS-wN9cVhYjb`5@fcbZ62eMeyOMkM1mh}OPM3H(Pr==Pd z=$Xzoq)%;7n@`i0xw7ovL$YxQQ{D;DAn1RQ)XQ*C70zs?`*Sr(Z*>pFmT3SWn7UZE zr7uLOFdSG$DAuOq#Q831(R1{tf(OF^#UE2ZJ5XBbsbst#@9YZP^0*W=Gg5QOZ-3)< zns+s>nMs)JoHPu9(D}!Yw)_W9RW;4qiTnDh{d;~(=VHTGwrFhm(|bjkscAt@bUih(nXq%nD)Arei#0q9q(F)4K!Unm)udJ36<&oT za>eM?`Cue>ocIMjqZMymUO3hXN@fPRygBzn8wr^gFpEz}-?5iB30&i>t zJAob>!tJ7W^n$u;6?T8zV5Z+zne2|QNL&`8o^H*(b9_FpjBAf|GDfIx288|Mc8{ba zv?^^zipMbXp3xHg)!cePVK=3c(Vric-6ZZLKYsm-$^DB00XtR3b6@GIqeFI4f%|&R`5!!MH zQ$rRM?!x@J-gb92Gb*Zy;b>t|kRRN`^R%1fPXv%DH1hH{}+;dpT(I`*)R;*W< z+AY=AnM$u++h~y?9Fx}p+L3p{$z^)1&}?+Lxa0D97utHA^raxa=Go_fGqWVKGXJ%> z;@HXi+ya9$-%AiUfIn=jI*33G?)rN!?f{p!dEur+-}lUixI|%%0xA-%l*6$gqdn$Y zp%5u&VVq$q?(x{jRKmoszZ62nl)sBiCmaxHE!f!#)92a>DklePzNTF08Sng1;+We0*6cm#l`tH zHg44Hk7bawB?<1*K>7r&ISJg%gQTTzfw)MqFO3sv@I$O|3w3q`sSBtEpQ2e+Srf!B zH2cA!Cu=nYW%-EWl7uYBwzkO~a@l;OoYUWo5foWMrRjD_jG?*_PlkXpe|AT740hty zO;)ym`1LMNf^$-8`&D%W0Bh$3Nb_U|Q1=)?{DPy@*H}7Cbn*&~7wZxAyQeq9W}A59 zK@XcYP?d^Qu**)Z`{9d1fa&c6_%Z`O%BzeTG?n?$>Ll0_`1r(ymJ`pFhWHeW@77Ci z6B;)*xN4PdA~_!}m#$(jDt{=qt}*Xk*1}SE%diV(5fd=YZ6DubM+ea#L0XV#EkiK}M%Hvc}){G~oLQ&U7zAH2QM9f(|#{WC}{ zjG|^Z06<_JxHtEa9gJk?H~#9M)cFT5FD`DhyQqc-5vV^zMEF&&f$o4zRAQuH``Z8@ z@D4)KDfFbv%{bxDyQd(-5ffc0zG8V6XF4*n*Y0HGgY|Bq3-AC;h_u{Lz-V zmG7z8#T$-v+qo19L2HbLAO7jnU&Lc zLceI4KBIPQtS;G6PhI+Doxd=PiYjBYFy^4fn0!T;w6U&_G)Al) z9t%mQ1V|#$qOx*smq)~GcLk}f8cj@R9j)*t$d9Eil<;hI2|1Hm8j39{FIOX_Ogewh zn01S_93Bp#6J3ivWHJ!IX^|RJsfZnQp=@_w>9i6Vdxm>G@sCygVInA+&`w4OiIc}W z*_KrI3^j-FRryQ(L~Uhzb_UI1etJ@{jDDz z$-T(hHq0lv9spu1(cPeCF$Vsqz5QDnzCj)?AB!9DL(L!qx*nlfXQO5iW0-q(A_$Ac zvLZ>_Zf6$vr++lRBnmU!C@w|NP%dmhs17)(wi{?am55GDNT{~kZ(nUU`LYgz9pdG8 z77Bms?~;MnFo;MmpPhQ7X-$v5ytbf;%Ql5I6CrVFrk2sr8}WS`BN{d|iLCktih_zs zPP3zj4hBdO>mc0CH@CgwDHss$){LNDwd^ z{5}e89ilP#RkJ?wxaQ%-vqXHR<`O5zK+*))T7zth^QO9N8^N2oq;>Ac@N)(Cf zryGReKk6WqwYsbCDaQmhyd8^^dbHyADG{K(!L&oYc3AF<1jhY?ebVn#%KsEl4)PWN zuYN85{Q|(+&l~Bi_u59vyQ+r+V5i~cIraS$_?%fFVl@BFWU8y(l7Io$%@6mEh`$~# ztBl$y`DY)a)Ym`fN|(+xt-veeO{~P8s?P`tt&mtWKixTnz=YN36Ksg%##AaCMGpdB z1Uu2>_r+Gv#Y;7cLa@f1w)bh=yd!du&e->zymqHG>O+8@iGBJm7N8gLp?c&G0|EuD z4XJDO^m1D#F-s#Fs;|csDMI8#&D?u;6&|1T-72^cpP;^JXc>>%cyH_k5ArI5jDr_( zN4%EI7X?pm%ht)OD5CLB*NccJ9k3qwLm6`Lh%r!=xu8Q+YIAbwBc0le&V(p6jD<2I znj)9`%hSJUx{Oz#4z$(I*P>xYz?7#^WNSrbN~i9WVLfi9yagwomc>r4G2gD%Vqd3n zqm)$-hxOGy&@lJ0kQ}ezIn|=uy@gzyf8=PcoP4S#Ls3l+I<#5XC0}X?C_e}d+kgy%d z(rXgZQ#8`Mz_&k7Eae`4j8_P4!p{^Q0jf{TAHkYCyl)EkTDH4V;`i)r`4wB{_oQvT#P=0nz_9q&RY!|IXG!Pwq|CbsamykNHZjCP zO4loJX+}%S?W7Rvku@2h2PT9@BOLj_DlI6d-jIkrSGu{HNs{~#oK#3!m@)e+k$8L#+M2$wr=^P?Mm(0B<4c! zOv0-psTn~|29vN&9$S_qC9(E4^AhKa|4+_wVY!Wg{|jxZelgpU{~6l+ze$7sKj<0z zUjbSHo5rGz>Walr{y`yCH`zlWM8Vxrbv0VL#^IqTz5b{T2rW(PIJK%%ntSyrD7w&` zUFetZ)C07p#*|?LMZ;f?smWt)hhK{S$xRL{;G{vH;9C^po<4tE{#-Olw5Gi68V21J zwP}O3Ef40S zrk}((z3ZHcFUJkHuWV;Wkcowc4JMxCe2>aRi<#_?C8QL+Gn^2pGV~xT2@zQ1I@Jdi z7IyLDgY)%2*o&I#2WIhz6wy*GAoHnR7zd9qt7ob*pfIz&5KsV`xGz3r{9UoXv;s57 z9EaNGH6Pe*ng>kxunLk0F^+P%lP-0=r;c=^tD<($p|gT!nFKvh5Rw3#{Im{%Z@42$ zIF~zcY&WQBc{Df1)SA?M4-PJnO#F~pwt~|-ls2x@0+b^=(96&hG78v_eaq>SK>CkT1Te>@_HEUUYCUpFC`l&oe*LKHp6Zmf+#k{w zm2+m&!BT{%F|rA|p!i_rQdk;!+5_tF(96uDaFM+(;!aRBKHFVsrZ%q9J=3;y#h|4L zlUHuYD{hMxkdurBrXE|?v`?`O&h?RT_t$9se%?t8<59Q_C`!rSkw^6N>n0Hx@|Vw) zE;lI_aT|Lho@w)nxrHQ6Onc&RR8J>ll%4W;CaBo*fZqheS7C3xkyE&jAmB5Nni3GG z@(dTnr=!r_F&~XKkhzz%oaBox`d`CDau=Up%wkvNs!84xQFrV|qZ2A)2{^YjvP8P9 zTorj%`dEu~PIYI(Xw_ahF;Lx=Qy`2hj*_&6##KpwCg$rsUH>vX#d_?&JTyJ!6F=u~ z7mfYQx~L@NV80B=ASOv@Q^9L(B}!ayiZz@HOrv{-9!VO{LRJn~uD~#WP#xalz|ylq z>$O{M)f5bN3)nVpYz61dXAKP8=5E}e=M`5HRq`Dw(>g-ysTea+w~^mBz80BYZAmIICS;#=M_OU^lX{~@ zq+CF6?mBADFr+Ig@gS6Au3(7sckpJ+frLTXmblZ*;S7uWRQr^}rd-2_FLn6R`tyUB zpm^aMOQ-}`2a$U9#fq*+{>??^FZIF8yYd?H)r|PRtPnW=qh`cyW@hQAulKcs?d^;$ zE&h>wAZIE$tA*&%VsFYgVBX~gu>)!kl8=qObI{|JoiqX;N*nrTY_uph&s4ls`wjC0 z4mB7hJYe#JX!px=>&pbe%G@S{gT3)EO{3%U=?$g}18V?#R|11}3Na69Y#_Q1gV9kQ zx^I|y67RPhw6&UC^p2BcKh+>U5+24SsZv7L@5YkKu<`pCzqAV%`|x({dUn~;=J0^i zClz1%#{>EUs@HVO=akEp9|eb|U*g5hl-2;##*~E9JwV^x%z%Rw@rT*%^sa1;%FHOG zN9>MCvkYVqjWY4cq-cQO+h~M~;IE{08g~ePv4&cao0L{lk)wI?!8H?l2Qkak^Cde$ zIP#H7{5aYd4pyy{@w65LI`+}x!x~I_@e_;iWuyb;HpM9^2c_P-7!c?g@YD3V&=^C6B>8Gq@apr zr}cC;+$^IPp50jvuUH;?v_)pWxRtjhwY}rUKRyks2(uyowk_pV{4Ed!V|yv_pfw8` zm0GO_1rUbNDlio3ggztaCjtAxCDx;_q54#V$mvbW{f5i4W3l*cuUIlDjq3m++ZIA` zn83qd+V`|aQWcMt!h=Yg1xVk-9G$Jkb1 z_ius!d#g&96_rF+MEn5bBwz@T!k*(2jjiim$`&Ig@Apsn$p9X73#+wKmUF7@C3=p! zhpKvo*J8m?+;UnooC9kgt&gm{7s;n?n7G%9?2Aj1M-<9j={n(0N=ZenhIBvt$3xG{ zx{bc>wYNH%!ot~(JBYwAm*VuJkCfAPK@q(=$TjovaFrG|O~N`IEcuISod$*IWczHH z;`%^9(Sp%2`D;Xxc}Req%PI>=XHZ}<9 zl__~6oDvj`Rl3y6Mhn9jyk1!z&0`RWdrGz`t3)kM8ZSt7^~|trZ+Wm(!-g|WqZ>@t zsex*A%N-)p53^c}EZtNu>A2qeLQ>=PV@)`xGPme%&W?zsu94VZR+EO~wS6gw!f z8u(7e&#slL_thR&H8bm1p2$5jrZ#^}#x`JyD8HW%#)0-SPuxGI0EM8WRf z9{LZW^|xVY=xrL8AvZ7l>)fz?`k9Wy-Wgo!4EAwDS#gW+PJgSN@Ke3N)$*kGb~&_?VV0#Y+k6=K>jjnxWAn0Sn~$!F9$husD! zaf@1t_9C~?V||2ZV#1INJp!El;JJurqCO7MiZ+5ll(9*rVpe?(kx@f~G|PoT2g$eK z>CY2tD{^en5_zni#~TD-rM!E>vTeilDHVa;DTf z<5s=wVJL#X7m4wMID;pN?PYv6ZeToeTN=hx|Aim_a)m#?6`u}&HJ6C5Neiz3sLA~Q zX9VX*iiY%j`H*}*AmySn+QL9t8}|7_edXwA|CC}7H#@cqypZS$bxKkm17eE{6R_%v zrvkmtDjIy$tk~rIW`IJ7LLh_?_I*YTIYIY4zRTHlFJQQe+^CV01huyO7Sy``CQGQL z#*RU1_?n8a!Ayet2jm3Z$PX1;DNO~&GkU@J#`S&l*LYgOQ;~6ksl(chIR$}pvxbrH z0?noEa_Ht3aeq8{BME0&>$`T`=N6%WV-@#-OFxDGfP>pvZ1k_Q9MxAxa;L^>{`b#R z)V3zu_Vsy?{^QT|-v`S7c@sVj$-VhL}8SQY{H+0l`ZatKL| z&agN}^H(De#lQ}PU)9@Rc#%W;!*ThU(dqeZjQT5ubO^#3HDY>1aMzDY-PS%1B_H|% zaIHT{NFcV+ZqJRbX`WZwYZw5xP2M+he+H=|t(@%Eo`ji<604xq-zjFi}bL5Z922@lywf!H- zw;pGhvSVLIxB1rvtNvkAi7X?MDUQ%Gq!@bV{;^J5_(Ozj{J;p~GpiAKD=y)Y&$l0@rB`&2TKHf=GCBvRN5xqDXQwhhd!q9x>Xg+#2W$w&R{z z?J|`O>Ut8a6=TCVx&Bz31>wMj(#=ohpT4;%!p(sKvdoaz(BXg?$ftm@I{va%g#hQs zTjnvrL)xK1DGGxT1>G5>mEZKo#=LMdqRQzU-M-Cr+Jt3wwhE2Cljxe_wAo`%X#R1i znx(Mf-tlNTw$iUn+7Tp|Wyr4WPCl~k3KY6Ym=K3tpVsiDKaX`?s1vZu#PU#Ht8!3Y zg1UA3kjewJ zz3)G7bs_84It_2N77DOkvC~mx>Ge}>$$-Tlqs2S*?N5(`AE-T$*O_-znIX(tGIy;+ zT4_adDA*AgFRdQ?#9LXd5sGMt@+<^0cczt8@)>R|OYE+9f1?$11@liy zZ4kPhd8zBEItUfngbt~PSGIw`uesVob;`43$$8G5sr)^nw|oxzSw|MFKRh#B3$7+` ztZ^LcK~D?y*|@Ki6(Ar3#i!5J3^rOVRT>3!9BG?MX<-~+BLntcGlMOh)&v+npWi1+ zj2G_2@fEHw$k6lP)t5P+Ho?f$k|~X)uOU#5;ICmJK8>+1*H}oD=m?}wtL*%4Y_!c5 zVhV?FB0(BehBz=^H2{T*xIIyd9|A`i&QUInEp&#N+n;dr zP&%L>U-NdDCc};Eb`<*;OCG4664Z@4wf*i%xyjSdQsc)exrdw4i(X)jv`{BYii7%Q zM1s;CY=xVYRWI#?E1U!)cuXN}WPzzj=?k_nIx{isKs+a~!7H+eU1qhu+ollYD?E)p zO0{Q9L2Jy)sxl2EBqoBAs}%5E`)WwbpxD|0aS zkINLN05!~eRhTWc-N(VqpN09RYVZfzU#}f_Ru6Y^cK-MuShK45cqkF4R-?LRwbzT6jwDhnD@hZ)SQvCEa4ooC;Ovg5phLxrKYWq^tIWSYXR5#f`jjC%U=g4=?D zd$pEgxGe_wqJf|nQe=8G9h_lHsxre@481%bu#Zsa(AWBv6eu(D#eMA(tpsm@Z3i-Xc_++k>suXj z9-JtPn_X0%S31q`!}Kj{=SC@SBHI4m!Zq|YgnBERxVNY=zuF=$gXB? z$w>$Afs0cd`Il}^eivBv^S}#|=ULD9(3v67{+8GR+&{pYpwhI&o!iXUT`n^CBhZY! zry8jbS6nC)JrJRa{HTy*FM`TU;#tneS{p)sn7-x|l^xY}X4hYTQuEDzGy20uS~CsX zA*D_C+*w2M&Iv^^wF5nk3+SRjWoKC_1gfE)joxZ2Ac^P-WCc@3?vCLF)EYtQB?#GCAzZEw3RnuUK`BChB*&C7x#%u>rlyB4AB2 zQgKIbVuxlZwEt~C10OMWjAjCk20W7gOH&-_#q_Q)VC^>r-Y+wKo*fjP@oyUYzd6Tv z+))b0U-ek}1?>K3o@@V|CH)tBDz0s3W9;bIlEe-|CAA z^N|V(49PlTPcJYZxe!ZER==BPd-}!^m&AS#2=Vsgx_P~co~(TQ^$nScs9II0vah4t zYCu|LWTvKjeE1m9=bumCjIWA(!t$hNIx;FMno-gS80K&V&5=5A9g)@;40lxa=~SpM zoZ=hQEtWes1KctTJ}4WhTuUxJhp5Qd^_>n$4AT1U4hj^fXaa(B8aD#P)@^8*QtZ6S zhbYeirgt4XRX5-0L?Nm9= z70kcT^54zg_k5pa{pqTEW$ zn(}-wxOtIinHl+Q?mFum$gD|gc>^o|o_2T^r0aM3HF~Sbt}vj$?z7vhonZ-CKaWIh zYhDM{pPPpotByl!(b{`0!89xl0osxU6EcYkogqJR8qdDrKRXBtXP-Q2@@EV z&pK;{P#FxJMNu!_=W1{j?$9oux_qPvoxDO>7(_lY*IzT;0iy<2)gKRf@ujRbmsUVZoz(wh3QUn@eaR2+ZJAWGiB4T0{v2*m_5k2lui%-+%=Qo{rva^ zb{Gdrg~*2bJx&h3bTc1MlI5al9%o15B<7>VfcStsZ&(zu4!&Tl&`ADzEZ=Bs#x$A` z9yu#sBn0i7u#O;ZF!o)Wo>9D2MB9Ln>vtIC82wg*ORQpFnrr_I6)6qKzh(%=f0_km;U(@HNrNNE!+oaESL&fQs=vs z^<|fR9$%{%UUqucbG%KsOKa0aKrHb2J1Y@1_q^r(MrR?Q4kv9ALDT1`5HXHz60jGK znzTpb3P5X*){@vJ5XNkj>c*c5+0zG5KmXgg@VA6roahghzIv5CaE-pWdQb{1FZV5HdnE3c($1xcmYAGn-sNuCHCQM7oZN-d#y6nbK8VWF=hX!^<9 zT+FSMAUrtIC`Ze`ZsBQ;5Mfj7?T6d_F!E`0EmyHP9=)E;VTS8Pd*`kD#dxP@6Id2% zGfK%-S%eA3mrm=Pg~UqfgN4rSY>YX9lhbc0UyiZ#6(L(W=6eF^1Jb9HRPfDs-)rBvGFzpVO9CC z&k^Ns;McPKWd&@PPzj1E^}=*+b~9Foso^Mbi(h)XM7(vY>G04PI>@Tk^qp(B&d)KBg-`c44H|7=zQw{fi5evRyn+8-awu;{&3B~VcYjX_?oLIM=?YbsHbz9}!(lEcN&5TL4Da1Nr9|JiQ@6XWEsw%ukD!f6A?obIWA>e~Mo!ETf(y}ZKU^vBs(vq+6XVfcrR2xAwXV`Bg za(Vh+c+*OTMRrjo*M6F^+7$FeY5j33$A&ET%q35r8j02gRGnBhTG6DlYXYfnVBt&T zR+(s&e-S~RFJUoGdRD5+nKCV3E*@N0Qb1BY=BHCaESoQTo$VYi@rDyFN|bFMDA(Ks z>C0{7U{x1CFF**6lMuxJP{dnb>XM3O9G-f;LV6^2WWdG(YfLZ3tFuU`Q9) zeh_C|2e`wJ>&!q;VHBFWym8Xg;`o|lB`rcJEf?)ekbb@o5M`f(XZ{i1>1}h7o$|Ug z4gz>)uDiND+Oo{f>BnjO5$YMD>gG-SR!ijuMI;EhZq%hg

Wc9T%c`&E)P%%2QV0-A~ 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

aAYCQ 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 C1t(B!@D98%G0-ogDkLM0p670%ZeIPrC*5k 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%0DIlZ4S`BSC$bB=&S>l3O|(pMx-;) z#_VAl`6GImG((H|1Xeb_+&odnhEXZTnkKg|oy+i;V#|(VUjc}@sqaF00U2TMpbF_0 zy0Bs+=Q7{rR+a#+m%>!;*>jElsI&bFscW%ill8B~>&tOAZH8@U9*kQ>d!hv{J`S3K zz<0G;CM|}1?W!;0M!S5mX)Q`D`|NA|>}x^-FL5Z5G&gw<=NT5je;x(^zQ>I&<^|ZG zzJe&1NZ}o?=1V!wwx4G6Bd3)Y73+LuCrR=P`-V}sYu$_3%9K6(nqN(>LZM3FXcGl% zFO{I8ezG-9W)weNqp^%8;qgohfk&vY<2;+x3~>@lTvi&r)u^btKq7(`M)0yIR#QKn zi*n(BsoFTHSU5iRi2<;N`(AZwNOP*TEn{VEnnNd<=}43FBCtK((Eci#LW00(3JKcmEa)BV z=dQ8JNIP!s4@(7i%m`A{bzodd2dH&|-C7lXPI?~=x@$LSta8?NKkA@D9)_a9&DQ@u z^qml~hrz|ZTTyb+lA%A|}PZ>di2IZW; zgf^Pu7c#TIVF)ua&Wl1wj|Sr7o3?`>%_?PFa~1q z`!R0%!xiv#ANQz{eUyzV(paPJO#7l8-GZV?Uyix)b*}eRwD;$h%2Y3f-dm32@RM`x zBZ%#kpB@qu(eM>{>7gFnO)Vu&{Zrj1r-%0#pl1IDrs)a+wZd#=$Wwpb>2`2zIbUT* zM~RzH!>kZ9i4`G(tC+lSkH-sY3o1=9$4M%Vn=h)E#U_pDN)3ret7>luP~onOS*egQ z>(uMUY{Ly2?La|g=@N+qo_2lHnK|;R>IBFf&7O~VhSWnZ>DUcMG z%u$zNtx&h3O;Rr2=bB57YZWC?tM9uyDUZfSs)ru4$FiMd$8TSyt7$~RjPCACACk(5 z$YHJ=Ys_Stax$Tf(?_Gfw9D|&Le?!kBDmjIyDG={gmsgO>qB?N&H$X&k zm_A~F^EAqGXN`00{!MBwblP_+(xfIS$u4doi|{Y4^NA#DDC8D_tRk-u3moYu^oTNH z#NF5ki7H_fOxcwovm?hPV_PsO=ZJ>KR`sV>p>lMdAF<+QobtOi&ozF^}mBN$?4x>=jNTCbA6l@|0*1Cv$NA9oJn@m=WzQc(iRN&-Xg-3 zP+M|Q2DU|A9ZjT!+%z+ZMZG3q35syt$w*$UKP+X9cGdMy{3DIo6jiv;3Vu-1FWj*2 z0zNU_4HYV6rJcg4w_a~lONhDfUh!pHg=DBaEIHY+EEy8NV#CTfK5Z(#qVxq2cb)u~ zSTqSQPd7kD#-eP<$!bBs10+m@%536BLwce~Wg27O_|ZBn3&@a&n#VJdSEpcB$Bf1q zPu5Ca3O#7J|0}CVjZr+h7@g||EUN(hl_IUR2IhwknFY@FlH$GRMVHJy;{_anv?mcW zHVF*gsTEN(fedZ$0+y!#TTxA;9QPEhB`_ZXeOfkO$Np|(IU02Lrb;AXnwWu8{88tA z5=2?ysxbOT)Vu}J21#i0YwbuEiJQM3p*{BIs8$IyZGUqhjcZ?HwolZl{RWv{?g48V zS^xNTyTv5YV)JGw7&?JiUwBFAwBiNfDdA45$vj=2L8M(E2B?N0<1fCD3*`it{yv2= zL7)*HkMchVdpM{vkqbkJzu}y)%5(&d`??vA^IiDl_^`1B#;LW-Glg5GoD810xYiK4Q4vQWzgoQPL@I-&#hfa@iG5`=DZ-v(|RY zglBY29;znG;?-Z$r-eHNvE6O*e-snZO_a>DG$`s#omg3R_o{kHVLor}G!zCZ75A6U z9Xizn&cVPJ<5&Q~dl$r6Dj`gBopWV%M5Q=h;VgX%{;lV6HK{WY3PAFh=U-6^@SPC5 z$2B~!*hRcYT$q)t)Y2nXSxEsKFs*VLcP%$^BV9)iJV}-+XM%55lOwuPMlws-6OeVC z^l6vrCr#*Wm`wP)=N9=!rn5=-C*kEgLHAw%%5so(ZSdaEJ`L@Cs*Q#^bC5L+&#c>7 zwSjW6m3`{uow_J{BCY*8T`6(zCN$4ZdHDK&-IBvu6;TGhcTL1lK|px^$G2oL0~;HI z|2{t|RlV(%)zH2+j9v9y>W$-TdSJi;e=koeu0UYSf)j83m_5kf4=7T+IXI|Yxg1`* z?2`FwX)zPlq%PG6UO1>qqpT^_TLe}@@1u%)QKAyU=VaZBd3G#~d5>V0@dMa-byG(y zm5b{d=Q+jms6)Eiu4?^p7AV;+74So7(1O*Lu| z5oz^aWOX#ium()rbN3o|ULA zZ_N|HS30~(8b?+`OF1QJEJm3{>RXslM^iTZD?M#4UP!a4HCumkI!%QoTV?(NwhHaW zXs#h3znAx1!WKj=+HY~<4s+?cFeVw@y}4S2!ckl6X;rJ~GvptWZnN~I%aD*;`>i7C)lnKr$_xQ-WDV?Dew=xoeV&6Bu8maT21#*(<%Zu(@AT(I4bxZ`-x6(HOvrP~p41!$~x1E7j^ znD;`{X}&m+>8;iX_Lb}6^#2Xq)Ahm!)veeis|HxJ42xd3p_4r~W!iB)*9FsMdSMm4+lOZl}{`LMp2fBFhwQuphGHWly10O&T#G^QqqLdkbmay4kdoRlPE))6J4=(a^maZ05a5){CE^{9@6tFbh%7qO=pjN;~Kx3 z6>_xs_L>-q^p z{E1Rf<8X;eevMWkJqrr(QL6BjEg(IAr0fniOj})(-HU6GlP5>!kqS^2pAn@X5f&t| zb2PH%IxrH{B2B=?j=-+uI*x8%lbezRE-H9YGx)E(JCQ!+unuAVfNCDJbfkcIP3N=yhl>^Q={-4{`bUwS?HIY zr_haE9X}xPo)Y}D#@xO&hzS6t8nnr5w%hLT20gmKX1Ch_8Ghbq7e6Cv38|^GvOS1b z1{CH&_vPh-kcn`dlw7n(A^H-)ddfhIUw8IB7gJ}^yemY?#dEqCIoqKt4CkOe6dHD1 z>)FmGf97>b%RfEkb(LV$1b&IQQ4PAijE7vwgkOK^?}<*EDOH;Oop zuDo#Q^nBXZ&|}NY&nXeD6~7;>Nz<08J+>x-`wmw~6r-V8TAFK(!c?=!+Bc-{xO_W%{T7*yO3xI-p2VLa(1!`2KUApV1ZH z4cydu%9aTy%%o~lSaO0k{B)aODXkjz^sI-s42QS05Wiw@zhcmQ(Qfo2`3#1u<7s&x z&A^_eDa((!BPcI3Qv(&Kk1Mbp>(ZWZ&Irlc6{b8C`d`mWHAKVW7lpG7u(J&?s|nx^ zO9R@v)lXiB5^2{I8=U5vu90UB-vdN09qdr{SO#F2-K^o-DhUiNu2-jsiKwvx2XC1%Y|nr`Ymp^b5ytbcQ?Q8GPn>f({LHkYUvAC%*l~pfkQkl+6Rt(1p<0;96l+p}R|EN%dIQ1jM1jnZtTl=a zZ}^yXyZN0~DbVHLi&MmynY_N;Z1VXJ0?#Ns>1?Dr^l572ad&`vkRyoawMOn0A`duz zgXyAdY<$RnHBtV<1X3h2tquH+>eYS+@BioUVNDBr)Bk=t%vAXXax9^J1`~#$vMl}{ z&6OzxWG)t&4@Pth*6EN%kqkN!OEy}&pCrwgOUnpP)%54m6kF7{Ueg`Nfk4Hu>d2$g zYYrr8f?i04)4qU8%shd(Q@+k84}DA>xCz@hEB@?oyh`<)a_y?0+~R%NxcULR*Dj$g zE!1Dg%o{Rp!5v2RI{p>>+NgAorqM+?zGVF3fxKltd`CZ*5|Ahgd3a!63_vq!t@#rk zKLn$W8jkj{$(KGPtc(^*6;384lVo=)$42)DiZ8S+__FPS%hY7?@hs{{mpsaHddhOy zW!3S_?*yXWw9tTzm*MbfIeCl0ZOcaa$lCYxRDG~&)s`PcQ$c7~phPiy#;VU8}cki=Uz*S{p+S39 z>rg`QGOI$Orw^i%y*M=w-);#eYOQqkp38hH3vxWYskm6}!gTw*DayC$(psc{Pi^jy zI%~#KfvR_$)FryIC2TTvX?Nx$Iny;K`5eqiWm?+o>7p=2xX?Ck0;{NVAx?%)*y;TeA7WtlpWbM$#);AOut^Arw}4 zE;T9pF<4Sh-bXB5(|E4O=AG#2LA>eFSEpj#B1j&Hv@2rbVRAednCSEU)PNtKrKkUw z;m7@mi4nK4w_LnaN^`OD1d}6w>yP_@qcR$W;u&3N@vd1xn{+iPki#-wrLezeu2e5($@IUzcVhIaY%9g#E z$3ZAUL*3}1UHjC;o&d)_nl`&)SKxZ3$dkyB6qtl6tpxy&z>}=s%mEG+%t{%CEck0! z?>}6YTX_`8gThXdUYR3&Q%+WdDATwCc%cyKL7QA0}YHWcSLu7%I|rA$|{QG&j3!n>zF4e zBaI&>%{)>$`>K0G7->fvV2?k8xVBG|HUkht=EZ81a;+@Mo*7I&=(7z!q8qXh6W+T_ z2JXDY*9922Tp&viyL28;{FGpn28Nk-Fhli*1kqi=5tILUT7rCEF3>s-N zgq3E}TlOnl?s+Zs@^NuSWC+V&lHFeA9wo;LwITCX^G6&8AqvM!AW{qy9&E0iC1lDZ zb_d4i)(v{@Zf%~g9gjf2w~IS%UXE=dTT!`aemWR==L-=T}Z&tm&cK)Gh9aK=$f#)1r!Zsb5tSKKtIG_9LK{>Du zW5!GBm}1>E=C~~r7|gCUy} zL=hwOsPOGo^j?}f-|o*nQ5B!5&}Sey-yn!jRSbNoYr9YZ7>utnl4L#Hkh0Jt1IXU` zU}^rI#%008l(i(=H(OcKF3vWs?(xAXS;95Q$yaL5m90=KBI3*6c#ctEar&a4U${j= z2cfiBoaeyg{#%-mFi{NGl_Iz(*qcnfC0l)G>c2&w%I}Vwej5vqKmDjBM-9oB=SB)P z;RVVzoz!%25}WQ}CRXeMK%qQD>~rCAPal_UWXzhr#%(=rY=%*ZcHk2?z?{r z6Z%Moy31$TYd$VOotbXRhOsmy;9=}*)oFQR`yJHatDfQ<+&S%o?tiQ2{|W3tcOO_) zK!bpweG~8g=Yc&bJ8K&|Gdl-67bP1D2U|Or|32y}|8Mr4?BUdU>gd9cxL#O9ernRd zVgA43q<&M~VO1*`Qi^E3Z*fK7&|VtK^kH#Sm&**_1}B zu4&@yTxd2T_&Pb4T0PWSH*U4w{UO&cx~OP<%c=*i{D*(n3FLS>CJV^|uL0=>7(%@& zTLbi|nm7O)RrYxxYMl1)RSt35He64x^uA4Zvv%wNxT-{>B?*Vlb03waR~P`OZGv%o zSb7F|-x6`FMqD))0LC`asJXOd0}7#wU}b;ZkBj7`hFzer^xo;q?KpSE#Ve2GYJbfu;WB2?PTZ>Jf*(@}N#ZUZ zw-I-)P`ea*wQWH5+kk(Nh_b7E*YoF|$9(}(n9X!Nk0_y!K@Z&@Rj7<6Mx-l=pxsiq zT=i;O9!9z*d&9dk9h`_es9(!TSOB6%ZGH-biPfH^F=1hJdloE!w~d`zdzLo7Wppf4 zE(220C!(4GU%#>`UZ!9!6ZzmrX*yrUeY zwn~^eR{9>iJ;IoK<_MoflW4nQ4QsL8Bt(*CXT)Td`iuHRDll4aF#o5^?O9WBAH@%= z*6u+Z7IvOeC2{$IvSKk2n87{Kj%dc)1*9;*ylGU`p*>kPgkLKe8?Pv$poCp#?l7U1 zV1pA?WCM#6S<|sZ)tpW?Y!G+{nVLN&SxQzlecnSVtBN!?-nh+%1~=X0a8jXrReJ{2 zT72lHn{c%F7aNQ@Ts~>c;6Tb<5GnInt~xv%OUAqqMJD@{S;1{!9e*_{yDO}%v5Yb6 zQy~*~GDT4ucmt255$AiTE{ga}?=!QoU};Q`zfAgVRLp9vEJP|M3!krn*z~_4q0&ua zIH-frF<%sAGy0iy*t3V=d#@piaO=%Od3*xE>%(OMp6NCrmgNmbzWuDp1NH1?W2kaW zT3_jMlXEB@k;(l@D}9NZc0Vs{nVVpL{4(7FZ{d!1Mlr!(QZzX$HwYoDt_T&ZRbtE} z;b9X>cysoDLRg~L-it=MAm;25W-K_d`yAZWyO3DAJqRov|L~!xUkUfE;zy^OBz+wX z$7?H+in^R8_EGmV%JMg5V_ zq$@ak4;ijn$^pa9{5goYJ7Gg_M`p!a)ll}te51^n))EUi=ou*XspgVyi>Zi?qm`1kRgKGJ+fdt| zNiO$BA3ukri)SNpu-)&ZPNIDsO1r~mZY4`^{t@cj(-Er@@xfix&BKvno$w?DzFE8N zy`F1Jd%;&FTMt>Tm1UM~qEyiFeh2mFE*su3ta|xWe3eGyJSpSUY+;khzeX|p8rVC^ zm-3jk`KUbGfxX&lY9(Z2#3N@l<`NS3`WiS9>lLY=L!JA}t~k*hD$QcdOaC175S&Na zx_s>Jeso@N7)#E;#bc_pihnq9q5_URUQbZ!kNhOCMB+L(_@eOLlCp=9mwRSKb+mjC z`cbV8-M{a*ye0!IgF8BDM2`NRk2)#-Uq;xo*sxJx&tpMppByKW>TEc91CmR_HmtTk zMGLC)VM^(*2llOZWhxeQRC9f;o%X+SAmxlOOEG4#hsp^W!8!1UNi_hhX&%YKG^J8Q z7A&z+?S8Y1P-RLo`4v9X#Eypol`t$1cPuemR~2r!wMXGbMOe?!Sq&R1s@jWX@UxQu zlBPObE`Y2?Xy2!oT4N{1RNWLZiROiJ8S{7X{ZmfMz~y37GCLPn`Nc;X#`FCL@>@=L z{TMk*>4XT{AgyHESf1iGNW;`|jugD6PC(&PPEDRQMloCu?N%|qqYd~_>?RE4Wxw0G zAQYbdKE5Ewqdx1SAp-=)h1l^fNZJiK?ZDnYeZGq^d$eF_^|X^?WXUR{5oSr% z?Vn@I6nvRRk?)tJzc{9CfqzN01S-f*;n&4CA_MKYtA-$&tn>fS#JCPiC-4#gr(DxR z%{7jGwAgCVc48eVafcb>4LtvRuE4V@Mc(=PL#pm3Kz+NCK)Fy^baU@!ZR`ANu#OF^ z8Ms)DJpaVq1Q;}y!|B6BCJGOofpzRm{$m#;!Y&!DD@vj}=+H5A?w0nC)+lwvqcs&+R!2M$mI7K%PFfyR%#<{k zC?KgRmc57pGre+)%eJt!uxiV^Q+oZSq8wsIP%D zxD}AD&D)awyUA+6d0JZtpe30q6Pw)SUhubUS3Gdyn){R8Ti|RfXVx{LMP~9f(lJTU zjzc@khm_1WxAfGC_KsG6{p0tp&?P(m%oD=N9pt<6GgsU*SylgV3)+`qmCppu$GmW7 zx{sOyrEuVRN`EI+q%R*E;!0dx&5P|`-t{^A#d3?pUw zvSRC_Mnu$v1txAJ=WHA!XTDJ%5X;g;n)*m7Y>-YD6BotGA_TcqQL@?Wo2X+Iy5Rie zZ6B?_I)r@oL)!JG7ItrfsINFG=ih|k1cn}~Er#B0DQL=Gy;-Xn{+{eTN8S1@^-^U^ zBD#XYcD+^^j%~>IqEq2-OuUsep#A? zGD=gGxs#Q;B8hLh${!IxN}3~%YLI5XXU%{l6$r^<2#qzUVUAqb!Y?hxr+>lZc#qpd$YKO2b^;tF@zs7*w!oDoop|9{utA* zF*$PK-l8TZv;C8Ju(xe?FfUE;5$Tgg1E3;d9k0~2HYk${6`UEYYxTgrnU>w&}Gfzj#T#@){CJPH|hIv;`_Pu^}_d&{dL6mnf~=Y{)tcgb#(Oc#CPY5 z`9=J(vQ_=uUHf&^t!-rWT-|N9?dv=FW%FXjJXAgWbPc(MzpD2kbw(HbMfR3FrC0Kt z{`r)?V<-8X{`w>Z{2=>yj{i(vjkJ8+rFCCeXZWbKCI5P9-IP=W*QEKoNI~s;D>fM_GB4?kZ zS0IY@G5-aTP%c&9SuM&LL29Yzy=Kgf+T_zU*9fyLufN*t1^E6}Eor)<<1&R(%3}Ov ztdP$<(vy|-*!`@n;lFtPLo?%n-%sT2r>oRX6UwX4Iia7?E+_9_UBCWk$)40o!db^d}+ zdEGU=L*waO@^vk#{|@)f#OH1e=JV-humH-wc0JHhnid3g^S)@7zTq@8W0>YtYkp-_f;TB zThaKkR1o1DK2bgsy&I*HZ?*?JOZy~be2$ubVx|`c2T9v1S)}Xlrt6#SRDYB|wt8|Y zbA~;Tf?w5lfmn4npWxl#8W#!0$KOpnKrSD6ehY$pkG8Y9-K0E@<7gf7-Cv)ZNN6s{ zo|nBv{d5uZd0E}tp5l%T6AWOy_-fRyPsmsybYj@)%dE(I-dzyOpEk;xpe|V^0 zyJw&|Ey;a&gc2Px2)_Lc z4|%~|mVLf&=|=e4sjcVr;u*JhxNqsdd(vdoc;yK$u;<{RcDc=eb}r}cUo<>|w1w=Z z-~9)O+SV9?n;PtK4Ox&qxT|JgMVp<$tuSHAP}~a@YD$*D>C5E|HX!asO5$2rn^g5_ z=wk#kA)M?H4y zU-?D(30LTm>cORMG~GyrsJ3l(=*N!J!F!a+AN5Y8CC~jkva&8OZ|tsuKW_Md&SBSG z=ir)Ezke<*zX7dg9$&nzj;x=cfPRlcOmt5l(z8pKkGPp%upyff zxcfbhm^ZWadnU+@lsOxI7PIy{m;swysFh-Cd+?=k65UFXAu}HR?AhiL)mlvU7g;_( zj^Lz+2*lE*6zN&}HO=01B?yQoaSUElp!rO>yD!pLWyRVb&5vFZQ?G~T)>hw84kh4l zw>@~2P`UdZj&5mOy^UzxKoK-%?*e}m?-dYLFyB20dQqGgTk(H1A$57lWSrFB=mrt3 zmu%EcS*wN6>sC5OGP0p3%02sN*hyv#kemG233>RU8Ex`1PkH)Mm zNIvt;fX~Uhnw=XJ6Afd_z`!i4iH^A9DW?*mW24{Q9VAgf`#m#UYry8=wsV4Bmfb7G za?Vwyw#c3E<)_;4J;+-82v5x3ZLeZ|xECfXy@H_}ea1g*T{<;E@3@p3t|bmKfkjp+ zhdZpn_m}c}pA!?QZstZ}YugALO)+Cfzg!AJiFbDBrFpi45-LlG35o^wyq6cSi|PK<{}_Xhb<(w za==(_`W)D zhV-v$t~zds>8TK;*KwEtwEoHLgtKMx@KMJ*-)Pcq>p*x%nEbBo2?7qh2>KNk3TKB2 z8;qmTg_GA5$qKy+X++8=udYeLWFR$|A6n3&6_jIt)xPk$YOIwy1)nDK-Sg;CuiXkt zaAvQ&Viwi9JN%V%Bh1b+J@Vf0l!MgqBv>?)B}%qD%x;Inn|2xGn{2cy!=^8zCqtSFz_drbzqLsRkDTYI^Al~w{2a?8K zNnSWbvx+)zapvK`HkPO<3Tv-Gvy3_iD9)Xp=GLqqn<3g_%o=G$7DYp{@6a1K2g-`aIK2g~DLI8LhmXggq<|h;>hU(DV!YNmiPB3ycs17L&Vt z%m$Ga*qJLG8oRJMYDFhQs|0mO&$l&ukmz)|{pYWv`^fP6p?ucSGXX4BgiCnb>`to&Br`|a?I<>X-JJgD-+F(AE4wEbB1vSB}(d(ze=4e6pU;ZiLD(cjQ zTVY9+9lmDmf2l2l|7*2H)Fz!J(ufPi`S&?4A5v`wx0lV@Fz{E6Ps`dsU|;_Ilb9W8 z1!r*QCIgCqszV98d3LDhu?S=V?!2*_J02o~x;MX=1%4FoV${2!(mY0naSMvR%>Zpn z*ji;_XV_M?B~J=aMzEHI%2hMqxpEKd^*{j6|DcnSI~AhtZwOakeVpsIh{-hyW-YN- z2*J>#ZnO-3f%Dr_FU^wcB1gYTVyBz>Ni>$hc%C^y zwi|c9>)X?=mDx;yZ-cC!r0xdNGiM}mQu5GgWH}*c42;|a#{Mu*aNM6KR26uPnu|H( zuzizQTG=NTMWclni8F@nc3LNOI!qAs7M3zCenFHa2?8g2{=+3e9qnu!2(C_}7Mkt8 z2E^8V{^|>G-2%4u-qvKNjz?jM`tUB+&rZ<8i?QVpcwHBCMHbWz7Yj&HaI1 zk_s9CwSWSG3io?n_Iy6$lsqiYz;)SpNQTG%N28;NHUvE;+sMXF z{0_MpeYVR~l<;?BH?ouJbs|3J3g$#HoIZzN%aC;pvIDagzal|k!JeFpQ%_-m?xvYW*-N{sE8!t>963kzc z)k=nNN|}LR#+0%g`VP^TO*SC#zz8mefzh;+jm`f>`%KK&jOI-rP<^a?pU7%O831P67~N2U~jo{b@{}7f$BjDu{>lTb?YFC3Wc?3_I;8Z$gH^m5{>ZkI3Ii zCE-L{?7Fl4!gkahF+nfJ?dsIk`n6zcZwh_17sY?4Kh^@aGNt{ln-&S@lx?7XW@hfxj34Uf2%~?3{!Bw0^!Usb_JvMZ8YO(*{M5!FqadUPPCY4k0+{ z&U~1^8O)~#>RQ^oEI9;@FTm`Hj7`qLg!)Cl?N`S4A(ci>)d3UmXM+(PfOhq>40}W} zOKh{=M9Tf%!{8lS&!MvT9Z7-ifE&`n1Tz{}AZ1${q!Gi%d|iA{X>@d6l*M8)&9nf(>1SvY?|%1ehjhh>IGH zuLKLaWFymEu9Mh?xuO>;!FuX>Fl^>laVoqXj$NwOatX%MuRZNFB+gj?@N16xV7APm z!F>9+r`>9Ks*q%v3WQdI%#p!>`ek^cjRjK(YtT+jwd^^HuY}fBhoPJN(?hD`y&P&0*-ZCR|Vw zSolH{mXweH{9dYTkIZLmF7)D%0*6iTgeC5$_{?8I#$%VjhJA_y@9R;1qcQ|sqt zU&E~wTk@F4VKx~C)!TS#dyavU4Q-|Dn$H1;LW8Y6jJr&oa*9Nu-y>>!4JKEbYk(5l zca&5vN|7!LzX(4l+aJ9Kh%nH?#!)lE1(| zBQx&wJ`sz~HTQ?UY5d@A)-iEK&^$aK4?ET$Wi zwF`-HG{D!vm^MJut=?%PiB9FXFjfGHSq2z@>DJDS!8Ezpn?poXlQ=d9RJ!%^G~uCx zf#kxf=f-k-0h4am315W|XL-FW=bj!O2?3IB<4ULgc!D$$c1c!8-ChoGbQ|Ru*Hy#S zDR;wcnk!+~xL`b&`;nCi;FZ95aLZ)=Vz8Wf;*iQ|OtMWFIRZlf+w_(JkZ$ut4*Ybd zObo;V^c8^XxTgak-P6fUUCGf7hTJR>pokBUkP5q>HdHR7oH z&A^OZ@^GGI#ZOJlbCVh)DQpYSbg!ooG8QtI*?=_Uc)f10qjqiV4G~uae%v=8;pq_q zD&6}vw>kqQjWlv%kmaPQWeIk4i@X0A@=q>IaS2Ic2}cg7biV@ksZk3{S5%T1C>Gll3Yj=)momfxCf&#BX<4aY;(v^=JJAEuaTY-7KF|EkSuqR(FtcL! zMzkh#WU!%m0;lkH48O=VF}usk$5BccVCnG$AqJBZEGL$u>fl{d#$OHW>T@E*a0|wK zY-_3u8Nr9eqk&&dXS~?G+y_B>75NA_j^UyORC=U(jof8htP8^=A*Wtn${)S0Xk0nN z_6u#Fy2c}d;EV-adgO15x**FuC8H*@nOBWjfThPFZTG#+$OMKv$OCo$UVx;BUHiK3 zawx_!lg0xxNQ}iT-BvV?xWwKp4$D$>Fc~1Q#zNg3MxJp=f3YuC{xp<4!a9)1SpcO+ zIT73H6XXRtg_VJw=DS7)8+!F*O5{uuAe!%}lv_&oU;&mMmpYdJ*EK_xUyZZ@>GjV7 zEIqCy$0Qt|I+>8?Ac|7aZGff6b>L4;5R|{N9>9q>>DRbmJr^c8onQdb-borwWPtj_ z+j{1qQ)IfKWt1EeKRHw9hWJ?krRNjBQ6lduZ-DTUkd6gNdfrqVu})7o>ENe}U?2&w z07}pNIT9Cm2=9a^m^zuJe)Kk;S+2lMQMdvd?knKoTT5U8m7bU3NtaZ4Fu=%xd^DzY z{Mp-pX8pc(|6g}S(qtY=gx3NfJ?j}RCRb^cy6NYM1C+iXz|r$iPNu&NfDa~QkU&iy zF03~Xc=T+ymY{lSM9UpD3B|SmMbBe{xR#*5qOvMm#ZmOL07cJ!9z!Xel`;}azW%+EJ4FXZZK<&{ zKtQ7BCHtJOQ&*CVn%l=~RxDuAlxe=dn35M!C7xb|-^)t1&IyVVA^G|jEz_C%5J;Nr zVUPeP{>-94NZxuMeEh*F7>Pnl*d7m)jYPWy?rXoWwSK$44~kttiBuP0U6`4_?Az{S za(55-Gu32>nE*Z09@WhozjsH_KI+z(rMCeC9JNV&4vlRig33M<`}o=qxLPPMw5iTB zKye5;*25GXFF=34-N|k)any!y*1by0HC@hyn7J8gmY;2~djIZ44=1tNLKu=%LzI6! zpwb7&mwWtyrMQT(2x>$w0Z!5ws!t|8zn6#H!w=r0`(~^Reh1MQy*n!mV5u9p-lNOu zllAS!3FOODTSz_@i?5&W;Q?p3Wsb5rYlu-izhH~>mE|_QRBw4kRpid9e8dRR$-blby@uguNnzS8xzx5|vUSCPZ~~|FQ#pIL)zx$|g57&CQ4wQOwP3Z2q9wk- zZFbepz%~7Oqae!X$(SKzX73FKp?!qW=Wh3~qDlzeRk*~dEBfgW)75XoeBzko+HcVh z6&VKewef_(=frK^A1%rh6Oht^cQY#8Uj@$|-s~98NTQgREfnQ{jjCnl(&M(c+RvnI zdi@Uoa0+@bg_9|+A;9_BxJ|C!AE z*xu(AAic5hDch=Bp=g{n$Ty+M%#Ywf&fINqtz0Z(+7zM^BusWMl93LcY~!}KlR9E@ zPpMibP7FxARuB(T{`_7I)E?Z&`P&@G@>}E|aOcD_h`?a0j@#Zo^5I=`Q-A2tj=xRr#OCYYmhmT3b!4Kir~uZCE`HuN*X!x! zy!N=L2pf77kTuXaWJN7d~!6He@W!K_1o3Cnoykxvg!sYqa#& zNloWEUzl%?88jfN>jAg9od8f3OzP#9Q$mM|e2-Eq0(0f*VSJE#N>!$l4ZfXJ8W3>K z-ED7ko(JOF%PC1+NZt@X4(7=C+cONm_9^Q_D3TuPZ-jGHEEO`9x1I6{1tjJOeSydO*lkAMN~|Z%KA9`6!oP6DIg>ca-3A1 zq*+~Rp2~c?5yR%!2aLpPM^Db9ySx-wr%}$qP?)0wK;q?in;P1J#Hk`Ngt4HMavdBT z@DZ;!`wrFVl_uJQ&K0gU3l5=-1%2`>IT)T77i@fn zjae1O0vu4ok<1=oui*C`nokV$Pt{3}WOy#9s&wz{sF{PsxpZ|Oit5?oH5ZwtBmdJM z{Q|_rW+{ zvW_vF_6RT?D|D|GjLosZk7&*>!A+qSTxG{+@L;iEY_@lqci#~y&W+j}!$bHs5JbIw z3Esgoe?LtVb3NrGg-hoGX0vi|Ft)Py=WbJ07Ko2vlDyaIBTFEMh9Ss9y=JLn`Ar3{Ej1mBEveEJAuXmsx#V0_#A) z;Tv7OcM{Jub~H)^PT&+NLMwrENcDNA-n_RTLs1T)q5+H}&w$km|NAhCfG>4y6GS1&8^8cDK_sXIMS zsocYb`-gFOU*6BuT^~HvF90%TghNT|9yy2SI1m;5i!LFv$Ch-+HUW+ON+cXwI$qwz zW6T#|vsGPbu?HB1M7F`Dv+v155HZWg6_?_qMl(RBSR&uh@*9P@8qwKIa<;|m@(~1P zHrtMLL$hPmX>vshg{mqJV|kZibs3^VxW;2C{+l*Rg6| zc;HhAK^gn9QRDh>=7Y_(dY!A@Jtax<2mIR^Co6Qcfp4Jb(T685RFsE-m3!q3pn>!- zZwrh=YU4UtQ}WJasiocEG<6o|adb4f`Tn?%CLqRmm0~wA`~-ALiwxIOzV~(pT5_mF z?3Xk>w=4a7iv-tm2JX8fho|VSm}Ml11rKDy`k>=n-2GWhsp>STH;S~uB`^)k2OSBE zc}0ZYf2~#9l8waq3OvIa{GO@F+dDB{M)c6dMyAa26WV!T8kXBQj%1D{E5xED$SLs7 z;Br~GTLRIrMjwvdYrnl}obo=?PS20J&Idai=?$V@HkOf_u_lV;cB}xNOcMjukVbCb ztM4Qef_i~}2wmV?)=uTC2Rj?zyg3|GSWRSJbO)k|)FAz8pc&FQldP(lcl=HqJOm}( z+pv_tGoyTYjoQ0`mPj=XI`Z4E~N}v~(*FCdxIrUB) z2GAWs{e&Dx&LPkX`AP4Z?b;Kq8KDjHueKe)1cG4=FW0+cZ`ru0Vlo@8A1&vB)DaRPP<9&b%D-wR>X9ABIw}{W3?xvKPEeyWY}YmennkV zM;_MM)XcW|kgJ`RXWT#vjM)RAP$RZQ z8X)mbjd4BU?87VJrKt#3Ya_qkz4Ud7%V;bPuqqs#_W>PYArs+d{uP23`_M znRulz0>8_?CG7Z=JA<`(8|bw2HC%r^c^v@s2bJmVBau>5oIG#){H`HLju`4f2sBTD zE{RFz!vF;89-c?@w$Jk}69+waBWEKs>E_L|inKf^ zGeA$o!UG%@%O~76n%brRavc)U-6~d|2Lk&*0LKBk`!-bE&*&$~?#N5>1}JR016GDH zGXfx1b<`(V>D9qPAgkKP8U>t4K8OT?81E1h{^}EK^lC`K*h%aF1yzu*!?Ffp9VS|Q zMzGPNa?JkrjZwoX)FM`l`((1+QsVtXx0!yun{C$zGr{d@4Kx@MqtK~==K0n1gyC0D z1XF4a9Ipr^Vae~KRt|acCZTj2=-bc4XF^`1sk0&|O_=MztRmw>lD!_0!y|41cXn)x zZR*h}2>b)$BCy6K)3lO>N1U84kF+jmNQ#Z_k{z7wnJTlI!U2EXd0>C8yQ#Fe%6I7$ zp?5+ad_oORxY$A$=w<25fHRZftzuq`7+X!ZWqwy2c-pM3Ds-(-VOLrE$B*gM1-#Y% z?=wzafOKOj;laTO)=v}$yn1G3HNWMy&9f2qmU>E)kx88CP@&v&Fm2#%SHU(9k$n0~ z@8QT;kMyq*$5>$o)||UN2m9=oKw>j#*bbQqIg-*zjR)+6&|S^JK*za7JOES>i8XE2 z1CGfO6?{hy<~eRvkU8qhr!(V1pr=c8A0nv^rsO7m@{ zcjN7i30CEJ57}|uvSqdK zq0mc(UUbIok^cQx?KaVJ2!5PpBM)wpZK!C16%RORey@V?9e$OitH*AVil8dSfY9C; zThsTI+d50wWm2fAiyne5a1ZRnHW0Sp|NUyYZS!tHF5;%L*1??AW%^Eb8Me>r@mg|t zNNg)ZtO{>1*ngA7aEZAEmI`XR&NZIWZG zNe>AoI?ssQc9jR(#qk}JWR5r&(3XqshTcX-LsJ;f2>264EUi#40)5qJAv%vrYput0}-sbs+avQGQL=sgs z>Iy^^1q;=Z)^&zQTumT&;csUk%QoIl`A?z?YHEwSOm7Q)&-}gRlX`rJ521a5=75a? zMy-?CUQ6L2r~J~D{S<-HgNut)uz_#HX}_Lv8)-f2a;vLVyhmMeyksdcJ!rR; z)*3=Uu?B+R67?RAYYgsKE^RB}8K-EwdlU&D-gW0vmH0$RWF`XmHqYA6IBE?x9$mc6 z1}|OHjI3Q;6&iOovaBuG>D}4ZyoqY%1;#k*Scz8&@4w-B3zi!9KHxL&r&@Mojf1LS zIQ#Y07A&=&#?I8UvBI{gejTVrW8W=&Ca;ovn}Y2}9QW-w0;r-DiYk)W5#spN!;`js z#rOLeM15c-o?xx;rf%UG7xI<1GbOeo1{^rroQm>0Yej3nE%j^GwFw^rl9W$M zH;qa|fNu7%J{@HCYY*>3&J1$u@)|0Im``JerBYl$(TqWDzs>Y(rnM6<-g&1MTmYqu zE-@&m>M4UDUcarhm5>Y5r8fEGlysd=LN6slI$6PG{NDa?`ym$+IK8cDk}}d;x3*!z zjCdtY?K3>#>>%_i-ptDgT^q|*XqaAy&&CrTa^X(t&)cG~!7n7e1Ou@`2+|A1Sak$L zZKt8WP2-v%Mc|;2sWzT@kcF{;qy~1W-57;^J(%XyJ+NF`ZbD}I{Fq><_YH4vj|NlY zyW#+zJp{mLV1Zm}m(aRcrkJKqeA*Vd1I-ZmC@eLw8q5M3UWyr5rJq!gsAm zFwhH(?4EV8Y%K9=ok7ipxB4=cU)8`XwX4x(^0p(i3wROs$3%YxR=5J@VCojAr5+pe z>Dm>)mTwE(&i$wS$kzKm3E+eLBgpAnTI7tz}{D-|?Ay})CUOL+6ZwCc?{)%`&1YK>1qDQO$rYk^(r*WHoHT&uv}Qn&fk!WF6)W{L)u5 zq>z$miyC0EAx&fI1>=Htgf-AL@Js!up7$Nb2#o4%5AUVWW*<+!L=R7h_m1oeNrhfDU^;?3JzDeMXvq9Is zz*==ReK63gdlz@?zV}U<0(e3CWf;uE+tCBL)cXnKDVm(>p$TbHSNkUfVr&?M2L$7s zUl7M#CO}e&BhV|vvXw$XRT}Xb!94FfmN%p0eN9H+truP6SgCDofm-?+Unz5&yOYbK z9wo(Tjj865xbQv@OXKnxj{gtwY{-?E$g+-dvVwWy5w~@Ybh`0mE)&qLD@EC8C(Miv zF;C)(+~zs*xu_JksNp@?EUpm2Zr1JW4c`K>G_DPw_QeYb@QKjsdcVmC2BKvM3V$sy zOJ|3z4Syv+?ac++sZJ>x4fFqNfn6GQVgtU()TK~F8Btz}>#?Yf?OEQ4Z9gP7_4IDm ztVluQCG0wsPRN+#qrdfS?76Y2LSpCMhq}9>Um} ztrD|^k*dW7A95S%%vT0!5(1JgE28_+WC7z@%|dBU3pCTT+lBdENNSuwnrjj#SV<@| z9;{5@ndVi2KHZs$&lqa0L(qmwb>7g>a+Hze;|bp9F710Nc|Q_ZE*42M9W_2A2uaH6 zI(F}0T}H>aT#ZL4A5YRruV>t5Io?$gzZNK_dEL_?$Z00;7^um(t@P{+?EwD`U?tEjO#wO>;rN^NL>(Tv!u&+Qe%@Hwp36r~;>^*9mR4G)ZKnF7tSf)8o zqAIz($EAbt>PSBk$p99vQ=bxSbY8I&|98|~8Hfro-Tj7Sxau8(isX5Ya)#ucH5FF- zWF&-cAW!7>mi_-v5jL5`6gma8T{C2F0nD#^Dg8>=<_dR8%J{4gp} zTHu%{U;q1(426G`_;_0#%03LySmpJrEig=LnT|@)9T9i$dI6Z3y|4yr%M%-#{#u}! z*bL+EI}(iere*?J8@RtZoLH{Bs-Oj;iCN({rQRDcNe*Lb7Q_A_AbDA--2%_Fo-n?b z*xU@;7{LD`+Ax|tqX?b`fn-XLe8x^;b9X5p`zsCQSItxf*@-E%z%i{y9K|YLU$3pI zc8%QRhIue{K5r!&XMMjSc@j;prP?mOiZ19N+xLgM?aqpFWIK<( zB$#Jf+%W}glg{QFb!TjolMy(kl)fqpzlTUSlx3m# zyh~iY4j;aO#o=eMf^Ly?{TvWUbPK0WtNU#NzZS@)rs0#on2yCVj+L4+f}F^Da6cLjka0O*Vu&&&Ksx$3xot<#0&2!Z#7zGdo9z+ zrOl$K*vSaV^6n=Z3ZBuTZGOe>k}(V4!2!s!PWF>QL{2`KJ*!%aw%HHQ=kMa}ns{3y zSp;}OtnHvWy|rkZyKH`UqpzQeHn#HX9?*}VH{Gh0rn@*709HN&$1gFWktJ7U<91s&@Fwb(cJ_hDdn?L zYL~jJ8w5NyjglrojW~QwV3E%D274x_E+CggV-S#;>|nEggz#qzEK2Z3r%YMv<?(*<` zeegW((KP#Onp8yk?XbM_3rt`4A{49M{_59yG|sO?(`lrta%e(S)Bsa&;Malu+K8q( z`tc6FN5~l&yFEzO32u#A$j(bx+KARUk1wfym(L?<`=bu9gdL3`6Z@XGSfP~X5g9n{ z%5yO5Mh#Pk9C%-*iCB|Zp=4i8-1fc-Ui+(*N>q_lHEI2|z#%2?%fG=k<%ptQsMufx zjqn>aDc~qu;EgmeTt{iB*iB46T(U}8fS}@@X52QCcF%;oOvd_#f+BO z@61k6vetw!+4MSxN?m=M(JsH8ezXN=6v39ao%j2AZy$?Smll95u2qaTI~FwdJ!!EjsXRwS;B9u2cW^MjN|)ue21KzI zy~vCYIRdq+DfMgJ;4aiTD*zp<3OOcaaC$XKUny`!g0wmvKHBz~Jgg3fk560xTSUQE4 z5hypLbn784KIA=vwwg+^OWa|R7;Y9iU&1+)D;kWme11Z(Ag!}Y9gBmIcZNQR5OD@8 zww@7PoSY=93Xt!zIc87MI?t%UBWFgKZ5Nqg z-@+Mpw!zDMjcA|q#wkTjkgu+!scn)>}5hM(D|g7(Gx%soG(n^Wzjao_+tN&M+1$fcp9MKpLf5 zu4PrLQ_6G`uLT)RNqcS#yE@+^SZJ*WqUHCYviWA@p-JV~5&DH2$=Dm?BGVqANv+v%KWFWy(TYh&;-9CgVJeZBbEywD!#_R0xguoi5W+yx)REU`~a%Q4B zFf}>?<0oM@0&R4*Arj6;f)r5(EQ7~9acNL4R6h4W8l_f_`IJz{9N!-TVQAf~%QR$0 zzaB`V)K2f=nH6nBjYWlRb}bLj#@pA z$m#t**vzt04az2oFbe3v8>q?kjA)^or4ZgXJ=@Cy0(4zA)o$YP`5Mtc`+>j;xRg{{ zFaVpQBBI807K)EKA<;zp5rWO#9X6}+4`Mn1s)ZL@QN^PfiAH*M^6NVBvyM3P?qa;f z)DrKAVAK$~qc#pynh5B=G1$7WrbK|{VayM`agXFto5#Y?Lds52R0G0t1j|x{@(IyM zzebK8$z`SBjA$Ec<0Wh$gTzNfBb`V7>=ij`@Bvt`Q+Ma3C1LkQ zR@#^8c|7k{?~yp_{Rkz^+lm2;fkp5NdgYJSC~o3m5ZR-Cb++A$+RcUAon?f8si+KT ztnloSKV3c1SbKU`Bhy<1({#1p=3FEjN^0HJnTiv8 z)ZGirQzCmb@^K<@qnW3ml+cpCZ@hZ|6bkQn>5)Aeb|j#4%gT}$AWpwqGO^X8*peQ} zqhW8TLLvU!u-F7$vZ+UY%W!y4eUI$Xu*3KDzs>sSmij_b+|=blO=(}`jYc^v%e)aA z>zde-M?K(>QZwFRXV@O8qfrj*P^6?&wB|y3_;kwpkwPg3jpWhW-Ru+Wm=G4qAriHw zh1Ecs4n8EBXgd;NH?JaDF65UKKv4)V&D%Nm$R3S$;!RcBT;`oh#<52RA#TXJpuJwt zh&K8K3Lf2aqhwv}OSv>|?QASwp&O4J(&&eAC~8x>G}N-Cco}w5y7B9gK^o(PymnE7 z7(HF+$o`!;+uPt=MgnP!Lz6*CY!)C+Xl2EINhA}m_D<|X-y?-Izb>LxbVXqr-KC&{ zHJajJM$|B_$Rf>joFhr`V^g(kc1{tH8^T#*1BV`2q#sf0Zmb7vPE z1}c$8nrEBG-H3Mg?t`8zCjlg|d)@}tBaJlkMc?E%^E6dhz_dWB8vF220^cKvboAkS z;WI{{x`$$_x9L;~F>yM&PO!T zvmyH2sDyKSbi+w~B^!mhL`5T!H2a}**{Zl^x~ZEuKc<=?ob3kXJ#tC29}81I-&NGb z2a%dOT7Y}D#wsOw@ZaCAg@`Bn9(MInKz5<)H0>d+sb!n~%9bu~{-T~4a z?9`;jE=|wDU?g{dAWYaCs_QO>!N;2JQ~C8kCaq_@_VKPQg~kHB*%FNF1b{H}XbWr- z+l0MeBE(%iE!Zqc71S)4RmHwuBQ(Q#>=0uq!y(Yc;(nIsKdOl~mhQ3Mtp`GhNz7|x z%&{D#skC)n5o~JHK>_!AM2U|$f+s5BO?|PCu9WC|67jW_M|8SS(k8+Z4!?NSybh4<7wPl2t!@kAr- zr%U%5_bJ5&Na)5Ebzp|T$iqm-6OHsb?im)dKfC%qciqoqTX|!8jcBCfUKU<0&}i$t z*qQPKqsdlsGUJIBI_LKUp0W%X7zR^dYij$=t3nAX|3=`Ka(WKlbGHoDx~dr=>&kf# zJZ!#lHiC(!bdfUhU`+%Qo5nKmY3w`?H-;E&1cE82e1(CT+h0m5)Ix!pq6&$YIs22SkakCkJ#@nm5ZQK+rH@z3!FNs=w#{#3tRb(KriL=0eDGlIGYZ8 zKN<%Eb+spE8lu|Yh%N74^`de=6QL}HR+BbM!6*SasEU3g1shHOiUYX7P+~$&B?V#9 zZM^nyVPn_3)GlO!kXKW>!(MZ~TX+%SgmDk|d~ADn zi3XE+Ty^l~=29gh^hku6=`epI_PxtzNaDVd|E!?(`Zr29r z#xg*PXxJ5F#GZFSx0hI?;n&Sgb?8mJ2ntn2oq*AZZSS%jrz7w3+3ui+PS_)AV=vakx;YYt2BLdCBbaACBkSq8I5#>;H?{&RS$ifSja`oj2AaP! z%^Yht)rpZaRXrl!fLCd-WBCZIQqJvo4cmGm{=LcyUOpKzbR4-BOnHfjAwNAz#2JP=r~M+jF7HjL(FGtpup4- z4O>Lh4T}~!&QzuDsyW8zO~rD$G!xZORkLByLg#7a9-OO`u~fCNPlJ71z+k{kf5W1M z&Knuf(k5@22|z<#j+o#+6o&IL(NO2bKd2XVmpZ=es!H~CfApWMNBq+~^aPDO7~wV!;-G)X55qb8o^HOix#S5yhg29!WWzi&OG&}Us?kHP9@0*%o00wy%XBKb;6{20tq9&d=l3L_m8CQHv+Ge zZzbV@QNTc0k!Vf_S6<$OT^o3%{0jIye>86jJE^$v%Qo3NuMld+q6A_oTe&h7@9Fi> zpCgC`_*Ge8p2#JvC*=5qYd)2;vEE~-&m|LT+_(g#WL%!r^ATDyptg~qTeXdJo|x1N_?#eg+V83GdrcG@Ps^+O0>># zdSW%bQy^Gros%sqaTahr7!Q|donNHjcxE9*#`+30(%^-?s!<1HhW%cmd5$YnO37OS zVIgW|KOb5-6){H7Q=)m!L#QzQd}R{v&G)26G_PKM=rn4y&v_h>=IJ;U%<3RxRkw;6 z)~5k4{*Ayba#8IvpZ=v0}$p`tv|9<#HA(kf$T2sLx=new9Pdkfmoz zRY%~L@_RR$N299SBl*D-o5~t;+7CO;Vp;>eluJ7G?a4ofF+(LXfhke(TE%wbGlHES zs=iH8!2wZY3umgXy;br;+DG7*aw(^nj%62fBOFEbQS41?#&-M+MgzZ;OFgKF?mg_O z5i)79EAQRvN`E?xbv+~)YUwvNX_j~k2z>jtMnu*pNE+N58mH<$6ldngkQAcI;T%C-iS! zE-(m6t+Ix8HnR5&7eL}zwXqV8iRkm50>IOvMibb0^JE?#hJsM~~e5kqdY%1*ncwX6?4DOI+_XLc3G|_niqv~&@ zib5Q70Mb;v#oI}l2lr^8GoaOkdYHVc+?EtoSNnwQZxL*?JvWM{u1JI;by6o6DB+OP zJ_!_4Zt2GE%|&NT@a$mJfL>xx6J7orfnv%n9gZitgx70^2_RA;kQwJAY~geSmMMF~ z5G`uoTTb-$bo7grxJkWAej{*9x#bI}k@SrCTlNl>E~I6`)Y<-h1db^;d##J=$SN=D z`4V*?45RQ=hW$+J1Iv`#S6;J4$qIp_fSY7>EmghWZ~SwW(g(X&O@#MjB>ljmGqMPS z?S1qL!9ZIr=Z7fOaj4lhT|!--HFk5*YXlQ*XYp=VJ&NCX{Fta2qA$P*2;7em4YVBv z#O&MPX{bJj{ts}dbzZ|mrxDqu*6%=pX`h!t^G4LB+ffsu^2Rn^BhpKU2rubGG4EY9 zg?#M>%nA4=8)c42FSSeZ?#WWp`3lU5(zC9P(nQC9BhpL#N`g(NJUL-?f&HtTPX`CM z^VdUie8^G8Hu=x2*OKJcc+DJ-+a>_}HzK*z(`jC=SM6e^ae#osWm{J`oTkt`vP-Xu z&fRG8k_;7-&{Hsu&14ZN?-`L@dR24|-P^v)Lrt-(-(hZQKv;|>773<)HV7fr=BXQd z-*?u|s!+z*vWOoO%(UB`K??QOQV{9DG|}V{1u^=H6yk$S?JJq&sQnZdqJNW}lL(R7Wp@C;eumm|U*& z9W3UxE@V}Bv2N8p%mhh|O3N8Zrrr)p!@I)HzLj~%Vb!GwtBqy<%}6r!aqu!bi=1+s zmSwSEQ4O?OMG&=~5iNBd;_Bqr1LHV=BV|<=+wUP>X9etx3{#(H)Kb0Xa;g#G6k0vW zEp=V6y&e&b^ecdsg3P+&u-%3bUMHD%-kXtJ8qbMZRmZ$p_CrKgmro=n`bqM?^^g%C za>V84_u`34&8`guWy$_mJfml%m&S9zfSb!`3hvD>|6wxEww1_%XQY=#x~kgnDlK_q z+DgaA9%;D6W9k9%u9|#Ih03q?g`zy`A8E;OwhWGsSJj-w_Vp8}lkynq%)y)N09aQx z+?&bbGcM7D&Q_oRq_G7WA^tSPQ0osNHoqB3rEyjZnHQ5(FMfE~ms9LJ#%HoinK&zTRZap!46r4#uPf{@Wxi_?~d zrlZG)1d&wPvO=R4QC$@tM)q`ikx`o8CFT1bVPgA9cW$seyLt5(Bc9)kgwnjqXnB&d zoS0G^l=QOa6mJLRMHs-#W~7v62}g3$0l;m-ek)1UF!sQOWIZI9=&J^_9s9}kBK1Wc z&Eue&f(<~_GcroE9w4{0rsTs3FDEqzLbg1m$i|XHHfer*qa%Nnj0I`=sRn?ga3PW)V@5J*_TwB-9S*Z9o<~GPrzhZuS{os^8R?{X*7JH#%RldT zg3Pz^O`fVNBXowSVRDnV0pFuZ*=9mtea*|1|J^PGWCvggci+&l>Bc3v;WD$SYL zm9&$2n1M~Q_ZDXN8io1{K@}^$q01Pdc<91lqr;N4h^fdFK=^#|Llz` z8z?1vFJ$&wCsOJ1zzF!%W27o{EuEV_P)hdX19MACk+L9i)}`Q_=6x!ZztRB)Ldl*J zX0NWb@av>u8_3^zpSNH)en^XtI6}6*W5-9jOi0YC?yWb{bmR+WV3h3bJLpHedEFR$ zmf%q16??ESIOI$(8W<&e>M47pAzJdgS%~D~f>;12OcwcsXrT4fjhHS`Vmk*O2&}dG@~w9k5k;kGL*#T0h=VqTOzc4P71tkFQvW@NN%zfVB~4h}_V+bM}Gyr6Z~ zXrNawvYmk!*Gr(A^$?3r-39=O->lI<`>mo;)XO*yX-(Q9KvK}yB{iDoxVNe#G)ejb zY*vbPiTcCn3iFa04RnMCpQ>*nhKQF(Hqv;b3GSNEBcg%MBOZ6ofx;%rvW#>%D?U-W zMDgCN(LPU>aNm>Rcd39BVO=-B4gwAo%Kl~`k}RF%iSW9nsx|Tr7~GOBG3XR_&cGvC zI@=Hk6Bb`kcwb|oLY|eDFgy0+oq0iz9< z;uNX)`p``|38A@Zy9O@F4h0`yAd4bQQa2&*$B9@Z&xCWuj07^tV(&kmZC$_}Yk{eG z<*76or2b~$lI(5$w_8|Ei6bXLbyP1v%QILqL-Pt$(wgf~yf8hi@45n$A%+P6t!$1q z1CwN_UyfWi88p#iz(FDAp`|uK(%QNqBYM1v*=_&v`1Nc4|?jTsARc36UtT*rGCO1|De{%ekV-8?-U{n#5Ds zI5<@{(`D0R=HP)#viyY!$zvWF7p*$+t|&+W&Dh(D{wq*PmY@50Wtrtr)BCLJq!LI< zxO5%Rfk>j|e;@Pbai#hpKT$%FY8K|W7gfsu; zged4^r{^Z5EAb*t^s%KpYCR=hID4LsI+XlMJ6?gpQ;m&7G7$G}+;D+US`WFvvb>9e zA71+Us9KYiS3MIN8PQD7=D^j9Cm2bxWxt@)Tu2!b7#Yz(PuNiv4}?%3olPWA*t3q! zeR+T79MM3}12%ctf(S8`%kpab?EI}taOa2?I*$CJyTXg{G}3=IPNCcj1OTh+_$|Ri z?KvW^EfDoG5L1IjCecRbVDLByWRlrc;3LUL-N@fm%)myOY&*i861XHg+V_cn*`R{o zTg&UysbLr1t3@dJ*UV8!MnwnilnHc@8+tgfB)I8@7MITMIiEO1&kw!fObx#4 zXdX}-&^EaNr)XBv>VW}Tq9a-jK&8jx|6>m<@pJ{nacbC&TCB#P3PHVpO z(&_{xOPVH@*QOd5&t*&x>W)S$nC0p7W^^^i+oKM_jQ64RE?w$s>DoPe)2fH;du|(s zo|LW8MM-FWGC ziE|lvjfO4}YnGZ7L>9%>%20z&89{aQIqX$3e0M@mwuI9LU)Sv2suxP(8P(CwyDc7k zic<@=ZxW~y9r?7MtlSN(LfWC=`2?gG#XH%MZ%;{hk$@kX{Br!+7`=N^ze73s^{NmJ zE%#dHK%_|!2YCxa;KINlfb+G)2}$T`cRKF4CBO`I<3Rj^A`tUf@Y%6I zr4ZCap~w-HopOf)U3z#EcuryKOPj_aNAHc#Rx^oa*Z!B2rx3gX0${{AV_-~qg!K^k zFopMQkSEOKdwA$aV;{-iZ4K2=U-mYB^U>IM&y@Ao1BV7&*rdy@YZ5;;e1R@O&Pmnr z0x=Lz%>4^`>>7Nug{s-Nx%UE$lVR!*zJ8tbtKaql=n<(AX9@}0{E+5~4j7`4M`JQ1 ziUpC1q@S#h){MNwHDpU2D(L)b?+FbKrYA~uI?I`^+o8ykFiG3I0Z}8V9)1A-0sQeh zS#0+kr1}Vc@8$v+b%iY3)3U8)KlSxxgxbnpRcFT9BO?|jGQnU@F?c82eVlyMDiG%_2M)B>*z*yE zEZV9JeV&z~z*s%Kq%#Uut&?w(Yl>n`U)g0+reW1sA+Il<5#RQIJ=eeI-%-eOH%p4J zctmG1_QZvD4yX8uWczz2QR21BLF-5vl$$T-goqB+A)O&ljHzlVALa2E^IUxZBbZq> zvCJpfR}I&8{^~{&Ex!Hu;x-iff;C`L?fHF?C6nxYSX)7PEh}yR#&(hv=V9+-sBi75 zG=tdriS%-kD2@?y%%b$G@tgTiF3LTlY8kbKMfAd4uyUF4b^yqbWz}2+fDYFn=#j2M zykilm`FbbBI*ymiELHwlsS{>3}5Wc*Zy@ev89;;W*9FQxLu0`O2%{uw{Q!e!#0&VsBP3^F1mBAYq~N zV9`@tLsR{*0Eyr;9z=NNAG_flC@RyE1$@Fd(^e4RsnYWi`IFUY2$uFpDM!Q1ZQB4GD-x5q;=85-f;AKmE7FVtJJ1_6tqq!-0O`t7&1cSJw z15N$dCVO6L&9n1o1G?j)-| zmUoKZ{`wJBThW`BNuzc$6uEjyOi}eC>!_z|sOPG4AK5cJ!DtGt!eWDknlL*@=p(WRuM6d; zNDsDd-8xFf)xh;c7COGCY4h&L^`CSY<*rxjE8*Ab@SRU3F=r6$#mU_9STT5qfiU~g zvtz=17SaPQWCL|=GQ9mgBYj!!<5vgg>(oL>oB~m%>;A-gLm|)DgfLnZDWDYuy>?92 zY;GE`LQYCV;ie(LY9q+$Iw1P2DDgW51)XFasK&-2KRzze;vg`B+iDyY&we?p8J1`C zjgw&Q6*Mb%c(48a$_&`+crrb6GQlq_twUMAFaL%xgsdyC=SDx3&x)X%{B9L?O9niMGiW|y zA3Pha*B3>tDI;`t9Fe$=%9MzCAZNf@FOv}G7X>hxfQzH7YjX`6MJT$#EuQ2%7O;{> z!$`!~Ov^O16vuj=o$gGpgrBP<*!d3OUoH`cu{6`yrBPBplCw~?@QqwRp5Ygi=-5CK z6h|!a2fxa}Zb^$JCor-l7kXvLcOoPqWsoPCYBjn;z*L5lPJ!En2*5eqv!Q`8K#F7C1 zq&^vW@HKN^$2=hBh(?LEQM6KoCf3J&+iE7~VtVgPxnZf|WLuzX6x_Ajk^1Wm{#9yF z4*Rp4lP6ofre#SlzJ5ZNZKY!g=DwlT)8p358+16Q_le5V8{d|>`8qc=)#2GA2X|yN z6On+XTT-j^sG$35S3E*o%y3#ObV&+_N_iYfYJOXZq@`F%v^73z(7-}XV?MNKZcN}l5*F9y!P{;Csm(6S&bS>(faRqe8ljg%g z%d3fNk3pGk4sktBuUB!bh@7r;<$%3QtJL3H?HlUxG4e#Zf-iq-Yu#2$A4!ia3r=_j zO=_ijfiYWk0-#eWI{}=@-$Jl1Uhk=&uE!Ya4tf>dL0>w7SEd!$G&Mt&?Y7=*@8wbM z+O^#;O8TBQxnUvE*!mDbu3uB*LF!8u0){v_{GMAf9Uy%Rc7wn~6`5tvGq?W&5GYcm zc*YyZUaHGUFe0~xF3JclyI(sh^C~ud@*~$MI810MV#HIewvXi`llBp4kN_R-8_AqT z^;0QMf#|#bpu{x6vN~HM$uE6?^_-VtW|+tu((i<7)Q`VShj$Tan^fTzYE?#mMX@b< zgH92At*mKtF}|o%9UXrmtInj!q}CDj+h!c`6PUU!sCULz-NTy|rWW1NY*hlma{aO`L>0FvR!j1rBT?%!QaG60 z0UFCAxAz~8^71B@zSOzcM`|vTgTEb^Fpl}0MM53okXA|E(Nq0Y1bH;cXi0MN3%Q~0 zxQ6*asJu>1`XNQUJ+|13Y#}@FxUj<~67gn6@t+Fp;?1#?hirP;3+j~0;|X?h7fg4A zvn#p~p;Gg0-sw}hLIjkL$?HQGs99elZ@dcgt=K=paB&b=0DD=}(gOx#|CZ$4VuMWS{QL>?ThKu3FwJE?~5K9rX zpyX+iA&^jsy|+1+6M}YYE~&*1y4mLyT&@|8FJ2SQMvld(kAY?I{19nFMM%BdOcK?v zR9a))p7RRv{mud_xMpy5?F0|8xyMQ6**EmPgZ6qY? zqe4bmk&}eMo5wQBP`Cz4yuxppp5)rUh>ALN^wXWC$qFJCoZ^z7O?9XHV0kAIcjy!D zS5w0zqYuyZ#(tOf);L+r>tap_6~g@zohJU=kmpJKp>A0SqoUO_CS1Y7$FEVk(7N;j zsa$n5lFzvZ*_8nX=$N0Jt6PR98XCJo^DfGvHq3FRJL93Shb5SzObgA*vWz&Fgbb?! z*IlubF)MJ|Be1&0Nru$qX}C3&P)L@a8$}X}lbx~AWA}(UOIlld?ge+^X~`TD&<>%; zqXD|5MA*==BV!$1(n=QlsWlqnzEZQNtS&NEJ|fS|vHX%4B#&TS4pXd4_S z`v~i21z;2rX$+h5OJsr`Bs`Et%SB&&#Oy*(0K=li-~l)x1<-cC<{-|23^jSyMo|eBm$Zs zFI8l`g2TGe%D#oF+jP)j>+!ATc`%wJJ*8FP{Z#dU#+_tOiqzYY{HOF)ux~9w7Y!xV zW(2ua2w()ZweD?~{t%wDC?jv|VB}7)f^37||8kzlh@)Q`aA$5JM3~AYY8! z8O?CxhTney>zeiVKG?>qe?8DozR2DXE6}+j>W&^@!7G3OmJ%)-->e|kspJ~ifCpG$ z#}a2_Ww5`Atc<$XYLlH6u+D^~x=7oH_AMn!jo`N)QL#*T$B}G3ZVM@xizUap-saw} zGb;o9;W(@;TlzP+MA=^dWdV_7OL1HPj8@#oiZOI_3=L%(TV76Y4|f~_vcS3u%)SkO z94CgcGC8d{>oD@+TfU4=ksV=)o{h>}oJXaVtuD`%_zA1lO9G5m9y$63T<@`A`EPDc z=2E8-<sKaM}@ zwR13z^Bp3=g#&ki`q3*&{oIo_!2l^lg5K5LS!enIxGA(O`5_K#_yAO5HBwD5} z-c9vGFn)XftW9vGbdwA!*8ReC!?qK5E_ZdBYDOi7*>JZgfUPe5r5Agn*Fom)BQ%(5 zyoDvyH#@mE*$3v6+>Yk6WYflRMB2BW$YAleb2-zJtRAFJ%c4vacYR*uB}natRh! zOuVO$Tgu{dZctpNMQ?>sI|Uc2T(M-8?767Qxy}ax)hVu(En#In+8o|FhpA7ks?sU` zPA-gmS6YHueHgyyk-e|{vodU4D*mxlxRPwG{Cv5d(0zVSU^ZrwX{(ix$tUW(K5*zD7a43WwRFTvEkvTZt;Mdj0m< zGrNT+3{)k#pJMf^IZ`UA8+I_)nl!X?2hE?WC6N%_VBVN!qdYZRq!s50|MZzM4TtHSHpR_Dx= z=z~JyAhQrk&bdBr&T`Kkx?q}wpN5+S@anH;In8w_t%hYa!^M#H;01#f=5me=!X%hZ zqBz?R(}+w^D8Q07et5P1GDSWLPb?;tjZD*birAKIJXiQgS|NrE6te2 zv5Ah;)uvi%Sc|rJ_6iO$fZv)U@m%v@J{0&)Rj-L7#@m}OIBKV)!bN>z=l2*oQ`FnWf;28;V5P+*_O~+xyIJwYFw6W2oJpKs zpA0`uPR5|mMC@V~t1g%eUZKq!@6(7?Ps7|@=0i^FPJnqdy_xM`AfqStRL5XeqbDz$ z2ff|k?cDs?(`Gs3T?rdyFW-C9OEWfnd65df+qdcA3G0&$rsY1|5wkduxkKC^!<7x* zSksmnxV8Cpq}dKN4k^*TEBwgKWM9`D27^6M7PC0c$#o>$+(?rMTh0>86J`7q#zLv> zjeFoK9Cc-TeBeD!K+1(rETiw6qQJcO#3Egm7r};h)`Y3okWhD!{D`@+Sa?Ql`6)=x zC6vAEjna&J@C00yTElaPb<$$_dSqtg-dYLd2#s^=^sGA?1uoSd8ZuyWS!onhJ|>2V zOh0aww8@g8x-`Fo?0;U6SiHQCD@HvMt=^%Buyuey-eAI2MTkDzBvOVbzpXjE? zojr_LZ*{Ks3Xz|ca^T0zMKRG?p*==n!md?mJF24L`h~LN7oU-5a0$0s%8ZgOEIq>2 zu#aF@o=~88-gM57hrGEErfl+WSVHRuX0%?Wvcc*7!EP_KBwA%;ls z{5d$u_A_;zM=f;}joo5om9DzEbhWF1dp@C%AhOv@C9dNM;_>dUub(#}*9y8LOd8JC z)4F-c2iJ;9Cmd~d;|AHtt5j9A2oUOiHGTR)?%BSRRNGtqx8X;5ibp-ws9rW*KuGLi9b3OfJ)sU3%Siv__wtlU=ZI8;YBfn)P0AEFT>y zteChs?NuJg&D_-3TMxt3%b0Jtz*(E62o%Kl52T67$?h3Gw$bD!4EtQ$wxcoWLmNCD z?X``xxMOjiR87%9SeQ<>u^&6Nmbnu*+VG<89u5%+!E)#vLxGV-Dnlz{JkxcFxl?_S zCv+y={4n~Y2~NU{i>GfRX~5<6yn$8=gbN%kJuCa$1-+gnT}WLe_`)MaE;#(J)q~`~ zxg)!3km2}KNdS8>GN(xl%0Nf-^PJxfxaG<7l{&wPn*g zq4k(AcUy{ATcL}V#ZxQUvZeNh@05ez_n=4ZT56Y=juPtxt|r+r1sZce`tG+9Bj;;m z^_H|Y9l)2q?dF{&4?Ci)y?@=thq5H=P3oV=__SY+;`IgC4fSV)@RYQ?sufhH6?gi~ zh{==q;7Y;astzd}XfzT_8q!Ohdr zMSNI91B5yv{YZ1*ylNzKXct)ezIsuQmvsC3H{E=bImklMX(WUwHh7+J;$mi?Ghb5g zsPa?sd7;>Z(0c)jyb`=NBj|$N4nMG$_>UX0j)!|UyLMq;ysda$NBn76$vI5iNaehd z{}CT@_cFT}h9!&?e_<*1K`)n`mX(_`o|reB&@o;=Ah*U!zjdPq*`&hMp*rZ4R!7#V zU7CV)OSKGc$1|}}+D7^~M3 z()NlAL$}6WHsR4&Ddk7qAJ5UfTiq3H5@;l?;j6U+m*MNBy+vR?DBR&z$OD4CQDF*X zArqCGSD%-ni?(#k22`01v=z@$3MCdl z>3AhZj}>l1lX3Ot!)U9(e3AACc5`LksDkVyDY3lP>7JlCx8S-0BPBFQX^K&a?u#kX zK2yI1e1yJpPVP4M?eIDtLYU!5>I<>UmG-IKxSGHN6&}3Sy~b3hE-`(!mC}GyFOwV1 zis*TCj?%-5MohC)T4@DF!g1^4k@G9a=NjoFOzy#28*&wa>VAnbUU`xRn;To!ci`l(pi3a$Y}j z%trvDa4WHTd+#NRk$bd*r5$LOw=J3$;B;PoGQq_8`p{!@HdEbDs%g1@%cIgodlVDz zYot;_q$@*8#_Dqu_1Yx0JS?pO!*CZvzU_&F){76k5t%g*J4BYDO4>*er{BT~!gIF5 z82uf%wDXbK6zs7eKWQpCj`fFS!73M~uLK|o*Cm^(;n zAb}_K8j)WX*TXXQrE;1+vj{nXzqhklVEuE`+C$QTkHL(!o9v(7F7Xjv#%16R57g1I zW{BWDx@H969){tkO7STgB@9g)(>a$eIjF~FXVjbPM5}JSapv(s!Yu+V#kr@&tmXf6Fha;VGQv{$d+*4J063Bg3&Kx9(fIwbnpF2yC z#xrtwnjz83uiGG91IY#@V~Y;03I+=p{bc$p>u z;x*J9+@JQdB12o&(g}ri3L!)`eF`la4-AkIF}`Bq`vB^$a<(@PBR=m+bmjEzh&Xxb z%oXLg6mfOD9~WcX^I8~$sc9b^R`IHoUf4CicoTxG^VmjLWgIh4yjM!0dNGYg76K6l zAV=uEv&+HV>`!T1Y~&p2GjVVRpeofg5+1jFp`6H9_0chl7)`*dXA1$BFJ%*ZuB%Ic zOz?nFb?^RKHHqhKpC?Dkc$QpVJjNtaA16kG{abbvSHlMU1%#dk>a>K|*5*xK4aq@Q zyy3O#(Q~SafKa?wv-cv}(Rfjqubpa#r<|TjEjQoxxdp{~DC-22tLA61>a-tOu3OGO z{g&%RR#zfdL|Ucml^A~fW}&jn(MB|?II#C#+q;>8jnhF;Jyr;9(8jpwz0aA|G(%e^ z66HC$wLONUa-#(sWaoMUR;2Ku(8q4+aFWz^C8@!;(wF8`B=$5e%rM+z`n1(@D_MeT zT3Ttd6V&*C*nAi9ouzYEEpx8>otpK}k%X;~j`TwFvRJ?`ffYVyc5Xm2sTE(G0vnZO zLE2E^EH^8MzhTySlspyQi5oLn{O#$XXuZ>L<2%ygHrNbIlerlTT#qI&*#Nha(4CQj z53F%X%1X17`i5zicqTf9_&$9XJ>s&ay$m0HFE_4*P@E3X%m=8UTi3gKBph&7YFg63 z((&9U3c;cR#-Pc|4|k`>4u@90tn9Ph@V-AV44EeP6!yz`uRKk#2uAf8Z+W(JsHaIU zc%l3$S25};Q%cU`W25&`Hr*nZdz!Qq%A3vswAI7buOg%HDPAE9ERrqv2jO5w50eU^ zc;3!$D62DOkP8+0XOL>LRU5U{DYqfek z@JZ`MscFdjw7TcmT<215?t84n&&HdXKghXKT)tSC6wm^1IPmI7f|;@Y+<(W|lZ&9C z^Ue!G-|*h8otQ9$u>RtZn5bid3^Iea*6oSWf%t%V*_W}#nbl0uuFDLbBGoefHRNy2 zu91ecenII$C8YlS?xLC8`E2;@gc92eu;J1u=L{tFP+z>g1eaI%I|bUlWh6Y+$J@C$oF8AZUTfvFU-eJq9gM+tEDVRn$sJQ?t zFI4d2mDL?p^R z;Ts!RfoQcXB1946;Bp8iJDGyGvz2Cz-#tV4r$cMy57Pyt2!SEDwvM zKd_N-WZvwP#yP`C>A7tQr+SAQvtR@_{t`<5c@H;?ma7(2jo*?Gvr>tF?hSi}Q9ex+ zD$e+FkL4M672l@?f!ONHXubnaRKB*fPjABVl^XK%)0$W>KQ*T&Eyk&nt;}%9@1$tOD+wt_2baOpMxq{z%0o`2#@;A>urN#=r!h&qZ7u{uY}yM zSW=_eTdmZbh|5!484M;^62kMQY5g0r9KHNFqsA>t*UpT9GJB+8|EYJhFYIAT+`KLE z=O}?EMz@JtT9IjiEt40~@AM}=iLQJ_F_`e4SddZ>VDGZ@qCVCkv_301KO+2)&ci+T z&3w|W)Z02@^*)to6AXI)j`)Ayq6Yw`fN%5wU*h@oK>_|rPE19JK}ud6_?=Bx6Wd=u zT>r;^O!mir4E$OrQL8xb+BIhjy)es;=~MN?$i3>$jc zLSY0D^T}GDU?brT2p%ILn+=lAlEBb-sw>I=no@L#JllT22&NM;Hm*}DIGn})yhL!D zn5^D7fx01LhO`}5KGw$!Tj{~X*)0zufQqc4xVgEiY}fwxu2a~&-39i+TOJYnws2zkmEWK6`t zF^HN$2tN}xvhpRrbY!iKqNkjM`y?@=g(R+~ldHSE zGVa`@t%Cx6A(Mmm$OavZ8X=3_=rjN}u9~=OPd!%V0YyR5PBTo_=;(JaZ^Ysg=iZ0GAX6fre44umeHWVFXrL=B=s|YgVDgmY4J%gS+m+Aj zFTHm51C(CJRvtYXl~{KjMmcM|TU_M3ybM1DlSQ;hlb{tk@zV@zS8FdWgdkEd-G4Gfe91f?hy zve_R&+CMIyf+xURt6Xm2*e`bk7YwdGp|t2 zw#F^39^P#xJ(pv$3t5yMY3tFx5Ebr(Seqz43l*tfUKOKWuLy_G{Pg)m zlohe8f(0|5iv>bQEBDpe0$jTK)=o|kMw>sIXHy7Q_lW*%_; zhB?nmdT_;X{Zp$%3&w4F8H89@d^n82ka=u%C2SfMF&6N$X#Id!%9<^47jaFp`PNmL zaS&q_*^CP ztOk5^F)T`UW~KEjrhDb{Y)M*mao&XX$<+Y^LLZd2U+Hd6*E9N(F}QTNYn!SMWMe)= zJEoyfp*bm6*&Tu|z3i=6n*#%-Ok8V1f>A{+CN*vMu-p<2mBC`;*D8&OZMV^Pfq_rS z;jtpcHY6RP40H$?qJ@|sI;9|#G^dqwrVzwsDc>lVEvV}YL>H2klSA(5J0amO-m4Tn z2UJRBDNqVC;)!;TdVXFrY|ey_waW2uOpxvubiW~M0{;Ah&S(CaNZ$o7CjWLZ3{hg& z1;EgSH(<)D157K+@{SaxzxPN;D@}zHjePQ1R|oLlVVNPnTch{yV}A1tf~eMj8)}*rgdBt)^Rh5Qw1%_Ds<%Q^{)%41${|-G zs`Ule%dUiW<^FEe#K~KQ%qi479zh%bu~JQO$+)b(q-` z1{&J?5&3knG}Z>6`>?(f@;UB)4A~K`JMN3-m&yLHfi2iek8-&MW`u{w`(?R4&>u}Q z8Fy}}Q6<8mx&}|r&o>4Ge>x$d7}MaeSx75t=8_cbd>W}hMQ^wPk<5J6#vq&@ZSF>G z&3R2?`~f#5Yq*@HkL*2|8G&lCB&Hk2gWxXhpt(+7L6u`IbH z?c9YccDA+*sJ*iUTYSY#J_HP}?(7hhePlPAhxAGG>a=R}hPmVf>$x4V%9+}lD~e=F zgGlhG62ozT5~9woxvGh*=MJn&M>O|)omH-Y08!$Ul@<>PV+qH|7!XJXAh5&OPIgB3 z%U?Q3%05PA)z5j879Q0G*`u9saT$mVma(%ucoYnU;Ra4p4sZrgiy)}L7WqtCq1!8SVNzdA)$TL;G zd^4u$x0O)A`1VG!ikREWO9t0fCd5yO98l8F`)Qx!JhMyM=lhTGonF4_? zza7TJEWt`WM!-RSHDM3AfhqVxF(OtiX&1}#Jz+hp1lh_GMTgx1aA1Gle5%SDX*xInp%+V~EK@mq zJG_NNT8vFi*J`NF+^Ja zYnv;T(SufAbV-CKp#v|Cias|;;GDAqFH;+aJ=%`B%(&x@yG?u^R zP-(`O!VoiAhX_JL_5&7^Sa z7Fc`~dhwYCHqL}YS~FfDg^Ik!1n01;$z)tHM#u}Pnfrr%mjx{^iz}P}|7YCK^0@@I zoGdf)UlHlPDltZ@nwa`FP{`q&Oa=3NV4@`}%tMCHQ@Z~V3sX$f3;1CfvW~G2V=*{f zx9=D)pH5+9_H`bB3%F+7Ew*+o2DWBhUS1%};J5Ogb+eGrBRUugRvFfWUktcEX_1!5 zvc4NWO{hqy>QlFR|Ngmdp%k&oL?EZZc=yLSEJsXfpE}nGie%ZkXrg>xYGHp)Nh)5Y z#RZYMq+EYCwJThQhFU8FN%lv~Vo|hE*swG8!*vB?ALOCXd%feNQxm}BTaqPoV{T+s zdBQ3VOVtlcNky4R2w6)I04}F@7*P>6p8Iulp`ps!*-bATm!65VcO9xtm^7bxw#G_V zNmq&LebUh`g?kglmo|g&UTOB0(xAwOPBrXhp1#9qL&f}53lZyRBgchH;#tSsao_MK z=bY|$2!Xj()vyD^(17%DPrzm-yd%d@mpL5W5e*#EJa6!~71V5mq490n5X6p!-OuI` zr&}t?T%}|^gRB1PoFVV1n9hYeUdWSiBB|qN+0qSqA{|D{k%~G9JCGl$n%f-An|?c* zy%=KhJ#|}D@Gj5bKTJ%Bk$~VNlFXz>H9mo?8t@scy#f}~*FN~p9T)wXZlo-hQ0LTdqs?wP4XgR)vkJ_ z&06qEsTa=YQLeHi&Rfftib%{8>g8ar5lFP3j_+R>K0P)?Y8yhBci@I^Osz1RvK)wX z*8#hoQamH&me_V_j;@hp_DBLLqUkH z`GOjebGNrw6n1mRvv@sN8hndaX#H!$`S5Z>&+@oX?7CUbr25+(TG*R8MlDtYJ1Sww zoi8S(Z3L-w!FJFQtBq6+twRfSl2}kJHaef5mZfhn&Q{w&tsY@Hq=8L@M*9a8$S-7m zSfIt7K5byHI+``-uMgpc(-?d%ozUM~t=Eq#rCDtYu`|hp?CfxU+I1f())s@*Aru09 z(esSDb^^<4htNjj@%$dcxLwu_*YW!cYs52Hv4$W9z0VxzclGCrEA4NiBWG<;&iosE zK7CUJUvl5^ffRv17Aa5N>(uUQmxfw!;T{wEs7Bw63zms9M1 z&)S?se0ugW4Po^gPS=S79LiLwcni-VQh7*$ZG65KhH4oidR0Aw>x?LZs(U?G$&Iv_STbQRLb7f4Ptm!;Vc_=_P98`q`XGoK{U8zN@t zhu(i=6V(PkPLOqF7gcCV1%?R#N&$q0QA9)2pYjPhjUWsn~9hFiQS`T88i$ulEZ zNOfxW1%t<4EUH@-t)X4Z?#0ycYd7y4=`LmGEm#~s=fJe`&YKk2xGzmsI%b~kU>yZH zcy+iTOCN=9LHKYKSj0HD-#Po-m){=j>L2eezIDenN=+W+Mgh0C|4ia_C z=LcVj3^DzME@y;UtB@dwtzZoXg2k&Elk~Pwr2E8K8qU!8|b!vhXY)VAI+$ z#}^>;TfQT43ckyRc1YdGa;Vm=cYT*m0e6i2+)FHmo=8dEH!KkPkUg(c3U8O~lO5a2 z7CDP;Fp92p0t=GM2j&^#a1vCfuh3w+q3g7e9f~sHjAMQ6UvseR)mj5B*!qj==AK87 z?rU!+)e#>X>qimIhG3u3W-H#vkIa)kFU5ZU;b>^*s2B(532_Hbor-&h>fr!J7UUz* zqL532U3jNVcwYBfWB=q41tj9(l5k$9O7|=U_uNdomxFBk9!s644E7^iqmg&_PEV>X zBlbHl88+75(QtaVK~>!+LP_(k!#h)!uIyor5GXK1*0`A5IEh0rql0z6#gE9RGNKW7 zBs;MZ3j4YmgHk-^h8q~vtqgsVtk2_uq3->u+j}K6E>EbvoQ~OXvZ8c4?A8#e-r3AM z+Gg_AXaIxzY2t!iAQ^|XxYVXW@-ML#jt6lewJ=)lfncc(>!JWX-q5%n8wsSTd9yT zUuXQARU#+Vn(f|-0SC${})?%6>#k!jq-`D@$-Uk*~>MWlHRZ**-h`sA4TW|L=2xOIu> zk7aW4_}ARLKaL(fOWWS2q-MO*Me)o0bpO@Yal_Zn@l66+r&(yT3uMNo#E=p4t6Lq; z!8g^fghf;7eXwBLi?~Wt<1H(y@&vdL_86u$%*rVYlhj=II+E$iq(mZJ0ugO#LxyXv z{8H)p9DMM!Q8ZP1BtJc3NhN$`fKqH6>7}$4BxThlc-q+?+|pnmuWZY6q^WwF4a2rs z@6tQB&_LwR^|D8m;qC(y7{ls(QmR;_s=g+OG*OicAzIbEMVImG;Mnsg!4wXd= z1FwD!6nPYZh$z=MpcEd)dU|Rdc^>g@BK(UC0`0DuT=0N~ND%>aNm{#3tjCMP5>B`&6{!YC*H8vy{IdLS6`R{|>F zP6z`U003_51J40|Q}tmB1dtZ&|84P~gMc44!~kii3)=9v6NKL+Gd$207X%Rf=Yanm z9sGu&d4TzTl<}YEyU9I2!kC%Z*_b#xdVttP{eVaRKOFFF`#T|MnE$x&zYh7IUH?(* zSDuNBk+p@fiNW_Hm)|sfXfQJfS@9o|o!#t=e~9M*!Dsy&yt#|D^$%r$nsE9LW!Tx8 z{MZCm5EF!9|C#Td%^gi12>5a5#{Vq=PWI*|juyb*zJqv%_CeTydS>w-lK;@TKgQDo z6U_I4{o|^j3k2Tx&*9&%9{@@+aRTW9 z`UgD#I&g`Bnfd1~GO;zXwsZQK0aPFcSo|&WPlpl_2(;oy&|j`!_)%t|1Yv#t5z7vE zql1lwr@=4xI{cpb(4CAROh({5@t5udVVarPnm9ffEI-bKo`0L|Vr$`Q;AmmsYyuJq z5AmR?_y29YsfDxi!&rF8W&m*uCgR_9i?xNViGd@C+KdkZ7!?F`63_$*w3x3aa1nT`m zN3eh>E%%S$PA)b!1`o=nhy4dS|7H9mz74P}vjq*hhw~q(&-Z_dH?nhdG_n3;mV4-P z(A3Tbe2L~Sv)nIXXJPAX;^_L5^adKs9zTT|S-Us^u|JDDQjjj}_z@OZr`lVaxPwH* zL(@TV-+qL1vNtiZcwqFy03Zg@jvw_0p8RFL0MYGX$pGp>ub;zg?QH)f!#*_m`)f=8 zdA`^7@Bazb30MF=$lniR6tvDkMf<4-epC9tbTdZ-V~dAF;h_V*aAQ zcvu^O&MGB8=l)4-K8zj$kZwKv5z_{ADe`b6f@((%T&VwLP6Lu`Olbxx}KM3Iae+K?T#r-e>K>Z;L+`0LCKK{c>>|y6ofH*qw zCtza>;H>npw0h`b&^d1AC&<5;j2^C}SwQq81is1nBM1BrY66@+U4A|>lYsDTe#AGm zum;YaKMV%ot#|)@z9;_DAJLqFrIeE?@QOPS;KTk0-F4dk5zy4pz~~RFt%rR?_&@!A zN$T`iKX9k9sXd5l4K1ZDOk6wp*-J5WO(Dh665hz2aSf0(u&gTyTi{tuk^9c2RiWry>Ry9KlWl=>MFxD0V}28QVm zwFG5G{*38l09=4RT+lvrA}DkGN6hbqj-!PkFd07B@Oc-GED;$cJJ3gCAQD?uCn z$pPKN_Q06@UHj!fZU4XXtRLw?@;}Tkr3p4L^8ah~Upn?jG|*yH^>5Jrq)2&aDrkO7 z{Tt9fpRgZtpMaRY_K&y^=51KOcX&j|rk^VCwAU86^#ELv{QA`SKLKvh{(49(ub?6& zBF5ipw?C-8sSr{WeS*2auR*1*31y-wdZZZP&NMI3-*!w_iEZe|*Uz`d8lkZgNI>TH*)<0DuDAx(B-N*Qd@uSM^_rRQ#RE zV#a1Bf3)+v(7I-*Wjdfx6=0wMaj9ehrcbe*Uj-|6GNC)@}ATk&#swsy|IjVTdxU^hHw{&V-Q;N>y-0%J}OxDyOIrl3Op zUj+YA?Dw>R&Sg088R%{+pu2xxi`Dt>Mg0r0zaPqfVQ8yF5Kbj9#7}^$b>Q^%>r?0d zH1=Oe{9i);KibX$Jc@Jc6_*xm zOR?foq(GrqffgwaEroLbXC>LQGqW?Z^yYc?>%G0-Gr#xfdtMicM@yCOEjfRU&Z*H< z#{`mZI*QEcx5NWjs2=M`x?qzj$s**DI=>w}<#B$beKRU1o`tim@qibZ5-pykC{j|I z9L+T!rdtTpg)rGn+dW_fIQCf8^Y;qY4oPii67N(=%qRJuPC5!~S#$tV44wRq2WV%n z@x#iR)~t;->Lt4%N|vSXHu|aqlI0V468GCpyFF-uzroT!JvE7&cDZHy^0NrgS{U8) z0PVTY10vbgi~diPV?I=fB`fC})TH%FB&5%gkhllWJmLY?$;v_=nYPpW1Ap#>NwdMT zS~AnlJMIC`DyBpx$T54P3C7Zt0*c#k{Rt0HPNIn=SrV>R?Ex!BqY$m)M z%dT}rDi&+DYg})7X{3R-@J*Lg{>lSbkbUi6s7nfjO%L)Ir-`P!O@Dg;OZS$#^6Bo= zH#nKG#==dGUOP_1p;loFl( z--EESqeVF;uJfRNuVP+6=NDk)&a4%>>>jkjS?8f9bZ(J&zF8mOcm_$>26D2TH*Vw) z$8df^BaOz7wc$ig5899}IYy8|AUWFL(N~Loii~?37Uvmvcu5a{PC|?GGCc`3`eP z_Eb~{weLf=g;9Nx+(a_&ndDn9FY?k?h*{oUPpjtQ1#=f{l_9qkHc$uITqR0BWS28*(bt;jf$8J z4$)#_c(9uwCF7RguKlAW3ZqR3Qf}PfAdgz$poCDv(Au+-M}KF9n!?*KRZ_{22Es#<-0LW{FUMn z+C>u%Cva0DlLiuWrxqMRWnQV6>vYYSVIDQZssX*sc%c5`^+<{ zZ8}rv@ucbsLmC#&iw@~7oUSLM9r@fNnv1HfDz>c|y3sZzR_*qwA_kO zI?*d< z94eM7wW;qKSMv6~y-;vDh|i7N^0-G(=gvfA=t~YYfB6@tcSu=nD!BHSy-s+GevIZFae34bQ`kld$&07rBOg>>*Gn8G*J=e7tfjytf|g$ET{-Ht+xx zSx;hCidg$UuXt=1JT?zfET1Tv*un#r-B(0%E5UZ(eY|`T!XzGAo?kaoU>_w(7=ojxAmq*hxARXluX^#zdX zGvL}Y$u0(XfO4qO?b-ry!wMGi$%7i;EGpeLjC;AQC)|{1o4bfd!O6Fs=G{bvwF;iX z*ZX`!JfS(pPE=mo_bCX$RNl?o*rCuutV~@m;W|GtG1>z#YGwOF;k1B~f>}Kwmh#!y zvtG5Y!>Ws5)m}`yQ~ImJTIUsg%rVv}#h}C(Oi*BT8S~STm^aY-B-aZ!bTMm_l2H7K zH)UDFf`k4=Q?xKP@3j9&_<*KFVqcs@m(}yjjsxnW%i00GH)FyFC3!{^mu!8J-dE2- z!Iv@J#U(qR>;cDGxF;BreG=o0A_EjMYv*fwxBUaj&SSbblu4E=)dQl#tRT~WbU#Ua zW8w7~;)x<@ga>R}qL7)Dr$lk8bedJNh@kwZEK{ z<^j&GVxa?(Xg!P>Uf`O%0rtO1P{de8ue zKZ&T8#I3QXcK#vgv5z1V@E$uD9l8A8C5t2LdRvo{LtLS5Ni=<(-qzy7Hw5xX8M0%B<=qe$(B7NIhV+kC|whzEZ-n zF2@M9MkDjRjczA=k56Jn!X>5EU8m&J>@tf8eHXv|~b1g0Z0L8~3 z)K?t1ZnJ8jkA1I|O}XL{uBe()F%1$vfJ5>?dwobXuw5!DjwJC(2a>Mps0z`iVZhd? z!-JSQFZ`$)#?|R1F-j)v#~qi&Re=S2p+rWiPXF7UmIv!2^2vmGDp#skJ#n=Tu063s zW~`+>!s*j~v@_LT!dOg4EykO`*s#$cz!FDf`Pv>Cj zO@xj^%mWioWnB!9ErAro$FM6kS=8z>gK5pNdR9q1VZO*(kVZvSK-cl9J{)LYAR1iof2s?gPW9e?rq%R9Pnn^`rV0XxuTb9Hb%}F^^uo# zPJ;a_p?guLT6;Rj`{^*W9!>CNO;}L%!TvWT)NnbYdaK1XWF)c>kOv;W7QakbTU>XCqDDC z<2M7K(W;n?;YHf@2CBK-iT&-Ton!RwJo!-Mq(PaW-{oiouOxnGqPhVN!EFuksxQ6eKT~kz*=Bkm76y;_E0O|Sg{9T=q?lpfQS@3|JjLfC7(&u`%?h>?M z?aNKhpeBSIy_38UE~Y8#8nF3;KCB5sHB;nFFT8VqWdv*v^aQ+=$=y*kPiB=Z+V^gA z?6A~CK*hY&ABTUXQoW9{DOj(Km2zF`c2=CK-s&#&`5VA|iuP5c5@^PSlL3iz^`un& z`A6B1pid##QcMN&k#K`fo^Vin`f80vq18yJxjjA|_ZmV`X=>h#vw-c+RW2p?5HXb4)eX5HV*0V&+TcZ zXeBV06LM}uqk1>g)U2={XwyJz%xKThk;yxz3r%PqaHT{jgis26e4@u59h9^jyI%R=eAFOW zNQyDppu^P?SUWP|?i4@l{E}R{GDUS?^;0z*|HR0gTcqU(Sx~w(LLtZ^YmR+6i}nB& zgzAbJMu>m6O{3&~|ZTAweM>TYozRa%%tX532Zojdc-b;FQhIljDN2gUo zZ!rv=WJAXLW1Sq2_MjRPQ}nt(`xQ&#${Wh>Or`CGzHs zn6Ny5B1x}>d-1$ka*y1Hu?!kbdspFC7O!CaU_*=vm)s=98)BsOMV`=Y`qgRY!TbUp z19qyX|7}m}|GgTfP*oI>*Fwi-FOG$W1LZZE`sv@ML^%n|`jV;38u>ohKo^hu)eSM7 zFfSldS`%Pln_^?W!aP8e3a-t6`I8(V5cfb)*!yXXB4>o@>rX4rMfgM(;!`N*FO|0$8hQ{L`DeIp+@!U{cUdq zR%a9?-s$Zp*Ee^R`#QE4nDunmgV?bPDhcv+_-oP-I3+d?XzH<#m+d6`aqAH%IA#Fd z{3G-o>f}zed2x0>zKa7uE{=b%v)uPXQ!qVgPA|5_9G@)Q@Y4oW`oKMJLO(7OE?wjh z4hsvD9sUGT&OY`~GgiA5BKA!akL< zZCrC!i#R!+KW;5f&>9;x5Z76OwS60AM`!m-Mb~Mbj|a{8rZha$9E*J3C1hV~o z*q-n1yERn~7=J#F#~IaGw+f(H&T z_^=H@tfK@Wg(81JrqT6o;@hdv9?xlA*2qzuBR@nt*g7tdP{OKX&Ie3rzA z;b@QMGf2YSI?EoN|&Xv)Fbe5$%V&Ih|M*d0Q61q@E25mXe#j8F)|4D7!A?amK9QALb%aibE70^6h_D%z!8~`yeg}g~zck$2C6Bybw+AUs#@uug+K%DtDMza&(3A_xy z{Z8)FZu33G;-$Qr=rN+PSpL1-$DLwPVw;VjssGCI2#^982UTa5ewHb_Oe}_L4IVrd&RV_*vkIxNWXGUroFUVMK`Q?JnFZv&&(tT9 zfa&{Zdg~h>!}k}V{e76mb{2B;efDIMW7Q0I1S11m^=N zMr)Gi`rdpDuj>yShBgHWNnp;G7Y>x&1uPD6AW;P^5X zn9HiAQg$#U>a6p*Vp0+>e|dBEBXF55P;;;3PIqAF4hc%p&K-}UE{C*wFUfK!7qmJQ zGV`RDWKs&Y$!xt!LA~T_hbCkjjImYL!mg?3{s5&7@YPyax2srsLzR3FJ3#FnAUzfZ z(*L%nokp9K`IIX>(m-!_S@)P&WMY2Y%VJG%(UqnY48YUwxFJgM&Q@2P@2GMszASIM zlYsX}Z^P5>+o2y0S7ZWe#wRsKh8;#TdI*})W`xpaaJii|qNo`ZfY*<&+dc`wR}kfw zf4U#gxN`U?rOmKe-d6Kj1Hms|AJbo~45G+04F9rf8wg$vzQ;q}I7TVa)%R>{H(o~? z&mWn;%_)F4K;yjREjm^y*jdM1`zlIa(!%3gnQzn07zGgmd;+BJIHiptEx3`H%o}xo z^rSn$ghSbUa^k{xr5NYH7Iq*++4p+%8tfz06u|I{r;~z{lu}$xD&oOn!+I*DT1K^B z*8@KM1MqzJ){?18@pd1k4ouQ}NmT8%IVoMB(97V3vUuq{ODW6gwKkF(J8130CO5_; z2ae8EYv{k|GOl5m6vfyj=Xk)*;EL#4XlQzYeT%X6k{gg7dky~0WTkfa1wv( zx>5)80Ne>??##r$xb%bIBI1j=8kxU!A?a7ckos)&fM|=a40+x6 z6V}wVC$Ppoz{88U?zSzm&4UK`;w@iyBQiqHSkd5Z0(u7;4sj1_^sOgI1h->gmLa(t zOOxJrn)7V^6`evK1UjF0Eq*|08yrv!hVd2>W=3M%C$$wfioApyX%bM2@*Th34l8B4 z=5H1KAx&}mot>~^9RlhBetf6cfRjp_VArg5a}r&*BTOS?nO- zb+tUYW5xC;o|J^-OEtdQzbOm)2Oq2&^kfqLeoHM;sb33aC-i8$Yh^`&TUc9H$ z-&5NXu4^w>_YyXMR8b}SjtH!~Yf|#KjwmZVQQH7#RY=CScr(g1S*YCt|6T??@D&%I zmmkm!A&eaEyS)j?5$K)$3b`sh4A+(`D}-W^$*`Non+KEvrIXd0Wr;X}`$#l((O+|q zFN`2i*8mr*i{ua*vIWJzxj{E=H35~Uu@^a&5}i8^vGJpu&V-tf*rmZ*+M4!=C}YwdD3U${eE_ z6fSTE_G|$K@LJ@b;wrfjdfPR#mUu&wl$b?oe6p@TaP+i^FSBJ$Z0hkuOzCw!N)nZ_ z1ipS&4BH1WZ_UMfSz0B}Hhvgv-65e(5xNrL;%?n(N*f|+9-EKN1M92Ag_;7fgkiw4 zW~9l8ZQ|I)Dt((bGs&~65NvoJV=-cM=I}L%nE79@u zq(8iwO0Kg92^CC2_IPdyx`%u_5G#d#%zvU|?~_MvMX5 zFyKN|R;nDIgd?**4t%# zn4$gg@}4q7J1;ugM!pyq2rW&xBK6J=+5lM(LsmX58r)4OE+`SJ{aT}S;31^YP`<^f zRqg+VFcU!H^O9jblv0!q;s0t7`lLy96v0^1;0pY*r&5;Ay0_KaFT^JxQpR3CN3O3Q z348q}7}7N#qY~%rsE*z;T#r+0$*Dd%ZIY-B=|$ei&RyHm!tpRftB$!$rt$wl6R`i1 z?pU-p!7J2cTiK$2E#_6!|9rV1vLyB9>(QbB)}k^KRkp~UtHi0zIuv_8IUhuR$XhwJD+&#Zi*#zG(-)^`SAi$i!rRtA0i$+F5Kz;PV*7m5PI89FNq|In#H&sPG|bmegWq+8-|;2SR+Ur& zrTi{E4+&d9DlTpqzJ)eN;S{+hoQdpHTV)GeJTBangpG+bwxs);gmmiXI{fYbt{W6S z2P;zT8GZdHD(P0IOFzD(HM))W==p~h($=Ua7|!-(+=PZIxl($!@n!c5QRpq(eW67g z^gXRn<@9H*iEXN~HA+KIKJin-&W4O^bOQ~dSHk!txOa>HzG3dVpaq(BK6{}e>`Qd1 zJ;$|F*%H^t6uX|2A|v0evc+2i`3L-@Ewjp+HY$-Wkr8Q#OAuMTqZ!bsE~9!@2Jj(V zfgckK_EQR#+iXCbYkyW8h)bO`v@F_&3HM{5Iu73-C=7GTt5utIOj-#a+6r~@N!DKN zmC~ZLSm_lxXH98jWWQZa@1oz@h*Zi)q7hg*QC2kB+`_6mw>xAC4f-`;IEtZjm0Zsa z&+O=iWx@6K-iE|jJ=W=C^xjc;5?bO+J@pIbCs+G-gR)*gC_iSN*q+KEK1Pf#=`xFf zdfX~!N{+_~Opyy92)O!TraIrj=RU(457%IYKFWbOHJI2Xo+|#-P9&kw8z`_+p1sfw zgr&w5b=@1*Os||3mZiFhd+^;Kav)*A~J^bzmf(97;`54)itHRzJl# z6s`wecvV5or)h#-nb+U>XDR1&F&JY^gQ@qAOVsNkw2A%2iR2PR8_f6WjG(%K!wTG1 zZ5AmfMu`I`-<=&(ws%DU`eLS)AI847S~{b7n$`uMtUfy&G3zXS|Ie znPy#5pR;TtOOe*}cW}nwb8x=7Rb3A<>UPS30?qmXDaf&@;>qXe(&EQwA*&vRGqh(} zVe}EXPn-2|X3S-vqV;YY9BD1JuqE6!)sKq+?f;vQOCs%GwzvF!@MyA>R}&*os^F@F z8h@D_yc2`y&0emnC#O!SfZDo7ISG4b8|hU9qxQovTpOm@+c#9eGB7x1i?fRoUO(^p zfk~sF%kA)dZpWxURM6SSfhETmtnO;(+oQmIk&|F72Gg2{zIks z=B|6be^5cAS<=|mf1W>6!3{AO@w8&6BpqZ;#2s4howmpG;IE74)@V+mmkVPi_4_E7 zOu(DdzwOPYLlj3$hkjlE?h6a!f_NABkL6Ur9kQy6oN43djpzjMGo%VkK&1a|Pn%gm z7LKlt_I-qElT&aD0rhKU7RfBInn?&7hrRB~g|0R328@L#jxIrL~(y z)3Rot2B|jT$4N7)Dka$k^D&}&p*zOJ6W`l?i_Olqx%C;7xQyeVOHK zA^!|(QTd4b^Kg-y5J^taXG_z-1oUc^P#*JMZF`Iwq)!|=6gsXQnUauzx0u~=sVv`r z?4v=rpGvb8KEmfe$MsjmwZCE$i5tuGM$~8-`_a>zAe5Y1Fk)M#xs?zOB@onnq}?Y; zO$!tON!4}dHUF^?vd1!%N&I}?tpRF)k*SF>@n&q)9irDc&-y9U{2T4hOKL!Fdex6_ zCh9jxRWlr(r8SDQLa1|6!Q55lmf$fa>l1!)EWf=UtcES^ZC;N52_3IOh1{4}aM=|! zrU4Y<%NkV&m!K+-x^#cT6tpb}gi0XCTQ|ONb@GEBk-R!EUccdLc#h&qu>)Qx{@1-o z6c|Atxvnw&Hd+nX*#Q;knDXbte(jegA>0=r-2Iu%%g3ofTWpH;1~x3#ehy!#W$Lfz zAIf$i7+N+$%e;F?p6m$`cgyQi#NIY0@do8u`(<&!_M>FxU2EByp1>fUP$~kQcs3$s zHuQK5dh}s>oHWlvP*`lRDNdw!AY7@_vqoM7rjZ~tM&kh)<)Ps?QxPx_=Mb%fEunbS z0sb;|b3#w(F$;{wi|?IF)bNC%XgfzDq|ylM+Y5W|E(P@rcK>nekdpXIv-eA^+SmQ&eS?Ux&58AYo z?&`UZc_hyB`^5uZpuucOmg13oDPN4xKZM(qLovqPX3KRCcpXyA$+#C(#BB(+ruqg; z9SFAz%H*N`=B@{@Koe;3?xbt5;B=R7FwDatM;AYx@W2CLy4Q&NDcP@SncAhk191lY zl#96Hu?NIR>#b8#B2xN1lv$rdtBSY=&1J*P{^uS6Gt#G5`ep*5uM#?~`A=<^A_II= z*%f{Ll^V22*__^SiFgtvp!V+?Evt{txC0~)X8r$tyr!c(0jVD@1;yp>^$5W-y|!!R zF*b)Pvi$gvbX>o%WojZq<{>J9j!e*Vn3q%`sMBCc;jozWJp1jlpY}n=Sur#YVED~t zjGlrtpp5MEJ9;JZMXz|PVcVg2sG%?pF@u-#>ayX77S@2AQ zlTw9&N}}ehJf}oG09Oi1EMr48KoKhnfh1wEz2}qnpa-L49sbO1-nUW%#JU8|;^J0O zSrLcVeG%~)>VvQIy6Ut{J5@x-{E0gwQef(r9$qsWutDWrSLiZ@$^j|6x!L1fG}u>FyOG;z2smx)`O$rTBA1( zF~s6IIh5R({p*5mp18&kb8l`ch%rOlI4V?uXt$p(m)EDuJaiO@-5LY)RC7DfwaZNle$w^bG z^v`~?Ou#(!5slGD@QnFsf5lV>Lc%Y}dIbxnHfjr3`4`f)VNso&q?m(E5y)AQ$e?a~ zg>>2csb)nMbn#W7&$f(KGFdUrv8b=aK}nSjzK`EW3#wiSy+#b0mLdm@F{W7H{Iu}p zXZw%BARtCj;|-sEFxPLWf_ZWrhdt&p9Zv=$ASK3#nA2LF15c}1H*Sd&x0OoVNmuob z0F}GtI&9=pOzc2quO%E!pr2hv@hchV68kPwsuwE(1Ja2Z?v_5IR8Z|4>6^3HZaMio zRlpr!vmVT5Thdf;q@)W-NJ>t%H$r;VisIwMyk0+TL9dq;6AOF`+11ZfG{oOG($6O} zUA;n+5-as+_n&$~==O+3J|6yKlIJWuS!PH~rtT?4r0^!^y}o|MpxtnztAZiihN&vJ z>CS6k5GJfpPy+5*n|mPDEq$xGUYB!ZmI|PRb%jh)?wy^@{_=%lJ3`3%%%je(cEgN8 zS8LP{_Kq-_k}YAen2$~tSwy8#;<6t`e!Uh#t*YtzB%5x70s!^t00|pU-=6YnSWCK@ z1P69q8sF`E<==L5b9LUTVI#kTW-69&eU>H}^S+YV#G##znE1q|O!R8P_LIR|b&q+w z1wGlj(yrH`rkzyqdAn}hy-QNQcjJ27prHVmn49;r%gPB79VMCI_eTr;Xva7`5X2L~ z7l<2K4LL+G;OLIqw@-+*?r{4?8{nhw@N39?wg0bbSt45{C>*}2b~T|9^o4itT%PCZ zf87njLYskOv z-;twm8ruHy3HxySY3m1} z85%Dv+S7&oev&WA5UxzApqr%hwQL%m zZR@&n&QzrMm&h;t%*CM+vM8oBp(x~n?IO=U4}?+Zhyu^@E6d4#KhczEwB09TiJ=?a zy`^vPrfe3}EpFN;;LJuw>&o1{ZAJAg=LuKG@kF^3`P7O9S$`=@)%;_$B#yP>L6!fe z6)uM)JPI+R=Kr~Qk}o5W+CIKJ^S~0Q>j-}QZ2ydpKcHQ5x9$^qP2A*;bTc@f z{c^e3VbLcafL3BLk=}$_G@##up-bUIW8g!n%!iuR{Xe%z>2n3t%yWlRN_9r(X z7UcOyC^colF;yy^sRljClJsI_uh{sYR{#ZVt z;BWBQ3Q&iEsXl854;x{>quS9Sa8)R{D1rLKLG?P7ybj%r#Q3lSYnCbG!=gp4W_JB^e_w-`) z8#v&q))&R)_Oh1X_PSC0NC%~aOO0Ff8-sMP3$voU&?q+6^QJg9ecBZw9+BmTjST({ z4v9T_E~odiPxl<{a+Y28ejido<>WVS=ry_8XpNrPqtzVGTjFx12QF4sc+U=nM!mp8 zb!dO#U4dO5&hxxUve(-XdVizbpT5IL=0_~?hcRt*U+Fno!A&;=uYNFBW4d9c2?}yv zL>%1UIo!o5++H?A4ly*jVS|I{C8i8#W2DW!z*Tv*a1=aI2#t!0sSEc-wJ3~P$i=KejrJAB1(41bs zb8`_TiP`)5o||;t=o$Vq z1XZb{MdE62{ql99FPy9c28fAF`WfZb!=0s;s7|d_q5Rc86aXDIZk&7zZJGq-^kHq& zR{FoRjRsU=H%pS0E*P!{(gaoy_$NOTwXd>@#tgL1FMGGw#+ah91KwF-wpmjdXW2Ju zXP>#yM;kQ7kLl!8HTBJ~9xZnmO6VXoM_V^~?6Ay;%WEhQd7b)W4G)0y(yw6H<|4V& z8p*UD-hY}GP3eV%#JeW{PySC$5$c2-bG6UjzqRm##aLnDDdT88^$qD~_XTh39r&{E z=28Qa|GM*XR9TH?6c$JMm~ugj4`_hu_frox4JiEzdGq6Hc>R zXg}(Dek#BF5Lv2CDEA9$5n@_>z&zes#aNr~P^&?~jFBg8U2JHll?uX7&_5p{f4OT^vUtR{7o741#XJEegEOa8$^q#MGeEAl{ z8PGN_+CCkxhU!++VjUs*(oN%}@pR=hB|N^a`EZgNxb1Ff$G%dbpi~|oSXgh-c4V~* zNUXfzcr;ZF%gL_ppHm2)HNd9^`V_johOa+o#%^wzakrBX%RI10di;L#Gv7ZEllg(; zbB~`dR)eyIXNH9C1C_{mhb``a(}kKp5vbgPzb;opmU~ia$4}W=}EJ4b|eW$C2(%uKjKfT_$!8^6*i4 z{>`!ohdjY0fy44=Lr?1(Qz21nN<-ulYy`jV3P&7B0~4qe?;c z*)GXfgNQTrc%C8ip}3dum9|WvE4P$#R6Q3&(C@na9O@4(;&myP5V-uCQmC`F#C@X1 zC(TN2Lr~vF_sOef%kN4lHd`SBOFq;?@-#1d{NyR5j!~stuPhz)r&5yLSngiv$+UIH z!3D6@6WA({*=prKN-=7l<{{AroZG*Q_Hn&IH1o{(V z`AP2gw0g(Bu@h+pIs&5kFtd%$rj&&3JE3%Q5=!z6*@SLSng3Su#I)~$sS2bo!?nsG zi*uLxMOIVEYAa_RxsnQ2FNnv7jJY)xq|ucqTRTLR`xJR$7ixHJnq@_0X|{Z4)t%dosuP~YPy7?6DTGqO zn~9WK$_*q!uQghaX#}9W#Fj;&1Y{QPJ(qUH!Lf2dXSLYJx0iMEarYmlAbb%QTCqYN zjpk5s*8)ga-pz*-jNXZQx)m}}pX{AH$fWZQ#ec<#zyT>*vpz&`iLd7`l!So)?CoBY z9;yt4JvuWrQ0-9O0XGGXgK=* z_HT2{zYV1o7AUP;YjxjOWG6yy%`$vn41A>=vK?RJ*7+z$!adFXy=`g)Z-wfFpDWR!8--_OnT!u zn8iTr#3lo7ii**uN-r3Za*xJ*{X1KrbN2$Qfri9QyFlfU)zg| z5%h=fYtMpzXSgahQ!>2`<6h<~VK3`OL*~z+aDT@A4hs^Jb5<v6k^cR|#Bt0_u-ygbw_!L^^OHiYuR1qa5wY#&}?gVN;X!m2;r~$794QSuxziog> z)+Imtqg0Oxbc;P*GRLQZ3U^o40IV|Muw!DJO<;$i9pX#SXZ#vggy>TR^c6k-LwY@- z^+|T`_qxU5pwmr$JjNRI`S0jLHW~iZjlide&{zC|1k;iE`V*}xww&h)@g%x_+M_+2 zF=X$GnNxp;_tL4t+e6KI_qN{0Iw}+rDVy%Bo-<%RNHm_|vlESss)*u_CWMlfwFARu z6hxgq4I_F!3*In6DHNF`y>`RhZHaN>sC~}|AEf!=mM|y}q@@;*QHtw;o|mKRw1F!> z0iDk${F9=T9;&z10ZMDckjbmBK7qvd5xm@@O9m@tO7{O^36tFDVY`j3XTgQG;KwI1 zUJUUZDl{n-R}+pc@>vMZ&-n4_-8(~-vfKv-QQjL;Pr*YpH!8UfSbrX-lwvoXPz;Lo z1KO4MDalR~*lEFdr2uI=iDY)V8R?Dpj)2wB+X?*mq-W(x?x8wdUrm=%p!nH1cvhu5?%4y2GpBa}lgwQZ)t;b(xy=b6S% zRmj5lI6Bo5uOBE)qP(?xxwgg^AWapJ2258-%D8#Lu129uw@~5<)MW zykh(-2!;(xF6;F1OFTi_skCB;`zlN#&x}(FxwWO~TMMXF^W!#YM6}~?d)mP-6;rK? z^s4SB>G{5B4_cxB9%!C`7q3-}b$jy)g}{JUI(;2b%%JeTbKZKz6bZS+7N3YYa7JK$ zdc$G}ijzhTZQ`HX(>~s$m}$42*j`I=m0+)yFQ?#}Yw+XR%du50L;O}ElH}N{kFITo zBrPEc-_iL{IYml)%I_rl)O-K2=a`6?iCH?Hn~Qv-SXf0j5-ragG-(0iz^|g~8bIIg z6_Wx}h73uyN$tjpq~DH%y04|3YB!N@xM1B+DaQF>>~F@zgPkSJY82%Ew0&KZcHgzY zaHt*g$v$TklU!8j{-Pz4?^@2~gMP#)j?2&Fzi$`C zJ%%(k=0?6}8z9De{CGB8|4JSsuPWyfJ+fzn!QnmiB*CrUUki15k)kbw5qNXp?lvd!USq9$#kzY z=6NwqW)o4YBO#gIot_!j4C%cYYK~qkVEPx#FFh}pp*nGxm$e}9H^9f~r9HZ%+ zE4)ue_UnL!KE9gR+e;B8o#19Q=grHerK&=VK8Q4)G^*892Z>5e5*b~RyWQFI>%lWH z%xV~hk1m(hR>UCB_rpc;3QTjb-zcAOC~Xkd8rv|}K3QKetDRP-#dA!$bOnmVGAz%G-vBb zNktq(ufM09K>&?_Kk!Ui+u#XDC=EHmq`LQZltKbR0q)`i5k@5x$3_sTYa)rUsBXKb zagc=GyW?@X&#Z*ua5UQv9qP&h2FK{JCsOR@O9Fats{Pa5f*Q>QFYEWM!4d$yss!%@-AzFZ|UWZws#YaJw8<2(XHtM@y{==||Sc~byUoDDkcmaLbSy;Lz zQ&NpX@*hU&94}NpX(G>Vw$I~RtVcvxHF2p zGt)57$-WwLOa7}ueULQ==KDOSFEozJM_sC{dld>uhb{(WI#UAPTs2$ti6|WhVG3WY zzazxO$|c?$N6*?H7@karRg*__(Ho5o8Z>CySmd%+O4V=oOKtVw)#XpUKSRcOQ#`Nm5JT|ptm^JKtkSeG_Nm@ zK$y^Mge-}=s2pQHkEQ#cm%%lBnDLSu%9EU5eU!yf06i;MG5cE#VAi6q;`3ggH<8D+ z(;AbpJ5oO&g`U@NqeJqL!&6=u?_v65_Q$S${Iyo{D4R6o3vMuEstfI#9qR{)`oIyn zM5QC;F^<|xR(WKrZGVsZ{uczA(MPH_6svhYoLl0Kgo9o|+An2c&m&(Zc4Fo|^BdUStnUTMU_*hq`5?{MW@hI+5`( z8Qd70ynHwWA;;xC_P9~ z=KqEEr{KRn$kOi~lKf&2>M~4ZYPcPko9Mt9Vfyb27 z@}y3Qj+YA^iA*+HNO^<3Z?#H6q`ZZFf|-|{|4AMyn$Em@uwNkl*-G76i)nUsHOxRVwxIxAml9Mq9V7q1sPVbk3u)^J- z7|r2cPO}yd9P7<(Q?RZq6>RgCk2BtcX|JIFzx_vGu`xc$T+VdwHBCY3p=$2G zt$+6rEz-$Tqzqgg+qx-?`7L@!uH9Sr6_DEDIY?8YAx6D++xCqN(87mjqu}ez%=#G~ zh>*BV*6mmuy8ZoMv_Y7h zh}t8n$u(Mf&kw)q%BcM^7yQp9_i7+)1x0ew$lBdZa4)=I>9U(FPd2r!aEu`ByYoaR z)JgK}6H5)R0m*Zq_6}l_|C&oJ)A_bAH{(1KHL+bpeL4wS7pCT=W@28oSnF*VDGA~g z00mU`qkHSNLl<2RK;9u-!4$kYzjl@p^YCOKmHh zP2rnj5MS!0lyIZS^f?WX5=OuWBA6lS*7*>qJtcU_MZvdAt6sVbc6&qt_rD8uKZNh_ zKZzb@*PDwI1^~MlZqG}LN)6Rw{jv8-Z@Vbbebke_OCP!2^9}Tz8}N=y-)|eM1v?u# z{gx#!doLjF>1B$Jn7bcXZ#fy5nh;NhFrz3C7IR_qHO2o}P1-Gkt-t(l3 zEfklgJkqj^X#E2HPCOUiQn4oK{&7SSdZ#(w!a65m@!bH9o45vBC=Y_H>j{ zyu`TM=R>fPD^6tQPxATZqy)AR(cF`1`p;#=cTR&>bz~$IJyaH|)(<7-yOkP#pt98&zDe zZigos_XF{x05Q_60Ko+lA}Bu;xSg$QXCPuRJ;OJS%}h~%2sas16HN)Yj=-H9n)}+= z)<^+Y3b_uYS`StL;c_ULoFKstb};{59(sF<;*M`0yERGy(_tQ`al5zzdrdic=PM|% zB;?~$P2I*S;5dEXD=J=(N9L1ho!vUoX^~E@Bw?rSQ8T^)c>vs=OPDZT0ogGob!vgQ zgrA1=^`ptO07w|h!fWUx1stdEOG_vgWF+G+%WKxp3Hkg`j`G#ip3~H^g|bnqJTm)Q z>401~u7ye5KqlMvxeC7T@DhpCA!JgzGJn6J&=A<|3Ce69a=n%-V7f$uM6DCwcTV_t zK$;^2`0P>bl?ost&Y{kDq}*`7uI+1rUkb|Q4q9`Kf;Kn=b#fq~LaC>D9p5eS5M-rH z%qRWVZ&bh$?P)|#ZIVBppYqK$sw{d6)Ouoz0+c$niVRz+4Gq_}J~SWkNZ0l7c)Sfa zmMvqQ)ak~gB5d;A)4iV-`3qfz9$A%l>VNE1z|QC{oLV6?DoLpyQ=sK)NLdL*OcaaE z=HDwIsnWEt1ys=0Yd!E`6Xc#?K&CXzwEBBH*-7dgS{>|^YTzUAs5~h83lpD#&LaFBuRz3xZf*>6a z{HIrxP{Q@*gcO@Re(`2gg2`e^5ZMq(D@uK)v_AVeP_!x1n<=r>RV66&5Q$hy5n70} z_3TZJ#*g6ZUm~LU?w3c3K5kp>>!42!u}dSwkR!~E+0yO;+D_L5@Q$bMO(imzxveyY7X8G5&J@k4{2Ybk!}lM}_xFzVEPvl&XmF z^Uvq&|BP~I5f(^!l=x^0Dd=8k_YV3?A7h-!Y)Fn5S->GmmJ#IwcEBM1h((trsvJrv z0Y)Sf3pjGUGQqq*>a+hFh|~auD;H^WUL`Q=NeaC#Jzoj~pMs@x&#ZUp>gYuX7~XqL zE~11Ig;T$YSf)?RxW`#+7)51U$tUARABRBgArQ~}pA}Vt3YBwa(%Oy+^*UUFd5)BH z-4OF-86}YPUQAqFegW%7-$9(vOa(W}@oGvwA7~hinQ@~w$)eXq;jFSa<)7%~Bk7j> zud&geZ|KTiO9@59C_)fvYfZPtZ(Bl~W`OZZx^f*QAgeg`oo`rA_QR15k@JVN1IKj4 z=jbJnilc+^b@XBQ=k~PS_1uv3j+EM*0XY-O^kc}mP1GVoQxY)2?gmIYy>#h%r=#|b*?S+1XtL?xNMT}5W#&N@R?+_+Os*Cn+ zTv+E8RQ3<#@nLR}b%jD!av-jZP1egsGg;}E`&+Ut5sl`6mCA6|oMDaT$OJq*;6^;+ ztz3~e>KMdZDDXi4H41q~qr%h}{51c5x_XQ5{b(Um5sKgLcq6x>O3^9&vv~I+s4yXTvucoKM zjN=3y&h@VqG4a-twMHP0UWZD^(Y=dDVC`|mexOtF<={5F4%)d>Aul-|+ej^P%B-=> zn12>PYake(B)+*vG03qd8eleyojReIt8uhui+FJE3QB}i-znmx-)|FQu;8wTn0PlD zB#X_DI6UD79P&Io#h(ShoF5bcQ5xVz#?*|>D;76I5;3I2#`W_dVkOwD4I^GYpomDJ z?qeN<(TL0qjRL&cn~#SV0WA~? zh(w_kfgu_Oo-%&%cu9w+{{lt3>f13r4!W!iMUP6W$yU^-#kb!&vkJz%y;1b@KJAyQ zZm3#pL`k(6EZ#}!8v!idm@RT_3XnYhPf8s+ztX8GkdzieIaBw$=S+*WhV^PF?ANGL z4o&TQEH7q44VVduVA}2Sz;mW!p*~m}XQoi0@s*HIGFM41lKM0F6HB=E3g=#U&bP@d zPV{L#eP9-7xw$~gdEb91QEcx#NvRFnc<(g=(}KX{OO%#Og{9{NWxUC5S=-h#tab?H zB~K2W*f=juKhSf@d~@T)ES|F+7Iy4DL7o!gN%XH5zIRmk==8=UGxZj zOp4h|J*J;Y?9=w0Hqf&p$oZa}357hTM<&sGc8)fPTYu)`B_scW!uDn{|Zc6t!gStB z>RzMX+EV&^knS|XnNM8@ms3J=eBIV7h`1~D3eWzmnJWiEgl>-R%-r>h3Q8abOmQLe z(?Ke4dyzR%AFM}ht267Z`&ej%LjNBov)CLxnep-9HycKvyy%9hH*Ur(mDRQ(#9-Sm znL!nI*Ad-f1{g7l?T$dw@9x-LS1p*{`gJT) zW?VkxPIT%fZWjM&_Hvjz4V^JBSO00EwgvQVp2d{t4oMd7Iw9_huVCSiQD?PfUZ!cK z7KwWylk`Jy6SO-hx%T{TRt@?Nnx2WB7+li@{MAC`Tw7>s5_{sekDlCt*ju1!eoVA= z2emDT)23Lkv&J4-^lYi*2`nx>~;FDrTOyPaE|L6|jz`|(1cRjg-Z7lGZ{zw+8zUYp^1(@=&4G5Zhe?-`wvja#9~ z?K0&Y@@ZcPT>>7@u`>pEhIJ8IXk|*O9|a^_)}yPuj-HH<9J>!xi&d6LDZG!ontC=2 zI_`mfD}d>^%3!tB2otTn#ktFAq~B{BbKRK^)MotnoZ-*Il^~zLa^2$p!w4lD$JZrRRR~f2eBoW!U^B`Nd=}`7&s8J5>WY+zq_Bx^)@^sW3Efwj zwPtQ?6+r{Pns7#5DQ20V1mh6GRw*_T%0ihm_o_<|e}^3Fph-TmT`)-rgljS*%H;G& zzLNU!%|q27U_4R_*W=^KO4u#}N)@6j##~)}ADAQPFnDw&OjD1k+enN2iu{2YJV(>Bdi!pTq`Cf9J$yhA*p;b?mDX0z@a$O$*%$E8|5OC3#`Lq=L1@h*)< zfDPbE<7-9BEaBb0_HqqZI%ORlh2K>2m92b3m43R&oM>EEA|zHZ{@kDudj zds>eLN+|YgL{Oz<*vcWFkVtaXuljWJLul`3!Dz4lLM24U*KOJpId@CT3BT^uj648Y z-s9)%kO}|Xp0<9m5{R1oM?!^KP9J;*p{@#qI=w^*j|PfU;D%FXhgv&+EpG>39-Uqg!Y)8ldb4KC+Tcku{PAY@Kui)0)MK3^C5GNh zw%(y?yW?MP4vX%G2j#`hdu!3vD++ z#H{zVC(USU*6L`1-{Imy;VBRG4E*%sDNyqWs10{|LX|(fOw35Ma26@m9}1i`TrD{|JGhl+9GFuk!e4gSUr}vR=eF$$!KIVu9Euu zJ!wXUN_hR_q#)7jcgYotov84P%Dt`vr!XAwq%Dz2v|GX9kYYs(l@W&Uc~_o718<>$ zt}G`MKI{oKLjz7S!zrW#f@E)B?oP}%p!XBBA{9??NgnA*UtiI=B*=_bIJi!&5w!q0 zW#zQ5UeZqg%~&(+!gR6nh$pR(aY|uspd>x5+PG#uO zD0Z5P2HDeF&s+KrI3?hEeHm~3YfpI2#e|d6;Q~A)#HFvE_hmua@{xv7DxX`+^0z0g z5$mEv=FCa)Pi}nw@2k?d7%kd$?l|Y${|GIVncObZ>mAR;lTciVA|K@ZJQF)vLo@^^ z5Fd>lHg0fPynxZmb<%!ONl)6slaNq;O2TXNG->!6o|g@F@6J3hwXr8mX%BQH1Mzl@ zF5K?`MM5F8gLekMH}Rw$8A-@V^9tgCbn?mgK`ZB?Eqm~5gP-GXds?4nO4^damWw*_ zz-!%aH_C;g@HV<0K9=m%TnWvgSNj;Rk<`6d3;R|4vpPn2|6pp3SKHsT@_^G+Xh-VO z79Hu>>kbq)1Dy%4=^FSep>S(uXwo62kV-o2W(qo=1kX7nn9LX%poHr9x=n{o#rkW) z6iIy0-4_^|q2#6tY^NSmw}BMr^BukSh|lBQXzu|>r2e9G^D6hMzuQ2XCU88yFRe(3 z5=yLnKaO|6;G_hRyiR3rTym|QesG0i;52Z=5&pS7ZFQI`2G-=nO`oewXxRq%`cv41 z-<;B-qbdR(WD|KMh0I>E)yBajL@8i6;y|Q2gx(-=lX3OzrPl@kQ4R=hi*B7%Ap(si zsjVBw4_=-?w`4uRk56en>#U05Z=eGaLUWK)HMurYw+ce+MkM+$gAeSg3KDFJGbFp+ zAVcYv<9Lyc1|2t%`ti{PYfukV5Ke-fzTm zI*!%=6do`ab*d;nF(#3)r#^b*ysche!^i$cZ^jKD8>b3Eenv+*g_4jvubDZ>D^%1X zW}_-hxM`4(Kp8SQDD7JlbTw3vg$pODC5R0(NLim>Xjt-lFrGnSek>?2B&lLV8sZYL zO~7qfl2C869=i|+*gec2a^OpgDxl*|oG?p_!DtkJK8GZ%yuS0f7-%pH)@Hdod^=bb z(7HB?`@4k3B24_C(G|qI%t0enVc>OjMP}p4<)#eV)xHDrOdrfw@~$AyXtfN3NTMM| zkx@OC`opb-J=#}eRWTwAV!4b|)uKo3S`;}S!|%8lKI2p&e2_0iCJ>3?|L^(N)u5{L zf|B<3cvTF$Uki;+$|`exy^fS6tYP|2RYmD!OcEyyDIS+f`I4St<9YwpG*tvtV&VjC z=YDbZAp>pgWe`jJhpi+60%3stfGqRk>IBt(~=|B4NPm4r3Gv&E_q zIHM&r5=}Z?EmLj1xDeBpsv<;b#cV`~h}BIGiz6zoP=$ybAf_jZ{ZQT0arHz!ddo^x z2x3K@zbh4BMG%XX+0H+N%nMU>6EQX7AAP^iaAkL74N0ey@r^`Vxr{dLCy?nb_a!f$Ks>vfFVR|O?nD5wah}VU>cAS{n=n;$4ONPM=9^N zS100kUtVZ87NeETSoh$>AI_>GI>wT2iR5iNCTPMaDzCtwd2#&JMO8!$^ixEVB{7~| zA8~sb81tb=o-CVPR>I(Oq7qv;Ht)JSk6sC<>-jjO&QEmnDLBy(pS(S~i)v#wL;IZkuAzwjk1K{VthT=I%`Hct`yVKa@ zb4Mz$bKsY>x<^}2+AzVUWd2A6$<;l@eWXyUv|Ds@Nqb~sF4vkYYG{%A7)%|zlWXyT zx37ZX|MPG}h0C=rhZ+(cOmI)5h-c<;`zRgXfh2SGX&P(#B(=M+6oqS_?$qAe3f z{a|-;7Px%$%VE%HPDDayX1}5()Q}yq&U*-XtCI9}U%ofc10Z|hLwp`0TNyQN$e{67 zNXbuG=fd0S7j7UZvqAfO0O4O&4Lic1!_8KbNr!@RT#sic4R4sD&C3&lkd+OSYUouXUMG@Sq{^Ab%#5kG~ogxveq_ z{?+Hf{XFoTeTYjQla&M25W{gbq9w&`Om6%(ORvHZj;29_m~i9TsX^JDMXysP;qL=( zR-wmtDiw3h_nF(P!it`;m2y$Crq`{_hV#&EOSq{o6L?C5TC#J$Cbj{CLSo4C;ITKr znuw6#J@$c4YIqm{VDFzh$u3^r+b95%^?=vlO2+iR?P>3Nsv)_JdoeMo8|jhv>8d#R z&|*P1x~Y#ExG>G~6zEO?etuW}p|>Rh(7*7zc*n=6YJ<^e8l=|&l_LHGDfv;yRu}qI zguoU7Y(T6Un6JTt&Gk5}D4v4fFOLmsVDbYIqOI9`HIfcL z6&28m^;bjV$yLg8Mm#JVc>+pIfamaJSI4M^<{Tg*qknSJlHbLh@PUJTfe7JCS6$3X zP<&KeUrZtz>s0oc+W8OYPk0vZak3H&_xOy2s$}4Q@b8yP6CmPfXp|59{Rb*xa}n!` z?8PEQ4jJ6=E)7#t1goVvQazwZ936_?JG`JjLhKgOC*LF2aD)exCSvv?Y4o2z*9Agn z-q0DJc{-b>o+GlGk@7{6&U3R_0HM`L0rW4WjRwc$cd`G;D`ng@rJc+QR5B62??&R6Mxc)McD` zb+P&ugcxFQgMU&y4nJq0@j8Wj6BO{>Gd(x7K!+nDnHEN`R^JBO-aVZoTg5oFL`(_f ziF4+3`R*aWE6}q9vj)6dr@jFhX2{Ti6nVz&9EEilFlcbGOEe=#ZctB-OfZ>}UPuXifY|tJ_3d$<9(KmclYLH;{?Ks}Uc+u`(LFFq3bVY_ub=sjCu>Ro#Hze0;t9E48F zvfyALn7JnKJn0QP>IvF@Jw#ix?SdU!>J{^Ovh$PL`!D1}RW%PUU~nIMb4)!v(4aT! z?ANQfH#a5RlI5STjE2xh(WmlhHOqPR?2JekOSoeF9>v&>M}>-wK>eUc-19Cs=x6n9 z5KXyaswcaDy{GOkU}(IIuE%2Q{h}U?dqJGK`wZpFCj1Mv4vy%JKKCc|xgA*68}&qe zGem<<*x8fnH!k*R)dH@E$rzVug|@HNgB5ulsXd}h$c!pTFtZ^u?_cg~iYl1;GGvr9 zxG{~Z-H~O40#mG2h<)=n?ZapZUrS<|PR*vCEb41c*7kDxe~3&m$7*p^u~APCQV3f| z=9o3`>02K};%1aT?O5yn%Bj9}wyHD34aI_hbTYE^rkwW>f0I#eaO#r$>Z!rF@31^L1K|&afukhFFJL^j&o~ zkR&rMbhh4jY{X;i5%DHrULbG1^Y<^6=n38TAk=1GU-pTDuUjF)FH`@&WBd=J-sjh7 zQZeSN%f8&Vp8S`sk5z1>4AE$E-Gm2dQM^Le@`RcrPR#cUhBQg6TF zz|Fq3$@o9*qe)25Ggl2?ZYqU+^h`BOx*8Q_Hgk}g%3OGFiJ>rPe zq-2^Q#U9-B1>+Wq0-hwQ2FY{iazV!vhR z$YV);wj;1!^}ISICScGVYrXUb5qB8HRLq0(#q zpR@mhM3>-@ZJ1Oy4oh1Upy}9MmOIXw>L^2?cP;n)jb+WT@>W__mT26e|@YL z_pn=`Hg|+U=_PwPY{PEV%XmYP3y_F-F@3DFJQlCBB!*~{oUCa7H@1W2Ha8NhBgkPJ z`jp?BALyP5?wUB#19B!zqVSML{Zgwa01L<8@*+8O0Z8QD@?j@>0&j=2aE^#CD&g`9tq z{MWHV3VO0VtIGO|9o2VH)HVdP3Pq zbMxBl`#l@v%7LLo118&>&*ec*Ay!Z9{5}!R|Fi#oH+=nDbk6k{q2qXU1aS#&hcx?b z100D-S!6*#WhqAhlg#h+44j|b`pw3)zTl2gTC*M z5md|4u6x*4tdoaW?H=4oc`CZw<^0=T$P&LJ(Q}9E`Heiz(S13&o7nsq$@R^vKBbR9 zu4kAh;-JF2-cx2|A_W~KRUO$1WGjBOtVS~hNS773qw-XT z*)p&~UnI(BB~G*_KOEiG^`KA8Jp~lXMj4qx9MR3|`u&UdR1Li(p@*`xpb$U=Oiz#m0--G3 zNoJA^ObJsU0Y$=6rAm_`%d+$=LBX)VDjgQY0D^!(q;5b!suT$t+5b0_DROY zIcLtHoV?$B{k!Geo8`x6MeA^)J;Rcl5+s)>_-klQmCAp7 zWV%VOwT#YUlqC=9dwgd8mZQK*C7{%{GI{K`Ga9H=tJL1F9A!=ycsSJ_MFA+$JZ{--#%83?YOpvI<@(9X z?!TVTK&#-qstsk_e&MR)eo)0OpWL8Nc67^zNTg${dPiycMm|@j5cvui5^_o2 zBmWySF>Ey|{G1QN)U()%E$Dde9?08leF)ygC&|@4scVq>X2uR}@EG;=2qKA{ zTPobm=Xj26g@?6-J)Iw#?GHuHk_2y${d{a37O=HOI^f@<;!5SCBs6LjT6nh z^|<~hALJecDisS7s8JVlhox};|3H^)vFLw+&vE8&0iU-Q^)6o}oq@rwRrk(FJqrY2 z_VY>Y0j-oYzCLRAk`Y>P$-nrR{-YdNq1w}H)KfmhhixG`-ry76 z77}P7C@a1j_{kW;m515bzQ5;9K2Fl`$xI!QtrpEXylgcHbP#?RXwIL!>;XUWDXxic z0neb-m18I4@{54T12MvhqQ7VNzs;w4BzXZHlH1>D-8Jnp9Avj7A?DuU^F#;NM7sa- z^`X0wF)mAd{>CFd3A0C|Y-wt%>sVfCwjjs}UFTC#5NA5l605#niUc5XJ%!@rWpd63 zQ^vtDo=Ij5R;cQ5M{Lfar$;Eu4WmdfwWitPeJCaEFoDEQw~Q{!2YCduuZ%&tcG<0W&`E@c1NJ8s_n5}4YMhTXHh zq%$8Q+bqku8rf%9+e57?K$^|)f-pvLo4fE)vLnvuv9cQ_i1v7~U**Gyo{ureU>&>q z+kBeDOj2JU?af{A^5`av0B)c&XC1puI3FVIF{KnLe=`DV?8t+{Xavo+5Uq#sDem&e z9dD9I{q`SuCckXbZ73h+ow#M3n;=~hj`{C`G&SILY`YvWj1RG=H31T(p3~_&3ol_5 zuo3h9ofxMZFq}^!-IW~Ii^)*6k3BirkEdu^wPlZa8NPl2;*(7SXY~BXJG)dz4N#cNB}slcIRD{R z1ZC4eZ*3hl@=MKl@O__(v?1#$CE*{<5%4ayolfKF_5#rBW8F~OaJ1$5p z@%2}Hf_I-Qbu5bXjAb_K4mj4IVT~BZ5?8+AGbA(j+!RJ~?b;W2rV<>v9pWW|VZJ!d zXF8o(X3ETmHw2|N@A?mPpzlDJ>``5sZ}~j0rC512wt3yZ@Fc2PJvaob#^m#S1TJ;P zF-rD{K-r2dWs;L$|Jl|`1+&$LXt9hM7hmQxOH5bVvi)G-+N5;Y?lFXAp)alpLp@?k z$YGMd+8#!ygs71&;uuMf6!M`mQ&ikUNJ;8Ukp6FVAnI#yQ?_h$y~U@x3r4Vyku!x~ z-6@CuG!qgX#D`_9yTfO=OOvlOLVmJo#-07^5aPvAr^dwe9dUrR=>-IMZ>D>*QeE!oi7ICD&JH z|F64cj2FP!i}-n)kt(H*ILAXex$O?*YFiH6KKL8n``OyayRI(|;Da272~M(NxG!&> zCubAxynq0^V4es@kZY~@&-V~OV3veZKC29Mrtdm0^$p57Yx3`(=zyefPg3P~#PMlf!xbrl zCh4+n_U=d7;W!M&4kx?!RX~_D+7KLIfPGN*vpr~QyW=8wDTRV4;PZwJB4H}JKbWP= z?#H3n-%hjOd`UM$&hbc=vcdbe?S?GB;uFb)QnLXZiia%DR}yiJo<15IeQA4~%+YoP zoVw$xem2CSO}A{%A32Z%bUhgx8#Cm#yx41wHEHfsv|p7l0%O(Ia4_fjm}Io#Og@v% z(#K}auvrseF_}9bh_Wg-;A|o?0&N*%r!7WlIFypRF!3Jic&%m-Zg2M~%EI&}+8cnJ z2PB@cjej}^;=I_-9k7-0sYL%<--^^=$Voq+>!3gHw_8bOp)SIk=8=zBai6q2y6);)^@@Gufx zbS!;73Gnya<`1{v`DO5YuK~q)&hxzmkPALhLh%acZMR_F6VF%Fycdt%-QPQR2F%vc(u4Ym#ziA;{ia6|$QGPym&&f{gu( z7$ioghe7&hWoUhE68vU%lf{{MegV2QmT_-tsTneFCXhi2zJD_QB;@Fb48t;Z%@kwU z4Ps9$a=Ic$X5(tzXlh{zWJz)bIW1}ZFuT-@cvA|!)sY!#vKg)9ZCZ_1qu_O9tVu7+ zeK{0gAXnlMe)Gh>fTu^uXp$foP9;oPi6BiwLSu75-h45LU6T&Ckfs|_%o(O6M*mwy;}*dbBcLsI4l{kd z7{oIP1c%%A;!8C~@^qY1X-;d%VuE|KMj3?V0G|i5QKP1H`Nf@(nx4nfbXG#GTXRb#-Ig zqlZ=yR!TBj!55_^$YmSqnr+9solL{?e@CET*1`3Ym%U~OhauNB_coa|7M(U_bWfv> znp^a2GB0|NTO0F(R2r;p$F%nLHOn3j*g1T2ck5F9k!+nF+}-dD64A-0tZc1LaS)2K zDLOfg;54f6Kfi}?or~ngP8`fU%>lbw182wMv+pDcM;SE-vLPMaLN?rGJE|2C=Q$ub z30+3B4@ewmlUlW!1hsjzR_W~%lDXxpKb9SnoBYIzTX)R#C<$3-+~u&C{|mx@%I zURDNDQpMuBHDBVpe*rnz)^YVs4n;B`Ni>`2YC4(lqU_YT|1{lUP)0yov5dA}{Kz3W zJm%=T5Yl`lmyOA4n|c+WtB&G31UvZp zFjlLF9l44HSYkEjKUhR0q;buJDQ((Uh5~<ESfnNb7h ze2WpYxJZq|khOWxU1T~r=MumtHy_BqkB=vS{Q2n$XxTLz?$m~#2q+Li?_ovt)k(7t` z&p)#PGnzpN7j_$VVwfnhf4W(##b%>)Yr59LHz!Hj=J9($XR+6@N*(V5r$$7JVq?wf zw6qAD9`kl7=}A@-&b;M1F(tjuw)HzRAo4%aWw5z@RX^gxImCN$`{Hm>lGKz+RC1tCR2Rc4LXQ_ABkQ;4GDWE}MpVL*S}U%LIy4DM z;SEG-1d|kECWvC=5GiUyoLa9B?Wn|~N;dY3=UvA_#Emc`oA#P#i}IXRh3}xG*oOh% zeee^8OOFtlag2n&PZ1?X8PO9p9hZS}L-V1*vA-%MG|V2#^kFepvr}zFia~77e7(=@W5xGW_K@ zM2lqnC3mkVjVa1J@!IwD`--l)dj%z#ZJ1je5Cyu$<9iKx>5JyNj2Teri)!A?aYsd& zOn-%5Qb|r?ZlCZl>wU;sjNoUJTgqusrf2#VlXT?42U`weXwVGiWW6-{yeQQk{z~GJ zmoBXGmN5YHhu5$$$yN*XMGnZK#{D;VnK#5aM&^q~p4zwmu>~JPG-@?s8Be|RqbM=T zW-w$Cu4H*EI9@$IE6${sol+s_hR|!jZv^ZVK5TFE-EC25j4l)B_Pe3dfh&=6Zmk)R zh(M&0&yvpG5hZzxCnb^Ty2q|g&_R*=L1RfD-V-J9O-3=$Ho5Km6^Og#NM+HC$s!(z zl3e2pK9Yoc^!}{gKLC{k0of^=up&{UqOAyWddSFJI#=^ev`S%&Tw`981_Id(j`{Kk ztkr2`c7u=>A5W@mYleC^2NOhWAHT2okI|%lL7Xd7PF!dQsg|O?veOFP%LOP;E4V_M zROgn8Hit-A+oZ3!d@he1<)a@zsnUkEN6yt z&2{O<%Wrj{*6U=?YXg!n&?_T(KjUc?4o7BUUaB{muRC$2Y(8zcq=Ssu>iKCc1%^gv zv6^+s_M1aoX_xlgMS1*(oc@TpsLYsGn<9$qBZ}Enf2q#@%9Kh;njBd4=Hp=?;&@!I zt}?l?C@~rrAZsyGsKr_EZsDao^8D~f|7sUtx%KD|-euys0WNs-IR(pT)o#L)b5R`; zpv)yXe{Gfjyc@VFlF7r79YwirIlb*EFKgk7Ysc0iZ@rLo>@T~CGVzjs$sT-V8EH3V z@s->4gQyz;Gm+74*(gz-GYma-%$Js8e^I?Xoi9SeFW|duyv&IerN?0diaAYdGH4M) zDasO4b-3WKzOoF=zaw9>jmkHPqD-g6_BKpw=0jt*R@P4jv;cy#3H9s2qEHdHr3unn z`??3w!3MASdp8gpl0{h&TB}-FDhkY;ntx5(h;mc~O>{WpJXJ@Dl48Xzm-}&QgbGTW zjXc1x7$ci?oG2^;cd8n&geLnkw6G6EX$iVas}1MVVj@CUicCi_ao(z~QyZG~gJvTcygFMHkL5!9a-fjB zOIJQf*#^&{qw&}#_xwyzV7zv07GJXs*OuKI0#ZegA{fyM=Zcad({+xse>ug9RC#q* z(d`e>0?_(D>!g;2qCBCrLbd-zx%-um0yY}1!>X~*Vo?}BQ&TNmJUQ%oOVo%c3@X|6 z!7-nRlKS(lwM*M<#TewSeB>?`^KhjoCPo=UMmiWjdBj=-b`+-lSR?IRCyGhLb;-EE zSQ$oHGI`zR0d&os1#;;b58Sm?6qc&9VqbS!h%~rMq8`yluiiNhbiIXF*u_WxiR?_W$=clmAAOSLOwop{Kz}MC^)8@*&Z0B$EgE zK2GZRS59n28eMHiZ_9Qg;rXI)+&Y3aMT1ZTQ<-V8rolNI;;J8*VT=j7pAuyzsWsS4 z41c8kq}cdEFSf|5_wM7}!>^;L%|aBjdA{m-QCf+FVk%vEaerztfS&@$_B~0LMS+oO zTS_`7(^D&(G@(qUKa$}BeBu~YZY~sMdB&HRgsNI=HoXr679oyU2^-%OrDFW5wVISO z2|3HeO4hb55FJy|y7puwEV?Voat}y^ee`g7zh9=II~a-PHJrgteHX6ulB68 zXJW4#@R@Hg1X}Qh?pbn_D(eaA+B;HW)a~GS!@Z zO;fi{fun3iD6q9U|20w65M4$pU#LoZZ;alIcBdAq8|x-HHAP9iOnQSU&4dkYNd}$S zXd0`G4TgZ{>irgI`*CIwt5$1_QPtDL$_~^Sm`e&ntOuTfG06-ofMP6;yQ~ z>d_uG=5EFOPOFjL6Sa^2z|%8KhIW|-y;~&}RNnzob4_f90bkvM4;$&fY?A0xMkTBW b1o5<8IRu+Zb>Hv4-$xB!QSHkK#NYl4jT5de diff --git a/src/main/java/mods/eln/Eln.java b/src/main/java/mods/eln/Eln.java index 4aad52838..22be3c554 100644 --- a/src/main/java/mods/eln/Eln.java +++ b/src/main/java/mods/eln/Eln.java @@ -175,6 +175,8 @@ import net.minecraftforge.oredict.OreDictionary; import net.minecraftforge.oredict.ShapedOreRecipe; import net.minecraftforge.oredict.ShapelessOreRecipe; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; import java.util.*; @@ -317,8 +319,11 @@ public class Eln { public static double maxSoundDistance = 16; private double cablePowerFactor; + public static final Logger logger = LogManager.getLogger("eln"); + @EventHandler public void preInit(FMLPreInitializationEvent event) { + logger.debug("foo", this); elnNetwork = NetworkRegistry.INSTANCE.newSimpleChannel("electrical-age"); elnNetwork.registerMessage(AchievePacketHandler.class, AchievePacket.class, 0, Side.SERVER); @@ -3525,8 +3530,6 @@ private void registerFerromagneticCore(int id) { } } - private static OreDescriptor oreTin, oreCopper, oreSilver; - private void registerOre() { int id; String name; @@ -3545,7 +3548,6 @@ private void registerOre() { // spawnSizeMax,int spawnHeightMin,int // spawnHeightMax ); - oreCopper = desc; oreItem.addDescriptor(id, desc); addToOre("oreCopper", desc.newItemStack()); } @@ -3996,46 +3998,52 @@ private void registerArmor() { } private void registerTool() { - //TODO(1.10): ALL registerCustomItemStack commented - //ALL setTextureName replaced with registry name WIP - ItemStack stack; - String name; + // TODO(1.10): Actually, this might be fine. { - name = TR_NAME(Type.ITEM, "Copper Sword"); - swordCopper = (new ItemSword(ToolMaterial.IRON)).setUnlocalizedName(name).setRegistryName("eln:copper_sword").setCreativeTab(creativeTab); - GameRegistry.registerItem(swordCopper, "Eln." + name); - //GameRegistry.registerCustomItemStack(name, new ItemStack(swordCopper)); + String name = TR_NAME(Type.ITEM, "Copper Sword"); + swordCopper = (new ItemSword(ToolMaterial.IRON)) + .setUnlocalizedName(name) + .setRegistryName("copper_sword") + .setCreativeTab(creativeTab); + GameRegistry.register(swordCopper); } { - name = TR_NAME(Type.ITEM, "Copper Hoe"); - hoeCopper = (new ItemHoe(ToolMaterial.IRON)).setUnlocalizedName(name).setRegistryName("eln:copper_hoe").setCreativeTab(creativeTab); - GameRegistry.registerItem(hoeCopper, "Eln." + name); - //GameRegistry.registerItem(name, new ItemStack(hoeCopper)); + String name = TR_NAME(Type.ITEM, "Copper Hoe"); + hoeCopper = (new ItemHoe(ToolMaterial.IRON)) + .setUnlocalizedName(name) + .setRegistryName("copper_hoe") + .setCreativeTab(creativeTab); + GameRegistry.register(hoeCopper); } { - name = TR_NAME(Type.ITEM, "Copper Shovel"); - shovelCopper = (new ItemSpade(ToolMaterial.IRON)).setUnlocalizedName(name).setRegistryName("eln:copper_shovel").setCreativeTab(creativeTab); - GameRegistry.registerItem(shovelCopper, "Eln." + name); - //GameRegistry.registerCustomItemStack(name, new ItemStack(shovelCopper)); + String name = TR_NAME(Type.ITEM, "Copper Shovel"); + shovelCopper = (new ItemSpade(ToolMaterial.IRON)) + .setUnlocalizedName(name) + .setRegistryName("copper_shovel") + .setCreativeTab(creativeTab); + GameRegistry.register(shovelCopper); } { - name = TR_NAME(Type.ITEM, "Copper Pickaxe"); - pickaxeCopper = new ItemPickaxeEln(ToolMaterial.IRON).setUnlocalizedName(name).setRegistryName("eln:copper_pickaxe").setCreativeTab(creativeTab); - GameRegistry.registerItem(pickaxeCopper, "Eln." + name); - //GameRegistry.registerCustomItemStack(name, new ItemStack(pickaxeCopper)); + String name = TR_NAME(Type.ITEM, "Copper Pickaxe"); + pickaxeCopper = new ItemPickaxeEln(ToolMaterial.IRON) + .setUnlocalizedName(name) + .setRegistryName("copper_pickaxe") + .setCreativeTab(creativeTab); + GameRegistry.register(pickaxeCopper); } { - name = TR_NAME(Type.ITEM, "Copper Axe"); - axeCopper = new ItemAxeEln(ToolMaterial.IRON).setUnlocalizedName(name).setRegistryName("eln:copper_axe").setCreativeTab(creativeTab); - GameRegistry.registerItem(axeCopper, "Eln." + name); - //GameRegistry.registerCustomItemStack(name, new ItemStack(axeCopper)); + String name = TR_NAME(Type.ITEM, "Copper Axe"); + axeCopper = new ItemAxeEln(ToolMaterial.IRON) + .setUnlocalizedName(name) + .setRegistryName("copper_axe") + .setCreativeTab(creativeTab); + GameRegistry.register(axeCopper); } } private void registerSolarTracker(int id) { int subId, completId; - String name; SolarTrackerDescriptor element; { diff --git a/src/main/java/mods/eln/generic/GenericItemBlockUsingDamage.java b/src/main/java/mods/eln/generic/GenericItemBlockUsingDamage.java index 6fb55e07b..f3e81e90b 100644 --- a/src/main/java/mods/eln/generic/GenericItemBlockUsingDamage.java +++ b/src/main/java/mods/eln/generic/GenericItemBlockUsingDamage.java @@ -51,7 +51,8 @@ public void addDescriptor(int damage, Descriptor descriptor) { orderList.add(damage); descriptors.add(descriptor); descriptor.setParent(this, damage); - GameRegistry.registerItem(descriptor.parentItem); + // TODO(1.10): Mumble mumble. + GameRegistry.register(descriptor.parentItem); } public void addWithoutRegistry(int damage, Descriptor descriptor) { diff --git a/src/main/java/mods/eln/generic/GenericItemUsingDamage.java b/src/main/java/mods/eln/generic/GenericItemUsingDamage.java index 18904b09f..be763a2ee 100644 --- a/src/main/java/mods/eln/generic/GenericItemUsingDamage.java +++ b/src/main/java/mods/eln/generic/GenericItemUsingDamage.java @@ -37,16 +37,12 @@ public GenericItemUsingDamage() { public void addWithoutRegistry(int damage, Descriptor descriptor) { subItemList.put(damage, descriptor); setUnlocalizedName(descriptor.name); - setRegistryName(descriptor.name); - GameRegistry.register(this); descriptor.setParent(this, damage); } public void addElement(int damage, Descriptor descriptor) { subItemList.put(damage, descriptor); setUnlocalizedName(descriptor.name); - setRegistryName(descriptor.name); - GameRegistry.register(this); orderList.add(damage); descriptor.setParent(this, damage); } From 9f105bec4ba31bf706544125175b366838178678 Mon Sep 17 00:00:00 2001 From: Svein Ove Aas Date: Tue, 26 Feb 2019 03:29:42 +0000 Subject: [PATCH 38/61] At least make the bloody thing boot. --- build.gradle | 3 +- src/main/java/mods/eln/Achievements.java | 31 ------------- src/main/java/mods/eln/Eln.java | 44 +++++++++---------- .../eln/generic/GenericItemUsingDamage.java | 1 + .../electricalitem/PortableOreScannerItem.kt | 20 ++++----- .../eln/packets/AchievePacketHandler.java | 22 ---------- 6 files changed, 32 insertions(+), 89 deletions(-) delete mode 100644 src/main/java/mods/eln/Achievements.java delete mode 100644 src/main/java/mods/eln/packets/AchievePacketHandler.java diff --git a/build.gradle b/build.gradle index 3a63f3ca0..dc26a431b 100644 --- a/build.gradle +++ b/build.gradle @@ -19,7 +19,7 @@ buildscript { } plugins { - id 'org.jetbrains.kotlin.jvm' version '1.3.11' + id 'org.jetbrains.kotlin.jvm' version '1.2.0' // TODO(1.12): Bump along with Forgelin. // id 'com.matthewprenger.cursegradle' version '1.0.8' // id "com.github.johnrengelman.shadow" version "1.2.4" } @@ -81,6 +81,7 @@ repositories { maven { url "https://tehnut.info/maven" } maven { url "https://cc.crzd.me/maven/" } maven { url "https://maven.cil.li/" } + maven { url = "http://maven.bluexin.be/repository/snapshots/" } // maven { // name = "CoFH Maven" // url = "https://maven.covers1624.net" diff --git a/src/main/java/mods/eln/Achievements.java b/src/main/java/mods/eln/Achievements.java deleted file mode 100644 index 549bf5525..000000000 --- a/src/main/java/mods/eln/Achievements.java +++ /dev/null @@ -1,31 +0,0 @@ -package mods.eln; - -import net.minecraft.init.Items; -import net.minecraft.stats.Achievement; -import net.minecraftforge.common.AchievementPage; - -import static mods.eln.i18n.I18N.*; - -public class Achievements { - - public static Achievement openGuide; - public static Achievement craft50VMacerator; - public static AchievementPage achievementPageEln; - - public static void init() { - openGuide = new Achievement(TR("achievement.open_guide"), - "open_guide", 0, 0, Items.BOOK, null).registerStat(); - - TR_DESC(Type.ACHIEVEMENT, "open_guide"); - - craft50VMacerator = new Achievement(TR("achievement.craft_50v_macerator"), - "craft_50v_macerator", 0, 2, Eln.findItemStack("50V Macerator", 0), openGuide).registerStat(); - - TR_DESC(Type.ACHIEVEMENT, "craft_50v_macerator"); - - achievementPageEln = new AchievementPage(tr("Electrical Age [WIP]"), - openGuide, craft50VMacerator); - - AchievementPage.registerAchievementPage(achievementPageEln); - } -} diff --git a/src/main/java/mods/eln/Eln.java b/src/main/java/mods/eln/Eln.java index 22be3c554..3faa0c0ea 100644 --- a/src/main/java/mods/eln/Eln.java +++ b/src/main/java/mods/eln/Eln.java @@ -158,6 +158,7 @@ import net.minecraft.launchwrapper.LogWrapper; import net.minecraft.server.MinecraftServer; import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.ResourceLocation; import net.minecraft.world.WorldServer; import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.common.config.Configuration; @@ -186,13 +187,16 @@ @Mod(modid = Eln.MODID, name = Eln.NAME, version = "@VERSION@") public class Eln { // Mod information (override from 'mcmod.info' file) - public final static String MODID = "Eln"; + public final static String MODID = "eln"; public final static String NAME = "Electrical Age"; public final static String MODDESC = "Electricity in your base !"; public final static String URL = "https://electrical-age.net"; public final static String UPDATE_URL = "https://github.com/Electrical-Age/ElectricalAge/releases"; public final static String SRC_URL = "https://github.com/Electrical-Age"; public final static String[] AUTHORS = {"Dolu1990", "lambdaShade", "cm0x4D", "metc", "Baughn"}; + // The instance of your mod that Forge uses. + @Instance("eln") + public static Eln instance; public static final String channelName = "miaouMod"; public static final double solarPanelBasePower = 65.0; @@ -248,10 +252,6 @@ public class Eln { public static TransparentNodeItem transparentNodeItem; public static OreItem oreItem; - // The instance of your mod that Forge uses. - @Instance("Eln") - public static Eln instance; - // Says where the client and server 'proxy' code is loaded. @SidedProxy(clientSide = "mods.eln.client.ClientProxy", serverSide = "mods.eln.CommonProxy") public static CommonProxy proxy; @@ -319,14 +319,9 @@ public class Eln { public static double maxSoundDistance = 16; private double cablePowerFactor; - public static final Logger logger = LogManager.getLogger("eln"); - @EventHandler public void preInit(FMLPreInitializationEvent event) { - logger.debug("foo", this); - - elnNetwork = NetworkRegistry.INSTANCE.newSimpleChannel("electrical-age"); - elnNetwork.registerMessage(AchievePacketHandler.class, AchievePacket.class, 0, Side.SERVER); + elnNetwork = NetworkRegistry.INSTANCE.newSimpleChannel(Eln.MODID); elnNetwork.registerMessage(TransparentNodeRequestPacketHandler.class, TransparentNodeRequestPacket.class, 1, Side.SERVER); elnNetwork.registerMessage(TransparentNodeResponsePacketHandler.class, TransparentNodeResponsePacket.class, 2, Side.CLIENT); elnNetwork.registerMessage(GhostNodeWailaRequestPacketHandler.class, GhostNodeWailaRequestPacket.class, 3, Side.SERVER); @@ -623,7 +618,7 @@ public void preInit(FMLPreInitializationEvent event) { registerMiningPipe(17); registerTreeResinAndRubber(64); registerRawCable(65); - registerBrush(119); +// registerBrush(119); // TODO(1.10): Use LL for this. registerMiscItem(120); registerElectricalTool(121); registerPortableItem(122); @@ -715,6 +710,8 @@ public void load(FMLInitializationEvent event) { registerReplicator(); // + // TODO(1.10): None of this will work before we register items properly. +/* recipeEnergyConverter(); recipeComputerProbe(); @@ -800,6 +797,7 @@ public void load(FMLInitializationEvent event) { recipeECoal(); recipeGridDevices(oreNames); +*/ proxy.registerRenderers(); @@ -807,10 +805,6 @@ public void load(FMLInitializationEvent event) { checkRecipe(); - if (isDevelopmentRun()) { - Achievements.init(); - } - MinecraftForge.EVENT_BUS.register(new ElnForgeEventsHandler()); FMLCommonHandler.instance().bus().register(new ElnFMLEventsHandler()); @@ -7405,9 +7399,10 @@ private void recipeTool() { private void registerReplicator() { EntityRegistry.registerModEntity(ReplicatorEntity.class, TR_NAME(Type.ENTITY, "EAReplicator"), EntityIDs.REPLICATOR.getId(), Eln.instance, 20, 20, true); - ReplicatorEntity.dropList.add(findItemStack("Iron Dust", 1)); - ReplicatorEntity.dropList.add(findItemStack("Copper Dust", 1)); - ReplicatorEntity.dropList.add(findItemStack("Gold Dust", 1)); + // TODO(1.10): Fix. +// ReplicatorEntity.dropList.add(findItemStack("Iron Dust", 1)); +// ReplicatorEntity.dropList.add(findItemStack("Copper Dust", 1)); +// ReplicatorEntity.dropList.add(findItemStack("Gold Dust", 1)); ReplicatorEntity.dropList.add(new ItemStack(Items.REDSTONE)); ReplicatorEntity.dropList.add(new ItemStack(Items.GLOWSTONE_DUST)); } @@ -7475,12 +7470,13 @@ public static void applySmallRs(Resistor r) { } static ItemStack findItemStack(String name, int stackSize) { - ItemStack stack = new ItemStack(GameRegistry.findItem("Eln", name), stackSize); - if (stack == null) { - stack = dictionnaryOreFromMod.get(name); - stack = Utils.newItemStack(Item.getIdFromItem(stack.getItem()), stackSize, stack.getItemDamage()); + Item item = Item.REGISTRY.getObject(new ResourceLocation(Eln.MODID, name)); + if (item == null) { + ItemStack stack = dictionnaryOreFromMod.get(name); + return Utils.newItemStack(Item.getIdFromItem(stack.getItem()), stackSize, stack.getItemDamage()); + } else { + return new ItemStack(item, stackSize); } - return stack; } private ItemStack findItemStack(String name) { diff --git a/src/main/java/mods/eln/generic/GenericItemUsingDamage.java b/src/main/java/mods/eln/generic/GenericItemUsingDamage.java index be763a2ee..72e9a9426 100644 --- a/src/main/java/mods/eln/generic/GenericItemUsingDamage.java +++ b/src/main/java/mods/eln/generic/GenericItemUsingDamage.java @@ -45,6 +45,7 @@ public void addElement(int damage, Descriptor descriptor) { setUnlocalizedName(descriptor.name); orderList.add(damage); descriptor.setParent(this, damage); + GameRegistry.register(descriptor.parentItem); } public Descriptor getDescriptor(int damage) { diff --git a/src/main/java/mods/eln/item/electricalitem/PortableOreScannerItem.kt b/src/main/java/mods/eln/item/electricalitem/PortableOreScannerItem.kt index b2f0671d4..fb98a596b 100644 --- a/src/main/java/mods/eln/item/electricalitem/PortableOreScannerItem.kt +++ b/src/main/java/mods/eln/item/electricalitem/PortableOreScannerItem.kt @@ -24,7 +24,6 @@ import net.minecraft.util.math.MathHelper import net.minecraft.world.World import org.lwjgl.opengl.GL11 -@ExperimentalUnsignedTypes class PortableOreScannerItem(name: String, obj: Obj3D, private var energyStorage: Double, internal var chargePower: Double, private var dischargePower: Double, private var viewRange: Float, private var viewYAlpha: Float, private var resWidth: Int, private var resHeight: Int) : GenericItemUsingDamageDescriptor(name), IItemEnergyBattery { @@ -341,12 +340,11 @@ class PortableOreScannerItem(name: String, obj: Obj3D, // } class RenderStorage(private var viewRange: Float, viewYAlpha: Float, var resWidth: Int, private var resHeight: Int) { - private var camDist: Float = 0.toFloat() internal var screenRed: Array internal var screenBlue: Array internal var screenGreen: Array - private var worldBlocks: Array> + private var worldBlocks: Array> private var worldBlocksDim: Int = 0 private var worldBlocksDim2: Int = 0 @@ -357,12 +355,13 @@ class PortableOreScannerItem(name: String, obj: Obj3D, screenRed = Array(resHeight) { FloatArray(resWidth) } screenBlue = Array(resHeight) { FloatArray(resWidth) } screenGreen = Array(resHeight) { FloatArray(resWidth) } - worldBlocks = Array(worldBlocksDim) { Array(worldBlocksDim) { UShortArray(worldBlocksDim) } } + worldBlocks = Array(worldBlocksDim) { Array(worldBlocksDim) { ShortArray(worldBlocksDim) } } } class OreScannerConfigElement(var blockKey: Int, var factor: Float) fun generate(w: World, posX: Double, posY: Double, posZ: Double, alphaY: Float, alphaX: Float) { + // TODO(1.10): This is pretty much entirely broken. val blockKeyFactor = OreColorMapping.map val posXint = Math.round(posX).toInt() @@ -372,7 +371,7 @@ class PortableOreScannerItem(name: String, obj: Obj3D, for (z in 0 until worldBlocksDim) { for (y in 0 until worldBlocksDim) { for (x in 0 until worldBlocksDim) { - worldBlocks[x][y][z] = 65535U + worldBlocks[x][y][z] = 65535.toShort() } } } @@ -441,11 +440,11 @@ class PortableOreScannerItem(name: String, obj: Obj3D, val zInt = zFloor.toInt() + worldBlocksDim2 var blockKey = worldBlocks[xInt][yInt][zInt] - if (blockKey == 65535.toUShort()) { + if (blockKey == 65535.toShort()) { val xBlock = posXint + xFloor.toInt() val yBlock = posYint + yFloor.toInt() val zBlock = posZint + zFloor.toInt() - blockKey = 0U + blockKey = 0 if (yBlock in 0..255) { val chunk = w.getChunkFromBlockCoords(BlockPos(xBlock, yBlock, zBlock)) val storage = chunk.blockStorageArray[yBlock shr 4] @@ -455,11 +454,11 @@ class PortableOreScannerItem(name: String, obj: Obj3D, val zLocal = zBlock and 0xF val state = storage.get(xLocal, yLocal, zLocal) - blockKey = Block.getStateId(state).toUShort() + blockKey = Block.getStateId(state).toShort() } } - if (blockKey >= 1024U * 64U) { - blockKey = 0U + if (blockKey >= 1024 * 64) { + blockKey = 0 } worldBlocks[xInt][yInt][zInt] = blockKey } @@ -558,7 +557,6 @@ private enum class State(val serialized: Byte) { private const val bootTime: Short = 4 * 20 private const val stopTime: Short = 1 * 20 -@ExperimentalUnsignedTypes object OreColorMapping { val map: FloatArray get() { diff --git a/src/main/java/mods/eln/packets/AchievePacketHandler.java b/src/main/java/mods/eln/packets/AchievePacketHandler.java deleted file mode 100644 index b649e8b58..000000000 --- a/src/main/java/mods/eln/packets/AchievePacketHandler.java +++ /dev/null @@ -1,22 +0,0 @@ -package mods.eln.packets; - -import net.minecraftforge.fml.common.network.simpleimpl.IMessage; -import net.minecraftforge.fml.common.network.simpleimpl.IMessageHandler; -import net.minecraftforge.fml.common.network.simpleimpl.MessageContext; -import mods.eln.Achievements; - -public class AchievePacketHandler implements IMessageHandler { - - @Override - public IMessage onMessage(AchievePacket message, MessageContext ctx) { - //System.out.println("Got message: " + message.text); - if (message.text.equals("openWiki")) { - ctx.getServerHandler().playerEntity.addStat(Achievements.openGuide); - } else if (message.text.equals("craft50VMacerator")) { - ctx.getServerHandler().playerEntity.addStat(Achievements.craft50VMacerator); - } else { - System.out.println("[ELN]: ELN Wiki Achievement Handler has received an invalid message/packet: " + message.text); - } - return null; - } -} From 1f5d5d8e35ad601a9c3d163fa938d8d561300870 Mon Sep 17 00:00:00 2001 From: Svein Ove Aas Date: Tue, 26 Feb 2019 03:35:06 +0000 Subject: [PATCH 39/61] Now loads the world --- src/main/java/mods/eln/Eln.java | 1 + src/main/java/mods/eln/misc/UtilsClient.java | 5 ++++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/main/java/mods/eln/Eln.java b/src/main/java/mods/eln/Eln.java index 3faa0c0ea..55a368512 100644 --- a/src/main/java/mods/eln/Eln.java +++ b/src/main/java/mods/eln/Eln.java @@ -330,6 +330,7 @@ public void preInit(FMLPreInitializationEvent event) { elnNetwork.registerMessage(SixNodeWailaResponsePacketHandler.class, SixNodeWailaResponsePacket.class, 6, Side.CLIENT); ModContainer container = FMLCommonHandler.instance().findContainerFor(this); + // TODO(1.10): How does this work now? // LanguageRegistry.instance().loadLanguagesFor(container, Side.CLIENT); // Update ModInfo by code diff --git a/src/main/java/mods/eln/misc/UtilsClient.java b/src/main/java/mods/eln/misc/UtilsClient.java index 3c48f53cf..c15effd17 100644 --- a/src/main/java/mods/eln/misc/UtilsClient.java +++ b/src/main/java/mods/eln/misc/UtilsClient.java @@ -1,5 +1,6 @@ package mods.eln.misc; +import io.netty.buffer.ByteBuf; import io.netty.buffer.Unpooled; import net.minecraft.client.entity.EntityPlayerSP; import net.minecraft.client.renderer.RenderItem; @@ -555,7 +556,9 @@ public static void sendPacketToServer(PacketBuffer bos) { @Deprecated public static void sendPacketToServer(ByteArrayOutputStream bos) { - sendPacketToServer(new PacketBuffer(Unpooled.buffer().readBytes(bos.toByteArray()))); + ByteBuf buf = Unpooled.buffer() + .writeBytes(bos.toByteArray()); + sendPacketToServer(new PacketBuffer(buf)); } public static int getUuid() { From 24b8caceea436658aefe0161c61f1d61debf393b Mon Sep 17 00:00:00 2001 From: Svein Ove Aas Date: Tue, 26 Feb 2019 03:53:19 +0000 Subject: [PATCH 40/61] Fix all the translation parameters. Creative tab no longer crashes. --- src/main/java/mods/eln/i18n/I18N.java | 2 +- .../java/mods/eln/item/BrushDescriptor.kt | 2 +- .../eln/item/ElectricalDrillDescriptor.java | 6 +- .../eln/item/FerromagneticCoreDescriptor.java | 2 +- .../mods/eln/item/HeatingCorpElement.java | 6 +- .../java/mods/eln/item/LampDescriptor.java | 10 +- .../eln/item/electricalitem/BatteryItem.kt | 6 +- .../item/electricalitem/ElectricalArmor.kt | 4 +- .../item/electricalitem/ElectricalLampItem.kt | 4 +- .../eln/item/electricalitem/ElectricalTool.kt | 2 +- .../electricalitem/PortableOreScannerItem.kt | 4 +- src/main/java/mods/eln/misc/Obj3D.java | 2 +- .../EnergyConverterElnToOtherGui.java | 2 +- src/main/java/mods/eln/sixnode/AnalogChips.kt | 2 +- .../java/mods/eln/sixnode/EmergencyLamp.kt | 2 +- .../BatteryChargerDescriptor.java | 2 +- .../ElectricalCableDescriptor.java | 10 +- .../ElectricalEntitySensorDescriptor.java | 2 +- .../ElectricalFireDetectorDescriptor.java | 2 +- .../ElectricalGateSourceGui.java | 2 +- .../ElectricalLightSensorDescriptor.java | 2 +- .../electricalmath/ElectricalMathGui.java | 2 +- .../ElectricalSourceDescriptor.java | 2 +- .../ElectricalWeatherSensorDescriptor.java | 6 +- .../ElectricalWindSensorDescriptor.java | 2 +- .../sixnode/energymeter/EnergyMeterGui.java | 2 +- .../groundcable/GroundCableDescriptor.java | 2 +- .../lampsocket/LampSocketDescriptor.java | 4 +- .../sixnode/lampsocket/LampSocketGuiDraw.java | 4 +- .../PowerCapacitorSixGui.java | 4 +- .../powerinductorsix/PowerInductorSixGui.java | 2 +- .../eln/sixnode/resistor/ResistorGui.java | 2 +- .../thermalcable/ThermalCableDescriptor.java | 6 +- .../mods/eln/transparentnode/FuelGenerator.kt | 4 +- .../eln/transparentnode/FuelHeatFurnace.kt | 8 +- .../mods/eln/transparentnode/LargeRheostat.kt | 2 +- .../autominer/AutoMinerDescriptor.java | 2 +- .../battery/BatteryGuiDraw.java | 2 +- .../ElectricalAntennaRxDescriptor.java | 4 +- .../ElectricalAntennaTxDescriptor.java | 8 +- .../ElectricalFurnaceGuiDraw.java | 4 +- .../ElectricalMachineDescriptor.java | 4 +- .../heatfurnace/HeatFurnaceDescriptor.java | 4 +- .../heatfurnace/HeatFurnaceGuiDraw.java | 6 +- .../powercapacitor/PowerCapacitorGui.java | 4 +- .../powerinductor/PowerInductorGui.java | 2 +- .../solarpanel/SolarPanelDescriptor.java | 4 +- .../solarpanel/SolarPannelGuiDraw.java | 4 +- .../teleporter/TeleporterGui.java | 4 +- .../ThermalDissipatorActiveDescriptor.java | 12 +- .../ThermalDissipatorPassiveDescriptor.java | 6 +- .../turbine/TurbineDescriptor.java | 6 +- .../turret/TurretDescriptor.java | 6 +- .../waterturbine/WaterTurbineDescriptor.java | 4 +- .../windturbine/WindTurbineDescriptor.java | 10 +- src/main/java/mods/eln/wiki/ItemDefault.java | 4 +- src/main/resources/assets/eln/lang/ach.lang | 136 ++++++++--------- src/main/resources/assets/eln/lang/az.lang | 136 ++++++++--------- src/main/resources/assets/eln/lang/be.lang | 136 ++++++++--------- src/main/resources/assets/eln/lang/bs.lang | 136 ++++++++--------- src/main/resources/assets/eln/lang/cs.lang | 136 ++++++++--------- src/main/resources/assets/eln/lang/cs_CZ.lang | 136 ++++++++--------- src/main/resources/assets/eln/lang/de.lang | 136 ++++++++--------- src/main/resources/assets/eln/lang/de_DE.lang | 136 ++++++++--------- src/main/resources/assets/eln/lang/el.lang | 136 ++++++++--------- src/main/resources/assets/eln/lang/el_GR.lang | 136 ++++++++--------- src/main/resources/assets/eln/lang/en.lang | 136 ++++++++--------- src/main/resources/assets/eln/lang/en_CA.lang | 136 ++++++++--------- src/main/resources/assets/eln/lang/en_US.lang | 140 +++++++++--------- src/main/resources/assets/eln/lang/es.lang | 136 ++++++++--------- .../resources/assets/eln/lang/es_419.lang | 136 ++++++++--------- src/main/resources/assets/eln/lang/es_AR.lang | 136 ++++++++--------- src/main/resources/assets/eln/lang/fr.lang | 136 ++++++++--------- src/main/resources/assets/eln/lang/fr_CA.lang | 136 ++++++++--------- src/main/resources/assets/eln/lang/fr_FR.lang | 136 ++++++++--------- src/main/resources/assets/eln/lang/hr.lang | 136 ++++++++--------- src/main/resources/assets/eln/lang/id.lang | 136 ++++++++--------- src/main/resources/assets/eln/lang/it.lang | 136 ++++++++--------- src/main/resources/assets/eln/lang/it_IT.lang | 136 ++++++++--------- src/main/resources/assets/eln/lang/nl.lang | 136 ++++++++--------- src/main/resources/assets/eln/lang/nl_BE.lang | 136 ++++++++--------- src/main/resources/assets/eln/lang/nl_NL.lang | 136 ++++++++--------- src/main/resources/assets/eln/lang/no.lang | 136 ++++++++--------- src/main/resources/assets/eln/lang/pl.lang | 136 ++++++++--------- src/main/resources/assets/eln/lang/pl_PL.lang | 136 ++++++++--------- src/main/resources/assets/eln/lang/pt.lang | 136 ++++++++--------- src/main/resources/assets/eln/lang/pt_BR.lang | 136 ++++++++--------- src/main/resources/assets/eln/lang/ro.lang | 136 ++++++++--------- src/main/resources/assets/eln/lang/ru.lang | 136 ++++++++--------- src/main/resources/assets/eln/lang/ru_RU.lang | 136 ++++++++--------- src/main/resources/assets/eln/lang/sk.lang | 136 ++++++++--------- src/main/resources/assets/eln/lang/sk_SK.lang | 136 ++++++++--------- src/main/resources/assets/eln/lang/sr.lang | 136 ++++++++--------- src/main/resources/assets/eln/lang/sv_SE.lang | 136 ++++++++--------- src/main/resources/assets/eln/lang/tr.lang | 136 ++++++++--------- src/main/resources/assets/eln/lang/tr_TR.lang | 136 ++++++++--------- src/main/resources/assets/eln/lang/zh.lang | 136 ++++++++--------- src/main/resources/assets/eln/lang/zh_CN.lang | 136 ++++++++--------- 98 files changed, 2972 insertions(+), 2972 deletions(-) diff --git a/src/main/java/mods/eln/i18n/I18N.java b/src/main/java/mods/eln/i18n/I18N.java index e27ffc4ba..2b323eeca 100644 --- a/src/main/java/mods/eln/i18n/I18N.java +++ b/src/main/java/mods/eln/i18n/I18N.java @@ -35,7 +35,7 @@ static String encodeLangKey(String key, boolean replaceWhitspaces) { * Translates the given string. You can pass arguments to the method and reference them in the string using * the placeholders %N$ whereas N is the index of the actual parameter starting at 1. *

- * Example: tr("You have %1$ lives left", 4); + * Example: tr("You have %s lives left", 4); *

* IT IS IMPORTANT THAT YOU PASS THE STRING LITERALS AT LEAST ONCE AS THE FIRST PARAMETER TO THIS METHOD or * you call the method TR() with the actual string literal in order to register the translation text automatically! diff --git a/src/main/java/mods/eln/item/BrushDescriptor.kt b/src/main/java/mods/eln/item/BrushDescriptor.kt index 7467b886b..ce56fbcf6 100644 --- a/src/main/java/mods/eln/item/BrushDescriptor.kt +++ b/src/main/java/mods/eln/item/BrushDescriptor.kt @@ -47,7 +47,7 @@ class BrushDescriptor(name: String): GenericItemUsingDamageDescriptor(name) { if (itemStack != null) { val creative = Minecraft.getMinecraft().thePlayer.capabilities.isCreativeMode - list.add(tr("Can paint %1$ blocks", if (creative) "infinite" else itemStack.tagCompound!!.getInteger("life"))) + list.add(tr("Can paint %s blocks", if (creative) "infinite" else itemStack.tagCompound!!.getInteger("life"))) } } diff --git a/src/main/java/mods/eln/item/ElectricalDrillDescriptor.java b/src/main/java/mods/eln/item/ElectricalDrillDescriptor.java index 5405175cb..09a297198 100644 --- a/src/main/java/mods/eln/item/ElectricalDrillDescriptor.java +++ b/src/main/java/mods/eln/item/ElectricalDrillDescriptor.java @@ -26,8 +26,8 @@ public void addInformation(ItemStack itemStack, EntityPlayer entityPlayer, List super.addInformation(itemStack, entityPlayer, list, par4); list.add(tr("Nominal:")); - list.add(" " + tr("Power: %1$W", Utils.plotValue(nominalPower))); - list.add(" " + tr("Time per operation: %1$h", operationTime)); - list.add(" " + tr("Energy per operation: %1$J", Utils.plotValue(OperationEnergy))); + list.add(" " + tr("Power: %sW", Utils.plotValue(nominalPower))); + list.add(" " + tr("Time per operation: %sh", operationTime)); + list.add(" " + tr("Energy per operation: %sJ", Utils.plotValue(OperationEnergy))); } } diff --git a/src/main/java/mods/eln/item/FerromagneticCoreDescriptor.java b/src/main/java/mods/eln/item/FerromagneticCoreDescriptor.java index c70e19870..8111076ab 100644 --- a/src/main/java/mods/eln/item/FerromagneticCoreDescriptor.java +++ b/src/main/java/mods/eln/item/FerromagneticCoreDescriptor.java @@ -32,6 +32,6 @@ public void applyTo(ElectricalLoad load) { @Override public void addInformation(ItemStack itemStack, EntityPlayer entityPlayer, List list, boolean par4) { super.addInformation(itemStack, entityPlayer, list, par4); - list.add(tr("Cable loss factor: %1$", cableMultiplicator)); + list.add(tr("Cable loss factor: %s", cableMultiplicator)); } } diff --git a/src/main/java/mods/eln/item/HeatingCorpElement.java b/src/main/java/mods/eln/item/HeatingCorpElement.java index f7d2565a7..41d98b357 100644 --- a/src/main/java/mods/eln/item/HeatingCorpElement.java +++ b/src/main/java/mods/eln/item/HeatingCorpElement.java @@ -58,8 +58,8 @@ public void addInformation(ItemStack itemStack, EntityPlayer entityPlayer, List super.addInformation(itemStack, entityPlayer, list, par4); list.add(tr("Nominal:")); - list.add(" " + tr("Voltage: %1$V", Utils.plotValue(electricalNominalU))); - list.add(" " + tr("Power: %1$W", Utils.plotValue(electricalNominalP))); - list.add(" " + tr("Resistance: %1$\u2126", Utils.plotValue(electricalR))); + list.add(" " + tr("Voltage: %sV", Utils.plotValue(electricalNominalU))); + list.add(" " + tr("Power: %sW", Utils.plotValue(electricalNominalP))); + list.add(" " + tr("Resistance: %s\u2126", Utils.plotValue(electricalR))); } } diff --git a/src/main/java/mods/eln/item/LampDescriptor.java b/src/main/java/mods/eln/item/LampDescriptor.java index faa61be35..e1c023fa3 100644 --- a/src/main/java/mods/eln/item/LampDescriptor.java +++ b/src/main/java/mods/eln/item/LampDescriptor.java @@ -113,11 +113,11 @@ public void applyTo(Resistor resistor) { public void addInformation(ItemStack itemStack, EntityPlayer entityPlayer, List list, boolean par4) { super.addInformation(itemStack, entityPlayer, list, par4); - list.add(tr("Technology: %1$", type)); - list.add(tr("Range: %1$ blocks", (int) (nominalLight * 15))); - list.add(tr("Power: %1$W", Utils.plotValue(nominalP))); - list.add(tr("Resistance: %1$\u2126", Utils.plotValue(getR()))); - list.add(tr("Nominal lifetime: %1$h", serverNominalLife)); + list.add(tr("Technology: %s", type)); + list.add(tr("Range: %s blocks", (int) (nominalLight * 15))); + list.add(tr("Power: %sW", Utils.plotValue(nominalP))); + list.add(tr("Resistance: %s\u2126", Utils.plotValue(getR()))); + list.add(tr("Nominal lifetime: %sh", serverNominalLife)); if (itemStack != null) { if (!itemStack.hasTagCompound() || !itemStack.getTagCompound().hasKey("life")) list.add(tr("Condition:") + " " + tr("New")); diff --git a/src/main/java/mods/eln/item/electricalitem/BatteryItem.kt b/src/main/java/mods/eln/item/electricalitem/BatteryItem.kt index 00e8c3b14..87cb7bb83 100644 --- a/src/main/java/mods/eln/item/electricalitem/BatteryItem.kt +++ b/src/main/java/mods/eln/item/electricalitem/BatteryItem.kt @@ -27,10 +27,10 @@ class BatteryItem(name: String, private var energyStorage: Double, internal var override fun addInformation(itemStack: ItemStack?, entityPlayer: EntityPlayer, list: MutableList, par4: Boolean) { super.addInformation(itemStack, entityPlayer, list, par4) - list.add(tr("Charge power: %1\$W", Utils.plotValue(chargePower))) - list.add(tr("Discharge power: %1\$W", Utils.plotValue(dischargePower))) + list.add(tr("Charge power: %sW", Utils.plotValue(chargePower))) + list.add(tr("Discharge power: %sW", Utils.plotValue(dischargePower))) if (itemStack != null) { - list.add(tr("Stored energy: %1\$J (%2$%)", Utils.plotValue(getEnergy(itemStack)), + list.add(tr("Stored energy: %sJ (%s)", Utils.plotValue(getEnergy(itemStack)), (getEnergy(itemStack) / energyStorage * 100).toInt())) } } diff --git a/src/main/java/mods/eln/item/electricalitem/ElectricalArmor.kt b/src/main/java/mods/eln/item/electricalitem/ElectricalArmor.kt index a783c55d2..fe29df7b4 100644 --- a/src/main/java/mods/eln/item/electricalitem/ElectricalArmor.kt +++ b/src/main/java/mods/eln/item/electricalitem/ElectricalArmor.kt @@ -69,8 +69,8 @@ class ElectricalArmor(materialIn: ItemArmor.ArmorMaterial, override fun addInformation(stack: ItemStack, playerIn: EntityPlayer, tooltip: MutableList, advanced: Boolean) { super.addInformation(stack, playerIn, tooltip, advanced) - tooltip.add(tr("Charge power: %1\$W", chargePower.toInt())) - tooltip.add(tr("Stored energy: %1\$J (%2$%)", getEnergy(stack), + tooltip.add(tr("Charge power: %sW", chargePower.toInt())) + tooltip.add(tr("Stored energy: %sJ (%s)", getEnergy(stack), (getEnergy(stack) / energyStorage * 100).toInt())) } diff --git a/src/main/java/mods/eln/item/electricalitem/ElectricalLampItem.kt b/src/main/java/mods/eln/item/electricalitem/ElectricalLampItem.kt index b08f14549..1195cbe8c 100644 --- a/src/main/java/mods/eln/item/electricalitem/ElectricalLampItem.kt +++ b/src/main/java/mods/eln/item/electricalitem/ElectricalLampItem.kt @@ -92,9 +92,9 @@ class ElectricalLampItem(name: String, private var lightMin: Int, private var ra override fun addInformation(itemStack: ItemStack?, entityPlayer: EntityPlayer, list: MutableList, par4: Boolean) { super.addInformation(itemStack, entityPlayer, list, par4) - list.add(tr("Discharge power: %1\$W", Utils.plotValue(dischargeMin))) + list.add(tr("Discharge power: %sW", Utils.plotValue(dischargeMin))) if (itemStack != null) { - list.add(tr("Stored Energy: %1\$J (%2$%)", Utils.plotValue(getEnergy(itemStack)), + list.add(tr("Stored Energy: %sJ (%s)", Utils.plotValue(getEnergy(itemStack)), (getEnergy(itemStack) / energyStorage * 100).toInt())) list.add(tr("State:") + " " + if (getLightState(itemStack) != 0) tr("On") else tr("Off")) } diff --git a/src/main/java/mods/eln/item/electricalitem/ElectricalTool.kt b/src/main/java/mods/eln/item/electricalitem/ElectricalTool.kt index f8ce0dd33..d5f874705 100644 --- a/src/main/java/mods/eln/item/electricalitem/ElectricalTool.kt +++ b/src/main/java/mods/eln/item/electricalitem/ElectricalTool.kt @@ -57,7 +57,7 @@ open class ElectricalTool(name: String, private var strengthOn: Float, private v super.addInformation(itemStack, entityPlayer, list, par4) if (itemStack != null) - list.add(tr("Stored energy: %1\$J (%2$%)", Utils.plotValue(getEnergy(itemStack)), + list.add(tr("Stored energy: %sJ (%s)", Utils.plotValue(getEnergy(itemStack)), (getEnergy(itemStack) / energyStorage * 100).toInt())) } diff --git a/src/main/java/mods/eln/item/electricalitem/PortableOreScannerItem.kt b/src/main/java/mods/eln/item/electricalitem/PortableOreScannerItem.kt index fb98a596b..1db4442f5 100644 --- a/src/main/java/mods/eln/item/electricalitem/PortableOreScannerItem.kt +++ b/src/main/java/mods/eln/item/electricalitem/PortableOreScannerItem.kt @@ -102,9 +102,9 @@ class PortableOreScannerItem(name: String, obj: Obj3D, override fun addInformation(itemStack: ItemStack?, entityPlayer: EntityPlayer, list: MutableList, par4: Boolean) { super.addInformation(itemStack, entityPlayer, list, par4) - list.add(tr("Discharge power: %1\$W", Utils.plotValue(dischargePower))) + list.add(tr("Discharge power: %sW", Utils.plotValue(dischargePower))) if (itemStack != null) { - list.add(tr("Stored energy: %1\$J (%2$%)", Utils.plotValue(getEnergy(itemStack)), + list.add(tr("Stored energy: %sJ (%s)", Utils.plotValue(getEnergy(itemStack)), (getEnergy(itemStack) / energyStorage * 100).toInt())) } } diff --git a/src/main/java/mods/eln/misc/Obj3D.java b/src/main/java/mods/eln/misc/Obj3D.java index 4f6e3408f..7803b3cb6 100644 --- a/src/main/java/mods/eln/misc/Obj3D.java +++ b/src/main/java/mods/eln/misc/Obj3D.java @@ -561,7 +561,7 @@ public void run() { }, refresh, refresh); } } else { - FMLLog.warning("Invalid syntax in EA model text file %1$s on line %2$d: %3$s", + FMLLog.warning("Invalid syntax in EA model text file %ss on line %sd: %ss", txtPath, lineNumber, line); } } diff --git a/src/main/java/mods/eln/simplenode/energyconverter/EnergyConverterElnToOtherGui.java b/src/main/java/mods/eln/simplenode/energyconverter/EnergyConverterElnToOtherGui.java index e06581b39..7293b22f2 100644 --- a/src/main/java/mods/eln/simplenode/energyconverter/EnergyConverterElnToOtherGui.java +++ b/src/main/java/mods/eln/simplenode/energyconverter/EnergyConverterElnToOtherGui.java @@ -46,7 +46,7 @@ public void guiObjectEvent(IGuiObject object) { protected void preDraw(float f, int x, int y) { super.preDraw(f, x, y); if (render.hasChanges) syncVoltage(); - voltage.setComment(0, tr("Input power is limited to %1$W", (int) (voltage.getValue() * render.inPowerMax))); + voltage.setComment(0, tr("Input power is limited to %sW", (int) (voltage.getValue() * render.inPowerMax))); } @Override diff --git a/src/main/java/mods/eln/sixnode/AnalogChips.kt b/src/main/java/mods/eln/sixnode/AnalogChips.kt index 4ef2deecf..7aeb55c3c 100644 --- a/src/main/java/mods/eln/sixnode/AnalogChips.kt +++ b/src/main/java/mods/eln/sixnode/AnalogChips.kt @@ -796,7 +796,7 @@ class FilterGui(private var render: FilterRender) : GuiScreenEln() { if (render.cutOffFrequency.pending) { freq?.value = render.cutOffFrequency.value } - freq?.setComment(0, I18N.tr("Cut-off frequency %1$ Hz", + freq?.setComment(0, I18N.tr("Cut-off frequency %s Hz", String.format("%1.3f", freq?.value ?: Eln.instance.electricalFrequency / 4f))) } diff --git a/src/main/java/mods/eln/sixnode/EmergencyLamp.kt b/src/main/java/mods/eln/sixnode/EmergencyLamp.kt index 336d4f07e..4160b2eea 100644 --- a/src/main/java/mods/eln/sixnode/EmergencyLamp.kt +++ b/src/main/java/mods/eln/sixnode/EmergencyLamp.kt @@ -296,7 +296,7 @@ class EmergencyLampGui(private var render: EmergencyLampRender) if (render.isConnectedToLampSupply) channel.setComment(1, "§2" + tr("connected to " + render.channel)) else - channel.setComment(1, "§4" + tr("%1$ is not in range!", render.channel)) + channel.setComment(1, "§4" + tr("%s is not in range!", render.channel)) } else { channel.visible = false buttonSupplyType.displayString = tr("Powered by cable") diff --git a/src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerDescriptor.java b/src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerDescriptor.java index 1309dc345..d7800ee82 100644 --- a/src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerDescriptor.java +++ b/src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerDescriptor.java @@ -112,7 +112,7 @@ public void setRp(Resistor powerload, boolean powerOn) { public void addInformation(ItemStack itemStack, EntityPlayer entityPlayer, List list, boolean par4) { super.addInformation(itemStack, entityPlayer, list, par4); Collections.addAll(list, tr("Can be used to recharge\nelectrical items like:\nFlash Light, X-Ray scanner\nand Portable Battery ...").split("\\\n")); - list.add(tr("Nominal power: %1$W", Utils.plotValue(nominalPower))); + list.add(tr("Nominal power: %sW", Utils.plotValue(nominalPower))); } @Override diff --git a/src/main/java/mods/eln/sixnode/electricalcable/ElectricalCableDescriptor.java b/src/main/java/mods/eln/sixnode/electricalcable/ElectricalCableDescriptor.java index 38cfeebd7..20dedd300 100644 --- a/src/main/java/mods/eln/sixnode/electricalcable/ElectricalCableDescriptor.java +++ b/src/main/java/mods/eln/sixnode/electricalcable/ElectricalCableDescriptor.java @@ -131,7 +131,7 @@ public void addInformation(ItemStack itemStack, EntityPlayer entityPlayer, List super.addInformation(itemStack, entityPlayer, list, par4); if (signalWire) { Collections.addAll(list, tr("Cable is adapted to conduct\nelectrical signals.").split("\n")); - Collections.addAll(list, tr("A signal is electrical information\nwhich must be between 0V and %1$", Utils.plotVolt(Eln.SVU)).split("\n")); + Collections.addAll(list, tr("A signal is electrical information\nwhich must be between 0V and %s", Utils.plotVolt(Eln.SVU)).split("\n")); list.add(tr("Not adapted to transport power.")); /*String lol = ""; @@ -146,10 +146,10 @@ public void addInformation(ItemStack itemStack, EntityPlayer entityPlayer, List } else { //list.add("Low resistor => low power lost"); list.add(tr("Save usage:")); - list.add(" " + tr("Voltage: %1$V", Utils.plotValue(electricalNominalVoltage))); - list.add(" " + tr("Current: %1$A", Utils.plotValue(electricalNominalPower / electricalNominalVoltage))); - list.add(" " + tr("Power: %1$W", Utils.plotValue(electricalNominalPower))); - list.add(" " + tr("Serial resistance: %1$\u2126", Utils.plotValue(electricalNominalRs * 2))); + list.add(" " + tr("Voltage: %sV", Utils.plotValue(electricalNominalVoltage))); + list.add(" " + tr("Current: %sA", Utils.plotValue(electricalNominalPower / electricalNominalVoltage))); + list.add(" " + tr("Power: %sW", Utils.plotValue(electricalNominalPower))); + list.add(" " + tr("Serial resistance: %s\u2126", Utils.plotValue(electricalNominalRs * 2))); } } diff --git a/src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorDescriptor.java b/src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorDescriptor.java index 9ff0eaefe..14ef30115 100644 --- a/src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorDescriptor.java +++ b/src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorDescriptor.java @@ -60,7 +60,7 @@ public void setParent(Item item, int damage) { public void addInformation(ItemStack itemStack, EntityPlayer entityPlayer, List list, boolean par4) { super.addInformation(itemStack, entityPlayer, list, par4); Collections.addAll(list, tr("Output voltage increases\nif entities are moving around.").split("\n")); - list.add(tr("Range: %1$ blocks", (int) maxRange)); + list.add(tr("Range: %s blocks", (int) maxRange)); } // TODO(1.10): Fix item render. diff --git a/src/main/java/mods/eln/sixnode/electricalfiredetector/ElectricalFireDetectorDescriptor.java b/src/main/java/mods/eln/sixnode/electricalfiredetector/ElectricalFireDetectorDescriptor.java index 41971dc49..d40d04e53 100644 --- a/src/main/java/mods/eln/sixnode/electricalfiredetector/ElectricalFireDetectorDescriptor.java +++ b/src/main/java/mods/eln/sixnode/electricalfiredetector/ElectricalFireDetectorDescriptor.java @@ -69,7 +69,7 @@ public void addInformation(ItemStack itemStack, EntityPlayer entityPlayer, List } else { Collections.addAll(list, tr("Output voltage increases\nif a fire has been detected.").split("\n")); } - list.add(tr("Range: %1$ blocks", (int) maxRange)); + list.add(tr("Range: %s blocks", (int) maxRange)); } // TODO(1.10): Fix item render. diff --git a/src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceGui.java b/src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceGui.java index dd35465e4..1f1d4e226 100644 --- a/src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceGui.java +++ b/src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceGui.java @@ -46,7 +46,7 @@ public void guiObjectEvent(IGuiObject object) { protected void preDraw(float f, int x, int y) { super.preDraw(f, x, y); if (render.voltageSyncNew) syncVoltage(); - voltage.setComment(0, tr("Output at %1$%", ((int) voltage.getValue() * 2))); + voltage.setComment(0, tr("Output at %s", ((int) voltage.getValue() * 2))); } @Override diff --git a/src/main/java/mods/eln/sixnode/electricallightsensor/ElectricalLightSensorDescriptor.java b/src/main/java/mods/eln/sixnode/electricallightsensor/ElectricalLightSensorDescriptor.java index c7db0e057..f6fc77caf 100644 --- a/src/main/java/mods/eln/sixnode/electricallightsensor/ElectricalLightSensorDescriptor.java +++ b/src/main/java/mods/eln/sixnode/electricallightsensor/ElectricalLightSensorDescriptor.java @@ -51,7 +51,7 @@ public void addInformation(ItemStack itemStack, EntityPlayer entityPlayer, List super.addInformation(itemStack, entityPlayer, list, par4); if (dayLightOnly) { Collections.addAll(list, tr("Provides an electrical voltage\nwhich is proportional to\nthe intensity of daylight.").split("\n")); - list.add(tr("0V at night, %1$V at noon.", Utils.plotValue(Eln.SVU))); + list.add(tr("0V at night, %sV at noon.", Utils.plotValue(Eln.SVU))); } else { Collections.addAll(list, tr("Provides an electrical voltage\nin the presence of light.").split("\n")); } diff --git a/src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathGui.java b/src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathGui.java index 96ad889c8..b9ca82f67 100644 --- a/src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathGui.java +++ b/src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathGui.java @@ -65,7 +65,7 @@ protected void postDraw(float f, int x, int y) { c = 0xFF108F00; else c = 0xFFFF0000; - helper.drawString(8 + 44 / 2, 29, c, tr("%1$ Redstone(s) required", render.redstoneRequired)); + helper.drawString(8 + 44 / 2, 29, c, tr("%s Redstone(s) required", render.redstoneRequired)); } else { c = 0xFFFF0000; helper.drawString(8 + 44 / 2, 29, c, tr("Invalid equation!")); diff --git a/src/main/java/mods/eln/sixnode/electricalsource/ElectricalSourceDescriptor.java b/src/main/java/mods/eln/sixnode/electricalsource/ElectricalSourceDescriptor.java index 9c16df4f6..cce62cd25 100644 --- a/src/main/java/mods/eln/sixnode/electricalsource/ElectricalSourceDescriptor.java +++ b/src/main/java/mods/eln/sixnode/electricalsource/ElectricalSourceDescriptor.java @@ -59,7 +59,7 @@ public void addInformation(ItemStack itemStack, EntityPlayer entityPlayer, List super.addInformation(itemStack, entityPlayer, list, par4); Collections.addAll(list, tr("Provides an ideal voltage source\nwithout energy or power limitation.").split("\\\n")); list.add(""); - list.add(tr("Internal resistance: %1$\u2126", Utils.plotValue(Eln.instance.lowVoltageCableDescriptor.electricalRs))); + list.add(tr("Internal resistance: %s\u2126", Utils.plotValue(Eln.instance.lowVoltageCableDescriptor.electricalRs))); list.add(""); list.add(tr("Creative block.")); } diff --git a/src/main/java/mods/eln/sixnode/electricalweathersensor/ElectricalWeatherSensorDescriptor.java b/src/main/java/mods/eln/sixnode/electricalweathersensor/ElectricalWeatherSensorDescriptor.java index 3d87ca258..45bcae30b 100644 --- a/src/main/java/mods/eln/sixnode/electricalweathersensor/ElectricalWeatherSensorDescriptor.java +++ b/src/main/java/mods/eln/sixnode/electricalweathersensor/ElectricalWeatherSensorDescriptor.java @@ -51,9 +51,9 @@ public void setParent(Item item, int damage) { public void addInformation(ItemStack itemStack, EntityPlayer entityPlayer, List list, boolean par4) { super.addInformation(itemStack, entityPlayer, list, par4); Collections.addAll(list, tr("Provides an electrical signal\ndepending the actual weather.").split("\n")); - list.add(tr("Clear: %1$V", 0)); - list.add(tr("Rain: %1$V", Utils.plotValue(Eln.SVU / 2))); - list.add(tr("Storm: %1$V", Utils.plotValue(Eln.SVU))); + list.add(tr("Clear: %sV", 0)); + list.add(tr("Rain: %sV", Utils.plotValue(Eln.SVU / 2))); + list.add(tr("Storm: %sV", Utils.plotValue(Eln.SVU))); } // TODO(1.10): Fix item render. diff --git a/src/main/java/mods/eln/sixnode/electricalwindsensor/ElectricalWindSensorDescriptor.java b/src/main/java/mods/eln/sixnode/electricalwindsensor/ElectricalWindSensorDescriptor.java index e9938b534..6cb1193e5 100644 --- a/src/main/java/mods/eln/sixnode/electricalwindsensor/ElectricalWindSensorDescriptor.java +++ b/src/main/java/mods/eln/sixnode/electricalwindsensor/ElectricalWindSensorDescriptor.java @@ -62,7 +62,7 @@ public void setParent(Item item, int damage) { public void addInformation(ItemStack itemStack, EntityPlayer entityPlayer, List list, boolean par4) { super.addInformation(itemStack, entityPlayer, list, par4); Collections.addAll(list, tr("Provides an electrical signal\ndependant on wind speed.").split("\n")); - list.add(tr("Maximum wind speed is %1$m/s", Utils.plotValue(windMax))); + list.add(tr("Maximum wind speed is %sm/s", Utils.plotValue(windMax))); } // TODO(1.10): Fix item render. diff --git a/src/main/java/mods/eln/sixnode/energymeter/EnergyMeterGui.java b/src/main/java/mods/eln/sixnode/energymeter/EnergyMeterGui.java index af1ba1be3..1b2d26fbd 100644 --- a/src/main/java/mods/eln/sixnode/energymeter/EnergyMeterGui.java +++ b/src/main/java/mods/eln/sixnode/energymeter/EnergyMeterGui.java @@ -202,7 +202,7 @@ protected void postDraw(float f, int x, int y) { helper.drawRect(6, y, helper.xSize - 6, y + 1, 0xff404040); y += 3; - helper.drawString(6 + 16 / 2, y, 0xff000000, tr("Energy counter: %1$J", (int) (render.energyStack))); + helper.drawString(6 + 16 / 2, y, 0xff000000, tr("Energy counter: %sJ", (int) (render.energyStack))); y += 10; helper.drawString(6 + 16 / 2, y, 0xff000000, tr("Time counter:", (int) (render.timerCouter))); } diff --git a/src/main/java/mods/eln/sixnode/groundcable/GroundCableDescriptor.java b/src/main/java/mods/eln/sixnode/groundcable/GroundCableDescriptor.java index b90fbe647..168b087e7 100644 --- a/src/main/java/mods/eln/sixnode/groundcable/GroundCableDescriptor.java +++ b/src/main/java/mods/eln/sixnode/groundcable/GroundCableDescriptor.java @@ -43,7 +43,7 @@ public void addInformation(ItemStack itemStack, EntityPlayer entityPlayer, List super.addInformation(itemStack, entityPlayer, list, par4); list.add(tr("Provides a zero volt reference.")); Collections.addAll(list, tr("Can be used to set a point of an\nelectrical network to 0V potential.\nFor example to ground negative battery contacts.").split("\n")); - list.add(tr("Internal resistance: %1$\u2126", Utils.plotValue(Eln.getSmallRs()))); + list.add(tr("Internal resistance: %s\u2126", Utils.plotValue(Eln.getSmallRs()))); } @Override diff --git a/src/main/java/mods/eln/sixnode/lampsocket/LampSocketDescriptor.java b/src/main/java/mods/eln/sixnode/lampsocket/LampSocketDescriptor.java index d236d0451..7f16bc3b0 100644 --- a/src/main/java/mods/eln/sixnode/lampsocket/LampSocketDescriptor.java +++ b/src/main/java/mods/eln/sixnode/lampsocket/LampSocketDescriptor.java @@ -105,10 +105,10 @@ public void addInformation(ItemStack itemStack, EntityPlayer entityPlayer, List if (range != 0 || alphaZMin != alphaZMax) { //list.add("Projector"); if (range != 0) { - list.add(tr("Spot range: %1$ blocks", range)); + list.add(tr("Spot range: %s blocks", range)); } if (alphaZMin != alphaZMax) { - list.add(tr("Angle: %1$° to %2$°", ((int) alphaZMin), ((int) alphaZMax))); + list.add(tr("Angle: %s° to %s°", ((int) alphaZMin), ((int) alphaZMax))); } } } diff --git a/src/main/java/mods/eln/sixnode/lampsocket/LampSocketGuiDraw.java b/src/main/java/mods/eln/sixnode/lampsocket/LampSocketGuiDraw.java index 9c4edcf39..41a8120a4 100644 --- a/src/main/java/mods/eln/sixnode/lampsocket/LampSocketGuiDraw.java +++ b/src/main/java/mods/eln/sixnode/lampsocket/LampSocketGuiDraw.java @@ -102,12 +102,12 @@ protected void preDraw(float f, int x, int y) { else if (lampRender.isConnectedToLampSupply) channel.setComment(1, "§2" + tr("connected to " + lampRender.channel)); else - channel.setComment(1, "§4" + tr("%1$ is not in range!", lampRender.channel)); + channel.setComment(1, "§4" + tr("%s is not in range!", lampRender.channel)); } else { channel.setVisible(false); buttonSupplyType.displayString = tr("Powered by cable"); } - alphaZ.setComment(0, tr("Orientation: %1$°", (int) alphaZ.getValue())); + alphaZ.setComment(0, tr("Orientation: %s°", (int) alphaZ.getValue())); } } diff --git a/src/main/java/mods/eln/sixnode/powercapacitorsix/PowerCapacitorSixGui.java b/src/main/java/mods/eln/sixnode/powercapacitorsix/PowerCapacitorSixGui.java index ef1f3089e..36da63964 100644 --- a/src/main/java/mods/eln/sixnode/powercapacitorsix/PowerCapacitorSixGui.java +++ b/src/main/java/mods/eln/sixnode/powercapacitorsix/PowerCapacitorSixGui.java @@ -37,8 +37,8 @@ protected void preDraw(float f, int x, int y) { @Override protected void postDraw(float f, int x, int y) { - helper.drawString(8, 8, 0xFF000000, tr("Capacity: %1$F", Utils.plotValue(render.descriptor.getCValue(render.inventory)))); - helper.drawString(8, 8 + 8 + 1, 0xFF000000, tr("Nominal voltage: %1$V", Utils.plotValue(render.descriptor.getUNominalValue(render.inventory)))); + helper.drawString(8, 8, 0xFF000000, tr("Capacity: %sF", Utils.plotValue(render.descriptor.getCValue(render.inventory)))); + helper.drawString(8, 8 + 8 + 1, 0xFF000000, tr("Nominal voltage: %sV", Utils.plotValue(render.descriptor.getUNominalValue(render.inventory)))); super.postDraw(f, x, y); } diff --git a/src/main/java/mods/eln/sixnode/powerinductorsix/PowerInductorSixGui.java b/src/main/java/mods/eln/sixnode/powerinductorsix/PowerInductorSixGui.java index ea21aeca2..dd10ea0c1 100644 --- a/src/main/java/mods/eln/sixnode/powerinductorsix/PowerInductorSixGui.java +++ b/src/main/java/mods/eln/sixnode/powerinductorsix/PowerInductorSixGui.java @@ -37,7 +37,7 @@ protected void preDraw(float f, int x, int y) { @Override protected void postDraw(float f, int x, int y) { - helper.drawString(8, 12, 0xFF000000, tr("Inductance: %1$H", Utils.plotValue(render.descriptor.getlValue(render.inventory)))); + helper.drawString(8, 12, 0xFF000000, tr("Inductance: %sH", Utils.plotValue(render.descriptor.getlValue(render.inventory)))); super.postDraw(f, x, y); } diff --git a/src/main/java/mods/eln/sixnode/resistor/ResistorGui.java b/src/main/java/mods/eln/sixnode/resistor/ResistorGui.java index be6ad0cf5..f5fd5636f 100644 --- a/src/main/java/mods/eln/sixnode/resistor/ResistorGui.java +++ b/src/main/java/mods/eln/sixnode/resistor/ResistorGui.java @@ -37,7 +37,7 @@ protected void preDraw(float f, int x, int y) { @Override protected void postDraw(float f, int x, int y) { - helper.drawString(8, 12, 0xFF000000, tr("Resistance: %1$\u2126", Utils.plotValue(render.descriptor.getRsValue(render.inventory)))); + helper.drawString(8, 12, 0xFF000000, tr("Resistance: %s\u2126", Utils.plotValue(render.descriptor.getRsValue(render.inventory)))); super.postDraw(f, x, y); } diff --git a/src/main/java/mods/eln/sixnode/thermalcable/ThermalCableDescriptor.java b/src/main/java/mods/eln/sixnode/thermalcable/ThermalCableDescriptor.java index dfb998f33..185848379 100644 --- a/src/main/java/mods/eln/sixnode/thermalcable/ThermalCableDescriptor.java +++ b/src/main/java/mods/eln/sixnode/thermalcable/ThermalCableDescriptor.java @@ -103,9 +103,9 @@ public void setThermalLoad(ThermalLoad thermalLoad) { public void addInformation(ItemStack itemStack, EntityPlayer entityPlayer, List list, boolean par4) { super.addInformation(itemStack, entityPlayer, list, par4); - list.add(tr("Max. temperature: %1$°C", Utils.plotValue(thermalWarmLimit))); - list.add(tr("Serial resistance: %1$K/W", Utils.plotValue(thermalRs * 2))); - list.add(tr("Parallel resistance: %1$K/W", Utils.plotValue(thermalRp))); + list.add(tr("Max. temperature: %s°C", Utils.plotValue(thermalWarmLimit))); + list.add(tr("Serial resistance: %sK/W", Utils.plotValue(thermalRs * 2))); + list.add(tr("Parallel resistance: %sK/W", Utils.plotValue(thermalRp))); list.add(""); Collections.addAll(list, tr("Low serialized resistance\n => High conductivity.").split("\n")); Collections.addAll(list, tr("High parallel resistance\n => Low power dissipation.").split("\n")); diff --git a/src/main/java/mods/eln/transparentnode/FuelGenerator.kt b/src/main/java/mods/eln/transparentnode/FuelGenerator.kt index 462730307..990af74dd 100644 --- a/src/main/java/mods/eln/transparentnode/FuelGenerator.kt +++ b/src/main/java/mods/eln/transparentnode/FuelGenerator.kt @@ -104,8 +104,8 @@ class FuelGeneratorDescriptor(name: String, internal val obj: Obj3D?, internal v super.addInformation(itemStack, entityPlayer, list, par4) list.add(tr("Produces electricity using gasoline.")) - list.add(" " + tr("Nominal voltage: %1$ V", Utils.plotValue(cable.electricalNominalVoltage))) - list.add(" " + tr("Nominal power: %1$ W", Utils.plotValue(nominalPower))) + list.add(" " + tr("Nominal voltage: %s V", Utils.plotValue(cable.electricalNominalVoltage))) + list.add(" " + tr("Nominal power: %s W", Utils.plotValue(nominalPower))) } } diff --git a/src/main/java/mods/eln/transparentnode/FuelHeatFurnace.kt b/src/main/java/mods/eln/transparentnode/FuelHeatFurnace.kt index f72ca30f7..5379d488f 100644 --- a/src/main/java/mods/eln/transparentnode/FuelHeatFurnace.kt +++ b/src/main/java/mods/eln/transparentnode/FuelHeatFurnace.kt @@ -378,8 +378,8 @@ class FuelHeatFurnaceGui(player: EntityPlayer, val inventory: IInventory, val re } manualControl.setEnable(inventory.getStackInSlot(FuelHeatFurnaceContainer.RegulatorSlot) == null && !render.externalControlled) - manualControl.setComment(0, I18N.tr("Control value at %1$", Utils.plotPercent("", manualControl.value.toDouble()))) - manualControl.setComment(1, I18N.tr("Heat Power: %1$", Utils.plotPower("", render.heatPower.toDouble()))) + manualControl.setComment(0, I18N.tr("Control value at %s", Utils.plotPercent("", manualControl.value.toDouble()))) + manualControl.setComment(1, I18N.tr("Heat Power: %s", Utils.plotPower("", render.heatPower.toDouble()))) if (render.setTemperature.pending) { setTemperature.value = render.setTemperature.value @@ -388,9 +388,9 @@ class FuelHeatFurnaceGui(player: EntityPlayer, val inventory: IInventory, val re !render.externalControlled) setTemperature.temperatureHit = Math.max(0f, render.actualTemperature) setTemperature.setComment(0, I18N.tr("Temperature")) - setTemperature.setComment(1, I18N.tr("Actual: %1$", Utils.plotCelsius("", render.actualTemperature.toDouble()))) + setTemperature.setComment(1, I18N.tr("Actual: %s", Utils.plotCelsius("", render.actualTemperature.toDouble()))) if (!render.externalControlled) - setTemperature.setComment(2, I18N.tr("Set point: %1$", Utils.plotCelsius("", setTemperature.value.toDouble()))) + setTemperature.setComment(2, I18N.tr("Set point: %s", Utils.plotCelsius("", setTemperature.value.toDouble()))) } override fun guiObjectEvent(sender: IGuiObject?) { diff --git a/src/main/java/mods/eln/transparentnode/LargeRheostat.kt b/src/main/java/mods/eln/transparentnode/LargeRheostat.kt index 97a30c666..01431f20f 100644 --- a/src/main/java/mods/eln/transparentnode/LargeRheostat.kt +++ b/src/main/java/mods/eln/transparentnode/LargeRheostat.kt @@ -242,7 +242,7 @@ class LargeRheostatGUI(player: EntityPlayer, inventory: IInventory, internal var GuiContainerEln(ResistorContainer(player, inventory)) { override fun postDraw(f: Float, x: Int, y: Int) { - helper.drawString(8, 12, -16777216, tr("Nom. Resistance: %1$", Utils.plotValue(render.desc.getRsValue(render.inventory), "Ohm"))) + helper.drawString(8, 12, -16777216, tr("Nom. Resistance: %s", Utils.plotValue(render.desc.getRsValue(render.inventory), "Ohm"))) super.postDraw(f, x, y) } diff --git a/src/main/java/mods/eln/transparentnode/autominer/AutoMinerDescriptor.java b/src/main/java/mods/eln/transparentnode/autominer/AutoMinerDescriptor.java index a111fa0ba..6b28068d2 100644 --- a/src/main/java/mods/eln/transparentnode/autominer/AutoMinerDescriptor.java +++ b/src/main/java/mods/eln/transparentnode/autominer/AutoMinerDescriptor.java @@ -118,7 +118,7 @@ public boolean mustHaveFloor() { public void addInformation(ItemStack itemStack, EntityPlayer entityPlayer, List list, boolean par4) { super.addInformation(itemStack, entityPlayer, list, par4); Collections.addAll(list, tr("Excavates on a small radius.\nExtracts ore on a bigger radius:\n10 blocks radius after 10 blocks depth.").split("\n")); - list.add(tr("Nominal voltage: %1$V", Utils.plotValue(nominalVoltage))); + list.add(tr("Nominal voltage: %sV", Utils.plotValue(nominalVoltage))); } void draw(boolean lampState, float[] buttonsState, boolean[] ledsAState, boolean[] ledsPState) { diff --git a/src/main/java/mods/eln/transparentnode/battery/BatteryGuiDraw.java b/src/main/java/mods/eln/transparentnode/battery/BatteryGuiDraw.java index ee711e5ff..faecca6f1 100644 --- a/src/main/java/mods/eln/transparentnode/battery/BatteryGuiDraw.java +++ b/src/main/java/mods/eln/transparentnode/battery/BatteryGuiDraw.java @@ -48,7 +48,7 @@ protected void preDraw(float f, int x, int y) { super.preDraw(f, x, y); buttonGrounded.displayString = tr("Grounded: " + render.grounded); energyBar.setValue((float) (render.energy / (render.descriptor.electricalStdEnergy * render.life))); - energyBar.setComment(0, tr("Energy: %1$", Utils.plotPercent("", energyBar.getValue()).replace(" ", ""))); + energyBar.setComment(0, tr("Energy: %s", Utils.plotPercent("", energyBar.getValue()).replace(" ", ""))); } diff --git a/src/main/java/mods/eln/transparentnode/electricalantennarx/ElectricalAntennaRxDescriptor.java b/src/main/java/mods/eln/transparentnode/electricalantennarx/ElectricalAntennaRxDescriptor.java index 7e1073f5f..f19022bfe 100644 --- a/src/main/java/mods/eln/transparentnode/electricalantennarx/ElectricalAntennaRxDescriptor.java +++ b/src/main/java/mods/eln/transparentnode/electricalantennarx/ElectricalAntennaRxDescriptor.java @@ -96,7 +96,7 @@ public void addInformation(ItemStack itemStack, EntityPlayer entityPlayer, List super.addInformation(itemStack, entityPlayer, list, par4); list.add(tr("Wireless energy receiver.")); list.add(tr("Nominal usage:")); - list.add(" " + tr("Voltage: %1$V", Utils.plotValue(electricalNominalVoltage))); - list.add(" " + tr("Power: %1$W", Utils.plotValue(electricalNominalPower))); + list.add(" " + tr("Voltage: %sV", Utils.plotValue(electricalNominalVoltage))); + list.add(" " + tr("Power: %sW", Utils.plotValue(electricalNominalPower))); } } diff --git a/src/main/java/mods/eln/transparentnode/electricalantennatx/ElectricalAntennaTxDescriptor.java b/src/main/java/mods/eln/transparentnode/electricalantennatx/ElectricalAntennaTxDescriptor.java index 5af05b7ab..2295bc690 100644 --- a/src/main/java/mods/eln/transparentnode/electricalantennatx/ElectricalAntennaTxDescriptor.java +++ b/src/main/java/mods/eln/transparentnode/electricalantennatx/ElectricalAntennaTxDescriptor.java @@ -109,10 +109,10 @@ public void addInformation(ItemStack itemStack, EntityPlayer entityPlayer, List super.addInformation(itemStack, entityPlayer, list, par4); list.add(tr("Wireless energy transmitter.")); list.add(tr("Nominal usage:")); - list.add(" " + tr("Voltage: %1$V", Utils.plotValue(electricalNominalVoltage))); - list.add(" " + tr("Power: %1$W", Utils.plotValue(electricalNominalPower))); - list.add(" " + tr("Range: %1$ blocks", rangeMax)); - list.add(" " + tr("Efficiency: %1$% up to %2$%", Utils.plotValue(electricalPowerRatioEffEnd * 100), + list.add(" " + tr("Voltage: %sV", Utils.plotValue(electricalNominalVoltage))); + list.add(" " + tr("Power: %sW", Utils.plotValue(electricalNominalPower))); + list.add(" " + tr("Range: %s blocks", rangeMax)); + list.add(" " + tr("Efficiency: %s up to %s", Utils.plotValue(electricalPowerRatioEffEnd * 100), Utils.plotValue(electricalPowerRatioEffStart * 100))); } } diff --git a/src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceGuiDraw.java b/src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceGuiDraw.java index b40f0f75c..1693addb9 100644 --- a/src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceGuiDraw.java +++ b/src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceGuiDraw.java @@ -66,8 +66,8 @@ protected void preDraw(float f, int x, int y) { if (render.temperatureTargetSyncNew) syncVumeter(); vuMeterTemperature.temperatureHit = render.temperature; - vuMeterTemperature.setComment(1, tr("Actual: %1$°C", Utils.plotValue(render.temperature + PhysicalConstant.Tamb))); - vuMeterTemperature.setComment(2, tr("Set point: %1$°C", Utils.plotValue(vuMeterTemperature.getValue() + PhysicalConstant.Tamb))); + vuMeterTemperature.setComment(1, tr("Actual: %s°C", Utils.plotValue(render.temperature + PhysicalConstant.Tamb))); + vuMeterTemperature.setComment(2, tr("Set point: %s°C", Utils.plotValue(vuMeterTemperature.getValue() + PhysicalConstant.Tamb))); } @Override diff --git a/src/main/java/mods/eln/transparentnode/electricalmachine/ElectricalMachineDescriptor.java b/src/main/java/mods/eln/transparentnode/electricalmachine/ElectricalMachineDescriptor.java index 33c0e283f..3ba8bd356 100644 --- a/src/main/java/mods/eln/transparentnode/electricalmachine/ElectricalMachineDescriptor.java +++ b/src/main/java/mods/eln/transparentnode/electricalmachine/ElectricalMachineDescriptor.java @@ -85,8 +85,8 @@ public void setParent(Item item, int damage) { @Override public void addInformation(ItemStack itemStack, EntityPlayer entityPlayer, List list, boolean par4) { super.addInformation(itemStack, entityPlayer, list, par4); - list.add(tr("Nominal voltage: %1V$", Utils.plotValue(nominalU))); - list.add(tr("Nominal power: %1$W", Utils.plotValue(nominalP))); + list.add(tr("Nominal voltage: %sV", Utils.plotValue(nominalU))); + list.add(tr("Nominal power: %sW", Utils.plotValue(nominalP))); } public void applyTo(ElectricalLoad load) { diff --git a/src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceDescriptor.java b/src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceDescriptor.java index b1fb1a7a4..72b54915e 100644 --- a/src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceDescriptor.java +++ b/src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceDescriptor.java @@ -125,7 +125,7 @@ void draw(float tiroirFactor) { public void addInformation(ItemStack itemStack, EntityPlayer entityPlayer, List list, boolean par4) { super.addInformation(itemStack, entityPlayer, list, par4); list.add(tr("Generates heat when supplied with fuel.")); - list.add(" " + tr("Nominal power: %1$W", Utils.plotValue(nominalPower))); - list.add(" " + tr("Max. temperature: %1$°C", Utils.plotValue(thermal.warmLimit))); + list.add(" " + tr("Nominal power: %sW", Utils.plotValue(nominalPower))); + list.add(" " + tr("Max. temperature: %s°C", Utils.plotValue(thermal.warmLimit))); } } diff --git a/src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceGuiDraw.java b/src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceGuiDraw.java index d95f6cb42..56457a5d0 100644 --- a/src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceGuiDraw.java +++ b/src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceGuiDraw.java @@ -87,12 +87,12 @@ protected void preDraw(float f, int x, int y) { vuMeterHeat.setComment(new String[]{}); vuMeterHeat.setComment(0, tr("Temperature gauge")); - vuMeterHeat.setComment(1, tr("Actual: %1$°C", Utils.plotValue(render.temperature))); + vuMeterHeat.setComment(1, tr("Actual: %s°C", Utils.plotValue(render.temperature))); if (!render.controleExternal) vuMeterHeat.setComment(2, Utils.plotCelsius("Set point:", vuMeterHeat.getValue())); - vuMeterGain.setComment(0, tr("Control gauge at %1$%", (int) (vuMeterGain.getValue()) * 100)); + vuMeterGain.setComment(0, tr("Control gauge at %s", (int) (vuMeterGain.getValue()) * 100)); - vuMeterGain.setComment(1, tr("Power: %1$W", render.power)); + vuMeterGain.setComment(1, tr("Power: %sW", render.power)); } @Override diff --git a/src/main/java/mods/eln/transparentnode/powercapacitor/PowerCapacitorGui.java b/src/main/java/mods/eln/transparentnode/powercapacitor/PowerCapacitorGui.java index f59fdb4f1..5e9a8633e 100644 --- a/src/main/java/mods/eln/transparentnode/powercapacitor/PowerCapacitorGui.java +++ b/src/main/java/mods/eln/transparentnode/powercapacitor/PowerCapacitorGui.java @@ -44,8 +44,8 @@ protected void preDraw(float f, int x, int y) { @Override protected void postDraw(float f, int x, int y) { - helper.drawString(8, 8, 0xFF000000, tr("Capacity: %1$F", Utils.plotValue(render.descriptor.getCValue(render.inventory)))); - helper.drawString(8, 8 + 8 + 1, 0xFF000000, tr("Nominal voltage: %1$V", Utils.plotValue(render.descriptor.getUNominalValue(render.inventory)))); + helper.drawString(8, 8, 0xFF000000, tr("Capacity: %sF", Utils.plotValue(render.descriptor.getCValue(render.inventory)))); + helper.drawString(8, 8 + 8 + 1, 0xFF000000, tr("Nominal voltage: %sV", Utils.plotValue(render.descriptor.getUNominalValue(render.inventory)))); super.postDraw(f, x, y); } diff --git a/src/main/java/mods/eln/transparentnode/powerinductor/PowerInductorGui.java b/src/main/java/mods/eln/transparentnode/powerinductor/PowerInductorGui.java index 2b72d1f28..0644ebee2 100644 --- a/src/main/java/mods/eln/transparentnode/powerinductor/PowerInductorGui.java +++ b/src/main/java/mods/eln/transparentnode/powerinductor/PowerInductorGui.java @@ -44,7 +44,7 @@ protected void preDraw(float f, int x, int y) { @Override protected void postDraw(float f, int x, int y) { - helper.drawString(8, 12, 0xFF000000, tr("Inductance: %1$H", Utils.plotValue(render.descriptor.getlValue(render.inventory)))); + helper.drawString(8, 12, 0xFF000000, tr("Inductance: %sH", Utils.plotValue(render.descriptor.getlValue(render.inventory)))); super.postDraw(f, x, y); } diff --git a/src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelDescriptor.java b/src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelDescriptor.java index 150896657..88cb95d97 100644 --- a/src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelDescriptor.java +++ b/src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelDescriptor.java @@ -139,8 +139,8 @@ public void addInformation(ItemStack itemStack, EntityPlayer entityPlayer, List super.addInformation(itemStack, entityPlayer, list, par4); list.add(tr("Produces power fromFacing solar radiation.")); - list.add(" " + tr("Max. voltage: %1$V", Utils.plotValue(electricalUmax))); - list.add(" " + tr("Max. power: %1$W", Utils.plotValue(electricalPmax))); + list.add(" " + tr("Max. voltage: %sV", Utils.plotValue(electricalUmax))); + list.add(" " + tr("Max. power: %sW", Utils.plotValue(electricalPmax))); if (canRotate) list.add(tr("Can be geared towards the sun.")); } diff --git a/src/main/java/mods/eln/transparentnode/solarpanel/SolarPannelGuiDraw.java b/src/main/java/mods/eln/transparentnode/solarpanel/SolarPannelGuiDraw.java index 71293fe02..1eb92c61e 100644 --- a/src/main/java/mods/eln/transparentnode/solarpanel/SolarPannelGuiDraw.java +++ b/src/main/java/mods/eln/transparentnode/solarpanel/SolarPannelGuiDraw.java @@ -63,11 +63,11 @@ protected void preDraw(float f, int x, int y) { vuMeterTemperature.setEnable(!render.hasTracker); int sunAlpha = ((int) (180 / Math.PI * SolarPannelSlowProcess.getSolarAlpha(render.tileEntity.getWorld())) - 90); - vuMeterTemperature.setComment(0, tr("Solar panel angle: %1$°", ((int) (180 / Math.PI * vuMeterTemperature.getValue()) - 90))); + vuMeterTemperature.setComment(0, tr("Solar panel angle: %s°", ((int) (180 / Math.PI * vuMeterTemperature.getValue()) - 90))); if (Math.abs(sunAlpha) > 90) vuMeterTemperature.setComment(1, tr("It is night")); else - vuMeterTemperature.setComment(1, tr("Sun angle: %1$°", sunAlpha)); + vuMeterTemperature.setComment(1, tr("Sun angle: %s°", sunAlpha)); } @Override diff --git a/src/main/java/mods/eln/transparentnode/teleporter/TeleporterGui.java b/src/main/java/mods/eln/transparentnode/teleporter/TeleporterGui.java index 22156c7ef..d6ece329f 100644 --- a/src/main/java/mods/eln/transparentnode/teleporter/TeleporterGui.java +++ b/src/main/java/mods/eln/transparentnode/teleporter/TeleporterGui.java @@ -75,12 +75,12 @@ protected void preDraw(float f, int x, int y) { chargePower.setValue(render.chargePower); render.chargePowerNew = false; } - chargePower.setComment(0, tr("Power consumption: %1$W", chargePower.getValue())); + chargePower.setComment(0, tr("Power consumption: %sW", chargePower.getValue())); start.enabled = render.state == TeleporterElement.StateIdle; chargeBar.setRange(0, render.energyTarget); chargeBar.temperatureHit = render.energyHit; - chargeBar.setComment(0, tr("Required energy: %1$J", render.energyTarget)); + chargeBar.setComment(0, tr("Required energy: %sJ", render.energyTarget)); chargeBar.setComment(1, ((int) (render.processRatio * 100)) + "%"); /* if(render.defaultOutput) toogleDefaultOutput.displayString = "default output is high"; diff --git a/src/main/java/mods/eln/transparentnode/thermaldissipatoractive/ThermalDissipatorActiveDescriptor.java b/src/main/java/mods/eln/transparentnode/thermaldissipatoractive/ThermalDissipatorActiveDescriptor.java index 72c3944d2..ec1c38e50 100644 --- a/src/main/java/mods/eln/transparentnode/thermaldissipatoractive/ThermalDissipatorActiveDescriptor.java +++ b/src/main/java/mods/eln/transparentnode/thermaldissipatoractive/ThermalDissipatorActiveDescriptor.java @@ -117,13 +117,13 @@ public void addInformation(ItemStack itemStack, EntityPlayer entityPlayer, super.addInformation(itemStack, entityPlayer, list, par4); list.add(tr("Used to cool down turbines.")); - list.add(tr("Max. temperature: %1$°C", Utils.plotValue(warmLimit))); + list.add(tr("Max. temperature: %s°C", Utils.plotValue(warmLimit))); list.add(tr("Nominal usage:")); - list.add(" " + tr("Temperature: %1$°C", Utils.plotValue(nominalT))); - list.add(" " + tr("Cooling power: %1$W", Utils.plotValue(nominalP))); - list.add(" " + tr("Fan voltage: %1$V", Utils.plotValue(nominalElectricalU))); - list.add(" " + tr("Fan power consumption: %1$W", Utils.plotValue(electricalNominalP))); - list.add(" " + tr("Fan cooling power: %1$W", Utils.plotValue(nominalElectricalCoolingPower))); + list.add(" " + tr("Temperature: %s°C", Utils.plotValue(nominalT))); + list.add(" " + tr("Cooling power: %sW", Utils.plotValue(nominalP))); + list.add(" " + tr("Fan voltage: %sV", Utils.plotValue(nominalElectricalU))); + list.add(" " + tr("Fan power consumption: %sW", Utils.plotValue(electricalNominalP))); + list.add(" " + tr("Fan cooling power: %sW", Utils.plotValue(nominalElectricalCoolingPower))); } } diff --git a/src/main/java/mods/eln/transparentnode/thermaldissipatorpassive/ThermalDissipatorPassiveDescriptor.java b/src/main/java/mods/eln/transparentnode/thermaldissipatorpassive/ThermalDissipatorPassiveDescriptor.java index 0b1e92986..d30d0bd62 100644 --- a/src/main/java/mods/eln/transparentnode/thermaldissipatorpassive/ThermalDissipatorPassiveDescriptor.java +++ b/src/main/java/mods/eln/transparentnode/thermaldissipatorpassive/ThermalDissipatorPassiveDescriptor.java @@ -60,10 +60,10 @@ public void addInformation(ItemStack itemStack, EntityPlayer entityPlayer, super.addInformation(itemStack, entityPlayer, list, par4); list.add(tr("Used to cool down turbines.")); - list.add(tr("Max. temperature: %1$°C", Utils.plotValue(warmLimit))); + list.add(tr("Max. temperature: %s°C", Utils.plotValue(warmLimit))); list.add(tr("Nominal usage:")); - list.add(" " + tr("Temperature: %1$°C", Utils.plotValue(nominalT))); - list.add(" " + tr("Cooling power: %1$W", Utils.plotValue(nominalP))); + list.add(" " + tr("Temperature: %s°C", Utils.plotValue(nominalT))); + list.add(" " + tr("Cooling power: %sW", Utils.plotValue(nominalP))); } diff --git a/src/main/java/mods/eln/transparentnode/turbine/TurbineDescriptor.java b/src/main/java/mods/eln/transparentnode/turbine/TurbineDescriptor.java index b0681f71a..346579430 100644 --- a/src/main/java/mods/eln/transparentnode/turbine/TurbineDescriptor.java +++ b/src/main/java/mods/eln/transparentnode/turbine/TurbineDescriptor.java @@ -112,8 +112,8 @@ public void addInformation(ItemStack itemStack, EntityPlayer entityPlayer, List list.add(tr("Generates electricity using heat.")); list.add(tr("Nominal usage:")); - list.add(" " + tr("Temperature difference: %1$°C", Utils.plotValue(nominalDeltaT))); - list.add(" " + tr("Voltage: %1$V", Utils.plotValue(nominalU))); - list.add(" " + tr("Power: %1$W", Utils.plotValue(nominalP))); + list.add(" " + tr("Temperature difference: %s°C", Utils.plotValue(nominalDeltaT))); + list.add(" " + tr("Voltage: %sV", Utils.plotValue(nominalU))); + list.add(" " + tr("Power: %sW", Utils.plotValue(nominalP))); } } diff --git a/src/main/java/mods/eln/transparentnode/turret/TurretDescriptor.java b/src/main/java/mods/eln/transparentnode/turret/TurretDescriptor.java index c1c7355aa..30126658d 100644 --- a/src/main/java/mods/eln/transparentnode/turret/TurretDescriptor.java +++ b/src/main/java/mods/eln/transparentnode/turret/TurretDescriptor.java @@ -93,9 +93,9 @@ public void setParent(Item item, int damage) { public void addInformation(ItemStack itemStack, EntityPlayer entityPlayer, List list, boolean par4) { super.addInformation(itemStack, entityPlayer, list, par4); Collections.addAll(list, tr("Scans for entities and shoots if the\nentity matches the configurable filter criteria.").split("\n")); - list.add(tr("Nominal voltage: %1$V", 800)); - list.add(tr("Standby power: %1$W", Utils.plotValue(getProperties().basePower))); - list.add(tr("Laser charge power: %1$W...%2$kW", 100, 10)); + list.add(tr("Nominal voltage: %sV", 800)); + list.add(tr("Standby power: %sW", Utils.plotValue(getProperties().basePower))); + list.add(tr("Laser charge power: %sW...%skW", 100, 10)); list.add(tr("CAUTION: Cables can get quite hot!")); } diff --git a/src/main/java/mods/eln/transparentnode/waterturbine/WaterTurbineDescriptor.java b/src/main/java/mods/eln/transparentnode/waterturbine/WaterTurbineDescriptor.java index cfc64fb63..b8ba0ad12 100644 --- a/src/main/java/mods/eln/transparentnode/waterturbine/WaterTurbineDescriptor.java +++ b/src/main/java/mods/eln/transparentnode/waterturbine/WaterTurbineDescriptor.java @@ -116,8 +116,8 @@ public void addInformation(ItemStack itemStack, EntityPlayer entityPlayer, super.addInformation(itemStack, entityPlayer, list, par4); list.add(tr("Generates energy using water stream.")); - list.add(tr("Voltage: %1$V", Utils.plotValue(cable.electricalNominalVoltage))); - list.add(tr("Power: %1$W", Utils.plotValue(nominalPower))); + list.add(tr("Voltage: %sV", Utils.plotValue(cable.electricalNominalVoltage))); + list.add(tr("Power: %sW", Utils.plotValue(nominalPower))); } diff --git a/src/main/java/mods/eln/transparentnode/windturbine/WindTurbineDescriptor.java b/src/main/java/mods/eln/transparentnode/windturbine/WindTurbineDescriptor.java index 3a3b1b0ae..6e9585274 100644 --- a/src/main/java/mods/eln/transparentnode/windturbine/WindTurbineDescriptor.java +++ b/src/main/java/mods/eln/transparentnode/windturbine/WindTurbineDescriptor.java @@ -135,11 +135,11 @@ public void addInformation(ItemStack itemStack, EntityPlayer entityPlayer, super.addInformation(itemStack, entityPlayer, list, par4); list.add(tr("Generates energy from wind.")); - list.add(tr("Voltage: %1$V", Utils.plotValue(maxVoltage))); - list.add(tr("Power: %1$W", Utils.plotValue(nominalPower))); + list.add(tr("Voltage: %sV", Utils.plotValue(maxVoltage))); + list.add(tr("Power: %sW", Utils.plotValue(nominalPower))); list.add(tr("Wind area:")); - list.add(" " + tr("Front: %1$", rayX)); - list.add(" " + tr("Up/Down: %1$", rayY)); - list.add(" " + tr("Left/Right: %1$", rayZ)); + list.add(" " + tr("Front: %s", rayX)); + list.add(" " + tr("Up/Down: %s", rayY)); + list.add(" " + tr("Left/Right: %s", rayZ)); } } diff --git a/src/main/java/mods/eln/wiki/ItemDefault.java b/src/main/java/mods/eln/wiki/ItemDefault.java index c78d60170..fb2d0f088 100644 --- a/src/main/java/mods/eln/wiki/ItemDefault.java +++ b/src/main/java/mods/eln/wiki/ItemDefault.java @@ -166,7 +166,7 @@ public void initGui() { extender.add(new GuiItemStack(x, y, r.getOutputCopy()[0], helper)); x += 22; - extender.add(new GuiLabel(x, y + 4, tr("Cost %1$J", r.energy))); + extender.add(new GuiLabel(x, y + 4, tr("Cost %sJ", r.energy))); counter = (counter + 1) % 1; } @@ -196,7 +196,7 @@ public void initGui() { extender.add(new GuiItemStack(x, y, r.getOutputCopy()[0], helper)); x += 22; - extender.add(new GuiLabel(x, y + 4, tr("Cost %1$J", r.energy))); + extender.add(new GuiLabel(x, y + 4, tr("Cost %sJ", r.energy))); counter = (counter + 1) % 1; } diff --git a/src/main/resources/assets/eln/lang/ach.lang b/src/main/resources/assets/eln/lang/ach.lang index a0fcdd29b..f4e769aa7 100644 --- a/src/main/resources/assets/eln/lang/ach.lang +++ b/src/main/resources/assets/eln/lang/ach.lang @@ -287,21 +287,21 @@ tile.eln.EnergyConverterElnToOtherLVUBlock.name=50V Electrical Age to other ener tile.eln.EnergyConverterElnToOtherMVUBlock.name=200V Electrical Age to other energy exporter # ./src/main/java/mods/eln/i18n/I18N.java -You_have_%1$_lives_left=You have %1$ lives left +You_have_%s_lives_left=You have %s lives left # ./src/main/java/mods/eln/item/BrushDescriptor.java Brush_is_dry=Brush is dry -Can_paint_%1$_blocks=Can paint %1$ blocks +Can_paint_%s_blocks=Can paint %s blocks # ./src/main/java/mods/eln/item/CombustionChamber.java Upgrade_for_the_Stone_Heat_Furnace.=Upgrade for the Stone Heat Furnace. # ./src/main/java/mods/eln/item/ElectricalDrillDescriptor.java -Energy_per_operation\:_%1$J=Energy per operation\: %1$J -Time_per_operation\:_%1$s=Time per operation\: %1$s +Energy_per_operation\:_%sJ=Energy per operation\: %sJ +Time_per_operation\:_%ss=Time per operation\: %ss # ./src/main/java/mods/eln/item/FerromagneticCoreDescriptor.java -Cable_loss_factor\:_%1$=Cable loss factor\: %1$ +Cable_loss_factor\:_%s=Cable loss factor\: %s # ./src/main/java/mods/eln/item/HeatingCorpElement.java @@ -311,8 +311,8 @@ Condition\:=Condition\: End_of_life=End of life Good=Good New=New -Nominal_lifetime\:_%1$h=Nominal lifetime\: %1$h -Technology\:_%1$=Technology\: %1$ +Nominal_lifetime\:_%sh=Nominal lifetime\: %sh +Technology\:_%s=Technology\: %s Used=Used # ./src/main/java/mods/eln/item/LampSlot.java @@ -333,7 +333,7 @@ Solar_panel_upgrade=Solar panel upgrade Off=Off On=On State\:=State\: -Stored_Energy\:_%1$J_(%2$%)=Stored Energy\: %1$J (%2$%) +Stored_Energy\:_%sJ_(%s)=Stored Energy\: %sJ (%s) # ./src/main/java/mods/eln/item/regulator/RegulatorSlot.java @@ -346,7 +346,7 @@ mod.name=Electrical Age # ./src/main/java/mods/eln/node/six/SixNodeDescriptor.java # ./src/main/java/mods/eln/simplenode/energyconverter/EnergyConverterElnToOtherGui.java -Input_power_is_limited_to_%1$W=Input power is limited to %1$W +Input_power_is_limited_to_%sW=Input power is limited to %sW # ./src/main/java/mods/eln/sixnode/LogicGate.kt _O\:_= O\: @@ -386,12 +386,12 @@ Switch_is_off=Switch is off Switch_is_on=Switch is on # ./src/main/java/mods/eln/sixnode/electricalcable/ElectricalCableDescriptor.java -A_signal_is_electrical_information\nwhich_must_be_between_0V_and_%1$V=A signal is electrical information\nwhich must be between 0V and %1$V +A_signal_is_electrical_information\nwhich_must_be_between_0V_and_%sV=A signal is electrical information\nwhich must be between 0V and %sV Cable_is_adapted_to_conduct\nelectrical_signals.=Cable is adapted to conduct\nelectrical signals. -Current\:_%1$A=Current\: %1$A +Current\:_%sA=Current\: %sA Not_adapted_to_transport_power.=Not adapted to transport power. Save_usage\:=Save usage\: -Serial_resistance\:_%1$Ω=Serial resistance\: %1$Ω +Serial_resistance\:_%sΩ=Serial resistance\: %sΩ # ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerDescriptor.java It_can_store_up_to_256_points.=It can store up to 256 points. @@ -423,10 +423,10 @@ Output_voltage_increases\nif_a_fire_has_been_detected.=Output voltage increases\ Provides_configurable_signal\nvoltage.=Provides configurable signal\nvoltage. # ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceGui.java -Output_at_%1$%=Output at %1$% +Output_at_%s=Output at %s # ./src/main/java/mods/eln/sixnode/electricallightsensor/ElectricalLightSensorDescriptor.java -0V_at_night,_%1$V_at_noon.=0V at night, %1$V at noon. +0V_at_night,_%sV_at_noon.=0V at night, %sV at noon. Provides_an_electrical_voltage\nin_the_presence_of_light.=Provides an electrical voltage\nin the presence of light. Provides_an_electrical_voltage\nwhich_is_proportional_to\nthe_intensity_of_daylight.=Provides an electrical voltage\nwhich is proportional to\nthe intensity of daylight. @@ -439,7 +439,7 @@ Applicable_mathematical_operators\:=Applicable mathematical operators\: Calculates_an_output_signal_from\n3_inputs_(A,_B,_C)_using_an_equation.=Calculates an output signal from\n3 inputs (A, B, C) using an equation. # ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathGui.java -%1$_Redstone(s)_required=%1$ Redstone(s) required +%s_Redstone(s)_required=%s Redstone(s) required Equation_required!=Equation required\! Inputs_are=Inputs are Invalid_equation!=Invalid equation\! @@ -483,13 +483,13 @@ Displays_the_value_of_a_signal.=Displays the value of a signal. Portable_battery_slot=Portable battery slot # ./src/main/java/mods/eln/sixnode/electricalweathersensor/ElectricalWeatherSensorDescriptor.java -Clear\:_%1$V=Clear\: %1$V +Clear\:_%sV=Clear\: %sV Provides_an_electrical_signal\ndepending_the_actual_weather.=Provides an electrical signal\ndepending the actual weather. -Rain\:_%1$V=Rain\: %1$V -Storm\:_%1$V=Storm\: %1$V +Rain\:_%sV=Rain\: %sV +Storm\:_%sV=Storm\: %sV # ./src/main/java/mods/eln/sixnode/electricalwindsensor/ElectricalWindSensorDescriptor.java -Maximum_wind_speed_is_%1$m_s=Maximum wind speed is %1$m/s +Maximum_wind_speed_is_%sm_s=Maximum wind speed is %sm/s Provides_an_electrical_signal\ndependant_on_wind_speed.=Provides an electrical signal\ndependant on wind speed. You_can't_place_this_block_on_the_floor_or_the_ceiling=You can't place this block on the floor or the ceiling @@ -508,7 +508,7 @@ Voltage=Voltage Change_password=Change password Counter_Mode=Counter Mode Counts_the_energy_conducted_from\n\u00a74red\u00a7f_to_\u00a71blue\u00a7f.=Counts the energy conducted from\n\\u00a74red\\u00a7f to \\u00a71blue\\u00a7f. -Energy_counter\:_%1$J=Energy counter\: %1$J +Energy_counter\:_%sJ=Energy counter\: %sJ Enter_new_energy=Enter new energy Enter_password=Enter password Prepay_Mode=Prepay Mode @@ -529,13 +529,13 @@ Provides_a_zero_volt_reference.=Provides a zero volt reference. Allows_crossing_cables\non_one_single_block.=Allows crossing cables\non one single block. # ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketDescriptor.java -Angle\:_%1$°_to_%2$°=Angle\: %1$° to %2$° -Spot_range\:_%1$_blocks=Spot range\: %1$ blocks +Angle\:_%s°_to_%s°=Angle\: %s° to %s° +Spot_range\:_%s_blocks=Spot range\: %s blocks # ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketGuiDraw.java -%1$_is_not_in_range!=%1$ is not in range\! +%s_is_not_in_range!=%s is not in range\! Cable_slot_empty=Cable slot empty -Orientation\:_%1$°=Orientation\: %1$° +Orientation\:_%s°=Orientation\: %s° Parallel=Parallel Powered_by_Lamp_Supply=Powered by Lamp Supply Powered_by_cable=Powered by cable @@ -584,8 +584,8 @@ Coal_dust_slot=Coal dust slot # ./src/main/java/mods/eln/sixnode/thermalcable/ThermalCableDescriptor.java High_parallel_resistance\n_\=>_Low_power_dissipation.=High parallel resistance\n \=> Low power dissipation. Low_serial_resistance\n_\=>_High_conductivity.=Low serial resistance\n \=> High conductivity. -Parallel_resistance\:_%1$K_W=Parallel resistance\: %1$K/W -Serial_resistance\:_%1$K_W=Serial resistance\: %1$K/W +Parallel_resistance\:_%sK_W=Parallel resistance\: %sK/W +Serial_resistance\:_%sK_W=Serial resistance\: %sK/W # ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorContainer.java Cable_slot=Cable slot @@ -610,12 +610,12 @@ Set_beacon_name=Set beacon name # ./src/main/java/mods/eln/sixnode/wirelesssignal/rx/WirelessSignalRxGui.java # ./src/main/java/mods/eln/transparentnode/FuelGenerator.kt -Nominal_power\:_%1$_W=Nominal power\: %1$ W -Nominal_voltage\:_%1$_V=Nominal voltage\: %1$ V +Nominal_power\:_%s_W=Nominal power\: %s W +Nominal_voltage\:_%s_V=Nominal voltage\: %s V Produces_electricity_using_fuel.=Produces electricity using fuel. # ./src/main/java/mods/eln/transparentnode/LargeRheostat.kt -Nom._Resistance\:_%1$=Nom. Resistance\: %1$ +Nom._Resistance\:_%s=Nom. Resistance\: %s # ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerContainer.java Drill_slot=Drill slot @@ -637,16 +637,16 @@ Overheating_protection=Overheating protection Overvoltage_protection=Overvoltage protection # ./src/main/java/mods/eln/transparentnode/battery/BatteryDescriptor.java -Actual_charge\:_%1$%=Actual charge\: %1$% -Energy_capacity\:_%1$J=Energy capacity\: %1$J -_charged_at_%1$%=charged at %1$% +Actual_charge\:_%s=Actual charge\: %s +Energy_capacity\:_%sJ=Energy capacity\: %sJ +_charged_at_%s=charged at %s # ./src/main/java/mods/eln/transparentnode/battery/BatteryGuiDraw.java Charge=Charge Charged=Charged Discharge=Discharge Energy\:=Energy\: -Energy\:_%1$=Energy\: %1$ +Energy\:_%s=Energy\: %s Life\:=Life\: No_charge=No charge Power_in\:=Power in\: @@ -659,7 +659,7 @@ Egg_slot=Egg slot Wireless_energy_receiver.=Wireless energy receiver. # ./src/main/java/mods/eln/transparentnode/electricalantennatx/ElectricalAntennaTxDescriptor.java -Efficiency\:_%1$%_up_to_%2$%=Efficiency\: %1$% up to %2$% +Efficiency\:_%s_up_to_%s=Efficiency\: %s up to %s Wireless_energy_transmitter.=Wireless energy transmitter. # ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceContainer.java @@ -671,7 +671,7 @@ Similar_to_a_vanilla_furnace,\nbut_heats_with_electricity.=Similar to a vanilla # ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceGuiDraw.java Auto_shutdown=Auto shutdown Manual_shutdown=Manual shutdown -Set_point\:_%1$°C=Set point\: %1$°C +Set_point\:_%s°C=Set point\: %s°C # ./src/main/java/mods/eln/transparentnode/electricalmachine/ElectricalMachineDescriptor.java Cost=Cost @@ -684,7 +684,7 @@ Fuel_slot=Fuel slot Generates_heat_when_supplied_with_fuel.=Generates heat when supplied with fuel. # ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceGuiDraw.java -Control_gauge_at_%1$%=Control gauge at %1$% +Control_gauge_at_%s=Control gauge at %s Decline_fuel=Decline fuel External_control=External control Internal_control=Internal control @@ -698,27 +698,27 @@ Solar_tracker_slot=Solar tracker slot # ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelDescriptor.java Can_be_geared_towards_the_sun.=Can be geared towards the sun. -Max._power\:_%1$W=Max. power\: %1$W -Max._voltage\:_%1$V=Max. voltage\: %1$V +Max._power\:_%sW=Max. power\: %sW +Max._voltage\:_%sV=Max. voltage\: %sV Produces_power_from_solar_radiation.=Produces power from solar radiation. # ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPannelGuiDraw.java It_is_night=It is night -Solar_panel_angle\:_%1$°=Solar panel angle\: %1$° -Sun_angle\:_%1$°=Sun angle\: %1$° +Solar_panel_angle\:_%s°=Solar panel angle\: %s° +Sun_angle\:_%s°=Sun angle\: %s° # ./src/main/java/mods/eln/transparentnode/teleporter/TeleporterGui.java Destination_transporter=Destination transporter Power_consumption\:=Power consumption\: -Power_consumption\:_%1$W=Power consumption\: %1$W -Required_energy\:_%1$J=Required energy\: %1$J +Power_consumption\:_%sW=Power consumption\: %sW +Required_energy\:_%sJ=Required energy\: %sJ Start=Start Transporter_name=Transporter name # ./src/main/java/mods/eln/transparentnode/thermaldissipatoractive/ThermalDissipatorActiveDescriptor.java -Fan_cooling_power\:_%1$W=Fan cooling power\: %1$W -Fan_power_consumption\:_%1$W=Fan power consumption\: %1$W -Fan_voltage\:_%1$V=Fan voltage\: %1$V +Fan_cooling_power\:_%sW=Fan cooling power\: %sW +Fan_power_consumption\:_%sW=Fan power consumption\: %sW +Fan_voltage\:_%sV=Fan voltage\: %sV # ./src/main/java/mods/eln/transparentnode/transformer/TransformerDescriptor.java The_voltage_ratio_is_proportional\nto_the_cable_stacks_count_ratio.=The voltage ratio is proportional\nto the cable stacks count ratio. @@ -726,13 +726,13 @@ Transforms_an_input_voltage_to\nan_output_voltage.=Transforms an input voltage t # ./src/main/java/mods/eln/transparentnode/turbine/TurbineDescriptor.java Generates_electricity_using_heat.=Generates electricity using heat. -Temperature_difference\:_%1$°C=Temperature difference\: %1$°C +Temperature_difference\:_%s°C=Temperature difference\: %s°C # ./src/main/java/mods/eln/transparentnode/turret/TurretDescriptor.java CAUTION\:_Cables_can_get_quite_hot!=CAUTION\: Cables can get quite hot\! -Laser_charge_power\:_%1$W...%2$kW=Laser charge power\: %1$W...%2$kW +Laser_charge_power\:_%sW...%skW=Laser charge power\: %sW...%skW Scans_for_entities_and_shoots_if_the\nentity_matches_the_configurable_filter_criteria.=Scans for entities and shoots if the\nentity matches the configurable filter criteria. -Standby_power\:_%1$W=Standby power\: %1$W +Standby_power\:_%sW=Standby power\: %sW # ./src/main/java/mods/eln/transparentnode/turret/TurretGui.java Attack\:=Attack\: @@ -744,10 +744,10 @@ Generates_energy_using_water_stream.=Generates energy using water stream. No_place_for_water_turbine!=No place for water turbine\! # ./src/main/java/mods/eln/transparentnode/windturbine/WindTurbineDescriptor.java -Front\:_%1$=Front\: %1$ +Front\:_%s=Front\: %s Generates_energy_from_wind.=Generates energy from wind. -Left_Right\:_%1$=Left/Right\: %1$ -Up_Down\:_%1$=Up/Down\: %1$ +Left_Right\:_%s=Left/Right\: %s +Up_Down\:_%s=Up/Down\: %s Wind_area\:=Wind area\: # ./src/main/java/mods/eln/wiki/Data.java @@ -769,7 +769,7 @@ Previous=Previous # ./src/main/java/mods/eln/wiki/ItemDefault.java Can_be_used_to_craft\:=Can be used to craft\: Cannot_be_crafted!=Cannot be crafted\! -Cost_%1$J=Cost %1$J +Cost_%sJ=Cost %sJ Created_by\:=Created by\: Is_not_a_crafting_material!=Is not a crafting material\! Recipe\:=Recipe\: @@ -777,45 +777,45 @@ Recipe\:=Recipe\: # Appearing in multiple source files (Increases_capacity)=(Increases capacity) (Increases_inductance)=(Increases inductance) -Actual\:_%1$°C=Actual\: %1$°C +Actual\:_%s°C=Actual\: %s°C Biggest=Biggest Booster_slot=Booster slot Can_create\:=Can create\: -Capacity\:_%1$F=Capacity\: %1$F -Charge_power\:_%1$W=Charge power\: %1$W +Capacity\:_%sF=Capacity\: %sF +Charge_power\:_%sW=Charge power\: %sW Connected=Connected -Cooling_power\:_%1$W=Cooling power\: %1$W +Cooling_power\:_%sW=Cooling power\: %sW Copper_cable_slot=Copper cable slot Dielectric_slot=Dielectric slot -Discharge_power\:_%1$W=Discharge power\: %1$W +Discharge_power\:_%sW=Discharge power\: %sW Electrical_cable_slot=Electrical cable slot Entity_filter_slot=Entity filter slot Ferromagnetic_core_slot=Ferromagnetic core slot Has_a_signal_output.=Has a signal output. -Inductance\:_%1$H=Inductance\: %1$H -Internal_resistance\:_%1$Ω=Internal resistance\: %1$Ω +Inductance\:_%sH=Inductance\: %sH +Internal_resistance\:_%sΩ=Internal resistance\: %sΩ Is_off=Is off Is_on=Is on -Max._temperature\:_%1$°C=Max. temperature\: %1$°C +Max._temperature\:_%s°C=Max. temperature\: %s°C Measured_value\ncorresponding\nto_0%_output=Measured value\ncorresponding\nto 0% output Measured_value\ncorresponding\nto_100%_output=Measured value\ncorresponding\nto 100% output Nominal\:=Nominal\: -Nominal_power\:_%1$W=Nominal power\: %1$W +Nominal_power\:_%sW=Nominal power\: %sW Nominal_usage\:=Nominal usage\: -Nominal_voltage\:_%1$V=Nominal voltage\: %1$V +Nominal_voltage\:_%sV=Nominal voltage\: %sV Not_connected=Not connected Not_enough_space_for_this_block=Not enough space for this block Power=Power -Power\:_%1$W=Power\: %1$W -Range\:_%1$_blocks=Range\: %1$ blocks +Power\:_%sW=Power\: %sW +Range\:_%s_blocks=Range\: %s blocks Redstone_slot=Redstone slot Regulator_slot=Regulator slot Reset=Reset -Resistance\:_%1$Ω=Resistance\: %1$Ω +Resistance\:_%sΩ=Resistance\: %sΩ Smallest=Smallest Specify_the_channel=Specify the channel -Stored_energy\:_%1$J_(%2$%)=Stored energy\: %1$J (%2$%) -Temperature\:_%1$°C=Temperature\: %1$°C +Stored_energy\:_%sJ_(%s)=Stored energy\: %sJ (%s) +Temperature\:_%s°C=Temperature\: %s°C Temperature_gauge=Temperature gauge Thermal_isolator_slot=Thermal isolator slot Toggle=Toggle @@ -825,5 +825,5 @@ Used_to_cool_down_turbines.=Used to cool down turbines. Uses_the_biggest\nvalue_on_the_channel.=Uses the biggest\nvalue on the channel. Uses_the_smallest\nvalue_on_the_channel.=Uses the smallest\nvalue on the channel. Validate=Validate -Voltage\:_%1$V=Voltage\: %1$V +Voltage\:_%sV=Voltage\: %sV You_can't_place_this_block_at_this_side=You can't place this block at this side diff --git a/src/main/resources/assets/eln/lang/az.lang b/src/main/resources/assets/eln/lang/az.lang index a0fcdd29b..f4e769aa7 100644 --- a/src/main/resources/assets/eln/lang/az.lang +++ b/src/main/resources/assets/eln/lang/az.lang @@ -287,21 +287,21 @@ tile.eln.EnergyConverterElnToOtherLVUBlock.name=50V Electrical Age to other ener tile.eln.EnergyConverterElnToOtherMVUBlock.name=200V Electrical Age to other energy exporter # ./src/main/java/mods/eln/i18n/I18N.java -You_have_%1$_lives_left=You have %1$ lives left +You_have_%s_lives_left=You have %s lives left # ./src/main/java/mods/eln/item/BrushDescriptor.java Brush_is_dry=Brush is dry -Can_paint_%1$_blocks=Can paint %1$ blocks +Can_paint_%s_blocks=Can paint %s blocks # ./src/main/java/mods/eln/item/CombustionChamber.java Upgrade_for_the_Stone_Heat_Furnace.=Upgrade for the Stone Heat Furnace. # ./src/main/java/mods/eln/item/ElectricalDrillDescriptor.java -Energy_per_operation\:_%1$J=Energy per operation\: %1$J -Time_per_operation\:_%1$s=Time per operation\: %1$s +Energy_per_operation\:_%sJ=Energy per operation\: %sJ +Time_per_operation\:_%ss=Time per operation\: %ss # ./src/main/java/mods/eln/item/FerromagneticCoreDescriptor.java -Cable_loss_factor\:_%1$=Cable loss factor\: %1$ +Cable_loss_factor\:_%s=Cable loss factor\: %s # ./src/main/java/mods/eln/item/HeatingCorpElement.java @@ -311,8 +311,8 @@ Condition\:=Condition\: End_of_life=End of life Good=Good New=New -Nominal_lifetime\:_%1$h=Nominal lifetime\: %1$h -Technology\:_%1$=Technology\: %1$ +Nominal_lifetime\:_%sh=Nominal lifetime\: %sh +Technology\:_%s=Technology\: %s Used=Used # ./src/main/java/mods/eln/item/LampSlot.java @@ -333,7 +333,7 @@ Solar_panel_upgrade=Solar panel upgrade Off=Off On=On State\:=State\: -Stored_Energy\:_%1$J_(%2$%)=Stored Energy\: %1$J (%2$%) +Stored_Energy\:_%sJ_(%s)=Stored Energy\: %sJ (%s) # ./src/main/java/mods/eln/item/regulator/RegulatorSlot.java @@ -346,7 +346,7 @@ mod.name=Electrical Age # ./src/main/java/mods/eln/node/six/SixNodeDescriptor.java # ./src/main/java/mods/eln/simplenode/energyconverter/EnergyConverterElnToOtherGui.java -Input_power_is_limited_to_%1$W=Input power is limited to %1$W +Input_power_is_limited_to_%sW=Input power is limited to %sW # ./src/main/java/mods/eln/sixnode/LogicGate.kt _O\:_= O\: @@ -386,12 +386,12 @@ Switch_is_off=Switch is off Switch_is_on=Switch is on # ./src/main/java/mods/eln/sixnode/electricalcable/ElectricalCableDescriptor.java -A_signal_is_electrical_information\nwhich_must_be_between_0V_and_%1$V=A signal is electrical information\nwhich must be between 0V and %1$V +A_signal_is_electrical_information\nwhich_must_be_between_0V_and_%sV=A signal is electrical information\nwhich must be between 0V and %sV Cable_is_adapted_to_conduct\nelectrical_signals.=Cable is adapted to conduct\nelectrical signals. -Current\:_%1$A=Current\: %1$A +Current\:_%sA=Current\: %sA Not_adapted_to_transport_power.=Not adapted to transport power. Save_usage\:=Save usage\: -Serial_resistance\:_%1$Ω=Serial resistance\: %1$Ω +Serial_resistance\:_%sΩ=Serial resistance\: %sΩ # ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerDescriptor.java It_can_store_up_to_256_points.=It can store up to 256 points. @@ -423,10 +423,10 @@ Output_voltage_increases\nif_a_fire_has_been_detected.=Output voltage increases\ Provides_configurable_signal\nvoltage.=Provides configurable signal\nvoltage. # ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceGui.java -Output_at_%1$%=Output at %1$% +Output_at_%s=Output at %s # ./src/main/java/mods/eln/sixnode/electricallightsensor/ElectricalLightSensorDescriptor.java -0V_at_night,_%1$V_at_noon.=0V at night, %1$V at noon. +0V_at_night,_%sV_at_noon.=0V at night, %sV at noon. Provides_an_electrical_voltage\nin_the_presence_of_light.=Provides an electrical voltage\nin the presence of light. Provides_an_electrical_voltage\nwhich_is_proportional_to\nthe_intensity_of_daylight.=Provides an electrical voltage\nwhich is proportional to\nthe intensity of daylight. @@ -439,7 +439,7 @@ Applicable_mathematical_operators\:=Applicable mathematical operators\: Calculates_an_output_signal_from\n3_inputs_(A,_B,_C)_using_an_equation.=Calculates an output signal from\n3 inputs (A, B, C) using an equation. # ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathGui.java -%1$_Redstone(s)_required=%1$ Redstone(s) required +%s_Redstone(s)_required=%s Redstone(s) required Equation_required!=Equation required\! Inputs_are=Inputs are Invalid_equation!=Invalid equation\! @@ -483,13 +483,13 @@ Displays_the_value_of_a_signal.=Displays the value of a signal. Portable_battery_slot=Portable battery slot # ./src/main/java/mods/eln/sixnode/electricalweathersensor/ElectricalWeatherSensorDescriptor.java -Clear\:_%1$V=Clear\: %1$V +Clear\:_%sV=Clear\: %sV Provides_an_electrical_signal\ndepending_the_actual_weather.=Provides an electrical signal\ndepending the actual weather. -Rain\:_%1$V=Rain\: %1$V -Storm\:_%1$V=Storm\: %1$V +Rain\:_%sV=Rain\: %sV +Storm\:_%sV=Storm\: %sV # ./src/main/java/mods/eln/sixnode/electricalwindsensor/ElectricalWindSensorDescriptor.java -Maximum_wind_speed_is_%1$m_s=Maximum wind speed is %1$m/s +Maximum_wind_speed_is_%sm_s=Maximum wind speed is %sm/s Provides_an_electrical_signal\ndependant_on_wind_speed.=Provides an electrical signal\ndependant on wind speed. You_can't_place_this_block_on_the_floor_or_the_ceiling=You can't place this block on the floor or the ceiling @@ -508,7 +508,7 @@ Voltage=Voltage Change_password=Change password Counter_Mode=Counter Mode Counts_the_energy_conducted_from\n\u00a74red\u00a7f_to_\u00a71blue\u00a7f.=Counts the energy conducted from\n\\u00a74red\\u00a7f to \\u00a71blue\\u00a7f. -Energy_counter\:_%1$J=Energy counter\: %1$J +Energy_counter\:_%sJ=Energy counter\: %sJ Enter_new_energy=Enter new energy Enter_password=Enter password Prepay_Mode=Prepay Mode @@ -529,13 +529,13 @@ Provides_a_zero_volt_reference.=Provides a zero volt reference. Allows_crossing_cables\non_one_single_block.=Allows crossing cables\non one single block. # ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketDescriptor.java -Angle\:_%1$°_to_%2$°=Angle\: %1$° to %2$° -Spot_range\:_%1$_blocks=Spot range\: %1$ blocks +Angle\:_%s°_to_%s°=Angle\: %s° to %s° +Spot_range\:_%s_blocks=Spot range\: %s blocks # ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketGuiDraw.java -%1$_is_not_in_range!=%1$ is not in range\! +%s_is_not_in_range!=%s is not in range\! Cable_slot_empty=Cable slot empty -Orientation\:_%1$°=Orientation\: %1$° +Orientation\:_%s°=Orientation\: %s° Parallel=Parallel Powered_by_Lamp_Supply=Powered by Lamp Supply Powered_by_cable=Powered by cable @@ -584,8 +584,8 @@ Coal_dust_slot=Coal dust slot # ./src/main/java/mods/eln/sixnode/thermalcable/ThermalCableDescriptor.java High_parallel_resistance\n_\=>_Low_power_dissipation.=High parallel resistance\n \=> Low power dissipation. Low_serial_resistance\n_\=>_High_conductivity.=Low serial resistance\n \=> High conductivity. -Parallel_resistance\:_%1$K_W=Parallel resistance\: %1$K/W -Serial_resistance\:_%1$K_W=Serial resistance\: %1$K/W +Parallel_resistance\:_%sK_W=Parallel resistance\: %sK/W +Serial_resistance\:_%sK_W=Serial resistance\: %sK/W # ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorContainer.java Cable_slot=Cable slot @@ -610,12 +610,12 @@ Set_beacon_name=Set beacon name # ./src/main/java/mods/eln/sixnode/wirelesssignal/rx/WirelessSignalRxGui.java # ./src/main/java/mods/eln/transparentnode/FuelGenerator.kt -Nominal_power\:_%1$_W=Nominal power\: %1$ W -Nominal_voltage\:_%1$_V=Nominal voltage\: %1$ V +Nominal_power\:_%s_W=Nominal power\: %s W +Nominal_voltage\:_%s_V=Nominal voltage\: %s V Produces_electricity_using_fuel.=Produces electricity using fuel. # ./src/main/java/mods/eln/transparentnode/LargeRheostat.kt -Nom._Resistance\:_%1$=Nom. Resistance\: %1$ +Nom._Resistance\:_%s=Nom. Resistance\: %s # ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerContainer.java Drill_slot=Drill slot @@ -637,16 +637,16 @@ Overheating_protection=Overheating protection Overvoltage_protection=Overvoltage protection # ./src/main/java/mods/eln/transparentnode/battery/BatteryDescriptor.java -Actual_charge\:_%1$%=Actual charge\: %1$% -Energy_capacity\:_%1$J=Energy capacity\: %1$J -_charged_at_%1$%=charged at %1$% +Actual_charge\:_%s=Actual charge\: %s +Energy_capacity\:_%sJ=Energy capacity\: %sJ +_charged_at_%s=charged at %s # ./src/main/java/mods/eln/transparentnode/battery/BatteryGuiDraw.java Charge=Charge Charged=Charged Discharge=Discharge Energy\:=Energy\: -Energy\:_%1$=Energy\: %1$ +Energy\:_%s=Energy\: %s Life\:=Life\: No_charge=No charge Power_in\:=Power in\: @@ -659,7 +659,7 @@ Egg_slot=Egg slot Wireless_energy_receiver.=Wireless energy receiver. # ./src/main/java/mods/eln/transparentnode/electricalantennatx/ElectricalAntennaTxDescriptor.java -Efficiency\:_%1$%_up_to_%2$%=Efficiency\: %1$% up to %2$% +Efficiency\:_%s_up_to_%s=Efficiency\: %s up to %s Wireless_energy_transmitter.=Wireless energy transmitter. # ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceContainer.java @@ -671,7 +671,7 @@ Similar_to_a_vanilla_furnace,\nbut_heats_with_electricity.=Similar to a vanilla # ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceGuiDraw.java Auto_shutdown=Auto shutdown Manual_shutdown=Manual shutdown -Set_point\:_%1$°C=Set point\: %1$°C +Set_point\:_%s°C=Set point\: %s°C # ./src/main/java/mods/eln/transparentnode/electricalmachine/ElectricalMachineDescriptor.java Cost=Cost @@ -684,7 +684,7 @@ Fuel_slot=Fuel slot Generates_heat_when_supplied_with_fuel.=Generates heat when supplied with fuel. # ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceGuiDraw.java -Control_gauge_at_%1$%=Control gauge at %1$% +Control_gauge_at_%s=Control gauge at %s Decline_fuel=Decline fuel External_control=External control Internal_control=Internal control @@ -698,27 +698,27 @@ Solar_tracker_slot=Solar tracker slot # ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelDescriptor.java Can_be_geared_towards_the_sun.=Can be geared towards the sun. -Max._power\:_%1$W=Max. power\: %1$W -Max._voltage\:_%1$V=Max. voltage\: %1$V +Max._power\:_%sW=Max. power\: %sW +Max._voltage\:_%sV=Max. voltage\: %sV Produces_power_from_solar_radiation.=Produces power from solar radiation. # ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPannelGuiDraw.java It_is_night=It is night -Solar_panel_angle\:_%1$°=Solar panel angle\: %1$° -Sun_angle\:_%1$°=Sun angle\: %1$° +Solar_panel_angle\:_%s°=Solar panel angle\: %s° +Sun_angle\:_%s°=Sun angle\: %s° # ./src/main/java/mods/eln/transparentnode/teleporter/TeleporterGui.java Destination_transporter=Destination transporter Power_consumption\:=Power consumption\: -Power_consumption\:_%1$W=Power consumption\: %1$W -Required_energy\:_%1$J=Required energy\: %1$J +Power_consumption\:_%sW=Power consumption\: %sW +Required_energy\:_%sJ=Required energy\: %sJ Start=Start Transporter_name=Transporter name # ./src/main/java/mods/eln/transparentnode/thermaldissipatoractive/ThermalDissipatorActiveDescriptor.java -Fan_cooling_power\:_%1$W=Fan cooling power\: %1$W -Fan_power_consumption\:_%1$W=Fan power consumption\: %1$W -Fan_voltage\:_%1$V=Fan voltage\: %1$V +Fan_cooling_power\:_%sW=Fan cooling power\: %sW +Fan_power_consumption\:_%sW=Fan power consumption\: %sW +Fan_voltage\:_%sV=Fan voltage\: %sV # ./src/main/java/mods/eln/transparentnode/transformer/TransformerDescriptor.java The_voltage_ratio_is_proportional\nto_the_cable_stacks_count_ratio.=The voltage ratio is proportional\nto the cable stacks count ratio. @@ -726,13 +726,13 @@ Transforms_an_input_voltage_to\nan_output_voltage.=Transforms an input voltage t # ./src/main/java/mods/eln/transparentnode/turbine/TurbineDescriptor.java Generates_electricity_using_heat.=Generates electricity using heat. -Temperature_difference\:_%1$°C=Temperature difference\: %1$°C +Temperature_difference\:_%s°C=Temperature difference\: %s°C # ./src/main/java/mods/eln/transparentnode/turret/TurretDescriptor.java CAUTION\:_Cables_can_get_quite_hot!=CAUTION\: Cables can get quite hot\! -Laser_charge_power\:_%1$W...%2$kW=Laser charge power\: %1$W...%2$kW +Laser_charge_power\:_%sW...%skW=Laser charge power\: %sW...%skW Scans_for_entities_and_shoots_if_the\nentity_matches_the_configurable_filter_criteria.=Scans for entities and shoots if the\nentity matches the configurable filter criteria. -Standby_power\:_%1$W=Standby power\: %1$W +Standby_power\:_%sW=Standby power\: %sW # ./src/main/java/mods/eln/transparentnode/turret/TurretGui.java Attack\:=Attack\: @@ -744,10 +744,10 @@ Generates_energy_using_water_stream.=Generates energy using water stream. No_place_for_water_turbine!=No place for water turbine\! # ./src/main/java/mods/eln/transparentnode/windturbine/WindTurbineDescriptor.java -Front\:_%1$=Front\: %1$ +Front\:_%s=Front\: %s Generates_energy_from_wind.=Generates energy from wind. -Left_Right\:_%1$=Left/Right\: %1$ -Up_Down\:_%1$=Up/Down\: %1$ +Left_Right\:_%s=Left/Right\: %s +Up_Down\:_%s=Up/Down\: %s Wind_area\:=Wind area\: # ./src/main/java/mods/eln/wiki/Data.java @@ -769,7 +769,7 @@ Previous=Previous # ./src/main/java/mods/eln/wiki/ItemDefault.java Can_be_used_to_craft\:=Can be used to craft\: Cannot_be_crafted!=Cannot be crafted\! -Cost_%1$J=Cost %1$J +Cost_%sJ=Cost %sJ Created_by\:=Created by\: Is_not_a_crafting_material!=Is not a crafting material\! Recipe\:=Recipe\: @@ -777,45 +777,45 @@ Recipe\:=Recipe\: # Appearing in multiple source files (Increases_capacity)=(Increases capacity) (Increases_inductance)=(Increases inductance) -Actual\:_%1$°C=Actual\: %1$°C +Actual\:_%s°C=Actual\: %s°C Biggest=Biggest Booster_slot=Booster slot Can_create\:=Can create\: -Capacity\:_%1$F=Capacity\: %1$F -Charge_power\:_%1$W=Charge power\: %1$W +Capacity\:_%sF=Capacity\: %sF +Charge_power\:_%sW=Charge power\: %sW Connected=Connected -Cooling_power\:_%1$W=Cooling power\: %1$W +Cooling_power\:_%sW=Cooling power\: %sW Copper_cable_slot=Copper cable slot Dielectric_slot=Dielectric slot -Discharge_power\:_%1$W=Discharge power\: %1$W +Discharge_power\:_%sW=Discharge power\: %sW Electrical_cable_slot=Electrical cable slot Entity_filter_slot=Entity filter slot Ferromagnetic_core_slot=Ferromagnetic core slot Has_a_signal_output.=Has a signal output. -Inductance\:_%1$H=Inductance\: %1$H -Internal_resistance\:_%1$Ω=Internal resistance\: %1$Ω +Inductance\:_%sH=Inductance\: %sH +Internal_resistance\:_%sΩ=Internal resistance\: %sΩ Is_off=Is off Is_on=Is on -Max._temperature\:_%1$°C=Max. temperature\: %1$°C +Max._temperature\:_%s°C=Max. temperature\: %s°C Measured_value\ncorresponding\nto_0%_output=Measured value\ncorresponding\nto 0% output Measured_value\ncorresponding\nto_100%_output=Measured value\ncorresponding\nto 100% output Nominal\:=Nominal\: -Nominal_power\:_%1$W=Nominal power\: %1$W +Nominal_power\:_%sW=Nominal power\: %sW Nominal_usage\:=Nominal usage\: -Nominal_voltage\:_%1$V=Nominal voltage\: %1$V +Nominal_voltage\:_%sV=Nominal voltage\: %sV Not_connected=Not connected Not_enough_space_for_this_block=Not enough space for this block Power=Power -Power\:_%1$W=Power\: %1$W -Range\:_%1$_blocks=Range\: %1$ blocks +Power\:_%sW=Power\: %sW +Range\:_%s_blocks=Range\: %s blocks Redstone_slot=Redstone slot Regulator_slot=Regulator slot Reset=Reset -Resistance\:_%1$Ω=Resistance\: %1$Ω +Resistance\:_%sΩ=Resistance\: %sΩ Smallest=Smallest Specify_the_channel=Specify the channel -Stored_energy\:_%1$J_(%2$%)=Stored energy\: %1$J (%2$%) -Temperature\:_%1$°C=Temperature\: %1$°C +Stored_energy\:_%sJ_(%s)=Stored energy\: %sJ (%s) +Temperature\:_%s°C=Temperature\: %s°C Temperature_gauge=Temperature gauge Thermal_isolator_slot=Thermal isolator slot Toggle=Toggle @@ -825,5 +825,5 @@ Used_to_cool_down_turbines.=Used to cool down turbines. Uses_the_biggest\nvalue_on_the_channel.=Uses the biggest\nvalue on the channel. Uses_the_smallest\nvalue_on_the_channel.=Uses the smallest\nvalue on the channel. Validate=Validate -Voltage\:_%1$V=Voltage\: %1$V +Voltage\:_%sV=Voltage\: %sV You_can't_place_this_block_at_this_side=You can't place this block at this side diff --git a/src/main/resources/assets/eln/lang/be.lang b/src/main/resources/assets/eln/lang/be.lang index a0fcdd29b..f4e769aa7 100644 --- a/src/main/resources/assets/eln/lang/be.lang +++ b/src/main/resources/assets/eln/lang/be.lang @@ -287,21 +287,21 @@ tile.eln.EnergyConverterElnToOtherLVUBlock.name=50V Electrical Age to other ener tile.eln.EnergyConverterElnToOtherMVUBlock.name=200V Electrical Age to other energy exporter # ./src/main/java/mods/eln/i18n/I18N.java -You_have_%1$_lives_left=You have %1$ lives left +You_have_%s_lives_left=You have %s lives left # ./src/main/java/mods/eln/item/BrushDescriptor.java Brush_is_dry=Brush is dry -Can_paint_%1$_blocks=Can paint %1$ blocks +Can_paint_%s_blocks=Can paint %s blocks # ./src/main/java/mods/eln/item/CombustionChamber.java Upgrade_for_the_Stone_Heat_Furnace.=Upgrade for the Stone Heat Furnace. # ./src/main/java/mods/eln/item/ElectricalDrillDescriptor.java -Energy_per_operation\:_%1$J=Energy per operation\: %1$J -Time_per_operation\:_%1$s=Time per operation\: %1$s +Energy_per_operation\:_%sJ=Energy per operation\: %sJ +Time_per_operation\:_%ss=Time per operation\: %ss # ./src/main/java/mods/eln/item/FerromagneticCoreDescriptor.java -Cable_loss_factor\:_%1$=Cable loss factor\: %1$ +Cable_loss_factor\:_%s=Cable loss factor\: %s # ./src/main/java/mods/eln/item/HeatingCorpElement.java @@ -311,8 +311,8 @@ Condition\:=Condition\: End_of_life=End of life Good=Good New=New -Nominal_lifetime\:_%1$h=Nominal lifetime\: %1$h -Technology\:_%1$=Technology\: %1$ +Nominal_lifetime\:_%sh=Nominal lifetime\: %sh +Technology\:_%s=Technology\: %s Used=Used # ./src/main/java/mods/eln/item/LampSlot.java @@ -333,7 +333,7 @@ Solar_panel_upgrade=Solar panel upgrade Off=Off On=On State\:=State\: -Stored_Energy\:_%1$J_(%2$%)=Stored Energy\: %1$J (%2$%) +Stored_Energy\:_%sJ_(%s)=Stored Energy\: %sJ (%s) # ./src/main/java/mods/eln/item/regulator/RegulatorSlot.java @@ -346,7 +346,7 @@ mod.name=Electrical Age # ./src/main/java/mods/eln/node/six/SixNodeDescriptor.java # ./src/main/java/mods/eln/simplenode/energyconverter/EnergyConverterElnToOtherGui.java -Input_power_is_limited_to_%1$W=Input power is limited to %1$W +Input_power_is_limited_to_%sW=Input power is limited to %sW # ./src/main/java/mods/eln/sixnode/LogicGate.kt _O\:_= O\: @@ -386,12 +386,12 @@ Switch_is_off=Switch is off Switch_is_on=Switch is on # ./src/main/java/mods/eln/sixnode/electricalcable/ElectricalCableDescriptor.java -A_signal_is_electrical_information\nwhich_must_be_between_0V_and_%1$V=A signal is electrical information\nwhich must be between 0V and %1$V +A_signal_is_electrical_information\nwhich_must_be_between_0V_and_%sV=A signal is electrical information\nwhich must be between 0V and %sV Cable_is_adapted_to_conduct\nelectrical_signals.=Cable is adapted to conduct\nelectrical signals. -Current\:_%1$A=Current\: %1$A +Current\:_%sA=Current\: %sA Not_adapted_to_transport_power.=Not adapted to transport power. Save_usage\:=Save usage\: -Serial_resistance\:_%1$Ω=Serial resistance\: %1$Ω +Serial_resistance\:_%sΩ=Serial resistance\: %sΩ # ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerDescriptor.java It_can_store_up_to_256_points.=It can store up to 256 points. @@ -423,10 +423,10 @@ Output_voltage_increases\nif_a_fire_has_been_detected.=Output voltage increases\ Provides_configurable_signal\nvoltage.=Provides configurable signal\nvoltage. # ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceGui.java -Output_at_%1$%=Output at %1$% +Output_at_%s=Output at %s # ./src/main/java/mods/eln/sixnode/electricallightsensor/ElectricalLightSensorDescriptor.java -0V_at_night,_%1$V_at_noon.=0V at night, %1$V at noon. +0V_at_night,_%sV_at_noon.=0V at night, %sV at noon. Provides_an_electrical_voltage\nin_the_presence_of_light.=Provides an electrical voltage\nin the presence of light. Provides_an_electrical_voltage\nwhich_is_proportional_to\nthe_intensity_of_daylight.=Provides an electrical voltage\nwhich is proportional to\nthe intensity of daylight. @@ -439,7 +439,7 @@ Applicable_mathematical_operators\:=Applicable mathematical operators\: Calculates_an_output_signal_from\n3_inputs_(A,_B,_C)_using_an_equation.=Calculates an output signal from\n3 inputs (A, B, C) using an equation. # ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathGui.java -%1$_Redstone(s)_required=%1$ Redstone(s) required +%s_Redstone(s)_required=%s Redstone(s) required Equation_required!=Equation required\! Inputs_are=Inputs are Invalid_equation!=Invalid equation\! @@ -483,13 +483,13 @@ Displays_the_value_of_a_signal.=Displays the value of a signal. Portable_battery_slot=Portable battery slot # ./src/main/java/mods/eln/sixnode/electricalweathersensor/ElectricalWeatherSensorDescriptor.java -Clear\:_%1$V=Clear\: %1$V +Clear\:_%sV=Clear\: %sV Provides_an_electrical_signal\ndepending_the_actual_weather.=Provides an electrical signal\ndepending the actual weather. -Rain\:_%1$V=Rain\: %1$V -Storm\:_%1$V=Storm\: %1$V +Rain\:_%sV=Rain\: %sV +Storm\:_%sV=Storm\: %sV # ./src/main/java/mods/eln/sixnode/electricalwindsensor/ElectricalWindSensorDescriptor.java -Maximum_wind_speed_is_%1$m_s=Maximum wind speed is %1$m/s +Maximum_wind_speed_is_%sm_s=Maximum wind speed is %sm/s Provides_an_electrical_signal\ndependant_on_wind_speed.=Provides an electrical signal\ndependant on wind speed. You_can't_place_this_block_on_the_floor_or_the_ceiling=You can't place this block on the floor or the ceiling @@ -508,7 +508,7 @@ Voltage=Voltage Change_password=Change password Counter_Mode=Counter Mode Counts_the_energy_conducted_from\n\u00a74red\u00a7f_to_\u00a71blue\u00a7f.=Counts the energy conducted from\n\\u00a74red\\u00a7f to \\u00a71blue\\u00a7f. -Energy_counter\:_%1$J=Energy counter\: %1$J +Energy_counter\:_%sJ=Energy counter\: %sJ Enter_new_energy=Enter new energy Enter_password=Enter password Prepay_Mode=Prepay Mode @@ -529,13 +529,13 @@ Provides_a_zero_volt_reference.=Provides a zero volt reference. Allows_crossing_cables\non_one_single_block.=Allows crossing cables\non one single block. # ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketDescriptor.java -Angle\:_%1$°_to_%2$°=Angle\: %1$° to %2$° -Spot_range\:_%1$_blocks=Spot range\: %1$ blocks +Angle\:_%s°_to_%s°=Angle\: %s° to %s° +Spot_range\:_%s_blocks=Spot range\: %s blocks # ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketGuiDraw.java -%1$_is_not_in_range!=%1$ is not in range\! +%s_is_not_in_range!=%s is not in range\! Cable_slot_empty=Cable slot empty -Orientation\:_%1$°=Orientation\: %1$° +Orientation\:_%s°=Orientation\: %s° Parallel=Parallel Powered_by_Lamp_Supply=Powered by Lamp Supply Powered_by_cable=Powered by cable @@ -584,8 +584,8 @@ Coal_dust_slot=Coal dust slot # ./src/main/java/mods/eln/sixnode/thermalcable/ThermalCableDescriptor.java High_parallel_resistance\n_\=>_Low_power_dissipation.=High parallel resistance\n \=> Low power dissipation. Low_serial_resistance\n_\=>_High_conductivity.=Low serial resistance\n \=> High conductivity. -Parallel_resistance\:_%1$K_W=Parallel resistance\: %1$K/W -Serial_resistance\:_%1$K_W=Serial resistance\: %1$K/W +Parallel_resistance\:_%sK_W=Parallel resistance\: %sK/W +Serial_resistance\:_%sK_W=Serial resistance\: %sK/W # ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorContainer.java Cable_slot=Cable slot @@ -610,12 +610,12 @@ Set_beacon_name=Set beacon name # ./src/main/java/mods/eln/sixnode/wirelesssignal/rx/WirelessSignalRxGui.java # ./src/main/java/mods/eln/transparentnode/FuelGenerator.kt -Nominal_power\:_%1$_W=Nominal power\: %1$ W -Nominal_voltage\:_%1$_V=Nominal voltage\: %1$ V +Nominal_power\:_%s_W=Nominal power\: %s W +Nominal_voltage\:_%s_V=Nominal voltage\: %s V Produces_electricity_using_fuel.=Produces electricity using fuel. # ./src/main/java/mods/eln/transparentnode/LargeRheostat.kt -Nom._Resistance\:_%1$=Nom. Resistance\: %1$ +Nom._Resistance\:_%s=Nom. Resistance\: %s # ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerContainer.java Drill_slot=Drill slot @@ -637,16 +637,16 @@ Overheating_protection=Overheating protection Overvoltage_protection=Overvoltage protection # ./src/main/java/mods/eln/transparentnode/battery/BatteryDescriptor.java -Actual_charge\:_%1$%=Actual charge\: %1$% -Energy_capacity\:_%1$J=Energy capacity\: %1$J -_charged_at_%1$%=charged at %1$% +Actual_charge\:_%s=Actual charge\: %s +Energy_capacity\:_%sJ=Energy capacity\: %sJ +_charged_at_%s=charged at %s # ./src/main/java/mods/eln/transparentnode/battery/BatteryGuiDraw.java Charge=Charge Charged=Charged Discharge=Discharge Energy\:=Energy\: -Energy\:_%1$=Energy\: %1$ +Energy\:_%s=Energy\: %s Life\:=Life\: No_charge=No charge Power_in\:=Power in\: @@ -659,7 +659,7 @@ Egg_slot=Egg slot Wireless_energy_receiver.=Wireless energy receiver. # ./src/main/java/mods/eln/transparentnode/electricalantennatx/ElectricalAntennaTxDescriptor.java -Efficiency\:_%1$%_up_to_%2$%=Efficiency\: %1$% up to %2$% +Efficiency\:_%s_up_to_%s=Efficiency\: %s up to %s Wireless_energy_transmitter.=Wireless energy transmitter. # ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceContainer.java @@ -671,7 +671,7 @@ Similar_to_a_vanilla_furnace,\nbut_heats_with_electricity.=Similar to a vanilla # ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceGuiDraw.java Auto_shutdown=Auto shutdown Manual_shutdown=Manual shutdown -Set_point\:_%1$°C=Set point\: %1$°C +Set_point\:_%s°C=Set point\: %s°C # ./src/main/java/mods/eln/transparentnode/electricalmachine/ElectricalMachineDescriptor.java Cost=Cost @@ -684,7 +684,7 @@ Fuel_slot=Fuel slot Generates_heat_when_supplied_with_fuel.=Generates heat when supplied with fuel. # ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceGuiDraw.java -Control_gauge_at_%1$%=Control gauge at %1$% +Control_gauge_at_%s=Control gauge at %s Decline_fuel=Decline fuel External_control=External control Internal_control=Internal control @@ -698,27 +698,27 @@ Solar_tracker_slot=Solar tracker slot # ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelDescriptor.java Can_be_geared_towards_the_sun.=Can be geared towards the sun. -Max._power\:_%1$W=Max. power\: %1$W -Max._voltage\:_%1$V=Max. voltage\: %1$V +Max._power\:_%sW=Max. power\: %sW +Max._voltage\:_%sV=Max. voltage\: %sV Produces_power_from_solar_radiation.=Produces power from solar radiation. # ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPannelGuiDraw.java It_is_night=It is night -Solar_panel_angle\:_%1$°=Solar panel angle\: %1$° -Sun_angle\:_%1$°=Sun angle\: %1$° +Solar_panel_angle\:_%s°=Solar panel angle\: %s° +Sun_angle\:_%s°=Sun angle\: %s° # ./src/main/java/mods/eln/transparentnode/teleporter/TeleporterGui.java Destination_transporter=Destination transporter Power_consumption\:=Power consumption\: -Power_consumption\:_%1$W=Power consumption\: %1$W -Required_energy\:_%1$J=Required energy\: %1$J +Power_consumption\:_%sW=Power consumption\: %sW +Required_energy\:_%sJ=Required energy\: %sJ Start=Start Transporter_name=Transporter name # ./src/main/java/mods/eln/transparentnode/thermaldissipatoractive/ThermalDissipatorActiveDescriptor.java -Fan_cooling_power\:_%1$W=Fan cooling power\: %1$W -Fan_power_consumption\:_%1$W=Fan power consumption\: %1$W -Fan_voltage\:_%1$V=Fan voltage\: %1$V +Fan_cooling_power\:_%sW=Fan cooling power\: %sW +Fan_power_consumption\:_%sW=Fan power consumption\: %sW +Fan_voltage\:_%sV=Fan voltage\: %sV # ./src/main/java/mods/eln/transparentnode/transformer/TransformerDescriptor.java The_voltage_ratio_is_proportional\nto_the_cable_stacks_count_ratio.=The voltage ratio is proportional\nto the cable stacks count ratio. @@ -726,13 +726,13 @@ Transforms_an_input_voltage_to\nan_output_voltage.=Transforms an input voltage t # ./src/main/java/mods/eln/transparentnode/turbine/TurbineDescriptor.java Generates_electricity_using_heat.=Generates electricity using heat. -Temperature_difference\:_%1$°C=Temperature difference\: %1$°C +Temperature_difference\:_%s°C=Temperature difference\: %s°C # ./src/main/java/mods/eln/transparentnode/turret/TurretDescriptor.java CAUTION\:_Cables_can_get_quite_hot!=CAUTION\: Cables can get quite hot\! -Laser_charge_power\:_%1$W...%2$kW=Laser charge power\: %1$W...%2$kW +Laser_charge_power\:_%sW...%skW=Laser charge power\: %sW...%skW Scans_for_entities_and_shoots_if_the\nentity_matches_the_configurable_filter_criteria.=Scans for entities and shoots if the\nentity matches the configurable filter criteria. -Standby_power\:_%1$W=Standby power\: %1$W +Standby_power\:_%sW=Standby power\: %sW # ./src/main/java/mods/eln/transparentnode/turret/TurretGui.java Attack\:=Attack\: @@ -744,10 +744,10 @@ Generates_energy_using_water_stream.=Generates energy using water stream. No_place_for_water_turbine!=No place for water turbine\! # ./src/main/java/mods/eln/transparentnode/windturbine/WindTurbineDescriptor.java -Front\:_%1$=Front\: %1$ +Front\:_%s=Front\: %s Generates_energy_from_wind.=Generates energy from wind. -Left_Right\:_%1$=Left/Right\: %1$ -Up_Down\:_%1$=Up/Down\: %1$ +Left_Right\:_%s=Left/Right\: %s +Up_Down\:_%s=Up/Down\: %s Wind_area\:=Wind area\: # ./src/main/java/mods/eln/wiki/Data.java @@ -769,7 +769,7 @@ Previous=Previous # ./src/main/java/mods/eln/wiki/ItemDefault.java Can_be_used_to_craft\:=Can be used to craft\: Cannot_be_crafted!=Cannot be crafted\! -Cost_%1$J=Cost %1$J +Cost_%sJ=Cost %sJ Created_by\:=Created by\: Is_not_a_crafting_material!=Is not a crafting material\! Recipe\:=Recipe\: @@ -777,45 +777,45 @@ Recipe\:=Recipe\: # Appearing in multiple source files (Increases_capacity)=(Increases capacity) (Increases_inductance)=(Increases inductance) -Actual\:_%1$°C=Actual\: %1$°C +Actual\:_%s°C=Actual\: %s°C Biggest=Biggest Booster_slot=Booster slot Can_create\:=Can create\: -Capacity\:_%1$F=Capacity\: %1$F -Charge_power\:_%1$W=Charge power\: %1$W +Capacity\:_%sF=Capacity\: %sF +Charge_power\:_%sW=Charge power\: %sW Connected=Connected -Cooling_power\:_%1$W=Cooling power\: %1$W +Cooling_power\:_%sW=Cooling power\: %sW Copper_cable_slot=Copper cable slot Dielectric_slot=Dielectric slot -Discharge_power\:_%1$W=Discharge power\: %1$W +Discharge_power\:_%sW=Discharge power\: %sW Electrical_cable_slot=Electrical cable slot Entity_filter_slot=Entity filter slot Ferromagnetic_core_slot=Ferromagnetic core slot Has_a_signal_output.=Has a signal output. -Inductance\:_%1$H=Inductance\: %1$H -Internal_resistance\:_%1$Ω=Internal resistance\: %1$Ω +Inductance\:_%sH=Inductance\: %sH +Internal_resistance\:_%sΩ=Internal resistance\: %sΩ Is_off=Is off Is_on=Is on -Max._temperature\:_%1$°C=Max. temperature\: %1$°C +Max._temperature\:_%s°C=Max. temperature\: %s°C Measured_value\ncorresponding\nto_0%_output=Measured value\ncorresponding\nto 0% output Measured_value\ncorresponding\nto_100%_output=Measured value\ncorresponding\nto 100% output Nominal\:=Nominal\: -Nominal_power\:_%1$W=Nominal power\: %1$W +Nominal_power\:_%sW=Nominal power\: %sW Nominal_usage\:=Nominal usage\: -Nominal_voltage\:_%1$V=Nominal voltage\: %1$V +Nominal_voltage\:_%sV=Nominal voltage\: %sV Not_connected=Not connected Not_enough_space_for_this_block=Not enough space for this block Power=Power -Power\:_%1$W=Power\: %1$W -Range\:_%1$_blocks=Range\: %1$ blocks +Power\:_%sW=Power\: %sW +Range\:_%s_blocks=Range\: %s blocks Redstone_slot=Redstone slot Regulator_slot=Regulator slot Reset=Reset -Resistance\:_%1$Ω=Resistance\: %1$Ω +Resistance\:_%sΩ=Resistance\: %sΩ Smallest=Smallest Specify_the_channel=Specify the channel -Stored_energy\:_%1$J_(%2$%)=Stored energy\: %1$J (%2$%) -Temperature\:_%1$°C=Temperature\: %1$°C +Stored_energy\:_%sJ_(%s)=Stored energy\: %sJ (%s) +Temperature\:_%s°C=Temperature\: %s°C Temperature_gauge=Temperature gauge Thermal_isolator_slot=Thermal isolator slot Toggle=Toggle @@ -825,5 +825,5 @@ Used_to_cool_down_turbines.=Used to cool down turbines. Uses_the_biggest\nvalue_on_the_channel.=Uses the biggest\nvalue on the channel. Uses_the_smallest\nvalue_on_the_channel.=Uses the smallest\nvalue on the channel. Validate=Validate -Voltage\:_%1$V=Voltage\: %1$V +Voltage\:_%sV=Voltage\: %sV You_can't_place_this_block_at_this_side=You can't place this block at this side diff --git a/src/main/resources/assets/eln/lang/bs.lang b/src/main/resources/assets/eln/lang/bs.lang index a0fcdd29b..f4e769aa7 100644 --- a/src/main/resources/assets/eln/lang/bs.lang +++ b/src/main/resources/assets/eln/lang/bs.lang @@ -287,21 +287,21 @@ tile.eln.EnergyConverterElnToOtherLVUBlock.name=50V Electrical Age to other ener tile.eln.EnergyConverterElnToOtherMVUBlock.name=200V Electrical Age to other energy exporter # ./src/main/java/mods/eln/i18n/I18N.java -You_have_%1$_lives_left=You have %1$ lives left +You_have_%s_lives_left=You have %s lives left # ./src/main/java/mods/eln/item/BrushDescriptor.java Brush_is_dry=Brush is dry -Can_paint_%1$_blocks=Can paint %1$ blocks +Can_paint_%s_blocks=Can paint %s blocks # ./src/main/java/mods/eln/item/CombustionChamber.java Upgrade_for_the_Stone_Heat_Furnace.=Upgrade for the Stone Heat Furnace. # ./src/main/java/mods/eln/item/ElectricalDrillDescriptor.java -Energy_per_operation\:_%1$J=Energy per operation\: %1$J -Time_per_operation\:_%1$s=Time per operation\: %1$s +Energy_per_operation\:_%sJ=Energy per operation\: %sJ +Time_per_operation\:_%ss=Time per operation\: %ss # ./src/main/java/mods/eln/item/FerromagneticCoreDescriptor.java -Cable_loss_factor\:_%1$=Cable loss factor\: %1$ +Cable_loss_factor\:_%s=Cable loss factor\: %s # ./src/main/java/mods/eln/item/HeatingCorpElement.java @@ -311,8 +311,8 @@ Condition\:=Condition\: End_of_life=End of life Good=Good New=New -Nominal_lifetime\:_%1$h=Nominal lifetime\: %1$h -Technology\:_%1$=Technology\: %1$ +Nominal_lifetime\:_%sh=Nominal lifetime\: %sh +Technology\:_%s=Technology\: %s Used=Used # ./src/main/java/mods/eln/item/LampSlot.java @@ -333,7 +333,7 @@ Solar_panel_upgrade=Solar panel upgrade Off=Off On=On State\:=State\: -Stored_Energy\:_%1$J_(%2$%)=Stored Energy\: %1$J (%2$%) +Stored_Energy\:_%sJ_(%s)=Stored Energy\: %sJ (%s) # ./src/main/java/mods/eln/item/regulator/RegulatorSlot.java @@ -346,7 +346,7 @@ mod.name=Electrical Age # ./src/main/java/mods/eln/node/six/SixNodeDescriptor.java # ./src/main/java/mods/eln/simplenode/energyconverter/EnergyConverterElnToOtherGui.java -Input_power_is_limited_to_%1$W=Input power is limited to %1$W +Input_power_is_limited_to_%sW=Input power is limited to %sW # ./src/main/java/mods/eln/sixnode/LogicGate.kt _O\:_= O\: @@ -386,12 +386,12 @@ Switch_is_off=Switch is off Switch_is_on=Switch is on # ./src/main/java/mods/eln/sixnode/electricalcable/ElectricalCableDescriptor.java -A_signal_is_electrical_information\nwhich_must_be_between_0V_and_%1$V=A signal is electrical information\nwhich must be between 0V and %1$V +A_signal_is_electrical_information\nwhich_must_be_between_0V_and_%sV=A signal is electrical information\nwhich must be between 0V and %sV Cable_is_adapted_to_conduct\nelectrical_signals.=Cable is adapted to conduct\nelectrical signals. -Current\:_%1$A=Current\: %1$A +Current\:_%sA=Current\: %sA Not_adapted_to_transport_power.=Not adapted to transport power. Save_usage\:=Save usage\: -Serial_resistance\:_%1$Ω=Serial resistance\: %1$Ω +Serial_resistance\:_%sΩ=Serial resistance\: %sΩ # ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerDescriptor.java It_can_store_up_to_256_points.=It can store up to 256 points. @@ -423,10 +423,10 @@ Output_voltage_increases\nif_a_fire_has_been_detected.=Output voltage increases\ Provides_configurable_signal\nvoltage.=Provides configurable signal\nvoltage. # ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceGui.java -Output_at_%1$%=Output at %1$% +Output_at_%s=Output at %s # ./src/main/java/mods/eln/sixnode/electricallightsensor/ElectricalLightSensorDescriptor.java -0V_at_night,_%1$V_at_noon.=0V at night, %1$V at noon. +0V_at_night,_%sV_at_noon.=0V at night, %sV at noon. Provides_an_electrical_voltage\nin_the_presence_of_light.=Provides an electrical voltage\nin the presence of light. Provides_an_electrical_voltage\nwhich_is_proportional_to\nthe_intensity_of_daylight.=Provides an electrical voltage\nwhich is proportional to\nthe intensity of daylight. @@ -439,7 +439,7 @@ Applicable_mathematical_operators\:=Applicable mathematical operators\: Calculates_an_output_signal_from\n3_inputs_(A,_B,_C)_using_an_equation.=Calculates an output signal from\n3 inputs (A, B, C) using an equation. # ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathGui.java -%1$_Redstone(s)_required=%1$ Redstone(s) required +%s_Redstone(s)_required=%s Redstone(s) required Equation_required!=Equation required\! Inputs_are=Inputs are Invalid_equation!=Invalid equation\! @@ -483,13 +483,13 @@ Displays_the_value_of_a_signal.=Displays the value of a signal. Portable_battery_slot=Portable battery slot # ./src/main/java/mods/eln/sixnode/electricalweathersensor/ElectricalWeatherSensorDescriptor.java -Clear\:_%1$V=Clear\: %1$V +Clear\:_%sV=Clear\: %sV Provides_an_electrical_signal\ndepending_the_actual_weather.=Provides an electrical signal\ndepending the actual weather. -Rain\:_%1$V=Rain\: %1$V -Storm\:_%1$V=Storm\: %1$V +Rain\:_%sV=Rain\: %sV +Storm\:_%sV=Storm\: %sV # ./src/main/java/mods/eln/sixnode/electricalwindsensor/ElectricalWindSensorDescriptor.java -Maximum_wind_speed_is_%1$m_s=Maximum wind speed is %1$m/s +Maximum_wind_speed_is_%sm_s=Maximum wind speed is %sm/s Provides_an_electrical_signal\ndependant_on_wind_speed.=Provides an electrical signal\ndependant on wind speed. You_can't_place_this_block_on_the_floor_or_the_ceiling=You can't place this block on the floor or the ceiling @@ -508,7 +508,7 @@ Voltage=Voltage Change_password=Change password Counter_Mode=Counter Mode Counts_the_energy_conducted_from\n\u00a74red\u00a7f_to_\u00a71blue\u00a7f.=Counts the energy conducted from\n\\u00a74red\\u00a7f to \\u00a71blue\\u00a7f. -Energy_counter\:_%1$J=Energy counter\: %1$J +Energy_counter\:_%sJ=Energy counter\: %sJ Enter_new_energy=Enter new energy Enter_password=Enter password Prepay_Mode=Prepay Mode @@ -529,13 +529,13 @@ Provides_a_zero_volt_reference.=Provides a zero volt reference. Allows_crossing_cables\non_one_single_block.=Allows crossing cables\non one single block. # ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketDescriptor.java -Angle\:_%1$°_to_%2$°=Angle\: %1$° to %2$° -Spot_range\:_%1$_blocks=Spot range\: %1$ blocks +Angle\:_%s°_to_%s°=Angle\: %s° to %s° +Spot_range\:_%s_blocks=Spot range\: %s blocks # ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketGuiDraw.java -%1$_is_not_in_range!=%1$ is not in range\! +%s_is_not_in_range!=%s is not in range\! Cable_slot_empty=Cable slot empty -Orientation\:_%1$°=Orientation\: %1$° +Orientation\:_%s°=Orientation\: %s° Parallel=Parallel Powered_by_Lamp_Supply=Powered by Lamp Supply Powered_by_cable=Powered by cable @@ -584,8 +584,8 @@ Coal_dust_slot=Coal dust slot # ./src/main/java/mods/eln/sixnode/thermalcable/ThermalCableDescriptor.java High_parallel_resistance\n_\=>_Low_power_dissipation.=High parallel resistance\n \=> Low power dissipation. Low_serial_resistance\n_\=>_High_conductivity.=Low serial resistance\n \=> High conductivity. -Parallel_resistance\:_%1$K_W=Parallel resistance\: %1$K/W -Serial_resistance\:_%1$K_W=Serial resistance\: %1$K/W +Parallel_resistance\:_%sK_W=Parallel resistance\: %sK/W +Serial_resistance\:_%sK_W=Serial resistance\: %sK/W # ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorContainer.java Cable_slot=Cable slot @@ -610,12 +610,12 @@ Set_beacon_name=Set beacon name # ./src/main/java/mods/eln/sixnode/wirelesssignal/rx/WirelessSignalRxGui.java # ./src/main/java/mods/eln/transparentnode/FuelGenerator.kt -Nominal_power\:_%1$_W=Nominal power\: %1$ W -Nominal_voltage\:_%1$_V=Nominal voltage\: %1$ V +Nominal_power\:_%s_W=Nominal power\: %s W +Nominal_voltage\:_%s_V=Nominal voltage\: %s V Produces_electricity_using_fuel.=Produces electricity using fuel. # ./src/main/java/mods/eln/transparentnode/LargeRheostat.kt -Nom._Resistance\:_%1$=Nom. Resistance\: %1$ +Nom._Resistance\:_%s=Nom. Resistance\: %s # ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerContainer.java Drill_slot=Drill slot @@ -637,16 +637,16 @@ Overheating_protection=Overheating protection Overvoltage_protection=Overvoltage protection # ./src/main/java/mods/eln/transparentnode/battery/BatteryDescriptor.java -Actual_charge\:_%1$%=Actual charge\: %1$% -Energy_capacity\:_%1$J=Energy capacity\: %1$J -_charged_at_%1$%=charged at %1$% +Actual_charge\:_%s=Actual charge\: %s +Energy_capacity\:_%sJ=Energy capacity\: %sJ +_charged_at_%s=charged at %s # ./src/main/java/mods/eln/transparentnode/battery/BatteryGuiDraw.java Charge=Charge Charged=Charged Discharge=Discharge Energy\:=Energy\: -Energy\:_%1$=Energy\: %1$ +Energy\:_%s=Energy\: %s Life\:=Life\: No_charge=No charge Power_in\:=Power in\: @@ -659,7 +659,7 @@ Egg_slot=Egg slot Wireless_energy_receiver.=Wireless energy receiver. # ./src/main/java/mods/eln/transparentnode/electricalantennatx/ElectricalAntennaTxDescriptor.java -Efficiency\:_%1$%_up_to_%2$%=Efficiency\: %1$% up to %2$% +Efficiency\:_%s_up_to_%s=Efficiency\: %s up to %s Wireless_energy_transmitter.=Wireless energy transmitter. # ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceContainer.java @@ -671,7 +671,7 @@ Similar_to_a_vanilla_furnace,\nbut_heats_with_electricity.=Similar to a vanilla # ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceGuiDraw.java Auto_shutdown=Auto shutdown Manual_shutdown=Manual shutdown -Set_point\:_%1$°C=Set point\: %1$°C +Set_point\:_%s°C=Set point\: %s°C # ./src/main/java/mods/eln/transparentnode/electricalmachine/ElectricalMachineDescriptor.java Cost=Cost @@ -684,7 +684,7 @@ Fuel_slot=Fuel slot Generates_heat_when_supplied_with_fuel.=Generates heat when supplied with fuel. # ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceGuiDraw.java -Control_gauge_at_%1$%=Control gauge at %1$% +Control_gauge_at_%s=Control gauge at %s Decline_fuel=Decline fuel External_control=External control Internal_control=Internal control @@ -698,27 +698,27 @@ Solar_tracker_slot=Solar tracker slot # ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelDescriptor.java Can_be_geared_towards_the_sun.=Can be geared towards the sun. -Max._power\:_%1$W=Max. power\: %1$W -Max._voltage\:_%1$V=Max. voltage\: %1$V +Max._power\:_%sW=Max. power\: %sW +Max._voltage\:_%sV=Max. voltage\: %sV Produces_power_from_solar_radiation.=Produces power from solar radiation. # ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPannelGuiDraw.java It_is_night=It is night -Solar_panel_angle\:_%1$°=Solar panel angle\: %1$° -Sun_angle\:_%1$°=Sun angle\: %1$° +Solar_panel_angle\:_%s°=Solar panel angle\: %s° +Sun_angle\:_%s°=Sun angle\: %s° # ./src/main/java/mods/eln/transparentnode/teleporter/TeleporterGui.java Destination_transporter=Destination transporter Power_consumption\:=Power consumption\: -Power_consumption\:_%1$W=Power consumption\: %1$W -Required_energy\:_%1$J=Required energy\: %1$J +Power_consumption\:_%sW=Power consumption\: %sW +Required_energy\:_%sJ=Required energy\: %sJ Start=Start Transporter_name=Transporter name # ./src/main/java/mods/eln/transparentnode/thermaldissipatoractive/ThermalDissipatorActiveDescriptor.java -Fan_cooling_power\:_%1$W=Fan cooling power\: %1$W -Fan_power_consumption\:_%1$W=Fan power consumption\: %1$W -Fan_voltage\:_%1$V=Fan voltage\: %1$V +Fan_cooling_power\:_%sW=Fan cooling power\: %sW +Fan_power_consumption\:_%sW=Fan power consumption\: %sW +Fan_voltage\:_%sV=Fan voltage\: %sV # ./src/main/java/mods/eln/transparentnode/transformer/TransformerDescriptor.java The_voltage_ratio_is_proportional\nto_the_cable_stacks_count_ratio.=The voltage ratio is proportional\nto the cable stacks count ratio. @@ -726,13 +726,13 @@ Transforms_an_input_voltage_to\nan_output_voltage.=Transforms an input voltage t # ./src/main/java/mods/eln/transparentnode/turbine/TurbineDescriptor.java Generates_electricity_using_heat.=Generates electricity using heat. -Temperature_difference\:_%1$°C=Temperature difference\: %1$°C +Temperature_difference\:_%s°C=Temperature difference\: %s°C # ./src/main/java/mods/eln/transparentnode/turret/TurretDescriptor.java CAUTION\:_Cables_can_get_quite_hot!=CAUTION\: Cables can get quite hot\! -Laser_charge_power\:_%1$W...%2$kW=Laser charge power\: %1$W...%2$kW +Laser_charge_power\:_%sW...%skW=Laser charge power\: %sW...%skW Scans_for_entities_and_shoots_if_the\nentity_matches_the_configurable_filter_criteria.=Scans for entities and shoots if the\nentity matches the configurable filter criteria. -Standby_power\:_%1$W=Standby power\: %1$W +Standby_power\:_%sW=Standby power\: %sW # ./src/main/java/mods/eln/transparentnode/turret/TurretGui.java Attack\:=Attack\: @@ -744,10 +744,10 @@ Generates_energy_using_water_stream.=Generates energy using water stream. No_place_for_water_turbine!=No place for water turbine\! # ./src/main/java/mods/eln/transparentnode/windturbine/WindTurbineDescriptor.java -Front\:_%1$=Front\: %1$ +Front\:_%s=Front\: %s Generates_energy_from_wind.=Generates energy from wind. -Left_Right\:_%1$=Left/Right\: %1$ -Up_Down\:_%1$=Up/Down\: %1$ +Left_Right\:_%s=Left/Right\: %s +Up_Down\:_%s=Up/Down\: %s Wind_area\:=Wind area\: # ./src/main/java/mods/eln/wiki/Data.java @@ -769,7 +769,7 @@ Previous=Previous # ./src/main/java/mods/eln/wiki/ItemDefault.java Can_be_used_to_craft\:=Can be used to craft\: Cannot_be_crafted!=Cannot be crafted\! -Cost_%1$J=Cost %1$J +Cost_%sJ=Cost %sJ Created_by\:=Created by\: Is_not_a_crafting_material!=Is not a crafting material\! Recipe\:=Recipe\: @@ -777,45 +777,45 @@ Recipe\:=Recipe\: # Appearing in multiple source files (Increases_capacity)=(Increases capacity) (Increases_inductance)=(Increases inductance) -Actual\:_%1$°C=Actual\: %1$°C +Actual\:_%s°C=Actual\: %s°C Biggest=Biggest Booster_slot=Booster slot Can_create\:=Can create\: -Capacity\:_%1$F=Capacity\: %1$F -Charge_power\:_%1$W=Charge power\: %1$W +Capacity\:_%sF=Capacity\: %sF +Charge_power\:_%sW=Charge power\: %sW Connected=Connected -Cooling_power\:_%1$W=Cooling power\: %1$W +Cooling_power\:_%sW=Cooling power\: %sW Copper_cable_slot=Copper cable slot Dielectric_slot=Dielectric slot -Discharge_power\:_%1$W=Discharge power\: %1$W +Discharge_power\:_%sW=Discharge power\: %sW Electrical_cable_slot=Electrical cable slot Entity_filter_slot=Entity filter slot Ferromagnetic_core_slot=Ferromagnetic core slot Has_a_signal_output.=Has a signal output. -Inductance\:_%1$H=Inductance\: %1$H -Internal_resistance\:_%1$Ω=Internal resistance\: %1$Ω +Inductance\:_%sH=Inductance\: %sH +Internal_resistance\:_%sΩ=Internal resistance\: %sΩ Is_off=Is off Is_on=Is on -Max._temperature\:_%1$°C=Max. temperature\: %1$°C +Max._temperature\:_%s°C=Max. temperature\: %s°C Measured_value\ncorresponding\nto_0%_output=Measured value\ncorresponding\nto 0% output Measured_value\ncorresponding\nto_100%_output=Measured value\ncorresponding\nto 100% output Nominal\:=Nominal\: -Nominal_power\:_%1$W=Nominal power\: %1$W +Nominal_power\:_%sW=Nominal power\: %sW Nominal_usage\:=Nominal usage\: -Nominal_voltage\:_%1$V=Nominal voltage\: %1$V +Nominal_voltage\:_%sV=Nominal voltage\: %sV Not_connected=Not connected Not_enough_space_for_this_block=Not enough space for this block Power=Power -Power\:_%1$W=Power\: %1$W -Range\:_%1$_blocks=Range\: %1$ blocks +Power\:_%sW=Power\: %sW +Range\:_%s_blocks=Range\: %s blocks Redstone_slot=Redstone slot Regulator_slot=Regulator slot Reset=Reset -Resistance\:_%1$Ω=Resistance\: %1$Ω +Resistance\:_%sΩ=Resistance\: %sΩ Smallest=Smallest Specify_the_channel=Specify the channel -Stored_energy\:_%1$J_(%2$%)=Stored energy\: %1$J (%2$%) -Temperature\:_%1$°C=Temperature\: %1$°C +Stored_energy\:_%sJ_(%s)=Stored energy\: %sJ (%s) +Temperature\:_%s°C=Temperature\: %s°C Temperature_gauge=Temperature gauge Thermal_isolator_slot=Thermal isolator slot Toggle=Toggle @@ -825,5 +825,5 @@ Used_to_cool_down_turbines.=Used to cool down turbines. Uses_the_biggest\nvalue_on_the_channel.=Uses the biggest\nvalue on the channel. Uses_the_smallest\nvalue_on_the_channel.=Uses the smallest\nvalue on the channel. Validate=Validate -Voltage\:_%1$V=Voltage\: %1$V +Voltage\:_%sV=Voltage\: %sV You_can't_place_this_block_at_this_side=You can't place this block at this side diff --git a/src/main/resources/assets/eln/lang/cs.lang b/src/main/resources/assets/eln/lang/cs.lang index ece4d89b2..0f40df4e5 100644 --- a/src/main/resources/assets/eln/lang/cs.lang +++ b/src/main/resources/assets/eln/lang/cs.lang @@ -287,21 +287,21 @@ tile.eln.EnergyConverterElnToOtherLVUBlock.name=50V Electrical Age to other ener tile.eln.EnergyConverterElnToOtherMVUBlock.name=200V Electrical Age to other energy exporter # ./src/main/java/mods/eln/i18n/I18N.java -You_have_%1$_lives_left=You have %1$ lives left +You_have_%s_lives_left=You have %s lives left # ./src/main/java/mods/eln/item/BrushDescriptor.java Brush_is_dry=Brush is dry -Can_paint_%1$_blocks=Can paint %1$ blocks +Can_paint_%s_blocks=Can paint %s blocks # ./src/main/java/mods/eln/item/CombustionChamber.java Upgrade_for_the_Stone_Heat_Furnace.=Upgrade for the Stone Heat Furnace. # ./src/main/java/mods/eln/item/ElectricalDrillDescriptor.java -Energy_per_operation\:_%1$J=Energy per operation\: %1$J -Time_per_operation\:_%1$s=Time per operation\: %1$s +Energy_per_operation\:_%sJ=Energy per operation\: %sJ +Time_per_operation\:_%ss=Time per operation\: %ss # ./src/main/java/mods/eln/item/FerromagneticCoreDescriptor.java -Cable_loss_factor\:_%1$=Cable loss factor\: %1$ +Cable_loss_factor\:_%s=Cable loss factor\: %s # ./src/main/java/mods/eln/item/HeatingCorpElement.java @@ -311,8 +311,8 @@ Condition\:=Kondice End_of_life=End of life Good=Dobrý New=Nový -Nominal_lifetime\:_%1$h=Nominal lifetime\: %1$h -Technology\:_%1$=Technology\: %1$ +Nominal_lifetime\:_%sh=Nominal lifetime\: %sh +Technology\:_%s=Technology\: %s Used=Použitý # ./src/main/java/mods/eln/item/LampSlot.java @@ -333,7 +333,7 @@ Solar_panel_upgrade=Vylepšení solárního panelu Off=Vypnuto On=Zapnuto State\:=State\: -Stored_Energy\:_%1$J_(%2$%)=Stored Energy\: %1$J (%2$%) +Stored_Energy\:_%sJ_(%s)=Stored Energy\: %sJ (%s) # ./src/main/java/mods/eln/item/regulator/RegulatorSlot.java @@ -346,7 +346,7 @@ mod.name=Electrical Age # ./src/main/java/mods/eln/node/six/SixNodeDescriptor.java # ./src/main/java/mods/eln/simplenode/energyconverter/EnergyConverterElnToOtherGui.java -Input_power_is_limited_to_%1$W=Input power is limited to %1$W +Input_power_is_limited_to_%sW=Input power is limited to %sW # ./src/main/java/mods/eln/sixnode/LogicGate.kt _O\:_= O\: @@ -386,12 +386,12 @@ Switch_is_off=Switch is off Switch_is_on=Switch is on # ./src/main/java/mods/eln/sixnode/electricalcable/ElectricalCableDescriptor.java -A_signal_is_electrical_information\nwhich_must_be_between_0V_and_%1$V=A signal is electrical information\nwhich must be between 0V and %1$V +A_signal_is_electrical_information\nwhich_must_be_between_0V_and_%sV=A signal is electrical information\nwhich must be between 0V and %sV Cable_is_adapted_to_conduct\nelectrical_signals.=Cable is adapted to conduct\nelectrical signals. -Current\:_%1$A=Current\: %1$A +Current\:_%sA=Current\: %sA Not_adapted_to_transport_power.=Not adapted to transport power. Save_usage\:=Save usage\: -Serial_resistance\:_%1$Ω=Serial resistance\: %1$Ω +Serial_resistance\:_%sΩ=Serial resistance\: %sΩ # ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerDescriptor.java It_can_store_up_to_256_points.=It can store up to 256 points. @@ -423,10 +423,10 @@ Output_voltage_increases\nif_a_fire_has_been_detected.=Output voltage increases\ Provides_configurable_signal\nvoltage.=Provides configurable signal\nvoltage. # ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceGui.java -Output_at_%1$%=Output at %1$% +Output_at_%s=Output at %s # ./src/main/java/mods/eln/sixnode/electricallightsensor/ElectricalLightSensorDescriptor.java -0V_at_night,_%1$V_at_noon.=0V at night, %1$V at noon. +0V_at_night,_%sV_at_noon.=0V at night, %sV at noon. Provides_an_electrical_voltage\nin_the_presence_of_light.=Provides an electrical voltage\nin the presence of light. Provides_an_electrical_voltage\nwhich_is_proportional_to\nthe_intensity_of_daylight.=Provides an electrical voltage\nwhich is proportional to\nthe intensity of daylight. @@ -439,7 +439,7 @@ Applicable_mathematical_operators\:=Applicable mathematical operators\: Calculates_an_output_signal_from\n3_inputs_(A,_B,_C)_using_an_equation.=Calculates an output signal from\n3 inputs (A, B, C) using an equation. # ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathGui.java -%1$_Redstone(s)_required=%1$ Redstone(s) required +%s_Redstone(s)_required=%s Redstone(s) required Equation_required!=Equation required\! Inputs_are=Inputs are Invalid_equation!=Invalid equation\! @@ -483,13 +483,13 @@ Displays_the_value_of_a_signal.=Displays the value of a signal. Portable_battery_slot=Portable battery slot # ./src/main/java/mods/eln/sixnode/electricalweathersensor/ElectricalWeatherSensorDescriptor.java -Clear\:_%1$V=Clear\: %1$V +Clear\:_%sV=Clear\: %sV Provides_an_electrical_signal\ndepending_the_actual_weather.=Provides an electrical signal\ndepending the actual weather. -Rain\:_%1$V=Rain\: %1$V -Storm\:_%1$V=Storm\: %1$V +Rain\:_%sV=Rain\: %sV +Storm\:_%sV=Storm\: %sV # ./src/main/java/mods/eln/sixnode/electricalwindsensor/ElectricalWindSensorDescriptor.java -Maximum_wind_speed_is_%1$m_s=Maximum wind speed is %1$m/s +Maximum_wind_speed_is_%sm_s=Maximum wind speed is %sm/s Provides_an_electrical_signal\ndependant_on_wind_speed.=Provides an electrical signal\ndependant on wind speed. You_can't_place_this_block_on_the_floor_or_the_ceiling=You can't place this block on the floor or the ceiling @@ -508,7 +508,7 @@ Voltage=Voltage Change_password=Change password Counter_Mode=Counter Mode Counts_the_energy_conducted_from\n\u00a74red\u00a7f_to_\u00a71blue\u00a7f.=Counts the energy conducted from\n\\u00a74red\\u00a7f to \\u00a71blue\\u00a7f. -Energy_counter\:_%1$J=Energy counter\: %1$J +Energy_counter\:_%sJ=Energy counter\: %sJ Enter_new_energy=Enter new energy Enter_password=Vložte heslo Prepay_Mode=Prepay Mode @@ -529,13 +529,13 @@ Provides_a_zero_volt_reference.=Provides a zero volt reference. Allows_crossing_cables\non_one_single_block.=Allows crossing cables\non one single block. # ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketDescriptor.java -Angle\:_%1$°_to_%2$°=Angle\: %1$° to %2$° -Spot_range\:_%1$_blocks=Spot range\: %1$ blocks +Angle\:_%s°_to_%s°=Angle\: %s° to %s° +Spot_range\:_%s_blocks=Spot range\: %s blocks # ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketGuiDraw.java -%1$_is_not_in_range!=%1$ is not in range\! +%s_is_not_in_range!=%s is not in range\! Cable_slot_empty=Cable slot empty -Orientation\:_%1$°=Orientation\: %1$° +Orientation\:_%s°=Orientation\: %s° Parallel=Paralelní Powered_by_Lamp_Supply=Powered by Lamp Supply Powered_by_cable=Powered by cable @@ -584,8 +584,8 @@ Coal_dust_slot=Coal dust slot # ./src/main/java/mods/eln/sixnode/thermalcable/ThermalCableDescriptor.java High_parallel_resistance\n_\=>_Low_power_dissipation.=High parallel resistance\n \=> Low power dissipation. Low_serial_resistance\n_\=>_High_conductivity.=Low serial resistance\n \=> High conductivity. -Parallel_resistance\:_%1$K_W=Parallel resistance\: %1$K/W -Serial_resistance\:_%1$K_W=Serial resistance\: %1$K/W +Parallel_resistance\:_%sK_W=Parallel resistance\: %sK/W +Serial_resistance\:_%sK_W=Serial resistance\: %sK/W # ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorContainer.java Cable_slot=Cable slot @@ -610,12 +610,12 @@ Set_beacon_name=Set beacon name # ./src/main/java/mods/eln/sixnode/wirelesssignal/rx/WirelessSignalRxGui.java # ./src/main/java/mods/eln/transparentnode/FuelGenerator.kt -Nominal_power\:_%1$_W=Nominal power\: %1$ W -Nominal_voltage\:_%1$_V=Nominal voltage\: %1$ V +Nominal_power\:_%s_W=Nominal power\: %s W +Nominal_voltage\:_%s_V=Nominal voltage\: %s V Produces_electricity_using_fuel.=Produces electricity using fuel. # ./src/main/java/mods/eln/transparentnode/LargeRheostat.kt -Nom._Resistance\:_%1$=Nom. Resistance\: %1$ +Nom._Resistance\:_%s=Nom. Resistance\: %s # ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerContainer.java Drill_slot=Drill slot @@ -637,16 +637,16 @@ Overheating_protection=Overheating protection Overvoltage_protection=Overvoltage protection # ./src/main/java/mods/eln/transparentnode/battery/BatteryDescriptor.java -Actual_charge\:_%1$%=Actual charge\: %1$% -Energy_capacity\:_%1$J=Energy capacity\: %1$J -_charged_at_%1$%=charged at %1$% +Actual_charge\:_%s=Actual charge\: %s +Energy_capacity\:_%sJ=Energy capacity\: %sJ +_charged_at_%s=charged at %s # ./src/main/java/mods/eln/transparentnode/battery/BatteryGuiDraw.java Charge=Charge Charged=Charged Discharge=Discharge Energy\:=Energy\: -Energy\:_%1$=Energy\: %1$ +Energy\:_%s=Energy\: %s Life\:=Life\: No_charge=No charge Power_in\:=Power in\: @@ -659,7 +659,7 @@ Egg_slot=Egg slot Wireless_energy_receiver.=Wireless energy receiver. # ./src/main/java/mods/eln/transparentnode/electricalantennatx/ElectricalAntennaTxDescriptor.java -Efficiency\:_%1$%_up_to_%2$%=Efficiency\: %1$% up to %2$% +Efficiency\:_%s_up_to_%s=Efficiency\: %s up to %s Wireless_energy_transmitter.=Wireless energy transmitter. # ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceContainer.java @@ -671,7 +671,7 @@ Similar_to_a_vanilla_furnace,\nbut_heats_with_electricity.=Similar to a vanilla # ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceGuiDraw.java Auto_shutdown=Auto shutdown Manual_shutdown=Manual shutdown -Set_point\:_%1$°C=Set point\: %1$°C +Set_point\:_%s°C=Set point\: %s°C # ./src/main/java/mods/eln/transparentnode/electricalmachine/ElectricalMachineDescriptor.java Cost=Cost @@ -684,7 +684,7 @@ Fuel_slot=Fuel slot Generates_heat_when_supplied_with_fuel.=Generates heat when supplied with fuel. # ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceGuiDraw.java -Control_gauge_at_%1$%=Control gauge at %1$% +Control_gauge_at_%s=Control gauge at %s Decline_fuel=Decline fuel External_control=External control Internal_control=Internal control @@ -698,27 +698,27 @@ Solar_tracker_slot=Solar tracker slot # ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelDescriptor.java Can_be_geared_towards_the_sun.=Can be geared towards the sun. -Max._power\:_%1$W=Max. power\: %1$W -Max._voltage\:_%1$V=Max. voltage\: %1$V +Max._power\:_%sW=Max. power\: %sW +Max._voltage\:_%sV=Max. voltage\: %sV Produces_power_from_solar_radiation.=Produces power from solar radiation. # ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPannelGuiDraw.java It_is_night=It is night -Solar_panel_angle\:_%1$°=Solar panel angle\: %1$° -Sun_angle\:_%1$°=Sun angle\: %1$° +Solar_panel_angle\:_%s°=Solar panel angle\: %s° +Sun_angle\:_%s°=Sun angle\: %s° # ./src/main/java/mods/eln/transparentnode/teleporter/TeleporterGui.java Destination_transporter=Destination transporter Power_consumption\:=Power consumption\: -Power_consumption\:_%1$W=Power consumption\: %1$W -Required_energy\:_%1$J=Required energy\: %1$J +Power_consumption\:_%sW=Power consumption\: %sW +Required_energy\:_%sJ=Required energy\: %sJ Start=Start Transporter_name=Transporter name # ./src/main/java/mods/eln/transparentnode/thermaldissipatoractive/ThermalDissipatorActiveDescriptor.java -Fan_cooling_power\:_%1$W=Fan cooling power\: %1$W -Fan_power_consumption\:_%1$W=Fan power consumption\: %1$W -Fan_voltage\:_%1$V=Fan voltage\: %1$V +Fan_cooling_power\:_%sW=Fan cooling power\: %sW +Fan_power_consumption\:_%sW=Fan power consumption\: %sW +Fan_voltage\:_%sV=Fan voltage\: %sV # ./src/main/java/mods/eln/transparentnode/transformer/TransformerDescriptor.java The_voltage_ratio_is_proportional\nto_the_cable_stacks_count_ratio.=The voltage ratio is proportional\nto the cable stacks count ratio. @@ -726,13 +726,13 @@ Transforms_an_input_voltage_to\nan_output_voltage.=Transforms an input voltage t # ./src/main/java/mods/eln/transparentnode/turbine/TurbineDescriptor.java Generates_electricity_using_heat.=Generates electricity using heat. -Temperature_difference\:_%1$°C=Temperature difference\: %1$°C +Temperature_difference\:_%s°C=Temperature difference\: %s°C # ./src/main/java/mods/eln/transparentnode/turret/TurretDescriptor.java CAUTION\:_Cables_can_get_quite_hot!=CAUTION\: Cables can get quite hot\! -Laser_charge_power\:_%1$W...%2$kW=Laser charge power\: %1$W...%2$kW +Laser_charge_power\:_%sW...%skW=Laser charge power\: %sW...%skW Scans_for_entities_and_shoots_if_the\nentity_matches_the_configurable_filter_criteria.=Scans for entities and shoots if the\nentity matches the configurable filter criteria. -Standby_power\:_%1$W=Standby power\: %1$W +Standby_power\:_%sW=Standby power\: %sW # ./src/main/java/mods/eln/transparentnode/turret/TurretGui.java Attack\:=Attack\: @@ -744,10 +744,10 @@ Generates_energy_using_water_stream.=Generates energy using water stream. No_place_for_water_turbine!=No place for water turbine\! # ./src/main/java/mods/eln/transparentnode/windturbine/WindTurbineDescriptor.java -Front\:_%1$=Front\: %1$ +Front\:_%s=Front\: %s Generates_energy_from_wind.=Generates energy from wind. -Left_Right\:_%1$=Left/Right\: %1$ -Up_Down\:_%1$=Up/Down\: %1$ +Left_Right\:_%s=Left/Right\: %s +Up_Down\:_%s=Up/Down\: %s Wind_area\:=Wind area\: # ./src/main/java/mods/eln/wiki/Data.java @@ -769,7 +769,7 @@ Previous=Previous # ./src/main/java/mods/eln/wiki/ItemDefault.java Can_be_used_to_craft\:=Can be used to craft\: Cannot_be_crafted!=Cannot be crafted\! -Cost_%1$J=Cost %1$J +Cost_%sJ=Cost %sJ Created_by\:=Created by\: Is_not_a_crafting_material!=Is not a crafting material\! Recipe\:=Recipe\: @@ -777,45 +777,45 @@ Recipe\:=Recipe\: # Appearing in multiple source files (Increases_capacity)=(Increases capacity) (Increases_inductance)=(Increases inductance) -Actual\:_%1$°C=Actual\: %1$°C +Actual\:_%s°C=Actual\: %s°C Biggest=Biggest Booster_slot=Booster slot Can_create\:=Can create\: -Capacity\:_%1$F=Capacity\: %1$F -Charge_power\:_%1$W=Charge power\: %1$W +Capacity\:_%sF=Capacity\: %sF +Charge_power\:_%sW=Charge power\: %sW Connected=Connected -Cooling_power\:_%1$W=Cooling power\: %1$W +Cooling_power\:_%sW=Cooling power\: %sW Copper_cable_slot=Copper cable slot Dielectric_slot=Dielectric slot -Discharge_power\:_%1$W=Discharge power\: %1$W +Discharge_power\:_%sW=Discharge power\: %sW Electrical_cable_slot=Electrical cable slot Entity_filter_slot=Entity filter slot Ferromagnetic_core_slot=Ferromagnetic core slot Has_a_signal_output.=Has a signal output. -Inductance\:_%1$H=Inductance\: %1$H -Internal_resistance\:_%1$Ω=Internal resistance\: %1$Ω +Inductance\:_%sH=Inductance\: %sH +Internal_resistance\:_%sΩ=Internal resistance\: %sΩ Is_off=Is off Is_on=Is on -Max._temperature\:_%1$°C=Max. temperature\: %1$°C +Max._temperature\:_%s°C=Max. temperature\: %s°C Measured_value\ncorresponding\nto_0%_output=Measured value\ncorresponding\nto 0% output Measured_value\ncorresponding\nto_100%_output=Measured value\ncorresponding\nto 100% output Nominal\:=Nominal\: -Nominal_power\:_%1$W=Nominal power\: %1$W +Nominal_power\:_%sW=Nominal power\: %sW Nominal_usage\:=Nominal usage\: -Nominal_voltage\:_%1$V=Nominal voltage\: %1$V +Nominal_voltage\:_%sV=Nominal voltage\: %sV Not_connected=Nepřipojeno Not_enough_space_for_this_block=Not enough space for this block Power=Power -Power\:_%1$W=Power\: %1$W -Range\:_%1$_blocks=Range\: %1$ blocks +Power\:_%sW=Power\: %sW +Range\:_%s_blocks=Range\: %s blocks Redstone_slot=Redstone slot Regulator_slot=Regulator slot Reset=Reset -Resistance\:_%1$Ω=Resistance\: %1$Ω +Resistance\:_%sΩ=Resistance\: %sΩ Smallest=Smallest Specify_the_channel=Specify the channel -Stored_energy\:_%1$J_(%2$%)=Stored energy\: %1$J (%2$%) -Temperature\:_%1$°C=Temperature\: %1$°C +Stored_energy\:_%sJ_(%s)=Stored energy\: %sJ (%s) +Temperature\:_%s°C=Temperature\: %s°C Temperature_gauge=Temperature gauge Thermal_isolator_slot=Thermal isolator slot Toggle=Toggle @@ -825,5 +825,5 @@ Used_to_cool_down_turbines.=Used to cool down turbines. Uses_the_biggest\nvalue_on_the_channel.=Uses the biggest\nvalue on the channel. Uses_the_smallest\nvalue_on_the_channel.=Uses the smallest\nvalue on the channel. Validate=Validate -Voltage\:_%1$V=Voltage\: %1$V +Voltage\:_%sV=Voltage\: %sV You_can't_place_this_block_at_this_side=You can't place this block at this side diff --git a/src/main/resources/assets/eln/lang/cs_CZ.lang b/src/main/resources/assets/eln/lang/cs_CZ.lang index ece4d89b2..0f40df4e5 100644 --- a/src/main/resources/assets/eln/lang/cs_CZ.lang +++ b/src/main/resources/assets/eln/lang/cs_CZ.lang @@ -287,21 +287,21 @@ tile.eln.EnergyConverterElnToOtherLVUBlock.name=50V Electrical Age to other ener tile.eln.EnergyConverterElnToOtherMVUBlock.name=200V Electrical Age to other energy exporter # ./src/main/java/mods/eln/i18n/I18N.java -You_have_%1$_lives_left=You have %1$ lives left +You_have_%s_lives_left=You have %s lives left # ./src/main/java/mods/eln/item/BrushDescriptor.java Brush_is_dry=Brush is dry -Can_paint_%1$_blocks=Can paint %1$ blocks +Can_paint_%s_blocks=Can paint %s blocks # ./src/main/java/mods/eln/item/CombustionChamber.java Upgrade_for_the_Stone_Heat_Furnace.=Upgrade for the Stone Heat Furnace. # ./src/main/java/mods/eln/item/ElectricalDrillDescriptor.java -Energy_per_operation\:_%1$J=Energy per operation\: %1$J -Time_per_operation\:_%1$s=Time per operation\: %1$s +Energy_per_operation\:_%sJ=Energy per operation\: %sJ +Time_per_operation\:_%ss=Time per operation\: %ss # ./src/main/java/mods/eln/item/FerromagneticCoreDescriptor.java -Cable_loss_factor\:_%1$=Cable loss factor\: %1$ +Cable_loss_factor\:_%s=Cable loss factor\: %s # ./src/main/java/mods/eln/item/HeatingCorpElement.java @@ -311,8 +311,8 @@ Condition\:=Kondice End_of_life=End of life Good=Dobrý New=Nový -Nominal_lifetime\:_%1$h=Nominal lifetime\: %1$h -Technology\:_%1$=Technology\: %1$ +Nominal_lifetime\:_%sh=Nominal lifetime\: %sh +Technology\:_%s=Technology\: %s Used=Použitý # ./src/main/java/mods/eln/item/LampSlot.java @@ -333,7 +333,7 @@ Solar_panel_upgrade=Vylepšení solárního panelu Off=Vypnuto On=Zapnuto State\:=State\: -Stored_Energy\:_%1$J_(%2$%)=Stored Energy\: %1$J (%2$%) +Stored_Energy\:_%sJ_(%s)=Stored Energy\: %sJ (%s) # ./src/main/java/mods/eln/item/regulator/RegulatorSlot.java @@ -346,7 +346,7 @@ mod.name=Electrical Age # ./src/main/java/mods/eln/node/six/SixNodeDescriptor.java # ./src/main/java/mods/eln/simplenode/energyconverter/EnergyConverterElnToOtherGui.java -Input_power_is_limited_to_%1$W=Input power is limited to %1$W +Input_power_is_limited_to_%sW=Input power is limited to %sW # ./src/main/java/mods/eln/sixnode/LogicGate.kt _O\:_= O\: @@ -386,12 +386,12 @@ Switch_is_off=Switch is off Switch_is_on=Switch is on # ./src/main/java/mods/eln/sixnode/electricalcable/ElectricalCableDescriptor.java -A_signal_is_electrical_information\nwhich_must_be_between_0V_and_%1$V=A signal is electrical information\nwhich must be between 0V and %1$V +A_signal_is_electrical_information\nwhich_must_be_between_0V_and_%sV=A signal is electrical information\nwhich must be between 0V and %sV Cable_is_adapted_to_conduct\nelectrical_signals.=Cable is adapted to conduct\nelectrical signals. -Current\:_%1$A=Current\: %1$A +Current\:_%sA=Current\: %sA Not_adapted_to_transport_power.=Not adapted to transport power. Save_usage\:=Save usage\: -Serial_resistance\:_%1$Ω=Serial resistance\: %1$Ω +Serial_resistance\:_%sΩ=Serial resistance\: %sΩ # ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerDescriptor.java It_can_store_up_to_256_points.=It can store up to 256 points. @@ -423,10 +423,10 @@ Output_voltage_increases\nif_a_fire_has_been_detected.=Output voltage increases\ Provides_configurable_signal\nvoltage.=Provides configurable signal\nvoltage. # ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceGui.java -Output_at_%1$%=Output at %1$% +Output_at_%s=Output at %s # ./src/main/java/mods/eln/sixnode/electricallightsensor/ElectricalLightSensorDescriptor.java -0V_at_night,_%1$V_at_noon.=0V at night, %1$V at noon. +0V_at_night,_%sV_at_noon.=0V at night, %sV at noon. Provides_an_electrical_voltage\nin_the_presence_of_light.=Provides an electrical voltage\nin the presence of light. Provides_an_electrical_voltage\nwhich_is_proportional_to\nthe_intensity_of_daylight.=Provides an electrical voltage\nwhich is proportional to\nthe intensity of daylight. @@ -439,7 +439,7 @@ Applicable_mathematical_operators\:=Applicable mathematical operators\: Calculates_an_output_signal_from\n3_inputs_(A,_B,_C)_using_an_equation.=Calculates an output signal from\n3 inputs (A, B, C) using an equation. # ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathGui.java -%1$_Redstone(s)_required=%1$ Redstone(s) required +%s_Redstone(s)_required=%s Redstone(s) required Equation_required!=Equation required\! Inputs_are=Inputs are Invalid_equation!=Invalid equation\! @@ -483,13 +483,13 @@ Displays_the_value_of_a_signal.=Displays the value of a signal. Portable_battery_slot=Portable battery slot # ./src/main/java/mods/eln/sixnode/electricalweathersensor/ElectricalWeatherSensorDescriptor.java -Clear\:_%1$V=Clear\: %1$V +Clear\:_%sV=Clear\: %sV Provides_an_electrical_signal\ndepending_the_actual_weather.=Provides an electrical signal\ndepending the actual weather. -Rain\:_%1$V=Rain\: %1$V -Storm\:_%1$V=Storm\: %1$V +Rain\:_%sV=Rain\: %sV +Storm\:_%sV=Storm\: %sV # ./src/main/java/mods/eln/sixnode/electricalwindsensor/ElectricalWindSensorDescriptor.java -Maximum_wind_speed_is_%1$m_s=Maximum wind speed is %1$m/s +Maximum_wind_speed_is_%sm_s=Maximum wind speed is %sm/s Provides_an_electrical_signal\ndependant_on_wind_speed.=Provides an electrical signal\ndependant on wind speed. You_can't_place_this_block_on_the_floor_or_the_ceiling=You can't place this block on the floor or the ceiling @@ -508,7 +508,7 @@ Voltage=Voltage Change_password=Change password Counter_Mode=Counter Mode Counts_the_energy_conducted_from\n\u00a74red\u00a7f_to_\u00a71blue\u00a7f.=Counts the energy conducted from\n\\u00a74red\\u00a7f to \\u00a71blue\\u00a7f. -Energy_counter\:_%1$J=Energy counter\: %1$J +Energy_counter\:_%sJ=Energy counter\: %sJ Enter_new_energy=Enter new energy Enter_password=Vložte heslo Prepay_Mode=Prepay Mode @@ -529,13 +529,13 @@ Provides_a_zero_volt_reference.=Provides a zero volt reference. Allows_crossing_cables\non_one_single_block.=Allows crossing cables\non one single block. # ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketDescriptor.java -Angle\:_%1$°_to_%2$°=Angle\: %1$° to %2$° -Spot_range\:_%1$_blocks=Spot range\: %1$ blocks +Angle\:_%s°_to_%s°=Angle\: %s° to %s° +Spot_range\:_%s_blocks=Spot range\: %s blocks # ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketGuiDraw.java -%1$_is_not_in_range!=%1$ is not in range\! +%s_is_not_in_range!=%s is not in range\! Cable_slot_empty=Cable slot empty -Orientation\:_%1$°=Orientation\: %1$° +Orientation\:_%s°=Orientation\: %s° Parallel=Paralelní Powered_by_Lamp_Supply=Powered by Lamp Supply Powered_by_cable=Powered by cable @@ -584,8 +584,8 @@ Coal_dust_slot=Coal dust slot # ./src/main/java/mods/eln/sixnode/thermalcable/ThermalCableDescriptor.java High_parallel_resistance\n_\=>_Low_power_dissipation.=High parallel resistance\n \=> Low power dissipation. Low_serial_resistance\n_\=>_High_conductivity.=Low serial resistance\n \=> High conductivity. -Parallel_resistance\:_%1$K_W=Parallel resistance\: %1$K/W -Serial_resistance\:_%1$K_W=Serial resistance\: %1$K/W +Parallel_resistance\:_%sK_W=Parallel resistance\: %sK/W +Serial_resistance\:_%sK_W=Serial resistance\: %sK/W # ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorContainer.java Cable_slot=Cable slot @@ -610,12 +610,12 @@ Set_beacon_name=Set beacon name # ./src/main/java/mods/eln/sixnode/wirelesssignal/rx/WirelessSignalRxGui.java # ./src/main/java/mods/eln/transparentnode/FuelGenerator.kt -Nominal_power\:_%1$_W=Nominal power\: %1$ W -Nominal_voltage\:_%1$_V=Nominal voltage\: %1$ V +Nominal_power\:_%s_W=Nominal power\: %s W +Nominal_voltage\:_%s_V=Nominal voltage\: %s V Produces_electricity_using_fuel.=Produces electricity using fuel. # ./src/main/java/mods/eln/transparentnode/LargeRheostat.kt -Nom._Resistance\:_%1$=Nom. Resistance\: %1$ +Nom._Resistance\:_%s=Nom. Resistance\: %s # ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerContainer.java Drill_slot=Drill slot @@ -637,16 +637,16 @@ Overheating_protection=Overheating protection Overvoltage_protection=Overvoltage protection # ./src/main/java/mods/eln/transparentnode/battery/BatteryDescriptor.java -Actual_charge\:_%1$%=Actual charge\: %1$% -Energy_capacity\:_%1$J=Energy capacity\: %1$J -_charged_at_%1$%=charged at %1$% +Actual_charge\:_%s=Actual charge\: %s +Energy_capacity\:_%sJ=Energy capacity\: %sJ +_charged_at_%s=charged at %s # ./src/main/java/mods/eln/transparentnode/battery/BatteryGuiDraw.java Charge=Charge Charged=Charged Discharge=Discharge Energy\:=Energy\: -Energy\:_%1$=Energy\: %1$ +Energy\:_%s=Energy\: %s Life\:=Life\: No_charge=No charge Power_in\:=Power in\: @@ -659,7 +659,7 @@ Egg_slot=Egg slot Wireless_energy_receiver.=Wireless energy receiver. # ./src/main/java/mods/eln/transparentnode/electricalantennatx/ElectricalAntennaTxDescriptor.java -Efficiency\:_%1$%_up_to_%2$%=Efficiency\: %1$% up to %2$% +Efficiency\:_%s_up_to_%s=Efficiency\: %s up to %s Wireless_energy_transmitter.=Wireless energy transmitter. # ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceContainer.java @@ -671,7 +671,7 @@ Similar_to_a_vanilla_furnace,\nbut_heats_with_electricity.=Similar to a vanilla # ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceGuiDraw.java Auto_shutdown=Auto shutdown Manual_shutdown=Manual shutdown -Set_point\:_%1$°C=Set point\: %1$°C +Set_point\:_%s°C=Set point\: %s°C # ./src/main/java/mods/eln/transparentnode/electricalmachine/ElectricalMachineDescriptor.java Cost=Cost @@ -684,7 +684,7 @@ Fuel_slot=Fuel slot Generates_heat_when_supplied_with_fuel.=Generates heat when supplied with fuel. # ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceGuiDraw.java -Control_gauge_at_%1$%=Control gauge at %1$% +Control_gauge_at_%s=Control gauge at %s Decline_fuel=Decline fuel External_control=External control Internal_control=Internal control @@ -698,27 +698,27 @@ Solar_tracker_slot=Solar tracker slot # ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelDescriptor.java Can_be_geared_towards_the_sun.=Can be geared towards the sun. -Max._power\:_%1$W=Max. power\: %1$W -Max._voltage\:_%1$V=Max. voltage\: %1$V +Max._power\:_%sW=Max. power\: %sW +Max._voltage\:_%sV=Max. voltage\: %sV Produces_power_from_solar_radiation.=Produces power from solar radiation. # ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPannelGuiDraw.java It_is_night=It is night -Solar_panel_angle\:_%1$°=Solar panel angle\: %1$° -Sun_angle\:_%1$°=Sun angle\: %1$° +Solar_panel_angle\:_%s°=Solar panel angle\: %s° +Sun_angle\:_%s°=Sun angle\: %s° # ./src/main/java/mods/eln/transparentnode/teleporter/TeleporterGui.java Destination_transporter=Destination transporter Power_consumption\:=Power consumption\: -Power_consumption\:_%1$W=Power consumption\: %1$W -Required_energy\:_%1$J=Required energy\: %1$J +Power_consumption\:_%sW=Power consumption\: %sW +Required_energy\:_%sJ=Required energy\: %sJ Start=Start Transporter_name=Transporter name # ./src/main/java/mods/eln/transparentnode/thermaldissipatoractive/ThermalDissipatorActiveDescriptor.java -Fan_cooling_power\:_%1$W=Fan cooling power\: %1$W -Fan_power_consumption\:_%1$W=Fan power consumption\: %1$W -Fan_voltage\:_%1$V=Fan voltage\: %1$V +Fan_cooling_power\:_%sW=Fan cooling power\: %sW +Fan_power_consumption\:_%sW=Fan power consumption\: %sW +Fan_voltage\:_%sV=Fan voltage\: %sV # ./src/main/java/mods/eln/transparentnode/transformer/TransformerDescriptor.java The_voltage_ratio_is_proportional\nto_the_cable_stacks_count_ratio.=The voltage ratio is proportional\nto the cable stacks count ratio. @@ -726,13 +726,13 @@ Transforms_an_input_voltage_to\nan_output_voltage.=Transforms an input voltage t # ./src/main/java/mods/eln/transparentnode/turbine/TurbineDescriptor.java Generates_electricity_using_heat.=Generates electricity using heat. -Temperature_difference\:_%1$°C=Temperature difference\: %1$°C +Temperature_difference\:_%s°C=Temperature difference\: %s°C # ./src/main/java/mods/eln/transparentnode/turret/TurretDescriptor.java CAUTION\:_Cables_can_get_quite_hot!=CAUTION\: Cables can get quite hot\! -Laser_charge_power\:_%1$W...%2$kW=Laser charge power\: %1$W...%2$kW +Laser_charge_power\:_%sW...%skW=Laser charge power\: %sW...%skW Scans_for_entities_and_shoots_if_the\nentity_matches_the_configurable_filter_criteria.=Scans for entities and shoots if the\nentity matches the configurable filter criteria. -Standby_power\:_%1$W=Standby power\: %1$W +Standby_power\:_%sW=Standby power\: %sW # ./src/main/java/mods/eln/transparentnode/turret/TurretGui.java Attack\:=Attack\: @@ -744,10 +744,10 @@ Generates_energy_using_water_stream.=Generates energy using water stream. No_place_for_water_turbine!=No place for water turbine\! # ./src/main/java/mods/eln/transparentnode/windturbine/WindTurbineDescriptor.java -Front\:_%1$=Front\: %1$ +Front\:_%s=Front\: %s Generates_energy_from_wind.=Generates energy from wind. -Left_Right\:_%1$=Left/Right\: %1$ -Up_Down\:_%1$=Up/Down\: %1$ +Left_Right\:_%s=Left/Right\: %s +Up_Down\:_%s=Up/Down\: %s Wind_area\:=Wind area\: # ./src/main/java/mods/eln/wiki/Data.java @@ -769,7 +769,7 @@ Previous=Previous # ./src/main/java/mods/eln/wiki/ItemDefault.java Can_be_used_to_craft\:=Can be used to craft\: Cannot_be_crafted!=Cannot be crafted\! -Cost_%1$J=Cost %1$J +Cost_%sJ=Cost %sJ Created_by\:=Created by\: Is_not_a_crafting_material!=Is not a crafting material\! Recipe\:=Recipe\: @@ -777,45 +777,45 @@ Recipe\:=Recipe\: # Appearing in multiple source files (Increases_capacity)=(Increases capacity) (Increases_inductance)=(Increases inductance) -Actual\:_%1$°C=Actual\: %1$°C +Actual\:_%s°C=Actual\: %s°C Biggest=Biggest Booster_slot=Booster slot Can_create\:=Can create\: -Capacity\:_%1$F=Capacity\: %1$F -Charge_power\:_%1$W=Charge power\: %1$W +Capacity\:_%sF=Capacity\: %sF +Charge_power\:_%sW=Charge power\: %sW Connected=Connected -Cooling_power\:_%1$W=Cooling power\: %1$W +Cooling_power\:_%sW=Cooling power\: %sW Copper_cable_slot=Copper cable slot Dielectric_slot=Dielectric slot -Discharge_power\:_%1$W=Discharge power\: %1$W +Discharge_power\:_%sW=Discharge power\: %sW Electrical_cable_slot=Electrical cable slot Entity_filter_slot=Entity filter slot Ferromagnetic_core_slot=Ferromagnetic core slot Has_a_signal_output.=Has a signal output. -Inductance\:_%1$H=Inductance\: %1$H -Internal_resistance\:_%1$Ω=Internal resistance\: %1$Ω +Inductance\:_%sH=Inductance\: %sH +Internal_resistance\:_%sΩ=Internal resistance\: %sΩ Is_off=Is off Is_on=Is on -Max._temperature\:_%1$°C=Max. temperature\: %1$°C +Max._temperature\:_%s°C=Max. temperature\: %s°C Measured_value\ncorresponding\nto_0%_output=Measured value\ncorresponding\nto 0% output Measured_value\ncorresponding\nto_100%_output=Measured value\ncorresponding\nto 100% output Nominal\:=Nominal\: -Nominal_power\:_%1$W=Nominal power\: %1$W +Nominal_power\:_%sW=Nominal power\: %sW Nominal_usage\:=Nominal usage\: -Nominal_voltage\:_%1$V=Nominal voltage\: %1$V +Nominal_voltage\:_%sV=Nominal voltage\: %sV Not_connected=Nepřipojeno Not_enough_space_for_this_block=Not enough space for this block Power=Power -Power\:_%1$W=Power\: %1$W -Range\:_%1$_blocks=Range\: %1$ blocks +Power\:_%sW=Power\: %sW +Range\:_%s_blocks=Range\: %s blocks Redstone_slot=Redstone slot Regulator_slot=Regulator slot Reset=Reset -Resistance\:_%1$Ω=Resistance\: %1$Ω +Resistance\:_%sΩ=Resistance\: %sΩ Smallest=Smallest Specify_the_channel=Specify the channel -Stored_energy\:_%1$J_(%2$%)=Stored energy\: %1$J (%2$%) -Temperature\:_%1$°C=Temperature\: %1$°C +Stored_energy\:_%sJ_(%s)=Stored energy\: %sJ (%s) +Temperature\:_%s°C=Temperature\: %s°C Temperature_gauge=Temperature gauge Thermal_isolator_slot=Thermal isolator slot Toggle=Toggle @@ -825,5 +825,5 @@ Used_to_cool_down_turbines.=Used to cool down turbines. Uses_the_biggest\nvalue_on_the_channel.=Uses the biggest\nvalue on the channel. Uses_the_smallest\nvalue_on_the_channel.=Uses the smallest\nvalue on the channel. Validate=Validate -Voltage\:_%1$V=Voltage\: %1$V +Voltage\:_%sV=Voltage\: %sV You_can't_place_this_block_at_this_side=You can't place this block at this side diff --git a/src/main/resources/assets/eln/lang/de.lang b/src/main/resources/assets/eln/lang/de.lang index 66220fd49..23f907718 100644 --- a/src/main/resources/assets/eln/lang/de.lang +++ b/src/main/resources/assets/eln/lang/de.lang @@ -287,21 +287,21 @@ tile.eln.EnergyConverterElnToOtherLVUBlock.name=50V Electrical Age Energie-Expor tile.eln.EnergyConverterElnToOtherMVUBlock.name=200V Electrical Age Energie-Exporter # ./src/main/java/mods/eln/i18n/I18N.java -You_have_%1$_lives_left=Ihnen bleibt %1$ Leben +You_have_%s_lives_left=Ihnen bleibt %s Leben # ./src/main/java/mods/eln/item/BrushDescriptor.java Brush_is_dry=Pinsel ist trocken -Can_paint_%1$_blocks=Kann %1$ Blöcke einfärben +Can_paint_%s_blocks=Kann %s Blöcke einfärben # ./src/main/java/mods/eln/item/CombustionChamber.java Upgrade_for_the_Stone_Heat_Furnace.=Verbesserung für den Steinofen # ./src/main/java/mods/eln/item/ElectricalDrillDescriptor.java -Energy_per_operation\:_%1$J=Energie pro Operation\: %1$J -Time_per_operation\:_%1$s=Zeit pro Operation\: %1$s +Energy_per_operation\:_%sJ=Energie pro Operation\: %sJ +Time_per_operation\:_%ss=Zeit pro Operation\: %ss # ./src/main/java/mods/eln/item/FerromagneticCoreDescriptor.java -Cable_loss_factor\:_%1$=Verlustfaktor\: %1$ +Cable_loss_factor\:_%s=Verlustfaktor\: %s # ./src/main/java/mods/eln/item/HeatingCorpElement.java @@ -311,8 +311,8 @@ Condition\:=Zustand\: End_of_life=Lebensende Good=Gut New=Neu -Nominal_lifetime\:_%1$h=Normale Lebensdauer\: %1$h -Technology\:_%1$=Technonogie\: %1$ +Nominal_lifetime\:_%sh=Normale Lebensdauer\: %sh +Technology\:_%s=Technonogie\: %s Used=Gebraucht # ./src/main/java/mods/eln/item/LampSlot.java @@ -333,7 +333,7 @@ Solar_panel_upgrade=Solarpanelerweiterung Off=aus On=ein State\:=Zustand\: -Stored_Energy\:_%1$J_(%2$%)=Gespeicherte Energy %1$J (%2$%) +Stored_Energy\:_%sJ_(%s)=Gespeicherte Energy %sJ (%s) # ./src/main/java/mods/eln/item/regulator/RegulatorSlot.java @@ -346,7 +346,7 @@ mod.name=Electrical Age # ./src/main/java/mods/eln/node/six/SixNodeDescriptor.java # ./src/main/java/mods/eln/simplenode/energyconverter/EnergyConverterElnToOtherGui.java -Input_power_is_limited_to_%1$W=Eingangsleistung ist auf %1$W limitiert +Input_power_is_limited_to_%sW=Eingangsleistung ist auf %sW limitiert # ./src/main/java/mods/eln/sixnode/LogicGate.kt _O\:_= O\: @@ -386,12 +386,12 @@ Switch_is_off=Schalter is aus Switch_is_on=Schalter ist ein # ./src/main/java/mods/eln/sixnode/electricalcable/ElectricalCableDescriptor.java -A_signal_is_electrical_information\nwhich_must_be_between_0V_and_%1$V=Ein Signal ist eine elektrische information\nwelche zwischen 0V und %1$V kodiert ist +A_signal_is_electrical_information\nwhich_must_be_between_0V_and_%sV=Ein Signal ist eine elektrische information\nwelche zwischen 0V und %sV kodiert ist Cable_is_adapted_to_conduct\nelectrical_signals.=Kabel ist optimiert elektrische\nSignale zu leiten -Current\:_%1$A=Stromstärke\: %1$A +Current\:_%sA=Stromstärke\: %sA Not_adapted_to_transport_power.=Nicht zum Transportieren von Leistung geeignet. Save_usage\:=Sicherer Gebrauch\: -Serial_resistance\:_%1$Ω=Serieller Widerstand\: %1$Ω +Serial_resistance\:_%sΩ=Serieller Widerstand\: %sΩ # ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerDescriptor.java It_can_store_up_to_256_points.=Bis zu 256 Werte werden gespeichert. @@ -423,10 +423,10 @@ Output_voltage_increases\nif_a_fire_has_been_detected.=Die Ausgangsspannung stei Provides_configurable_signal\nvoltage.=Stellt eine konfigurierbare\nSignalspannung bereit. # ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceGui.java -Output_at_%1$%=Ausgang bei %1$% +Output_at_%s=Ausgang bei %s # ./src/main/java/mods/eln/sixnode/electricallightsensor/ElectricalLightSensorDescriptor.java -0V_at_night,_%1$V_at_noon.=0V bei Nacht, %1$V am Mittag. +0V_at_night,_%sV_at_noon.=0V bei Nacht, %sV am Mittag. Provides_an_electrical_voltage\nin_the_presence_of_light.=Ist Licht vorhanden, so wird eine\nelektrische Spannung geliefert. Provides_an_electrical_voltage\nwhich_is_proportional_to\nthe_intensity_of_daylight.=Liefert eine elektrische Spannung\nwelche proportional zur Intensität\ndes Tageslicht ist @@ -439,7 +439,7 @@ Applicable_mathematical_operators\:=Mögliche mathematische Operationen Calculates_an_output_signal_from\n3_inputs_(A,_B,_C)_using_an_equation.=Berechnet ein Ausgangssignal aus 3 \nEingängen (A, B, C) mit Hilfe einer Formel. # ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathGui.java -%1$_Redstone(s)_required=%1$ Redstone werden benötigt +%s_Redstone(s)_required=%s Redstone werden benötigt Equation_required!=Formel benötigt\! Inputs_are=Eingänge sind Invalid_equation!=Fehlerhafte Formel\! @@ -483,13 +483,13 @@ Displays_the_value_of_a_signal.=Zeigt den aktuellen Wert eines Signals. Portable_battery_slot=Tragbare Batterie-Slot # ./src/main/java/mods/eln/sixnode/electricalweathersensor/ElectricalWeatherSensorDescriptor.java -Clear\:_%1$V=Klar\: %1$V +Clear\:_%sV=Klar\: %sV Provides_an_electrical_signal\ndepending_the_actual_weather.=Liefert eine elektrisches Signal\nabhängig vom aktuellen Wetter. -Rain\:_%1$V=Regen\: %1$V -Storm\:_%1$V=Sturm\: %1$V +Rain\:_%sV=Regen\: %sV +Storm\:_%sV=Sturm\: %sV # ./src/main/java/mods/eln/sixnode/electricalwindsensor/ElectricalWindSensorDescriptor.java -Maximum_wind_speed_is_%1$m_s=Maximale Windgeschwindigkeit ist %1$m/s +Maximum_wind_speed_is_%sm_s=Maximale Windgeschwindigkeit ist %sm/s Provides_an_electrical_signal\ndependant_on_wind_speed.=Liefert ein elektrisches Singal\nabhängig von der Windgeschwindigkeit. You_can't_place_this_block_on_the_floor_or_the_ceiling=Der Block kann nicht auf dem Boden oder an der Decke platziert werden @@ -508,7 +508,7 @@ Voltage=Spannung Change_password=Passwort ändern Counter_Mode=Zählermodus Counts_the_energy_conducted_from\n\u00a74red\u00a7f_to_\u00a71blue\u00a7f.=Zählt die Energy welche von\n\\u00a74Rot\\u00a7f zu \\u00a71Blua\\u00a7f fliesst. -Energy_counter\:_%1$J=Energiezähler\: %1$J +Energy_counter\:_%sJ=Energiezähler\: %sJ Enter_new_energy=Neue Energie eingeben Enter_password=Passwort eingeben Prepay_Mode=Prepay-Modus @@ -529,13 +529,13 @@ Provides_a_zero_volt_reference.=Liefert eine Null-Volt-Referenz. Allows_crossing_cables\non_one_single_block.=Ermöglicht das Kreuzen von\nKabeln auf einem Block. # ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketDescriptor.java -Angle\:_%1$°_to_%2$°=Winkel\: %1$° bis %2$° -Spot_range\:_%1$_blocks=Reichweite\: %1$ Blöcke +Angle\:_%s°_to_%s°=Winkel\: %s° bis %s° +Spot_range\:_%s_blocks=Reichweite\: %s Blöcke # ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketGuiDraw.java -%1$_is_not_in_range!=%1$ ist nicht in Reichweite\! +%s_is_not_in_range!=%s ist nicht in Reichweite\! Cable_slot_empty=Kabel-Slot leer -Orientation\:_%1$°=Richtung\: %1$° +Orientation\:_%s°=Richtung\: %s° Parallel=Parallel Powered_by_Lamp_Supply=Durch Lampenverteiler gespiesen Powered_by_cable=Durch Kabel gespiesen @@ -584,8 +584,8 @@ Coal_dust_slot=Kohlestaub-Slot # ./src/main/java/mods/eln/sixnode/thermalcable/ThermalCableDescriptor.java High_parallel_resistance\n_\=>_Low_power_dissipation.=Hoher Parallelwiderstand\n \=> keiner Wärmeverlust. Low_serial_resistance\n_\=>_High_conductivity.=kleiner Seriewiderstand\n \=> gute Leitfähigkeit. -Parallel_resistance\:_%1$K_W=Parallelwiderstand\: %1$K/W -Serial_resistance\:_%1$K_W=Seriewiderstand\: %1$K/W +Parallel_resistance\:_%sK_W=Parallelwiderstand\: %sK/W +Serial_resistance\:_%sK_W=Seriewiderstand\: %sK/W # ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorContainer.java Cable_slot=Kabelslot @@ -610,12 +610,12 @@ Set_beacon_name=Beaconname setzen # ./src/main/java/mods/eln/sixnode/wirelesssignal/rx/WirelessSignalRxGui.java # ./src/main/java/mods/eln/transparentnode/FuelGenerator.kt -Nominal_power\:_%1$_W=Nominale Leistung\: %1$ W -Nominal_voltage\:_%1$_V=Nominale Spannung %1$ V +Nominal_power\:_%s_W=Nominale Leistung\: %s W +Nominal_voltage\:_%s_V=Nominale Spannung %s V Produces_electricity_using_fuel.=Produziert Elektrizität mittels Treibstoff. # ./src/main/java/mods/eln/transparentnode/LargeRheostat.kt -Nom._Resistance\:_%1$=Nom. Widerstand\: %1$ +Nom._Resistance\:_%s=Nom. Widerstand\: %s # ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerContainer.java Drill_slot=Bohrerslot @@ -637,16 +637,16 @@ Overheating_protection=Überhitzschutz Overvoltage_protection=Überspannungsschutz # ./src/main/java/mods/eln/transparentnode/battery/BatteryDescriptor.java -Actual_charge\:_%1$%=Aktuelle Ladung\: %1$% -Energy_capacity\:_%1$J=Energiekapazität\: %1$J -_charged_at_%1$%=geladen bei %1$% +Actual_charge\:_%s=Aktuelle Ladung\: %s +Energy_capacity\:_%sJ=Energiekapazität\: %sJ +_charged_at_%s=geladen bei %s # ./src/main/java/mods/eln/transparentnode/battery/BatteryGuiDraw.java Charge=Laden Charged=Geladen Discharge=Entladen Energy\:=Energie\: -Energy\:_%1$=Energie\: %1$ +Energy\:_%s=Energie\: %s Life\:=Leben\: No_charge=Nicht geladen Power_in\:=Eingangsleistung\: @@ -659,7 +659,7 @@ Egg_slot=Eier-Slot Wireless_energy_receiver.=Kabelloser Energie-Empfänger # ./src/main/java/mods/eln/transparentnode/electricalantennatx/ElectricalAntennaTxDescriptor.java -Efficiency\:_%1$%_up_to_%2$%=Effizienz\: %1$% bis %2$% +Efficiency\:_%s_up_to_%s=Effizienz\: %s bis %s Wireless_energy_transmitter.=Kabelloser Energie-Sender # ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceContainer.java @@ -671,7 +671,7 @@ Similar_to_a_vanilla_furnace,\nbut_heats_with_electricity.=Ähnlich einem "vanil # ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceGuiDraw.java Auto_shutdown=Automatische Abschaltung Manual_shutdown=Manuelle Abschaltung -Set_point\:_%1$°C=Sollwert\: %1$°C +Set_point\:_%s°C=Sollwert\: %s°C # ./src/main/java/mods/eln/transparentnode/electricalmachine/ElectricalMachineDescriptor.java Cost=Kosten @@ -684,7 +684,7 @@ Fuel_slot=Treibstoff-Slot Generates_heat_when_supplied_with_fuel.=Generiert Wärme mit Hilfe von Treibstoff. # ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceGuiDraw.java -Control_gauge_at_%1$%=Kontrollanzeige bei %1$% +Control_gauge_at_%s=Kontrollanzeige bei %s Decline_fuel=Verweigere Treibstoff External_control=Externe Kontrolle Internal_control=Interne Kontrolle @@ -698,27 +698,27 @@ Solar_tracker_slot=Sonnenverfolger-Slot # ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelDescriptor.java Can_be_geared_towards_the_sun.=Kann in Richtung Sonne gerichtet werden. -Max._power\:_%1$W=Max. Leisting\: %1$W -Max._voltage\:_%1$V=Max. Spannung\: %1$V +Max._power\:_%sW=Max. Leisting\: %sW +Max._voltage\:_%sV=Max. Spannung\: %sV Produces_power_from_solar_radiation.=Wandelt die Sonnenstrahlung in Energie # ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPannelGuiDraw.java It_is_night=Es ist Nacht -Solar_panel_angle\:_%1$°=Solarpanel-Winkel\: %1$° -Sun_angle\:_%1$°=Sonnenwinkel\: %1$° +Solar_panel_angle\:_%s°=Solarpanel-Winkel\: %s° +Sun_angle\:_%s°=Sonnenwinkel\: %s° # ./src/main/java/mods/eln/transparentnode/teleporter/TeleporterGui.java Destination_transporter=Zieltransporter Power_consumption\:=Leistungsaufnahme\: -Power_consumption\:_%1$W=Leistungsaufnahme\: %1$W -Required_energy\:_%1$J=Benötigte Energie\: %1$J +Power_consumption\:_%sW=Leistungsaufnahme\: %sW +Required_energy\:_%sJ=Benötigte Energie\: %sJ Start=Start Transporter_name=Transporter Name # ./src/main/java/mods/eln/transparentnode/thermaldissipatoractive/ThermalDissipatorActiveDescriptor.java -Fan_cooling_power\:_%1$W=Lüfterkühlleistung\: %1$W -Fan_power_consumption\:_%1$W=Lüfterleistungsaufnahme\: %1$W -Fan_voltage\:_%1$V=Lüfterspannung\: %1$V +Fan_cooling_power\:_%sW=Lüfterkühlleistung\: %sW +Fan_power_consumption\:_%sW=Lüfterleistungsaufnahme\: %sW +Fan_voltage\:_%sV=Lüfterspannung\: %sV # ./src/main/java/mods/eln/transparentnode/transformer/TransformerDescriptor.java The_voltage_ratio_is_proportional\nto_the_cable_stacks_count_ratio.=Das Spannungsverhältnis ist proportional\nzu dem Verhältnis der Anzahl Kabel. @@ -726,13 +726,13 @@ Transforms_an_input_voltage_to\nan_output_voltage.=Transformiert eine Eingangssp # ./src/main/java/mods/eln/transparentnode/turbine/TurbineDescriptor.java Generates_electricity_using_heat.=Generiert Elektrizität aus Wärme. -Temperature_difference\:_%1$°C=Temperaturdifferenz\: %1$°C +Temperature_difference\:_%s°C=Temperaturdifferenz\: %s°C # ./src/main/java/mods/eln/transparentnode/turret/TurretDescriptor.java CAUTION\:_Cables_can_get_quite_hot!=ACHTUNG\: Kabel können heiss werden\! -Laser_charge_power\:_%1$W...%2$kW=Laser Ladeleistung\: %1$W...%2$W +Laser_charge_power\:_%sW...%skW=Laser Ladeleistung\: %sW...%sW Scans_for_entities_and_shoots_if_the\nentity_matches_the_configurable_filter_criteria.=Sucht Wesen und schiesst auf diese falls\nsie dem eingesetzten Filter entsprechen -Standby_power\:_%1$W=Standby Leisting\: %1$W +Standby_power\:_%sW=Standby Leisting\: %sW # ./src/main/java/mods/eln/transparentnode/turret/TurretGui.java Attack\:=Angreifen\: @@ -744,10 +744,10 @@ Generates_energy_using_water_stream.=Generiert Elektrizität aus Wasserströmung No_place_for_water_turbine!=Kein Platz für die Wasserturbine vorhanden\! # ./src/main/java/mods/eln/transparentnode/windturbine/WindTurbineDescriptor.java -Front\:_%1$=Front\: %1$ +Front\:_%s=Front\: %s Generates_energy_from_wind.=Generiert Elektrizität aus Wind. -Left_Right\:_%1$=Links/Rechts\: %1$ -Up_Down\:_%1$=Auf/Ab\: %1$ +Left_Right\:_%s=Links/Rechts\: %s +Up_Down\:_%s=Auf/Ab\: %s Wind_area\:=Windfläche\: # ./src/main/java/mods/eln/wiki/Data.java @@ -769,7 +769,7 @@ Previous=Zurück # ./src/main/java/mods/eln/wiki/ItemDefault.java Can_be_used_to_craft\:=Kann benutzt werden für den Bau von\: Cannot_be_crafted!=Kann nicht zum bauen verwendet werden\! -Cost_%1$J=Aufwand\: %1$J +Cost_%sJ=Aufwand\: %sJ Created_by\:=Erstellt durch\: Is_not_a_crafting_material!=Ist kein Baumaterial\! Recipe\:=Rezept\: @@ -777,45 +777,45 @@ Recipe\:=Rezept\: # Appearing in multiple source files (Increases_capacity)=(Erhöht Kapazität) (Increases_inductance)=(Erhöht Induktivität) -Actual\:_%1$°C=Aktuell\: %1$°C +Actual\:_%s°C=Aktuell\: %s°C Biggest=Grösster Booster_slot=Beschleunigerslot Can_create\:=Kann folgendes kreieren\: -Capacity\:_%1$F=Kapazität\: %1$F -Charge_power\:_%1$W=Ladeleistung\: %1$W +Capacity\:_%sF=Kapazität\: %sF +Charge_power\:_%sW=Ladeleistung\: %sW Connected=Verbunden -Cooling_power\:_%1$W=Kühlleistung\: %1$W +Cooling_power\:_%sW=Kühlleistung\: %sW Copper_cable_slot=Kupferkabel-Slot Dielectric_slot=Dielektrikum-Slot -Discharge_power\:_%1$W=Entladeleistung\: %1$W +Discharge_power\:_%sW=Entladeleistung\: %sW Electrical_cable_slot=Elektrisches Kabel-Slot Entity_filter_slot=Wesen-Filterslot Ferromagnetic_core_slot=Ferromagnetischer Kern Slot Has_a_signal_output.=Besitzt einen Signal-Ausgang. -Inductance\:_%1$H=Induktivität\: %1$H -Internal_resistance\:_%1$Ω=Interner Widerstand\: %1$Ω +Inductance\:_%sH=Induktivität\: %sH +Internal_resistance\:_%sΩ=Interner Widerstand\: %sΩ Is_off=Ist aus Is_on=Ist an -Max._temperature\:_%1$°C=Max. Temperatur\: %1$°C +Max._temperature\:_%s°C=Max. Temperatur\: %s°C Measured_value\ncorresponding\nto_0%_output=Gemessener Wert\nwelcher einem Ausgangswert\nvon 0% entspricht Measured_value\ncorresponding\nto_100%_output=Gemessener Wert\nwelcher einem Ausgangswert\nvon 100% entspricht Nominal\:=Nominal\: -Nominal_power\:_%1$W=Nominale Leisting\: %1$W +Nominal_power\:_%sW=Nominale Leisting\: %sW Nominal_usage\:=Nominaler Gebrauch\: -Nominal_voltage\:_%1$V=Nominale Spannung\: %1$V +Nominal_voltage\:_%sV=Nominale Spannung\: %sV Not_connected=Nicht verbunden Not_enough_space_for_this_block=Nicht genug Platz für diesen Block vorhanden Power=Leistung -Power\:_%1$W=Leistung\: %1$W -Range\:_%1$_blocks=Reichweite\: %1$ Blöcke +Power\:_%sW=Leistung\: %sW +Range\:_%s_blocks=Reichweite\: %s Blöcke Redstone_slot=Redstone Slot Regulator_slot=Regulatorslot Reset=Zurücksetzen -Resistance\:_%1$Ω=Widerstand\: %1$Ω +Resistance\:_%sΩ=Widerstand\: %sΩ Smallest=Kleinster Specify_the_channel=Gib den Kanal an -Stored_energy\:_%1$J_(%2$%)=Gespeicherte Energie\: %1$J (%2$%) -Temperature\:_%1$°C=Temperatur\: %1$°C +Stored_energy\:_%sJ_(%s)=Gespeicherte Energie\: %sJ (%s) +Temperature\:_%s°C=Temperatur\: %s°C Temperature_gauge=Temperaturanzeige Thermal_isolator_slot=Thermischer Isolator Slot Toggle=Umschalten @@ -825,5 +825,5 @@ Used_to_cool_down_turbines.=Kann Turbinen kühlen. Uses_the_biggest\nvalue_on_the_channel.=Benutzt den grössten\nWert auf dem Funkkanal. Uses_the_smallest\nvalue_on_the_channel.=Benutzt den kleinsten \nWert auf dem Funkkanal. Validate=Validieren -Voltage\:_%1$V=Spannung\: %1$V +Voltage\:_%sV=Spannung\: %sV You_can't_place_this_block_at_this_side=Der Block kann an dieser Seite nicht platziert werden diff --git a/src/main/resources/assets/eln/lang/de_DE.lang b/src/main/resources/assets/eln/lang/de_DE.lang index 66220fd49..23f907718 100644 --- a/src/main/resources/assets/eln/lang/de_DE.lang +++ b/src/main/resources/assets/eln/lang/de_DE.lang @@ -287,21 +287,21 @@ tile.eln.EnergyConverterElnToOtherLVUBlock.name=50V Electrical Age Energie-Expor tile.eln.EnergyConverterElnToOtherMVUBlock.name=200V Electrical Age Energie-Exporter # ./src/main/java/mods/eln/i18n/I18N.java -You_have_%1$_lives_left=Ihnen bleibt %1$ Leben +You_have_%s_lives_left=Ihnen bleibt %s Leben # ./src/main/java/mods/eln/item/BrushDescriptor.java Brush_is_dry=Pinsel ist trocken -Can_paint_%1$_blocks=Kann %1$ Blöcke einfärben +Can_paint_%s_blocks=Kann %s Blöcke einfärben # ./src/main/java/mods/eln/item/CombustionChamber.java Upgrade_for_the_Stone_Heat_Furnace.=Verbesserung für den Steinofen # ./src/main/java/mods/eln/item/ElectricalDrillDescriptor.java -Energy_per_operation\:_%1$J=Energie pro Operation\: %1$J -Time_per_operation\:_%1$s=Zeit pro Operation\: %1$s +Energy_per_operation\:_%sJ=Energie pro Operation\: %sJ +Time_per_operation\:_%ss=Zeit pro Operation\: %ss # ./src/main/java/mods/eln/item/FerromagneticCoreDescriptor.java -Cable_loss_factor\:_%1$=Verlustfaktor\: %1$ +Cable_loss_factor\:_%s=Verlustfaktor\: %s # ./src/main/java/mods/eln/item/HeatingCorpElement.java @@ -311,8 +311,8 @@ Condition\:=Zustand\: End_of_life=Lebensende Good=Gut New=Neu -Nominal_lifetime\:_%1$h=Normale Lebensdauer\: %1$h -Technology\:_%1$=Technonogie\: %1$ +Nominal_lifetime\:_%sh=Normale Lebensdauer\: %sh +Technology\:_%s=Technonogie\: %s Used=Gebraucht # ./src/main/java/mods/eln/item/LampSlot.java @@ -333,7 +333,7 @@ Solar_panel_upgrade=Solarpanelerweiterung Off=aus On=ein State\:=Zustand\: -Stored_Energy\:_%1$J_(%2$%)=Gespeicherte Energy %1$J (%2$%) +Stored_Energy\:_%sJ_(%s)=Gespeicherte Energy %sJ (%s) # ./src/main/java/mods/eln/item/regulator/RegulatorSlot.java @@ -346,7 +346,7 @@ mod.name=Electrical Age # ./src/main/java/mods/eln/node/six/SixNodeDescriptor.java # ./src/main/java/mods/eln/simplenode/energyconverter/EnergyConverterElnToOtherGui.java -Input_power_is_limited_to_%1$W=Eingangsleistung ist auf %1$W limitiert +Input_power_is_limited_to_%sW=Eingangsleistung ist auf %sW limitiert # ./src/main/java/mods/eln/sixnode/LogicGate.kt _O\:_= O\: @@ -386,12 +386,12 @@ Switch_is_off=Schalter is aus Switch_is_on=Schalter ist ein # ./src/main/java/mods/eln/sixnode/electricalcable/ElectricalCableDescriptor.java -A_signal_is_electrical_information\nwhich_must_be_between_0V_and_%1$V=Ein Signal ist eine elektrische information\nwelche zwischen 0V und %1$V kodiert ist +A_signal_is_electrical_information\nwhich_must_be_between_0V_and_%sV=Ein Signal ist eine elektrische information\nwelche zwischen 0V und %sV kodiert ist Cable_is_adapted_to_conduct\nelectrical_signals.=Kabel ist optimiert elektrische\nSignale zu leiten -Current\:_%1$A=Stromstärke\: %1$A +Current\:_%sA=Stromstärke\: %sA Not_adapted_to_transport_power.=Nicht zum Transportieren von Leistung geeignet. Save_usage\:=Sicherer Gebrauch\: -Serial_resistance\:_%1$Ω=Serieller Widerstand\: %1$Ω +Serial_resistance\:_%sΩ=Serieller Widerstand\: %sΩ # ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerDescriptor.java It_can_store_up_to_256_points.=Bis zu 256 Werte werden gespeichert. @@ -423,10 +423,10 @@ Output_voltage_increases\nif_a_fire_has_been_detected.=Die Ausgangsspannung stei Provides_configurable_signal\nvoltage.=Stellt eine konfigurierbare\nSignalspannung bereit. # ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceGui.java -Output_at_%1$%=Ausgang bei %1$% +Output_at_%s=Ausgang bei %s # ./src/main/java/mods/eln/sixnode/electricallightsensor/ElectricalLightSensorDescriptor.java -0V_at_night,_%1$V_at_noon.=0V bei Nacht, %1$V am Mittag. +0V_at_night,_%sV_at_noon.=0V bei Nacht, %sV am Mittag. Provides_an_electrical_voltage\nin_the_presence_of_light.=Ist Licht vorhanden, so wird eine\nelektrische Spannung geliefert. Provides_an_electrical_voltage\nwhich_is_proportional_to\nthe_intensity_of_daylight.=Liefert eine elektrische Spannung\nwelche proportional zur Intensität\ndes Tageslicht ist @@ -439,7 +439,7 @@ Applicable_mathematical_operators\:=Mögliche mathematische Operationen Calculates_an_output_signal_from\n3_inputs_(A,_B,_C)_using_an_equation.=Berechnet ein Ausgangssignal aus 3 \nEingängen (A, B, C) mit Hilfe einer Formel. # ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathGui.java -%1$_Redstone(s)_required=%1$ Redstone werden benötigt +%s_Redstone(s)_required=%s Redstone werden benötigt Equation_required!=Formel benötigt\! Inputs_are=Eingänge sind Invalid_equation!=Fehlerhafte Formel\! @@ -483,13 +483,13 @@ Displays_the_value_of_a_signal.=Zeigt den aktuellen Wert eines Signals. Portable_battery_slot=Tragbare Batterie-Slot # ./src/main/java/mods/eln/sixnode/electricalweathersensor/ElectricalWeatherSensorDescriptor.java -Clear\:_%1$V=Klar\: %1$V +Clear\:_%sV=Klar\: %sV Provides_an_electrical_signal\ndepending_the_actual_weather.=Liefert eine elektrisches Signal\nabhängig vom aktuellen Wetter. -Rain\:_%1$V=Regen\: %1$V -Storm\:_%1$V=Sturm\: %1$V +Rain\:_%sV=Regen\: %sV +Storm\:_%sV=Sturm\: %sV # ./src/main/java/mods/eln/sixnode/electricalwindsensor/ElectricalWindSensorDescriptor.java -Maximum_wind_speed_is_%1$m_s=Maximale Windgeschwindigkeit ist %1$m/s +Maximum_wind_speed_is_%sm_s=Maximale Windgeschwindigkeit ist %sm/s Provides_an_electrical_signal\ndependant_on_wind_speed.=Liefert ein elektrisches Singal\nabhängig von der Windgeschwindigkeit. You_can't_place_this_block_on_the_floor_or_the_ceiling=Der Block kann nicht auf dem Boden oder an der Decke platziert werden @@ -508,7 +508,7 @@ Voltage=Spannung Change_password=Passwort ändern Counter_Mode=Zählermodus Counts_the_energy_conducted_from\n\u00a74red\u00a7f_to_\u00a71blue\u00a7f.=Zählt die Energy welche von\n\\u00a74Rot\\u00a7f zu \\u00a71Blua\\u00a7f fliesst. -Energy_counter\:_%1$J=Energiezähler\: %1$J +Energy_counter\:_%sJ=Energiezähler\: %sJ Enter_new_energy=Neue Energie eingeben Enter_password=Passwort eingeben Prepay_Mode=Prepay-Modus @@ -529,13 +529,13 @@ Provides_a_zero_volt_reference.=Liefert eine Null-Volt-Referenz. Allows_crossing_cables\non_one_single_block.=Ermöglicht das Kreuzen von\nKabeln auf einem Block. # ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketDescriptor.java -Angle\:_%1$°_to_%2$°=Winkel\: %1$° bis %2$° -Spot_range\:_%1$_blocks=Reichweite\: %1$ Blöcke +Angle\:_%s°_to_%s°=Winkel\: %s° bis %s° +Spot_range\:_%s_blocks=Reichweite\: %s Blöcke # ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketGuiDraw.java -%1$_is_not_in_range!=%1$ ist nicht in Reichweite\! +%s_is_not_in_range!=%s ist nicht in Reichweite\! Cable_slot_empty=Kabel-Slot leer -Orientation\:_%1$°=Richtung\: %1$° +Orientation\:_%s°=Richtung\: %s° Parallel=Parallel Powered_by_Lamp_Supply=Durch Lampenverteiler gespiesen Powered_by_cable=Durch Kabel gespiesen @@ -584,8 +584,8 @@ Coal_dust_slot=Kohlestaub-Slot # ./src/main/java/mods/eln/sixnode/thermalcable/ThermalCableDescriptor.java High_parallel_resistance\n_\=>_Low_power_dissipation.=Hoher Parallelwiderstand\n \=> keiner Wärmeverlust. Low_serial_resistance\n_\=>_High_conductivity.=kleiner Seriewiderstand\n \=> gute Leitfähigkeit. -Parallel_resistance\:_%1$K_W=Parallelwiderstand\: %1$K/W -Serial_resistance\:_%1$K_W=Seriewiderstand\: %1$K/W +Parallel_resistance\:_%sK_W=Parallelwiderstand\: %sK/W +Serial_resistance\:_%sK_W=Seriewiderstand\: %sK/W # ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorContainer.java Cable_slot=Kabelslot @@ -610,12 +610,12 @@ Set_beacon_name=Beaconname setzen # ./src/main/java/mods/eln/sixnode/wirelesssignal/rx/WirelessSignalRxGui.java # ./src/main/java/mods/eln/transparentnode/FuelGenerator.kt -Nominal_power\:_%1$_W=Nominale Leistung\: %1$ W -Nominal_voltage\:_%1$_V=Nominale Spannung %1$ V +Nominal_power\:_%s_W=Nominale Leistung\: %s W +Nominal_voltage\:_%s_V=Nominale Spannung %s V Produces_electricity_using_fuel.=Produziert Elektrizität mittels Treibstoff. # ./src/main/java/mods/eln/transparentnode/LargeRheostat.kt -Nom._Resistance\:_%1$=Nom. Widerstand\: %1$ +Nom._Resistance\:_%s=Nom. Widerstand\: %s # ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerContainer.java Drill_slot=Bohrerslot @@ -637,16 +637,16 @@ Overheating_protection=Überhitzschutz Overvoltage_protection=Überspannungsschutz # ./src/main/java/mods/eln/transparentnode/battery/BatteryDescriptor.java -Actual_charge\:_%1$%=Aktuelle Ladung\: %1$% -Energy_capacity\:_%1$J=Energiekapazität\: %1$J -_charged_at_%1$%=geladen bei %1$% +Actual_charge\:_%s=Aktuelle Ladung\: %s +Energy_capacity\:_%sJ=Energiekapazität\: %sJ +_charged_at_%s=geladen bei %s # ./src/main/java/mods/eln/transparentnode/battery/BatteryGuiDraw.java Charge=Laden Charged=Geladen Discharge=Entladen Energy\:=Energie\: -Energy\:_%1$=Energie\: %1$ +Energy\:_%s=Energie\: %s Life\:=Leben\: No_charge=Nicht geladen Power_in\:=Eingangsleistung\: @@ -659,7 +659,7 @@ Egg_slot=Eier-Slot Wireless_energy_receiver.=Kabelloser Energie-Empfänger # ./src/main/java/mods/eln/transparentnode/electricalantennatx/ElectricalAntennaTxDescriptor.java -Efficiency\:_%1$%_up_to_%2$%=Effizienz\: %1$% bis %2$% +Efficiency\:_%s_up_to_%s=Effizienz\: %s bis %s Wireless_energy_transmitter.=Kabelloser Energie-Sender # ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceContainer.java @@ -671,7 +671,7 @@ Similar_to_a_vanilla_furnace,\nbut_heats_with_electricity.=Ähnlich einem "vanil # ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceGuiDraw.java Auto_shutdown=Automatische Abschaltung Manual_shutdown=Manuelle Abschaltung -Set_point\:_%1$°C=Sollwert\: %1$°C +Set_point\:_%s°C=Sollwert\: %s°C # ./src/main/java/mods/eln/transparentnode/electricalmachine/ElectricalMachineDescriptor.java Cost=Kosten @@ -684,7 +684,7 @@ Fuel_slot=Treibstoff-Slot Generates_heat_when_supplied_with_fuel.=Generiert Wärme mit Hilfe von Treibstoff. # ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceGuiDraw.java -Control_gauge_at_%1$%=Kontrollanzeige bei %1$% +Control_gauge_at_%s=Kontrollanzeige bei %s Decline_fuel=Verweigere Treibstoff External_control=Externe Kontrolle Internal_control=Interne Kontrolle @@ -698,27 +698,27 @@ Solar_tracker_slot=Sonnenverfolger-Slot # ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelDescriptor.java Can_be_geared_towards_the_sun.=Kann in Richtung Sonne gerichtet werden. -Max._power\:_%1$W=Max. Leisting\: %1$W -Max._voltage\:_%1$V=Max. Spannung\: %1$V +Max._power\:_%sW=Max. Leisting\: %sW +Max._voltage\:_%sV=Max. Spannung\: %sV Produces_power_from_solar_radiation.=Wandelt die Sonnenstrahlung in Energie # ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPannelGuiDraw.java It_is_night=Es ist Nacht -Solar_panel_angle\:_%1$°=Solarpanel-Winkel\: %1$° -Sun_angle\:_%1$°=Sonnenwinkel\: %1$° +Solar_panel_angle\:_%s°=Solarpanel-Winkel\: %s° +Sun_angle\:_%s°=Sonnenwinkel\: %s° # ./src/main/java/mods/eln/transparentnode/teleporter/TeleporterGui.java Destination_transporter=Zieltransporter Power_consumption\:=Leistungsaufnahme\: -Power_consumption\:_%1$W=Leistungsaufnahme\: %1$W -Required_energy\:_%1$J=Benötigte Energie\: %1$J +Power_consumption\:_%sW=Leistungsaufnahme\: %sW +Required_energy\:_%sJ=Benötigte Energie\: %sJ Start=Start Transporter_name=Transporter Name # ./src/main/java/mods/eln/transparentnode/thermaldissipatoractive/ThermalDissipatorActiveDescriptor.java -Fan_cooling_power\:_%1$W=Lüfterkühlleistung\: %1$W -Fan_power_consumption\:_%1$W=Lüfterleistungsaufnahme\: %1$W -Fan_voltage\:_%1$V=Lüfterspannung\: %1$V +Fan_cooling_power\:_%sW=Lüfterkühlleistung\: %sW +Fan_power_consumption\:_%sW=Lüfterleistungsaufnahme\: %sW +Fan_voltage\:_%sV=Lüfterspannung\: %sV # ./src/main/java/mods/eln/transparentnode/transformer/TransformerDescriptor.java The_voltage_ratio_is_proportional\nto_the_cable_stacks_count_ratio.=Das Spannungsverhältnis ist proportional\nzu dem Verhältnis der Anzahl Kabel. @@ -726,13 +726,13 @@ Transforms_an_input_voltage_to\nan_output_voltage.=Transformiert eine Eingangssp # ./src/main/java/mods/eln/transparentnode/turbine/TurbineDescriptor.java Generates_electricity_using_heat.=Generiert Elektrizität aus Wärme. -Temperature_difference\:_%1$°C=Temperaturdifferenz\: %1$°C +Temperature_difference\:_%s°C=Temperaturdifferenz\: %s°C # ./src/main/java/mods/eln/transparentnode/turret/TurretDescriptor.java CAUTION\:_Cables_can_get_quite_hot!=ACHTUNG\: Kabel können heiss werden\! -Laser_charge_power\:_%1$W...%2$kW=Laser Ladeleistung\: %1$W...%2$W +Laser_charge_power\:_%sW...%skW=Laser Ladeleistung\: %sW...%sW Scans_for_entities_and_shoots_if_the\nentity_matches_the_configurable_filter_criteria.=Sucht Wesen und schiesst auf diese falls\nsie dem eingesetzten Filter entsprechen -Standby_power\:_%1$W=Standby Leisting\: %1$W +Standby_power\:_%sW=Standby Leisting\: %sW # ./src/main/java/mods/eln/transparentnode/turret/TurretGui.java Attack\:=Angreifen\: @@ -744,10 +744,10 @@ Generates_energy_using_water_stream.=Generiert Elektrizität aus Wasserströmung No_place_for_water_turbine!=Kein Platz für die Wasserturbine vorhanden\! # ./src/main/java/mods/eln/transparentnode/windturbine/WindTurbineDescriptor.java -Front\:_%1$=Front\: %1$ +Front\:_%s=Front\: %s Generates_energy_from_wind.=Generiert Elektrizität aus Wind. -Left_Right\:_%1$=Links/Rechts\: %1$ -Up_Down\:_%1$=Auf/Ab\: %1$ +Left_Right\:_%s=Links/Rechts\: %s +Up_Down\:_%s=Auf/Ab\: %s Wind_area\:=Windfläche\: # ./src/main/java/mods/eln/wiki/Data.java @@ -769,7 +769,7 @@ Previous=Zurück # ./src/main/java/mods/eln/wiki/ItemDefault.java Can_be_used_to_craft\:=Kann benutzt werden für den Bau von\: Cannot_be_crafted!=Kann nicht zum bauen verwendet werden\! -Cost_%1$J=Aufwand\: %1$J +Cost_%sJ=Aufwand\: %sJ Created_by\:=Erstellt durch\: Is_not_a_crafting_material!=Ist kein Baumaterial\! Recipe\:=Rezept\: @@ -777,45 +777,45 @@ Recipe\:=Rezept\: # Appearing in multiple source files (Increases_capacity)=(Erhöht Kapazität) (Increases_inductance)=(Erhöht Induktivität) -Actual\:_%1$°C=Aktuell\: %1$°C +Actual\:_%s°C=Aktuell\: %s°C Biggest=Grösster Booster_slot=Beschleunigerslot Can_create\:=Kann folgendes kreieren\: -Capacity\:_%1$F=Kapazität\: %1$F -Charge_power\:_%1$W=Ladeleistung\: %1$W +Capacity\:_%sF=Kapazität\: %sF +Charge_power\:_%sW=Ladeleistung\: %sW Connected=Verbunden -Cooling_power\:_%1$W=Kühlleistung\: %1$W +Cooling_power\:_%sW=Kühlleistung\: %sW Copper_cable_slot=Kupferkabel-Slot Dielectric_slot=Dielektrikum-Slot -Discharge_power\:_%1$W=Entladeleistung\: %1$W +Discharge_power\:_%sW=Entladeleistung\: %sW Electrical_cable_slot=Elektrisches Kabel-Slot Entity_filter_slot=Wesen-Filterslot Ferromagnetic_core_slot=Ferromagnetischer Kern Slot Has_a_signal_output.=Besitzt einen Signal-Ausgang. -Inductance\:_%1$H=Induktivität\: %1$H -Internal_resistance\:_%1$Ω=Interner Widerstand\: %1$Ω +Inductance\:_%sH=Induktivität\: %sH +Internal_resistance\:_%sΩ=Interner Widerstand\: %sΩ Is_off=Ist aus Is_on=Ist an -Max._temperature\:_%1$°C=Max. Temperatur\: %1$°C +Max._temperature\:_%s°C=Max. Temperatur\: %s°C Measured_value\ncorresponding\nto_0%_output=Gemessener Wert\nwelcher einem Ausgangswert\nvon 0% entspricht Measured_value\ncorresponding\nto_100%_output=Gemessener Wert\nwelcher einem Ausgangswert\nvon 100% entspricht Nominal\:=Nominal\: -Nominal_power\:_%1$W=Nominale Leisting\: %1$W +Nominal_power\:_%sW=Nominale Leisting\: %sW Nominal_usage\:=Nominaler Gebrauch\: -Nominal_voltage\:_%1$V=Nominale Spannung\: %1$V +Nominal_voltage\:_%sV=Nominale Spannung\: %sV Not_connected=Nicht verbunden Not_enough_space_for_this_block=Nicht genug Platz für diesen Block vorhanden Power=Leistung -Power\:_%1$W=Leistung\: %1$W -Range\:_%1$_blocks=Reichweite\: %1$ Blöcke +Power\:_%sW=Leistung\: %sW +Range\:_%s_blocks=Reichweite\: %s Blöcke Redstone_slot=Redstone Slot Regulator_slot=Regulatorslot Reset=Zurücksetzen -Resistance\:_%1$Ω=Widerstand\: %1$Ω +Resistance\:_%sΩ=Widerstand\: %sΩ Smallest=Kleinster Specify_the_channel=Gib den Kanal an -Stored_energy\:_%1$J_(%2$%)=Gespeicherte Energie\: %1$J (%2$%) -Temperature\:_%1$°C=Temperatur\: %1$°C +Stored_energy\:_%sJ_(%s)=Gespeicherte Energie\: %sJ (%s) +Temperature\:_%s°C=Temperatur\: %s°C Temperature_gauge=Temperaturanzeige Thermal_isolator_slot=Thermischer Isolator Slot Toggle=Umschalten @@ -825,5 +825,5 @@ Used_to_cool_down_turbines.=Kann Turbinen kühlen. Uses_the_biggest\nvalue_on_the_channel.=Benutzt den grössten\nWert auf dem Funkkanal. Uses_the_smallest\nvalue_on_the_channel.=Benutzt den kleinsten \nWert auf dem Funkkanal. Validate=Validieren -Voltage\:_%1$V=Spannung\: %1$V +Voltage\:_%sV=Spannung\: %sV You_can't_place_this_block_at_this_side=Der Block kann an dieser Seite nicht platziert werden diff --git a/src/main/resources/assets/eln/lang/el.lang b/src/main/resources/assets/eln/lang/el.lang index a0fcdd29b..f4e769aa7 100644 --- a/src/main/resources/assets/eln/lang/el.lang +++ b/src/main/resources/assets/eln/lang/el.lang @@ -287,21 +287,21 @@ tile.eln.EnergyConverterElnToOtherLVUBlock.name=50V Electrical Age to other ener tile.eln.EnergyConverterElnToOtherMVUBlock.name=200V Electrical Age to other energy exporter # ./src/main/java/mods/eln/i18n/I18N.java -You_have_%1$_lives_left=You have %1$ lives left +You_have_%s_lives_left=You have %s lives left # ./src/main/java/mods/eln/item/BrushDescriptor.java Brush_is_dry=Brush is dry -Can_paint_%1$_blocks=Can paint %1$ blocks +Can_paint_%s_blocks=Can paint %s blocks # ./src/main/java/mods/eln/item/CombustionChamber.java Upgrade_for_the_Stone_Heat_Furnace.=Upgrade for the Stone Heat Furnace. # ./src/main/java/mods/eln/item/ElectricalDrillDescriptor.java -Energy_per_operation\:_%1$J=Energy per operation\: %1$J -Time_per_operation\:_%1$s=Time per operation\: %1$s +Energy_per_operation\:_%sJ=Energy per operation\: %sJ +Time_per_operation\:_%ss=Time per operation\: %ss # ./src/main/java/mods/eln/item/FerromagneticCoreDescriptor.java -Cable_loss_factor\:_%1$=Cable loss factor\: %1$ +Cable_loss_factor\:_%s=Cable loss factor\: %s # ./src/main/java/mods/eln/item/HeatingCorpElement.java @@ -311,8 +311,8 @@ Condition\:=Condition\: End_of_life=End of life Good=Good New=New -Nominal_lifetime\:_%1$h=Nominal lifetime\: %1$h -Technology\:_%1$=Technology\: %1$ +Nominal_lifetime\:_%sh=Nominal lifetime\: %sh +Technology\:_%s=Technology\: %s Used=Used # ./src/main/java/mods/eln/item/LampSlot.java @@ -333,7 +333,7 @@ Solar_panel_upgrade=Solar panel upgrade Off=Off On=On State\:=State\: -Stored_Energy\:_%1$J_(%2$%)=Stored Energy\: %1$J (%2$%) +Stored_Energy\:_%sJ_(%s)=Stored Energy\: %sJ (%s) # ./src/main/java/mods/eln/item/regulator/RegulatorSlot.java @@ -346,7 +346,7 @@ mod.name=Electrical Age # ./src/main/java/mods/eln/node/six/SixNodeDescriptor.java # ./src/main/java/mods/eln/simplenode/energyconverter/EnergyConverterElnToOtherGui.java -Input_power_is_limited_to_%1$W=Input power is limited to %1$W +Input_power_is_limited_to_%sW=Input power is limited to %sW # ./src/main/java/mods/eln/sixnode/LogicGate.kt _O\:_= O\: @@ -386,12 +386,12 @@ Switch_is_off=Switch is off Switch_is_on=Switch is on # ./src/main/java/mods/eln/sixnode/electricalcable/ElectricalCableDescriptor.java -A_signal_is_electrical_information\nwhich_must_be_between_0V_and_%1$V=A signal is electrical information\nwhich must be between 0V and %1$V +A_signal_is_electrical_information\nwhich_must_be_between_0V_and_%sV=A signal is electrical information\nwhich must be between 0V and %sV Cable_is_adapted_to_conduct\nelectrical_signals.=Cable is adapted to conduct\nelectrical signals. -Current\:_%1$A=Current\: %1$A +Current\:_%sA=Current\: %sA Not_adapted_to_transport_power.=Not adapted to transport power. Save_usage\:=Save usage\: -Serial_resistance\:_%1$Ω=Serial resistance\: %1$Ω +Serial_resistance\:_%sΩ=Serial resistance\: %sΩ # ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerDescriptor.java It_can_store_up_to_256_points.=It can store up to 256 points. @@ -423,10 +423,10 @@ Output_voltage_increases\nif_a_fire_has_been_detected.=Output voltage increases\ Provides_configurable_signal\nvoltage.=Provides configurable signal\nvoltage. # ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceGui.java -Output_at_%1$%=Output at %1$% +Output_at_%s=Output at %s # ./src/main/java/mods/eln/sixnode/electricallightsensor/ElectricalLightSensorDescriptor.java -0V_at_night,_%1$V_at_noon.=0V at night, %1$V at noon. +0V_at_night,_%sV_at_noon.=0V at night, %sV at noon. Provides_an_electrical_voltage\nin_the_presence_of_light.=Provides an electrical voltage\nin the presence of light. Provides_an_electrical_voltage\nwhich_is_proportional_to\nthe_intensity_of_daylight.=Provides an electrical voltage\nwhich is proportional to\nthe intensity of daylight. @@ -439,7 +439,7 @@ Applicable_mathematical_operators\:=Applicable mathematical operators\: Calculates_an_output_signal_from\n3_inputs_(A,_B,_C)_using_an_equation.=Calculates an output signal from\n3 inputs (A, B, C) using an equation. # ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathGui.java -%1$_Redstone(s)_required=%1$ Redstone(s) required +%s_Redstone(s)_required=%s Redstone(s) required Equation_required!=Equation required\! Inputs_are=Inputs are Invalid_equation!=Invalid equation\! @@ -483,13 +483,13 @@ Displays_the_value_of_a_signal.=Displays the value of a signal. Portable_battery_slot=Portable battery slot # ./src/main/java/mods/eln/sixnode/electricalweathersensor/ElectricalWeatherSensorDescriptor.java -Clear\:_%1$V=Clear\: %1$V +Clear\:_%sV=Clear\: %sV Provides_an_electrical_signal\ndepending_the_actual_weather.=Provides an electrical signal\ndepending the actual weather. -Rain\:_%1$V=Rain\: %1$V -Storm\:_%1$V=Storm\: %1$V +Rain\:_%sV=Rain\: %sV +Storm\:_%sV=Storm\: %sV # ./src/main/java/mods/eln/sixnode/electricalwindsensor/ElectricalWindSensorDescriptor.java -Maximum_wind_speed_is_%1$m_s=Maximum wind speed is %1$m/s +Maximum_wind_speed_is_%sm_s=Maximum wind speed is %sm/s Provides_an_electrical_signal\ndependant_on_wind_speed.=Provides an electrical signal\ndependant on wind speed. You_can't_place_this_block_on_the_floor_or_the_ceiling=You can't place this block on the floor or the ceiling @@ -508,7 +508,7 @@ Voltage=Voltage Change_password=Change password Counter_Mode=Counter Mode Counts_the_energy_conducted_from\n\u00a74red\u00a7f_to_\u00a71blue\u00a7f.=Counts the energy conducted from\n\\u00a74red\\u00a7f to \\u00a71blue\\u00a7f. -Energy_counter\:_%1$J=Energy counter\: %1$J +Energy_counter\:_%sJ=Energy counter\: %sJ Enter_new_energy=Enter new energy Enter_password=Enter password Prepay_Mode=Prepay Mode @@ -529,13 +529,13 @@ Provides_a_zero_volt_reference.=Provides a zero volt reference. Allows_crossing_cables\non_one_single_block.=Allows crossing cables\non one single block. # ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketDescriptor.java -Angle\:_%1$°_to_%2$°=Angle\: %1$° to %2$° -Spot_range\:_%1$_blocks=Spot range\: %1$ blocks +Angle\:_%s°_to_%s°=Angle\: %s° to %s° +Spot_range\:_%s_blocks=Spot range\: %s blocks # ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketGuiDraw.java -%1$_is_not_in_range!=%1$ is not in range\! +%s_is_not_in_range!=%s is not in range\! Cable_slot_empty=Cable slot empty -Orientation\:_%1$°=Orientation\: %1$° +Orientation\:_%s°=Orientation\: %s° Parallel=Parallel Powered_by_Lamp_Supply=Powered by Lamp Supply Powered_by_cable=Powered by cable @@ -584,8 +584,8 @@ Coal_dust_slot=Coal dust slot # ./src/main/java/mods/eln/sixnode/thermalcable/ThermalCableDescriptor.java High_parallel_resistance\n_\=>_Low_power_dissipation.=High parallel resistance\n \=> Low power dissipation. Low_serial_resistance\n_\=>_High_conductivity.=Low serial resistance\n \=> High conductivity. -Parallel_resistance\:_%1$K_W=Parallel resistance\: %1$K/W -Serial_resistance\:_%1$K_W=Serial resistance\: %1$K/W +Parallel_resistance\:_%sK_W=Parallel resistance\: %sK/W +Serial_resistance\:_%sK_W=Serial resistance\: %sK/W # ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorContainer.java Cable_slot=Cable slot @@ -610,12 +610,12 @@ Set_beacon_name=Set beacon name # ./src/main/java/mods/eln/sixnode/wirelesssignal/rx/WirelessSignalRxGui.java # ./src/main/java/mods/eln/transparentnode/FuelGenerator.kt -Nominal_power\:_%1$_W=Nominal power\: %1$ W -Nominal_voltage\:_%1$_V=Nominal voltage\: %1$ V +Nominal_power\:_%s_W=Nominal power\: %s W +Nominal_voltage\:_%s_V=Nominal voltage\: %s V Produces_electricity_using_fuel.=Produces electricity using fuel. # ./src/main/java/mods/eln/transparentnode/LargeRheostat.kt -Nom._Resistance\:_%1$=Nom. Resistance\: %1$ +Nom._Resistance\:_%s=Nom. Resistance\: %s # ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerContainer.java Drill_slot=Drill slot @@ -637,16 +637,16 @@ Overheating_protection=Overheating protection Overvoltage_protection=Overvoltage protection # ./src/main/java/mods/eln/transparentnode/battery/BatteryDescriptor.java -Actual_charge\:_%1$%=Actual charge\: %1$% -Energy_capacity\:_%1$J=Energy capacity\: %1$J -_charged_at_%1$%=charged at %1$% +Actual_charge\:_%s=Actual charge\: %s +Energy_capacity\:_%sJ=Energy capacity\: %sJ +_charged_at_%s=charged at %s # ./src/main/java/mods/eln/transparentnode/battery/BatteryGuiDraw.java Charge=Charge Charged=Charged Discharge=Discharge Energy\:=Energy\: -Energy\:_%1$=Energy\: %1$ +Energy\:_%s=Energy\: %s Life\:=Life\: No_charge=No charge Power_in\:=Power in\: @@ -659,7 +659,7 @@ Egg_slot=Egg slot Wireless_energy_receiver.=Wireless energy receiver. # ./src/main/java/mods/eln/transparentnode/electricalantennatx/ElectricalAntennaTxDescriptor.java -Efficiency\:_%1$%_up_to_%2$%=Efficiency\: %1$% up to %2$% +Efficiency\:_%s_up_to_%s=Efficiency\: %s up to %s Wireless_energy_transmitter.=Wireless energy transmitter. # ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceContainer.java @@ -671,7 +671,7 @@ Similar_to_a_vanilla_furnace,\nbut_heats_with_electricity.=Similar to a vanilla # ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceGuiDraw.java Auto_shutdown=Auto shutdown Manual_shutdown=Manual shutdown -Set_point\:_%1$°C=Set point\: %1$°C +Set_point\:_%s°C=Set point\: %s°C # ./src/main/java/mods/eln/transparentnode/electricalmachine/ElectricalMachineDescriptor.java Cost=Cost @@ -684,7 +684,7 @@ Fuel_slot=Fuel slot Generates_heat_when_supplied_with_fuel.=Generates heat when supplied with fuel. # ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceGuiDraw.java -Control_gauge_at_%1$%=Control gauge at %1$% +Control_gauge_at_%s=Control gauge at %s Decline_fuel=Decline fuel External_control=External control Internal_control=Internal control @@ -698,27 +698,27 @@ Solar_tracker_slot=Solar tracker slot # ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelDescriptor.java Can_be_geared_towards_the_sun.=Can be geared towards the sun. -Max._power\:_%1$W=Max. power\: %1$W -Max._voltage\:_%1$V=Max. voltage\: %1$V +Max._power\:_%sW=Max. power\: %sW +Max._voltage\:_%sV=Max. voltage\: %sV Produces_power_from_solar_radiation.=Produces power from solar radiation. # ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPannelGuiDraw.java It_is_night=It is night -Solar_panel_angle\:_%1$°=Solar panel angle\: %1$° -Sun_angle\:_%1$°=Sun angle\: %1$° +Solar_panel_angle\:_%s°=Solar panel angle\: %s° +Sun_angle\:_%s°=Sun angle\: %s° # ./src/main/java/mods/eln/transparentnode/teleporter/TeleporterGui.java Destination_transporter=Destination transporter Power_consumption\:=Power consumption\: -Power_consumption\:_%1$W=Power consumption\: %1$W -Required_energy\:_%1$J=Required energy\: %1$J +Power_consumption\:_%sW=Power consumption\: %sW +Required_energy\:_%sJ=Required energy\: %sJ Start=Start Transporter_name=Transporter name # ./src/main/java/mods/eln/transparentnode/thermaldissipatoractive/ThermalDissipatorActiveDescriptor.java -Fan_cooling_power\:_%1$W=Fan cooling power\: %1$W -Fan_power_consumption\:_%1$W=Fan power consumption\: %1$W -Fan_voltage\:_%1$V=Fan voltage\: %1$V +Fan_cooling_power\:_%sW=Fan cooling power\: %sW +Fan_power_consumption\:_%sW=Fan power consumption\: %sW +Fan_voltage\:_%sV=Fan voltage\: %sV # ./src/main/java/mods/eln/transparentnode/transformer/TransformerDescriptor.java The_voltage_ratio_is_proportional\nto_the_cable_stacks_count_ratio.=The voltage ratio is proportional\nto the cable stacks count ratio. @@ -726,13 +726,13 @@ Transforms_an_input_voltage_to\nan_output_voltage.=Transforms an input voltage t # ./src/main/java/mods/eln/transparentnode/turbine/TurbineDescriptor.java Generates_electricity_using_heat.=Generates electricity using heat. -Temperature_difference\:_%1$°C=Temperature difference\: %1$°C +Temperature_difference\:_%s°C=Temperature difference\: %s°C # ./src/main/java/mods/eln/transparentnode/turret/TurretDescriptor.java CAUTION\:_Cables_can_get_quite_hot!=CAUTION\: Cables can get quite hot\! -Laser_charge_power\:_%1$W...%2$kW=Laser charge power\: %1$W...%2$kW +Laser_charge_power\:_%sW...%skW=Laser charge power\: %sW...%skW Scans_for_entities_and_shoots_if_the\nentity_matches_the_configurable_filter_criteria.=Scans for entities and shoots if the\nentity matches the configurable filter criteria. -Standby_power\:_%1$W=Standby power\: %1$W +Standby_power\:_%sW=Standby power\: %sW # ./src/main/java/mods/eln/transparentnode/turret/TurretGui.java Attack\:=Attack\: @@ -744,10 +744,10 @@ Generates_energy_using_water_stream.=Generates energy using water stream. No_place_for_water_turbine!=No place for water turbine\! # ./src/main/java/mods/eln/transparentnode/windturbine/WindTurbineDescriptor.java -Front\:_%1$=Front\: %1$ +Front\:_%s=Front\: %s Generates_energy_from_wind.=Generates energy from wind. -Left_Right\:_%1$=Left/Right\: %1$ -Up_Down\:_%1$=Up/Down\: %1$ +Left_Right\:_%s=Left/Right\: %s +Up_Down\:_%s=Up/Down\: %s Wind_area\:=Wind area\: # ./src/main/java/mods/eln/wiki/Data.java @@ -769,7 +769,7 @@ Previous=Previous # ./src/main/java/mods/eln/wiki/ItemDefault.java Can_be_used_to_craft\:=Can be used to craft\: Cannot_be_crafted!=Cannot be crafted\! -Cost_%1$J=Cost %1$J +Cost_%sJ=Cost %sJ Created_by\:=Created by\: Is_not_a_crafting_material!=Is not a crafting material\! Recipe\:=Recipe\: @@ -777,45 +777,45 @@ Recipe\:=Recipe\: # Appearing in multiple source files (Increases_capacity)=(Increases capacity) (Increases_inductance)=(Increases inductance) -Actual\:_%1$°C=Actual\: %1$°C +Actual\:_%s°C=Actual\: %s°C Biggest=Biggest Booster_slot=Booster slot Can_create\:=Can create\: -Capacity\:_%1$F=Capacity\: %1$F -Charge_power\:_%1$W=Charge power\: %1$W +Capacity\:_%sF=Capacity\: %sF +Charge_power\:_%sW=Charge power\: %sW Connected=Connected -Cooling_power\:_%1$W=Cooling power\: %1$W +Cooling_power\:_%sW=Cooling power\: %sW Copper_cable_slot=Copper cable slot Dielectric_slot=Dielectric slot -Discharge_power\:_%1$W=Discharge power\: %1$W +Discharge_power\:_%sW=Discharge power\: %sW Electrical_cable_slot=Electrical cable slot Entity_filter_slot=Entity filter slot Ferromagnetic_core_slot=Ferromagnetic core slot Has_a_signal_output.=Has a signal output. -Inductance\:_%1$H=Inductance\: %1$H -Internal_resistance\:_%1$Ω=Internal resistance\: %1$Ω +Inductance\:_%sH=Inductance\: %sH +Internal_resistance\:_%sΩ=Internal resistance\: %sΩ Is_off=Is off Is_on=Is on -Max._temperature\:_%1$°C=Max. temperature\: %1$°C +Max._temperature\:_%s°C=Max. temperature\: %s°C Measured_value\ncorresponding\nto_0%_output=Measured value\ncorresponding\nto 0% output Measured_value\ncorresponding\nto_100%_output=Measured value\ncorresponding\nto 100% output Nominal\:=Nominal\: -Nominal_power\:_%1$W=Nominal power\: %1$W +Nominal_power\:_%sW=Nominal power\: %sW Nominal_usage\:=Nominal usage\: -Nominal_voltage\:_%1$V=Nominal voltage\: %1$V +Nominal_voltage\:_%sV=Nominal voltage\: %sV Not_connected=Not connected Not_enough_space_for_this_block=Not enough space for this block Power=Power -Power\:_%1$W=Power\: %1$W -Range\:_%1$_blocks=Range\: %1$ blocks +Power\:_%sW=Power\: %sW +Range\:_%s_blocks=Range\: %s blocks Redstone_slot=Redstone slot Regulator_slot=Regulator slot Reset=Reset -Resistance\:_%1$Ω=Resistance\: %1$Ω +Resistance\:_%sΩ=Resistance\: %sΩ Smallest=Smallest Specify_the_channel=Specify the channel -Stored_energy\:_%1$J_(%2$%)=Stored energy\: %1$J (%2$%) -Temperature\:_%1$°C=Temperature\: %1$°C +Stored_energy\:_%sJ_(%s)=Stored energy\: %sJ (%s) +Temperature\:_%s°C=Temperature\: %s°C Temperature_gauge=Temperature gauge Thermal_isolator_slot=Thermal isolator slot Toggle=Toggle @@ -825,5 +825,5 @@ Used_to_cool_down_turbines.=Used to cool down turbines. Uses_the_biggest\nvalue_on_the_channel.=Uses the biggest\nvalue on the channel. Uses_the_smallest\nvalue_on_the_channel.=Uses the smallest\nvalue on the channel. Validate=Validate -Voltage\:_%1$V=Voltage\: %1$V +Voltage\:_%sV=Voltage\: %sV You_can't_place_this_block_at_this_side=You can't place this block at this side diff --git a/src/main/resources/assets/eln/lang/el_GR.lang b/src/main/resources/assets/eln/lang/el_GR.lang index a0fcdd29b..f4e769aa7 100644 --- a/src/main/resources/assets/eln/lang/el_GR.lang +++ b/src/main/resources/assets/eln/lang/el_GR.lang @@ -287,21 +287,21 @@ tile.eln.EnergyConverterElnToOtherLVUBlock.name=50V Electrical Age to other ener tile.eln.EnergyConverterElnToOtherMVUBlock.name=200V Electrical Age to other energy exporter # ./src/main/java/mods/eln/i18n/I18N.java -You_have_%1$_lives_left=You have %1$ lives left +You_have_%s_lives_left=You have %s lives left # ./src/main/java/mods/eln/item/BrushDescriptor.java Brush_is_dry=Brush is dry -Can_paint_%1$_blocks=Can paint %1$ blocks +Can_paint_%s_blocks=Can paint %s blocks # ./src/main/java/mods/eln/item/CombustionChamber.java Upgrade_for_the_Stone_Heat_Furnace.=Upgrade for the Stone Heat Furnace. # ./src/main/java/mods/eln/item/ElectricalDrillDescriptor.java -Energy_per_operation\:_%1$J=Energy per operation\: %1$J -Time_per_operation\:_%1$s=Time per operation\: %1$s +Energy_per_operation\:_%sJ=Energy per operation\: %sJ +Time_per_operation\:_%ss=Time per operation\: %ss # ./src/main/java/mods/eln/item/FerromagneticCoreDescriptor.java -Cable_loss_factor\:_%1$=Cable loss factor\: %1$ +Cable_loss_factor\:_%s=Cable loss factor\: %s # ./src/main/java/mods/eln/item/HeatingCorpElement.java @@ -311,8 +311,8 @@ Condition\:=Condition\: End_of_life=End of life Good=Good New=New -Nominal_lifetime\:_%1$h=Nominal lifetime\: %1$h -Technology\:_%1$=Technology\: %1$ +Nominal_lifetime\:_%sh=Nominal lifetime\: %sh +Technology\:_%s=Technology\: %s Used=Used # ./src/main/java/mods/eln/item/LampSlot.java @@ -333,7 +333,7 @@ Solar_panel_upgrade=Solar panel upgrade Off=Off On=On State\:=State\: -Stored_Energy\:_%1$J_(%2$%)=Stored Energy\: %1$J (%2$%) +Stored_Energy\:_%sJ_(%s)=Stored Energy\: %sJ (%s) # ./src/main/java/mods/eln/item/regulator/RegulatorSlot.java @@ -346,7 +346,7 @@ mod.name=Electrical Age # ./src/main/java/mods/eln/node/six/SixNodeDescriptor.java # ./src/main/java/mods/eln/simplenode/energyconverter/EnergyConverterElnToOtherGui.java -Input_power_is_limited_to_%1$W=Input power is limited to %1$W +Input_power_is_limited_to_%sW=Input power is limited to %sW # ./src/main/java/mods/eln/sixnode/LogicGate.kt _O\:_= O\: @@ -386,12 +386,12 @@ Switch_is_off=Switch is off Switch_is_on=Switch is on # ./src/main/java/mods/eln/sixnode/electricalcable/ElectricalCableDescriptor.java -A_signal_is_electrical_information\nwhich_must_be_between_0V_and_%1$V=A signal is electrical information\nwhich must be between 0V and %1$V +A_signal_is_electrical_information\nwhich_must_be_between_0V_and_%sV=A signal is electrical information\nwhich must be between 0V and %sV Cable_is_adapted_to_conduct\nelectrical_signals.=Cable is adapted to conduct\nelectrical signals. -Current\:_%1$A=Current\: %1$A +Current\:_%sA=Current\: %sA Not_adapted_to_transport_power.=Not adapted to transport power. Save_usage\:=Save usage\: -Serial_resistance\:_%1$Ω=Serial resistance\: %1$Ω +Serial_resistance\:_%sΩ=Serial resistance\: %sΩ # ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerDescriptor.java It_can_store_up_to_256_points.=It can store up to 256 points. @@ -423,10 +423,10 @@ Output_voltage_increases\nif_a_fire_has_been_detected.=Output voltage increases\ Provides_configurable_signal\nvoltage.=Provides configurable signal\nvoltage. # ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceGui.java -Output_at_%1$%=Output at %1$% +Output_at_%s=Output at %s # ./src/main/java/mods/eln/sixnode/electricallightsensor/ElectricalLightSensorDescriptor.java -0V_at_night,_%1$V_at_noon.=0V at night, %1$V at noon. +0V_at_night,_%sV_at_noon.=0V at night, %sV at noon. Provides_an_electrical_voltage\nin_the_presence_of_light.=Provides an electrical voltage\nin the presence of light. Provides_an_electrical_voltage\nwhich_is_proportional_to\nthe_intensity_of_daylight.=Provides an electrical voltage\nwhich is proportional to\nthe intensity of daylight. @@ -439,7 +439,7 @@ Applicable_mathematical_operators\:=Applicable mathematical operators\: Calculates_an_output_signal_from\n3_inputs_(A,_B,_C)_using_an_equation.=Calculates an output signal from\n3 inputs (A, B, C) using an equation. # ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathGui.java -%1$_Redstone(s)_required=%1$ Redstone(s) required +%s_Redstone(s)_required=%s Redstone(s) required Equation_required!=Equation required\! Inputs_are=Inputs are Invalid_equation!=Invalid equation\! @@ -483,13 +483,13 @@ Displays_the_value_of_a_signal.=Displays the value of a signal. Portable_battery_slot=Portable battery slot # ./src/main/java/mods/eln/sixnode/electricalweathersensor/ElectricalWeatherSensorDescriptor.java -Clear\:_%1$V=Clear\: %1$V +Clear\:_%sV=Clear\: %sV Provides_an_electrical_signal\ndepending_the_actual_weather.=Provides an electrical signal\ndepending the actual weather. -Rain\:_%1$V=Rain\: %1$V -Storm\:_%1$V=Storm\: %1$V +Rain\:_%sV=Rain\: %sV +Storm\:_%sV=Storm\: %sV # ./src/main/java/mods/eln/sixnode/electricalwindsensor/ElectricalWindSensorDescriptor.java -Maximum_wind_speed_is_%1$m_s=Maximum wind speed is %1$m/s +Maximum_wind_speed_is_%sm_s=Maximum wind speed is %sm/s Provides_an_electrical_signal\ndependant_on_wind_speed.=Provides an electrical signal\ndependant on wind speed. You_can't_place_this_block_on_the_floor_or_the_ceiling=You can't place this block on the floor or the ceiling @@ -508,7 +508,7 @@ Voltage=Voltage Change_password=Change password Counter_Mode=Counter Mode Counts_the_energy_conducted_from\n\u00a74red\u00a7f_to_\u00a71blue\u00a7f.=Counts the energy conducted from\n\\u00a74red\\u00a7f to \\u00a71blue\\u00a7f. -Energy_counter\:_%1$J=Energy counter\: %1$J +Energy_counter\:_%sJ=Energy counter\: %sJ Enter_new_energy=Enter new energy Enter_password=Enter password Prepay_Mode=Prepay Mode @@ -529,13 +529,13 @@ Provides_a_zero_volt_reference.=Provides a zero volt reference. Allows_crossing_cables\non_one_single_block.=Allows crossing cables\non one single block. # ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketDescriptor.java -Angle\:_%1$°_to_%2$°=Angle\: %1$° to %2$° -Spot_range\:_%1$_blocks=Spot range\: %1$ blocks +Angle\:_%s°_to_%s°=Angle\: %s° to %s° +Spot_range\:_%s_blocks=Spot range\: %s blocks # ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketGuiDraw.java -%1$_is_not_in_range!=%1$ is not in range\! +%s_is_not_in_range!=%s is not in range\! Cable_slot_empty=Cable slot empty -Orientation\:_%1$°=Orientation\: %1$° +Orientation\:_%s°=Orientation\: %s° Parallel=Parallel Powered_by_Lamp_Supply=Powered by Lamp Supply Powered_by_cable=Powered by cable @@ -584,8 +584,8 @@ Coal_dust_slot=Coal dust slot # ./src/main/java/mods/eln/sixnode/thermalcable/ThermalCableDescriptor.java High_parallel_resistance\n_\=>_Low_power_dissipation.=High parallel resistance\n \=> Low power dissipation. Low_serial_resistance\n_\=>_High_conductivity.=Low serial resistance\n \=> High conductivity. -Parallel_resistance\:_%1$K_W=Parallel resistance\: %1$K/W -Serial_resistance\:_%1$K_W=Serial resistance\: %1$K/W +Parallel_resistance\:_%sK_W=Parallel resistance\: %sK/W +Serial_resistance\:_%sK_W=Serial resistance\: %sK/W # ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorContainer.java Cable_slot=Cable slot @@ -610,12 +610,12 @@ Set_beacon_name=Set beacon name # ./src/main/java/mods/eln/sixnode/wirelesssignal/rx/WirelessSignalRxGui.java # ./src/main/java/mods/eln/transparentnode/FuelGenerator.kt -Nominal_power\:_%1$_W=Nominal power\: %1$ W -Nominal_voltage\:_%1$_V=Nominal voltage\: %1$ V +Nominal_power\:_%s_W=Nominal power\: %s W +Nominal_voltage\:_%s_V=Nominal voltage\: %s V Produces_electricity_using_fuel.=Produces electricity using fuel. # ./src/main/java/mods/eln/transparentnode/LargeRheostat.kt -Nom._Resistance\:_%1$=Nom. Resistance\: %1$ +Nom._Resistance\:_%s=Nom. Resistance\: %s # ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerContainer.java Drill_slot=Drill slot @@ -637,16 +637,16 @@ Overheating_protection=Overheating protection Overvoltage_protection=Overvoltage protection # ./src/main/java/mods/eln/transparentnode/battery/BatteryDescriptor.java -Actual_charge\:_%1$%=Actual charge\: %1$% -Energy_capacity\:_%1$J=Energy capacity\: %1$J -_charged_at_%1$%=charged at %1$% +Actual_charge\:_%s=Actual charge\: %s +Energy_capacity\:_%sJ=Energy capacity\: %sJ +_charged_at_%s=charged at %s # ./src/main/java/mods/eln/transparentnode/battery/BatteryGuiDraw.java Charge=Charge Charged=Charged Discharge=Discharge Energy\:=Energy\: -Energy\:_%1$=Energy\: %1$ +Energy\:_%s=Energy\: %s Life\:=Life\: No_charge=No charge Power_in\:=Power in\: @@ -659,7 +659,7 @@ Egg_slot=Egg slot Wireless_energy_receiver.=Wireless energy receiver. # ./src/main/java/mods/eln/transparentnode/electricalantennatx/ElectricalAntennaTxDescriptor.java -Efficiency\:_%1$%_up_to_%2$%=Efficiency\: %1$% up to %2$% +Efficiency\:_%s_up_to_%s=Efficiency\: %s up to %s Wireless_energy_transmitter.=Wireless energy transmitter. # ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceContainer.java @@ -671,7 +671,7 @@ Similar_to_a_vanilla_furnace,\nbut_heats_with_electricity.=Similar to a vanilla # ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceGuiDraw.java Auto_shutdown=Auto shutdown Manual_shutdown=Manual shutdown -Set_point\:_%1$°C=Set point\: %1$°C +Set_point\:_%s°C=Set point\: %s°C # ./src/main/java/mods/eln/transparentnode/electricalmachine/ElectricalMachineDescriptor.java Cost=Cost @@ -684,7 +684,7 @@ Fuel_slot=Fuel slot Generates_heat_when_supplied_with_fuel.=Generates heat when supplied with fuel. # ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceGuiDraw.java -Control_gauge_at_%1$%=Control gauge at %1$% +Control_gauge_at_%s=Control gauge at %s Decline_fuel=Decline fuel External_control=External control Internal_control=Internal control @@ -698,27 +698,27 @@ Solar_tracker_slot=Solar tracker slot # ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelDescriptor.java Can_be_geared_towards_the_sun.=Can be geared towards the sun. -Max._power\:_%1$W=Max. power\: %1$W -Max._voltage\:_%1$V=Max. voltage\: %1$V +Max._power\:_%sW=Max. power\: %sW +Max._voltage\:_%sV=Max. voltage\: %sV Produces_power_from_solar_radiation.=Produces power from solar radiation. # ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPannelGuiDraw.java It_is_night=It is night -Solar_panel_angle\:_%1$°=Solar panel angle\: %1$° -Sun_angle\:_%1$°=Sun angle\: %1$° +Solar_panel_angle\:_%s°=Solar panel angle\: %s° +Sun_angle\:_%s°=Sun angle\: %s° # ./src/main/java/mods/eln/transparentnode/teleporter/TeleporterGui.java Destination_transporter=Destination transporter Power_consumption\:=Power consumption\: -Power_consumption\:_%1$W=Power consumption\: %1$W -Required_energy\:_%1$J=Required energy\: %1$J +Power_consumption\:_%sW=Power consumption\: %sW +Required_energy\:_%sJ=Required energy\: %sJ Start=Start Transporter_name=Transporter name # ./src/main/java/mods/eln/transparentnode/thermaldissipatoractive/ThermalDissipatorActiveDescriptor.java -Fan_cooling_power\:_%1$W=Fan cooling power\: %1$W -Fan_power_consumption\:_%1$W=Fan power consumption\: %1$W -Fan_voltage\:_%1$V=Fan voltage\: %1$V +Fan_cooling_power\:_%sW=Fan cooling power\: %sW +Fan_power_consumption\:_%sW=Fan power consumption\: %sW +Fan_voltage\:_%sV=Fan voltage\: %sV # ./src/main/java/mods/eln/transparentnode/transformer/TransformerDescriptor.java The_voltage_ratio_is_proportional\nto_the_cable_stacks_count_ratio.=The voltage ratio is proportional\nto the cable stacks count ratio. @@ -726,13 +726,13 @@ Transforms_an_input_voltage_to\nan_output_voltage.=Transforms an input voltage t # ./src/main/java/mods/eln/transparentnode/turbine/TurbineDescriptor.java Generates_electricity_using_heat.=Generates electricity using heat. -Temperature_difference\:_%1$°C=Temperature difference\: %1$°C +Temperature_difference\:_%s°C=Temperature difference\: %s°C # ./src/main/java/mods/eln/transparentnode/turret/TurretDescriptor.java CAUTION\:_Cables_can_get_quite_hot!=CAUTION\: Cables can get quite hot\! -Laser_charge_power\:_%1$W...%2$kW=Laser charge power\: %1$W...%2$kW +Laser_charge_power\:_%sW...%skW=Laser charge power\: %sW...%skW Scans_for_entities_and_shoots_if_the\nentity_matches_the_configurable_filter_criteria.=Scans for entities and shoots if the\nentity matches the configurable filter criteria. -Standby_power\:_%1$W=Standby power\: %1$W +Standby_power\:_%sW=Standby power\: %sW # ./src/main/java/mods/eln/transparentnode/turret/TurretGui.java Attack\:=Attack\: @@ -744,10 +744,10 @@ Generates_energy_using_water_stream.=Generates energy using water stream. No_place_for_water_turbine!=No place for water turbine\! # ./src/main/java/mods/eln/transparentnode/windturbine/WindTurbineDescriptor.java -Front\:_%1$=Front\: %1$ +Front\:_%s=Front\: %s Generates_energy_from_wind.=Generates energy from wind. -Left_Right\:_%1$=Left/Right\: %1$ -Up_Down\:_%1$=Up/Down\: %1$ +Left_Right\:_%s=Left/Right\: %s +Up_Down\:_%s=Up/Down\: %s Wind_area\:=Wind area\: # ./src/main/java/mods/eln/wiki/Data.java @@ -769,7 +769,7 @@ Previous=Previous # ./src/main/java/mods/eln/wiki/ItemDefault.java Can_be_used_to_craft\:=Can be used to craft\: Cannot_be_crafted!=Cannot be crafted\! -Cost_%1$J=Cost %1$J +Cost_%sJ=Cost %sJ Created_by\:=Created by\: Is_not_a_crafting_material!=Is not a crafting material\! Recipe\:=Recipe\: @@ -777,45 +777,45 @@ Recipe\:=Recipe\: # Appearing in multiple source files (Increases_capacity)=(Increases capacity) (Increases_inductance)=(Increases inductance) -Actual\:_%1$°C=Actual\: %1$°C +Actual\:_%s°C=Actual\: %s°C Biggest=Biggest Booster_slot=Booster slot Can_create\:=Can create\: -Capacity\:_%1$F=Capacity\: %1$F -Charge_power\:_%1$W=Charge power\: %1$W +Capacity\:_%sF=Capacity\: %sF +Charge_power\:_%sW=Charge power\: %sW Connected=Connected -Cooling_power\:_%1$W=Cooling power\: %1$W +Cooling_power\:_%sW=Cooling power\: %sW Copper_cable_slot=Copper cable slot Dielectric_slot=Dielectric slot -Discharge_power\:_%1$W=Discharge power\: %1$W +Discharge_power\:_%sW=Discharge power\: %sW Electrical_cable_slot=Electrical cable slot Entity_filter_slot=Entity filter slot Ferromagnetic_core_slot=Ferromagnetic core slot Has_a_signal_output.=Has a signal output. -Inductance\:_%1$H=Inductance\: %1$H -Internal_resistance\:_%1$Ω=Internal resistance\: %1$Ω +Inductance\:_%sH=Inductance\: %sH +Internal_resistance\:_%sΩ=Internal resistance\: %sΩ Is_off=Is off Is_on=Is on -Max._temperature\:_%1$°C=Max. temperature\: %1$°C +Max._temperature\:_%s°C=Max. temperature\: %s°C Measured_value\ncorresponding\nto_0%_output=Measured value\ncorresponding\nto 0% output Measured_value\ncorresponding\nto_100%_output=Measured value\ncorresponding\nto 100% output Nominal\:=Nominal\: -Nominal_power\:_%1$W=Nominal power\: %1$W +Nominal_power\:_%sW=Nominal power\: %sW Nominal_usage\:=Nominal usage\: -Nominal_voltage\:_%1$V=Nominal voltage\: %1$V +Nominal_voltage\:_%sV=Nominal voltage\: %sV Not_connected=Not connected Not_enough_space_for_this_block=Not enough space for this block Power=Power -Power\:_%1$W=Power\: %1$W -Range\:_%1$_blocks=Range\: %1$ blocks +Power\:_%sW=Power\: %sW +Range\:_%s_blocks=Range\: %s blocks Redstone_slot=Redstone slot Regulator_slot=Regulator slot Reset=Reset -Resistance\:_%1$Ω=Resistance\: %1$Ω +Resistance\:_%sΩ=Resistance\: %sΩ Smallest=Smallest Specify_the_channel=Specify the channel -Stored_energy\:_%1$J_(%2$%)=Stored energy\: %1$J (%2$%) -Temperature\:_%1$°C=Temperature\: %1$°C +Stored_energy\:_%sJ_(%s)=Stored energy\: %sJ (%s) +Temperature\:_%s°C=Temperature\: %s°C Temperature_gauge=Temperature gauge Thermal_isolator_slot=Thermal isolator slot Toggle=Toggle @@ -825,5 +825,5 @@ Used_to_cool_down_turbines.=Used to cool down turbines. Uses_the_biggest\nvalue_on_the_channel.=Uses the biggest\nvalue on the channel. Uses_the_smallest\nvalue_on_the_channel.=Uses the smallest\nvalue on the channel. Validate=Validate -Voltage\:_%1$V=Voltage\: %1$V +Voltage\:_%sV=Voltage\: %sV You_can't_place_this_block_at_this_side=You can't place this block at this side diff --git a/src/main/resources/assets/eln/lang/en.lang b/src/main/resources/assets/eln/lang/en.lang index a0fcdd29b..f4e769aa7 100644 --- a/src/main/resources/assets/eln/lang/en.lang +++ b/src/main/resources/assets/eln/lang/en.lang @@ -287,21 +287,21 @@ tile.eln.EnergyConverterElnToOtherLVUBlock.name=50V Electrical Age to other ener tile.eln.EnergyConverterElnToOtherMVUBlock.name=200V Electrical Age to other energy exporter # ./src/main/java/mods/eln/i18n/I18N.java -You_have_%1$_lives_left=You have %1$ lives left +You_have_%s_lives_left=You have %s lives left # ./src/main/java/mods/eln/item/BrushDescriptor.java Brush_is_dry=Brush is dry -Can_paint_%1$_blocks=Can paint %1$ blocks +Can_paint_%s_blocks=Can paint %s blocks # ./src/main/java/mods/eln/item/CombustionChamber.java Upgrade_for_the_Stone_Heat_Furnace.=Upgrade for the Stone Heat Furnace. # ./src/main/java/mods/eln/item/ElectricalDrillDescriptor.java -Energy_per_operation\:_%1$J=Energy per operation\: %1$J -Time_per_operation\:_%1$s=Time per operation\: %1$s +Energy_per_operation\:_%sJ=Energy per operation\: %sJ +Time_per_operation\:_%ss=Time per operation\: %ss # ./src/main/java/mods/eln/item/FerromagneticCoreDescriptor.java -Cable_loss_factor\:_%1$=Cable loss factor\: %1$ +Cable_loss_factor\:_%s=Cable loss factor\: %s # ./src/main/java/mods/eln/item/HeatingCorpElement.java @@ -311,8 +311,8 @@ Condition\:=Condition\: End_of_life=End of life Good=Good New=New -Nominal_lifetime\:_%1$h=Nominal lifetime\: %1$h -Technology\:_%1$=Technology\: %1$ +Nominal_lifetime\:_%sh=Nominal lifetime\: %sh +Technology\:_%s=Technology\: %s Used=Used # ./src/main/java/mods/eln/item/LampSlot.java @@ -333,7 +333,7 @@ Solar_panel_upgrade=Solar panel upgrade Off=Off On=On State\:=State\: -Stored_Energy\:_%1$J_(%2$%)=Stored Energy\: %1$J (%2$%) +Stored_Energy\:_%sJ_(%s)=Stored Energy\: %sJ (%s) # ./src/main/java/mods/eln/item/regulator/RegulatorSlot.java @@ -346,7 +346,7 @@ mod.name=Electrical Age # ./src/main/java/mods/eln/node/six/SixNodeDescriptor.java # ./src/main/java/mods/eln/simplenode/energyconverter/EnergyConverterElnToOtherGui.java -Input_power_is_limited_to_%1$W=Input power is limited to %1$W +Input_power_is_limited_to_%sW=Input power is limited to %sW # ./src/main/java/mods/eln/sixnode/LogicGate.kt _O\:_= O\: @@ -386,12 +386,12 @@ Switch_is_off=Switch is off Switch_is_on=Switch is on # ./src/main/java/mods/eln/sixnode/electricalcable/ElectricalCableDescriptor.java -A_signal_is_electrical_information\nwhich_must_be_between_0V_and_%1$V=A signal is electrical information\nwhich must be between 0V and %1$V +A_signal_is_electrical_information\nwhich_must_be_between_0V_and_%sV=A signal is electrical information\nwhich must be between 0V and %sV Cable_is_adapted_to_conduct\nelectrical_signals.=Cable is adapted to conduct\nelectrical signals. -Current\:_%1$A=Current\: %1$A +Current\:_%sA=Current\: %sA Not_adapted_to_transport_power.=Not adapted to transport power. Save_usage\:=Save usage\: -Serial_resistance\:_%1$Ω=Serial resistance\: %1$Ω +Serial_resistance\:_%sΩ=Serial resistance\: %sΩ # ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerDescriptor.java It_can_store_up_to_256_points.=It can store up to 256 points. @@ -423,10 +423,10 @@ Output_voltage_increases\nif_a_fire_has_been_detected.=Output voltage increases\ Provides_configurable_signal\nvoltage.=Provides configurable signal\nvoltage. # ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceGui.java -Output_at_%1$%=Output at %1$% +Output_at_%s=Output at %s # ./src/main/java/mods/eln/sixnode/electricallightsensor/ElectricalLightSensorDescriptor.java -0V_at_night,_%1$V_at_noon.=0V at night, %1$V at noon. +0V_at_night,_%sV_at_noon.=0V at night, %sV at noon. Provides_an_electrical_voltage\nin_the_presence_of_light.=Provides an electrical voltage\nin the presence of light. Provides_an_electrical_voltage\nwhich_is_proportional_to\nthe_intensity_of_daylight.=Provides an electrical voltage\nwhich is proportional to\nthe intensity of daylight. @@ -439,7 +439,7 @@ Applicable_mathematical_operators\:=Applicable mathematical operators\: Calculates_an_output_signal_from\n3_inputs_(A,_B,_C)_using_an_equation.=Calculates an output signal from\n3 inputs (A, B, C) using an equation. # ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathGui.java -%1$_Redstone(s)_required=%1$ Redstone(s) required +%s_Redstone(s)_required=%s Redstone(s) required Equation_required!=Equation required\! Inputs_are=Inputs are Invalid_equation!=Invalid equation\! @@ -483,13 +483,13 @@ Displays_the_value_of_a_signal.=Displays the value of a signal. Portable_battery_slot=Portable battery slot # ./src/main/java/mods/eln/sixnode/electricalweathersensor/ElectricalWeatherSensorDescriptor.java -Clear\:_%1$V=Clear\: %1$V +Clear\:_%sV=Clear\: %sV Provides_an_electrical_signal\ndepending_the_actual_weather.=Provides an electrical signal\ndepending the actual weather. -Rain\:_%1$V=Rain\: %1$V -Storm\:_%1$V=Storm\: %1$V +Rain\:_%sV=Rain\: %sV +Storm\:_%sV=Storm\: %sV # ./src/main/java/mods/eln/sixnode/electricalwindsensor/ElectricalWindSensorDescriptor.java -Maximum_wind_speed_is_%1$m_s=Maximum wind speed is %1$m/s +Maximum_wind_speed_is_%sm_s=Maximum wind speed is %sm/s Provides_an_electrical_signal\ndependant_on_wind_speed.=Provides an electrical signal\ndependant on wind speed. You_can't_place_this_block_on_the_floor_or_the_ceiling=You can't place this block on the floor or the ceiling @@ -508,7 +508,7 @@ Voltage=Voltage Change_password=Change password Counter_Mode=Counter Mode Counts_the_energy_conducted_from\n\u00a74red\u00a7f_to_\u00a71blue\u00a7f.=Counts the energy conducted from\n\\u00a74red\\u00a7f to \\u00a71blue\\u00a7f. -Energy_counter\:_%1$J=Energy counter\: %1$J +Energy_counter\:_%sJ=Energy counter\: %sJ Enter_new_energy=Enter new energy Enter_password=Enter password Prepay_Mode=Prepay Mode @@ -529,13 +529,13 @@ Provides_a_zero_volt_reference.=Provides a zero volt reference. Allows_crossing_cables\non_one_single_block.=Allows crossing cables\non one single block. # ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketDescriptor.java -Angle\:_%1$°_to_%2$°=Angle\: %1$° to %2$° -Spot_range\:_%1$_blocks=Spot range\: %1$ blocks +Angle\:_%s°_to_%s°=Angle\: %s° to %s° +Spot_range\:_%s_blocks=Spot range\: %s blocks # ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketGuiDraw.java -%1$_is_not_in_range!=%1$ is not in range\! +%s_is_not_in_range!=%s is not in range\! Cable_slot_empty=Cable slot empty -Orientation\:_%1$°=Orientation\: %1$° +Orientation\:_%s°=Orientation\: %s° Parallel=Parallel Powered_by_Lamp_Supply=Powered by Lamp Supply Powered_by_cable=Powered by cable @@ -584,8 +584,8 @@ Coal_dust_slot=Coal dust slot # ./src/main/java/mods/eln/sixnode/thermalcable/ThermalCableDescriptor.java High_parallel_resistance\n_\=>_Low_power_dissipation.=High parallel resistance\n \=> Low power dissipation. Low_serial_resistance\n_\=>_High_conductivity.=Low serial resistance\n \=> High conductivity. -Parallel_resistance\:_%1$K_W=Parallel resistance\: %1$K/W -Serial_resistance\:_%1$K_W=Serial resistance\: %1$K/W +Parallel_resistance\:_%sK_W=Parallel resistance\: %sK/W +Serial_resistance\:_%sK_W=Serial resistance\: %sK/W # ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorContainer.java Cable_slot=Cable slot @@ -610,12 +610,12 @@ Set_beacon_name=Set beacon name # ./src/main/java/mods/eln/sixnode/wirelesssignal/rx/WirelessSignalRxGui.java # ./src/main/java/mods/eln/transparentnode/FuelGenerator.kt -Nominal_power\:_%1$_W=Nominal power\: %1$ W -Nominal_voltage\:_%1$_V=Nominal voltage\: %1$ V +Nominal_power\:_%s_W=Nominal power\: %s W +Nominal_voltage\:_%s_V=Nominal voltage\: %s V Produces_electricity_using_fuel.=Produces electricity using fuel. # ./src/main/java/mods/eln/transparentnode/LargeRheostat.kt -Nom._Resistance\:_%1$=Nom. Resistance\: %1$ +Nom._Resistance\:_%s=Nom. Resistance\: %s # ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerContainer.java Drill_slot=Drill slot @@ -637,16 +637,16 @@ Overheating_protection=Overheating protection Overvoltage_protection=Overvoltage protection # ./src/main/java/mods/eln/transparentnode/battery/BatteryDescriptor.java -Actual_charge\:_%1$%=Actual charge\: %1$% -Energy_capacity\:_%1$J=Energy capacity\: %1$J -_charged_at_%1$%=charged at %1$% +Actual_charge\:_%s=Actual charge\: %s +Energy_capacity\:_%sJ=Energy capacity\: %sJ +_charged_at_%s=charged at %s # ./src/main/java/mods/eln/transparentnode/battery/BatteryGuiDraw.java Charge=Charge Charged=Charged Discharge=Discharge Energy\:=Energy\: -Energy\:_%1$=Energy\: %1$ +Energy\:_%s=Energy\: %s Life\:=Life\: No_charge=No charge Power_in\:=Power in\: @@ -659,7 +659,7 @@ Egg_slot=Egg slot Wireless_energy_receiver.=Wireless energy receiver. # ./src/main/java/mods/eln/transparentnode/electricalantennatx/ElectricalAntennaTxDescriptor.java -Efficiency\:_%1$%_up_to_%2$%=Efficiency\: %1$% up to %2$% +Efficiency\:_%s_up_to_%s=Efficiency\: %s up to %s Wireless_energy_transmitter.=Wireless energy transmitter. # ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceContainer.java @@ -671,7 +671,7 @@ Similar_to_a_vanilla_furnace,\nbut_heats_with_electricity.=Similar to a vanilla # ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceGuiDraw.java Auto_shutdown=Auto shutdown Manual_shutdown=Manual shutdown -Set_point\:_%1$°C=Set point\: %1$°C +Set_point\:_%s°C=Set point\: %s°C # ./src/main/java/mods/eln/transparentnode/electricalmachine/ElectricalMachineDescriptor.java Cost=Cost @@ -684,7 +684,7 @@ Fuel_slot=Fuel slot Generates_heat_when_supplied_with_fuel.=Generates heat when supplied with fuel. # ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceGuiDraw.java -Control_gauge_at_%1$%=Control gauge at %1$% +Control_gauge_at_%s=Control gauge at %s Decline_fuel=Decline fuel External_control=External control Internal_control=Internal control @@ -698,27 +698,27 @@ Solar_tracker_slot=Solar tracker slot # ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelDescriptor.java Can_be_geared_towards_the_sun.=Can be geared towards the sun. -Max._power\:_%1$W=Max. power\: %1$W -Max._voltage\:_%1$V=Max. voltage\: %1$V +Max._power\:_%sW=Max. power\: %sW +Max._voltage\:_%sV=Max. voltage\: %sV Produces_power_from_solar_radiation.=Produces power from solar radiation. # ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPannelGuiDraw.java It_is_night=It is night -Solar_panel_angle\:_%1$°=Solar panel angle\: %1$° -Sun_angle\:_%1$°=Sun angle\: %1$° +Solar_panel_angle\:_%s°=Solar panel angle\: %s° +Sun_angle\:_%s°=Sun angle\: %s° # ./src/main/java/mods/eln/transparentnode/teleporter/TeleporterGui.java Destination_transporter=Destination transporter Power_consumption\:=Power consumption\: -Power_consumption\:_%1$W=Power consumption\: %1$W -Required_energy\:_%1$J=Required energy\: %1$J +Power_consumption\:_%sW=Power consumption\: %sW +Required_energy\:_%sJ=Required energy\: %sJ Start=Start Transporter_name=Transporter name # ./src/main/java/mods/eln/transparentnode/thermaldissipatoractive/ThermalDissipatorActiveDescriptor.java -Fan_cooling_power\:_%1$W=Fan cooling power\: %1$W -Fan_power_consumption\:_%1$W=Fan power consumption\: %1$W -Fan_voltage\:_%1$V=Fan voltage\: %1$V +Fan_cooling_power\:_%sW=Fan cooling power\: %sW +Fan_power_consumption\:_%sW=Fan power consumption\: %sW +Fan_voltage\:_%sV=Fan voltage\: %sV # ./src/main/java/mods/eln/transparentnode/transformer/TransformerDescriptor.java The_voltage_ratio_is_proportional\nto_the_cable_stacks_count_ratio.=The voltage ratio is proportional\nto the cable stacks count ratio. @@ -726,13 +726,13 @@ Transforms_an_input_voltage_to\nan_output_voltage.=Transforms an input voltage t # ./src/main/java/mods/eln/transparentnode/turbine/TurbineDescriptor.java Generates_electricity_using_heat.=Generates electricity using heat. -Temperature_difference\:_%1$°C=Temperature difference\: %1$°C +Temperature_difference\:_%s°C=Temperature difference\: %s°C # ./src/main/java/mods/eln/transparentnode/turret/TurretDescriptor.java CAUTION\:_Cables_can_get_quite_hot!=CAUTION\: Cables can get quite hot\! -Laser_charge_power\:_%1$W...%2$kW=Laser charge power\: %1$W...%2$kW +Laser_charge_power\:_%sW...%skW=Laser charge power\: %sW...%skW Scans_for_entities_and_shoots_if_the\nentity_matches_the_configurable_filter_criteria.=Scans for entities and shoots if the\nentity matches the configurable filter criteria. -Standby_power\:_%1$W=Standby power\: %1$W +Standby_power\:_%sW=Standby power\: %sW # ./src/main/java/mods/eln/transparentnode/turret/TurretGui.java Attack\:=Attack\: @@ -744,10 +744,10 @@ Generates_energy_using_water_stream.=Generates energy using water stream. No_place_for_water_turbine!=No place for water turbine\! # ./src/main/java/mods/eln/transparentnode/windturbine/WindTurbineDescriptor.java -Front\:_%1$=Front\: %1$ +Front\:_%s=Front\: %s Generates_energy_from_wind.=Generates energy from wind. -Left_Right\:_%1$=Left/Right\: %1$ -Up_Down\:_%1$=Up/Down\: %1$ +Left_Right\:_%s=Left/Right\: %s +Up_Down\:_%s=Up/Down\: %s Wind_area\:=Wind area\: # ./src/main/java/mods/eln/wiki/Data.java @@ -769,7 +769,7 @@ Previous=Previous # ./src/main/java/mods/eln/wiki/ItemDefault.java Can_be_used_to_craft\:=Can be used to craft\: Cannot_be_crafted!=Cannot be crafted\! -Cost_%1$J=Cost %1$J +Cost_%sJ=Cost %sJ Created_by\:=Created by\: Is_not_a_crafting_material!=Is not a crafting material\! Recipe\:=Recipe\: @@ -777,45 +777,45 @@ Recipe\:=Recipe\: # Appearing in multiple source files (Increases_capacity)=(Increases capacity) (Increases_inductance)=(Increases inductance) -Actual\:_%1$°C=Actual\: %1$°C +Actual\:_%s°C=Actual\: %s°C Biggest=Biggest Booster_slot=Booster slot Can_create\:=Can create\: -Capacity\:_%1$F=Capacity\: %1$F -Charge_power\:_%1$W=Charge power\: %1$W +Capacity\:_%sF=Capacity\: %sF +Charge_power\:_%sW=Charge power\: %sW Connected=Connected -Cooling_power\:_%1$W=Cooling power\: %1$W +Cooling_power\:_%sW=Cooling power\: %sW Copper_cable_slot=Copper cable slot Dielectric_slot=Dielectric slot -Discharge_power\:_%1$W=Discharge power\: %1$W +Discharge_power\:_%sW=Discharge power\: %sW Electrical_cable_slot=Electrical cable slot Entity_filter_slot=Entity filter slot Ferromagnetic_core_slot=Ferromagnetic core slot Has_a_signal_output.=Has a signal output. -Inductance\:_%1$H=Inductance\: %1$H -Internal_resistance\:_%1$Ω=Internal resistance\: %1$Ω +Inductance\:_%sH=Inductance\: %sH +Internal_resistance\:_%sΩ=Internal resistance\: %sΩ Is_off=Is off Is_on=Is on -Max._temperature\:_%1$°C=Max. temperature\: %1$°C +Max._temperature\:_%s°C=Max. temperature\: %s°C Measured_value\ncorresponding\nto_0%_output=Measured value\ncorresponding\nto 0% output Measured_value\ncorresponding\nto_100%_output=Measured value\ncorresponding\nto 100% output Nominal\:=Nominal\: -Nominal_power\:_%1$W=Nominal power\: %1$W +Nominal_power\:_%sW=Nominal power\: %sW Nominal_usage\:=Nominal usage\: -Nominal_voltage\:_%1$V=Nominal voltage\: %1$V +Nominal_voltage\:_%sV=Nominal voltage\: %sV Not_connected=Not connected Not_enough_space_for_this_block=Not enough space for this block Power=Power -Power\:_%1$W=Power\: %1$W -Range\:_%1$_blocks=Range\: %1$ blocks +Power\:_%sW=Power\: %sW +Range\:_%s_blocks=Range\: %s blocks Redstone_slot=Redstone slot Regulator_slot=Regulator slot Reset=Reset -Resistance\:_%1$Ω=Resistance\: %1$Ω +Resistance\:_%sΩ=Resistance\: %sΩ Smallest=Smallest Specify_the_channel=Specify the channel -Stored_energy\:_%1$J_(%2$%)=Stored energy\: %1$J (%2$%) -Temperature\:_%1$°C=Temperature\: %1$°C +Stored_energy\:_%sJ_(%s)=Stored energy\: %sJ (%s) +Temperature\:_%s°C=Temperature\: %s°C Temperature_gauge=Temperature gauge Thermal_isolator_slot=Thermal isolator slot Toggle=Toggle @@ -825,5 +825,5 @@ Used_to_cool_down_turbines.=Used to cool down turbines. Uses_the_biggest\nvalue_on_the_channel.=Uses the biggest\nvalue on the channel. Uses_the_smallest\nvalue_on_the_channel.=Uses the smallest\nvalue on the channel. Validate=Validate -Voltage\:_%1$V=Voltage\: %1$V +Voltage\:_%sV=Voltage\: %sV You_can't_place_this_block_at_this_side=You can't place this block at this side diff --git a/src/main/resources/assets/eln/lang/en_CA.lang b/src/main/resources/assets/eln/lang/en_CA.lang index a0fcdd29b..f4e769aa7 100644 --- a/src/main/resources/assets/eln/lang/en_CA.lang +++ b/src/main/resources/assets/eln/lang/en_CA.lang @@ -287,21 +287,21 @@ tile.eln.EnergyConverterElnToOtherLVUBlock.name=50V Electrical Age to other ener tile.eln.EnergyConverterElnToOtherMVUBlock.name=200V Electrical Age to other energy exporter # ./src/main/java/mods/eln/i18n/I18N.java -You_have_%1$_lives_left=You have %1$ lives left +You_have_%s_lives_left=You have %s lives left # ./src/main/java/mods/eln/item/BrushDescriptor.java Brush_is_dry=Brush is dry -Can_paint_%1$_blocks=Can paint %1$ blocks +Can_paint_%s_blocks=Can paint %s blocks # ./src/main/java/mods/eln/item/CombustionChamber.java Upgrade_for_the_Stone_Heat_Furnace.=Upgrade for the Stone Heat Furnace. # ./src/main/java/mods/eln/item/ElectricalDrillDescriptor.java -Energy_per_operation\:_%1$J=Energy per operation\: %1$J -Time_per_operation\:_%1$s=Time per operation\: %1$s +Energy_per_operation\:_%sJ=Energy per operation\: %sJ +Time_per_operation\:_%ss=Time per operation\: %ss # ./src/main/java/mods/eln/item/FerromagneticCoreDescriptor.java -Cable_loss_factor\:_%1$=Cable loss factor\: %1$ +Cable_loss_factor\:_%s=Cable loss factor\: %s # ./src/main/java/mods/eln/item/HeatingCorpElement.java @@ -311,8 +311,8 @@ Condition\:=Condition\: End_of_life=End of life Good=Good New=New -Nominal_lifetime\:_%1$h=Nominal lifetime\: %1$h -Technology\:_%1$=Technology\: %1$ +Nominal_lifetime\:_%sh=Nominal lifetime\: %sh +Technology\:_%s=Technology\: %s Used=Used # ./src/main/java/mods/eln/item/LampSlot.java @@ -333,7 +333,7 @@ Solar_panel_upgrade=Solar panel upgrade Off=Off On=On State\:=State\: -Stored_Energy\:_%1$J_(%2$%)=Stored Energy\: %1$J (%2$%) +Stored_Energy\:_%sJ_(%s)=Stored Energy\: %sJ (%s) # ./src/main/java/mods/eln/item/regulator/RegulatorSlot.java @@ -346,7 +346,7 @@ mod.name=Electrical Age # ./src/main/java/mods/eln/node/six/SixNodeDescriptor.java # ./src/main/java/mods/eln/simplenode/energyconverter/EnergyConverterElnToOtherGui.java -Input_power_is_limited_to_%1$W=Input power is limited to %1$W +Input_power_is_limited_to_%sW=Input power is limited to %sW # ./src/main/java/mods/eln/sixnode/LogicGate.kt _O\:_= O\: @@ -386,12 +386,12 @@ Switch_is_off=Switch is off Switch_is_on=Switch is on # ./src/main/java/mods/eln/sixnode/electricalcable/ElectricalCableDescriptor.java -A_signal_is_electrical_information\nwhich_must_be_between_0V_and_%1$V=A signal is electrical information\nwhich must be between 0V and %1$V +A_signal_is_electrical_information\nwhich_must_be_between_0V_and_%sV=A signal is electrical information\nwhich must be between 0V and %sV Cable_is_adapted_to_conduct\nelectrical_signals.=Cable is adapted to conduct\nelectrical signals. -Current\:_%1$A=Current\: %1$A +Current\:_%sA=Current\: %sA Not_adapted_to_transport_power.=Not adapted to transport power. Save_usage\:=Save usage\: -Serial_resistance\:_%1$Ω=Serial resistance\: %1$Ω +Serial_resistance\:_%sΩ=Serial resistance\: %sΩ # ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerDescriptor.java It_can_store_up_to_256_points.=It can store up to 256 points. @@ -423,10 +423,10 @@ Output_voltage_increases\nif_a_fire_has_been_detected.=Output voltage increases\ Provides_configurable_signal\nvoltage.=Provides configurable signal\nvoltage. # ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceGui.java -Output_at_%1$%=Output at %1$% +Output_at_%s=Output at %s # ./src/main/java/mods/eln/sixnode/electricallightsensor/ElectricalLightSensorDescriptor.java -0V_at_night,_%1$V_at_noon.=0V at night, %1$V at noon. +0V_at_night,_%sV_at_noon.=0V at night, %sV at noon. Provides_an_electrical_voltage\nin_the_presence_of_light.=Provides an electrical voltage\nin the presence of light. Provides_an_electrical_voltage\nwhich_is_proportional_to\nthe_intensity_of_daylight.=Provides an electrical voltage\nwhich is proportional to\nthe intensity of daylight. @@ -439,7 +439,7 @@ Applicable_mathematical_operators\:=Applicable mathematical operators\: Calculates_an_output_signal_from\n3_inputs_(A,_B,_C)_using_an_equation.=Calculates an output signal from\n3 inputs (A, B, C) using an equation. # ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathGui.java -%1$_Redstone(s)_required=%1$ Redstone(s) required +%s_Redstone(s)_required=%s Redstone(s) required Equation_required!=Equation required\! Inputs_are=Inputs are Invalid_equation!=Invalid equation\! @@ -483,13 +483,13 @@ Displays_the_value_of_a_signal.=Displays the value of a signal. Portable_battery_slot=Portable battery slot # ./src/main/java/mods/eln/sixnode/electricalweathersensor/ElectricalWeatherSensorDescriptor.java -Clear\:_%1$V=Clear\: %1$V +Clear\:_%sV=Clear\: %sV Provides_an_electrical_signal\ndepending_the_actual_weather.=Provides an electrical signal\ndepending the actual weather. -Rain\:_%1$V=Rain\: %1$V -Storm\:_%1$V=Storm\: %1$V +Rain\:_%sV=Rain\: %sV +Storm\:_%sV=Storm\: %sV # ./src/main/java/mods/eln/sixnode/electricalwindsensor/ElectricalWindSensorDescriptor.java -Maximum_wind_speed_is_%1$m_s=Maximum wind speed is %1$m/s +Maximum_wind_speed_is_%sm_s=Maximum wind speed is %sm/s Provides_an_electrical_signal\ndependant_on_wind_speed.=Provides an electrical signal\ndependant on wind speed. You_can't_place_this_block_on_the_floor_or_the_ceiling=You can't place this block on the floor or the ceiling @@ -508,7 +508,7 @@ Voltage=Voltage Change_password=Change password Counter_Mode=Counter Mode Counts_the_energy_conducted_from\n\u00a74red\u00a7f_to_\u00a71blue\u00a7f.=Counts the energy conducted from\n\\u00a74red\\u00a7f to \\u00a71blue\\u00a7f. -Energy_counter\:_%1$J=Energy counter\: %1$J +Energy_counter\:_%sJ=Energy counter\: %sJ Enter_new_energy=Enter new energy Enter_password=Enter password Prepay_Mode=Prepay Mode @@ -529,13 +529,13 @@ Provides_a_zero_volt_reference.=Provides a zero volt reference. Allows_crossing_cables\non_one_single_block.=Allows crossing cables\non one single block. # ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketDescriptor.java -Angle\:_%1$°_to_%2$°=Angle\: %1$° to %2$° -Spot_range\:_%1$_blocks=Spot range\: %1$ blocks +Angle\:_%s°_to_%s°=Angle\: %s° to %s° +Spot_range\:_%s_blocks=Spot range\: %s blocks # ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketGuiDraw.java -%1$_is_not_in_range!=%1$ is not in range\! +%s_is_not_in_range!=%s is not in range\! Cable_slot_empty=Cable slot empty -Orientation\:_%1$°=Orientation\: %1$° +Orientation\:_%s°=Orientation\: %s° Parallel=Parallel Powered_by_Lamp_Supply=Powered by Lamp Supply Powered_by_cable=Powered by cable @@ -584,8 +584,8 @@ Coal_dust_slot=Coal dust slot # ./src/main/java/mods/eln/sixnode/thermalcable/ThermalCableDescriptor.java High_parallel_resistance\n_\=>_Low_power_dissipation.=High parallel resistance\n \=> Low power dissipation. Low_serial_resistance\n_\=>_High_conductivity.=Low serial resistance\n \=> High conductivity. -Parallel_resistance\:_%1$K_W=Parallel resistance\: %1$K/W -Serial_resistance\:_%1$K_W=Serial resistance\: %1$K/W +Parallel_resistance\:_%sK_W=Parallel resistance\: %sK/W +Serial_resistance\:_%sK_W=Serial resistance\: %sK/W # ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorContainer.java Cable_slot=Cable slot @@ -610,12 +610,12 @@ Set_beacon_name=Set beacon name # ./src/main/java/mods/eln/sixnode/wirelesssignal/rx/WirelessSignalRxGui.java # ./src/main/java/mods/eln/transparentnode/FuelGenerator.kt -Nominal_power\:_%1$_W=Nominal power\: %1$ W -Nominal_voltage\:_%1$_V=Nominal voltage\: %1$ V +Nominal_power\:_%s_W=Nominal power\: %s W +Nominal_voltage\:_%s_V=Nominal voltage\: %s V Produces_electricity_using_fuel.=Produces electricity using fuel. # ./src/main/java/mods/eln/transparentnode/LargeRheostat.kt -Nom._Resistance\:_%1$=Nom. Resistance\: %1$ +Nom._Resistance\:_%s=Nom. Resistance\: %s # ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerContainer.java Drill_slot=Drill slot @@ -637,16 +637,16 @@ Overheating_protection=Overheating protection Overvoltage_protection=Overvoltage protection # ./src/main/java/mods/eln/transparentnode/battery/BatteryDescriptor.java -Actual_charge\:_%1$%=Actual charge\: %1$% -Energy_capacity\:_%1$J=Energy capacity\: %1$J -_charged_at_%1$%=charged at %1$% +Actual_charge\:_%s=Actual charge\: %s +Energy_capacity\:_%sJ=Energy capacity\: %sJ +_charged_at_%s=charged at %s # ./src/main/java/mods/eln/transparentnode/battery/BatteryGuiDraw.java Charge=Charge Charged=Charged Discharge=Discharge Energy\:=Energy\: -Energy\:_%1$=Energy\: %1$ +Energy\:_%s=Energy\: %s Life\:=Life\: No_charge=No charge Power_in\:=Power in\: @@ -659,7 +659,7 @@ Egg_slot=Egg slot Wireless_energy_receiver.=Wireless energy receiver. # ./src/main/java/mods/eln/transparentnode/electricalantennatx/ElectricalAntennaTxDescriptor.java -Efficiency\:_%1$%_up_to_%2$%=Efficiency\: %1$% up to %2$% +Efficiency\:_%s_up_to_%s=Efficiency\: %s up to %s Wireless_energy_transmitter.=Wireless energy transmitter. # ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceContainer.java @@ -671,7 +671,7 @@ Similar_to_a_vanilla_furnace,\nbut_heats_with_electricity.=Similar to a vanilla # ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceGuiDraw.java Auto_shutdown=Auto shutdown Manual_shutdown=Manual shutdown -Set_point\:_%1$°C=Set point\: %1$°C +Set_point\:_%s°C=Set point\: %s°C # ./src/main/java/mods/eln/transparentnode/electricalmachine/ElectricalMachineDescriptor.java Cost=Cost @@ -684,7 +684,7 @@ Fuel_slot=Fuel slot Generates_heat_when_supplied_with_fuel.=Generates heat when supplied with fuel. # ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceGuiDraw.java -Control_gauge_at_%1$%=Control gauge at %1$% +Control_gauge_at_%s=Control gauge at %s Decline_fuel=Decline fuel External_control=External control Internal_control=Internal control @@ -698,27 +698,27 @@ Solar_tracker_slot=Solar tracker slot # ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelDescriptor.java Can_be_geared_towards_the_sun.=Can be geared towards the sun. -Max._power\:_%1$W=Max. power\: %1$W -Max._voltage\:_%1$V=Max. voltage\: %1$V +Max._power\:_%sW=Max. power\: %sW +Max._voltage\:_%sV=Max. voltage\: %sV Produces_power_from_solar_radiation.=Produces power from solar radiation. # ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPannelGuiDraw.java It_is_night=It is night -Solar_panel_angle\:_%1$°=Solar panel angle\: %1$° -Sun_angle\:_%1$°=Sun angle\: %1$° +Solar_panel_angle\:_%s°=Solar panel angle\: %s° +Sun_angle\:_%s°=Sun angle\: %s° # ./src/main/java/mods/eln/transparentnode/teleporter/TeleporterGui.java Destination_transporter=Destination transporter Power_consumption\:=Power consumption\: -Power_consumption\:_%1$W=Power consumption\: %1$W -Required_energy\:_%1$J=Required energy\: %1$J +Power_consumption\:_%sW=Power consumption\: %sW +Required_energy\:_%sJ=Required energy\: %sJ Start=Start Transporter_name=Transporter name # ./src/main/java/mods/eln/transparentnode/thermaldissipatoractive/ThermalDissipatorActiveDescriptor.java -Fan_cooling_power\:_%1$W=Fan cooling power\: %1$W -Fan_power_consumption\:_%1$W=Fan power consumption\: %1$W -Fan_voltage\:_%1$V=Fan voltage\: %1$V +Fan_cooling_power\:_%sW=Fan cooling power\: %sW +Fan_power_consumption\:_%sW=Fan power consumption\: %sW +Fan_voltage\:_%sV=Fan voltage\: %sV # ./src/main/java/mods/eln/transparentnode/transformer/TransformerDescriptor.java The_voltage_ratio_is_proportional\nto_the_cable_stacks_count_ratio.=The voltage ratio is proportional\nto the cable stacks count ratio. @@ -726,13 +726,13 @@ Transforms_an_input_voltage_to\nan_output_voltage.=Transforms an input voltage t # ./src/main/java/mods/eln/transparentnode/turbine/TurbineDescriptor.java Generates_electricity_using_heat.=Generates electricity using heat. -Temperature_difference\:_%1$°C=Temperature difference\: %1$°C +Temperature_difference\:_%s°C=Temperature difference\: %s°C # ./src/main/java/mods/eln/transparentnode/turret/TurretDescriptor.java CAUTION\:_Cables_can_get_quite_hot!=CAUTION\: Cables can get quite hot\! -Laser_charge_power\:_%1$W...%2$kW=Laser charge power\: %1$W...%2$kW +Laser_charge_power\:_%sW...%skW=Laser charge power\: %sW...%skW Scans_for_entities_and_shoots_if_the\nentity_matches_the_configurable_filter_criteria.=Scans for entities and shoots if the\nentity matches the configurable filter criteria. -Standby_power\:_%1$W=Standby power\: %1$W +Standby_power\:_%sW=Standby power\: %sW # ./src/main/java/mods/eln/transparentnode/turret/TurretGui.java Attack\:=Attack\: @@ -744,10 +744,10 @@ Generates_energy_using_water_stream.=Generates energy using water stream. No_place_for_water_turbine!=No place for water turbine\! # ./src/main/java/mods/eln/transparentnode/windturbine/WindTurbineDescriptor.java -Front\:_%1$=Front\: %1$ +Front\:_%s=Front\: %s Generates_energy_from_wind.=Generates energy from wind. -Left_Right\:_%1$=Left/Right\: %1$ -Up_Down\:_%1$=Up/Down\: %1$ +Left_Right\:_%s=Left/Right\: %s +Up_Down\:_%s=Up/Down\: %s Wind_area\:=Wind area\: # ./src/main/java/mods/eln/wiki/Data.java @@ -769,7 +769,7 @@ Previous=Previous # ./src/main/java/mods/eln/wiki/ItemDefault.java Can_be_used_to_craft\:=Can be used to craft\: Cannot_be_crafted!=Cannot be crafted\! -Cost_%1$J=Cost %1$J +Cost_%sJ=Cost %sJ Created_by\:=Created by\: Is_not_a_crafting_material!=Is not a crafting material\! Recipe\:=Recipe\: @@ -777,45 +777,45 @@ Recipe\:=Recipe\: # Appearing in multiple source files (Increases_capacity)=(Increases capacity) (Increases_inductance)=(Increases inductance) -Actual\:_%1$°C=Actual\: %1$°C +Actual\:_%s°C=Actual\: %s°C Biggest=Biggest Booster_slot=Booster slot Can_create\:=Can create\: -Capacity\:_%1$F=Capacity\: %1$F -Charge_power\:_%1$W=Charge power\: %1$W +Capacity\:_%sF=Capacity\: %sF +Charge_power\:_%sW=Charge power\: %sW Connected=Connected -Cooling_power\:_%1$W=Cooling power\: %1$W +Cooling_power\:_%sW=Cooling power\: %sW Copper_cable_slot=Copper cable slot Dielectric_slot=Dielectric slot -Discharge_power\:_%1$W=Discharge power\: %1$W +Discharge_power\:_%sW=Discharge power\: %sW Electrical_cable_slot=Electrical cable slot Entity_filter_slot=Entity filter slot Ferromagnetic_core_slot=Ferromagnetic core slot Has_a_signal_output.=Has a signal output. -Inductance\:_%1$H=Inductance\: %1$H -Internal_resistance\:_%1$Ω=Internal resistance\: %1$Ω +Inductance\:_%sH=Inductance\: %sH +Internal_resistance\:_%sΩ=Internal resistance\: %sΩ Is_off=Is off Is_on=Is on -Max._temperature\:_%1$°C=Max. temperature\: %1$°C +Max._temperature\:_%s°C=Max. temperature\: %s°C Measured_value\ncorresponding\nto_0%_output=Measured value\ncorresponding\nto 0% output Measured_value\ncorresponding\nto_100%_output=Measured value\ncorresponding\nto 100% output Nominal\:=Nominal\: -Nominal_power\:_%1$W=Nominal power\: %1$W +Nominal_power\:_%sW=Nominal power\: %sW Nominal_usage\:=Nominal usage\: -Nominal_voltage\:_%1$V=Nominal voltage\: %1$V +Nominal_voltage\:_%sV=Nominal voltage\: %sV Not_connected=Not connected Not_enough_space_for_this_block=Not enough space for this block Power=Power -Power\:_%1$W=Power\: %1$W -Range\:_%1$_blocks=Range\: %1$ blocks +Power\:_%sW=Power\: %sW +Range\:_%s_blocks=Range\: %s blocks Redstone_slot=Redstone slot Regulator_slot=Regulator slot Reset=Reset -Resistance\:_%1$Ω=Resistance\: %1$Ω +Resistance\:_%sΩ=Resistance\: %sΩ Smallest=Smallest Specify_the_channel=Specify the channel -Stored_energy\:_%1$J_(%2$%)=Stored energy\: %1$J (%2$%) -Temperature\:_%1$°C=Temperature\: %1$°C +Stored_energy\:_%sJ_(%s)=Stored energy\: %sJ (%s) +Temperature\:_%s°C=Temperature\: %s°C Temperature_gauge=Temperature gauge Thermal_isolator_slot=Thermal isolator slot Toggle=Toggle @@ -825,5 +825,5 @@ Used_to_cool_down_turbines.=Used to cool down turbines. Uses_the_biggest\nvalue_on_the_channel.=Uses the biggest\nvalue on the channel. Uses_the_smallest\nvalue_on_the_channel.=Uses the smallest\nvalue on the channel. Validate=Validate -Voltage\:_%1$V=Voltage\: %1$V +Voltage\:_%sV=Voltage\: %sV You_can't_place_this_block_at_this_side=You can't place this block at this side diff --git a/src/main/resources/assets/eln/lang/en_US.lang b/src/main/resources/assets/eln/lang/en_US.lang index 775daf81e..225d1a86b 100644 --- a/src/main/resources/assets/eln/lang/en_US.lang +++ b/src/main/resources/assets/eln/lang/en_US.lang @@ -318,11 +318,11 @@ tile.eln.EnergyConverterElnToOtherLVUBlock.name=50V Electrical Age to other ener tile.eln.EnergyConverterElnToOtherMVUBlock.name=200V Electrical Age to other energy exporter # ./src/main/java/mods/eln/i18n/I18N.java -You_have_%1$_lives_left=You have %1$ lives left +You_have_%s_lives_left=You have %s lives left # ./src/main/java/mods/eln/item/BrushDescriptor.kt Brush_is_dry=Brush is dry -Can_paint_%1$_blocks=Can paint %1$ blocks +Can_paint_%s_blocks=Can paint %s blocks # ./src/main/java/mods/eln/item/CaseItemDescriptor.kt Can_be_used_to_encase_EA_items_that_support_it=Can be used to encase EA items that support it @@ -331,11 +331,11 @@ Can_be_used_to_encase_EA_items_that_support_it=Can be used to encase EA items th Upgrade_for_the_Stone_Heat_Furnace.=Upgrade for the Stone Heat Furnace. # ./src/main/java/mods/eln/item/ElectricalDrillDescriptor.java -Energy_per_operation\:_%1$J=Energy per operation: %1$J -Time_per_operation\:_%1$h=Time per operation: %1$h +Energy_per_operation\:_%sJ=Energy per operation: %sJ +Time_per_operation\:_%sh=Time per operation: %sh # ./src/main/java/mods/eln/item/FerromagneticCoreDescriptor.java -Cable_loss_factor\:_%1$=Cable loss factor: %1$ +Cable_loss_factor\:_%s=Cable loss factor: %s # ./src/main/java/mods/eln/item/FuelBurnerDescriptor.kt Burn_unit_for_the_gas_heat_furnace.=Burn unit for the gas heat furnace. @@ -349,8 +349,8 @@ Condition\:=Condition: End_of_life=End of life Good=Good New=New -Nominal_lifetime\:_%1$h=Nominal lifetime: %1$h -Technology\:_%1$=Technology: %1$ +Nominal_lifetime\:_%sh=Nominal lifetime: %sh +Technology\:_%s=Technology: %s Used=Used # ./src/main/java/mods/eln/item/LampSlot.java @@ -369,7 +369,7 @@ Solar_panel_upgrade=Solar panel upgrade # ./src/main/java/mods/eln/item/electricalitem/ElectricalLampItem.java State\:=State: -Stored_Energy\:_%1$J_(%2$%)=Stored Energy: %1$J (%2$%) +Stored_Energy\:_%sJ_(%s)=Stored Energy: %sJ (%s) # ./src/main/java/mods/eln/item/regulator/RegulatorSlot.java @@ -386,13 +386,13 @@ mod.name=Electrical Age # ./src/main/java/mods/eln/node/six/SixNodeDescriptor.java # ./src/main/java/mods/eln/simplenode/energyconverter/EnergyConverterElnToOtherGui.java -Input_power_is_limited_to_%1$W=Input power is limited to %1$W +Input_power_is_limited_to_%sW=Input power is limited to %sW # ./src/main/java/mods/eln/sixnode/AnalogChips.kt A_voltage-controlled_amplifier_(VCA)\nis_an_electronic_amplifier_that_varies\nits_gain_depending_on_the_control_voltage.=A voltage-controlled amplifier (VCA)\nis an electronic amplifier that varies\nits gain depending on the control voltage. A_voltage-controlled_oscillator_or_VCO_is\nan_electronic_oscillator_whose_oscillation\nfrequency_is_controlled_by_a_voltage_input.=A voltage-controlled oscillator or VCO is\nan electronic oscillator whose oscillation\nfrequency is controlled by a voltage input. An_amplifier_increases_the_voltage\nof_an_input_signal_by_a_configurable\ngain_and_outputs_that_voltage.=An amplifier increases the voltage\nof an input signal by a configurable\ngain and outputs that voltage. -Cut-off_frequency_%1$_Hz=Cut-off frequency %1$ Hz +Cut-off_frequency_%s_Hz=Cut-off frequency %s Hz Gain=Gain Gain_for_input_\u00a713=Gain for input \u00a713 Gain_for_input_\u00a722=Gain for input \u00a722 @@ -478,12 +478,12 @@ Switch_is_off=Switch is off Switch_is_on=Switch is on # ./src/main/java/mods/eln/sixnode/electricalcable/ElectricalCableDescriptor.java -A_signal_is_electrical_information\nwhich_must_be_between_0V_and_%1$=A signal is electrical information\nwhich must be between 0V and %1$ +A_signal_is_electrical_information\nwhich_must_be_between_0V_and_%s=A signal is electrical information\nwhich must be between 0V and %s Cable_is_adapted_to_conduct\nelectrical_signals.=Cable is adapted to conduct\nelectrical signals. -Current\:_%1$A=Current: %1$A +Current\:_%sA=Current: %sA Not_adapted_to_transport_power.=Not adapted to transport power. Save_usage\:=Save usage: -Serial_resistance\:_%1$\u2126=Serial resistance: %1$\u2126 +Serial_resistance\:_%s\u2126=Serial resistance: %s\u2126 # ./src/main/java/mods/eln/sixnode/electricalcable/ElectricalCableElement.java Signal_Voltage=Signal Voltage @@ -530,10 +530,10 @@ Fire_present=Fire present Provides_configurable_signal\nvoltage.=Provides configurable signal\nvoltage. # ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceGui.java -Output_at_%1$%=Output at %1$% +Output_at_%s=Output at %s # ./src/main/java/mods/eln/sixnode/electricallightsensor/ElectricalLightSensorDescriptor.java -0V_at_night,_%1$V_at_noon.=0V at night, %1$V at noon. +0V_at_night,_%sV_at_noon.=0V at night, %sV at noon. Provides_an_electrical_voltage\nin_the_presence_of_light.=Provides an electrical voltage\nin the presence of light. Provides_an_electrical_voltage\nwhich_is_proportional_to\nthe_intensity_of_daylight.=Provides an electrical voltage\nwhich is proportional to\nthe intensity of daylight. @@ -553,7 +553,7 @@ Equation=Equation Input_voltages=Input voltages # ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathGui.java -%1$_Redstone(s)_required=%1$ Redstone(s) required +%s_Redstone(s)_required=%s Redstone(s) required Equation_required!=Equation required! Inputs_are=Inputs are Invalid_equation!=Invalid equation! @@ -616,13 +616,13 @@ The_time_interval_the\noutput_is_kept_high.=The time interval the\noutput is kep Displays_the_value_of_a_signal.=Displays the value of a signal. # ./src/main/java/mods/eln/sixnode/electricalweathersensor/ElectricalWeatherSensorDescriptor.java -Clear\:_%1$V=Clear: %1$V +Clear\:_%sV=Clear: %sV Provides_an_electrical_signal\ndepending_the_actual_weather.=Provides an electrical signal\ndepending the actual weather. -Rain\:_%1$V=Rain: %1$V -Storm\:_%1$V=Storm: %1$V +Rain\:_%sV=Rain: %sV +Storm\:_%sV=Storm: %sV # ./src/main/java/mods/eln/sixnode/electricalwindsensor/ElectricalWindSensorDescriptor.java -Maximum_wind_speed_is_%1$m_s=Maximum wind speed is %1$m/s +Maximum_wind_speed_is_%sm_s=Maximum wind speed is %sm/s Provides_an_electrical_signal\ndependant_on_wind_speed.=Provides an electrical signal\ndependant on wind speed. You_can't_place_this_block_on_the_floor_or_the_ceiling=You can't place this block on the floor or the ceiling @@ -636,7 +636,7 @@ Prepay=Prepay Change_password=Change password Counter_Mode=Counter Mode Counts_the_energy_conducted_from\n\u00a74red\u00a7f_to_\u00a71blue\u00a7f.=Counts the energy conducted from\n\u00a74red\u00a7f to \u00a71blue\u00a7f. -Energy_counter\:_%1$J=Energy counter: %1$J +Energy_counter\:_%sJ=Energy counter: %sJ Enter_new_energy=Enter new energy Enter_password=Enter password Prepay_Mode=Prepay Mode @@ -657,15 +657,15 @@ Provides_a_zero_volt_reference.=Provides a zero volt reference. Allows_crossing_cables\non_one_single_block.=Allows crossing cables\non one single block. # ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketDescriptor.java -Angle\:_%1$°_to_%2$°=Angle: %1$° to %2$° -Spot_range\:_%1$_blocks=Spot range: %1$ blocks +Angle\:_%s°_to_%s°=Angle: %s° to %s° +Spot_range\:_%s_blocks=Spot range: %s blocks # ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketElement.java Bulb=Bulb # ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketGuiDraw.java Cable_slot_empty=Cable slot empty -Orientation\:_%1$°=Orientation: %1$° +Orientation\:_%s°=Orientation: %s° Parallel=Parallel Serial=Serial @@ -727,8 +727,8 @@ Coal_dust_slot=Coal dust slot # ./src/main/java/mods/eln/sixnode/thermalcable/ThermalCableDescriptor.java High_parallel_resistance\n_\=>_Low_power_dissipation.=High parallel resistance\n => Low power dissipation. Low_serial_resistance\n_\=>_High_conductivity.=Low serial resistance\n => High conductivity. -Parallel_resistance\:_%1$K_W=Parallel resistance: %1$K/W -Serial_resistance\:_%1$K_W=Serial resistance: %1$K/W +Parallel_resistance\:_%sK_W=Parallel resistance: %sK/W +Serial_resistance\:_%sK_W=Serial resistance: %sK/W # ./src/main/java/mods/eln/sixnode/thermalcable/ThermalCableElement.java Thermic_power=Thermic power @@ -760,24 +760,24 @@ Set_beacon_name=Set beacon name # ./src/main/java/mods/eln/transparentnode/FuelGenerator.kt Fuel_level=Fuel level -Nominal_power\:_%1$_W=Nominal power: %1$ W -Nominal_voltage\:_%1$_V=Nominal voltage: %1$ V +Nominal_power\:_%s_W=Nominal power: %s W +Nominal_voltage\:_%s_V=Nominal voltage: %s V Produces_electricity_using_gasoline.=Produces electricity using gasoline. State=State # ./src/main/java/mods/eln/transparentnode/FuelHeatFurnace.kt -Actual\:_%1$=Actual: %1$ +Actual\:_%s=Actual: %s Analog_regulator_slot=Analog regulator slot -Control_value_at_%1$=Control value at %1$ +Control_value_at_%s=Control value at %s Fuel_burner_slot=Fuel burner slot Furnace_is_off=Furnace is off Furnace_is_on=Furnace is on -Heat_Power\:_%1$=Heat Power: %1$ -Set_point\:_%1$=Set point: %1$ +Heat_Power\:_%s=Heat Power: %s +Set_point\:_%s=Set point: %s __Max._temperature\:_= Max. temperature: # ./src/main/java/mods/eln/transparentnode/LargeRheostat.kt -Nom._Resistance\:_%1$=Nom. Resistance: %1$ +Nom._Resistance\:_%s=Nom. Resistance: %s Power_loss=Power loss # ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerContainer.java @@ -814,7 +814,7 @@ _charged_at_=charged at Charged=Charged Discharge=Discharge Energy\:=Energy: -Energy\:_%1$=Energy: %1$ +Energy\:_%s=Energy: %s Life\:=Life: No_charge=No charge Power_in\:=Power in: @@ -835,7 +835,7 @@ Power_received=Power received Receiving=Receiving # ./src/main/java/mods/eln/transparentnode/electricalantennatx/ElectricalAntennaTxDescriptor.java -Efficiency\:_%1$%_up_to_%2$%=Efficiency: %1$% up to %2$% +Efficiency\:_%s_up_to_%s=Efficiency: %s up to %s Wireless_energy_transmitter.=Wireless energy transmitter. # ./src/main/java/mods/eln/transparentnode/electricalantennatx/ElectricalAntennaTxElement.java @@ -854,7 +854,7 @@ Heating_element=Heating element # ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceGuiDraw.java Auto_shutdown=Auto shutdown Manual_shutdown=Manual shutdown -Set_point\:_%1$°C=Set point: %1$°C +Set_point\:_%s°C=Set point: %s°C # ./src/main/java/mods/eln/transparentnode/electricalmachine/ElectricalMachineDescriptor.java Cost=Cost @@ -871,7 +871,7 @@ Fuel_slot=Fuel slot Set_temperature=Set temperature # ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceGuiDraw.java -Control_gauge_at_%1$%=Control gauge at %1$% +Control_gauge_at_%s=Control gauge at %s Decline_fuel=Decline fuel Take_fuel=Take fuel @@ -883,8 +883,8 @@ Solar_tracker_slot=Solar tracker slot # ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelDescriptor.java Can_be_geared_towards_the_sun.=Can be geared towards the sun. -Max._power\:_%1$W=Max. power: %1$W -Max._voltage\:_%1$V=Max. voltage: %1$V +Max._power\:_%sW=Max. power: %sW +Max._voltage\:_%sV=Max. voltage: %sV Produces_power_from_solar_radiation.=Produces power from solar radiation. # ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelElement.java @@ -894,8 +894,8 @@ Sun_angle=Sun angle # ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPannelGuiDraw.java It_is_night=It is night -Solar_panel_angle\:_%1$°=Solar panel angle: %1$° -Sun_angle\:_%1$°=Sun angle: %1$° +Solar_panel_angle\:_%s°=Solar panel angle: %s° +Sun_angle\:_%s°=Sun angle: %s° # ./src/main/java/mods/eln/transparentnode/teleporter/TeleporterElement.java Destination=Destination @@ -905,15 +905,15 @@ Required_energy=Required energy # ./src/main/java/mods/eln/transparentnode/teleporter/TeleporterGui.java Destination_transporter=Destination transporter Power_consumption\:=Power consumption: -Power_consumption\:_%1$W=Power consumption: %1$W -Required_energy\:_%1$J=Required energy: %1$J +Power_consumption\:_%sW=Power consumption: %sW +Required_energy\:_%sJ=Required energy: %sJ Start=Start Transporter_name=Transporter name # ./src/main/java/mods/eln/transparentnode/thermaldissipatoractive/ThermalDissipatorActiveDescriptor.java -Fan_cooling_power\:_%1$W=Fan cooling power: %1$W -Fan_power_consumption\:_%1$W=Fan power consumption: %1$W -Fan_voltage\:_%1$V=Fan voltage: %1$V +Fan_cooling_power\:_%sW=Fan cooling power: %sW +Fan_power_consumption\:_%sW=Fan power consumption: %sW +Fan_voltage\:_%sV=Fan voltage: %sV # ./src/main/java/mods/eln/transparentnode/thermaldissipatoractive/ThermalDissipatorActiveElement.java @@ -931,16 +931,16 @@ Ratio=Ratio # ./src/main/java/mods/eln/transparentnode/turbine/TurbineDescriptor.java Generates_electricity_using_heat.=Generates electricity using heat. -Temperature_difference\:_%1$°C=Temperature difference: %1$°C +Temperature_difference\:_%s°C=Temperature difference: %s°C # ./src/main/java/mods/eln/transparentnode/turbine/TurbineElement.java Nominal=Nominal # ./src/main/java/mods/eln/transparentnode/turret/TurretDescriptor.java CAUTION\:_Cables_can_get_quite_hot!=CAUTION: Cables can get quite hot! -Laser_charge_power\:_%1$W...%2$kW=Laser charge power: %1$W...%2$kW +Laser_charge_power\:_%sW...%skW=Laser charge power: %sW...%skW Scans_for_entities_and_shoots_if_the\nentity_matches_the_configurable_filter_criteria.=Scans for entities and shoots if the\nentity matches the configurable filter criteria. -Standby_power\:_%1$W=Standby power: %1$W +Standby_power\:_%sW=Standby power: %sW # ./src/main/java/mods/eln/transparentnode/turret/TurretElement.java ??=?? @@ -965,10 +965,10 @@ No_place_for_water_turbine!=No place for water turbine! # ./src/main/java/mods/eln/transparentnode/waterturbine/WaterTurbineElement.java # ./src/main/java/mods/eln/transparentnode/windturbine/WindTurbineDescriptor.java -Front\:_%1$=Front: %1$ +Front\:_%s=Front: %s Generates_energy_from_wind.=Generates energy from wind. -Left_Right\:_%1$=Left/Right: %1$ -Up_Down\:_%1$=Up/Down: %1$ +Left_Right\:_%s=Left/Right: %s +Up_Down\:_%s=Up/Down: %s Wind_area\:=Wind area: # ./src/main/java/mods/eln/wiki/Data.java @@ -989,32 +989,32 @@ Previous=Previous # ./src/main/java/mods/eln/wiki/ItemDefault.java Can_be_used_to_craft\:=Can be used to craft: Cannot_be_crafted!=Cannot be crafted! -Cost_%1$J=Cost %1$J +Cost_%sJ=Cost %sJ Created_by\:=Created by: Is_not_a_crafting_material!=Is not a crafting material! Recipe\:=Recipe: # Appearing in multiple source files -%1$_is_not_in_range!=%1$ is not in range! +%s_is_not_in_range!=%s is not in range! (Increases_capacity)=(Increases capacity) (Increases_inductance)=(Increases inductance) -Actual\:_%1$°C=Actual: %1$°C +Actual\:_%s°C=Actual: %s°C Battery_level=Battery level Biggest=Biggest Booster_slot=Booster slot Can_create\:=Can create: -Capacity\:_%1$F=Capacity: %1$F +Capacity\:_%sF=Capacity: %sF Channel=Channel Charge=Charge Charge_power=Charge power -Charge_power\:_%1$W=Charge power: %1$W +Charge_power\:_%sW=Charge power: %sW Closed=Closed Connected=Connected -Cooling_power\:_%1$W=Cooling power: %1$W +Cooling_power\:_%sW=Cooling power: %sW Copper_cable_slot=Copper cable slot Current=Current Dielectric_slot=Dielectric slot -Discharge_power\:_%1$W=Discharge power: %1$W +Discharge_power\:_%sW=Discharge power: %sW Electrical_cable_slot=Electrical cable slot Energy=Energy Entity_filter_slot=Entity filter slot @@ -1024,22 +1024,22 @@ Generated_power=Generated power Generates_heat_when_supplied_with_fuel.=Generates heat when supplied with fuel. Generating=Generating Has_a_signal_output.=Has a signal output. -Inductance\:_%1$H=Inductance: %1$H +Inductance\:_%sH=Inductance: %sH Input=Input Input_voltage=Input voltage Internal_control=Internal control -Internal_resistance\:_%1$\u2126=Internal resistance: %1$\u2126 +Internal_resistance\:_%s\u2126=Internal resistance: %s\u2126 Is_off=Is off Is_on=Is on Life=Life -Max._temperature\:_%1$°C=Max. temperature: %1$°C +Max._temperature\:_%s°C=Max. temperature: %s°C Measured_value\ncorresponding\nto_0%_output=Measured value\ncorresponding\nto 0% output Measured_value\ncorresponding\nto_100%_output=Measured value\ncorresponding\nto 100% output No=No Nominal\:=Nominal: -Nominal_power\:_%1$W=Nominal power: %1$W +Nominal_power\:_%sW=Nominal power: %sW Nominal_usage\:=Nominal usage: -Nominal_voltage\:_%1$V=Nominal voltage: %1$V +Nominal_voltage\:_%sV=Nominal voltage: %sV None=None Not_connected=Not connected Not_enough_space_for_this_block=Not enough space for this block @@ -1052,24 +1052,24 @@ Output_voltage=Output voltage Portable_battery_slot=Portable battery slot Position=Position Power=Power -Power\:_%1$W=Power: %1$W +Power\:_%sW=Power: %sW Power_consumption=Power consumption Powered_by_Lamp_Supply=Powered by Lamp Supply Powered_by_cable=Powered by cable Produced_power=Produced power -Range\:_%1$_blocks=Range: %1$ blocks +Range\:_%s_blocks=Range: %s blocks Redstone_slot=Redstone slot Redstone_value=Redstone value Regulator_slot=Regulator slot Reset=Reset Resistance=Resistance -Resistance\:_%1$\u2126=Resistance: %1$\u2126 +Resistance\:_%s\u2126=Resistance: %s\u2126 Smallest=Smallest Specify_the_channel=Specify the channel Specify_the_supply_channel=Specify the supply channel -Stored_energy\:_%1$J_(%2$%)=Stored energy: %1$J (%2$%) +Stored_energy\:_%sJ_(%s)=Stored energy: %sJ (%s) Temperature=Temperature -Temperature\:_%1$°C=Temperature: %1$°C +Temperature\:_%s°C=Temperature: %s°C Temperature_gauge=Temperature gauge Thermal_isolator_slot=Thermal isolator slot Thermal_power=Thermal power @@ -1081,7 +1081,7 @@ Uses_the_biggest\nvalue_on_the_channel.=Uses the biggest\nvalue on the channel. Uses_the_smallest\nvalue_on_the_channel.=Uses the smallest\nvalue on the channel. Validate=Validate Voltage=Voltage -Voltage\:_%1$V=Voltage: %1$V +Voltage\:_%sV=Voltage: %sV Voltage_drop=Voltage drop Voltages=Voltages Yes=Yes diff --git a/src/main/resources/assets/eln/lang/es.lang b/src/main/resources/assets/eln/lang/es.lang index c9e1e38af..ab67bb06b 100644 --- a/src/main/resources/assets/eln/lang/es.lang +++ b/src/main/resources/assets/eln/lang/es.lang @@ -287,21 +287,21 @@ tile.eln.EnergyConverterElnToOtherLVUBlock.name=50V Edad eléctrica a otro expor tile.eln.EnergyConverterElnToOtherMVUBlock.name=200V Edad eléctrica a otro exportador de energía # ./src/main/java/mods/eln/i18n/I18N.java -You_have_%1$_lives_left=Te queda el %1$ de vida +You_have_%s_lives_left=Te queda el %s de vida # ./src/main/java/mods/eln/item/BrushDescriptor.java Brush_is_dry=El cepillo está seca -Can_paint_%1$_blocks=Puedes pintar %1$ bloques +Can_paint_%s_blocks=Puedes pintar %s bloques # ./src/main/java/mods/eln/item/CombustionChamber.java Upgrade_for_the_Stone_Heat_Furnace.=Mejora para el horno de calor de piedra. # ./src/main/java/mods/eln/item/ElectricalDrillDescriptor.java -Energy_per_operation\:_%1$J=Energía por operación\: %1$J -Time_per_operation\:_%1$s=Tiempo por operación\: %1$s +Energy_per_operation\:_%sJ=Energía por operación\: %sJ +Time_per_operation\:_%ss=Tiempo por operación\: %ss # ./src/main/java/mods/eln/item/FerromagneticCoreDescriptor.java -Cable_loss_factor\:_%1$=Factor de pérdida del cable\: %1$ +Cable_loss_factor\:_%s=Factor de pérdida del cable\: %s # ./src/main/java/mods/eln/item/HeatingCorpElement.java @@ -311,8 +311,8 @@ Condition\:=Condición\: End_of_life=Fin de la vida Good=Bueno New=Nuevo -Nominal_lifetime\:_%1$h=Vida útil nominal\: %1$h -Technology\:_%1$=Tecnología\: %1$ +Nominal_lifetime\:_%sh=Vida útil nominal\: %sh +Technology\:_%s=Tecnología\: %s Used=Uso # ./src/main/java/mods/eln/item/LampSlot.java @@ -333,7 +333,7 @@ Solar_panel_upgrade=Mejora del panel solar Off=Apagado On=Encendido State\:=Estado\: -Stored_Energy\:_%1$J_(%2$%)=Energía almacenada\: %1$J (%2$%) +Stored_Energy\:_%sJ_(%s)=Energía almacenada\: %sJ (%s) # ./src/main/java/mods/eln/item/regulator/RegulatorSlot.java @@ -346,7 +346,7 @@ mod.name=Edad eléctrica # ./src/main/java/mods/eln/node/six/SixNodeDescriptor.java # ./src/main/java/mods/eln/simplenode/energyconverter/EnergyConverterElnToOtherGui.java -Input_power_is_limited_to_%1$W=La entrada de poder está limitada a %1$W +Input_power_is_limited_to_%sW=La entrada de poder está limitada a %sW # ./src/main/java/mods/eln/sixnode/LogicGate.kt _O\:_= O\: @@ -386,12 +386,12 @@ Switch_is_off=El interruptor está desactivado. Switch_is_on=El interruptor está activado # ./src/main/java/mods/eln/sixnode/electricalcable/ElectricalCableDescriptor.java -A_signal_is_electrical_information\nwhich_must_be_between_0V_and_%1$V=Una señal es la información eléctrica\nque debe ser entre 0V y %1$V +A_signal_is_electrical_information\nwhich_must_be_between_0V_and_%sV=Una señal es la información eléctrica\nque debe ser entre 0V y %sV Cable_is_adapted_to_conduct\nelectrical_signals.=El cable está adaptado para conducir\nseñales eléctricas. -Current\:_%1$A=Corriente\: %1$A +Current\:_%sA=Corriente\: %sA Not_adapted_to_transport_power.=No adaptado para el transporte de energía. Save_usage\:=Guardar el uso\: -Serial_resistance\:_%1$Ω=La resistencia en serie\: %1$Ω +Serial_resistance\:_%sΩ=La resistencia en serie\: %sΩ # ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerDescriptor.java It_can_store_up_to_256_points.=Es capaz de almacenar hasta 256 puntos @@ -423,10 +423,10 @@ Output_voltage_increases\nif_a_fire_has_been_detected.=Aumenta la tensión de sa Provides_configurable_signal\nvoltage.=Proporciona señal configurable\nvoltaje. # ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceGui.java -Output_at_%1$%=La producción en %1$% +Output_at_%s=La producción en %s # ./src/main/java/mods/eln/sixnode/electricallightsensor/ElectricalLightSensorDescriptor.java -0V_at_night,_%1$V_at_noon.=0V a la noche, %1$V al mediodía. +0V_at_night,_%sV_at_noon.=0V a la noche, %sV al mediodía. Provides_an_electrical_voltage\nin_the_presence_of_light.=Proporciona una tensión eléctrica\nen presencia de la luz. Provides_an_electrical_voltage\nwhich_is_proportional_to\nthe_intensity_of_daylight.=Proporciona una tensión eléctrica\nque es proporcional a\nla intensidad de la luz del día. @@ -439,7 +439,7 @@ Applicable_mathematical_operators\:=Operadores matemáticos aplicables\: Calculates_an_output_signal_from\n3_inputs_(A,_B,_C)_using_an_equation.=Calcula una señal de salida\nde 3 entradas (A, B, C) utilizando una ecuación. # ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathGui.java -%1$_Redstone(s)_required=%1$ Redstone(s) requerida +%s_Redstone(s)_required=%s Redstone(s) requerida Equation_required!=Ecuación requerida\! Inputs_are=Las entradas son Invalid_equation!=Ecuación inválida\! @@ -483,13 +483,13 @@ Displays_the_value_of_a_signal.=Muestra el valor de una señal. Portable_battery_slot=Ranura de la batería portátil # ./src/main/java/mods/eln/sixnode/electricalweathersensor/ElectricalWeatherSensorDescriptor.java -Clear\:_%1$V=Clear\: %1$V +Clear\:_%sV=Clear\: %sV Provides_an_electrical_signal\ndepending_the_actual_weather.=Proporciona una señal eléctrica\nen función del tiempo real. -Rain\:_%1$V=Rain\: %1$V -Storm\:_%1$V=Storm\: %1$V +Rain\:_%sV=Rain\: %sV +Storm\:_%sV=Storm\: %sV # ./src/main/java/mods/eln/sixnode/electricalwindsensor/ElectricalWindSensorDescriptor.java -Maximum_wind_speed_is_%1$m_s=Velocidad máxima del viento es %1$m/s +Maximum_wind_speed_is_%sm_s=Velocidad máxima del viento es %sm/s Provides_an_electrical_signal\ndependant_on_wind_speed.=Proporciona una señal eléctrica\nque depende de la velocidad del viento. You_can't_place_this_block_on_the_floor_or_the_ceiling=You can't place this block on the floor or the ceiling @@ -508,7 +508,7 @@ Voltage=Voltaje Change_password=Cambiar contraseña Counter_Mode=Modo de contador Counts_the_energy_conducted_from\n\u00a74red\u00a7f_to_\u00a71blue\u00a7f.=Que cuenta la energía conducida desde\n\\u00a74rojo\\u00a7f a \\u00a71azul\\u00a7f. -Energy_counter\:_%1$J=Contador de energía\: %1$J +Energy_counter\:_%sJ=Contador de energía\: %sJ Enter_new_energy=Introducir nueva energía Enter_password=Escribir contraseña Prepay_Mode=Modo prepago @@ -529,13 +529,13 @@ Provides_a_zero_volt_reference.=Proporciona una referencia de cero voltios. Allows_crossing_cables\non_one_single_block.=Permite cables de cruce\nen un solo bloque. # ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketDescriptor.java -Angle\:_%1$°_to_%2$°=Ángulo\: %1$° to %2$° -Spot_range\:_%1$_blocks=Rango de la localización\: %1$ bloques +Angle\:_%s°_to_%s°=Ángulo\: %s° to %s° +Spot_range\:_%s_blocks=Rango de la localización\: %s bloques # ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketGuiDraw.java -%1$_is_not_in_range!=%1$ is not in range\! +%s_is_not_in_range!=%s is not in range\! Cable_slot_empty=Cable con espacio vacío -Orientation\:_%1$°=Orientación\: %1$° +Orientation\:_%s°=Orientación\: %s° Parallel=Paralelo Powered_by_Lamp_Supply=Encendido con lámpara Powered_by_cable=Encendido con cable @@ -584,8 +584,8 @@ Coal_dust_slot=Coal dust slot # ./src/main/java/mods/eln/sixnode/thermalcable/ThermalCableDescriptor.java High_parallel_resistance\n_\=>_Low_power_dissipation.=Resistencia paralela alta\n \=> Bajo poder disipación. Low_serial_resistance\n_\=>_High_conductivity.=Baja resistencia de serie\n\=> Alta conductividad. -Parallel_resistance\:_%1$K_W=Resistencia paralela\: %1$K/W -Serial_resistance\:_%1$K_W=Resistencia de serie\: %1$K/W +Parallel_resistance\:_%sK_W=Resistencia paralela\: %sK/W +Serial_resistance\:_%sK_W=Resistencia de serie\: %sK/W # ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorContainer.java Cable_slot=Ranura para cable @@ -610,12 +610,12 @@ Set_beacon_name=Nombre del conjunto de beacon # ./src/main/java/mods/eln/sixnode/wirelesssignal/rx/WirelessSignalRxGui.java # ./src/main/java/mods/eln/transparentnode/FuelGenerator.kt -Nominal_power\:_%1$_W=Nominal power\: %1$ W -Nominal_voltage\:_%1$_V=Nominal voltage\: %1$ V +Nominal_power\:_%s_W=Nominal power\: %s W +Nominal_voltage\:_%s_V=Nominal voltage\: %s V Produces_electricity_using_fuel.=Produce electricidad usando combustible. # ./src/main/java/mods/eln/transparentnode/LargeRheostat.kt -Nom._Resistance\:_%1$=Nom. Resistance\: %1$ +Nom._Resistance\:_%s=Nom. Resistance\: %s # ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerContainer.java Drill_slot=Ranura del taladro @@ -637,16 +637,16 @@ Overheating_protection=Overheating protection Overvoltage_protection=Overvoltage protection # ./src/main/java/mods/eln/transparentnode/battery/BatteryDescriptor.java -Actual_charge\:_%1$%=Carga actual\: %1$% -Energy_capacity\:_%1$J=Capacidad de energía\: %1$J -_charged_at_%1$%=Cargado hasta %1$% +Actual_charge\:_%s=Carga actual\: %s +Energy_capacity\:_%sJ=Capacidad de energía\: %sJ +_charged_at_%s=Cargado hasta %s # ./src/main/java/mods/eln/transparentnode/battery/BatteryGuiDraw.java Charge=Carga Charged=Cargado Discharge=Descargado Energy\:=Energía\: -Energy\:_%1$=Energía\: %1$ +Energy\:_%s=Energía\: %s Life\:=Vida\: No_charge=Sin carga Power_in\:=Potencia dentro\: @@ -659,7 +659,7 @@ Egg_slot=Ranura del huevo Wireless_energy_receiver.=Receptor de energía inalámbrica. # ./src/main/java/mods/eln/transparentnode/electricalantennatx/ElectricalAntennaTxDescriptor.java -Efficiency\:_%1$%_up_to_%2$%=Eficiencia\: %1$% hasta %2$% +Efficiency\:_%s_up_to_%s=Eficiencia\: %s hasta %s Wireless_energy_transmitter.=Transmisor de energía inalámbrica. # ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceContainer.java @@ -671,7 +671,7 @@ Similar_to_a_vanilla_furnace,\nbut_heats_with_electricity.=Similar a un horno\np # ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceGuiDraw.java Auto_shutdown=Apagado automático Manual_shutdown=Cierre manual -Set_point\:_%1$°C=Punto fijo\: %1$°C +Set_point\:_%s°C=Punto fijo\: %s°C # ./src/main/java/mods/eln/transparentnode/electricalmachine/ElectricalMachineDescriptor.java Cost=Coste @@ -684,7 +684,7 @@ Fuel_slot=Ranura de combustible Generates_heat_when_supplied_with_fuel.=Genera calor como fuente de combustible. # ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceGuiDraw.java -Control_gauge_at_%1$%=Control de medida a %1$% +Control_gauge_at_%s=Control de medida a %s Decline_fuel=Eliminar combustible External_control=Control externo Internal_control=Control interno @@ -698,27 +698,27 @@ Solar_tracker_slot=Ranura del rastreador solar # ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelDescriptor.java Can_be_geared_towards_the_sun.=Puede ser orientada hacia el sol. -Max._power\:_%1$W=Potencia máxima\: %1$W -Max._voltage\:_%1$V=Voltaje máximo\: %1$V +Max._power\:_%sW=Potencia máxima\: %sW +Max._voltage\:_%sV=Voltaje máximo\: %sV Produces_power_from_solar_radiation.=Produce energía de la radiación solar. # ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPannelGuiDraw.java It_is_night=Es de noche -Solar_panel_angle\:_%1$°=Angulo del panel solar\: %1$° -Sun_angle\:_%1$°=El ángulo del sol\: %1$° +Solar_panel_angle\:_%s°=Angulo del panel solar\: %s° +Sun_angle\:_%s°=El ángulo del sol\: %s° # ./src/main/java/mods/eln/transparentnode/teleporter/TeleporterGui.java Destination_transporter=Destino transportador Power_consumption\:=Consumo de energía\: -Power_consumption\:_%1$W=Consumo de energía\: %1$W -Required_energy\:_%1$J=Requiere energía\: %1$J +Power_consumption\:_%sW=Consumo de energía\: %sW +Required_energy\:_%sJ=Requiere energía\: %sJ Start=Comenzar Transporter_name=Nombre del transportador # ./src/main/java/mods/eln/transparentnode/thermaldissipatoractive/ThermalDissipatorActiveDescriptor.java -Fan_cooling_power\:_%1$W=Potencia del ventilador de refrigeración\: %1$W -Fan_power_consumption\:_%1$W=Consumo de energía del ventilador\: %1$W -Fan_voltage\:_%1$V=Voltaje del ventilador\: %1$V +Fan_cooling_power\:_%sW=Potencia del ventilador de refrigeración\: %sW +Fan_power_consumption\:_%sW=Consumo de energía del ventilador\: %sW +Fan_voltage\:_%sV=Voltaje del ventilador\: %sV # ./src/main/java/mods/eln/transparentnode/transformer/TransformerDescriptor.java The_voltage_ratio_is_proportional\nto_the_cable_stacks_count_ratio.=La relación de voltaje es proporcional\nal cable. @@ -726,13 +726,13 @@ Transforms_an_input_voltage_to\nan_output_voltage.=Transforma una tensión de en # ./src/main/java/mods/eln/transparentnode/turbine/TurbineDescriptor.java Generates_electricity_using_heat.=Genera electricidad por la temperatura. -Temperature_difference\:_%1$°C=Temperaturas diferentes\: %1$°C +Temperature_difference\:_%s°C=Temperaturas diferentes\: %s°C # ./src/main/java/mods/eln/transparentnode/turret/TurretDescriptor.java CAUTION\:_Cables_can_get_quite_hot!=Precaución\: Los cables pueden llegar a estar muy calientes\! -Laser_charge_power\:_%1$W...%2$kW=Laser cargado\: %1$W...%2$kW +Laser_charge_power\:_%sW...%skW=Laser cargado\: %sW...%skW Scans_for_entities_and_shoots_if_the\nentity_matches_the_configurable_filter_criteria.=Analiza en busca de las entidades y los brotes de la\nentidad que coincide con los criterios del filtro configurables. -Standby_power\:_%1$W=Energía de reserva\: %1$W +Standby_power\:_%sW=Energía de reserva\: %sW # ./src/main/java/mods/eln/transparentnode/turret/TurretGui.java Attack\:=Atacar\: @@ -744,10 +744,10 @@ Generates_energy_using_water_stream.=Genera energía por la corriente del agua. No_place_for_water_turbine!=No place for water turbine\! # ./src/main/java/mods/eln/transparentnode/windturbine/WindTurbineDescriptor.java -Front\:_%1$=En frente\: %1$ +Front\:_%s=En frente\: %s Generates_energy_from_wind.=Genera energía por el viento. -Left_Right\:_%1$=Izquierda/Derecha\: %1$ -Up_Down\:_%1$=Arriba/Abajo\: %1$ +Left_Right\:_%s=Izquierda/Derecha\: %s +Up_Down\:_%s=Arriba/Abajo\: %s Wind_area\:=Área de viento\: # ./src/main/java/mods/eln/wiki/Data.java @@ -769,7 +769,7 @@ Previous=Previo # ./src/main/java/mods/eln/wiki/ItemDefault.java Can_be_used_to_craft\:=Se puede utilizar para craftear\: Cannot_be_crafted!=No se puede craftear\! -Cost_%1$J=Cuesta %1$J +Cost_%sJ=Cuesta %sJ Created_by\:=Creado por\:\: Is_not_a_crafting_material!=No es un material crafteable\! Recipe\:=Receta\: @@ -777,45 +777,45 @@ Recipe\:=Receta\: # Appearing in multiple source files (Increases_capacity)=(Incrementa la capacidad) (Increases_inductance)=(Aumenta la Inductancia) -Actual\:_%1$°C=Real\: %1$°C +Actual\:_%s°C=Real\: %s°C Biggest=Más grande Booster_slot=Aumento de espacio Can_create\:=Puede crear\: -Capacity\:_%1$F=Capacidad\: %1$F -Charge_power\:_%1$W=Potencia cargada\: %1$W +Capacity\:_%sF=Capacidad\: %sF +Charge_power\:_%sW=Potencia cargada\: %sW Connected=Conectado -Cooling_power\:_%1$W=Potencia de refrigeración\: %1$W +Cooling_power\:_%sW=Potencia de refrigeración\: %sW Copper_cable_slot=Ranura para cable de cobre Dielectric_slot=Espacio del dialéctrico -Discharge_power\:_%1$W=Potencia descargada\: %1$W +Discharge_power\:_%sW=Potencia descargada\: %sW Electrical_cable_slot=Ranura para cable eléctrico Entity_filter_slot=Ranura para filtro de entidad Ferromagnetic_core_slot=Ranura núcleo ferromagnético Has_a_signal_output.=Tiene una salida de señal -Inductance\:_%1$H=Inductancia\: %1$H -Internal_resistance\:_%1$Ω=Resistencia interna\: %1$Ω +Inductance\:_%sH=Inductancia\: %sH +Internal_resistance\:_%sΩ=Resistencia interna\: %sΩ Is_off=Está apagado Is_on=Está en -Max._temperature\:_%1$°C=Temperatura máxima\: %1$°C +Max._temperature\:_%s°C=Temperatura máxima\: %s°C Measured_value\ncorresponding\nto_0%_output=Valor medido\ncorrespondiente\na la salida 0% Measured_value\ncorresponding\nto_100%_output=Valor medido\ncorrespondiente\na la salida 100% Nominal\:=Nominal\: -Nominal_power\:_%1$W=Poder nominal\: %1$W +Nominal_power\:_%sW=Poder nominal\: %sW Nominal_usage\:=Uso nominal\: -Nominal_voltage\:_%1$V=Voltaje nominal\: %1$V +Nominal_voltage\:_%sV=Voltaje nominal\: %sV Not_connected=No conectado Not_enough_space_for_this_block=No hay suficiente espacio para este bloque Power=Poder -Power\:_%1$W=Poder\: %1$W -Range\:_%1$_blocks=Puedes pintar %1$ bloques +Power\:_%sW=Poder\: %sW +Range\:_%s_blocks=Puedes pintar %s bloques Redstone_slot=Ranura de redstone Regulator_slot=Ranura reguladora Reset=Reiniciar -Resistance\:_%1$Ω=Resistencia\: %1$Ω +Resistance\:_%sΩ=Resistencia\: %sΩ Smallest=Pequeñísimo Specify_the_channel=Especifique el canal -Stored_energy\:_%1$J_(%2$%)=Energía almacenada\: %1$J (%2$%) -Temperature\:_%1$°C=Temperatura\: %1$°C +Stored_energy\:_%sJ_(%s)=Energía almacenada\: %sJ (%s) +Temperature\:_%s°C=Temperatura\: %s°C Temperature_gauge=Indicador de temperatura Thermal_isolator_slot=Ranura de aislante térmico Toggle=Palanca @@ -825,5 +825,5 @@ Used_to_cool_down_turbines.=Usado para enfriar las turbinas. Uses_the_biggest\nvalue_on_the_channel.=Utiliza el mayor\nvalor en el canal. Uses_the_smallest\nvalue_on_the_channel.=Utiliza el menor\nvalor en el canal. Validate=Validar -Voltage\:_%1$V=Voltaje\: %1$V +Voltage\:_%sV=Voltaje\: %sV You_can't_place_this_block_at_this_side=No se puede colocar este bloque en este lado diff --git a/src/main/resources/assets/eln/lang/es_419.lang b/src/main/resources/assets/eln/lang/es_419.lang index c9e1e38af..ab67bb06b 100644 --- a/src/main/resources/assets/eln/lang/es_419.lang +++ b/src/main/resources/assets/eln/lang/es_419.lang @@ -287,21 +287,21 @@ tile.eln.EnergyConverterElnToOtherLVUBlock.name=50V Edad eléctrica a otro expor tile.eln.EnergyConverterElnToOtherMVUBlock.name=200V Edad eléctrica a otro exportador de energía # ./src/main/java/mods/eln/i18n/I18N.java -You_have_%1$_lives_left=Te queda el %1$ de vida +You_have_%s_lives_left=Te queda el %s de vida # ./src/main/java/mods/eln/item/BrushDescriptor.java Brush_is_dry=El cepillo está seca -Can_paint_%1$_blocks=Puedes pintar %1$ bloques +Can_paint_%s_blocks=Puedes pintar %s bloques # ./src/main/java/mods/eln/item/CombustionChamber.java Upgrade_for_the_Stone_Heat_Furnace.=Mejora para el horno de calor de piedra. # ./src/main/java/mods/eln/item/ElectricalDrillDescriptor.java -Energy_per_operation\:_%1$J=Energía por operación\: %1$J -Time_per_operation\:_%1$s=Tiempo por operación\: %1$s +Energy_per_operation\:_%sJ=Energía por operación\: %sJ +Time_per_operation\:_%ss=Tiempo por operación\: %ss # ./src/main/java/mods/eln/item/FerromagneticCoreDescriptor.java -Cable_loss_factor\:_%1$=Factor de pérdida del cable\: %1$ +Cable_loss_factor\:_%s=Factor de pérdida del cable\: %s # ./src/main/java/mods/eln/item/HeatingCorpElement.java @@ -311,8 +311,8 @@ Condition\:=Condición\: End_of_life=Fin de la vida Good=Bueno New=Nuevo -Nominal_lifetime\:_%1$h=Vida útil nominal\: %1$h -Technology\:_%1$=Tecnología\: %1$ +Nominal_lifetime\:_%sh=Vida útil nominal\: %sh +Technology\:_%s=Tecnología\: %s Used=Uso # ./src/main/java/mods/eln/item/LampSlot.java @@ -333,7 +333,7 @@ Solar_panel_upgrade=Mejora del panel solar Off=Apagado On=Encendido State\:=Estado\: -Stored_Energy\:_%1$J_(%2$%)=Energía almacenada\: %1$J (%2$%) +Stored_Energy\:_%sJ_(%s)=Energía almacenada\: %sJ (%s) # ./src/main/java/mods/eln/item/regulator/RegulatorSlot.java @@ -346,7 +346,7 @@ mod.name=Edad eléctrica # ./src/main/java/mods/eln/node/six/SixNodeDescriptor.java # ./src/main/java/mods/eln/simplenode/energyconverter/EnergyConverterElnToOtherGui.java -Input_power_is_limited_to_%1$W=La entrada de poder está limitada a %1$W +Input_power_is_limited_to_%sW=La entrada de poder está limitada a %sW # ./src/main/java/mods/eln/sixnode/LogicGate.kt _O\:_= O\: @@ -386,12 +386,12 @@ Switch_is_off=El interruptor está desactivado. Switch_is_on=El interruptor está activado # ./src/main/java/mods/eln/sixnode/electricalcable/ElectricalCableDescriptor.java -A_signal_is_electrical_information\nwhich_must_be_between_0V_and_%1$V=Una señal es la información eléctrica\nque debe ser entre 0V y %1$V +A_signal_is_electrical_information\nwhich_must_be_between_0V_and_%sV=Una señal es la información eléctrica\nque debe ser entre 0V y %sV Cable_is_adapted_to_conduct\nelectrical_signals.=El cable está adaptado para conducir\nseñales eléctricas. -Current\:_%1$A=Corriente\: %1$A +Current\:_%sA=Corriente\: %sA Not_adapted_to_transport_power.=No adaptado para el transporte de energía. Save_usage\:=Guardar el uso\: -Serial_resistance\:_%1$Ω=La resistencia en serie\: %1$Ω +Serial_resistance\:_%sΩ=La resistencia en serie\: %sΩ # ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerDescriptor.java It_can_store_up_to_256_points.=Es capaz de almacenar hasta 256 puntos @@ -423,10 +423,10 @@ Output_voltage_increases\nif_a_fire_has_been_detected.=Aumenta la tensión de sa Provides_configurable_signal\nvoltage.=Proporciona señal configurable\nvoltaje. # ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceGui.java -Output_at_%1$%=La producción en %1$% +Output_at_%s=La producción en %s # ./src/main/java/mods/eln/sixnode/electricallightsensor/ElectricalLightSensorDescriptor.java -0V_at_night,_%1$V_at_noon.=0V a la noche, %1$V al mediodía. +0V_at_night,_%sV_at_noon.=0V a la noche, %sV al mediodía. Provides_an_electrical_voltage\nin_the_presence_of_light.=Proporciona una tensión eléctrica\nen presencia de la luz. Provides_an_electrical_voltage\nwhich_is_proportional_to\nthe_intensity_of_daylight.=Proporciona una tensión eléctrica\nque es proporcional a\nla intensidad de la luz del día. @@ -439,7 +439,7 @@ Applicable_mathematical_operators\:=Operadores matemáticos aplicables\: Calculates_an_output_signal_from\n3_inputs_(A,_B,_C)_using_an_equation.=Calcula una señal de salida\nde 3 entradas (A, B, C) utilizando una ecuación. # ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathGui.java -%1$_Redstone(s)_required=%1$ Redstone(s) requerida +%s_Redstone(s)_required=%s Redstone(s) requerida Equation_required!=Ecuación requerida\! Inputs_are=Las entradas son Invalid_equation!=Ecuación inválida\! @@ -483,13 +483,13 @@ Displays_the_value_of_a_signal.=Muestra el valor de una señal. Portable_battery_slot=Ranura de la batería portátil # ./src/main/java/mods/eln/sixnode/electricalweathersensor/ElectricalWeatherSensorDescriptor.java -Clear\:_%1$V=Clear\: %1$V +Clear\:_%sV=Clear\: %sV Provides_an_electrical_signal\ndepending_the_actual_weather.=Proporciona una señal eléctrica\nen función del tiempo real. -Rain\:_%1$V=Rain\: %1$V -Storm\:_%1$V=Storm\: %1$V +Rain\:_%sV=Rain\: %sV +Storm\:_%sV=Storm\: %sV # ./src/main/java/mods/eln/sixnode/electricalwindsensor/ElectricalWindSensorDescriptor.java -Maximum_wind_speed_is_%1$m_s=Velocidad máxima del viento es %1$m/s +Maximum_wind_speed_is_%sm_s=Velocidad máxima del viento es %sm/s Provides_an_electrical_signal\ndependant_on_wind_speed.=Proporciona una señal eléctrica\nque depende de la velocidad del viento. You_can't_place_this_block_on_the_floor_or_the_ceiling=You can't place this block on the floor or the ceiling @@ -508,7 +508,7 @@ Voltage=Voltaje Change_password=Cambiar contraseña Counter_Mode=Modo de contador Counts_the_energy_conducted_from\n\u00a74red\u00a7f_to_\u00a71blue\u00a7f.=Que cuenta la energía conducida desde\n\\u00a74rojo\\u00a7f a \\u00a71azul\\u00a7f. -Energy_counter\:_%1$J=Contador de energía\: %1$J +Energy_counter\:_%sJ=Contador de energía\: %sJ Enter_new_energy=Introducir nueva energía Enter_password=Escribir contraseña Prepay_Mode=Modo prepago @@ -529,13 +529,13 @@ Provides_a_zero_volt_reference.=Proporciona una referencia de cero voltios. Allows_crossing_cables\non_one_single_block.=Permite cables de cruce\nen un solo bloque. # ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketDescriptor.java -Angle\:_%1$°_to_%2$°=Ángulo\: %1$° to %2$° -Spot_range\:_%1$_blocks=Rango de la localización\: %1$ bloques +Angle\:_%s°_to_%s°=Ángulo\: %s° to %s° +Spot_range\:_%s_blocks=Rango de la localización\: %s bloques # ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketGuiDraw.java -%1$_is_not_in_range!=%1$ is not in range\! +%s_is_not_in_range!=%s is not in range\! Cable_slot_empty=Cable con espacio vacío -Orientation\:_%1$°=Orientación\: %1$° +Orientation\:_%s°=Orientación\: %s° Parallel=Paralelo Powered_by_Lamp_Supply=Encendido con lámpara Powered_by_cable=Encendido con cable @@ -584,8 +584,8 @@ Coal_dust_slot=Coal dust slot # ./src/main/java/mods/eln/sixnode/thermalcable/ThermalCableDescriptor.java High_parallel_resistance\n_\=>_Low_power_dissipation.=Resistencia paralela alta\n \=> Bajo poder disipación. Low_serial_resistance\n_\=>_High_conductivity.=Baja resistencia de serie\n\=> Alta conductividad. -Parallel_resistance\:_%1$K_W=Resistencia paralela\: %1$K/W -Serial_resistance\:_%1$K_W=Resistencia de serie\: %1$K/W +Parallel_resistance\:_%sK_W=Resistencia paralela\: %sK/W +Serial_resistance\:_%sK_W=Resistencia de serie\: %sK/W # ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorContainer.java Cable_slot=Ranura para cable @@ -610,12 +610,12 @@ Set_beacon_name=Nombre del conjunto de beacon # ./src/main/java/mods/eln/sixnode/wirelesssignal/rx/WirelessSignalRxGui.java # ./src/main/java/mods/eln/transparentnode/FuelGenerator.kt -Nominal_power\:_%1$_W=Nominal power\: %1$ W -Nominal_voltage\:_%1$_V=Nominal voltage\: %1$ V +Nominal_power\:_%s_W=Nominal power\: %s W +Nominal_voltage\:_%s_V=Nominal voltage\: %s V Produces_electricity_using_fuel.=Produce electricidad usando combustible. # ./src/main/java/mods/eln/transparentnode/LargeRheostat.kt -Nom._Resistance\:_%1$=Nom. Resistance\: %1$ +Nom._Resistance\:_%s=Nom. Resistance\: %s # ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerContainer.java Drill_slot=Ranura del taladro @@ -637,16 +637,16 @@ Overheating_protection=Overheating protection Overvoltage_protection=Overvoltage protection # ./src/main/java/mods/eln/transparentnode/battery/BatteryDescriptor.java -Actual_charge\:_%1$%=Carga actual\: %1$% -Energy_capacity\:_%1$J=Capacidad de energía\: %1$J -_charged_at_%1$%=Cargado hasta %1$% +Actual_charge\:_%s=Carga actual\: %s +Energy_capacity\:_%sJ=Capacidad de energía\: %sJ +_charged_at_%s=Cargado hasta %s # ./src/main/java/mods/eln/transparentnode/battery/BatteryGuiDraw.java Charge=Carga Charged=Cargado Discharge=Descargado Energy\:=Energía\: -Energy\:_%1$=Energía\: %1$ +Energy\:_%s=Energía\: %s Life\:=Vida\: No_charge=Sin carga Power_in\:=Potencia dentro\: @@ -659,7 +659,7 @@ Egg_slot=Ranura del huevo Wireless_energy_receiver.=Receptor de energía inalámbrica. # ./src/main/java/mods/eln/transparentnode/electricalantennatx/ElectricalAntennaTxDescriptor.java -Efficiency\:_%1$%_up_to_%2$%=Eficiencia\: %1$% hasta %2$% +Efficiency\:_%s_up_to_%s=Eficiencia\: %s hasta %s Wireless_energy_transmitter.=Transmisor de energía inalámbrica. # ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceContainer.java @@ -671,7 +671,7 @@ Similar_to_a_vanilla_furnace,\nbut_heats_with_electricity.=Similar a un horno\np # ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceGuiDraw.java Auto_shutdown=Apagado automático Manual_shutdown=Cierre manual -Set_point\:_%1$°C=Punto fijo\: %1$°C +Set_point\:_%s°C=Punto fijo\: %s°C # ./src/main/java/mods/eln/transparentnode/electricalmachine/ElectricalMachineDescriptor.java Cost=Coste @@ -684,7 +684,7 @@ Fuel_slot=Ranura de combustible Generates_heat_when_supplied_with_fuel.=Genera calor como fuente de combustible. # ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceGuiDraw.java -Control_gauge_at_%1$%=Control de medida a %1$% +Control_gauge_at_%s=Control de medida a %s Decline_fuel=Eliminar combustible External_control=Control externo Internal_control=Control interno @@ -698,27 +698,27 @@ Solar_tracker_slot=Ranura del rastreador solar # ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelDescriptor.java Can_be_geared_towards_the_sun.=Puede ser orientada hacia el sol. -Max._power\:_%1$W=Potencia máxima\: %1$W -Max._voltage\:_%1$V=Voltaje máximo\: %1$V +Max._power\:_%sW=Potencia máxima\: %sW +Max._voltage\:_%sV=Voltaje máximo\: %sV Produces_power_from_solar_radiation.=Produce energía de la radiación solar. # ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPannelGuiDraw.java It_is_night=Es de noche -Solar_panel_angle\:_%1$°=Angulo del panel solar\: %1$° -Sun_angle\:_%1$°=El ángulo del sol\: %1$° +Solar_panel_angle\:_%s°=Angulo del panel solar\: %s° +Sun_angle\:_%s°=El ángulo del sol\: %s° # ./src/main/java/mods/eln/transparentnode/teleporter/TeleporterGui.java Destination_transporter=Destino transportador Power_consumption\:=Consumo de energía\: -Power_consumption\:_%1$W=Consumo de energía\: %1$W -Required_energy\:_%1$J=Requiere energía\: %1$J +Power_consumption\:_%sW=Consumo de energía\: %sW +Required_energy\:_%sJ=Requiere energía\: %sJ Start=Comenzar Transporter_name=Nombre del transportador # ./src/main/java/mods/eln/transparentnode/thermaldissipatoractive/ThermalDissipatorActiveDescriptor.java -Fan_cooling_power\:_%1$W=Potencia del ventilador de refrigeración\: %1$W -Fan_power_consumption\:_%1$W=Consumo de energía del ventilador\: %1$W -Fan_voltage\:_%1$V=Voltaje del ventilador\: %1$V +Fan_cooling_power\:_%sW=Potencia del ventilador de refrigeración\: %sW +Fan_power_consumption\:_%sW=Consumo de energía del ventilador\: %sW +Fan_voltage\:_%sV=Voltaje del ventilador\: %sV # ./src/main/java/mods/eln/transparentnode/transformer/TransformerDescriptor.java The_voltage_ratio_is_proportional\nto_the_cable_stacks_count_ratio.=La relación de voltaje es proporcional\nal cable. @@ -726,13 +726,13 @@ Transforms_an_input_voltage_to\nan_output_voltage.=Transforma una tensión de en # ./src/main/java/mods/eln/transparentnode/turbine/TurbineDescriptor.java Generates_electricity_using_heat.=Genera electricidad por la temperatura. -Temperature_difference\:_%1$°C=Temperaturas diferentes\: %1$°C +Temperature_difference\:_%s°C=Temperaturas diferentes\: %s°C # ./src/main/java/mods/eln/transparentnode/turret/TurretDescriptor.java CAUTION\:_Cables_can_get_quite_hot!=Precaución\: Los cables pueden llegar a estar muy calientes\! -Laser_charge_power\:_%1$W...%2$kW=Laser cargado\: %1$W...%2$kW +Laser_charge_power\:_%sW...%skW=Laser cargado\: %sW...%skW Scans_for_entities_and_shoots_if_the\nentity_matches_the_configurable_filter_criteria.=Analiza en busca de las entidades y los brotes de la\nentidad que coincide con los criterios del filtro configurables. -Standby_power\:_%1$W=Energía de reserva\: %1$W +Standby_power\:_%sW=Energía de reserva\: %sW # ./src/main/java/mods/eln/transparentnode/turret/TurretGui.java Attack\:=Atacar\: @@ -744,10 +744,10 @@ Generates_energy_using_water_stream.=Genera energía por la corriente del agua. No_place_for_water_turbine!=No place for water turbine\! # ./src/main/java/mods/eln/transparentnode/windturbine/WindTurbineDescriptor.java -Front\:_%1$=En frente\: %1$ +Front\:_%s=En frente\: %s Generates_energy_from_wind.=Genera energía por el viento. -Left_Right\:_%1$=Izquierda/Derecha\: %1$ -Up_Down\:_%1$=Arriba/Abajo\: %1$ +Left_Right\:_%s=Izquierda/Derecha\: %s +Up_Down\:_%s=Arriba/Abajo\: %s Wind_area\:=Área de viento\: # ./src/main/java/mods/eln/wiki/Data.java @@ -769,7 +769,7 @@ Previous=Previo # ./src/main/java/mods/eln/wiki/ItemDefault.java Can_be_used_to_craft\:=Se puede utilizar para craftear\: Cannot_be_crafted!=No se puede craftear\! -Cost_%1$J=Cuesta %1$J +Cost_%sJ=Cuesta %sJ Created_by\:=Creado por\:\: Is_not_a_crafting_material!=No es un material crafteable\! Recipe\:=Receta\: @@ -777,45 +777,45 @@ Recipe\:=Receta\: # Appearing in multiple source files (Increases_capacity)=(Incrementa la capacidad) (Increases_inductance)=(Aumenta la Inductancia) -Actual\:_%1$°C=Real\: %1$°C +Actual\:_%s°C=Real\: %s°C Biggest=Más grande Booster_slot=Aumento de espacio Can_create\:=Puede crear\: -Capacity\:_%1$F=Capacidad\: %1$F -Charge_power\:_%1$W=Potencia cargada\: %1$W +Capacity\:_%sF=Capacidad\: %sF +Charge_power\:_%sW=Potencia cargada\: %sW Connected=Conectado -Cooling_power\:_%1$W=Potencia de refrigeración\: %1$W +Cooling_power\:_%sW=Potencia de refrigeración\: %sW Copper_cable_slot=Ranura para cable de cobre Dielectric_slot=Espacio del dialéctrico -Discharge_power\:_%1$W=Potencia descargada\: %1$W +Discharge_power\:_%sW=Potencia descargada\: %sW Electrical_cable_slot=Ranura para cable eléctrico Entity_filter_slot=Ranura para filtro de entidad Ferromagnetic_core_slot=Ranura núcleo ferromagnético Has_a_signal_output.=Tiene una salida de señal -Inductance\:_%1$H=Inductancia\: %1$H -Internal_resistance\:_%1$Ω=Resistencia interna\: %1$Ω +Inductance\:_%sH=Inductancia\: %sH +Internal_resistance\:_%sΩ=Resistencia interna\: %sΩ Is_off=Está apagado Is_on=Está en -Max._temperature\:_%1$°C=Temperatura máxima\: %1$°C +Max._temperature\:_%s°C=Temperatura máxima\: %s°C Measured_value\ncorresponding\nto_0%_output=Valor medido\ncorrespondiente\na la salida 0% Measured_value\ncorresponding\nto_100%_output=Valor medido\ncorrespondiente\na la salida 100% Nominal\:=Nominal\: -Nominal_power\:_%1$W=Poder nominal\: %1$W +Nominal_power\:_%sW=Poder nominal\: %sW Nominal_usage\:=Uso nominal\: -Nominal_voltage\:_%1$V=Voltaje nominal\: %1$V +Nominal_voltage\:_%sV=Voltaje nominal\: %sV Not_connected=No conectado Not_enough_space_for_this_block=No hay suficiente espacio para este bloque Power=Poder -Power\:_%1$W=Poder\: %1$W -Range\:_%1$_blocks=Puedes pintar %1$ bloques +Power\:_%sW=Poder\: %sW +Range\:_%s_blocks=Puedes pintar %s bloques Redstone_slot=Ranura de redstone Regulator_slot=Ranura reguladora Reset=Reiniciar -Resistance\:_%1$Ω=Resistencia\: %1$Ω +Resistance\:_%sΩ=Resistencia\: %sΩ Smallest=Pequeñísimo Specify_the_channel=Especifique el canal -Stored_energy\:_%1$J_(%2$%)=Energía almacenada\: %1$J (%2$%) -Temperature\:_%1$°C=Temperatura\: %1$°C +Stored_energy\:_%sJ_(%s)=Energía almacenada\: %sJ (%s) +Temperature\:_%s°C=Temperatura\: %s°C Temperature_gauge=Indicador de temperatura Thermal_isolator_slot=Ranura de aislante térmico Toggle=Palanca @@ -825,5 +825,5 @@ Used_to_cool_down_turbines.=Usado para enfriar las turbinas. Uses_the_biggest\nvalue_on_the_channel.=Utiliza el mayor\nvalor en el canal. Uses_the_smallest\nvalue_on_the_channel.=Utiliza el menor\nvalor en el canal. Validate=Validar -Voltage\:_%1$V=Voltaje\: %1$V +Voltage\:_%sV=Voltaje\: %sV You_can't_place_this_block_at_this_side=No se puede colocar este bloque en este lado diff --git a/src/main/resources/assets/eln/lang/es_AR.lang b/src/main/resources/assets/eln/lang/es_AR.lang index c9e1e38af..ab67bb06b 100644 --- a/src/main/resources/assets/eln/lang/es_AR.lang +++ b/src/main/resources/assets/eln/lang/es_AR.lang @@ -287,21 +287,21 @@ tile.eln.EnergyConverterElnToOtherLVUBlock.name=50V Edad eléctrica a otro expor tile.eln.EnergyConverterElnToOtherMVUBlock.name=200V Edad eléctrica a otro exportador de energía # ./src/main/java/mods/eln/i18n/I18N.java -You_have_%1$_lives_left=Te queda el %1$ de vida +You_have_%s_lives_left=Te queda el %s de vida # ./src/main/java/mods/eln/item/BrushDescriptor.java Brush_is_dry=El cepillo está seca -Can_paint_%1$_blocks=Puedes pintar %1$ bloques +Can_paint_%s_blocks=Puedes pintar %s bloques # ./src/main/java/mods/eln/item/CombustionChamber.java Upgrade_for_the_Stone_Heat_Furnace.=Mejora para el horno de calor de piedra. # ./src/main/java/mods/eln/item/ElectricalDrillDescriptor.java -Energy_per_operation\:_%1$J=Energía por operación\: %1$J -Time_per_operation\:_%1$s=Tiempo por operación\: %1$s +Energy_per_operation\:_%sJ=Energía por operación\: %sJ +Time_per_operation\:_%ss=Tiempo por operación\: %ss # ./src/main/java/mods/eln/item/FerromagneticCoreDescriptor.java -Cable_loss_factor\:_%1$=Factor de pérdida del cable\: %1$ +Cable_loss_factor\:_%s=Factor de pérdida del cable\: %s # ./src/main/java/mods/eln/item/HeatingCorpElement.java @@ -311,8 +311,8 @@ Condition\:=Condición\: End_of_life=Fin de la vida Good=Bueno New=Nuevo -Nominal_lifetime\:_%1$h=Vida útil nominal\: %1$h -Technology\:_%1$=Tecnología\: %1$ +Nominal_lifetime\:_%sh=Vida útil nominal\: %sh +Technology\:_%s=Tecnología\: %s Used=Uso # ./src/main/java/mods/eln/item/LampSlot.java @@ -333,7 +333,7 @@ Solar_panel_upgrade=Mejora del panel solar Off=Apagado On=Encendido State\:=Estado\: -Stored_Energy\:_%1$J_(%2$%)=Energía almacenada\: %1$J (%2$%) +Stored_Energy\:_%sJ_(%s)=Energía almacenada\: %sJ (%s) # ./src/main/java/mods/eln/item/regulator/RegulatorSlot.java @@ -346,7 +346,7 @@ mod.name=Edad eléctrica # ./src/main/java/mods/eln/node/six/SixNodeDescriptor.java # ./src/main/java/mods/eln/simplenode/energyconverter/EnergyConverterElnToOtherGui.java -Input_power_is_limited_to_%1$W=La entrada de poder está limitada a %1$W +Input_power_is_limited_to_%sW=La entrada de poder está limitada a %sW # ./src/main/java/mods/eln/sixnode/LogicGate.kt _O\:_= O\: @@ -386,12 +386,12 @@ Switch_is_off=El interruptor está desactivado. Switch_is_on=El interruptor está activado # ./src/main/java/mods/eln/sixnode/electricalcable/ElectricalCableDescriptor.java -A_signal_is_electrical_information\nwhich_must_be_between_0V_and_%1$V=Una señal es la información eléctrica\nque debe ser entre 0V y %1$V +A_signal_is_electrical_information\nwhich_must_be_between_0V_and_%sV=Una señal es la información eléctrica\nque debe ser entre 0V y %sV Cable_is_adapted_to_conduct\nelectrical_signals.=El cable está adaptado para conducir\nseñales eléctricas. -Current\:_%1$A=Corriente\: %1$A +Current\:_%sA=Corriente\: %sA Not_adapted_to_transport_power.=No adaptado para el transporte de energía. Save_usage\:=Guardar el uso\: -Serial_resistance\:_%1$Ω=La resistencia en serie\: %1$Ω +Serial_resistance\:_%sΩ=La resistencia en serie\: %sΩ # ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerDescriptor.java It_can_store_up_to_256_points.=Es capaz de almacenar hasta 256 puntos @@ -423,10 +423,10 @@ Output_voltage_increases\nif_a_fire_has_been_detected.=Aumenta la tensión de sa Provides_configurable_signal\nvoltage.=Proporciona señal configurable\nvoltaje. # ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceGui.java -Output_at_%1$%=La producción en %1$% +Output_at_%s=La producción en %s # ./src/main/java/mods/eln/sixnode/electricallightsensor/ElectricalLightSensorDescriptor.java -0V_at_night,_%1$V_at_noon.=0V a la noche, %1$V al mediodía. +0V_at_night,_%sV_at_noon.=0V a la noche, %sV al mediodía. Provides_an_electrical_voltage\nin_the_presence_of_light.=Proporciona una tensión eléctrica\nen presencia de la luz. Provides_an_electrical_voltage\nwhich_is_proportional_to\nthe_intensity_of_daylight.=Proporciona una tensión eléctrica\nque es proporcional a\nla intensidad de la luz del día. @@ -439,7 +439,7 @@ Applicable_mathematical_operators\:=Operadores matemáticos aplicables\: Calculates_an_output_signal_from\n3_inputs_(A,_B,_C)_using_an_equation.=Calcula una señal de salida\nde 3 entradas (A, B, C) utilizando una ecuación. # ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathGui.java -%1$_Redstone(s)_required=%1$ Redstone(s) requerida +%s_Redstone(s)_required=%s Redstone(s) requerida Equation_required!=Ecuación requerida\! Inputs_are=Las entradas son Invalid_equation!=Ecuación inválida\! @@ -483,13 +483,13 @@ Displays_the_value_of_a_signal.=Muestra el valor de una señal. Portable_battery_slot=Ranura de la batería portátil # ./src/main/java/mods/eln/sixnode/electricalweathersensor/ElectricalWeatherSensorDescriptor.java -Clear\:_%1$V=Clear\: %1$V +Clear\:_%sV=Clear\: %sV Provides_an_electrical_signal\ndepending_the_actual_weather.=Proporciona una señal eléctrica\nen función del tiempo real. -Rain\:_%1$V=Rain\: %1$V -Storm\:_%1$V=Storm\: %1$V +Rain\:_%sV=Rain\: %sV +Storm\:_%sV=Storm\: %sV # ./src/main/java/mods/eln/sixnode/electricalwindsensor/ElectricalWindSensorDescriptor.java -Maximum_wind_speed_is_%1$m_s=Velocidad máxima del viento es %1$m/s +Maximum_wind_speed_is_%sm_s=Velocidad máxima del viento es %sm/s Provides_an_electrical_signal\ndependant_on_wind_speed.=Proporciona una señal eléctrica\nque depende de la velocidad del viento. You_can't_place_this_block_on_the_floor_or_the_ceiling=You can't place this block on the floor or the ceiling @@ -508,7 +508,7 @@ Voltage=Voltaje Change_password=Cambiar contraseña Counter_Mode=Modo de contador Counts_the_energy_conducted_from\n\u00a74red\u00a7f_to_\u00a71blue\u00a7f.=Que cuenta la energía conducida desde\n\\u00a74rojo\\u00a7f a \\u00a71azul\\u00a7f. -Energy_counter\:_%1$J=Contador de energía\: %1$J +Energy_counter\:_%sJ=Contador de energía\: %sJ Enter_new_energy=Introducir nueva energía Enter_password=Escribir contraseña Prepay_Mode=Modo prepago @@ -529,13 +529,13 @@ Provides_a_zero_volt_reference.=Proporciona una referencia de cero voltios. Allows_crossing_cables\non_one_single_block.=Permite cables de cruce\nen un solo bloque. # ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketDescriptor.java -Angle\:_%1$°_to_%2$°=Ángulo\: %1$° to %2$° -Spot_range\:_%1$_blocks=Rango de la localización\: %1$ bloques +Angle\:_%s°_to_%s°=Ángulo\: %s° to %s° +Spot_range\:_%s_blocks=Rango de la localización\: %s bloques # ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketGuiDraw.java -%1$_is_not_in_range!=%1$ is not in range\! +%s_is_not_in_range!=%s is not in range\! Cable_slot_empty=Cable con espacio vacío -Orientation\:_%1$°=Orientación\: %1$° +Orientation\:_%s°=Orientación\: %s° Parallel=Paralelo Powered_by_Lamp_Supply=Encendido con lámpara Powered_by_cable=Encendido con cable @@ -584,8 +584,8 @@ Coal_dust_slot=Coal dust slot # ./src/main/java/mods/eln/sixnode/thermalcable/ThermalCableDescriptor.java High_parallel_resistance\n_\=>_Low_power_dissipation.=Resistencia paralela alta\n \=> Bajo poder disipación. Low_serial_resistance\n_\=>_High_conductivity.=Baja resistencia de serie\n\=> Alta conductividad. -Parallel_resistance\:_%1$K_W=Resistencia paralela\: %1$K/W -Serial_resistance\:_%1$K_W=Resistencia de serie\: %1$K/W +Parallel_resistance\:_%sK_W=Resistencia paralela\: %sK/W +Serial_resistance\:_%sK_W=Resistencia de serie\: %sK/W # ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorContainer.java Cable_slot=Ranura para cable @@ -610,12 +610,12 @@ Set_beacon_name=Nombre del conjunto de beacon # ./src/main/java/mods/eln/sixnode/wirelesssignal/rx/WirelessSignalRxGui.java # ./src/main/java/mods/eln/transparentnode/FuelGenerator.kt -Nominal_power\:_%1$_W=Nominal power\: %1$ W -Nominal_voltage\:_%1$_V=Nominal voltage\: %1$ V +Nominal_power\:_%s_W=Nominal power\: %s W +Nominal_voltage\:_%s_V=Nominal voltage\: %s V Produces_electricity_using_fuel.=Produce electricidad usando combustible. # ./src/main/java/mods/eln/transparentnode/LargeRheostat.kt -Nom._Resistance\:_%1$=Nom. Resistance\: %1$ +Nom._Resistance\:_%s=Nom. Resistance\: %s # ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerContainer.java Drill_slot=Ranura del taladro @@ -637,16 +637,16 @@ Overheating_protection=Overheating protection Overvoltage_protection=Overvoltage protection # ./src/main/java/mods/eln/transparentnode/battery/BatteryDescriptor.java -Actual_charge\:_%1$%=Carga actual\: %1$% -Energy_capacity\:_%1$J=Capacidad de energía\: %1$J -_charged_at_%1$%=Cargado hasta %1$% +Actual_charge\:_%s=Carga actual\: %s +Energy_capacity\:_%sJ=Capacidad de energía\: %sJ +_charged_at_%s=Cargado hasta %s # ./src/main/java/mods/eln/transparentnode/battery/BatteryGuiDraw.java Charge=Carga Charged=Cargado Discharge=Descargado Energy\:=Energía\: -Energy\:_%1$=Energía\: %1$ +Energy\:_%s=Energía\: %s Life\:=Vida\: No_charge=Sin carga Power_in\:=Potencia dentro\: @@ -659,7 +659,7 @@ Egg_slot=Ranura del huevo Wireless_energy_receiver.=Receptor de energía inalámbrica. # ./src/main/java/mods/eln/transparentnode/electricalantennatx/ElectricalAntennaTxDescriptor.java -Efficiency\:_%1$%_up_to_%2$%=Eficiencia\: %1$% hasta %2$% +Efficiency\:_%s_up_to_%s=Eficiencia\: %s hasta %s Wireless_energy_transmitter.=Transmisor de energía inalámbrica. # ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceContainer.java @@ -671,7 +671,7 @@ Similar_to_a_vanilla_furnace,\nbut_heats_with_electricity.=Similar a un horno\np # ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceGuiDraw.java Auto_shutdown=Apagado automático Manual_shutdown=Cierre manual -Set_point\:_%1$°C=Punto fijo\: %1$°C +Set_point\:_%s°C=Punto fijo\: %s°C # ./src/main/java/mods/eln/transparentnode/electricalmachine/ElectricalMachineDescriptor.java Cost=Coste @@ -684,7 +684,7 @@ Fuel_slot=Ranura de combustible Generates_heat_when_supplied_with_fuel.=Genera calor como fuente de combustible. # ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceGuiDraw.java -Control_gauge_at_%1$%=Control de medida a %1$% +Control_gauge_at_%s=Control de medida a %s Decline_fuel=Eliminar combustible External_control=Control externo Internal_control=Control interno @@ -698,27 +698,27 @@ Solar_tracker_slot=Ranura del rastreador solar # ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelDescriptor.java Can_be_geared_towards_the_sun.=Puede ser orientada hacia el sol. -Max._power\:_%1$W=Potencia máxima\: %1$W -Max._voltage\:_%1$V=Voltaje máximo\: %1$V +Max._power\:_%sW=Potencia máxima\: %sW +Max._voltage\:_%sV=Voltaje máximo\: %sV Produces_power_from_solar_radiation.=Produce energía de la radiación solar. # ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPannelGuiDraw.java It_is_night=Es de noche -Solar_panel_angle\:_%1$°=Angulo del panel solar\: %1$° -Sun_angle\:_%1$°=El ángulo del sol\: %1$° +Solar_panel_angle\:_%s°=Angulo del panel solar\: %s° +Sun_angle\:_%s°=El ángulo del sol\: %s° # ./src/main/java/mods/eln/transparentnode/teleporter/TeleporterGui.java Destination_transporter=Destino transportador Power_consumption\:=Consumo de energía\: -Power_consumption\:_%1$W=Consumo de energía\: %1$W -Required_energy\:_%1$J=Requiere energía\: %1$J +Power_consumption\:_%sW=Consumo de energía\: %sW +Required_energy\:_%sJ=Requiere energía\: %sJ Start=Comenzar Transporter_name=Nombre del transportador # ./src/main/java/mods/eln/transparentnode/thermaldissipatoractive/ThermalDissipatorActiveDescriptor.java -Fan_cooling_power\:_%1$W=Potencia del ventilador de refrigeración\: %1$W -Fan_power_consumption\:_%1$W=Consumo de energía del ventilador\: %1$W -Fan_voltage\:_%1$V=Voltaje del ventilador\: %1$V +Fan_cooling_power\:_%sW=Potencia del ventilador de refrigeración\: %sW +Fan_power_consumption\:_%sW=Consumo de energía del ventilador\: %sW +Fan_voltage\:_%sV=Voltaje del ventilador\: %sV # ./src/main/java/mods/eln/transparentnode/transformer/TransformerDescriptor.java The_voltage_ratio_is_proportional\nto_the_cable_stacks_count_ratio.=La relación de voltaje es proporcional\nal cable. @@ -726,13 +726,13 @@ Transforms_an_input_voltage_to\nan_output_voltage.=Transforma una tensión de en # ./src/main/java/mods/eln/transparentnode/turbine/TurbineDescriptor.java Generates_electricity_using_heat.=Genera electricidad por la temperatura. -Temperature_difference\:_%1$°C=Temperaturas diferentes\: %1$°C +Temperature_difference\:_%s°C=Temperaturas diferentes\: %s°C # ./src/main/java/mods/eln/transparentnode/turret/TurretDescriptor.java CAUTION\:_Cables_can_get_quite_hot!=Precaución\: Los cables pueden llegar a estar muy calientes\! -Laser_charge_power\:_%1$W...%2$kW=Laser cargado\: %1$W...%2$kW +Laser_charge_power\:_%sW...%skW=Laser cargado\: %sW...%skW Scans_for_entities_and_shoots_if_the\nentity_matches_the_configurable_filter_criteria.=Analiza en busca de las entidades y los brotes de la\nentidad que coincide con los criterios del filtro configurables. -Standby_power\:_%1$W=Energía de reserva\: %1$W +Standby_power\:_%sW=Energía de reserva\: %sW # ./src/main/java/mods/eln/transparentnode/turret/TurretGui.java Attack\:=Atacar\: @@ -744,10 +744,10 @@ Generates_energy_using_water_stream.=Genera energía por la corriente del agua. No_place_for_water_turbine!=No place for water turbine\! # ./src/main/java/mods/eln/transparentnode/windturbine/WindTurbineDescriptor.java -Front\:_%1$=En frente\: %1$ +Front\:_%s=En frente\: %s Generates_energy_from_wind.=Genera energía por el viento. -Left_Right\:_%1$=Izquierda/Derecha\: %1$ -Up_Down\:_%1$=Arriba/Abajo\: %1$ +Left_Right\:_%s=Izquierda/Derecha\: %s +Up_Down\:_%s=Arriba/Abajo\: %s Wind_area\:=Área de viento\: # ./src/main/java/mods/eln/wiki/Data.java @@ -769,7 +769,7 @@ Previous=Previo # ./src/main/java/mods/eln/wiki/ItemDefault.java Can_be_used_to_craft\:=Se puede utilizar para craftear\: Cannot_be_crafted!=No se puede craftear\! -Cost_%1$J=Cuesta %1$J +Cost_%sJ=Cuesta %sJ Created_by\:=Creado por\:\: Is_not_a_crafting_material!=No es un material crafteable\! Recipe\:=Receta\: @@ -777,45 +777,45 @@ Recipe\:=Receta\: # Appearing in multiple source files (Increases_capacity)=(Incrementa la capacidad) (Increases_inductance)=(Aumenta la Inductancia) -Actual\:_%1$°C=Real\: %1$°C +Actual\:_%s°C=Real\: %s°C Biggest=Más grande Booster_slot=Aumento de espacio Can_create\:=Puede crear\: -Capacity\:_%1$F=Capacidad\: %1$F -Charge_power\:_%1$W=Potencia cargada\: %1$W +Capacity\:_%sF=Capacidad\: %sF +Charge_power\:_%sW=Potencia cargada\: %sW Connected=Conectado -Cooling_power\:_%1$W=Potencia de refrigeración\: %1$W +Cooling_power\:_%sW=Potencia de refrigeración\: %sW Copper_cable_slot=Ranura para cable de cobre Dielectric_slot=Espacio del dialéctrico -Discharge_power\:_%1$W=Potencia descargada\: %1$W +Discharge_power\:_%sW=Potencia descargada\: %sW Electrical_cable_slot=Ranura para cable eléctrico Entity_filter_slot=Ranura para filtro de entidad Ferromagnetic_core_slot=Ranura núcleo ferromagnético Has_a_signal_output.=Tiene una salida de señal -Inductance\:_%1$H=Inductancia\: %1$H -Internal_resistance\:_%1$Ω=Resistencia interna\: %1$Ω +Inductance\:_%sH=Inductancia\: %sH +Internal_resistance\:_%sΩ=Resistencia interna\: %sΩ Is_off=Está apagado Is_on=Está en -Max._temperature\:_%1$°C=Temperatura máxima\: %1$°C +Max._temperature\:_%s°C=Temperatura máxima\: %s°C Measured_value\ncorresponding\nto_0%_output=Valor medido\ncorrespondiente\na la salida 0% Measured_value\ncorresponding\nto_100%_output=Valor medido\ncorrespondiente\na la salida 100% Nominal\:=Nominal\: -Nominal_power\:_%1$W=Poder nominal\: %1$W +Nominal_power\:_%sW=Poder nominal\: %sW Nominal_usage\:=Uso nominal\: -Nominal_voltage\:_%1$V=Voltaje nominal\: %1$V +Nominal_voltage\:_%sV=Voltaje nominal\: %sV Not_connected=No conectado Not_enough_space_for_this_block=No hay suficiente espacio para este bloque Power=Poder -Power\:_%1$W=Poder\: %1$W -Range\:_%1$_blocks=Puedes pintar %1$ bloques +Power\:_%sW=Poder\: %sW +Range\:_%s_blocks=Puedes pintar %s bloques Redstone_slot=Ranura de redstone Regulator_slot=Ranura reguladora Reset=Reiniciar -Resistance\:_%1$Ω=Resistencia\: %1$Ω +Resistance\:_%sΩ=Resistencia\: %sΩ Smallest=Pequeñísimo Specify_the_channel=Especifique el canal -Stored_energy\:_%1$J_(%2$%)=Energía almacenada\: %1$J (%2$%) -Temperature\:_%1$°C=Temperatura\: %1$°C +Stored_energy\:_%sJ_(%s)=Energía almacenada\: %sJ (%s) +Temperature\:_%s°C=Temperatura\: %s°C Temperature_gauge=Indicador de temperatura Thermal_isolator_slot=Ranura de aislante térmico Toggle=Palanca @@ -825,5 +825,5 @@ Used_to_cool_down_turbines.=Usado para enfriar las turbinas. Uses_the_biggest\nvalue_on_the_channel.=Utiliza el mayor\nvalor en el canal. Uses_the_smallest\nvalue_on_the_channel.=Utiliza el menor\nvalor en el canal. Validate=Validar -Voltage\:_%1$V=Voltaje\: %1$V +Voltage\:_%sV=Voltaje\: %sV You_can't_place_this_block_at_this_side=No se puede colocar este bloque en este lado diff --git a/src/main/resources/assets/eln/lang/fr.lang b/src/main/resources/assets/eln/lang/fr.lang index ab7665a75..97de00099 100644 --- a/src/main/resources/assets/eln/lang/fr.lang +++ b/src/main/resources/assets/eln/lang/fr.lang @@ -287,21 +287,21 @@ tile.eln.EnergyConverterElnToOtherLVUBlock.name=Convertisseur 50V d'EA vers une tile.eln.EnergyConverterElnToOtherMVUBlock.name=Convertisseur 200V d'EA vers une autre énergie # ./src/main/java/mods/eln/i18n/I18N.java -You_have_%1$_lives_left=Il vous reste encore %1$ vies +You_have_%s_lives_left=Il vous reste encore %s vies # ./src/main/java/mods/eln/item/BrushDescriptor.java Brush_is_dry=Votre brosse est sèche -Can_paint_%1$_blocks=Peut peindre %1$ blocks +Can_paint_%s_blocks=Peut peindre %s blocks # ./src/main/java/mods/eln/item/CombustionChamber.java Upgrade_for_the_Stone_Heat_Furnace.=Amélioration pour le four de chauffe en pierre # ./src/main/java/mods/eln/item/ElectricalDrillDescriptor.java -Energy_per_operation\:_%1$J=Energie par opération \: %1$J -Time_per_operation\:_%1$s=Temps par opération \: %1$s +Energy_per_operation\:_%sJ=Energie par opération \: %sJ +Time_per_operation\:_%ss=Temps par opération \: %ss # ./src/main/java/mods/eln/item/FerromagneticCoreDescriptor.java -Cable_loss_factor\:_%1$=Facteur de perte du câble \: %1$ +Cable_loss_factor\:_%s=Facteur de perte du câble \: %s # ./src/main/java/mods/eln/item/HeatingCorpElement.java @@ -311,8 +311,8 @@ Condition\:=Conditions \: End_of_life=Fin de vie Good=Bon New=Nouveau -Nominal_lifetime\:_%1$h=Durée de vie nominale \: %1$h -Technology\:_%1$=Technologie \: %1$ +Nominal_lifetime\:_%sh=Durée de vie nominale \: %sh +Technology\:_%s=Technologie \: %s Used=Utilisé # ./src/main/java/mods/eln/item/LampSlot.java @@ -333,7 +333,7 @@ Solar_panel_upgrade=Amélioration du panneau solaire Off=Off On=On State\:=Etat \: -Stored_Energy\:_%1$J_(%2$%)=Energie stockée \: %1$J (%2$%) +Stored_Energy\:_%sJ_(%s)=Energie stockée \: %sJ (%s) # ./src/main/java/mods/eln/item/regulator/RegulatorSlot.java @@ -346,7 +346,7 @@ mod.name=Electrical Age # ./src/main/java/mods/eln/node/six/SixNodeDescriptor.java # ./src/main/java/mods/eln/simplenode/energyconverter/EnergyConverterElnToOtherGui.java -Input_power_is_limited_to_%1$W=La tension d'entrée est limitée à %1$W +Input_power_is_limited_to_%sW=La tension d'entrée est limitée à %sW # ./src/main/java/mods/eln/sixnode/LogicGate.kt _O\:_= Sortie \: @@ -386,12 +386,12 @@ Switch_is_off=L'interrupteur est éteint Switch_is_on=L'interrupteur est allumé # ./src/main/java/mods/eln/sixnode/electricalcable/ElectricalCableDescriptor.java -A_signal_is_electrical_information\nwhich_must_be_between_0V_and_%1$V=un signal est de l'information électrique\nqui doit être entre 0V et %1$V. +A_signal_is_electrical_information\nwhich_must_be_between_0V_and_%sV=un signal est de l'information électrique\nqui doit être entre 0V et %sV. Cable_is_adapted_to_conduct\nelectrical_signals.=Le câble est adapté pour\nconduire un signal électrique. -Current\:_%1$A=Courant\: %1$A +Current\:_%sA=Courant\: %sA Not_adapted_to_transport_power.=Pas adapté pour transporter de la puissance. Save_usage\:=Utilisation sécuritaire\: -Serial_resistance\:_%1$Ω=Résistance série \: %1$Ω +Serial_resistance\:_%sΩ=Résistance série \: %sΩ # ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerDescriptor.java It_can_store_up_to_256_points.=Il peut sauver jusqu'à 256 points. @@ -423,10 +423,10 @@ Output_voltage_increases\nif_a_fire_has_been_detected.=La tension de sortie augm Provides_configurable_signal\nvoltage.=le voltage est configurable # ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceGui.java -Output_at_%1$%=Sortie de %1$% +Output_at_%s=Sortie de %s # ./src/main/java/mods/eln/sixnode/electricallightsensor/ElectricalLightSensorDescriptor.java -0V_at_night,_%1$V_at_noon.=0V la nuit, %1$V le midi. +0V_at_night,_%sV_at_noon.=0V la nuit, %sV le midi. Provides_an_electrical_voltage\nin_the_presence_of_light.=Fournit une tension électrique\nen présence de lumière. Provides_an_electrical_voltage\nwhich_is_proportional_to\nthe_intensity_of_daylight.=Produit un voltage\nqui est proportionnel\nà l'intensité de la lumière du jour @@ -439,7 +439,7 @@ Applicable_mathematical_operators\:=S'applique aux opérateurs mathématiques \: Calculates_an_output_signal_from\n3_inputs_(A,_B,_C)_using_an_equation.=Calcul le signal de sortie en fonction des\n3 entrés (A, B, C) en utilisant une équation. # ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathGui.java -%1$_Redstone(s)_required=%1$ Redstone(s) requis +%s_Redstone(s)_required=%s Redstone(s) requis Equation_required!=Équation requise\! Inputs_are=L'entrée est Invalid_equation!=Équation invalide\! @@ -483,13 +483,13 @@ Displays_the_value_of_a_signal.=Affichage la valeur du signal Portable_battery_slot=Emplacement pour batterie portable # ./src/main/java/mods/eln/sixnode/electricalweathersensor/ElectricalWeatherSensorDescriptor.java -Clear\:_%1$V=Nettoyage \: %1$V +Clear\:_%sV=Nettoyage \: %sV Provides_an_electrical_signal\ndepending_the_actual_weather.=Fournit une tension électrique selon la température -Rain\:_%1$V=Pluie \: %1$V -Storm\:_%1$V=Orage \: %1$V +Rain\:_%sV=Pluie \: %sV +Storm\:_%sV=Orage \: %sV # ./src/main/java/mods/eln/sixnode/electricalwindsensor/ElectricalWindSensorDescriptor.java -Maximum_wind_speed_is_%1$m_s=La vitesse maximale du vent est %1$m/s +Maximum_wind_speed_is_%sm_s=La vitesse maximale du vent est %sm/s Provides_an_electrical_signal\ndependant_on_wind_speed.=Fournit une tension électrique\ndépendant de la vitesse du vent You_can't_place_this_block_on_the_floor_or_the_ceiling=Vous ne pouvez pas placer ce bloc sur le sol ou au plafond @@ -508,7 +508,7 @@ Voltage=Tension Change_password=Changer le mot de passe Counter_Mode=Mode Compteur Counts_the_energy_conducted_from\n\u00a74red\u00a7f_to_\u00a71blue\u00a7f.=Compte l'énergie conduit par\n\\u00a74red\\u00a7f à \\u00a71blue\\u00a7f -Energy_counter\:_%1$J=Compteur d'énergie \: %1$J +Energy_counter\:_%sJ=Compteur d'énergie \: %sJ Enter_new_energy=Entrez une nouvelle énergie Enter_password=Entrez le mot de passe Prepay_Mode=Mode Prépayé @@ -529,13 +529,13 @@ Provides_a_zero_volt_reference.=Fournit une référence de tension de 0 volt. Allows_crossing_cables\non_one_single_block.=Permet aux câbles de se croiser\nsur un seul bloc # ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketDescriptor.java -Angle\:_%1$°_to_%2$°=Angle\: %1$° à %2$° -Spot_range\:_%1$_blocks=Portée\: %1$ blocks +Angle\:_%s°_to_%s°=Angle\: %s° à %s° +Spot_range\:_%s_blocks=Portée\: %s blocks # ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketGuiDraw.java -%1$_is_not_in_range!=%1$ n'est pas à portée +%s_is_not_in_range!=%s n'est pas à portée Cable_slot_empty=Logement vide pour le câble -Orientation\:_%1$°=Orientation \: %1$° +Orientation\:_%s°=Orientation \: %s° Parallel=Parallèle Powered_by_Lamp_Supply=Alimentée par une alimentation de lampe Powered_by_cable=Alimenté par câble @@ -584,8 +584,8 @@ Coal_dust_slot=Fente pour la poussière de charbon # ./src/main/java/mods/eln/sixnode/thermalcable/ThermalCableDescriptor.java High_parallel_resistance\n_\=>_Low_power_dissipation.=Forte résistance en parallèle\n\=> Faible dissipation de puissance Low_serial_resistance\n_\=>_High_conductivity.=faible résistance \=> bonne conductibilité -Parallel_resistance\:_%1$K_W=Résistance en parallèle \: %1$K/W -Serial_resistance\:_%1$K_W=Résistance série \: %1$K/W +Parallel_resistance\:_%sK_W=Résistance en parallèle \: %sK/W +Serial_resistance\:_%sK_W=Résistance série \: %sK/W # ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorContainer.java Cable_slot=Fente pour le câble @@ -610,12 +610,12 @@ Set_beacon_name=Nom de beacon \: # ./src/main/java/mods/eln/sixnode/wirelesssignal/rx/WirelessSignalRxGui.java # ./src/main/java/mods/eln/transparentnode/FuelGenerator.kt -Nominal_power\:_%1$_W=Puissance nominale \: %1$ W -Nominal_voltage\:_%1$_V=Tension nominale \: %1$ V +Nominal_power\:_%s_W=Puissance nominale \: %s W +Nominal_voltage\:_%s_V=Tension nominale \: %s V Produces_electricity_using_fuel.=Produit de l’électricité à partir d'essence. # ./src/main/java/mods/eln/transparentnode/LargeRheostat.kt -Nom._Resistance\:_%1$=Résistance nom. \: %1$ +Nom._Resistance\:_%s=Résistance nom. \: %s # ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerContainer.java Drill_slot=Emplacement de la tête de forage @@ -637,16 +637,16 @@ Overheating_protection=Protection anti-surchauffe Overvoltage_protection=Protection anti-surtension # ./src/main/java/mods/eln/transparentnode/battery/BatteryDescriptor.java -Actual_charge\:_%1$%=Charge actuelle\: %1$% -Energy_capacity\:_%1$J=Capacité énergétique \: %1$J -_charged_at_%1$%=chargé à %1$% +Actual_charge\:_%s=Charge actuelle\: %s +Energy_capacity\:_%sJ=Capacité énergétique \: %sJ +_charged_at_%s=chargé à %s # ./src/main/java/mods/eln/transparentnode/battery/BatteryGuiDraw.java Charge=Charge Charged=Chargé Discharge=Décharge Energy\:=Energie \: -Energy\:_%1$=Energie \: %1$ +Energy\:_%s=Energie \: %s Life\:=Vie \: No_charge=Pas de charge Power_in\:=Puissance d'entrée \: @@ -659,7 +659,7 @@ Egg_slot=Fente pour les œufs Wireless_energy_receiver.=Récepteur d'énergie sans fil # ./src/main/java/mods/eln/transparentnode/electricalantennatx/ElectricalAntennaTxDescriptor.java -Efficiency\:_%1$%_up_to_%2$%=Efficacité \: de %1$% à %2$% +Efficiency\:_%s_up_to_%s=Efficacité \: de %s à %s Wireless_energy_transmitter.=Emetteur d'énergie sans fil # ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceContainer.java @@ -671,7 +671,7 @@ Similar_to_a_vanilla_furnace,\nbut_heats_with_electricity.=semblable au four van # ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceGuiDraw.java Auto_shutdown=Arrêt automatique Manual_shutdown=Arrêt manuel -Set_point\:_%1$°C=Consigne \: %1$°C +Set_point\:_%s°C=Consigne \: %s°C # ./src/main/java/mods/eln/transparentnode/electricalmachine/ElectricalMachineDescriptor.java Cost=Prix @@ -684,7 +684,7 @@ Fuel_slot=Emplacement à pétrole Generates_heat_when_supplied_with_fuel.=Génère de la chaleur lorsqu'il est alimenté en carburant. # ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceGuiDraw.java -Control_gauge_at_%1$%=Jauge de contrôle à %1$% +Control_gauge_at_%s=Jauge de contrôle à %s Decline_fuel=Refuse carburant External_control=Contrôle externe Internal_control=Contrôle interne @@ -698,27 +698,27 @@ Solar_tracker_slot=Traceur de soleil # ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelDescriptor.java Can_be_geared_towards_the_sun.=Peut-être orienté vers le soleil. -Max._power\:_%1$W=Énergie maximum \: %1$W -Max._voltage\:_%1$V=Voltage maximum \: %1$V +Max._power\:_%sW=Énergie maximum \: %sW +Max._voltage\:_%sV=Voltage maximum \: %sV Produces_power_from_solar_radiation.=Produit de l'énergie avec le soleil. # ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPannelGuiDraw.java It_is_night=C'est la nuit -Solar_panel_angle\:_%1$°=Angle du panneau solaire \: %1$° -Sun_angle\:_%1$°=Angle du soleil \: %1$° +Solar_panel_angle\:_%s°=Angle du panneau solaire \: %s° +Sun_angle\:_%s°=Angle du soleil \: %s° # ./src/main/java/mods/eln/transparentnode/teleporter/TeleporterGui.java Destination_transporter=Destination du téléporteur Power_consumption\:=Consommation électrique \: -Power_consumption\:_%1$W=Consommation électrique \: %1$W -Required_energy\:_%1$J=Energie demandée\: %1$J +Power_consumption\:_%sW=Consommation électrique \: %sW +Required_energy\:_%sJ=Energie demandée\: %sJ Start=Début Transporter_name=Nom du transporteur # ./src/main/java/mods/eln/transparentnode/thermaldissipatoractive/ThermalDissipatorActiveDescriptor.java -Fan_cooling_power\:_%1$W=Puissance de refroidissement du ventilateur \: %1$W -Fan_power_consumption\:_%1$W=Consommation du ventilateur \: %1$W -Fan_voltage\:_%1$V=Tension du ventilateur \: %1$V +Fan_cooling_power\:_%sW=Puissance de refroidissement du ventilateur \: %sW +Fan_power_consumption\:_%sW=Consommation du ventilateur \: %sW +Fan_voltage\:_%sV=Tension du ventilateur \: %sV # ./src/main/java/mods/eln/transparentnode/transformer/TransformerDescriptor.java The_voltage_ratio_is_proportional\nto_the_cable_stacks_count_ratio.=Le ratio de tension est proportionnel\nau ratio du nombre de câbles empilés. @@ -726,13 +726,13 @@ Transforms_an_input_voltage_to\nan_output_voltage.=Transforme une tension d'entr # ./src/main/java/mods/eln/transparentnode/turbine/TurbineDescriptor.java Generates_electricity_using_heat.=Génère de l'électricité en utilisant la chaleur . -Temperature_difference\:_%1$°C=Différence de température\: %1$°C +Temperature_difference\:_%s°C=Différence de température\: %s°C # ./src/main/java/mods/eln/transparentnode/turret/TurretDescriptor.java CAUTION\:_Cables_can_get_quite_hot!=Attention \! Les câbles peuvent devenir chaud \! -Laser_charge_power\:_%1$W...%2$kW=Charge de l'énergie du laser \: %1$W...%2$kW +Laser_charge_power\:_%sW...%skW=Charge de l'énergie du laser \: %sW...%skW Scans_for_entities_and_shoots_if_the\nentity_matches_the_configurable_filter_criteria.=Scan les entités et tire si \nl'entité est la même que celle configurer -Standby_power\:_%1$W=Puissance en veille \: %1$W +Standby_power\:_%sW=Puissance en veille \: %sW # ./src/main/java/mods/eln/transparentnode/turret/TurretGui.java Attack\:=Attaquer \: @@ -744,10 +744,10 @@ Generates_energy_using_water_stream.=Génère de l'énergie grâce au courant de No_place_for_water_turbine!=Pas de place pour une turbine à eau \! # ./src/main/java/mods/eln/transparentnode/windturbine/WindTurbineDescriptor.java -Front\:_%1$=Face \: %1$ +Front\:_%s=Face \: %s Generates_energy_from_wind.=Génère de l'énergie avec le vent. -Left_Right\:_%1$=Gauche/Droite \: %1$ -Up_Down\:_%1$=Haut/Bas \: %1$ +Left_Right\:_%s=Gauche/Droite \: %s +Up_Down\:_%s=Haut/Bas \: %s Wind_area\:=Zone de vent \: # ./src/main/java/mods/eln/wiki/Data.java @@ -769,7 +769,7 @@ Previous=Précédent # ./src/main/java/mods/eln/wiki/ItemDefault.java Can_be_used_to_craft\:=Peut-être utilisé pour fabriquer \: Cannot_be_crafted!=Impossible de fabriquer ceci \! -Cost_%1$J=Coût %1$J +Cost_%sJ=Coût %sJ Created_by\:=Créé par \: Is_not_a_crafting_material!=N'est pas un matériau de fabrication Recipe\:=Recette \: @@ -777,45 +777,45 @@ Recipe\:=Recette \: # Appearing in multiple source files (Increases_capacity)=(augmente la capacité) (Increases_inductance)=(Augmente l'inductance) -Actual\:_%1$°C=Actuelle \: %1$°C +Actual\:_%s°C=Actuelle \: %s°C Biggest=Plus grand Booster_slot=Emplacement pour un booster Can_create\:=Peut créer \: -Capacity\:_%1$F=Capacité \: %1$F -Charge_power\:_%1$W=Puissance de charge \: %1$W +Capacity\:_%sF=Capacité \: %sF +Charge_power\:_%sW=Puissance de charge \: %sW Connected=Connecté -Cooling_power\:_%1$W=Puissance de refroidissement \: %1$W +Cooling_power\:_%sW=Puissance de refroidissement \: %sW Copper_cable_slot=Emplacement pour un câble en cuivre Dielectric_slot=Emplacement diélectrique -Discharge_power\:_%1$W=Puissance de décharge \: %1$W +Discharge_power\:_%sW=Puissance de décharge \: %sW Electrical_cable_slot=Emplacement pour câble électrique Entity_filter_slot=Emplacement pour filtre à entités Ferromagnetic_core_slot=Emplacement pour noyau ferromagnétique Has_a_signal_output.=Dispose d'un signal de sortie. -Inductance\:_%1$H=inductance \: %1$H -Internal_resistance\:_%1$Ω=Résistance interne \: %1$Ω +Inductance\:_%sH=inductance \: %sH +Internal_resistance\:_%sΩ=Résistance interne \: %sΩ Is_off=C'est éteint Is_on=C'est allumé -Max._temperature\:_%1$°C=Temperature max \: %1$°C +Max._temperature\:_%s°C=Temperature max \: %s°C Measured_value\ncorresponding\nto_0%_output=Mesure la valeur\ncorrespondant\nà 0% de la sortie Measured_value\ncorresponding\nto_100%_output=Mesure la valeur\ncorrespondant\nà 100% de la sortie Nominal\:=Nominale \: -Nominal_power\:_%1$W=Puissance nominale \: %1$W +Nominal_power\:_%sW=Puissance nominale \: %sW Nominal_usage\:=Utilisation nominale \: -Nominal_voltage\:_%1$V=Tension nominale\: %1$V +Nominal_voltage\:_%sV=Tension nominale\: %sV Not_connected=Pas connecté Not_enough_space_for_this_block=Pas assez d'espace pour ce bloc Power=Énergie -Power\:_%1$W=Puissance\: %1$W -Range\:_%1$_blocks=Portée\: %1$ blocks +Power\:_%sW=Puissance\: %sW +Range\:_%s_blocks=Portée\: %s blocks Redstone_slot=Emplacement pour Redstone Regulator_slot=Emplacement pour le régulateur Reset=Réinitialiser -Resistance\:_%1$Ω=Résistance\: %1$Ω +Resistance\:_%sΩ=Résistance\: %sΩ Smallest=Plus petit Specify_the_channel=Spécifier le canal -Stored_energy\:_%1$J_(%2$%)=Energie stockée \: %1$J (%2$%) -Temperature\:_%1$°C=Température\: %1$°C +Stored_energy\:_%sJ_(%s)=Energie stockée \: %sJ (%s) +Temperature\:_%s°C=Température\: %s°C Temperature_gauge=Gauge de température Thermal_isolator_slot=Emplacement pour Isolateur Thermique Toggle=Basculer @@ -825,5 +825,5 @@ Used_to_cool_down_turbines.=Utilisé pour refroidir les turbines. Uses_the_biggest\nvalue_on_the_channel.=Utilise la plus grande valeur\nsur la chaîne Uses_the_smallest\nvalue_on_the_channel.=Utilise la plus petite valeur\nsur la chaîne Validate=Valider -Voltage\:_%1$V=Tension \: %1$V +Voltage\:_%sV=Tension \: %sV You_can't_place_this_block_at_this_side=Vous ne pouvez pas poser de bloc sur ce côté diff --git a/src/main/resources/assets/eln/lang/fr_CA.lang b/src/main/resources/assets/eln/lang/fr_CA.lang index ab7665a75..97de00099 100644 --- a/src/main/resources/assets/eln/lang/fr_CA.lang +++ b/src/main/resources/assets/eln/lang/fr_CA.lang @@ -287,21 +287,21 @@ tile.eln.EnergyConverterElnToOtherLVUBlock.name=Convertisseur 50V d'EA vers une tile.eln.EnergyConverterElnToOtherMVUBlock.name=Convertisseur 200V d'EA vers une autre énergie # ./src/main/java/mods/eln/i18n/I18N.java -You_have_%1$_lives_left=Il vous reste encore %1$ vies +You_have_%s_lives_left=Il vous reste encore %s vies # ./src/main/java/mods/eln/item/BrushDescriptor.java Brush_is_dry=Votre brosse est sèche -Can_paint_%1$_blocks=Peut peindre %1$ blocks +Can_paint_%s_blocks=Peut peindre %s blocks # ./src/main/java/mods/eln/item/CombustionChamber.java Upgrade_for_the_Stone_Heat_Furnace.=Amélioration pour le four de chauffe en pierre # ./src/main/java/mods/eln/item/ElectricalDrillDescriptor.java -Energy_per_operation\:_%1$J=Energie par opération \: %1$J -Time_per_operation\:_%1$s=Temps par opération \: %1$s +Energy_per_operation\:_%sJ=Energie par opération \: %sJ +Time_per_operation\:_%ss=Temps par opération \: %ss # ./src/main/java/mods/eln/item/FerromagneticCoreDescriptor.java -Cable_loss_factor\:_%1$=Facteur de perte du câble \: %1$ +Cable_loss_factor\:_%s=Facteur de perte du câble \: %s # ./src/main/java/mods/eln/item/HeatingCorpElement.java @@ -311,8 +311,8 @@ Condition\:=Conditions \: End_of_life=Fin de vie Good=Bon New=Nouveau -Nominal_lifetime\:_%1$h=Durée de vie nominale \: %1$h -Technology\:_%1$=Technologie \: %1$ +Nominal_lifetime\:_%sh=Durée de vie nominale \: %sh +Technology\:_%s=Technologie \: %s Used=Utilisé # ./src/main/java/mods/eln/item/LampSlot.java @@ -333,7 +333,7 @@ Solar_panel_upgrade=Amélioration du panneau solaire Off=Off On=On State\:=Etat \: -Stored_Energy\:_%1$J_(%2$%)=Energie stockée \: %1$J (%2$%) +Stored_Energy\:_%sJ_(%s)=Energie stockée \: %sJ (%s) # ./src/main/java/mods/eln/item/regulator/RegulatorSlot.java @@ -346,7 +346,7 @@ mod.name=Electrical Age # ./src/main/java/mods/eln/node/six/SixNodeDescriptor.java # ./src/main/java/mods/eln/simplenode/energyconverter/EnergyConverterElnToOtherGui.java -Input_power_is_limited_to_%1$W=La tension d'entrée est limitée à %1$W +Input_power_is_limited_to_%sW=La tension d'entrée est limitée à %sW # ./src/main/java/mods/eln/sixnode/LogicGate.kt _O\:_= Sortie \: @@ -386,12 +386,12 @@ Switch_is_off=L'interrupteur est éteint Switch_is_on=L'interrupteur est allumé # ./src/main/java/mods/eln/sixnode/electricalcable/ElectricalCableDescriptor.java -A_signal_is_electrical_information\nwhich_must_be_between_0V_and_%1$V=un signal est de l'information électrique\nqui doit être entre 0V et %1$V. +A_signal_is_electrical_information\nwhich_must_be_between_0V_and_%sV=un signal est de l'information électrique\nqui doit être entre 0V et %sV. Cable_is_adapted_to_conduct\nelectrical_signals.=Le câble est adapté pour\nconduire un signal électrique. -Current\:_%1$A=Courant\: %1$A +Current\:_%sA=Courant\: %sA Not_adapted_to_transport_power.=Pas adapté pour transporter de la puissance. Save_usage\:=Utilisation sécuritaire\: -Serial_resistance\:_%1$Ω=Résistance série \: %1$Ω +Serial_resistance\:_%sΩ=Résistance série \: %sΩ # ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerDescriptor.java It_can_store_up_to_256_points.=Il peut sauver jusqu'à 256 points. @@ -423,10 +423,10 @@ Output_voltage_increases\nif_a_fire_has_been_detected.=La tension de sortie augm Provides_configurable_signal\nvoltage.=le voltage est configurable # ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceGui.java -Output_at_%1$%=Sortie de %1$% +Output_at_%s=Sortie de %s # ./src/main/java/mods/eln/sixnode/electricallightsensor/ElectricalLightSensorDescriptor.java -0V_at_night,_%1$V_at_noon.=0V la nuit, %1$V le midi. +0V_at_night,_%sV_at_noon.=0V la nuit, %sV le midi. Provides_an_electrical_voltage\nin_the_presence_of_light.=Fournit une tension électrique\nen présence de lumière. Provides_an_electrical_voltage\nwhich_is_proportional_to\nthe_intensity_of_daylight.=Produit un voltage\nqui est proportionnel\nà l'intensité de la lumière du jour @@ -439,7 +439,7 @@ Applicable_mathematical_operators\:=S'applique aux opérateurs mathématiques \: Calculates_an_output_signal_from\n3_inputs_(A,_B,_C)_using_an_equation.=Calcul le signal de sortie en fonction des\n3 entrés (A, B, C) en utilisant une équation. # ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathGui.java -%1$_Redstone(s)_required=%1$ Redstone(s) requis +%s_Redstone(s)_required=%s Redstone(s) requis Equation_required!=Équation requise\! Inputs_are=L'entrée est Invalid_equation!=Équation invalide\! @@ -483,13 +483,13 @@ Displays_the_value_of_a_signal.=Affichage la valeur du signal Portable_battery_slot=Emplacement pour batterie portable # ./src/main/java/mods/eln/sixnode/electricalweathersensor/ElectricalWeatherSensorDescriptor.java -Clear\:_%1$V=Nettoyage \: %1$V +Clear\:_%sV=Nettoyage \: %sV Provides_an_electrical_signal\ndepending_the_actual_weather.=Fournit une tension électrique selon la température -Rain\:_%1$V=Pluie \: %1$V -Storm\:_%1$V=Orage \: %1$V +Rain\:_%sV=Pluie \: %sV +Storm\:_%sV=Orage \: %sV # ./src/main/java/mods/eln/sixnode/electricalwindsensor/ElectricalWindSensorDescriptor.java -Maximum_wind_speed_is_%1$m_s=La vitesse maximale du vent est %1$m/s +Maximum_wind_speed_is_%sm_s=La vitesse maximale du vent est %sm/s Provides_an_electrical_signal\ndependant_on_wind_speed.=Fournit une tension électrique\ndépendant de la vitesse du vent You_can't_place_this_block_on_the_floor_or_the_ceiling=Vous ne pouvez pas placer ce bloc sur le sol ou au plafond @@ -508,7 +508,7 @@ Voltage=Tension Change_password=Changer le mot de passe Counter_Mode=Mode Compteur Counts_the_energy_conducted_from\n\u00a74red\u00a7f_to_\u00a71blue\u00a7f.=Compte l'énergie conduit par\n\\u00a74red\\u00a7f à \\u00a71blue\\u00a7f -Energy_counter\:_%1$J=Compteur d'énergie \: %1$J +Energy_counter\:_%sJ=Compteur d'énergie \: %sJ Enter_new_energy=Entrez une nouvelle énergie Enter_password=Entrez le mot de passe Prepay_Mode=Mode Prépayé @@ -529,13 +529,13 @@ Provides_a_zero_volt_reference.=Fournit une référence de tension de 0 volt. Allows_crossing_cables\non_one_single_block.=Permet aux câbles de se croiser\nsur un seul bloc # ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketDescriptor.java -Angle\:_%1$°_to_%2$°=Angle\: %1$° à %2$° -Spot_range\:_%1$_blocks=Portée\: %1$ blocks +Angle\:_%s°_to_%s°=Angle\: %s° à %s° +Spot_range\:_%s_blocks=Portée\: %s blocks # ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketGuiDraw.java -%1$_is_not_in_range!=%1$ n'est pas à portée +%s_is_not_in_range!=%s n'est pas à portée Cable_slot_empty=Logement vide pour le câble -Orientation\:_%1$°=Orientation \: %1$° +Orientation\:_%s°=Orientation \: %s° Parallel=Parallèle Powered_by_Lamp_Supply=Alimentée par une alimentation de lampe Powered_by_cable=Alimenté par câble @@ -584,8 +584,8 @@ Coal_dust_slot=Fente pour la poussière de charbon # ./src/main/java/mods/eln/sixnode/thermalcable/ThermalCableDescriptor.java High_parallel_resistance\n_\=>_Low_power_dissipation.=Forte résistance en parallèle\n\=> Faible dissipation de puissance Low_serial_resistance\n_\=>_High_conductivity.=faible résistance \=> bonne conductibilité -Parallel_resistance\:_%1$K_W=Résistance en parallèle \: %1$K/W -Serial_resistance\:_%1$K_W=Résistance série \: %1$K/W +Parallel_resistance\:_%sK_W=Résistance en parallèle \: %sK/W +Serial_resistance\:_%sK_W=Résistance série \: %sK/W # ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorContainer.java Cable_slot=Fente pour le câble @@ -610,12 +610,12 @@ Set_beacon_name=Nom de beacon \: # ./src/main/java/mods/eln/sixnode/wirelesssignal/rx/WirelessSignalRxGui.java # ./src/main/java/mods/eln/transparentnode/FuelGenerator.kt -Nominal_power\:_%1$_W=Puissance nominale \: %1$ W -Nominal_voltage\:_%1$_V=Tension nominale \: %1$ V +Nominal_power\:_%s_W=Puissance nominale \: %s W +Nominal_voltage\:_%s_V=Tension nominale \: %s V Produces_electricity_using_fuel.=Produit de l’électricité à partir d'essence. # ./src/main/java/mods/eln/transparentnode/LargeRheostat.kt -Nom._Resistance\:_%1$=Résistance nom. \: %1$ +Nom._Resistance\:_%s=Résistance nom. \: %s # ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerContainer.java Drill_slot=Emplacement de la tête de forage @@ -637,16 +637,16 @@ Overheating_protection=Protection anti-surchauffe Overvoltage_protection=Protection anti-surtension # ./src/main/java/mods/eln/transparentnode/battery/BatteryDescriptor.java -Actual_charge\:_%1$%=Charge actuelle\: %1$% -Energy_capacity\:_%1$J=Capacité énergétique \: %1$J -_charged_at_%1$%=chargé à %1$% +Actual_charge\:_%s=Charge actuelle\: %s +Energy_capacity\:_%sJ=Capacité énergétique \: %sJ +_charged_at_%s=chargé à %s # ./src/main/java/mods/eln/transparentnode/battery/BatteryGuiDraw.java Charge=Charge Charged=Chargé Discharge=Décharge Energy\:=Energie \: -Energy\:_%1$=Energie \: %1$ +Energy\:_%s=Energie \: %s Life\:=Vie \: No_charge=Pas de charge Power_in\:=Puissance d'entrée \: @@ -659,7 +659,7 @@ Egg_slot=Fente pour les œufs Wireless_energy_receiver.=Récepteur d'énergie sans fil # ./src/main/java/mods/eln/transparentnode/electricalantennatx/ElectricalAntennaTxDescriptor.java -Efficiency\:_%1$%_up_to_%2$%=Efficacité \: de %1$% à %2$% +Efficiency\:_%s_up_to_%s=Efficacité \: de %s à %s Wireless_energy_transmitter.=Emetteur d'énergie sans fil # ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceContainer.java @@ -671,7 +671,7 @@ Similar_to_a_vanilla_furnace,\nbut_heats_with_electricity.=semblable au four van # ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceGuiDraw.java Auto_shutdown=Arrêt automatique Manual_shutdown=Arrêt manuel -Set_point\:_%1$°C=Consigne \: %1$°C +Set_point\:_%s°C=Consigne \: %s°C # ./src/main/java/mods/eln/transparentnode/electricalmachine/ElectricalMachineDescriptor.java Cost=Prix @@ -684,7 +684,7 @@ Fuel_slot=Emplacement à pétrole Generates_heat_when_supplied_with_fuel.=Génère de la chaleur lorsqu'il est alimenté en carburant. # ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceGuiDraw.java -Control_gauge_at_%1$%=Jauge de contrôle à %1$% +Control_gauge_at_%s=Jauge de contrôle à %s Decline_fuel=Refuse carburant External_control=Contrôle externe Internal_control=Contrôle interne @@ -698,27 +698,27 @@ Solar_tracker_slot=Traceur de soleil # ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelDescriptor.java Can_be_geared_towards_the_sun.=Peut-être orienté vers le soleil. -Max._power\:_%1$W=Énergie maximum \: %1$W -Max._voltage\:_%1$V=Voltage maximum \: %1$V +Max._power\:_%sW=Énergie maximum \: %sW +Max._voltage\:_%sV=Voltage maximum \: %sV Produces_power_from_solar_radiation.=Produit de l'énergie avec le soleil. # ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPannelGuiDraw.java It_is_night=C'est la nuit -Solar_panel_angle\:_%1$°=Angle du panneau solaire \: %1$° -Sun_angle\:_%1$°=Angle du soleil \: %1$° +Solar_panel_angle\:_%s°=Angle du panneau solaire \: %s° +Sun_angle\:_%s°=Angle du soleil \: %s° # ./src/main/java/mods/eln/transparentnode/teleporter/TeleporterGui.java Destination_transporter=Destination du téléporteur Power_consumption\:=Consommation électrique \: -Power_consumption\:_%1$W=Consommation électrique \: %1$W -Required_energy\:_%1$J=Energie demandée\: %1$J +Power_consumption\:_%sW=Consommation électrique \: %sW +Required_energy\:_%sJ=Energie demandée\: %sJ Start=Début Transporter_name=Nom du transporteur # ./src/main/java/mods/eln/transparentnode/thermaldissipatoractive/ThermalDissipatorActiveDescriptor.java -Fan_cooling_power\:_%1$W=Puissance de refroidissement du ventilateur \: %1$W -Fan_power_consumption\:_%1$W=Consommation du ventilateur \: %1$W -Fan_voltage\:_%1$V=Tension du ventilateur \: %1$V +Fan_cooling_power\:_%sW=Puissance de refroidissement du ventilateur \: %sW +Fan_power_consumption\:_%sW=Consommation du ventilateur \: %sW +Fan_voltage\:_%sV=Tension du ventilateur \: %sV # ./src/main/java/mods/eln/transparentnode/transformer/TransformerDescriptor.java The_voltage_ratio_is_proportional\nto_the_cable_stacks_count_ratio.=Le ratio de tension est proportionnel\nau ratio du nombre de câbles empilés. @@ -726,13 +726,13 @@ Transforms_an_input_voltage_to\nan_output_voltage.=Transforme une tension d'entr # ./src/main/java/mods/eln/transparentnode/turbine/TurbineDescriptor.java Generates_electricity_using_heat.=Génère de l'électricité en utilisant la chaleur . -Temperature_difference\:_%1$°C=Différence de température\: %1$°C +Temperature_difference\:_%s°C=Différence de température\: %s°C # ./src/main/java/mods/eln/transparentnode/turret/TurretDescriptor.java CAUTION\:_Cables_can_get_quite_hot!=Attention \! Les câbles peuvent devenir chaud \! -Laser_charge_power\:_%1$W...%2$kW=Charge de l'énergie du laser \: %1$W...%2$kW +Laser_charge_power\:_%sW...%skW=Charge de l'énergie du laser \: %sW...%skW Scans_for_entities_and_shoots_if_the\nentity_matches_the_configurable_filter_criteria.=Scan les entités et tire si \nl'entité est la même que celle configurer -Standby_power\:_%1$W=Puissance en veille \: %1$W +Standby_power\:_%sW=Puissance en veille \: %sW # ./src/main/java/mods/eln/transparentnode/turret/TurretGui.java Attack\:=Attaquer \: @@ -744,10 +744,10 @@ Generates_energy_using_water_stream.=Génère de l'énergie grâce au courant de No_place_for_water_turbine!=Pas de place pour une turbine à eau \! # ./src/main/java/mods/eln/transparentnode/windturbine/WindTurbineDescriptor.java -Front\:_%1$=Face \: %1$ +Front\:_%s=Face \: %s Generates_energy_from_wind.=Génère de l'énergie avec le vent. -Left_Right\:_%1$=Gauche/Droite \: %1$ -Up_Down\:_%1$=Haut/Bas \: %1$ +Left_Right\:_%s=Gauche/Droite \: %s +Up_Down\:_%s=Haut/Bas \: %s Wind_area\:=Zone de vent \: # ./src/main/java/mods/eln/wiki/Data.java @@ -769,7 +769,7 @@ Previous=Précédent # ./src/main/java/mods/eln/wiki/ItemDefault.java Can_be_used_to_craft\:=Peut-être utilisé pour fabriquer \: Cannot_be_crafted!=Impossible de fabriquer ceci \! -Cost_%1$J=Coût %1$J +Cost_%sJ=Coût %sJ Created_by\:=Créé par \: Is_not_a_crafting_material!=N'est pas un matériau de fabrication Recipe\:=Recette \: @@ -777,45 +777,45 @@ Recipe\:=Recette \: # Appearing in multiple source files (Increases_capacity)=(augmente la capacité) (Increases_inductance)=(Augmente l'inductance) -Actual\:_%1$°C=Actuelle \: %1$°C +Actual\:_%s°C=Actuelle \: %s°C Biggest=Plus grand Booster_slot=Emplacement pour un booster Can_create\:=Peut créer \: -Capacity\:_%1$F=Capacité \: %1$F -Charge_power\:_%1$W=Puissance de charge \: %1$W +Capacity\:_%sF=Capacité \: %sF +Charge_power\:_%sW=Puissance de charge \: %sW Connected=Connecté -Cooling_power\:_%1$W=Puissance de refroidissement \: %1$W +Cooling_power\:_%sW=Puissance de refroidissement \: %sW Copper_cable_slot=Emplacement pour un câble en cuivre Dielectric_slot=Emplacement diélectrique -Discharge_power\:_%1$W=Puissance de décharge \: %1$W +Discharge_power\:_%sW=Puissance de décharge \: %sW Electrical_cable_slot=Emplacement pour câble électrique Entity_filter_slot=Emplacement pour filtre à entités Ferromagnetic_core_slot=Emplacement pour noyau ferromagnétique Has_a_signal_output.=Dispose d'un signal de sortie. -Inductance\:_%1$H=inductance \: %1$H -Internal_resistance\:_%1$Ω=Résistance interne \: %1$Ω +Inductance\:_%sH=inductance \: %sH +Internal_resistance\:_%sΩ=Résistance interne \: %sΩ Is_off=C'est éteint Is_on=C'est allumé -Max._temperature\:_%1$°C=Temperature max \: %1$°C +Max._temperature\:_%s°C=Temperature max \: %s°C Measured_value\ncorresponding\nto_0%_output=Mesure la valeur\ncorrespondant\nà 0% de la sortie Measured_value\ncorresponding\nto_100%_output=Mesure la valeur\ncorrespondant\nà 100% de la sortie Nominal\:=Nominale \: -Nominal_power\:_%1$W=Puissance nominale \: %1$W +Nominal_power\:_%sW=Puissance nominale \: %sW Nominal_usage\:=Utilisation nominale \: -Nominal_voltage\:_%1$V=Tension nominale\: %1$V +Nominal_voltage\:_%sV=Tension nominale\: %sV Not_connected=Pas connecté Not_enough_space_for_this_block=Pas assez d'espace pour ce bloc Power=Énergie -Power\:_%1$W=Puissance\: %1$W -Range\:_%1$_blocks=Portée\: %1$ blocks +Power\:_%sW=Puissance\: %sW +Range\:_%s_blocks=Portée\: %s blocks Redstone_slot=Emplacement pour Redstone Regulator_slot=Emplacement pour le régulateur Reset=Réinitialiser -Resistance\:_%1$Ω=Résistance\: %1$Ω +Resistance\:_%sΩ=Résistance\: %sΩ Smallest=Plus petit Specify_the_channel=Spécifier le canal -Stored_energy\:_%1$J_(%2$%)=Energie stockée \: %1$J (%2$%) -Temperature\:_%1$°C=Température\: %1$°C +Stored_energy\:_%sJ_(%s)=Energie stockée \: %sJ (%s) +Temperature\:_%s°C=Température\: %s°C Temperature_gauge=Gauge de température Thermal_isolator_slot=Emplacement pour Isolateur Thermique Toggle=Basculer @@ -825,5 +825,5 @@ Used_to_cool_down_turbines.=Utilisé pour refroidir les turbines. Uses_the_biggest\nvalue_on_the_channel.=Utilise la plus grande valeur\nsur la chaîne Uses_the_smallest\nvalue_on_the_channel.=Utilise la plus petite valeur\nsur la chaîne Validate=Valider -Voltage\:_%1$V=Tension \: %1$V +Voltage\:_%sV=Tension \: %sV You_can't_place_this_block_at_this_side=Vous ne pouvez pas poser de bloc sur ce côté diff --git a/src/main/resources/assets/eln/lang/fr_FR.lang b/src/main/resources/assets/eln/lang/fr_FR.lang index ab7665a75..97de00099 100644 --- a/src/main/resources/assets/eln/lang/fr_FR.lang +++ b/src/main/resources/assets/eln/lang/fr_FR.lang @@ -287,21 +287,21 @@ tile.eln.EnergyConverterElnToOtherLVUBlock.name=Convertisseur 50V d'EA vers une tile.eln.EnergyConverterElnToOtherMVUBlock.name=Convertisseur 200V d'EA vers une autre énergie # ./src/main/java/mods/eln/i18n/I18N.java -You_have_%1$_lives_left=Il vous reste encore %1$ vies +You_have_%s_lives_left=Il vous reste encore %s vies # ./src/main/java/mods/eln/item/BrushDescriptor.java Brush_is_dry=Votre brosse est sèche -Can_paint_%1$_blocks=Peut peindre %1$ blocks +Can_paint_%s_blocks=Peut peindre %s blocks # ./src/main/java/mods/eln/item/CombustionChamber.java Upgrade_for_the_Stone_Heat_Furnace.=Amélioration pour le four de chauffe en pierre # ./src/main/java/mods/eln/item/ElectricalDrillDescriptor.java -Energy_per_operation\:_%1$J=Energie par opération \: %1$J -Time_per_operation\:_%1$s=Temps par opération \: %1$s +Energy_per_operation\:_%sJ=Energie par opération \: %sJ +Time_per_operation\:_%ss=Temps par opération \: %ss # ./src/main/java/mods/eln/item/FerromagneticCoreDescriptor.java -Cable_loss_factor\:_%1$=Facteur de perte du câble \: %1$ +Cable_loss_factor\:_%s=Facteur de perte du câble \: %s # ./src/main/java/mods/eln/item/HeatingCorpElement.java @@ -311,8 +311,8 @@ Condition\:=Conditions \: End_of_life=Fin de vie Good=Bon New=Nouveau -Nominal_lifetime\:_%1$h=Durée de vie nominale \: %1$h -Technology\:_%1$=Technologie \: %1$ +Nominal_lifetime\:_%sh=Durée de vie nominale \: %sh +Technology\:_%s=Technologie \: %s Used=Utilisé # ./src/main/java/mods/eln/item/LampSlot.java @@ -333,7 +333,7 @@ Solar_panel_upgrade=Amélioration du panneau solaire Off=Off On=On State\:=Etat \: -Stored_Energy\:_%1$J_(%2$%)=Energie stockée \: %1$J (%2$%) +Stored_Energy\:_%sJ_(%s)=Energie stockée \: %sJ (%s) # ./src/main/java/mods/eln/item/regulator/RegulatorSlot.java @@ -346,7 +346,7 @@ mod.name=Electrical Age # ./src/main/java/mods/eln/node/six/SixNodeDescriptor.java # ./src/main/java/mods/eln/simplenode/energyconverter/EnergyConverterElnToOtherGui.java -Input_power_is_limited_to_%1$W=La tension d'entrée est limitée à %1$W +Input_power_is_limited_to_%sW=La tension d'entrée est limitée à %sW # ./src/main/java/mods/eln/sixnode/LogicGate.kt _O\:_= Sortie \: @@ -386,12 +386,12 @@ Switch_is_off=L'interrupteur est éteint Switch_is_on=L'interrupteur est allumé # ./src/main/java/mods/eln/sixnode/electricalcable/ElectricalCableDescriptor.java -A_signal_is_electrical_information\nwhich_must_be_between_0V_and_%1$V=un signal est de l'information électrique\nqui doit être entre 0V et %1$V. +A_signal_is_electrical_information\nwhich_must_be_between_0V_and_%sV=un signal est de l'information électrique\nqui doit être entre 0V et %sV. Cable_is_adapted_to_conduct\nelectrical_signals.=Le câble est adapté pour\nconduire un signal électrique. -Current\:_%1$A=Courant\: %1$A +Current\:_%sA=Courant\: %sA Not_adapted_to_transport_power.=Pas adapté pour transporter de la puissance. Save_usage\:=Utilisation sécuritaire\: -Serial_resistance\:_%1$Ω=Résistance série \: %1$Ω +Serial_resistance\:_%sΩ=Résistance série \: %sΩ # ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerDescriptor.java It_can_store_up_to_256_points.=Il peut sauver jusqu'à 256 points. @@ -423,10 +423,10 @@ Output_voltage_increases\nif_a_fire_has_been_detected.=La tension de sortie augm Provides_configurable_signal\nvoltage.=le voltage est configurable # ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceGui.java -Output_at_%1$%=Sortie de %1$% +Output_at_%s=Sortie de %s # ./src/main/java/mods/eln/sixnode/electricallightsensor/ElectricalLightSensorDescriptor.java -0V_at_night,_%1$V_at_noon.=0V la nuit, %1$V le midi. +0V_at_night,_%sV_at_noon.=0V la nuit, %sV le midi. Provides_an_electrical_voltage\nin_the_presence_of_light.=Fournit une tension électrique\nen présence de lumière. Provides_an_electrical_voltage\nwhich_is_proportional_to\nthe_intensity_of_daylight.=Produit un voltage\nqui est proportionnel\nà l'intensité de la lumière du jour @@ -439,7 +439,7 @@ Applicable_mathematical_operators\:=S'applique aux opérateurs mathématiques \: Calculates_an_output_signal_from\n3_inputs_(A,_B,_C)_using_an_equation.=Calcul le signal de sortie en fonction des\n3 entrés (A, B, C) en utilisant une équation. # ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathGui.java -%1$_Redstone(s)_required=%1$ Redstone(s) requis +%s_Redstone(s)_required=%s Redstone(s) requis Equation_required!=Équation requise\! Inputs_are=L'entrée est Invalid_equation!=Équation invalide\! @@ -483,13 +483,13 @@ Displays_the_value_of_a_signal.=Affichage la valeur du signal Portable_battery_slot=Emplacement pour batterie portable # ./src/main/java/mods/eln/sixnode/electricalweathersensor/ElectricalWeatherSensorDescriptor.java -Clear\:_%1$V=Nettoyage \: %1$V +Clear\:_%sV=Nettoyage \: %sV Provides_an_electrical_signal\ndepending_the_actual_weather.=Fournit une tension électrique selon la température -Rain\:_%1$V=Pluie \: %1$V -Storm\:_%1$V=Orage \: %1$V +Rain\:_%sV=Pluie \: %sV +Storm\:_%sV=Orage \: %sV # ./src/main/java/mods/eln/sixnode/electricalwindsensor/ElectricalWindSensorDescriptor.java -Maximum_wind_speed_is_%1$m_s=La vitesse maximale du vent est %1$m/s +Maximum_wind_speed_is_%sm_s=La vitesse maximale du vent est %sm/s Provides_an_electrical_signal\ndependant_on_wind_speed.=Fournit une tension électrique\ndépendant de la vitesse du vent You_can't_place_this_block_on_the_floor_or_the_ceiling=Vous ne pouvez pas placer ce bloc sur le sol ou au plafond @@ -508,7 +508,7 @@ Voltage=Tension Change_password=Changer le mot de passe Counter_Mode=Mode Compteur Counts_the_energy_conducted_from\n\u00a74red\u00a7f_to_\u00a71blue\u00a7f.=Compte l'énergie conduit par\n\\u00a74red\\u00a7f à \\u00a71blue\\u00a7f -Energy_counter\:_%1$J=Compteur d'énergie \: %1$J +Energy_counter\:_%sJ=Compteur d'énergie \: %sJ Enter_new_energy=Entrez une nouvelle énergie Enter_password=Entrez le mot de passe Prepay_Mode=Mode Prépayé @@ -529,13 +529,13 @@ Provides_a_zero_volt_reference.=Fournit une référence de tension de 0 volt. Allows_crossing_cables\non_one_single_block.=Permet aux câbles de se croiser\nsur un seul bloc # ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketDescriptor.java -Angle\:_%1$°_to_%2$°=Angle\: %1$° à %2$° -Spot_range\:_%1$_blocks=Portée\: %1$ blocks +Angle\:_%s°_to_%s°=Angle\: %s° à %s° +Spot_range\:_%s_blocks=Portée\: %s blocks # ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketGuiDraw.java -%1$_is_not_in_range!=%1$ n'est pas à portée +%s_is_not_in_range!=%s n'est pas à portée Cable_slot_empty=Logement vide pour le câble -Orientation\:_%1$°=Orientation \: %1$° +Orientation\:_%s°=Orientation \: %s° Parallel=Parallèle Powered_by_Lamp_Supply=Alimentée par une alimentation de lampe Powered_by_cable=Alimenté par câble @@ -584,8 +584,8 @@ Coal_dust_slot=Fente pour la poussière de charbon # ./src/main/java/mods/eln/sixnode/thermalcable/ThermalCableDescriptor.java High_parallel_resistance\n_\=>_Low_power_dissipation.=Forte résistance en parallèle\n\=> Faible dissipation de puissance Low_serial_resistance\n_\=>_High_conductivity.=faible résistance \=> bonne conductibilité -Parallel_resistance\:_%1$K_W=Résistance en parallèle \: %1$K/W -Serial_resistance\:_%1$K_W=Résistance série \: %1$K/W +Parallel_resistance\:_%sK_W=Résistance en parallèle \: %sK/W +Serial_resistance\:_%sK_W=Résistance série \: %sK/W # ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorContainer.java Cable_slot=Fente pour le câble @@ -610,12 +610,12 @@ Set_beacon_name=Nom de beacon \: # ./src/main/java/mods/eln/sixnode/wirelesssignal/rx/WirelessSignalRxGui.java # ./src/main/java/mods/eln/transparentnode/FuelGenerator.kt -Nominal_power\:_%1$_W=Puissance nominale \: %1$ W -Nominal_voltage\:_%1$_V=Tension nominale \: %1$ V +Nominal_power\:_%s_W=Puissance nominale \: %s W +Nominal_voltage\:_%s_V=Tension nominale \: %s V Produces_electricity_using_fuel.=Produit de l’électricité à partir d'essence. # ./src/main/java/mods/eln/transparentnode/LargeRheostat.kt -Nom._Resistance\:_%1$=Résistance nom. \: %1$ +Nom._Resistance\:_%s=Résistance nom. \: %s # ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerContainer.java Drill_slot=Emplacement de la tête de forage @@ -637,16 +637,16 @@ Overheating_protection=Protection anti-surchauffe Overvoltage_protection=Protection anti-surtension # ./src/main/java/mods/eln/transparentnode/battery/BatteryDescriptor.java -Actual_charge\:_%1$%=Charge actuelle\: %1$% -Energy_capacity\:_%1$J=Capacité énergétique \: %1$J -_charged_at_%1$%=chargé à %1$% +Actual_charge\:_%s=Charge actuelle\: %s +Energy_capacity\:_%sJ=Capacité énergétique \: %sJ +_charged_at_%s=chargé à %s # ./src/main/java/mods/eln/transparentnode/battery/BatteryGuiDraw.java Charge=Charge Charged=Chargé Discharge=Décharge Energy\:=Energie \: -Energy\:_%1$=Energie \: %1$ +Energy\:_%s=Energie \: %s Life\:=Vie \: No_charge=Pas de charge Power_in\:=Puissance d'entrée \: @@ -659,7 +659,7 @@ Egg_slot=Fente pour les œufs Wireless_energy_receiver.=Récepteur d'énergie sans fil # ./src/main/java/mods/eln/transparentnode/electricalantennatx/ElectricalAntennaTxDescriptor.java -Efficiency\:_%1$%_up_to_%2$%=Efficacité \: de %1$% à %2$% +Efficiency\:_%s_up_to_%s=Efficacité \: de %s à %s Wireless_energy_transmitter.=Emetteur d'énergie sans fil # ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceContainer.java @@ -671,7 +671,7 @@ Similar_to_a_vanilla_furnace,\nbut_heats_with_electricity.=semblable au four van # ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceGuiDraw.java Auto_shutdown=Arrêt automatique Manual_shutdown=Arrêt manuel -Set_point\:_%1$°C=Consigne \: %1$°C +Set_point\:_%s°C=Consigne \: %s°C # ./src/main/java/mods/eln/transparentnode/electricalmachine/ElectricalMachineDescriptor.java Cost=Prix @@ -684,7 +684,7 @@ Fuel_slot=Emplacement à pétrole Generates_heat_when_supplied_with_fuel.=Génère de la chaleur lorsqu'il est alimenté en carburant. # ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceGuiDraw.java -Control_gauge_at_%1$%=Jauge de contrôle à %1$% +Control_gauge_at_%s=Jauge de contrôle à %s Decline_fuel=Refuse carburant External_control=Contrôle externe Internal_control=Contrôle interne @@ -698,27 +698,27 @@ Solar_tracker_slot=Traceur de soleil # ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelDescriptor.java Can_be_geared_towards_the_sun.=Peut-être orienté vers le soleil. -Max._power\:_%1$W=Énergie maximum \: %1$W -Max._voltage\:_%1$V=Voltage maximum \: %1$V +Max._power\:_%sW=Énergie maximum \: %sW +Max._voltage\:_%sV=Voltage maximum \: %sV Produces_power_from_solar_radiation.=Produit de l'énergie avec le soleil. # ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPannelGuiDraw.java It_is_night=C'est la nuit -Solar_panel_angle\:_%1$°=Angle du panneau solaire \: %1$° -Sun_angle\:_%1$°=Angle du soleil \: %1$° +Solar_panel_angle\:_%s°=Angle du panneau solaire \: %s° +Sun_angle\:_%s°=Angle du soleil \: %s° # ./src/main/java/mods/eln/transparentnode/teleporter/TeleporterGui.java Destination_transporter=Destination du téléporteur Power_consumption\:=Consommation électrique \: -Power_consumption\:_%1$W=Consommation électrique \: %1$W -Required_energy\:_%1$J=Energie demandée\: %1$J +Power_consumption\:_%sW=Consommation électrique \: %sW +Required_energy\:_%sJ=Energie demandée\: %sJ Start=Début Transporter_name=Nom du transporteur # ./src/main/java/mods/eln/transparentnode/thermaldissipatoractive/ThermalDissipatorActiveDescriptor.java -Fan_cooling_power\:_%1$W=Puissance de refroidissement du ventilateur \: %1$W -Fan_power_consumption\:_%1$W=Consommation du ventilateur \: %1$W -Fan_voltage\:_%1$V=Tension du ventilateur \: %1$V +Fan_cooling_power\:_%sW=Puissance de refroidissement du ventilateur \: %sW +Fan_power_consumption\:_%sW=Consommation du ventilateur \: %sW +Fan_voltage\:_%sV=Tension du ventilateur \: %sV # ./src/main/java/mods/eln/transparentnode/transformer/TransformerDescriptor.java The_voltage_ratio_is_proportional\nto_the_cable_stacks_count_ratio.=Le ratio de tension est proportionnel\nau ratio du nombre de câbles empilés. @@ -726,13 +726,13 @@ Transforms_an_input_voltage_to\nan_output_voltage.=Transforme une tension d'entr # ./src/main/java/mods/eln/transparentnode/turbine/TurbineDescriptor.java Generates_electricity_using_heat.=Génère de l'électricité en utilisant la chaleur . -Temperature_difference\:_%1$°C=Différence de température\: %1$°C +Temperature_difference\:_%s°C=Différence de température\: %s°C # ./src/main/java/mods/eln/transparentnode/turret/TurretDescriptor.java CAUTION\:_Cables_can_get_quite_hot!=Attention \! Les câbles peuvent devenir chaud \! -Laser_charge_power\:_%1$W...%2$kW=Charge de l'énergie du laser \: %1$W...%2$kW +Laser_charge_power\:_%sW...%skW=Charge de l'énergie du laser \: %sW...%skW Scans_for_entities_and_shoots_if_the\nentity_matches_the_configurable_filter_criteria.=Scan les entités et tire si \nl'entité est la même que celle configurer -Standby_power\:_%1$W=Puissance en veille \: %1$W +Standby_power\:_%sW=Puissance en veille \: %sW # ./src/main/java/mods/eln/transparentnode/turret/TurretGui.java Attack\:=Attaquer \: @@ -744,10 +744,10 @@ Generates_energy_using_water_stream.=Génère de l'énergie grâce au courant de No_place_for_water_turbine!=Pas de place pour une turbine à eau \! # ./src/main/java/mods/eln/transparentnode/windturbine/WindTurbineDescriptor.java -Front\:_%1$=Face \: %1$ +Front\:_%s=Face \: %s Generates_energy_from_wind.=Génère de l'énergie avec le vent. -Left_Right\:_%1$=Gauche/Droite \: %1$ -Up_Down\:_%1$=Haut/Bas \: %1$ +Left_Right\:_%s=Gauche/Droite \: %s +Up_Down\:_%s=Haut/Bas \: %s Wind_area\:=Zone de vent \: # ./src/main/java/mods/eln/wiki/Data.java @@ -769,7 +769,7 @@ Previous=Précédent # ./src/main/java/mods/eln/wiki/ItemDefault.java Can_be_used_to_craft\:=Peut-être utilisé pour fabriquer \: Cannot_be_crafted!=Impossible de fabriquer ceci \! -Cost_%1$J=Coût %1$J +Cost_%sJ=Coût %sJ Created_by\:=Créé par \: Is_not_a_crafting_material!=N'est pas un matériau de fabrication Recipe\:=Recette \: @@ -777,45 +777,45 @@ Recipe\:=Recette \: # Appearing in multiple source files (Increases_capacity)=(augmente la capacité) (Increases_inductance)=(Augmente l'inductance) -Actual\:_%1$°C=Actuelle \: %1$°C +Actual\:_%s°C=Actuelle \: %s°C Biggest=Plus grand Booster_slot=Emplacement pour un booster Can_create\:=Peut créer \: -Capacity\:_%1$F=Capacité \: %1$F -Charge_power\:_%1$W=Puissance de charge \: %1$W +Capacity\:_%sF=Capacité \: %sF +Charge_power\:_%sW=Puissance de charge \: %sW Connected=Connecté -Cooling_power\:_%1$W=Puissance de refroidissement \: %1$W +Cooling_power\:_%sW=Puissance de refroidissement \: %sW Copper_cable_slot=Emplacement pour un câble en cuivre Dielectric_slot=Emplacement diélectrique -Discharge_power\:_%1$W=Puissance de décharge \: %1$W +Discharge_power\:_%sW=Puissance de décharge \: %sW Electrical_cable_slot=Emplacement pour câble électrique Entity_filter_slot=Emplacement pour filtre à entités Ferromagnetic_core_slot=Emplacement pour noyau ferromagnétique Has_a_signal_output.=Dispose d'un signal de sortie. -Inductance\:_%1$H=inductance \: %1$H -Internal_resistance\:_%1$Ω=Résistance interne \: %1$Ω +Inductance\:_%sH=inductance \: %sH +Internal_resistance\:_%sΩ=Résistance interne \: %sΩ Is_off=C'est éteint Is_on=C'est allumé -Max._temperature\:_%1$°C=Temperature max \: %1$°C +Max._temperature\:_%s°C=Temperature max \: %s°C Measured_value\ncorresponding\nto_0%_output=Mesure la valeur\ncorrespondant\nà 0% de la sortie Measured_value\ncorresponding\nto_100%_output=Mesure la valeur\ncorrespondant\nà 100% de la sortie Nominal\:=Nominale \: -Nominal_power\:_%1$W=Puissance nominale \: %1$W +Nominal_power\:_%sW=Puissance nominale \: %sW Nominal_usage\:=Utilisation nominale \: -Nominal_voltage\:_%1$V=Tension nominale\: %1$V +Nominal_voltage\:_%sV=Tension nominale\: %sV Not_connected=Pas connecté Not_enough_space_for_this_block=Pas assez d'espace pour ce bloc Power=Énergie -Power\:_%1$W=Puissance\: %1$W -Range\:_%1$_blocks=Portée\: %1$ blocks +Power\:_%sW=Puissance\: %sW +Range\:_%s_blocks=Portée\: %s blocks Redstone_slot=Emplacement pour Redstone Regulator_slot=Emplacement pour le régulateur Reset=Réinitialiser -Resistance\:_%1$Ω=Résistance\: %1$Ω +Resistance\:_%sΩ=Résistance\: %sΩ Smallest=Plus petit Specify_the_channel=Spécifier le canal -Stored_energy\:_%1$J_(%2$%)=Energie stockée \: %1$J (%2$%) -Temperature\:_%1$°C=Température\: %1$°C +Stored_energy\:_%sJ_(%s)=Energie stockée \: %sJ (%s) +Temperature\:_%s°C=Température\: %s°C Temperature_gauge=Gauge de température Thermal_isolator_slot=Emplacement pour Isolateur Thermique Toggle=Basculer @@ -825,5 +825,5 @@ Used_to_cool_down_turbines.=Utilisé pour refroidir les turbines. Uses_the_biggest\nvalue_on_the_channel.=Utilise la plus grande valeur\nsur la chaîne Uses_the_smallest\nvalue_on_the_channel.=Utilise la plus petite valeur\nsur la chaîne Validate=Valider -Voltage\:_%1$V=Tension \: %1$V +Voltage\:_%sV=Tension \: %sV You_can't_place_this_block_at_this_side=Vous ne pouvez pas poser de bloc sur ce côté diff --git a/src/main/resources/assets/eln/lang/hr.lang b/src/main/resources/assets/eln/lang/hr.lang index a0fcdd29b..f4e769aa7 100644 --- a/src/main/resources/assets/eln/lang/hr.lang +++ b/src/main/resources/assets/eln/lang/hr.lang @@ -287,21 +287,21 @@ tile.eln.EnergyConverterElnToOtherLVUBlock.name=50V Electrical Age to other ener tile.eln.EnergyConverterElnToOtherMVUBlock.name=200V Electrical Age to other energy exporter # ./src/main/java/mods/eln/i18n/I18N.java -You_have_%1$_lives_left=You have %1$ lives left +You_have_%s_lives_left=You have %s lives left # ./src/main/java/mods/eln/item/BrushDescriptor.java Brush_is_dry=Brush is dry -Can_paint_%1$_blocks=Can paint %1$ blocks +Can_paint_%s_blocks=Can paint %s blocks # ./src/main/java/mods/eln/item/CombustionChamber.java Upgrade_for_the_Stone_Heat_Furnace.=Upgrade for the Stone Heat Furnace. # ./src/main/java/mods/eln/item/ElectricalDrillDescriptor.java -Energy_per_operation\:_%1$J=Energy per operation\: %1$J -Time_per_operation\:_%1$s=Time per operation\: %1$s +Energy_per_operation\:_%sJ=Energy per operation\: %sJ +Time_per_operation\:_%ss=Time per operation\: %ss # ./src/main/java/mods/eln/item/FerromagneticCoreDescriptor.java -Cable_loss_factor\:_%1$=Cable loss factor\: %1$ +Cable_loss_factor\:_%s=Cable loss factor\: %s # ./src/main/java/mods/eln/item/HeatingCorpElement.java @@ -311,8 +311,8 @@ Condition\:=Condition\: End_of_life=End of life Good=Good New=New -Nominal_lifetime\:_%1$h=Nominal lifetime\: %1$h -Technology\:_%1$=Technology\: %1$ +Nominal_lifetime\:_%sh=Nominal lifetime\: %sh +Technology\:_%s=Technology\: %s Used=Used # ./src/main/java/mods/eln/item/LampSlot.java @@ -333,7 +333,7 @@ Solar_panel_upgrade=Solar panel upgrade Off=Off On=On State\:=State\: -Stored_Energy\:_%1$J_(%2$%)=Stored Energy\: %1$J (%2$%) +Stored_Energy\:_%sJ_(%s)=Stored Energy\: %sJ (%s) # ./src/main/java/mods/eln/item/regulator/RegulatorSlot.java @@ -346,7 +346,7 @@ mod.name=Electrical Age # ./src/main/java/mods/eln/node/six/SixNodeDescriptor.java # ./src/main/java/mods/eln/simplenode/energyconverter/EnergyConverterElnToOtherGui.java -Input_power_is_limited_to_%1$W=Input power is limited to %1$W +Input_power_is_limited_to_%sW=Input power is limited to %sW # ./src/main/java/mods/eln/sixnode/LogicGate.kt _O\:_= O\: @@ -386,12 +386,12 @@ Switch_is_off=Switch is off Switch_is_on=Switch is on # ./src/main/java/mods/eln/sixnode/electricalcable/ElectricalCableDescriptor.java -A_signal_is_electrical_information\nwhich_must_be_between_0V_and_%1$V=A signal is electrical information\nwhich must be between 0V and %1$V +A_signal_is_electrical_information\nwhich_must_be_between_0V_and_%sV=A signal is electrical information\nwhich must be between 0V and %sV Cable_is_adapted_to_conduct\nelectrical_signals.=Cable is adapted to conduct\nelectrical signals. -Current\:_%1$A=Current\: %1$A +Current\:_%sA=Current\: %sA Not_adapted_to_transport_power.=Not adapted to transport power. Save_usage\:=Save usage\: -Serial_resistance\:_%1$Ω=Serial resistance\: %1$Ω +Serial_resistance\:_%sΩ=Serial resistance\: %sΩ # ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerDescriptor.java It_can_store_up_to_256_points.=It can store up to 256 points. @@ -423,10 +423,10 @@ Output_voltage_increases\nif_a_fire_has_been_detected.=Output voltage increases\ Provides_configurable_signal\nvoltage.=Provides configurable signal\nvoltage. # ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceGui.java -Output_at_%1$%=Output at %1$% +Output_at_%s=Output at %s # ./src/main/java/mods/eln/sixnode/electricallightsensor/ElectricalLightSensorDescriptor.java -0V_at_night,_%1$V_at_noon.=0V at night, %1$V at noon. +0V_at_night,_%sV_at_noon.=0V at night, %sV at noon. Provides_an_electrical_voltage\nin_the_presence_of_light.=Provides an electrical voltage\nin the presence of light. Provides_an_electrical_voltage\nwhich_is_proportional_to\nthe_intensity_of_daylight.=Provides an electrical voltage\nwhich is proportional to\nthe intensity of daylight. @@ -439,7 +439,7 @@ Applicable_mathematical_operators\:=Applicable mathematical operators\: Calculates_an_output_signal_from\n3_inputs_(A,_B,_C)_using_an_equation.=Calculates an output signal from\n3 inputs (A, B, C) using an equation. # ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathGui.java -%1$_Redstone(s)_required=%1$ Redstone(s) required +%s_Redstone(s)_required=%s Redstone(s) required Equation_required!=Equation required\! Inputs_are=Inputs are Invalid_equation!=Invalid equation\! @@ -483,13 +483,13 @@ Displays_the_value_of_a_signal.=Displays the value of a signal. Portable_battery_slot=Portable battery slot # ./src/main/java/mods/eln/sixnode/electricalweathersensor/ElectricalWeatherSensorDescriptor.java -Clear\:_%1$V=Clear\: %1$V +Clear\:_%sV=Clear\: %sV Provides_an_electrical_signal\ndepending_the_actual_weather.=Provides an electrical signal\ndepending the actual weather. -Rain\:_%1$V=Rain\: %1$V -Storm\:_%1$V=Storm\: %1$V +Rain\:_%sV=Rain\: %sV +Storm\:_%sV=Storm\: %sV # ./src/main/java/mods/eln/sixnode/electricalwindsensor/ElectricalWindSensorDescriptor.java -Maximum_wind_speed_is_%1$m_s=Maximum wind speed is %1$m/s +Maximum_wind_speed_is_%sm_s=Maximum wind speed is %sm/s Provides_an_electrical_signal\ndependant_on_wind_speed.=Provides an electrical signal\ndependant on wind speed. You_can't_place_this_block_on_the_floor_or_the_ceiling=You can't place this block on the floor or the ceiling @@ -508,7 +508,7 @@ Voltage=Voltage Change_password=Change password Counter_Mode=Counter Mode Counts_the_energy_conducted_from\n\u00a74red\u00a7f_to_\u00a71blue\u00a7f.=Counts the energy conducted from\n\\u00a74red\\u00a7f to \\u00a71blue\\u00a7f. -Energy_counter\:_%1$J=Energy counter\: %1$J +Energy_counter\:_%sJ=Energy counter\: %sJ Enter_new_energy=Enter new energy Enter_password=Enter password Prepay_Mode=Prepay Mode @@ -529,13 +529,13 @@ Provides_a_zero_volt_reference.=Provides a zero volt reference. Allows_crossing_cables\non_one_single_block.=Allows crossing cables\non one single block. # ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketDescriptor.java -Angle\:_%1$°_to_%2$°=Angle\: %1$° to %2$° -Spot_range\:_%1$_blocks=Spot range\: %1$ blocks +Angle\:_%s°_to_%s°=Angle\: %s° to %s° +Spot_range\:_%s_blocks=Spot range\: %s blocks # ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketGuiDraw.java -%1$_is_not_in_range!=%1$ is not in range\! +%s_is_not_in_range!=%s is not in range\! Cable_slot_empty=Cable slot empty -Orientation\:_%1$°=Orientation\: %1$° +Orientation\:_%s°=Orientation\: %s° Parallel=Parallel Powered_by_Lamp_Supply=Powered by Lamp Supply Powered_by_cable=Powered by cable @@ -584,8 +584,8 @@ Coal_dust_slot=Coal dust slot # ./src/main/java/mods/eln/sixnode/thermalcable/ThermalCableDescriptor.java High_parallel_resistance\n_\=>_Low_power_dissipation.=High parallel resistance\n \=> Low power dissipation. Low_serial_resistance\n_\=>_High_conductivity.=Low serial resistance\n \=> High conductivity. -Parallel_resistance\:_%1$K_W=Parallel resistance\: %1$K/W -Serial_resistance\:_%1$K_W=Serial resistance\: %1$K/W +Parallel_resistance\:_%sK_W=Parallel resistance\: %sK/W +Serial_resistance\:_%sK_W=Serial resistance\: %sK/W # ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorContainer.java Cable_slot=Cable slot @@ -610,12 +610,12 @@ Set_beacon_name=Set beacon name # ./src/main/java/mods/eln/sixnode/wirelesssignal/rx/WirelessSignalRxGui.java # ./src/main/java/mods/eln/transparentnode/FuelGenerator.kt -Nominal_power\:_%1$_W=Nominal power\: %1$ W -Nominal_voltage\:_%1$_V=Nominal voltage\: %1$ V +Nominal_power\:_%s_W=Nominal power\: %s W +Nominal_voltage\:_%s_V=Nominal voltage\: %s V Produces_electricity_using_fuel.=Produces electricity using fuel. # ./src/main/java/mods/eln/transparentnode/LargeRheostat.kt -Nom._Resistance\:_%1$=Nom. Resistance\: %1$ +Nom._Resistance\:_%s=Nom. Resistance\: %s # ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerContainer.java Drill_slot=Drill slot @@ -637,16 +637,16 @@ Overheating_protection=Overheating protection Overvoltage_protection=Overvoltage protection # ./src/main/java/mods/eln/transparentnode/battery/BatteryDescriptor.java -Actual_charge\:_%1$%=Actual charge\: %1$% -Energy_capacity\:_%1$J=Energy capacity\: %1$J -_charged_at_%1$%=charged at %1$% +Actual_charge\:_%s=Actual charge\: %s +Energy_capacity\:_%sJ=Energy capacity\: %sJ +_charged_at_%s=charged at %s # ./src/main/java/mods/eln/transparentnode/battery/BatteryGuiDraw.java Charge=Charge Charged=Charged Discharge=Discharge Energy\:=Energy\: -Energy\:_%1$=Energy\: %1$ +Energy\:_%s=Energy\: %s Life\:=Life\: No_charge=No charge Power_in\:=Power in\: @@ -659,7 +659,7 @@ Egg_slot=Egg slot Wireless_energy_receiver.=Wireless energy receiver. # ./src/main/java/mods/eln/transparentnode/electricalantennatx/ElectricalAntennaTxDescriptor.java -Efficiency\:_%1$%_up_to_%2$%=Efficiency\: %1$% up to %2$% +Efficiency\:_%s_up_to_%s=Efficiency\: %s up to %s Wireless_energy_transmitter.=Wireless energy transmitter. # ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceContainer.java @@ -671,7 +671,7 @@ Similar_to_a_vanilla_furnace,\nbut_heats_with_electricity.=Similar to a vanilla # ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceGuiDraw.java Auto_shutdown=Auto shutdown Manual_shutdown=Manual shutdown -Set_point\:_%1$°C=Set point\: %1$°C +Set_point\:_%s°C=Set point\: %s°C # ./src/main/java/mods/eln/transparentnode/electricalmachine/ElectricalMachineDescriptor.java Cost=Cost @@ -684,7 +684,7 @@ Fuel_slot=Fuel slot Generates_heat_when_supplied_with_fuel.=Generates heat when supplied with fuel. # ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceGuiDraw.java -Control_gauge_at_%1$%=Control gauge at %1$% +Control_gauge_at_%s=Control gauge at %s Decline_fuel=Decline fuel External_control=External control Internal_control=Internal control @@ -698,27 +698,27 @@ Solar_tracker_slot=Solar tracker slot # ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelDescriptor.java Can_be_geared_towards_the_sun.=Can be geared towards the sun. -Max._power\:_%1$W=Max. power\: %1$W -Max._voltage\:_%1$V=Max. voltage\: %1$V +Max._power\:_%sW=Max. power\: %sW +Max._voltage\:_%sV=Max. voltage\: %sV Produces_power_from_solar_radiation.=Produces power from solar radiation. # ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPannelGuiDraw.java It_is_night=It is night -Solar_panel_angle\:_%1$°=Solar panel angle\: %1$° -Sun_angle\:_%1$°=Sun angle\: %1$° +Solar_panel_angle\:_%s°=Solar panel angle\: %s° +Sun_angle\:_%s°=Sun angle\: %s° # ./src/main/java/mods/eln/transparentnode/teleporter/TeleporterGui.java Destination_transporter=Destination transporter Power_consumption\:=Power consumption\: -Power_consumption\:_%1$W=Power consumption\: %1$W -Required_energy\:_%1$J=Required energy\: %1$J +Power_consumption\:_%sW=Power consumption\: %sW +Required_energy\:_%sJ=Required energy\: %sJ Start=Start Transporter_name=Transporter name # ./src/main/java/mods/eln/transparentnode/thermaldissipatoractive/ThermalDissipatorActiveDescriptor.java -Fan_cooling_power\:_%1$W=Fan cooling power\: %1$W -Fan_power_consumption\:_%1$W=Fan power consumption\: %1$W -Fan_voltage\:_%1$V=Fan voltage\: %1$V +Fan_cooling_power\:_%sW=Fan cooling power\: %sW +Fan_power_consumption\:_%sW=Fan power consumption\: %sW +Fan_voltage\:_%sV=Fan voltage\: %sV # ./src/main/java/mods/eln/transparentnode/transformer/TransformerDescriptor.java The_voltage_ratio_is_proportional\nto_the_cable_stacks_count_ratio.=The voltage ratio is proportional\nto the cable stacks count ratio. @@ -726,13 +726,13 @@ Transforms_an_input_voltage_to\nan_output_voltage.=Transforms an input voltage t # ./src/main/java/mods/eln/transparentnode/turbine/TurbineDescriptor.java Generates_electricity_using_heat.=Generates electricity using heat. -Temperature_difference\:_%1$°C=Temperature difference\: %1$°C +Temperature_difference\:_%s°C=Temperature difference\: %s°C # ./src/main/java/mods/eln/transparentnode/turret/TurretDescriptor.java CAUTION\:_Cables_can_get_quite_hot!=CAUTION\: Cables can get quite hot\! -Laser_charge_power\:_%1$W...%2$kW=Laser charge power\: %1$W...%2$kW +Laser_charge_power\:_%sW...%skW=Laser charge power\: %sW...%skW Scans_for_entities_and_shoots_if_the\nentity_matches_the_configurable_filter_criteria.=Scans for entities and shoots if the\nentity matches the configurable filter criteria. -Standby_power\:_%1$W=Standby power\: %1$W +Standby_power\:_%sW=Standby power\: %sW # ./src/main/java/mods/eln/transparentnode/turret/TurretGui.java Attack\:=Attack\: @@ -744,10 +744,10 @@ Generates_energy_using_water_stream.=Generates energy using water stream. No_place_for_water_turbine!=No place for water turbine\! # ./src/main/java/mods/eln/transparentnode/windturbine/WindTurbineDescriptor.java -Front\:_%1$=Front\: %1$ +Front\:_%s=Front\: %s Generates_energy_from_wind.=Generates energy from wind. -Left_Right\:_%1$=Left/Right\: %1$ -Up_Down\:_%1$=Up/Down\: %1$ +Left_Right\:_%s=Left/Right\: %s +Up_Down\:_%s=Up/Down\: %s Wind_area\:=Wind area\: # ./src/main/java/mods/eln/wiki/Data.java @@ -769,7 +769,7 @@ Previous=Previous # ./src/main/java/mods/eln/wiki/ItemDefault.java Can_be_used_to_craft\:=Can be used to craft\: Cannot_be_crafted!=Cannot be crafted\! -Cost_%1$J=Cost %1$J +Cost_%sJ=Cost %sJ Created_by\:=Created by\: Is_not_a_crafting_material!=Is not a crafting material\! Recipe\:=Recipe\: @@ -777,45 +777,45 @@ Recipe\:=Recipe\: # Appearing in multiple source files (Increases_capacity)=(Increases capacity) (Increases_inductance)=(Increases inductance) -Actual\:_%1$°C=Actual\: %1$°C +Actual\:_%s°C=Actual\: %s°C Biggest=Biggest Booster_slot=Booster slot Can_create\:=Can create\: -Capacity\:_%1$F=Capacity\: %1$F -Charge_power\:_%1$W=Charge power\: %1$W +Capacity\:_%sF=Capacity\: %sF +Charge_power\:_%sW=Charge power\: %sW Connected=Connected -Cooling_power\:_%1$W=Cooling power\: %1$W +Cooling_power\:_%sW=Cooling power\: %sW Copper_cable_slot=Copper cable slot Dielectric_slot=Dielectric slot -Discharge_power\:_%1$W=Discharge power\: %1$W +Discharge_power\:_%sW=Discharge power\: %sW Electrical_cable_slot=Electrical cable slot Entity_filter_slot=Entity filter slot Ferromagnetic_core_slot=Ferromagnetic core slot Has_a_signal_output.=Has a signal output. -Inductance\:_%1$H=Inductance\: %1$H -Internal_resistance\:_%1$Ω=Internal resistance\: %1$Ω +Inductance\:_%sH=Inductance\: %sH +Internal_resistance\:_%sΩ=Internal resistance\: %sΩ Is_off=Is off Is_on=Is on -Max._temperature\:_%1$°C=Max. temperature\: %1$°C +Max._temperature\:_%s°C=Max. temperature\: %s°C Measured_value\ncorresponding\nto_0%_output=Measured value\ncorresponding\nto 0% output Measured_value\ncorresponding\nto_100%_output=Measured value\ncorresponding\nto 100% output Nominal\:=Nominal\: -Nominal_power\:_%1$W=Nominal power\: %1$W +Nominal_power\:_%sW=Nominal power\: %sW Nominal_usage\:=Nominal usage\: -Nominal_voltage\:_%1$V=Nominal voltage\: %1$V +Nominal_voltage\:_%sV=Nominal voltage\: %sV Not_connected=Not connected Not_enough_space_for_this_block=Not enough space for this block Power=Power -Power\:_%1$W=Power\: %1$W -Range\:_%1$_blocks=Range\: %1$ blocks +Power\:_%sW=Power\: %sW +Range\:_%s_blocks=Range\: %s blocks Redstone_slot=Redstone slot Regulator_slot=Regulator slot Reset=Reset -Resistance\:_%1$Ω=Resistance\: %1$Ω +Resistance\:_%sΩ=Resistance\: %sΩ Smallest=Smallest Specify_the_channel=Specify the channel -Stored_energy\:_%1$J_(%2$%)=Stored energy\: %1$J (%2$%) -Temperature\:_%1$°C=Temperature\: %1$°C +Stored_energy\:_%sJ_(%s)=Stored energy\: %sJ (%s) +Temperature\:_%s°C=Temperature\: %s°C Temperature_gauge=Temperature gauge Thermal_isolator_slot=Thermal isolator slot Toggle=Toggle @@ -825,5 +825,5 @@ Used_to_cool_down_turbines.=Used to cool down turbines. Uses_the_biggest\nvalue_on_the_channel.=Uses the biggest\nvalue on the channel. Uses_the_smallest\nvalue_on_the_channel.=Uses the smallest\nvalue on the channel. Validate=Validate -Voltage\:_%1$V=Voltage\: %1$V +Voltage\:_%sV=Voltage\: %sV You_can't_place_this_block_at_this_side=You can't place this block at this side diff --git a/src/main/resources/assets/eln/lang/id.lang b/src/main/resources/assets/eln/lang/id.lang index a0fcdd29b..f4e769aa7 100644 --- a/src/main/resources/assets/eln/lang/id.lang +++ b/src/main/resources/assets/eln/lang/id.lang @@ -287,21 +287,21 @@ tile.eln.EnergyConverterElnToOtherLVUBlock.name=50V Electrical Age to other ener tile.eln.EnergyConverterElnToOtherMVUBlock.name=200V Electrical Age to other energy exporter # ./src/main/java/mods/eln/i18n/I18N.java -You_have_%1$_lives_left=You have %1$ lives left +You_have_%s_lives_left=You have %s lives left # ./src/main/java/mods/eln/item/BrushDescriptor.java Brush_is_dry=Brush is dry -Can_paint_%1$_blocks=Can paint %1$ blocks +Can_paint_%s_blocks=Can paint %s blocks # ./src/main/java/mods/eln/item/CombustionChamber.java Upgrade_for_the_Stone_Heat_Furnace.=Upgrade for the Stone Heat Furnace. # ./src/main/java/mods/eln/item/ElectricalDrillDescriptor.java -Energy_per_operation\:_%1$J=Energy per operation\: %1$J -Time_per_operation\:_%1$s=Time per operation\: %1$s +Energy_per_operation\:_%sJ=Energy per operation\: %sJ +Time_per_operation\:_%ss=Time per operation\: %ss # ./src/main/java/mods/eln/item/FerromagneticCoreDescriptor.java -Cable_loss_factor\:_%1$=Cable loss factor\: %1$ +Cable_loss_factor\:_%s=Cable loss factor\: %s # ./src/main/java/mods/eln/item/HeatingCorpElement.java @@ -311,8 +311,8 @@ Condition\:=Condition\: End_of_life=End of life Good=Good New=New -Nominal_lifetime\:_%1$h=Nominal lifetime\: %1$h -Technology\:_%1$=Technology\: %1$ +Nominal_lifetime\:_%sh=Nominal lifetime\: %sh +Technology\:_%s=Technology\: %s Used=Used # ./src/main/java/mods/eln/item/LampSlot.java @@ -333,7 +333,7 @@ Solar_panel_upgrade=Solar panel upgrade Off=Off On=On State\:=State\: -Stored_Energy\:_%1$J_(%2$%)=Stored Energy\: %1$J (%2$%) +Stored_Energy\:_%sJ_(%s)=Stored Energy\: %sJ (%s) # ./src/main/java/mods/eln/item/regulator/RegulatorSlot.java @@ -346,7 +346,7 @@ mod.name=Electrical Age # ./src/main/java/mods/eln/node/six/SixNodeDescriptor.java # ./src/main/java/mods/eln/simplenode/energyconverter/EnergyConverterElnToOtherGui.java -Input_power_is_limited_to_%1$W=Input power is limited to %1$W +Input_power_is_limited_to_%sW=Input power is limited to %sW # ./src/main/java/mods/eln/sixnode/LogicGate.kt _O\:_= O\: @@ -386,12 +386,12 @@ Switch_is_off=Switch is off Switch_is_on=Switch is on # ./src/main/java/mods/eln/sixnode/electricalcable/ElectricalCableDescriptor.java -A_signal_is_electrical_information\nwhich_must_be_between_0V_and_%1$V=A signal is electrical information\nwhich must be between 0V and %1$V +A_signal_is_electrical_information\nwhich_must_be_between_0V_and_%sV=A signal is electrical information\nwhich must be between 0V and %sV Cable_is_adapted_to_conduct\nelectrical_signals.=Cable is adapted to conduct\nelectrical signals. -Current\:_%1$A=Current\: %1$A +Current\:_%sA=Current\: %sA Not_adapted_to_transport_power.=Not adapted to transport power. Save_usage\:=Save usage\: -Serial_resistance\:_%1$Ω=Serial resistance\: %1$Ω +Serial_resistance\:_%sΩ=Serial resistance\: %sΩ # ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerDescriptor.java It_can_store_up_to_256_points.=It can store up to 256 points. @@ -423,10 +423,10 @@ Output_voltage_increases\nif_a_fire_has_been_detected.=Output voltage increases\ Provides_configurable_signal\nvoltage.=Provides configurable signal\nvoltage. # ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceGui.java -Output_at_%1$%=Output at %1$% +Output_at_%s=Output at %s # ./src/main/java/mods/eln/sixnode/electricallightsensor/ElectricalLightSensorDescriptor.java -0V_at_night,_%1$V_at_noon.=0V at night, %1$V at noon. +0V_at_night,_%sV_at_noon.=0V at night, %sV at noon. Provides_an_electrical_voltage\nin_the_presence_of_light.=Provides an electrical voltage\nin the presence of light. Provides_an_electrical_voltage\nwhich_is_proportional_to\nthe_intensity_of_daylight.=Provides an electrical voltage\nwhich is proportional to\nthe intensity of daylight. @@ -439,7 +439,7 @@ Applicable_mathematical_operators\:=Applicable mathematical operators\: Calculates_an_output_signal_from\n3_inputs_(A,_B,_C)_using_an_equation.=Calculates an output signal from\n3 inputs (A, B, C) using an equation. # ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathGui.java -%1$_Redstone(s)_required=%1$ Redstone(s) required +%s_Redstone(s)_required=%s Redstone(s) required Equation_required!=Equation required\! Inputs_are=Inputs are Invalid_equation!=Invalid equation\! @@ -483,13 +483,13 @@ Displays_the_value_of_a_signal.=Displays the value of a signal. Portable_battery_slot=Portable battery slot # ./src/main/java/mods/eln/sixnode/electricalweathersensor/ElectricalWeatherSensorDescriptor.java -Clear\:_%1$V=Clear\: %1$V +Clear\:_%sV=Clear\: %sV Provides_an_electrical_signal\ndepending_the_actual_weather.=Provides an electrical signal\ndepending the actual weather. -Rain\:_%1$V=Rain\: %1$V -Storm\:_%1$V=Storm\: %1$V +Rain\:_%sV=Rain\: %sV +Storm\:_%sV=Storm\: %sV # ./src/main/java/mods/eln/sixnode/electricalwindsensor/ElectricalWindSensorDescriptor.java -Maximum_wind_speed_is_%1$m_s=Maximum wind speed is %1$m/s +Maximum_wind_speed_is_%sm_s=Maximum wind speed is %sm/s Provides_an_electrical_signal\ndependant_on_wind_speed.=Provides an electrical signal\ndependant on wind speed. You_can't_place_this_block_on_the_floor_or_the_ceiling=You can't place this block on the floor or the ceiling @@ -508,7 +508,7 @@ Voltage=Voltage Change_password=Change password Counter_Mode=Counter Mode Counts_the_energy_conducted_from\n\u00a74red\u00a7f_to_\u00a71blue\u00a7f.=Counts the energy conducted from\n\\u00a74red\\u00a7f to \\u00a71blue\\u00a7f. -Energy_counter\:_%1$J=Energy counter\: %1$J +Energy_counter\:_%sJ=Energy counter\: %sJ Enter_new_energy=Enter new energy Enter_password=Enter password Prepay_Mode=Prepay Mode @@ -529,13 +529,13 @@ Provides_a_zero_volt_reference.=Provides a zero volt reference. Allows_crossing_cables\non_one_single_block.=Allows crossing cables\non one single block. # ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketDescriptor.java -Angle\:_%1$°_to_%2$°=Angle\: %1$° to %2$° -Spot_range\:_%1$_blocks=Spot range\: %1$ blocks +Angle\:_%s°_to_%s°=Angle\: %s° to %s° +Spot_range\:_%s_blocks=Spot range\: %s blocks # ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketGuiDraw.java -%1$_is_not_in_range!=%1$ is not in range\! +%s_is_not_in_range!=%s is not in range\! Cable_slot_empty=Cable slot empty -Orientation\:_%1$°=Orientation\: %1$° +Orientation\:_%s°=Orientation\: %s° Parallel=Parallel Powered_by_Lamp_Supply=Powered by Lamp Supply Powered_by_cable=Powered by cable @@ -584,8 +584,8 @@ Coal_dust_slot=Coal dust slot # ./src/main/java/mods/eln/sixnode/thermalcable/ThermalCableDescriptor.java High_parallel_resistance\n_\=>_Low_power_dissipation.=High parallel resistance\n \=> Low power dissipation. Low_serial_resistance\n_\=>_High_conductivity.=Low serial resistance\n \=> High conductivity. -Parallel_resistance\:_%1$K_W=Parallel resistance\: %1$K/W -Serial_resistance\:_%1$K_W=Serial resistance\: %1$K/W +Parallel_resistance\:_%sK_W=Parallel resistance\: %sK/W +Serial_resistance\:_%sK_W=Serial resistance\: %sK/W # ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorContainer.java Cable_slot=Cable slot @@ -610,12 +610,12 @@ Set_beacon_name=Set beacon name # ./src/main/java/mods/eln/sixnode/wirelesssignal/rx/WirelessSignalRxGui.java # ./src/main/java/mods/eln/transparentnode/FuelGenerator.kt -Nominal_power\:_%1$_W=Nominal power\: %1$ W -Nominal_voltage\:_%1$_V=Nominal voltage\: %1$ V +Nominal_power\:_%s_W=Nominal power\: %s W +Nominal_voltage\:_%s_V=Nominal voltage\: %s V Produces_electricity_using_fuel.=Produces electricity using fuel. # ./src/main/java/mods/eln/transparentnode/LargeRheostat.kt -Nom._Resistance\:_%1$=Nom. Resistance\: %1$ +Nom._Resistance\:_%s=Nom. Resistance\: %s # ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerContainer.java Drill_slot=Drill slot @@ -637,16 +637,16 @@ Overheating_protection=Overheating protection Overvoltage_protection=Overvoltage protection # ./src/main/java/mods/eln/transparentnode/battery/BatteryDescriptor.java -Actual_charge\:_%1$%=Actual charge\: %1$% -Energy_capacity\:_%1$J=Energy capacity\: %1$J -_charged_at_%1$%=charged at %1$% +Actual_charge\:_%s=Actual charge\: %s +Energy_capacity\:_%sJ=Energy capacity\: %sJ +_charged_at_%s=charged at %s # ./src/main/java/mods/eln/transparentnode/battery/BatteryGuiDraw.java Charge=Charge Charged=Charged Discharge=Discharge Energy\:=Energy\: -Energy\:_%1$=Energy\: %1$ +Energy\:_%s=Energy\: %s Life\:=Life\: No_charge=No charge Power_in\:=Power in\: @@ -659,7 +659,7 @@ Egg_slot=Egg slot Wireless_energy_receiver.=Wireless energy receiver. # ./src/main/java/mods/eln/transparentnode/electricalantennatx/ElectricalAntennaTxDescriptor.java -Efficiency\:_%1$%_up_to_%2$%=Efficiency\: %1$% up to %2$% +Efficiency\:_%s_up_to_%s=Efficiency\: %s up to %s Wireless_energy_transmitter.=Wireless energy transmitter. # ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceContainer.java @@ -671,7 +671,7 @@ Similar_to_a_vanilla_furnace,\nbut_heats_with_electricity.=Similar to a vanilla # ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceGuiDraw.java Auto_shutdown=Auto shutdown Manual_shutdown=Manual shutdown -Set_point\:_%1$°C=Set point\: %1$°C +Set_point\:_%s°C=Set point\: %s°C # ./src/main/java/mods/eln/transparentnode/electricalmachine/ElectricalMachineDescriptor.java Cost=Cost @@ -684,7 +684,7 @@ Fuel_slot=Fuel slot Generates_heat_when_supplied_with_fuel.=Generates heat when supplied with fuel. # ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceGuiDraw.java -Control_gauge_at_%1$%=Control gauge at %1$% +Control_gauge_at_%s=Control gauge at %s Decline_fuel=Decline fuel External_control=External control Internal_control=Internal control @@ -698,27 +698,27 @@ Solar_tracker_slot=Solar tracker slot # ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelDescriptor.java Can_be_geared_towards_the_sun.=Can be geared towards the sun. -Max._power\:_%1$W=Max. power\: %1$W -Max._voltage\:_%1$V=Max. voltage\: %1$V +Max._power\:_%sW=Max. power\: %sW +Max._voltage\:_%sV=Max. voltage\: %sV Produces_power_from_solar_radiation.=Produces power from solar radiation. # ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPannelGuiDraw.java It_is_night=It is night -Solar_panel_angle\:_%1$°=Solar panel angle\: %1$° -Sun_angle\:_%1$°=Sun angle\: %1$° +Solar_panel_angle\:_%s°=Solar panel angle\: %s° +Sun_angle\:_%s°=Sun angle\: %s° # ./src/main/java/mods/eln/transparentnode/teleporter/TeleporterGui.java Destination_transporter=Destination transporter Power_consumption\:=Power consumption\: -Power_consumption\:_%1$W=Power consumption\: %1$W -Required_energy\:_%1$J=Required energy\: %1$J +Power_consumption\:_%sW=Power consumption\: %sW +Required_energy\:_%sJ=Required energy\: %sJ Start=Start Transporter_name=Transporter name # ./src/main/java/mods/eln/transparentnode/thermaldissipatoractive/ThermalDissipatorActiveDescriptor.java -Fan_cooling_power\:_%1$W=Fan cooling power\: %1$W -Fan_power_consumption\:_%1$W=Fan power consumption\: %1$W -Fan_voltage\:_%1$V=Fan voltage\: %1$V +Fan_cooling_power\:_%sW=Fan cooling power\: %sW +Fan_power_consumption\:_%sW=Fan power consumption\: %sW +Fan_voltage\:_%sV=Fan voltage\: %sV # ./src/main/java/mods/eln/transparentnode/transformer/TransformerDescriptor.java The_voltage_ratio_is_proportional\nto_the_cable_stacks_count_ratio.=The voltage ratio is proportional\nto the cable stacks count ratio. @@ -726,13 +726,13 @@ Transforms_an_input_voltage_to\nan_output_voltage.=Transforms an input voltage t # ./src/main/java/mods/eln/transparentnode/turbine/TurbineDescriptor.java Generates_electricity_using_heat.=Generates electricity using heat. -Temperature_difference\:_%1$°C=Temperature difference\: %1$°C +Temperature_difference\:_%s°C=Temperature difference\: %s°C # ./src/main/java/mods/eln/transparentnode/turret/TurretDescriptor.java CAUTION\:_Cables_can_get_quite_hot!=CAUTION\: Cables can get quite hot\! -Laser_charge_power\:_%1$W...%2$kW=Laser charge power\: %1$W...%2$kW +Laser_charge_power\:_%sW...%skW=Laser charge power\: %sW...%skW Scans_for_entities_and_shoots_if_the\nentity_matches_the_configurable_filter_criteria.=Scans for entities and shoots if the\nentity matches the configurable filter criteria. -Standby_power\:_%1$W=Standby power\: %1$W +Standby_power\:_%sW=Standby power\: %sW # ./src/main/java/mods/eln/transparentnode/turret/TurretGui.java Attack\:=Attack\: @@ -744,10 +744,10 @@ Generates_energy_using_water_stream.=Generates energy using water stream. No_place_for_water_turbine!=No place for water turbine\! # ./src/main/java/mods/eln/transparentnode/windturbine/WindTurbineDescriptor.java -Front\:_%1$=Front\: %1$ +Front\:_%s=Front\: %s Generates_energy_from_wind.=Generates energy from wind. -Left_Right\:_%1$=Left/Right\: %1$ -Up_Down\:_%1$=Up/Down\: %1$ +Left_Right\:_%s=Left/Right\: %s +Up_Down\:_%s=Up/Down\: %s Wind_area\:=Wind area\: # ./src/main/java/mods/eln/wiki/Data.java @@ -769,7 +769,7 @@ Previous=Previous # ./src/main/java/mods/eln/wiki/ItemDefault.java Can_be_used_to_craft\:=Can be used to craft\: Cannot_be_crafted!=Cannot be crafted\! -Cost_%1$J=Cost %1$J +Cost_%sJ=Cost %sJ Created_by\:=Created by\: Is_not_a_crafting_material!=Is not a crafting material\! Recipe\:=Recipe\: @@ -777,45 +777,45 @@ Recipe\:=Recipe\: # Appearing in multiple source files (Increases_capacity)=(Increases capacity) (Increases_inductance)=(Increases inductance) -Actual\:_%1$°C=Actual\: %1$°C +Actual\:_%s°C=Actual\: %s°C Biggest=Biggest Booster_slot=Booster slot Can_create\:=Can create\: -Capacity\:_%1$F=Capacity\: %1$F -Charge_power\:_%1$W=Charge power\: %1$W +Capacity\:_%sF=Capacity\: %sF +Charge_power\:_%sW=Charge power\: %sW Connected=Connected -Cooling_power\:_%1$W=Cooling power\: %1$W +Cooling_power\:_%sW=Cooling power\: %sW Copper_cable_slot=Copper cable slot Dielectric_slot=Dielectric slot -Discharge_power\:_%1$W=Discharge power\: %1$W +Discharge_power\:_%sW=Discharge power\: %sW Electrical_cable_slot=Electrical cable slot Entity_filter_slot=Entity filter slot Ferromagnetic_core_slot=Ferromagnetic core slot Has_a_signal_output.=Has a signal output. -Inductance\:_%1$H=Inductance\: %1$H -Internal_resistance\:_%1$Ω=Internal resistance\: %1$Ω +Inductance\:_%sH=Inductance\: %sH +Internal_resistance\:_%sΩ=Internal resistance\: %sΩ Is_off=Is off Is_on=Is on -Max._temperature\:_%1$°C=Max. temperature\: %1$°C +Max._temperature\:_%s°C=Max. temperature\: %s°C Measured_value\ncorresponding\nto_0%_output=Measured value\ncorresponding\nto 0% output Measured_value\ncorresponding\nto_100%_output=Measured value\ncorresponding\nto 100% output Nominal\:=Nominal\: -Nominal_power\:_%1$W=Nominal power\: %1$W +Nominal_power\:_%sW=Nominal power\: %sW Nominal_usage\:=Nominal usage\: -Nominal_voltage\:_%1$V=Nominal voltage\: %1$V +Nominal_voltage\:_%sV=Nominal voltage\: %sV Not_connected=Not connected Not_enough_space_for_this_block=Not enough space for this block Power=Power -Power\:_%1$W=Power\: %1$W -Range\:_%1$_blocks=Range\: %1$ blocks +Power\:_%sW=Power\: %sW +Range\:_%s_blocks=Range\: %s blocks Redstone_slot=Redstone slot Regulator_slot=Regulator slot Reset=Reset -Resistance\:_%1$Ω=Resistance\: %1$Ω +Resistance\:_%sΩ=Resistance\: %sΩ Smallest=Smallest Specify_the_channel=Specify the channel -Stored_energy\:_%1$J_(%2$%)=Stored energy\: %1$J (%2$%) -Temperature\:_%1$°C=Temperature\: %1$°C +Stored_energy\:_%sJ_(%s)=Stored energy\: %sJ (%s) +Temperature\:_%s°C=Temperature\: %s°C Temperature_gauge=Temperature gauge Thermal_isolator_slot=Thermal isolator slot Toggle=Toggle @@ -825,5 +825,5 @@ Used_to_cool_down_turbines.=Used to cool down turbines. Uses_the_biggest\nvalue_on_the_channel.=Uses the biggest\nvalue on the channel. Uses_the_smallest\nvalue_on_the_channel.=Uses the smallest\nvalue on the channel. Validate=Validate -Voltage\:_%1$V=Voltage\: %1$V +Voltage\:_%sV=Voltage\: %sV You_can't_place_this_block_at_this_side=You can't place this block at this side diff --git a/src/main/resources/assets/eln/lang/it.lang b/src/main/resources/assets/eln/lang/it.lang index 6dc898ce9..81d1aa8e9 100644 --- a/src/main/resources/assets/eln/lang/it.lang +++ b/src/main/resources/assets/eln/lang/it.lang @@ -287,21 +287,21 @@ tile.eln.EnergyConverterElnToOtherLVUBlock.name=Esportatore da Età Elettrica ad tile.eln.EnergyConverterElnToOtherMVUBlock.name=Esportatore da Età Elettrica ad altra energia 200V # ./src/main/java/mods/eln/i18n/I18N.java -You_have_%1$_lives_left=Hai %1$ vite rimaste +You_have_%s_lives_left=Hai %s vite rimaste # ./src/main/java/mods/eln/item/BrushDescriptor.java Brush_is_dry=Il pennello è secco -Can_paint_%1$_blocks=Può colorare %1$ blocchi +Can_paint_%s_blocks=Può colorare %s blocchi # ./src/main/java/mods/eln/item/CombustionChamber.java Upgrade_for_the_Stone_Heat_Furnace.=Aggiornamento per la Fornace di Pietra per Calore # ./src/main/java/mods/eln/item/ElectricalDrillDescriptor.java -Energy_per_operation\:_%1$J=Energia per operazione\: %1$J -Time_per_operation\:_%1$s=Tempo per operazione\: %1$s +Energy_per_operation\:_%sJ=Energia per operazione\: %sJ +Time_per_operation\:_%ss=Tempo per operazione\: %ss # ./src/main/java/mods/eln/item/FerromagneticCoreDescriptor.java -Cable_loss_factor\:_%1$=Fattore di perdita del cavo\: %1$ +Cable_loss_factor\:_%s=Fattore di perdita del cavo\: %s # ./src/main/java/mods/eln/item/HeatingCorpElement.java @@ -311,8 +311,8 @@ Condition\:=Condizione\: End_of_life=Fine della vita Good=Buono New=Nuovo -Nominal_lifetime\:_%1$h=Durata di vita nominale\: %1$h -Technology\:_%1$=Tecnologia\: %1$ +Nominal_lifetime\:_%sh=Durata di vita nominale\: %sh +Technology\:_%s=Tecnologia\: %s Used=Usato # ./src/main/java/mods/eln/item/LampSlot.java @@ -333,7 +333,7 @@ Solar_panel_upgrade=Aggiornamento pannello solare Off=Spento On=Acceso State\:=Stato\: -Stored_Energy\:_%1$J_(%2$%)=Energia accumulata\: %1$J (%2$%) +Stored_Energy\:_%sJ_(%s)=Energia accumulata\: %sJ (%s) # ./src/main/java/mods/eln/item/regulator/RegulatorSlot.java @@ -346,7 +346,7 @@ mod.name=Età Elettrica # ./src/main/java/mods/eln/node/six/SixNodeDescriptor.java # ./src/main/java/mods/eln/simplenode/energyconverter/EnergyConverterElnToOtherGui.java -Input_power_is_limited_to_%1$W=Potenza in entrata limitata a %1$W +Input_power_is_limited_to_%sW=Potenza in entrata limitata a %sW # ./src/main/java/mods/eln/sixnode/LogicGate.kt _O\:_= O\: @@ -386,12 +386,12 @@ Switch_is_off=L'interruttore è spento Switch_is_on=L'interruttore è acceso # ./src/main/java/mods/eln/sixnode/electricalcable/ElectricalCableDescriptor.java -A_signal_is_electrical_information\nwhich_must_be_between_0V_and_%1$V=Un segnale è un'informazione elettrica\nche deve essere tra 0V e %1$V +A_signal_is_electrical_information\nwhich_must_be_between_0V_and_%sV=Un segnale è un'informazione elettrica\nche deve essere tra 0V e %sV Cable_is_adapted_to_conduct\nelectrical_signals.=Il cavo è adattato per condurre\nsegnali elettrici. -Current\:_%1$A=Corrente\: %1$A +Current\:_%sA=Corrente\: %sA Not_adapted_to_transport_power.=Non adattato a trasportare potenza. Save_usage\:=Risparmia uso\: -Serial_resistance\:_%1$Ω=Resistenza in serie\: %1$Ω +Serial_resistance\:_%sΩ=Resistenza in serie\: %sΩ # ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerDescriptor.java It_can_store_up_to_256_points.=Può contenere fino a 256 punti. @@ -423,10 +423,10 @@ Output_voltage_increases\nif_a_fire_has_been_detected.=La tensione in uscita aum Provides_configurable_signal\nvoltage.=Fornisce un segnale di tensione\nconfigurabile. # ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceGui.java -Output_at_%1$%=Output al %1$% +Output_at_%s=Output al %s # ./src/main/java/mods/eln/sixnode/electricallightsensor/ElectricalLightSensorDescriptor.java -0V_at_night,_%1$V_at_noon.=0V di notte, %1$V a mezzogiorno. +0V_at_night,_%sV_at_noon.=0V di notte, %sV a mezzogiorno. Provides_an_electrical_voltage\nin_the_presence_of_light.=Fornisce una tensione elettrica\nin presenza di luce. Provides_an_electrical_voltage\nwhich_is_proportional_to\nthe_intensity_of_daylight.=Fornisce una tensione elettrica\nproporzionale all'intensità\ndella luce del giorno. @@ -439,7 +439,7 @@ Applicable_mathematical_operators\:=Operatori matematici applicabili\: Calculates_an_output_signal_from\n3_inputs_(A,_B,_C)_using_an_equation.=Calcola un segnale in uscita da\n3 in ingresso(A, B, C) usando una\nequazione. # ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathGui.java -%1$_Redstone(s)_required=%1$ Pietrarossa richiesta/e +%s_Redstone(s)_required=%s Pietrarossa richiesta/e Equation_required!=Equazione richiesta\! Inputs_are=Gli input sono Invalid_equation!=Equazione non valida\! @@ -483,13 +483,13 @@ Displays_the_value_of_a_signal.=Mostra il valore di un segnale. Portable_battery_slot=Spazio batteria portatile # ./src/main/java/mods/eln/sixnode/electricalweathersensor/ElectricalWeatherSensorDescriptor.java -Clear\:_%1$V=Cielo terso\: %1$V +Clear\:_%sV=Cielo terso\: %sV Provides_an_electrical_signal\ndepending_the_actual_weather.=Fornisce un segnale elettrico\na seconda del tempo atmosferico. -Rain\:_%1$V=Pioggia\: %1$V -Storm\:_%1$V=Tempesta\: %1$V +Rain\:_%sV=Pioggia\: %sV +Storm\:_%sV=Tempesta\: %sV # ./src/main/java/mods/eln/sixnode/electricalwindsensor/ElectricalWindSensorDescriptor.java -Maximum_wind_speed_is_%1$m_s=La massima velocità del vento è %1$m/s +Maximum_wind_speed_is_%sm_s=La massima velocità del vento è %sm/s Provides_an_electrical_signal\ndependant_on_wind_speed.=Fornisce un segnale elettrico\nsecondo la velocità del vento. You_can't_place_this_block_on_the_floor_or_the_ceiling=Non puoi piazzare questo blocco sul pavimento o sul soffitto @@ -508,7 +508,7 @@ Voltage=Tensione Change_password=Cambia password Counter_Mode=Modalità Contatore Counts_the_energy_conducted_from\n\u00a74red\u00a7f_to_\u00a71blue\u00a7f.=Conta l'energia condotta da\n\\u00a74red\\u00a7f a \\u00a71blue\\u00a7f. -Energy_counter\:_%1$J=Contatore energia\: %1$J +Energy_counter\:_%sJ=Contatore energia\: %sJ Enter_new_energy=Digita una nuova energia Enter_password=Digita la password Prepay_Mode=Modalità pagamento anticipato @@ -529,13 +529,13 @@ Provides_a_zero_volt_reference.=Fornisce una referenza di 0 volt. Allows_crossing_cables\non_one_single_block.=Permette l'incrocio di cavi\nin un singolo blocco. # ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketDescriptor.java -Angle\:_%1$°_to_%2$°=Angolo\: %1$° fino a %2$° -Spot_range\:_%1$_blocks=Raggio riflettore\: %1$ blocchi +Angle\:_%s°_to_%s°=Angolo\: %s° fino a %s° +Spot_range\:_%s_blocks=Raggio riflettore\: %s blocchi # ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketGuiDraw.java -%1$_is_not_in_range!=%1$ non è alla portata\! +%s_is_not_in_range!=%s non è alla portata\! Cable_slot_empty=Spazio cavo vuoto -Orientation\:_%1$°=Orientamento\: %1$° +Orientation\:_%s°=Orientamento\: %s° Parallel=Parallelo Powered_by_Lamp_Supply=Alimentato dall'Erogatore per Lampade Powered_by_cable=Alimentato da cavo @@ -584,8 +584,8 @@ Coal_dust_slot=Spazio polvere di carbone # ./src/main/java/mods/eln/sixnode/thermalcable/ThermalCableDescriptor.java High_parallel_resistance\n_\=>_Low_power_dissipation.=Alta resistenza in parallelo\n\=> Basso spreco di potenza. Low_serial_resistance\n_\=>_High_conductivity.=Bassa resistenza seriale\n\=> Alta conducibilità. -Parallel_resistance\:_%1$K_W=Resistenza in parallelo\: %1$K/W -Serial_resistance\:_%1$K_W=Resistenza in serie\: %1$K/W +Parallel_resistance\:_%sK_W=Resistenza in parallelo\: %sK/W +Serial_resistance\:_%sK_W=Resistenza in serie\: %sK/W # ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorContainer.java Cable_slot=Spazio cavo @@ -610,12 +610,12 @@ Set_beacon_name=Imposta nome faro # ./src/main/java/mods/eln/sixnode/wirelesssignal/rx/WirelessSignalRxGui.java # ./src/main/java/mods/eln/transparentnode/FuelGenerator.kt -Nominal_power\:_%1$_W=Potenza nominale\: %1$ W -Nominal_voltage\:_%1$_V=Tensione nominale\: %1$ V +Nominal_power\:_%s_W=Potenza nominale\: %s W +Nominal_voltage\:_%s_V=Tensione nominale\: %s V Produces_electricity_using_fuel.=Produce elettricità usando carburante. # ./src/main/java/mods/eln/transparentnode/LargeRheostat.kt -Nom._Resistance\:_%1$=Resistenza nom. \: %1$ +Nom._Resistance\:_%s=Resistenza nom. \: %s # ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerContainer.java Drill_slot=Spazio trapano @@ -637,16 +637,16 @@ Overheating_protection=Protezione dal surriscaldamento Overvoltage_protection=Protezione da sovratensione # ./src/main/java/mods/eln/transparentnode/battery/BatteryDescriptor.java -Actual_charge\:_%1$%=Carica effettiva\: %1$% -Energy_capacity\:_%1$J=Capacità energetica\: %1$J -_charged_at_%1$%=carico al %1$% +Actual_charge\:_%s=Carica effettiva\: %s +Energy_capacity\:_%sJ=Capacità energetica\: %sJ +_charged_at_%s=carico al %s # ./src/main/java/mods/eln/transparentnode/battery/BatteryGuiDraw.java Charge=Carica Charged=Carico Discharge=Scarica Energy\:=Energia\: -Energy\:_%1$=Energia\: %1$ +Energy\:_%s=Energia\: %s Life\:=Vita\: No_charge=Nessuna carica Power_in\:=Potenza in ingresso\: @@ -659,7 +659,7 @@ Egg_slot=Spazio uovo Wireless_energy_receiver.=Ricevitore di energia wireless. # ./src/main/java/mods/eln/transparentnode/electricalantennatx/ElectricalAntennaTxDescriptor.java -Efficiency\:_%1$%_up_to_%2$%=Efficienza\: %1$% fino a %2$% +Efficiency\:_%s_up_to_%s=Efficienza\: %s fino a %s Wireless_energy_transmitter.=Trasmettitore di energia wireless. # ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceContainer.java @@ -671,7 +671,7 @@ Similar_to_a_vanilla_furnace,\nbut_heats_with_electricity.=Simile ad una fornace # ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceGuiDraw.java Auto_shutdown=Spegnimento automatico Manual_shutdown=Spegnimento manuale -Set_point\:_%1$°C=Imposta punto\: %1$°C +Set_point\:_%s°C=Imposta punto\: %s°C # ./src/main/java/mods/eln/transparentnode/electricalmachine/ElectricalMachineDescriptor.java Cost=Costo @@ -684,7 +684,7 @@ Fuel_slot=Spazio carburante Generates_heat_when_supplied_with_fuel.=Genera calore quando rifornito di carburante. # ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceGuiDraw.java -Control_gauge_at_%1$%=Misuratore di controllo al %1$% +Control_gauge_at_%s=Misuratore di controllo al %s Decline_fuel=Diminuisci carburante External_control=Controllo esterno Internal_control=Controllo interno @@ -698,27 +698,27 @@ Solar_tracker_slot=Spazio inseguitore solare # ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelDescriptor.java Can_be_geared_towards_the_sun.=Può essere orientato verso il sole. -Max._power\:_%1$W=Potenza massima\: %1$W -Max._voltage\:_%1$V=Tensione massima\: %1$V +Max._power\:_%sW=Potenza massima\: %sW +Max._voltage\:_%sV=Tensione massima\: %sV Produces_power_from_solar_radiation.=Produce potenza dalla radiazione solare. # ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPannelGuiDraw.java It_is_night=È notte -Solar_panel_angle\:_%1$°=Angolo pannello solare\: %1$° -Sun_angle\:_%1$°=Angolo sole\: %1$° +Solar_panel_angle\:_%s°=Angolo pannello solare\: %s° +Sun_angle\:_%s°=Angolo sole\: %s° # ./src/main/java/mods/eln/transparentnode/teleporter/TeleporterGui.java Destination_transporter=Trasportatore di destinazione Power_consumption\:=Consumo di potenza\: -Power_consumption\:_%1$W=Consumo di potenza\: %1$W -Required_energy\:_%1$J=Energia richiesta\: %1$J +Power_consumption\:_%sW=Consumo di potenza\: %sW +Required_energy\:_%sJ=Energia richiesta\: %sJ Start=Inizia Transporter_name=Nome trasportatore # ./src/main/java/mods/eln/transparentnode/thermaldissipatoractive/ThermalDissipatorActiveDescriptor.java -Fan_cooling_power\:_%1$W=Potenza ventola di raffreddamento\: %1$W -Fan_power_consumption\:_%1$W=Consumo di potenza della ventola\: %1$W -Fan_voltage\:_%1$V=Tensione ventola\: %1$V +Fan_cooling_power\:_%sW=Potenza ventola di raffreddamento\: %sW +Fan_power_consumption\:_%sW=Consumo di potenza della ventola\: %sW +Fan_voltage\:_%sV=Tensione ventola\: %sV # ./src/main/java/mods/eln/transparentnode/transformer/TransformerDescriptor.java The_voltage_ratio_is_proportional\nto_the_cable_stacks_count_ratio.=Il rapporto della tensione è proporzionale\nal rapporto della somma delle pile di cavi. @@ -726,13 +726,13 @@ Transforms_an_input_voltage_to\nan_output_voltage.=Trasforma una tensione in ing # ./src/main/java/mods/eln/transparentnode/turbine/TurbineDescriptor.java Generates_electricity_using_heat.=Genera elettricità usando calore. -Temperature_difference\:_%1$°C=Differenza di temperatura\: %1$°C +Temperature_difference\:_%s°C=Differenza di temperatura\: %s°C # ./src/main/java/mods/eln/transparentnode/turret/TurretDescriptor.java CAUTION\:_Cables_can_get_quite_hot!=ATTENZIONE\: I cavi possono diventare piuttosto caldi\! -Laser_charge_power\:_%1$W...%2$kW=Potenza della carica del laser\: %1$W...%2$kW +Laser_charge_power\:_%sW...%skW=Potenza della carica del laser\: %sW...%skW Scans_for_entities_and_shoots_if_the\nentity_matches_the_configurable_filter_criteria.=Cerca entità e spara se l'entità\ncorrisponde ai criteri del filtro configurabile. -Standby_power\:_%1$W=Consumo in stand-by\: %1$W +Standby_power\:_%sW=Consumo in stand-by\: %sW # ./src/main/java/mods/eln/transparentnode/turret/TurretGui.java Attack\:=Attacca\: @@ -744,10 +744,10 @@ Generates_energy_using_water_stream.=Genera energia usando un flusso d'acqua. No_place_for_water_turbine!=Non c'è spazio per la turbina ad acqua\! # ./src/main/java/mods/eln/transparentnode/windturbine/WindTurbineDescriptor.java -Front\:_%1$=Facciata\: %1$ +Front\:_%s=Facciata\: %s Generates_energy_from_wind.=Genera energia dal vento. -Left_Right\:_%1$=Sinistra/Destra\: %1$ -Up_Down\:_%1$=Su/Giù\: %1$ +Left_Right\:_%s=Sinistra/Destra\: %s +Up_Down\:_%s=Su/Giù\: %s Wind_area\:=Area del vento\: # ./src/main/java/mods/eln/wiki/Data.java @@ -769,7 +769,7 @@ Previous=Indietro # ./src/main/java/mods/eln/wiki/ItemDefault.java Can_be_used_to_craft\:=Può essere usato per craftare\: Cannot_be_crafted!=Non può essere craftato\! -Cost_%1$J=Costo %1$J +Cost_%sJ=Costo %sJ Created_by\:=Creato da\: Is_not_a_crafting_material!=Non è un materiale da crafting\! Recipe\:=Ricetta\: @@ -777,45 +777,45 @@ Recipe\:=Ricetta\: # Appearing in multiple source files (Increases_capacity)=(Aumenta la capacità) (Increases_inductance)=(Aumenta l'induttanza) -Actual\:_%1$°C=Attuale\: %1$°C +Actual\:_%s°C=Attuale\: %s°C Biggest=Il più grande Booster_slot=Spazio booster Can_create\:=Può creare\: -Capacity\:_%1$F=Capacità\: %1$F -Charge_power\:_%1$W=Potenza di carica\: %1$W +Capacity\:_%sF=Capacità\: %sF +Charge_power\:_%sW=Potenza di carica\: %sW Connected=Connesso -Cooling_power\:_%1$W=Potenza di raffreddamento\: %1$W +Cooling_power\:_%sW=Potenza di raffreddamento\: %sW Copper_cable_slot=Spazio cavo di rame Dielectric_slot=Spazio dielettrico -Discharge_power\:_%1$W=Potenza di scarica\: %1$W +Discharge_power\:_%sW=Potenza di scarica\: %sW Electrical_cable_slot=Spazio cavo elettrico Entity_filter_slot=Spazio filtro entità Ferromagnetic_core_slot=Spazio nucleo ferromagnetico Has_a_signal_output.=Ha un segnale in uscita. -Inductance\:_%1$H=Induttanza\: %1$H -Internal_resistance\:_%1$Ω=Resistenza interna\: %1$Ω +Inductance\:_%sH=Induttanza\: %sH +Internal_resistance\:_%sΩ=Resistenza interna\: %sΩ Is_off=È spento Is_on=È acceso -Max._temperature\:_%1$°C=Temperatura max.\: %1$°C +Max._temperature\:_%s°C=Temperatura max.\: %s°C Measured_value\ncorresponding\nto_0%_output=Valore misurato\ncorrispondente\nallo 0% dell'output Measured_value\ncorresponding\nto_100%_output=Valore misurato\ncorrispondente\nal 100% dell'output Nominal\:=Nominale\: -Nominal_power\:_%1$W=Potenza nominale\: %1$W +Nominal_power\:_%sW=Potenza nominale\: %sW Nominal_usage\:=Uso nominale\: -Nominal_voltage\:_%1$V=Tensione nominale\: %1$V +Nominal_voltage\:_%sV=Tensione nominale\: %sV Not_connected=Non connesso Not_enough_space_for_this_block=Non c'è abbastanza spazio per questo blocco Power=Potenza -Power\:_%1$W=Potenza\: %1$W -Range\:_%1$_blocks=Raggio\: %1$ blocchi +Power\:_%sW=Potenza\: %sW +Range\:_%s_blocks=Raggio\: %s blocchi Redstone_slot=Spazio pietrarossa Regulator_slot=Spazio regolatore Reset=Resetta -Resistance\:_%1$Ω=Resistenza\: %1$Ω +Resistance\:_%sΩ=Resistenza\: %sΩ Smallest=Il più piccolo Specify_the_channel=Specifica il canale -Stored_energy\:_%1$J_(%2$%)=Energia accumulata\: %1$J (%2$%) -Temperature\:_%1$°C=Temperatura\: %1$°C +Stored_energy\:_%sJ_(%s)=Energia accumulata\: %sJ (%s) +Temperature\:_%s°C=Temperatura\: %s°C Temperature_gauge=Misuratore temperatura Thermal_isolator_slot=Spazio per l'isolatore termico Toggle=Inverti lo stato @@ -825,5 +825,5 @@ Used_to_cool_down_turbines.=Usato per raffreddare le turbine. Uses_the_biggest\nvalue_on_the_channel.=Usa il valore più\ngrande sul canale. Uses_the_smallest\nvalue_on_the_channel.=Usa il valore più\npiccolo sul canale. Validate=Convalida -Voltage\:_%1$V=Tensione\: %1$V +Voltage\:_%sV=Tensione\: %sV You_can't_place_this_block_at_this_side=Non puoi piazzare questo blocco su questo lato diff --git a/src/main/resources/assets/eln/lang/it_IT.lang b/src/main/resources/assets/eln/lang/it_IT.lang index 6dc898ce9..81d1aa8e9 100644 --- a/src/main/resources/assets/eln/lang/it_IT.lang +++ b/src/main/resources/assets/eln/lang/it_IT.lang @@ -287,21 +287,21 @@ tile.eln.EnergyConverterElnToOtherLVUBlock.name=Esportatore da Età Elettrica ad tile.eln.EnergyConverterElnToOtherMVUBlock.name=Esportatore da Età Elettrica ad altra energia 200V # ./src/main/java/mods/eln/i18n/I18N.java -You_have_%1$_lives_left=Hai %1$ vite rimaste +You_have_%s_lives_left=Hai %s vite rimaste # ./src/main/java/mods/eln/item/BrushDescriptor.java Brush_is_dry=Il pennello è secco -Can_paint_%1$_blocks=Può colorare %1$ blocchi +Can_paint_%s_blocks=Può colorare %s blocchi # ./src/main/java/mods/eln/item/CombustionChamber.java Upgrade_for_the_Stone_Heat_Furnace.=Aggiornamento per la Fornace di Pietra per Calore # ./src/main/java/mods/eln/item/ElectricalDrillDescriptor.java -Energy_per_operation\:_%1$J=Energia per operazione\: %1$J -Time_per_operation\:_%1$s=Tempo per operazione\: %1$s +Energy_per_operation\:_%sJ=Energia per operazione\: %sJ +Time_per_operation\:_%ss=Tempo per operazione\: %ss # ./src/main/java/mods/eln/item/FerromagneticCoreDescriptor.java -Cable_loss_factor\:_%1$=Fattore di perdita del cavo\: %1$ +Cable_loss_factor\:_%s=Fattore di perdita del cavo\: %s # ./src/main/java/mods/eln/item/HeatingCorpElement.java @@ -311,8 +311,8 @@ Condition\:=Condizione\: End_of_life=Fine della vita Good=Buono New=Nuovo -Nominal_lifetime\:_%1$h=Durata di vita nominale\: %1$h -Technology\:_%1$=Tecnologia\: %1$ +Nominal_lifetime\:_%sh=Durata di vita nominale\: %sh +Technology\:_%s=Tecnologia\: %s Used=Usato # ./src/main/java/mods/eln/item/LampSlot.java @@ -333,7 +333,7 @@ Solar_panel_upgrade=Aggiornamento pannello solare Off=Spento On=Acceso State\:=Stato\: -Stored_Energy\:_%1$J_(%2$%)=Energia accumulata\: %1$J (%2$%) +Stored_Energy\:_%sJ_(%s)=Energia accumulata\: %sJ (%s) # ./src/main/java/mods/eln/item/regulator/RegulatorSlot.java @@ -346,7 +346,7 @@ mod.name=Età Elettrica # ./src/main/java/mods/eln/node/six/SixNodeDescriptor.java # ./src/main/java/mods/eln/simplenode/energyconverter/EnergyConverterElnToOtherGui.java -Input_power_is_limited_to_%1$W=Potenza in entrata limitata a %1$W +Input_power_is_limited_to_%sW=Potenza in entrata limitata a %sW # ./src/main/java/mods/eln/sixnode/LogicGate.kt _O\:_= O\: @@ -386,12 +386,12 @@ Switch_is_off=L'interruttore è spento Switch_is_on=L'interruttore è acceso # ./src/main/java/mods/eln/sixnode/electricalcable/ElectricalCableDescriptor.java -A_signal_is_electrical_information\nwhich_must_be_between_0V_and_%1$V=Un segnale è un'informazione elettrica\nche deve essere tra 0V e %1$V +A_signal_is_electrical_information\nwhich_must_be_between_0V_and_%sV=Un segnale è un'informazione elettrica\nche deve essere tra 0V e %sV Cable_is_adapted_to_conduct\nelectrical_signals.=Il cavo è adattato per condurre\nsegnali elettrici. -Current\:_%1$A=Corrente\: %1$A +Current\:_%sA=Corrente\: %sA Not_adapted_to_transport_power.=Non adattato a trasportare potenza. Save_usage\:=Risparmia uso\: -Serial_resistance\:_%1$Ω=Resistenza in serie\: %1$Ω +Serial_resistance\:_%sΩ=Resistenza in serie\: %sΩ # ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerDescriptor.java It_can_store_up_to_256_points.=Può contenere fino a 256 punti. @@ -423,10 +423,10 @@ Output_voltage_increases\nif_a_fire_has_been_detected.=La tensione in uscita aum Provides_configurable_signal\nvoltage.=Fornisce un segnale di tensione\nconfigurabile. # ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceGui.java -Output_at_%1$%=Output al %1$% +Output_at_%s=Output al %s # ./src/main/java/mods/eln/sixnode/electricallightsensor/ElectricalLightSensorDescriptor.java -0V_at_night,_%1$V_at_noon.=0V di notte, %1$V a mezzogiorno. +0V_at_night,_%sV_at_noon.=0V di notte, %sV a mezzogiorno. Provides_an_electrical_voltage\nin_the_presence_of_light.=Fornisce una tensione elettrica\nin presenza di luce. Provides_an_electrical_voltage\nwhich_is_proportional_to\nthe_intensity_of_daylight.=Fornisce una tensione elettrica\nproporzionale all'intensità\ndella luce del giorno. @@ -439,7 +439,7 @@ Applicable_mathematical_operators\:=Operatori matematici applicabili\: Calculates_an_output_signal_from\n3_inputs_(A,_B,_C)_using_an_equation.=Calcola un segnale in uscita da\n3 in ingresso(A, B, C) usando una\nequazione. # ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathGui.java -%1$_Redstone(s)_required=%1$ Pietrarossa richiesta/e +%s_Redstone(s)_required=%s Pietrarossa richiesta/e Equation_required!=Equazione richiesta\! Inputs_are=Gli input sono Invalid_equation!=Equazione non valida\! @@ -483,13 +483,13 @@ Displays_the_value_of_a_signal.=Mostra il valore di un segnale. Portable_battery_slot=Spazio batteria portatile # ./src/main/java/mods/eln/sixnode/electricalweathersensor/ElectricalWeatherSensorDescriptor.java -Clear\:_%1$V=Cielo terso\: %1$V +Clear\:_%sV=Cielo terso\: %sV Provides_an_electrical_signal\ndepending_the_actual_weather.=Fornisce un segnale elettrico\na seconda del tempo atmosferico. -Rain\:_%1$V=Pioggia\: %1$V -Storm\:_%1$V=Tempesta\: %1$V +Rain\:_%sV=Pioggia\: %sV +Storm\:_%sV=Tempesta\: %sV # ./src/main/java/mods/eln/sixnode/electricalwindsensor/ElectricalWindSensorDescriptor.java -Maximum_wind_speed_is_%1$m_s=La massima velocità del vento è %1$m/s +Maximum_wind_speed_is_%sm_s=La massima velocità del vento è %sm/s Provides_an_electrical_signal\ndependant_on_wind_speed.=Fornisce un segnale elettrico\nsecondo la velocità del vento. You_can't_place_this_block_on_the_floor_or_the_ceiling=Non puoi piazzare questo blocco sul pavimento o sul soffitto @@ -508,7 +508,7 @@ Voltage=Tensione Change_password=Cambia password Counter_Mode=Modalità Contatore Counts_the_energy_conducted_from\n\u00a74red\u00a7f_to_\u00a71blue\u00a7f.=Conta l'energia condotta da\n\\u00a74red\\u00a7f a \\u00a71blue\\u00a7f. -Energy_counter\:_%1$J=Contatore energia\: %1$J +Energy_counter\:_%sJ=Contatore energia\: %sJ Enter_new_energy=Digita una nuova energia Enter_password=Digita la password Prepay_Mode=Modalità pagamento anticipato @@ -529,13 +529,13 @@ Provides_a_zero_volt_reference.=Fornisce una referenza di 0 volt. Allows_crossing_cables\non_one_single_block.=Permette l'incrocio di cavi\nin un singolo blocco. # ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketDescriptor.java -Angle\:_%1$°_to_%2$°=Angolo\: %1$° fino a %2$° -Spot_range\:_%1$_blocks=Raggio riflettore\: %1$ blocchi +Angle\:_%s°_to_%s°=Angolo\: %s° fino a %s° +Spot_range\:_%s_blocks=Raggio riflettore\: %s blocchi # ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketGuiDraw.java -%1$_is_not_in_range!=%1$ non è alla portata\! +%s_is_not_in_range!=%s non è alla portata\! Cable_slot_empty=Spazio cavo vuoto -Orientation\:_%1$°=Orientamento\: %1$° +Orientation\:_%s°=Orientamento\: %s° Parallel=Parallelo Powered_by_Lamp_Supply=Alimentato dall'Erogatore per Lampade Powered_by_cable=Alimentato da cavo @@ -584,8 +584,8 @@ Coal_dust_slot=Spazio polvere di carbone # ./src/main/java/mods/eln/sixnode/thermalcable/ThermalCableDescriptor.java High_parallel_resistance\n_\=>_Low_power_dissipation.=Alta resistenza in parallelo\n\=> Basso spreco di potenza. Low_serial_resistance\n_\=>_High_conductivity.=Bassa resistenza seriale\n\=> Alta conducibilità. -Parallel_resistance\:_%1$K_W=Resistenza in parallelo\: %1$K/W -Serial_resistance\:_%1$K_W=Resistenza in serie\: %1$K/W +Parallel_resistance\:_%sK_W=Resistenza in parallelo\: %sK/W +Serial_resistance\:_%sK_W=Resistenza in serie\: %sK/W # ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorContainer.java Cable_slot=Spazio cavo @@ -610,12 +610,12 @@ Set_beacon_name=Imposta nome faro # ./src/main/java/mods/eln/sixnode/wirelesssignal/rx/WirelessSignalRxGui.java # ./src/main/java/mods/eln/transparentnode/FuelGenerator.kt -Nominal_power\:_%1$_W=Potenza nominale\: %1$ W -Nominal_voltage\:_%1$_V=Tensione nominale\: %1$ V +Nominal_power\:_%s_W=Potenza nominale\: %s W +Nominal_voltage\:_%s_V=Tensione nominale\: %s V Produces_electricity_using_fuel.=Produce elettricità usando carburante. # ./src/main/java/mods/eln/transparentnode/LargeRheostat.kt -Nom._Resistance\:_%1$=Resistenza nom. \: %1$ +Nom._Resistance\:_%s=Resistenza nom. \: %s # ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerContainer.java Drill_slot=Spazio trapano @@ -637,16 +637,16 @@ Overheating_protection=Protezione dal surriscaldamento Overvoltage_protection=Protezione da sovratensione # ./src/main/java/mods/eln/transparentnode/battery/BatteryDescriptor.java -Actual_charge\:_%1$%=Carica effettiva\: %1$% -Energy_capacity\:_%1$J=Capacità energetica\: %1$J -_charged_at_%1$%=carico al %1$% +Actual_charge\:_%s=Carica effettiva\: %s +Energy_capacity\:_%sJ=Capacità energetica\: %sJ +_charged_at_%s=carico al %s # ./src/main/java/mods/eln/transparentnode/battery/BatteryGuiDraw.java Charge=Carica Charged=Carico Discharge=Scarica Energy\:=Energia\: -Energy\:_%1$=Energia\: %1$ +Energy\:_%s=Energia\: %s Life\:=Vita\: No_charge=Nessuna carica Power_in\:=Potenza in ingresso\: @@ -659,7 +659,7 @@ Egg_slot=Spazio uovo Wireless_energy_receiver.=Ricevitore di energia wireless. # ./src/main/java/mods/eln/transparentnode/electricalantennatx/ElectricalAntennaTxDescriptor.java -Efficiency\:_%1$%_up_to_%2$%=Efficienza\: %1$% fino a %2$% +Efficiency\:_%s_up_to_%s=Efficienza\: %s fino a %s Wireless_energy_transmitter.=Trasmettitore di energia wireless. # ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceContainer.java @@ -671,7 +671,7 @@ Similar_to_a_vanilla_furnace,\nbut_heats_with_electricity.=Simile ad una fornace # ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceGuiDraw.java Auto_shutdown=Spegnimento automatico Manual_shutdown=Spegnimento manuale -Set_point\:_%1$°C=Imposta punto\: %1$°C +Set_point\:_%s°C=Imposta punto\: %s°C # ./src/main/java/mods/eln/transparentnode/electricalmachine/ElectricalMachineDescriptor.java Cost=Costo @@ -684,7 +684,7 @@ Fuel_slot=Spazio carburante Generates_heat_when_supplied_with_fuel.=Genera calore quando rifornito di carburante. # ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceGuiDraw.java -Control_gauge_at_%1$%=Misuratore di controllo al %1$% +Control_gauge_at_%s=Misuratore di controllo al %s Decline_fuel=Diminuisci carburante External_control=Controllo esterno Internal_control=Controllo interno @@ -698,27 +698,27 @@ Solar_tracker_slot=Spazio inseguitore solare # ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelDescriptor.java Can_be_geared_towards_the_sun.=Può essere orientato verso il sole. -Max._power\:_%1$W=Potenza massima\: %1$W -Max._voltage\:_%1$V=Tensione massima\: %1$V +Max._power\:_%sW=Potenza massima\: %sW +Max._voltage\:_%sV=Tensione massima\: %sV Produces_power_from_solar_radiation.=Produce potenza dalla radiazione solare. # ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPannelGuiDraw.java It_is_night=È notte -Solar_panel_angle\:_%1$°=Angolo pannello solare\: %1$° -Sun_angle\:_%1$°=Angolo sole\: %1$° +Solar_panel_angle\:_%s°=Angolo pannello solare\: %s° +Sun_angle\:_%s°=Angolo sole\: %s° # ./src/main/java/mods/eln/transparentnode/teleporter/TeleporterGui.java Destination_transporter=Trasportatore di destinazione Power_consumption\:=Consumo di potenza\: -Power_consumption\:_%1$W=Consumo di potenza\: %1$W -Required_energy\:_%1$J=Energia richiesta\: %1$J +Power_consumption\:_%sW=Consumo di potenza\: %sW +Required_energy\:_%sJ=Energia richiesta\: %sJ Start=Inizia Transporter_name=Nome trasportatore # ./src/main/java/mods/eln/transparentnode/thermaldissipatoractive/ThermalDissipatorActiveDescriptor.java -Fan_cooling_power\:_%1$W=Potenza ventola di raffreddamento\: %1$W -Fan_power_consumption\:_%1$W=Consumo di potenza della ventola\: %1$W -Fan_voltage\:_%1$V=Tensione ventola\: %1$V +Fan_cooling_power\:_%sW=Potenza ventola di raffreddamento\: %sW +Fan_power_consumption\:_%sW=Consumo di potenza della ventola\: %sW +Fan_voltage\:_%sV=Tensione ventola\: %sV # ./src/main/java/mods/eln/transparentnode/transformer/TransformerDescriptor.java The_voltage_ratio_is_proportional\nto_the_cable_stacks_count_ratio.=Il rapporto della tensione è proporzionale\nal rapporto della somma delle pile di cavi. @@ -726,13 +726,13 @@ Transforms_an_input_voltage_to\nan_output_voltage.=Trasforma una tensione in ing # ./src/main/java/mods/eln/transparentnode/turbine/TurbineDescriptor.java Generates_electricity_using_heat.=Genera elettricità usando calore. -Temperature_difference\:_%1$°C=Differenza di temperatura\: %1$°C +Temperature_difference\:_%s°C=Differenza di temperatura\: %s°C # ./src/main/java/mods/eln/transparentnode/turret/TurretDescriptor.java CAUTION\:_Cables_can_get_quite_hot!=ATTENZIONE\: I cavi possono diventare piuttosto caldi\! -Laser_charge_power\:_%1$W...%2$kW=Potenza della carica del laser\: %1$W...%2$kW +Laser_charge_power\:_%sW...%skW=Potenza della carica del laser\: %sW...%skW Scans_for_entities_and_shoots_if_the\nentity_matches_the_configurable_filter_criteria.=Cerca entità e spara se l'entità\ncorrisponde ai criteri del filtro configurabile. -Standby_power\:_%1$W=Consumo in stand-by\: %1$W +Standby_power\:_%sW=Consumo in stand-by\: %sW # ./src/main/java/mods/eln/transparentnode/turret/TurretGui.java Attack\:=Attacca\: @@ -744,10 +744,10 @@ Generates_energy_using_water_stream.=Genera energia usando un flusso d'acqua. No_place_for_water_turbine!=Non c'è spazio per la turbina ad acqua\! # ./src/main/java/mods/eln/transparentnode/windturbine/WindTurbineDescriptor.java -Front\:_%1$=Facciata\: %1$ +Front\:_%s=Facciata\: %s Generates_energy_from_wind.=Genera energia dal vento. -Left_Right\:_%1$=Sinistra/Destra\: %1$ -Up_Down\:_%1$=Su/Giù\: %1$ +Left_Right\:_%s=Sinistra/Destra\: %s +Up_Down\:_%s=Su/Giù\: %s Wind_area\:=Area del vento\: # ./src/main/java/mods/eln/wiki/Data.java @@ -769,7 +769,7 @@ Previous=Indietro # ./src/main/java/mods/eln/wiki/ItemDefault.java Can_be_used_to_craft\:=Può essere usato per craftare\: Cannot_be_crafted!=Non può essere craftato\! -Cost_%1$J=Costo %1$J +Cost_%sJ=Costo %sJ Created_by\:=Creato da\: Is_not_a_crafting_material!=Non è un materiale da crafting\! Recipe\:=Ricetta\: @@ -777,45 +777,45 @@ Recipe\:=Ricetta\: # Appearing in multiple source files (Increases_capacity)=(Aumenta la capacità) (Increases_inductance)=(Aumenta l'induttanza) -Actual\:_%1$°C=Attuale\: %1$°C +Actual\:_%s°C=Attuale\: %s°C Biggest=Il più grande Booster_slot=Spazio booster Can_create\:=Può creare\: -Capacity\:_%1$F=Capacità\: %1$F -Charge_power\:_%1$W=Potenza di carica\: %1$W +Capacity\:_%sF=Capacità\: %sF +Charge_power\:_%sW=Potenza di carica\: %sW Connected=Connesso -Cooling_power\:_%1$W=Potenza di raffreddamento\: %1$W +Cooling_power\:_%sW=Potenza di raffreddamento\: %sW Copper_cable_slot=Spazio cavo di rame Dielectric_slot=Spazio dielettrico -Discharge_power\:_%1$W=Potenza di scarica\: %1$W +Discharge_power\:_%sW=Potenza di scarica\: %sW Electrical_cable_slot=Spazio cavo elettrico Entity_filter_slot=Spazio filtro entità Ferromagnetic_core_slot=Spazio nucleo ferromagnetico Has_a_signal_output.=Ha un segnale in uscita. -Inductance\:_%1$H=Induttanza\: %1$H -Internal_resistance\:_%1$Ω=Resistenza interna\: %1$Ω +Inductance\:_%sH=Induttanza\: %sH +Internal_resistance\:_%sΩ=Resistenza interna\: %sΩ Is_off=È spento Is_on=È acceso -Max._temperature\:_%1$°C=Temperatura max.\: %1$°C +Max._temperature\:_%s°C=Temperatura max.\: %s°C Measured_value\ncorresponding\nto_0%_output=Valore misurato\ncorrispondente\nallo 0% dell'output Measured_value\ncorresponding\nto_100%_output=Valore misurato\ncorrispondente\nal 100% dell'output Nominal\:=Nominale\: -Nominal_power\:_%1$W=Potenza nominale\: %1$W +Nominal_power\:_%sW=Potenza nominale\: %sW Nominal_usage\:=Uso nominale\: -Nominal_voltage\:_%1$V=Tensione nominale\: %1$V +Nominal_voltage\:_%sV=Tensione nominale\: %sV Not_connected=Non connesso Not_enough_space_for_this_block=Non c'è abbastanza spazio per questo blocco Power=Potenza -Power\:_%1$W=Potenza\: %1$W -Range\:_%1$_blocks=Raggio\: %1$ blocchi +Power\:_%sW=Potenza\: %sW +Range\:_%s_blocks=Raggio\: %s blocchi Redstone_slot=Spazio pietrarossa Regulator_slot=Spazio regolatore Reset=Resetta -Resistance\:_%1$Ω=Resistenza\: %1$Ω +Resistance\:_%sΩ=Resistenza\: %sΩ Smallest=Il più piccolo Specify_the_channel=Specifica il canale -Stored_energy\:_%1$J_(%2$%)=Energia accumulata\: %1$J (%2$%) -Temperature\:_%1$°C=Temperatura\: %1$°C +Stored_energy\:_%sJ_(%s)=Energia accumulata\: %sJ (%s) +Temperature\:_%s°C=Temperatura\: %s°C Temperature_gauge=Misuratore temperatura Thermal_isolator_slot=Spazio per l'isolatore termico Toggle=Inverti lo stato @@ -825,5 +825,5 @@ Used_to_cool_down_turbines.=Usato per raffreddare le turbine. Uses_the_biggest\nvalue_on_the_channel.=Usa il valore più\ngrande sul canale. Uses_the_smallest\nvalue_on_the_channel.=Usa il valore più\npiccolo sul canale. Validate=Convalida -Voltage\:_%1$V=Tensione\: %1$V +Voltage\:_%sV=Tensione\: %sV You_can't_place_this_block_at_this_side=Non puoi piazzare questo blocco su questo lato diff --git a/src/main/resources/assets/eln/lang/nl.lang b/src/main/resources/assets/eln/lang/nl.lang index 4cf8e23b1..8eb7c816e 100644 --- a/src/main/resources/assets/eln/lang/nl.lang +++ b/src/main/resources/assets/eln/lang/nl.lang @@ -287,21 +287,21 @@ tile.eln.EnergyConverterElnToOtherLVUBlock.name=50V Elektrische Eeuw naar andere tile.eln.EnergyConverterElnToOtherMVUBlock.name=200V Elektrische Eeuw naar andere energie exporteur # ./src/main/java/mods/eln/i18n/I18N.java -You_have_%1$_lives_left=Je hebt %1$ levens over +You_have_%s_lives_left=Je hebt %s levens over # ./src/main/java/mods/eln/item/BrushDescriptor.java Brush_is_dry=Kwast is Droog -Can_paint_%1$_blocks=Kan %1$ blokken verven +Can_paint_%s_blocks=Kan %s blokken verven # ./src/main/java/mods/eln/item/CombustionChamber.java Upgrade_for_the_Stone_Heat_Furnace.=Upgrade voor de Stenen Hitteoven # ./src/main/java/mods/eln/item/ElectricalDrillDescriptor.java -Energy_per_operation\:_%1$J=Energie per handeling\: %1$J -Time_per_operation\:_%1$s=Tijd per handeling\: %1$s +Energy_per_operation\:_%sJ=Energie per handeling\: %sJ +Time_per_operation\:_%ss=Tijd per handeling\: %ss # ./src/main/java/mods/eln/item/FerromagneticCoreDescriptor.java -Cable_loss_factor\:_%1$=Kabel verliesfactor\: %1$ +Cable_loss_factor\:_%s=Kabel verliesfactor\: %s # ./src/main/java/mods/eln/item/HeatingCorpElement.java @@ -311,8 +311,8 @@ Condition\:=Staat\: End_of_life=Bijna kapot Good=Goed New=Nieuw -Nominal_lifetime\:_%1$h=Nominale levensduur\: %1$h -Technology\:_%1$=Technologie\: %1$ +Nominal_lifetime\:_%sh=Nominale levensduur\: %sh +Technology\:_%s=Technologie\: %s Used=Gebruikt # ./src/main/java/mods/eln/item/LampSlot.java @@ -333,7 +333,7 @@ Solar_panel_upgrade=Zonnepaneel Upgrade Off=Uit On=Aan State\:=Status\: -Stored_Energy\:_%1$J_(%2$%)=Opgeslagen Energie\: %1$J (%2$%) +Stored_Energy\:_%sJ_(%s)=Opgeslagen Energie\: %sJ (%s) # ./src/main/java/mods/eln/item/regulator/RegulatorSlot.java @@ -346,7 +346,7 @@ mod.name=Elektrische Eeuw # ./src/main/java/mods/eln/node/six/SixNodeDescriptor.java # ./src/main/java/mods/eln/simplenode/energyconverter/EnergyConverterElnToOtherGui.java -Input_power_is_limited_to_%1$W=Inputvermogen is gelimiteerd tot %1$W +Input_power_is_limited_to_%sW=Inputvermogen is gelimiteerd tot %sW # ./src/main/java/mods/eln/sixnode/LogicGate.kt _O\:_= O\: @@ -386,12 +386,12 @@ Switch_is_off=Schakelaar staat uit Switch_is_on=Schakelaar staat aan # ./src/main/java/mods/eln/sixnode/electricalcable/ElectricalCableDescriptor.java -A_signal_is_electrical_information\nwhich_must_be_between_0V_and_%1$V=Een signaal is elektrische informatie\ndie tussen de 0V en %1$V moet zitten. +A_signal_is_electrical_information\nwhich_must_be_between_0V_and_%sV=Een signaal is elektrische informatie\ndie tussen de 0V en %sV moet zitten. Cable_is_adapted_to_conduct\nelectrical_signals.=Kabel is aangepast om elektrische\nsignalen te geleiden. -Current\:_%1$A=Stroom\: %1$A +Current\:_%sA=Stroom\: %sA Not_adapted_to_transport_power.=Niet aangepast om energie te transporteren. Save_usage\:=Sla gebruik op\: -Serial_resistance\:_%1$Ω=Seriële weerstand\: %1$Ω +Serial_resistance\:_%sΩ=Seriële weerstand\: %sΩ # ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerDescriptor.java It_can_store_up_to_256_points.=Het kan maximaal 256 punten opslaan. @@ -423,10 +423,10 @@ Output_voltage_increases\nif_a_fire_has_been_detected.=Output spanning verhoogt\ Provides_configurable_signal\nvoltage.=Geeft een aanpasbaar\nsignaalspanning. # ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceGui.java -Output_at_%1$%=Output\: %1$% +Output_at_%s=Output\: %s # ./src/main/java/mods/eln/sixnode/electricallightsensor/ElectricalLightSensorDescriptor.java -0V_at_night,_%1$V_at_noon.=0V 's nachts, %1$V 's middags. +0V_at_night,_%sV_at_noon.=0V 's nachts, %sV 's middags. Provides_an_electrical_voltage\nin_the_presence_of_light.=Geeft een elektrische spanning\nin de aanwezigheid van licht. Provides_an_electrical_voltage\nwhich_is_proportional_to\nthe_intensity_of_daylight.=Geeft een elektrische spanning\ndie proportioneel is aan de \nintensiteit van het daglicht. @@ -439,7 +439,7 @@ Applicable_mathematical_operators\:=Toepasbare wiskundige operators\: Calculates_an_output_signal_from\n3_inputs_(A,_B,_C)_using_an_equation.=Berekent een output signaal van\n3 inputs (A,B,C) door middel van een\nvergelijking. # ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathGui.java -%1$_Redstone(s)_required=%1$ Redstone(s) nodig +%s_Redstone(s)_required=%s Redstone(s) nodig Equation_required!=Vergelijking nodig\! Inputs_are=Inputs zijn Invalid_equation!=Ongeldige vergelijking @@ -483,13 +483,13 @@ Displays_the_value_of_a_signal.=Geeft de waarde van een signaal. Portable_battery_slot=Draagbare Accu Slot # ./src/main/java/mods/eln/sixnode/electricalweathersensor/ElectricalWeatherSensorDescriptor.java -Clear\:_%1$V=Onbewolkt\: %1$V +Clear\:_%sV=Onbewolkt\: %sV Provides_an_electrical_signal\ndepending_the_actual_weather.=Geeft een elektrisch signaal\nafhankelijk van het huidige weer. -Rain\:_%1$V=Regen\: %1$V -Storm\:_%1$V=Storm\: %1$V +Rain\:_%sV=Regen\: %sV +Storm\:_%sV=Storm\: %sV # ./src/main/java/mods/eln/sixnode/electricalwindsensor/ElectricalWindSensorDescriptor.java -Maximum_wind_speed_is_%1$m_s=Maximale windsnelheid is %1$m/s +Maximum_wind_speed_is_%sm_s=Maximale windsnelheid is %sm/s Provides_an_electrical_signal\ndependant_on_wind_speed.=Geeft een elektrisch signaal\nafhankelijk van de windsnelheid. You_can't_place_this_block_on_the_floor_or_the_ceiling=Je kunt dit blok niet op de vloer of het plafond plaatsen @@ -508,7 +508,7 @@ Voltage=Spanning Change_password=Verander wachtwoord Counter_Mode=Teller Mode Counts_the_energy_conducted_from\n\u00a74red\u00a7f_to_\u00a71blue\u00a7f.=Telt de energie geleid van \n\\u00a74red\\u00a7f tot \\u00a71blue\\u00a7f. -Energy_counter\:_%1$J=Energie teller\: %1$J +Energy_counter\:_%sJ=Energie teller\: %sJ Enter_new_energy=Stel nieuwe energie in Enter_password=Vul wachtwoord in Prepay_Mode=Prepay Mode @@ -529,13 +529,13 @@ Provides_a_zero_volt_reference.=Geeft een 0-volt referentie. Allows_crossing_cables\non_one_single_block.=Staat kabels toe te \nkruisen op 1 blok. # ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketDescriptor.java -Angle\:_%1$°_to_%2$°=Hoek\: %1$° tot %2$° -Spot_range\:_%1$_blocks=Zichtbereik\: %1$ blokken +Angle\:_%s°_to_%s°=Hoek\: %s° tot %s° +Spot_range\:_%s_blocks=Zichtbereik\: %s blokken # ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketGuiDraw.java -%1$_is_not_in_range!=%1$ is niet binnen bereik\! +%s_is_not_in_range!=%s is niet binnen bereik\! Cable_slot_empty=Leeg Kabel Slot -Orientation\:_%1$°=Orientatie\: %1$° +Orientation\:_%s°=Orientatie\: %s° Parallel=Parallel Powered_by_Lamp_Supply=Aangedreven door Lamp Voeding Powered_by_cable=Aangedreven door kabel @@ -584,8 +584,8 @@ Coal_dust_slot=Kolenstof Slot # ./src/main/java/mods/eln/sixnode/thermalcable/ThermalCableDescriptor.java High_parallel_resistance\n_\=>_Low_power_dissipation.=Hoge parallelle weerstand\n\=> Laag vermogensverdrijving. Low_serial_resistance\n_\=>_High_conductivity.=Lage seriële weerstand\n\=> Hoge geleiding. -Parallel_resistance\:_%1$K_W=Parallelle weerstand\: %1$K/W -Serial_resistance\:_%1$K_W=Seriële weerstand\: %1$K/W +Parallel_resistance\:_%sK_W=Parallelle weerstand\: %sK/W +Serial_resistance\:_%sK_W=Seriële weerstand\: %sK/W # ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorContainer.java Cable_slot=Kabel Slot @@ -610,12 +610,12 @@ Set_beacon_name=Stel baken naam in # ./src/main/java/mods/eln/sixnode/wirelesssignal/rx/WirelessSignalRxGui.java # ./src/main/java/mods/eln/transparentnode/FuelGenerator.kt -Nominal_power\:_%1$_W=Norminaal vermogen\: %1$ W -Nominal_voltage\:_%1$_V=Nominale spanning\: %1$ V +Nominal_power\:_%s_W=Norminaal vermogen\: %s W +Nominal_voltage\:_%s_V=Nominale spanning\: %s V Produces_electricity_using_fuel.=Genereert elektriciteit met brandstof. # ./src/main/java/mods/eln/transparentnode/LargeRheostat.kt -Nom._Resistance\:_%1$=Nom. weerstand\: %1$ +Nom._Resistance\:_%s=Nom. weerstand\: %s # ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerContainer.java Drill_slot=Boor Slot @@ -637,16 +637,16 @@ Overheating_protection=Bescherming Tegen Oververhitting Overvoltage_protection=Bescherming Tegen Overspanning # ./src/main/java/mods/eln/transparentnode/battery/BatteryDescriptor.java -Actual_charge\:_%1$%=Huidige lading\: %1$% -Energy_capacity\:_%1$J=Energie capaciteit %1$J -_charged_at_%1$%=%1$% opgeladen +Actual_charge\:_%s=Huidige lading\: %s +Energy_capacity\:_%sJ=Energie capaciteit %sJ +_charged_at_%s=%s opgeladen # ./src/main/java/mods/eln/transparentnode/battery/BatteryGuiDraw.java Charge=Lading Charged=Opgeladen Discharge=Ontlading Energy\:=Energie\: -Energy\:_%1$=Energie\: %1$ +Energy\:_%s=Energie\: %s Life\:=Leven\: No_charge=Geen lading\: Power_in\:=Energie in\: @@ -659,7 +659,7 @@ Egg_slot=Ei Slot Wireless_energy_receiver.=Draadloze energie ontvanger. # ./src/main/java/mods/eln/transparentnode/electricalantennatx/ElectricalAntennaTxDescriptor.java -Efficiency\:_%1$%_up_to_%2$%=Efficiëntie\: %1$% tot %2$% +Efficiency\:_%s_up_to_%s=Efficiëntie\: %s tot %s Wireless_energy_transmitter.=Draadloze Energiezender # ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceContainer.java @@ -671,7 +671,7 @@ Similar_to_a_vanilla_furnace,\nbut_heats_with_electricity.=Vergelijkbaar met sta # ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceGuiDraw.java Auto_shutdown=Automatische afsluiting Manual_shutdown=Handmatig afsluiting -Set_point\:_%1$°C=Ingesteld punt\: %1$°C +Set_point\:_%s°C=Ingesteld punt\: %s°C # ./src/main/java/mods/eln/transparentnode/electricalmachine/ElectricalMachineDescriptor.java Cost=Kosten @@ -684,7 +684,7 @@ Fuel_slot=Brandstof Slot Generates_heat_when_supplied_with_fuel.=Genereert hitte wanneer van brandstof voorzien wordt. # ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceGuiDraw.java -Control_gauge_at_%1$%=Meter op %1$% +Control_gauge_at_%s=Meter op %s Decline_fuel=Weiger brandstof External_control=Externe bediening Internal_control=Interne bediening @@ -698,27 +698,27 @@ Solar_tracker_slot=Zon Tracker Slot # ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelDescriptor.java Can_be_geared_towards_the_sun.=Kan naar de zon gekeerd worden. -Max._power\:_%1$W=Max. vermogen\: %1$W -Max._voltage\:_%1$V=Max. spanning\: %1$V +Max._power\:_%sW=Max. vermogen\: %sW +Max._voltage\:_%sV=Max. spanning\: %sV Produces_power_from_solar_radiation.=Produceert energie van zonneradiatie # ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPannelGuiDraw.java It_is_night=Het is nacht -Solar_panel_angle\:_%1$°=Zonnepaneel hoek\: %1$° -Sun_angle\:_%1$°=Hoek zon\: %1$° +Solar_panel_angle\:_%s°=Zonnepaneel hoek\: %s° +Sun_angle\:_%s°=Hoek zon\: %s° # ./src/main/java/mods/eln/transparentnode/teleporter/TeleporterGui.java Destination_transporter=Bestemmingstransporteur Power_consumption\:=Energieverbruik\: -Power_consumption\:_%1$W=Energieverbruik\: %1$W -Required_energy\:_%1$J=Benodigde Energie\: %1$J +Power_consumption\:_%sW=Energieverbruik\: %sW +Required_energy\:_%sJ=Benodigde Energie\: %sJ Start=Start Transporter_name=Transporteur naam # ./src/main/java/mods/eln/transparentnode/thermaldissipatoractive/ThermalDissipatorActiveDescriptor.java -Fan_cooling_power\:_%1$W=Ventilator koelvermogen\: %1$W -Fan_power_consumption\:_%1$W=Ventilator energieverbruik\: %1$W -Fan_voltage\:_%1$V=Ventilator spanning\: %1$V +Fan_cooling_power\:_%sW=Ventilator koelvermogen\: %sW +Fan_power_consumption\:_%sW=Ventilator energieverbruik\: %sW +Fan_voltage\:_%sV=Ventilator spanning\: %sV # ./src/main/java/mods/eln/transparentnode/transformer/TransformerDescriptor.java The_voltage_ratio_is_proportional\nto_the_cable_stacks_count_ratio.=De spanningsverhouding is\nproportioneel aan de kabelstapel\nteller verhouding. @@ -726,13 +726,13 @@ Transforms_an_input_voltage_to\nan_output_voltage.=Zet een input spanning om \ni # ./src/main/java/mods/eln/transparentnode/turbine/TurbineDescriptor.java Generates_electricity_using_heat.=Genereert energie met hitte. -Temperature_difference\:_%1$°C=Temperatuurverschil\: %1$°C +Temperature_difference\:_%s°C=Temperatuurverschil\: %s°C # ./src/main/java/mods/eln/transparentnode/turret/TurretDescriptor.java CAUTION\:_Cables_can_get_quite_hot!=OPGEPAST\: Kabels kunnen behoorlijk heet worden\! -Laser_charge_power\:_%1$W...%2$kW=Laser lading vermogen\: %1$W...%2$kW +Laser_charge_power\:_%sW...%skW=Laser lading vermogen\: %sW...%skW Scans_for_entities_and_shoots_if_the\nentity_matches_the_configurable_filter_criteria.=Zoekt naar entities en schiet als de entity\ngelijk staat aan de aanpasbare filter criteria. -Standby_power\:_%1$W=Standby vermogen\: %1$W +Standby_power\:_%sW=Standby vermogen\: %sW # ./src/main/java/mods/eln/transparentnode/turret/TurretGui.java Attack\:=Aanvallen\: @@ -744,10 +744,10 @@ Generates_energy_using_water_stream.=Genereert energie door middel van stromend No_place_for_water_turbine!=Geen plaats voor waterturbine\! # ./src/main/java/mods/eln/transparentnode/windturbine/WindTurbineDescriptor.java -Front\:_%1$=Voorkant\: %1$ +Front\:_%s=Voorkant\: %s Generates_energy_from_wind.=Genereert energie door middel van de wind. -Left_Right\:_%1$=Links/Rechts\: %1$ -Up_Down\:_%1$=Boven/Onder\: %1$ +Left_Right\:_%s=Links/Rechts\: %s +Up_Down\:_%s=Boven/Onder\: %s Wind_area\:=Wind gebied\: # ./src/main/java/mods/eln/wiki/Data.java @@ -769,7 +769,7 @@ Previous=Vorige # ./src/main/java/mods/eln/wiki/ItemDefault.java Can_be_used_to_craft\:=Kan gebruikt worden om het volgende te maken\: Cannot_be_crafted!=Kan niet gemaakt worden\! -Cost_%1$J=Kosten\: %1$J +Cost_%sJ=Kosten\: %sJ Created_by\:=Gemaakt door\: Is_not_a_crafting_material!=Dit is geen werkmateriaal Recipe\:=Recept\: @@ -777,45 +777,45 @@ Recipe\:=Recept\: # Appearing in multiple source files (Increases_capacity)=(vergroot capaciteit) (Increases_inductance)=(Verhoogt geleiding) -Actual\:_%1$°C=Momenteel\: %1$°C +Actual\:_%s°C=Momenteel\: %s°C Biggest=Grootste Booster_slot=Booster Slot Can_create\:=Kan maken\: -Capacity\:_%1$F=Capaciteit\: %1$F -Charge_power\:_%1$W=Lading vermogen\: %1$W +Capacity\:_%sF=Capaciteit\: %sF +Charge_power\:_%sW=Lading vermogen\: %sW Connected=Verbonden -Cooling_power\:_%1$W=Koelvermogen\: %1$W +Cooling_power\:_%sW=Koelvermogen\: %sW Copper_cable_slot=Koperen Kabel Slot Dielectric_slot=Diëlektricum Slot -Discharge_power\:_%1$W=Ontladingsvermogen\: %1$W +Discharge_power\:_%sW=Ontladingsvermogen\: %sW Electrical_cable_slot=Elektrische Kabel Slot Entity_filter_slot=Entity Filter Slot Ferromagnetic_core_slot=Ferromagnetische Kern Slot Has_a_signal_output.=Heeft een signaal output. -Inductance\:_%1$H=Inductief Vermogen\: %1$H -Internal_resistance\:_%1$Ω=Interne weerstand\: %1$Ω +Inductance\:_%sH=Inductief Vermogen\: %sH +Internal_resistance\:_%sΩ=Interne weerstand\: %sΩ Is_off=Is uit Is_on=Is aan -Max._temperature\:_%1$°C=Max. temperatuur\: %1$°C +Max._temperature\:_%s°C=Max. temperatuur\: %s°C Measured_value\ncorresponding\nto_0%_output=Gemeten waarde\ncorrespondeert\nmet 0% output Measured_value\ncorresponding\nto_100%_output=Gemeten waarde\ncorrespondeert\nmet 100% output Nominal\:=Nominaal\: -Nominal_power\:_%1$W=Norminaal vermogen\: %1$W +Nominal_power\:_%sW=Norminaal vermogen\: %sW Nominal_usage\:=Nominaal gebruik\: -Nominal_voltage\:_%1$V=Nominale spanning\: %1$V +Nominal_voltage\:_%sV=Nominale spanning\: %sV Not_connected=Niet verbonden Not_enough_space_for_this_block=Niet genoeg ruimte voor dit blok Power=Energie -Power\:_%1$W=Vermogen\: %1$W -Range\:_%1$_blocks=Bereik\: %1$ blokken +Power\:_%sW=Vermogen\: %sW +Range\:_%s_blocks=Bereik\: %s blokken Redstone_slot=Redstone Slot Regulator_slot=Regelaar Slot Reset=Reset -Resistance\:_%1$Ω=Weerstand\: %1$Ω +Resistance\:_%sΩ=Weerstand\: %sΩ Smallest=Kleinste Specify_the_channel=Specificeer het kanaal -Stored_energy\:_%1$J_(%2$%)=Opgeslagen Energie\: %1$J (%2$%) -Temperature\:_%1$°C=Temperatuur\: %1$°C +Stored_energy\:_%sJ_(%s)=Opgeslagen Energie\: %sJ (%s) +Temperature\:_%s°C=Temperatuur\: %s°C Temperature_gauge=Temperatuurmeter Thermal_isolator_slot=Warmte-Isolatie Slot Toggle=Wissel @@ -825,5 +825,5 @@ Used_to_cool_down_turbines.=Wordt gebruikt om turbines af te koelen. Uses_the_biggest\nvalue_on_the_channel.=Gebruikt de grootste\nwaarde op het kanaal. Uses_the_smallest\nvalue_on_the_channel.=Gebruikt de kleinste\nwaarde op het kanaal. Validate=Valideer -Voltage\:_%1$V=Spanning\: %1$V +Voltage\:_%sV=Spanning\: %sV You_can't_place_this_block_at_this_side=Je kunt dit blok niet aan deze zijde plaatsen diff --git a/src/main/resources/assets/eln/lang/nl_BE.lang b/src/main/resources/assets/eln/lang/nl_BE.lang index 4cf8e23b1..8eb7c816e 100644 --- a/src/main/resources/assets/eln/lang/nl_BE.lang +++ b/src/main/resources/assets/eln/lang/nl_BE.lang @@ -287,21 +287,21 @@ tile.eln.EnergyConverterElnToOtherLVUBlock.name=50V Elektrische Eeuw naar andere tile.eln.EnergyConverterElnToOtherMVUBlock.name=200V Elektrische Eeuw naar andere energie exporteur # ./src/main/java/mods/eln/i18n/I18N.java -You_have_%1$_lives_left=Je hebt %1$ levens over +You_have_%s_lives_left=Je hebt %s levens over # ./src/main/java/mods/eln/item/BrushDescriptor.java Brush_is_dry=Kwast is Droog -Can_paint_%1$_blocks=Kan %1$ blokken verven +Can_paint_%s_blocks=Kan %s blokken verven # ./src/main/java/mods/eln/item/CombustionChamber.java Upgrade_for_the_Stone_Heat_Furnace.=Upgrade voor de Stenen Hitteoven # ./src/main/java/mods/eln/item/ElectricalDrillDescriptor.java -Energy_per_operation\:_%1$J=Energie per handeling\: %1$J -Time_per_operation\:_%1$s=Tijd per handeling\: %1$s +Energy_per_operation\:_%sJ=Energie per handeling\: %sJ +Time_per_operation\:_%ss=Tijd per handeling\: %ss # ./src/main/java/mods/eln/item/FerromagneticCoreDescriptor.java -Cable_loss_factor\:_%1$=Kabel verliesfactor\: %1$ +Cable_loss_factor\:_%s=Kabel verliesfactor\: %s # ./src/main/java/mods/eln/item/HeatingCorpElement.java @@ -311,8 +311,8 @@ Condition\:=Staat\: End_of_life=Bijna kapot Good=Goed New=Nieuw -Nominal_lifetime\:_%1$h=Nominale levensduur\: %1$h -Technology\:_%1$=Technologie\: %1$ +Nominal_lifetime\:_%sh=Nominale levensduur\: %sh +Technology\:_%s=Technologie\: %s Used=Gebruikt # ./src/main/java/mods/eln/item/LampSlot.java @@ -333,7 +333,7 @@ Solar_panel_upgrade=Zonnepaneel Upgrade Off=Uit On=Aan State\:=Status\: -Stored_Energy\:_%1$J_(%2$%)=Opgeslagen Energie\: %1$J (%2$%) +Stored_Energy\:_%sJ_(%s)=Opgeslagen Energie\: %sJ (%s) # ./src/main/java/mods/eln/item/regulator/RegulatorSlot.java @@ -346,7 +346,7 @@ mod.name=Elektrische Eeuw # ./src/main/java/mods/eln/node/six/SixNodeDescriptor.java # ./src/main/java/mods/eln/simplenode/energyconverter/EnergyConverterElnToOtherGui.java -Input_power_is_limited_to_%1$W=Inputvermogen is gelimiteerd tot %1$W +Input_power_is_limited_to_%sW=Inputvermogen is gelimiteerd tot %sW # ./src/main/java/mods/eln/sixnode/LogicGate.kt _O\:_= O\: @@ -386,12 +386,12 @@ Switch_is_off=Schakelaar staat uit Switch_is_on=Schakelaar staat aan # ./src/main/java/mods/eln/sixnode/electricalcable/ElectricalCableDescriptor.java -A_signal_is_electrical_information\nwhich_must_be_between_0V_and_%1$V=Een signaal is elektrische informatie\ndie tussen de 0V en %1$V moet zitten. +A_signal_is_electrical_information\nwhich_must_be_between_0V_and_%sV=Een signaal is elektrische informatie\ndie tussen de 0V en %sV moet zitten. Cable_is_adapted_to_conduct\nelectrical_signals.=Kabel is aangepast om elektrische\nsignalen te geleiden. -Current\:_%1$A=Stroom\: %1$A +Current\:_%sA=Stroom\: %sA Not_adapted_to_transport_power.=Niet aangepast om energie te transporteren. Save_usage\:=Sla gebruik op\: -Serial_resistance\:_%1$Ω=Seriële weerstand\: %1$Ω +Serial_resistance\:_%sΩ=Seriële weerstand\: %sΩ # ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerDescriptor.java It_can_store_up_to_256_points.=Het kan maximaal 256 punten opslaan. @@ -423,10 +423,10 @@ Output_voltage_increases\nif_a_fire_has_been_detected.=Output spanning verhoogt\ Provides_configurable_signal\nvoltage.=Geeft een aanpasbaar\nsignaalspanning. # ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceGui.java -Output_at_%1$%=Output\: %1$% +Output_at_%s=Output\: %s # ./src/main/java/mods/eln/sixnode/electricallightsensor/ElectricalLightSensorDescriptor.java -0V_at_night,_%1$V_at_noon.=0V 's nachts, %1$V 's middags. +0V_at_night,_%sV_at_noon.=0V 's nachts, %sV 's middags. Provides_an_electrical_voltage\nin_the_presence_of_light.=Geeft een elektrische spanning\nin de aanwezigheid van licht. Provides_an_electrical_voltage\nwhich_is_proportional_to\nthe_intensity_of_daylight.=Geeft een elektrische spanning\ndie proportioneel is aan de \nintensiteit van het daglicht. @@ -439,7 +439,7 @@ Applicable_mathematical_operators\:=Toepasbare wiskundige operators\: Calculates_an_output_signal_from\n3_inputs_(A,_B,_C)_using_an_equation.=Berekent een output signaal van\n3 inputs (A,B,C) door middel van een\nvergelijking. # ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathGui.java -%1$_Redstone(s)_required=%1$ Redstone(s) nodig +%s_Redstone(s)_required=%s Redstone(s) nodig Equation_required!=Vergelijking nodig\! Inputs_are=Inputs zijn Invalid_equation!=Ongeldige vergelijking @@ -483,13 +483,13 @@ Displays_the_value_of_a_signal.=Geeft de waarde van een signaal. Portable_battery_slot=Draagbare Accu Slot # ./src/main/java/mods/eln/sixnode/electricalweathersensor/ElectricalWeatherSensorDescriptor.java -Clear\:_%1$V=Onbewolkt\: %1$V +Clear\:_%sV=Onbewolkt\: %sV Provides_an_electrical_signal\ndepending_the_actual_weather.=Geeft een elektrisch signaal\nafhankelijk van het huidige weer. -Rain\:_%1$V=Regen\: %1$V -Storm\:_%1$V=Storm\: %1$V +Rain\:_%sV=Regen\: %sV +Storm\:_%sV=Storm\: %sV # ./src/main/java/mods/eln/sixnode/electricalwindsensor/ElectricalWindSensorDescriptor.java -Maximum_wind_speed_is_%1$m_s=Maximale windsnelheid is %1$m/s +Maximum_wind_speed_is_%sm_s=Maximale windsnelheid is %sm/s Provides_an_electrical_signal\ndependant_on_wind_speed.=Geeft een elektrisch signaal\nafhankelijk van de windsnelheid. You_can't_place_this_block_on_the_floor_or_the_ceiling=Je kunt dit blok niet op de vloer of het plafond plaatsen @@ -508,7 +508,7 @@ Voltage=Spanning Change_password=Verander wachtwoord Counter_Mode=Teller Mode Counts_the_energy_conducted_from\n\u00a74red\u00a7f_to_\u00a71blue\u00a7f.=Telt de energie geleid van \n\\u00a74red\\u00a7f tot \\u00a71blue\\u00a7f. -Energy_counter\:_%1$J=Energie teller\: %1$J +Energy_counter\:_%sJ=Energie teller\: %sJ Enter_new_energy=Stel nieuwe energie in Enter_password=Vul wachtwoord in Prepay_Mode=Prepay Mode @@ -529,13 +529,13 @@ Provides_a_zero_volt_reference.=Geeft een 0-volt referentie. Allows_crossing_cables\non_one_single_block.=Staat kabels toe te \nkruisen op 1 blok. # ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketDescriptor.java -Angle\:_%1$°_to_%2$°=Hoek\: %1$° tot %2$° -Spot_range\:_%1$_blocks=Zichtbereik\: %1$ blokken +Angle\:_%s°_to_%s°=Hoek\: %s° tot %s° +Spot_range\:_%s_blocks=Zichtbereik\: %s blokken # ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketGuiDraw.java -%1$_is_not_in_range!=%1$ is niet binnen bereik\! +%s_is_not_in_range!=%s is niet binnen bereik\! Cable_slot_empty=Leeg Kabel Slot -Orientation\:_%1$°=Orientatie\: %1$° +Orientation\:_%s°=Orientatie\: %s° Parallel=Parallel Powered_by_Lamp_Supply=Aangedreven door Lamp Voeding Powered_by_cable=Aangedreven door kabel @@ -584,8 +584,8 @@ Coal_dust_slot=Kolenstof Slot # ./src/main/java/mods/eln/sixnode/thermalcable/ThermalCableDescriptor.java High_parallel_resistance\n_\=>_Low_power_dissipation.=Hoge parallelle weerstand\n\=> Laag vermogensverdrijving. Low_serial_resistance\n_\=>_High_conductivity.=Lage seriële weerstand\n\=> Hoge geleiding. -Parallel_resistance\:_%1$K_W=Parallelle weerstand\: %1$K/W -Serial_resistance\:_%1$K_W=Seriële weerstand\: %1$K/W +Parallel_resistance\:_%sK_W=Parallelle weerstand\: %sK/W +Serial_resistance\:_%sK_W=Seriële weerstand\: %sK/W # ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorContainer.java Cable_slot=Kabel Slot @@ -610,12 +610,12 @@ Set_beacon_name=Stel baken naam in # ./src/main/java/mods/eln/sixnode/wirelesssignal/rx/WirelessSignalRxGui.java # ./src/main/java/mods/eln/transparentnode/FuelGenerator.kt -Nominal_power\:_%1$_W=Norminaal vermogen\: %1$ W -Nominal_voltage\:_%1$_V=Nominale spanning\: %1$ V +Nominal_power\:_%s_W=Norminaal vermogen\: %s W +Nominal_voltage\:_%s_V=Nominale spanning\: %s V Produces_electricity_using_fuel.=Genereert elektriciteit met brandstof. # ./src/main/java/mods/eln/transparentnode/LargeRheostat.kt -Nom._Resistance\:_%1$=Nom. weerstand\: %1$ +Nom._Resistance\:_%s=Nom. weerstand\: %s # ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerContainer.java Drill_slot=Boor Slot @@ -637,16 +637,16 @@ Overheating_protection=Bescherming Tegen Oververhitting Overvoltage_protection=Bescherming Tegen Overspanning # ./src/main/java/mods/eln/transparentnode/battery/BatteryDescriptor.java -Actual_charge\:_%1$%=Huidige lading\: %1$% -Energy_capacity\:_%1$J=Energie capaciteit %1$J -_charged_at_%1$%=%1$% opgeladen +Actual_charge\:_%s=Huidige lading\: %s +Energy_capacity\:_%sJ=Energie capaciteit %sJ +_charged_at_%s=%s opgeladen # ./src/main/java/mods/eln/transparentnode/battery/BatteryGuiDraw.java Charge=Lading Charged=Opgeladen Discharge=Ontlading Energy\:=Energie\: -Energy\:_%1$=Energie\: %1$ +Energy\:_%s=Energie\: %s Life\:=Leven\: No_charge=Geen lading\: Power_in\:=Energie in\: @@ -659,7 +659,7 @@ Egg_slot=Ei Slot Wireless_energy_receiver.=Draadloze energie ontvanger. # ./src/main/java/mods/eln/transparentnode/electricalantennatx/ElectricalAntennaTxDescriptor.java -Efficiency\:_%1$%_up_to_%2$%=Efficiëntie\: %1$% tot %2$% +Efficiency\:_%s_up_to_%s=Efficiëntie\: %s tot %s Wireless_energy_transmitter.=Draadloze Energiezender # ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceContainer.java @@ -671,7 +671,7 @@ Similar_to_a_vanilla_furnace,\nbut_heats_with_electricity.=Vergelijkbaar met sta # ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceGuiDraw.java Auto_shutdown=Automatische afsluiting Manual_shutdown=Handmatig afsluiting -Set_point\:_%1$°C=Ingesteld punt\: %1$°C +Set_point\:_%s°C=Ingesteld punt\: %s°C # ./src/main/java/mods/eln/transparentnode/electricalmachine/ElectricalMachineDescriptor.java Cost=Kosten @@ -684,7 +684,7 @@ Fuel_slot=Brandstof Slot Generates_heat_when_supplied_with_fuel.=Genereert hitte wanneer van brandstof voorzien wordt. # ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceGuiDraw.java -Control_gauge_at_%1$%=Meter op %1$% +Control_gauge_at_%s=Meter op %s Decline_fuel=Weiger brandstof External_control=Externe bediening Internal_control=Interne bediening @@ -698,27 +698,27 @@ Solar_tracker_slot=Zon Tracker Slot # ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelDescriptor.java Can_be_geared_towards_the_sun.=Kan naar de zon gekeerd worden. -Max._power\:_%1$W=Max. vermogen\: %1$W -Max._voltage\:_%1$V=Max. spanning\: %1$V +Max._power\:_%sW=Max. vermogen\: %sW +Max._voltage\:_%sV=Max. spanning\: %sV Produces_power_from_solar_radiation.=Produceert energie van zonneradiatie # ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPannelGuiDraw.java It_is_night=Het is nacht -Solar_panel_angle\:_%1$°=Zonnepaneel hoek\: %1$° -Sun_angle\:_%1$°=Hoek zon\: %1$° +Solar_panel_angle\:_%s°=Zonnepaneel hoek\: %s° +Sun_angle\:_%s°=Hoek zon\: %s° # ./src/main/java/mods/eln/transparentnode/teleporter/TeleporterGui.java Destination_transporter=Bestemmingstransporteur Power_consumption\:=Energieverbruik\: -Power_consumption\:_%1$W=Energieverbruik\: %1$W -Required_energy\:_%1$J=Benodigde Energie\: %1$J +Power_consumption\:_%sW=Energieverbruik\: %sW +Required_energy\:_%sJ=Benodigde Energie\: %sJ Start=Start Transporter_name=Transporteur naam # ./src/main/java/mods/eln/transparentnode/thermaldissipatoractive/ThermalDissipatorActiveDescriptor.java -Fan_cooling_power\:_%1$W=Ventilator koelvermogen\: %1$W -Fan_power_consumption\:_%1$W=Ventilator energieverbruik\: %1$W -Fan_voltage\:_%1$V=Ventilator spanning\: %1$V +Fan_cooling_power\:_%sW=Ventilator koelvermogen\: %sW +Fan_power_consumption\:_%sW=Ventilator energieverbruik\: %sW +Fan_voltage\:_%sV=Ventilator spanning\: %sV # ./src/main/java/mods/eln/transparentnode/transformer/TransformerDescriptor.java The_voltage_ratio_is_proportional\nto_the_cable_stacks_count_ratio.=De spanningsverhouding is\nproportioneel aan de kabelstapel\nteller verhouding. @@ -726,13 +726,13 @@ Transforms_an_input_voltage_to\nan_output_voltage.=Zet een input spanning om \ni # ./src/main/java/mods/eln/transparentnode/turbine/TurbineDescriptor.java Generates_electricity_using_heat.=Genereert energie met hitte. -Temperature_difference\:_%1$°C=Temperatuurverschil\: %1$°C +Temperature_difference\:_%s°C=Temperatuurverschil\: %s°C # ./src/main/java/mods/eln/transparentnode/turret/TurretDescriptor.java CAUTION\:_Cables_can_get_quite_hot!=OPGEPAST\: Kabels kunnen behoorlijk heet worden\! -Laser_charge_power\:_%1$W...%2$kW=Laser lading vermogen\: %1$W...%2$kW +Laser_charge_power\:_%sW...%skW=Laser lading vermogen\: %sW...%skW Scans_for_entities_and_shoots_if_the\nentity_matches_the_configurable_filter_criteria.=Zoekt naar entities en schiet als de entity\ngelijk staat aan de aanpasbare filter criteria. -Standby_power\:_%1$W=Standby vermogen\: %1$W +Standby_power\:_%sW=Standby vermogen\: %sW # ./src/main/java/mods/eln/transparentnode/turret/TurretGui.java Attack\:=Aanvallen\: @@ -744,10 +744,10 @@ Generates_energy_using_water_stream.=Genereert energie door middel van stromend No_place_for_water_turbine!=Geen plaats voor waterturbine\! # ./src/main/java/mods/eln/transparentnode/windturbine/WindTurbineDescriptor.java -Front\:_%1$=Voorkant\: %1$ +Front\:_%s=Voorkant\: %s Generates_energy_from_wind.=Genereert energie door middel van de wind. -Left_Right\:_%1$=Links/Rechts\: %1$ -Up_Down\:_%1$=Boven/Onder\: %1$ +Left_Right\:_%s=Links/Rechts\: %s +Up_Down\:_%s=Boven/Onder\: %s Wind_area\:=Wind gebied\: # ./src/main/java/mods/eln/wiki/Data.java @@ -769,7 +769,7 @@ Previous=Vorige # ./src/main/java/mods/eln/wiki/ItemDefault.java Can_be_used_to_craft\:=Kan gebruikt worden om het volgende te maken\: Cannot_be_crafted!=Kan niet gemaakt worden\! -Cost_%1$J=Kosten\: %1$J +Cost_%sJ=Kosten\: %sJ Created_by\:=Gemaakt door\: Is_not_a_crafting_material!=Dit is geen werkmateriaal Recipe\:=Recept\: @@ -777,45 +777,45 @@ Recipe\:=Recept\: # Appearing in multiple source files (Increases_capacity)=(vergroot capaciteit) (Increases_inductance)=(Verhoogt geleiding) -Actual\:_%1$°C=Momenteel\: %1$°C +Actual\:_%s°C=Momenteel\: %s°C Biggest=Grootste Booster_slot=Booster Slot Can_create\:=Kan maken\: -Capacity\:_%1$F=Capaciteit\: %1$F -Charge_power\:_%1$W=Lading vermogen\: %1$W +Capacity\:_%sF=Capaciteit\: %sF +Charge_power\:_%sW=Lading vermogen\: %sW Connected=Verbonden -Cooling_power\:_%1$W=Koelvermogen\: %1$W +Cooling_power\:_%sW=Koelvermogen\: %sW Copper_cable_slot=Koperen Kabel Slot Dielectric_slot=Diëlektricum Slot -Discharge_power\:_%1$W=Ontladingsvermogen\: %1$W +Discharge_power\:_%sW=Ontladingsvermogen\: %sW Electrical_cable_slot=Elektrische Kabel Slot Entity_filter_slot=Entity Filter Slot Ferromagnetic_core_slot=Ferromagnetische Kern Slot Has_a_signal_output.=Heeft een signaal output. -Inductance\:_%1$H=Inductief Vermogen\: %1$H -Internal_resistance\:_%1$Ω=Interne weerstand\: %1$Ω +Inductance\:_%sH=Inductief Vermogen\: %sH +Internal_resistance\:_%sΩ=Interne weerstand\: %sΩ Is_off=Is uit Is_on=Is aan -Max._temperature\:_%1$°C=Max. temperatuur\: %1$°C +Max._temperature\:_%s°C=Max. temperatuur\: %s°C Measured_value\ncorresponding\nto_0%_output=Gemeten waarde\ncorrespondeert\nmet 0% output Measured_value\ncorresponding\nto_100%_output=Gemeten waarde\ncorrespondeert\nmet 100% output Nominal\:=Nominaal\: -Nominal_power\:_%1$W=Norminaal vermogen\: %1$W +Nominal_power\:_%sW=Norminaal vermogen\: %sW Nominal_usage\:=Nominaal gebruik\: -Nominal_voltage\:_%1$V=Nominale spanning\: %1$V +Nominal_voltage\:_%sV=Nominale spanning\: %sV Not_connected=Niet verbonden Not_enough_space_for_this_block=Niet genoeg ruimte voor dit blok Power=Energie -Power\:_%1$W=Vermogen\: %1$W -Range\:_%1$_blocks=Bereik\: %1$ blokken +Power\:_%sW=Vermogen\: %sW +Range\:_%s_blocks=Bereik\: %s blokken Redstone_slot=Redstone Slot Regulator_slot=Regelaar Slot Reset=Reset -Resistance\:_%1$Ω=Weerstand\: %1$Ω +Resistance\:_%sΩ=Weerstand\: %sΩ Smallest=Kleinste Specify_the_channel=Specificeer het kanaal -Stored_energy\:_%1$J_(%2$%)=Opgeslagen Energie\: %1$J (%2$%) -Temperature\:_%1$°C=Temperatuur\: %1$°C +Stored_energy\:_%sJ_(%s)=Opgeslagen Energie\: %sJ (%s) +Temperature\:_%s°C=Temperatuur\: %s°C Temperature_gauge=Temperatuurmeter Thermal_isolator_slot=Warmte-Isolatie Slot Toggle=Wissel @@ -825,5 +825,5 @@ Used_to_cool_down_turbines.=Wordt gebruikt om turbines af te koelen. Uses_the_biggest\nvalue_on_the_channel.=Gebruikt de grootste\nwaarde op het kanaal. Uses_the_smallest\nvalue_on_the_channel.=Gebruikt de kleinste\nwaarde op het kanaal. Validate=Valideer -Voltage\:_%1$V=Spanning\: %1$V +Voltage\:_%sV=Spanning\: %sV You_can't_place_this_block_at_this_side=Je kunt dit blok niet aan deze zijde plaatsen diff --git a/src/main/resources/assets/eln/lang/nl_NL.lang b/src/main/resources/assets/eln/lang/nl_NL.lang index 4cf8e23b1..8eb7c816e 100644 --- a/src/main/resources/assets/eln/lang/nl_NL.lang +++ b/src/main/resources/assets/eln/lang/nl_NL.lang @@ -287,21 +287,21 @@ tile.eln.EnergyConverterElnToOtherLVUBlock.name=50V Elektrische Eeuw naar andere tile.eln.EnergyConverterElnToOtherMVUBlock.name=200V Elektrische Eeuw naar andere energie exporteur # ./src/main/java/mods/eln/i18n/I18N.java -You_have_%1$_lives_left=Je hebt %1$ levens over +You_have_%s_lives_left=Je hebt %s levens over # ./src/main/java/mods/eln/item/BrushDescriptor.java Brush_is_dry=Kwast is Droog -Can_paint_%1$_blocks=Kan %1$ blokken verven +Can_paint_%s_blocks=Kan %s blokken verven # ./src/main/java/mods/eln/item/CombustionChamber.java Upgrade_for_the_Stone_Heat_Furnace.=Upgrade voor de Stenen Hitteoven # ./src/main/java/mods/eln/item/ElectricalDrillDescriptor.java -Energy_per_operation\:_%1$J=Energie per handeling\: %1$J -Time_per_operation\:_%1$s=Tijd per handeling\: %1$s +Energy_per_operation\:_%sJ=Energie per handeling\: %sJ +Time_per_operation\:_%ss=Tijd per handeling\: %ss # ./src/main/java/mods/eln/item/FerromagneticCoreDescriptor.java -Cable_loss_factor\:_%1$=Kabel verliesfactor\: %1$ +Cable_loss_factor\:_%s=Kabel verliesfactor\: %s # ./src/main/java/mods/eln/item/HeatingCorpElement.java @@ -311,8 +311,8 @@ Condition\:=Staat\: End_of_life=Bijna kapot Good=Goed New=Nieuw -Nominal_lifetime\:_%1$h=Nominale levensduur\: %1$h -Technology\:_%1$=Technologie\: %1$ +Nominal_lifetime\:_%sh=Nominale levensduur\: %sh +Technology\:_%s=Technologie\: %s Used=Gebruikt # ./src/main/java/mods/eln/item/LampSlot.java @@ -333,7 +333,7 @@ Solar_panel_upgrade=Zonnepaneel Upgrade Off=Uit On=Aan State\:=Status\: -Stored_Energy\:_%1$J_(%2$%)=Opgeslagen Energie\: %1$J (%2$%) +Stored_Energy\:_%sJ_(%s)=Opgeslagen Energie\: %sJ (%s) # ./src/main/java/mods/eln/item/regulator/RegulatorSlot.java @@ -346,7 +346,7 @@ mod.name=Elektrische Eeuw # ./src/main/java/mods/eln/node/six/SixNodeDescriptor.java # ./src/main/java/mods/eln/simplenode/energyconverter/EnergyConverterElnToOtherGui.java -Input_power_is_limited_to_%1$W=Inputvermogen is gelimiteerd tot %1$W +Input_power_is_limited_to_%sW=Inputvermogen is gelimiteerd tot %sW # ./src/main/java/mods/eln/sixnode/LogicGate.kt _O\:_= O\: @@ -386,12 +386,12 @@ Switch_is_off=Schakelaar staat uit Switch_is_on=Schakelaar staat aan # ./src/main/java/mods/eln/sixnode/electricalcable/ElectricalCableDescriptor.java -A_signal_is_electrical_information\nwhich_must_be_between_0V_and_%1$V=Een signaal is elektrische informatie\ndie tussen de 0V en %1$V moet zitten. +A_signal_is_electrical_information\nwhich_must_be_between_0V_and_%sV=Een signaal is elektrische informatie\ndie tussen de 0V en %sV moet zitten. Cable_is_adapted_to_conduct\nelectrical_signals.=Kabel is aangepast om elektrische\nsignalen te geleiden. -Current\:_%1$A=Stroom\: %1$A +Current\:_%sA=Stroom\: %sA Not_adapted_to_transport_power.=Niet aangepast om energie te transporteren. Save_usage\:=Sla gebruik op\: -Serial_resistance\:_%1$Ω=Seriële weerstand\: %1$Ω +Serial_resistance\:_%sΩ=Seriële weerstand\: %sΩ # ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerDescriptor.java It_can_store_up_to_256_points.=Het kan maximaal 256 punten opslaan. @@ -423,10 +423,10 @@ Output_voltage_increases\nif_a_fire_has_been_detected.=Output spanning verhoogt\ Provides_configurable_signal\nvoltage.=Geeft een aanpasbaar\nsignaalspanning. # ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceGui.java -Output_at_%1$%=Output\: %1$% +Output_at_%s=Output\: %s # ./src/main/java/mods/eln/sixnode/electricallightsensor/ElectricalLightSensorDescriptor.java -0V_at_night,_%1$V_at_noon.=0V 's nachts, %1$V 's middags. +0V_at_night,_%sV_at_noon.=0V 's nachts, %sV 's middags. Provides_an_electrical_voltage\nin_the_presence_of_light.=Geeft een elektrische spanning\nin de aanwezigheid van licht. Provides_an_electrical_voltage\nwhich_is_proportional_to\nthe_intensity_of_daylight.=Geeft een elektrische spanning\ndie proportioneel is aan de \nintensiteit van het daglicht. @@ -439,7 +439,7 @@ Applicable_mathematical_operators\:=Toepasbare wiskundige operators\: Calculates_an_output_signal_from\n3_inputs_(A,_B,_C)_using_an_equation.=Berekent een output signaal van\n3 inputs (A,B,C) door middel van een\nvergelijking. # ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathGui.java -%1$_Redstone(s)_required=%1$ Redstone(s) nodig +%s_Redstone(s)_required=%s Redstone(s) nodig Equation_required!=Vergelijking nodig\! Inputs_are=Inputs zijn Invalid_equation!=Ongeldige vergelijking @@ -483,13 +483,13 @@ Displays_the_value_of_a_signal.=Geeft de waarde van een signaal. Portable_battery_slot=Draagbare Accu Slot # ./src/main/java/mods/eln/sixnode/electricalweathersensor/ElectricalWeatherSensorDescriptor.java -Clear\:_%1$V=Onbewolkt\: %1$V +Clear\:_%sV=Onbewolkt\: %sV Provides_an_electrical_signal\ndepending_the_actual_weather.=Geeft een elektrisch signaal\nafhankelijk van het huidige weer. -Rain\:_%1$V=Regen\: %1$V -Storm\:_%1$V=Storm\: %1$V +Rain\:_%sV=Regen\: %sV +Storm\:_%sV=Storm\: %sV # ./src/main/java/mods/eln/sixnode/electricalwindsensor/ElectricalWindSensorDescriptor.java -Maximum_wind_speed_is_%1$m_s=Maximale windsnelheid is %1$m/s +Maximum_wind_speed_is_%sm_s=Maximale windsnelheid is %sm/s Provides_an_electrical_signal\ndependant_on_wind_speed.=Geeft een elektrisch signaal\nafhankelijk van de windsnelheid. You_can't_place_this_block_on_the_floor_or_the_ceiling=Je kunt dit blok niet op de vloer of het plafond plaatsen @@ -508,7 +508,7 @@ Voltage=Spanning Change_password=Verander wachtwoord Counter_Mode=Teller Mode Counts_the_energy_conducted_from\n\u00a74red\u00a7f_to_\u00a71blue\u00a7f.=Telt de energie geleid van \n\\u00a74red\\u00a7f tot \\u00a71blue\\u00a7f. -Energy_counter\:_%1$J=Energie teller\: %1$J +Energy_counter\:_%sJ=Energie teller\: %sJ Enter_new_energy=Stel nieuwe energie in Enter_password=Vul wachtwoord in Prepay_Mode=Prepay Mode @@ -529,13 +529,13 @@ Provides_a_zero_volt_reference.=Geeft een 0-volt referentie. Allows_crossing_cables\non_one_single_block.=Staat kabels toe te \nkruisen op 1 blok. # ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketDescriptor.java -Angle\:_%1$°_to_%2$°=Hoek\: %1$° tot %2$° -Spot_range\:_%1$_blocks=Zichtbereik\: %1$ blokken +Angle\:_%s°_to_%s°=Hoek\: %s° tot %s° +Spot_range\:_%s_blocks=Zichtbereik\: %s blokken # ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketGuiDraw.java -%1$_is_not_in_range!=%1$ is niet binnen bereik\! +%s_is_not_in_range!=%s is niet binnen bereik\! Cable_slot_empty=Leeg Kabel Slot -Orientation\:_%1$°=Orientatie\: %1$° +Orientation\:_%s°=Orientatie\: %s° Parallel=Parallel Powered_by_Lamp_Supply=Aangedreven door Lamp Voeding Powered_by_cable=Aangedreven door kabel @@ -584,8 +584,8 @@ Coal_dust_slot=Kolenstof Slot # ./src/main/java/mods/eln/sixnode/thermalcable/ThermalCableDescriptor.java High_parallel_resistance\n_\=>_Low_power_dissipation.=Hoge parallelle weerstand\n\=> Laag vermogensverdrijving. Low_serial_resistance\n_\=>_High_conductivity.=Lage seriële weerstand\n\=> Hoge geleiding. -Parallel_resistance\:_%1$K_W=Parallelle weerstand\: %1$K/W -Serial_resistance\:_%1$K_W=Seriële weerstand\: %1$K/W +Parallel_resistance\:_%sK_W=Parallelle weerstand\: %sK/W +Serial_resistance\:_%sK_W=Seriële weerstand\: %sK/W # ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorContainer.java Cable_slot=Kabel Slot @@ -610,12 +610,12 @@ Set_beacon_name=Stel baken naam in # ./src/main/java/mods/eln/sixnode/wirelesssignal/rx/WirelessSignalRxGui.java # ./src/main/java/mods/eln/transparentnode/FuelGenerator.kt -Nominal_power\:_%1$_W=Norminaal vermogen\: %1$ W -Nominal_voltage\:_%1$_V=Nominale spanning\: %1$ V +Nominal_power\:_%s_W=Norminaal vermogen\: %s W +Nominal_voltage\:_%s_V=Nominale spanning\: %s V Produces_electricity_using_fuel.=Genereert elektriciteit met brandstof. # ./src/main/java/mods/eln/transparentnode/LargeRheostat.kt -Nom._Resistance\:_%1$=Nom. weerstand\: %1$ +Nom._Resistance\:_%s=Nom. weerstand\: %s # ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerContainer.java Drill_slot=Boor Slot @@ -637,16 +637,16 @@ Overheating_protection=Bescherming Tegen Oververhitting Overvoltage_protection=Bescherming Tegen Overspanning # ./src/main/java/mods/eln/transparentnode/battery/BatteryDescriptor.java -Actual_charge\:_%1$%=Huidige lading\: %1$% -Energy_capacity\:_%1$J=Energie capaciteit %1$J -_charged_at_%1$%=%1$% opgeladen +Actual_charge\:_%s=Huidige lading\: %s +Energy_capacity\:_%sJ=Energie capaciteit %sJ +_charged_at_%s=%s opgeladen # ./src/main/java/mods/eln/transparentnode/battery/BatteryGuiDraw.java Charge=Lading Charged=Opgeladen Discharge=Ontlading Energy\:=Energie\: -Energy\:_%1$=Energie\: %1$ +Energy\:_%s=Energie\: %s Life\:=Leven\: No_charge=Geen lading\: Power_in\:=Energie in\: @@ -659,7 +659,7 @@ Egg_slot=Ei Slot Wireless_energy_receiver.=Draadloze energie ontvanger. # ./src/main/java/mods/eln/transparentnode/electricalantennatx/ElectricalAntennaTxDescriptor.java -Efficiency\:_%1$%_up_to_%2$%=Efficiëntie\: %1$% tot %2$% +Efficiency\:_%s_up_to_%s=Efficiëntie\: %s tot %s Wireless_energy_transmitter.=Draadloze Energiezender # ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceContainer.java @@ -671,7 +671,7 @@ Similar_to_a_vanilla_furnace,\nbut_heats_with_electricity.=Vergelijkbaar met sta # ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceGuiDraw.java Auto_shutdown=Automatische afsluiting Manual_shutdown=Handmatig afsluiting -Set_point\:_%1$°C=Ingesteld punt\: %1$°C +Set_point\:_%s°C=Ingesteld punt\: %s°C # ./src/main/java/mods/eln/transparentnode/electricalmachine/ElectricalMachineDescriptor.java Cost=Kosten @@ -684,7 +684,7 @@ Fuel_slot=Brandstof Slot Generates_heat_when_supplied_with_fuel.=Genereert hitte wanneer van brandstof voorzien wordt. # ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceGuiDraw.java -Control_gauge_at_%1$%=Meter op %1$% +Control_gauge_at_%s=Meter op %s Decline_fuel=Weiger brandstof External_control=Externe bediening Internal_control=Interne bediening @@ -698,27 +698,27 @@ Solar_tracker_slot=Zon Tracker Slot # ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelDescriptor.java Can_be_geared_towards_the_sun.=Kan naar de zon gekeerd worden. -Max._power\:_%1$W=Max. vermogen\: %1$W -Max._voltage\:_%1$V=Max. spanning\: %1$V +Max._power\:_%sW=Max. vermogen\: %sW +Max._voltage\:_%sV=Max. spanning\: %sV Produces_power_from_solar_radiation.=Produceert energie van zonneradiatie # ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPannelGuiDraw.java It_is_night=Het is nacht -Solar_panel_angle\:_%1$°=Zonnepaneel hoek\: %1$° -Sun_angle\:_%1$°=Hoek zon\: %1$° +Solar_panel_angle\:_%s°=Zonnepaneel hoek\: %s° +Sun_angle\:_%s°=Hoek zon\: %s° # ./src/main/java/mods/eln/transparentnode/teleporter/TeleporterGui.java Destination_transporter=Bestemmingstransporteur Power_consumption\:=Energieverbruik\: -Power_consumption\:_%1$W=Energieverbruik\: %1$W -Required_energy\:_%1$J=Benodigde Energie\: %1$J +Power_consumption\:_%sW=Energieverbruik\: %sW +Required_energy\:_%sJ=Benodigde Energie\: %sJ Start=Start Transporter_name=Transporteur naam # ./src/main/java/mods/eln/transparentnode/thermaldissipatoractive/ThermalDissipatorActiveDescriptor.java -Fan_cooling_power\:_%1$W=Ventilator koelvermogen\: %1$W -Fan_power_consumption\:_%1$W=Ventilator energieverbruik\: %1$W -Fan_voltage\:_%1$V=Ventilator spanning\: %1$V +Fan_cooling_power\:_%sW=Ventilator koelvermogen\: %sW +Fan_power_consumption\:_%sW=Ventilator energieverbruik\: %sW +Fan_voltage\:_%sV=Ventilator spanning\: %sV # ./src/main/java/mods/eln/transparentnode/transformer/TransformerDescriptor.java The_voltage_ratio_is_proportional\nto_the_cable_stacks_count_ratio.=De spanningsverhouding is\nproportioneel aan de kabelstapel\nteller verhouding. @@ -726,13 +726,13 @@ Transforms_an_input_voltage_to\nan_output_voltage.=Zet een input spanning om \ni # ./src/main/java/mods/eln/transparentnode/turbine/TurbineDescriptor.java Generates_electricity_using_heat.=Genereert energie met hitte. -Temperature_difference\:_%1$°C=Temperatuurverschil\: %1$°C +Temperature_difference\:_%s°C=Temperatuurverschil\: %s°C # ./src/main/java/mods/eln/transparentnode/turret/TurretDescriptor.java CAUTION\:_Cables_can_get_quite_hot!=OPGEPAST\: Kabels kunnen behoorlijk heet worden\! -Laser_charge_power\:_%1$W...%2$kW=Laser lading vermogen\: %1$W...%2$kW +Laser_charge_power\:_%sW...%skW=Laser lading vermogen\: %sW...%skW Scans_for_entities_and_shoots_if_the\nentity_matches_the_configurable_filter_criteria.=Zoekt naar entities en schiet als de entity\ngelijk staat aan de aanpasbare filter criteria. -Standby_power\:_%1$W=Standby vermogen\: %1$W +Standby_power\:_%sW=Standby vermogen\: %sW # ./src/main/java/mods/eln/transparentnode/turret/TurretGui.java Attack\:=Aanvallen\: @@ -744,10 +744,10 @@ Generates_energy_using_water_stream.=Genereert energie door middel van stromend No_place_for_water_turbine!=Geen plaats voor waterturbine\! # ./src/main/java/mods/eln/transparentnode/windturbine/WindTurbineDescriptor.java -Front\:_%1$=Voorkant\: %1$ +Front\:_%s=Voorkant\: %s Generates_energy_from_wind.=Genereert energie door middel van de wind. -Left_Right\:_%1$=Links/Rechts\: %1$ -Up_Down\:_%1$=Boven/Onder\: %1$ +Left_Right\:_%s=Links/Rechts\: %s +Up_Down\:_%s=Boven/Onder\: %s Wind_area\:=Wind gebied\: # ./src/main/java/mods/eln/wiki/Data.java @@ -769,7 +769,7 @@ Previous=Vorige # ./src/main/java/mods/eln/wiki/ItemDefault.java Can_be_used_to_craft\:=Kan gebruikt worden om het volgende te maken\: Cannot_be_crafted!=Kan niet gemaakt worden\! -Cost_%1$J=Kosten\: %1$J +Cost_%sJ=Kosten\: %sJ Created_by\:=Gemaakt door\: Is_not_a_crafting_material!=Dit is geen werkmateriaal Recipe\:=Recept\: @@ -777,45 +777,45 @@ Recipe\:=Recept\: # Appearing in multiple source files (Increases_capacity)=(vergroot capaciteit) (Increases_inductance)=(Verhoogt geleiding) -Actual\:_%1$°C=Momenteel\: %1$°C +Actual\:_%s°C=Momenteel\: %s°C Biggest=Grootste Booster_slot=Booster Slot Can_create\:=Kan maken\: -Capacity\:_%1$F=Capaciteit\: %1$F -Charge_power\:_%1$W=Lading vermogen\: %1$W +Capacity\:_%sF=Capaciteit\: %sF +Charge_power\:_%sW=Lading vermogen\: %sW Connected=Verbonden -Cooling_power\:_%1$W=Koelvermogen\: %1$W +Cooling_power\:_%sW=Koelvermogen\: %sW Copper_cable_slot=Koperen Kabel Slot Dielectric_slot=Diëlektricum Slot -Discharge_power\:_%1$W=Ontladingsvermogen\: %1$W +Discharge_power\:_%sW=Ontladingsvermogen\: %sW Electrical_cable_slot=Elektrische Kabel Slot Entity_filter_slot=Entity Filter Slot Ferromagnetic_core_slot=Ferromagnetische Kern Slot Has_a_signal_output.=Heeft een signaal output. -Inductance\:_%1$H=Inductief Vermogen\: %1$H -Internal_resistance\:_%1$Ω=Interne weerstand\: %1$Ω +Inductance\:_%sH=Inductief Vermogen\: %sH +Internal_resistance\:_%sΩ=Interne weerstand\: %sΩ Is_off=Is uit Is_on=Is aan -Max._temperature\:_%1$°C=Max. temperatuur\: %1$°C +Max._temperature\:_%s°C=Max. temperatuur\: %s°C Measured_value\ncorresponding\nto_0%_output=Gemeten waarde\ncorrespondeert\nmet 0% output Measured_value\ncorresponding\nto_100%_output=Gemeten waarde\ncorrespondeert\nmet 100% output Nominal\:=Nominaal\: -Nominal_power\:_%1$W=Norminaal vermogen\: %1$W +Nominal_power\:_%sW=Norminaal vermogen\: %sW Nominal_usage\:=Nominaal gebruik\: -Nominal_voltage\:_%1$V=Nominale spanning\: %1$V +Nominal_voltage\:_%sV=Nominale spanning\: %sV Not_connected=Niet verbonden Not_enough_space_for_this_block=Niet genoeg ruimte voor dit blok Power=Energie -Power\:_%1$W=Vermogen\: %1$W -Range\:_%1$_blocks=Bereik\: %1$ blokken +Power\:_%sW=Vermogen\: %sW +Range\:_%s_blocks=Bereik\: %s blokken Redstone_slot=Redstone Slot Regulator_slot=Regelaar Slot Reset=Reset -Resistance\:_%1$Ω=Weerstand\: %1$Ω +Resistance\:_%sΩ=Weerstand\: %sΩ Smallest=Kleinste Specify_the_channel=Specificeer het kanaal -Stored_energy\:_%1$J_(%2$%)=Opgeslagen Energie\: %1$J (%2$%) -Temperature\:_%1$°C=Temperatuur\: %1$°C +Stored_energy\:_%sJ_(%s)=Opgeslagen Energie\: %sJ (%s) +Temperature\:_%s°C=Temperatuur\: %s°C Temperature_gauge=Temperatuurmeter Thermal_isolator_slot=Warmte-Isolatie Slot Toggle=Wissel @@ -825,5 +825,5 @@ Used_to_cool_down_turbines.=Wordt gebruikt om turbines af te koelen. Uses_the_biggest\nvalue_on_the_channel.=Gebruikt de grootste\nwaarde op het kanaal. Uses_the_smallest\nvalue_on_the_channel.=Gebruikt de kleinste\nwaarde op het kanaal. Validate=Valideer -Voltage\:_%1$V=Spanning\: %1$V +Voltage\:_%sV=Spanning\: %sV You_can't_place_this_block_at_this_side=Je kunt dit blok niet aan deze zijde plaatsen diff --git a/src/main/resources/assets/eln/lang/no.lang b/src/main/resources/assets/eln/lang/no.lang index d39fe827a..1b2a52741 100644 --- a/src/main/resources/assets/eln/lang/no.lang +++ b/src/main/resources/assets/eln/lang/no.lang @@ -287,21 +287,21 @@ tile.eln.EnergyConverterElnToOtherLVUBlock.name=50V Electrical Age to other ener tile.eln.EnergyConverterElnToOtherMVUBlock.name=200V Electrical Age to other energy exporter # ./src/main/java/mods/eln/i18n/I18N.java -You_have_%1$_lives_left=You have %1$ lives left +You_have_%s_lives_left=You have %s lives left # ./src/main/java/mods/eln/item/BrushDescriptor.java Brush_is_dry=Brush is dry -Can_paint_%1$_blocks=Can paint %1$ blocks +Can_paint_%s_blocks=Can paint %s blocks # ./src/main/java/mods/eln/item/CombustionChamber.java Upgrade_for_the_Stone_Heat_Furnace.=Upgrade for the Stone Heat Furnace. # ./src/main/java/mods/eln/item/ElectricalDrillDescriptor.java -Energy_per_operation\:_%1$J=Energy per operation\: %1$J -Time_per_operation\:_%1$s=Time per operation\: %1$s +Energy_per_operation\:_%sJ=Energy per operation\: %sJ +Time_per_operation\:_%ss=Time per operation\: %ss # ./src/main/java/mods/eln/item/FerromagneticCoreDescriptor.java -Cable_loss_factor\:_%1$=Cable loss factor\: %1$ +Cable_loss_factor\:_%s=Cable loss factor\: %s # ./src/main/java/mods/eln/item/HeatingCorpElement.java @@ -311,8 +311,8 @@ Condition\:=Condition\: End_of_life=End of life Good=Good New=New -Nominal_lifetime\:_%1$h=Nominal lifetime\: %1$h -Technology\:_%1$=Technology\: %1$ +Nominal_lifetime\:_%sh=Nominal lifetime\: %sh +Technology\:_%s=Technology\: %s Used=Used # ./src/main/java/mods/eln/item/LampSlot.java @@ -333,7 +333,7 @@ Solar_panel_upgrade=Solar panel upgrade Off=Off On=On State\:=State\: -Stored_Energy\:_%1$J_(%2$%)=Stored Energy\: %1$J (%2$%) +Stored_Energy\:_%sJ_(%s)=Stored Energy\: %sJ (%s) # ./src/main/java/mods/eln/item/regulator/RegulatorSlot.java @@ -346,7 +346,7 @@ mod.name=Electrical Age # ./src/main/java/mods/eln/node/six/SixNodeDescriptor.java # ./src/main/java/mods/eln/simplenode/energyconverter/EnergyConverterElnToOtherGui.java -Input_power_is_limited_to_%1$W=Input power is limited to %1$W +Input_power_is_limited_to_%sW=Input power is limited to %sW # ./src/main/java/mods/eln/sixnode/LogicGate.kt _O\:_= O\: @@ -386,12 +386,12 @@ Switch_is_off=Switch is off Switch_is_on=Switch is on # ./src/main/java/mods/eln/sixnode/electricalcable/ElectricalCableDescriptor.java -A_signal_is_electrical_information\nwhich_must_be_between_0V_and_%1$V=A signal is electrical information\nwhich must be between 0V and %1$V +A_signal_is_electrical_information\nwhich_must_be_between_0V_and_%sV=A signal is electrical information\nwhich must be between 0V and %sV Cable_is_adapted_to_conduct\nelectrical_signals.=Cable is adapted to conduct\nelectrical signals. -Current\:_%1$A=Current\: %1$A +Current\:_%sA=Current\: %sA Not_adapted_to_transport_power.=Not adapted to transport power. Save_usage\:=Save usage\: -Serial_resistance\:_%1$Ω=Serial resistance\: %1$Ω +Serial_resistance\:_%sΩ=Serial resistance\: %sΩ # ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerDescriptor.java It_can_store_up_to_256_points.=It can store up to 256 points. @@ -423,10 +423,10 @@ Output_voltage_increases\nif_a_fire_has_been_detected.=Output voltage increases\ Provides_configurable_signal\nvoltage.=Provides configurable signal\nvoltage. # ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceGui.java -Output_at_%1$%=Output at %1$% +Output_at_%s=Output at %s # ./src/main/java/mods/eln/sixnode/electricallightsensor/ElectricalLightSensorDescriptor.java -0V_at_night,_%1$V_at_noon.=0V at night, %1$V at noon. +0V_at_night,_%sV_at_noon.=0V at night, %sV at noon. Provides_an_electrical_voltage\nin_the_presence_of_light.=Provides an electrical voltage\nin the presence of light. Provides_an_electrical_voltage\nwhich_is_proportional_to\nthe_intensity_of_daylight.=Provides an electrical voltage\nwhich is proportional to\nthe intensity of daylight. @@ -439,7 +439,7 @@ Applicable_mathematical_operators\:=Applicable mathematical operators\: Calculates_an_output_signal_from\n3_inputs_(A,_B,_C)_using_an_equation.=Calculates an output signal from\n3 inputs (A, B, C) using an equation. # ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathGui.java -%1$_Redstone(s)_required=%1$ Redstone(s) required +%s_Redstone(s)_required=%s Redstone(s) required Equation_required!=Equation required\! Inputs_are=Inputs are Invalid_equation!=Invalid equation\! @@ -483,13 +483,13 @@ Displays_the_value_of_a_signal.=Displays the value of a signal. Portable_battery_slot=Portable battery slot # ./src/main/java/mods/eln/sixnode/electricalweathersensor/ElectricalWeatherSensorDescriptor.java -Clear\:_%1$V=Clear\: %1$V +Clear\:_%sV=Clear\: %sV Provides_an_electrical_signal\ndepending_the_actual_weather.=Provides an electrical signal\ndepending the actual weather. -Rain\:_%1$V=Rain\: %1$V -Storm\:_%1$V=Storm\: %1$V +Rain\:_%sV=Rain\: %sV +Storm\:_%sV=Storm\: %sV # ./src/main/java/mods/eln/sixnode/electricalwindsensor/ElectricalWindSensorDescriptor.java -Maximum_wind_speed_is_%1$m_s=Maximum wind speed is %1$m/s +Maximum_wind_speed_is_%sm_s=Maximum wind speed is %sm/s Provides_an_electrical_signal\ndependant_on_wind_speed.=Provides an electrical signal\ndependant on wind speed. You_can't_place_this_block_on_the_floor_or_the_ceiling=You can't place this block on the floor or the ceiling @@ -508,7 +508,7 @@ Voltage=Voltage Change_password=Change password Counter_Mode=Counter Mode Counts_the_energy_conducted_from\n\u00a74red\u00a7f_to_\u00a71blue\u00a7f.=Counts the energy conducted from\n\\u00a74red\\u00a7f to \\u00a71blue\\u00a7f. -Energy_counter\:_%1$J=Energy counter\: %1$J +Energy_counter\:_%sJ=Energy counter\: %sJ Enter_new_energy=Enter new energy Enter_password=Enter password Prepay_Mode=Prepay Mode @@ -529,13 +529,13 @@ Provides_a_zero_volt_reference.=Provides a zero volt reference. Allows_crossing_cables\non_one_single_block.=Allows crossing cables\non one single block. # ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketDescriptor.java -Angle\:_%1$°_to_%2$°=Angle\: %1$° to %2$° -Spot_range\:_%1$_blocks=Spot range\: %1$ blocks +Angle\:_%s°_to_%s°=Angle\: %s° to %s° +Spot_range\:_%s_blocks=Spot range\: %s blocks # ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketGuiDraw.java -%1$_is_not_in_range!=%1$ is not in range\! +%s_is_not_in_range!=%s is not in range\! Cable_slot_empty=Cable slot empty -Orientation\:_%1$°=Orientation\: %1$° +Orientation\:_%s°=Orientation\: %s° Parallel=Parallel Powered_by_Lamp_Supply=Powered by Lamp Supply Powered_by_cable=Powered by cable @@ -584,8 +584,8 @@ Coal_dust_slot=Coal dust slot # ./src/main/java/mods/eln/sixnode/thermalcable/ThermalCableDescriptor.java High_parallel_resistance\n_\=>_Low_power_dissipation.=High parallel resistance\n \=> Low power dissipation. Low_serial_resistance\n_\=>_High_conductivity.=Low serial resistance\n \=> High conductivity. -Parallel_resistance\:_%1$K_W=Parallel resistance\: %1$K/W -Serial_resistance\:_%1$K_W=Serial resistance\: %1$K/W +Parallel_resistance\:_%sK_W=Parallel resistance\: %sK/W +Serial_resistance\:_%sK_W=Serial resistance\: %sK/W # ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorContainer.java Cable_slot=Cable slot @@ -610,12 +610,12 @@ Set_beacon_name=Set beacon name # ./src/main/java/mods/eln/sixnode/wirelesssignal/rx/WirelessSignalRxGui.java # ./src/main/java/mods/eln/transparentnode/FuelGenerator.kt -Nominal_power\:_%1$_W=Nominal power\: %1$ W -Nominal_voltage\:_%1$_V=Nominal voltage\: %1$ V +Nominal_power\:_%s_W=Nominal power\: %s W +Nominal_voltage\:_%s_V=Nominal voltage\: %s V Produces_electricity_using_fuel.=Produces electricity using fuel. # ./src/main/java/mods/eln/transparentnode/LargeRheostat.kt -Nom._Resistance\:_%1$=Nom. Resistance\: %1$ +Nom._Resistance\:_%s=Nom. Resistance\: %s # ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerContainer.java Drill_slot=Drill slot @@ -637,16 +637,16 @@ Overheating_protection=Overheating protection Overvoltage_protection=Overvoltage protection # ./src/main/java/mods/eln/transparentnode/battery/BatteryDescriptor.java -Actual_charge\:_%1$%=Actual charge\: %1$% -Energy_capacity\:_%1$J=Energy capacity\: %1$J -_charged_at_%1$%=charged at %1$% +Actual_charge\:_%s=Actual charge\: %s +Energy_capacity\:_%sJ=Energy capacity\: %sJ +_charged_at_%s=charged at %s # ./src/main/java/mods/eln/transparentnode/battery/BatteryGuiDraw.java Charge=Charge Charged=Charged Discharge=Discharge Energy\:=Energy\: -Energy\:_%1$=Energy\: %1$ +Energy\:_%s=Energy\: %s Life\:=Life\: No_charge=No charge Power_in\:=Power in\: @@ -659,7 +659,7 @@ Egg_slot=Egg slot Wireless_energy_receiver.=Wireless energy receiver. # ./src/main/java/mods/eln/transparentnode/electricalantennatx/ElectricalAntennaTxDescriptor.java -Efficiency\:_%1$%_up_to_%2$%=Efficiency\: %1$% up to %2$% +Efficiency\:_%s_up_to_%s=Efficiency\: %s up to %s Wireless_energy_transmitter.=Wireless energy transmitter. # ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceContainer.java @@ -671,7 +671,7 @@ Similar_to_a_vanilla_furnace,\nbut_heats_with_electricity.=Similar to a vanilla # ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceGuiDraw.java Auto_shutdown=Auto shutdown Manual_shutdown=Manual shutdown -Set_point\:_%1$°C=Set point\: %1$°C +Set_point\:_%s°C=Set point\: %s°C # ./src/main/java/mods/eln/transparentnode/electricalmachine/ElectricalMachineDescriptor.java Cost=Cost @@ -684,7 +684,7 @@ Fuel_slot=Fuel slot Generates_heat_when_supplied_with_fuel.=Generates heat when supplied with fuel. # ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceGuiDraw.java -Control_gauge_at_%1$%=Control gauge at %1$% +Control_gauge_at_%s=Control gauge at %s Decline_fuel=Decline fuel External_control=External control Internal_control=Internal control @@ -698,27 +698,27 @@ Solar_tracker_slot=Solar tracker slot # ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelDescriptor.java Can_be_geared_towards_the_sun.=Can be geared towards the sun. -Max._power\:_%1$W=Max. power\: %1$W -Max._voltage\:_%1$V=Max. voltage\: %1$V +Max._power\:_%sW=Max. power\: %sW +Max._voltage\:_%sV=Max. voltage\: %sV Produces_power_from_solar_radiation.=Produces power from solar radiation. # ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPannelGuiDraw.java It_is_night=It is night -Solar_panel_angle\:_%1$°=Solar panel angle\: %1$° -Sun_angle\:_%1$°=Sun angle\: %1$° +Solar_panel_angle\:_%s°=Solar panel angle\: %s° +Sun_angle\:_%s°=Sun angle\: %s° # ./src/main/java/mods/eln/transparentnode/teleporter/TeleporterGui.java Destination_transporter=Destination transporter Power_consumption\:=Power consumption\: -Power_consumption\:_%1$W=Power consumption\: %1$W -Required_energy\:_%1$J=Required energy\: %1$J +Power_consumption\:_%sW=Power consumption\: %sW +Required_energy\:_%sJ=Required energy\: %sJ Start=Start Transporter_name=Transporter name # ./src/main/java/mods/eln/transparentnode/thermaldissipatoractive/ThermalDissipatorActiveDescriptor.java -Fan_cooling_power\:_%1$W=Fan cooling power\: %1$W -Fan_power_consumption\:_%1$W=Fan power consumption\: %1$W -Fan_voltage\:_%1$V=Fan voltage\: %1$V +Fan_cooling_power\:_%sW=Fan cooling power\: %sW +Fan_power_consumption\:_%sW=Fan power consumption\: %sW +Fan_voltage\:_%sV=Fan voltage\: %sV # ./src/main/java/mods/eln/transparentnode/transformer/TransformerDescriptor.java The_voltage_ratio_is_proportional\nto_the_cable_stacks_count_ratio.=The voltage ratio is proportional\nto the cable stacks count ratio. @@ -726,13 +726,13 @@ Transforms_an_input_voltage_to\nan_output_voltage.=Transforms an input voltage t # ./src/main/java/mods/eln/transparentnode/turbine/TurbineDescriptor.java Generates_electricity_using_heat.=Generates electricity using heat. -Temperature_difference\:_%1$°C=Temperature difference\: %1$°C +Temperature_difference\:_%s°C=Temperature difference\: %s°C # ./src/main/java/mods/eln/transparentnode/turret/TurretDescriptor.java CAUTION\:_Cables_can_get_quite_hot!=CAUTION\: Cables can get quite hot\! -Laser_charge_power\:_%1$W...%2$kW=Laser charge power\: %1$W...%2$kW +Laser_charge_power\:_%sW...%skW=Laser charge power\: %sW...%skW Scans_for_entities_and_shoots_if_the\nentity_matches_the_configurable_filter_criteria.=Scans for entities and shoots if the\nentity matches the configurable filter criteria. -Standby_power\:_%1$W=Standby power\: %1$W +Standby_power\:_%sW=Standby power\: %sW # ./src/main/java/mods/eln/transparentnode/turret/TurretGui.java Attack\:=Attack\: @@ -744,10 +744,10 @@ Generates_energy_using_water_stream.=Generates energy using water stream. No_place_for_water_turbine!=No place for water turbine\! # ./src/main/java/mods/eln/transparentnode/windturbine/WindTurbineDescriptor.java -Front\:_%1$=Front\: %1$ +Front\:_%s=Front\: %s Generates_energy_from_wind.=Generates energy from wind. -Left_Right\:_%1$=Left/Right\: %1$ -Up_Down\:_%1$=Up/Down\: %1$ +Left_Right\:_%s=Left/Right\: %s +Up_Down\:_%s=Up/Down\: %s Wind_area\:=Wind area\: # ./src/main/java/mods/eln/wiki/Data.java @@ -769,7 +769,7 @@ Previous=Previous # ./src/main/java/mods/eln/wiki/ItemDefault.java Can_be_used_to_craft\:=Can be used to craft\: Cannot_be_crafted!=Cannot be crafted\! -Cost_%1$J=Cost %1$J +Cost_%sJ=Cost %sJ Created_by\:=Created by\: Is_not_a_crafting_material!=Is not a crafting material\! Recipe\:=Recipe\: @@ -777,45 +777,45 @@ Recipe\:=Recipe\: # Appearing in multiple source files (Increases_capacity)=(Increases capacity) (Increases_inductance)=(Increases inductance) -Actual\:_%1$°C=Actual\: %1$°C +Actual\:_%s°C=Actual\: %s°C Biggest=Biggest Booster_slot=Booster slot Can_create\:=Can create\: -Capacity\:_%1$F=Capacity\: %1$F -Charge_power\:_%1$W=Charge power\: %1$W +Capacity\:_%sF=Capacity\: %sF +Charge_power\:_%sW=Charge power\: %sW Connected=Connected -Cooling_power\:_%1$W=Cooling power\: %1$W +Cooling_power\:_%sW=Cooling power\: %sW Copper_cable_slot=Copper cable slot Dielectric_slot=Dielectric slot -Discharge_power\:_%1$W=Discharge power\: %1$W +Discharge_power\:_%sW=Discharge power\: %sW Electrical_cable_slot=Electrical cable slot Entity_filter_slot=Entity filter slot Ferromagnetic_core_slot=Ferromagnetic core slot Has_a_signal_output.=Has a signal output. -Inductance\:_%1$H=Inductance\: %1$H -Internal_resistance\:_%1$Ω=Internal resistance\: %1$Ω +Inductance\:_%sH=Inductance\: %sH +Internal_resistance\:_%sΩ=Internal resistance\: %sΩ Is_off=Is off Is_on=Is on -Max._temperature\:_%1$°C=Max. temperature\: %1$°C +Max._temperature\:_%s°C=Max. temperature\: %s°C Measured_value\ncorresponding\nto_0%_output=Measured value\ncorresponding\nto 0% output Measured_value\ncorresponding\nto_100%_output=Measured value\ncorresponding\nto 100% output Nominal\:=Nominal\: -Nominal_power\:_%1$W=Nominal power\: %1$W +Nominal_power\:_%sW=Nominal power\: %sW Nominal_usage\:=Nominal usage\: -Nominal_voltage\:_%1$V=Nominal voltage\: %1$V +Nominal_voltage\:_%sV=Nominal voltage\: %sV Not_connected=Not connected Not_enough_space_for_this_block=Not enough space for this block Power=Power -Power\:_%1$W=Power\: %1$W -Range\:_%1$_blocks=Range\: %1$ blocks +Power\:_%sW=Power\: %sW +Range\:_%s_blocks=Range\: %s blocks Redstone_slot=Redstone slot Regulator_slot=Regulator slot Reset=Reset -Resistance\:_%1$Ω=Resistance\: %1$Ω +Resistance\:_%sΩ=Resistance\: %sΩ Smallest=Smallest Specify_the_channel=Specify the channel -Stored_energy\:_%1$J_(%2$%)=Stored energy\: %1$J (%2$%) -Temperature\:_%1$°C=Temperature\: %1$°C +Stored_energy\:_%sJ_(%s)=Stored energy\: %sJ (%s) +Temperature\:_%s°C=Temperature\: %s°C Temperature_gauge=Temperature gauge Thermal_isolator_slot=Thermal isolator slot Toggle=Toggle @@ -825,5 +825,5 @@ Used_to_cool_down_turbines.=Used to cool down turbines. Uses_the_biggest\nvalue_on_the_channel.=Uses the biggest\nvalue on the channel. Uses_the_smallest\nvalue_on_the_channel.=Uses the smallest\nvalue on the channel. Validate=Validate -Voltage\:_%1$V=Voltage\: %1$V +Voltage\:_%sV=Voltage\: %sV You_can't_place_this_block_at_this_side=You can't place this block at this side diff --git a/src/main/resources/assets/eln/lang/pl.lang b/src/main/resources/assets/eln/lang/pl.lang index a0fcdd29b..f4e769aa7 100644 --- a/src/main/resources/assets/eln/lang/pl.lang +++ b/src/main/resources/assets/eln/lang/pl.lang @@ -287,21 +287,21 @@ tile.eln.EnergyConverterElnToOtherLVUBlock.name=50V Electrical Age to other ener tile.eln.EnergyConverterElnToOtherMVUBlock.name=200V Electrical Age to other energy exporter # ./src/main/java/mods/eln/i18n/I18N.java -You_have_%1$_lives_left=You have %1$ lives left +You_have_%s_lives_left=You have %s lives left # ./src/main/java/mods/eln/item/BrushDescriptor.java Brush_is_dry=Brush is dry -Can_paint_%1$_blocks=Can paint %1$ blocks +Can_paint_%s_blocks=Can paint %s blocks # ./src/main/java/mods/eln/item/CombustionChamber.java Upgrade_for_the_Stone_Heat_Furnace.=Upgrade for the Stone Heat Furnace. # ./src/main/java/mods/eln/item/ElectricalDrillDescriptor.java -Energy_per_operation\:_%1$J=Energy per operation\: %1$J -Time_per_operation\:_%1$s=Time per operation\: %1$s +Energy_per_operation\:_%sJ=Energy per operation\: %sJ +Time_per_operation\:_%ss=Time per operation\: %ss # ./src/main/java/mods/eln/item/FerromagneticCoreDescriptor.java -Cable_loss_factor\:_%1$=Cable loss factor\: %1$ +Cable_loss_factor\:_%s=Cable loss factor\: %s # ./src/main/java/mods/eln/item/HeatingCorpElement.java @@ -311,8 +311,8 @@ Condition\:=Condition\: End_of_life=End of life Good=Good New=New -Nominal_lifetime\:_%1$h=Nominal lifetime\: %1$h -Technology\:_%1$=Technology\: %1$ +Nominal_lifetime\:_%sh=Nominal lifetime\: %sh +Technology\:_%s=Technology\: %s Used=Used # ./src/main/java/mods/eln/item/LampSlot.java @@ -333,7 +333,7 @@ Solar_panel_upgrade=Solar panel upgrade Off=Off On=On State\:=State\: -Stored_Energy\:_%1$J_(%2$%)=Stored Energy\: %1$J (%2$%) +Stored_Energy\:_%sJ_(%s)=Stored Energy\: %sJ (%s) # ./src/main/java/mods/eln/item/regulator/RegulatorSlot.java @@ -346,7 +346,7 @@ mod.name=Electrical Age # ./src/main/java/mods/eln/node/six/SixNodeDescriptor.java # ./src/main/java/mods/eln/simplenode/energyconverter/EnergyConverterElnToOtherGui.java -Input_power_is_limited_to_%1$W=Input power is limited to %1$W +Input_power_is_limited_to_%sW=Input power is limited to %sW # ./src/main/java/mods/eln/sixnode/LogicGate.kt _O\:_= O\: @@ -386,12 +386,12 @@ Switch_is_off=Switch is off Switch_is_on=Switch is on # ./src/main/java/mods/eln/sixnode/electricalcable/ElectricalCableDescriptor.java -A_signal_is_electrical_information\nwhich_must_be_between_0V_and_%1$V=A signal is electrical information\nwhich must be between 0V and %1$V +A_signal_is_electrical_information\nwhich_must_be_between_0V_and_%sV=A signal is electrical information\nwhich must be between 0V and %sV Cable_is_adapted_to_conduct\nelectrical_signals.=Cable is adapted to conduct\nelectrical signals. -Current\:_%1$A=Current\: %1$A +Current\:_%sA=Current\: %sA Not_adapted_to_transport_power.=Not adapted to transport power. Save_usage\:=Save usage\: -Serial_resistance\:_%1$Ω=Serial resistance\: %1$Ω +Serial_resistance\:_%sΩ=Serial resistance\: %sΩ # ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerDescriptor.java It_can_store_up_to_256_points.=It can store up to 256 points. @@ -423,10 +423,10 @@ Output_voltage_increases\nif_a_fire_has_been_detected.=Output voltage increases\ Provides_configurable_signal\nvoltage.=Provides configurable signal\nvoltage. # ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceGui.java -Output_at_%1$%=Output at %1$% +Output_at_%s=Output at %s # ./src/main/java/mods/eln/sixnode/electricallightsensor/ElectricalLightSensorDescriptor.java -0V_at_night,_%1$V_at_noon.=0V at night, %1$V at noon. +0V_at_night,_%sV_at_noon.=0V at night, %sV at noon. Provides_an_electrical_voltage\nin_the_presence_of_light.=Provides an electrical voltage\nin the presence of light. Provides_an_electrical_voltage\nwhich_is_proportional_to\nthe_intensity_of_daylight.=Provides an electrical voltage\nwhich is proportional to\nthe intensity of daylight. @@ -439,7 +439,7 @@ Applicable_mathematical_operators\:=Applicable mathematical operators\: Calculates_an_output_signal_from\n3_inputs_(A,_B,_C)_using_an_equation.=Calculates an output signal from\n3 inputs (A, B, C) using an equation. # ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathGui.java -%1$_Redstone(s)_required=%1$ Redstone(s) required +%s_Redstone(s)_required=%s Redstone(s) required Equation_required!=Equation required\! Inputs_are=Inputs are Invalid_equation!=Invalid equation\! @@ -483,13 +483,13 @@ Displays_the_value_of_a_signal.=Displays the value of a signal. Portable_battery_slot=Portable battery slot # ./src/main/java/mods/eln/sixnode/electricalweathersensor/ElectricalWeatherSensorDescriptor.java -Clear\:_%1$V=Clear\: %1$V +Clear\:_%sV=Clear\: %sV Provides_an_electrical_signal\ndepending_the_actual_weather.=Provides an electrical signal\ndepending the actual weather. -Rain\:_%1$V=Rain\: %1$V -Storm\:_%1$V=Storm\: %1$V +Rain\:_%sV=Rain\: %sV +Storm\:_%sV=Storm\: %sV # ./src/main/java/mods/eln/sixnode/electricalwindsensor/ElectricalWindSensorDescriptor.java -Maximum_wind_speed_is_%1$m_s=Maximum wind speed is %1$m/s +Maximum_wind_speed_is_%sm_s=Maximum wind speed is %sm/s Provides_an_electrical_signal\ndependant_on_wind_speed.=Provides an electrical signal\ndependant on wind speed. You_can't_place_this_block_on_the_floor_or_the_ceiling=You can't place this block on the floor or the ceiling @@ -508,7 +508,7 @@ Voltage=Voltage Change_password=Change password Counter_Mode=Counter Mode Counts_the_energy_conducted_from\n\u00a74red\u00a7f_to_\u00a71blue\u00a7f.=Counts the energy conducted from\n\\u00a74red\\u00a7f to \\u00a71blue\\u00a7f. -Energy_counter\:_%1$J=Energy counter\: %1$J +Energy_counter\:_%sJ=Energy counter\: %sJ Enter_new_energy=Enter new energy Enter_password=Enter password Prepay_Mode=Prepay Mode @@ -529,13 +529,13 @@ Provides_a_zero_volt_reference.=Provides a zero volt reference. Allows_crossing_cables\non_one_single_block.=Allows crossing cables\non one single block. # ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketDescriptor.java -Angle\:_%1$°_to_%2$°=Angle\: %1$° to %2$° -Spot_range\:_%1$_blocks=Spot range\: %1$ blocks +Angle\:_%s°_to_%s°=Angle\: %s° to %s° +Spot_range\:_%s_blocks=Spot range\: %s blocks # ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketGuiDraw.java -%1$_is_not_in_range!=%1$ is not in range\! +%s_is_not_in_range!=%s is not in range\! Cable_slot_empty=Cable slot empty -Orientation\:_%1$°=Orientation\: %1$° +Orientation\:_%s°=Orientation\: %s° Parallel=Parallel Powered_by_Lamp_Supply=Powered by Lamp Supply Powered_by_cable=Powered by cable @@ -584,8 +584,8 @@ Coal_dust_slot=Coal dust slot # ./src/main/java/mods/eln/sixnode/thermalcable/ThermalCableDescriptor.java High_parallel_resistance\n_\=>_Low_power_dissipation.=High parallel resistance\n \=> Low power dissipation. Low_serial_resistance\n_\=>_High_conductivity.=Low serial resistance\n \=> High conductivity. -Parallel_resistance\:_%1$K_W=Parallel resistance\: %1$K/W -Serial_resistance\:_%1$K_W=Serial resistance\: %1$K/W +Parallel_resistance\:_%sK_W=Parallel resistance\: %sK/W +Serial_resistance\:_%sK_W=Serial resistance\: %sK/W # ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorContainer.java Cable_slot=Cable slot @@ -610,12 +610,12 @@ Set_beacon_name=Set beacon name # ./src/main/java/mods/eln/sixnode/wirelesssignal/rx/WirelessSignalRxGui.java # ./src/main/java/mods/eln/transparentnode/FuelGenerator.kt -Nominal_power\:_%1$_W=Nominal power\: %1$ W -Nominal_voltage\:_%1$_V=Nominal voltage\: %1$ V +Nominal_power\:_%s_W=Nominal power\: %s W +Nominal_voltage\:_%s_V=Nominal voltage\: %s V Produces_electricity_using_fuel.=Produces electricity using fuel. # ./src/main/java/mods/eln/transparentnode/LargeRheostat.kt -Nom._Resistance\:_%1$=Nom. Resistance\: %1$ +Nom._Resistance\:_%s=Nom. Resistance\: %s # ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerContainer.java Drill_slot=Drill slot @@ -637,16 +637,16 @@ Overheating_protection=Overheating protection Overvoltage_protection=Overvoltage protection # ./src/main/java/mods/eln/transparentnode/battery/BatteryDescriptor.java -Actual_charge\:_%1$%=Actual charge\: %1$% -Energy_capacity\:_%1$J=Energy capacity\: %1$J -_charged_at_%1$%=charged at %1$% +Actual_charge\:_%s=Actual charge\: %s +Energy_capacity\:_%sJ=Energy capacity\: %sJ +_charged_at_%s=charged at %s # ./src/main/java/mods/eln/transparentnode/battery/BatteryGuiDraw.java Charge=Charge Charged=Charged Discharge=Discharge Energy\:=Energy\: -Energy\:_%1$=Energy\: %1$ +Energy\:_%s=Energy\: %s Life\:=Life\: No_charge=No charge Power_in\:=Power in\: @@ -659,7 +659,7 @@ Egg_slot=Egg slot Wireless_energy_receiver.=Wireless energy receiver. # ./src/main/java/mods/eln/transparentnode/electricalantennatx/ElectricalAntennaTxDescriptor.java -Efficiency\:_%1$%_up_to_%2$%=Efficiency\: %1$% up to %2$% +Efficiency\:_%s_up_to_%s=Efficiency\: %s up to %s Wireless_energy_transmitter.=Wireless energy transmitter. # ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceContainer.java @@ -671,7 +671,7 @@ Similar_to_a_vanilla_furnace,\nbut_heats_with_electricity.=Similar to a vanilla # ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceGuiDraw.java Auto_shutdown=Auto shutdown Manual_shutdown=Manual shutdown -Set_point\:_%1$°C=Set point\: %1$°C +Set_point\:_%s°C=Set point\: %s°C # ./src/main/java/mods/eln/transparentnode/electricalmachine/ElectricalMachineDescriptor.java Cost=Cost @@ -684,7 +684,7 @@ Fuel_slot=Fuel slot Generates_heat_when_supplied_with_fuel.=Generates heat when supplied with fuel. # ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceGuiDraw.java -Control_gauge_at_%1$%=Control gauge at %1$% +Control_gauge_at_%s=Control gauge at %s Decline_fuel=Decline fuel External_control=External control Internal_control=Internal control @@ -698,27 +698,27 @@ Solar_tracker_slot=Solar tracker slot # ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelDescriptor.java Can_be_geared_towards_the_sun.=Can be geared towards the sun. -Max._power\:_%1$W=Max. power\: %1$W -Max._voltage\:_%1$V=Max. voltage\: %1$V +Max._power\:_%sW=Max. power\: %sW +Max._voltage\:_%sV=Max. voltage\: %sV Produces_power_from_solar_radiation.=Produces power from solar radiation. # ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPannelGuiDraw.java It_is_night=It is night -Solar_panel_angle\:_%1$°=Solar panel angle\: %1$° -Sun_angle\:_%1$°=Sun angle\: %1$° +Solar_panel_angle\:_%s°=Solar panel angle\: %s° +Sun_angle\:_%s°=Sun angle\: %s° # ./src/main/java/mods/eln/transparentnode/teleporter/TeleporterGui.java Destination_transporter=Destination transporter Power_consumption\:=Power consumption\: -Power_consumption\:_%1$W=Power consumption\: %1$W -Required_energy\:_%1$J=Required energy\: %1$J +Power_consumption\:_%sW=Power consumption\: %sW +Required_energy\:_%sJ=Required energy\: %sJ Start=Start Transporter_name=Transporter name # ./src/main/java/mods/eln/transparentnode/thermaldissipatoractive/ThermalDissipatorActiveDescriptor.java -Fan_cooling_power\:_%1$W=Fan cooling power\: %1$W -Fan_power_consumption\:_%1$W=Fan power consumption\: %1$W -Fan_voltage\:_%1$V=Fan voltage\: %1$V +Fan_cooling_power\:_%sW=Fan cooling power\: %sW +Fan_power_consumption\:_%sW=Fan power consumption\: %sW +Fan_voltage\:_%sV=Fan voltage\: %sV # ./src/main/java/mods/eln/transparentnode/transformer/TransformerDescriptor.java The_voltage_ratio_is_proportional\nto_the_cable_stacks_count_ratio.=The voltage ratio is proportional\nto the cable stacks count ratio. @@ -726,13 +726,13 @@ Transforms_an_input_voltage_to\nan_output_voltage.=Transforms an input voltage t # ./src/main/java/mods/eln/transparentnode/turbine/TurbineDescriptor.java Generates_electricity_using_heat.=Generates electricity using heat. -Temperature_difference\:_%1$°C=Temperature difference\: %1$°C +Temperature_difference\:_%s°C=Temperature difference\: %s°C # ./src/main/java/mods/eln/transparentnode/turret/TurretDescriptor.java CAUTION\:_Cables_can_get_quite_hot!=CAUTION\: Cables can get quite hot\! -Laser_charge_power\:_%1$W...%2$kW=Laser charge power\: %1$W...%2$kW +Laser_charge_power\:_%sW...%skW=Laser charge power\: %sW...%skW Scans_for_entities_and_shoots_if_the\nentity_matches_the_configurable_filter_criteria.=Scans for entities and shoots if the\nentity matches the configurable filter criteria. -Standby_power\:_%1$W=Standby power\: %1$W +Standby_power\:_%sW=Standby power\: %sW # ./src/main/java/mods/eln/transparentnode/turret/TurretGui.java Attack\:=Attack\: @@ -744,10 +744,10 @@ Generates_energy_using_water_stream.=Generates energy using water stream. No_place_for_water_turbine!=No place for water turbine\! # ./src/main/java/mods/eln/transparentnode/windturbine/WindTurbineDescriptor.java -Front\:_%1$=Front\: %1$ +Front\:_%s=Front\: %s Generates_energy_from_wind.=Generates energy from wind. -Left_Right\:_%1$=Left/Right\: %1$ -Up_Down\:_%1$=Up/Down\: %1$ +Left_Right\:_%s=Left/Right\: %s +Up_Down\:_%s=Up/Down\: %s Wind_area\:=Wind area\: # ./src/main/java/mods/eln/wiki/Data.java @@ -769,7 +769,7 @@ Previous=Previous # ./src/main/java/mods/eln/wiki/ItemDefault.java Can_be_used_to_craft\:=Can be used to craft\: Cannot_be_crafted!=Cannot be crafted\! -Cost_%1$J=Cost %1$J +Cost_%sJ=Cost %sJ Created_by\:=Created by\: Is_not_a_crafting_material!=Is not a crafting material\! Recipe\:=Recipe\: @@ -777,45 +777,45 @@ Recipe\:=Recipe\: # Appearing in multiple source files (Increases_capacity)=(Increases capacity) (Increases_inductance)=(Increases inductance) -Actual\:_%1$°C=Actual\: %1$°C +Actual\:_%s°C=Actual\: %s°C Biggest=Biggest Booster_slot=Booster slot Can_create\:=Can create\: -Capacity\:_%1$F=Capacity\: %1$F -Charge_power\:_%1$W=Charge power\: %1$W +Capacity\:_%sF=Capacity\: %sF +Charge_power\:_%sW=Charge power\: %sW Connected=Connected -Cooling_power\:_%1$W=Cooling power\: %1$W +Cooling_power\:_%sW=Cooling power\: %sW Copper_cable_slot=Copper cable slot Dielectric_slot=Dielectric slot -Discharge_power\:_%1$W=Discharge power\: %1$W +Discharge_power\:_%sW=Discharge power\: %sW Electrical_cable_slot=Electrical cable slot Entity_filter_slot=Entity filter slot Ferromagnetic_core_slot=Ferromagnetic core slot Has_a_signal_output.=Has a signal output. -Inductance\:_%1$H=Inductance\: %1$H -Internal_resistance\:_%1$Ω=Internal resistance\: %1$Ω +Inductance\:_%sH=Inductance\: %sH +Internal_resistance\:_%sΩ=Internal resistance\: %sΩ Is_off=Is off Is_on=Is on -Max._temperature\:_%1$°C=Max. temperature\: %1$°C +Max._temperature\:_%s°C=Max. temperature\: %s°C Measured_value\ncorresponding\nto_0%_output=Measured value\ncorresponding\nto 0% output Measured_value\ncorresponding\nto_100%_output=Measured value\ncorresponding\nto 100% output Nominal\:=Nominal\: -Nominal_power\:_%1$W=Nominal power\: %1$W +Nominal_power\:_%sW=Nominal power\: %sW Nominal_usage\:=Nominal usage\: -Nominal_voltage\:_%1$V=Nominal voltage\: %1$V +Nominal_voltage\:_%sV=Nominal voltage\: %sV Not_connected=Not connected Not_enough_space_for_this_block=Not enough space for this block Power=Power -Power\:_%1$W=Power\: %1$W -Range\:_%1$_blocks=Range\: %1$ blocks +Power\:_%sW=Power\: %sW +Range\:_%s_blocks=Range\: %s blocks Redstone_slot=Redstone slot Regulator_slot=Regulator slot Reset=Reset -Resistance\:_%1$Ω=Resistance\: %1$Ω +Resistance\:_%sΩ=Resistance\: %sΩ Smallest=Smallest Specify_the_channel=Specify the channel -Stored_energy\:_%1$J_(%2$%)=Stored energy\: %1$J (%2$%) -Temperature\:_%1$°C=Temperature\: %1$°C +Stored_energy\:_%sJ_(%s)=Stored energy\: %sJ (%s) +Temperature\:_%s°C=Temperature\: %s°C Temperature_gauge=Temperature gauge Thermal_isolator_slot=Thermal isolator slot Toggle=Toggle @@ -825,5 +825,5 @@ Used_to_cool_down_turbines.=Used to cool down turbines. Uses_the_biggest\nvalue_on_the_channel.=Uses the biggest\nvalue on the channel. Uses_the_smallest\nvalue_on_the_channel.=Uses the smallest\nvalue on the channel. Validate=Validate -Voltage\:_%1$V=Voltage\: %1$V +Voltage\:_%sV=Voltage\: %sV You_can't_place_this_block_at_this_side=You can't place this block at this side diff --git a/src/main/resources/assets/eln/lang/pl_PL.lang b/src/main/resources/assets/eln/lang/pl_PL.lang index a0fcdd29b..f4e769aa7 100644 --- a/src/main/resources/assets/eln/lang/pl_PL.lang +++ b/src/main/resources/assets/eln/lang/pl_PL.lang @@ -287,21 +287,21 @@ tile.eln.EnergyConverterElnToOtherLVUBlock.name=50V Electrical Age to other ener tile.eln.EnergyConverterElnToOtherMVUBlock.name=200V Electrical Age to other energy exporter # ./src/main/java/mods/eln/i18n/I18N.java -You_have_%1$_lives_left=You have %1$ lives left +You_have_%s_lives_left=You have %s lives left # ./src/main/java/mods/eln/item/BrushDescriptor.java Brush_is_dry=Brush is dry -Can_paint_%1$_blocks=Can paint %1$ blocks +Can_paint_%s_blocks=Can paint %s blocks # ./src/main/java/mods/eln/item/CombustionChamber.java Upgrade_for_the_Stone_Heat_Furnace.=Upgrade for the Stone Heat Furnace. # ./src/main/java/mods/eln/item/ElectricalDrillDescriptor.java -Energy_per_operation\:_%1$J=Energy per operation\: %1$J -Time_per_operation\:_%1$s=Time per operation\: %1$s +Energy_per_operation\:_%sJ=Energy per operation\: %sJ +Time_per_operation\:_%ss=Time per operation\: %ss # ./src/main/java/mods/eln/item/FerromagneticCoreDescriptor.java -Cable_loss_factor\:_%1$=Cable loss factor\: %1$ +Cable_loss_factor\:_%s=Cable loss factor\: %s # ./src/main/java/mods/eln/item/HeatingCorpElement.java @@ -311,8 +311,8 @@ Condition\:=Condition\: End_of_life=End of life Good=Good New=New -Nominal_lifetime\:_%1$h=Nominal lifetime\: %1$h -Technology\:_%1$=Technology\: %1$ +Nominal_lifetime\:_%sh=Nominal lifetime\: %sh +Technology\:_%s=Technology\: %s Used=Used # ./src/main/java/mods/eln/item/LampSlot.java @@ -333,7 +333,7 @@ Solar_panel_upgrade=Solar panel upgrade Off=Off On=On State\:=State\: -Stored_Energy\:_%1$J_(%2$%)=Stored Energy\: %1$J (%2$%) +Stored_Energy\:_%sJ_(%s)=Stored Energy\: %sJ (%s) # ./src/main/java/mods/eln/item/regulator/RegulatorSlot.java @@ -346,7 +346,7 @@ mod.name=Electrical Age # ./src/main/java/mods/eln/node/six/SixNodeDescriptor.java # ./src/main/java/mods/eln/simplenode/energyconverter/EnergyConverterElnToOtherGui.java -Input_power_is_limited_to_%1$W=Input power is limited to %1$W +Input_power_is_limited_to_%sW=Input power is limited to %sW # ./src/main/java/mods/eln/sixnode/LogicGate.kt _O\:_= O\: @@ -386,12 +386,12 @@ Switch_is_off=Switch is off Switch_is_on=Switch is on # ./src/main/java/mods/eln/sixnode/electricalcable/ElectricalCableDescriptor.java -A_signal_is_electrical_information\nwhich_must_be_between_0V_and_%1$V=A signal is electrical information\nwhich must be between 0V and %1$V +A_signal_is_electrical_information\nwhich_must_be_between_0V_and_%sV=A signal is electrical information\nwhich must be between 0V and %sV Cable_is_adapted_to_conduct\nelectrical_signals.=Cable is adapted to conduct\nelectrical signals. -Current\:_%1$A=Current\: %1$A +Current\:_%sA=Current\: %sA Not_adapted_to_transport_power.=Not adapted to transport power. Save_usage\:=Save usage\: -Serial_resistance\:_%1$Ω=Serial resistance\: %1$Ω +Serial_resistance\:_%sΩ=Serial resistance\: %sΩ # ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerDescriptor.java It_can_store_up_to_256_points.=It can store up to 256 points. @@ -423,10 +423,10 @@ Output_voltage_increases\nif_a_fire_has_been_detected.=Output voltage increases\ Provides_configurable_signal\nvoltage.=Provides configurable signal\nvoltage. # ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceGui.java -Output_at_%1$%=Output at %1$% +Output_at_%s=Output at %s # ./src/main/java/mods/eln/sixnode/electricallightsensor/ElectricalLightSensorDescriptor.java -0V_at_night,_%1$V_at_noon.=0V at night, %1$V at noon. +0V_at_night,_%sV_at_noon.=0V at night, %sV at noon. Provides_an_electrical_voltage\nin_the_presence_of_light.=Provides an electrical voltage\nin the presence of light. Provides_an_electrical_voltage\nwhich_is_proportional_to\nthe_intensity_of_daylight.=Provides an electrical voltage\nwhich is proportional to\nthe intensity of daylight. @@ -439,7 +439,7 @@ Applicable_mathematical_operators\:=Applicable mathematical operators\: Calculates_an_output_signal_from\n3_inputs_(A,_B,_C)_using_an_equation.=Calculates an output signal from\n3 inputs (A, B, C) using an equation. # ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathGui.java -%1$_Redstone(s)_required=%1$ Redstone(s) required +%s_Redstone(s)_required=%s Redstone(s) required Equation_required!=Equation required\! Inputs_are=Inputs are Invalid_equation!=Invalid equation\! @@ -483,13 +483,13 @@ Displays_the_value_of_a_signal.=Displays the value of a signal. Portable_battery_slot=Portable battery slot # ./src/main/java/mods/eln/sixnode/electricalweathersensor/ElectricalWeatherSensorDescriptor.java -Clear\:_%1$V=Clear\: %1$V +Clear\:_%sV=Clear\: %sV Provides_an_electrical_signal\ndepending_the_actual_weather.=Provides an electrical signal\ndepending the actual weather. -Rain\:_%1$V=Rain\: %1$V -Storm\:_%1$V=Storm\: %1$V +Rain\:_%sV=Rain\: %sV +Storm\:_%sV=Storm\: %sV # ./src/main/java/mods/eln/sixnode/electricalwindsensor/ElectricalWindSensorDescriptor.java -Maximum_wind_speed_is_%1$m_s=Maximum wind speed is %1$m/s +Maximum_wind_speed_is_%sm_s=Maximum wind speed is %sm/s Provides_an_electrical_signal\ndependant_on_wind_speed.=Provides an electrical signal\ndependant on wind speed. You_can't_place_this_block_on_the_floor_or_the_ceiling=You can't place this block on the floor or the ceiling @@ -508,7 +508,7 @@ Voltage=Voltage Change_password=Change password Counter_Mode=Counter Mode Counts_the_energy_conducted_from\n\u00a74red\u00a7f_to_\u00a71blue\u00a7f.=Counts the energy conducted from\n\\u00a74red\\u00a7f to \\u00a71blue\\u00a7f. -Energy_counter\:_%1$J=Energy counter\: %1$J +Energy_counter\:_%sJ=Energy counter\: %sJ Enter_new_energy=Enter new energy Enter_password=Enter password Prepay_Mode=Prepay Mode @@ -529,13 +529,13 @@ Provides_a_zero_volt_reference.=Provides a zero volt reference. Allows_crossing_cables\non_one_single_block.=Allows crossing cables\non one single block. # ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketDescriptor.java -Angle\:_%1$°_to_%2$°=Angle\: %1$° to %2$° -Spot_range\:_%1$_blocks=Spot range\: %1$ blocks +Angle\:_%s°_to_%s°=Angle\: %s° to %s° +Spot_range\:_%s_blocks=Spot range\: %s blocks # ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketGuiDraw.java -%1$_is_not_in_range!=%1$ is not in range\! +%s_is_not_in_range!=%s is not in range\! Cable_slot_empty=Cable slot empty -Orientation\:_%1$°=Orientation\: %1$° +Orientation\:_%s°=Orientation\: %s° Parallel=Parallel Powered_by_Lamp_Supply=Powered by Lamp Supply Powered_by_cable=Powered by cable @@ -584,8 +584,8 @@ Coal_dust_slot=Coal dust slot # ./src/main/java/mods/eln/sixnode/thermalcable/ThermalCableDescriptor.java High_parallel_resistance\n_\=>_Low_power_dissipation.=High parallel resistance\n \=> Low power dissipation. Low_serial_resistance\n_\=>_High_conductivity.=Low serial resistance\n \=> High conductivity. -Parallel_resistance\:_%1$K_W=Parallel resistance\: %1$K/W -Serial_resistance\:_%1$K_W=Serial resistance\: %1$K/W +Parallel_resistance\:_%sK_W=Parallel resistance\: %sK/W +Serial_resistance\:_%sK_W=Serial resistance\: %sK/W # ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorContainer.java Cable_slot=Cable slot @@ -610,12 +610,12 @@ Set_beacon_name=Set beacon name # ./src/main/java/mods/eln/sixnode/wirelesssignal/rx/WirelessSignalRxGui.java # ./src/main/java/mods/eln/transparentnode/FuelGenerator.kt -Nominal_power\:_%1$_W=Nominal power\: %1$ W -Nominal_voltage\:_%1$_V=Nominal voltage\: %1$ V +Nominal_power\:_%s_W=Nominal power\: %s W +Nominal_voltage\:_%s_V=Nominal voltage\: %s V Produces_electricity_using_fuel.=Produces electricity using fuel. # ./src/main/java/mods/eln/transparentnode/LargeRheostat.kt -Nom._Resistance\:_%1$=Nom. Resistance\: %1$ +Nom._Resistance\:_%s=Nom. Resistance\: %s # ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerContainer.java Drill_slot=Drill slot @@ -637,16 +637,16 @@ Overheating_protection=Overheating protection Overvoltage_protection=Overvoltage protection # ./src/main/java/mods/eln/transparentnode/battery/BatteryDescriptor.java -Actual_charge\:_%1$%=Actual charge\: %1$% -Energy_capacity\:_%1$J=Energy capacity\: %1$J -_charged_at_%1$%=charged at %1$% +Actual_charge\:_%s=Actual charge\: %s +Energy_capacity\:_%sJ=Energy capacity\: %sJ +_charged_at_%s=charged at %s # ./src/main/java/mods/eln/transparentnode/battery/BatteryGuiDraw.java Charge=Charge Charged=Charged Discharge=Discharge Energy\:=Energy\: -Energy\:_%1$=Energy\: %1$ +Energy\:_%s=Energy\: %s Life\:=Life\: No_charge=No charge Power_in\:=Power in\: @@ -659,7 +659,7 @@ Egg_slot=Egg slot Wireless_energy_receiver.=Wireless energy receiver. # ./src/main/java/mods/eln/transparentnode/electricalantennatx/ElectricalAntennaTxDescriptor.java -Efficiency\:_%1$%_up_to_%2$%=Efficiency\: %1$% up to %2$% +Efficiency\:_%s_up_to_%s=Efficiency\: %s up to %s Wireless_energy_transmitter.=Wireless energy transmitter. # ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceContainer.java @@ -671,7 +671,7 @@ Similar_to_a_vanilla_furnace,\nbut_heats_with_electricity.=Similar to a vanilla # ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceGuiDraw.java Auto_shutdown=Auto shutdown Manual_shutdown=Manual shutdown -Set_point\:_%1$°C=Set point\: %1$°C +Set_point\:_%s°C=Set point\: %s°C # ./src/main/java/mods/eln/transparentnode/electricalmachine/ElectricalMachineDescriptor.java Cost=Cost @@ -684,7 +684,7 @@ Fuel_slot=Fuel slot Generates_heat_when_supplied_with_fuel.=Generates heat when supplied with fuel. # ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceGuiDraw.java -Control_gauge_at_%1$%=Control gauge at %1$% +Control_gauge_at_%s=Control gauge at %s Decline_fuel=Decline fuel External_control=External control Internal_control=Internal control @@ -698,27 +698,27 @@ Solar_tracker_slot=Solar tracker slot # ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelDescriptor.java Can_be_geared_towards_the_sun.=Can be geared towards the sun. -Max._power\:_%1$W=Max. power\: %1$W -Max._voltage\:_%1$V=Max. voltage\: %1$V +Max._power\:_%sW=Max. power\: %sW +Max._voltage\:_%sV=Max. voltage\: %sV Produces_power_from_solar_radiation.=Produces power from solar radiation. # ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPannelGuiDraw.java It_is_night=It is night -Solar_panel_angle\:_%1$°=Solar panel angle\: %1$° -Sun_angle\:_%1$°=Sun angle\: %1$° +Solar_panel_angle\:_%s°=Solar panel angle\: %s° +Sun_angle\:_%s°=Sun angle\: %s° # ./src/main/java/mods/eln/transparentnode/teleporter/TeleporterGui.java Destination_transporter=Destination transporter Power_consumption\:=Power consumption\: -Power_consumption\:_%1$W=Power consumption\: %1$W -Required_energy\:_%1$J=Required energy\: %1$J +Power_consumption\:_%sW=Power consumption\: %sW +Required_energy\:_%sJ=Required energy\: %sJ Start=Start Transporter_name=Transporter name # ./src/main/java/mods/eln/transparentnode/thermaldissipatoractive/ThermalDissipatorActiveDescriptor.java -Fan_cooling_power\:_%1$W=Fan cooling power\: %1$W -Fan_power_consumption\:_%1$W=Fan power consumption\: %1$W -Fan_voltage\:_%1$V=Fan voltage\: %1$V +Fan_cooling_power\:_%sW=Fan cooling power\: %sW +Fan_power_consumption\:_%sW=Fan power consumption\: %sW +Fan_voltage\:_%sV=Fan voltage\: %sV # ./src/main/java/mods/eln/transparentnode/transformer/TransformerDescriptor.java The_voltage_ratio_is_proportional\nto_the_cable_stacks_count_ratio.=The voltage ratio is proportional\nto the cable stacks count ratio. @@ -726,13 +726,13 @@ Transforms_an_input_voltage_to\nan_output_voltage.=Transforms an input voltage t # ./src/main/java/mods/eln/transparentnode/turbine/TurbineDescriptor.java Generates_electricity_using_heat.=Generates electricity using heat. -Temperature_difference\:_%1$°C=Temperature difference\: %1$°C +Temperature_difference\:_%s°C=Temperature difference\: %s°C # ./src/main/java/mods/eln/transparentnode/turret/TurretDescriptor.java CAUTION\:_Cables_can_get_quite_hot!=CAUTION\: Cables can get quite hot\! -Laser_charge_power\:_%1$W...%2$kW=Laser charge power\: %1$W...%2$kW +Laser_charge_power\:_%sW...%skW=Laser charge power\: %sW...%skW Scans_for_entities_and_shoots_if_the\nentity_matches_the_configurable_filter_criteria.=Scans for entities and shoots if the\nentity matches the configurable filter criteria. -Standby_power\:_%1$W=Standby power\: %1$W +Standby_power\:_%sW=Standby power\: %sW # ./src/main/java/mods/eln/transparentnode/turret/TurretGui.java Attack\:=Attack\: @@ -744,10 +744,10 @@ Generates_energy_using_water_stream.=Generates energy using water stream. No_place_for_water_turbine!=No place for water turbine\! # ./src/main/java/mods/eln/transparentnode/windturbine/WindTurbineDescriptor.java -Front\:_%1$=Front\: %1$ +Front\:_%s=Front\: %s Generates_energy_from_wind.=Generates energy from wind. -Left_Right\:_%1$=Left/Right\: %1$ -Up_Down\:_%1$=Up/Down\: %1$ +Left_Right\:_%s=Left/Right\: %s +Up_Down\:_%s=Up/Down\: %s Wind_area\:=Wind area\: # ./src/main/java/mods/eln/wiki/Data.java @@ -769,7 +769,7 @@ Previous=Previous # ./src/main/java/mods/eln/wiki/ItemDefault.java Can_be_used_to_craft\:=Can be used to craft\: Cannot_be_crafted!=Cannot be crafted\! -Cost_%1$J=Cost %1$J +Cost_%sJ=Cost %sJ Created_by\:=Created by\: Is_not_a_crafting_material!=Is not a crafting material\! Recipe\:=Recipe\: @@ -777,45 +777,45 @@ Recipe\:=Recipe\: # Appearing in multiple source files (Increases_capacity)=(Increases capacity) (Increases_inductance)=(Increases inductance) -Actual\:_%1$°C=Actual\: %1$°C +Actual\:_%s°C=Actual\: %s°C Biggest=Biggest Booster_slot=Booster slot Can_create\:=Can create\: -Capacity\:_%1$F=Capacity\: %1$F -Charge_power\:_%1$W=Charge power\: %1$W +Capacity\:_%sF=Capacity\: %sF +Charge_power\:_%sW=Charge power\: %sW Connected=Connected -Cooling_power\:_%1$W=Cooling power\: %1$W +Cooling_power\:_%sW=Cooling power\: %sW Copper_cable_slot=Copper cable slot Dielectric_slot=Dielectric slot -Discharge_power\:_%1$W=Discharge power\: %1$W +Discharge_power\:_%sW=Discharge power\: %sW Electrical_cable_slot=Electrical cable slot Entity_filter_slot=Entity filter slot Ferromagnetic_core_slot=Ferromagnetic core slot Has_a_signal_output.=Has a signal output. -Inductance\:_%1$H=Inductance\: %1$H -Internal_resistance\:_%1$Ω=Internal resistance\: %1$Ω +Inductance\:_%sH=Inductance\: %sH +Internal_resistance\:_%sΩ=Internal resistance\: %sΩ Is_off=Is off Is_on=Is on -Max._temperature\:_%1$°C=Max. temperature\: %1$°C +Max._temperature\:_%s°C=Max. temperature\: %s°C Measured_value\ncorresponding\nto_0%_output=Measured value\ncorresponding\nto 0% output Measured_value\ncorresponding\nto_100%_output=Measured value\ncorresponding\nto 100% output Nominal\:=Nominal\: -Nominal_power\:_%1$W=Nominal power\: %1$W +Nominal_power\:_%sW=Nominal power\: %sW Nominal_usage\:=Nominal usage\: -Nominal_voltage\:_%1$V=Nominal voltage\: %1$V +Nominal_voltage\:_%sV=Nominal voltage\: %sV Not_connected=Not connected Not_enough_space_for_this_block=Not enough space for this block Power=Power -Power\:_%1$W=Power\: %1$W -Range\:_%1$_blocks=Range\: %1$ blocks +Power\:_%sW=Power\: %sW +Range\:_%s_blocks=Range\: %s blocks Redstone_slot=Redstone slot Regulator_slot=Regulator slot Reset=Reset -Resistance\:_%1$Ω=Resistance\: %1$Ω +Resistance\:_%sΩ=Resistance\: %sΩ Smallest=Smallest Specify_the_channel=Specify the channel -Stored_energy\:_%1$J_(%2$%)=Stored energy\: %1$J (%2$%) -Temperature\:_%1$°C=Temperature\: %1$°C +Stored_energy\:_%sJ_(%s)=Stored energy\: %sJ (%s) +Temperature\:_%s°C=Temperature\: %s°C Temperature_gauge=Temperature gauge Thermal_isolator_slot=Thermal isolator slot Toggle=Toggle @@ -825,5 +825,5 @@ Used_to_cool_down_turbines.=Used to cool down turbines. Uses_the_biggest\nvalue_on_the_channel.=Uses the biggest\nvalue on the channel. Uses_the_smallest\nvalue_on_the_channel.=Uses the smallest\nvalue on the channel. Validate=Validate -Voltage\:_%1$V=Voltage\: %1$V +Voltage\:_%sV=Voltage\: %sV You_can't_place_this_block_at_this_side=You can't place this block at this side diff --git a/src/main/resources/assets/eln/lang/pt.lang b/src/main/resources/assets/eln/lang/pt.lang index a0fcdd29b..f4e769aa7 100644 --- a/src/main/resources/assets/eln/lang/pt.lang +++ b/src/main/resources/assets/eln/lang/pt.lang @@ -287,21 +287,21 @@ tile.eln.EnergyConverterElnToOtherLVUBlock.name=50V Electrical Age to other ener tile.eln.EnergyConverterElnToOtherMVUBlock.name=200V Electrical Age to other energy exporter # ./src/main/java/mods/eln/i18n/I18N.java -You_have_%1$_lives_left=You have %1$ lives left +You_have_%s_lives_left=You have %s lives left # ./src/main/java/mods/eln/item/BrushDescriptor.java Brush_is_dry=Brush is dry -Can_paint_%1$_blocks=Can paint %1$ blocks +Can_paint_%s_blocks=Can paint %s blocks # ./src/main/java/mods/eln/item/CombustionChamber.java Upgrade_for_the_Stone_Heat_Furnace.=Upgrade for the Stone Heat Furnace. # ./src/main/java/mods/eln/item/ElectricalDrillDescriptor.java -Energy_per_operation\:_%1$J=Energy per operation\: %1$J -Time_per_operation\:_%1$s=Time per operation\: %1$s +Energy_per_operation\:_%sJ=Energy per operation\: %sJ +Time_per_operation\:_%ss=Time per operation\: %ss # ./src/main/java/mods/eln/item/FerromagneticCoreDescriptor.java -Cable_loss_factor\:_%1$=Cable loss factor\: %1$ +Cable_loss_factor\:_%s=Cable loss factor\: %s # ./src/main/java/mods/eln/item/HeatingCorpElement.java @@ -311,8 +311,8 @@ Condition\:=Condition\: End_of_life=End of life Good=Good New=New -Nominal_lifetime\:_%1$h=Nominal lifetime\: %1$h -Technology\:_%1$=Technology\: %1$ +Nominal_lifetime\:_%sh=Nominal lifetime\: %sh +Technology\:_%s=Technology\: %s Used=Used # ./src/main/java/mods/eln/item/LampSlot.java @@ -333,7 +333,7 @@ Solar_panel_upgrade=Solar panel upgrade Off=Off On=On State\:=State\: -Stored_Energy\:_%1$J_(%2$%)=Stored Energy\: %1$J (%2$%) +Stored_Energy\:_%sJ_(%s)=Stored Energy\: %sJ (%s) # ./src/main/java/mods/eln/item/regulator/RegulatorSlot.java @@ -346,7 +346,7 @@ mod.name=Electrical Age # ./src/main/java/mods/eln/node/six/SixNodeDescriptor.java # ./src/main/java/mods/eln/simplenode/energyconverter/EnergyConverterElnToOtherGui.java -Input_power_is_limited_to_%1$W=Input power is limited to %1$W +Input_power_is_limited_to_%sW=Input power is limited to %sW # ./src/main/java/mods/eln/sixnode/LogicGate.kt _O\:_= O\: @@ -386,12 +386,12 @@ Switch_is_off=Switch is off Switch_is_on=Switch is on # ./src/main/java/mods/eln/sixnode/electricalcable/ElectricalCableDescriptor.java -A_signal_is_electrical_information\nwhich_must_be_between_0V_and_%1$V=A signal is electrical information\nwhich must be between 0V and %1$V +A_signal_is_electrical_information\nwhich_must_be_between_0V_and_%sV=A signal is electrical information\nwhich must be between 0V and %sV Cable_is_adapted_to_conduct\nelectrical_signals.=Cable is adapted to conduct\nelectrical signals. -Current\:_%1$A=Current\: %1$A +Current\:_%sA=Current\: %sA Not_adapted_to_transport_power.=Not adapted to transport power. Save_usage\:=Save usage\: -Serial_resistance\:_%1$Ω=Serial resistance\: %1$Ω +Serial_resistance\:_%sΩ=Serial resistance\: %sΩ # ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerDescriptor.java It_can_store_up_to_256_points.=It can store up to 256 points. @@ -423,10 +423,10 @@ Output_voltage_increases\nif_a_fire_has_been_detected.=Output voltage increases\ Provides_configurable_signal\nvoltage.=Provides configurable signal\nvoltage. # ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceGui.java -Output_at_%1$%=Output at %1$% +Output_at_%s=Output at %s # ./src/main/java/mods/eln/sixnode/electricallightsensor/ElectricalLightSensorDescriptor.java -0V_at_night,_%1$V_at_noon.=0V at night, %1$V at noon. +0V_at_night,_%sV_at_noon.=0V at night, %sV at noon. Provides_an_electrical_voltage\nin_the_presence_of_light.=Provides an electrical voltage\nin the presence of light. Provides_an_electrical_voltage\nwhich_is_proportional_to\nthe_intensity_of_daylight.=Provides an electrical voltage\nwhich is proportional to\nthe intensity of daylight. @@ -439,7 +439,7 @@ Applicable_mathematical_operators\:=Applicable mathematical operators\: Calculates_an_output_signal_from\n3_inputs_(A,_B,_C)_using_an_equation.=Calculates an output signal from\n3 inputs (A, B, C) using an equation. # ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathGui.java -%1$_Redstone(s)_required=%1$ Redstone(s) required +%s_Redstone(s)_required=%s Redstone(s) required Equation_required!=Equation required\! Inputs_are=Inputs are Invalid_equation!=Invalid equation\! @@ -483,13 +483,13 @@ Displays_the_value_of_a_signal.=Displays the value of a signal. Portable_battery_slot=Portable battery slot # ./src/main/java/mods/eln/sixnode/electricalweathersensor/ElectricalWeatherSensorDescriptor.java -Clear\:_%1$V=Clear\: %1$V +Clear\:_%sV=Clear\: %sV Provides_an_electrical_signal\ndepending_the_actual_weather.=Provides an electrical signal\ndepending the actual weather. -Rain\:_%1$V=Rain\: %1$V -Storm\:_%1$V=Storm\: %1$V +Rain\:_%sV=Rain\: %sV +Storm\:_%sV=Storm\: %sV # ./src/main/java/mods/eln/sixnode/electricalwindsensor/ElectricalWindSensorDescriptor.java -Maximum_wind_speed_is_%1$m_s=Maximum wind speed is %1$m/s +Maximum_wind_speed_is_%sm_s=Maximum wind speed is %sm/s Provides_an_electrical_signal\ndependant_on_wind_speed.=Provides an electrical signal\ndependant on wind speed. You_can't_place_this_block_on_the_floor_or_the_ceiling=You can't place this block on the floor or the ceiling @@ -508,7 +508,7 @@ Voltage=Voltage Change_password=Change password Counter_Mode=Counter Mode Counts_the_energy_conducted_from\n\u00a74red\u00a7f_to_\u00a71blue\u00a7f.=Counts the energy conducted from\n\\u00a74red\\u00a7f to \\u00a71blue\\u00a7f. -Energy_counter\:_%1$J=Energy counter\: %1$J +Energy_counter\:_%sJ=Energy counter\: %sJ Enter_new_energy=Enter new energy Enter_password=Enter password Prepay_Mode=Prepay Mode @@ -529,13 +529,13 @@ Provides_a_zero_volt_reference.=Provides a zero volt reference. Allows_crossing_cables\non_one_single_block.=Allows crossing cables\non one single block. # ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketDescriptor.java -Angle\:_%1$°_to_%2$°=Angle\: %1$° to %2$° -Spot_range\:_%1$_blocks=Spot range\: %1$ blocks +Angle\:_%s°_to_%s°=Angle\: %s° to %s° +Spot_range\:_%s_blocks=Spot range\: %s blocks # ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketGuiDraw.java -%1$_is_not_in_range!=%1$ is not in range\! +%s_is_not_in_range!=%s is not in range\! Cable_slot_empty=Cable slot empty -Orientation\:_%1$°=Orientation\: %1$° +Orientation\:_%s°=Orientation\: %s° Parallel=Parallel Powered_by_Lamp_Supply=Powered by Lamp Supply Powered_by_cable=Powered by cable @@ -584,8 +584,8 @@ Coal_dust_slot=Coal dust slot # ./src/main/java/mods/eln/sixnode/thermalcable/ThermalCableDescriptor.java High_parallel_resistance\n_\=>_Low_power_dissipation.=High parallel resistance\n \=> Low power dissipation. Low_serial_resistance\n_\=>_High_conductivity.=Low serial resistance\n \=> High conductivity. -Parallel_resistance\:_%1$K_W=Parallel resistance\: %1$K/W -Serial_resistance\:_%1$K_W=Serial resistance\: %1$K/W +Parallel_resistance\:_%sK_W=Parallel resistance\: %sK/W +Serial_resistance\:_%sK_W=Serial resistance\: %sK/W # ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorContainer.java Cable_slot=Cable slot @@ -610,12 +610,12 @@ Set_beacon_name=Set beacon name # ./src/main/java/mods/eln/sixnode/wirelesssignal/rx/WirelessSignalRxGui.java # ./src/main/java/mods/eln/transparentnode/FuelGenerator.kt -Nominal_power\:_%1$_W=Nominal power\: %1$ W -Nominal_voltage\:_%1$_V=Nominal voltage\: %1$ V +Nominal_power\:_%s_W=Nominal power\: %s W +Nominal_voltage\:_%s_V=Nominal voltage\: %s V Produces_electricity_using_fuel.=Produces electricity using fuel. # ./src/main/java/mods/eln/transparentnode/LargeRheostat.kt -Nom._Resistance\:_%1$=Nom. Resistance\: %1$ +Nom._Resistance\:_%s=Nom. Resistance\: %s # ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerContainer.java Drill_slot=Drill slot @@ -637,16 +637,16 @@ Overheating_protection=Overheating protection Overvoltage_protection=Overvoltage protection # ./src/main/java/mods/eln/transparentnode/battery/BatteryDescriptor.java -Actual_charge\:_%1$%=Actual charge\: %1$% -Energy_capacity\:_%1$J=Energy capacity\: %1$J -_charged_at_%1$%=charged at %1$% +Actual_charge\:_%s=Actual charge\: %s +Energy_capacity\:_%sJ=Energy capacity\: %sJ +_charged_at_%s=charged at %s # ./src/main/java/mods/eln/transparentnode/battery/BatteryGuiDraw.java Charge=Charge Charged=Charged Discharge=Discharge Energy\:=Energy\: -Energy\:_%1$=Energy\: %1$ +Energy\:_%s=Energy\: %s Life\:=Life\: No_charge=No charge Power_in\:=Power in\: @@ -659,7 +659,7 @@ Egg_slot=Egg slot Wireless_energy_receiver.=Wireless energy receiver. # ./src/main/java/mods/eln/transparentnode/electricalantennatx/ElectricalAntennaTxDescriptor.java -Efficiency\:_%1$%_up_to_%2$%=Efficiency\: %1$% up to %2$% +Efficiency\:_%s_up_to_%s=Efficiency\: %s up to %s Wireless_energy_transmitter.=Wireless energy transmitter. # ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceContainer.java @@ -671,7 +671,7 @@ Similar_to_a_vanilla_furnace,\nbut_heats_with_electricity.=Similar to a vanilla # ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceGuiDraw.java Auto_shutdown=Auto shutdown Manual_shutdown=Manual shutdown -Set_point\:_%1$°C=Set point\: %1$°C +Set_point\:_%s°C=Set point\: %s°C # ./src/main/java/mods/eln/transparentnode/electricalmachine/ElectricalMachineDescriptor.java Cost=Cost @@ -684,7 +684,7 @@ Fuel_slot=Fuel slot Generates_heat_when_supplied_with_fuel.=Generates heat when supplied with fuel. # ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceGuiDraw.java -Control_gauge_at_%1$%=Control gauge at %1$% +Control_gauge_at_%s=Control gauge at %s Decline_fuel=Decline fuel External_control=External control Internal_control=Internal control @@ -698,27 +698,27 @@ Solar_tracker_slot=Solar tracker slot # ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelDescriptor.java Can_be_geared_towards_the_sun.=Can be geared towards the sun. -Max._power\:_%1$W=Max. power\: %1$W -Max._voltage\:_%1$V=Max. voltage\: %1$V +Max._power\:_%sW=Max. power\: %sW +Max._voltage\:_%sV=Max. voltage\: %sV Produces_power_from_solar_radiation.=Produces power from solar radiation. # ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPannelGuiDraw.java It_is_night=It is night -Solar_panel_angle\:_%1$°=Solar panel angle\: %1$° -Sun_angle\:_%1$°=Sun angle\: %1$° +Solar_panel_angle\:_%s°=Solar panel angle\: %s° +Sun_angle\:_%s°=Sun angle\: %s° # ./src/main/java/mods/eln/transparentnode/teleporter/TeleporterGui.java Destination_transporter=Destination transporter Power_consumption\:=Power consumption\: -Power_consumption\:_%1$W=Power consumption\: %1$W -Required_energy\:_%1$J=Required energy\: %1$J +Power_consumption\:_%sW=Power consumption\: %sW +Required_energy\:_%sJ=Required energy\: %sJ Start=Start Transporter_name=Transporter name # ./src/main/java/mods/eln/transparentnode/thermaldissipatoractive/ThermalDissipatorActiveDescriptor.java -Fan_cooling_power\:_%1$W=Fan cooling power\: %1$W -Fan_power_consumption\:_%1$W=Fan power consumption\: %1$W -Fan_voltage\:_%1$V=Fan voltage\: %1$V +Fan_cooling_power\:_%sW=Fan cooling power\: %sW +Fan_power_consumption\:_%sW=Fan power consumption\: %sW +Fan_voltage\:_%sV=Fan voltage\: %sV # ./src/main/java/mods/eln/transparentnode/transformer/TransformerDescriptor.java The_voltage_ratio_is_proportional\nto_the_cable_stacks_count_ratio.=The voltage ratio is proportional\nto the cable stacks count ratio. @@ -726,13 +726,13 @@ Transforms_an_input_voltage_to\nan_output_voltage.=Transforms an input voltage t # ./src/main/java/mods/eln/transparentnode/turbine/TurbineDescriptor.java Generates_electricity_using_heat.=Generates electricity using heat. -Temperature_difference\:_%1$°C=Temperature difference\: %1$°C +Temperature_difference\:_%s°C=Temperature difference\: %s°C # ./src/main/java/mods/eln/transparentnode/turret/TurretDescriptor.java CAUTION\:_Cables_can_get_quite_hot!=CAUTION\: Cables can get quite hot\! -Laser_charge_power\:_%1$W...%2$kW=Laser charge power\: %1$W...%2$kW +Laser_charge_power\:_%sW...%skW=Laser charge power\: %sW...%skW Scans_for_entities_and_shoots_if_the\nentity_matches_the_configurable_filter_criteria.=Scans for entities and shoots if the\nentity matches the configurable filter criteria. -Standby_power\:_%1$W=Standby power\: %1$W +Standby_power\:_%sW=Standby power\: %sW # ./src/main/java/mods/eln/transparentnode/turret/TurretGui.java Attack\:=Attack\: @@ -744,10 +744,10 @@ Generates_energy_using_water_stream.=Generates energy using water stream. No_place_for_water_turbine!=No place for water turbine\! # ./src/main/java/mods/eln/transparentnode/windturbine/WindTurbineDescriptor.java -Front\:_%1$=Front\: %1$ +Front\:_%s=Front\: %s Generates_energy_from_wind.=Generates energy from wind. -Left_Right\:_%1$=Left/Right\: %1$ -Up_Down\:_%1$=Up/Down\: %1$ +Left_Right\:_%s=Left/Right\: %s +Up_Down\:_%s=Up/Down\: %s Wind_area\:=Wind area\: # ./src/main/java/mods/eln/wiki/Data.java @@ -769,7 +769,7 @@ Previous=Previous # ./src/main/java/mods/eln/wiki/ItemDefault.java Can_be_used_to_craft\:=Can be used to craft\: Cannot_be_crafted!=Cannot be crafted\! -Cost_%1$J=Cost %1$J +Cost_%sJ=Cost %sJ Created_by\:=Created by\: Is_not_a_crafting_material!=Is not a crafting material\! Recipe\:=Recipe\: @@ -777,45 +777,45 @@ Recipe\:=Recipe\: # Appearing in multiple source files (Increases_capacity)=(Increases capacity) (Increases_inductance)=(Increases inductance) -Actual\:_%1$°C=Actual\: %1$°C +Actual\:_%s°C=Actual\: %s°C Biggest=Biggest Booster_slot=Booster slot Can_create\:=Can create\: -Capacity\:_%1$F=Capacity\: %1$F -Charge_power\:_%1$W=Charge power\: %1$W +Capacity\:_%sF=Capacity\: %sF +Charge_power\:_%sW=Charge power\: %sW Connected=Connected -Cooling_power\:_%1$W=Cooling power\: %1$W +Cooling_power\:_%sW=Cooling power\: %sW Copper_cable_slot=Copper cable slot Dielectric_slot=Dielectric slot -Discharge_power\:_%1$W=Discharge power\: %1$W +Discharge_power\:_%sW=Discharge power\: %sW Electrical_cable_slot=Electrical cable slot Entity_filter_slot=Entity filter slot Ferromagnetic_core_slot=Ferromagnetic core slot Has_a_signal_output.=Has a signal output. -Inductance\:_%1$H=Inductance\: %1$H -Internal_resistance\:_%1$Ω=Internal resistance\: %1$Ω +Inductance\:_%sH=Inductance\: %sH +Internal_resistance\:_%sΩ=Internal resistance\: %sΩ Is_off=Is off Is_on=Is on -Max._temperature\:_%1$°C=Max. temperature\: %1$°C +Max._temperature\:_%s°C=Max. temperature\: %s°C Measured_value\ncorresponding\nto_0%_output=Measured value\ncorresponding\nto 0% output Measured_value\ncorresponding\nto_100%_output=Measured value\ncorresponding\nto 100% output Nominal\:=Nominal\: -Nominal_power\:_%1$W=Nominal power\: %1$W +Nominal_power\:_%sW=Nominal power\: %sW Nominal_usage\:=Nominal usage\: -Nominal_voltage\:_%1$V=Nominal voltage\: %1$V +Nominal_voltage\:_%sV=Nominal voltage\: %sV Not_connected=Not connected Not_enough_space_for_this_block=Not enough space for this block Power=Power -Power\:_%1$W=Power\: %1$W -Range\:_%1$_blocks=Range\: %1$ blocks +Power\:_%sW=Power\: %sW +Range\:_%s_blocks=Range\: %s blocks Redstone_slot=Redstone slot Regulator_slot=Regulator slot Reset=Reset -Resistance\:_%1$Ω=Resistance\: %1$Ω +Resistance\:_%sΩ=Resistance\: %sΩ Smallest=Smallest Specify_the_channel=Specify the channel -Stored_energy\:_%1$J_(%2$%)=Stored energy\: %1$J (%2$%) -Temperature\:_%1$°C=Temperature\: %1$°C +Stored_energy\:_%sJ_(%s)=Stored energy\: %sJ (%s) +Temperature\:_%s°C=Temperature\: %s°C Temperature_gauge=Temperature gauge Thermal_isolator_slot=Thermal isolator slot Toggle=Toggle @@ -825,5 +825,5 @@ Used_to_cool_down_turbines.=Used to cool down turbines. Uses_the_biggest\nvalue_on_the_channel.=Uses the biggest\nvalue on the channel. Uses_the_smallest\nvalue_on_the_channel.=Uses the smallest\nvalue on the channel. Validate=Validate -Voltage\:_%1$V=Voltage\: %1$V +Voltage\:_%sV=Voltage\: %sV You_can't_place_this_block_at_this_side=You can't place this block at this side diff --git a/src/main/resources/assets/eln/lang/pt_BR.lang b/src/main/resources/assets/eln/lang/pt_BR.lang index a0fcdd29b..f4e769aa7 100644 --- a/src/main/resources/assets/eln/lang/pt_BR.lang +++ b/src/main/resources/assets/eln/lang/pt_BR.lang @@ -287,21 +287,21 @@ tile.eln.EnergyConverterElnToOtherLVUBlock.name=50V Electrical Age to other ener tile.eln.EnergyConverterElnToOtherMVUBlock.name=200V Electrical Age to other energy exporter # ./src/main/java/mods/eln/i18n/I18N.java -You_have_%1$_lives_left=You have %1$ lives left +You_have_%s_lives_left=You have %s lives left # ./src/main/java/mods/eln/item/BrushDescriptor.java Brush_is_dry=Brush is dry -Can_paint_%1$_blocks=Can paint %1$ blocks +Can_paint_%s_blocks=Can paint %s blocks # ./src/main/java/mods/eln/item/CombustionChamber.java Upgrade_for_the_Stone_Heat_Furnace.=Upgrade for the Stone Heat Furnace. # ./src/main/java/mods/eln/item/ElectricalDrillDescriptor.java -Energy_per_operation\:_%1$J=Energy per operation\: %1$J -Time_per_operation\:_%1$s=Time per operation\: %1$s +Energy_per_operation\:_%sJ=Energy per operation\: %sJ +Time_per_operation\:_%ss=Time per operation\: %ss # ./src/main/java/mods/eln/item/FerromagneticCoreDescriptor.java -Cable_loss_factor\:_%1$=Cable loss factor\: %1$ +Cable_loss_factor\:_%s=Cable loss factor\: %s # ./src/main/java/mods/eln/item/HeatingCorpElement.java @@ -311,8 +311,8 @@ Condition\:=Condition\: End_of_life=End of life Good=Good New=New -Nominal_lifetime\:_%1$h=Nominal lifetime\: %1$h -Technology\:_%1$=Technology\: %1$ +Nominal_lifetime\:_%sh=Nominal lifetime\: %sh +Technology\:_%s=Technology\: %s Used=Used # ./src/main/java/mods/eln/item/LampSlot.java @@ -333,7 +333,7 @@ Solar_panel_upgrade=Solar panel upgrade Off=Off On=On State\:=State\: -Stored_Energy\:_%1$J_(%2$%)=Stored Energy\: %1$J (%2$%) +Stored_Energy\:_%sJ_(%s)=Stored Energy\: %sJ (%s) # ./src/main/java/mods/eln/item/regulator/RegulatorSlot.java @@ -346,7 +346,7 @@ mod.name=Electrical Age # ./src/main/java/mods/eln/node/six/SixNodeDescriptor.java # ./src/main/java/mods/eln/simplenode/energyconverter/EnergyConverterElnToOtherGui.java -Input_power_is_limited_to_%1$W=Input power is limited to %1$W +Input_power_is_limited_to_%sW=Input power is limited to %sW # ./src/main/java/mods/eln/sixnode/LogicGate.kt _O\:_= O\: @@ -386,12 +386,12 @@ Switch_is_off=Switch is off Switch_is_on=Switch is on # ./src/main/java/mods/eln/sixnode/electricalcable/ElectricalCableDescriptor.java -A_signal_is_electrical_information\nwhich_must_be_between_0V_and_%1$V=A signal is electrical information\nwhich must be between 0V and %1$V +A_signal_is_electrical_information\nwhich_must_be_between_0V_and_%sV=A signal is electrical information\nwhich must be between 0V and %sV Cable_is_adapted_to_conduct\nelectrical_signals.=Cable is adapted to conduct\nelectrical signals. -Current\:_%1$A=Current\: %1$A +Current\:_%sA=Current\: %sA Not_adapted_to_transport_power.=Not adapted to transport power. Save_usage\:=Save usage\: -Serial_resistance\:_%1$Ω=Serial resistance\: %1$Ω +Serial_resistance\:_%sΩ=Serial resistance\: %sΩ # ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerDescriptor.java It_can_store_up_to_256_points.=It can store up to 256 points. @@ -423,10 +423,10 @@ Output_voltage_increases\nif_a_fire_has_been_detected.=Output voltage increases\ Provides_configurable_signal\nvoltage.=Provides configurable signal\nvoltage. # ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceGui.java -Output_at_%1$%=Output at %1$% +Output_at_%s=Output at %s # ./src/main/java/mods/eln/sixnode/electricallightsensor/ElectricalLightSensorDescriptor.java -0V_at_night,_%1$V_at_noon.=0V at night, %1$V at noon. +0V_at_night,_%sV_at_noon.=0V at night, %sV at noon. Provides_an_electrical_voltage\nin_the_presence_of_light.=Provides an electrical voltage\nin the presence of light. Provides_an_electrical_voltage\nwhich_is_proportional_to\nthe_intensity_of_daylight.=Provides an electrical voltage\nwhich is proportional to\nthe intensity of daylight. @@ -439,7 +439,7 @@ Applicable_mathematical_operators\:=Applicable mathematical operators\: Calculates_an_output_signal_from\n3_inputs_(A,_B,_C)_using_an_equation.=Calculates an output signal from\n3 inputs (A, B, C) using an equation. # ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathGui.java -%1$_Redstone(s)_required=%1$ Redstone(s) required +%s_Redstone(s)_required=%s Redstone(s) required Equation_required!=Equation required\! Inputs_are=Inputs are Invalid_equation!=Invalid equation\! @@ -483,13 +483,13 @@ Displays_the_value_of_a_signal.=Displays the value of a signal. Portable_battery_slot=Portable battery slot # ./src/main/java/mods/eln/sixnode/electricalweathersensor/ElectricalWeatherSensorDescriptor.java -Clear\:_%1$V=Clear\: %1$V +Clear\:_%sV=Clear\: %sV Provides_an_electrical_signal\ndepending_the_actual_weather.=Provides an electrical signal\ndepending the actual weather. -Rain\:_%1$V=Rain\: %1$V -Storm\:_%1$V=Storm\: %1$V +Rain\:_%sV=Rain\: %sV +Storm\:_%sV=Storm\: %sV # ./src/main/java/mods/eln/sixnode/electricalwindsensor/ElectricalWindSensorDescriptor.java -Maximum_wind_speed_is_%1$m_s=Maximum wind speed is %1$m/s +Maximum_wind_speed_is_%sm_s=Maximum wind speed is %sm/s Provides_an_electrical_signal\ndependant_on_wind_speed.=Provides an electrical signal\ndependant on wind speed. You_can't_place_this_block_on_the_floor_or_the_ceiling=You can't place this block on the floor or the ceiling @@ -508,7 +508,7 @@ Voltage=Voltage Change_password=Change password Counter_Mode=Counter Mode Counts_the_energy_conducted_from\n\u00a74red\u00a7f_to_\u00a71blue\u00a7f.=Counts the energy conducted from\n\\u00a74red\\u00a7f to \\u00a71blue\\u00a7f. -Energy_counter\:_%1$J=Energy counter\: %1$J +Energy_counter\:_%sJ=Energy counter\: %sJ Enter_new_energy=Enter new energy Enter_password=Enter password Prepay_Mode=Prepay Mode @@ -529,13 +529,13 @@ Provides_a_zero_volt_reference.=Provides a zero volt reference. Allows_crossing_cables\non_one_single_block.=Allows crossing cables\non one single block. # ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketDescriptor.java -Angle\:_%1$°_to_%2$°=Angle\: %1$° to %2$° -Spot_range\:_%1$_blocks=Spot range\: %1$ blocks +Angle\:_%s°_to_%s°=Angle\: %s° to %s° +Spot_range\:_%s_blocks=Spot range\: %s blocks # ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketGuiDraw.java -%1$_is_not_in_range!=%1$ is not in range\! +%s_is_not_in_range!=%s is not in range\! Cable_slot_empty=Cable slot empty -Orientation\:_%1$°=Orientation\: %1$° +Orientation\:_%s°=Orientation\: %s° Parallel=Parallel Powered_by_Lamp_Supply=Powered by Lamp Supply Powered_by_cable=Powered by cable @@ -584,8 +584,8 @@ Coal_dust_slot=Coal dust slot # ./src/main/java/mods/eln/sixnode/thermalcable/ThermalCableDescriptor.java High_parallel_resistance\n_\=>_Low_power_dissipation.=High parallel resistance\n \=> Low power dissipation. Low_serial_resistance\n_\=>_High_conductivity.=Low serial resistance\n \=> High conductivity. -Parallel_resistance\:_%1$K_W=Parallel resistance\: %1$K/W -Serial_resistance\:_%1$K_W=Serial resistance\: %1$K/W +Parallel_resistance\:_%sK_W=Parallel resistance\: %sK/W +Serial_resistance\:_%sK_W=Serial resistance\: %sK/W # ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorContainer.java Cable_slot=Cable slot @@ -610,12 +610,12 @@ Set_beacon_name=Set beacon name # ./src/main/java/mods/eln/sixnode/wirelesssignal/rx/WirelessSignalRxGui.java # ./src/main/java/mods/eln/transparentnode/FuelGenerator.kt -Nominal_power\:_%1$_W=Nominal power\: %1$ W -Nominal_voltage\:_%1$_V=Nominal voltage\: %1$ V +Nominal_power\:_%s_W=Nominal power\: %s W +Nominal_voltage\:_%s_V=Nominal voltage\: %s V Produces_electricity_using_fuel.=Produces electricity using fuel. # ./src/main/java/mods/eln/transparentnode/LargeRheostat.kt -Nom._Resistance\:_%1$=Nom. Resistance\: %1$ +Nom._Resistance\:_%s=Nom. Resistance\: %s # ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerContainer.java Drill_slot=Drill slot @@ -637,16 +637,16 @@ Overheating_protection=Overheating protection Overvoltage_protection=Overvoltage protection # ./src/main/java/mods/eln/transparentnode/battery/BatteryDescriptor.java -Actual_charge\:_%1$%=Actual charge\: %1$% -Energy_capacity\:_%1$J=Energy capacity\: %1$J -_charged_at_%1$%=charged at %1$% +Actual_charge\:_%s=Actual charge\: %s +Energy_capacity\:_%sJ=Energy capacity\: %sJ +_charged_at_%s=charged at %s # ./src/main/java/mods/eln/transparentnode/battery/BatteryGuiDraw.java Charge=Charge Charged=Charged Discharge=Discharge Energy\:=Energy\: -Energy\:_%1$=Energy\: %1$ +Energy\:_%s=Energy\: %s Life\:=Life\: No_charge=No charge Power_in\:=Power in\: @@ -659,7 +659,7 @@ Egg_slot=Egg slot Wireless_energy_receiver.=Wireless energy receiver. # ./src/main/java/mods/eln/transparentnode/electricalantennatx/ElectricalAntennaTxDescriptor.java -Efficiency\:_%1$%_up_to_%2$%=Efficiency\: %1$% up to %2$% +Efficiency\:_%s_up_to_%s=Efficiency\: %s up to %s Wireless_energy_transmitter.=Wireless energy transmitter. # ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceContainer.java @@ -671,7 +671,7 @@ Similar_to_a_vanilla_furnace,\nbut_heats_with_electricity.=Similar to a vanilla # ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceGuiDraw.java Auto_shutdown=Auto shutdown Manual_shutdown=Manual shutdown -Set_point\:_%1$°C=Set point\: %1$°C +Set_point\:_%s°C=Set point\: %s°C # ./src/main/java/mods/eln/transparentnode/electricalmachine/ElectricalMachineDescriptor.java Cost=Cost @@ -684,7 +684,7 @@ Fuel_slot=Fuel slot Generates_heat_when_supplied_with_fuel.=Generates heat when supplied with fuel. # ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceGuiDraw.java -Control_gauge_at_%1$%=Control gauge at %1$% +Control_gauge_at_%s=Control gauge at %s Decline_fuel=Decline fuel External_control=External control Internal_control=Internal control @@ -698,27 +698,27 @@ Solar_tracker_slot=Solar tracker slot # ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelDescriptor.java Can_be_geared_towards_the_sun.=Can be geared towards the sun. -Max._power\:_%1$W=Max. power\: %1$W -Max._voltage\:_%1$V=Max. voltage\: %1$V +Max._power\:_%sW=Max. power\: %sW +Max._voltage\:_%sV=Max. voltage\: %sV Produces_power_from_solar_radiation.=Produces power from solar radiation. # ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPannelGuiDraw.java It_is_night=It is night -Solar_panel_angle\:_%1$°=Solar panel angle\: %1$° -Sun_angle\:_%1$°=Sun angle\: %1$° +Solar_panel_angle\:_%s°=Solar panel angle\: %s° +Sun_angle\:_%s°=Sun angle\: %s° # ./src/main/java/mods/eln/transparentnode/teleporter/TeleporterGui.java Destination_transporter=Destination transporter Power_consumption\:=Power consumption\: -Power_consumption\:_%1$W=Power consumption\: %1$W -Required_energy\:_%1$J=Required energy\: %1$J +Power_consumption\:_%sW=Power consumption\: %sW +Required_energy\:_%sJ=Required energy\: %sJ Start=Start Transporter_name=Transporter name # ./src/main/java/mods/eln/transparentnode/thermaldissipatoractive/ThermalDissipatorActiveDescriptor.java -Fan_cooling_power\:_%1$W=Fan cooling power\: %1$W -Fan_power_consumption\:_%1$W=Fan power consumption\: %1$W -Fan_voltage\:_%1$V=Fan voltage\: %1$V +Fan_cooling_power\:_%sW=Fan cooling power\: %sW +Fan_power_consumption\:_%sW=Fan power consumption\: %sW +Fan_voltage\:_%sV=Fan voltage\: %sV # ./src/main/java/mods/eln/transparentnode/transformer/TransformerDescriptor.java The_voltage_ratio_is_proportional\nto_the_cable_stacks_count_ratio.=The voltage ratio is proportional\nto the cable stacks count ratio. @@ -726,13 +726,13 @@ Transforms_an_input_voltage_to\nan_output_voltage.=Transforms an input voltage t # ./src/main/java/mods/eln/transparentnode/turbine/TurbineDescriptor.java Generates_electricity_using_heat.=Generates electricity using heat. -Temperature_difference\:_%1$°C=Temperature difference\: %1$°C +Temperature_difference\:_%s°C=Temperature difference\: %s°C # ./src/main/java/mods/eln/transparentnode/turret/TurretDescriptor.java CAUTION\:_Cables_can_get_quite_hot!=CAUTION\: Cables can get quite hot\! -Laser_charge_power\:_%1$W...%2$kW=Laser charge power\: %1$W...%2$kW +Laser_charge_power\:_%sW...%skW=Laser charge power\: %sW...%skW Scans_for_entities_and_shoots_if_the\nentity_matches_the_configurable_filter_criteria.=Scans for entities and shoots if the\nentity matches the configurable filter criteria. -Standby_power\:_%1$W=Standby power\: %1$W +Standby_power\:_%sW=Standby power\: %sW # ./src/main/java/mods/eln/transparentnode/turret/TurretGui.java Attack\:=Attack\: @@ -744,10 +744,10 @@ Generates_energy_using_water_stream.=Generates energy using water stream. No_place_for_water_turbine!=No place for water turbine\! # ./src/main/java/mods/eln/transparentnode/windturbine/WindTurbineDescriptor.java -Front\:_%1$=Front\: %1$ +Front\:_%s=Front\: %s Generates_energy_from_wind.=Generates energy from wind. -Left_Right\:_%1$=Left/Right\: %1$ -Up_Down\:_%1$=Up/Down\: %1$ +Left_Right\:_%s=Left/Right\: %s +Up_Down\:_%s=Up/Down\: %s Wind_area\:=Wind area\: # ./src/main/java/mods/eln/wiki/Data.java @@ -769,7 +769,7 @@ Previous=Previous # ./src/main/java/mods/eln/wiki/ItemDefault.java Can_be_used_to_craft\:=Can be used to craft\: Cannot_be_crafted!=Cannot be crafted\! -Cost_%1$J=Cost %1$J +Cost_%sJ=Cost %sJ Created_by\:=Created by\: Is_not_a_crafting_material!=Is not a crafting material\! Recipe\:=Recipe\: @@ -777,45 +777,45 @@ Recipe\:=Recipe\: # Appearing in multiple source files (Increases_capacity)=(Increases capacity) (Increases_inductance)=(Increases inductance) -Actual\:_%1$°C=Actual\: %1$°C +Actual\:_%s°C=Actual\: %s°C Biggest=Biggest Booster_slot=Booster slot Can_create\:=Can create\: -Capacity\:_%1$F=Capacity\: %1$F -Charge_power\:_%1$W=Charge power\: %1$W +Capacity\:_%sF=Capacity\: %sF +Charge_power\:_%sW=Charge power\: %sW Connected=Connected -Cooling_power\:_%1$W=Cooling power\: %1$W +Cooling_power\:_%sW=Cooling power\: %sW Copper_cable_slot=Copper cable slot Dielectric_slot=Dielectric slot -Discharge_power\:_%1$W=Discharge power\: %1$W +Discharge_power\:_%sW=Discharge power\: %sW Electrical_cable_slot=Electrical cable slot Entity_filter_slot=Entity filter slot Ferromagnetic_core_slot=Ferromagnetic core slot Has_a_signal_output.=Has a signal output. -Inductance\:_%1$H=Inductance\: %1$H -Internal_resistance\:_%1$Ω=Internal resistance\: %1$Ω +Inductance\:_%sH=Inductance\: %sH +Internal_resistance\:_%sΩ=Internal resistance\: %sΩ Is_off=Is off Is_on=Is on -Max._temperature\:_%1$°C=Max. temperature\: %1$°C +Max._temperature\:_%s°C=Max. temperature\: %s°C Measured_value\ncorresponding\nto_0%_output=Measured value\ncorresponding\nto 0% output Measured_value\ncorresponding\nto_100%_output=Measured value\ncorresponding\nto 100% output Nominal\:=Nominal\: -Nominal_power\:_%1$W=Nominal power\: %1$W +Nominal_power\:_%sW=Nominal power\: %sW Nominal_usage\:=Nominal usage\: -Nominal_voltage\:_%1$V=Nominal voltage\: %1$V +Nominal_voltage\:_%sV=Nominal voltage\: %sV Not_connected=Not connected Not_enough_space_for_this_block=Not enough space for this block Power=Power -Power\:_%1$W=Power\: %1$W -Range\:_%1$_blocks=Range\: %1$ blocks +Power\:_%sW=Power\: %sW +Range\:_%s_blocks=Range\: %s blocks Redstone_slot=Redstone slot Regulator_slot=Regulator slot Reset=Reset -Resistance\:_%1$Ω=Resistance\: %1$Ω +Resistance\:_%sΩ=Resistance\: %sΩ Smallest=Smallest Specify_the_channel=Specify the channel -Stored_energy\:_%1$J_(%2$%)=Stored energy\: %1$J (%2$%) -Temperature\:_%1$°C=Temperature\: %1$°C +Stored_energy\:_%sJ_(%s)=Stored energy\: %sJ (%s) +Temperature\:_%s°C=Temperature\: %s°C Temperature_gauge=Temperature gauge Thermal_isolator_slot=Thermal isolator slot Toggle=Toggle @@ -825,5 +825,5 @@ Used_to_cool_down_turbines.=Used to cool down turbines. Uses_the_biggest\nvalue_on_the_channel.=Uses the biggest\nvalue on the channel. Uses_the_smallest\nvalue_on_the_channel.=Uses the smallest\nvalue on the channel. Validate=Validate -Voltage\:_%1$V=Voltage\: %1$V +Voltage\:_%sV=Voltage\: %sV You_can't_place_this_block_at_this_side=You can't place this block at this side diff --git a/src/main/resources/assets/eln/lang/ro.lang b/src/main/resources/assets/eln/lang/ro.lang index a0fcdd29b..f4e769aa7 100644 --- a/src/main/resources/assets/eln/lang/ro.lang +++ b/src/main/resources/assets/eln/lang/ro.lang @@ -287,21 +287,21 @@ tile.eln.EnergyConverterElnToOtherLVUBlock.name=50V Electrical Age to other ener tile.eln.EnergyConverterElnToOtherMVUBlock.name=200V Electrical Age to other energy exporter # ./src/main/java/mods/eln/i18n/I18N.java -You_have_%1$_lives_left=You have %1$ lives left +You_have_%s_lives_left=You have %s lives left # ./src/main/java/mods/eln/item/BrushDescriptor.java Brush_is_dry=Brush is dry -Can_paint_%1$_blocks=Can paint %1$ blocks +Can_paint_%s_blocks=Can paint %s blocks # ./src/main/java/mods/eln/item/CombustionChamber.java Upgrade_for_the_Stone_Heat_Furnace.=Upgrade for the Stone Heat Furnace. # ./src/main/java/mods/eln/item/ElectricalDrillDescriptor.java -Energy_per_operation\:_%1$J=Energy per operation\: %1$J -Time_per_operation\:_%1$s=Time per operation\: %1$s +Energy_per_operation\:_%sJ=Energy per operation\: %sJ +Time_per_operation\:_%ss=Time per operation\: %ss # ./src/main/java/mods/eln/item/FerromagneticCoreDescriptor.java -Cable_loss_factor\:_%1$=Cable loss factor\: %1$ +Cable_loss_factor\:_%s=Cable loss factor\: %s # ./src/main/java/mods/eln/item/HeatingCorpElement.java @@ -311,8 +311,8 @@ Condition\:=Condition\: End_of_life=End of life Good=Good New=New -Nominal_lifetime\:_%1$h=Nominal lifetime\: %1$h -Technology\:_%1$=Technology\: %1$ +Nominal_lifetime\:_%sh=Nominal lifetime\: %sh +Technology\:_%s=Technology\: %s Used=Used # ./src/main/java/mods/eln/item/LampSlot.java @@ -333,7 +333,7 @@ Solar_panel_upgrade=Solar panel upgrade Off=Off On=On State\:=State\: -Stored_Energy\:_%1$J_(%2$%)=Stored Energy\: %1$J (%2$%) +Stored_Energy\:_%sJ_(%s)=Stored Energy\: %sJ (%s) # ./src/main/java/mods/eln/item/regulator/RegulatorSlot.java @@ -346,7 +346,7 @@ mod.name=Electrical Age # ./src/main/java/mods/eln/node/six/SixNodeDescriptor.java # ./src/main/java/mods/eln/simplenode/energyconverter/EnergyConverterElnToOtherGui.java -Input_power_is_limited_to_%1$W=Input power is limited to %1$W +Input_power_is_limited_to_%sW=Input power is limited to %sW # ./src/main/java/mods/eln/sixnode/LogicGate.kt _O\:_= O\: @@ -386,12 +386,12 @@ Switch_is_off=Switch is off Switch_is_on=Switch is on # ./src/main/java/mods/eln/sixnode/electricalcable/ElectricalCableDescriptor.java -A_signal_is_electrical_information\nwhich_must_be_between_0V_and_%1$V=A signal is electrical information\nwhich must be between 0V and %1$V +A_signal_is_electrical_information\nwhich_must_be_between_0V_and_%sV=A signal is electrical information\nwhich must be between 0V and %sV Cable_is_adapted_to_conduct\nelectrical_signals.=Cable is adapted to conduct\nelectrical signals. -Current\:_%1$A=Current\: %1$A +Current\:_%sA=Current\: %sA Not_adapted_to_transport_power.=Not adapted to transport power. Save_usage\:=Save usage\: -Serial_resistance\:_%1$Ω=Serial resistance\: %1$Ω +Serial_resistance\:_%sΩ=Serial resistance\: %sΩ # ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerDescriptor.java It_can_store_up_to_256_points.=It can store up to 256 points. @@ -423,10 +423,10 @@ Output_voltage_increases\nif_a_fire_has_been_detected.=Output voltage increases\ Provides_configurable_signal\nvoltage.=Provides configurable signal\nvoltage. # ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceGui.java -Output_at_%1$%=Output at %1$% +Output_at_%s=Output at %s # ./src/main/java/mods/eln/sixnode/electricallightsensor/ElectricalLightSensorDescriptor.java -0V_at_night,_%1$V_at_noon.=0V at night, %1$V at noon. +0V_at_night,_%sV_at_noon.=0V at night, %sV at noon. Provides_an_electrical_voltage\nin_the_presence_of_light.=Provides an electrical voltage\nin the presence of light. Provides_an_electrical_voltage\nwhich_is_proportional_to\nthe_intensity_of_daylight.=Provides an electrical voltage\nwhich is proportional to\nthe intensity of daylight. @@ -439,7 +439,7 @@ Applicable_mathematical_operators\:=Applicable mathematical operators\: Calculates_an_output_signal_from\n3_inputs_(A,_B,_C)_using_an_equation.=Calculates an output signal from\n3 inputs (A, B, C) using an equation. # ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathGui.java -%1$_Redstone(s)_required=%1$ Redstone(s) required +%s_Redstone(s)_required=%s Redstone(s) required Equation_required!=Equation required\! Inputs_are=Inputs are Invalid_equation!=Invalid equation\! @@ -483,13 +483,13 @@ Displays_the_value_of_a_signal.=Displays the value of a signal. Portable_battery_slot=Portable battery slot # ./src/main/java/mods/eln/sixnode/electricalweathersensor/ElectricalWeatherSensorDescriptor.java -Clear\:_%1$V=Clear\: %1$V +Clear\:_%sV=Clear\: %sV Provides_an_electrical_signal\ndepending_the_actual_weather.=Provides an electrical signal\ndepending the actual weather. -Rain\:_%1$V=Rain\: %1$V -Storm\:_%1$V=Storm\: %1$V +Rain\:_%sV=Rain\: %sV +Storm\:_%sV=Storm\: %sV # ./src/main/java/mods/eln/sixnode/electricalwindsensor/ElectricalWindSensorDescriptor.java -Maximum_wind_speed_is_%1$m_s=Maximum wind speed is %1$m/s +Maximum_wind_speed_is_%sm_s=Maximum wind speed is %sm/s Provides_an_electrical_signal\ndependant_on_wind_speed.=Provides an electrical signal\ndependant on wind speed. You_can't_place_this_block_on_the_floor_or_the_ceiling=You can't place this block on the floor or the ceiling @@ -508,7 +508,7 @@ Voltage=Voltage Change_password=Change password Counter_Mode=Counter Mode Counts_the_energy_conducted_from\n\u00a74red\u00a7f_to_\u00a71blue\u00a7f.=Counts the energy conducted from\n\\u00a74red\\u00a7f to \\u00a71blue\\u00a7f. -Energy_counter\:_%1$J=Energy counter\: %1$J +Energy_counter\:_%sJ=Energy counter\: %sJ Enter_new_energy=Enter new energy Enter_password=Enter password Prepay_Mode=Prepay Mode @@ -529,13 +529,13 @@ Provides_a_zero_volt_reference.=Provides a zero volt reference. Allows_crossing_cables\non_one_single_block.=Allows crossing cables\non one single block. # ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketDescriptor.java -Angle\:_%1$°_to_%2$°=Angle\: %1$° to %2$° -Spot_range\:_%1$_blocks=Spot range\: %1$ blocks +Angle\:_%s°_to_%s°=Angle\: %s° to %s° +Spot_range\:_%s_blocks=Spot range\: %s blocks # ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketGuiDraw.java -%1$_is_not_in_range!=%1$ is not in range\! +%s_is_not_in_range!=%s is not in range\! Cable_slot_empty=Cable slot empty -Orientation\:_%1$°=Orientation\: %1$° +Orientation\:_%s°=Orientation\: %s° Parallel=Parallel Powered_by_Lamp_Supply=Powered by Lamp Supply Powered_by_cable=Powered by cable @@ -584,8 +584,8 @@ Coal_dust_slot=Coal dust slot # ./src/main/java/mods/eln/sixnode/thermalcable/ThermalCableDescriptor.java High_parallel_resistance\n_\=>_Low_power_dissipation.=High parallel resistance\n \=> Low power dissipation. Low_serial_resistance\n_\=>_High_conductivity.=Low serial resistance\n \=> High conductivity. -Parallel_resistance\:_%1$K_W=Parallel resistance\: %1$K/W -Serial_resistance\:_%1$K_W=Serial resistance\: %1$K/W +Parallel_resistance\:_%sK_W=Parallel resistance\: %sK/W +Serial_resistance\:_%sK_W=Serial resistance\: %sK/W # ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorContainer.java Cable_slot=Cable slot @@ -610,12 +610,12 @@ Set_beacon_name=Set beacon name # ./src/main/java/mods/eln/sixnode/wirelesssignal/rx/WirelessSignalRxGui.java # ./src/main/java/mods/eln/transparentnode/FuelGenerator.kt -Nominal_power\:_%1$_W=Nominal power\: %1$ W -Nominal_voltage\:_%1$_V=Nominal voltage\: %1$ V +Nominal_power\:_%s_W=Nominal power\: %s W +Nominal_voltage\:_%s_V=Nominal voltage\: %s V Produces_electricity_using_fuel.=Produces electricity using fuel. # ./src/main/java/mods/eln/transparentnode/LargeRheostat.kt -Nom._Resistance\:_%1$=Nom. Resistance\: %1$ +Nom._Resistance\:_%s=Nom. Resistance\: %s # ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerContainer.java Drill_slot=Drill slot @@ -637,16 +637,16 @@ Overheating_protection=Overheating protection Overvoltage_protection=Overvoltage protection # ./src/main/java/mods/eln/transparentnode/battery/BatteryDescriptor.java -Actual_charge\:_%1$%=Actual charge\: %1$% -Energy_capacity\:_%1$J=Energy capacity\: %1$J -_charged_at_%1$%=charged at %1$% +Actual_charge\:_%s=Actual charge\: %s +Energy_capacity\:_%sJ=Energy capacity\: %sJ +_charged_at_%s=charged at %s # ./src/main/java/mods/eln/transparentnode/battery/BatteryGuiDraw.java Charge=Charge Charged=Charged Discharge=Discharge Energy\:=Energy\: -Energy\:_%1$=Energy\: %1$ +Energy\:_%s=Energy\: %s Life\:=Life\: No_charge=No charge Power_in\:=Power in\: @@ -659,7 +659,7 @@ Egg_slot=Egg slot Wireless_energy_receiver.=Wireless energy receiver. # ./src/main/java/mods/eln/transparentnode/electricalantennatx/ElectricalAntennaTxDescriptor.java -Efficiency\:_%1$%_up_to_%2$%=Efficiency\: %1$% up to %2$% +Efficiency\:_%s_up_to_%s=Efficiency\: %s up to %s Wireless_energy_transmitter.=Wireless energy transmitter. # ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceContainer.java @@ -671,7 +671,7 @@ Similar_to_a_vanilla_furnace,\nbut_heats_with_electricity.=Similar to a vanilla # ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceGuiDraw.java Auto_shutdown=Auto shutdown Manual_shutdown=Manual shutdown -Set_point\:_%1$°C=Set point\: %1$°C +Set_point\:_%s°C=Set point\: %s°C # ./src/main/java/mods/eln/transparentnode/electricalmachine/ElectricalMachineDescriptor.java Cost=Cost @@ -684,7 +684,7 @@ Fuel_slot=Fuel slot Generates_heat_when_supplied_with_fuel.=Generates heat when supplied with fuel. # ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceGuiDraw.java -Control_gauge_at_%1$%=Control gauge at %1$% +Control_gauge_at_%s=Control gauge at %s Decline_fuel=Decline fuel External_control=External control Internal_control=Internal control @@ -698,27 +698,27 @@ Solar_tracker_slot=Solar tracker slot # ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelDescriptor.java Can_be_geared_towards_the_sun.=Can be geared towards the sun. -Max._power\:_%1$W=Max. power\: %1$W -Max._voltage\:_%1$V=Max. voltage\: %1$V +Max._power\:_%sW=Max. power\: %sW +Max._voltage\:_%sV=Max. voltage\: %sV Produces_power_from_solar_radiation.=Produces power from solar radiation. # ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPannelGuiDraw.java It_is_night=It is night -Solar_panel_angle\:_%1$°=Solar panel angle\: %1$° -Sun_angle\:_%1$°=Sun angle\: %1$° +Solar_panel_angle\:_%s°=Solar panel angle\: %s° +Sun_angle\:_%s°=Sun angle\: %s° # ./src/main/java/mods/eln/transparentnode/teleporter/TeleporterGui.java Destination_transporter=Destination transporter Power_consumption\:=Power consumption\: -Power_consumption\:_%1$W=Power consumption\: %1$W -Required_energy\:_%1$J=Required energy\: %1$J +Power_consumption\:_%sW=Power consumption\: %sW +Required_energy\:_%sJ=Required energy\: %sJ Start=Start Transporter_name=Transporter name # ./src/main/java/mods/eln/transparentnode/thermaldissipatoractive/ThermalDissipatorActiveDescriptor.java -Fan_cooling_power\:_%1$W=Fan cooling power\: %1$W -Fan_power_consumption\:_%1$W=Fan power consumption\: %1$W -Fan_voltage\:_%1$V=Fan voltage\: %1$V +Fan_cooling_power\:_%sW=Fan cooling power\: %sW +Fan_power_consumption\:_%sW=Fan power consumption\: %sW +Fan_voltage\:_%sV=Fan voltage\: %sV # ./src/main/java/mods/eln/transparentnode/transformer/TransformerDescriptor.java The_voltage_ratio_is_proportional\nto_the_cable_stacks_count_ratio.=The voltage ratio is proportional\nto the cable stacks count ratio. @@ -726,13 +726,13 @@ Transforms_an_input_voltage_to\nan_output_voltage.=Transforms an input voltage t # ./src/main/java/mods/eln/transparentnode/turbine/TurbineDescriptor.java Generates_electricity_using_heat.=Generates electricity using heat. -Temperature_difference\:_%1$°C=Temperature difference\: %1$°C +Temperature_difference\:_%s°C=Temperature difference\: %s°C # ./src/main/java/mods/eln/transparentnode/turret/TurretDescriptor.java CAUTION\:_Cables_can_get_quite_hot!=CAUTION\: Cables can get quite hot\! -Laser_charge_power\:_%1$W...%2$kW=Laser charge power\: %1$W...%2$kW +Laser_charge_power\:_%sW...%skW=Laser charge power\: %sW...%skW Scans_for_entities_and_shoots_if_the\nentity_matches_the_configurable_filter_criteria.=Scans for entities and shoots if the\nentity matches the configurable filter criteria. -Standby_power\:_%1$W=Standby power\: %1$W +Standby_power\:_%sW=Standby power\: %sW # ./src/main/java/mods/eln/transparentnode/turret/TurretGui.java Attack\:=Attack\: @@ -744,10 +744,10 @@ Generates_energy_using_water_stream.=Generates energy using water stream. No_place_for_water_turbine!=No place for water turbine\! # ./src/main/java/mods/eln/transparentnode/windturbine/WindTurbineDescriptor.java -Front\:_%1$=Front\: %1$ +Front\:_%s=Front\: %s Generates_energy_from_wind.=Generates energy from wind. -Left_Right\:_%1$=Left/Right\: %1$ -Up_Down\:_%1$=Up/Down\: %1$ +Left_Right\:_%s=Left/Right\: %s +Up_Down\:_%s=Up/Down\: %s Wind_area\:=Wind area\: # ./src/main/java/mods/eln/wiki/Data.java @@ -769,7 +769,7 @@ Previous=Previous # ./src/main/java/mods/eln/wiki/ItemDefault.java Can_be_used_to_craft\:=Can be used to craft\: Cannot_be_crafted!=Cannot be crafted\! -Cost_%1$J=Cost %1$J +Cost_%sJ=Cost %sJ Created_by\:=Created by\: Is_not_a_crafting_material!=Is not a crafting material\! Recipe\:=Recipe\: @@ -777,45 +777,45 @@ Recipe\:=Recipe\: # Appearing in multiple source files (Increases_capacity)=(Increases capacity) (Increases_inductance)=(Increases inductance) -Actual\:_%1$°C=Actual\: %1$°C +Actual\:_%s°C=Actual\: %s°C Biggest=Biggest Booster_slot=Booster slot Can_create\:=Can create\: -Capacity\:_%1$F=Capacity\: %1$F -Charge_power\:_%1$W=Charge power\: %1$W +Capacity\:_%sF=Capacity\: %sF +Charge_power\:_%sW=Charge power\: %sW Connected=Connected -Cooling_power\:_%1$W=Cooling power\: %1$W +Cooling_power\:_%sW=Cooling power\: %sW Copper_cable_slot=Copper cable slot Dielectric_slot=Dielectric slot -Discharge_power\:_%1$W=Discharge power\: %1$W +Discharge_power\:_%sW=Discharge power\: %sW Electrical_cable_slot=Electrical cable slot Entity_filter_slot=Entity filter slot Ferromagnetic_core_slot=Ferromagnetic core slot Has_a_signal_output.=Has a signal output. -Inductance\:_%1$H=Inductance\: %1$H -Internal_resistance\:_%1$Ω=Internal resistance\: %1$Ω +Inductance\:_%sH=Inductance\: %sH +Internal_resistance\:_%sΩ=Internal resistance\: %sΩ Is_off=Is off Is_on=Is on -Max._temperature\:_%1$°C=Max. temperature\: %1$°C +Max._temperature\:_%s°C=Max. temperature\: %s°C Measured_value\ncorresponding\nto_0%_output=Measured value\ncorresponding\nto 0% output Measured_value\ncorresponding\nto_100%_output=Measured value\ncorresponding\nto 100% output Nominal\:=Nominal\: -Nominal_power\:_%1$W=Nominal power\: %1$W +Nominal_power\:_%sW=Nominal power\: %sW Nominal_usage\:=Nominal usage\: -Nominal_voltage\:_%1$V=Nominal voltage\: %1$V +Nominal_voltage\:_%sV=Nominal voltage\: %sV Not_connected=Not connected Not_enough_space_for_this_block=Not enough space for this block Power=Power -Power\:_%1$W=Power\: %1$W -Range\:_%1$_blocks=Range\: %1$ blocks +Power\:_%sW=Power\: %sW +Range\:_%s_blocks=Range\: %s blocks Redstone_slot=Redstone slot Regulator_slot=Regulator slot Reset=Reset -Resistance\:_%1$Ω=Resistance\: %1$Ω +Resistance\:_%sΩ=Resistance\: %sΩ Smallest=Smallest Specify_the_channel=Specify the channel -Stored_energy\:_%1$J_(%2$%)=Stored energy\: %1$J (%2$%) -Temperature\:_%1$°C=Temperature\: %1$°C +Stored_energy\:_%sJ_(%s)=Stored energy\: %sJ (%s) +Temperature\:_%s°C=Temperature\: %s°C Temperature_gauge=Temperature gauge Thermal_isolator_slot=Thermal isolator slot Toggle=Toggle @@ -825,5 +825,5 @@ Used_to_cool_down_turbines.=Used to cool down turbines. Uses_the_biggest\nvalue_on_the_channel.=Uses the biggest\nvalue on the channel. Uses_the_smallest\nvalue_on_the_channel.=Uses the smallest\nvalue on the channel. Validate=Validate -Voltage\:_%1$V=Voltage\: %1$V +Voltage\:_%sV=Voltage\: %sV You_can't_place_this_block_at_this_side=You can't place this block at this side diff --git a/src/main/resources/assets/eln/lang/ru.lang b/src/main/resources/assets/eln/lang/ru.lang index 5dbc69b7b..2d43ef202 100644 --- a/src/main/resources/assets/eln/lang/ru.lang +++ b/src/main/resources/assets/eln/lang/ru.lang @@ -287,21 +287,21 @@ tile.eln.EnergyConverterElnToOtherLVUBlock.name=Конвертер электр tile.eln.EnergyConverterElnToOtherMVUBlock.name=Конвертер электричества на 200В # ./src/main/java/mods/eln/i18n/I18N.java -You_have_%1$_lives_left=У вас осталось %1$ жизней +You_have_%s_lives_left=У вас осталось %s жизней # ./src/main/java/mods/eln/item/BrushDescriptor.java Brush_is_dry=Кисточка - сухая -Can_paint_%1$_blocks=Может окрасить до %1$ блоков +Can_paint_%s_blocks=Может окрасить до %s блоков # ./src/main/java/mods/eln/item/CombustionChamber.java Upgrade_for_the_Stone_Heat_Furnace.=Улучшение для каменной тепловой печи # ./src/main/java/mods/eln/item/ElectricalDrillDescriptor.java -Energy_per_operation\:_%1$J=Необх. энерг. для одого процесса\: %1$Дж -Time_per_operation\:_%1$s=Необх. время для одного процесса\: %1$сек +Energy_per_operation\:_%sJ=Необх. энерг. для одого процесса\: %sДж +Time_per_operation\:_%ss=Необх. время для одного процесса\: %sсек # ./src/main/java/mods/eln/item/FerromagneticCoreDescriptor.java -Cable_loss_factor\:_%1$=Коэффициент потерь\: %1$ +Cable_loss_factor\:_%s=Коэффициент потерь\: %s # ./src/main/java/mods/eln/item/HeatingCorpElement.java @@ -311,8 +311,8 @@ Condition\:=Условие\: End_of_life=Окончание срока службы Good=Хорошее New=Новое -Nominal_lifetime\:_%1$h=Минимальная продолжительность жизни\: %1$ч -Technology\:_%1$=Технология\: %1$ +Nominal_lifetime\:_%sh=Минимальная продолжительность жизни\: %sч +Technology\:_%s=Технология\: %s Used=Уже использованное # ./src/main/java/mods/eln/item/LampSlot.java @@ -333,7 +333,7 @@ Solar_panel_upgrade=Улучшение для солнечной батареи Off=Выкл On=Вкл State\:=Состояние\: -Stored_Energy\:_%1$J_(%2$%)=Содержащаяся энергия\: %1$Дж (%2$%) +Stored_Energy\:_%sJ_(%s)=Содержащаяся энергия\: %sДж (%s) # ./src/main/java/mods/eln/item/regulator/RegulatorSlot.java @@ -346,7 +346,7 @@ mod.name=Electrical Age # ./src/main/java/mods/eln/node/six/SixNodeDescriptor.java # ./src/main/java/mods/eln/simplenode/energyconverter/EnergyConverterElnToOtherGui.java -Input_power_is_limited_to_%1$W=Входная мощность ограничена до %1$Вт +Input_power_is_limited_to_%sW=Входная мощность ограничена до %sВт # ./src/main/java/mods/eln/sixnode/LogicGate.kt _O\:_= O\: @@ -386,12 +386,12 @@ Switch_is_off=Переключатель выключен Switch_is_on=Переключатель включен # ./src/main/java/mods/eln/sixnode/electricalcable/ElectricalCableDescriptor.java -A_signal_is_electrical_information\nwhich_must_be_between_0V_and_%1$V=Сигнал - это электрическая\nинформация, которая варьирует в пределах\n0 и %1$ вольт +A_signal_is_electrical_information\nwhich_must_be_between_0V_and_%sV=Сигнал - это электрическая\nинформация, которая варьирует в пределах\n0 и %s вольт Cable_is_adapted_to_conduct\nelectrical_signals.=Этот кабель адаптирован для \nпередачи электрических сигналов. -Current\:_%1$A=Сила тока\: %1$A +Current\:_%sA=Сила тока\: %sA Not_adapted_to_transport_power.=Не адаптирован для передачи энергии. Save_usage\:=Безопасное использование\: -Serial_resistance\:_%1$Ω=Сопротивление тока\: %1$Ω +Serial_resistance\:_%sΩ=Сопротивление тока\: %sΩ # ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerDescriptor.java It_can_store_up_to_256_points.=Может хранить в себе до 256 точек. @@ -423,10 +423,10 @@ Output_voltage_increases\nif_a_fire_has_been_detected.=При обнаружен Provides_configurable_signal\nvoltage.=Выдаёт настраиваемое напряжение. # ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceGui.java -Output_at_%1$%=Выход на %1$% +Output_at_%s=Выход на %s # ./src/main/java/mods/eln/sixnode/electricallightsensor/ElectricalLightSensorDescriptor.java -0V_at_night,_%1$V_at_noon.=0В ночью, %1$В днем. +0V_at_night,_%sV_at_noon.=0В ночью, %sВ днем. Provides_an_electrical_voltage\nin_the_presence_of_light.=При наличии света испускает \nэлектрический сигнал. Provides_an_electrical_voltage\nwhich_is_proportional_to\nthe_intensity_of_daylight.=Испускает электрический сигнал,\nпропорциональный интенсивности\nдневного света. @@ -439,7 +439,7 @@ Applicable_mathematical_operators\:=Допустимые математичес Calculates_an_output_signal_from\n3_inputs_(A,_B,_C)_using_an_equation.=Высчитывает выходной сигнал\nна основе 3-х входов (A, B, C), при\nпомощи уравнения. # ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathGui.java -%1$_Redstone(s)_required=Требуется %1$ ед. редстоун(-а) +%s_Redstone(s)_required=Требуется %s ед. редстоун(-а) Equation_required!=Требуется ввести уравнение\! Inputs_are=Входы Invalid_equation!=Неверное уравнение\! @@ -483,13 +483,13 @@ Displays_the_value_of_a_signal.=Отображает значение сигна Portable_battery_slot=Слот для батарейки # ./src/main/java/mods/eln/sixnode/electricalweathersensor/ElectricalWeatherSensorDescriptor.java -Clear\:_%1$V=Ясно\: %1$В +Clear\:_%sV=Ясно\: %sВ Provides_an_electrical_signal\ndepending_the_actual_weather.=Испускает электрический\nсигнал, зависящий от\nтекущей погоды. -Rain\:_%1$V=Дождь\: %1$В -Storm\:_%1$V=Буря\: %1$В +Rain\:_%sV=Дождь\: %sВ +Storm\:_%sV=Буря\: %sВ # ./src/main/java/mods/eln/sixnode/electricalwindsensor/ElectricalWindSensorDescriptor.java -Maximum_wind_speed_is_%1$m_s=Максимальная скорость ветра - %1$м/с +Maximum_wind_speed_is_%sm_s=Максимальная скорость ветра - %sм/с Provides_an_electrical_signal\ndependant_on_wind_speed.=Испускает электрический\nсигнал, зависящий от силы\nветра. You_can't_place_this_block_on_the_floor_or_the_ceiling=Вы не можете разместить этот блок на полу или на потолке @@ -508,7 +508,7 @@ Voltage=Напряжение Change_password=Сменить пароль Counter_Mode=Режим счетчика Counts_the_energy_conducted_from\n\u00a74red\u00a7f_to_\u00a71blue\u00a7f.=Считает электричество, переданное от\n\\u00a74красного\\u00a7f к \\u00a71синему\\u00a7f. -Energy_counter\:_%1$J=Энергии насчитано\: %1$Дж +Energy_counter\:_%sJ=Энергии насчитано\: %sДж Enter_new_energy=Введите новое кол-во энергии Enter_password=Введите пароль Prepay_Mode=Режим предоплаты @@ -529,13 +529,13 @@ Provides_a_zero_volt_reference.=Обеспечивает нулевой воль Allows_crossing_cables\non_one_single_block.=Позволяет проводам\nпересекаться в одном \nблоке. # ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketDescriptor.java -Angle\:_%1$°_to_%2$°=Угол\: %1$° до %2$° -Spot_range\:_%1$_blocks=Дальность света\: %1$ блока(-ов) +Angle\:_%s°_to_%s°=Угол\: %s° до %s° +Spot_range\:_%s_blocks=Дальность света\: %s блока(-ов) # ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketGuiDraw.java -%1$_is_not_in_range!=%1$ вне диапазона\! +%s_is_not_in_range!=%s вне диапазона\! Cable_slot_empty=Слот для провода пуст -Orientation\:_%1$°=Ориентация\: %1$° +Orientation\:_%s°=Ориентация\: %s° Parallel=Парралельно Powered_by_Lamp_Supply=Беспроводной режим Powered_by_cable=Проводной режим @@ -584,8 +584,8 @@ Coal_dust_slot=Слот для распыленного угля # ./src/main/java/mods/eln/sixnode/thermalcable/ThermalCableDescriptor.java High_parallel_resistance\n_\=>_Low_power_dissipation.=Высокое параллельное \nсопротивление \=> Низкие \nпотери мощности. Low_serial_resistance\n_\=>_High_conductivity.=Низкое сопротивление \=> Высокая проводимость. -Parallel_resistance\:_%1$K_W=Параллельное сопротивление\: %1$K/Вт -Serial_resistance\:_%1$K_W=Последовательное сопротивление\: %1$K/Вт +Parallel_resistance\:_%sK_W=Параллельное сопротивление\: %sK/Вт +Serial_resistance\:_%sK_W=Последовательное сопротивление\: %sK/Вт # ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorContainer.java Cable_slot=Слот для провода @@ -610,12 +610,12 @@ Set_beacon_name=Имя подсказки # ./src/main/java/mods/eln/sixnode/wirelesssignal/rx/WirelessSignalRxGui.java # ./src/main/java/mods/eln/transparentnode/FuelGenerator.kt -Nominal_power\:_%1$_W=Минимальная мощность\: %1$ Вт -Nominal_voltage\:_%1$_V=Минимальное напряжение\: %1$ В +Nominal_power\:_%s_W=Минимальная мощность\: %s Вт +Nominal_voltage\:_%s_V=Минимальное напряжение\: %s В Produces_electricity_using_fuel.=Производит электричество сжигая топливо. # ./src/main/java/mods/eln/transparentnode/LargeRheostat.kt -Nom._Resistance\:_%1$=Мин. сопротивление\: %1$ +Nom._Resistance\:_%s=Мин. сопротивление\: %s # ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerContainer.java Drill_slot=Слот для наконечника для бура @@ -637,16 +637,16 @@ Overheating_protection=Защита от перегрева Overvoltage_protection=Защита от перенапряжения # ./src/main/java/mods/eln/transparentnode/battery/BatteryDescriptor.java -Actual_charge\:_%1$%=Текущий заряд\: %1$% -Energy_capacity\:_%1$J=Вместимость\: %1$Дж -_charged_at_%1$%=заряжен на %1$% +Actual_charge\:_%s=Текущий заряд\: %s +Energy_capacity\:_%sJ=Вместимость\: %sДж +_charged_at_%s=заряжен на %s # ./src/main/java/mods/eln/transparentnode/battery/BatteryGuiDraw.java Charge=Заряд Charged=Полностью заряжен Discharge=Разряжается Energy\:=Энергия\: -Energy\:_%1$=Энергия\: %1$ +Energy\:_%s=Энергия\: %s Life\:=Срок службы\: No_charge=Не заряжается Power_in\:=Входная мощность\: @@ -659,7 +659,7 @@ Egg_slot=Слот для яйца Wireless_energy_receiver.=Беспроводной приемник электричества # ./src/main/java/mods/eln/transparentnode/electricalantennatx/ElectricalAntennaTxDescriptor.java -Efficiency\:_%1$%_up_to_%2$%=Эффективность\: %1$% вплоть до %2$% +Efficiency\:_%s_up_to_%s=Эффективность\: %s вплоть до %s Wireless_energy_transmitter.=Беспроводной передатчик электричества. # ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceContainer.java @@ -671,7 +671,7 @@ Similar_to_a_vanilla_furnace,\nbut_heats_with_electricity.=Схожа с ван # ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceGuiDraw.java Auto_shutdown=Автовыключение Manual_shutdown=Ручное выключение -Set_point\:_%1$°C=Контрольная точка\: %1$°C +Set_point\:_%s°C=Контрольная точка\: %s°C # ./src/main/java/mods/eln/transparentnode/electricalmachine/ElectricalMachineDescriptor.java Cost=Затраты @@ -684,7 +684,7 @@ Fuel_slot=Слот для топлива Generates_heat_when_supplied_with_fuel.=Генерирует тепло, когда в нем есть топливо. # ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceGuiDraw.java -Control_gauge_at_%1$%=Шкала контроля на %1$% +Control_gauge_at_%s=Шкала контроля на %s Decline_fuel=Отклонять топливо External_control=Внешн. контроль Internal_control=Внутр. контроль @@ -698,27 +698,27 @@ Solar_tracker_slot=Слот для отслеживателя солнца # ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelDescriptor.java Can_be_geared_towards_the_sun.=Может быть повернута к солнцу. -Max._power\:_%1$W=Макс. мощность\: %1$Вт -Max._voltage\:_%1$V=Макс. напряжение\: %1$В +Max._power\:_%sW=Макс. мощность\: %sВт +Max._voltage\:_%sV=Макс. напряжение\: %sВ Produces_power_from_solar_radiation.=Производит электричество из солнечной радиации. # ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPannelGuiDraw.java It_is_night=Сейчас ночь -Solar_panel_angle\:_%1$°=Угол солнечной батареи\: %1$° -Sun_angle\:_%1$°=Угол солнца\: %1$° +Solar_panel_angle\:_%s°=Угол солнечной батареи\: %s° +Sun_angle\:_%s°=Угол солнца\: %s° # ./src/main/java/mods/eln/transparentnode/teleporter/TeleporterGui.java Destination_transporter=Конечный транспортер Power_consumption\:=Потребление энергии\: -Power_consumption\:_%1$W=Потребление энергии\: %1$Вт -Required_energy\:_%1$J=Требуемая энергия\: %1$Дж +Power_consumption\:_%sW=Потребление энергии\: %sВт +Required_energy\:_%sJ=Требуемая энергия\: %sДж Start=Начать Transporter_name=Имя транспортера # ./src/main/java/mods/eln/transparentnode/thermaldissipatoractive/ThermalDissipatorActiveDescriptor.java -Fan_cooling_power\:_%1$W=Сила охлаждения вентилятора\: %1$Вт -Fan_power_consumption\:_%1$W=Расход энергии вентилятором\: %1$Вт -Fan_voltage\:_%1$V=Напряжение вентилятора\: %1$В +Fan_cooling_power\:_%sW=Сила охлаждения вентилятора\: %sВт +Fan_power_consumption\:_%sW=Расход энергии вентилятором\: %sВт +Fan_voltage\:_%sV=Напряжение вентилятора\: %sВ # ./src/main/java/mods/eln/transparentnode/transformer/TransformerDescriptor.java The_voltage_ratio_is_proportional\nto_the_cable_stacks_count_ratio.=Соотношение сопротивления\nпропорционально кол-ву\nпроводов в стеке. @@ -726,13 +726,13 @@ Transforms_an_input_voltage_to\nan_output_voltage.=Превращает вход # ./src/main/java/mods/eln/transparentnode/turbine/TurbineDescriptor.java Generates_electricity_using_heat.=Генерирует электричество используя тепло. -Temperature_difference\:_%1$°C=Различие температуры\: %1$°C +Temperature_difference\:_%s°C=Различие температуры\: %s°C # ./src/main/java/mods/eln/transparentnode/turret/TurretDescriptor.java CAUTION\:_Cables_can_get_quite_hot!=ОСТОРОЖНО\: Провода могут быть очень горячими\! -Laser_charge_power\:_%1$W...%2$kW=Энергопотребление при перезарядке\: %1$Вт...%2$кВт +Laser_charge_power\:_%sW...%skW=Энергопотребление при перезарядке\: %sВт...%sкВт Scans_for_entities_and_shoots_if_the\nentity_matches_the_configurable_filter_criteria.=Ищет сущностей, совпадающих\nпо признакам с теми, что указаны\nв настройках и атакует их. -Standby_power\:_%1$W=Энергопотребление в бездействии\: %1$Вт +Standby_power\:_%sW=Энергопотребление в бездействии\: %sВт # ./src/main/java/mods/eln/transparentnode/turret/TurretGui.java Attack\:=Атаковать\: @@ -744,10 +744,10 @@ Generates_energy_using_water_stream.=Генерирует электричест No_place_for_water_turbine!=Нет места для турбины\! # ./src/main/java/mods/eln/transparentnode/windturbine/WindTurbineDescriptor.java -Front\:_%1$=Перед\: %1$ +Front\:_%s=Перед\: %s Generates_energy_from_wind.=Генерирует энергию при помощи силы ветра. -Left_Right\:_%1$=Слева/Справа\: %1$ -Up_Down\:_%1$=Сверху/Снизу\: %1$ +Left_Right\:_%s=Слева/Справа\: %s +Up_Down\:_%s=Сверху/Снизу\: %s Wind_area\:=Ветреная площадь\: # ./src/main/java/mods/eln/wiki/Data.java @@ -769,7 +769,7 @@ Previous=Предыдущ. # ./src/main/java/mods/eln/wiki/ItemDefault.java Can_be_used_to_craft\:=Используется в рецепте\: Cannot_be_crafted!=Не может быть создано\! -Cost_%1$J=Затрачивает %1$Дж +Cost_%sJ=Затрачивает %sДж Created_by\:=Создано\: Is_not_a_crafting_material!=Не является материалом для рецепта\! Recipe\:=Рецепт\: @@ -777,45 +777,45 @@ Recipe\:=Рецепт\: # Appearing in multiple source files (Increases_capacity)=(Увеличивает емкость) (Increases_inductance)=(Повышает индуктивность) -Actual\:_%1$°C=Текущ.\: %1$°C +Actual\:_%s°C=Текущ.\: %s°C Biggest=Наибольш. Booster_slot=Слот для ускорителя Can_create\:=Может создавать\: -Capacity\:_%1$F=Емкость\: %1$F -Charge_power\:_%1$W=Мощность подзарядки\: %1$Вт +Capacity\:_%sF=Емкость\: %sF +Charge_power\:_%sW=Мощность подзарядки\: %sВт Connected=Подключено -Cooling_power\:_%1$W=Мощность охлаждения\: %1$Вт +Cooling_power\:_%sW=Мощность охлаждения\: %sВт Copper_cable_slot=Слот для медного проаода Dielectric_slot=Слот для диэлектрика -Discharge_power\:_%1$W=Мощность разрядки\: %1$Вт +Discharge_power\:_%sW=Мощность разрядки\: %sВт Electrical_cable_slot=Слот для провода Entity_filter_slot=Слот для фильтра существ Ferromagnetic_core_slot=Слот для ферромагнитного ядра Has_a_signal_output.=Имеет выходной сигнал. -Inductance\:_%1$H=Индуктивность\: %1$H -Internal_resistance\:_%1$Ω=Внутреннее сопротивление\: %1$Ω +Inductance\:_%sH=Индуктивность\: %sH +Internal_resistance\:_%sΩ=Внутреннее сопротивление\: %sΩ Is_off=Выкл. Is_on=Вкл. -Max._temperature\:_%1$°C=Макс. нагрев\: %1$°C +Max._temperature\:_%s°C=Макс. нагрев\: %s°C Measured_value\ncorresponding\nto_0%_output=Измеренное значение\nблизко к 0% Measured_value\ncorresponding\nto_100%_output=Измеренное значение\nблизко к 100% Nominal\:=Минимум\: -Nominal_power\:_%1$W=Минимальная мощность\: %1$Вт +Nominal_power\:_%sW=Минимальная мощность\: %sВт Nominal_usage\:=Минимальное кол-во использований\: -Nominal_voltage\:_%1$V=Минимальное напряжение\: %1$В +Nominal_voltage\:_%sV=Минимальное напряжение\: %sВ Not_connected=Не соединено Not_enough_space_for_this_block=Недостаточно места для этого блока Power=Мощность -Power\:_%1$W=Мощность\: %1$Вт -Range\:_%1$_blocks=Дальность\: %1$ блока(-ов) +Power\:_%sW=Мощность\: %sВт +Range\:_%s_blocks=Дальность\: %s блока(-ов) Redstone_slot=Слот для редстоуна Regulator_slot=Слот для регулировщика Reset=Сброс -Resistance\:_%1$Ω=Сопротивление\: %1$Ω +Resistance\:_%sΩ=Сопротивление\: %sΩ Smallest=Наименьш. Specify_the_channel=Необходимо указать канал -Stored_energy\:_%1$J_(%2$%)=Содержащаяся энергия\: %1$Дж (%2$%) -Temperature\:_%1$°C=Температура\: %1$°C +Stored_energy\:_%sJ_(%s)=Содержащаяся энергия\: %sДж (%s) +Temperature\:_%s°C=Температура\: %s°C Temperature_gauge=Шкала температуры Thermal_isolator_slot=Слот для термального изолятора Toggle=Переключать @@ -825,5 +825,5 @@ Used_to_cool_down_turbines.=Используется для охлаждения Uses_the_biggest\nvalue_on_the_channel.=Использует наибольшее \nзначение в канале. Uses_the_smallest\nvalue_on_the_channel.=Использует наименьшее \nзначение в канале. Validate=Проверить -Voltage\:_%1$V=Напряжение\: %1$В +Voltage\:_%sV=Напряжение\: %sВ You_can't_place_this_block_at_this_side=Вы не можете разместить данный блок с этой стороны diff --git a/src/main/resources/assets/eln/lang/ru_RU.lang b/src/main/resources/assets/eln/lang/ru_RU.lang index 5dbc69b7b..2d43ef202 100644 --- a/src/main/resources/assets/eln/lang/ru_RU.lang +++ b/src/main/resources/assets/eln/lang/ru_RU.lang @@ -287,21 +287,21 @@ tile.eln.EnergyConverterElnToOtherLVUBlock.name=Конвертер электр tile.eln.EnergyConverterElnToOtherMVUBlock.name=Конвертер электричества на 200В # ./src/main/java/mods/eln/i18n/I18N.java -You_have_%1$_lives_left=У вас осталось %1$ жизней +You_have_%s_lives_left=У вас осталось %s жизней # ./src/main/java/mods/eln/item/BrushDescriptor.java Brush_is_dry=Кисточка - сухая -Can_paint_%1$_blocks=Может окрасить до %1$ блоков +Can_paint_%s_blocks=Может окрасить до %s блоков # ./src/main/java/mods/eln/item/CombustionChamber.java Upgrade_for_the_Stone_Heat_Furnace.=Улучшение для каменной тепловой печи # ./src/main/java/mods/eln/item/ElectricalDrillDescriptor.java -Energy_per_operation\:_%1$J=Необх. энерг. для одого процесса\: %1$Дж -Time_per_operation\:_%1$s=Необх. время для одного процесса\: %1$сек +Energy_per_operation\:_%sJ=Необх. энерг. для одого процесса\: %sДж +Time_per_operation\:_%ss=Необх. время для одного процесса\: %sсек # ./src/main/java/mods/eln/item/FerromagneticCoreDescriptor.java -Cable_loss_factor\:_%1$=Коэффициент потерь\: %1$ +Cable_loss_factor\:_%s=Коэффициент потерь\: %s # ./src/main/java/mods/eln/item/HeatingCorpElement.java @@ -311,8 +311,8 @@ Condition\:=Условие\: End_of_life=Окончание срока службы Good=Хорошее New=Новое -Nominal_lifetime\:_%1$h=Минимальная продолжительность жизни\: %1$ч -Technology\:_%1$=Технология\: %1$ +Nominal_lifetime\:_%sh=Минимальная продолжительность жизни\: %sч +Technology\:_%s=Технология\: %s Used=Уже использованное # ./src/main/java/mods/eln/item/LampSlot.java @@ -333,7 +333,7 @@ Solar_panel_upgrade=Улучшение для солнечной батареи Off=Выкл On=Вкл State\:=Состояние\: -Stored_Energy\:_%1$J_(%2$%)=Содержащаяся энергия\: %1$Дж (%2$%) +Stored_Energy\:_%sJ_(%s)=Содержащаяся энергия\: %sДж (%s) # ./src/main/java/mods/eln/item/regulator/RegulatorSlot.java @@ -346,7 +346,7 @@ mod.name=Electrical Age # ./src/main/java/mods/eln/node/six/SixNodeDescriptor.java # ./src/main/java/mods/eln/simplenode/energyconverter/EnergyConverterElnToOtherGui.java -Input_power_is_limited_to_%1$W=Входная мощность ограничена до %1$Вт +Input_power_is_limited_to_%sW=Входная мощность ограничена до %sВт # ./src/main/java/mods/eln/sixnode/LogicGate.kt _O\:_= O\: @@ -386,12 +386,12 @@ Switch_is_off=Переключатель выключен Switch_is_on=Переключатель включен # ./src/main/java/mods/eln/sixnode/electricalcable/ElectricalCableDescriptor.java -A_signal_is_electrical_information\nwhich_must_be_between_0V_and_%1$V=Сигнал - это электрическая\nинформация, которая варьирует в пределах\n0 и %1$ вольт +A_signal_is_electrical_information\nwhich_must_be_between_0V_and_%sV=Сигнал - это электрическая\nинформация, которая варьирует в пределах\n0 и %s вольт Cable_is_adapted_to_conduct\nelectrical_signals.=Этот кабель адаптирован для \nпередачи электрических сигналов. -Current\:_%1$A=Сила тока\: %1$A +Current\:_%sA=Сила тока\: %sA Not_adapted_to_transport_power.=Не адаптирован для передачи энергии. Save_usage\:=Безопасное использование\: -Serial_resistance\:_%1$Ω=Сопротивление тока\: %1$Ω +Serial_resistance\:_%sΩ=Сопротивление тока\: %sΩ # ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerDescriptor.java It_can_store_up_to_256_points.=Может хранить в себе до 256 точек. @@ -423,10 +423,10 @@ Output_voltage_increases\nif_a_fire_has_been_detected.=При обнаружен Provides_configurable_signal\nvoltage.=Выдаёт настраиваемое напряжение. # ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceGui.java -Output_at_%1$%=Выход на %1$% +Output_at_%s=Выход на %s # ./src/main/java/mods/eln/sixnode/electricallightsensor/ElectricalLightSensorDescriptor.java -0V_at_night,_%1$V_at_noon.=0В ночью, %1$В днем. +0V_at_night,_%sV_at_noon.=0В ночью, %sВ днем. Provides_an_electrical_voltage\nin_the_presence_of_light.=При наличии света испускает \nэлектрический сигнал. Provides_an_electrical_voltage\nwhich_is_proportional_to\nthe_intensity_of_daylight.=Испускает электрический сигнал,\nпропорциональный интенсивности\nдневного света. @@ -439,7 +439,7 @@ Applicable_mathematical_operators\:=Допустимые математичес Calculates_an_output_signal_from\n3_inputs_(A,_B,_C)_using_an_equation.=Высчитывает выходной сигнал\nна основе 3-х входов (A, B, C), при\nпомощи уравнения. # ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathGui.java -%1$_Redstone(s)_required=Требуется %1$ ед. редстоун(-а) +%s_Redstone(s)_required=Требуется %s ед. редстоун(-а) Equation_required!=Требуется ввести уравнение\! Inputs_are=Входы Invalid_equation!=Неверное уравнение\! @@ -483,13 +483,13 @@ Displays_the_value_of_a_signal.=Отображает значение сигна Portable_battery_slot=Слот для батарейки # ./src/main/java/mods/eln/sixnode/electricalweathersensor/ElectricalWeatherSensorDescriptor.java -Clear\:_%1$V=Ясно\: %1$В +Clear\:_%sV=Ясно\: %sВ Provides_an_electrical_signal\ndepending_the_actual_weather.=Испускает электрический\nсигнал, зависящий от\nтекущей погоды. -Rain\:_%1$V=Дождь\: %1$В -Storm\:_%1$V=Буря\: %1$В +Rain\:_%sV=Дождь\: %sВ +Storm\:_%sV=Буря\: %sВ # ./src/main/java/mods/eln/sixnode/electricalwindsensor/ElectricalWindSensorDescriptor.java -Maximum_wind_speed_is_%1$m_s=Максимальная скорость ветра - %1$м/с +Maximum_wind_speed_is_%sm_s=Максимальная скорость ветра - %sм/с Provides_an_electrical_signal\ndependant_on_wind_speed.=Испускает электрический\nсигнал, зависящий от силы\nветра. You_can't_place_this_block_on_the_floor_or_the_ceiling=Вы не можете разместить этот блок на полу или на потолке @@ -508,7 +508,7 @@ Voltage=Напряжение Change_password=Сменить пароль Counter_Mode=Режим счетчика Counts_the_energy_conducted_from\n\u00a74red\u00a7f_to_\u00a71blue\u00a7f.=Считает электричество, переданное от\n\\u00a74красного\\u00a7f к \\u00a71синему\\u00a7f. -Energy_counter\:_%1$J=Энергии насчитано\: %1$Дж +Energy_counter\:_%sJ=Энергии насчитано\: %sДж Enter_new_energy=Введите новое кол-во энергии Enter_password=Введите пароль Prepay_Mode=Режим предоплаты @@ -529,13 +529,13 @@ Provides_a_zero_volt_reference.=Обеспечивает нулевой воль Allows_crossing_cables\non_one_single_block.=Позволяет проводам\nпересекаться в одном \nблоке. # ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketDescriptor.java -Angle\:_%1$°_to_%2$°=Угол\: %1$° до %2$° -Spot_range\:_%1$_blocks=Дальность света\: %1$ блока(-ов) +Angle\:_%s°_to_%s°=Угол\: %s° до %s° +Spot_range\:_%s_blocks=Дальность света\: %s блока(-ов) # ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketGuiDraw.java -%1$_is_not_in_range!=%1$ вне диапазона\! +%s_is_not_in_range!=%s вне диапазона\! Cable_slot_empty=Слот для провода пуст -Orientation\:_%1$°=Ориентация\: %1$° +Orientation\:_%s°=Ориентация\: %s° Parallel=Парралельно Powered_by_Lamp_Supply=Беспроводной режим Powered_by_cable=Проводной режим @@ -584,8 +584,8 @@ Coal_dust_slot=Слот для распыленного угля # ./src/main/java/mods/eln/sixnode/thermalcable/ThermalCableDescriptor.java High_parallel_resistance\n_\=>_Low_power_dissipation.=Высокое параллельное \nсопротивление \=> Низкие \nпотери мощности. Low_serial_resistance\n_\=>_High_conductivity.=Низкое сопротивление \=> Высокая проводимость. -Parallel_resistance\:_%1$K_W=Параллельное сопротивление\: %1$K/Вт -Serial_resistance\:_%1$K_W=Последовательное сопротивление\: %1$K/Вт +Parallel_resistance\:_%sK_W=Параллельное сопротивление\: %sK/Вт +Serial_resistance\:_%sK_W=Последовательное сопротивление\: %sK/Вт # ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorContainer.java Cable_slot=Слот для провода @@ -610,12 +610,12 @@ Set_beacon_name=Имя подсказки # ./src/main/java/mods/eln/sixnode/wirelesssignal/rx/WirelessSignalRxGui.java # ./src/main/java/mods/eln/transparentnode/FuelGenerator.kt -Nominal_power\:_%1$_W=Минимальная мощность\: %1$ Вт -Nominal_voltage\:_%1$_V=Минимальное напряжение\: %1$ В +Nominal_power\:_%s_W=Минимальная мощность\: %s Вт +Nominal_voltage\:_%s_V=Минимальное напряжение\: %s В Produces_electricity_using_fuel.=Производит электричество сжигая топливо. # ./src/main/java/mods/eln/transparentnode/LargeRheostat.kt -Nom._Resistance\:_%1$=Мин. сопротивление\: %1$ +Nom._Resistance\:_%s=Мин. сопротивление\: %s # ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerContainer.java Drill_slot=Слот для наконечника для бура @@ -637,16 +637,16 @@ Overheating_protection=Защита от перегрева Overvoltage_protection=Защита от перенапряжения # ./src/main/java/mods/eln/transparentnode/battery/BatteryDescriptor.java -Actual_charge\:_%1$%=Текущий заряд\: %1$% -Energy_capacity\:_%1$J=Вместимость\: %1$Дж -_charged_at_%1$%=заряжен на %1$% +Actual_charge\:_%s=Текущий заряд\: %s +Energy_capacity\:_%sJ=Вместимость\: %sДж +_charged_at_%s=заряжен на %s # ./src/main/java/mods/eln/transparentnode/battery/BatteryGuiDraw.java Charge=Заряд Charged=Полностью заряжен Discharge=Разряжается Energy\:=Энергия\: -Energy\:_%1$=Энергия\: %1$ +Energy\:_%s=Энергия\: %s Life\:=Срок службы\: No_charge=Не заряжается Power_in\:=Входная мощность\: @@ -659,7 +659,7 @@ Egg_slot=Слот для яйца Wireless_energy_receiver.=Беспроводной приемник электричества # ./src/main/java/mods/eln/transparentnode/electricalantennatx/ElectricalAntennaTxDescriptor.java -Efficiency\:_%1$%_up_to_%2$%=Эффективность\: %1$% вплоть до %2$% +Efficiency\:_%s_up_to_%s=Эффективность\: %s вплоть до %s Wireless_energy_transmitter.=Беспроводной передатчик электричества. # ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceContainer.java @@ -671,7 +671,7 @@ Similar_to_a_vanilla_furnace,\nbut_heats_with_electricity.=Схожа с ван # ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceGuiDraw.java Auto_shutdown=Автовыключение Manual_shutdown=Ручное выключение -Set_point\:_%1$°C=Контрольная точка\: %1$°C +Set_point\:_%s°C=Контрольная точка\: %s°C # ./src/main/java/mods/eln/transparentnode/electricalmachine/ElectricalMachineDescriptor.java Cost=Затраты @@ -684,7 +684,7 @@ Fuel_slot=Слот для топлива Generates_heat_when_supplied_with_fuel.=Генерирует тепло, когда в нем есть топливо. # ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceGuiDraw.java -Control_gauge_at_%1$%=Шкала контроля на %1$% +Control_gauge_at_%s=Шкала контроля на %s Decline_fuel=Отклонять топливо External_control=Внешн. контроль Internal_control=Внутр. контроль @@ -698,27 +698,27 @@ Solar_tracker_slot=Слот для отслеживателя солнца # ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelDescriptor.java Can_be_geared_towards_the_sun.=Может быть повернута к солнцу. -Max._power\:_%1$W=Макс. мощность\: %1$Вт -Max._voltage\:_%1$V=Макс. напряжение\: %1$В +Max._power\:_%sW=Макс. мощность\: %sВт +Max._voltage\:_%sV=Макс. напряжение\: %sВ Produces_power_from_solar_radiation.=Производит электричество из солнечной радиации. # ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPannelGuiDraw.java It_is_night=Сейчас ночь -Solar_panel_angle\:_%1$°=Угол солнечной батареи\: %1$° -Sun_angle\:_%1$°=Угол солнца\: %1$° +Solar_panel_angle\:_%s°=Угол солнечной батареи\: %s° +Sun_angle\:_%s°=Угол солнца\: %s° # ./src/main/java/mods/eln/transparentnode/teleporter/TeleporterGui.java Destination_transporter=Конечный транспортер Power_consumption\:=Потребление энергии\: -Power_consumption\:_%1$W=Потребление энергии\: %1$Вт -Required_energy\:_%1$J=Требуемая энергия\: %1$Дж +Power_consumption\:_%sW=Потребление энергии\: %sВт +Required_energy\:_%sJ=Требуемая энергия\: %sДж Start=Начать Transporter_name=Имя транспортера # ./src/main/java/mods/eln/transparentnode/thermaldissipatoractive/ThermalDissipatorActiveDescriptor.java -Fan_cooling_power\:_%1$W=Сила охлаждения вентилятора\: %1$Вт -Fan_power_consumption\:_%1$W=Расход энергии вентилятором\: %1$Вт -Fan_voltage\:_%1$V=Напряжение вентилятора\: %1$В +Fan_cooling_power\:_%sW=Сила охлаждения вентилятора\: %sВт +Fan_power_consumption\:_%sW=Расход энергии вентилятором\: %sВт +Fan_voltage\:_%sV=Напряжение вентилятора\: %sВ # ./src/main/java/mods/eln/transparentnode/transformer/TransformerDescriptor.java The_voltage_ratio_is_proportional\nto_the_cable_stacks_count_ratio.=Соотношение сопротивления\nпропорционально кол-ву\nпроводов в стеке. @@ -726,13 +726,13 @@ Transforms_an_input_voltage_to\nan_output_voltage.=Превращает вход # ./src/main/java/mods/eln/transparentnode/turbine/TurbineDescriptor.java Generates_electricity_using_heat.=Генерирует электричество используя тепло. -Temperature_difference\:_%1$°C=Различие температуры\: %1$°C +Temperature_difference\:_%s°C=Различие температуры\: %s°C # ./src/main/java/mods/eln/transparentnode/turret/TurretDescriptor.java CAUTION\:_Cables_can_get_quite_hot!=ОСТОРОЖНО\: Провода могут быть очень горячими\! -Laser_charge_power\:_%1$W...%2$kW=Энергопотребление при перезарядке\: %1$Вт...%2$кВт +Laser_charge_power\:_%sW...%skW=Энергопотребление при перезарядке\: %sВт...%sкВт Scans_for_entities_and_shoots_if_the\nentity_matches_the_configurable_filter_criteria.=Ищет сущностей, совпадающих\nпо признакам с теми, что указаны\nв настройках и атакует их. -Standby_power\:_%1$W=Энергопотребление в бездействии\: %1$Вт +Standby_power\:_%sW=Энергопотребление в бездействии\: %sВт # ./src/main/java/mods/eln/transparentnode/turret/TurretGui.java Attack\:=Атаковать\: @@ -744,10 +744,10 @@ Generates_energy_using_water_stream.=Генерирует электричест No_place_for_water_turbine!=Нет места для турбины\! # ./src/main/java/mods/eln/transparentnode/windturbine/WindTurbineDescriptor.java -Front\:_%1$=Перед\: %1$ +Front\:_%s=Перед\: %s Generates_energy_from_wind.=Генерирует энергию при помощи силы ветра. -Left_Right\:_%1$=Слева/Справа\: %1$ -Up_Down\:_%1$=Сверху/Снизу\: %1$ +Left_Right\:_%s=Слева/Справа\: %s +Up_Down\:_%s=Сверху/Снизу\: %s Wind_area\:=Ветреная площадь\: # ./src/main/java/mods/eln/wiki/Data.java @@ -769,7 +769,7 @@ Previous=Предыдущ. # ./src/main/java/mods/eln/wiki/ItemDefault.java Can_be_used_to_craft\:=Используется в рецепте\: Cannot_be_crafted!=Не может быть создано\! -Cost_%1$J=Затрачивает %1$Дж +Cost_%sJ=Затрачивает %sДж Created_by\:=Создано\: Is_not_a_crafting_material!=Не является материалом для рецепта\! Recipe\:=Рецепт\: @@ -777,45 +777,45 @@ Recipe\:=Рецепт\: # Appearing in multiple source files (Increases_capacity)=(Увеличивает емкость) (Increases_inductance)=(Повышает индуктивность) -Actual\:_%1$°C=Текущ.\: %1$°C +Actual\:_%s°C=Текущ.\: %s°C Biggest=Наибольш. Booster_slot=Слот для ускорителя Can_create\:=Может создавать\: -Capacity\:_%1$F=Емкость\: %1$F -Charge_power\:_%1$W=Мощность подзарядки\: %1$Вт +Capacity\:_%sF=Емкость\: %sF +Charge_power\:_%sW=Мощность подзарядки\: %sВт Connected=Подключено -Cooling_power\:_%1$W=Мощность охлаждения\: %1$Вт +Cooling_power\:_%sW=Мощность охлаждения\: %sВт Copper_cable_slot=Слот для медного проаода Dielectric_slot=Слот для диэлектрика -Discharge_power\:_%1$W=Мощность разрядки\: %1$Вт +Discharge_power\:_%sW=Мощность разрядки\: %sВт Electrical_cable_slot=Слот для провода Entity_filter_slot=Слот для фильтра существ Ferromagnetic_core_slot=Слот для ферромагнитного ядра Has_a_signal_output.=Имеет выходной сигнал. -Inductance\:_%1$H=Индуктивность\: %1$H -Internal_resistance\:_%1$Ω=Внутреннее сопротивление\: %1$Ω +Inductance\:_%sH=Индуктивность\: %sH +Internal_resistance\:_%sΩ=Внутреннее сопротивление\: %sΩ Is_off=Выкл. Is_on=Вкл. -Max._temperature\:_%1$°C=Макс. нагрев\: %1$°C +Max._temperature\:_%s°C=Макс. нагрев\: %s°C Measured_value\ncorresponding\nto_0%_output=Измеренное значение\nблизко к 0% Measured_value\ncorresponding\nto_100%_output=Измеренное значение\nблизко к 100% Nominal\:=Минимум\: -Nominal_power\:_%1$W=Минимальная мощность\: %1$Вт +Nominal_power\:_%sW=Минимальная мощность\: %sВт Nominal_usage\:=Минимальное кол-во использований\: -Nominal_voltage\:_%1$V=Минимальное напряжение\: %1$В +Nominal_voltage\:_%sV=Минимальное напряжение\: %sВ Not_connected=Не соединено Not_enough_space_for_this_block=Недостаточно места для этого блока Power=Мощность -Power\:_%1$W=Мощность\: %1$Вт -Range\:_%1$_blocks=Дальность\: %1$ блока(-ов) +Power\:_%sW=Мощность\: %sВт +Range\:_%s_blocks=Дальность\: %s блока(-ов) Redstone_slot=Слот для редстоуна Regulator_slot=Слот для регулировщика Reset=Сброс -Resistance\:_%1$Ω=Сопротивление\: %1$Ω +Resistance\:_%sΩ=Сопротивление\: %sΩ Smallest=Наименьш. Specify_the_channel=Необходимо указать канал -Stored_energy\:_%1$J_(%2$%)=Содержащаяся энергия\: %1$Дж (%2$%) -Temperature\:_%1$°C=Температура\: %1$°C +Stored_energy\:_%sJ_(%s)=Содержащаяся энергия\: %sДж (%s) +Temperature\:_%s°C=Температура\: %s°C Temperature_gauge=Шкала температуры Thermal_isolator_slot=Слот для термального изолятора Toggle=Переключать @@ -825,5 +825,5 @@ Used_to_cool_down_turbines.=Используется для охлаждения Uses_the_biggest\nvalue_on_the_channel.=Использует наибольшее \nзначение в канале. Uses_the_smallest\nvalue_on_the_channel.=Использует наименьшее \nзначение в канале. Validate=Проверить -Voltage\:_%1$V=Напряжение\: %1$В +Voltage\:_%sV=Напряжение\: %sВ You_can't_place_this_block_at_this_side=Вы не можете разместить данный блок с этой стороны diff --git a/src/main/resources/assets/eln/lang/sk.lang b/src/main/resources/assets/eln/lang/sk.lang index a0fcdd29b..f4e769aa7 100644 --- a/src/main/resources/assets/eln/lang/sk.lang +++ b/src/main/resources/assets/eln/lang/sk.lang @@ -287,21 +287,21 @@ tile.eln.EnergyConverterElnToOtherLVUBlock.name=50V Electrical Age to other ener tile.eln.EnergyConverterElnToOtherMVUBlock.name=200V Electrical Age to other energy exporter # ./src/main/java/mods/eln/i18n/I18N.java -You_have_%1$_lives_left=You have %1$ lives left +You_have_%s_lives_left=You have %s lives left # ./src/main/java/mods/eln/item/BrushDescriptor.java Brush_is_dry=Brush is dry -Can_paint_%1$_blocks=Can paint %1$ blocks +Can_paint_%s_blocks=Can paint %s blocks # ./src/main/java/mods/eln/item/CombustionChamber.java Upgrade_for_the_Stone_Heat_Furnace.=Upgrade for the Stone Heat Furnace. # ./src/main/java/mods/eln/item/ElectricalDrillDescriptor.java -Energy_per_operation\:_%1$J=Energy per operation\: %1$J -Time_per_operation\:_%1$s=Time per operation\: %1$s +Energy_per_operation\:_%sJ=Energy per operation\: %sJ +Time_per_operation\:_%ss=Time per operation\: %ss # ./src/main/java/mods/eln/item/FerromagneticCoreDescriptor.java -Cable_loss_factor\:_%1$=Cable loss factor\: %1$ +Cable_loss_factor\:_%s=Cable loss factor\: %s # ./src/main/java/mods/eln/item/HeatingCorpElement.java @@ -311,8 +311,8 @@ Condition\:=Condition\: End_of_life=End of life Good=Good New=New -Nominal_lifetime\:_%1$h=Nominal lifetime\: %1$h -Technology\:_%1$=Technology\: %1$ +Nominal_lifetime\:_%sh=Nominal lifetime\: %sh +Technology\:_%s=Technology\: %s Used=Used # ./src/main/java/mods/eln/item/LampSlot.java @@ -333,7 +333,7 @@ Solar_panel_upgrade=Solar panel upgrade Off=Off On=On State\:=State\: -Stored_Energy\:_%1$J_(%2$%)=Stored Energy\: %1$J (%2$%) +Stored_Energy\:_%sJ_(%s)=Stored Energy\: %sJ (%s) # ./src/main/java/mods/eln/item/regulator/RegulatorSlot.java @@ -346,7 +346,7 @@ mod.name=Electrical Age # ./src/main/java/mods/eln/node/six/SixNodeDescriptor.java # ./src/main/java/mods/eln/simplenode/energyconverter/EnergyConverterElnToOtherGui.java -Input_power_is_limited_to_%1$W=Input power is limited to %1$W +Input_power_is_limited_to_%sW=Input power is limited to %sW # ./src/main/java/mods/eln/sixnode/LogicGate.kt _O\:_= O\: @@ -386,12 +386,12 @@ Switch_is_off=Switch is off Switch_is_on=Switch is on # ./src/main/java/mods/eln/sixnode/electricalcable/ElectricalCableDescriptor.java -A_signal_is_electrical_information\nwhich_must_be_between_0V_and_%1$V=A signal is electrical information\nwhich must be between 0V and %1$V +A_signal_is_electrical_information\nwhich_must_be_between_0V_and_%sV=A signal is electrical information\nwhich must be between 0V and %sV Cable_is_adapted_to_conduct\nelectrical_signals.=Cable is adapted to conduct\nelectrical signals. -Current\:_%1$A=Current\: %1$A +Current\:_%sA=Current\: %sA Not_adapted_to_transport_power.=Not adapted to transport power. Save_usage\:=Save usage\: -Serial_resistance\:_%1$Ω=Serial resistance\: %1$Ω +Serial_resistance\:_%sΩ=Serial resistance\: %sΩ # ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerDescriptor.java It_can_store_up_to_256_points.=It can store up to 256 points. @@ -423,10 +423,10 @@ Output_voltage_increases\nif_a_fire_has_been_detected.=Output voltage increases\ Provides_configurable_signal\nvoltage.=Provides configurable signal\nvoltage. # ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceGui.java -Output_at_%1$%=Output at %1$% +Output_at_%s=Output at %s # ./src/main/java/mods/eln/sixnode/electricallightsensor/ElectricalLightSensorDescriptor.java -0V_at_night,_%1$V_at_noon.=0V at night, %1$V at noon. +0V_at_night,_%sV_at_noon.=0V at night, %sV at noon. Provides_an_electrical_voltage\nin_the_presence_of_light.=Provides an electrical voltage\nin the presence of light. Provides_an_electrical_voltage\nwhich_is_proportional_to\nthe_intensity_of_daylight.=Provides an electrical voltage\nwhich is proportional to\nthe intensity of daylight. @@ -439,7 +439,7 @@ Applicable_mathematical_operators\:=Applicable mathematical operators\: Calculates_an_output_signal_from\n3_inputs_(A,_B,_C)_using_an_equation.=Calculates an output signal from\n3 inputs (A, B, C) using an equation. # ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathGui.java -%1$_Redstone(s)_required=%1$ Redstone(s) required +%s_Redstone(s)_required=%s Redstone(s) required Equation_required!=Equation required\! Inputs_are=Inputs are Invalid_equation!=Invalid equation\! @@ -483,13 +483,13 @@ Displays_the_value_of_a_signal.=Displays the value of a signal. Portable_battery_slot=Portable battery slot # ./src/main/java/mods/eln/sixnode/electricalweathersensor/ElectricalWeatherSensorDescriptor.java -Clear\:_%1$V=Clear\: %1$V +Clear\:_%sV=Clear\: %sV Provides_an_electrical_signal\ndepending_the_actual_weather.=Provides an electrical signal\ndepending the actual weather. -Rain\:_%1$V=Rain\: %1$V -Storm\:_%1$V=Storm\: %1$V +Rain\:_%sV=Rain\: %sV +Storm\:_%sV=Storm\: %sV # ./src/main/java/mods/eln/sixnode/electricalwindsensor/ElectricalWindSensorDescriptor.java -Maximum_wind_speed_is_%1$m_s=Maximum wind speed is %1$m/s +Maximum_wind_speed_is_%sm_s=Maximum wind speed is %sm/s Provides_an_electrical_signal\ndependant_on_wind_speed.=Provides an electrical signal\ndependant on wind speed. You_can't_place_this_block_on_the_floor_or_the_ceiling=You can't place this block on the floor or the ceiling @@ -508,7 +508,7 @@ Voltage=Voltage Change_password=Change password Counter_Mode=Counter Mode Counts_the_energy_conducted_from\n\u00a74red\u00a7f_to_\u00a71blue\u00a7f.=Counts the energy conducted from\n\\u00a74red\\u00a7f to \\u00a71blue\\u00a7f. -Energy_counter\:_%1$J=Energy counter\: %1$J +Energy_counter\:_%sJ=Energy counter\: %sJ Enter_new_energy=Enter new energy Enter_password=Enter password Prepay_Mode=Prepay Mode @@ -529,13 +529,13 @@ Provides_a_zero_volt_reference.=Provides a zero volt reference. Allows_crossing_cables\non_one_single_block.=Allows crossing cables\non one single block. # ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketDescriptor.java -Angle\:_%1$°_to_%2$°=Angle\: %1$° to %2$° -Spot_range\:_%1$_blocks=Spot range\: %1$ blocks +Angle\:_%s°_to_%s°=Angle\: %s° to %s° +Spot_range\:_%s_blocks=Spot range\: %s blocks # ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketGuiDraw.java -%1$_is_not_in_range!=%1$ is not in range\! +%s_is_not_in_range!=%s is not in range\! Cable_slot_empty=Cable slot empty -Orientation\:_%1$°=Orientation\: %1$° +Orientation\:_%s°=Orientation\: %s° Parallel=Parallel Powered_by_Lamp_Supply=Powered by Lamp Supply Powered_by_cable=Powered by cable @@ -584,8 +584,8 @@ Coal_dust_slot=Coal dust slot # ./src/main/java/mods/eln/sixnode/thermalcable/ThermalCableDescriptor.java High_parallel_resistance\n_\=>_Low_power_dissipation.=High parallel resistance\n \=> Low power dissipation. Low_serial_resistance\n_\=>_High_conductivity.=Low serial resistance\n \=> High conductivity. -Parallel_resistance\:_%1$K_W=Parallel resistance\: %1$K/W -Serial_resistance\:_%1$K_W=Serial resistance\: %1$K/W +Parallel_resistance\:_%sK_W=Parallel resistance\: %sK/W +Serial_resistance\:_%sK_W=Serial resistance\: %sK/W # ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorContainer.java Cable_slot=Cable slot @@ -610,12 +610,12 @@ Set_beacon_name=Set beacon name # ./src/main/java/mods/eln/sixnode/wirelesssignal/rx/WirelessSignalRxGui.java # ./src/main/java/mods/eln/transparentnode/FuelGenerator.kt -Nominal_power\:_%1$_W=Nominal power\: %1$ W -Nominal_voltage\:_%1$_V=Nominal voltage\: %1$ V +Nominal_power\:_%s_W=Nominal power\: %s W +Nominal_voltage\:_%s_V=Nominal voltage\: %s V Produces_electricity_using_fuel.=Produces electricity using fuel. # ./src/main/java/mods/eln/transparentnode/LargeRheostat.kt -Nom._Resistance\:_%1$=Nom. Resistance\: %1$ +Nom._Resistance\:_%s=Nom. Resistance\: %s # ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerContainer.java Drill_slot=Drill slot @@ -637,16 +637,16 @@ Overheating_protection=Overheating protection Overvoltage_protection=Overvoltage protection # ./src/main/java/mods/eln/transparentnode/battery/BatteryDescriptor.java -Actual_charge\:_%1$%=Actual charge\: %1$% -Energy_capacity\:_%1$J=Energy capacity\: %1$J -_charged_at_%1$%=charged at %1$% +Actual_charge\:_%s=Actual charge\: %s +Energy_capacity\:_%sJ=Energy capacity\: %sJ +_charged_at_%s=charged at %s # ./src/main/java/mods/eln/transparentnode/battery/BatteryGuiDraw.java Charge=Charge Charged=Charged Discharge=Discharge Energy\:=Energy\: -Energy\:_%1$=Energy\: %1$ +Energy\:_%s=Energy\: %s Life\:=Life\: No_charge=No charge Power_in\:=Power in\: @@ -659,7 +659,7 @@ Egg_slot=Egg slot Wireless_energy_receiver.=Wireless energy receiver. # ./src/main/java/mods/eln/transparentnode/electricalantennatx/ElectricalAntennaTxDescriptor.java -Efficiency\:_%1$%_up_to_%2$%=Efficiency\: %1$% up to %2$% +Efficiency\:_%s_up_to_%s=Efficiency\: %s up to %s Wireless_energy_transmitter.=Wireless energy transmitter. # ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceContainer.java @@ -671,7 +671,7 @@ Similar_to_a_vanilla_furnace,\nbut_heats_with_electricity.=Similar to a vanilla # ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceGuiDraw.java Auto_shutdown=Auto shutdown Manual_shutdown=Manual shutdown -Set_point\:_%1$°C=Set point\: %1$°C +Set_point\:_%s°C=Set point\: %s°C # ./src/main/java/mods/eln/transparentnode/electricalmachine/ElectricalMachineDescriptor.java Cost=Cost @@ -684,7 +684,7 @@ Fuel_slot=Fuel slot Generates_heat_when_supplied_with_fuel.=Generates heat when supplied with fuel. # ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceGuiDraw.java -Control_gauge_at_%1$%=Control gauge at %1$% +Control_gauge_at_%s=Control gauge at %s Decline_fuel=Decline fuel External_control=External control Internal_control=Internal control @@ -698,27 +698,27 @@ Solar_tracker_slot=Solar tracker slot # ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelDescriptor.java Can_be_geared_towards_the_sun.=Can be geared towards the sun. -Max._power\:_%1$W=Max. power\: %1$W -Max._voltage\:_%1$V=Max. voltage\: %1$V +Max._power\:_%sW=Max. power\: %sW +Max._voltage\:_%sV=Max. voltage\: %sV Produces_power_from_solar_radiation.=Produces power from solar radiation. # ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPannelGuiDraw.java It_is_night=It is night -Solar_panel_angle\:_%1$°=Solar panel angle\: %1$° -Sun_angle\:_%1$°=Sun angle\: %1$° +Solar_panel_angle\:_%s°=Solar panel angle\: %s° +Sun_angle\:_%s°=Sun angle\: %s° # ./src/main/java/mods/eln/transparentnode/teleporter/TeleporterGui.java Destination_transporter=Destination transporter Power_consumption\:=Power consumption\: -Power_consumption\:_%1$W=Power consumption\: %1$W -Required_energy\:_%1$J=Required energy\: %1$J +Power_consumption\:_%sW=Power consumption\: %sW +Required_energy\:_%sJ=Required energy\: %sJ Start=Start Transporter_name=Transporter name # ./src/main/java/mods/eln/transparentnode/thermaldissipatoractive/ThermalDissipatorActiveDescriptor.java -Fan_cooling_power\:_%1$W=Fan cooling power\: %1$W -Fan_power_consumption\:_%1$W=Fan power consumption\: %1$W -Fan_voltage\:_%1$V=Fan voltage\: %1$V +Fan_cooling_power\:_%sW=Fan cooling power\: %sW +Fan_power_consumption\:_%sW=Fan power consumption\: %sW +Fan_voltage\:_%sV=Fan voltage\: %sV # ./src/main/java/mods/eln/transparentnode/transformer/TransformerDescriptor.java The_voltage_ratio_is_proportional\nto_the_cable_stacks_count_ratio.=The voltage ratio is proportional\nto the cable stacks count ratio. @@ -726,13 +726,13 @@ Transforms_an_input_voltage_to\nan_output_voltage.=Transforms an input voltage t # ./src/main/java/mods/eln/transparentnode/turbine/TurbineDescriptor.java Generates_electricity_using_heat.=Generates electricity using heat. -Temperature_difference\:_%1$°C=Temperature difference\: %1$°C +Temperature_difference\:_%s°C=Temperature difference\: %s°C # ./src/main/java/mods/eln/transparentnode/turret/TurretDescriptor.java CAUTION\:_Cables_can_get_quite_hot!=CAUTION\: Cables can get quite hot\! -Laser_charge_power\:_%1$W...%2$kW=Laser charge power\: %1$W...%2$kW +Laser_charge_power\:_%sW...%skW=Laser charge power\: %sW...%skW Scans_for_entities_and_shoots_if_the\nentity_matches_the_configurable_filter_criteria.=Scans for entities and shoots if the\nentity matches the configurable filter criteria. -Standby_power\:_%1$W=Standby power\: %1$W +Standby_power\:_%sW=Standby power\: %sW # ./src/main/java/mods/eln/transparentnode/turret/TurretGui.java Attack\:=Attack\: @@ -744,10 +744,10 @@ Generates_energy_using_water_stream.=Generates energy using water stream. No_place_for_water_turbine!=No place for water turbine\! # ./src/main/java/mods/eln/transparentnode/windturbine/WindTurbineDescriptor.java -Front\:_%1$=Front\: %1$ +Front\:_%s=Front\: %s Generates_energy_from_wind.=Generates energy from wind. -Left_Right\:_%1$=Left/Right\: %1$ -Up_Down\:_%1$=Up/Down\: %1$ +Left_Right\:_%s=Left/Right\: %s +Up_Down\:_%s=Up/Down\: %s Wind_area\:=Wind area\: # ./src/main/java/mods/eln/wiki/Data.java @@ -769,7 +769,7 @@ Previous=Previous # ./src/main/java/mods/eln/wiki/ItemDefault.java Can_be_used_to_craft\:=Can be used to craft\: Cannot_be_crafted!=Cannot be crafted\! -Cost_%1$J=Cost %1$J +Cost_%sJ=Cost %sJ Created_by\:=Created by\: Is_not_a_crafting_material!=Is not a crafting material\! Recipe\:=Recipe\: @@ -777,45 +777,45 @@ Recipe\:=Recipe\: # Appearing in multiple source files (Increases_capacity)=(Increases capacity) (Increases_inductance)=(Increases inductance) -Actual\:_%1$°C=Actual\: %1$°C +Actual\:_%s°C=Actual\: %s°C Biggest=Biggest Booster_slot=Booster slot Can_create\:=Can create\: -Capacity\:_%1$F=Capacity\: %1$F -Charge_power\:_%1$W=Charge power\: %1$W +Capacity\:_%sF=Capacity\: %sF +Charge_power\:_%sW=Charge power\: %sW Connected=Connected -Cooling_power\:_%1$W=Cooling power\: %1$W +Cooling_power\:_%sW=Cooling power\: %sW Copper_cable_slot=Copper cable slot Dielectric_slot=Dielectric slot -Discharge_power\:_%1$W=Discharge power\: %1$W +Discharge_power\:_%sW=Discharge power\: %sW Electrical_cable_slot=Electrical cable slot Entity_filter_slot=Entity filter slot Ferromagnetic_core_slot=Ferromagnetic core slot Has_a_signal_output.=Has a signal output. -Inductance\:_%1$H=Inductance\: %1$H -Internal_resistance\:_%1$Ω=Internal resistance\: %1$Ω +Inductance\:_%sH=Inductance\: %sH +Internal_resistance\:_%sΩ=Internal resistance\: %sΩ Is_off=Is off Is_on=Is on -Max._temperature\:_%1$°C=Max. temperature\: %1$°C +Max._temperature\:_%s°C=Max. temperature\: %s°C Measured_value\ncorresponding\nto_0%_output=Measured value\ncorresponding\nto 0% output Measured_value\ncorresponding\nto_100%_output=Measured value\ncorresponding\nto 100% output Nominal\:=Nominal\: -Nominal_power\:_%1$W=Nominal power\: %1$W +Nominal_power\:_%sW=Nominal power\: %sW Nominal_usage\:=Nominal usage\: -Nominal_voltage\:_%1$V=Nominal voltage\: %1$V +Nominal_voltage\:_%sV=Nominal voltage\: %sV Not_connected=Not connected Not_enough_space_for_this_block=Not enough space for this block Power=Power -Power\:_%1$W=Power\: %1$W -Range\:_%1$_blocks=Range\: %1$ blocks +Power\:_%sW=Power\: %sW +Range\:_%s_blocks=Range\: %s blocks Redstone_slot=Redstone slot Regulator_slot=Regulator slot Reset=Reset -Resistance\:_%1$Ω=Resistance\: %1$Ω +Resistance\:_%sΩ=Resistance\: %sΩ Smallest=Smallest Specify_the_channel=Specify the channel -Stored_energy\:_%1$J_(%2$%)=Stored energy\: %1$J (%2$%) -Temperature\:_%1$°C=Temperature\: %1$°C +Stored_energy\:_%sJ_(%s)=Stored energy\: %sJ (%s) +Temperature\:_%s°C=Temperature\: %s°C Temperature_gauge=Temperature gauge Thermal_isolator_slot=Thermal isolator slot Toggle=Toggle @@ -825,5 +825,5 @@ Used_to_cool_down_turbines.=Used to cool down turbines. Uses_the_biggest\nvalue_on_the_channel.=Uses the biggest\nvalue on the channel. Uses_the_smallest\nvalue_on_the_channel.=Uses the smallest\nvalue on the channel. Validate=Validate -Voltage\:_%1$V=Voltage\: %1$V +Voltage\:_%sV=Voltage\: %sV You_can't_place_this_block_at_this_side=You can't place this block at this side diff --git a/src/main/resources/assets/eln/lang/sk_SK.lang b/src/main/resources/assets/eln/lang/sk_SK.lang index a0fcdd29b..f4e769aa7 100644 --- a/src/main/resources/assets/eln/lang/sk_SK.lang +++ b/src/main/resources/assets/eln/lang/sk_SK.lang @@ -287,21 +287,21 @@ tile.eln.EnergyConverterElnToOtherLVUBlock.name=50V Electrical Age to other ener tile.eln.EnergyConverterElnToOtherMVUBlock.name=200V Electrical Age to other energy exporter # ./src/main/java/mods/eln/i18n/I18N.java -You_have_%1$_lives_left=You have %1$ lives left +You_have_%s_lives_left=You have %s lives left # ./src/main/java/mods/eln/item/BrushDescriptor.java Brush_is_dry=Brush is dry -Can_paint_%1$_blocks=Can paint %1$ blocks +Can_paint_%s_blocks=Can paint %s blocks # ./src/main/java/mods/eln/item/CombustionChamber.java Upgrade_for_the_Stone_Heat_Furnace.=Upgrade for the Stone Heat Furnace. # ./src/main/java/mods/eln/item/ElectricalDrillDescriptor.java -Energy_per_operation\:_%1$J=Energy per operation\: %1$J -Time_per_operation\:_%1$s=Time per operation\: %1$s +Energy_per_operation\:_%sJ=Energy per operation\: %sJ +Time_per_operation\:_%ss=Time per operation\: %ss # ./src/main/java/mods/eln/item/FerromagneticCoreDescriptor.java -Cable_loss_factor\:_%1$=Cable loss factor\: %1$ +Cable_loss_factor\:_%s=Cable loss factor\: %s # ./src/main/java/mods/eln/item/HeatingCorpElement.java @@ -311,8 +311,8 @@ Condition\:=Condition\: End_of_life=End of life Good=Good New=New -Nominal_lifetime\:_%1$h=Nominal lifetime\: %1$h -Technology\:_%1$=Technology\: %1$ +Nominal_lifetime\:_%sh=Nominal lifetime\: %sh +Technology\:_%s=Technology\: %s Used=Used # ./src/main/java/mods/eln/item/LampSlot.java @@ -333,7 +333,7 @@ Solar_panel_upgrade=Solar panel upgrade Off=Off On=On State\:=State\: -Stored_Energy\:_%1$J_(%2$%)=Stored Energy\: %1$J (%2$%) +Stored_Energy\:_%sJ_(%s)=Stored Energy\: %sJ (%s) # ./src/main/java/mods/eln/item/regulator/RegulatorSlot.java @@ -346,7 +346,7 @@ mod.name=Electrical Age # ./src/main/java/mods/eln/node/six/SixNodeDescriptor.java # ./src/main/java/mods/eln/simplenode/energyconverter/EnergyConverterElnToOtherGui.java -Input_power_is_limited_to_%1$W=Input power is limited to %1$W +Input_power_is_limited_to_%sW=Input power is limited to %sW # ./src/main/java/mods/eln/sixnode/LogicGate.kt _O\:_= O\: @@ -386,12 +386,12 @@ Switch_is_off=Switch is off Switch_is_on=Switch is on # ./src/main/java/mods/eln/sixnode/electricalcable/ElectricalCableDescriptor.java -A_signal_is_electrical_information\nwhich_must_be_between_0V_and_%1$V=A signal is electrical information\nwhich must be between 0V and %1$V +A_signal_is_electrical_information\nwhich_must_be_between_0V_and_%sV=A signal is electrical information\nwhich must be between 0V and %sV Cable_is_adapted_to_conduct\nelectrical_signals.=Cable is adapted to conduct\nelectrical signals. -Current\:_%1$A=Current\: %1$A +Current\:_%sA=Current\: %sA Not_adapted_to_transport_power.=Not adapted to transport power. Save_usage\:=Save usage\: -Serial_resistance\:_%1$Ω=Serial resistance\: %1$Ω +Serial_resistance\:_%sΩ=Serial resistance\: %sΩ # ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerDescriptor.java It_can_store_up_to_256_points.=It can store up to 256 points. @@ -423,10 +423,10 @@ Output_voltage_increases\nif_a_fire_has_been_detected.=Output voltage increases\ Provides_configurable_signal\nvoltage.=Provides configurable signal\nvoltage. # ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceGui.java -Output_at_%1$%=Output at %1$% +Output_at_%s=Output at %s # ./src/main/java/mods/eln/sixnode/electricallightsensor/ElectricalLightSensorDescriptor.java -0V_at_night,_%1$V_at_noon.=0V at night, %1$V at noon. +0V_at_night,_%sV_at_noon.=0V at night, %sV at noon. Provides_an_electrical_voltage\nin_the_presence_of_light.=Provides an electrical voltage\nin the presence of light. Provides_an_electrical_voltage\nwhich_is_proportional_to\nthe_intensity_of_daylight.=Provides an electrical voltage\nwhich is proportional to\nthe intensity of daylight. @@ -439,7 +439,7 @@ Applicable_mathematical_operators\:=Applicable mathematical operators\: Calculates_an_output_signal_from\n3_inputs_(A,_B,_C)_using_an_equation.=Calculates an output signal from\n3 inputs (A, B, C) using an equation. # ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathGui.java -%1$_Redstone(s)_required=%1$ Redstone(s) required +%s_Redstone(s)_required=%s Redstone(s) required Equation_required!=Equation required\! Inputs_are=Inputs are Invalid_equation!=Invalid equation\! @@ -483,13 +483,13 @@ Displays_the_value_of_a_signal.=Displays the value of a signal. Portable_battery_slot=Portable battery slot # ./src/main/java/mods/eln/sixnode/electricalweathersensor/ElectricalWeatherSensorDescriptor.java -Clear\:_%1$V=Clear\: %1$V +Clear\:_%sV=Clear\: %sV Provides_an_electrical_signal\ndepending_the_actual_weather.=Provides an electrical signal\ndepending the actual weather. -Rain\:_%1$V=Rain\: %1$V -Storm\:_%1$V=Storm\: %1$V +Rain\:_%sV=Rain\: %sV +Storm\:_%sV=Storm\: %sV # ./src/main/java/mods/eln/sixnode/electricalwindsensor/ElectricalWindSensorDescriptor.java -Maximum_wind_speed_is_%1$m_s=Maximum wind speed is %1$m/s +Maximum_wind_speed_is_%sm_s=Maximum wind speed is %sm/s Provides_an_electrical_signal\ndependant_on_wind_speed.=Provides an electrical signal\ndependant on wind speed. You_can't_place_this_block_on_the_floor_or_the_ceiling=You can't place this block on the floor or the ceiling @@ -508,7 +508,7 @@ Voltage=Voltage Change_password=Change password Counter_Mode=Counter Mode Counts_the_energy_conducted_from\n\u00a74red\u00a7f_to_\u00a71blue\u00a7f.=Counts the energy conducted from\n\\u00a74red\\u00a7f to \\u00a71blue\\u00a7f. -Energy_counter\:_%1$J=Energy counter\: %1$J +Energy_counter\:_%sJ=Energy counter\: %sJ Enter_new_energy=Enter new energy Enter_password=Enter password Prepay_Mode=Prepay Mode @@ -529,13 +529,13 @@ Provides_a_zero_volt_reference.=Provides a zero volt reference. Allows_crossing_cables\non_one_single_block.=Allows crossing cables\non one single block. # ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketDescriptor.java -Angle\:_%1$°_to_%2$°=Angle\: %1$° to %2$° -Spot_range\:_%1$_blocks=Spot range\: %1$ blocks +Angle\:_%s°_to_%s°=Angle\: %s° to %s° +Spot_range\:_%s_blocks=Spot range\: %s blocks # ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketGuiDraw.java -%1$_is_not_in_range!=%1$ is not in range\! +%s_is_not_in_range!=%s is not in range\! Cable_slot_empty=Cable slot empty -Orientation\:_%1$°=Orientation\: %1$° +Orientation\:_%s°=Orientation\: %s° Parallel=Parallel Powered_by_Lamp_Supply=Powered by Lamp Supply Powered_by_cable=Powered by cable @@ -584,8 +584,8 @@ Coal_dust_slot=Coal dust slot # ./src/main/java/mods/eln/sixnode/thermalcable/ThermalCableDescriptor.java High_parallel_resistance\n_\=>_Low_power_dissipation.=High parallel resistance\n \=> Low power dissipation. Low_serial_resistance\n_\=>_High_conductivity.=Low serial resistance\n \=> High conductivity. -Parallel_resistance\:_%1$K_W=Parallel resistance\: %1$K/W -Serial_resistance\:_%1$K_W=Serial resistance\: %1$K/W +Parallel_resistance\:_%sK_W=Parallel resistance\: %sK/W +Serial_resistance\:_%sK_W=Serial resistance\: %sK/W # ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorContainer.java Cable_slot=Cable slot @@ -610,12 +610,12 @@ Set_beacon_name=Set beacon name # ./src/main/java/mods/eln/sixnode/wirelesssignal/rx/WirelessSignalRxGui.java # ./src/main/java/mods/eln/transparentnode/FuelGenerator.kt -Nominal_power\:_%1$_W=Nominal power\: %1$ W -Nominal_voltage\:_%1$_V=Nominal voltage\: %1$ V +Nominal_power\:_%s_W=Nominal power\: %s W +Nominal_voltage\:_%s_V=Nominal voltage\: %s V Produces_electricity_using_fuel.=Produces electricity using fuel. # ./src/main/java/mods/eln/transparentnode/LargeRheostat.kt -Nom._Resistance\:_%1$=Nom. Resistance\: %1$ +Nom._Resistance\:_%s=Nom. Resistance\: %s # ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerContainer.java Drill_slot=Drill slot @@ -637,16 +637,16 @@ Overheating_protection=Overheating protection Overvoltage_protection=Overvoltage protection # ./src/main/java/mods/eln/transparentnode/battery/BatteryDescriptor.java -Actual_charge\:_%1$%=Actual charge\: %1$% -Energy_capacity\:_%1$J=Energy capacity\: %1$J -_charged_at_%1$%=charged at %1$% +Actual_charge\:_%s=Actual charge\: %s +Energy_capacity\:_%sJ=Energy capacity\: %sJ +_charged_at_%s=charged at %s # ./src/main/java/mods/eln/transparentnode/battery/BatteryGuiDraw.java Charge=Charge Charged=Charged Discharge=Discharge Energy\:=Energy\: -Energy\:_%1$=Energy\: %1$ +Energy\:_%s=Energy\: %s Life\:=Life\: No_charge=No charge Power_in\:=Power in\: @@ -659,7 +659,7 @@ Egg_slot=Egg slot Wireless_energy_receiver.=Wireless energy receiver. # ./src/main/java/mods/eln/transparentnode/electricalantennatx/ElectricalAntennaTxDescriptor.java -Efficiency\:_%1$%_up_to_%2$%=Efficiency\: %1$% up to %2$% +Efficiency\:_%s_up_to_%s=Efficiency\: %s up to %s Wireless_energy_transmitter.=Wireless energy transmitter. # ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceContainer.java @@ -671,7 +671,7 @@ Similar_to_a_vanilla_furnace,\nbut_heats_with_electricity.=Similar to a vanilla # ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceGuiDraw.java Auto_shutdown=Auto shutdown Manual_shutdown=Manual shutdown -Set_point\:_%1$°C=Set point\: %1$°C +Set_point\:_%s°C=Set point\: %s°C # ./src/main/java/mods/eln/transparentnode/electricalmachine/ElectricalMachineDescriptor.java Cost=Cost @@ -684,7 +684,7 @@ Fuel_slot=Fuel slot Generates_heat_when_supplied_with_fuel.=Generates heat when supplied with fuel. # ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceGuiDraw.java -Control_gauge_at_%1$%=Control gauge at %1$% +Control_gauge_at_%s=Control gauge at %s Decline_fuel=Decline fuel External_control=External control Internal_control=Internal control @@ -698,27 +698,27 @@ Solar_tracker_slot=Solar tracker slot # ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelDescriptor.java Can_be_geared_towards_the_sun.=Can be geared towards the sun. -Max._power\:_%1$W=Max. power\: %1$W -Max._voltage\:_%1$V=Max. voltage\: %1$V +Max._power\:_%sW=Max. power\: %sW +Max._voltage\:_%sV=Max. voltage\: %sV Produces_power_from_solar_radiation.=Produces power from solar radiation. # ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPannelGuiDraw.java It_is_night=It is night -Solar_panel_angle\:_%1$°=Solar panel angle\: %1$° -Sun_angle\:_%1$°=Sun angle\: %1$° +Solar_panel_angle\:_%s°=Solar panel angle\: %s° +Sun_angle\:_%s°=Sun angle\: %s° # ./src/main/java/mods/eln/transparentnode/teleporter/TeleporterGui.java Destination_transporter=Destination transporter Power_consumption\:=Power consumption\: -Power_consumption\:_%1$W=Power consumption\: %1$W -Required_energy\:_%1$J=Required energy\: %1$J +Power_consumption\:_%sW=Power consumption\: %sW +Required_energy\:_%sJ=Required energy\: %sJ Start=Start Transporter_name=Transporter name # ./src/main/java/mods/eln/transparentnode/thermaldissipatoractive/ThermalDissipatorActiveDescriptor.java -Fan_cooling_power\:_%1$W=Fan cooling power\: %1$W -Fan_power_consumption\:_%1$W=Fan power consumption\: %1$W -Fan_voltage\:_%1$V=Fan voltage\: %1$V +Fan_cooling_power\:_%sW=Fan cooling power\: %sW +Fan_power_consumption\:_%sW=Fan power consumption\: %sW +Fan_voltage\:_%sV=Fan voltage\: %sV # ./src/main/java/mods/eln/transparentnode/transformer/TransformerDescriptor.java The_voltage_ratio_is_proportional\nto_the_cable_stacks_count_ratio.=The voltage ratio is proportional\nto the cable stacks count ratio. @@ -726,13 +726,13 @@ Transforms_an_input_voltage_to\nan_output_voltage.=Transforms an input voltage t # ./src/main/java/mods/eln/transparentnode/turbine/TurbineDescriptor.java Generates_electricity_using_heat.=Generates electricity using heat. -Temperature_difference\:_%1$°C=Temperature difference\: %1$°C +Temperature_difference\:_%s°C=Temperature difference\: %s°C # ./src/main/java/mods/eln/transparentnode/turret/TurretDescriptor.java CAUTION\:_Cables_can_get_quite_hot!=CAUTION\: Cables can get quite hot\! -Laser_charge_power\:_%1$W...%2$kW=Laser charge power\: %1$W...%2$kW +Laser_charge_power\:_%sW...%skW=Laser charge power\: %sW...%skW Scans_for_entities_and_shoots_if_the\nentity_matches_the_configurable_filter_criteria.=Scans for entities and shoots if the\nentity matches the configurable filter criteria. -Standby_power\:_%1$W=Standby power\: %1$W +Standby_power\:_%sW=Standby power\: %sW # ./src/main/java/mods/eln/transparentnode/turret/TurretGui.java Attack\:=Attack\: @@ -744,10 +744,10 @@ Generates_energy_using_water_stream.=Generates energy using water stream. No_place_for_water_turbine!=No place for water turbine\! # ./src/main/java/mods/eln/transparentnode/windturbine/WindTurbineDescriptor.java -Front\:_%1$=Front\: %1$ +Front\:_%s=Front\: %s Generates_energy_from_wind.=Generates energy from wind. -Left_Right\:_%1$=Left/Right\: %1$ -Up_Down\:_%1$=Up/Down\: %1$ +Left_Right\:_%s=Left/Right\: %s +Up_Down\:_%s=Up/Down\: %s Wind_area\:=Wind area\: # ./src/main/java/mods/eln/wiki/Data.java @@ -769,7 +769,7 @@ Previous=Previous # ./src/main/java/mods/eln/wiki/ItemDefault.java Can_be_used_to_craft\:=Can be used to craft\: Cannot_be_crafted!=Cannot be crafted\! -Cost_%1$J=Cost %1$J +Cost_%sJ=Cost %sJ Created_by\:=Created by\: Is_not_a_crafting_material!=Is not a crafting material\! Recipe\:=Recipe\: @@ -777,45 +777,45 @@ Recipe\:=Recipe\: # Appearing in multiple source files (Increases_capacity)=(Increases capacity) (Increases_inductance)=(Increases inductance) -Actual\:_%1$°C=Actual\: %1$°C +Actual\:_%s°C=Actual\: %s°C Biggest=Biggest Booster_slot=Booster slot Can_create\:=Can create\: -Capacity\:_%1$F=Capacity\: %1$F -Charge_power\:_%1$W=Charge power\: %1$W +Capacity\:_%sF=Capacity\: %sF +Charge_power\:_%sW=Charge power\: %sW Connected=Connected -Cooling_power\:_%1$W=Cooling power\: %1$W +Cooling_power\:_%sW=Cooling power\: %sW Copper_cable_slot=Copper cable slot Dielectric_slot=Dielectric slot -Discharge_power\:_%1$W=Discharge power\: %1$W +Discharge_power\:_%sW=Discharge power\: %sW Electrical_cable_slot=Electrical cable slot Entity_filter_slot=Entity filter slot Ferromagnetic_core_slot=Ferromagnetic core slot Has_a_signal_output.=Has a signal output. -Inductance\:_%1$H=Inductance\: %1$H -Internal_resistance\:_%1$Ω=Internal resistance\: %1$Ω +Inductance\:_%sH=Inductance\: %sH +Internal_resistance\:_%sΩ=Internal resistance\: %sΩ Is_off=Is off Is_on=Is on -Max._temperature\:_%1$°C=Max. temperature\: %1$°C +Max._temperature\:_%s°C=Max. temperature\: %s°C Measured_value\ncorresponding\nto_0%_output=Measured value\ncorresponding\nto 0% output Measured_value\ncorresponding\nto_100%_output=Measured value\ncorresponding\nto 100% output Nominal\:=Nominal\: -Nominal_power\:_%1$W=Nominal power\: %1$W +Nominal_power\:_%sW=Nominal power\: %sW Nominal_usage\:=Nominal usage\: -Nominal_voltage\:_%1$V=Nominal voltage\: %1$V +Nominal_voltage\:_%sV=Nominal voltage\: %sV Not_connected=Not connected Not_enough_space_for_this_block=Not enough space for this block Power=Power -Power\:_%1$W=Power\: %1$W -Range\:_%1$_blocks=Range\: %1$ blocks +Power\:_%sW=Power\: %sW +Range\:_%s_blocks=Range\: %s blocks Redstone_slot=Redstone slot Regulator_slot=Regulator slot Reset=Reset -Resistance\:_%1$Ω=Resistance\: %1$Ω +Resistance\:_%sΩ=Resistance\: %sΩ Smallest=Smallest Specify_the_channel=Specify the channel -Stored_energy\:_%1$J_(%2$%)=Stored energy\: %1$J (%2$%) -Temperature\:_%1$°C=Temperature\: %1$°C +Stored_energy\:_%sJ_(%s)=Stored energy\: %sJ (%s) +Temperature\:_%s°C=Temperature\: %s°C Temperature_gauge=Temperature gauge Thermal_isolator_slot=Thermal isolator slot Toggle=Toggle @@ -825,5 +825,5 @@ Used_to_cool_down_turbines.=Used to cool down turbines. Uses_the_biggest\nvalue_on_the_channel.=Uses the biggest\nvalue on the channel. Uses_the_smallest\nvalue_on_the_channel.=Uses the smallest\nvalue on the channel. Validate=Validate -Voltage\:_%1$V=Voltage\: %1$V +Voltage\:_%sV=Voltage\: %sV You_can't_place_this_block_at_this_side=You can't place this block at this side diff --git a/src/main/resources/assets/eln/lang/sr.lang b/src/main/resources/assets/eln/lang/sr.lang index a0fcdd29b..f4e769aa7 100644 --- a/src/main/resources/assets/eln/lang/sr.lang +++ b/src/main/resources/assets/eln/lang/sr.lang @@ -287,21 +287,21 @@ tile.eln.EnergyConverterElnToOtherLVUBlock.name=50V Electrical Age to other ener tile.eln.EnergyConverterElnToOtherMVUBlock.name=200V Electrical Age to other energy exporter # ./src/main/java/mods/eln/i18n/I18N.java -You_have_%1$_lives_left=You have %1$ lives left +You_have_%s_lives_left=You have %s lives left # ./src/main/java/mods/eln/item/BrushDescriptor.java Brush_is_dry=Brush is dry -Can_paint_%1$_blocks=Can paint %1$ blocks +Can_paint_%s_blocks=Can paint %s blocks # ./src/main/java/mods/eln/item/CombustionChamber.java Upgrade_for_the_Stone_Heat_Furnace.=Upgrade for the Stone Heat Furnace. # ./src/main/java/mods/eln/item/ElectricalDrillDescriptor.java -Energy_per_operation\:_%1$J=Energy per operation\: %1$J -Time_per_operation\:_%1$s=Time per operation\: %1$s +Energy_per_operation\:_%sJ=Energy per operation\: %sJ +Time_per_operation\:_%ss=Time per operation\: %ss # ./src/main/java/mods/eln/item/FerromagneticCoreDescriptor.java -Cable_loss_factor\:_%1$=Cable loss factor\: %1$ +Cable_loss_factor\:_%s=Cable loss factor\: %s # ./src/main/java/mods/eln/item/HeatingCorpElement.java @@ -311,8 +311,8 @@ Condition\:=Condition\: End_of_life=End of life Good=Good New=New -Nominal_lifetime\:_%1$h=Nominal lifetime\: %1$h -Technology\:_%1$=Technology\: %1$ +Nominal_lifetime\:_%sh=Nominal lifetime\: %sh +Technology\:_%s=Technology\: %s Used=Used # ./src/main/java/mods/eln/item/LampSlot.java @@ -333,7 +333,7 @@ Solar_panel_upgrade=Solar panel upgrade Off=Off On=On State\:=State\: -Stored_Energy\:_%1$J_(%2$%)=Stored Energy\: %1$J (%2$%) +Stored_Energy\:_%sJ_(%s)=Stored Energy\: %sJ (%s) # ./src/main/java/mods/eln/item/regulator/RegulatorSlot.java @@ -346,7 +346,7 @@ mod.name=Electrical Age # ./src/main/java/mods/eln/node/six/SixNodeDescriptor.java # ./src/main/java/mods/eln/simplenode/energyconverter/EnergyConverterElnToOtherGui.java -Input_power_is_limited_to_%1$W=Input power is limited to %1$W +Input_power_is_limited_to_%sW=Input power is limited to %sW # ./src/main/java/mods/eln/sixnode/LogicGate.kt _O\:_= O\: @@ -386,12 +386,12 @@ Switch_is_off=Switch is off Switch_is_on=Switch is on # ./src/main/java/mods/eln/sixnode/electricalcable/ElectricalCableDescriptor.java -A_signal_is_electrical_information\nwhich_must_be_between_0V_and_%1$V=A signal is electrical information\nwhich must be between 0V and %1$V +A_signal_is_electrical_information\nwhich_must_be_between_0V_and_%sV=A signal is electrical information\nwhich must be between 0V and %sV Cable_is_adapted_to_conduct\nelectrical_signals.=Cable is adapted to conduct\nelectrical signals. -Current\:_%1$A=Current\: %1$A +Current\:_%sA=Current\: %sA Not_adapted_to_transport_power.=Not adapted to transport power. Save_usage\:=Save usage\: -Serial_resistance\:_%1$Ω=Serial resistance\: %1$Ω +Serial_resistance\:_%sΩ=Serial resistance\: %sΩ # ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerDescriptor.java It_can_store_up_to_256_points.=It can store up to 256 points. @@ -423,10 +423,10 @@ Output_voltage_increases\nif_a_fire_has_been_detected.=Output voltage increases\ Provides_configurable_signal\nvoltage.=Provides configurable signal\nvoltage. # ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceGui.java -Output_at_%1$%=Output at %1$% +Output_at_%s=Output at %s # ./src/main/java/mods/eln/sixnode/electricallightsensor/ElectricalLightSensorDescriptor.java -0V_at_night,_%1$V_at_noon.=0V at night, %1$V at noon. +0V_at_night,_%sV_at_noon.=0V at night, %sV at noon. Provides_an_electrical_voltage\nin_the_presence_of_light.=Provides an electrical voltage\nin the presence of light. Provides_an_electrical_voltage\nwhich_is_proportional_to\nthe_intensity_of_daylight.=Provides an electrical voltage\nwhich is proportional to\nthe intensity of daylight. @@ -439,7 +439,7 @@ Applicable_mathematical_operators\:=Applicable mathematical operators\: Calculates_an_output_signal_from\n3_inputs_(A,_B,_C)_using_an_equation.=Calculates an output signal from\n3 inputs (A, B, C) using an equation. # ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathGui.java -%1$_Redstone(s)_required=%1$ Redstone(s) required +%s_Redstone(s)_required=%s Redstone(s) required Equation_required!=Equation required\! Inputs_are=Inputs are Invalid_equation!=Invalid equation\! @@ -483,13 +483,13 @@ Displays_the_value_of_a_signal.=Displays the value of a signal. Portable_battery_slot=Portable battery slot # ./src/main/java/mods/eln/sixnode/electricalweathersensor/ElectricalWeatherSensorDescriptor.java -Clear\:_%1$V=Clear\: %1$V +Clear\:_%sV=Clear\: %sV Provides_an_electrical_signal\ndepending_the_actual_weather.=Provides an electrical signal\ndepending the actual weather. -Rain\:_%1$V=Rain\: %1$V -Storm\:_%1$V=Storm\: %1$V +Rain\:_%sV=Rain\: %sV +Storm\:_%sV=Storm\: %sV # ./src/main/java/mods/eln/sixnode/electricalwindsensor/ElectricalWindSensorDescriptor.java -Maximum_wind_speed_is_%1$m_s=Maximum wind speed is %1$m/s +Maximum_wind_speed_is_%sm_s=Maximum wind speed is %sm/s Provides_an_electrical_signal\ndependant_on_wind_speed.=Provides an electrical signal\ndependant on wind speed. You_can't_place_this_block_on_the_floor_or_the_ceiling=You can't place this block on the floor or the ceiling @@ -508,7 +508,7 @@ Voltage=Voltage Change_password=Change password Counter_Mode=Counter Mode Counts_the_energy_conducted_from\n\u00a74red\u00a7f_to_\u00a71blue\u00a7f.=Counts the energy conducted from\n\\u00a74red\\u00a7f to \\u00a71blue\\u00a7f. -Energy_counter\:_%1$J=Energy counter\: %1$J +Energy_counter\:_%sJ=Energy counter\: %sJ Enter_new_energy=Enter new energy Enter_password=Enter password Prepay_Mode=Prepay Mode @@ -529,13 +529,13 @@ Provides_a_zero_volt_reference.=Provides a zero volt reference. Allows_crossing_cables\non_one_single_block.=Allows crossing cables\non one single block. # ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketDescriptor.java -Angle\:_%1$°_to_%2$°=Angle\: %1$° to %2$° -Spot_range\:_%1$_blocks=Spot range\: %1$ blocks +Angle\:_%s°_to_%s°=Angle\: %s° to %s° +Spot_range\:_%s_blocks=Spot range\: %s blocks # ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketGuiDraw.java -%1$_is_not_in_range!=%1$ is not in range\! +%s_is_not_in_range!=%s is not in range\! Cable_slot_empty=Cable slot empty -Orientation\:_%1$°=Orientation\: %1$° +Orientation\:_%s°=Orientation\: %s° Parallel=Parallel Powered_by_Lamp_Supply=Powered by Lamp Supply Powered_by_cable=Powered by cable @@ -584,8 +584,8 @@ Coal_dust_slot=Coal dust slot # ./src/main/java/mods/eln/sixnode/thermalcable/ThermalCableDescriptor.java High_parallel_resistance\n_\=>_Low_power_dissipation.=High parallel resistance\n \=> Low power dissipation. Low_serial_resistance\n_\=>_High_conductivity.=Low serial resistance\n \=> High conductivity. -Parallel_resistance\:_%1$K_W=Parallel resistance\: %1$K/W -Serial_resistance\:_%1$K_W=Serial resistance\: %1$K/W +Parallel_resistance\:_%sK_W=Parallel resistance\: %sK/W +Serial_resistance\:_%sK_W=Serial resistance\: %sK/W # ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorContainer.java Cable_slot=Cable slot @@ -610,12 +610,12 @@ Set_beacon_name=Set beacon name # ./src/main/java/mods/eln/sixnode/wirelesssignal/rx/WirelessSignalRxGui.java # ./src/main/java/mods/eln/transparentnode/FuelGenerator.kt -Nominal_power\:_%1$_W=Nominal power\: %1$ W -Nominal_voltage\:_%1$_V=Nominal voltage\: %1$ V +Nominal_power\:_%s_W=Nominal power\: %s W +Nominal_voltage\:_%s_V=Nominal voltage\: %s V Produces_electricity_using_fuel.=Produces electricity using fuel. # ./src/main/java/mods/eln/transparentnode/LargeRheostat.kt -Nom._Resistance\:_%1$=Nom. Resistance\: %1$ +Nom._Resistance\:_%s=Nom. Resistance\: %s # ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerContainer.java Drill_slot=Drill slot @@ -637,16 +637,16 @@ Overheating_protection=Overheating protection Overvoltage_protection=Overvoltage protection # ./src/main/java/mods/eln/transparentnode/battery/BatteryDescriptor.java -Actual_charge\:_%1$%=Actual charge\: %1$% -Energy_capacity\:_%1$J=Energy capacity\: %1$J -_charged_at_%1$%=charged at %1$% +Actual_charge\:_%s=Actual charge\: %s +Energy_capacity\:_%sJ=Energy capacity\: %sJ +_charged_at_%s=charged at %s # ./src/main/java/mods/eln/transparentnode/battery/BatteryGuiDraw.java Charge=Charge Charged=Charged Discharge=Discharge Energy\:=Energy\: -Energy\:_%1$=Energy\: %1$ +Energy\:_%s=Energy\: %s Life\:=Life\: No_charge=No charge Power_in\:=Power in\: @@ -659,7 +659,7 @@ Egg_slot=Egg slot Wireless_energy_receiver.=Wireless energy receiver. # ./src/main/java/mods/eln/transparentnode/electricalantennatx/ElectricalAntennaTxDescriptor.java -Efficiency\:_%1$%_up_to_%2$%=Efficiency\: %1$% up to %2$% +Efficiency\:_%s_up_to_%s=Efficiency\: %s up to %s Wireless_energy_transmitter.=Wireless energy transmitter. # ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceContainer.java @@ -671,7 +671,7 @@ Similar_to_a_vanilla_furnace,\nbut_heats_with_electricity.=Similar to a vanilla # ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceGuiDraw.java Auto_shutdown=Auto shutdown Manual_shutdown=Manual shutdown -Set_point\:_%1$°C=Set point\: %1$°C +Set_point\:_%s°C=Set point\: %s°C # ./src/main/java/mods/eln/transparentnode/electricalmachine/ElectricalMachineDescriptor.java Cost=Cost @@ -684,7 +684,7 @@ Fuel_slot=Fuel slot Generates_heat_when_supplied_with_fuel.=Generates heat when supplied with fuel. # ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceGuiDraw.java -Control_gauge_at_%1$%=Control gauge at %1$% +Control_gauge_at_%s=Control gauge at %s Decline_fuel=Decline fuel External_control=External control Internal_control=Internal control @@ -698,27 +698,27 @@ Solar_tracker_slot=Solar tracker slot # ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelDescriptor.java Can_be_geared_towards_the_sun.=Can be geared towards the sun. -Max._power\:_%1$W=Max. power\: %1$W -Max._voltage\:_%1$V=Max. voltage\: %1$V +Max._power\:_%sW=Max. power\: %sW +Max._voltage\:_%sV=Max. voltage\: %sV Produces_power_from_solar_radiation.=Produces power from solar radiation. # ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPannelGuiDraw.java It_is_night=It is night -Solar_panel_angle\:_%1$°=Solar panel angle\: %1$° -Sun_angle\:_%1$°=Sun angle\: %1$° +Solar_panel_angle\:_%s°=Solar panel angle\: %s° +Sun_angle\:_%s°=Sun angle\: %s° # ./src/main/java/mods/eln/transparentnode/teleporter/TeleporterGui.java Destination_transporter=Destination transporter Power_consumption\:=Power consumption\: -Power_consumption\:_%1$W=Power consumption\: %1$W -Required_energy\:_%1$J=Required energy\: %1$J +Power_consumption\:_%sW=Power consumption\: %sW +Required_energy\:_%sJ=Required energy\: %sJ Start=Start Transporter_name=Transporter name # ./src/main/java/mods/eln/transparentnode/thermaldissipatoractive/ThermalDissipatorActiveDescriptor.java -Fan_cooling_power\:_%1$W=Fan cooling power\: %1$W -Fan_power_consumption\:_%1$W=Fan power consumption\: %1$W -Fan_voltage\:_%1$V=Fan voltage\: %1$V +Fan_cooling_power\:_%sW=Fan cooling power\: %sW +Fan_power_consumption\:_%sW=Fan power consumption\: %sW +Fan_voltage\:_%sV=Fan voltage\: %sV # ./src/main/java/mods/eln/transparentnode/transformer/TransformerDescriptor.java The_voltage_ratio_is_proportional\nto_the_cable_stacks_count_ratio.=The voltage ratio is proportional\nto the cable stacks count ratio. @@ -726,13 +726,13 @@ Transforms_an_input_voltage_to\nan_output_voltage.=Transforms an input voltage t # ./src/main/java/mods/eln/transparentnode/turbine/TurbineDescriptor.java Generates_electricity_using_heat.=Generates electricity using heat. -Temperature_difference\:_%1$°C=Temperature difference\: %1$°C +Temperature_difference\:_%s°C=Temperature difference\: %s°C # ./src/main/java/mods/eln/transparentnode/turret/TurretDescriptor.java CAUTION\:_Cables_can_get_quite_hot!=CAUTION\: Cables can get quite hot\! -Laser_charge_power\:_%1$W...%2$kW=Laser charge power\: %1$W...%2$kW +Laser_charge_power\:_%sW...%skW=Laser charge power\: %sW...%skW Scans_for_entities_and_shoots_if_the\nentity_matches_the_configurable_filter_criteria.=Scans for entities and shoots if the\nentity matches the configurable filter criteria. -Standby_power\:_%1$W=Standby power\: %1$W +Standby_power\:_%sW=Standby power\: %sW # ./src/main/java/mods/eln/transparentnode/turret/TurretGui.java Attack\:=Attack\: @@ -744,10 +744,10 @@ Generates_energy_using_water_stream.=Generates energy using water stream. No_place_for_water_turbine!=No place for water turbine\! # ./src/main/java/mods/eln/transparentnode/windturbine/WindTurbineDescriptor.java -Front\:_%1$=Front\: %1$ +Front\:_%s=Front\: %s Generates_energy_from_wind.=Generates energy from wind. -Left_Right\:_%1$=Left/Right\: %1$ -Up_Down\:_%1$=Up/Down\: %1$ +Left_Right\:_%s=Left/Right\: %s +Up_Down\:_%s=Up/Down\: %s Wind_area\:=Wind area\: # ./src/main/java/mods/eln/wiki/Data.java @@ -769,7 +769,7 @@ Previous=Previous # ./src/main/java/mods/eln/wiki/ItemDefault.java Can_be_used_to_craft\:=Can be used to craft\: Cannot_be_crafted!=Cannot be crafted\! -Cost_%1$J=Cost %1$J +Cost_%sJ=Cost %sJ Created_by\:=Created by\: Is_not_a_crafting_material!=Is not a crafting material\! Recipe\:=Recipe\: @@ -777,45 +777,45 @@ Recipe\:=Recipe\: # Appearing in multiple source files (Increases_capacity)=(Increases capacity) (Increases_inductance)=(Increases inductance) -Actual\:_%1$°C=Actual\: %1$°C +Actual\:_%s°C=Actual\: %s°C Biggest=Biggest Booster_slot=Booster slot Can_create\:=Can create\: -Capacity\:_%1$F=Capacity\: %1$F -Charge_power\:_%1$W=Charge power\: %1$W +Capacity\:_%sF=Capacity\: %sF +Charge_power\:_%sW=Charge power\: %sW Connected=Connected -Cooling_power\:_%1$W=Cooling power\: %1$W +Cooling_power\:_%sW=Cooling power\: %sW Copper_cable_slot=Copper cable slot Dielectric_slot=Dielectric slot -Discharge_power\:_%1$W=Discharge power\: %1$W +Discharge_power\:_%sW=Discharge power\: %sW Electrical_cable_slot=Electrical cable slot Entity_filter_slot=Entity filter slot Ferromagnetic_core_slot=Ferromagnetic core slot Has_a_signal_output.=Has a signal output. -Inductance\:_%1$H=Inductance\: %1$H -Internal_resistance\:_%1$Ω=Internal resistance\: %1$Ω +Inductance\:_%sH=Inductance\: %sH +Internal_resistance\:_%sΩ=Internal resistance\: %sΩ Is_off=Is off Is_on=Is on -Max._temperature\:_%1$°C=Max. temperature\: %1$°C +Max._temperature\:_%s°C=Max. temperature\: %s°C Measured_value\ncorresponding\nto_0%_output=Measured value\ncorresponding\nto 0% output Measured_value\ncorresponding\nto_100%_output=Measured value\ncorresponding\nto 100% output Nominal\:=Nominal\: -Nominal_power\:_%1$W=Nominal power\: %1$W +Nominal_power\:_%sW=Nominal power\: %sW Nominal_usage\:=Nominal usage\: -Nominal_voltage\:_%1$V=Nominal voltage\: %1$V +Nominal_voltage\:_%sV=Nominal voltage\: %sV Not_connected=Not connected Not_enough_space_for_this_block=Not enough space for this block Power=Power -Power\:_%1$W=Power\: %1$W -Range\:_%1$_blocks=Range\: %1$ blocks +Power\:_%sW=Power\: %sW +Range\:_%s_blocks=Range\: %s blocks Redstone_slot=Redstone slot Regulator_slot=Regulator slot Reset=Reset -Resistance\:_%1$Ω=Resistance\: %1$Ω +Resistance\:_%sΩ=Resistance\: %sΩ Smallest=Smallest Specify_the_channel=Specify the channel -Stored_energy\:_%1$J_(%2$%)=Stored energy\: %1$J (%2$%) -Temperature\:_%1$°C=Temperature\: %1$°C +Stored_energy\:_%sJ_(%s)=Stored energy\: %sJ (%s) +Temperature\:_%s°C=Temperature\: %s°C Temperature_gauge=Temperature gauge Thermal_isolator_slot=Thermal isolator slot Toggle=Toggle @@ -825,5 +825,5 @@ Used_to_cool_down_turbines.=Used to cool down turbines. Uses_the_biggest\nvalue_on_the_channel.=Uses the biggest\nvalue on the channel. Uses_the_smallest\nvalue_on_the_channel.=Uses the smallest\nvalue on the channel. Validate=Validate -Voltage\:_%1$V=Voltage\: %1$V +Voltage\:_%sV=Voltage\: %sV You_can't_place_this_block_at_this_side=You can't place this block at this side diff --git a/src/main/resources/assets/eln/lang/sv_SE.lang b/src/main/resources/assets/eln/lang/sv_SE.lang index a0fcdd29b..f4e769aa7 100644 --- a/src/main/resources/assets/eln/lang/sv_SE.lang +++ b/src/main/resources/assets/eln/lang/sv_SE.lang @@ -287,21 +287,21 @@ tile.eln.EnergyConverterElnToOtherLVUBlock.name=50V Electrical Age to other ener tile.eln.EnergyConverterElnToOtherMVUBlock.name=200V Electrical Age to other energy exporter # ./src/main/java/mods/eln/i18n/I18N.java -You_have_%1$_lives_left=You have %1$ lives left +You_have_%s_lives_left=You have %s lives left # ./src/main/java/mods/eln/item/BrushDescriptor.java Brush_is_dry=Brush is dry -Can_paint_%1$_blocks=Can paint %1$ blocks +Can_paint_%s_blocks=Can paint %s blocks # ./src/main/java/mods/eln/item/CombustionChamber.java Upgrade_for_the_Stone_Heat_Furnace.=Upgrade for the Stone Heat Furnace. # ./src/main/java/mods/eln/item/ElectricalDrillDescriptor.java -Energy_per_operation\:_%1$J=Energy per operation\: %1$J -Time_per_operation\:_%1$s=Time per operation\: %1$s +Energy_per_operation\:_%sJ=Energy per operation\: %sJ +Time_per_operation\:_%ss=Time per operation\: %ss # ./src/main/java/mods/eln/item/FerromagneticCoreDescriptor.java -Cable_loss_factor\:_%1$=Cable loss factor\: %1$ +Cable_loss_factor\:_%s=Cable loss factor\: %s # ./src/main/java/mods/eln/item/HeatingCorpElement.java @@ -311,8 +311,8 @@ Condition\:=Condition\: End_of_life=End of life Good=Good New=New -Nominal_lifetime\:_%1$h=Nominal lifetime\: %1$h -Technology\:_%1$=Technology\: %1$ +Nominal_lifetime\:_%sh=Nominal lifetime\: %sh +Technology\:_%s=Technology\: %s Used=Used # ./src/main/java/mods/eln/item/LampSlot.java @@ -333,7 +333,7 @@ Solar_panel_upgrade=Solar panel upgrade Off=Off On=On State\:=State\: -Stored_Energy\:_%1$J_(%2$%)=Stored Energy\: %1$J (%2$%) +Stored_Energy\:_%sJ_(%s)=Stored Energy\: %sJ (%s) # ./src/main/java/mods/eln/item/regulator/RegulatorSlot.java @@ -346,7 +346,7 @@ mod.name=Electrical Age # ./src/main/java/mods/eln/node/six/SixNodeDescriptor.java # ./src/main/java/mods/eln/simplenode/energyconverter/EnergyConverterElnToOtherGui.java -Input_power_is_limited_to_%1$W=Input power is limited to %1$W +Input_power_is_limited_to_%sW=Input power is limited to %sW # ./src/main/java/mods/eln/sixnode/LogicGate.kt _O\:_= O\: @@ -386,12 +386,12 @@ Switch_is_off=Switch is off Switch_is_on=Switch is on # ./src/main/java/mods/eln/sixnode/electricalcable/ElectricalCableDescriptor.java -A_signal_is_electrical_information\nwhich_must_be_between_0V_and_%1$V=A signal is electrical information\nwhich must be between 0V and %1$V +A_signal_is_electrical_information\nwhich_must_be_between_0V_and_%sV=A signal is electrical information\nwhich must be between 0V and %sV Cable_is_adapted_to_conduct\nelectrical_signals.=Cable is adapted to conduct\nelectrical signals. -Current\:_%1$A=Current\: %1$A +Current\:_%sA=Current\: %sA Not_adapted_to_transport_power.=Not adapted to transport power. Save_usage\:=Save usage\: -Serial_resistance\:_%1$Ω=Serial resistance\: %1$Ω +Serial_resistance\:_%sΩ=Serial resistance\: %sΩ # ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerDescriptor.java It_can_store_up_to_256_points.=It can store up to 256 points. @@ -423,10 +423,10 @@ Output_voltage_increases\nif_a_fire_has_been_detected.=Output voltage increases\ Provides_configurable_signal\nvoltage.=Provides configurable signal\nvoltage. # ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceGui.java -Output_at_%1$%=Output at %1$% +Output_at_%s=Output at %s # ./src/main/java/mods/eln/sixnode/electricallightsensor/ElectricalLightSensorDescriptor.java -0V_at_night,_%1$V_at_noon.=0V at night, %1$V at noon. +0V_at_night,_%sV_at_noon.=0V at night, %sV at noon. Provides_an_electrical_voltage\nin_the_presence_of_light.=Provides an electrical voltage\nin the presence of light. Provides_an_electrical_voltage\nwhich_is_proportional_to\nthe_intensity_of_daylight.=Provides an electrical voltage\nwhich is proportional to\nthe intensity of daylight. @@ -439,7 +439,7 @@ Applicable_mathematical_operators\:=Applicable mathematical operators\: Calculates_an_output_signal_from\n3_inputs_(A,_B,_C)_using_an_equation.=Calculates an output signal from\n3 inputs (A, B, C) using an equation. # ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathGui.java -%1$_Redstone(s)_required=%1$ Redstone(s) required +%s_Redstone(s)_required=%s Redstone(s) required Equation_required!=Equation required\! Inputs_are=Inputs are Invalid_equation!=Invalid equation\! @@ -483,13 +483,13 @@ Displays_the_value_of_a_signal.=Displays the value of a signal. Portable_battery_slot=Portable battery slot # ./src/main/java/mods/eln/sixnode/electricalweathersensor/ElectricalWeatherSensorDescriptor.java -Clear\:_%1$V=Clear\: %1$V +Clear\:_%sV=Clear\: %sV Provides_an_electrical_signal\ndepending_the_actual_weather.=Provides an electrical signal\ndepending the actual weather. -Rain\:_%1$V=Rain\: %1$V -Storm\:_%1$V=Storm\: %1$V +Rain\:_%sV=Rain\: %sV +Storm\:_%sV=Storm\: %sV # ./src/main/java/mods/eln/sixnode/electricalwindsensor/ElectricalWindSensorDescriptor.java -Maximum_wind_speed_is_%1$m_s=Maximum wind speed is %1$m/s +Maximum_wind_speed_is_%sm_s=Maximum wind speed is %sm/s Provides_an_electrical_signal\ndependant_on_wind_speed.=Provides an electrical signal\ndependant on wind speed. You_can't_place_this_block_on_the_floor_or_the_ceiling=You can't place this block on the floor or the ceiling @@ -508,7 +508,7 @@ Voltage=Voltage Change_password=Change password Counter_Mode=Counter Mode Counts_the_energy_conducted_from\n\u00a74red\u00a7f_to_\u00a71blue\u00a7f.=Counts the energy conducted from\n\\u00a74red\\u00a7f to \\u00a71blue\\u00a7f. -Energy_counter\:_%1$J=Energy counter\: %1$J +Energy_counter\:_%sJ=Energy counter\: %sJ Enter_new_energy=Enter new energy Enter_password=Enter password Prepay_Mode=Prepay Mode @@ -529,13 +529,13 @@ Provides_a_zero_volt_reference.=Provides a zero volt reference. Allows_crossing_cables\non_one_single_block.=Allows crossing cables\non one single block. # ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketDescriptor.java -Angle\:_%1$°_to_%2$°=Angle\: %1$° to %2$° -Spot_range\:_%1$_blocks=Spot range\: %1$ blocks +Angle\:_%s°_to_%s°=Angle\: %s° to %s° +Spot_range\:_%s_blocks=Spot range\: %s blocks # ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketGuiDraw.java -%1$_is_not_in_range!=%1$ is not in range\! +%s_is_not_in_range!=%s is not in range\! Cable_slot_empty=Cable slot empty -Orientation\:_%1$°=Orientation\: %1$° +Orientation\:_%s°=Orientation\: %s° Parallel=Parallel Powered_by_Lamp_Supply=Powered by Lamp Supply Powered_by_cable=Powered by cable @@ -584,8 +584,8 @@ Coal_dust_slot=Coal dust slot # ./src/main/java/mods/eln/sixnode/thermalcable/ThermalCableDescriptor.java High_parallel_resistance\n_\=>_Low_power_dissipation.=High parallel resistance\n \=> Low power dissipation. Low_serial_resistance\n_\=>_High_conductivity.=Low serial resistance\n \=> High conductivity. -Parallel_resistance\:_%1$K_W=Parallel resistance\: %1$K/W -Serial_resistance\:_%1$K_W=Serial resistance\: %1$K/W +Parallel_resistance\:_%sK_W=Parallel resistance\: %sK/W +Serial_resistance\:_%sK_W=Serial resistance\: %sK/W # ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorContainer.java Cable_slot=Cable slot @@ -610,12 +610,12 @@ Set_beacon_name=Set beacon name # ./src/main/java/mods/eln/sixnode/wirelesssignal/rx/WirelessSignalRxGui.java # ./src/main/java/mods/eln/transparentnode/FuelGenerator.kt -Nominal_power\:_%1$_W=Nominal power\: %1$ W -Nominal_voltage\:_%1$_V=Nominal voltage\: %1$ V +Nominal_power\:_%s_W=Nominal power\: %s W +Nominal_voltage\:_%s_V=Nominal voltage\: %s V Produces_electricity_using_fuel.=Produces electricity using fuel. # ./src/main/java/mods/eln/transparentnode/LargeRheostat.kt -Nom._Resistance\:_%1$=Nom. Resistance\: %1$ +Nom._Resistance\:_%s=Nom. Resistance\: %s # ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerContainer.java Drill_slot=Drill slot @@ -637,16 +637,16 @@ Overheating_protection=Overheating protection Overvoltage_protection=Overvoltage protection # ./src/main/java/mods/eln/transparentnode/battery/BatteryDescriptor.java -Actual_charge\:_%1$%=Actual charge\: %1$% -Energy_capacity\:_%1$J=Energy capacity\: %1$J -_charged_at_%1$%=charged at %1$% +Actual_charge\:_%s=Actual charge\: %s +Energy_capacity\:_%sJ=Energy capacity\: %sJ +_charged_at_%s=charged at %s # ./src/main/java/mods/eln/transparentnode/battery/BatteryGuiDraw.java Charge=Charge Charged=Charged Discharge=Discharge Energy\:=Energy\: -Energy\:_%1$=Energy\: %1$ +Energy\:_%s=Energy\: %s Life\:=Life\: No_charge=No charge Power_in\:=Power in\: @@ -659,7 +659,7 @@ Egg_slot=Egg slot Wireless_energy_receiver.=Wireless energy receiver. # ./src/main/java/mods/eln/transparentnode/electricalantennatx/ElectricalAntennaTxDescriptor.java -Efficiency\:_%1$%_up_to_%2$%=Efficiency\: %1$% up to %2$% +Efficiency\:_%s_up_to_%s=Efficiency\: %s up to %s Wireless_energy_transmitter.=Wireless energy transmitter. # ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceContainer.java @@ -671,7 +671,7 @@ Similar_to_a_vanilla_furnace,\nbut_heats_with_electricity.=Similar to a vanilla # ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceGuiDraw.java Auto_shutdown=Auto shutdown Manual_shutdown=Manual shutdown -Set_point\:_%1$°C=Set point\: %1$°C +Set_point\:_%s°C=Set point\: %s°C # ./src/main/java/mods/eln/transparentnode/electricalmachine/ElectricalMachineDescriptor.java Cost=Cost @@ -684,7 +684,7 @@ Fuel_slot=Fuel slot Generates_heat_when_supplied_with_fuel.=Generates heat when supplied with fuel. # ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceGuiDraw.java -Control_gauge_at_%1$%=Control gauge at %1$% +Control_gauge_at_%s=Control gauge at %s Decline_fuel=Decline fuel External_control=External control Internal_control=Internal control @@ -698,27 +698,27 @@ Solar_tracker_slot=Solar tracker slot # ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelDescriptor.java Can_be_geared_towards_the_sun.=Can be geared towards the sun. -Max._power\:_%1$W=Max. power\: %1$W -Max._voltage\:_%1$V=Max. voltage\: %1$V +Max._power\:_%sW=Max. power\: %sW +Max._voltage\:_%sV=Max. voltage\: %sV Produces_power_from_solar_radiation.=Produces power from solar radiation. # ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPannelGuiDraw.java It_is_night=It is night -Solar_panel_angle\:_%1$°=Solar panel angle\: %1$° -Sun_angle\:_%1$°=Sun angle\: %1$° +Solar_panel_angle\:_%s°=Solar panel angle\: %s° +Sun_angle\:_%s°=Sun angle\: %s° # ./src/main/java/mods/eln/transparentnode/teleporter/TeleporterGui.java Destination_transporter=Destination transporter Power_consumption\:=Power consumption\: -Power_consumption\:_%1$W=Power consumption\: %1$W -Required_energy\:_%1$J=Required energy\: %1$J +Power_consumption\:_%sW=Power consumption\: %sW +Required_energy\:_%sJ=Required energy\: %sJ Start=Start Transporter_name=Transporter name # ./src/main/java/mods/eln/transparentnode/thermaldissipatoractive/ThermalDissipatorActiveDescriptor.java -Fan_cooling_power\:_%1$W=Fan cooling power\: %1$W -Fan_power_consumption\:_%1$W=Fan power consumption\: %1$W -Fan_voltage\:_%1$V=Fan voltage\: %1$V +Fan_cooling_power\:_%sW=Fan cooling power\: %sW +Fan_power_consumption\:_%sW=Fan power consumption\: %sW +Fan_voltage\:_%sV=Fan voltage\: %sV # ./src/main/java/mods/eln/transparentnode/transformer/TransformerDescriptor.java The_voltage_ratio_is_proportional\nto_the_cable_stacks_count_ratio.=The voltage ratio is proportional\nto the cable stacks count ratio. @@ -726,13 +726,13 @@ Transforms_an_input_voltage_to\nan_output_voltage.=Transforms an input voltage t # ./src/main/java/mods/eln/transparentnode/turbine/TurbineDescriptor.java Generates_electricity_using_heat.=Generates electricity using heat. -Temperature_difference\:_%1$°C=Temperature difference\: %1$°C +Temperature_difference\:_%s°C=Temperature difference\: %s°C # ./src/main/java/mods/eln/transparentnode/turret/TurretDescriptor.java CAUTION\:_Cables_can_get_quite_hot!=CAUTION\: Cables can get quite hot\! -Laser_charge_power\:_%1$W...%2$kW=Laser charge power\: %1$W...%2$kW +Laser_charge_power\:_%sW...%skW=Laser charge power\: %sW...%skW Scans_for_entities_and_shoots_if_the\nentity_matches_the_configurable_filter_criteria.=Scans for entities and shoots if the\nentity matches the configurable filter criteria. -Standby_power\:_%1$W=Standby power\: %1$W +Standby_power\:_%sW=Standby power\: %sW # ./src/main/java/mods/eln/transparentnode/turret/TurretGui.java Attack\:=Attack\: @@ -744,10 +744,10 @@ Generates_energy_using_water_stream.=Generates energy using water stream. No_place_for_water_turbine!=No place for water turbine\! # ./src/main/java/mods/eln/transparentnode/windturbine/WindTurbineDescriptor.java -Front\:_%1$=Front\: %1$ +Front\:_%s=Front\: %s Generates_energy_from_wind.=Generates energy from wind. -Left_Right\:_%1$=Left/Right\: %1$ -Up_Down\:_%1$=Up/Down\: %1$ +Left_Right\:_%s=Left/Right\: %s +Up_Down\:_%s=Up/Down\: %s Wind_area\:=Wind area\: # ./src/main/java/mods/eln/wiki/Data.java @@ -769,7 +769,7 @@ Previous=Previous # ./src/main/java/mods/eln/wiki/ItemDefault.java Can_be_used_to_craft\:=Can be used to craft\: Cannot_be_crafted!=Cannot be crafted\! -Cost_%1$J=Cost %1$J +Cost_%sJ=Cost %sJ Created_by\:=Created by\: Is_not_a_crafting_material!=Is not a crafting material\! Recipe\:=Recipe\: @@ -777,45 +777,45 @@ Recipe\:=Recipe\: # Appearing in multiple source files (Increases_capacity)=(Increases capacity) (Increases_inductance)=(Increases inductance) -Actual\:_%1$°C=Actual\: %1$°C +Actual\:_%s°C=Actual\: %s°C Biggest=Biggest Booster_slot=Booster slot Can_create\:=Can create\: -Capacity\:_%1$F=Capacity\: %1$F -Charge_power\:_%1$W=Charge power\: %1$W +Capacity\:_%sF=Capacity\: %sF +Charge_power\:_%sW=Charge power\: %sW Connected=Connected -Cooling_power\:_%1$W=Cooling power\: %1$W +Cooling_power\:_%sW=Cooling power\: %sW Copper_cable_slot=Copper cable slot Dielectric_slot=Dielectric slot -Discharge_power\:_%1$W=Discharge power\: %1$W +Discharge_power\:_%sW=Discharge power\: %sW Electrical_cable_slot=Electrical cable slot Entity_filter_slot=Entity filter slot Ferromagnetic_core_slot=Ferromagnetic core slot Has_a_signal_output.=Has a signal output. -Inductance\:_%1$H=Inductance\: %1$H -Internal_resistance\:_%1$Ω=Internal resistance\: %1$Ω +Inductance\:_%sH=Inductance\: %sH +Internal_resistance\:_%sΩ=Internal resistance\: %sΩ Is_off=Is off Is_on=Is on -Max._temperature\:_%1$°C=Max. temperature\: %1$°C +Max._temperature\:_%s°C=Max. temperature\: %s°C Measured_value\ncorresponding\nto_0%_output=Measured value\ncorresponding\nto 0% output Measured_value\ncorresponding\nto_100%_output=Measured value\ncorresponding\nto 100% output Nominal\:=Nominal\: -Nominal_power\:_%1$W=Nominal power\: %1$W +Nominal_power\:_%sW=Nominal power\: %sW Nominal_usage\:=Nominal usage\: -Nominal_voltage\:_%1$V=Nominal voltage\: %1$V +Nominal_voltage\:_%sV=Nominal voltage\: %sV Not_connected=Not connected Not_enough_space_for_this_block=Not enough space for this block Power=Power -Power\:_%1$W=Power\: %1$W -Range\:_%1$_blocks=Range\: %1$ blocks +Power\:_%sW=Power\: %sW +Range\:_%s_blocks=Range\: %s blocks Redstone_slot=Redstone slot Regulator_slot=Regulator slot Reset=Reset -Resistance\:_%1$Ω=Resistance\: %1$Ω +Resistance\:_%sΩ=Resistance\: %sΩ Smallest=Smallest Specify_the_channel=Specify the channel -Stored_energy\:_%1$J_(%2$%)=Stored energy\: %1$J (%2$%) -Temperature\:_%1$°C=Temperature\: %1$°C +Stored_energy\:_%sJ_(%s)=Stored energy\: %sJ (%s) +Temperature\:_%s°C=Temperature\: %s°C Temperature_gauge=Temperature gauge Thermal_isolator_slot=Thermal isolator slot Toggle=Toggle @@ -825,5 +825,5 @@ Used_to_cool_down_turbines.=Used to cool down turbines. Uses_the_biggest\nvalue_on_the_channel.=Uses the biggest\nvalue on the channel. Uses_the_smallest\nvalue_on_the_channel.=Uses the smallest\nvalue on the channel. Validate=Validate -Voltage\:_%1$V=Voltage\: %1$V +Voltage\:_%sV=Voltage\: %sV You_can't_place_this_block_at_this_side=You can't place this block at this side diff --git a/src/main/resources/assets/eln/lang/tr.lang b/src/main/resources/assets/eln/lang/tr.lang index 9d0313122..08c5d0cff 100644 --- a/src/main/resources/assets/eln/lang/tr.lang +++ b/src/main/resources/assets/eln/lang/tr.lang @@ -287,21 +287,21 @@ tile.eln.EnergyConverterElnToOtherLVUBlock.name=50V Electrical Age to other ener tile.eln.EnergyConverterElnToOtherMVUBlock.name=200V Electrical Age to other energy exporter # ./src/main/java/mods/eln/i18n/I18N.java -You_have_%1$_lives_left=You have %1$ lives left +You_have_%s_lives_left=You have %s lives left # ./src/main/java/mods/eln/item/BrushDescriptor.java Brush_is_dry=Brush is dry -Can_paint_%1$_blocks=Can paint %1$ blocks +Can_paint_%s_blocks=Can paint %s blocks # ./src/main/java/mods/eln/item/CombustionChamber.java Upgrade_for_the_Stone_Heat_Furnace.=Taş Isı Fırını için yükseltin. # ./src/main/java/mods/eln/item/ElectricalDrillDescriptor.java -Energy_per_operation\:_%1$J=Energy per operation\: %1$J -Time_per_operation\:_%1$s=Time per operation\: %1$s +Energy_per_operation\:_%sJ=Energy per operation\: %sJ +Time_per_operation\:_%ss=Time per operation\: %ss # ./src/main/java/mods/eln/item/FerromagneticCoreDescriptor.java -Cable_loss_factor\:_%1$=Cable loss factor\: %1$ +Cable_loss_factor\:_%s=Cable loss factor\: %s # ./src/main/java/mods/eln/item/HeatingCorpElement.java @@ -311,8 +311,8 @@ Condition\:=Komdisyon\: End_of_life=Ömür bitişi Good=İyi New=Yeni -Nominal_lifetime\:_%1$h=Nominal lifetime\: %1$h -Technology\:_%1$=Technology\: %1$ +Nominal_lifetime\:_%sh=Nominal lifetime\: %sh +Technology\:_%s=Technology\: %s Used=Kullanılmış # ./src/main/java/mods/eln/item/LampSlot.java @@ -333,7 +333,7 @@ Solar_panel_upgrade=Güneş paneli yükseltme Off=Kapalı On=Açık State\:=Durum\: -Stored_Energy\:_%1$J_(%2$%)=Stored Energy\: %1$J (%2$%) +Stored_Energy\:_%sJ_(%s)=Stored Energy\: %sJ (%s) # ./src/main/java/mods/eln/item/regulator/RegulatorSlot.java @@ -346,7 +346,7 @@ mod.name=Elektrik Çağı # ./src/main/java/mods/eln/node/six/SixNodeDescriptor.java # ./src/main/java/mods/eln/simplenode/energyconverter/EnergyConverterElnToOtherGui.java -Input_power_is_limited_to_%1$W=Input power is limited to %1$W +Input_power_is_limited_to_%sW=Input power is limited to %sW # ./src/main/java/mods/eln/sixnode/LogicGate.kt _O\:_= O\: @@ -386,12 +386,12 @@ Switch_is_off=Switch is off Switch_is_on=Switch is on # ./src/main/java/mods/eln/sixnode/electricalcable/ElectricalCableDescriptor.java -A_signal_is_electrical_information\nwhich_must_be_between_0V_and_%1$V=A signal is electrical information which must be between 0V and %1$V +A_signal_is_electrical_information\nwhich_must_be_between_0V_and_%sV=A signal is electrical information which must be between 0V and %sV Cable_is_adapted_to_conduct\nelectrical_signals.=Kablo elektrik sinyallerini iletmek üzere adapte edilir. -Current\:_%1$A=Current\: %1$A +Current\:_%sA=Current\: %sA Not_adapted_to_transport_power.=Not adapted to transport power. Save_usage\:=Kullanımı kaydet\: -Serial_resistance\:_%1$Ω=Serial resistance\: %1$Ω +Serial_resistance\:_%sΩ=Serial resistance\: %sΩ # ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerDescriptor.java It_can_store_up_to_256_points.=Bu 256 puan kadar saklayabilir. @@ -423,10 +423,10 @@ Output_voltage_increases\nif_a_fire_has_been_detected.=Output voltage increases\ Provides_configurable_signal\nvoltage.=Provides configurable signal\nvoltage. # ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceGui.java -Output_at_%1$%=Output at %1$% +Output_at_%s=Output at %s # ./src/main/java/mods/eln/sixnode/electricallightsensor/ElectricalLightSensorDescriptor.java -0V_at_night,_%1$V_at_noon.=0V at night, %1$V at noon. +0V_at_night,_%sV_at_noon.=0V at night, %sV at noon. Provides_an_electrical_voltage\nin_the_presence_of_light.=Provides an electrical voltage\nin the presence of light. Provides_an_electrical_voltage\nwhich_is_proportional_to\nthe_intensity_of_daylight.=Provides an electrical voltage\nwhich is proportional to\nthe intensity of daylight. @@ -439,7 +439,7 @@ Applicable_mathematical_operators\:=Uygulanabilir matematiksel operatörler\: Calculates_an_output_signal_from\n3_inputs_(A,_B,_C)_using_an_equation.=Calculates an output signal from\n3 inputs (A, B, C) using an equation. # ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathGui.java -%1$_Redstone(s)_required=%1$ Redstone(s) required +%s_Redstone(s)_required=%s Redstone(s) required Equation_required!=Equation required\! Inputs_are=Inputs are Invalid_equation!=Invalid equation\! @@ -483,13 +483,13 @@ Displays_the_value_of_a_signal.=Displays the value of a signal. Portable_battery_slot=Portable battery slot # ./src/main/java/mods/eln/sixnode/electricalweathersensor/ElectricalWeatherSensorDescriptor.java -Clear\:_%1$V=Clear\: %1$V +Clear\:_%sV=Clear\: %sV Provides_an_electrical_signal\ndepending_the_actual_weather.=Provides an electrical signal\ndepending the actual weather. -Rain\:_%1$V=Rain\: %1$V -Storm\:_%1$V=Storm\: %1$V +Rain\:_%sV=Rain\: %sV +Storm\:_%sV=Storm\: %sV # ./src/main/java/mods/eln/sixnode/electricalwindsensor/ElectricalWindSensorDescriptor.java -Maximum_wind_speed_is_%1$m_s=Maximum wind speed is %1$m/s +Maximum_wind_speed_is_%sm_s=Maximum wind speed is %sm/s Provides_an_electrical_signal\ndependant_on_wind_speed.=Provides an electrical signal\ndependant on wind speed. You_can't_place_this_block_on_the_floor_or_the_ceiling=You can't place this block on the floor or the ceiling @@ -508,7 +508,7 @@ Voltage=Voltage Change_password=Change password Counter_Mode=Counter Mode Counts_the_energy_conducted_from\n\u00a74red\u00a7f_to_\u00a71blue\u00a7f.=Counts the energy conducted from\n\\u00a74red\\u00a7f to \\u00a71blue\\u00a7f. -Energy_counter\:_%1$J=Energy counter\: %1$J +Energy_counter\:_%sJ=Energy counter\: %sJ Enter_new_energy=Enter new energy Enter_password=Enter password Prepay_Mode=Prepay Mode @@ -529,13 +529,13 @@ Provides_a_zero_volt_reference.=Provides a zero volt reference. Allows_crossing_cables\non_one_single_block.=Allows crossing cables\non one single block. # ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketDescriptor.java -Angle\:_%1$°_to_%2$°=Angle\: %1$° to %2$° -Spot_range\:_%1$_blocks=Spot range\: %1$ blocks +Angle\:_%s°_to_%s°=Angle\: %s° to %s° +Spot_range\:_%s_blocks=Spot range\: %s blocks # ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketGuiDraw.java -%1$_is_not_in_range!=%1$ is not in range\! +%s_is_not_in_range!=%s is not in range\! Cable_slot_empty=Cable slot empty -Orientation\:_%1$°=Orientation\: %1$° +Orientation\:_%s°=Orientation\: %s° Parallel=Parallel Powered_by_Lamp_Supply=Powered by Lamp Supply Powered_by_cable=Powered by cable @@ -584,8 +584,8 @@ Coal_dust_slot=Coal dust slot # ./src/main/java/mods/eln/sixnode/thermalcable/ThermalCableDescriptor.java High_parallel_resistance\n_\=>_Low_power_dissipation.=High parallel resistance\n \=> Low power dissipation. Low_serial_resistance\n_\=>_High_conductivity.=Low serial resistance\n \=> High conductivity. -Parallel_resistance\:_%1$K_W=Parallel resistance\: %1$K/W -Serial_resistance\:_%1$K_W=Serial resistance\: %1$K/W +Parallel_resistance\:_%sK_W=Parallel resistance\: %sK/W +Serial_resistance\:_%sK_W=Serial resistance\: %sK/W # ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorContainer.java Cable_slot=Cable slot @@ -610,12 +610,12 @@ Set_beacon_name=Set beacon name # ./src/main/java/mods/eln/sixnode/wirelesssignal/rx/WirelessSignalRxGui.java # ./src/main/java/mods/eln/transparentnode/FuelGenerator.kt -Nominal_power\:_%1$_W=Nominal power\: %1$ W -Nominal_voltage\:_%1$_V=Nominal voltage\: %1$ V +Nominal_power\:_%s_W=Nominal power\: %s W +Nominal_voltage\:_%s_V=Nominal voltage\: %s V Produces_electricity_using_fuel.=Produces electricity using fuel. # ./src/main/java/mods/eln/transparentnode/LargeRheostat.kt -Nom._Resistance\:_%1$=Nom. Resistance\: %1$ +Nom._Resistance\:_%s=Nom. Resistance\: %s # ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerContainer.java Drill_slot=Drill slot @@ -637,16 +637,16 @@ Overheating_protection=Overheating protection Overvoltage_protection=Overvoltage protection # ./src/main/java/mods/eln/transparentnode/battery/BatteryDescriptor.java -Actual_charge\:_%1$%=Actual charge\: %1$% -Energy_capacity\:_%1$J=Energy capacity\: %1$J -_charged_at_%1$%=charged at %1$% +Actual_charge\:_%s=Actual charge\: %s +Energy_capacity\:_%sJ=Energy capacity\: %sJ +_charged_at_%s=charged at %s # ./src/main/java/mods/eln/transparentnode/battery/BatteryGuiDraw.java Charge=Charge Charged=Charged Discharge=Discharge Energy\:=Energy\: -Energy\:_%1$=Energy\: %1$ +Energy\:_%s=Energy\: %s Life\:=Life\: No_charge=No charge Power_in\:=Power in\: @@ -659,7 +659,7 @@ Egg_slot=Egg slot Wireless_energy_receiver.=Kablosuz enerji alıcısı. # ./src/main/java/mods/eln/transparentnode/electricalantennatx/ElectricalAntennaTxDescriptor.java -Efficiency\:_%1$%_up_to_%2$%=Efficiency\: %1$% up to %2$% +Efficiency\:_%s_up_to_%s=Efficiency\: %s up to %s Wireless_energy_transmitter.=Kablosuz enerji verici. # ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceContainer.java @@ -671,7 +671,7 @@ Similar_to_a_vanilla_furnace,\nbut_heats_with_electricity.=Similar to a vanilla # ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceGuiDraw.java Auto_shutdown=Auto shutdown Manual_shutdown=Manual shutdown -Set_point\:_%1$°C=Set point\: %1$°C +Set_point\:_%s°C=Set point\: %s°C # ./src/main/java/mods/eln/transparentnode/electricalmachine/ElectricalMachineDescriptor.java Cost=Cost @@ -684,7 +684,7 @@ Fuel_slot=Fuel slot Generates_heat_when_supplied_with_fuel.=Yakıt temin edildiğinde ısı üretir. # ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceGuiDraw.java -Control_gauge_at_%1$%=Control gauge at %1$% +Control_gauge_at_%s=Control gauge at %s Decline_fuel=Decline fuel External_control=External control Internal_control=Internal control @@ -698,27 +698,27 @@ Solar_tracker_slot=Solar tracker slot # ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelDescriptor.java Can_be_geared_towards_the_sun.=Güneşe dönük olabilir. -Max._power\:_%1$W=Max. power\: %1$W -Max._voltage\:_%1$V=Max. voltage\: %1$V +Max._power\:_%sW=Max. power\: %sW +Max._voltage\:_%sV=Max. voltage\: %sV Produces_power_from_solar_radiation.=Güneş ışınlarından güç üretir. # ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPannelGuiDraw.java It_is_night=It is night -Solar_panel_angle\:_%1$°=Solar panel angle\: %1$° -Sun_angle\:_%1$°=Sun angle\: %1$° +Solar_panel_angle\:_%s°=Solar panel angle\: %s° +Sun_angle\:_%s°=Sun angle\: %s° # ./src/main/java/mods/eln/transparentnode/teleporter/TeleporterGui.java Destination_transporter=Destination transporter Power_consumption\:=Power consumption\: -Power_consumption\:_%1$W=Power consumption\: %1$W -Required_energy\:_%1$J=Required energy\: %1$J +Power_consumption\:_%sW=Power consumption\: %sW +Required_energy\:_%sJ=Required energy\: %sJ Start=Start Transporter_name=Transporter name # ./src/main/java/mods/eln/transparentnode/thermaldissipatoractive/ThermalDissipatorActiveDescriptor.java -Fan_cooling_power\:_%1$W=Fan cooling power\: %1$W -Fan_power_consumption\:_%1$W=Fan power consumption\: %1$W -Fan_voltage\:_%1$V=Fan voltage\: %1$V +Fan_cooling_power\:_%sW=Fan cooling power\: %sW +Fan_power_consumption\:_%sW=Fan power consumption\: %sW +Fan_voltage\:_%sV=Fan voltage\: %sV # ./src/main/java/mods/eln/transparentnode/transformer/TransformerDescriptor.java The_voltage_ratio_is_proportional\nto_the_cable_stacks_count_ratio.=The voltage ratio is proportional\nto the cable stacks count ratio. @@ -726,13 +726,13 @@ Transforms_an_input_voltage_to\nan_output_voltage.=Transforms an input voltage t # ./src/main/java/mods/eln/transparentnode/turbine/TurbineDescriptor.java Generates_electricity_using_heat.=Isı kullanılarak elektrik üretir. -Temperature_difference\:_%1$°C=Temperature difference\: %1$°C +Temperature_difference\:_%s°C=Temperature difference\: %s°C # ./src/main/java/mods/eln/transparentnode/turret/TurretDescriptor.java CAUTION\:_Cables_can_get_quite_hot!=DİKKAT\: Kablolar oldukça fazla ısınabilir\! -Laser_charge_power\:_%1$W...%2$kW=Laser charge power\: %1$W...%2$kW +Laser_charge_power\:_%sW...%skW=Laser charge power\: %sW...%skW Scans_for_entities_and_shoots_if_the\nentity_matches_the_configurable_filter_criteria.=Scans for entities and shoots if the\nentity matches the configurable filter criteria. -Standby_power\:_%1$W=Standby power\: %1$W +Standby_power\:_%sW=Standby power\: %sW # ./src/main/java/mods/eln/transparentnode/turret/TurretGui.java Attack\:=Attack\: @@ -744,10 +744,10 @@ Generates_energy_using_water_stream.=Su akışı kullanarak enerji üretir. No_place_for_water_turbine!=No place for water turbine\! # ./src/main/java/mods/eln/transparentnode/windturbine/WindTurbineDescriptor.java -Front\:_%1$=Front\: %1$ +Front\:_%s=Front\: %s Generates_energy_from_wind.=Rüzgardan enerji üretir. -Left_Right\:_%1$=Left/Right\: %1$ -Up_Down\:_%1$=Up/Down\: %1$ +Left_Right\:_%s=Left/Right\: %s +Up_Down\:_%s=Up/Down\: %s Wind_area\:=Rüzgar alanı\: # ./src/main/java/mods/eln/wiki/Data.java @@ -769,7 +769,7 @@ Previous=Previous # ./src/main/java/mods/eln/wiki/ItemDefault.java Can_be_used_to_craft\:=Can be used to craft\: Cannot_be_crafted!=Cannot be crafted\! -Cost_%1$J=Cost %1$J +Cost_%sJ=Cost %sJ Created_by\:=Created by\: Is_not_a_crafting_material!=Is not a crafting material\! Recipe\:=Recipe\: @@ -777,45 +777,45 @@ Recipe\:=Recipe\: # Appearing in multiple source files (Increases_capacity)=(Increases capacity) (Increases_inductance)=(Increases inductance) -Actual\:_%1$°C=Actual\: %1$°C +Actual\:_%s°C=Actual\: %s°C Biggest=Biggest Booster_slot=Booster slot Can_create\:=Can create\: -Capacity\:_%1$F=Capacity\: %1$F -Charge_power\:_%1$W=Charge power\: %1$W +Capacity\:_%sF=Capacity\: %sF +Charge_power\:_%sW=Charge power\: %sW Connected=Connected -Cooling_power\:_%1$W=Cooling power\: %1$W +Cooling_power\:_%sW=Cooling power\: %sW Copper_cable_slot=Copper cable slot Dielectric_slot=Dielectric slot -Discharge_power\:_%1$W=Discharge power\: %1$W +Discharge_power\:_%sW=Discharge power\: %sW Electrical_cable_slot=Electrical cable slot Entity_filter_slot=Entity filter slot Ferromagnetic_core_slot=Ferromagnetic core slot Has_a_signal_output.=Has a signal output. -Inductance\:_%1$H=Inductance\: %1$H -Internal_resistance\:_%1$Ω=Internal resistance\: %1$Ω +Inductance\:_%sH=Inductance\: %sH +Internal_resistance\:_%sΩ=Internal resistance\: %sΩ Is_off=Is off Is_on=Is on -Max._temperature\:_%1$°C=Max. temperature\: %1$°C +Max._temperature\:_%s°C=Max. temperature\: %s°C Measured_value\ncorresponding\nto_0%_output=Measured value\ncorresponding\nto 0% output Measured_value\ncorresponding\nto_100%_output=Measured value\ncorresponding\nto 100% output Nominal\:=Sembolik\: -Nominal_power\:_%1$W=Nominal power\: %1$W +Nominal_power\:_%sW=Nominal power\: %sW Nominal_usage\:=Sembolik kullanım\: -Nominal_voltage\:_%1$V=Nominal voltage\: %1$V +Nominal_voltage\:_%sV=Nominal voltage\: %sV Not_connected=Not connected Not_enough_space_for_this_block=Not enough space for this block Power=Power -Power\:_%1$W=Power\: %1$W -Range\:_%1$_blocks=Range\: %1$ blocks +Power\:_%sW=Power\: %sW +Range\:_%s_blocks=Range\: %s blocks Redstone_slot=Redstone slot Regulator_slot=Regulator slot Reset=Reset -Resistance\:_%1$Ω=Resistance\: %1$Ω +Resistance\:_%sΩ=Resistance\: %sΩ Smallest=Smallest Specify_the_channel=Specify the channel -Stored_energy\:_%1$J_(%2$%)=Stored energy\: %1$J (%2$%) -Temperature\:_%1$°C=Temperature\: %1$°C +Stored_energy\:_%sJ_(%s)=Stored energy\: %sJ (%s) +Temperature\:_%s°C=Temperature\: %s°C Temperature_gauge=Temperature gauge Thermal_isolator_slot=Thermal isolator slot Toggle=Toggle @@ -825,5 +825,5 @@ Used_to_cool_down_turbines.=Türbinlerin soğuması için kullanılır. Uses_the_biggest\nvalue_on_the_channel.=Uses the biggest\nvalue on the channel. Uses_the_smallest\nvalue_on_the_channel.=Uses the smallest\nvalue on the channel. Validate=Validate -Voltage\:_%1$V=Voltage\: %1$V +Voltage\:_%sV=Voltage\: %sV You_can't_place_this_block_at_this_side=You can't place this block at this side diff --git a/src/main/resources/assets/eln/lang/tr_TR.lang b/src/main/resources/assets/eln/lang/tr_TR.lang index 9d0313122..08c5d0cff 100644 --- a/src/main/resources/assets/eln/lang/tr_TR.lang +++ b/src/main/resources/assets/eln/lang/tr_TR.lang @@ -287,21 +287,21 @@ tile.eln.EnergyConverterElnToOtherLVUBlock.name=50V Electrical Age to other ener tile.eln.EnergyConverterElnToOtherMVUBlock.name=200V Electrical Age to other energy exporter # ./src/main/java/mods/eln/i18n/I18N.java -You_have_%1$_lives_left=You have %1$ lives left +You_have_%s_lives_left=You have %s lives left # ./src/main/java/mods/eln/item/BrushDescriptor.java Brush_is_dry=Brush is dry -Can_paint_%1$_blocks=Can paint %1$ blocks +Can_paint_%s_blocks=Can paint %s blocks # ./src/main/java/mods/eln/item/CombustionChamber.java Upgrade_for_the_Stone_Heat_Furnace.=Taş Isı Fırını için yükseltin. # ./src/main/java/mods/eln/item/ElectricalDrillDescriptor.java -Energy_per_operation\:_%1$J=Energy per operation\: %1$J -Time_per_operation\:_%1$s=Time per operation\: %1$s +Energy_per_operation\:_%sJ=Energy per operation\: %sJ +Time_per_operation\:_%ss=Time per operation\: %ss # ./src/main/java/mods/eln/item/FerromagneticCoreDescriptor.java -Cable_loss_factor\:_%1$=Cable loss factor\: %1$ +Cable_loss_factor\:_%s=Cable loss factor\: %s # ./src/main/java/mods/eln/item/HeatingCorpElement.java @@ -311,8 +311,8 @@ Condition\:=Komdisyon\: End_of_life=Ömür bitişi Good=İyi New=Yeni -Nominal_lifetime\:_%1$h=Nominal lifetime\: %1$h -Technology\:_%1$=Technology\: %1$ +Nominal_lifetime\:_%sh=Nominal lifetime\: %sh +Technology\:_%s=Technology\: %s Used=Kullanılmış # ./src/main/java/mods/eln/item/LampSlot.java @@ -333,7 +333,7 @@ Solar_panel_upgrade=Güneş paneli yükseltme Off=Kapalı On=Açık State\:=Durum\: -Stored_Energy\:_%1$J_(%2$%)=Stored Energy\: %1$J (%2$%) +Stored_Energy\:_%sJ_(%s)=Stored Energy\: %sJ (%s) # ./src/main/java/mods/eln/item/regulator/RegulatorSlot.java @@ -346,7 +346,7 @@ mod.name=Elektrik Çağı # ./src/main/java/mods/eln/node/six/SixNodeDescriptor.java # ./src/main/java/mods/eln/simplenode/energyconverter/EnergyConverterElnToOtherGui.java -Input_power_is_limited_to_%1$W=Input power is limited to %1$W +Input_power_is_limited_to_%sW=Input power is limited to %sW # ./src/main/java/mods/eln/sixnode/LogicGate.kt _O\:_= O\: @@ -386,12 +386,12 @@ Switch_is_off=Switch is off Switch_is_on=Switch is on # ./src/main/java/mods/eln/sixnode/electricalcable/ElectricalCableDescriptor.java -A_signal_is_electrical_information\nwhich_must_be_between_0V_and_%1$V=A signal is electrical information which must be between 0V and %1$V +A_signal_is_electrical_information\nwhich_must_be_between_0V_and_%sV=A signal is electrical information which must be between 0V and %sV Cable_is_adapted_to_conduct\nelectrical_signals.=Kablo elektrik sinyallerini iletmek üzere adapte edilir. -Current\:_%1$A=Current\: %1$A +Current\:_%sA=Current\: %sA Not_adapted_to_transport_power.=Not adapted to transport power. Save_usage\:=Kullanımı kaydet\: -Serial_resistance\:_%1$Ω=Serial resistance\: %1$Ω +Serial_resistance\:_%sΩ=Serial resistance\: %sΩ # ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerDescriptor.java It_can_store_up_to_256_points.=Bu 256 puan kadar saklayabilir. @@ -423,10 +423,10 @@ Output_voltage_increases\nif_a_fire_has_been_detected.=Output voltage increases\ Provides_configurable_signal\nvoltage.=Provides configurable signal\nvoltage. # ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceGui.java -Output_at_%1$%=Output at %1$% +Output_at_%s=Output at %s # ./src/main/java/mods/eln/sixnode/electricallightsensor/ElectricalLightSensorDescriptor.java -0V_at_night,_%1$V_at_noon.=0V at night, %1$V at noon. +0V_at_night,_%sV_at_noon.=0V at night, %sV at noon. Provides_an_electrical_voltage\nin_the_presence_of_light.=Provides an electrical voltage\nin the presence of light. Provides_an_electrical_voltage\nwhich_is_proportional_to\nthe_intensity_of_daylight.=Provides an electrical voltage\nwhich is proportional to\nthe intensity of daylight. @@ -439,7 +439,7 @@ Applicable_mathematical_operators\:=Uygulanabilir matematiksel operatörler\: Calculates_an_output_signal_from\n3_inputs_(A,_B,_C)_using_an_equation.=Calculates an output signal from\n3 inputs (A, B, C) using an equation. # ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathGui.java -%1$_Redstone(s)_required=%1$ Redstone(s) required +%s_Redstone(s)_required=%s Redstone(s) required Equation_required!=Equation required\! Inputs_are=Inputs are Invalid_equation!=Invalid equation\! @@ -483,13 +483,13 @@ Displays_the_value_of_a_signal.=Displays the value of a signal. Portable_battery_slot=Portable battery slot # ./src/main/java/mods/eln/sixnode/electricalweathersensor/ElectricalWeatherSensorDescriptor.java -Clear\:_%1$V=Clear\: %1$V +Clear\:_%sV=Clear\: %sV Provides_an_electrical_signal\ndepending_the_actual_weather.=Provides an electrical signal\ndepending the actual weather. -Rain\:_%1$V=Rain\: %1$V -Storm\:_%1$V=Storm\: %1$V +Rain\:_%sV=Rain\: %sV +Storm\:_%sV=Storm\: %sV # ./src/main/java/mods/eln/sixnode/electricalwindsensor/ElectricalWindSensorDescriptor.java -Maximum_wind_speed_is_%1$m_s=Maximum wind speed is %1$m/s +Maximum_wind_speed_is_%sm_s=Maximum wind speed is %sm/s Provides_an_electrical_signal\ndependant_on_wind_speed.=Provides an electrical signal\ndependant on wind speed. You_can't_place_this_block_on_the_floor_or_the_ceiling=You can't place this block on the floor or the ceiling @@ -508,7 +508,7 @@ Voltage=Voltage Change_password=Change password Counter_Mode=Counter Mode Counts_the_energy_conducted_from\n\u00a74red\u00a7f_to_\u00a71blue\u00a7f.=Counts the energy conducted from\n\\u00a74red\\u00a7f to \\u00a71blue\\u00a7f. -Energy_counter\:_%1$J=Energy counter\: %1$J +Energy_counter\:_%sJ=Energy counter\: %sJ Enter_new_energy=Enter new energy Enter_password=Enter password Prepay_Mode=Prepay Mode @@ -529,13 +529,13 @@ Provides_a_zero_volt_reference.=Provides a zero volt reference. Allows_crossing_cables\non_one_single_block.=Allows crossing cables\non one single block. # ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketDescriptor.java -Angle\:_%1$°_to_%2$°=Angle\: %1$° to %2$° -Spot_range\:_%1$_blocks=Spot range\: %1$ blocks +Angle\:_%s°_to_%s°=Angle\: %s° to %s° +Spot_range\:_%s_blocks=Spot range\: %s blocks # ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketGuiDraw.java -%1$_is_not_in_range!=%1$ is not in range\! +%s_is_not_in_range!=%s is not in range\! Cable_slot_empty=Cable slot empty -Orientation\:_%1$°=Orientation\: %1$° +Orientation\:_%s°=Orientation\: %s° Parallel=Parallel Powered_by_Lamp_Supply=Powered by Lamp Supply Powered_by_cable=Powered by cable @@ -584,8 +584,8 @@ Coal_dust_slot=Coal dust slot # ./src/main/java/mods/eln/sixnode/thermalcable/ThermalCableDescriptor.java High_parallel_resistance\n_\=>_Low_power_dissipation.=High parallel resistance\n \=> Low power dissipation. Low_serial_resistance\n_\=>_High_conductivity.=Low serial resistance\n \=> High conductivity. -Parallel_resistance\:_%1$K_W=Parallel resistance\: %1$K/W -Serial_resistance\:_%1$K_W=Serial resistance\: %1$K/W +Parallel_resistance\:_%sK_W=Parallel resistance\: %sK/W +Serial_resistance\:_%sK_W=Serial resistance\: %sK/W # ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorContainer.java Cable_slot=Cable slot @@ -610,12 +610,12 @@ Set_beacon_name=Set beacon name # ./src/main/java/mods/eln/sixnode/wirelesssignal/rx/WirelessSignalRxGui.java # ./src/main/java/mods/eln/transparentnode/FuelGenerator.kt -Nominal_power\:_%1$_W=Nominal power\: %1$ W -Nominal_voltage\:_%1$_V=Nominal voltage\: %1$ V +Nominal_power\:_%s_W=Nominal power\: %s W +Nominal_voltage\:_%s_V=Nominal voltage\: %s V Produces_electricity_using_fuel.=Produces electricity using fuel. # ./src/main/java/mods/eln/transparentnode/LargeRheostat.kt -Nom._Resistance\:_%1$=Nom. Resistance\: %1$ +Nom._Resistance\:_%s=Nom. Resistance\: %s # ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerContainer.java Drill_slot=Drill slot @@ -637,16 +637,16 @@ Overheating_protection=Overheating protection Overvoltage_protection=Overvoltage protection # ./src/main/java/mods/eln/transparentnode/battery/BatteryDescriptor.java -Actual_charge\:_%1$%=Actual charge\: %1$% -Energy_capacity\:_%1$J=Energy capacity\: %1$J -_charged_at_%1$%=charged at %1$% +Actual_charge\:_%s=Actual charge\: %s +Energy_capacity\:_%sJ=Energy capacity\: %sJ +_charged_at_%s=charged at %s # ./src/main/java/mods/eln/transparentnode/battery/BatteryGuiDraw.java Charge=Charge Charged=Charged Discharge=Discharge Energy\:=Energy\: -Energy\:_%1$=Energy\: %1$ +Energy\:_%s=Energy\: %s Life\:=Life\: No_charge=No charge Power_in\:=Power in\: @@ -659,7 +659,7 @@ Egg_slot=Egg slot Wireless_energy_receiver.=Kablosuz enerji alıcısı. # ./src/main/java/mods/eln/transparentnode/electricalantennatx/ElectricalAntennaTxDescriptor.java -Efficiency\:_%1$%_up_to_%2$%=Efficiency\: %1$% up to %2$% +Efficiency\:_%s_up_to_%s=Efficiency\: %s up to %s Wireless_energy_transmitter.=Kablosuz enerji verici. # ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceContainer.java @@ -671,7 +671,7 @@ Similar_to_a_vanilla_furnace,\nbut_heats_with_electricity.=Similar to a vanilla # ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceGuiDraw.java Auto_shutdown=Auto shutdown Manual_shutdown=Manual shutdown -Set_point\:_%1$°C=Set point\: %1$°C +Set_point\:_%s°C=Set point\: %s°C # ./src/main/java/mods/eln/transparentnode/electricalmachine/ElectricalMachineDescriptor.java Cost=Cost @@ -684,7 +684,7 @@ Fuel_slot=Fuel slot Generates_heat_when_supplied_with_fuel.=Yakıt temin edildiğinde ısı üretir. # ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceGuiDraw.java -Control_gauge_at_%1$%=Control gauge at %1$% +Control_gauge_at_%s=Control gauge at %s Decline_fuel=Decline fuel External_control=External control Internal_control=Internal control @@ -698,27 +698,27 @@ Solar_tracker_slot=Solar tracker slot # ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelDescriptor.java Can_be_geared_towards_the_sun.=Güneşe dönük olabilir. -Max._power\:_%1$W=Max. power\: %1$W -Max._voltage\:_%1$V=Max. voltage\: %1$V +Max._power\:_%sW=Max. power\: %sW +Max._voltage\:_%sV=Max. voltage\: %sV Produces_power_from_solar_radiation.=Güneş ışınlarından güç üretir. # ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPannelGuiDraw.java It_is_night=It is night -Solar_panel_angle\:_%1$°=Solar panel angle\: %1$° -Sun_angle\:_%1$°=Sun angle\: %1$° +Solar_panel_angle\:_%s°=Solar panel angle\: %s° +Sun_angle\:_%s°=Sun angle\: %s° # ./src/main/java/mods/eln/transparentnode/teleporter/TeleporterGui.java Destination_transporter=Destination transporter Power_consumption\:=Power consumption\: -Power_consumption\:_%1$W=Power consumption\: %1$W -Required_energy\:_%1$J=Required energy\: %1$J +Power_consumption\:_%sW=Power consumption\: %sW +Required_energy\:_%sJ=Required energy\: %sJ Start=Start Transporter_name=Transporter name # ./src/main/java/mods/eln/transparentnode/thermaldissipatoractive/ThermalDissipatorActiveDescriptor.java -Fan_cooling_power\:_%1$W=Fan cooling power\: %1$W -Fan_power_consumption\:_%1$W=Fan power consumption\: %1$W -Fan_voltage\:_%1$V=Fan voltage\: %1$V +Fan_cooling_power\:_%sW=Fan cooling power\: %sW +Fan_power_consumption\:_%sW=Fan power consumption\: %sW +Fan_voltage\:_%sV=Fan voltage\: %sV # ./src/main/java/mods/eln/transparentnode/transformer/TransformerDescriptor.java The_voltage_ratio_is_proportional\nto_the_cable_stacks_count_ratio.=The voltage ratio is proportional\nto the cable stacks count ratio. @@ -726,13 +726,13 @@ Transforms_an_input_voltage_to\nan_output_voltage.=Transforms an input voltage t # ./src/main/java/mods/eln/transparentnode/turbine/TurbineDescriptor.java Generates_electricity_using_heat.=Isı kullanılarak elektrik üretir. -Temperature_difference\:_%1$°C=Temperature difference\: %1$°C +Temperature_difference\:_%s°C=Temperature difference\: %s°C # ./src/main/java/mods/eln/transparentnode/turret/TurretDescriptor.java CAUTION\:_Cables_can_get_quite_hot!=DİKKAT\: Kablolar oldukça fazla ısınabilir\! -Laser_charge_power\:_%1$W...%2$kW=Laser charge power\: %1$W...%2$kW +Laser_charge_power\:_%sW...%skW=Laser charge power\: %sW...%skW Scans_for_entities_and_shoots_if_the\nentity_matches_the_configurable_filter_criteria.=Scans for entities and shoots if the\nentity matches the configurable filter criteria. -Standby_power\:_%1$W=Standby power\: %1$W +Standby_power\:_%sW=Standby power\: %sW # ./src/main/java/mods/eln/transparentnode/turret/TurretGui.java Attack\:=Attack\: @@ -744,10 +744,10 @@ Generates_energy_using_water_stream.=Su akışı kullanarak enerji üretir. No_place_for_water_turbine!=No place for water turbine\! # ./src/main/java/mods/eln/transparentnode/windturbine/WindTurbineDescriptor.java -Front\:_%1$=Front\: %1$ +Front\:_%s=Front\: %s Generates_energy_from_wind.=Rüzgardan enerji üretir. -Left_Right\:_%1$=Left/Right\: %1$ -Up_Down\:_%1$=Up/Down\: %1$ +Left_Right\:_%s=Left/Right\: %s +Up_Down\:_%s=Up/Down\: %s Wind_area\:=Rüzgar alanı\: # ./src/main/java/mods/eln/wiki/Data.java @@ -769,7 +769,7 @@ Previous=Previous # ./src/main/java/mods/eln/wiki/ItemDefault.java Can_be_used_to_craft\:=Can be used to craft\: Cannot_be_crafted!=Cannot be crafted\! -Cost_%1$J=Cost %1$J +Cost_%sJ=Cost %sJ Created_by\:=Created by\: Is_not_a_crafting_material!=Is not a crafting material\! Recipe\:=Recipe\: @@ -777,45 +777,45 @@ Recipe\:=Recipe\: # Appearing in multiple source files (Increases_capacity)=(Increases capacity) (Increases_inductance)=(Increases inductance) -Actual\:_%1$°C=Actual\: %1$°C +Actual\:_%s°C=Actual\: %s°C Biggest=Biggest Booster_slot=Booster slot Can_create\:=Can create\: -Capacity\:_%1$F=Capacity\: %1$F -Charge_power\:_%1$W=Charge power\: %1$W +Capacity\:_%sF=Capacity\: %sF +Charge_power\:_%sW=Charge power\: %sW Connected=Connected -Cooling_power\:_%1$W=Cooling power\: %1$W +Cooling_power\:_%sW=Cooling power\: %sW Copper_cable_slot=Copper cable slot Dielectric_slot=Dielectric slot -Discharge_power\:_%1$W=Discharge power\: %1$W +Discharge_power\:_%sW=Discharge power\: %sW Electrical_cable_slot=Electrical cable slot Entity_filter_slot=Entity filter slot Ferromagnetic_core_slot=Ferromagnetic core slot Has_a_signal_output.=Has a signal output. -Inductance\:_%1$H=Inductance\: %1$H -Internal_resistance\:_%1$Ω=Internal resistance\: %1$Ω +Inductance\:_%sH=Inductance\: %sH +Internal_resistance\:_%sΩ=Internal resistance\: %sΩ Is_off=Is off Is_on=Is on -Max._temperature\:_%1$°C=Max. temperature\: %1$°C +Max._temperature\:_%s°C=Max. temperature\: %s°C Measured_value\ncorresponding\nto_0%_output=Measured value\ncorresponding\nto 0% output Measured_value\ncorresponding\nto_100%_output=Measured value\ncorresponding\nto 100% output Nominal\:=Sembolik\: -Nominal_power\:_%1$W=Nominal power\: %1$W +Nominal_power\:_%sW=Nominal power\: %sW Nominal_usage\:=Sembolik kullanım\: -Nominal_voltage\:_%1$V=Nominal voltage\: %1$V +Nominal_voltage\:_%sV=Nominal voltage\: %sV Not_connected=Not connected Not_enough_space_for_this_block=Not enough space for this block Power=Power -Power\:_%1$W=Power\: %1$W -Range\:_%1$_blocks=Range\: %1$ blocks +Power\:_%sW=Power\: %sW +Range\:_%s_blocks=Range\: %s blocks Redstone_slot=Redstone slot Regulator_slot=Regulator slot Reset=Reset -Resistance\:_%1$Ω=Resistance\: %1$Ω +Resistance\:_%sΩ=Resistance\: %sΩ Smallest=Smallest Specify_the_channel=Specify the channel -Stored_energy\:_%1$J_(%2$%)=Stored energy\: %1$J (%2$%) -Temperature\:_%1$°C=Temperature\: %1$°C +Stored_energy\:_%sJ_(%s)=Stored energy\: %sJ (%s) +Temperature\:_%s°C=Temperature\: %s°C Temperature_gauge=Temperature gauge Thermal_isolator_slot=Thermal isolator slot Toggle=Toggle @@ -825,5 +825,5 @@ Used_to_cool_down_turbines.=Türbinlerin soğuması için kullanılır. Uses_the_biggest\nvalue_on_the_channel.=Uses the biggest\nvalue on the channel. Uses_the_smallest\nvalue_on_the_channel.=Uses the smallest\nvalue on the channel. Validate=Validate -Voltage\:_%1$V=Voltage\: %1$V +Voltage\:_%sV=Voltage\: %sV You_can't_place_this_block_at_this_side=You can't place this block at this side diff --git a/src/main/resources/assets/eln/lang/zh.lang b/src/main/resources/assets/eln/lang/zh.lang index 869c696ac..783a85345 100644 --- a/src/main/resources/assets/eln/lang/zh.lang +++ b/src/main/resources/assets/eln/lang/zh.lang @@ -287,21 +287,21 @@ tile.eln.EnergyConverterElnToOtherLVUBlock.name=电力时代能源(50V)转至其 tile.eln.EnergyConverterElnToOtherMVUBlock.name=电力时代能源(200V)转至其他能源 # ./src/main/java/mods/eln/i18n/I18N.java -You_have_%1$_lives_left=你还剩%1$条生命 +You_have_%s_lives_left=你还剩%s条生命 # ./src/main/java/mods/eln/item/BrushDescriptor.java Brush_is_dry=刷子干了 -Can_paint_%1$_blocks=可以继续漆%1$个方块 +Can_paint_%s_blocks=可以继续漆%s个方块 # ./src/main/java/mods/eln/item/CombustionChamber.java Upgrade_for_the_Stone_Heat_Furnace.=你的发电机升级啦~ # ./src/main/java/mods/eln/item/ElectricalDrillDescriptor.java -Energy_per_operation\:_%1$J=启动需要能量\:%1$J -Time_per_operation\:_%1$s=启动所需时间\:%1$s +Energy_per_operation\:_%sJ=启动需要能量\:%sJ +Time_per_operation\:_%ss=启动所需时间\:%ss # ./src/main/java/mods/eln/item/FerromagneticCoreDescriptor.java -Cable_loss_factor\:_%1$=导线损耗系数\:%1$ +Cable_loss_factor\:_%s=导线损耗系数\:%s # ./src/main/java/mods/eln/item/HeatingCorpElement.java @@ -311,8 +311,8 @@ Condition\:=条件\: End_of_life=生命就此终结 Good=好 New=新 -Nominal_lifetime\:_%1$h=理论寿命\:%1$h -Technology\:_%1$=科技\:%1$ +Nominal_lifetime\:_%sh=理论寿命\:%sh +Technology\:_%s=科技\:%s Used=旧 # ./src/main/java/mods/eln/item/LampSlot.java @@ -333,7 +333,7 @@ Solar_panel_upgrade=太阳能电板升级 Off=关 On=开 State\:=状态\: -Stored_Energy\:_%1$J_(%2$%)=储存的能量\:%1$J(%2$%) +Stored_Energy\:_%sJ_(%s)=储存的能量\:%sJ(%s) # ./src/main/java/mods/eln/item/regulator/RegulatorSlot.java @@ -346,7 +346,7 @@ mod.name=电力时代 # ./src/main/java/mods/eln/node/six/SixNodeDescriptor.java # ./src/main/java/mods/eln/simplenode/energyconverter/EnergyConverterElnToOtherGui.java -Input_power_is_limited_to_%1$W=输入功率限制\:%1$W +Input_power_is_limited_to_%sW=输入功率限制\:%sW # ./src/main/java/mods/eln/sixnode/LogicGate.kt _O\:_= O\: @@ -386,12 +386,12 @@ Switch_is_off=开关关闭 Switch_is_on=开关打开 # ./src/main/java/mods/eln/sixnode/electricalcable/ElectricalCableDescriptor.java -A_signal_is_electrical_information\nwhich_must_be_between_0V_and_%1$V=信号用来传递电气信息\n必须要在0V和%1$V之间 +A_signal_is_electrical_information\nwhich_must_be_between_0V_and_%sV=信号用来传递电气信息\n必须要在0V和%sV之间 Cable_is_adapted_to_conduct\nelectrical_signals.=该电缆适用于传输电子信号 -Current\:_%1$A=电流\:%1$A +Current\:_%sA=电流\:%sA Not_adapted_to_transport_power.=没有适配到传送功率 Save_usage\:=保存用法\: -Serial_resistance\:_%1$Ω=串联电阻\:%1$Ω +Serial_resistance\:_%sΩ=串联电阻\:%sΩ # ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerDescriptor.java It_can_store_up_to_256_points.=它最多可以储存256个单位 @@ -423,10 +423,10 @@ Output_voltage_increases\nif_a_fire_has_been_detected.=如果周围有火那么 Provides_configurable_signal\nvoltage.=提供可调整的信号电压 # ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceGui.java -Output_at_%1$%=输出\:%1$% +Output_at_%s=输出\:%s # ./src/main/java/mods/eln/sixnode/electricallightsensor/ElectricalLightSensorDescriptor.java -0V_at_night,_%1$V_at_noon.=夜间0V,午时%1$V +0V_at_night,_%sV_at_noon.=夜间0V,午时%sV Provides_an_electrical_voltage\nin_the_presence_of_light.=接受到光的时候提供电压 Provides_an_electrical_voltage\nwhich_is_proportional_to\nthe_intensity_of_daylight.=接收到日光的时候提供电压\n电压与日光强度成正比 @@ -439,7 +439,7 @@ Applicable_mathematical_operators\:=适用于数学算子 Calculates_an_output_signal_from\n3_inputs_(A,_B,_C)_using_an_equation.=用3个输入(A,B,C)值\n进行函数计算\n然后输出信号 # ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathGui.java -%1$_Redstone(s)_required=需要%1$个红石粉 +%s_Redstone(s)_required=需要%s个红石粉 Equation_required!=需要方程式 Inputs_are=输入是 Invalid_equation!=无效方程式 @@ -483,13 +483,13 @@ Displays_the_value_of_a_signal.=显示信号的值 Portable_battery_slot=槽(移动电池) # ./src/main/java/mods/eln/sixnode/electricalweathersensor/ElectricalWeatherSensorDescriptor.java -Clear\:_%1$V=晴朗\:%1$V +Clear\:_%sV=晴朗\:%sV Provides_an_electrical_signal\ndepending_the_actual_weather.=提供信号,强度由天气决定 -Rain\:_%1$V=阴雨\:%1$V -Storm\:_%1$V=雷暴\:%1$V +Rain\:_%sV=阴雨\:%sV +Storm\:_%sV=雷暴\:%sV # ./src/main/java/mods/eln/sixnode/electricalwindsensor/ElectricalWindSensorDescriptor.java -Maximum_wind_speed_is_%1$m_s=最高风速%1$m/s +Maximum_wind_speed_is_%sm_s=最高风速%sm/s Provides_an_electrical_signal\ndependant_on_wind_speed.=提供信号,强度由风速决定 You_can't_place_this_block_on_the_floor_or_the_ceiling=You can't place this block on the floor or the ceiling @@ -508,7 +508,7 @@ Voltage=电压 Change_password=修改密码 Counter_Mode=计数模式 Counts_the_energy_conducted_from\n\u00a74red\u00a7f_to_\u00a71blue\u00a7f.=计算从\\u00a74red\\u00a7f到\\u00a71blue\\u00a7f的能量 -Energy_counter\:_%1$J=能量计算\:%1$J +Energy_counter\:_%sJ=能量计算\:%sJ Enter_new_energy=输入新能源 Enter_password=输入密码 Prepay_Mode=预付费模式 @@ -529,13 +529,13 @@ Provides_a_zero_volt_reference.=提供0V电路供参考 Allows_crossing_cables\non_one_single_block.=允许导线在一个方块上面交叉 # ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketDescriptor.java -Angle\:_%1$°_to_%2$°=角度\:%1$°到%2$° -Spot_range\:_%1$_blocks=污染范围\:%1$个方块 +Angle\:_%s°_to_%s°=角度\:%s°到%s° +Spot_range\:_%s_blocks=污染范围\:%s个方块 # ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketGuiDraw.java -%1$_is_not_in_range!=%1$不在范围内 +%s_is_not_in_range!=%s不在范围内 Cable_slot_empty=槽(导线) -Orientation\:_%1$°=方向\:%1$° +Orientation\:_%s°=方向\:%s° Parallel=并联 Powered_by_Lamp_Supply=由无线照明控制盒供电 Powered_by_cable=导线供电 @@ -584,8 +584,8 @@ Coal_dust_slot=槽(煤粉) # ./src/main/java/mods/eln/sixnode/thermalcable/ThermalCableDescriptor.java High_parallel_resistance\n_\=>_Low_power_dissipation.=并联大阻抗的电阻\n以获得低功耗 Low_serial_resistance\n_\=>_High_conductivity.=并联小阻抗的电阻\n以获得高功耗 -Parallel_resistance\:_%1$K_W=并联\:%1$K/W -Serial_resistance\:_%1$K_W=串联\:%1$K/W +Parallel_resistance\:_%sK_W=并联\:%sK/W +Serial_resistance\:_%sK_W=串联\:%sK/W # ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorContainer.java Cable_slot=槽(导线) @@ -610,12 +610,12 @@ Set_beacon_name=设置信标名称 # ./src/main/java/mods/eln/sixnode/wirelesssignal/rx/WirelessSignalRxGui.java # ./src/main/java/mods/eln/transparentnode/FuelGenerator.kt -Nominal_power\:_%1$_W=Nominal power\: %1$ W -Nominal_voltage\:_%1$_V=Nominal voltage\: %1$ V +Nominal_power\:_%s_W=Nominal power\: %s W +Nominal_voltage\:_%s_V=Nominal voltage\: %s V Produces_electricity_using_fuel.=用燃料来发电 # ./src/main/java/mods/eln/transparentnode/LargeRheostat.kt -Nom._Resistance\:_%1$=Nom. Resistance\: %1$ +Nom._Resistance\:_%s=Nom. Resistance\: %s # ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerContainer.java Drill_slot=槽(钻头) @@ -637,16 +637,16 @@ Overheating_protection=保护装置(过热) Overvoltage_protection=当压力过大时提供保护 # ./src/main/java/mods/eln/transparentnode/battery/BatteryDescriptor.java -Actual_charge\:_%1$%=实际电量\:%1$% -Energy_capacity\:_%1$J=能量容量\:%1$J -_charged_at_%1$%=剩余电量\:%1$% +Actual_charge\:_%s=实际电量\:%s +Energy_capacity\:_%sJ=能量容量\:%sJ +_charged_at_%s=剩余电量\:%s # ./src/main/java/mods/eln/transparentnode/battery/BatteryGuiDraw.java Charge=充电 Charged=充满了 Discharge=放点 Energy\:=能量\: -Energy\:_%1$=能量\:%1$ +Energy\:_%s=能量\:%s Life\:=寿命\: No_charge=没有充电 Power_in\:=输入能量\: @@ -659,7 +659,7 @@ Egg_slot=槽(蛋) Wireless_energy_receiver.=能源无线接收 # ./src/main/java/mods/eln/transparentnode/electricalantennatx/ElectricalAntennaTxDescriptor.java -Efficiency\:_%1$%_up_to_%2$%=效率\:%1$%至%2$% +Efficiency\:_%s_up_to_%s=效率\:%s至%s Wireless_energy_transmitter.=能源无线发送 # ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceContainer.java @@ -671,7 +671,7 @@ Similar_to_a_vanilla_furnace,\nbut_heats_with_electricity.=跟一个正常的熔 # ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceGuiDraw.java Auto_shutdown=自动关闭 Manual_shutdown=手动关闭 -Set_point\:_%1$°C=设置温度\:%1$°C +Set_point\:_%s°C=设置温度\:%s°C # ./src/main/java/mods/eln/transparentnode/electricalmachine/ElectricalMachineDescriptor.java Cost=价格 @@ -684,7 +684,7 @@ Fuel_slot=槽(燃料) Generates_heat_when_supplied_with_fuel.=提供燃料的时候产生热 # ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceGuiDraw.java -Control_gauge_at_%1$%=操作规范\:%1$% +Control_gauge_at_%s=操作规范\:%s Decline_fuel=减少燃料 External_control=手动控制 Internal_control=自动控制 @@ -698,27 +698,27 @@ Solar_tracker_slot=槽(太阳能跟踪器) # ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelDescriptor.java Can_be_geared_towards_the_sun.=可以使太阳能板直指太阳以获得更多的能源 -Max._power\:_%1$W=最大功率\:%1$W -Max._voltage\:_%1$V=最大电压\:%1$V +Max._power\:_%sW=最大功率\:%sW +Max._voltage\:_%sV=最大电压\:%sV Produces_power_from_solar_radiation.=从太阳辐射获取能量 # ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPannelGuiDraw.java It_is_night=晚上了 -Solar_panel_angle\:_%1$°=太阳能电板角度\:%1$° -Sun_angle\:_%1$°=太阳角度\:%1$° +Solar_panel_angle\:_%s°=太阳能电板角度\:%s° +Sun_angle\:_%s°=太阳角度\:%s° # ./src/main/java/mods/eln/transparentnode/teleporter/TeleporterGui.java Destination_transporter=传送至目的地 Power_consumption\:=消耗功率\: -Power_consumption\:_%1$W=使用功率\:%1$W -Required_energy\:_%1$J=需要功率\:%1$J +Power_consumption\:_%sW=使用功率\:%sW +Required_energy\:_%sJ=需要功率\:%sJ Start=开始 Transporter_name=传送机名称 # ./src/main/java/mods/eln/transparentnode/thermaldissipatoractive/ThermalDissipatorActiveDescriptor.java -Fan_cooling_power\:_%1$W=风冷功率\:%1$W -Fan_power_consumption\:_%1$W=风扇功率\:%1$W -Fan_voltage\:_%1$V=风扇电压\:%1$V +Fan_cooling_power\:_%sW=风冷功率\:%sW +Fan_power_consumption\:_%sW=风扇功率\:%sW +Fan_voltage\:_%sV=风扇电压\:%sV # ./src/main/java/mods/eln/transparentnode/transformer/TransformerDescriptor.java The_voltage_ratio_is_proportional\nto_the_cable_stacks_count_ratio.=电压与导线的数目成正比 @@ -726,13 +726,13 @@ Transforms_an_input_voltage_to\nan_output_voltage.=将输入电压转换为输 # ./src/main/java/mods/eln/transparentnode/turbine/TurbineDescriptor.java Generates_electricity_using_heat.=用热能来发电 -Temperature_difference\:_%1$°C=温度差\:%1$°C +Temperature_difference\:_%s°C=温度差\:%s°C # ./src/main/java/mods/eln/transparentnode/turret/TurretDescriptor.java CAUTION\:_Cables_can_get_quite_hot!=警告\:导线过热 -Laser_charge_power\:_%1$W...%2$kW=激光充电功率\:%1$W...%2$kW +Laser_charge_power\:_%sW...%skW=激光充电功率\:%sW...%skW Scans_for_entities_and_shoots_if_the\nentity_matches_the_configurable_filter_criteria.=范围内如果找到的实体与过滤器一致\n那么开始攻击该实体直至实体从范围内移除 -Standby_power\:_%1$W=备用功率\:%1$W +Standby_power\:_%sW=备用功率\:%sW # ./src/main/java/mods/eln/transparentnode/turret/TurretGui.java Attack\:=攻击\: @@ -744,10 +744,10 @@ Generates_energy_using_water_stream.=用流动水来发电 No_place_for_water_turbine!=没有足够的空间供水力发电机工作 # ./src/main/java/mods/eln/transparentnode/windturbine/WindTurbineDescriptor.java -Front\:_%1$=前面\:%1$ +Front\:_%s=前面\:%s Generates_energy_from_wind.=用风来发电 -Left_Right\:_%1$=左/右\:%1$ -Up_Down\:_%1$=上/下\:%1$ +Left_Right\:_%s=左/右\:%s +Up_Down\:_%s=上/下\:%s Wind_area\:=风区 # ./src/main/java/mods/eln/wiki/Data.java @@ -769,7 +769,7 @@ Previous=过去的 # ./src/main/java/mods/eln/wiki/ItemDefault.java Can_be_used_to_craft\:=可以用来合成\: Cannot_be_crafted!=不能合成而得\! -Cost_%1$J=消耗能量\:%1$J +Cost_%sJ=消耗能量\:%sJ Created_by\:=制作原料\: Is_not_a_crafting_material!=不能合成其他物品\! Recipe\:=合成表\: @@ -777,45 +777,45 @@ Recipe\:=合成表\: # Appearing in multiple source files (Increases_capacity)=(增大容量) (Increases_inductance)=(增大电感) -Actual\:_%1$°C=实际温度\:%1$°C +Actual\:_%s°C=实际温度\:%s°C Biggest=最大的 Booster_slot=槽(增压器) Can_create\:=可以合成\: -Capacity\:_%1$F=容量\:%1$F -Charge_power\:_%1$W=充电功率\:%1$W +Capacity\:_%sF=容量\:%sF +Charge_power\:_%sW=充电功率\:%sW Connected=已连接 -Cooling_power\:_%1$W=冷却功率\:%1$W +Cooling_power\:_%sW=冷却功率\:%sW Copper_cable_slot=槽(铜导线) Dielectric_slot=槽(绝缘体) -Discharge_power\:_%1$W=输出功率\:%1$W +Discharge_power\:_%sW=输出功率\:%sW Electrical_cable_slot=槽(电力导线) Entity_filter_slot=槽(生物过滤器) Ferromagnetic_core_slot=槽(磁能核心) Has_a_signal_output.=有一个信号输出 -Inductance\:_%1$H=电感\:%1$H -Internal_resistance\:_%1$Ω=内阻\:%1$Ω +Inductance\:_%sH=电感\:%sH +Internal_resistance\:_%sΩ=内阻\:%sΩ Is_off=关 Is_on=开 -Max._temperature\:_%1$°C=最高温度\:%1$°C +Max._temperature\:_%s°C=最高温度\:%s°C Measured_value\ncorresponding\nto_0%_output=测量zhi\n对应\n0%输出 Measured_value\ncorresponding\nto_100%_output=测量zhi\n对应\n0%输出 Nominal\:=理论\: -Nominal_power\:_%1$W=理论功率\:%1$W +Nominal_power\:_%sW=理论功率\:%sW Nominal_usage\:=理论使用\: -Nominal_voltage\:_%1$V=理论电压\:%1$V +Nominal_voltage\:_%sV=理论电压\:%sV Not_connected=未连接 Not_enough_space_for_this_block=没有足够空间放置这个方块 Power=功率 -Power\:_%1$W=功率\:%1$W -Range\:_%1$_blocks=范围\:%1$个方块 +Power\:_%sW=功率\:%sW +Range\:_%s_blocks=范围\:%s个方块 Redstone_slot=槽(红石) Regulator_slot=槽(校准器) Reset=重置 -Resistance\:_%1$Ω=电阻\:%1$Ω +Resistance\:_%sΩ=电阻\:%sΩ Smallest=最小的 Specify_the_channel=指定通道 -Stored_energy\:_%1$J_(%2$%)=储存的能量\:%1$J(%2$%) -Temperature\:_%1$°C=温度\:%1$°C +Stored_energy\:_%sJ_(%s)=储存的能量\:%sJ(%s) +Temperature\:_%s°C=温度\:%s°C Temperature_gauge=温度计 Thermal_isolator_slot=槽(隔热器) Toggle=切换 @@ -825,5 +825,5 @@ Used_to_cool_down_turbines.=用来冷却涡轮 Uses_the_biggest\nvalue_on_the_channel.=使用通道上最高的值 Uses_the_smallest\nvalue_on_the_channel.=使用通道上最低的值 Validate=证实 -Voltage\:_%1$V=电压\:%1$V +Voltage\:_%sV=电压\:%sV You_can't_place_this_block_at_this_side=不能把方块放在这一边哟~ diff --git a/src/main/resources/assets/eln/lang/zh_CN.lang b/src/main/resources/assets/eln/lang/zh_CN.lang index 869c696ac..783a85345 100644 --- a/src/main/resources/assets/eln/lang/zh_CN.lang +++ b/src/main/resources/assets/eln/lang/zh_CN.lang @@ -287,21 +287,21 @@ tile.eln.EnergyConverterElnToOtherLVUBlock.name=电力时代能源(50V)转至其 tile.eln.EnergyConverterElnToOtherMVUBlock.name=电力时代能源(200V)转至其他能源 # ./src/main/java/mods/eln/i18n/I18N.java -You_have_%1$_lives_left=你还剩%1$条生命 +You_have_%s_lives_left=你还剩%s条生命 # ./src/main/java/mods/eln/item/BrushDescriptor.java Brush_is_dry=刷子干了 -Can_paint_%1$_blocks=可以继续漆%1$个方块 +Can_paint_%s_blocks=可以继续漆%s个方块 # ./src/main/java/mods/eln/item/CombustionChamber.java Upgrade_for_the_Stone_Heat_Furnace.=你的发电机升级啦~ # ./src/main/java/mods/eln/item/ElectricalDrillDescriptor.java -Energy_per_operation\:_%1$J=启动需要能量\:%1$J -Time_per_operation\:_%1$s=启动所需时间\:%1$s +Energy_per_operation\:_%sJ=启动需要能量\:%sJ +Time_per_operation\:_%ss=启动所需时间\:%ss # ./src/main/java/mods/eln/item/FerromagneticCoreDescriptor.java -Cable_loss_factor\:_%1$=导线损耗系数\:%1$ +Cable_loss_factor\:_%s=导线损耗系数\:%s # ./src/main/java/mods/eln/item/HeatingCorpElement.java @@ -311,8 +311,8 @@ Condition\:=条件\: End_of_life=生命就此终结 Good=好 New=新 -Nominal_lifetime\:_%1$h=理论寿命\:%1$h -Technology\:_%1$=科技\:%1$ +Nominal_lifetime\:_%sh=理论寿命\:%sh +Technology\:_%s=科技\:%s Used=旧 # ./src/main/java/mods/eln/item/LampSlot.java @@ -333,7 +333,7 @@ Solar_panel_upgrade=太阳能电板升级 Off=关 On=开 State\:=状态\: -Stored_Energy\:_%1$J_(%2$%)=储存的能量\:%1$J(%2$%) +Stored_Energy\:_%sJ_(%s)=储存的能量\:%sJ(%s) # ./src/main/java/mods/eln/item/regulator/RegulatorSlot.java @@ -346,7 +346,7 @@ mod.name=电力时代 # ./src/main/java/mods/eln/node/six/SixNodeDescriptor.java # ./src/main/java/mods/eln/simplenode/energyconverter/EnergyConverterElnToOtherGui.java -Input_power_is_limited_to_%1$W=输入功率限制\:%1$W +Input_power_is_limited_to_%sW=输入功率限制\:%sW # ./src/main/java/mods/eln/sixnode/LogicGate.kt _O\:_= O\: @@ -386,12 +386,12 @@ Switch_is_off=开关关闭 Switch_is_on=开关打开 # ./src/main/java/mods/eln/sixnode/electricalcable/ElectricalCableDescriptor.java -A_signal_is_electrical_information\nwhich_must_be_between_0V_and_%1$V=信号用来传递电气信息\n必须要在0V和%1$V之间 +A_signal_is_electrical_information\nwhich_must_be_between_0V_and_%sV=信号用来传递电气信息\n必须要在0V和%sV之间 Cable_is_adapted_to_conduct\nelectrical_signals.=该电缆适用于传输电子信号 -Current\:_%1$A=电流\:%1$A +Current\:_%sA=电流\:%sA Not_adapted_to_transport_power.=没有适配到传送功率 Save_usage\:=保存用法\: -Serial_resistance\:_%1$Ω=串联电阻\:%1$Ω +Serial_resistance\:_%sΩ=串联电阻\:%sΩ # ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerDescriptor.java It_can_store_up_to_256_points.=它最多可以储存256个单位 @@ -423,10 +423,10 @@ Output_voltage_increases\nif_a_fire_has_been_detected.=如果周围有火那么 Provides_configurable_signal\nvoltage.=提供可调整的信号电压 # ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceGui.java -Output_at_%1$%=输出\:%1$% +Output_at_%s=输出\:%s # ./src/main/java/mods/eln/sixnode/electricallightsensor/ElectricalLightSensorDescriptor.java -0V_at_night,_%1$V_at_noon.=夜间0V,午时%1$V +0V_at_night,_%sV_at_noon.=夜间0V,午时%sV Provides_an_electrical_voltage\nin_the_presence_of_light.=接受到光的时候提供电压 Provides_an_electrical_voltage\nwhich_is_proportional_to\nthe_intensity_of_daylight.=接收到日光的时候提供电压\n电压与日光强度成正比 @@ -439,7 +439,7 @@ Applicable_mathematical_operators\:=适用于数学算子 Calculates_an_output_signal_from\n3_inputs_(A,_B,_C)_using_an_equation.=用3个输入(A,B,C)值\n进行函数计算\n然后输出信号 # ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathGui.java -%1$_Redstone(s)_required=需要%1$个红石粉 +%s_Redstone(s)_required=需要%s个红石粉 Equation_required!=需要方程式 Inputs_are=输入是 Invalid_equation!=无效方程式 @@ -483,13 +483,13 @@ Displays_the_value_of_a_signal.=显示信号的值 Portable_battery_slot=槽(移动电池) # ./src/main/java/mods/eln/sixnode/electricalweathersensor/ElectricalWeatherSensorDescriptor.java -Clear\:_%1$V=晴朗\:%1$V +Clear\:_%sV=晴朗\:%sV Provides_an_electrical_signal\ndepending_the_actual_weather.=提供信号,强度由天气决定 -Rain\:_%1$V=阴雨\:%1$V -Storm\:_%1$V=雷暴\:%1$V +Rain\:_%sV=阴雨\:%sV +Storm\:_%sV=雷暴\:%sV # ./src/main/java/mods/eln/sixnode/electricalwindsensor/ElectricalWindSensorDescriptor.java -Maximum_wind_speed_is_%1$m_s=最高风速%1$m/s +Maximum_wind_speed_is_%sm_s=最高风速%sm/s Provides_an_electrical_signal\ndependant_on_wind_speed.=提供信号,强度由风速决定 You_can't_place_this_block_on_the_floor_or_the_ceiling=You can't place this block on the floor or the ceiling @@ -508,7 +508,7 @@ Voltage=电压 Change_password=修改密码 Counter_Mode=计数模式 Counts_the_energy_conducted_from\n\u00a74red\u00a7f_to_\u00a71blue\u00a7f.=计算从\\u00a74red\\u00a7f到\\u00a71blue\\u00a7f的能量 -Energy_counter\:_%1$J=能量计算\:%1$J +Energy_counter\:_%sJ=能量计算\:%sJ Enter_new_energy=输入新能源 Enter_password=输入密码 Prepay_Mode=预付费模式 @@ -529,13 +529,13 @@ Provides_a_zero_volt_reference.=提供0V电路供参考 Allows_crossing_cables\non_one_single_block.=允许导线在一个方块上面交叉 # ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketDescriptor.java -Angle\:_%1$°_to_%2$°=角度\:%1$°到%2$° -Spot_range\:_%1$_blocks=污染范围\:%1$个方块 +Angle\:_%s°_to_%s°=角度\:%s°到%s° +Spot_range\:_%s_blocks=污染范围\:%s个方块 # ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketGuiDraw.java -%1$_is_not_in_range!=%1$不在范围内 +%s_is_not_in_range!=%s不在范围内 Cable_slot_empty=槽(导线) -Orientation\:_%1$°=方向\:%1$° +Orientation\:_%s°=方向\:%s° Parallel=并联 Powered_by_Lamp_Supply=由无线照明控制盒供电 Powered_by_cable=导线供电 @@ -584,8 +584,8 @@ Coal_dust_slot=槽(煤粉) # ./src/main/java/mods/eln/sixnode/thermalcable/ThermalCableDescriptor.java High_parallel_resistance\n_\=>_Low_power_dissipation.=并联大阻抗的电阻\n以获得低功耗 Low_serial_resistance\n_\=>_High_conductivity.=并联小阻抗的电阻\n以获得高功耗 -Parallel_resistance\:_%1$K_W=并联\:%1$K/W -Serial_resistance\:_%1$K_W=串联\:%1$K/W +Parallel_resistance\:_%sK_W=并联\:%sK/W +Serial_resistance\:_%sK_W=串联\:%sK/W # ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorContainer.java Cable_slot=槽(导线) @@ -610,12 +610,12 @@ Set_beacon_name=设置信标名称 # ./src/main/java/mods/eln/sixnode/wirelesssignal/rx/WirelessSignalRxGui.java # ./src/main/java/mods/eln/transparentnode/FuelGenerator.kt -Nominal_power\:_%1$_W=Nominal power\: %1$ W -Nominal_voltage\:_%1$_V=Nominal voltage\: %1$ V +Nominal_power\:_%s_W=Nominal power\: %s W +Nominal_voltage\:_%s_V=Nominal voltage\: %s V Produces_electricity_using_fuel.=用燃料来发电 # ./src/main/java/mods/eln/transparentnode/LargeRheostat.kt -Nom._Resistance\:_%1$=Nom. Resistance\: %1$ +Nom._Resistance\:_%s=Nom. Resistance\: %s # ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerContainer.java Drill_slot=槽(钻头) @@ -637,16 +637,16 @@ Overheating_protection=保护装置(过热) Overvoltage_protection=当压力过大时提供保护 # ./src/main/java/mods/eln/transparentnode/battery/BatteryDescriptor.java -Actual_charge\:_%1$%=实际电量\:%1$% -Energy_capacity\:_%1$J=能量容量\:%1$J -_charged_at_%1$%=剩余电量\:%1$% +Actual_charge\:_%s=实际电量\:%s +Energy_capacity\:_%sJ=能量容量\:%sJ +_charged_at_%s=剩余电量\:%s # ./src/main/java/mods/eln/transparentnode/battery/BatteryGuiDraw.java Charge=充电 Charged=充满了 Discharge=放点 Energy\:=能量\: -Energy\:_%1$=能量\:%1$ +Energy\:_%s=能量\:%s Life\:=寿命\: No_charge=没有充电 Power_in\:=输入能量\: @@ -659,7 +659,7 @@ Egg_slot=槽(蛋) Wireless_energy_receiver.=能源无线接收 # ./src/main/java/mods/eln/transparentnode/electricalantennatx/ElectricalAntennaTxDescriptor.java -Efficiency\:_%1$%_up_to_%2$%=效率\:%1$%至%2$% +Efficiency\:_%s_up_to_%s=效率\:%s至%s Wireless_energy_transmitter.=能源无线发送 # ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceContainer.java @@ -671,7 +671,7 @@ Similar_to_a_vanilla_furnace,\nbut_heats_with_electricity.=跟一个正常的熔 # ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceGuiDraw.java Auto_shutdown=自动关闭 Manual_shutdown=手动关闭 -Set_point\:_%1$°C=设置温度\:%1$°C +Set_point\:_%s°C=设置温度\:%s°C # ./src/main/java/mods/eln/transparentnode/electricalmachine/ElectricalMachineDescriptor.java Cost=价格 @@ -684,7 +684,7 @@ Fuel_slot=槽(燃料) Generates_heat_when_supplied_with_fuel.=提供燃料的时候产生热 # ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceGuiDraw.java -Control_gauge_at_%1$%=操作规范\:%1$% +Control_gauge_at_%s=操作规范\:%s Decline_fuel=减少燃料 External_control=手动控制 Internal_control=自动控制 @@ -698,27 +698,27 @@ Solar_tracker_slot=槽(太阳能跟踪器) # ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelDescriptor.java Can_be_geared_towards_the_sun.=可以使太阳能板直指太阳以获得更多的能源 -Max._power\:_%1$W=最大功率\:%1$W -Max._voltage\:_%1$V=最大电压\:%1$V +Max._power\:_%sW=最大功率\:%sW +Max._voltage\:_%sV=最大电压\:%sV Produces_power_from_solar_radiation.=从太阳辐射获取能量 # ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPannelGuiDraw.java It_is_night=晚上了 -Solar_panel_angle\:_%1$°=太阳能电板角度\:%1$° -Sun_angle\:_%1$°=太阳角度\:%1$° +Solar_panel_angle\:_%s°=太阳能电板角度\:%s° +Sun_angle\:_%s°=太阳角度\:%s° # ./src/main/java/mods/eln/transparentnode/teleporter/TeleporterGui.java Destination_transporter=传送至目的地 Power_consumption\:=消耗功率\: -Power_consumption\:_%1$W=使用功率\:%1$W -Required_energy\:_%1$J=需要功率\:%1$J +Power_consumption\:_%sW=使用功率\:%sW +Required_energy\:_%sJ=需要功率\:%sJ Start=开始 Transporter_name=传送机名称 # ./src/main/java/mods/eln/transparentnode/thermaldissipatoractive/ThermalDissipatorActiveDescriptor.java -Fan_cooling_power\:_%1$W=风冷功率\:%1$W -Fan_power_consumption\:_%1$W=风扇功率\:%1$W -Fan_voltage\:_%1$V=风扇电压\:%1$V +Fan_cooling_power\:_%sW=风冷功率\:%sW +Fan_power_consumption\:_%sW=风扇功率\:%sW +Fan_voltage\:_%sV=风扇电压\:%sV # ./src/main/java/mods/eln/transparentnode/transformer/TransformerDescriptor.java The_voltage_ratio_is_proportional\nto_the_cable_stacks_count_ratio.=电压与导线的数目成正比 @@ -726,13 +726,13 @@ Transforms_an_input_voltage_to\nan_output_voltage.=将输入电压转换为输 # ./src/main/java/mods/eln/transparentnode/turbine/TurbineDescriptor.java Generates_electricity_using_heat.=用热能来发电 -Temperature_difference\:_%1$°C=温度差\:%1$°C +Temperature_difference\:_%s°C=温度差\:%s°C # ./src/main/java/mods/eln/transparentnode/turret/TurretDescriptor.java CAUTION\:_Cables_can_get_quite_hot!=警告\:导线过热 -Laser_charge_power\:_%1$W...%2$kW=激光充电功率\:%1$W...%2$kW +Laser_charge_power\:_%sW...%skW=激光充电功率\:%sW...%skW Scans_for_entities_and_shoots_if_the\nentity_matches_the_configurable_filter_criteria.=范围内如果找到的实体与过滤器一致\n那么开始攻击该实体直至实体从范围内移除 -Standby_power\:_%1$W=备用功率\:%1$W +Standby_power\:_%sW=备用功率\:%sW # ./src/main/java/mods/eln/transparentnode/turret/TurretGui.java Attack\:=攻击\: @@ -744,10 +744,10 @@ Generates_energy_using_water_stream.=用流动水来发电 No_place_for_water_turbine!=没有足够的空间供水力发电机工作 # ./src/main/java/mods/eln/transparentnode/windturbine/WindTurbineDescriptor.java -Front\:_%1$=前面\:%1$ +Front\:_%s=前面\:%s Generates_energy_from_wind.=用风来发电 -Left_Right\:_%1$=左/右\:%1$ -Up_Down\:_%1$=上/下\:%1$ +Left_Right\:_%s=左/右\:%s +Up_Down\:_%s=上/下\:%s Wind_area\:=风区 # ./src/main/java/mods/eln/wiki/Data.java @@ -769,7 +769,7 @@ Previous=过去的 # ./src/main/java/mods/eln/wiki/ItemDefault.java Can_be_used_to_craft\:=可以用来合成\: Cannot_be_crafted!=不能合成而得\! -Cost_%1$J=消耗能量\:%1$J +Cost_%sJ=消耗能量\:%sJ Created_by\:=制作原料\: Is_not_a_crafting_material!=不能合成其他物品\! Recipe\:=合成表\: @@ -777,45 +777,45 @@ Recipe\:=合成表\: # Appearing in multiple source files (Increases_capacity)=(增大容量) (Increases_inductance)=(增大电感) -Actual\:_%1$°C=实际温度\:%1$°C +Actual\:_%s°C=实际温度\:%s°C Biggest=最大的 Booster_slot=槽(增压器) Can_create\:=可以合成\: -Capacity\:_%1$F=容量\:%1$F -Charge_power\:_%1$W=充电功率\:%1$W +Capacity\:_%sF=容量\:%sF +Charge_power\:_%sW=充电功率\:%sW Connected=已连接 -Cooling_power\:_%1$W=冷却功率\:%1$W +Cooling_power\:_%sW=冷却功率\:%sW Copper_cable_slot=槽(铜导线) Dielectric_slot=槽(绝缘体) -Discharge_power\:_%1$W=输出功率\:%1$W +Discharge_power\:_%sW=输出功率\:%sW Electrical_cable_slot=槽(电力导线) Entity_filter_slot=槽(生物过滤器) Ferromagnetic_core_slot=槽(磁能核心) Has_a_signal_output.=有一个信号输出 -Inductance\:_%1$H=电感\:%1$H -Internal_resistance\:_%1$Ω=内阻\:%1$Ω +Inductance\:_%sH=电感\:%sH +Internal_resistance\:_%sΩ=内阻\:%sΩ Is_off=关 Is_on=开 -Max._temperature\:_%1$°C=最高温度\:%1$°C +Max._temperature\:_%s°C=最高温度\:%s°C Measured_value\ncorresponding\nto_0%_output=测量zhi\n对应\n0%输出 Measured_value\ncorresponding\nto_100%_output=测量zhi\n对应\n0%输出 Nominal\:=理论\: -Nominal_power\:_%1$W=理论功率\:%1$W +Nominal_power\:_%sW=理论功率\:%sW Nominal_usage\:=理论使用\: -Nominal_voltage\:_%1$V=理论电压\:%1$V +Nominal_voltage\:_%sV=理论电压\:%sV Not_connected=未连接 Not_enough_space_for_this_block=没有足够空间放置这个方块 Power=功率 -Power\:_%1$W=功率\:%1$W -Range\:_%1$_blocks=范围\:%1$个方块 +Power\:_%sW=功率\:%sW +Range\:_%s_blocks=范围\:%s个方块 Redstone_slot=槽(红石) Regulator_slot=槽(校准器) Reset=重置 -Resistance\:_%1$Ω=电阻\:%1$Ω +Resistance\:_%sΩ=电阻\:%sΩ Smallest=最小的 Specify_the_channel=指定通道 -Stored_energy\:_%1$J_(%2$%)=储存的能量\:%1$J(%2$%) -Temperature\:_%1$°C=温度\:%1$°C +Stored_energy\:_%sJ_(%s)=储存的能量\:%sJ(%s) +Temperature\:_%s°C=温度\:%s°C Temperature_gauge=温度计 Thermal_isolator_slot=槽(隔热器) Toggle=切换 @@ -825,5 +825,5 @@ Used_to_cool_down_turbines.=用来冷却涡轮 Uses_the_biggest\nvalue_on_the_channel.=使用通道上最高的值 Uses_the_smallest\nvalue_on_the_channel.=使用通道上最低的值 Validate=证实 -Voltage\:_%1$V=电压\:%1$V +Voltage\:_%sV=电压\:%sV You_can't_place_this_block_at_this_side=不能把方块放在这一边哟~ From 3ec8921b3407db768335bc28f32bfae26f5a3ca2 Mon Sep 17 00:00:00 2001 From: Svein Ove Aas Date: Wed, 27 Feb 2019 15:01:08 +0000 Subject: [PATCH 41/61] 1.12 Gradle configuration --- build.gradle | 25 ++++++++++++------------- gradle.properties | 10 +++++++--- 2 files changed, 19 insertions(+), 16 deletions(-) diff --git a/build.gradle b/build.gradle index dc26a431b..c34d7a81d 100644 --- a/build.gradle +++ b/build.gradle @@ -12,14 +12,14 @@ buildscript { jcenter() } dependencies { - classpath 'net.minecraftforge.gradle:ForgeGradle:2.2-SNAPSHOT' + classpath 'net.minecraftforge.gradle:ForgeGradle:2.3-SNAPSHOT' // classpath 'de.undercouch:gradle-download-task:1.2' // classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.6' } } plugins { - id 'org.jetbrains.kotlin.jvm' version '1.2.0' // TODO(1.12): Bump along with Forgelin. + id 'org.jetbrains.kotlin.jvm' version '1.3.10' // id 'com.matthewprenger.cursegradle' version '1.0.8' // id "com.github.johnrengelman.shadow" version "1.2.4" } @@ -32,14 +32,16 @@ apply plugin: 'kotlin' // apply plugin: 'com.jfrog.bintray' // apply plugin: 'maven-publish' -apply from: 'gradle.properties' +//apply from: 'gradle.properties' group = GROUP archivesBaseName = ARCHIVE_NAME version = MAJORVERSION + "." + MINORVERSION + "." + REVISION -targetCompatibility = '1.8' -sourceCompatibility = '1.8' +sourceCompatibility = targetCompatibility = '1.8' // Need this here so eclipse task generates correctly. +compileJava { + sourceCompatibility = targetCompatibility = '1.8' +} sourceSets { main { @@ -51,9 +53,9 @@ sourceSets { } minecraft { - version = "1.10.2-12.18.3.2185" + version = "1.12.2-14.23.5.2768" runDir = "run" - mappings = "snapshot_20161111" + mappings = "snapshot_20171003" // TODO(Baughn): After moving to 1.10, this should be replaced with the shadow plugin, // e.g. as used in https://github.com/Emberwalker/Laundarray/blob/master/build.gradle @@ -101,15 +103,12 @@ repositories { dependencies { compile group: 'org.apache.commons', name: 'commons-math3', version: '3.6.1' implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8" - // TODO(1.12): Update. Maybe the latest actually works. - compile group: "net.shadowfacts", name: "Forgelin", version: "1.6.0" - // 1.12 version: - //compile "dan200.computercraft:ComputerCraft:1.80pr1-build12" - compile "li.cil.oc:OpenComputers:MC1.10.2-1.7.2.172" + compile group: "net.shadowfacts", name: "Forgelin", version: "1.8.2" + implementation "dan200.computercraft:ComputerCraft:1.80pr1-build5" + implementation "li.cil.oc:OpenComputers:MC1.10.2-1.7.2.172" deobfCompile "mcp.mobius.waila:Hwyla:1.8.17-B31_1.10.2" // TODO(1.12): Switch to this. // deobfCompile "cofh:RedstoneFlux:1.12-2.0.0.1:universal" - // compile "mcp.mobius.waila:Waila:1.5.11-RC2-NONEI_1.7.10:dev" } jar { diff --git a/gradle.properties b/gradle.properties index e8789ff88..59b0123a0 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,7 +1,11 @@ -MAJORVERSION = 1 -MINORVERSION = 14 -REVISION = 2 +MAJORVERSION = 2 +MINORVERSION = 0 +REVISION = 0 GROUP = 'net.electricalage.eln' ARCHIVE_NAME = 'ElectricalAge' MAPURL = 'https://github.com/Electrical-Age/ElectricalAge/releases/download/BETA-1.11r51/ElectricalAge_tutorial_map-BETA-1.11r51.zip' + +# Sets default memory used for gradle commands. Can be overridden by user or command line properties. +# This is required to provide enough memory for the Minecraft decompilation process. +org.gradle.jvmargs=-Xmx3G From 0506b962cd88cb1b804fd4089c847791d36dc48b Mon Sep 17 00:00:00 2001 From: Svein Ove Aas Date: Wed, 27 Feb 2019 20:14:01 +0000 Subject: [PATCH 42/61] Fix everything but the ItemStack changes --- .../mods/eln/client/ClientPacketHandler.java | 2 +- .../eln/client/VersionCheckerHandler.java | 4 +- .../mods/eln/fluid/ElementFluidHandler.java | 49 ++++++++----------- .../eln/fluid/PreciseElementFluidHandler.kt | 2 +- .../java/mods/eln/ghost/GhostManager.java | 5 +- src/main/java/mods/eln/init/Blocks.kt | 10 ++++ .../java/mods/eln/item/BrushDescriptor.kt | 6 +-- .../item/electricalitem/ElectricalArmor.kt | 6 ++- .../eln/item/electricalitem/ElectricalTool.kt | 2 +- .../mods/eln/item/electricalitem/LampItem.kt | 22 ++++----- .../electricalitem/PortableOreScannerItem.kt | 10 ++-- src/main/java/mods/eln/mechanical/JointHub.kt | 6 +-- .../java/mods/eln/mechanical/SimpleShaft.kt | 6 +-- src/main/java/mods/eln/misc/LRDU.java | 2 +- src/main/java/mods/eln/misc/Utils.java | 10 ++-- src/main/java/mods/eln/misc/UtilsClient.java | 14 +++--- .../java/mods/eln/node/NodeBlockEntity.java | 2 +- src/main/java/mods/eln/node/NodeClient.java | 2 +- src/main/java/mods/eln/node/NodeManager.java | 2 +- .../eln/node/simple/SimpleNodeEntity.java | 2 +- .../java/mods/eln/node/six/SixNodeBlock.java | 2 +- .../transparent/TransparentNodeElement.java | 2 +- .../signalinductor/SignalInductorRender.java | 2 +- src/main/java/mods/eln/sixnode/Scanner.kt | 6 +-- .../ElectricalDataLoggerDescriptor.java | 6 +-- .../ElectricalWatchDescriptor.java | 6 +-- .../lampsupply/LampSupplyDescriptor.java | 6 +-- .../thermalcable/ThermalCableRender.java | 2 +- .../tutorialsign/TutorialSignOverlay.java | 4 +- .../java/mods/eln/sound/LoopedSoundManager.kt | 2 +- src/main/java/mods/eln/sound/SoundClient.java | 2 +- .../mods/eln/transparentnode/FuelGenerator.kt | 3 -- src/main/java/mods/eln/wiki/GuiItemStack.java | 2 +- 33 files changed, 104 insertions(+), 105 deletions(-) create mode 100644 src/main/java/mods/eln/init/Blocks.kt diff --git a/src/main/java/mods/eln/client/ClientPacketHandler.java b/src/main/java/mods/eln/client/ClientPacketHandler.java index d28c62e93..e4fb45da8 100644 --- a/src/main/java/mods/eln/client/ClientPacketHandler.java +++ b/src/main/java/mods/eln/client/ClientPacketHandler.java @@ -26,7 +26,7 @@ public void onClientPacket(ClientCustomPacketEvent event) { FMLProxyPacket packet = event.getPacket(); DataInputStream stream = new DataInputStream(new ByteArrayInputStream(packet.payload().array())); NetworkManager manager = event.getManager(); - EntityPlayer player = Minecraft.getMinecraft().thePlayer; // EntityClientPlayerMP + EntityPlayer player = Minecraft.getMinecraft().player; // EntityClientPlayerMP Eln.packetHandler.packetRx(stream, manager, player); } diff --git a/src/main/java/mods/eln/client/VersionCheckerHandler.java b/src/main/java/mods/eln/client/VersionCheckerHandler.java index b5887290b..30fbe0fc2 100644 --- a/src/main/java/mods/eln/client/VersionCheckerHandler.java +++ b/src/main/java/mods/eln/client/VersionCheckerHandler.java @@ -112,8 +112,8 @@ public void tick(ClientTickEvent event) { // Print the current version when the client start a map if (Eln.versionCheckEnabled) { - m.thePlayer.addChatMessage(new TextComponentString(Version.printColor())); - m.thePlayer.addChatMessage(new TextComponentString(versionMsg)); + m.player.addChatMessage(new TextComponentString(Version.printColor())); + m.player.addChatMessage(new TextComponentString(versionMsg)); } FMLCommonHandler.instance().bus().unregister(this); diff --git a/src/main/java/mods/eln/fluid/ElementFluidHandler.java b/src/main/java/mods/eln/fluid/ElementFluidHandler.java index 89174a19e..9b8e62d1a 100644 --- a/src/main/java/mods/eln/fluid/ElementFluidHandler.java +++ b/src/main/java/mods/eln/fluid/ElementFluidHandler.java @@ -3,7 +3,14 @@ import mods.eln.misc.INBTTReady; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.EnumFacing; -import net.minecraftforge.fluids.*; +import net.minecraftforge.fluids.Fluid; +import net.minecraftforge.fluids.FluidStack; +import net.minecraftforge.fluids.FluidTank; +import net.minecraftforge.fluids.FluidTankInfo; +import net.minecraftforge.fluids.capability.IFluidHandler; +import net.minecraftforge.fluids.capability.IFluidTankProperties; + +import javax.annotation.Nullable; /** * Use one of these if you want your block to support Forge fluids! @@ -39,7 +46,7 @@ private void setHeatEnergyPerMilliBucket(Fluid fluid) { } @Override - public int fill(EnumFacing from, FluidStack resource, boolean doFill) { + public int fill(FluidStack resource, boolean doFill) { if (tank.getFluidAmount() > 0) { // No change in type of fluid. return tank.fill(resource, doFill); @@ -49,48 +56,34 @@ public int fill(EnumFacing from, FluidStack resource, boolean doFill) { return tank.fill(resource, doFill); } else { for (Fluid whitelisted : whitelist) { - if (whitelisted == resource.getFluid()) + if (whitelisted == resource.getFluid()) { setHeatEnergyPerMilliBucket(resource.getFluid()); - return tank.fill(resource, doFill); + return tank.fill(resource, doFill); + } } return 0; } } + @Nullable @Override - public FluidStack drain(EnumFacing from, FluidStack resource, boolean doDrain) { - if (resource.isFluidEqual(tank.getFluid())) + public FluidStack drain(FluidStack resource, boolean doDrain) { + if (resource.isFluidEqual(tank.getFluid())) { return tank.drain(resource.amount, doDrain); - else - return null; - } - - @Override - public FluidStack drain(EnumFacing from, int maxDrain, boolean doDrain) { - return tank.drain(maxDrain, doDrain); - } - - @Override - public boolean canFill(EnumFacing from, Fluid fluid) { - if (tank.getFluidAmount() > 0) { - return tank.getFluid().getFluid() == fluid; } else { - for (Fluid whitelisted : whitelist) { - if (whitelisted == fluid) - return true; - } + return null; } - return false; } + @Nullable @Override - public boolean canDrain(EnumFacing from, Fluid fluid) { - return true; + public FluidStack drain(int maxDrain, boolean doDrain) { + return tank.drain(maxDrain, doDrain); } @Override - public FluidTankInfo[] getTankInfo(EnumFacing from) { - return new FluidTankInfo[]{tank.getInfo()}; + public IFluidTankProperties[] getTankProperties() { + return tank.getTankProperties(); } @Override diff --git a/src/main/java/mods/eln/fluid/PreciseElementFluidHandler.kt b/src/main/java/mods/eln/fluid/PreciseElementFluidHandler.kt index c5ef17c6d..7d1261383 100644 --- a/src/main/java/mods/eln/fluid/PreciseElementFluidHandler.kt +++ b/src/main/java/mods/eln/fluid/PreciseElementFluidHandler.kt @@ -19,7 +19,7 @@ class PreciseElementFluidHandler(tankSize: Int) : ElementFluidHandler(tankSize) fun drain(demand: Double): Double { val drain = Math.ceil(demand - fixup) - val drained = drain(EnumFacing.DOWN, drain.toInt(), true)?.amount?.toDouble() ?: 0.0 + val drained = drain(drain.toInt(), true)?.amount?.toDouble() ?: 0.0 val available = fixup + drained val actual = Math.min(demand, available) fixup = Math.max(0.0, available - demand) diff --git a/src/main/java/mods/eln/ghost/GhostManager.java b/src/main/java/mods/eln/ghost/GhostManager.java index ed59c72d4..d922faf1c 100644 --- a/src/main/java/mods/eln/ghost/GhostManager.java +++ b/src/main/java/mods/eln/ghost/GhostManager.java @@ -6,13 +6,10 @@ import mods.eln.node.NodeBase; import mods.eln.node.NodeManager; import net.minecraft.block.Block; -import net.minecraft.init.Blocks; import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.server.MinecraftServer; import net.minecraft.util.math.BlockPos; import net.minecraft.world.World; -import net.minecraft.world.WorldSavedData; -import net.minecraftforge.common.ForgeChunkManager; +import net.minecraft.world.storage.WorldSavedData; import java.util.Hashtable; import java.util.Iterator; diff --git a/src/main/java/mods/eln/init/Blocks.kt b/src/main/java/mods/eln/init/Blocks.kt new file mode 100644 index 000000000..6c274f691 --- /dev/null +++ b/src/main/java/mods/eln/init/Blocks.kt @@ -0,0 +1,10 @@ +package mods.eln.init + +import com.teamwizardry.librarianlib.features.base.block.BlockMod +import net.minecraft.block.material.Material + +object Blocks { + val Ore = BlockMod("Ore", Material.ROCK, + "Copper Ore", + "Lead Ore") +} diff --git a/src/main/java/mods/eln/item/BrushDescriptor.kt b/src/main/java/mods/eln/item/BrushDescriptor.kt index ce56fbcf6..0d0983888 100644 --- a/src/main/java/mods/eln/item/BrushDescriptor.kt +++ b/src/main/java/mods/eln/item/BrushDescriptor.kt @@ -17,7 +17,7 @@ class BrushDescriptor(name: String): GenericItemUsingDamageDescriptor(name) { private val icon = ResourceLocation("eln", "textures/items/" + name.toLowerCase().replace(" ", "") + ".png") override fun getName(stack: ItemStack): String { - val creative = Minecraft.getMinecraft().thePlayer.capabilities.isCreativeMode + val creative = Minecraft.getMinecraft().player.capabilities.isCreativeMode val color = getColor(stack) val life = getLife(stack) return if (!creative && color == 15 && life == 0) "Empty " + super.getName(stack) else super.getName(stack) @@ -46,7 +46,7 @@ class BrushDescriptor(name: String): GenericItemUsingDamageDescriptor(name) { super.addInformation(itemStack, entityPlayer, list, par4) if (itemStack != null) { - val creative = Minecraft.getMinecraft().thePlayer.capabilities.isCreativeMode + val creative = Minecraft.getMinecraft().player.capabilities.isCreativeMode list.add(tr("Can paint %s blocks", if (creative) "infinite" else itemStack.tagCompound!!.getInteger("life"))) } } @@ -69,7 +69,7 @@ class BrushDescriptor(name: String): GenericItemUsingDamageDescriptor(name) { // TODO(1.10): Reimplement brush coloring // override fun renderItem(type: IItemRenderer.ItemRenderType, item: ItemStack, vararg data: Any) { // if (type == IItemRenderer.ItemRenderType.INVENTORY) { -// val creative = Minecraft.getMinecraft().thePlayer.capabilities.isCreativeMode +// val creative = Minecraft.getMinecraft().player.capabilities.isCreativeMode // UtilsClient.drawIcon(type, icon) // if (!creative) { // GL11.glColor4f(1f, 1f, 1f, 0.75f - 0.75f * getLife(item) / 32f) diff --git a/src/main/java/mods/eln/item/electricalitem/ElectricalArmor.kt b/src/main/java/mods/eln/item/electricalitem/ElectricalArmor.kt index fe29df7b4..39a0fccd2 100644 --- a/src/main/java/mods/eln/item/electricalitem/ElectricalArmor.kt +++ b/src/main/java/mods/eln/item/electricalitem/ElectricalArmor.kt @@ -5,6 +5,7 @@ import mods.eln.i18n.I18N.tr import mods.eln.item.electricalinterface.IItemEnergyBattery import mods.eln.misc.Utils import mods.eln.wiki.Data +import net.minecraft.client.util.ITooltipFlag import net.minecraft.entity.EntityLivingBase import net.minecraft.entity.player.EntityPlayer import net.minecraft.inventory.EntityEquipmentSlot @@ -12,6 +13,7 @@ import net.minecraft.item.ItemArmor import net.minecraft.item.ItemStack import net.minecraft.nbt.NBTTagCompound import net.minecraft.util.DamageSource +import net.minecraft.world.World import net.minecraftforge.common.ISpecialArmor class ElectricalArmor(materialIn: ItemArmor.ArmorMaterial, @@ -67,8 +69,8 @@ class ElectricalArmor(materialIn: ItemArmor.ArmorMaterial, return stack.tagCompound!! } - override fun addInformation(stack: ItemStack, playerIn: EntityPlayer, tooltip: MutableList, advanced: Boolean) { - super.addInformation(stack, playerIn, tooltip, advanced) + override fun addInformation(stack: ItemStack, worldIn: World?, tooltip: MutableList, flagIn: ITooltipFlag) { + super.addInformation(stack, worldIn, tooltip, flagIn) tooltip.add(tr("Charge power: %sW", chargePower.toInt())) tooltip.add(tr("Stored energy: %sJ (%s)", getEnergy(stack), (getEnergy(stack) / energyStorage * 100).toInt())) diff --git a/src/main/java/mods/eln/item/electricalitem/ElectricalTool.kt b/src/main/java/mods/eln/item/electricalitem/ElectricalTool.kt index d5f874705..fc3326865 100644 --- a/src/main/java/mods/eln/item/electricalitem/ElectricalTool.kt +++ b/src/main/java/mods/eln/item/electricalitem/ElectricalTool.kt @@ -21,7 +21,7 @@ open class ElectricalTool(name: String, private var strengthOn: Float, private v internal var range: Int = 0 override fun onEntitySwing(entityLiving: EntityLivingBase, stack: ItemStack): Boolean { - if (entityLiving.worldObj.isRemote) return false + if (entityLiving.world.isRemote) return false Eln.itemEnergyInventoryProcess.addExclusion(this, 2.0) return super.onEntitySwing(entityLiving, stack) diff --git a/src/main/java/mods/eln/item/electricalitem/LampItem.kt b/src/main/java/mods/eln/item/electricalitem/LampItem.kt index 2c09951b6..7024d0e94 100644 --- a/src/main/java/mods/eln/item/electricalitem/LampItem.kt +++ b/src/main/java/mods/eln/item/electricalitem/LampItem.kt @@ -34,33 +34,33 @@ abstract class LampItem(name: String) : GenericItemUsingDamageDescriptor(name) { var rCount = 0 for (idx in 0 until range) { - x += v.xCoord - y += v.yCoord - z += v.zCoord + x += v.x + y += v.y + z += v.z - val pos = BlockPos(MathHelper.floor_double(x), MathHelper.floor_double(y), MathHelper.floor_double(z)) + val pos = BlockPos(MathHelper.floor(x), MathHelper.floor(y), MathHelper.floor(z)) val state = world.getBlockState(pos) val block = state.block if (!block.isAir(state, world, pos) && block !== Eln.lightBlock) { - x -= v.xCoord - y -= v.yCoord - z -= v.zCoord + x -= v.x + y -= v.y + z -= v.z break } rCount++ } while (rCount > 0) { - val pos = BlockPos(MathHelper.floor_double(x), MathHelper.floor_double(y), MathHelper.floor_double(z)) + val pos = BlockPos(MathHelper.floor(x), MathHelper.floor(y), MathHelper.floor(z)) val state = world.getBlockState(pos) val block = state.block if (block.isAir(state, world, pos) || block === Eln.lightBlock) { LightBlockEntity.addLight(world, pos, light, 10) return } - x -= v.xCoord - y -= v.yCoord - z -= v.zCoord + x -= v.x + y -= v.y + z -= v.z rCount-- } } diff --git a/src/main/java/mods/eln/item/electricalitem/PortableOreScannerItem.kt b/src/main/java/mods/eln/item/electricalitem/PortableOreScannerItem.kt index 1db4442f5..5e7aba3ed 100644 --- a/src/main/java/mods/eln/item/electricalitem/PortableOreScannerItem.kt +++ b/src/main/java/mods/eln/item/electricalitem/PortableOreScannerItem.kt @@ -163,7 +163,7 @@ class PortableOreScannerItem(name: String, obj: Obj3D, } override fun onBlockStartBreak(itemstack: ItemStack, x: Int, y: Int, z: Int, player: EntityPlayer): Boolean { - if (!player.worldObj.isRemote) { + if (!player.world.isRemote) { setDamage(itemstack, (getDamage(itemstack) + 1).toByte()) } return super.onBlockStartBreak(itemstack, x, y, z, player) @@ -422,9 +422,9 @@ class PortableOreScannerItem(name: String, obj: Obj3D, var d = 0f while (d < viewRange) { - val xFloor = MathHelper.floor_float(x).toFloat() - val yFloor = MathHelper.floor_float(y).toFloat() - val zFloor = MathHelper.floor_float(z).toFloat() + val xFloor = MathHelper.floor(x).toFloat() + val yFloor = MathHelper.floor(y).toFloat() + val zFloor = MathHelper.floor(z).toFloat() var dx = x - xFloor var dy = y - yFloor @@ -477,7 +477,7 @@ class PortableOreScannerItem(name: String, obj: Obj3D, val b = state.block //val b = Block.getBlockById((blockKey and 0xFFFU).toInt()) if (b !== Blocks.AIR && b !== Eln.lightBlock) { - stackRed += if (b.isVisuallyOpaque) + stackRed += if (state.isOpaqueCube) 0.2f * dToStack else 0.1f * dToStack diff --git a/src/main/java/mods/eln/mechanical/JointHub.kt b/src/main/java/mods/eln/mechanical/JointHub.kt index 3cafce60d..2f5fb7ee6 100644 --- a/src/main/java/mods/eln/mechanical/JointHub.kt +++ b/src/main/java/mods/eln/mechanical/JointHub.kt @@ -32,9 +32,9 @@ class JointHubDescriptor(baseName: String, override val obj: Obj3D) : SimpleShaf assert(rotatingOnAllSides.isNotEmpty()) val bb = rotatingOnAllSides[0].boundingBox() val centre = bb.centre() - val ox = centre.xCoord - val oy = centre.yCoord - val oz = centre.zCoord + val ox = centre.x + val oy = centre.y + val oz = centre.z var direction = front; for (i in 0..3) { if (connectedSides.contains(direction)) { diff --git a/src/main/java/mods/eln/mechanical/SimpleShaft.kt b/src/main/java/mods/eln/mechanical/SimpleShaft.kt index 857209c6d..18f1ae063 100644 --- a/src/main/java/mods/eln/mechanical/SimpleShaft.kt +++ b/src/main/java/mods/eln/mechanical/SimpleShaft.kt @@ -35,9 +35,9 @@ abstract class SimpleShaftDescriptor(name: String, elm: KClass 0) val bb = rotating[0].boundingBox() val centre = bb.centre() - val ox = centre.xCoord - val oy = centre.yCoord - val oz = centre.zCoord + val ox = centre.x + val oy = centre.y + val oz = centre.z GL11.glTranslated(ox, oy, oz) GL11.glRotatef(((angle * 360).toDouble() / 2.0 / Math.PI).toFloat(), 0f, 0f, 1f) GL11.glTranslated(-ox, -oy, -oz) diff --git a/src/main/java/mods/eln/misc/LRDU.java b/src/main/java/mods/eln/misc/LRDU.java index 9916ebf97..f84cebfc0 100644 --- a/src/main/java/mods/eln/misc/LRDU.java +++ b/src/main/java/mods/eln/misc/LRDU.java @@ -190,7 +190,7 @@ public void rotateOnXnLeft(double[] v) { } public Vec3d rotateOnXnLeft(Vec3d v) { - double x = v.xCoord; + double x = v.x; double y = v.yCoord; double z = v.zCoord; switch (this) { diff --git a/src/main/java/mods/eln/misc/Utils.java b/src/main/java/mods/eln/misc/Utils.java index dc374e523..71a54549d 100644 --- a/src/main/java/mods/eln/misc/Utils.java +++ b/src/main/java/mods/eln/misc/Utils.java @@ -159,7 +159,7 @@ public static Direction entityLivingViewDirection(EntityLivingBase entityLiving) return Direction.YN; if (entityLiving.rotationPitch < -45) return Direction.YP; - int dirx = MathHelper.floor_double((double) (entityLiving.rotationYaw * 4.0F / 360.0F) + 0.5D) & 3; + int dirx = MathHelper.floor((double) (entityLiving.rotationYaw * 4.0F / 360.0F) + 0.5D) & 3; if (dirx == 3) return Direction.XP; if (dirx == 0) @@ -170,7 +170,7 @@ public static Direction entityLivingViewDirection(EntityLivingBase entityLiving) } public static Direction entityLivingHorizontalViewDirection(EntityLivingBase entityLiving) { - int dirx = MathHelper.floor_double((double) (entityLiving.rotationYaw * 4.0F / 360.0F) + 0.5D) & 3; + int dirx = MathHelper.floor((double) (entityLiving.rotationYaw * 4.0F / 360.0F) + 0.5D) & 3; if (dirx == 3) return Direction.XP; if (dirx == 0) @@ -1046,9 +1046,9 @@ public static float traceRay(World w, double posX, double posY, double posZ, dou float d = 0; while (d < rangeMax) { - float xFloor = MathHelper.floor_float(x); - float yFloor = MathHelper.floor_float(y); - float zFloor = MathHelper.floor_float(z); + float xFloor = MathHelper.floor(x); + float yFloor = MathHelper.floor(y); + float zFloor = MathHelper.floor(z); float dx = x - xFloor, dy = y - yFloor, dz = z - zFloor; dx = (vx > 0 ? (1 - dx) * vxInv : -dx * vxInv); diff --git a/src/main/java/mods/eln/misc/UtilsClient.java b/src/main/java/mods/eln/misc/UtilsClient.java index c15effd17..9cab3643b 100644 --- a/src/main/java/mods/eln/misc/UtilsClient.java +++ b/src/main/java/mods/eln/misc/UtilsClient.java @@ -56,7 +56,7 @@ private UtilsClient() { private static float distanceFromClientPlayer(World world, int xCoord, int yCoord, int zCoord) { // TODO(1.10): Not sure this will work in multiplayer. - EntityPlayerSP player = Minecraft.getMinecraft().thePlayer; + EntityPlayerSP player = Minecraft.getMinecraft().player; return (float) Math.sqrt((xCoord - player.posX) * (xCoord - player.posX) + (yCoord - player.posY) * (yCoord - player.posY) @@ -69,7 +69,7 @@ public static float distanceFromClientPlayer(SixNodeEntity tileEntity) { } public static EntityPlayerSP getClientPlayer() { - return Minecraft.getMinecraft().thePlayer; + return Minecraft.getMinecraft().player; } public static void drawHaloNoLightSetup(Obj3DPart halo, float r, float g, float b, World w, BlockPos pos, boolean bilinear) { @@ -133,10 +133,10 @@ public static void drawHaloNoLightSetup(Obj3DPart halo, float r, float g, float return; if (bilinear) enableBilinear(); - int light = getLight(e.worldObj, new BlockPos(MathHelper.floor_double(e.posX), MathHelper.floor_double(e.posY), MathHelper.floor_double(e.posZ))); + int light = getLight(e.worldObj, new BlockPos(MathHelper.floor(e.posX), MathHelper.floor(e.posY), MathHelper.floor(e.posZ))); // light = - // e.worldObj.getLightBrightnessForSkyBlocks(MathHelper.floor_double(e.posX), - // MathHelper.floor_double(e.posY), MathHelper.floor_double(e.posZ),0); + // e.worldObj.getLightBrightnessForSkyBlocks(MathHelper.floor(e.posX), + // MathHelper.floor(e.posY), MathHelper.floor(e.posZ),0); // Utils.println(light); GL11.glColor4f(r, g, b, 1f - (light / 15f)); halo.draw(); @@ -518,7 +518,7 @@ static Minecraft mc() { public static double clientDistanceTo(Entity e) { if (e == null) return 100000000.0; - Entity c = Minecraft.getMinecraft().thePlayer; + Entity c = Minecraft.getMinecraft().player; double x = (c.posX - e.posX), y = (c.posY - e.posY), z = (c.posZ - e.posZ); return Math.sqrt(x * x + y * y + z * z); } @@ -526,7 +526,7 @@ public static double clientDistanceTo(Entity e) { public static double clientDistanceTo(TransparentNodeEntity t) { if (t == null) return 100000000.0; - Entity c = Minecraft.getMinecraft().thePlayer; + Entity c = Minecraft.getMinecraft().player; BlockPos pos = t.getPos(); double x = (c.posX - pos.getX()), y = (c.posY - pos.getY()), z = (c.posZ - pos.getZ()); return Math.sqrt(x * x + y * y + z * z); diff --git a/src/main/java/mods/eln/node/NodeBlockEntity.java b/src/main/java/mods/eln/node/NodeBlockEntity.java index db5f437c2..843134640 100644 --- a/src/main/java/mods/eln/node/NodeBlockEntity.java +++ b/src/main/java/mods/eln/node/NodeBlockEntity.java @@ -279,7 +279,7 @@ public void onDataPacket(NetworkManager net, SPacketUpdateTileEntity pkt) { assert(worldObj.isRemote); byte[] bytes = pkt.getNbtCompound().getByteArray("eln"); DataInputStream dataInputStream = new DataInputStream(new ByteArrayInputStream(bytes)); - Eln.packetHandler.packetRx(dataInputStream, net, Minecraft.getMinecraft().thePlayer); + Eln.packetHandler.packetRx(dataInputStream, net, Minecraft.getMinecraft().player); } public void preparePacketForServer(DataOutputStream stream) { diff --git a/src/main/java/mods/eln/node/NodeClient.java b/src/main/java/mods/eln/node/NodeClient.java index 7f747a930..072b6cf23 100644 --- a/src/main/java/mods/eln/node/NodeClient.java +++ b/src/main/java/mods/eln/node/NodeClient.java @@ -38,7 +38,7 @@ public void tick(ClientTickEvent event) { refreshCounter = 0; - EntityClientPlayerMP player = Minecraft.getMinecraft().thePlayer; + EntityClientPlayerMP player = Minecraft.getMinecraft().player; ByteArrayOutputStream bos = new ByteArrayOutputStream(); DataOutputStream stream = new DataOutputStream(bos); diff --git a/src/main/java/mods/eln/node/NodeManager.java b/src/main/java/mods/eln/node/NodeManager.java index 72ccfb8f0..3a4a38cf0 100644 --- a/src/main/java/mods/eln/node/NodeManager.java +++ b/src/main/java/mods/eln/node/NodeManager.java @@ -5,7 +5,7 @@ import mods.eln.node.transparent.TransparentNode; import mods.eln.node.transparent.TransparentNodeElement; import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.world.WorldSavedData; +import net.minecraft.world.storage.WorldSavedData; import java.util.*; diff --git a/src/main/java/mods/eln/node/simple/SimpleNodeEntity.java b/src/main/java/mods/eln/node/simple/SimpleNodeEntity.java index eac82fa40..8d699609f 100644 --- a/src/main/java/mods/eln/node/simple/SimpleNodeEntity.java +++ b/src/main/java/mods/eln/node/simple/SimpleNodeEntity.java @@ -134,7 +134,7 @@ public void onDataPacket(NetworkManager net, SPacketUpdateTileEntity pkt) { assert(worldObj.isRemote); byte[] bytes = pkt.getNbtCompound().getByteArray("eln"); DataInputStream dataInputStream = new DataInputStream(new ByteArrayInputStream(bytes)); - Eln.packetHandler.packetRx(dataInputStream, net, Minecraft.getMinecraft().thePlayer); + Eln.packetHandler.packetRx(dataInputStream, net, Minecraft.getMinecraft().player); } @Override diff --git a/src/main/java/mods/eln/node/six/SixNodeBlock.java b/src/main/java/mods/eln/node/six/SixNodeBlock.java index ddb670f74..74d2abefc 100644 --- a/src/main/java/mods/eln/node/six/SixNodeBlock.java +++ b/src/main/java/mods/eln/node/six/SixNodeBlock.java @@ -474,7 +474,7 @@ public String getNodeUuid() { // @SideOnly(Side.CLIENT) // public AxisAlignedBB getSelectedBoundingBox(IBlockState state, World world, BlockPos pos) { // if (hasVolume(w, x, y, z)) return super.getSelectedBoundingBoxFromPool(w, x, y, z); -// MovingObjectPosition col = collisionRayTrace(w, x, y, z, Minecraft.getMinecraft().thePlayer); +// MovingObjectPosition col = collisionRayTrace(w, x, y, z, Minecraft.getMinecraft().player); // double h = 0.2; // double hn = 1 - h; // diff --git a/src/main/java/mods/eln/node/transparent/TransparentNodeElement.java b/src/main/java/mods/eln/node/transparent/TransparentNodeElement.java index a8d795d43..cbf08c683 100644 --- a/src/main/java/mods/eln/node/transparent/TransparentNodeElement.java +++ b/src/main/java/mods/eln/node/transparent/TransparentNodeElement.java @@ -22,7 +22,7 @@ import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.world.World; -import net.minecraftforge.fluids.IFluidHandler; +import net.minecraftforge.fluids.capability.IFluidHandler; import java.io.ByteArrayOutputStream; import java.io.DataInputStream; diff --git a/src/main/java/mods/eln/signalinductor/SignalInductorRender.java b/src/main/java/mods/eln/signalinductor/SignalInductorRender.java index 6c782135c..944199d23 100644 --- a/src/main/java/mods/eln/signalinductor/SignalInductorRender.java +++ b/src/main/java/mods/eln/signalinductor/SignalInductorRender.java @@ -16,7 +16,7 @@ public SignalInductorRender(SixNodeEntity tileEntity, Direction side, SixNodeDes @Override public void draw() { - ItemStack i = Minecraft.getMinecraft().thePlayer.inventory.armorInventory[3]; + ItemStack i = Minecraft.getMinecraft().player.inventory.armorInventory[3]; GL11.glDisable(GL11.GL_TEXTURE_2D); diff --git a/src/main/java/mods/eln/sixnode/Scanner.kt b/src/main/java/mods/eln/sixnode/Scanner.kt index 8667b2610..b582e48ff 100644 --- a/src/main/java/mods/eln/sixnode/Scanner.kt +++ b/src/main/java/mods/eln/sixnode/Scanner.kt @@ -16,7 +16,7 @@ import net.minecraft.item.ItemStack import net.minecraft.nbt.NBTTagCompound import net.minecraft.tileentity.TileEntity import net.minecraft.util.EnumFacing -import net.minecraftforge.fluids.IFluidHandler +import net.minecraftforge.fluids.capability.IFluidHandler import java.io.DataInputStream import java.io.DataOutputStream @@ -102,9 +102,9 @@ class ScannerElement(sixNode: SixNode, side: Direction, descriptor: SixNodeDescr private fun scanTileEntity(te: TileEntity, targetSide: EnumFacing): Double? { when (te) { is IFluidHandler -> { - val info = te.getTankInfo(targetSide) + val info = te.tankProperties return info.sumByDouble { - (it.fluid?.amount ?: 0).toDouble() / it.capacity + (it.contents?.amount ?: 0).toDouble() / it.capacity } / info.size } is ISidedInventory -> { diff --git a/src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerDescriptor.java b/src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerDescriptor.java index fe53823f9..f2b939128 100644 --- a/src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerDescriptor.java +++ b/src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerDescriptor.java @@ -78,9 +78,9 @@ void draw(DataLogs log, Direction side, LRDU front, int objPosMX, int objPosMZ) //Glass (reflections) UtilsClient.enableBlend(); obj.bindTexture("Reflection.png"); - float rotYaw = Minecraft.getMinecraft().thePlayer.rotationYaw / 360.f; - float rotPitch = Minecraft.getMinecraft().thePlayer.rotationPitch / 180.f; - float pos = (((float) Minecraft.getMinecraft().thePlayer.posX) - ((float) (objPosMX * 2)) + ((float) Minecraft.getMinecraft().thePlayer.posZ) - ((float) (objPosMZ * 2))) / 24.f; + float rotYaw = Minecraft.getMinecraft().player.rotationYaw / 360.f; + float rotPitch = Minecraft.getMinecraft().player.rotationPitch / 180.f; + float pos = (((float) Minecraft.getMinecraft().player.posX) - ((float) (objPosMX * 2)) + ((float) Minecraft.getMinecraft().player.posZ) - ((float) (objPosMZ * 2))) / 24.f; GL11.glColor4f(1, 1, 1, reflc); reflection.draw(rotYaw + pos, rotPitch * 0.857f); UtilsClient.disableBlend(); diff --git a/src/main/java/mods/eln/sixnode/electricalwatch/ElectricalWatchDescriptor.java b/src/main/java/mods/eln/sixnode/electricalwatch/ElectricalWatchDescriptor.java index 27ec0cc01..bc9023c69 100644 --- a/src/main/java/mods/eln/sixnode/electricalwatch/ElectricalWatchDescriptor.java +++ b/src/main/java/mods/eln/sixnode/electricalwatch/ElectricalWatchDescriptor.java @@ -88,9 +88,9 @@ void draw(float hour, float min, boolean isEnergyAvailable) { UtilsClient.enableBlend(); //UtilsClient.enableBilinear(); obj.bindTexture("Reflection.png"); - float rotYaw = Minecraft.getMinecraft().thePlayer.rotationYaw / 360.f; - float rotPitch = Minecraft.getMinecraft().thePlayer.rotationPitch / 180.f; - float pos = (((float) Minecraft.getMinecraft().thePlayer.posX) + ((float) Minecraft.getMinecraft().thePlayer.posZ)) / 64.f; + float rotYaw = Minecraft.getMinecraft().player.rotationYaw / 360.f; + float rotPitch = Minecraft.getMinecraft().player.rotationPitch / 180.f; + float pos = (((float) Minecraft.getMinecraft().player.posX) + ((float) Minecraft.getMinecraft().player.posZ)) / 64.f; glass.draw(rotYaw + pos, rotPitch * 0.875f); //UtilsClient.disableBilinear(); //BUG: Not always disabled. UtilsClient.disableBlend(); diff --git a/src/main/java/mods/eln/sixnode/lampsupply/LampSupplyDescriptor.java b/src/main/java/mods/eln/sixnode/lampsupply/LampSupplyDescriptor.java index 5094a7dbb..0d23ab6c6 100644 --- a/src/main/java/mods/eln/sixnode/lampsupply/LampSupplyDescriptor.java +++ b/src/main/java/mods/eln/sixnode/lampsupply/LampSupplyDescriptor.java @@ -52,9 +52,9 @@ public void draw(float openFactor) { //UtilsClient.disableDepthTest(); UtilsClient.enableBlend(); obj.bindTexture("Glass.png"); - float rotYaw = Minecraft.getMinecraft().thePlayer.rotationYaw / 360.f; - float rotPitch = Minecraft.getMinecraft().thePlayer.rotationPitch / 180.f; - float pos = (((float) Minecraft.getMinecraft().thePlayer.posX) + ((float) Minecraft.getMinecraft().thePlayer.posZ)) / 64.f; + float rotYaw = Minecraft.getMinecraft().player.rotationYaw / 360.f; + float rotPitch = Minecraft.getMinecraft().player.rotationPitch / 180.f; + float pos = (((float) Minecraft.getMinecraft().player.posX) + ((float) Minecraft.getMinecraft().player.posZ)) / 64.f; if (window != null) window.draw((1f - openFactor) * windowOpenAngle, 0f, 0f, 1f, rotYaw + pos + (openFactor * 0.5f), rotPitch * 0.65f); UtilsClient.disableBlend(); diff --git a/src/main/java/mods/eln/sixnode/thermalcable/ThermalCableRender.java b/src/main/java/mods/eln/sixnode/thermalcable/ThermalCableRender.java index f077c9989..3851fce8d 100644 --- a/src/main/java/mods/eln/sixnode/thermalcable/ThermalCableRender.java +++ b/src/main/java/mods/eln/sixnode/thermalcable/ThermalCableRender.java @@ -35,7 +35,7 @@ public boolean drawCableAuto() { public void draw() { Minecraft.getMinecraft().mcProfiler.startSection("TCable"); - //ItemStack i = Minecraft.getMinecraft().thePlayer.inventory.armorInventory[3]; + //ItemStack i = Minecraft.getMinecraft().player.inventory.armorInventory[3]; // GL11.glDisable(GL11.GL_TEXTURE_2D); diff --git a/src/main/java/mods/eln/sixnode/tutorialsign/TutorialSignOverlay.java b/src/main/java/mods/eln/sixnode/tutorialsign/TutorialSignOverlay.java index 9c1c3ba81..39e2d19bd 100644 --- a/src/main/java/mods/eln/sixnode/tutorialsign/TutorialSignOverlay.java +++ b/src/main/java/mods/eln/sixnode/tutorialsign/TutorialSignOverlay.java @@ -26,14 +26,14 @@ public TutorialSignOverlay() { @SubscribeEvent public void render(RenderGameOverlayEvent.Text event) { Minecraft mc = Minecraft.getMinecraft(); - EntityPlayerSP player = mc.thePlayer; + EntityPlayerSP player = mc.player; if (oldRender != null) { oldRender.lightInterpol.setTarget(0); oldRender = null; } - int px = MathHelper.floor_double(player.posX), py = MathHelper.floor_double(player.posY), pz = MathHelper.floor_double(player.posZ); + int px = MathHelper.floor(player.posX), py = MathHelper.floor(player.posY), pz = MathHelper.floor(player.posZ); int r = 1; World w = player.worldObj; diff --git a/src/main/java/mods/eln/sound/LoopedSoundManager.kt b/src/main/java/mods/eln/sound/LoopedSoundManager.kt index 44c944517..f8d861035 100644 --- a/src/main/java/mods/eln/sound/LoopedSoundManager.kt +++ b/src/main/java/mods/eln/sound/LoopedSoundManager.kt @@ -29,7 +29,7 @@ class LoopedSoundManager(val updateInterval: Float = 0.5f) { val cy = pos.y + 0.5 val cz = pos.z + 0.5 // get the player, and get the squared distance between the player and the block - val player = Minecraft.getMinecraft().thePlayer + val player = Minecraft.getMinecraft().player val distDeltaSquared = sqDistDelta(cx, cy, cz, player.posX, player.posY, player.posZ) // when comparing, compare distDeltaSquared to the square of the distance delta that you are trying to compare against. if (it.volume > 0 && it.pitch > 0 && !soundHandler.isSoundPlaying(it) && distDeltaSquared < Eln.maxSoundDistance * Eln.maxSoundDistance) { diff --git a/src/main/java/mods/eln/sound/SoundClient.java b/src/main/java/mods/eln/sound/SoundClient.java index 91ba1b08a..47abc2a0f 100644 --- a/src/main/java/mods/eln/sound/SoundClient.java +++ b/src/main/java/mods/eln/sound/SoundClient.java @@ -15,7 +15,7 @@ public class SoundClient { public static void play(SoundCommand p) { ClientProxy.soundClientEventListener.currentUuid = p.uuid; //trolilole - EntityPlayer player = Minecraft.getMinecraft().thePlayer; + EntityPlayer player = Minecraft.getMinecraft().player; if (p.world.provider.getDimension() != player.dimension) return; double distance = Math.sqrt(Math.pow(p.x - player.posX, 2) + Math.pow(p.y - player.posY, 2) + Math.pow(p.z - player.posZ, 2)); if (distance >= p.rangeMax) return; diff --git a/src/main/java/mods/eln/transparentnode/FuelGenerator.kt b/src/main/java/mods/eln/transparentnode/FuelGenerator.kt index 990af74dd..da20b03c0 100644 --- a/src/main/java/mods/eln/transparentnode/FuelGenerator.kt +++ b/src/main/java/mods/eln/transparentnode/FuelGenerator.kt @@ -1,6 +1,5 @@ package mods.eln.transparentnode -import mods.eln.Eln import mods.eln.cable.CableRenderType import mods.eln.fluid.FuelRegistry import mods.eln.i18n.I18N @@ -22,9 +21,7 @@ import net.minecraft.client.audio.ISound import net.minecraft.entity.player.EntityPlayer import net.minecraft.item.ItemStack import net.minecraft.nbt.NBTTagCompound -import net.minecraftforge.fluids.FluidContainerRegistry import net.minecraftforge.fluids.FluidRegistry -import org.lwjgl.opengl.GL11 import java.io.DataInputStream import java.io.DataOutputStream diff --git a/src/main/java/mods/eln/wiki/GuiItemStack.java b/src/main/java/mods/eln/wiki/GuiItemStack.java index a10265cce..140bcd4bb 100644 --- a/src/main/java/mods/eln/wiki/GuiItemStack.java +++ b/src/main/java/mods/eln/wiki/GuiItemStack.java @@ -102,7 +102,7 @@ public void idraw2(int x, int y) { int px, py; px = posX; py = posY; - List list = stack.getTooltip(Minecraft.getMinecraft().thePlayer, false); + List list = stack.getTooltip(Minecraft.getMinecraft().player, false); helper.drawHoveringText(list, x, y, Minecraft.getMinecraft().fontRendererObj); } } From d5550bf5bd3038516056585f619f61e646897a54 Mon Sep 17 00:00:00 2001 From: Svein Ove Aas Date: Fri, 1 Mar 2019 02:03:22 +0000 Subject: [PATCH 43/61] Compiles on 1.12 (but I commented out preInit) --- build.gradle | 1 + src/main/java/mods/eln/Eln.java | 98 +++---- src/main/java/mods/eln/PacketHandler.java | 10 +- .../mods/eln/client/AnalyticsHandler.java | 7 +- .../mods/eln/client/ClientPacketHandler.java | 2 +- .../java/mods/eln/client/ClientProxy.java | 6 +- .../mods/eln/client/ConnectionListener.java | 3 +- src/main/java/mods/eln/client/FrameTime.java | 7 +- src/main/java/mods/eln/client/UuidManager.kt | 3 +- .../eln/client/VersionCheckerHandler.java | 11 +- .../mods/eln/entity/ConfigurableAiWander.java | 10 +- .../mods/eln/entity/ReplicatorCableAI.java | 5 +- .../mods/eln/entity/ReplicatorEntity.java | 15 +- .../mods/eln/entity/ReplicatorPopProcess.java | 20 +- .../mods/eln/generic/GenericCreativeTab.java | 9 +- .../generic/GenericItemBlockUsingDamage.java | 49 ++-- .../eln/generic/GenericItemUsingDamage.java | 37 ++- .../GenericItemUsingDamageDescriptor.java | 11 +- src/main/java/mods/eln/ghost/GhostBlock.java | 15 +- .../java/mods/eln/ghost/GhostManagerNbt.java | 2 +- .../java/mods/eln/gridnode/GridElement.java | 24 +- src/main/java/mods/eln/gridnode/GridLink.java | 2 +- .../java/mods/eln/gridnode/GridRender.java | 24 +- src/main/java/mods/eln/gui/GuiButtonEln.java | 12 +- .../java/mods/eln/gui/GuiContainerEln.java | 23 +- src/main/java/mods/eln/gui/GuiHelpText.java | 4 +- src/main/java/mods/eln/gui/GuiHelper.java | 4 +- src/main/java/mods/eln/gui/GuiLabel.java | 2 +- .../java/mods/eln/gui/GuiTextFieldEln.java | 2 +- .../mods/eln/gui/GuiVerticalProgressBar.java | 2 +- .../mods/eln/gui/GuiVerticalTrackBar.java | 4 +- .../eln/gui/GuiVerticalWorkingZoneBar.java | 4 +- .../waila/GhostNodeWailaProvider.kt | 4 +- .../integration/waila/SixNodeWailaProvider.kt | 6 +- .../waila/TransparentNodeWailaProvider.kt | 4 +- .../java/mods/eln/item/BrushDescriptor.kt | 2 +- .../eln/item/electricalitem/ElectricalAxe.kt | 9 +- .../item/electricalitem/ElectricalLampItem.kt | 8 +- .../item/electricalitem/ElectricalPickaxe.kt | 5 +- .../eln/item/electricalitem/ElectricalTool.kt | 2 +- .../electricalitem/PortableOreScannerItem.kt | 2 +- .../java/mods/eln/misc/BasicContainer.java | 82 +++--- src/main/java/mods/eln/misc/BoundingBox.java | 52 ---- src/main/java/mods/eln/misc/BoundingBox.kt | 43 +++ src/main/java/mods/eln/misc/Coordinate.java | 14 +- src/main/java/mods/eln/misc/Direction.java | 28 +- .../java/mods/eln/misc/ElnServerPacket.java | 2 +- .../java/mods/eln/misc/FakeSideInventory.java | 7 +- src/main/java/mods/eln/misc/LRDU.java | 4 +- .../java/mods/eln/misc/LiveDataManager.java | 3 +- src/main/java/mods/eln/misc/Obj3D.java | 2 +- src/main/java/mods/eln/misc/Recipe.java | 4 +- src/main/java/mods/eln/misc/RecipesList.java | 40 +-- .../mods/eln/misc/TileEntityDestructor.java | 42 --- src/main/java/mods/eln/misc/Utils.java | 111 ++++---- src/main/java/mods/eln/misc/UtilsClient.java | 6 +- .../mods/eln/node/AutoAcceptInventoryProxy.kt | 51 ++-- src/main/java/mods/eln/node/NodeBase.java | 19 +- .../java/mods/eln/node/NodeBlockEntity.java | 49 ++-- src/main/java/mods/eln/node/NodeClient.java | 9 +- .../java/mods/eln/node/NodeManagerNbt.java | 2 +- src/main/java/mods/eln/node/NodeServer.java | 9 +- .../mods/eln/node/simple/SimpleNodeBlock.java | 5 +- .../eln/node/simple/SimpleNodeEntity.java | 26 +- src/main/java/mods/eln/node/six/SixNode.java | 2 +- .../java/mods/eln/node/six/SixNodeBlock.java | 72 +++-- .../mods/eln/node/six/SixNodeDescriptor.java | 2 +- .../eln/node/six/SixNodeElementInventory.java | 73 ++--- .../java/mods/eln/node/six/SixNodeEntity.java | 11 +- .../java/mods/eln/node/six/SixNodeItem.java | 13 +- .../java/mods/eln/node/six/SixNodeRender.java | 8 +- .../eln/node/transparent/TransparentNode.java | 2 +- .../transparent/TransparentNodeBlock.java | 23 +- .../TransparentNodeDescriptor.java | 4 +- .../TransparentNodeElementInventory.java | 38 +-- .../transparent/TransparentNodeEntity.java | 80 +++--- .../TransparentNodeEntityWithFluid.java | 82 ++---- .../TransparentNodeEntityWithSiededInv.java | 108 ------- .../node/transparent/TransparentNodeItem.java | 2 +- .../transparent/TransparentNodeRender.java | 6 +- src/main/java/mods/eln/ore/OreBlock.java | 2 + src/main/java/mods/eln/ore/OreDescriptor.java | 3 +- .../java/mods/eln/server/ConsoleListener.java | 22 +- .../mods/eln/server/DelayedTaskManager.java | 1 - .../java/mods/eln/server/ElnWorldStorage.java | 2 +- .../java/mods/eln/server/OreRegenerate.java | 12 +- .../java/mods/eln/server/PlayerManager.java | 10 +- src/main/java/mods/eln/server/SaveConfig.java | 2 +- .../mods/eln/server/ServerEventListener.java | 3 +- .../signalinductor/SignalInductorRender.java | 2 - .../sim/ElectricalStackMachineProcess.java | 2 +- src/main/java/mods/eln/sim/Simulator.java | 7 +- .../EnergyConverterElnToOtherEntity.java | 10 +- .../java/mods/eln/sixnode/ElectricalFuse.kt | 9 +- src/main/java/mods/eln/sixnode/Scanner.kt | 13 +- .../TreeResinCollectorBlock.java | 4 +- .../TreeResinCollectorDescriptor.java | 2 +- .../TreeResinCollectorElement.java | 14 +- .../TreeResinCollectorTileEntity.java | 12 +- .../batterycharger/BatteryChargerElement.java | 8 +- .../ElectricalCableElement.java | 2 +- .../electricaldatalogger/DataLogs.java | 2 +- .../ElectricalEntitySensorSlowProcess.java | 2 +- .../ElectricalLightSensorSlowProcess.java | 2 +- .../electricalmath/ElectricalMathElement.java | 4 +- .../electricalmath/ElectricalMathGui.java | 4 +- .../ElectricalRedstoneInputElement.java | 4 +- .../ElectricalWindSensorDescriptor.java | 2 +- .../groundcable/GroundCableElement.java | 2 +- .../sixnode/lampsocket/LampSocketProcess.java | 14 +- .../sixnode/lampsocket/LightBlockEntity.java | 22 +- .../sixnode/lampsupply/LampSupplyElement.java | 3 +- .../eln/sixnode/modbusrtu/ModbusRtuGui.java | 12 +- .../PowerCapacitorSixDescriptor.java | 10 +- .../PowerInductorSixDescriptor.java | 7 +- .../powersocket/PowerSocketElement.java | 3 +- .../sixnode/resistor/ResistorDescriptor.java | 3 +- .../thermalcable/ThermalCableElement.java | 2 +- .../tutorialsign/TutorialSignOverlay.java | 4 +- .../WirelessSignalAnalyserItemDescriptor.java | 10 +- .../java/mods/eln/sound/LoopedSoundManager.kt | 2 +- .../mods/eln/transparentnode/FuelGenerator.kt | 2 +- .../mods/eln/transparentnode/LargeRheostat.kt | 5 +- .../autominer/AutoMinerRender.java | 2 +- .../autominer/AutoMinerSlowProcess.java | 2 +- .../battery/BatteryDescriptor.java | 2 +- .../eggincubator/EggIncubatorDescriptor.java | 2 +- .../eggincubator/EggIncubatorElement.java | 19 +- .../ElectricalFurnaceElement.java | 2 +- .../ElectricalFurnaceProcess.java | 8 +- .../ElectricalMachineElement.java | 8 +- .../HeatFurnaceInventoryProcess.java | 7 +- .../PowerCapacitorDescriptor.java | 11 +- .../PowerInductorDescriptor.java | 5 +- .../solarpanel/SolarPanelDescriptor.java | 2 +- .../solarpanel/SolarPanelElement.java | 2 +- .../solarpanel/SolarPanelRender.java | 2 +- ...rocess.java => SolarPanelSlowProcess.java} | 40 +-- .../solarpanel/SolarPannelGuiDraw.java | 4 +- .../teleporter/TeleporterElement.java | 2 +- .../ThermalDissipatorPassiveElement.java | 7 +- .../transformer/TransformerElement.java | 29 +- .../waterturbine/WaterTurbineRender.java | 2 +- src/main/java/mods/eln/wiki/GuiItemStack.java | 6 +- src/main/java/mods/eln/wiki/ItemDefault.java | 266 ++++++++---------- 145 files changed, 969 insertions(+), 1330 deletions(-) delete mode 100644 src/main/java/mods/eln/misc/BoundingBox.java create mode 100644 src/main/java/mods/eln/misc/BoundingBox.kt delete mode 100644 src/main/java/mods/eln/misc/TileEntityDestructor.java delete mode 100644 src/main/java/mods/eln/node/transparent/TransparentNodeEntityWithSiededInv.java rename src/main/java/mods/eln/transparentnode/solarpanel/{SolarPannelSlowProcess.java => SolarPanelSlowProcess.java} (60%) diff --git a/build.gradle b/build.gradle index c34d7a81d..f06aa5cfa 100644 --- a/build.gradle +++ b/build.gradle @@ -104,6 +104,7 @@ dependencies { compile group: 'org.apache.commons', name: 'commons-math3', version: '3.6.1' implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8" compile group: "net.shadowfacts", name: "Forgelin", version: "1.8.2" + compile group: "com.teamwizardry.librarianlib", name: "librarianlib-1.12.2", version: "4.17" implementation "dan200.computercraft:ComputerCraft:1.80pr1-build5" implementation "li.cil.oc:OpenComputers:MC1.10.2-1.7.2.172" deobfCompile "mcp.mobius.waila:Hwyla:1.8.17-B31_1.10.2" diff --git a/src/main/java/mods/eln/Eln.java b/src/main/java/mods/eln/Eln.java index 55a368512..15f01a663 100644 --- a/src/main/java/mods/eln/Eln.java +++ b/src/main/java/mods/eln/Eln.java @@ -2,14 +2,12 @@ import mods.eln.cable.CableRenderDescriptor; import mods.eln.client.ClientKeyHandler; -import mods.eln.client.SoundLoader; import mods.eln.entity.EntityIDs; import mods.eln.entity.ReplicatorEntity; import mods.eln.entity.ReplicatorPopProcess; import mods.eln.eventhandlers.ElnFMLEventsHandler; import mods.eln.eventhandlers.ElnForgeEventsHandler; import mods.eln.generic.*; -import mods.eln.generic.genericArmorItem.ArmourType; import mods.eln.ghost.GhostBlock; import mods.eln.ghost.GhostGroup; import mods.eln.ghost.GhostManager; @@ -30,13 +28,11 @@ import mods.eln.node.NodeManager; import mods.eln.node.NodeManagerNbt; import mods.eln.node.NodeServer; -import mods.eln.node.simple.SimpleNodeItem; import mods.eln.node.six.*; import mods.eln.node.transparent.*; import mods.eln.ore.OreBlock; import mods.eln.ore.OreDescriptor; import mods.eln.ore.OreItem; -import mods.eln.packets.*; import mods.eln.server.*; import mods.eln.signalinductor.SignalInductorDescriptor; import mods.eln.sim.Simulator; @@ -45,15 +41,7 @@ import mods.eln.sim.mna.component.Resistor; import mods.eln.sim.nbt.NbtElectricalLoad; import mods.eln.simplenode.computerprobe.ComputerProbeBlock; -import mods.eln.simplenode.computerprobe.ComputerProbeEntity; -import mods.eln.simplenode.computerprobe.ComputerProbeNode; import mods.eln.simplenode.energyconverter.EnergyConverterElnToOtherBlock; -import mods.eln.simplenode.energyconverter.EnergyConverterElnToOtherDescriptor; -import mods.eln.simplenode.energyconverter.EnergyConverterElnToOtherDescriptor.ElnDescriptor; -import mods.eln.simplenode.energyconverter.EnergyConverterElnToOtherDescriptor.Ic2Descriptor; -import mods.eln.simplenode.energyconverter.EnergyConverterElnToOtherDescriptor.OcDescriptor; -import mods.eln.simplenode.energyconverter.EnergyConverterElnToOtherEntity; -import mods.eln.simplenode.energyconverter.EnergyConverterElnToOtherNode; import mods.eln.simplenode.test.TestBlock; import mods.eln.sixnode.*; import mods.eln.sixnode.TreeResinCollector.TreeResinCollectorDescriptor; @@ -115,7 +103,6 @@ import mods.eln.transparentnode.LargeRheostatDescriptor; import mods.eln.transparentnode.autominer.AutoMinerDescriptor; import mods.eln.transparentnode.battery.BatteryDescriptor; -import mods.eln.transparentnode.computercraftio.PeripheralHandler; import mods.eln.transparentnode.eggincubator.EggIncubatorDescriptor; import mods.eln.transparentnode.electricalantennarx.ElectricalAntennaRxDescriptor; import mods.eln.transparentnode.electricalantennatx.ElectricalAntennaTxDescriptor; @@ -139,7 +126,6 @@ import mods.eln.transparentnode.windturbine.WindTurbineDescriptor; import mods.eln.wiki.Data; import net.minecraft.block.Block; -import net.minecraft.block.material.Material; import net.minecraft.command.ICommandManager; import net.minecraft.command.ServerCommandManager; import net.minecraft.creativetab.CreativeTabs; @@ -148,36 +134,28 @@ import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.Blocks; import net.minecraft.init.Items; -import net.minecraft.init.SoundEvents; import net.minecraft.item.*; -import net.minecraft.item.Item.ToolMaterial; -import net.minecraft.item.ItemArmor.ArmorMaterial; import net.minecraft.item.crafting.CraftingManager; import net.minecraft.item.crafting.IRecipe; +import net.minecraft.item.crafting.Ingredient; import net.minecraft.launchwrapper.Launch; import net.minecraft.launchwrapper.LogWrapper; import net.minecraft.server.MinecraftServer; -import net.minecraft.tileentity.TileEntity; import net.minecraft.util.ResourceLocation; import net.minecraft.world.WorldServer; import net.minecraftforge.common.MinecraftForge; -import net.minecraftforge.common.config.Configuration; -import net.minecraftforge.common.config.Property; import net.minecraftforge.fml.common.*; import net.minecraftforge.fml.common.Mod.EventHandler; import net.minecraftforge.fml.common.Mod.Instance; import net.minecraftforge.fml.common.event.*; import net.minecraftforge.fml.common.network.FMLEventChannel; -import net.minecraftforge.fml.common.network.NetworkRegistry; import net.minecraftforge.fml.common.network.simpleimpl.SimpleNetworkWrapper; import net.minecraftforge.fml.common.registry.EntityRegistry; import net.minecraftforge.fml.common.registry.GameRegistry; -import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.oredict.OreDictionary; import net.minecraftforge.oredict.ShapedOreRecipe; import net.minecraftforge.oredict.ShapelessOreRecipe; -import org.apache.logging.log4j.LogManager; -import org.apache.logging.log4j.Logger; +import org.jetbrains.annotations.NotNull; import java.util.*; @@ -318,9 +296,14 @@ public class Eln { public static double maxSoundDistance = 16; private double cablePowerFactor; + private final ResourceLocation resourceEln = new ResourceLocation(MODID); @EventHandler public void preInit(FMLPreInitializationEvent event) { + + // TODO(1.12): Finish reimplementing this. + + /* elnNetwork = NetworkRegistry.INSTANCE.newSimpleChannel(Eln.MODID); elnNetwork.registerMessage(TransparentNodeRequestPacketHandler.class, TransparentNodeRequestPacket.class, 1, Side.SERVER); elnNetwork.registerMessage(TransparentNodeResponsePacketHandler.class, TransparentNodeResponsePacket.class, 2, Side.CLIENT); @@ -527,10 +510,12 @@ public void preInit(FMLPreInitializationEvent event) { transparentNodeItem = (TransparentNodeItem) Item.getItemFromBlock(transparentNodeBlock); oreItem = (OreItem) Item.getItemFromBlock(oreBlock); - /* + */ +/* * * int id = 0,subId = 0,completId; String name; - */ + *//* + SixNode.sixNodeCacheList.add(new SixNodeCacheStd()); @@ -629,6 +614,7 @@ public void preInit(FMLPreInitializationEvent event) { if (isDevelopmentRun()) { registerWipItems(); } +*/ } private void registerGridDevices(int id) { @@ -686,7 +672,7 @@ private void registerGridDevices(int id) { private boolean ComputerProbeEnable; private boolean ElnToOtherEnergyConverterEnable; - // FMLCommonHandler.instance().bus().register(this); + // MinecraftForge.EVENT_BUS.register(this); @EventHandler @@ -807,7 +793,7 @@ public void load(FMLInitializationEvent event) { checkRecipe(); MinecraftForge.EVENT_BUS.register(new ElnForgeEventsHandler()); - FMLCommonHandler.instance().bus().register(new ElnFMLEventsHandler()); + MinecraftForge.EVENT_BUS.register(new ElnFMLEventsHandler()); FMLInterModComms.sendMessage("Waila", "register", "mods.eln.integration.waila.WailaIntegration.callbackRegister"); @@ -818,6 +804,7 @@ public void load(FMLInitializationEvent event) { private EnergyConverterElnToOtherBlock elnToOtherBlockMvu; private EnergyConverterElnToOtherBlock elnToOtherBlockHvu; +/* private void registerEnergyConverter() { if (ElnToOtherEnergyConverterEnable) { String entityName = "eln.EnergyConverterElnToOtherEntity"; @@ -860,10 +847,12 @@ private void registerEnergyConverter() { } } } +*/ private ComputerProbeBlock computerProbeBlock; +/* private void registerComputer() { if (ComputerProbeEnable) { String entityName = TR_NAME(Type.TILE, "eln.ElnProbe"); @@ -878,6 +867,7 @@ private void registerComputer() { } } +*/ TestBlock testBlock; @@ -893,55 +883,43 @@ private void checkRecipe() { Utils.println("No recipe for "); for (SixNodeDescriptor d : sixNodeItem.subItemList.values()) { ItemStack stack = d.newItemStack(); - if (!recipeExists(stack)) { + if (recipeMissing(stack)) { Utils.println(" " + d.name); } } for (TransparentNodeDescriptor d : transparentNodeItem.subItemList.values()) { ItemStack stack = d.newItemStack(); - if (!recipeExists(stack)) { + if (recipeMissing(stack)) { Utils.println(" " + d.name); } } for (GenericItemUsingDamageDescriptor d : sharedItem.subItemList.values()) { ItemStack stack = d.newItemStack(); - if (!recipeExists(stack)) { + if (recipeMissing(stack)) { Utils.println(" " + d.name); } } for (GenericItemUsingDamageDescriptor d : sharedItemStackOne.subItemList.values()) { ItemStack stack = d.newItemStack(); - if (!recipeExists(stack)) { + if (recipeMissing(stack)) { Utils.println(" " + d.name); } } } - private boolean recipeExists(ItemStack stack) { - if (stack == null) - return false; - List list = CraftingManager.getInstance().getRecipeList(); - for (Object o : list) { - if (o instanceof IRecipe) { - IRecipe r = (IRecipe) o; - if (r.getRecipeOutput() == null) - continue; - if (Utils.areSame(stack, r.getRecipeOutput())) - return true; - } + private boolean recipeMissing(@NotNull ItemStack stack) { + for (IRecipe recipe : CraftingManager.REGISTRY) { + if (Utils.areSame(stack, recipe.getRecipeOutput())) + return false; } - return false; + return true; } - // ElnHttpServer elnHttpServer; - public ServerEventListener serverEventListener; @EventHandler public void postInit(FMLPostInitializationEvent event) { - serverEventListener = new ServerEventListener(); - } /* @@ -993,8 +971,6 @@ public void onServerStopped(FMLServerStoppedEvent ev) { } - //public TileEntityDestructor tileEntityDestructor; - public static WindProcess wind; @EventHandler @@ -1023,7 +999,7 @@ public void onServerStarting(FMLServerStartingEvent ev) { { MinecraftServer server = FMLCommonHandler.instance() .getMinecraftServerInstance(); - WorldServer worldServer = server.worldServers[0]; + WorldServer worldServer = server.getWorld(0); ghostManagerNbt = (GhostManagerNbt) worldServer.getMapStorage().getOrLoadData( @@ -3991,7 +3967,7 @@ private void registerArmor() { // //GameRegistry.registerCustomItemStack(name, new ItemStack(bootsECoal)); // } } - +/* private void registerTool() { // TODO(1.10): Actually, this might be fine. { @@ -4035,7 +4011,7 @@ private void registerTool() { GameRegistry.register(axeCopper); } - } + }*/ private void registerSolarTracker(int id) { int subId, completId; @@ -6276,7 +6252,8 @@ private void recipeDust() { } private void addShapelessRecipe(ItemStack output, Object... params) { - GameRegistry.addRecipe(new ShapelessOreRecipe(output, params)); + // TODO(1.12): Either fix this, os preferably use some LL thing. Or JSON recipes, whatever. +// GameRegistry.addRecipe(new ShapelessOreRecipe(output, params)); } private void recipeElectricalMotor() { @@ -6686,7 +6663,7 @@ private void recipeMaceratorModOre(float f, String inputName, String outputName, return; } ItemStack output = outOres.get(0).copy(); - output.stackSize = outputCount; + output.setCount(outputCount); LogWrapper.info("Adding mod recipe fromFacing " + inputName + " to " + outputName); for (ItemStack input : inOres) { maceratorRecipes.addRecipe(new Recipe(input, output, f)); @@ -7361,7 +7338,8 @@ private void recipeArmor() { } private void addRecipe(ItemStack output, Object... params) { - GameRegistry.addRecipe(new ShapedOreRecipe(output, params)); + // TODO(1.12): Either fix this, os preferably use some LL thing. Or JSON recipes, whatever. +// GameRegistry.addRecipe(new ShapedOreRecipe(output, params)); } private void recipeTool() { @@ -7399,13 +7377,13 @@ private void recipeTool() { } private void registerReplicator() { - EntityRegistry.registerModEntity(ReplicatorEntity.class, TR_NAME(Type.ENTITY, "EAReplicator"), EntityIDs.REPLICATOR.getId(), Eln.instance, 20, 20, true); // TODO(1.10): Fix. +// EntityRegistry.registerModEntity(ReplicatorEntity.class, TR_NAME(Type.ENTITY, "EAReplicator"), EntityIDs.REPLICATOR.getId(), Eln.instance, 20, 20, true); // ReplicatorEntity.dropList.add(findItemStack("Iron Dust", 1)); // ReplicatorEntity.dropList.add(findItemStack("Copper Dust", 1)); // ReplicatorEntity.dropList.add(findItemStack("Gold Dust", 1)); - ReplicatorEntity.dropList.add(new ItemStack(Items.REDSTONE)); - ReplicatorEntity.dropList.add(new ItemStack(Items.GLOWSTONE_DUST)); +// ReplicatorEntity.dropList.add(new ItemStack(Items.REDSTONE)); +// ReplicatorEntity.dropList.add(new ItemStack(Items.GLOWSTONE_DUST)); } // Registers WIP items. diff --git a/src/main/java/mods/eln/PacketHandler.java b/src/main/java/mods/eln/PacketHandler.java index cf87a0036..76b7f0ead 100644 --- a/src/main/java/mods/eln/PacketHandler.java +++ b/src/main/java/mods/eln/PacketHandler.java @@ -37,7 +37,7 @@ public void onServerPacket(ServerCustomPacketEvent event) { FMLProxyPacket packet = event.getPacket(); DataInputStream stream = new DataInputStream(new ByteArrayInputStream(packet.payload().array())); NetworkManager manager = event.getManager(); - EntityPlayer player = ((NetHandlerPlayServer) event.getHandler()).playerEntity; // EntityPlayerMP + EntityPlayer player = ((NetHandlerPlayServer) event.getHandler()).player; // EntityPlayerMP packetRx(stream, manager, player); } @@ -119,7 +119,7 @@ void packetPlaySound(DataInputStream stream, NetworkManager manager, EntityPlaye try { if (stream.readByte() != player.dimension) return; - SoundClient.play(SoundCommand.fromStream(stream, player.worldObj)); + SoundClient.play(SoundCommand.fromStream(stream, player.world)); } catch (IOException e) { e.printStackTrace(); @@ -131,7 +131,7 @@ void packetOpenLocalGui(DataInputStream stream, NetworkManager manager, EntityPl EntityPlayer clientPlayer = (EntityPlayer) player; try { clientPlayer.openGui(Eln.instance, stream.readInt(), - clientPlayer.worldObj, stream.readInt(), stream.readInt(), + clientPlayer.world, stream.readInt(), stream.readInt(), stream.readInt()); } catch (IOException e) { e.printStackTrace(); @@ -166,7 +166,7 @@ void packetForClientNode(DataInputStream stream, NetworkManager manager, EntityP if (clientPlayer.dimension == dimension) { - TileEntity entity = clientPlayer.worldObj.getTileEntity(new BlockPos(x,y,z)); + TileEntity entity = clientPlayer.world.getTileEntity(new BlockPos(x,y,z)); if (entity != null && entity instanceof INodeEntity) { INodeEntity node = (INodeEntity) entity; if (node.getNodeUuid().equals(stream.readUTF())) { @@ -199,7 +199,7 @@ void packetNodeSingleSerialized(DataInputStream stream, NetworkManager manager, dimension = stream.readByte(); if (clientPlayer.dimension == dimension) { - TileEntity entity = clientPlayer.worldObj.getTileEntity(new BlockPos(x,y,z)); + TileEntity entity = clientPlayer.world.getTileEntity(new BlockPos(x,y,z)); if (entity != null && entity instanceof INodeEntity) { INodeEntity node = (INodeEntity) entity; if (node.getNodeUuid().equals(stream.readUTF())) { diff --git a/src/main/java/mods/eln/client/AnalyticsHandler.java b/src/main/java/mods/eln/client/AnalyticsHandler.java index 165bc6e29..c2fa0ac45 100644 --- a/src/main/java/mods/eln/client/AnalyticsHandler.java +++ b/src/main/java/mods/eln/client/AnalyticsHandler.java @@ -1,5 +1,6 @@ package mods.eln.client; +import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.fml.client.FMLClientHandler; import net.minecraftforge.fml.common.FMLCommonHandler; import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; @@ -80,15 +81,15 @@ public void tick(ClientTickEvent event) { return; final Minecraft m = FMLClientHandler.instance().getClient(); - final WorldClient world = m.theWorld; + final WorldClient world = m.world; - if (m == null || world == null) + if (world == null) return; if (!ready) return; - FMLCommonHandler.instance().bus().unregister(this); + MinecraftForge.EVENT_BUS.unregister(this); ready = false; } } diff --git a/src/main/java/mods/eln/client/ClientPacketHandler.java b/src/main/java/mods/eln/client/ClientPacketHandler.java index e4fb45da8..dcd2bdb77 100644 --- a/src/main/java/mods/eln/client/ClientPacketHandler.java +++ b/src/main/java/mods/eln/client/ClientPacketHandler.java @@ -16,7 +16,7 @@ public class ClientPacketHandler { public ClientPacketHandler() { - //FMLCommonHandler.instance().bus().register(this); + //MinecraftForge.EVENT_BUS.register(this); Eln.eventChannel.register(this); } diff --git a/src/main/java/mods/eln/client/ClientProxy.java b/src/main/java/mods/eln/client/ClientProxy.java index eae731503..21bcc5676 100644 --- a/src/main/java/mods/eln/client/ClientProxy.java +++ b/src/main/java/mods/eln/client/ClientProxy.java @@ -42,16 +42,16 @@ public void registerRenderers() { manager -> new ReplicatorRender(manager, new ModelSilverfish(), 0.3f)); Eln.clientKeyHandler = new ClientKeyHandler(); - FMLCommonHandler.instance().bus().register(Eln.clientKeyHandler); + MinecraftForge.EVENT_BUS.register(Eln.clientKeyHandler); MinecraftForge.EVENT_BUS.register(new TutorialSignOverlay()); uuidManager = new UuidManager(); soundClientEventListener = new SoundClientEventListener(uuidManager); if (Eln.versionCheckEnabled) - FMLCommonHandler.instance().bus().register(VersionCheckerHandler.getInstance()); + MinecraftForge.EVENT_BUS.register(VersionCheckerHandler.getInstance()); if (Eln.analyticsEnabled) - FMLCommonHandler.instance().bus().register(AnalyticsHandler.getInstance()); + MinecraftForge.EVENT_BUS.register(AnalyticsHandler.getInstance()); new FrameTime(); new ConnectionListener(); diff --git a/src/main/java/mods/eln/client/ConnectionListener.java b/src/main/java/mods/eln/client/ConnectionListener.java index 2cf4f37d0..164fa1d62 100644 --- a/src/main/java/mods/eln/client/ConnectionListener.java +++ b/src/main/java/mods/eln/client/ConnectionListener.java @@ -1,5 +1,6 @@ package mods.eln.client; +import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.fml.common.FMLCommonHandler; import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; import net.minecraftforge.fml.common.gameevent.TickEvent.ClientTickEvent; @@ -17,7 +18,7 @@ public class ConnectionListener { public ConnectionListener() { - FMLCommonHandler.instance().bus().register(this); + MinecraftForge.EVENT_BUS.register(this); } static boolean newConnection = false; diff --git a/src/main/java/mods/eln/client/FrameTime.java b/src/main/java/mods/eln/client/FrameTime.java index 97a228b01..522f64442 100644 --- a/src/main/java/mods/eln/client/FrameTime.java +++ b/src/main/java/mods/eln/client/FrameTime.java @@ -1,5 +1,6 @@ package mods.eln.client; +import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.fml.common.FMLCommonHandler; import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; import net.minecraftforge.fml.common.gameevent.TickEvent.Phase; @@ -16,7 +17,7 @@ public class FrameTime { public FrameTime() { instance = this; - FMLCommonHandler.instance().bus().register(this); + MinecraftForge.EVENT_BUS.register(this); } public void init() { @@ -59,7 +60,7 @@ public void tick(RenderTickEvent event) { //Utils.println(NodeBlockEntity.clientList.size()); Iterator i = NodeBlockEntity.clientList.iterator(); - World w = Minecraft.getMinecraft().theWorld; + World w = Minecraft.getMinecraft().world; if (!Utils.isGameInPause()) { float deltaTcaped = getNotCaped2(); @@ -72,7 +73,7 @@ public void tick(RenderTickEvent event) { e.clientRefresh(deltaTcaped); } } - //Minecraft.getMinecraft().theWorld.getChunkFromChunkCoords(1, 1). + //Minecraft.getMinecraft().world.getChunkFromChunkCoords(1, 1). // Utils.println("delta T : " + deltaT + " " + event); } } diff --git a/src/main/java/mods/eln/client/UuidManager.kt b/src/main/java/mods/eln/client/UuidManager.kt index 65767d62b..5b3f45cf5 100644 --- a/src/main/java/mods/eln/client/UuidManager.kt +++ b/src/main/java/mods/eln/client/UuidManager.kt @@ -1,5 +1,6 @@ package mods.eln.client +import net.minecraftforge.common.MinecraftForge import net.minecraftforge.fml.common.FMLCommonHandler import net.minecraftforge.fml.common.eventhandler.SubscribeEvent import net.minecraftforge.fml.common.gameevent.TickEvent @@ -10,7 +11,7 @@ class UuidManager { internal val uuids = HashMap >() init { - FMLCommonHandler.instance().bus().register(this) + MinecraftForge.EVENT_BUS.register(this) } fun add(uuid: ArrayList, e: IUuidEntity) { diff --git a/src/main/java/mods/eln/client/VersionCheckerHandler.java b/src/main/java/mods/eln/client/VersionCheckerHandler.java index 30fbe0fc2..2c6e7e0f1 100644 --- a/src/main/java/mods/eln/client/VersionCheckerHandler.java +++ b/src/main/java/mods/eln/client/VersionCheckerHandler.java @@ -8,6 +8,7 @@ import net.minecraft.client.Minecraft; import net.minecraft.client.multiplayer.WorldClient; import net.minecraft.util.text.TextComponentString; +import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.fml.client.FMLClientHandler; import net.minecraftforge.fml.common.FMLCommonHandler; import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; @@ -102,9 +103,9 @@ public void tick(ClientTickEvent event) { return; final Minecraft m = FMLClientHandler.instance().getClient(); - final WorldClient world = m.theWorld; + final WorldClient world = m.world; - if (m == null || world == null) + if (world == null) return; if (!ready) @@ -112,11 +113,11 @@ public void tick(ClientTickEvent event) { // Print the current version when the client start a map if (Eln.versionCheckEnabled) { - m.player.addChatMessage(new TextComponentString(Version.printColor())); - m.player.addChatMessage(new TextComponentString(versionMsg)); + m.player.sendMessage(new TextComponentString(Version.printColor())); + m.player.sendMessage(new TextComponentString(versionMsg)); } - FMLCommonHandler.instance().bus().unregister(this); + MinecraftForge.EVENT_BUS.unregister(this); ready = false; } } diff --git a/src/main/java/mods/eln/entity/ConfigurableAiWander.java b/src/main/java/mods/eln/entity/ConfigurableAiWander.java index 3c92a2a90..1d5c2e456 100644 --- a/src/main/java/mods/eln/entity/ConfigurableAiWander.java +++ b/src/main/java/mods/eln/entity/ConfigurableAiWander.java @@ -26,9 +26,9 @@ public ConfigurableAiWander(EntityCreature par1EntityCreature, double speed, int * Returns whether the EntityAIBase should begin execution. */ public boolean shouldExecute() { - if (this.entity.getAge() >= 100) { + /*if (this.entity.getIdleTime() >= 100) { return false; - } else if (this.entity.getRNG().nextInt(randLimit) != 0) { + } else */if (this.entity.getRNG().nextInt(randLimit) != 0) { return false; } else { Vec3d vec3 = RandomPositionGenerator.findRandomTarget(this.entity, 10, 7); @@ -36,9 +36,9 @@ public boolean shouldExecute() { if (vec3 == null) { return false; } else { - this.xPosition = vec3.xCoord; - this.yPosition = vec3.yCoord; - this.zPosition = vec3.zCoord; + this.xPosition = vec3.x; + this.yPosition = vec3.y; + this.zPosition = vec3.z; return true; } } diff --git a/src/main/java/mods/eln/entity/ReplicatorCableAI.java b/src/main/java/mods/eln/entity/ReplicatorCableAI.java index a4fca6aba..44d2e358e 100644 --- a/src/main/java/mods/eln/entity/ReplicatorCableAI.java +++ b/src/main/java/mods/eln/entity/ReplicatorCableAI.java @@ -87,8 +87,7 @@ public boolean shouldExecute() { } @Override - public boolean continueExecuting() { - //Utils.println("Continue"); + public boolean shouldContinueExecuting() { return cableCoordinate != null; } @@ -115,7 +114,7 @@ public void updateTask() { double u = cable.electricalLoad.getU(); double nextRp = Math.pow(u / Eln.LVU, -0.3) * u * u / (50); if (resistorLoad.getR() < 0.8 * nextRp) { - entity.attackEntityFrom(DamageSource.magic, 5); + entity.attackEntityFrom(DamageSource.LIGHTNING_BOLT, 5); } else { entity.eatElectricity(resistorLoad.getP() * 0.05); } diff --git a/src/main/java/mods/eln/entity/ReplicatorEntity.java b/src/main/java/mods/eln/entity/ReplicatorEntity.java index 2bf7b05b1..01751ada9 100644 --- a/src/main/java/mods/eln/entity/ReplicatorEntity.java +++ b/src/main/java/mods/eln/entity/ReplicatorEntity.java @@ -82,17 +82,17 @@ protected void updateAITasks() { hunger += 0.05 / hungerTime; if (hunger > 1 && Math.random() < 0.05 / 5) { - attackEntityFrom(DamageSource.starve, 1); + attackEntityFrom(DamageSource.STARVE, 1); } if (hunger < 0.5 && Math.random() * 10 < 0.05) { heal(1f); } if (hunger < hungerToDuplicate) { - ReplicatorEntity entityliving = new ReplicatorEntity(this.worldObj); + ReplicatorEntity entityliving = new ReplicatorEntity(this.world); entityliving.setLocationAndAngles(this.posX, this.posY, this.posZ, 0f, 0f); entityliving.rotationYawHead = entityliving.rotationYaw; entityliving.renderYawOffset = entityliving.rotationYaw; - worldObj.spawnEntityInWorld(entityliving); + world.spawnEntity(entityliving); entityliving.playLivingSound(); hunger = 0; } @@ -143,13 +143,8 @@ protected void dropFewItems(boolean par1, int par2) { if (isSpawnedFromWeather) { if (Math.random() < 0.33) { - for (Object s : EntityList.ID_TO_CLASS.entrySet()) { - Entry e = (Entry) s; - if (e.getValue() == ReplicatorEntity.class) { - this.entityDropItem(new ItemStack((Item) Item.getByNameOrId("spawn_egg"), 1, (Integer) e.getKey()), 0.5f); - break; - } - } + int id = EntityList.getID(ReplicatorEntity.class); + this.entityDropItem(new ItemStack(Item.getByNameOrId("spawn_egg"), 1, id), 0.5f); } } } diff --git a/src/main/java/mods/eln/entity/ReplicatorPopProcess.java b/src/main/java/mods/eln/entity/ReplicatorPopProcess.java index 3676dd9ae..2483601f7 100644 --- a/src/main/java/mods/eln/entity/ReplicatorPopProcess.java +++ b/src/main/java/mods/eln/entity/ReplicatorPopProcess.java @@ -20,7 +20,7 @@ public ReplicatorPopProcess() { @Override public void process(double time) { - World world = FMLCommonHandler.instance().getMinecraftServerInstance().worldServers[0]; + World world = FMLCommonHandler.instance().getMinecraftServerInstance().getWorld(0); int replicatorCount = 0; @@ -40,7 +40,7 @@ public void process(double time) { MinecraftServer server = FMLCommonHandler.instance().getMinecraftServerInstance(); for (Object obj : world.playerEntities) { EntityPlayerMP player = (EntityPlayerMP) obj; - if (Math.random() * (world.playerEntities.size()) < time * popPerSecondPerPlayer && player.worldObj == world) { + if (Math.random() * (world.playerEntities.size()) < time * popPerSecondPerPlayer && player.world == world) { int x, y, z; x = (int) (player.posX + Utils.rand(-100, 100)); z = (int) (player.posZ + Utils.rand(-100, 100)); @@ -52,13 +52,13 @@ public void process(double time) { y++; } - ReplicatorEntity entityliving = new ReplicatorEntity(world); - entityliving.setLocationAndAngles(x + 0.5, y, z + 0.5, 0f, 0f); - entityliving.rotationYawHead = entityliving.rotationYaw; - entityliving.renderYawOffset = entityliving.rotationYaw; - world.spawnEntityInWorld(entityliving); - entityliving.playLivingSound(); - entityliving.isSpawnedFromWeather = true; + ReplicatorEntity replicator = new ReplicatorEntity(world); + replicator.setLocationAndAngles(x + 0.5, y, z + 0.5, 0f, 0f); + replicator.rotationYawHead = replicator.rotationYaw; + replicator.renderYawOffset = replicator.rotationYaw; + world.spawnEntity(replicator); + replicator.playLivingSound(); + replicator.isSpawnedFromWeather = true; Utils.println("Spawn Replicator at " + x + " " + y + " " + z); } } @@ -94,7 +94,7 @@ public void process(double time) { entityliving.setLocationAndAngles(x + 0.5, y, z + 0.5, 0f, 0f); entityliving.rotationYawHead = entityliving.rotationYaw; entityliving.renderYawOffset = entityliving.rotationYaw; - world.spawnEntityInWorld(entityliving); + world.spawnEntity(entityliving); entityliving.playLivingSound(); entityliving.isSpawnedFromWeather = true; // Utils.println("Spawn Replicator at " + x + " " + y + " " + z); diff --git a/src/main/java/mods/eln/generic/GenericCreativeTab.java b/src/main/java/mods/eln/generic/GenericCreativeTab.java index 7a32f5346..c1dd7c17d 100644 --- a/src/main/java/mods/eln/generic/GenericCreativeTab.java +++ b/src/main/java/mods/eln/generic/GenericCreativeTab.java @@ -1,9 +1,10 @@ package mods.eln.generic; -import net.minecraftforge.fml.relauncher.Side; -import net.minecraftforge.fml.relauncher.SideOnly; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraftforge.fml.relauncher.Side; +import net.minecraftforge.fml.relauncher.SideOnly; public class GenericCreativeTab extends CreativeTabs { @@ -16,7 +17,7 @@ public GenericCreativeTab(String label, Item item) { @Override @SideOnly(Side.CLIENT) - public Item getTabIconItem() { - return (item); + public ItemStack getTabIconItem() { + return new ItemStack(item); } } diff --git a/src/main/java/mods/eln/generic/GenericItemBlockUsingDamage.java b/src/main/java/mods/eln/generic/GenericItemBlockUsingDamage.java index f3e81e90b..9bca0c726 100644 --- a/src/main/java/mods/eln/generic/GenericItemBlockUsingDamage.java +++ b/src/main/java/mods/eln/generic/GenericItemBlockUsingDamage.java @@ -12,6 +12,7 @@ import net.minecraft.util.EnumActionResult; import net.minecraft.util.EnumFacing; import net.minecraft.util.EnumHand; +import net.minecraft.util.NonNullList; import net.minecraft.util.math.BlockPos; import net.minecraft.world.World; import net.minecraftforge.fml.common.registry.GameRegistry; @@ -52,7 +53,8 @@ public void addDescriptor(int damage, Descriptor descriptor) { descriptors.add(descriptor); descriptor.setParent(this, damage); // TODO(1.10): Mumble mumble. - GameRegistry.register(descriptor.parentItem); + throw new IllegalStateException("This code is fucked."); +// GameRegistry.register(descriptor.parentItem); } public void addWithoutRegistry(int damage, Descriptor descriptor) { @@ -123,16 +125,21 @@ public String getUnlocalizedName(ItemStack par1ItemStack) { // } // } + @SideOnly(Side.CLIENT) @Override - public void getSubItems(Item itemID, CreativeTabs tabs, List list) { + public void getSubItems(CreativeTabs tabs, NonNullList items) { + // TODO(1.12) + throw new IllegalStateException("Don't get me started."); + // You can also take a more direct approach and do each one individual but I prefer the lazy / right way - //for(Entry entry : subItemList.entrySet()) - for (int id : orderList) { - ItemStack stack = Utils.newItemStack(itemID, 1, id); - stack.setTagCompound(subItemList.get(id).getDefaultNBT()); - list.add(stack); - } + //for(Entry entry : subItemList.entrySet() + +// for (int id : orderList) { +// ItemStack stack = Utils.newItemStack(itemID, 1, id); +// stack.setTagCompound(subItemList.get(id).getDefaultNBT()); +// list.add(stack); +// } } public void addInformation(ItemStack itemStack, EntityPlayer entityPlayer, List list, boolean par4) { @@ -143,17 +150,17 @@ public void addInformation(ItemStack itemStack, EntityPlayer entityPlayer, List UtilsClient.showItemTooltip(listFromDescriptor, list); } - public boolean onEntityItemUpdate(EntityItem entityItem) { - Descriptor desc = getDescriptor(entityItem.getEntityItem()); - if (desc != null) return desc.onEntityItemUpdate(entityItem); - return false; - } - - //TODO: Maybe its onItemUse only? - @Override - public EnumActionResult onItemUse(ItemStack stack, EntityPlayer player, World world, BlockPos pos, EnumHand hand, EnumFacing side, float hitX, float hitY, float hitZ) { - Descriptor desc = getDescriptor(stack); - if (desc != null) return desc.onItemUse(stack, player); - return EnumActionResult.FAIL; - } +// public boolean onEntityItemUpdate(EntityItem entityItem) { +// Descriptor desc = getDescriptor(entityItem.getEntityItem()); +// if (desc != null) return desc.onEntityItemUpdate(entityItem); +// return false; +// } +// +// //TODO: Maybe its onItemUse only? +// @Override +// public EnumActionResult onItemUse(ItemStack stack, EntityPlayer player, World world, BlockPos pos, EnumHand hand, EnumFacing side, float hitX, float hitY, float hitZ) { +// Descriptor desc = getDescriptor(stack); +// if (desc != null) return desc.onItemUse(stack, player); +// return EnumActionResult.FAIL; +// } } diff --git a/src/main/java/mods/eln/generic/GenericItemUsingDamage.java b/src/main/java/mods/eln/generic/GenericItemUsingDamage.java index 72e9a9426..26f9de23d 100644 --- a/src/main/java/mods/eln/generic/GenericItemUsingDamage.java +++ b/src/main/java/mods/eln/generic/GenericItemUsingDamage.java @@ -1,9 +1,7 @@ package mods.eln.generic; import mods.eln.misc.UtilsClient; -import net.minecraft.block.Block; import net.minecraft.block.state.IBlockState; -import net.minecraft.creativetab.CreativeTabs; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.player.EntityPlayer; @@ -15,9 +13,6 @@ import net.minecraft.util.EnumHand; import net.minecraft.util.math.BlockPos; import net.minecraft.world.World; -import net.minecraftforge.fml.common.registry.GameRegistry; -import net.minecraftforge.fml.relauncher.Side; -import net.minecraftforge.fml.relauncher.SideOnly; import java.util.ArrayList; import java.util.Hashtable; @@ -45,7 +40,8 @@ public void addElement(int damage, Descriptor descriptor) { setUnlocalizedName(descriptor.name); orderList.add(damage); descriptor.setParent(this, damage); - GameRegistry.register(descriptor.parentItem); + // TODO(1.12): Registration is fucked. +// GameRegistry.register(descriptor.parentItem); } public Descriptor getDescriptor(int damage) { @@ -61,7 +57,8 @@ public Descriptor getDescriptor(ItemStack itemStack) { } @Override - public ActionResult onItemRightClick(ItemStack s, World w, EntityPlayer p, EnumHand hand) { + public ActionResult onItemRightClick(World w, EntityPlayer p, EnumHand hand) { + ItemStack s = p.getHeldItem(hand); Descriptor desc = getDescriptor(s); if (desc == null) return new ActionResult(EnumActionResult.PASS, s); @@ -95,14 +92,15 @@ public String getUnlocalizedName(ItemStack par1ItemStack) { // } // } - @Override - @SideOnly(Side.CLIENT) - public void getSubItems(Item itemID, CreativeTabs tabs, List list) { - // You can also take a more direct approach and do each one individual but I prefer the lazy / right way - for (int id : orderList) { - subItemList.get(id).getSubItems(list); - } - } + // TODO(1.12): Whatever this was, it's broken. +// @Override +// @SideOnly(Side.CLIENT) +// public void getSubItems(Item itemID, CreativeTabs tabs, List list) { +// // You can also take a more direct approach and do each one individual but I prefer the lazy / right way +// for (int id : orderList) { +// subItemList.get(id).getSubItems(list); +// } +// } public void addInformation(ItemStack itemStack, EntityPlayer entityPlayer, List list, boolean par4) { /*Descriptor desc = getDescriptor(itemStack); @@ -122,11 +120,12 @@ public void addInformation(ItemStack itemStack, EntityPlayer entityPlayer, List * True if something happen and false if it don't. This is for ITEMS, not BLOCKS */ @Override - public EnumActionResult onItemUse(ItemStack stack, EntityPlayer player, World world, BlockPos pos, EnumHand hand, EnumFacing facing, float vx, float vy, float vz) { + public EnumActionResult onItemUse(EntityPlayer player, World world, BlockPos pos, EnumHand hand, EnumFacing facing, float hitX, float hitY, float hitZ) { + ItemStack stack = player.getHeldItem(hand); GenericItemUsingDamageDescriptor d = getDescriptor(stack); if (d == null) return EnumActionResult.PASS; - return d.onItemUse(stack, player, world, pos, hand, facing, vx, vy, vz); + return d.onItemUse(stack, player, world, pos, hand, facing, hitX, hitY, hitZ); } public boolean onEntitySwing(EntityLivingBase entityLiving, ItemStack stack) { @@ -156,11 +155,11 @@ public void onUpdate(ItemStack stack, World world, Entity entity, int par4, bool } @Override - public float getStrVsBlock(ItemStack stack, IBlockState state) { + public float getDestroySpeed(ItemStack stack, IBlockState state) { GenericItemUsingDamageDescriptor d = getDescriptor(stack); if (d == null) return 0.2f; - return d.getStrVsBlock(stack, state); + return d.getDestroySpeed(stack, state); } @Override diff --git a/src/main/java/mods/eln/generic/GenericItemUsingDamageDescriptor.java b/src/main/java/mods/eln/generic/GenericItemUsingDamageDescriptor.java index 6d1d5b77c..dd29f3475 100644 --- a/src/main/java/mods/eln/generic/GenericItemUsingDamageDescriptor.java +++ b/src/main/java/mods/eln/generic/GenericItemUsingDamageDescriptor.java @@ -16,6 +16,7 @@ import net.minecraft.util.math.BlockPos; import net.minecraft.world.World; +import javax.annotation.Nonnull; import java.util.List; public class GenericItemUsingDamageDescriptor { @@ -103,12 +104,8 @@ public ItemStack newItemStack() { return newItemStack(1); } - public boolean checkSameItemStack(ItemStack stack) { - if (stack == null) - return false; - if (stack.getItem() != parentItem || stack.getItemDamage() != parentItemDamage) - return false; - return true; + public boolean checkSameItemStack(@Nonnull ItemStack stack) { + return stack.getItem() == parentItem && stack.getItemDamage() == parentItemDamage; } /** @@ -150,7 +147,7 @@ protected NBTTagCompound getNbt(ItemStack stack) { return nbt; } - public float getStrVsBlock(ItemStack stack, IBlockState state) { + public float getDestroySpeed(ItemStack stack, IBlockState state) { return 0.2f; } diff --git a/src/main/java/mods/eln/ghost/GhostBlock.java b/src/main/java/mods/eln/ghost/GhostBlock.java index 269884b88..6a02d63b7 100644 --- a/src/main/java/mods/eln/ghost/GhostBlock.java +++ b/src/main/java/mods/eln/ghost/GhostBlock.java @@ -53,7 +53,7 @@ public Item getItemDropped(IBlockState state, Random rand, int fortune) { // switch (meta) { // case tFloor: // AxisAlignedBB axisalignedbb1 = AxisAlignedBB.getBoundingBox((double) x, (double) y, (double) z, (double) x + 1, (double) y + 0.0625, (double) z + 1); -// if (axisalignedbb1 != null && par5AxisAlignedBB.intersectsWith(axisalignedbb1)) { +// if (axisalignedbb1 != null && par5AxisAlignedBB.intersects(axisalignedbb1)) { // list.add(axisalignedbb1); // } // break; @@ -131,7 +131,7 @@ public Item getItemDropped(IBlockState state, Random rand, int fortune) { // TODO(1.10): ...but block states should do this. @Override - public boolean isFullyOpaque(IBlockState state) { + public boolean isOpaqueCube(IBlockState state) { return false; } @@ -146,7 +146,12 @@ public ItemStack getPickBlock(IBlockState state, RayTraceResult target, World wo } @Override - public boolean isBlockSolid(IBlockAccess worldIn, BlockPos pos, EnumFacing side) { + public boolean isTopSolid(IBlockState state) { + return false; + } + + @Override + public boolean isSideSolid(IBlockState base_state, IBlockAccess world, BlockPos pos, EnumFacing side) { return false; } @@ -160,11 +165,11 @@ public void breakBlock(World world, BlockPos pos, IBlockState state) { } @Override - public boolean onBlockActivated(World world, BlockPos pos, IBlockState state, EntityPlayer player, EnumHand hand, @Nullable ItemStack heldItem, EnumFacing side, float hitX, float hitY, float hitZ) { + public boolean onBlockActivated(World world, BlockPos pos, IBlockState state, EntityPlayer player, EnumHand hand, EnumFacing facing, float hitX, float hitY, float hitZ) { if (!world.isRemote) { GhostElement element = getElement(world, getBedSpawnPosition(state, world, pos, player)); if (element != null) - return element.onBlockActivated(player, Direction.fromFacing(side), hitX, hitY, hitZ); + return element.onBlockActivated(player, Direction.fromFacing(facing), hitX, hitY, hitZ); } return true; } diff --git a/src/main/java/mods/eln/ghost/GhostManagerNbt.java b/src/main/java/mods/eln/ghost/GhostManagerNbt.java index 028339f56..68bdd3612 100644 --- a/src/main/java/mods/eln/ghost/GhostManagerNbt.java +++ b/src/main/java/mods/eln/ghost/GhostManagerNbt.java @@ -2,7 +2,7 @@ import mods.eln.Eln; import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.world.WorldSavedData; +import net.minecraft.world.storage.WorldSavedData; public class GhostManagerNbt extends WorldSavedData { public GhostManagerNbt(String par1Str) { diff --git a/src/main/java/mods/eln/gridnode/GridElement.java b/src/main/java/mods/eln/gridnode/GridElement.java index 3382cf2c8..7ec7e783e 100644 --- a/src/main/java/mods/eln/gridnode/GridElement.java +++ b/src/main/java/mods/eln/gridnode/GridElement.java @@ -64,30 +64,30 @@ private boolean onTryGridConnect(EntityPlayer entityPlayer, ItemStack stack, Ele } // Check if it's the *correct* cable descriptor. if (!cable.equals(desc.cableDescriptor)) { - Utils.addChatMessage(entityPlayer, "Wrong cable, you need " + desc.cableDescriptor.name); + Utils.sendMessage(entityPlayer, "Wrong cable, you need " + desc.cableDescriptor.name); return true; } if (other == null || other == this) { - Utils.addChatMessage(entityPlayer, "Setting starting point"); + Utils.sendMessage(entityPlayer, "Setting starting point"); pending.put(uuid, Pair.of(this.coordinate(), side)); } else { final double distance = other.coordinate().trueDistanceTo(this.coordinate()); final int cableLength = (int) Math.ceil(distance); final int range = Math.min(connectRange, other.connectRange); - if (stack.stackSize < distance) { - Utils.addChatMessage(entityPlayer, "You need " + cableLength + " units of cable"); + if (stack.getCount() < distance) { + Utils.sendMessage(entityPlayer, "You need " + cableLength + " units of cable"); } else if (distance > range) { - Utils.addChatMessage(entityPlayer, "Cannot connect, range " + Math.ceil(distance) + " and limit " + range + " blocks"); + Utils.sendMessage(entityPlayer, "Cannot connect, range " + Math.ceil(distance) + " and limit " + range + " blocks"); } else if (!this.canConnect(other)) { - Utils.addChatMessage(entityPlayer, "Cannot connect these two objects"); + Utils.sendMessage(entityPlayer, "Cannot connect these two objects"); } else if (!this.validLOS(other)) { - Utils.addChatMessage(entityPlayer, "Cannot connect, no line of sight"); + Utils.sendMessage(entityPlayer, "Cannot connect, no line of sight"); } else { if (GridLink.addLink(this, other, side, p.getRight(), cable, cableLength)) { - Utils.addChatMessage(entityPlayer, "Added connection"); + Utils.sendMessage(entityPlayer, "Added connection"); stack.splitStack(cableLength); } else { - Utils.addChatMessage(entityPlayer, "Already connected"); + Utils.sendMessage(entityPlayer, "Already connected"); } } pending.remove(uuid); @@ -287,9 +287,9 @@ protected Vec3d getCablePoint(Direction side, int i) { } private void writeVec(DataOutputStream stream, Vec3d sp) throws IOException { - stream.writeFloat((float) sp.xCoord); - stream.writeFloat((float) sp.yCoord); - stream.writeFloat((float) sp.zCoord); + stream.writeFloat((float) sp.x); + stream.writeFloat((float) sp.y); + stream.writeFloat((float) sp.z); } @Override diff --git a/src/main/java/mods/eln/gridnode/GridLink.java b/src/main/java/mods/eln/gridnode/GridLink.java index 92576a10b..e10e938fe 100644 --- a/src/main/java/mods/eln/gridnode/GridLink.java +++ b/src/main/java/mods/eln/gridnode/GridLink.java @@ -169,7 +169,7 @@ public void readFromNBT(NBTTagCompound nbt, String str) { as = Direction.readFromNBT(nbt, str + "as"); bs = Direction.readFromNBT(nbt, str + "bs"); rs = nbt.getDouble(str + "rs"); - cable = ItemStack.loadItemStackFromNBT(nbt); + cable = new ItemStack(nbt); } @Override diff --git a/src/main/java/mods/eln/gridnode/GridRender.java b/src/main/java/mods/eln/gridnode/GridRender.java index a9916ac31..456076214 100644 --- a/src/main/java/mods/eln/gridnode/GridRender.java +++ b/src/main/java/mods/eln/gridnode/GridRender.java @@ -121,7 +121,7 @@ private class Catenary { glNewList(list, GL_COMPILE); glBegin(GL_TRIANGLES); - if (start.xCoord == end.xCoord && start.zCoord == end.zCoord) { + if (start.x == end.x && start.z == end.z) { // Poles right on top of each other? No catenaries here. drawBox(spread(start, end), spread(end, start)); } else { @@ -147,9 +147,9 @@ private void drawBox(Vec3d[] from, Vec3d[] to) { // Figure out the lighting. // Vec3 middle = Vec3.createVectorHelper(0, 0, 0); // for (Vec3 x : v) { -// middle = middle.addVector(x.xCoord, x.yCoord, x.zCoord); +// middle = middle.addVector(x.x, x.y, x.z); // } -// middle = multiply(middle, v.length).addVector(tileEntity.xCoord, tileEntity.yCoord, tileEntity.zCoord); +// middle = multiply(middle, v.length).addVector(tileEntity.x, tileEntity.y, tileEntity.z); // glColor3d( // 139 / 255.0, // 69 / 255.0, @@ -159,14 +159,14 @@ private void drawBox(Vec3d[] from, Vec3d[] to) { for (int i = 0; i < box.length; i++) { final int bc = box[i] - 1; glTexCoord2f(boxTex[bc * 2], boxTex[bc * 2 + 1]); - glVertex3f((float) v[bc].xCoord, (float) v[bc].yCoord, (float) v[bc].zCoord); + glVertex3f((float) v[bc].x, (float) v[bc].y, (float) v[bc].z); } } private Vec3d[] translate(Vec3d[] start, Vec3d delta) { Vec3d ret[] = new Vec3d[start.length]; for (int i = 0; i < start.length; i++) { - ret[i] = start[i].addVector(delta.xCoord, delta.yCoord, delta.zCoord); + ret[i] = start[i].addVector(delta.x, delta.y, delta.z); } return ret; } @@ -196,9 +196,9 @@ private Vec3d negate(Vec3d v) { Vec3d multiply(Vec3d a, double b) { return new Vec3d( - a.xCoord * b, - a.yCoord * b, - a.zCoord * b + a.x * b, + a.y * b, + a.z * b ); } @@ -208,9 +208,9 @@ private Vec3d[] getConnectionCatenary(Vec3d start, Vec3d end) { final double slack = 1.005; final int vertices = 16; - double dx = (end.xCoord) - (start.xCoord); - double dy = (end.yCoord) - (start.yCoord); - double dz = (end.zCoord) - (start.zCoord); + double dx = (end.x) - (start.x); + double dy = (end.y) - (start.y); + double dz = (end.z) - (start.z); double dw = Math.sqrt(dx * dx + dz * dz); double k = Math.sqrt(dx * dx + dy * dy + dz * dz) * slack; double l = 0; @@ -232,7 +232,7 @@ private Vec3d[] getConnectionCatenary(Vec3d start, Vec3d end) { double x1 = 0 + dx * n1; double z1 = 0 + dz * n1; double y1 = a * Math.cosh(((Math.sqrt(x1 * x1 + z1 * z1)) - p) / a) + q; - vex[i] = new Vec3d(start.xCoord + x1, start.yCoord + y1, start.zCoord + z1); + vex[i] = new Vec3d(start.x + x1, start.y + y1, start.z + z1); } return vex; } diff --git a/src/main/java/mods/eln/gui/GuiButtonEln.java b/src/main/java/mods/eln/gui/GuiButtonEln.java index 3351475e9..70c0b0ba2 100644 --- a/src/main/java/mods/eln/gui/GuiButtonEln.java +++ b/src/main/java/mods/eln/gui/GuiButtonEln.java @@ -29,12 +29,12 @@ public void setObserver(IGuiObjectObserver observer) { @Override public void idraw(int x, int y, float f) { GL11.glColor4f(1f, 1f, 1f, 1f); - drawButton(Minecraft.getMinecraft(), x, y); + drawButton(Minecraft.getMinecraft(), x, y, 2.0f); } @Override public int getYMax() { - return yPosition + height; + return y + height; } @Override @@ -66,14 +66,14 @@ public void imouseMovedOrUp(int x, int y, int witch) { @Override public void idraw2(int x, int y) { - if (helper != null && visible && x >= xPosition && y >= yPosition && x < xPosition + width && y < yPosition + height) - helper.drawHoveringText(comment, x, y, Minecraft.getMinecraft().fontRendererObj); + if (helper != null && visible && x >= x && y >= y && x < x + width && y < y + height) + helper.drawHoveringText(comment, x, y, Minecraft.getMinecraft().fontRenderer); } @Override public void translate(int x, int y) { - this.xPosition += x; - this.yPosition += y; + this.x += x; + this.y += y; } ArrayList comment = new ArrayList(); diff --git a/src/main/java/mods/eln/gui/GuiContainerEln.java b/src/main/java/mods/eln/gui/GuiContainerEln.java index 26f3240e0..41b2a123d 100644 --- a/src/main/java/mods/eln/gui/GuiContainerEln.java +++ b/src/main/java/mods/eln/gui/GuiContainerEln.java @@ -45,8 +45,8 @@ public void initGui() { void apply(GuiHelperContainer helper) { for (int idx = inventorySlots.inventorySlots.size() - 36; idx < inventorySlots.inventorySlots.size(); idx++) { Slot s = (Slot) inventorySlots.inventorySlots.get(idx); - s.xDisplayPosition += helper.xInv; - s.yDisplayPosition += helper.yInv; + s.xPos += helper.xInv; + s.yPos += helper.yInv; } } @@ -140,10 +140,10 @@ protected void drawGuiContainerBackgroundLayer(float f, int mx, int my) { switch (skin) { case medium: - drawTexturedModalRectEln(slot.xDisplayPosition - 1, slot.yDisplayPosition - 1, 55, 16, 73 - 55, 34 - 16); + drawTexturedModalRectEln(slot.xPos - 1, slot.yPos - 1, 55, 16, 73 - 55, 34 - 16); break; case big: - drawTexturedModalRectEln(slot.xDisplayPosition - 5, slot.yDisplayPosition - 5, 111, 30, 137 - 111, 56 - 30); + drawTexturedModalRectEln(slot.xPos - 5, slot.yPos - 5, 111, 30, 137 - 111, 56 - 30); break; } } @@ -159,30 +159,29 @@ protected void drawGuiContainerForegroundLayer(int mx, int my) { for (Object o : inventorySlots.inventorySlots) { Slot slot = (Slot) o; - if (slot.getHasStack() == false - && mx - guiLeft >= slot.xDisplayPosition && my - guiTop >= slot.yDisplayPosition - && mx - guiLeft < slot.xDisplayPosition + 17 && my - guiTop < slot.yDisplayPosition + 17) { + if (!slot.getHasStack() + && mx - guiLeft >= slot.xPos && my - guiTop >= slot.yPos + && mx - guiLeft < slot.xPos + 17 && my - guiTop < slot.yPos + 17) { list.clear(); - SlotSkin comment = SlotSkin.none; if (slot instanceof ISlotWithComment) { ((ISlotWithComment) slot).getComment(list); int x, y; int strWidth = 0; for (String str : list) { - int size = fontRendererObj.getStringWidth(str); + int size = fontRenderer.getStringWidth(str); if (size > strWidth) strWidth = size; } - x = slot.xDisplayPosition; - y = slot.yDisplayPosition; + x = slot.xPos; + y = slot.yPos; int xOffset = 0; if (guiLeft + x + strWidth + 30 > this.width) { xOffset -= strWidth + 20; } if (!list.isEmpty()) - drawHoveringText((java.util.List) list, mx - guiLeft + xOffset, my - guiTop, fontRendererObj); + drawHoveringText((java.util.List) list, mx - guiLeft + xOffset, my - guiTop, fontRenderer); } } } diff --git a/src/main/java/mods/eln/gui/GuiHelpText.java b/src/main/java/mods/eln/gui/GuiHelpText.java index 902567b49..635042b86 100644 --- a/src/main/java/mods/eln/gui/GuiHelpText.java +++ b/src/main/java/mods/eln/gui/GuiHelpText.java @@ -29,7 +29,7 @@ public void idraw(int x, int y, float f) { drawRect(xPosition + 1, yPosition - 1, xPosition + width - 1, yPosition + height + 1, 0xFF606060); drawRect(xPosition + 2, yPosition, xPosition + width - 2, yPosition + height, 0xFF808080); - this.drawCenteredString(Minecraft.getMinecraft().fontRendererObj, "?", this.xPosition + this.width / 2, this.yPosition + (this.height - 8) / 2, 0xFF); + this.drawCenteredString(Minecraft.getMinecraft().fontRenderer, "?", this.xPosition + this.width / 2, this.yPosition + (this.height - 8) / 2, 0xFF); } @Override @@ -77,7 +77,7 @@ public void idraw2(int x, int y) { /*int px, py; px = xPosition - helper.getHoveringTextWidth(comment, Minecraft.getMinecraft().fontRenderer) / 2; py = yPosition + height + 20;*/ - helper.drawHoveringText(comment, x, y, Minecraft.getMinecraft().fontRendererObj); + helper.drawHoveringText(comment, x, y, Minecraft.getMinecraft().fontRenderer); } } } diff --git a/src/main/java/mods/eln/gui/GuiHelper.java b/src/main/java/mods/eln/gui/GuiHelper.java index 186654f37..f301fc471 100644 --- a/src/main/java/mods/eln/gui/GuiHelper.java +++ b/src/main/java/mods/eln/gui/GuiHelper.java @@ -41,7 +41,7 @@ public GuiHelper(GuiScreen screen, int xSize, int ySize) { GuiTextFieldEln newGuiTextField(int x, int y, int width) { GuiTextFieldEln o; - o = new GuiTextFieldEln(Minecraft.getMinecraft().fontRendererObj, + o = new GuiTextFieldEln(Minecraft.getMinecraft().fontRenderer, screen.width / 2 - xSize / 2 + x, screen.height / 2 - ySize / 2 + y, width, 12, this); objectList.add(o); return o; @@ -189,7 +189,7 @@ protected void mouseMovedOrUp(int x, int y, int witch) { } public void drawString(int x, int y, int color, String str) { - Minecraft.getMinecraft().fontRendererObj.drawString(str, screen.width / 2 - xSize / 2 + x, screen.height / 2 - ySize / 2 + y, color); + Minecraft.getMinecraft().fontRenderer.drawString(str, screen.width / 2 - xSize / 2 + x, screen.height / 2 - ySize / 2 + y, color); } public void draw2(int x, int y) { diff --git a/src/main/java/mods/eln/gui/GuiLabel.java b/src/main/java/mods/eln/gui/GuiLabel.java index 2b2011cd5..a43d21a96 100644 --- a/src/main/java/mods/eln/gui/GuiLabel.java +++ b/src/main/java/mods/eln/gui/GuiLabel.java @@ -13,7 +13,7 @@ public class GuiLabel extends Gui implements IGuiObject { public GuiLabel(int x, int y, String text) { this.text = text; - font = Minecraft.getMinecraft().fontRendererObj; + font = Minecraft.getMinecraft().fontRenderer; color = 0x00FFFFFF; xPos = x; yPos = y; diff --git a/src/main/java/mods/eln/gui/GuiTextFieldEln.java b/src/main/java/mods/eln/gui/GuiTextFieldEln.java index becf85ea8..665bc386d 100644 --- a/src/main/java/mods/eln/gui/GuiTextFieldEln.java +++ b/src/main/java/mods/eln/gui/GuiTextFieldEln.java @@ -128,7 +128,7 @@ public void imouseMovedOrUp(int x, int y, int witch) { @Override public void idraw2(int x, int y) { if (!isFocused() && getVisible() && x >= xPos && y >= yPos && x < xPos + width && y < yPos + height) - helper.drawHoveringText(comment, x, y, Minecraft.getMinecraft().fontRendererObj); + helper.drawHoveringText(comment, x, y, Minecraft.getMinecraft().fontRenderer); } diff --git a/src/main/java/mods/eln/gui/GuiVerticalProgressBar.java b/src/main/java/mods/eln/gui/GuiVerticalProgressBar.java index 676887b62..4aee292a7 100644 --- a/src/main/java/mods/eln/gui/GuiVerticalProgressBar.java +++ b/src/main/java/mods/eln/gui/GuiVerticalProgressBar.java @@ -89,7 +89,7 @@ public void imouseMovedOrUp(int x, int y, int witch) { @Override public void idraw2(int x, int y) { if (visible && x >= xPosition && y >= yPosition && x < xPosition + width && y < yPosition + height) - helper.drawHoveringText(comment, x, y, Minecraft.getMinecraft().fontRendererObj); + helper.drawHoveringText(comment, x, y, Minecraft.getMinecraft().fontRenderer); } public void setComment(int line, String comment) { diff --git a/src/main/java/mods/eln/gui/GuiVerticalTrackBar.java b/src/main/java/mods/eln/gui/GuiVerticalTrackBar.java index 4f2b31054..e13e729d0 100644 --- a/src/main/java/mods/eln/gui/GuiVerticalTrackBar.java +++ b/src/main/java/mods/eln/gui/GuiVerticalTrackBar.java @@ -187,9 +187,9 @@ public void imouseMovedOrUp(int x, int y, int witch) { public void idraw2(int x, int y) { if (visible && (x >= xPosition && y >= yPosition && x < xPosition + width && y < yPosition + height) || drag) { int px, py; - px = xPosition - helper.getHoveringTextWidth(comment, Minecraft.getMinecraft().fontRendererObj) / 2; + px = xPosition - helper.getHoveringTextWidth(comment, Minecraft.getMinecraft().fontRenderer) / 2; py = yPosition + height + 20/* - helper.getHoveringTextHeight(comment,Minecraft.getMinecraft().fontRenderer)*/; - helper.drawHoveringText(comment, px, py, Minecraft.getMinecraft().fontRendererObj); + helper.drawHoveringText(comment, px, py, Minecraft.getMinecraft().fontRenderer); } } diff --git a/src/main/java/mods/eln/gui/GuiVerticalWorkingZoneBar.java b/src/main/java/mods/eln/gui/GuiVerticalWorkingZoneBar.java index 5697b4850..06401f2b8 100644 --- a/src/main/java/mods/eln/gui/GuiVerticalWorkingZoneBar.java +++ b/src/main/java/mods/eln/gui/GuiVerticalWorkingZoneBar.java @@ -140,9 +140,9 @@ public void setComment(int line, String comment) { public void idraw2(int x, int y) { if (/*visible == true && */(x >= xPosition && y >= yPosition && x < xPosition + width && y < yPosition + height)) { int px, py; - px = xPosition - helper.getHoveringTextWidth(comment, Minecraft.getMinecraft().fontRendererObj) / 2; + px = xPosition - helper.getHoveringTextWidth(comment, Minecraft.getMinecraft().fontRenderer) / 2; py = yPosition + height + 20/* - helper.getHoveringTextHeight(comment,Minecraft.getMinecraft().fontRenderer)*/; - helper.drawHoveringText(comment, px, py, Minecraft.getMinecraft().fontRendererObj); + helper.drawHoveringText(comment, px, py, Minecraft.getMinecraft().fontRenderer); } } } diff --git a/src/main/java/mods/eln/integration/waila/GhostNodeWailaProvider.kt b/src/main/java/mods/eln/integration/waila/GhostNodeWailaProvider.kt index e0f62001d..7cf1f14b5 100644 --- a/src/main/java/mods/eln/integration/waila/GhostNodeWailaProvider.kt +++ b/src/main/java/mods/eln/integration/waila/GhostNodeWailaProvider.kt @@ -15,8 +15,10 @@ import net.minecraft.nbt.NBTTagCompound import net.minecraft.tileentity.TileEntity import net.minecraft.util.math.BlockPos import net.minecraft.util.math.RayTraceResult +import net.minecraft.util.text.TextFormatting import net.minecraft.world.World import net.minecraftforge.fml.common.Optional +import javax.xml.soap.Text @Optional.Interface(iface = "mcp.mobius.waila.api.IWailaDataProvider", modid = "Waila") class GhostNodeWailaProvider(private val transparentNodeProvider: TransparentNodeWailaProvider, @@ -87,7 +89,7 @@ class GhostNodeWailaProvider(private val transparentNodeProvider: TransparentNod override fun getWailaHead(itemStack: ItemStack?, currenttip: MutableList, accessor: IWailaDataAccessor, config: IWailaConfigHandler?): MutableList = if (itemStack != null) { - mutableListOf("${SpecialChars.WHITE}${itemStack.displayName}") + mutableListOf("${TextFormatting.WHITE}${itemStack.displayName}") } else { currenttip } diff --git a/src/main/java/mods/eln/integration/waila/SixNodeWailaProvider.kt b/src/main/java/mods/eln/integration/waila/SixNodeWailaProvider.kt index 3ae9db982..59f9ee38e 100644 --- a/src/main/java/mods/eln/integration/waila/SixNodeWailaProvider.kt +++ b/src/main/java/mods/eln/integration/waila/SixNodeWailaProvider.kt @@ -4,7 +4,6 @@ import com.google.common.cache.CacheLoader import mcp.mobius.waila.api.IWailaConfigHandler import mcp.mobius.waila.api.IWailaDataAccessor import mcp.mobius.waila.api.IWailaDataProvider -import mcp.mobius.waila.api.SpecialChars import mods.eln.misc.Coordinate import mods.eln.misc.Direction import net.minecraft.entity.player.EntityPlayerMP @@ -12,6 +11,7 @@ import net.minecraft.item.ItemStack import net.minecraft.nbt.NBTTagCompound import net.minecraft.tileentity.TileEntity import net.minecraft.util.math.BlockPos +import net.minecraft.util.text.TextFormatting import net.minecraft.world.World import net.minecraftforge.fml.common.Optional @@ -33,7 +33,7 @@ class SixNodeWailaProvider : IWailaDataProvider { override fun getWailaBody(itemStack: ItemStack?, currenttip: MutableList, accessor: IWailaDataAccessor, config: IWailaConfigHandler?): MutableList { getSixData(accessor)?.data?.forEach { - currenttip.add("${it.key}: ${SpecialChars.WHITE}${it.value}") + currenttip.add("${it.key}: ${TextFormatting.WHITE}${it.value}") } return currenttip @@ -51,7 +51,7 @@ class SixNodeWailaProvider : IWailaDataProvider { override fun getWailaHead(itemStack: ItemStack?, currenttip: MutableList, accessor: IWailaDataAccessor, config: IWailaConfigHandler?): MutableList = if (itemStack != null) { - mutableListOf("${SpecialChars.WHITE}${itemStack.displayName}") + mutableListOf("${TextFormatting.WHITE}${itemStack.displayName}") } else { currenttip } diff --git a/src/main/java/mods/eln/integration/waila/TransparentNodeWailaProvider.kt b/src/main/java/mods/eln/integration/waila/TransparentNodeWailaProvider.kt index 3a1f3db1f..fd798f042 100644 --- a/src/main/java/mods/eln/integration/waila/TransparentNodeWailaProvider.kt +++ b/src/main/java/mods/eln/integration/waila/TransparentNodeWailaProvider.kt @@ -4,13 +4,13 @@ import com.google.common.cache.CacheLoader import mcp.mobius.waila.api.IWailaConfigHandler import mcp.mobius.waila.api.IWailaDataAccessor import mcp.mobius.waila.api.IWailaDataProvider -import mcp.mobius.waila.api.SpecialChars import mods.eln.misc.Coordinate import net.minecraft.entity.player.EntityPlayerMP import net.minecraft.item.ItemStack import net.minecraft.nbt.NBTTagCompound import net.minecraft.tileentity.TileEntity import net.minecraft.util.math.BlockPos +import net.minecraft.util.text.TextFormatting import net.minecraft.world.World import net.minecraftforge.fml.common.Optional @@ -21,7 +21,7 @@ class TransparentNodeWailaProvider : IWailaDataProvider { val coord = Coordinate(accessor.position.x, accessor.position.y, accessor.position.z, accessor.world) try { - WailaCache.nodes.get(coord)?.forEach { currenttip.add("${it.key}: ${SpecialChars.WHITE}${it.value}") } + WailaCache.nodes.get(coord)?.forEach { currenttip.add("${it.key}: ${TextFormatting.WHITE}${it.value}") } } catch(e: CacheLoader.InvalidCacheLoadException) { //This is probably just it complaining about the cache returning null. Should be safe to ignore. } diff --git a/src/main/java/mods/eln/item/BrushDescriptor.kt b/src/main/java/mods/eln/item/BrushDescriptor.kt index 0d0983888..42f8fb778 100644 --- a/src/main/java/mods/eln/item/BrushDescriptor.kt +++ b/src/main/java/mods/eln/item/BrushDescriptor.kt @@ -61,7 +61,7 @@ class BrushDescriptor(name: String): GenericItemUsingDamageDescriptor(name) { } true } else { - Utils.addChatMessage(entityPlayer, tr("Brush is dry")) + Utils.sendMessage(entityPlayer, tr("Brush is dry")) false } } diff --git a/src/main/java/mods/eln/item/electricalitem/ElectricalAxe.kt b/src/main/java/mods/eln/item/electricalitem/ElectricalAxe.kt index 246ecd6e2..c695a7642 100644 --- a/src/main/java/mods/eln/item/electricalitem/ElectricalAxe.kt +++ b/src/main/java/mods/eln/item/electricalitem/ElectricalAxe.kt @@ -3,7 +3,6 @@ package mods.eln.item.electricalitem import mods.eln.misc.Utils import mods.eln.sim.IProcess import mods.eln.wiki.Data -import net.minecraft.block.Block import net.minecraft.block.material.Material import net.minecraft.block.state.IBlockState import net.minecraft.entity.EntityLivingBase @@ -13,9 +12,7 @@ import net.minecraft.item.ItemStack import net.minecraft.util.ActionResult import net.minecraft.util.EnumActionResult import net.minecraft.util.math.BlockPos -import net.minecraft.util.math.ChunkPos import net.minecraft.world.World -import net.minecraftforge.common.util.ChunkCoordComparator import java.util.* import kotlin.collections.HashMap @@ -29,10 +26,10 @@ class ElectricalAxe(name: String, strengthOn: Float, strengthOff: Float, Data.addPortable(newItemStack()) } - override fun getStrVsBlock(stack: ItemStack, state: IBlockState?): Float { + override fun getDestroySpeed(stack: ItemStack, state: IBlockState?): Float { return when { state != null && (state.material === Material.WOOD || state.material === Material.PLANTS || state.material === Material.VINE) -> getStrength(stack) - else -> super.getStrVsBlock(stack, state) + else -> super.getDestroySpeed(stack, state) } } @@ -51,7 +48,7 @@ class ElectricalAxe(name: String, strengthOn: Float, strengthOff: Float, private fun setCapitation(p: EntityPlayer?, stack: ItemStack, capitation: Boolean) { getNbt(stack).setBoolean("capitation", capitation) if (p != null) { - Utils.addChatMessage(p, "Set treecapitation to $capitation") + Utils.sendMessage(p, "Set treecapitation to $capitation") } } diff --git a/src/main/java/mods/eln/item/electricalitem/ElectricalLampItem.kt b/src/main/java/mods/eln/item/electricalitem/ElectricalLampItem.kt index 1195cbe8c..2b0c3cdc8 100644 --- a/src/main/java/mods/eln/item/electricalitem/ElectricalLampItem.kt +++ b/src/main/java/mods/eln/item/electricalitem/ElectricalLampItem.kt @@ -76,11 +76,11 @@ class ElectricalLampItem(name: String, private var lightMin: Int, private var ra if (!w.isRemote) { var lightState = getLightState(s) + 1 if (lightState > 1) lightState = 0 - //((EntityPlayer) entity).addChatMessage("Flashlight !!!"); + //((EntityPlayer) entity).sendMessage("Flashlight !!!"); when (lightState) { - 0 -> Utils.addChatMessage(p as EntityPlayerMP, "Flashlight OFF") - 1 -> Utils.addChatMessage(p as EntityPlayerMP, "Flashlight ON") - 2 -> Utils.addChatMessage(p as EntityPlayerMP, "Flashlight ON-2") + 0 -> Utils.sendMessage(p as EntityPlayerMP, "Flashlight OFF") + 1 -> Utils.sendMessage(p as EntityPlayerMP, "Flashlight ON") + 2 -> Utils.sendMessage(p as EntityPlayerMP, "Flashlight ON-2") else -> { } } diff --git a/src/main/java/mods/eln/item/electricalitem/ElectricalPickaxe.kt b/src/main/java/mods/eln/item/electricalitem/ElectricalPickaxe.kt index ddc51c1e6..1b2f1d4f9 100644 --- a/src/main/java/mods/eln/item/electricalitem/ElectricalPickaxe.kt +++ b/src/main/java/mods/eln/item/electricalitem/ElectricalPickaxe.kt @@ -1,7 +1,6 @@ package mods.eln.item.electricalitem import mods.eln.wiki.Data -import net.minecraft.block.Block import net.minecraft.block.material.Material import net.minecraft.block.state.IBlockState import net.minecraft.item.Item @@ -15,11 +14,11 @@ class ElectricalPickaxe(name: String, strengthOn: Float, strengthOff: Float, Data.addPortable(newItemStack()) } - override fun getStrVsBlock(stack: ItemStack, state: IBlockState): Float { + override fun getDestroySpeed(stack: ItemStack, state: IBlockState): Float { return when { state.material in pickaxeEffectiveAgainst -> getStrength(stack) state.block in blocksEffectiveAgainst -> getStrength(stack) - else -> super.getStrVsBlock(stack, state) + else -> super.getDestroySpeed(stack, state) } } diff --git a/src/main/java/mods/eln/item/electricalitem/ElectricalTool.kt b/src/main/java/mods/eln/item/electricalitem/ElectricalTool.kt index fc3326865..93ace561b 100644 --- a/src/main/java/mods/eln/item/electricalitem/ElectricalTool.kt +++ b/src/main/java/mods/eln/item/electricalitem/ElectricalTool.kt @@ -34,7 +34,7 @@ open class ElectricalTool(name: String, private var strengthOn: Float, private v } fun subtractEnergyForBlockBreak(stack: ItemStack, state: IBlockState) { - if (getStrVsBlock(stack, state) == strengthOn) { + if (getDestroySpeed(stack, state) == strengthOn) { var e = getEnergy(stack) - energyPerBlock if (e < 0) e = 0.0 setEnergy(stack, e) diff --git a/src/main/java/mods/eln/item/electricalitem/PortableOreScannerItem.kt b/src/main/java/mods/eln/item/electricalitem/PortableOreScannerItem.kt index 5e7aba3ed..72314a8aa 100644 --- a/src/main/java/mods/eln/item/electricalitem/PortableOreScannerItem.kt +++ b/src/main/java/mods/eln/item/electricalitem/PortableOreScannerItem.kt @@ -238,7 +238,7 @@ class PortableOreScannerItem(name: String, obj: Obj3D, // oRender = Eln.clientLiveDataManager.newData(item, RenderStorage(viewRange, viewYAlpha, resWidth, resHeight), 1) // val render = oRender as RenderStorage // -// render.generate(e!!.worldObj, e.posX, Utils.getHeadPosY(e), e.posZ, e.rotationYaw * Math.PI.toFloat() / 180.0f, e.rotationPitch * Math.PI.toFloat() / 180.0f) +// render.generate(e!!.world, e.posX, Utils.getHeadPosY(e), e.posZ, e.rotationYaw * Math.PI.toFloat() / 180.0f, e.rotationPitch * Math.PI.toFloat() / 180.0f) // // val scale = 1f / resWidth * 0.50f // GL11.glTranslatef(0.90668f, 0.163f, -0.25078f) diff --git a/src/main/java/mods/eln/misc/BasicContainer.java b/src/main/java/mods/eln/misc/BasicContainer.java index 8cd3c656a..dc05e9fd8 100644 --- a/src/main/java/mods/eln/misc/BasicContainer.java +++ b/src/main/java/mods/eln/misc/BasicContainer.java @@ -9,6 +9,7 @@ import net.minecraft.inventory.IInventory; import net.minecraft.inventory.Slot; import net.minecraft.item.ItemStack; +import org.jetbrains.annotations.NotNull; public class BasicContainer extends Container { @@ -25,8 +26,8 @@ public BasicContainer(EntityPlayer player, IInventory inventory, Slot[] slot) { } @Override - public boolean canInteractWith(EntityPlayer player) { - return inventory.isUseableByPlayer(player); + public boolean canInteractWith(@NotNull EntityPlayer player) { + return inventory.isUsableByPlayer(player); } protected void bindPlayerInventory(InventoryPlayer inventoryPlayer) { @@ -46,49 +47,34 @@ protected void bindPlayerInventory(InventoryPlayer inventoryPlayer) { @Override protected Slot addSlotToContainer(Slot slot) { - // slot.xDisplayPosition = helper. + // slot.xPos = helper. return super.addSlotToContainer(slot); } public ItemStack transferStackInSlot(EntityPlayer player, int slotId) { - ItemStack itemstack = null; - Slot slot = (Slot) this.inventorySlots.get(slotId); + Slot slot = this.inventorySlots.get(slotId); if (slot != null && slot.getHasStack()) { - ItemStack itemstack1 = slot.getStack(); - itemstack = itemstack1.copy(); + ItemStack stack = slot.getStack(); int invSize = inventory.getSizeInventory(); if (slotId < invSize) { - if (!this.mergeItemStack(itemstack1, invSize, inventorySlots.size(), true)) { - } - // return null; - // this.mergeItemStack(itemstack1, invSize, inventorySlots.size(), true); + this.mergeItemStack(stack, invSize, inventorySlots.size(), true); } else { - if (!this.mergeItemStack(itemstack1, 0, invSize, true)) { + if (!this.mergeItemStack(stack, 0, invSize, true)) { if (slotId < invSize + 27) { - if (!this.mergeItemStack(itemstack1, invSize + 27, inventorySlots.size(), false)) { - } + this.mergeItemStack(stack, invSize + 27, inventorySlots.size(), false); } else { - if (!this.mergeItemStack(itemstack1, invSize, invSize + 27, false)) { - } + this.mergeItemStack(stack, invSize, invSize + 27, false); } } - - // return null; - // this.mergeItemStack(itemstack1, 0, invSize, false); } - // if (!this.mergeItemStack(itemstack1, 0, inventorySlots.size(), true)) - // return null; - // this.mergeItemStack(itemstack1, slotId, inventorySlots.size(), true); - // this.mergeItemStack(itemstack1, 0, slotId - 1, true); - if (itemstack1.stackSize == 0) { - slot.putStack((ItemStack) null); + if (stack.isEmpty()) { + slot.putStack(ItemStack.EMPTY); } else { slot.onSlotChanged(); } } - // return itemstack; return null; } @@ -104,22 +90,22 @@ protected boolean mergeItemStack(ItemStack par1ItemStack, int par2, int par3, bo ItemStack itemstack1; if (par1ItemStack.isStackable()) { - while (par1ItemStack.stackSize > 0 && (!par4 && k < par3 || par4 && k >= par2)) { - slot = (Slot) this.inventorySlots.get(k); + while (!par1ItemStack.isEmpty() && (!par4 && k < par3 || par4 && k >= par2)) { + slot = this.inventorySlots.get(k); itemstack1 = slot.getStack(); - if (slot.isItemValid(par1ItemStack) && itemstack1 != null && itemstack1.getItem() == par1ItemStack.getItem() && (!par1ItemStack.getHasSubtypes() || par1ItemStack.getItemDamage() == itemstack1.getItemDamage()) && ItemStack.areItemStackTagsEqual(par1ItemStack, itemstack1)) { - int l = itemstack1.stackSize + par1ItemStack.stackSize; + if (slot.isItemValid(par1ItemStack) && !itemstack1.isEmpty() && itemstack1.getItem() == par1ItemStack.getItem() && (!par1ItemStack.getHasSubtypes() || par1ItemStack.getItemDamage() == itemstack1.getItemDamage()) && ItemStack.areItemStackTagsEqual(par1ItemStack, itemstack1)) { + int l = itemstack1.getCount() + par1ItemStack.getCount(); int maxSize = Math.min(slot.getSlotStackLimit(), par1ItemStack.getMaxStackSize()); if (l <= maxSize) { - par1ItemStack.stackSize = 0; - itemstack1.stackSize = l; + par1ItemStack.setCount(0); + itemstack1.setCount(1); slot.onSlotChanged(); flag1 = true; - } else if (itemstack1.stackSize < maxSize) { - par1ItemStack.stackSize -= maxSize - itemstack1.stackSize; - itemstack1.stackSize = maxSize; + } else if (itemstack1.getCount() < maxSize) { + par1ItemStack.splitStack(maxSize - itemstack1.getCount()); + itemstack1.setCount(maxSize); slot.onSlotChanged(); flag1 = true; } @@ -133,7 +119,7 @@ protected boolean mergeItemStack(ItemStack par1ItemStack, int par2, int par3, bo } } - if (par1ItemStack.stackSize > 0) { + if (!par1ItemStack.isEmpty()) { if (par4) { k = par3 - 1; } else { @@ -141,31 +127,27 @@ protected boolean mergeItemStack(ItemStack par1ItemStack, int par2, int par3, bo } while (!par4 && k < par3 || par4 && k >= par2) { - slot = (Slot) this.inventorySlots.get(k); + slot = this.inventorySlots.get(k); itemstack1 = slot.getStack(); - if (itemstack1 == null && slot.isItemValid(par1ItemStack)) { - int l = par1ItemStack.stackSize; + if (!itemstack1.isEmpty() && slot.isItemValid(par1ItemStack)) { + int l = par1ItemStack.getCount(); int maxSize = Math.min(slot.getSlotStackLimit(), par1ItemStack.getMaxStackSize()); if (l <= maxSize) { slot.putStack(par1ItemStack.copy()); slot.onSlotChanged(); - par1ItemStack.stackSize = 0; + par1ItemStack.setCount(0); flag1 = true; break; } else { - par1ItemStack.stackSize -= maxSize; + par1ItemStack.splitStack(maxSize); ItemStack newItemStack = par1ItemStack.copy(); - newItemStack.stackSize = maxSize; + newItemStack.setCount(maxSize); slot.putStack(newItemStack); slot.onSlotChanged(); flag1 = true; break; } - /* - * slot.putStack(par1ItemStack.copy()); slot.onSlotChanged(); par1ItemStack.stackSize = 0; flag1 = true; - */ - // break; } if (par4) { @@ -183,10 +165,10 @@ protected boolean mergeItemStack(ItemStack par1ItemStack, int par2, int par3, bo public ItemStack slotClick(int arg0, int arg1, ClickType type, EntityPlayer arg3) { if (arg0 >= this.inventorySlots.size()) { System.out.println("Damned !!! What happen ?"); - Utils.addChatMessage(arg3, "Damn! Sorry, this is a debug"); - Utils.addChatMessage(arg3, "message from Electrical age."); - Utils.addChatMessage(arg3, "Could you send me a message about that?"); - Utils.addChatMessage(arg3, "Thanks :D"); + Utils.sendMessage(arg3, "Damn! Sorry, this is a debug"); + Utils.sendMessage(arg3, "message from Electrical age."); + Utils.sendMessage(arg3, "Could you send me a message about that?"); + Utils.sendMessage(arg3, "Thanks :D"); return null; } return super.slotClick(arg0, arg1, type, arg3); diff --git a/src/main/java/mods/eln/misc/BoundingBox.java b/src/main/java/mods/eln/misc/BoundingBox.java deleted file mode 100644 index e2fa39deb..000000000 --- a/src/main/java/mods/eln/misc/BoundingBox.java +++ /dev/null @@ -1,52 +0,0 @@ -package mods.eln.misc; - -import com.google.common.base.Objects; -import net.minecraft.util.math.Vec3d; - - -public class BoundingBox { - public final Vec3d min, max; - - public BoundingBox(float xMin, float xMax, float yMin, float yMax, float zMin, float zMax) { - min = new Vec3d(xMin, yMin, zMin); - max = new Vec3d(xMax, yMax, zMax); - } - - public static BoundingBox mergeIdentity() { - return new BoundingBox( - Float.POSITIVE_INFINITY, - Float.NEGATIVE_INFINITY, - Float.POSITIVE_INFINITY, - Float.NEGATIVE_INFINITY, - Float.POSITIVE_INFINITY, - Float.NEGATIVE_INFINITY - ); - } - - public BoundingBox merge(BoundingBox other) { - return new BoundingBox( - (float) Math.min(min.xCoord, other.min.xCoord), - (float) Math.max(max.xCoord, other.max.xCoord), - (float) Math.min(min.yCoord, other.min.yCoord), - (float) Math.max(max.yCoord, other.max.yCoord), - (float) Math.min(min.zCoord, other.min.zCoord), - (float) Math.max(max.zCoord, other.max.zCoord) - ); - } - - public Vec3d centre() { - return new Vec3d( - min.xCoord + (max.xCoord - min.xCoord) / 2, - min.yCoord + (max.yCoord - min.yCoord) / 2, - min.zCoord + (max.zCoord - min.zCoord) / 2 - ); - } - - @Override - public String toString() { - return Objects.toStringHelper(this) - .add("min", min) - .add("max", max) - .toString(); - } -} diff --git a/src/main/java/mods/eln/misc/BoundingBox.kt b/src/main/java/mods/eln/misc/BoundingBox.kt new file mode 100644 index 000000000..70f68ffd2 --- /dev/null +++ b/src/main/java/mods/eln/misc/BoundingBox.kt @@ -0,0 +1,43 @@ +package mods.eln.misc + +import net.minecraft.util.math.Vec3d + +@Deprecated("The Minecraft one should do fine.") +class BoundingBox(xMin: Float, xMax: Float, yMin: Float, yMax: Float, zMin: Float, zMax: Float) { + val min: Vec3d = Vec3d(xMin.toDouble(), yMin.toDouble(), zMin.toDouble()) + val max: Vec3d = Vec3d(xMax.toDouble(), yMax.toDouble(), zMax.toDouble()) + + fun merge(other: BoundingBox): BoundingBox { + return BoundingBox( + Math.min(min.x, other.min.x).toFloat(), + Math.max(max.x, other.max.x).toFloat(), + Math.min(min.y, other.min.y).toFloat(), + Math.max(max.y, other.max.y).toFloat(), + Math.min(min.z, other.min.z).toFloat(), + Math.max(max.z, other.max.z).toFloat() + ) + } + + fun centre(): Vec3d { + return Vec3d( + min.x + (max.x - min.x) / 2, + min.y + (max.y - min.y) / 2, + min.z + (max.z - min.z) / 2 + ) + } + + companion object { + fun mergeIdentity(): BoundingBox { + return BoundingBox( + java.lang.Float.POSITIVE_INFINITY, + java.lang.Float.NEGATIVE_INFINITY, + java.lang.Float.POSITIVE_INFINITY, + java.lang.Float.NEGATIVE_INFINITY, + java.lang.Float.POSITIVE_INFINITY, + java.lang.Float.NEGATIVE_INFINITY + ) + } + } + + override fun toString() = "min: $min, max: $max" +} diff --git a/src/main/java/mods/eln/misc/Coordinate.java b/src/main/java/mods/eln/misc/Coordinate.java index 55d9f087d..3758a875e 100644 --- a/src/main/java/mods/eln/misc/Coordinate.java +++ b/src/main/java/mods/eln/misc/Coordinate.java @@ -84,7 +84,9 @@ public int getDimension() { public World world() { if (w == null) { // TODO(1.12): This is not cached. Oversight or deliberate? - return FMLCommonHandler.instance().getMinecraftServerInstance().worldServerForDimension(getDimension()); + return FMLCommonHandler.instance() + .getMinecraftServerInstance() + .getWorld(getDimension()); } return w; } @@ -160,7 +162,7 @@ public void setPosition(double[] vp) { } public void setPosition(Vec3d vp) { - pos.setPos(vp.xCoord, vp.yCoord, vp.zCoord); + pos.setPos(vp.x, vp.y, vp.z); } public TileEntity getTileEntity() { @@ -189,10 +191,10 @@ public void applyTransformation(Direction front, Coordinate coordinate) { pos.getZ() + o.getZ()); } - public void setWorld(World worldObj) { - if (worldObj.isRemote) - w = worldObj; - dimension = worldObj.provider.getDimension(); + public void setWorld(World world) { + if (world.isRemote) + w = world; + dimension = world.provider.getDimension(); } public void setBlock(Block b) { diff --git a/src/main/java/mods/eln/misc/Direction.java b/src/main/java/mods/eln/misc/Direction.java index 8f0de009c..640e1c087 100644 --- a/src/main/java/mods/eln/misc/Direction.java +++ b/src/main/java/mods/eln/misc/Direction.java @@ -475,7 +475,7 @@ static public Direction readFromNBT(NBTTagCompound nbt, String name) { } public Vec3d rotateFromXN(Vec3d vec) { - double x = vec.xCoord, y = vec.yCoord, z = vec.zCoord; + double x = vec.x, y = vec.y, z = vec.z; switch (this) { case XN: break; @@ -527,31 +527,31 @@ public void rotateFromXN(int[] p) { // public void rotateFromXN(Vec3d p) { -// double x = p.xCoord, y = p.yCoord, z = p.zCoord; +// double x = p.x, y = p.y, z = p.z; // switch (this) { // case XN: // break; // case XP: -// p.xCoord = -x; -// p.zCoord = -z; +// p.x = -x; +// p.z = -z; // break; // case YN: -// p.xCoord = y; -// p.yCoord = x; -// p.zCoord = -z; +// p.x = y; +// p.y = x; +// p.z = -z; // break; // case YP: -// p.xCoord = y; -// p.yCoord = -x; -// p.zCoord = z; +// p.x = y; +// p.y = -x; +// p.z = z; // break; // case ZN: -// p.xCoord = -z; -// p.zCoord = x; +// p.x = -z; +// p.z = x; // break; // case ZP: -// p.xCoord = z; -// p.zCoord = -x; +// p.x = z; +// p.z = -x; // break; // default: // break; diff --git a/src/main/java/mods/eln/misc/ElnServerPacket.java b/src/main/java/mods/eln/misc/ElnServerPacket.java index d84d294e8..c88d1147c 100644 --- a/src/main/java/mods/eln/misc/ElnServerPacket.java +++ b/src/main/java/mods/eln/misc/ElnServerPacket.java @@ -35,7 +35,7 @@ public ElnServerPacket(String channelName, byte[] buf) { public void readPacketData(PacketBuffer buf) { try { - this.channelName = buf.readStringFromBuffer(20); + this.channelName = buf.readString(20); } catch (Exception e) { e.printStackTrace(); } diff --git a/src/main/java/mods/eln/misc/FakeSideInventory.java b/src/main/java/mods/eln/misc/FakeSideInventory.java index 5818e25d4..9f7cec973 100644 --- a/src/main/java/mods/eln/misc/FakeSideInventory.java +++ b/src/main/java/mods/eln/misc/FakeSideInventory.java @@ -36,7 +36,11 @@ public ItemStack removeStackFromSlot(int var1) { @Override public void setInventorySlotContents(int var1, ItemStack var2) { + } + @Override + public boolean isEmpty() { + return true; } @Override @@ -61,11 +65,10 @@ public int getInventoryStackLimit() { @Override public void markDirty() { - } @Override - public boolean isUseableByPlayer(EntityPlayer var1) { + public boolean isUsableByPlayer(EntityPlayer player) { return false; } diff --git a/src/main/java/mods/eln/misc/LRDU.java b/src/main/java/mods/eln/misc/LRDU.java index f84cebfc0..78e846bd8 100644 --- a/src/main/java/mods/eln/misc/LRDU.java +++ b/src/main/java/mods/eln/misc/LRDU.java @@ -191,8 +191,8 @@ public void rotateOnXnLeft(double[] v) { public Vec3d rotateOnXnLeft(Vec3d v) { double x = v.x; - double y = v.yCoord; - double z = v.zCoord; + double y = v.y; + double z = v.z; switch (this) { case Left: return v; diff --git a/src/main/java/mods/eln/misc/LiveDataManager.java b/src/main/java/mods/eln/misc/LiveDataManager.java index fb40bd1b9..d5353f936 100644 --- a/src/main/java/mods/eln/misc/LiveDataManager.java +++ b/src/main/java/mods/eln/misc/LiveDataManager.java @@ -1,5 +1,6 @@ package mods.eln.misc; +import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.fml.common.FMLCommonHandler; import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; import net.minecraftforge.fml.common.gameevent.TickEvent.Phase; @@ -14,7 +15,7 @@ public class LiveDataManager { public LiveDataManager() { - FMLCommonHandler.instance().bus().register(this); + MinecraftForge.EVENT_BUS.register(this); } public void start() { diff --git a/src/main/java/mods/eln/misc/Obj3D.java b/src/main/java/mods/eln/misc/Obj3D.java index 7803b3cb6..7730fd7e8 100644 --- a/src/main/java/mods/eln/misc/Obj3D.java +++ b/src/main/java/mods/eln/misc/Obj3D.java @@ -264,7 +264,7 @@ public void draw(float texOffsetX, float texOffsetY) { // Returns the bounding box of the vertices we'd draw. public BoundingBox boundingBox() { if (boundingBox == null) { - BoundingBox box = BoundingBox.mergeIdentity(); + BoundingBox box = BoundingBox.Companion.mergeIdentity(); for (FaceGroup fg : faceGroup) { box = box.merge(fg.boundingBox()); } diff --git a/src/main/java/mods/eln/misc/Recipe.java b/src/main/java/mods/eln/misc/Recipe.java index bdbe6a51a..5042c7c3d 100644 --- a/src/main/java/mods/eln/misc/Recipe.java +++ b/src/main/java/mods/eln/misc/Recipe.java @@ -23,8 +23,8 @@ public Recipe(ItemStack input, ItemStack output, double energy) { } public boolean canBeCraftedBy(ItemStack stack) { - if (stack == null) return false; - return input.stackSize <= stack.stackSize && Utils.areSame(stack, input); + if (stack.isEmpty()) return false; + return input.getCount() <= stack.getCount() && Utils.areSame(stack, input); } public ItemStack[] getOutputCopy() { diff --git a/src/main/java/mods/eln/misc/RecipesList.java b/src/main/java/mods/eln/misc/RecipesList.java index be4b34b14..a0d57d304 100644 --- a/src/main/java/mods/eln/misc/RecipesList.java +++ b/src/main/java/mods/eln/misc/RecipesList.java @@ -60,7 +60,7 @@ public ArrayList getRecipeFromOutput(ItemStack output) { public static ArrayList getGlobalRecipeWithOutput(ItemStack output) { output = output.copy(); - output.stackSize = 1; + output.setCount(1); ArrayList list = new ArrayList(); for (RecipesList recipesList : listOfList) { list.addAll(recipesList.getRecipeFromOutput(output)); @@ -69,19 +69,13 @@ public static ArrayList getGlobalRecipeWithOutput(ItemStack output) { FurnaceRecipes furnaceRecipes = FurnaceRecipes.instance(); { - Iterator it = furnaceRecipes.getSmeltingList().entrySet().iterator(); - while (it.hasNext()) { - try { - Map.Entry pairs = (Map.Entry) it.next(); - Recipe recipe; // List, ItemStack - ItemStack stack = (ItemStack) pairs.getValue(); - ItemStack li = (ItemStack) pairs.getKey(); - if (Utils.areSame(output, stack)) { - list.add(recipe = new Recipe(li.copy(), output, ElectricalFurnaceProcess.energyNeededPerSmelt)); - recipe.setMachineList(Eln.instance.furnaceList); - } - } catch (Exception e) { - // TODO: handle exception + for (Map.Entry itemStackItemStackEntry : furnaceRecipes.getSmeltingList().entrySet()) { + Recipe recipe; + ItemStack stack = (ItemStack) ((Map.Entry) itemStackItemStackEntry).getValue(); + ItemStack li = (ItemStack) ((Map.Entry) itemStackItemStackEntry).getKey(); + if (Utils.areSame(output, stack)) { + list.add(recipe = new Recipe(li.copy(), output, ElectricalFurnaceProcess.energyNeededPerSmelt)); + recipe.setMachineList(Eln.instance.furnaceList); } } } @@ -91,7 +85,7 @@ public static ArrayList getGlobalRecipeWithOutput(ItemStack output) { public static ArrayList getGlobalRecipeWithInput(ItemStack input) { input = input.copy(); - input.stackSize = 64; + input.setCount(64); ArrayList list = new ArrayList(); for (RecipesList recipesList : listOfList) { Recipe r = recipesList.getRecipe(input); @@ -102,19 +96,13 @@ public static ArrayList getGlobalRecipeWithInput(ItemStack input) { FurnaceRecipes furnaceRecipes = FurnaceRecipes.instance(); ItemStack smeltResult = furnaceRecipes.getSmeltingResult(input); Recipe smeltRecipe; - if (smeltResult != null) { - try { - ItemStack input1 = input.copy(); - input1.stackSize = 1; - list.add(smeltRecipe = new Recipe(input1, smeltResult, ElectricalFurnaceProcess.energyNeededPerSmelt)); - smeltRecipe.machineList.addAll(Eln.instance.furnaceList); - } catch (Exception e) { - // TODO: handle exception - } + if (!smeltResult.isEmpty()) { + ItemStack input1 = input.copy(); + input1.setCount(1); + list.add(smeltRecipe = new Recipe(input1, smeltResult, ElectricalFurnaceProcess.energyNeededPerSmelt)); + smeltRecipe.machineList.addAll(Eln.instance.furnaceList); } return list; } } -/* FurnaceRecipes.smelting().addSmelting(in.itemID, in.getItemDamage(), - findItemStack("Copper ingot"), 0);*/ diff --git a/src/main/java/mods/eln/misc/TileEntityDestructor.java b/src/main/java/mods/eln/misc/TileEntityDestructor.java deleted file mode 100644 index 0c70fe9d6..000000000 --- a/src/main/java/mods/eln/misc/TileEntityDestructor.java +++ /dev/null @@ -1,42 +0,0 @@ -package mods.eln.misc; - - -import net.minecraft.util.math.BlockPos; - -import net.minecraftforge.fml.common.FMLCommonHandler; -import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; -import net.minecraftforge.fml.common.gameevent.TickEvent.Phase; -import net.minecraftforge.fml.common.gameevent.TickEvent.ServerTickEvent; -import net.minecraft.tileentity.TileEntity; - -import java.util.ArrayList; - -public class TileEntityDestructor { - - ArrayList destroyList = new ArrayList(); - - public TileEntityDestructor() { - FMLCommonHandler.instance().bus().register(this); - } - - public void clear() { - destroyList.clear(); - } - - public void add(TileEntity tile) { - destroyList.add(tile); - } - - @SubscribeEvent - public void tick(ServerTickEvent event) { - if (event.phase != Phase.START) return; - for (TileEntity t : destroyList) { - BlockPos pos = t.getPos(); - if (t.getWorld().getTileEntity(new BlockPos(pos.getX(), pos.getY(), pos.getZ())) == t) { - t.getWorld().setBlockToAir(new BlockPos(pos.getX(), pos.getY(), pos.getZ())); - Utils.println("destroy light at " + pos.getX() + " " + pos.getY() + " " + pos.getZ()); - } - } - destroyList.clear(); - } -} diff --git a/src/main/java/mods/eln/misc/Utils.java b/src/main/java/mods/eln/misc/Utils.java index 71a54549d..11a0bdbda 100644 --- a/src/main/java/mods/eln/misc/Utils.java +++ b/src/main/java/mods/eln/misc/Utils.java @@ -1,8 +1,10 @@ package mods.eln.misc; import net.minecraft.block.state.IBlockState; +import net.minecraft.inventory.ItemStackHelper; import net.minecraft.util.EnumFacing; import net.minecraft.util.EnumHand; +import net.minecraft.util.NonNullList; import net.minecraft.util.math.AxisAlignedBB; import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.MathHelper; @@ -47,6 +49,7 @@ import net.minecraftforge.oredict.ShapedOreRecipe; import net.minecraftforge.oredict.ShapelessOreRecipe; import org.lwjgl.opengl.GL11; +import sun.plugin.dom.exception.InvalidStateException; import java.io.*; import java.lang.reflect.Field; @@ -379,8 +382,8 @@ public static void readFromNBT(NBTTagCompound nbt, String str, IInventory invent NBTTagCompound var4 = (NBTTagCompound) var2.getCompoundTagAt(var3); int var5 = var4.getByte("Slot") & 255; - if (var5 >= 0 && var5 < inventory.getSizeInventory()) { - inventory.setInventorySlotContents(var5, ItemStack.loadItemStackFromNBT(var4)); + if (var5 < inventory.getSizeInventory()) { + inventory.setInventorySlotContents(var5, new ItemStack(var4)); } } } @@ -389,7 +392,7 @@ public static NBTTagCompound writeToNBT(NBTTagCompound nbt, String str, IInvento NBTTagList var2 = new NBTTagList(); for (int var3 = 0; var3 < inventory.getSizeInventory(); ++var3) { - if (inventory.getStackInSlot(var3) != null) { + if (!inventory.getStackInSlot(var3).isEmpty()) { NBTTagCompound var4 = new NBTTagCompound(); var4.setByte("Slot", (byte) var3); inventory.getStackInSlot(var3).writeToNBT(var4); @@ -539,7 +542,7 @@ public static double getWeatherNoLoad(int dim) { } public static World getWorld(int dim) { - return FMLCommonHandler.instance().getMinecraftServerInstance().worldServerForDimension(dim); + return FMLCommonHandler.instance().getMinecraftServerInstance().getWorld(dim); } public static boolean getWorldExist(int dim) { @@ -572,7 +575,7 @@ public static void dropItem(ItemStack itemStack, BlockPos pos, World world) { double var11 = (double) (world.rand.nextFloat() * var6) + (double) (1.0F - var6) * 0.5D; EntityItem drop = new EntityItem(world, (double) pos.getX() + var7, (double) pos.getY() + var9, (double) pos.getZ() + var11, itemStack); drop.setPickupDelay(10); - world.spawnEntityInWorld(drop); + world.spawnEntity(drop); } } @@ -587,16 +590,16 @@ public static boolean tryPutStackInInventory(ItemStack stack, IInventory invento // First, make a list of possible target slots. ArrayList slots = new ArrayList<>(4); - int need = stack.stackSize; + int need = stack.getCount(); for (int i = 0; i < inventory.getSizeInventory() && need > 0; i++) { ItemStack slot = inventory.getStackInSlot(i); - if (slot != null && slot.stackSize < limit && slot.isItemEqual(stack)) { + if (!slot.isEmpty() && slot.getCount() < limit && slot.isItemEqual(stack)) { slots.add(i); - need -= limit - slot.stackSize; + need -= limit - slot.getCount(); } } for (int i = 0; i < inventory.getSizeInventory() && need > 0; i++) { - if (inventory.getStackInSlot(i) == null) { + if (inventory.getStackInSlot(i).isEmpty()) { slots.add(i); need -= limit; } @@ -608,17 +611,17 @@ public static boolean tryPutStackInInventory(ItemStack stack, IInventory invento } // Yes. Proceed. - int toPut = stack.stackSize; + int toPut = stack.getCount(); for (Integer slot : slots) { ItemStack target = inventory.getStackInSlot(slot); - if (target == null) { + if (target.isEmpty()) { int amount = Math.min(toPut, limit); inventory.setInventorySlotContents(slot, new ItemStack(stack.getItem(), amount, stack.getItemDamage())); toPut -= amount; } else { - int space = limit - target.stackSize; + int space = limit - target.getCount(); int amount = Math.min(toPut, space); - target.stackSize += amount; + target.setCount(target.getCount() + amount); toPut -= amount; } if (toPut <= 0) break; @@ -634,7 +637,7 @@ public static boolean canPutStackInInventory(ItemStack[] stackList, IInventory i ItemStack[] inputStack = new ItemStack[stackList.length]; for (int idx = 0; idx < outputStack.length; idx++) { - if (inventory.getStackInSlot(slotsIdList[idx]) != null) + if (!inventory.getStackInSlot(slotsIdList[idx]).isEmpty()) outputStack[idx] = inventory.getStackInSlot(slotsIdList[idx]).copy(); } for (int idx = 0; idx < stackList.length; idx++) { @@ -654,16 +657,16 @@ public static boolean canPutStackInInventory(ItemStack[] stackList, IInventory i break; } else if (targetStack.isItemEqual(stack)) { // inventory.decrStackSize(idx, -stack.stackSize); - int transferMax = limit - targetStack.stackSize; + int transferMax = limit - targetStack.getCount(); if (transferMax > 0) { - int transfer = stack.stackSize; + int transfer = stack.getCount(); if (transfer > transferMax) transfer = transferMax; - outputStack[idx].stackSize += transfer; - stack.stackSize -= transfer; + outputStack[idx].setCount(outputStack[idx].getCount() + transfer); + stack.setCount(stack.getCount() - transfer); } - if (stack.stackSize == 0) { + if (stack.isEmpty()) { oneStackDone = true; break; } @@ -681,24 +684,24 @@ public static boolean tryPutStackInInventory(ItemStack[] stackList, IInventory i int limit = inventory.getInventoryStackLimit(); for (ItemStack stack : stackList) { - for (int idx = 0; idx < slotsIdList.length; idx++) { - ItemStack targetStack = inventory.getStackInSlot(slotsIdList[idx]); - if (targetStack == null) { - inventory.setInventorySlotContents(slotsIdList[idx], stack.copy()); - stack.stackSize = 0; + for (int i : slotsIdList) { + ItemStack targetStack = inventory.getStackInSlot(i); + if (targetStack.isEmpty()) { + inventory.setInventorySlotContents(i, stack.copy()); + stack.setCount(0); break; } else if (targetStack.isItemEqual(stack)) { // inventory.decrStackSize(idx, -stack.stackSize); - int transferMax = limit - targetStack.stackSize; + int transferMax = limit - targetStack.getCount(); if (transferMax > 0) { - int transfer = stack.stackSize; + int transfer = stack.getCount(); if (transfer > transferMax) transfer = transferMax; - inventory.decrStackSize(slotsIdList[idx], -transfer); - stack.stackSize -= transfer; + inventory.decrStackSize(i, -transfer); + stack.setCount(stack.getCount() - transfer); } - if (stack.stackSize == 0) { + if (stack.isEmpty()) { break; } } @@ -747,7 +750,7 @@ public static EntityItem unserializeItemStackToEntityItem(DataInputStream stream } else { ItemDamage = stream.readShort(); - if (old == null || Item.getIdFromItem(old.getEntityItem().getItem()) != itemId || old.getEntityItem().getItemDamage() != ItemDamage) { + if (old == null || Item.getIdFromItem(old.getItem().getItem()) != itemId || old.getItem().getItemDamage() != ItemDamage) { BlockPos pos = tileEntity.getPos(); return new EntityItem(tileEntity.getWorld(), pos.getX() + 0.5, pos.getY() + 0.5, pos.getZ() + 1.2, Utils.newItemStack(itemId, 1, ItemDamage)); } else { @@ -873,16 +876,17 @@ public static Object getItemObject(ItemStack stack) { return i; } + @Deprecated static public void getItemStack(String name, List list) { // TODO: Fuck this function. Iterator itItem = Item.REGISTRY.iterator(); - List tempList = new ArrayList(3000); + NonNullList tempList = NonNullList.create(); Item item; while (itItem.hasNext()) { item = (Item) itItem.next(); if (item != null) { - item.getSubItems(item, (CreativeTabs) null, tempList); + item.getSubItems(item.getCreativeTab(), tempList); } } @@ -1102,36 +1106,16 @@ public static int readPrivateInt(Object o, String feildName) { Field f = o.getClass().getDeclaredField(feildName); f.setAccessible(true); return f.getInt(o); - } catch (IllegalArgumentException e) { - e.printStackTrace(); - } catch (SecurityException e) { - e.printStackTrace(); - } catch (IllegalAccessException e) { - e.printStackTrace(); - } catch (NoSuchFieldException e) { - e.printStackTrace(); - } - return 0; - } - - public static double readPrivateDouble(Object o, String feildName) { - try { - Field f = o.getClass().getDeclaredField(feildName); - f.setAccessible(true); - return f.getDouble(o); - } catch (IllegalArgumentException e) { - e.printStackTrace(); - } catch (SecurityException e) { - e.printStackTrace(); - } catch (IllegalAccessException e) { - e.printStackTrace(); - } catch (NoSuchFieldException e) { + } catch (IllegalArgumentException | SecurityException | IllegalAccessException | NoSuchFieldException e) { e.printStackTrace(); } return 0; } public static ItemStack[][] getItemStackGrid(IRecipe r) { + throw new InvalidStateException("The wiki should not be used."); +/* + ItemStack[][] stacks = new ItemStack[3][3]; try { if (r instanceof ShapedRecipes) { @@ -1202,9 +1186,13 @@ public static ItemStack[][] getItemStackGrid(IRecipe r) { // TODO: handle exception } return null; +*/ } public static ArrayList getRecipeInputs(IRecipe r) { + throw new InvalidStateException("The wiki should not be used."); +/* + try { ArrayList stacks = new ArrayList(); if (r instanceof ShapedRecipes) { @@ -1241,6 +1229,7 @@ public static ArrayList getRecipeInputs(IRecipe r) { } catch (Exception e) { return new ArrayList(); } +*/ } public static double getWorldTime(World world) { @@ -1253,8 +1242,8 @@ public static boolean isWateryEnoughForTurbine(Coordinate waterCoord) { return Block.isEqualTo(block, FLOWING_WATER) || Block.isEqualTo(block, WATER); } - public static void addChatMessage(EntityPlayer entityPlayer, String string) { - entityPlayer.addChatMessage(new TextComponentString(string)); + public static void sendMessage(EntityPlayer entityPlayer, String string) { + entityPlayer.sendStatusMessage(new TextComponentString(string), true); // TODO(1.12): Or false? } public static ItemStack newItemStack(int i, int size, int damage) { @@ -1308,9 +1297,9 @@ public static Block getBlock(int blockId) { // chunk.generateSkylightMap(); // } // -// public static void updateAllLightTypes(World worldObj, int xCoord, int yCoord, int zCoord) { -// worldObj.func_147451_t(xCoord, yCoord, zCoord); -// worldObj.markBlocksDirtyVertical(xCoord, zCoord, 0, 255); +// public static void updateAllLightTypes(World world, int xCoord, int yCoord, int zCoord) { +// world.func_147451_t(xCoord, yCoord, zCoord); +// world.markBlocksDirtyVertical(xCoord, zCoord, 0, 255); // } public static int getItemId(ItemStack stack) { diff --git a/src/main/java/mods/eln/misc/UtilsClient.java b/src/main/java/mods/eln/misc/UtilsClient.java index 9cab3643b..e1b75fbb4 100644 --- a/src/main/java/mods/eln/misc/UtilsClient.java +++ b/src/main/java/mods/eln/misc/UtilsClient.java @@ -91,7 +91,7 @@ public static void drawHaloNoLightSetup(Obj3DPart halo, float r, float g, float public static void clientOpenGui(GuiScreen gui) { guiLastOpen = gui; EntityPlayerSP clientPlayer = getClientPlayer(); - clientPlayer.openGui(Eln.instance, GuiHandler.genericOpen, clientPlayer.worldObj, 0, 0, 0); + clientPlayer.openGui(Eln.instance, GuiHandler.genericOpen, clientPlayer.world, 0, 0, 0); } public static void drawHalo(Obj3DPart halo, float r, float g, float b, World w, BlockPos pos, boolean bilinear) { @@ -133,9 +133,9 @@ public static void drawHaloNoLightSetup(Obj3DPart halo, float r, float g, float return; if (bilinear) enableBilinear(); - int light = getLight(e.worldObj, new BlockPos(MathHelper.floor(e.posX), MathHelper.floor(e.posY), MathHelper.floor(e.posZ))); + int light = getLight(e.world, new BlockPos(MathHelper.floor(e.posX), MathHelper.floor(e.posY), MathHelper.floor(e.posZ))); // light = - // e.worldObj.getLightBrightnessForSkyBlocks(MathHelper.floor(e.posX), + // e.world.getLightBrightnessForSkyBlocks(MathHelper.floor(e.posX), // MathHelper.floor(e.posY), MathHelper.floor(e.posZ),0); // Utils.println(light); GL11.glColor4f(r, g, b, 1f - (light / 15f)); diff --git a/src/main/java/mods/eln/node/AutoAcceptInventoryProxy.kt b/src/main/java/mods/eln/node/AutoAcceptInventoryProxy.kt index 1c2baa7c7..8e40ef80e 100644 --- a/src/main/java/mods/eln/node/AutoAcceptInventoryProxy.kt +++ b/src/main/java/mods/eln/node/AutoAcceptInventoryProxy.kt @@ -1,5 +1,6 @@ package mods.eln.node +import com.teamwizardry.librarianlib.features.kotlin.isNotEmpty import mods.eln.generic.GenericItemBlockUsingDamageDescriptor import mods.eln.generic.GenericItemUsingDamageDescriptor import mods.eln.item.electricalinterface.IItemEnergyBattery @@ -18,26 +19,30 @@ class AutoAcceptInventoryProxy(val inventory: IInventory) { } private abstract class ItemAcceptor(val index: Int) { - abstract fun take(itemStack: ItemStack?, inventory: IInventory): Boolean + abstract fun take(itemStack: ItemStack, inventory: IInventory): Boolean } private open class ItemAcceptorIfEmpty(index: Int, val acceptedItems: Array>) : ItemAcceptor(index) { - override fun take(itemStack: ItemStack?, inventory: IInventory): Boolean { - if (inventory.getStackInSlot(index) == null) { + override fun take(itemStack: ItemStack, inventory: IInventory): Boolean { + // Do nothing if we already have a stack. + if (inventory.getStackInSlot(index).isEmpty) { GenericItemUsingDamageDescriptor.getDescriptor(itemStack)?.let { desc -> if (acceptedItems.any { it.isAssignableFrom(desc.javaClass) }) { + // We can accept this stack. val newItemStack = desc.newItemStack() + // Propagate battery power. (desc as? IItemEnergyBattery)?.let { it.setEnergy(newItemStack, it.getEnergy(itemStack)) } - itemStack!!.stackSize -= 1 inventory.setInventorySlotContents(index, newItemStack) + // And decrement the one we're taking from. + itemStack.count -= 1 return true } } GenericItemBlockUsingDamageDescriptor.getDescriptor(itemStack)?.let { desc -> if (acceptedItems.any { it.isAssignableFrom(desc.javaClass) }) { - itemStack!!.stackSize -= 1 + itemStack.count -= 1 inventory.setInventorySlotContents(index, desc.newItemStack()) return true } @@ -50,18 +55,18 @@ class AutoAcceptInventoryProxy(val inventory: IInventory) { private open class ItemAcceptorIfIncrement(index: Int, val maxItems: Int, acceptedItems: Array>) : ItemAcceptorIfEmpty(index, acceptedItems) { - override fun take(itemStack: ItemStack?, inventory: IInventory): Boolean { + override fun take(itemStack: ItemStack, inventory: IInventory): Boolean { if (super.take(itemStack, inventory)) return true val existingStack = inventory.getStackInSlot(index) - if (existingStack?.stackSize ?: 0 >= maxItems) return false + if (existingStack.count >= maxItems) return false val existingItemDescriptor = GenericItemUsingDamageDescriptor.getDescriptor(existingStack) val itemDescriptor = GenericItemUsingDamageDescriptor.getDescriptor(itemStack) if (existingItemDescriptor != null && existingItemDescriptor == itemDescriptor) { - itemStack!!.stackSize -= 1 - existingStack!!.stackSize += 1 + itemStack.count -= 1 + existingStack.count += 1 return true } @@ -69,8 +74,8 @@ class AutoAcceptInventoryProxy(val inventory: IInventory) { val itemBlockDescriptor = GenericItemBlockUsingDamageDescriptor.getDescriptor(itemStack) if (existingItemBlockDescriptor != null && existingItemBlockDescriptor == itemBlockDescriptor) { - itemStack!!.stackSize -= 1 - existingStack!!.stackSize += 1 + itemStack.count -= 1 + existingStack.count += 1 return true } @@ -81,16 +86,18 @@ class AutoAcceptInventoryProxy(val inventory: IInventory) { private class ItemAcceptorAlways(index: Int, maxItems: Int, acceptedItems: Array>, val existingItemHandler: ExistingItemHandler?) : ItemAcceptorIfIncrement(index, maxItems, acceptedItems) { - override fun take(itemStack: ItemStack?, inventory: IInventory): Boolean { + override fun take(itemStack: ItemStack, inventory: IInventory): Boolean { if (super.take(itemStack, inventory)) return true - if (itemStack == null) return false + if (itemStack.isEmpty) return false // TODO: What do we do with the item that is actually in the slot? For the moment it just disappears. GenericItemUsingDamageDescriptor.getDescriptor(itemStack)?.let { if (acceptedItems.contains(it.javaClass)) { - itemStack.stackSize -= 1 - inventory.getStackInSlot(index)?.let { - existing -> existingItemHandler?.handleExistingInventoryItem(existing) } + itemStack.count -= 1 + val inSlot = inventory.getStackInSlot(index) + if (inSlot.isNotEmpty) { + existingItemHandler?.handleExistingInventoryItem(inSlot) + } inventory.setInventorySlotContents(index, it.newItemStack()) return true } @@ -98,9 +105,11 @@ class AutoAcceptInventoryProxy(val inventory: IInventory) { GenericItemBlockUsingDamageDescriptor.getDescriptor(itemStack)?.let { if (acceptedItems.contains(it.javaClass)) { - itemStack.stackSize -= 1 - inventory.getStackInSlot(index)?.let { - existing -> existingItemHandler?.handleExistingInventoryItem(existing) } + itemStack.count -= 1 + val inSlot = inventory.getStackInSlot(index) + if (inSlot.isNotEmpty) { + existingItemHandler?.handleExistingInventoryItem(inSlot) + } inventory.setInventorySlotContents(index, it.newItemStack()) return true } @@ -134,9 +143,9 @@ class AutoAcceptInventoryProxy(val inventory: IInventory) { return this } - fun take(itemStack: ItemStack?) = itemAcceptors.filterNotNull().any { it.take(itemStack, inventory) } + fun take(itemStack: ItemStack) = itemAcceptors.filterNotNull().any { it.take(itemStack, inventory) } - fun take(itemStack: ItemStack?, nodeElement: INodeElement?, publish: Boolean = false, + fun take(itemStack: ItemStack, nodeElement: INodeElement?, publish: Boolean = false, notifyInventoryChange: Boolean = false) = if (take(itemStack)) { if (publish) { diff --git a/src/main/java/mods/eln/node/NodeBase.java b/src/main/java/mods/eln/node/NodeBase.java index 2a0c79920..4cee4469f 100644 --- a/src/main/java/mods/eln/node/NodeBase.java +++ b/src/main/java/mods/eln/node/NodeBase.java @@ -87,7 +87,7 @@ public void networkUnserialize(DataInputStream stream, EntityPlayerMP player) { } public void notifyNeighbor() { - coordinate.world().notifyNeighborsRespectDebug(coordinate.pos, coordinate.getBlockState().getBlock()); + coordinate.world().notifyNeighborsRespectDebug(coordinate.pos, coordinate.getBlockState().getBlock(), true); } //public abstract Block getBlock(); @@ -205,17 +205,17 @@ public void onBreakBlock() { } public boolean onBlockActivated(EntityPlayer entityPlayer, Direction side, float vx, float vy, float vz) { - if (!entityPlayer.worldObj.isRemote && entityPlayer.getHeldItemMainhand() != null) { + if (!entityPlayer.world.isRemote) { if (Eln.multiMeterElement.checkSameItemStack(entityPlayer.getHeldItemMainhand())) { String str = multiMeterString(side); if (str != null) - Utils.addChatMessage(entityPlayer, str); + Utils.sendMessage(entityPlayer, str); return true; } if (Eln.thermometerElement.checkSameItemStack(entityPlayer.getHeldItemMainhand())) { String str = thermoMeterString(side); if (str != null) - Utils.addChatMessage(entityPlayer, str); + Utils.sendMessage(entityPlayer, str); return true; } if (Eln.allMeterElement.checkSameItemStack(entityPlayer.getHeldItemMainhand())) { @@ -226,8 +226,8 @@ public boolean onBlockActivated(EntityPlayer entityPlayer, Direction side, float str += str1; if (str2 != null) str += str2; - if (str.equals("") == false) - Utils.addChatMessage(entityPlayer, str); + if (!str.equals("")) + Utils.sendMessage(entityPlayer, str); return true; } } @@ -490,7 +490,7 @@ public void sendPacketToAllClient(ByteArrayOutputStream bos, double range) { for (Object obj : server.getEntityWorld().playerEntities) { EntityPlayerMP player = (EntityPlayerMP) obj; - WorldServer worldServer = (WorldServer) server.worldServerForDimension(player.dimension); + WorldServer worldServer = server.getWorld(player.dimension); if (player.dimension != this.coordinate.getDimension()) continue; if (!worldServer.getPlayerChunkMap().isPlayerWatchingChunk(player, coordinate.pos.getX() / 16, coordinate.pos.getZ() / 16)) continue; @@ -533,7 +533,7 @@ public void publishToAllPlayer() { MinecraftServer server = FMLCommonHandler.instance().getMinecraftServerInstance(); for (Object obj : server.getEntityWorld().playerEntities) { EntityPlayerMP player = (EntityPlayerMP) obj; - WorldServer worldServer = (WorldServer) server.worldServerForDimension(player.dimension); + WorldServer worldServer = server.getWorld(player.dimension); if (player.dimension != this.coordinate.getDimension()) continue; if (!worldServer.getPlayerChunkMap().isPlayerWatchingChunk(player, coordinate.pos.getX() / 16, coordinate.pos.getZ() / 16)) continue; @@ -550,6 +550,7 @@ public void publishToPlayer(EntityPlayerMP player) { Utils.sendPacketToClient(getPublishPacket(), player); } + @Deprecated // WTF public void dropItem(ItemStack itemStack) { if (itemStack == null) return; World w = coordinate.world(); @@ -561,7 +562,7 @@ public void dropItem(ItemStack itemStack) { double var11 = (double) (w.rand.nextFloat() * var6) + (double) (1.0F - var6) * 0.5D; EntityItem var13 = new EntityItem(w, (double) pos.getX() + var7, (double) pos.getY() + var9, (double) pos.getZ() + var11, itemStack); var13.setPickupDelay(10); - w.spawnEntityInWorld(var13); + w.spawnEntity(var13); } } diff --git a/src/main/java/mods/eln/node/NodeBlockEntity.java b/src/main/java/mods/eln/node/NodeBlockEntity.java index 843134640..11a4399ca 100644 --- a/src/main/java/mods/eln/node/NodeBlockEntity.java +++ b/src/main/java/mods/eln/node/NodeBlockEntity.java @@ -1,8 +1,6 @@ package mods.eln.node; -import io.netty.buffer.ByteBuf; -import io.netty.buffer.Unpooled; import mods.eln.Eln; import mods.eln.cable.CableRenderDescriptor; import mods.eln.misc.*; @@ -15,9 +13,6 @@ import net.minecraft.inventory.Container; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.network.NetworkManager; -import net.minecraft.network.Packet; -import net.minecraft.network.PacketBuffer; -import net.minecraft.network.play.server.SPacketCustomPayload; import net.minecraft.network.play.server.SPacketUpdateTileEntity; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.math.AxisAlignedBB; @@ -59,7 +54,7 @@ public void serverPublishUnserialize(DataInputStream stream) { boolean newRedstone = (b & 0x10) != 0; if (redstone != newRedstone) { redstone = newRedstone; - worldObj.notifyNeighborsRespectDebug(getPos(), getBlockType()); + world.notifyNeighborsRespectDebug(getPos(), getBlockType(), true); } } catch (IOException e) { @@ -68,7 +63,7 @@ public void serverPublishUnserialize(DataInputStream stream) { if (lastLight != light) { lastLight = light; - worldObj.checkLightFor(EnumSkyBlock.BLOCK, getPos()); + world.checkLightFor(EnumSkyBlock.BLOCK, getPos()); } } @@ -84,7 +79,7 @@ public void serverPacketUnserialize(DataInputStream stream) { public abstract int isProvidingWeakPower(Direction side); //{ - //if(worldObj.isRemote) return 0; + //if(world.isRemote) return 0; //return getNode().isProvidingWeakPower(side); //} @@ -120,7 +115,7 @@ public boolean cameraDrawOptimisation() { } public int getLightValue() { - if (worldObj.isRemote) { + if (world.isRemote) { if (lastLight == 0xFF) { return 0; } @@ -163,8 +158,8 @@ void onBlockPlacedBy(Direction front, EntityLivingBase entityLiving, IBlockState @Override public void onLoad() { - if (!worldObj.isRemote) { - // worldObj.setBlock(xCoord, yCoord, zCoord, 0); + if (!world.isRemote) { + // world.setBlock(xCoord, yCoord, zCoord, 0); } else { clientList.add(this); } @@ -173,20 +168,20 @@ public void onLoad() public void onBlockAdded() { - if (!worldObj.isRemote && getNode() == null) { - worldObj.setBlockToAir(pos); + if (!world.isRemote && getNode() == null) { + world.setBlockToAir(pos); } } public void onBreakBlock() { - if (!worldObj.isRemote) { + if (!world.isRemote) { if (getNode() == null) return; getNode().onBreakBlock(); } } public void onChunkUnload() { - if (worldObj.isRemote) { + if (world.isRemote) { destructor(); } } @@ -199,14 +194,14 @@ public void destructor() { @Override public void invalidate() { - if (worldObj.isRemote) { + if (world.isRemote) { destructor(); } super.invalidate(); } public boolean onBlockActivated(EntityPlayer entityPlayer, Direction side, float vx, float vy, float vz) { - if (!worldObj.isRemote) { + if (!world.isRemote) { if (getNode() == null) return false; getNode().onBlockActivated(entityPlayer, side, vx, vy, vz); return true; @@ -219,7 +214,7 @@ public boolean onBlockActivated(EntityPlayer entityPlayer, Direction side, float } public void onNeighborBlockChange() { - if (!worldObj.isRemote) { + if (!world.isRemote) { if (getNode() == null) return; getNode().onNeighborBlockChange(); } @@ -227,19 +222,19 @@ public void onNeighborBlockChange() { public Node getNode() { - if (worldObj.isRemote) { + if (world.isRemote) { Utils.fatal(); return null; } - if (this.worldObj == null) return null; + if (this.world == null) return null; if (node == null) { - NodeBase nodeFromCoordinate = NodeManager.instance.getNodeFromCoordinate(new Coordinate(pos, worldObj)); + NodeBase nodeFromCoordinate = NodeManager.instance.getNodeFromCoordinate(new Coordinate(pos, world)); if (nodeFromCoordinate instanceof Node) { node = (Node) nodeFromCoordinate; } else { - Utils.println("ASSERT WRONG TYPE public Node getNode " + new Coordinate(pos, worldObj)); + Utils.println("ASSERT WRONG TYPE public Node getNode " + new Coordinate(pos, world)); } - if (node == null) DelayedBlockRemove.add(new Coordinate(pos, this.worldObj)); + if (node == null) DelayedBlockRemove.add(new Coordinate(pos, this.world)); } return node; } @@ -247,7 +242,7 @@ public Node getNode() { public static NodeBlockEntity getEntity(BlockPos pos) { TileEntity entity; - if ((entity = Minecraft.getMinecraft().theWorld.getTileEntity(pos)) != null) { + if ((entity = Minecraft.getMinecraft().world.getTileEntity(pos)) != null) { if (entity instanceof NodeBlockEntity) { return (NodeBlockEntity) entity; } @@ -276,7 +271,7 @@ public SPacketUpdateTileEntity getUpdatePacket() { @Override public void onDataPacket(NetworkManager net, SPacketUpdateTileEntity pkt) { - assert(worldObj.isRemote); + assert(world.isRemote); byte[] bytes = pkt.getNbtCompound().getByteArray("eln"); DataInputStream dataInputStream = new DataInputStream(new ByteArrayInputStream(bytes)); Eln.packetHandler.packetRx(dataInputStream, net, Minecraft.getMinecraft().player); @@ -290,7 +285,7 @@ public void preparePacketForServer(DataOutputStream stream) { stream.writeInt(pos.getY()); stream.writeInt(pos.getZ()); - stream.writeByte(worldObj.provider.getDimension()); + stream.writeByte(world.provider.getDimension()); stream.writeUTF(getNodeUuid()); } catch (IOException e) { @@ -312,7 +307,7 @@ public int getCableDry(Direction side, LRDU lrdu) { } public boolean canConnectRedstone(Direction xn) { - if (worldObj.isRemote) + if (world.isRemote) return redstone; else { if (getNode() == null) return false; diff --git a/src/main/java/mods/eln/node/NodeClient.java b/src/main/java/mods/eln/node/NodeClient.java index 072b6cf23..d2434e6d6 100644 --- a/src/main/java/mods/eln/node/NodeClient.java +++ b/src/main/java/mods/eln/node/NodeClient.java @@ -1,6 +1,7 @@ package mods.eln.node; +import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.fml.common.FMLCommonHandler; import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; import net.minecraftforge.fml.common.gameevent.TickEvent.ClientTickEvent; @@ -12,7 +13,7 @@ public class NodeClient { public static final ArrayList nodeNeedRefreshList = new ArrayList(); public NodeClient() { - FMLCommonHandler.instance().bus().register(this); + MinecraftForge.EVENT_BUS.register(this); } public void init() { @@ -58,9 +59,9 @@ public void tick(ClientTickEvent event) { for (NodeBlockEntity node : NodeBlockEntity.nodeAddedList) { - stream.writeShort((short) (node.xCoord - x)); - stream.writeShort((short) (node.yCoord - y)); - stream.writeShort((short) (node.zCoord - z)); + stream.writeShort((short) (node.x - x)); + stream.writeShort((short) (node.y - y)); + stream.writeShort((short) (node.z - z)); } Packet250CustomPayload packet = new Packet250CustomPayload(); diff --git a/src/main/java/mods/eln/node/NodeManagerNbt.java b/src/main/java/mods/eln/node/NodeManagerNbt.java index 11f741265..786367463 100644 --- a/src/main/java/mods/eln/node/NodeManagerNbt.java +++ b/src/main/java/mods/eln/node/NodeManagerNbt.java @@ -1,7 +1,7 @@ package mods.eln.node; import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.world.WorldSavedData; +import net.minecraft.world.storage.WorldSavedData; public class NodeManagerNbt extends WorldSavedData { public NodeManagerNbt(String par1Str) { diff --git a/src/main/java/mods/eln/node/NodeServer.java b/src/main/java/mods/eln/node/NodeServer.java index 555e73786..27f7c9ef8 100644 --- a/src/main/java/mods/eln/node/NodeServer.java +++ b/src/main/java/mods/eln/node/NodeServer.java @@ -1,5 +1,6 @@ package mods.eln.node; +import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.fml.common.FMLCommonHandler; import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; import net.minecraftforge.fml.common.gameevent.TickEvent.Phase; @@ -10,7 +11,7 @@ public class NodeServer { public NodeServer() { - FMLCommonHandler.instance().bus().register(this); + MinecraftForge.EVENT_BUS.register(this); } @@ -37,12 +38,10 @@ public void tick(ServerTickEvent event) { } } - for (Object obj : server.getPlayerList().getPlayerList()) { - EntityPlayerMP player = (EntityPlayerMP) obj; - + for (EntityPlayerMP player : server.getPlayerList().getPlayers()) { NodeBase openContainerNode = null; INodeContainer container = null; - if (player.openContainer != null && player.openContainer instanceof INodeContainer) { + if (player.openContainer instanceof INodeContainer) { container = ((INodeContainer) player.openContainer); openContainerNode = container.getNode(); } diff --git a/src/main/java/mods/eln/node/simple/SimpleNodeBlock.java b/src/main/java/mods/eln/node/simple/SimpleNodeBlock.java index 91bd64dbf..218b47914 100644 --- a/src/main/java/mods/eln/node/simple/SimpleNodeBlock.java +++ b/src/main/java/mods/eln/node/simple/SimpleNodeBlock.java @@ -114,10 +114,11 @@ public void onNeighborChange(IBlockAccess world, BlockPos pos, BlockPos neighbor } // client server + @Override - public boolean onBlockActivated(World world, BlockPos pos, IBlockState state, EntityPlayer entityPlayer, EnumHand hand, @Nullable ItemStack heldItem, EnumFacing side, float vx, float vy, float vz) { + public boolean onBlockActivated(World world, BlockPos pos, IBlockState state, EntityPlayer playerIn, EnumHand hand, EnumFacing facing, float hitX, float hitY, float hitZ) { SimpleNodeEntity entity = (SimpleNodeEntity) world.getTileEntity(pos); - return entity.onBlockActivated(entityPlayer, Direction.fromFacing(side), vx, vy, vz); + return entity.onBlockActivated(playerIn, Direction.fromFacing(facing), hitX, hitY, hitZ); } } diff --git a/src/main/java/mods/eln/node/simple/SimpleNodeEntity.java b/src/main/java/mods/eln/node/simple/SimpleNodeEntity.java index 8d699609f..eb5403d1b 100644 --- a/src/main/java/mods/eln/node/simple/SimpleNodeEntity.java +++ b/src/main/java/mods/eln/node/simple/SimpleNodeEntity.java @@ -32,14 +32,14 @@ public abstract class SimpleNodeEntity extends TileEntity implements INodeEntity private SimpleNode node; public SimpleNode getNode() { - if (worldObj.isRemote) { + if (world.isRemote) { Utils.fatal(); return null; } if (node == null) { - node = (SimpleNode) NodeManager.instance.getNodeFromCoordinate(new Coordinate(pos, worldObj)); + node = (SimpleNode) NodeManager.instance.getNodeFromCoordinate(new Coordinate(pos, world)); if (node == null) { - DelayedBlockRemove.add(new Coordinate(pos, this.worldObj)); + DelayedBlockRemove.add(new Coordinate(pos, this.world)); return null; } } @@ -50,15 +50,15 @@ public SimpleNode getNode() { //***************** Wrapping ************************** void onBlockAdded() { - /*if (!worldObj.isRemote){ + /*if (!world.isRemote){ if (getNode() == null) { - worldObj.setBlockToAir(xCoord, yCoord, zCoord); + world.setBlockToAir(xCoord, yCoord, zCoord); } }*/ } public void onBreakBlock() { - if (!worldObj.isRemote) { + if (!world.isRemote) { if (getNode() == null) return; getNode().onBreakBlock(); } @@ -66,7 +66,7 @@ public void onBreakBlock() { public void onChunkUnload() { super.onChunkUnload(); - if (worldObj.isRemote) { + if (world.isRemote) { destructor(); } } @@ -77,14 +77,14 @@ void destructor() { @Override public void invalidate() { - if (worldObj.isRemote) { + if (world.isRemote) { destructor(); } super.invalidate(); } public boolean onBlockActivated(EntityPlayer entityPlayer, Direction side, float vx, float vy, float vz) { - if (!worldObj.isRemote) { + if (!world.isRemote) { if (getNode() == null) return false; getNode().onBlockActivated(entityPlayer, side, vx, vy, vz); return true; @@ -93,7 +93,7 @@ public boolean onBlockActivated(EntityPlayer entityPlayer, Direction side, float } void onNeighborBlockChange() { - if (!worldObj.isRemote) { + if (!world.isRemote) { if (getNode() == null) return; getNode().onNeighborBlockChange(); } @@ -131,7 +131,7 @@ public SPacketUpdateTileEntity getUpdatePacket() { @Override public void onDataPacket(NetworkManager net, SPacketUpdateTileEntity pkt) { - assert(worldObj.isRemote); + assert(world.isRemote); byte[] bytes = pkt.getNbtCompound().getByteArray("eln"); DataInputStream dataInputStream = new DataInputStream(new ByteArrayInputStream(bytes)); Eln.packetHandler.packetRx(dataInputStream, net, Minecraft.getMinecraft().player); @@ -141,8 +141,8 @@ public void onDataPacket(NetworkManager net, SPacketUpdateTileEntity pkt) { public void serverPublishUnserialize(DataInputStream stream) { try { if (front != (front = Direction.fromInt(stream.readByte()))) { - IBlockState state = this.worldObj.getBlockState(this.pos); - worldObj.notifyBlockUpdate(getPos(), state, state, 0); + IBlockState state = this.world.getBlockState(this.pos); + world.notifyBlockUpdate(getPos(), state, state, 0); } } catch (IOException e) { e.printStackTrace(); diff --git a/src/main/java/mods/eln/node/six/SixNode.java b/src/main/java/mods/eln/node/six/SixNode.java index b9875bc52..383658405 100644 --- a/src/main/java/mods/eln/node/six/SixNode.java +++ b/src/main/java/mods/eln/node/six/SixNode.java @@ -135,7 +135,7 @@ protected void dropItem(ItemStack itemStack) double var11 = (double)(coordinate.world().rand.nextFloat() * var6) + (double)(1.0F - var6) * 0.5D; EntityItem var13 = new EntityItem(coordinate.world(), (double)coordinate.x + var7, (double)coordinate.y + var9, (double)coordinate.z + var11, itemStack); var13.delayBeforeCanPickup = 10; - coordinate.world().spawnEntityInWorld(var13); + coordinate.world().spawnEntity(var13); } }*/ diff --git a/src/main/java/mods/eln/node/six/SixNodeBlock.java b/src/main/java/mods/eln/node/six/SixNodeBlock.java index 74d2abefc..a5c8945c7 100644 --- a/src/main/java/mods/eln/node/six/SixNodeBlock.java +++ b/src/main/java/mods/eln/node/six/SixNodeBlock.java @@ -96,13 +96,11 @@ SixNodeEntity getEntity(World world, BlockPos pos) { } + // TODO(1.12) Whatever this was, it's broken now. // @SideOnly(Side.CLIENT) - public void getSubBlocks(Item par1, CreativeTabs tab, List subItems) { - /* - * for (Integer id : repertoriedItemStackId) { subItems.add(new ItemStack(this, 1, id)); } - */ - Eln.sixNodeItem.getSubItems(par1, tab, subItems); - } +// public void getSubBlocks(Item par1, CreativeTabs tab, List subItems) { +// Eln.sixNodeItem.getSubItems(par1, tab, subItems); +// } @Override public boolean isOpaqueCube(IBlockState state) { @@ -327,75 +325,75 @@ public RayTraceResult collisionRayTrace(IBlockState blockState, World world, Blo } // XN - if (isIn(x, end.xCoord, start.xCoord) && booltemp[0]) { + if (isIn(x, end.x, start.x) && booltemp[0]) { double hitX, hitY, hitZ, ratio; - ratio = (x - start.xCoord) / (end.xCoord - start.xCoord); + ratio = (x - start.x) / (end.x - start.x); if (ratio <= 1.1) { - hitX = start.xCoord + ratio * (end.xCoord - start.xCoord); - hitY = start.yCoord + ratio * (end.yCoord - start.yCoord); - hitZ = start.zCoord + ratio * (end.zCoord - start.zCoord); + hitX = start.x + ratio * (end.x - start.x); + hitY = start.y + ratio * (end.y - start.y); + hitZ = start.z + ratio * (end.z - start.z); if (isIn(hitY, y + w, y + 1 - w) && isIn(hitZ, z + w, z + 1 - w)) return new RayTraceResult(new Vec3d(hitX, hitY, hitZ), Direction.XN.toForge(), pos); } } // XP - if (isIn(x + 1, start.xCoord, end.xCoord) && booltemp[1]) { + if (isIn(x + 1, start.x, end.x) && booltemp[1]) { double hitX, hitY, hitZ, ratio; - ratio = (x + 1 - start.xCoord) / (end.xCoord - start.xCoord); + ratio = (x + 1 - start.x) / (end.x - start.x); if (ratio <= 1.1) { - hitX = start.xCoord + ratio * (end.xCoord - start.xCoord); - hitY = start.yCoord + ratio * (end.yCoord - start.yCoord); - hitZ = start.zCoord + ratio * (end.zCoord - start.zCoord); + hitX = start.x + ratio * (end.x - start.x); + hitY = start.y + ratio * (end.y - start.y); + hitZ = start.z + ratio * (end.z - start.z); if (isIn(hitY, y + w, y + 1 - w) && isIn(hitZ, z + w, z + 1 - w)) return new RayTraceResult(new Vec3d(hitX, hitY, hitZ), Direction.XP.toForge(), pos); } } // YN - if (isIn(y, end.yCoord, start.yCoord) && booltemp[2]) { + if (isIn(y, end.y, start.y) && booltemp[2]) { double hitX, hitY, hitZ, ratio; - ratio = (y - start.yCoord) / (end.yCoord - start.yCoord); + ratio = (y - start.y) / (end.y - start.y); if (ratio <= 1.1) { - hitX = start.xCoord + ratio * (end.xCoord - start.xCoord); - hitY = start.yCoord + ratio * (end.yCoord - start.yCoord); - hitZ = start.zCoord + ratio * (end.zCoord - start.zCoord); + hitX = start.x + ratio * (end.x - start.x); + hitY = start.y + ratio * (end.y - start.y); + hitZ = start.z + ratio * (end.z - start.z); if (isIn(hitX, x + w, x + 1 - w) && isIn(hitZ, z + w, z + 1 - w)) return new RayTraceResult(new Vec3d(hitX, hitY, hitZ), Direction.YN.toForge(), pos); } } // YP - if (isIn(y + 1, start.yCoord, end.yCoord) && booltemp[3]) { + if (isIn(y + 1, start.y, end.y) && booltemp[3]) { double hitX, hitY, hitZ, ratio; - ratio = (y + 1 - start.yCoord) / (end.yCoord - start.yCoord); + ratio = (y + 1 - start.y) / (end.y - start.y); if (ratio <= 1.1) { - hitX = start.xCoord + ratio * (end.xCoord - start.xCoord); - hitY = start.yCoord + ratio * (end.yCoord - start.yCoord); - hitZ = start.zCoord + ratio * (end.zCoord - start.zCoord); + hitX = start.x + ratio * (end.x - start.x); + hitY = start.y + ratio * (end.y - start.y); + hitZ = start.z + ratio * (end.z - start.z); if (isIn(hitX, x + w, x + 1 - w) && isIn(hitZ, z + w, z + 1 - w)) return new RayTraceResult(new Vec3d(hitX, hitY, hitZ), Direction.YP.toForge(), pos); } } // ZN - if (isIn(z, end.zCoord, start.zCoord) && booltemp[4]) { + if (isIn(z, end.z, start.z) && booltemp[4]) { double hitX, hitY, hitZ, ratio; - ratio = (z - start.zCoord) / (end.zCoord - start.zCoord); + ratio = (z - start.z) / (end.z - start.z); if (ratio <= 1.1) { - hitX = start.xCoord + ratio * (end.xCoord - start.xCoord); - hitY = start.yCoord + ratio * (end.yCoord - start.yCoord); - hitZ = start.zCoord + ratio * (end.zCoord - start.zCoord); + hitX = start.x + ratio * (end.x - start.x); + hitY = start.y + ratio * (end.y - start.y); + hitZ = start.z + ratio * (end.z - start.z); if (isIn(hitY, y + w, y + 1 - w) && isIn(hitX, x + w, x + 1 - w)) return new RayTraceResult(new Vec3d(hitX, hitY, hitZ), Direction.ZN.toForge(), pos); } } // ZP - if (isIn(z + 1, start.zCoord, end.zCoord) && booltemp[5]) { + if (isIn(z + 1, start.z, end.z) && booltemp[5]) { double hitX, hitY, hitZ, ratio; - ratio = (z + 1 - start.zCoord) / (end.zCoord - start.zCoord); + ratio = (z + 1 - start.z) / (end.z - start.z); if (ratio <= 1.1) { - hitX = start.xCoord + ratio * (end.xCoord - start.xCoord); - hitY = start.yCoord + ratio * (end.yCoord - start.yCoord); - hitZ = start.zCoord + ratio * (end.zCoord - start.zCoord); + hitX = start.x + ratio * (end.x - start.x); + hitY = start.y + ratio * (end.y - start.y); + hitZ = start.z + ratio * (end.z - start.z); if (isIn(hitY, y + w, y + 1 - w) && isIn(hitX, x + w, x + 1 - w)) return new RayTraceResult(new Vec3d(hitX, hitY, hitZ), Direction.ZP.toForge(), pos); } @@ -416,7 +414,7 @@ private RayTraceResult collisionRayTrace(World world, BlockPos pos, EntityPlayer if (!world.isRemote) start = start.addVector(0, 1.62, 0); Vec3d var5 = entityLiving.getLook(0.5f); - Vec3d end = start.addVector(var5.xCoord * distanceMax, var5.yCoord * distanceMax, var5.zCoord * distanceMax); + Vec3d end = start.addVector(var5.x * distanceMax, var5.y * distanceMax, var5.z * distanceMax); return collisionRayTrace(world.getBlockState(pos), world, pos, start, end); } diff --git a/src/main/java/mods/eln/node/six/SixNodeDescriptor.java b/src/main/java/mods/eln/node/six/SixNodeDescriptor.java index 7ecf4422d..8eaa657e6 100644 --- a/src/main/java/mods/eln/node/six/SixNodeDescriptor.java +++ b/src/main/java/mods/eln/node/six/SixNodeDescriptor.java @@ -64,7 +64,7 @@ public boolean canBePlacedOnSide(EntityPlayer player, Direction side) { if (d == side) return true; } - Utils.addChatMessage(player, tr("You can't place this block at this side")); + Utils.sendMessage(player, tr("You can't place this block at this side")); return false; } return true; diff --git a/src/main/java/mods/eln/node/six/SixNodeElementInventory.java b/src/main/java/mods/eln/node/six/SixNodeElementInventory.java index 956ab2262..076107afd 100644 --- a/src/main/java/mods/eln/node/six/SixNodeElementInventory.java +++ b/src/main/java/mods/eln/node/six/SixNodeElementInventory.java @@ -7,6 +7,8 @@ import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.text.ITextComponent; +import net.minecraft.util.text.TextComponentString; +import org.jetbrains.annotations.NotNull; public class SixNodeElementInventory implements IInventory, INBTTReady { SixNodeElementRender sixnodeRender = null; @@ -35,11 +37,11 @@ private ItemStack[] getInv() { @Override public int getSizeInventory() { - return getInv().length; } + @NotNull @Override public ItemStack getStackInSlot(int slot) { @@ -48,47 +50,34 @@ public ItemStack getStackInSlot(int slot) { } + @NotNull @Override public ItemStack decrStackSize(int slot, int amt) { ItemStack stack = getStackInSlot(slot); - if (stack != null) { - if (stack.stackSize <= amt) { - setInventorySlotContents(slot, null); - } else { - stack = stack.splitStack(amt); - if (stack.stackSize == 0) { - setInventorySlotContents(slot, null); - } - } - } + stack.splitStack(amt); return stack; } + @NotNull @Override public ItemStack removeStackFromSlot(int slot) { ItemStack stack = getStackInSlot(slot); - if (stack != null) { - setInventorySlotContents(slot, null); - } + stack.setCount(0); return stack; } @Override - public void setInventorySlotContents(int slot, ItemStack stack) { - try { - getInv()[slot] = stack; - if (stack != null && stack.stackSize > getInventoryStackLimit()) { - stack.stackSize = getInventoryStackLimit(); - } - } catch (Exception e) { - // TODO: handle exception + public void setInventorySlotContents(int slot, @NotNull ItemStack stack) { + getInv()[slot] = stack; + int stackLimit = getInventoryStackLimit(); + if (stack.getCount() > stackLimit) { + stack.setCount(stackLimit); } - - } + @NotNull @Override public String getName() { return "tco.SixNodeInventory"; @@ -97,37 +86,21 @@ public String getName() { @Override public int getInventoryStackLimit() { - return stackLimit; } - @Override - public boolean isUseableByPlayer(EntityPlayer player) { - - /*if(sixNodeElement != null) - { - SixNode sixNode = (SixNode) NodeManager.instance.getNodeFromCoordonate(sixNodeElement.sixNode.coordinate); - if(sixNode == null) return false; - if(sixNode.sideElementList[sixNodeElement.side.getInt()] != sixNodeElement) return false; - // if( != transparentNodeElement.node) return false; - return player.getDistanceSq(sixNodeElement.sixNode.coordinate.x + 0.5, sixNodeElement.sixNode.coordinate.y + 0.5, sixNodeElement.sixNode.coordinate.z + 0.5) < 18; - }*/ + public boolean isUsableByPlayer(@NotNull EntityPlayer player) { return true; - -/* if(sixNodeElement != null) - return player.getDistanceSq(sixNodeElement.sixNode.coordinate.x + 0.5, sixNodeElement.sixNode.coordinate.y + 0.5, sixNodeElement.sixNode.coordinate.z + 0.5) < 18; - return player.getDistanceSq(sixnodeRender.tileEntity.xCoord + 0.5, sixnodeRender.tileEntity.yCoord + 0.5, sixnodeRender.tileEntity.zCoord + 0.5) < 18; -*/ } @Override - public void openInventory(EntityPlayer player) { + public void openInventory(@NotNull EntityPlayer player) { } @Override - public void closeInventory(EntityPlayer player) { + public void closeInventory(@NotNull EntityPlayer player) { } @@ -153,8 +126,7 @@ public NBTTagCompound writeToNBT(NBTTagCompound nbt, String str) { @Override - public boolean isItemValidForSlot(int i, ItemStack itemstack) { - + public boolean isItemValidForSlot(int i, @NotNull ItemStack itemstack) { return false; } @@ -184,10 +156,17 @@ public boolean hasCustomName() { return false; } + @NotNull @Override public ITextComponent getDisplayName() { - return null; + return new TextComponentString("SixNodeInventory"); } - + @Override + public boolean isEmpty() { + for (ItemStack itemStack : inv) { + if (itemStack.getCount() > 0) return false; + } + return true; + } } diff --git a/src/main/java/mods/eln/node/six/SixNodeEntity.java b/src/main/java/mods/eln/node/six/SixNodeEntity.java index d49674cae..6709d2cfc 100644 --- a/src/main/java/mods/eln/node/six/SixNodeEntity.java +++ b/src/main/java/mods/eln/node/six/SixNodeEntity.java @@ -62,14 +62,14 @@ public void serverPublishUnserialize(DataInputStream stream) { e.printStackTrace(); } - // worldObj.setLightValue(EnumSkyBlock.Sky, xCoord,yCoord,zCoord,15); + // world.setLightValue(EnumSkyBlock.Sky, xCoord,yCoord,zCoord,15); // TODO(1.10): This is hopefully unneeded. // if (sixNodeCacheBlock != sixNodeCacheBlockOld) { -// Chunk chunk = worldObj.getChunkFromBlockCoords(pos); +// Chunk chunk = world.getChunkFromBlockCoords(pos); // chunk.generateHeightMap(); // Utils.updateSkylight(chunk); // chunk.generateSkylightMap(); -// Utils.updateAllLightTypes(worldObj, xCoord, yCoord, zCoord); +// Utils.updateAllLightTypes(world, xCoord, yCoord, zCoord); // } } @@ -154,8 +154,7 @@ public int getDamageValue(World world, int x, int y, int z) { } public boolean hasVolume(World world, int x, int y, int z) { - - if (worldObj.isRemote) { + if (world.isRemote) { for (SixNodeElementRender e : elementRenderList) { if (e != null && e.sixNodeDescriptor.hasVolume()) return true; @@ -195,7 +194,7 @@ public void clientRefresh(float deltaT) { @Override public int isProvidingWeakPower(Direction side) { - if (worldObj.isRemote) { + if (world.isRemote) { int max = 0; for (SixNodeElementRender r : elementRenderList) { if (r == null) continue; diff --git a/src/main/java/mods/eln/node/six/SixNodeItem.java b/src/main/java/mods/eln/node/six/SixNodeItem.java index ce570a60f..bd319e77d 100644 --- a/src/main/java/mods/eln/node/six/SixNodeItem.java +++ b/src/main/java/mods/eln/node/six/SixNodeItem.java @@ -34,11 +34,9 @@ public int getMetadata(int damageValue) { return damageValue; } - /** - * Callback for item usage. If the item does something special on right clicking, he will have one of those. Return True if something happen and false if it don't. This is for ITEMS, not BLOCKS - */ @Override - public EnumActionResult onItemUse(ItemStack stack, EntityPlayer player, World world, BlockPos pos, EnumHand hand, EnumFacing facing, float hitX, float hitY, float hitZ) { + public EnumActionResult onItemUse(EntityPlayer player, World world, BlockPos pos, EnumHand hand, EnumFacing facing, float hitX, float hitY, float hitZ) { + ItemStack stack = player.getHeldItem(hand); Block block = world.getBlockState(pos).getBlock(); int side = facing.getIndex(); if ((block == Blocks.SNOW_LAYER) && ((Utils.getMetaFromPos(world, pos) & 0x7) < 1)) { @@ -62,13 +60,15 @@ public EnumActionResult onItemUse(ItemStack stack, EntityPlayer player, World wo pos = pos.add(1,0,0); } - if (stack.stackSize == 0) + if (stack.isEmpty()) return EnumActionResult.FAIL; if (!player.canPlayerEdit(pos, EnumFacing.getFacingFromVector(hitX,hitY,hitZ), stack)) return EnumActionResult.FAIL; if ((pos.getY() == 255) && (this.block.getMaterial(world.getBlockState(pos)).isSolid())) return EnumActionResult.FAIL; + // TODO(1.12): Whatever, we're discarding all this code. Thank god. +/* int i1 = getMetadata(stack.getItemDamage()); int metadata = this.block.getMetaFromState(this.block.onBlockPlaced(world, pos, facing, hitX, hitY, hitZ, i1, player)); @@ -77,6 +77,7 @@ public EnumActionResult onItemUse(ItemStack stack, EntityPlayer player, World wo stack.stackSize -= 1; } +*/ return EnumActionResult.SUCCESS; } @@ -126,7 +127,7 @@ public boolean placeBlockAt(ItemStack stack, EntityPlayer player, World world,Bl String error; if ((error = descriptor.checkCanPlace(coord, direction, LRDU.Up)) != null) { - Utils.addChatMessage(player, error); + Utils.sendMessage(player, error); return false; } diff --git a/src/main/java/mods/eln/node/six/SixNodeRender.java b/src/main/java/mods/eln/node/six/SixNodeRender.java index a455894d1..6885311e5 100644 --- a/src/main/java/mods/eln/node/six/SixNodeRender.java +++ b/src/main/java/mods/eln/node/six/SixNodeRender.java @@ -3,6 +3,7 @@ import mods.eln.misc.Direction; import mods.eln.misc.UtilsClient; import net.minecraft.client.Minecraft; +import net.minecraft.client.renderer.BufferBuilder; import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; import net.minecraft.tileentity.TileEntity; import org.lwjgl.opengl.GL11; @@ -10,11 +11,10 @@ public class SixNodeRender extends TileEntitySpecialRenderer { @Override - public void renderTileEntityAt(TileEntity entity, double x, double y, - double z, float var8, int stage) { + public void renderTileEntityFast(TileEntity te, double x, double y, double z, float partialTicks, int destroyStage, float partial, BufferBuilder buffer) { Minecraft.getMinecraft().mcProfiler.startSection("SixNode"); - SixNodeEntity tileEntity = (SixNodeEntity) entity; + SixNodeEntity tileEntity = (SixNodeEntity) te; GL11.glPushMatrix(); @@ -24,7 +24,7 @@ public void renderTileEntityAt(TileEntity entity, double x, double y, if(SixNodeCacheItem.map[tileEntity.sixNodeCacheMapId] != null) { UtilsClient.glDefaultColor(); - SixNodeCacheItem.map[tileEntity.sixNodeCacheMapId].draw(entity.getWorld(),entity.xCoord,entity.yCoord,entity.zCoord); + SixNodeCacheItem.map[tileEntity.sixNodeCacheMapId].draw(entity.getWorld(),entity.x,entity.y,entity.z); } }*/ diff --git a/src/main/java/mods/eln/node/transparent/TransparentNode.java b/src/main/java/mods/eln/node/transparent/TransparentNode.java index d4dcd5a3e..555302ba1 100644 --- a/src/main/java/mods/eln/node/transparent/TransparentNode.java +++ b/src/main/java/mods/eln/node/transparent/TransparentNode.java @@ -14,7 +14,7 @@ import net.minecraft.inventory.IInventory; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; -import net.minecraftforge.fluids.IFluidHandler; +import net.minecraftforge.fluids.capability.IFluidHandler; import java.io.DataInputStream; import java.io.DataOutputStream; diff --git a/src/main/java/mods/eln/node/transparent/TransparentNodeBlock.java b/src/main/java/mods/eln/node/transparent/TransparentNodeBlock.java index 5242ab346..1585f81f5 100644 --- a/src/main/java/mods/eln/node/transparent/TransparentNodeBlock.java +++ b/src/main/java/mods/eln/node/transparent/TransparentNodeBlock.java @@ -5,6 +5,7 @@ import mods.eln.node.NodeBase; import mods.eln.node.NodeBlock; import mods.eln.node.NodeBlockEntity; +import net.minecraft.block.Block; import net.minecraft.block.material.Material; import net.minecraft.block.state.BlockStateContainer; import net.minecraft.block.state.IBlockState; @@ -43,10 +44,14 @@ public TileEntity createNewTileEntity(World world, int meta) { } */ +/* //@SideOnly(Side.CLIENT) public void getSubBlocks(Item par1, CreativeTabs tab, List subItems) { + + Eln.transparentNodeItem.getSubItems(par1, tab, subItems); } +*/ @Override public boolean isOpaqueCube(IBlockState state) { @@ -108,8 +113,8 @@ public int quantityDropped(Random par1Random) { public void addCollisionBoxesToList(World world, BlockPos pos, AxisAlignedBB par5AxisAlignedBB, List list, Entity entity) { TileEntity tileEntity = world.getTileEntity(pos); - if (tileEntity == null || (tileEntity instanceof TransparentNodeEntity == false)) { - super.addCollisionBoxToList(world.getBlockState(pos), world, pos, par5AxisAlignedBB, list, entity); + if ((!(tileEntity instanceof TransparentNodeEntity))) { + addCollisionBoxToList(pos, entity.getCollisionBoundingBox(), list, par5AxisAlignedBB); } else { ((TransparentNodeEntity) tileEntity).addCollisionBoxesToList(par5AxisAlignedBB, list, null); } @@ -129,20 +134,10 @@ public TileEntity createTileEntity(World var1, IBlockState state) { // wanted the superclass. System.out.println("Unknown block meta-tag: " + state.getBlock().getMetaFromState(state)); return (TileEntity) EntityMetaTag.Basic.cls.getConstructor().newInstance(); - } catch (InstantiationException e) { - e.printStackTrace(); - } catch (IllegalAccessException e) { - e.printStackTrace(); - } catch (IllegalArgumentException e) { - e.printStackTrace(); - } catch (InvocationTargetException e) { - e.printStackTrace(); - } catch (NoSuchMethodException e) { - e.printStackTrace(); - } catch (SecurityException e) { + } catch (InstantiationException | IllegalAccessException | IllegalArgumentException | InvocationTargetException | NoSuchMethodException | SecurityException e) { e.printStackTrace(); } - while (true) ; + throw new IllegalStateException("Failed to create tile entity."); } public String getNodeUuid() { diff --git a/src/main/java/mods/eln/node/transparent/TransparentNodeDescriptor.java b/src/main/java/mods/eln/node/transparent/TransparentNodeDescriptor.java index ef90159b2..3639375d7 100644 --- a/src/main/java/mods/eln/node/transparent/TransparentNodeDescriptor.java +++ b/src/main/java/mods/eln/node/transparent/TransparentNodeDescriptor.java @@ -202,9 +202,9 @@ public int getSpawnDeltaZ() { return 0; } - public void addCollisionBoxesToList(AxisAlignedBB par5AxisAlignedBB, List list, BlockPos pos) { + public void addCollisionBoxesToList(AxisAlignedBB par5AxisAlignedBB, List list, BlockPos pos) { AxisAlignedBB bb = new AxisAlignedBB(pos); - if (par5AxisAlignedBB.intersectsWith(bb)) list.add(bb); + if (par5AxisAlignedBB.intersects(bb)) list.add(bb); } public void setGhostGroup(GhostGroup ghostGroup) { diff --git a/src/main/java/mods/eln/node/transparent/TransparentNodeElementInventory.java b/src/main/java/mods/eln/node/transparent/TransparentNodeElementInventory.java index 489250dba..98c9987c2 100644 --- a/src/main/java/mods/eln/node/transparent/TransparentNodeElementInventory.java +++ b/src/main/java/mods/eln/node/transparent/TransparentNodeElementInventory.java @@ -8,6 +8,7 @@ import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.EnumFacing; import net.minecraft.util.text.ITextComponent; +import org.jetbrains.annotations.NotNull; public class TransparentNodeElementInventory implements ISidedInventory, INBTTReady { protected TransparentNodeElementRender transparentNodeRender = null; @@ -39,42 +40,31 @@ public int getSizeInventory() { return getInv().length; } + @NotNull @Override public ItemStack getStackInSlot(int slot) { - return getInv()[slot]; } @Override public ItemStack decrStackSize(int slot, int amt) { ItemStack stack = getStackInSlot(slot); - if (stack != null) { - if (stack.stackSize <= amt) { - setInventorySlotContents(slot, null); - } else { - stack = stack.splitStack(amt); - if (stack.stackSize == 0) { - setInventorySlotContents(slot, null); - } - } - } + stack.splitStack(amt); return stack; } @Override public ItemStack removeStackFromSlot(int slot) { ItemStack stack = getStackInSlot(slot); - if (stack != null) { - setInventorySlotContents(slot, null); - } + stack.setCount(0); return stack; } @Override - public void setInventorySlotContents(int slot, ItemStack stack) { + public void setInventorySlotContents(int slot, @NotNull ItemStack stack) { getInv()[slot] = stack; - if (stack != null && stack.stackSize > getInventoryStackLimit()) { - stack.stackSize = getInventoryStackLimit(); + if (stack.getCount() > getInventoryStackLimit()) { + stack.setCount(getInventoryStackLimit()); } } @@ -85,18 +75,20 @@ public String getName() { @Override public int getInventoryStackLimit() { - return stackLimit; } @Override - public boolean isUseableByPlayer(EntityPlayer player) { + public boolean isEmpty() { + for (ItemStack stack : getInv()) { + if (!stack.isEmpty()) return false; + } + return true; + } - /* - * if(transparentNodeElement != null) { if(NodeManager.instance.getNodeFromCoordonate(transparentNodeElement.node.coordinate) != transparentNodeElement.node) return false; return player.getDistance(transparentNodeElement.node.coordinate.x + 0.5, transparentNodeElement.node.coordinate.y + 0.5, transparentNodeElement.node.coordinate.z + 0.5) < 10; } - */ + @Override + public boolean isUsableByPlayer(EntityPlayer player) { return true; - // return player.getDistanceSq(transparentNodeRender.tileEntity.xCoord + 0.5, transparentNodeRender.tileEntity.yCoord + 0.5, transparentNodeRender.tileEntity.zCoord + 0.5) < 18; } @Override diff --git a/src/main/java/mods/eln/node/transparent/TransparentNodeEntity.java b/src/main/java/mods/eln/node/transparent/TransparentNodeEntity.java index 1646d9e40..8debcef42 100644 --- a/src/main/java/mods/eln/node/transparent/TransparentNodeEntity.java +++ b/src/main/java/mods/eln/node/transparent/TransparentNodeEntity.java @@ -19,6 +19,7 @@ import net.minecraft.util.math.AxisAlignedBB; import net.minecraft.util.math.BlockPos; import net.minecraft.world.World; +import org.jetbrains.annotations.NotNull; import java.io.ByteArrayOutputStream; import java.io.DataInputStream; @@ -30,7 +31,7 @@ public class TransparentNodeEntity extends NodeBlockEntity implements ISidedInventory { // boolean[] syncronizedSideEnable = new boolean[6]; TransparentNodeElementRender elementRender = null; - short elementRenderId; + private short elementRenderId; @Override @@ -57,26 +58,7 @@ public void serverPublishUnserialize(DataInputStream stream) { elementRender.networkUnserialize(stream); } - } catch (IOException e) { - - e.printStackTrace(); - } catch (InstantiationException e) { - - e.printStackTrace(); - } catch (IllegalAccessException e) { - - e.printStackTrace(); - } catch (IllegalArgumentException e) { - - e.printStackTrace(); - } catch (InvocationTargetException e) { - - e.printStackTrace(); - } catch (NoSuchMethodException e) { - - e.printStackTrace(); - } catch (SecurityException e) { - + } catch (IOException | InstantiationException | IllegalAccessException | IllegalArgumentException | InvocationTargetException | NoSuchMethodException | SecurityException e) { e.printStackTrace(); } @@ -123,9 +105,9 @@ public void tileEntityNeighborSpawn() { if (elementRender != null) elementRender.notifyNeighborSpawn(); } - public void addCollisionBoxesToList(AxisAlignedBB par5AxisAlignedBB, List list, Coordinate blockCoord) { + public void addCollisionBoxesToList(AxisAlignedBB axisAlignedBB, List list, Coordinate blockCoord) { TransparentNodeDescriptor desc = null; - if (worldObj.isRemote) { + if (world.isRemote) { desc = elementRender == null ? null : elementRender.transparentNodedescriptor; } else { TransparentNode node = (TransparentNode) getNode(); @@ -139,9 +121,9 @@ public void addCollisionBoxesToList(AxisAlignedBB par5AxisAlignedBB, List list, } if (desc == null) { AxisAlignedBB bb = new AxisAlignedBB(pos); - if (par5AxisAlignedBB.intersectsWith(bb)) list.add(bb); + if (axisAlignedBB.intersects(bb)) list.add(bb); } else { - desc.addCollisionBoxesToList(par5AxisAlignedBB, list, pos); + desc.addCollisionBoxesToList(axisAlignedBB, list, pos); } } @@ -177,19 +159,18 @@ public int isProvidingWeakPower(Direction side) { } ISidedInventory getSidedInventory() { - if (worldObj.isRemote) { + if (world.isRemote) { if (elementRender == null) return FakeSideInventory.getInstance(); IInventory i = elementRender.getInventory(); - if (i != null && i instanceof ISidedInventory) { + if (i instanceof ISidedInventory) { return (ISidedInventory) i; } } else { Node node = getNode(); - if (node != null && node instanceof TransparentNode) { + if (node instanceof TransparentNode) { TransparentNode tn = (TransparentNode) node; IInventory i = tn.getInventory(null); - ; - if (i != null && i instanceof ISidedInventory) { + if (i instanceof ISidedInventory) { return (ISidedInventory) i; } } @@ -202,26 +183,30 @@ public int getSizeInventory() { return getSidedInventory().getSizeInventory(); } + @NotNull @Override public ItemStack getStackInSlot(int var1) { return getSidedInventory().getStackInSlot(var1); } + @NotNull @Override public ItemStack decrStackSize(int var1, int var2) { return getSidedInventory().decrStackSize(var1, var2); } + @NotNull @Override public ItemStack removeStackFromSlot(int var1) { return getSidedInventory().removeStackFromSlot(var1); } @Override - public void setInventorySlotContents(int var1, ItemStack var2) { + public void setInventorySlotContents(int var1, @NotNull ItemStack var2) { getSidedInventory().setInventorySlotContents(var1, var2); } + @NotNull @Override public String getName() { return getSidedInventory().getName(); @@ -238,21 +223,26 @@ public int getInventoryStackLimit() { } @Override - public boolean isUseableByPlayer(EntityPlayer var1) { - return getSidedInventory().isUseableByPlayer(var1); + public boolean isEmpty() { + return getSidedInventory().isEmpty(); } @Override - public void openInventory(EntityPlayer var1) { - getSidedInventory().openInventory(var1); + public boolean isUsableByPlayer(@NotNull EntityPlayer player) { + return getSidedInventory().isUsableByPlayer(player); } @Override - public void closeInventory(EntityPlayer var1) { getSidedInventory().closeInventory(var1); } + public void openInventory(EntityPlayer player) { + getSidedInventory().openInventory(player); + } + + @Override + public void closeInventory(EntityPlayer player) { getSidedInventory().closeInventory(player); } @Override - public boolean isItemValidForSlot(int var1, ItemStack var2) { - return getSidedInventory().isItemValidForSlot(var1, var2); + public boolean isItemValidForSlot(int var1, ItemStack stack) { + return getSidedInventory().isItemValidForSlot(var1, stack); } @Override @@ -262,7 +252,6 @@ public int getField(int id) { @Override public void setField(int id, int value) { - } @Override @@ -272,21 +261,20 @@ public int getFieldCount() { @Override public void clear() { - } @Override - public int[] getSlotsForFace(EnumFacing var1) { - return getSidedInventory().getSlotsForFace(var1); + public int[] getSlotsForFace(@NotNull EnumFacing facing) { + return getSidedInventory().getSlotsForFace(facing); } @Override - public boolean canInsertItem(int var1, ItemStack var2, EnumFacing var3) { - return getSidedInventory().canInsertItem(var1, var2, var3); + public boolean canInsertItem(int var1, @NotNull ItemStack stack, @NotNull EnumFacing facing) { + return getSidedInventory().canInsertItem(var1, stack, facing); } @Override - public boolean canExtractItem(int var1, ItemStack var2, EnumFacing var3) { - return getSidedInventory().canExtractItem(var1, var2, var3); + public boolean canExtractItem(int var1, @NotNull ItemStack stack, @NotNull EnumFacing facing) { + return getSidedInventory().canExtractItem(var1, stack, facing); } } diff --git a/src/main/java/mods/eln/node/transparent/TransparentNodeEntityWithFluid.java b/src/main/java/mods/eln/node/transparent/TransparentNodeEntityWithFluid.java index 36f177069..be5ad1b09 100644 --- a/src/main/java/mods/eln/node/transparent/TransparentNodeEntityWithFluid.java +++ b/src/main/java/mods/eln/node/transparent/TransparentNodeEntityWithFluid.java @@ -1,11 +1,9 @@ package mods.eln.node.transparent; import mods.eln.node.Node; -import net.minecraft.util.EnumFacing; -import net.minecraftforge.fluids.Fluid; import net.minecraftforge.fluids.FluidStack; -import net.minecraftforge.fluids.FluidTankInfo; -import net.minecraftforge.fluids.IFluidHandler; +import net.minecraftforge.fluids.capability.IFluidHandler; +import net.minecraftforge.fluids.capability.IFluidTankProperties; /** * Proxy class for TNEs with Forge fluids. @@ -13,9 +11,9 @@ public class TransparentNodeEntityWithFluid extends TransparentNodeEntity implements IFluidHandler { private IFluidHandler getFluidHandler() { - if (!worldObj.isRemote) { + if (!world.isRemote) { Node node = getNode(); - if (node != null && node instanceof TransparentNode) { + if (node instanceof TransparentNode) { TransparentNode tn = (TransparentNode) node; IFluidHandler i = tn.getFluidHandler(); if (i != null) { @@ -29,28 +27,26 @@ private IFluidHandler getFluidHandler() { /** * Fills fluid into internal tanks, distribution is left entirely to the IFluidHandler. * - * @param from Orientation the Fluid is pumped in from. * @param resource FluidStack representing the Fluid and maximum amount of fluid to be filled. * @param doFill If false, fill will only be simulated. * @return Amount of resource that was (or would have been, if simulated) filled. */ @Override - public int fill(EnumFacing from, FluidStack resource, boolean doFill) { - return getFluidHandler().fill(from, resource, doFill); + public int fill(FluidStack resource, boolean doFill) { + return getFluidHandler().fill(resource, doFill); } /** * Drains fluid out of internal tanks, distribution is left entirely to the IFluidHandler. * - * @param from Orientation the Fluid is drained to. * @param resource FluidStack representing the Fluid and maximum amount of fluid to be drained. * @param doDrain If false, drain will only be simulated. * @return FluidStack representing the Fluid and amount that was (or would have been, if * simulated) drained. */ @Override - public FluidStack drain(EnumFacing from, FluidStack resource, boolean doDrain) { - return getFluidHandler().drain(from, resource, doDrain); + public FluidStack drain(FluidStack resource, boolean doDrain) { + return getFluidHandler().drain(resource, doDrain); } /** @@ -58,86 +54,42 @@ public FluidStack drain(EnumFacing from, FluidStack resource, boolean doDrain) { *

* This method is not Fluid-sensitive. * - * @param from Orientation the fluid is drained to. * @param maxDrain Maximum amount of fluid to drain. * @param doDrain If false, drain will only be simulated. * @return FluidStack representing the Fluid and amount that was (or would have been, if * simulated) drained. */ @Override - public FluidStack drain(EnumFacing from, int maxDrain, boolean doDrain) { - return getFluidHandler().drain(from, maxDrain, doDrain); + public FluidStack drain(int maxDrain, boolean doDrain) { + return getFluidHandler().drain(maxDrain, doDrain); } - /** - * Returns true if the given fluid can be inserted into the given direction. - *

- * More formally, this should return true if fluid is able to enter from the given direction. - * - * @param from - * @param fluid - */ - @Override - public boolean canFill(EnumFacing from, Fluid fluid) { - return false; - } - - /** - * Returns true if the given fluid can be extracted from the given direction. - *

- * More formally, this should return true if fluid is able to leave from the given direction. - * - * @param from - * @param fluid - */ @Override - public boolean canDrain(EnumFacing from, Fluid fluid) { - return getFluidHandler().canDrain(from, fluid); - } - - /** - * Returns an array of objects which represent the internal tanks. These objects cannot be used - * to manipulate the internal tanks. See {@link FluidTankInfo}. - * - * @param from Orientation determining which tanks should be queried. - * @return Info for the relevant internal tanks. - */ - @Override - public FluidTankInfo[] getTankInfo(EnumFacing from) { - return getFluidHandler().getTankInfo(from); + public IFluidTankProperties[] getTankProperties() { + return getFluidHandler().getTankProperties(); } private static class FakeFluidHandler implements IFluidHandler { static FakeFluidHandler INSTANCE = new FakeFluidHandler(); @Override - public int fill(EnumFacing from, FluidStack resource, boolean doFill) { + public int fill(FluidStack resource, boolean doFill) { return 0; } @Override - public FluidStack drain(EnumFacing from, FluidStack resource, boolean doDrain) { + public FluidStack drain(FluidStack resource, boolean doDrain) { return null; } @Override - public FluidStack drain(EnumFacing from, int maxDrain, boolean doDrain) { + public FluidStack drain(int maxDrain, boolean doDrain) { return null; } @Override - public boolean canFill(EnumFacing from, Fluid fluid) { - return false; - } - - @Override - public boolean canDrain(EnumFacing from, Fluid fluid) { - return false; - } - - @Override - public FluidTankInfo[] getTankInfo(EnumFacing from) { - return new FluidTankInfo[0]; + public IFluidTankProperties[] getTankProperties() { + return new IFluidTankProperties[0]; } } } diff --git a/src/main/java/mods/eln/node/transparent/TransparentNodeEntityWithSiededInv.java b/src/main/java/mods/eln/node/transparent/TransparentNodeEntityWithSiededInv.java deleted file mode 100644 index 4239c4216..000000000 --- a/src/main/java/mods/eln/node/transparent/TransparentNodeEntityWithSiededInv.java +++ /dev/null @@ -1,108 +0,0 @@ -package mods.eln.node.transparent; - -import mods.eln.misc.FakeSideInventory; -import mods.eln.node.Node; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.inventory.IInventory; -import net.minecraft.inventory.ISidedInventory; -import net.minecraft.item.ItemStack; -import net.minecraft.util.EnumFacing; - -public class TransparentNodeEntityWithSiededInv extends TransparentNodeEntity implements ISidedInventory { // boolean[] syncronizedSideEnable = new boolean[6]; - ISidedInventory getSidedInventory() { - if (worldObj.isRemote) { - if (elementRender == null) return FakeSideInventory.getInstance(); - IInventory i = elementRender.getInventory(); - if (i != null && i instanceof ISidedInventory) { - return (ISidedInventory) i; - } - } else { - Node node = getNode(); - if (node != null && node instanceof TransparentNode) { - TransparentNode tn = (TransparentNode) node; - IInventory i = tn.getInventory(null); - ; - if (i != null && i instanceof ISidedInventory) { - return (ISidedInventory) i; - } - } - } - return FakeSideInventory.getInstance(); - } - - @Override - public int getSizeInventory() { - return getSidedInventory().getSizeInventory(); - } - - @Override - public ItemStack getStackInSlot(int var1) { - return getSidedInventory().getStackInSlot(var1); - } - - @Override - public ItemStack decrStackSize(int var1, int var2) { - return getSidedInventory().decrStackSize(var1, var2); - } - - @Override - public ItemStack removeStackFromSlot(int var1) { - return getSidedInventory().removeStackFromSlot(var1); - } - - @Override - public void setInventorySlotContents(int var1, ItemStack var2) { - getSidedInventory().setInventorySlotContents(var1, var2); - } - - @Override - public String getName() { - return getSidedInventory().getName(); - } - - @Override - public boolean hasCustomName() { - return getSidedInventory().hasCustomName(); - } - - @Override - public int getInventoryStackLimit() { - return getSidedInventory().getInventoryStackLimit(); - } - - @Override - public boolean isUseableByPlayer(EntityPlayer var1) { - return getSidedInventory().isUseableByPlayer(var1); - } - - @Override - public void openInventory(EntityPlayer var1) { - getSidedInventory().openInventory(var1); - } - - @Override - public void closeInventory(EntityPlayer var1) { - getSidedInventory().closeInventory(var1); - } - - @Override - public boolean isItemValidForSlot(int var1, ItemStack var2) { - return getSidedInventory().isItemValidForSlot(var1, var2); - } - - @Override - public int[] getSlotsForFace(EnumFacing var1) { - return getSidedInventory().getSlotsForFace(var1); - } - - @Override - public boolean canInsertItem(int var1, ItemStack var2, EnumFacing var3) { - return getSidedInventory().canInsertItem(var1, var2, var3); - } - - @Override - public boolean canExtractItem(int var1, ItemStack var2, EnumFacing var3) { - return getSidedInventory().canExtractItem(var1, var2, var3); - } -} -// && diff --git a/src/main/java/mods/eln/node/transparent/TransparentNodeItem.java b/src/main/java/mods/eln/node/transparent/TransparentNodeItem.java index 3a6959493..fda801fe9 100644 --- a/src/main/java/mods/eln/node/transparent/TransparentNodeItem.java +++ b/src/main/java/mods/eln/node/transparent/TransparentNodeItem.java @@ -45,7 +45,7 @@ public boolean placeBlockAt(ItemStack stack, EntityPlayer player, World world, B String error; if ((error = descriptor.checkCanPlace(coord, front)) != null) { - Utils.addChatMessage(player, error); + Utils.sendMessage(player, error); return false; } diff --git a/src/main/java/mods/eln/node/transparent/TransparentNodeRender.java b/src/main/java/mods/eln/node/transparent/TransparentNodeRender.java index 08264f524..dbd91c769 100644 --- a/src/main/java/mods/eln/node/transparent/TransparentNodeRender.java +++ b/src/main/java/mods/eln/node/transparent/TransparentNodeRender.java @@ -6,11 +6,9 @@ public class TransparentNodeRender extends TileEntitySpecialRenderer { @Override - public void renderTileEntityAt(TileEntity entity, double x, double y, - double z, float var8, int var9) { - + public void render(TileEntity te, double x, double y, double z, float partialTicks, int destroyStage, float alpha) { //Utils.println("delta T : " + var8); - TransparentNodeEntity tileEntity = (TransparentNodeEntity) entity; + TransparentNodeEntity tileEntity = (TransparentNodeEntity) te; if (tileEntity.elementRender == null) return; //Utils.glDefaultColor(); GL11.glPushMatrix(); diff --git a/src/main/java/mods/eln/ore/OreBlock.java b/src/main/java/mods/eln/ore/OreBlock.java index 05cb15377..04a5062d1 100644 --- a/src/main/java/mods/eln/ore/OreBlock.java +++ b/src/main/java/mods/eln/ore/OreBlock.java @@ -34,10 +34,12 @@ public int damageDropped(int i) { //Makes sure pick block works right return i; } +/* @Override public void getSubBlocks(Item i, CreativeTabs tab, List l) { //Puts all sub blocks into the creative inventory Eln.oreItem.getSubItems(i, tab, l); } +*/ // TODO(1.10): Fix item rendering. // @Override diff --git a/src/main/java/mods/eln/ore/OreDescriptor.java b/src/main/java/mods/eln/ore/OreDescriptor.java index 45f68934a..0c2bcadfb 100644 --- a/src/main/java/mods/eln/ore/OreDescriptor.java +++ b/src/main/java/mods/eln/ore/OreDescriptor.java @@ -1,12 +1,11 @@ package mods.eln.ore; import net.minecraft.util.math.BlockPos; -import net.minecraft.world.chunk.IChunkGenerator; +import net.minecraft.world.gen.IChunkGenerator; import net.minecraftforge.fml.common.IWorldGenerator; import mods.eln.Eln; import mods.eln.generic.GenericItemBlockUsingDamageDescriptor; import mods.eln.wiki.Data; -import net.minecraft.init.Blocks; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.world.World; diff --git a/src/main/java/mods/eln/server/ConsoleListener.java b/src/main/java/mods/eln/server/ConsoleListener.java index 48afcc338..c30b2b206 100644 --- a/src/main/java/mods/eln/server/ConsoleListener.java +++ b/src/main/java/mods/eln/server/ConsoleListener.java @@ -59,36 +59,34 @@ public ConsoleListener() { } @Override - public String getCommandName() { + public String getName() { return "eln"; } @Override - public String getCommandUsage(ICommandSender icommandsender) { + public String getUsage(ICommandSender icommandsender) { //TODO Rewrite String str = Color.COLOR_DARK_CYAN + "ELN mod console." + Color.COLOR_BRIGHT_GREY + " Type \"\\eln \" + TAB"; return str; } @Override - public List getTabCompletionOptions(MinecraftServer server, ICommandSender sender, String[] args, @Nullable BlockPos pos) { + public List getTabCompletions(MinecraftServer server, ICommandSender sender, String[] args, @Nullable BlockPos targetPos) { int argc = args.length; switch (argc) { case 1: //Parse for probable commands if (args[0].isEmpty()) { - sender.addChatMessage(new TextComponentString(Color.COLOR_DARK_CYAN + "ELN >")); - sender.addChatMessage(new TextComponentString(Color.COLOR_BRIGHT_GREY + " \"" + cmdNameStr_listCmd + "\" to print the full command list.")); - sender.addChatMessage(new TextComponentString(Color.COLOR_BRIGHT_GREY + " \"" + cmdNameStr_man + "\" + for command usage (or command + TAB).")); + sender.sendMessage(new TextComponentString(Color.COLOR_DARK_CYAN + "ELN >")); + sender.sendMessage(new TextComponentString(Color.COLOR_BRIGHT_GREY + " \"" + cmdNameStr_listCmd + "\" to print the full command list.")); + sender.sendMessage(new TextComponentString(Color.COLOR_BRIGHT_GREY + " \"" + cmdNameStr_man + "\" + for command usage (or command + TAB).")); List ret = new ArrayList(); ret.add(cmdNameStr_listCmd); return ret; } List cmdl = new ArrayList(); - Iterator iter = cmdVisibleList.iterator(); - while (iter.hasNext()) { - String val = iter.next(); + for (String val : cmdVisibleList) { if (val.toLowerCase().startsWith(args[0].toLowerCase())) cmdl.add(val); } @@ -107,7 +105,7 @@ public List getTabCompletionOptions(MinecraftServer server, ICommandSend @Override - public void execute(MinecraftServer server, ICommandSender sender, String[] args) throws CommandException { + public void execute(MinecraftServer server, ICommandSender sender, String[] args) { String cmd; if (args.length >= 1) { @@ -211,7 +209,7 @@ public void execute(MinecraftServer server, ICommandSender sender, String[] args ConsoleArg arg0 = getArgBool(sender, args[1]); if (!arg0.valid) return; - Eln.instance.saveConfig.reGenOre = arg0.value; + Eln.saveConfig.reGenOre = arg0.value; cprint(sender, strOffsetL0 + "Regenerate ore at next map reload : " + Color.COLOR_DARK_GREEN + boolToStr(arg0.value)); cprint(sender, strOffsetL0 + "Parameter saved in the map and effective once."); } else if (cmd.equalsIgnoreCase(cmdNameStr_generateLangFileTemplate)) { @@ -358,7 +356,7 @@ private void commandMan(ICommandSender ics, String cmd) { } private void cprint(ICommandSender ics, String text) { - ics.addChatMessage(new TextComponentString(Color.COLOR_BRIGHT_GREY + text)); + ics.sendMessage(new TextComponentString(Color.COLOR_BRIGHT_GREY + text)); } } diff --git a/src/main/java/mods/eln/server/DelayedTaskManager.java b/src/main/java/mods/eln/server/DelayedTaskManager.java index 90111dadd..a673420c1 100644 --- a/src/main/java/mods/eln/server/DelayedTaskManager.java +++ b/src/main/java/mods/eln/server/DelayedTaskManager.java @@ -16,7 +16,6 @@ public class DelayedTaskManager { public DelayedTaskManager() { MinecraftForge.EVENT_BUS.register(this); - FMLCommonHandler.instance().bus().register(this); } public void clear() { diff --git a/src/main/java/mods/eln/server/ElnWorldStorage.java b/src/main/java/mods/eln/server/ElnWorldStorage.java index a0cbfd451..a2bc83d33 100644 --- a/src/main/java/mods/eln/server/ElnWorldStorage.java +++ b/src/main/java/mods/eln/server/ElnWorldStorage.java @@ -2,8 +2,8 @@ import net.minecraft.nbt.NBTTagCompound; import net.minecraft.world.World; -import net.minecraft.world.WorldSavedData; import net.minecraft.world.storage.MapStorage; +import net.minecraft.world.storage.WorldSavedData; public class ElnWorldStorage extends WorldSavedData { diff --git a/src/main/java/mods/eln/server/OreRegenerate.java b/src/main/java/mods/eln/server/OreRegenerate.java index a538930f4..4992a19d3 100644 --- a/src/main/java/mods/eln/server/OreRegenerate.java +++ b/src/main/java/mods/eln/server/OreRegenerate.java @@ -22,7 +22,7 @@ public class OreRegenerate { public OreRegenerate() { MinecraftForge.EVENT_BUS.register(this); - FMLCommonHandler.instance().bus().register(this); + MinecraftForge.EVENT_BUS.register(this); } static class ChunkRef { @@ -59,9 +59,9 @@ public void tick(ServerTickEvent event) { for (int idx = 0; idx < 1; idx++) { if (!jobs.isEmpty()) { ChunkRef j = jobs.pollLast(); - if (!Eln.instance.saveConfig.reGenOre && !Eln.instance.forceOreRegen) return; + if (!Eln.saveConfig.reGenOre && !Eln.instance.forceOreRegen) return; - WorldServer server = FMLCommonHandler.instance().getMinecraftServerInstance().worldServerForDimension(j.worldId); + WorldServer server = FMLCommonHandler.instance().getMinecraftServerInstance().getWorld(j.worldId); Chunk chunk = server.getChunkFromChunkCoords(j.x, j.z); for (int y = 0; y < 60; y += 2) { @@ -77,7 +77,7 @@ public void tick(ServerTickEvent event) { Utils.println("Regenerated! " + jobs.size()); for (OreDescriptor d : Eln.oreItem.descriptors) { - d.generate(server.rand, chunk.xPosition, chunk.zPosition, server, null, null); + d.generate(server.rand, chunk.x, chunk.z, server, null, null); } //Utils.println("Regenrate ore! left " + jobs.size()); } @@ -87,9 +87,9 @@ public void tick(ServerTickEvent event) { @SubscribeEvent public void chunkLoad(ChunkEvent.Load e) { // if (e.world.isRemote == false) Utils.println("Chunk loaded!"); - if (e.getWorld().isRemote || (Eln.instance.saveConfig != null && !Eln.instance.saveConfig.reGenOre)) return; + if (e.getWorld().isRemote || (Eln.saveConfig != null && !Eln.saveConfig.reGenOre)) return; Chunk c = e.getChunk(); - ChunkRef ref = new ChunkRef(c.xPosition, c.zPosition, c.getWorld().provider.getDimension()); + ChunkRef ref = new ChunkRef(c.x, c.z, c.getWorld().provider.getDimension()); if (alreadyLoadedChunks.contains(ref)) { Utils.println("Already regenerated!"); return; diff --git a/src/main/java/mods/eln/server/PlayerManager.java b/src/main/java/mods/eln/server/PlayerManager.java index 92afc8c05..b68343774 100644 --- a/src/main/java/mods/eln/server/PlayerManager.java +++ b/src/main/java/mods/eln/server/PlayerManager.java @@ -1,12 +1,12 @@ package mods.eln.server; -import net.minecraftforge.fml.common.FMLCommonHandler; -import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; -import net.minecraftforge.fml.common.gameevent.TickEvent.Phase; -import net.minecraftforge.fml.common.gameevent.TickEvent.ServerTickEvent; import mods.eln.misc.Utils; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayerMP; +import net.minecraftforge.common.MinecraftForge; +import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; +import net.minecraftforge.fml.common.gameevent.TickEvent.Phase; +import net.minecraftforge.fml.common.gameevent.TickEvent.ServerTickEvent; import java.util.Hashtable; import java.util.Map; @@ -17,7 +17,7 @@ public class PlayerManager { private Map metadataHash = new Hashtable(); public PlayerManager() { - FMLCommonHandler.instance().bus().register(this); + MinecraftForge.EVENT_BUS.register(this); } public class PlayerMetadata { diff --git a/src/main/java/mods/eln/server/SaveConfig.java b/src/main/java/mods/eln/server/SaveConfig.java index 8a02aa0e5..7b6097e33 100644 --- a/src/main/java/mods/eln/server/SaveConfig.java +++ b/src/main/java/mods/eln/server/SaveConfig.java @@ -2,7 +2,7 @@ import mods.eln.Eln; import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.world.WorldSavedData; +import net.minecraft.world.storage.WorldSavedData; public class SaveConfig extends WorldSavedData { diff --git a/src/main/java/mods/eln/server/ServerEventListener.java b/src/main/java/mods/eln/server/ServerEventListener.java index 75814813a..9176948e6 100644 --- a/src/main/java/mods/eln/server/ServerEventListener.java +++ b/src/main/java/mods/eln/server/ServerEventListener.java @@ -32,7 +32,6 @@ public class ServerEventListener { public ServerEventListener() { MinecraftForge.EVENT_BUS.register(this); - FMLCommonHandler.instance().bus().register(this); } @SubscribeEvent @@ -59,7 +58,7 @@ public void clear() { public double getLightningClosestTo(Coordinate c) { double best = 10000000; for (EntityLightningBolt l : lightningList) { - if (c.world() != l.worldObj) continue; + if (c.world() != l.world) continue; double d = l.getDistance(c.pos.getX(), c.pos.getY(), c.pos.getZ()); if (d < best) best = d; } diff --git a/src/main/java/mods/eln/signalinductor/SignalInductorRender.java b/src/main/java/mods/eln/signalinductor/SignalInductorRender.java index 944199d23..0e767edaf 100644 --- a/src/main/java/mods/eln/signalinductor/SignalInductorRender.java +++ b/src/main/java/mods/eln/signalinductor/SignalInductorRender.java @@ -16,8 +16,6 @@ public SignalInductorRender(SixNodeEntity tileEntity, Direction side, SixNodeDes @Override public void draw() { - ItemStack i = Minecraft.getMinecraft().player.inventory.armorInventory[3]; - GL11.glDisable(GL11.GL_TEXTURE_2D); GL11.glLineWidth(10); diff --git a/src/main/java/mods/eln/sim/ElectricalStackMachineProcess.java b/src/main/java/mods/eln/sim/ElectricalStackMachineProcess.java index 9fd42eb37..1b240c433 100644 --- a/src/main/java/mods/eln/sim/ElectricalStackMachineProcess.java +++ b/src/main/java/mods/eln/sim/ElectricalStackMachineProcess.java @@ -132,7 +132,7 @@ public void smeltItem() { if (this.smeltCan()) { Recipe recipe = recipesList.getRecipe(inventory.getStackInSlot(inputSlotId)); Utils.tryPutStackInInventory(recipe.getOutputCopy(), inventory, outSlotIdList); - inventory.decrStackSize(inputSlotId, recipe.input.stackSize); + inventory.decrStackSize(inputSlotId, recipe.input.getCount()); if (observer != null) observer.done(this); } } diff --git a/src/main/java/mods/eln/sim/Simulator.java b/src/main/java/mods/eln/sim/Simulator.java index b0e225790..e4a05f279 100644 --- a/src/main/java/mods/eln/sim/Simulator.java +++ b/src/main/java/mods/eln/sim/Simulator.java @@ -1,5 +1,6 @@ package mods.eln.sim; +import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.fml.common.FMLCommonHandler; import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; import net.minecraftforge.fml.common.gameevent.TickEvent.Phase; @@ -72,7 +73,7 @@ public Simulator(double callPeriod, double electricalPeriod, int electricalInter this.electricalInterSystemOverSampling = electricalInterSystemOverSampling; this.thermalPeriod = thermalPeriod; - FMLCommonHandler.instance().bus().register(this); + MinecraftForge.EVENT_BUS.register(this); mna = new RootSystem(electricalPeriod, electricalInterSystemOverSampling); @@ -103,8 +104,6 @@ public void init() { slowPreProcessList.clear(); electricalProcessList.clear(); - // electricalConnectionList.clear(); - // electricalLoadList.clear(); thermalFastProcessList.clear(); thermalSlowProcessList.clear(); @@ -453,7 +452,7 @@ public void tick(ServerTickEvent event) { for (Object obj : server.getConfigurationManager().playerEntityList) { EntityPlayerMP player = (EntityPlayerMP) obj; - WorldServer worldServer = (WorldServer) MinecraftServer.getServer().worldServerForDimension(player.dimension); + WorldServer worldServer = (WorldServer) MinecraftServer.getServer().getWorld(player.dimension); PlayerManager playerManager = worldServer.getPlayerManager(); Utils.sendPacketToClient(bos, player); } diff --git a/src/main/java/mods/eln/simplenode/energyconverter/EnergyConverterElnToOtherEntity.java b/src/main/java/mods/eln/simplenode/energyconverter/EnergyConverterElnToOtherEntity.java index 5f16f7de1..8a3cbe82f 100644 --- a/src/main/java/mods/eln/simplenode/energyconverter/EnergyConverterElnToOtherEntity.java +++ b/src/main/java/mods/eln/simplenode/energyconverter/EnergyConverterElnToOtherEntity.java @@ -71,7 +71,7 @@ public String getNodeUuid() { // @Optional.Method(modid = Other.modIdIc2) // @Override // public boolean emitsEnergyTo(TileEntity receiver, EnumFacing direction) { -// if (worldObj.isRemote) +// if (world.isRemote) // return false; // SimpleNode n = getNode(); // if (n == null) @@ -82,7 +82,7 @@ public String getNodeUuid() { // @Optional.Method(modid = Other.modIdIc2) // @Override // public double getOfferedEnergy() { -// if (worldObj.isRemote) +// if (world.isRemote) // return 0; // if (getNode() == null) // return 0; @@ -95,7 +95,7 @@ public String getNodeUuid() { // @Optional.Method(modid = Other.modIdIc2) // @Override // public void drawEnergy(double amount) { -// if (worldObj.isRemote) +// if (world.isRemote) // return; // if (getNode() == null) // return; @@ -148,7 +148,7 @@ public void onMessage(Message message) { public boolean canConnectEnergy(EnumFacing from) { // Utils.println("*****canConnectEnergy*****"); // return true; - if (worldObj.isRemote) + if (world.isRemote) return false; if (getNode() == null) return false; @@ -160,7 +160,7 @@ public boolean canConnectEnergy(EnumFacing from) { @Optional.Method(modid = Other.modIdTe) public int extractEnergy(EnumFacing from, int maxExtract, boolean simulate) { // Utils.println("*****extractEnergy*****"); - if (worldObj.isRemote) + if (world.isRemote) return 0; if (getNode() == null) return 0; diff --git a/src/main/java/mods/eln/sixnode/ElectricalFuse.kt b/src/main/java/mods/eln/sixnode/ElectricalFuse.kt index a427d8c1f..6f7087821 100644 --- a/src/main/java/mods/eln/sixnode/ElectricalFuse.kt +++ b/src/main/java/mods/eln/sixnode/ElectricalFuse.kt @@ -1,5 +1,6 @@ package mods.eln.sixnode +import com.teamwizardry.librarianlib.features.kotlin.isNotEmpty import mods.eln.Eln import mods.eln.generic.GenericItemUsingDamageDescriptor import mods.eln.i18n.I18N @@ -129,8 +130,8 @@ class ElectricalFuseHolderElement(sixNode: SixNode, side: Direction, descriptor: val fuseCompound = nbt.getTag("fuse") as? NBTTagCompound if (fuseCompound != null) { - val fuseStack = ItemStack.loadItemStackFromNBT(fuseCompound) - if (fuseStack != null) { + val fuseStack = ItemStack(nbt) + if (fuseStack.isNotEmpty) { installedFuse = GenericItemUsingDamageDescriptorUpgrade.getDescriptor(fuseStack) as? ElectricalFuseDescriptor } } @@ -210,9 +211,9 @@ class ElectricalFuseHolderElement(sixNode: SixNode, side: Direction, descriptor: val itemStack = entityPlayer?.heldItemMainhand val fuseDescriptor = GenericItemUsingDamageDescriptorUpgrade.getDescriptor(itemStack) as? ElectricalFuseDescriptor if (itemStack != null) { - if (fuseDescriptor != null && itemStack.stackSize > 0) { + if (fuseDescriptor != null && itemStack.isNotEmpty) { // The player puts in a new lead fuse. - itemStack.stackSize-- + itemStack.count-- takenOutFuse = installedFuse installedFuse = fuseDescriptor } diff --git a/src/main/java/mods/eln/sixnode/Scanner.kt b/src/main/java/mods/eln/sixnode/Scanner.kt index b582e48ff..0e6972b20 100644 --- a/src/main/java/mods/eln/sixnode/Scanner.kt +++ b/src/main/java/mods/eln/sixnode/Scanner.kt @@ -1,5 +1,6 @@ package mods.eln.sixnode +import com.teamwizardry.librarianlib.features.kotlin.isNotEmpty import mods.eln.Eln import mods.eln.cable.CableRenderDescriptor import mods.eln.i18n.I18N.tr @@ -113,12 +114,12 @@ class ScannerElement(sixNode: SixNode, side: Direction, descriptor: SixNodeDescr val slots = te.getSlotsForFace(targetSide) when (mode) { ScanMode.SIMPLE -> slots.forEach { - sum += te.getStackInSlot(it)?.stackSize ?: 0 + sum += te.getStackInSlot(it).count limit += te.inventoryStackLimit } ScanMode.SLOTS -> slots.forEach { - sum += if ((te.getStackInSlot(it)?.stackSize ?: 0) > 0) 1 else 0 + sum += if (te.getStackInSlot(it).isNotEmpty) 1 else 0 limit += 1 } } @@ -126,12 +127,12 @@ class ScannerElement(sixNode: SixNode, side: Direction, descriptor: SixNodeDescr } is IInventory -> { val sum = when (mode) { - ScanMode.SIMPLE -> (0..te.sizeInventory - 1).sumBy { - te.getStackInSlot(it)?.stackSize ?: 0 + ScanMode.SIMPLE -> (0 until te.sizeInventory).sumBy { + te.getStackInSlot(it).count }.toDouble() - ScanMode.SLOTS -> (0..te.sizeInventory - 1).count { - (te.getStackInSlot(it)?.stackSize ?: 0) > 0 + ScanMode.SLOTS -> (0 until te.sizeInventory).count { + te.getStackInSlot(it).isNotEmpty }.toDouble() * te.inventoryStackLimit } return sum / te.inventoryStackLimit / te.sizeInventory diff --git a/src/main/java/mods/eln/sixnode/TreeResinCollector/TreeResinCollectorBlock.java b/src/main/java/mods/eln/sixnode/TreeResinCollector/TreeResinCollectorBlock.java index 552ae0828..98e8f2c53 100644 --- a/src/main/java/mods/eln/sixnode/TreeResinCollector/TreeResinCollectorBlock.java +++ b/src/main/java/mods/eln/sixnode/TreeResinCollector/TreeResinCollectorBlock.java @@ -23,7 +23,7 @@ public TreeResinCollectorBlock(int id) { } @Override - public boolean isVisuallyOpaque() { + public boolean isOpaqueCube(IBlockState state) { return false; } @@ -44,7 +44,7 @@ public TileEntity createNewTileEntity(World world, int a) { @Override - public boolean onBlockActivated(World worldIn, BlockPos pos, IBlockState state, EntityPlayer playerIn, EnumHand hand, @Nullable ItemStack heldItem, EnumFacing side, float hitX, float hitY, float hitZ) { + public boolean onBlockActivated(World worldIn, BlockPos pos, IBlockState state, EntityPlayer playerIn, EnumHand hand, EnumFacing facing, float hitX, float hitY, float hitZ) { return ((TreeResinCollectorTileEntity) worldIn.getTileEntity(pos)).onBlockActivated(); } diff --git a/src/main/java/mods/eln/sixnode/TreeResinCollector/TreeResinCollectorDescriptor.java b/src/main/java/mods/eln/sixnode/TreeResinCollector/TreeResinCollectorDescriptor.java index 12f06a83b..be4515386 100644 --- a/src/main/java/mods/eln/sixnode/TreeResinCollector/TreeResinCollectorDescriptor.java +++ b/src/main/java/mods/eln/sixnode/TreeResinCollector/TreeResinCollectorDescriptor.java @@ -108,7 +108,7 @@ public static boolean isLeaf(Block b) { public boolean canBePlacedOnSide(EntityPlayer player, Coordinate c, Direction side) { Block b = c.getBlock(); if (!isWood(b) || side.isY()) { - Utils.addChatMessage(player, tr("This block can only be placed on the side of a tree!")); + Utils.sendMessage(player, tr("This block can only be placed on the side of a tree!")); return false; } return true; diff --git a/src/main/java/mods/eln/sixnode/TreeResinCollector/TreeResinCollectorElement.java b/src/main/java/mods/eln/sixnode/TreeResinCollector/TreeResinCollectorElement.java index d3ef74b8e..2762b392b 100644 --- a/src/main/java/mods/eln/sixnode/TreeResinCollector/TreeResinCollectorElement.java +++ b/src/main/java/mods/eln/sixnode/TreeResinCollector/TreeResinCollectorElement.java @@ -68,7 +68,7 @@ public void initialize() { double getProductPerSecond() { Coordinate coord = sixNode.coordinate; - World worldObj = coord.world(); + World world = coord.world(); int[] posWood = new int[3]; int[] posCollector = new int[3]; Direction woodDirection = side; @@ -79,26 +79,26 @@ public void initialize() { int leafCount = 0; int yStart, yEnd; - while (TreeResinCollectorDescriptor.isWood(worldObj.getBlockState(new BlockPos(posWood[0], posWood[1] - 1, posWood[2])).getBlock())) { + while (TreeResinCollectorDescriptor.isWood(world.getBlockState(new BlockPos(posWood[0], posWood[1] - 1, posWood[2])).getBlock())) { posWood[1]--; } yStart = posWood[1]; posWood[1] = coord.pos.getY(); // timeCounter-= timeTarget; - while (TreeResinCollectorDescriptor.isWood(worldObj.getBlockState(new BlockPos(posWood[0], posWood[1] + 1, posWood[2])).getBlock())) { - if (TreeResinCollectorDescriptor.isLeaf(worldObj.getBlockState(new BlockPos(posCollector[0], posWood[1] + 1, posCollector[2])).getBlock())) + while (TreeResinCollectorDescriptor.isWood(world.getBlockState(new BlockPos(posWood[0], posWood[1] + 1, posWood[2])).getBlock())) { + if (TreeResinCollectorDescriptor.isLeaf(world.getBlockState(new BlockPos(posCollector[0], posWood[1] + 1, posCollector[2])).getBlock())) leafCount++; posWood[1]++; } yEnd = posWood[1]; int collectorCount = 0; - Coordinate coordTemp = new Coordinate(posCollector[0], 0, posCollector[2], worldObj); + Coordinate coordTemp = new Coordinate(posCollector[0], 0, posCollector[2], world); posCollector[1] = yStart; for (posCollector[1] = yStart; posCollector[1] <= yEnd; posCollector[1]++) { coordTemp.pos.setY(posCollector[1]); - // if(worldObj.getBlockId(posCollector[0],posCollector[1]+1,posCollector[2]) == Eln.treeResinCollectorBlock.blockID) + // if(world.getBlockId(posCollector[0],posCollector[1]+1,posCollector[2]) == Eln.treeResinCollectorBlock.blockID) NodeBase node = NodeManager.instance.getNodeFromCoordinate(coordTemp); if (node instanceof SixNode) { SixNode six = (SixNode) node; @@ -140,7 +140,7 @@ public boolean onBlockActivated(EntityPlayer entityPlayer, Direction side, sixNode.dropItem(Eln.treeResin.newItemStack(1)); } - Utils.addChatMessage(entityPlayer, "Tree Resin in pot : " + String.format("%1.2f", productPerSeconde * timeFromLastActivated)); + Utils.sendMessage(entityPlayer, "Tree Resin in pot : " + String.format("%1.2f", productPerSeconde * timeFromLastActivated)); needPublish(); return true; } diff --git a/src/main/java/mods/eln/sixnode/TreeResinCollector/TreeResinCollectorTileEntity.java b/src/main/java/mods/eln/sixnode/TreeResinCollector/TreeResinCollectorTileEntity.java index 920d2da31..c56160120 100644 --- a/src/main/java/mods/eln/sixnode/TreeResinCollector/TreeResinCollectorTileEntity.java +++ b/src/main/java/mods/eln/sixnode/TreeResinCollector/TreeResinCollectorTileEntity.java @@ -21,9 +21,9 @@ public class TreeResinCollectorTileEntity extends TileEntity implements ITickabl float timeCounter = 0; boolean onBlockActivated() { - if (worldObj.isRemote) return true; + if (world.isRemote) return true; while (occupancy >= 1f) { - Utils.dropItem(Eln.treeResin.newItemStack(1), new Coordinate( this.pos.getX(), this.pos.getY(), this.pos.getZ(), worldObj)); + Utils.dropItem(Eln.treeResin.newItemStack(1), new Coordinate( this.pos.getX(), this.pos.getY(), this.pos.getZ(), world)); occupancy -= 1f; } return true; @@ -31,7 +31,7 @@ boolean onBlockActivated() { @Override public void update() { - if (worldObj.isRemote) return; + if (world.isRemote) return; timeCounter += 1f / 20f; if (timeCounter > timeTarget) { int[] posWood = new int[3]; @@ -44,14 +44,14 @@ public void update() { int yStart, yEnd; - while (worldObj.getBlockState(new BlockPos(posWood[0], posWood[1] - 1, posWood[2])) == Blocks.LOG) { + while (world.getBlockState(new BlockPos(posWood[0], posWood[1] - 1, posWood[2])) == Blocks.LOG) { posWood[1]--; } yStart = posWood[1]; posWood[1] = pos.getY(); timeCounter -= timeTarget; - while (worldObj.getBlockState(new BlockPos(posWood[0], posWood[1] + 1, posWood[2])).getBlock() == Blocks.LOG) { + while (world.getBlockState(new BlockPos(posWood[0], posWood[1] + 1, posWood[2])).getBlock() == Blocks.LOG) { posWood[1]++; } yEnd = posWood[1]; @@ -59,7 +59,7 @@ public void update() { int collectorCount = 0; posCollector[1] = yStart; for (posCollector[1] = yStart; posCollector[1] <= yEnd; posCollector[1]++) { - ////// if (worldObj.getBlockId(posCollector[0], posCollector[1] + 1, posCollector[2]) == Eln.treeResinCollectorBlock.blockID) + ////// if (world.getBlockId(posCollector[0], posCollector[1] + 1, posCollector[2]) == Eln.treeResinCollectorBlock.blockID) { ////// collectiorCount++; } diff --git a/src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerElement.java b/src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerElement.java index 2070ce846..c575808c1 100644 --- a/src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerElement.java +++ b/src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerElement.java @@ -218,12 +218,8 @@ public void process(double time) { descriptor.setRp(powerResistor, false); } else { ItemStack booster = (getInventory().getStackInSlot(BatteryChargerContainer.boosterSlotId)); - double boost = 1.0; - double eff = 1.0; - if (booster != null) { - boost = Math.pow(1.25, booster.stackSize); - eff = Math.pow(0.9, booster.stackSize); - } + double boost = Math.pow(1.25, booster.getCount()); + double eff = Math.pow(0.9, booster.getCount()); energyCounter += powerResistor.getP() * time * eff; diff --git a/src/main/java/mods/eln/sixnode/electricalcable/ElectricalCableElement.java b/src/main/java/mods/eln/sixnode/electricalcable/ElectricalCableElement.java index 33bf82a7d..abb68ee74 100644 --- a/src/main/java/mods/eln/sixnode/electricalcable/ElectricalCableElement.java +++ b/src/main/java/mods/eln/sixnode/electricalcable/ElectricalCableElement.java @@ -166,7 +166,7 @@ public boolean onBlockActivated(EntityPlayer entityPlayer, Direction side, float //int i; if (Utils.isPlayerUsingWrench(entityPlayer)) { colorCare = colorCare ^ 1; - Utils.addChatMessage(entityPlayer, "Wire color care " + colorCare); + Utils.sendMessage(entityPlayer, "Wire color care " + colorCare); sixNode.reconnect(); } else if (currentItemStack != null) { Item item = currentItemStack.getItem(); diff --git a/src/main/java/mods/eln/sixnode/electricaldatalogger/DataLogs.java b/src/main/java/mods/eln/sixnode/electricaldatalogger/DataLogs.java index fbe42eec2..43390bafd 100644 --- a/src/main/java/mods/eln/sixnode/electricaldatalogger/DataLogs.java +++ b/src/main/java/mods/eln/sixnode/electricaldatalogger/DataLogs.java @@ -169,7 +169,7 @@ static void draw(byte[] value, int size, float samplingPeriod, float maxValue, f */ GL11.glEnable(GL11.GL_TEXTURE_2D); - FontRenderer fontrenderer = Minecraft.getMinecraft().fontRendererObj; + FontRenderer fontrenderer = Minecraft.getMinecraft().fontRenderer; GL11.glPushMatrix(); float scale = 0.01f; GL11.glScalef(scale, scale, 1f); diff --git a/src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorSlowProcess.java b/src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorSlowProcess.java index 1b6513936..379ee9d94 100644 --- a/src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorSlowProcess.java +++ b/src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorSlowProcess.java @@ -86,7 +86,7 @@ public void process(double time) { if (distance < rayMax) { double sf = 1; if (useSpeed) { - sf = speedFactor * Utils.getLength(e.posX, e.posY, e.posZ, lastPos.xCoord, lastPos.yCoord, lastPos.zCoord); + sf = speedFactor * Utils.getLength(e.posX, e.posY, e.posZ, lastPos.x, lastPos.y, lastPos.z); //Math.sqrt(e.motionX * e.motionX + e.motionY * e.motionY + e.motionZ * e.motionZ); // Utils.println(sf); diff --git a/src/main/java/mods/eln/sixnode/electricallightsensor/ElectricalLightSensorSlowProcess.java b/src/main/java/mods/eln/sixnode/electricallightsensor/ElectricalLightSensorSlowProcess.java index 7d7b780fb..f209fcc8b 100644 --- a/src/main/java/mods/eln/sixnode/electricallightsensor/ElectricalLightSensorSlowProcess.java +++ b/src/main/java/mods/eln/sixnode/electricallightsensor/ElectricalLightSensorSlowProcess.java @@ -32,7 +32,7 @@ public void process(double time) { // Utils.println("Light : " + light); World world = coord.world(); //if(element.descriptor.dayLightOnly) { - if (!world.provider.getHasNoSky()) { + if (world.provider.hasSkyLight()) { int i1 = Utils.getLight(world, EnumSkyBlock.SKY, coord.pos) - world.getSkylightSubtracted(); i1 = Math.max(0, i1); float f = world.getCelestialAngleRadians(1.0F); diff --git a/src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathElement.java b/src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathElement.java index bc4f8a725..e0fc98ef7 100644 --- a/src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathElement.java +++ b/src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathElement.java @@ -199,10 +199,8 @@ protected void inventoryChanged() { } void checkRedstone() { - int redstoneInStack = 0; - ItemStack stack = inventory.getStackInSlot(ElectricalMathContainer.restoneSlotId); - if (stack != null) redstoneInStack = stack.stackSize; + int redstoneInStack = stack.getCount(); redstoneReady = redstoneRequired <= redstoneInStack; needPublish(); diff --git a/src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathGui.java b/src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathGui.java index b9ca82f67..b3002a418 100644 --- a/src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathGui.java +++ b/src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathGui.java @@ -49,11 +49,9 @@ public void guiObjectEvent(IGuiObject object) { protected void postDraw(float f, int x, int y) { super.postDraw(f, x, y); int c; - int redNbr = 0; ItemStack stack = render.inventory.getStackInSlot(ElectricalMathContainer.restoneSlotId); + int redNbr = stack.getCount(); - if (stack != null) - redNbr = stack.stackSize; if (!expression.getText().equals(render.expression)) { c = 0xFF404040; helper.drawString(8 + 44 / 2, 29, c, tr("Waiting for completion...")); diff --git a/src/main/java/mods/eln/sixnode/electricalredstoneinput/ElectricalRedstoneInputElement.java b/src/main/java/mods/eln/sixnode/electricalredstoneinput/ElectricalRedstoneInputElement.java index fa71e5add..49243dc30 100644 --- a/src/main/java/mods/eln/sixnode/electricalredstoneinput/ElectricalRedstoneInputElement.java +++ b/src/main/java/mods/eln/sixnode/electricalredstoneinput/ElectricalRedstoneInputElement.java @@ -127,7 +127,7 @@ public boolean onBlockActivated(EntityPlayer entityPlayer, Direction side, float Item item = currentItemStack.getItem(); /*if (item== Eln.toolsSetItem) { colorCare = colorCare ^ 1; - entityPlayer.addChatMessage("Wire color care " + colorCare); + entityPlayer.sendMessage("Wire color care " + colorCare); sixNode.reconnect(); } if (item == Eln.brushItem) { @@ -138,7 +138,7 @@ public boolean onBlockActivated(EntityPlayer entityPlayer, Direction side, float sixNode.reconnect(); } else { - entityPlayer.addChatMessage("Brush is empty"); + entityPlayer.sendMessage("Brush is empty"); } }*/ } diff --git a/src/main/java/mods/eln/sixnode/electricalwindsensor/ElectricalWindSensorDescriptor.java b/src/main/java/mods/eln/sixnode/electricalwindsensor/ElectricalWindSensorDescriptor.java index 6cb1193e5..5acfad75b 100644 --- a/src/main/java/mods/eln/sixnode/electricalwindsensor/ElectricalWindSensorDescriptor.java +++ b/src/main/java/mods/eln/sixnode/electricalwindsensor/ElectricalWindSensorDescriptor.java @@ -98,7 +98,7 @@ public void addInformation(ItemStack itemStack, EntityPlayer entityPlayer, List @Override public boolean canBePlacedOnSide(EntityPlayer player, Direction side) { if (side.isY()) { - Utils.addChatMessage(player, tr("You can't place this block on the floor or the ceiling")); + Utils.sendMessage(player, tr("You can't place this block on the floor or the ceiling")); return false; } return super.canBePlacedOnSide(player, side); diff --git a/src/main/java/mods/eln/sixnode/groundcable/GroundCableElement.java b/src/main/java/mods/eln/sixnode/groundcable/GroundCableElement.java index d6c7abbe3..3c7dabbdc 100644 --- a/src/main/java/mods/eln/sixnode/groundcable/GroundCableElement.java +++ b/src/main/java/mods/eln/sixnode/groundcable/GroundCableElement.java @@ -125,7 +125,7 @@ public boolean onBlockActivated(EntityPlayer entityPlayer, Direction side, float ItemStack currentItemStack = entityPlayer.getHeldItemMainhand(); if (Utils.isPlayerUsingWrench(entityPlayer)) { colorCare = colorCare ^ 1; - Utils.addChatMessage(entityPlayer, "Wire color care " + colorCare); + Utils.sendMessage(entityPlayer, "Wire color care " + colorCare); sixNode.reconnect(); } else if (currentItemStack != null) { Item item = currentItemStack.getItem(); diff --git a/src/main/java/mods/eln/sixnode/lampsocket/LampSocketProcess.java b/src/main/java/mods/eln/sixnode/lampsocket/LampSocketProcess.java index 3cde41ff5..967c64f68 100644 --- a/src/main/java/mods/eln/sixnode/lampsocket/LampSocketProcess.java +++ b/src/main/java/mods/eln/sixnode/lampsocket/LampSocketProcess.java @@ -113,7 +113,7 @@ public void process(double time) { for (int idx = 0; idx < lamp.socketDescriptor.range + light; idx++) { // newCoord.move(lamp.side.getInverse()); - vp.addVector(vv.xCoord, vv.yCoord, vv.zCoord); + vp.addVector(vv.x, vv.y, vv.z); c.setPosition(vp); Block b = c.getBlockState().getBlock(); @@ -122,7 +122,7 @@ public void process(double time) { break; } if (isOpaque(c)) { - vp.addVector(-vv.xCoord, -vv.yCoord, -vv.zCoord); + vp.addVector(-vv.x, -vv.y, -vv.z); c.setPosition(vp); b = c.getBlockState().getBlock(); break; @@ -267,9 +267,9 @@ public void process(double time) { public void rotateAroundZ(Vec3d v, float par1) { float f1 = MathHelper.cos(par1); float f2 = MathHelper.sin(par1); - double d0 = v.xCoord * (double) f1 + v.yCoord * (double) f2; - double d1 = v.yCoord * (double) f1 - v.xCoord * (double) f2; - double d2 = v.zCoord; + double d0 = v.x * (double) f1 + v.y * (double) f2; + double d1 = v.y * (double) f1 - v.x * (double) f2; + double d2 = v.z; v = new Vec3d(d0, d1, d2); } @@ -295,7 +295,7 @@ void placeSpot(int newLight) { break; } if (isOpaque(newCoord)) { - vp.add(new Vec3d(-vv.xCoord, -vv.yCoord, -vv.zCoord)); + vp.add(new Vec3d(-vv.x, -vv.y, -vv.z)); newCoord.setPosition(vp); break; } @@ -309,7 +309,7 @@ void placeSpot(int newLight) { if (count == 2) break; } - vp.add(new Vec3d(-vv.xCoord, -vv.yCoord, -vv.zCoord)); + vp.add(new Vec3d(-vv.x, -vv.y, -vv.z)); newCoord.setPosition(vp); } } diff --git a/src/main/java/mods/eln/sixnode/lampsocket/LightBlockEntity.java b/src/main/java/mods/eln/sixnode/lampsocket/LightBlockEntity.java index a5a42dd0b..59d24c3b9 100644 --- a/src/main/java/mods/eln/sixnode/lampsocket/LightBlockEntity.java +++ b/src/main/java/mods/eln/sixnode/lampsocket/LightBlockEntity.java @@ -69,7 +69,7 @@ void addLight(int light, int timeout) { } /*void removeLight(int light) { - //int meta = worldObj.getBlockMetadata(xCoord, yCoord, zCoord); + //int meta = world.getBlockMetadata(xCoord, yCoord, zCoord); for (int idx = 0; idx < lightList.size(); idx++) { if (lightList.get(idx) == light) { lightList.remove(idx); @@ -102,23 +102,23 @@ int getLight() { void lightManager() { /*if (lightList.size() == 0) { - worldObj.setBlock(xCoord, yCoord, zCoord, 0); + world.setBlock(xCoord, yCoord, zCoord, 0); } else { int light = getLight(); - if (light != worldObj.getBlockMetadata(xCoord, yCoord, zCoord)) { - worldObj.setBlockMetadataWithNotify(xCoord, yCoord, zCoord, light, 2); - worldObj.updateLightByType(EnumSkyBlock.Block, xCoord, yCoord, zCoord); + if (light != world.getBlockMetadata(xCoord, yCoord, zCoord)) { + world.setBlockMetadataWithNotify(xCoord, yCoord, zCoord, light, 2); + world.updateLightByType(EnumSkyBlock.Block, xCoord, yCoord, zCoord); } }*/ } public void updateEntity() { - if (worldObj.isRemote) return; + if (world.isRemote) return; BlockPos pos = this.pos; if (lightList.isEmpty()) { - // worldObj.setBlockMetadataWithNotify(xCoord, yCoord, zCoord, 1, 2); - worldObj.setBlockToAir(pos); - //worldObj.updateLightByType(EnumSkyBlock.Block, xCoord, yCoord, zCoord); + // world.setBlockMetadataWithNotify(xCoord, yCoord, zCoord, 1, 2); + world.setBlockToAir(pos); + //world.updateLightByType(EnumSkyBlock.Block, xCoord, yCoord, zCoord); //Eln.instance.tileEntityDestructor.add(this); Utils.println("Destroy light at " + pos.getX() + " " + pos.getY() + " " + pos.getZ() + " "); return; @@ -136,11 +136,11 @@ public void updateEntity() { iterator.remove(); } } - IBlockState state = worldObj.getBlockState(pos); + IBlockState state = world.getBlockState(pos); Block block = state.getBlock(); if (light != block.getMetaFromState(state)) { block.setLightLevel(2); - worldObj.notifyLightSet(pos); + world.notifyLightSet(pos); } } diff --git a/src/main/java/mods/eln/sixnode/lampsupply/LampSupplyElement.java b/src/main/java/mods/eln/sixnode/lampsupply/LampSupplyElement.java index 0bb62730d..eb4bdd387 100644 --- a/src/main/java/mods/eln/sixnode/lampsupply/LampSupplyElement.java +++ b/src/main/java/mods/eln/sixnode/lampsupply/LampSupplyElement.java @@ -405,7 +405,6 @@ public int getRange() { private int getRange(LampSupplyDescriptor desc, IInventory inventory2) { ItemStack stack = getInventory().getStackInSlot(LampSupplyContainer.cableSlotId); - if (stack == null) return desc.range; - return desc.range + stack.stackSize; + return desc.range + stack.getCount(); } } diff --git a/src/main/java/mods/eln/sixnode/modbusrtu/ModbusRtuGui.java b/src/main/java/mods/eln/sixnode/modbusrtu/ModbusRtuGui.java index c7e1a87a8..bc94bfcdf 100644 --- a/src/main/java/mods/eln/sixnode/modbusrtu/ModbusRtuGui.java +++ b/src/main/java/mods/eln/sixnode/modbusrtu/ModbusRtuGui.java @@ -61,14 +61,14 @@ int generateTxRd(int x, int y) { y += 10; - station = new GuiTextFieldEln(fontRendererObj, 2, y, 30, helper); + station = new GuiTextFieldEln(fontRenderer, 2, y, 30, helper); if (render.station != -1) station.setText(render.station); station.setObserver(this); station.setComment(0, tr("Station ID")); extender.add(station); - name = new GuiTextFieldEln(fontRendererObj, 2 + station.getWidth() + 12, y, 101, helper); + name = new GuiTextFieldEln(fontRenderer, 2 + station.getWidth() + 12, y, 101, helper); y += name.getHeight(); name.setText(render.name); name.setObserver(this); @@ -107,14 +107,14 @@ int generateTxRd(int x, int y) { y += 2; x = 2; - GuiTextFieldEln txName = new GuiTextFieldEln(fontRendererObj, x, y + 4, 90, helper); + GuiTextFieldEln txName = new GuiTextFieldEln(fontRenderer, x, y + 4, 90, helper); txName.setText(tx.name); txName.setComment(0, tr("Channel name")); extender.add(txName); x += txName.getWidth() + 12; - GuiTextFieldEln txId = new GuiTextFieldEln(fontRendererObj, x, y + 4, 40, helper); + GuiTextFieldEln txId = new GuiTextFieldEln(fontRenderer, x, y + 4, 40, helper); if (tx.id != -1) txId.setText(tx.id); else @@ -161,14 +161,14 @@ int generateTxRd(int x, int y) { y += 2; x = 2; - GuiTextFieldEln rxName = new GuiTextFieldEln(fontRendererObj, x, y + 4, 90, helper); + GuiTextFieldEln rxName = new GuiTextFieldEln(fontRenderer, x, y + 4, 90, helper); rxName.setText(rx.name); rxName.setComment(0, tr("Channel name")); extender.add(rxName); x += rxName.getWidth() + 12; - GuiTextFieldEln rxId = new GuiTextFieldEln(fontRendererObj, x, y + 4, 40, helper); + GuiTextFieldEln rxId = new GuiTextFieldEln(fontRenderer, x, y + 4, 40, helper); if (rx.id != -1) rxId.setText(rx.id); else diff --git a/src/main/java/mods/eln/sixnode/powercapacitorsix/PowerCapacitorSixDescriptor.java b/src/main/java/mods/eln/sixnode/powercapacitorsix/PowerCapacitorSixDescriptor.java index 7af54f60b..036b63920 100644 --- a/src/main/java/mods/eln/sixnode/powercapacitorsix/PowerCapacitorSixDescriptor.java +++ b/src/main/java/mods/eln/sixnode/powercapacitorsix/PowerCapacitorSixDescriptor.java @@ -52,20 +52,22 @@ public double getCValue(int cableCount, double nominalDielVoltage) { public double getCValue(IInventory inventory) { ItemStack core = inventory.getStackInSlot(PowerCapacitorSixContainer.redId); ItemStack diel = inventory.getStackInSlot(PowerCapacitorSixContainer.dielectricId); - if (core == null || diel == null) + + + if (core.isEmpty() || diel.isEmpty()) return getCValue(0, 0); else { - return getCValue(core.stackSize, getUNominalValue(inventory)); + return getCValue(core.getCount(), getUNominalValue(inventory)); } } public double getUNominalValue(IInventory inventory) { ItemStack diel = inventory.getStackInSlot(PowerCapacitorSixContainer.dielectricId); - if (diel == null) + if (diel.isEmpty()) return 10000; else { DielectricItem desc = (DielectricItem) DielectricItem.getDescriptor(diel); - return desc.uNominal * diel.stackSize; + return desc.uNominal * diel.getCount(); } } diff --git a/src/main/java/mods/eln/sixnode/powerinductorsix/PowerInductorSixDescriptor.java b/src/main/java/mods/eln/sixnode/powerinductorsix/PowerInductorSixDescriptor.java index a73695737..45e294bde 100644 --- a/src/main/java/mods/eln/sixnode/powerinductorsix/PowerInductorSixDescriptor.java +++ b/src/main/java/mods/eln/sixnode/powerinductorsix/PowerInductorSixDescriptor.java @@ -46,16 +46,13 @@ public double getlValue(int cableCount) { public double getlValue(IInventory inventory) { ItemStack core = inventory.getStackInSlot(PowerInductorSixContainer.cableId); - if (core == null) - return getlValue(0); - else - return getlValue(core.stackSize); + return getlValue(core.getCount()); } public double getRsValue(IInventory inventory) { ItemStack core = inventory.getStackInSlot(PowerInductorSixContainer.coreId); - if (core == null) return MnaConst.highImpedance; + if (core.isEmpty()) return MnaConst.highImpedance; FerromagneticCoreDescriptor coreDescriptor = (FerromagneticCoreDescriptor) FerromagneticCoreDescriptor.getDescriptor(core); double coreFactor = coreDescriptor.cableMultiplicator; diff --git a/src/main/java/mods/eln/sixnode/powersocket/PowerSocketElement.java b/src/main/java/mods/eln/sixnode/powersocket/PowerSocketElement.java index c4c3814bf..9fb3b0261 100644 --- a/src/main/java/mods/eln/sixnode/powersocket/PowerSocketElement.java +++ b/src/main/java/mods/eln/sixnode/powersocket/PowerSocketElement.java @@ -237,7 +237,6 @@ public int getRange() { private int getRange(PowerSocketDescriptor desc, SixNodeElementInventory inventory2) { ItemStack stack = inventory.getStackInSlot(PowerSocketContainer.cableSlotId); - if (stack == null) return desc.range; - return desc.range + stack.stackSize; + return desc.range + stack.getCount(); } } diff --git a/src/main/java/mods/eln/sixnode/resistor/ResistorDescriptor.java b/src/main/java/mods/eln/sixnode/resistor/ResistorDescriptor.java index 5faf5406d..31551690f 100644 --- a/src/main/java/mods/eln/sixnode/resistor/ResistorDescriptor.java +++ b/src/main/java/mods/eln/sixnode/resistor/ResistorDescriptor.java @@ -54,8 +54,7 @@ public ResistorDescriptor(String name, public double getRsValue(IInventory inventory) { ItemStack core = inventory.getStackInSlot(ResistorContainer.coreId); - if (core == null) return series.getValue(0); - return series.getValue(core.stackSize); + return series.getValue(core.getCount()); } @Override diff --git a/src/main/java/mods/eln/sixnode/thermalcable/ThermalCableElement.java b/src/main/java/mods/eln/sixnode/thermalcable/ThermalCableElement.java index 20820ed04..38c957adc 100644 --- a/src/main/java/mods/eln/sixnode/thermalcable/ThermalCableElement.java +++ b/src/main/java/mods/eln/sixnode/thermalcable/ThermalCableElement.java @@ -126,7 +126,7 @@ public boolean onBlockActivated(EntityPlayer entityPlayer, Direction side, float ItemStack currentItemStack = entityPlayer.getHeldItemMainhand(); if (Utils.isPlayerUsingWrench(entityPlayer)) { colorCare = colorCare ^ 1; - Utils.addChatMessage(entityPlayer, "Wire color care " + colorCare); + Utils.sendMessage(entityPlayer, "Wire color care " + colorCare); sixNode.reconnect(); } else if (currentItemStack != null) { Item item = currentItemStack.getItem(); diff --git a/src/main/java/mods/eln/sixnode/tutorialsign/TutorialSignOverlay.java b/src/main/java/mods/eln/sixnode/tutorialsign/TutorialSignOverlay.java index 39e2d19bd..acc57b110 100644 --- a/src/main/java/mods/eln/sixnode/tutorialsign/TutorialSignOverlay.java +++ b/src/main/java/mods/eln/sixnode/tutorialsign/TutorialSignOverlay.java @@ -35,7 +35,7 @@ public void render(RenderGameOverlayEvent.Text event) { int px = MathHelper.floor(player.posX), py = MathHelper.floor(player.posY), pz = MathHelper.floor(player.posZ); int r = 1; - World w = player.worldObj; + World w = player.world; TutorialSignRender best = null; double bestDistance = 10000; @@ -71,7 +71,7 @@ public void render(RenderGameOverlayEvent.Text event) { GL11.glScalef(0.5f, 0.5f, 0.5f); int y = 0; for (String str : best.texts) { - Minecraft.getMinecraft().fontRendererObj.drawString(str, 10/* event.resolution.getScaledWidth() / 2 - 50*/, 10 + y, 0xFFFFFF); + Minecraft.getMinecraft().fontRenderer.drawString(str, 10/* event.resolution.getScaledWidth() / 2 - 50*/, 10 + y, 0xFFFFFF); y += 10; } GL11.glPopMatrix(); diff --git a/src/main/java/mods/eln/sixnode/wirelesssignal/WirelessSignalAnalyserItemDescriptor.java b/src/main/java/mods/eln/sixnode/wirelesssignal/WirelessSignalAnalyserItemDescriptor.java index 9b28a0cb4..4a23b9f1c 100644 --- a/src/main/java/mods/eln/sixnode/wirelesssignal/WirelessSignalAnalyserItemDescriptor.java +++ b/src/main/java/mods/eln/sixnode/wirelesssignal/WirelessSignalAnalyserItemDescriptor.java @@ -27,7 +27,7 @@ public WirelessSignalAnalyserItemDescriptor(String name) { @Override public EnumActionResult onItemUse(ItemStack stack, EntityPlayer player, World world, BlockPos pos, EnumHand hand, EnumFacing side, float vx, float vy, float vz) { if (world.isRemote) return EnumActionResult.PASS; - Utils.addChatMessage(player, "-------------------"); + Utils.sendMessage(player, "-------------------"); Direction dir = Direction.fromFacing(side); Coordinate c = new Coordinate(pos, world); c.move(dir); @@ -46,20 +46,20 @@ public EnumActionResult onItemUse(ItemStack stack, EntityPlayer player, World wo double temp = txStrength.get(oneTx); if (temp < strength) strength = temp; } - Utils.addChatMessage(player, entrySet.getKey() + " Strength=" + String.format("%2.1f", strength) + " Value=" + String.format("%3.0f", aggregator.aggregate(set) * 100) + "%"); + Utils.sendMessage(player, entrySet.getKey() + " Strength=" + String.format("%2.1f", strength) + " Value=" + String.format("%3.0f", aggregator.aggregate(set) * 100) + "%"); } if (txSet.isEmpty()) { - Utils.addChatMessage(player, "No wireless signal in area!"); + Utils.sendMessage(player, "No wireless signal in area!"); } /*ArrayList list = WirelessSignalRxProcess.getTxList(c); int idx = 0; for (WirelessSignalInfo e : list) { - Utils.addChatMessage(player, e.tx.getChannel() + " Strength=" + String.format("%2.1f", e.power) + " Value=" + String.format("%2.1fV", e.tx.getValue() * Eln.instance.SVU)); + Utils.sendMessage(player, e.tx.getChannel() + " Strength=" + String.format("%2.1f", e.power) + " Value=" + String.format("%2.1fV", e.tx.getValue() * Eln.instance.SVU)); idx++; } if (list.size() == 0) { - Utils.addChatMessage(player, "No wireless signal in area!"); + Utils.sendMessage(player, "No wireless signal in area!"); }*/ return EnumActionResult.PASS; } diff --git a/src/main/java/mods/eln/sound/LoopedSoundManager.kt b/src/main/java/mods/eln/sound/LoopedSoundManager.kt index f8d861035..19ea3d983 100644 --- a/src/main/java/mods/eln/sound/LoopedSoundManager.kt +++ b/src/main/java/mods/eln/sound/LoopedSoundManager.kt @@ -16,7 +16,7 @@ class LoopedSoundManager(val updateInterval: Float = 0.5f) { fun dispose() = loops.forEach { it.active = false } // takes in two points and gets the squared distance delta between them - inline fun sqDistDelta(cx: Double, cy: Double, cz: Double, px: Double, py: Double, pz: Double) = (cx - px) * (cx - px) + (cy - py) * (cy - py) + (cz - pz) * (cz - pz) + private fun sqDistDelta(cx: Double, cy: Double, cz: Double, px: Double, py: Double, pz: Double) = (cx - px) * (cx - px) + (cy - py) * (cy - py) + (cz - pz) * (cz - pz) fun process(deltaT: Float) { remaining -= deltaT diff --git a/src/main/java/mods/eln/transparentnode/FuelGenerator.kt b/src/main/java/mods/eln/transparentnode/FuelGenerator.kt index da20b03c0..4932b1d6a 100644 --- a/src/main/java/mods/eln/transparentnode/FuelGenerator.kt +++ b/src/main/java/mods/eln/transparentnode/FuelGenerator.kt @@ -166,7 +166,7 @@ class FuelGeneratorElement(transparentNode: TransparentNode, descriptor_: Transp // TODO(1.10): Filling with fuel override fun onBlockActivated(player: EntityPlayer?, side: Direction?, vx: Float, vy: Float, vz: Float): Boolean { -// if (!(player?.worldObj?.isRemote ?: true)) { +// if (!(player?.world?.isRemote ?: true)) { // val bucket = player?.heldItemMainhand // if (FluidContainerRegistry.isBucket(bucket) && FluidContainerRegistry.isFilledContainer(bucket)) { // val deltaLevel = 1.0 / FuelGeneratorDescriptor.TankCapacityInBuckets; diff --git a/src/main/java/mods/eln/transparentnode/LargeRheostat.kt b/src/main/java/mods/eln/transparentnode/LargeRheostat.kt index 01431f20f..6b5a2a03e 100644 --- a/src/main/java/mods/eln/transparentnode/LargeRheostat.kt +++ b/src/main/java/mods/eln/transparentnode/LargeRheostat.kt @@ -41,9 +41,8 @@ class LargeRheostatDescriptor(name: String, val dissipator: ThermalDissipatorPas } fun getRsValue(inventory: IInventory): Double { - val core = inventory.getStackInSlot(ResistorContainer.coreId) ?: return series.getValue(0) - - return series.getValue(core.stackSize) + val core = inventory.getStackInSlot(ResistorContainer.coreId) + return series.getValue(core.count) } fun draw(position: Float = 0f) { diff --git a/src/main/java/mods/eln/transparentnode/autominer/AutoMinerRender.java b/src/main/java/mods/eln/transparentnode/autominer/AutoMinerRender.java index d7faf585e..315dc3b77 100644 --- a/src/main/java/mods/eln/transparentnode/autominer/AutoMinerRender.java +++ b/src/main/java/mods/eln/transparentnode/autominer/AutoMinerRender.java @@ -128,7 +128,7 @@ public void draw() { GL11.glScalef(1 / 128f, -1 / 128f, 1); int idx = 0; for (String log : logs) { - Minecraft.getMinecraft().fontRendererObj.drawString(idx == 0 ? Color.COLOR_BRIGHT_GREEN + "> " + + Minecraft.getMinecraft().fontRenderer.drawString(idx == 0 ? Color.COLOR_BRIGHT_GREEN + "> " + log.substring(2) : Color.COLOR_DARK_GREEN + log, 80, 1 + idx, 0xFFD0D0D0 /*No effect...*/); idx += 8; } diff --git a/src/main/java/mods/eln/transparentnode/autominer/AutoMinerSlowProcess.java b/src/main/java/mods/eln/transparentnode/autominer/AutoMinerSlowProcess.java index 4ea383844..e794050bf 100644 --- a/src/main/java/mods/eln/transparentnode/autominer/AutoMinerSlowProcess.java +++ b/src/main/java/mods/eln/transparentnode/autominer/AutoMinerSlowProcess.java @@ -260,7 +260,7 @@ private void setupJob() { } else if (drill == null) { if (jobCoord.pos.getY() != miner.node.coordinate.pos.getY()) { ItemStack pipeStack = miner.getInventory().getStackInSlot(AutoMinerContainer.MiningPipeSlotId); - if (pipeStack == null || (pipeStack.stackSize != pipeStack.getMaxStackSize() && pipeStack.stackSize != miner.getInventory().getInventoryStackLimit())) { + if (pipeStack.getCount() != pipeStack.getMaxStackSize() && pipeStack.getCount() != miner.getInventory().getInventoryStackLimit()) { jobFind = true; setJob(jobType.pipeRemove); } else { diff --git a/src/main/java/mods/eln/transparentnode/battery/BatteryDescriptor.java b/src/main/java/mods/eln/transparentnode/battery/BatteryDescriptor.java index 10bebac31..1245f999e 100644 --- a/src/main/java/mods/eln/transparentnode/battery/BatteryDescriptor.java +++ b/src/main/java/mods/eln/transparentnode/battery/BatteryDescriptor.java @@ -259,7 +259,7 @@ public double getEnergy(double charge, double life) { @Override public boolean onEntityItemUpdate(EntityItem entityItem) { if (entityItem.isBurning()) { - entityItem.worldObj.createExplosion(entityItem, entityItem.posX, entityItem.posY, entityItem.posZ, 2, true); + entityItem.world.createExplosion(entityItem, entityItem.posX, entityItem.posY, entityItem.posZ, 2, true); entityItem.extinguish(); entityItem.setDead(); } diff --git a/src/main/java/mods/eln/transparentnode/eggincubator/EggIncubatorDescriptor.java b/src/main/java/mods/eln/transparentnode/eggincubator/EggIncubatorDescriptor.java index d969a9324..6b0220656 100644 --- a/src/main/java/mods/eln/transparentnode/eggincubator/EggIncubatorDescriptor.java +++ b/src/main/java/mods/eln/transparentnode/eggincubator/EggIncubatorDescriptor.java @@ -115,6 +115,6 @@ public void setState(Resistor powerLoad, boolean enable) { public void addCollisionBoxesToList(AxisAlignedBB par5AxisAlignedBB, List list, BlockPos pos) { AxisAlignedBB bb = new AxisAlignedBB(pos); bb = bb.setMaxY(0.5); - if (par5AxisAlignedBB.intersectsWith(bb)) list.add(bb); + if (par5AxisAlignedBB.intersects(bb)) list.add(bb); } } diff --git a/src/main/java/mods/eln/transparentnode/eggincubator/EggIncubatorElement.java b/src/main/java/mods/eln/transparentnode/eggincubator/EggIncubatorElement.java index ee69564f1..a8c3a35f6 100644 --- a/src/main/java/mods/eln/transparentnode/eggincubator/EggIncubatorElement.java +++ b/src/main/java/mods/eln/transparentnode/eggincubator/EggIncubatorElement.java @@ -76,14 +76,12 @@ public void process(double time) { inventory.decrStackSize(EggIncubatorContainer.EggSlotId, 1); EntityChicken chicken = new EntityChicken(node.coordinate.world()); chicken.setGrowingAge(-24000); - EntityLiving entityliving = (EntityLiving) chicken; - entityliving.setLocationAndAngles(node.coordinate.pos.getX() + 0.5, node.coordinate.pos.getY() + 0.5, node.coordinate.pos.getZ() + 0.5, MathHelper.wrapDegrees(node.coordinate.world().rand.nextFloat() * 360.0F), 0.0F); - entityliving.rotationYawHead = entityliving.rotationYaw; - entityliving.renderYawOffset = entityliving.rotationYaw; - //entityliving.func_110161_a((EntityLivingData)null); 1.6.4 - node.coordinate.world().spawnEntityInWorld(entityliving); - entityliving.playLivingSound(); - //node.coordinate.world().spawnEntityInWorld()); + chicken.setLocationAndAngles(node.coordinate.pos.getX() + 0.5, node.coordinate.pos.getY() + 0.5, node.coordinate.pos.getZ() + 0.5, MathHelper.wrapDegrees(node.coordinate.world().rand.nextFloat() * 360.0F), 0.0F); + chicken.rotationYawHead = chicken.rotationYaw; + chicken.renderYawOffset = chicken.rotationYaw; + node.coordinate.world().spawnEntity(chicken); + chicken.playLivingSound(); + //node.coordinate.world().spawnEntity()); resetEnergy(); needPublish(); @@ -174,8 +172,7 @@ public IInventory getInventory() { public void networkSerialize(DataOutputStream stream) { super.networkSerialize(stream); try { - if (inventory.getStackInSlot(EggIncubatorContainer.EggSlotId) == null) stream.writeByte(0); - else stream.writeByte(inventory.getStackInSlot(EggIncubatorContainer.EggSlotId).stackSize); + stream.writeByte(inventory.getStackInSlot(EggIncubatorContainer.EggSlotId).getCount()); node.lrduCubeMask.getTranslate(front.down()).serialize(stream); @@ -189,7 +186,7 @@ public void networkSerialize(DataOutputStream stream) { @Override public Map getWaila() { Map info = new HashMap(); - info.put(I18N.tr("Has egg"), inventory.getStackInSlot(EggIncubatorContainer.EggSlotId) != null ? + info.put(I18N.tr("Has egg"), !inventory.getStackInSlot(EggIncubatorContainer.EggSlotId).isEmpty() ? I18N.tr("Yes") : I18N.tr("No")); if (Eln.wailaEasyMode) { info.put(I18N.tr("Power consumption"), Utils.plotPower("", powerResistor.getP())); diff --git a/src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceElement.java b/src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceElement.java index 71aaf20f7..cf9cc7c44 100644 --- a/src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceElement.java +++ b/src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceElement.java @@ -147,7 +147,7 @@ public void initialize() { // ItemStack stack = new ItemStack(Item.coal); // EntityItem entity = new EntityItem(node.coordinate.world(), node.coordinate.x + 0.5, node.coordinate.y + 0.5, node.coordinate.z + 1.5, stack); - // node.coordinate.world().spawnEntityInWorld(entity); + // node.coordinate.world().spawnEntity(entity); connect(); } diff --git a/src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceProcess.java b/src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceProcess.java index ac64515a9..1a1dc69b4 100644 --- a/src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceProcess.java +++ b/src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceProcess.java @@ -94,14 +94,14 @@ public void smeltInit() { * Returns true if the furnace can smelt an item, i.e. has a source item, destination stack isn't full, etc. */ private boolean smeltCan() { - if (inventory.getStackInSlot(ElectricalFurnaceElement.inSlotId) == null) { + if (inventory.getStackInSlot(ElectricalFurnaceElement.inSlotId).isEmpty()) { return false; } else { ItemStack var1 = getSmeltResult(); if (var1 == null) return false; - if (inventory.getStackInSlot(ElectricalFurnaceElement.outSlotId) == null) return true; + if (inventory.getStackInSlot(ElectricalFurnaceElement.outSlotId).isEmpty()) return true; if (!inventory.getStackInSlot(ElectricalFurnaceElement.outSlotId).isItemEqual(var1)) return false; - int result = inventory.getStackInSlot(ElectricalFurnaceElement.outSlotId).stackSize + var1.stackSize; + int result = inventory.getStackInSlot(ElectricalFurnaceElement.outSlotId).getCount() + var1.getCount(); //energyNeeded = 1000.0; return (result <= inventory.getInventoryStackLimit() && result <= var1.getMaxStackSize()); @@ -122,7 +122,7 @@ public void smeltItem() { if (inventory.getStackInSlot(ElectricalFurnaceElement.outSlotId) == null) { inventory.setInventorySlotContents(1, var1.copy()); } else if (inventory.getStackInSlot(ElectricalFurnaceElement.outSlotId).isItemEqual(var1)) { - inventory.decrStackSize(ElectricalFurnaceElement.outSlotId, -var1.stackSize); + inventory.decrStackSize(ElectricalFurnaceElement.outSlotId, -var1.getCount()); } /*--this.furnaceItemStacks[0].stackSize; diff --git a/src/main/java/mods/eln/transparentnode/electricalmachine/ElectricalMachineElement.java b/src/main/java/mods/eln/transparentnode/electricalmachine/ElectricalMachineElement.java index 21f4c63d7..5b85cf4eb 100644 --- a/src/main/java/mods/eln/transparentnode/electricalmachine/ElectricalMachineElement.java +++ b/src/main/java/mods/eln/transparentnode/electricalmachine/ElectricalMachineElement.java @@ -129,13 +129,7 @@ public void inventoryChange(IInventory inventory) { } private void setPhysicalValue() { - ItemStack stack; - - int boosterCount = 0; - stack = getInventory().getStackInSlot(boosterSlotId); - if (stack != null) { - boosterCount = stack.stackSize; - } + int boosterCount = getInventory().getStackInSlot(boosterSlotId).getCount(); double speedUp = Math.pow(descriptor.boosterSpeedUp, boosterCount); slowRefreshProcess.setEfficiency(Math.pow(descriptor.boosterEfficiency, boosterCount)); slowRefreshProcess.setSpeedUp(speedUp); diff --git a/src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceInventoryProcess.java b/src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceInventoryProcess.java index 6344047d0..00f4dbb21 100644 --- a/src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceInventoryProcess.java +++ b/src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceInventoryProcess.java @@ -33,16 +33,13 @@ public void process(double time) { } furnace.thermalLoad.setRp(furnace.descriptor.thermal.Rp / isolationFactor); - int combustionChamberNbr = 0; - if (combustionChamberStack != null) { - combustionChamberNbr = combustionChamberStack.stackSize; - } + int combustionChamberNbr = combustionChamberStack.getCount(); furnace.furnaceProcess.nominalPower = furnace.descriptor.nominalPower + furnace.descriptor.combustionChamberPower * combustionChamberNbr; if (furnace.getTakeFuel() && SaveConfig.instance != null) { if (!SaveConfig.instance.heatFurnaceFuel) { combustibleBuffer = furnace.furnaceProcess.nominalCombustibleEnergy; - } else if (combustibleStack != null) { + } else if (!combustibleStack.isEmpty()) { double itemEnergy = Utils.getItemEnergie(combustibleStack); if (itemEnergy != 0) { if (furnace.furnaceProcess.combustibleEnergy + combustibleBuffer < furnace.furnaceProcess.nominalCombustibleEnergy) { diff --git a/src/main/java/mods/eln/transparentnode/powercapacitor/PowerCapacitorDescriptor.java b/src/main/java/mods/eln/transparentnode/powercapacitor/PowerCapacitorDescriptor.java index 7f994f4d2..8ccee9b41 100644 --- a/src/main/java/mods/eln/transparentnode/powercapacitor/PowerCapacitorDescriptor.java +++ b/src/main/java/mods/eln/transparentnode/powercapacitor/PowerCapacitorDescriptor.java @@ -5,6 +5,7 @@ import mods.eln.misc.Obj3D; import mods.eln.misc.series.ISerie; import mods.eln.node.transparent.TransparentNodeDescriptor; +import mods.eln.wiki.Data; import net.minecraft.inventory.IInventory; import net.minecraft.item.ItemStack; @@ -41,26 +42,26 @@ public double getCValue(int cableCount, double nominalDielVoltage) { public double getCValue(IInventory inventory) { ItemStack core = inventory.getStackInSlot(PowerCapacitorContainer.redId); ItemStack diel = inventory.getStackInSlot(PowerCapacitorContainer.dielectricId); - if (core == null || diel == null) + if (core.isEmpty() || diel.isEmpty()) return getCValue(0, 0); else { - return getCValue(core.stackSize, getUNominalValue(inventory)); + return getCValue(core.getCount(), getUNominalValue(inventory)); } } public double getUNominalValue(IInventory inventory) { ItemStack diel = inventory.getStackInSlot(PowerCapacitorContainer.dielectricId); - if (diel == null) + if (diel.isEmpty()) return 10000; else { DielectricItem desc = (DielectricItem) DielectricItem.getDescriptor(diel); - return desc.uNominal * diel.stackSize; + return desc.uNominal * diel.getCount(); } } public void setParent(net.minecraft.item.Item item, int damage) { super.setParent(item, damage); - //Data.addEnergy(newItemStack()); + Data.addEnergy(newItemStack()); } void draw() { diff --git a/src/main/java/mods/eln/transparentnode/powerinductor/PowerInductorDescriptor.java b/src/main/java/mods/eln/transparentnode/powerinductor/PowerInductorDescriptor.java index 7c78388bd..94fc097c6 100644 --- a/src/main/java/mods/eln/transparentnode/powerinductor/PowerInductorDescriptor.java +++ b/src/main/java/mods/eln/transparentnode/powerinductor/PowerInductorDescriptor.java @@ -37,10 +37,7 @@ public double getlValue(int cableCount) { public double getlValue(IInventory inventory) { ItemStack core = inventory.getStackInSlot(PowerInductorContainer.cableId); - if (core == null) - return getlValue(0); - else - return getlValue(core.stackSize); + return getlValue(core.getCount()); } public double getRsValue(IInventory inventory) { diff --git a/src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelDescriptor.java b/src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelDescriptor.java index 88cb95d97..4d1337e12 100644 --- a/src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelDescriptor.java +++ b/src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelDescriptor.java @@ -151,6 +151,6 @@ public void addCollisionBoxesToList(AxisAlignedBB par5AxisAlignedBB, List list, return; } AxisAlignedBB bb = new AxisAlignedBB(pos).setMaxY(0.5); - if (par5AxisAlignedBB.intersectsWith(bb)) list.add(bb); + if (par5AxisAlignedBB.intersects(bb)) list.add(bb); } } diff --git a/src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelElement.java b/src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelElement.java index 004ea564c..b05ff726b 100644 --- a/src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelElement.java +++ b/src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelElement.java @@ -41,7 +41,7 @@ public class SolarPanelElement extends TransparentNodeElement { DiodeProcess diode; PowerSourceBipole powerSource; - SolarPannelSlowProcess slowProcess = new SolarPannelSlowProcess(this); + SolarPanelSlowProcess slowProcess = new SolarPanelSlowProcess(this); public double panelAlpha = Math.PI / 2; private GhostPowerNode groundNode = null; diff --git a/src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelRender.java b/src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelRender.java index a0dd66040..2781a5fc2 100644 --- a/src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelRender.java +++ b/src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelRender.java @@ -44,7 +44,7 @@ public void refresh(float deltaT) { if (hasTracker == false) { alpha = (float) descriptor.alphaTrunk(pannelAlphaSyncValue); } else { - alpha = (float) descriptor.alphaTrunk(SolarPannelSlowProcess.getSolarAlpha(tileEntity.getWorld())); + alpha = (float) descriptor.alphaTrunk(SolarPanelSlowProcess.getSolarAlpha(tileEntity.getWorld())); } interpol.setTarget(alpha); if (boot) { diff --git a/src/main/java/mods/eln/transparentnode/solarpanel/SolarPannelSlowProcess.java b/src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelSlowProcess.java similarity index 60% rename from src/main/java/mods/eln/transparentnode/solarpanel/SolarPannelSlowProcess.java rename to src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelSlowProcess.java index 87646463d..570b6fbc6 100644 --- a/src/main/java/mods/eln/transparentnode/solarpanel/SolarPannelSlowProcess.java +++ b/src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelSlowProcess.java @@ -7,56 +7,56 @@ import net.minecraft.util.math.Vec3d; import net.minecraft.world.World; -public class SolarPannelSlowProcess implements IProcess { - SolarPanelElement solarPannel; - - public SolarPannelSlowProcess(SolarPanelElement solarPannel) { - this.solarPannel = solarPannel; +@SuppressWarnings("SuspiciousNameCombination") +public class SolarPanelSlowProcess implements IProcess { + SolarPanelSlowProcess(SolarPanelElement solarPanel) { + this.solarPanel = solarPanel; } - double timeCounter = 0; - final double timeCounterRefreshMax = 0.2; + private SolarPanelElement solarPanel; + private double timeCounter = 0; @Override public void process(double time) { + double timeCounterRefreshMax = 0.2; timeCounter -= time; if (timeCounter < 0) { //Utils.println("Solar Light : " + getSolarLight()); - /*if(solarPannel.descriptor.basicModel == false) + /*if(solarPanel.descriptor.basicModel == false) { - solarPannel.currentSource.setI(solarPannel.descriptor.solarIfS.getValue(getSolarLight())); + solarPanel.currentSource.setI(solarPanel.descriptor.solarIfS.getValue(getSolarLight())); } else*/ { - solarPannel.powerSource.setP(solarPannel.descriptor.electricalPmax * getSolarLight()); + solarPanel.powerSource.setP(solarPanel.descriptor.electricalPmax * getSolarLight()); } timeCounter += Math.random() * timeCounterRefreshMax / 2 + timeCounterRefreshMax / 2; } } - public double getSolarLight() { + double getSolarLight() { double solarAlpha = getSolarAlpha(); // Utils.print("solarAlpha : " + solarAlpha + " "); if (solarAlpha >= Math.PI) return 0.0; - if (solarPannel.getInventory().getStackInSlot(SolarPanelContainer.trackerSlotId) != null) { - solarPannel.panelAlpha = solarPannel.descriptor.alphaTrunk(solarAlpha); + if (!solarPanel.getInventory().getStackInSlot(SolarPanelContainer.trackerSlotId).isEmpty()) { + solarPanel.panelAlpha = solarPanel.descriptor.alphaTrunk(solarAlpha); } - Coordinate coordinate = solarPannel.node.coordinate; + Coordinate coordinate = solarPanel.node.coordinate; Vec3d v = Utils.getVec05(coordinate); - double x = v.xCoord + solarPannel.descriptor.solarOffsetX, y = v.yCoord + solarPannel.descriptor.solarOffsetY, z = v.zCoord + solarPannel.descriptor.solarOffsetZ; + double x = v.x + solarPanel.descriptor.solarOffsetX, y = v.y + solarPanel.descriptor.solarOffsetY, z = v.z + solarPanel.descriptor.solarOffsetZ; - double lightAlpha = solarPannel.panelAlpha - solarAlpha; + double lightAlpha = solarPanel.panelAlpha - solarAlpha; double light = Math.cos(lightAlpha); if (light < 0.0) light = 0.0; - if (coordinate.doesWorldExist() == false) return light; + if (!coordinate.doesWorldExist()) return light; World world = coordinate.world(); if (world.getWorldInfo().isRaining()) light *= 0.5; @@ -85,7 +85,7 @@ public double getSolarLight() { return light; } - public static double getSolarAlpha(World world) { + static double getSolarAlpha(World world) { double alpha = world.getCelestialAngleRadians(0f); if (alpha < Math.PI / 2 * 3) { alpha += Math.PI / 2; @@ -96,7 +96,7 @@ public static double getSolarAlpha(World world) { return alpha; } - public double getSolarAlpha() { - return getSolarAlpha(solarPannel.node.coordinate.world()); + double getSolarAlpha() { + return getSolarAlpha(solarPanel.node.coordinate.world()); } } diff --git a/src/main/java/mods/eln/transparentnode/solarpanel/SolarPannelGuiDraw.java b/src/main/java/mods/eln/transparentnode/solarpanel/SolarPannelGuiDraw.java index 1eb92c61e..c43e82458 100644 --- a/src/main/java/mods/eln/transparentnode/solarpanel/SolarPannelGuiDraw.java +++ b/src/main/java/mods/eln/transparentnode/solarpanel/SolarPannelGuiDraw.java @@ -59,9 +59,9 @@ protected void preDraw(float f, int x, int y) { super.preDraw(f, x, y); if (render.pannelAlphaSyncNew) syncVumeter(); - //vuMeterTemperature.temperatureHit = (float) (SolarPannelSlowProcess.getSolarAlpha(render.tileEntity.worldObj)); + //vuMeterTemperature.temperatureHit = (float) (SolarPanelSlowProcess.getSolarAlpha(render.tileEntity.world)); vuMeterTemperature.setEnable(!render.hasTracker); - int sunAlpha = ((int) (180 / Math.PI * SolarPannelSlowProcess.getSolarAlpha(render.tileEntity.getWorld())) - 90); + int sunAlpha = ((int) (180 / Math.PI * SolarPanelSlowProcess.getSolarAlpha(render.tileEntity.getWorld())) - 90); vuMeterTemperature.setComment(0, tr("Solar panel angle: %s°", ((int) (180 / Math.PI * vuMeterTemperature.getValue()) - 90))); if (Math.abs(sunAlpha) > 90) diff --git a/src/main/java/mods/eln/transparentnode/teleporter/TeleporterElement.java b/src/main/java/mods/eln/transparentnode/teleporter/TeleporterElement.java index 84c9066b0..73b17e833 100644 --- a/src/main/java/mods/eln/transparentnode/teleporter/TeleporterElement.java +++ b/src/main/java/mods/eln/transparentnode/teleporter/TeleporterElement.java @@ -439,7 +439,7 @@ public void process(double time) { z = (int) (e.posZ + (Math.random() * 2 - 1) * failDistance); y = 20; BlockPos pos = new BlockPos(x, y, z); - while (!(e.worldObj.isAirBlock(pos) && e.worldObj.isAirBlock(pos.up()))) { + while (!(e.world.isAirBlock(pos) && e.world.isAirBlock(pos.up()))) { y++; } Utils.serverTeleport(e, x + 0.5, y, z + 0.5); diff --git a/src/main/java/mods/eln/transparentnode/thermaldissipatorpassive/ThermalDissipatorPassiveElement.java b/src/main/java/mods/eln/transparentnode/thermaldissipatorpassive/ThermalDissipatorPassiveElement.java index 56a1598e6..5309153d3 100644 --- a/src/main/java/mods/eln/transparentnode/thermaldissipatorpassive/ThermalDissipatorPassiveElement.java +++ b/src/main/java/mods/eln/transparentnode/thermaldissipatorpassive/ThermalDissipatorPassiveElement.java @@ -88,19 +88,14 @@ public void initialize() { public boolean onBlockActivated(EntityPlayer entityPlayer, Direction side, float vx, float vy, float vz) { ItemStack stack = entityPlayer.getHeldItemMainhand(); - if (stack == null) return false; if (stack.getItem() == Items.WATER_BUCKET) { thermalLoad.Tc *= 0.5; - entityPlayer.inventory.setInventorySlotContents(entityPlayer.inventory.currentItem, new ItemStack(Items.BUCKET)); return true; } if (stack.getItem() == Item.getItemFromBlock(Blocks.ICE)) { thermalLoad.Tc *= 0.2; - if (stack.stackSize != 0) - stack.stackSize--; - else - entityPlayer.inventory.setInventorySlotContents(entityPlayer.inventory.currentItem, null); + stack.splitStack(1); return true; } return false; diff --git a/src/main/java/mods/eln/transparentnode/transformer/TransformerElement.java b/src/main/java/mods/eln/transparentnode/transformer/TransformerElement.java index 4a8aece72..28a718d7c 100644 --- a/src/main/java/mods/eln/transparentnode/transformer/TransformerElement.java +++ b/src/main/java/mods/eln/transparentnode/transformer/TransformerElement.java @@ -137,10 +137,10 @@ private void computeInventory() { ItemStack core = inventory.getStackInSlot(TransformerContainer.ferromagneticSlotId); ElectricalCableDescriptor primaryCableDescriptor = null, secondaryCableDescriptor = null; - if (primaryCable != null) { + if (!primaryCable.isEmpty()) { primaryCableDescriptor = (ElectricalCableDescriptor) Eln.sixNodeItem.getDescriptor(primaryCable); } - if (secondaryCable != null) { + if (!secondaryCable.isEmpty()) { secondaryCableDescriptor = (ElectricalCableDescriptor) Eln.sixNodeItem.getDescriptor(secondaryCable); } @@ -155,13 +155,13 @@ private void computeInventory() { voltageSecondaryWatchdog.setUNominal(1000000); double coreFactor = 1; - if (core != null) { + if (!core.isEmpty()) { FerromagneticCoreDescriptor coreDescriptor = (FerromagneticCoreDescriptor) FerromagneticCoreDescriptor.getDescriptor(core); coreFactor = coreDescriptor.cableMultiplicator; } - if (primaryCable == null || core == null) { + if (primaryCable.isEmpty() || core.isEmpty()) { primaryLoad.highImpedance(); primaryMaxCurrent = 0; } else { @@ -169,7 +169,7 @@ private void computeInventory() { primaryMaxCurrent = (float) primaryCableDescriptor.electricalMaximalCurrent; } - if (secondaryCable == null || core == null) { + if (secondaryCable.isEmpty() || core.isEmpty()) { secondaryLoad.highImpedance(); secondaryMaxCurrent = 0; } else { @@ -177,9 +177,9 @@ private void computeInventory() { secondaryMaxCurrent = (float) secondaryCableDescriptor.electricalMaximalCurrent; } - if (primaryCable != null && secondaryCable != null) { - transformer.setRatio(1.0 * secondaryCable.stackSize / primaryCable.stackSize); - interSystemProcess.setRatio(1.0 * secondaryCable.stackSize / primaryCable.stackSize); + if (!primaryCable.isEmpty() && !secondaryCable.isEmpty()) { + transformer.setRatio(1.0 * secondaryCable.getCount() / primaryCable.getCount()); + interSystemProcess.setRatio(1.0 * secondaryCable.getCount() / primaryCable.getCount()); } else { transformer.setRatio(1); interSystemProcess.setRatio(1); @@ -264,14 +264,8 @@ public byte networkUnserialize(DataInputStream stream) { public void networkSerialize(DataOutputStream stream) { super.networkSerialize(stream); try { - if (inventory.getStackInSlot(0) == null) - stream.writeByte(0); - else - stream.writeByte(inventory.getStackInSlot(0).stackSize); - if (inventory.getStackInSlot(1) == null) - stream.writeByte(0); - else - stream.writeByte(inventory.getStackInSlot(1).stackSize); + stream.writeByte(inventory.getStackInSlot(0).getCount()); + stream.writeByte(inventory.getStackInSlot(1).getCount()); Utils.serialiseItemStack(stream, inventory.getStackInSlot(TransformerContainer.ferromagneticSlotId)); Utils.serialiseItemStack(stream, inventory.getStackInSlot(TransformerContainer.primaryCableSlotId)); @@ -286,10 +280,9 @@ public void networkSerialize(DataOutputStream stream) { secondaryLoad.getI() / secondaryMaxCurrent), 0f, 1f); } stream.writeFloat(load); - stream.writeBoolean(inventory.getStackInSlot(3) != null); + stream.writeBoolean(!inventory.getStackInSlot(3).isEmpty()); } catch (IOException e) { - e.printStackTrace(); } } diff --git a/src/main/java/mods/eln/transparentnode/waterturbine/WaterTurbineRender.java b/src/main/java/mods/eln/transparentnode/waterturbine/WaterTurbineRender.java index 0edeb4013..8d9d49564 100644 --- a/src/main/java/mods/eln/transparentnode/waterturbine/WaterTurbineRender.java +++ b/src/main/java/mods/eln/transparentnode/waterturbine/WaterTurbineRender.java @@ -64,7 +64,7 @@ public void refresh(float deltaT) { play(new SoundCommand(descriptor.soundName) .mulVolume(descriptor.nominalVolume * (0.007f + 0.2f * (float) powerFactorFilter.get() * (float) powerFactorFilter.get()), 1.1f)); - //SoundClient.playFromBlock(tileEntity.worldObj,coord.x, coord.y, coord.z, descriptor.soundName,1,1,5,15); + //SoundClient.playFromBlock(tileEntity.world,coord.x, coord.y, coord.z, descriptor.soundName,1,1,5,15); soundPlaying = true; } else soundPlaying = false; diff --git a/src/main/java/mods/eln/wiki/GuiItemStack.java b/src/main/java/mods/eln/wiki/GuiItemStack.java index 140bcd4bb..f3bbbba52 100644 --- a/src/main/java/mods/eln/wiki/GuiItemStack.java +++ b/src/main/java/mods/eln/wiki/GuiItemStack.java @@ -6,6 +6,8 @@ import net.minecraft.client.Minecraft; import net.minecraft.client.gui.Gui; import net.minecraft.client.renderer.RenderHelper; +import net.minecraft.client.util.ITooltipFlag; +import net.minecraft.client.util.ITooltipFlag.TooltipFlags; import net.minecraft.item.ItemStack; import net.minecraft.util.ResourceLocation; import org.lwjgl.opengl.GL11; @@ -102,8 +104,8 @@ public void idraw2(int x, int y) { int px, py; px = posX; py = posY; - List list = stack.getTooltip(Minecraft.getMinecraft().player, false); - helper.drawHoveringText(list, x, y, Minecraft.getMinecraft().fontRendererObj); + List tooltip = stack.getTooltip(Minecraft.getMinecraft().player, TooltipFlags.NORMAL); + helper.drawHoveringText(tooltip, x, y, Minecraft.getMinecraft().fontRenderer); } } diff --git a/src/main/java/mods/eln/wiki/ItemDefault.java b/src/main/java/mods/eln/wiki/ItemDefault.java index fb2d0f088..b7f430dbb 100644 --- a/src/main/java/mods/eln/wiki/ItemDefault.java +++ b/src/main/java/mods/eln/wiki/ItemDefault.java @@ -1,5 +1,6 @@ package mods.eln.wiki; +import mods.eln.Eln; import mods.eln.gui.GuiLabel; import mods.eln.gui.IGuiObject; import mods.eln.misc.Recipe; @@ -9,6 +10,7 @@ import net.minecraft.item.ItemStack; import net.minecraft.item.crafting.CraftingManager; import net.minecraft.item.crafting.IRecipe; +import net.minecraft.util.ResourceLocation; import java.util.ArrayList; import java.util.List; @@ -31,183 +33,163 @@ public ItemDefault(ItemStack stack, GuiScreen previewScreen) { } - GuiItemStack self; + private GuiItemStack self; @Override public void initGui() { super.initGui(); - try { - if (stack == null) return; - int y = 6; + if (stack == null) return; + int y = 6; - Object desc = Utils.getItemObject(stack); - IPlugIn plugIn = null; - if (desc instanceof IPlugIn) { - plugIn = (IPlugIn) desc; - } + Object desc = Utils.getItemObject(stack); + IPlugIn plugIn = null; + if (desc instanceof IPlugIn) { + plugIn = (IPlugIn) desc; + } - self = new GuiItemStack(6, y, stack, helper); - extender.add(self); - extender.add(new GuiLabel(6 + 21, y + 3, stack.getDisplayName())); - y += 24; - - if (plugIn != null) y = plugIn.top(y, extender, stack); - - List recipeOutList = new ArrayList(); - List recipeInList = new ArrayList(); - if (stack != null) { - List list = CraftingManager.getInstance().getRecipeList(); - for (Object o : list) { - try { - if (o instanceof IRecipe) { - IRecipe r = (IRecipe) o; - - ItemStack out = r.getRecipeOutput(); - if (out != null && out.getItem() == stack.getItem() && out.getItemDamage() == stack.getItemDamage()) { - recipeOutList.add(r); - } - - for (ItemStack rStack : Utils.getRecipeInputs(r)) { - if (rStack != null && rStack.getItem() == stack.getItem() && rStack.getItemDamage() == stack.getItemDamage()) { - recipeInList.add(r); - break; - } - } - } + self = new GuiItemStack(6, y, stack, helper); + extender.add(self); + extender.add(new GuiLabel(6 + 21, y + 3, stack.getDisplayName())); + y += 24; - } catch (Exception e) { - // TODO: handle exception - } + if (plugIn != null) y = plugIn.top(y, extender, stack); - } + List recipeOutList = new ArrayList(); + List recipeInList = new ArrayList(); + for (IRecipe recipe : CraftingManager.REGISTRY) { + ItemStack out = recipe.getRecipeOutput(); + if (out.getItem() == stack.getItem() && out.getItemDamage() == stack.getItemDamage()) { + recipeOutList.add(recipe); } - int counter = 0; - if (recipeOutList.isEmpty()) { - extender.add(new GuiLabel(6, y, tr("Cannot be crafted!"))); - y += 12; - } else { - extender.add(new GuiLabel(6, y, tr("Recipe:"))); - y += 12; - counter = -1; - for (IRecipe r : recipeOutList) { - if (counter == 0) y += 60; - if (counter == -1) counter = 0; - ItemStack[][] stacks = Utils.getItemStackGrid(r); - - if (stacks != null) { - for (int idx2 = 0; idx2 < 3; idx2++) { - for (int idx = 0; idx < 3; idx++) { - GuiItemStack gui = new GuiItemStack(idx * 18 + 6 + counter * 60, idx2 * 18 + y, stacks[idx2][idx], helper); - extender.add(gui); - } + for (ItemStack rStack : Utils.getRecipeInputs(recipe)) { + if (rStack != null && rStack.getItem() == stack.getItem() && rStack.getItemDamage() == stack.getItemDamage()) { + recipeInList.add(recipe); + break; + } + } + } + int counter = 0; + if (recipeOutList.isEmpty()) { + extender.add(new GuiLabel(6, y, tr("Cannot be crafted!"))); + y += 12; + } else { + extender.add(new GuiLabel(6, y, tr("Recipe:"))); + y += 12; + + counter = -1; + for (IRecipe r : recipeOutList) { + if (counter == 0) y += 60; + if (counter == -1) counter = 0; + ItemStack[][] stacks = Utils.getItemStackGrid(r); + + if (stacks != null) { + for (int idx2 = 0; idx2 < 3; idx2++) { + for (int idx = 0; idx < 3; idx++) { + GuiItemStack gui = new GuiItemStack(idx * 18 + 6 + counter * 60, idx2 * 18 + y, stacks[idx2][idx], helper); + extender.add(gui); } - counter = (counter + 1) % 3; } + counter = (counter + 1) % 3; } - - y += 70; } - if (recipeInList.isEmpty()) { - extender.add(new GuiLabel(6, y, tr("Is not a crafting material!"))); - y += 12; - } else { - extender.add(new GuiLabel(6, y, tr("Can be used to craft:"))); - y += 12; - counter = -1; - for (IRecipe r : recipeInList) { - if (counter == 0) y += 60; - if (counter == -1) counter = 0; - - ItemStack[][] stacks = Utils.getItemStackGrid(r); - if (stacks != null) { - for (int idx2 = 0; idx2 < 3; idx2++) { - for (int idx = 0; idx < 3; idx++) { - ItemStack rStack = stacks[idx2][idx]; + y += 70; + } - GuiItemStack gui = new GuiItemStack(idx * 18 + 6 + counter * 105, idx2 * 18 + y, rStack, helper); - extender.add(gui); - } + if (recipeInList.isEmpty()) { + extender.add(new GuiLabel(6, y, tr("Is not a crafting material!"))); + y += 12; + } else { + extender.add(new GuiLabel(6, y, tr("Can be used to craft:"))); + y += 12; + counter = -1; + for (IRecipe r : recipeInList) { + if (counter == 0) y += 60; + if (counter == -1) counter = 0; + + ItemStack[][] stacks = Utils.getItemStackGrid(r); + if (stacks != null) { + for (int idx2 = 0; idx2 < 3; idx2++) { + for (int idx = 0; idx < 3; idx++) { + ItemStack rStack = stacks[idx2][idx]; + + GuiItemStack gui = new GuiItemStack(idx * 18 + 6 + counter * 105, idx2 * 18 + y, rStack, helper); + extender.add(gui); } - - GuiItemStack gui = new GuiItemStack((int) (3.5 * 18) + 6 + counter * 105, 1 * 18 + y, r.getRecipeOutput(), helper); - extender.add(gui); - - counter = (counter + 1) % 2; } + GuiItemStack gui = new GuiItemStack((int) (3.5 * 18) + 6 + counter * 105, 18 + y, r.getRecipeOutput(), helper); + extender.add(gui); + + counter = (counter + 1) % 2; } - y += 70; + } + y += 70; + } - { - counter = -1; - List list = RecipesList.getGlobalRecipeWithInput(stack); - if (list.isEmpty()) { - //extender.add(new GuiLabel(6, y, "Can't Product")); - } else { - extender.add(new GuiLabel(6, y, tr("Can create:"))); - y += 12; - for (Recipe r : list) { - if (counter == 0) y += (int) (18 * 1.3); - if (counter == -1) counter = 0; - int x = 6 + counter * 60; - extender.add(new GuiItemStack(x, y, r.input, helper)); - x += 18 * 2; - - for (ItemStack m : r.machineList) { - extender.add(new GuiItemStack(x, y, m, helper)); - x += 18; - } + { + counter = -1; + List list = RecipesList.getGlobalRecipeWithInput(stack); + if (!list.isEmpty()) { + extender.add(new GuiLabel(6, y, tr("Can create:"))); + y += 12; + for (Recipe r : list) { + if (counter == 0) y += (int) (18 * 1.3); + if (counter == -1) counter = 0; + int x = 6 + counter * 60; + extender.add(new GuiItemStack(x, y, r.input, helper)); + x += 18 * 2; + + for (ItemStack m : r.machineList) { + extender.add(new GuiItemStack(x, y, m, helper)); x += 18; - extender.add(new GuiItemStack(x, y, r.getOutputCopy()[0], helper)); + } + x += 18; + extender.add(new GuiItemStack(x, y, r.getOutputCopy()[0], helper)); - x += 22; - extender.add(new GuiLabel(x, y + 4, tr("Cost %sJ", r.energy))); + x += 22; + extender.add(new GuiLabel(x, y + 4, tr("Cost %sJ", r.energy))); - counter = (counter + 1) % 1; - } - y += (int) (18 * 1.3); + counter = 0; } + y += (int) (18 * 1.3); } - { - counter = -1; - List list = RecipesList.getGlobalRecipeWithOutput(stack); - if (list.isEmpty()) { - //extender.add(new GuiLabel(6, y, "Can't Product")); - } else { - extender.add(new GuiLabel(6, y, tr("Created by:"))); - y += 12; - for (Recipe r : list) { - if (counter == 0) y += (int) (18 * 1.3); - if (counter == -1) counter = 0; - int x = 6 + counter * 60; - extender.add(new GuiItemStack(x, y, r.input, helper)); - x += 18 * 2; - - for (ItemStack m : r.machineList) { - extender.add(new GuiItemStack(x, y, m, helper)); - x += 18; - } - x += 18; - extender.add(new GuiItemStack(x, y, r.getOutputCopy()[0], helper)); - x += 22; - extender.add(new GuiLabel(x, y + 4, tr("Cost %sJ", r.energy))); + } + { + counter = -1; + List list = RecipesList.getGlobalRecipeWithOutput(stack); + if (!list.isEmpty()) { + extender.add(new GuiLabel(6, y, tr("Created by:"))); + y += 12; + for (Recipe r : list) { + if (counter == 0) y += (int) (18 * 1.3); + if (counter == -1) counter = 0; + int x = 6 + counter * 60; + extender.add(new GuiItemStack(x, y, r.input, helper)); + x += 18 * 2; - counter = (counter + 1) % 1; + for (ItemStack m : r.machineList) { + extender.add(new GuiItemStack(x, y, m, helper)); + x += 18; } - y += (int) (18 * 1.3); + x += 18; + extender.add(new GuiItemStack(x, y, r.getOutputCopy()[0], helper)); + + x += 22; + extender.add(new GuiLabel(x, y + 4, tr("Cost %sJ", r.energy))); + + counter = 0; } + y += (int) (18 * 1.3); } - - if (plugIn != null) y = plugIn.bottom(y, extender, stack); - } catch (Exception e) { - // TODO: handle exception } + + if (plugIn != null) plugIn.bottom(y, extender, stack); } @Override From 5b96ab5b7883000b6e7ba270421e5835e66a4817 Mon Sep 17 00:00:00 2001 From: Svein Ove Aas Date: Fri, 1 Mar 2019 04:43:35 +0000 Subject: [PATCH 44/61] Runs once again --- build.gradle | 12 ++-- src/main/java/mods/eln/Eln.java | 60 +++++++++---------- .../eventhandlers/ElnFMLEventsHandler.java | 19 ------ .../mods/eln/generic/GenericCreativeTab.java | 2 +- .../mods/eln/generic/GenericItemBlock.java | 2 +- .../generic/GenericItemBlockUsingDamage.java | 4 +- .../eln/generic/GenericItemUsingDamage.java | 6 +- .../java/mods/eln/gridnode/GridElement.java | 4 +- .../java/mods/eln/gridnode/GridRender.java | 2 +- .../waila/GhostNodeWailaProvider.kt | 4 +- .../integration/waila/SixNodeWailaProvider.kt | 4 +- .../waila/TransparentNodeWailaProvider.kt | 4 +- .../eln/item/electricalitem/ElectricalAxe.kt | 2 +- .../electricalitem/PortableOreScannerItem.kt | 2 +- src/main/java/mods/eln/misc/Obj3D.java | 8 +-- src/main/java/mods/eln/misc/Utils.java | 38 ++++++------ src/main/java/mods/eln/node/NodeBlock.java | 2 +- .../java/mods/eln/node/NodeBlockItem.java | 2 +- .../eln/node/NodeBlockItemWithSubTypes.java | 2 +- .../java/mods/eln/node/six/SixNodeBlock.java | 8 +-- .../eln/node/six/SixNodeElementRender.java | 4 +- .../java/mods/eln/node/six/SixNodeItem.java | 6 +- .../java/mods/eln/node/six/SixNodeRender.java | 4 +- .../TransparentNodeElementInventory.java | 4 +- .../node/transparent/TransparentNodeItem.java | 6 +- .../java/mods/eln/server/OreRegenerate.java | 2 +- .../sim/ElectricalStackMachineProcess.java | 4 +- .../ElectricalCableRender.java | 4 +- .../sixnode/lampsocket/LampSocketProcess.java | 8 +-- .../thermalcable/ThermalCableRender.java | 4 +- .../HeatFurnaceInventoryProcess.java | 2 +- 31 files changed, 103 insertions(+), 132 deletions(-) delete mode 100644 src/main/java/mods/eln/eventhandlers/ElnFMLEventsHandler.java diff --git a/build.gradle b/build.gradle index f06aa5cfa..012cfd9fb 100644 --- a/build.gradle +++ b/build.gradle @@ -53,9 +53,9 @@ sourceSets { } minecraft { - version = "1.12.2-14.23.5.2768" + version = "1.12.2-14.23.5.2814" runDir = "run" - mappings = "snapshot_20171003" + mappings = "stable_39" // TODO(Baughn): After moving to 1.10, this should be replaced with the shadow plugin, // e.g. as used in https://github.com/Emberwalker/Laundarray/blob/master/build.gradle @@ -101,13 +101,13 @@ repositories { } dependencies { - compile group: 'org.apache.commons', name: 'commons-math3', version: '3.6.1' implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8" + compile group: 'org.apache.commons', name: 'commons-math3', version: '3.6.1' compile group: "net.shadowfacts", name: "Forgelin", version: "1.8.2" compile group: "com.teamwizardry.librarianlib", name: "librarianlib-1.12.2", version: "4.17" - implementation "dan200.computercraft:ComputerCraft:1.80pr1-build5" - implementation "li.cil.oc:OpenComputers:MC1.10.2-1.7.2.172" - deobfCompile "mcp.mobius.waila:Hwyla:1.8.17-B31_1.10.2" + compileOnly "dan200.computercraft:ComputerCraft:1.80pr1-build5" + compileOnly "li.cil.oc:OpenComputers:MC1.12.2-1.7.4.153" + compileOnly "mcp.mobius.waila:Hwyla:1.8.26-B41_1.12.2" // TODO(1.12): Switch to this. // deobfCompile "cofh:RedstoneFlux:1.12-2.0.0.1:universal" } diff --git a/src/main/java/mods/eln/Eln.java b/src/main/java/mods/eln/Eln.java index f6d94a19c..c98cc9069 100644 --- a/src/main/java/mods/eln/Eln.java +++ b/src/main/java/mods/eln/Eln.java @@ -2,10 +2,8 @@ import mods.eln.cable.CableRenderDescriptor; import mods.eln.client.ClientKeyHandler; -import mods.eln.entity.EntityIDs; -import mods.eln.entity.ReplicatorEntity; +import mods.eln.client.SoundLoader; import mods.eln.entity.ReplicatorPopProcess; -import mods.eln.eventhandlers.ElnFMLEventsHandler; import mods.eln.eventhandlers.ElnForgeEventsHandler; import mods.eln.generic.*; import mods.eln.ghost.GhostBlock; @@ -33,6 +31,7 @@ import mods.eln.ore.OreBlock; import mods.eln.ore.OreDescriptor; import mods.eln.ore.OreItem; +import mods.eln.packets.*; import mods.eln.server.*; import mods.eln.signalinductor.SignalInductorDescriptor; import mods.eln.sim.Simulator; @@ -126,6 +125,7 @@ import mods.eln.transparentnode.windturbine.WindTurbineDescriptor; import mods.eln.wiki.Data; import net.minecraft.block.Block; +import net.minecraft.block.material.Material; import net.minecraft.command.ICommandManager; import net.minecraft.command.ServerCommandManager; import net.minecraft.creativetab.CreativeTabs; @@ -137,24 +137,25 @@ import net.minecraft.item.*; import net.minecraft.item.crafting.CraftingManager; import net.minecraft.item.crafting.IRecipe; -import net.minecraft.item.crafting.Ingredient; import net.minecraft.launchwrapper.Launch; import net.minecraft.launchwrapper.LogWrapper; import net.minecraft.server.MinecraftServer; +import net.minecraft.tileentity.TileEntity; import net.minecraft.util.ResourceLocation; import net.minecraft.world.WorldServer; import net.minecraftforge.common.MinecraftForge; +import net.minecraftforge.common.config.Configuration; +import net.minecraftforge.common.config.Property; import net.minecraftforge.fml.common.*; import net.minecraftforge.fml.common.Mod.EventHandler; import net.minecraftforge.fml.common.Mod.Instance; import net.minecraftforge.fml.common.event.*; import net.minecraftforge.fml.common.network.FMLEventChannel; +import net.minecraftforge.fml.common.network.NetworkRegistry; import net.minecraftforge.fml.common.network.simpleimpl.SimpleNetworkWrapper; -import net.minecraftforge.fml.common.registry.EntityRegistry; import net.minecraftforge.fml.common.registry.GameRegistry; +import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.oredict.OreDictionary; -import net.minecraftforge.oredict.ShapedOreRecipe; -import net.minecraftforge.oredict.ShapelessOreRecipe; import org.jetbrains.annotations.NotNull; import java.util.*; @@ -300,7 +301,6 @@ public class Eln { @EventHandler public void preInit(FMLPreInitializationEvent event) { - // TODO(1.12): Finish reimplementing this. /* @@ -312,7 +312,6 @@ public void preInit(FMLPreInitializationEvent event) { elnNetwork.registerMessage(SixNodeWailaRequestPacketHandler.class, SixNodeWailaRequestPacket.class, 5, Side.SERVER); elnNetwork.registerMessage(SixNodeWailaResponsePacketHandler.class, SixNodeWailaResponsePacket.class, 6, Side.CLIENT); - ModContainer container = FMLCommonHandler.instance().findContainerFor(this); // TODO(1.10): How does this work now? // LanguageRegistry.instance().loadLanguagesFor(container, Side.CLIENT); @@ -460,20 +459,20 @@ public void preInit(FMLPreInitializationEvent event) { NetworkRegistry.INSTANCE.registerGuiHandler(this, new GuiHandler()); Item itemCreativeTab = new Item() - .setUnlocalizedName("eln:elncreativetab"); + .setTranslationKey("eln:elncreativetab"); //.setTextureName("eln:elncreativetab"); GameRegistry.registerItem(itemCreativeTab, "eln.itemCreativeTab"); creativeTab = new GenericCreativeTab("Eln", itemCreativeTab); - oreBlock = (OreBlock) new OreBlock().setCreativeTab(creativeTab).setUnlocalizedName("OreEln"); + oreBlock = (OreBlock) new OreBlock().setCreativeTab(creativeTab).setTranslationKey("OreEln"); sharedItem = (SharedItem) new SharedItem() .setCreativeTab(creativeTab).setMaxStackSize(64) - .setUnlocalizedName("sharedItem"); + .setTranslationKey("sharedItem"); sharedItemStackOne = (SharedItem) new SharedItem() .setCreativeTab(creativeTab).setMaxStackSize(1) - .setUnlocalizedName("sharedItemStackOne"); + .setTranslationKey("sharedItemStackOne"); transparentNodeBlock = (TransparentNodeBlock) new TransparentNodeBlock( Material.IRON, @@ -784,7 +783,6 @@ public void load(FMLInitializationEvent event) { recipeECoal(); recipeGridDevices(oreNames); -*/ proxy.registerRenderers(); @@ -793,11 +791,11 @@ public void load(FMLInitializationEvent event) { checkRecipe(); MinecraftForge.EVENT_BUS.register(new ElnForgeEventsHandler()); - MinecraftForge.EVENT_BUS.register(new ElnFMLEventsHandler()); FMLInterModComms.sendMessage("Waila", "register", "mods.eln.integration.waila.WailaIntegration.callbackRegister"); Utils.println("Electrical age init done"); +*/ } private EnergyConverterElnToOtherBlock elnToOtherBlockLvu; @@ -820,7 +818,7 @@ private void registerEnergyConverter() { EnergyConverterElnToOtherDescriptor desc = new EnergyConverterElnToOtherDescriptor("EnergyConverterElnToOtherLVU", elnDesc, ic2Desc, ocDesc); elnToOtherBlockLvu = new EnergyConverterElnToOtherBlock(desc); - elnToOtherBlockLvu.setCreativeTab(creativeTab).setUnlocalizedName(blockName); + elnToOtherBlockLvu.setCreativeTab(creativeTab).setTranslationKey(blockName); GameRegistry.registerBlock(elnToOtherBlockLvu, SimpleNodeItem.class, blockName); } { @@ -831,7 +829,7 @@ private void registerEnergyConverter() { EnergyConverterElnToOtherDescriptor desc = new EnergyConverterElnToOtherDescriptor("EnergyConverterElnToOtherMVU", elnDesc, ic2Desc, ocDesc); elnToOtherBlockMvu = new EnergyConverterElnToOtherBlock(desc); - elnToOtherBlockMvu.setCreativeTab(creativeTab).setUnlocalizedName(blockName); + elnToOtherBlockMvu.setCreativeTab(creativeTab).setTranslationKey(blockName); GameRegistry.registerBlock(elnToOtherBlockMvu, SimpleNodeItem.class, blockName); } { @@ -842,7 +840,7 @@ private void registerEnergyConverter() { EnergyConverterElnToOtherDescriptor desc = new EnergyConverterElnToOtherDescriptor("EnergyConverterElnToOtherHVU", elnDesc, ic2Desc, ocDesc); elnToOtherBlockHvu = new EnergyConverterElnToOtherBlock(desc); - elnToOtherBlockHvu.setCreativeTab(creativeTab).setUnlocalizedName(blockName); + elnToOtherBlockHvu.setCreativeTab(creativeTab).setTranslationKey(blockName); GameRegistry.registerBlock(elnToOtherBlockHvu, SimpleNodeItem.class, blockName); } } @@ -3861,7 +3859,7 @@ private void registerArmor() { // { // name = TR_NAME(Type.ITEM, "Copper Helmet"); // helmetCopper = (ItemArmor) (new genericArmorItem(ArmorMaterial.IRON, 2, ArmourType.Helmet, "eln:textures/armor/copper_layer_1.png", "eln:textures/armor/copper_layer_2.png")) -// .setUnlocalizedName(name) +// .setTranslationKey(name) // .setRegistryName(name) //// .setTextureName("eln:copper_helmet") // .setCreativeTab(creativeTab); @@ -3871,7 +3869,7 @@ private void registerArmor() { // { // name = TR_NAME(Type.ITEM, "Copper Chestplate"); // plateCopper = (ItemArmor) (new genericArmorItem(ArmorMaterial.IRON, 2, ArmourType.Chestplate, "eln:textures/armor/copper_layer_1.png", "eln:textures/armor/copper_layer_2.png")) -// .setUnlocalizedName(name) +// .setTranslationKey(name) // .setRegistryName(name) //// .setTextureName("eln:copper_chestplate") // .setCreativeTab(creativeTab); @@ -3881,7 +3879,7 @@ private void registerArmor() { // { // name = TR_NAME(Type.ITEM, "Copper Leggings"); // legsCopper = (ItemArmor) (new genericArmorItem(ArmorMaterial.IRON, 2, ArmourType.Leggings, "eln:textures/armor/copper_layer_1.png", "eln:textures/armor/copper_layer_2.png")) -// .setUnlocalizedName(name) +// .setTranslationKey(name) // .setRegistryName(name) //// .setTextureName("eln:copper_leggings") // .setCreativeTab(creativeTab); @@ -3891,7 +3889,7 @@ private void registerArmor() { // { // name = TR_NAME(Type.ITEM, "Copper Boots"); // bootsCopper = (ItemArmor) (new genericArmorItem(ArmorMaterial.IRON, 2, ArmourType.Boots, "eln:textures/armor/copper_layer_1.png", "eln:textures/armor/copper_layer_2.png")) -// .setUnlocalizedName(name) +// .setTranslationKey(name) // .setRegistryName(name) //// .setTextureName("eln:copper_boots") // .setCreativeTab(creativeTab); @@ -3924,7 +3922,7 @@ private void registerArmor() { // // ratioMax,double // // ratioMaxEnergy, // energyPerDamage// double energyPerDamage -// )).setUnlocalizedName(name).setRegistryName("eln:ecoal_helmet").setCreativeTab(creativeTab); +// )).setTranslationKey(name).setRegistryName("eln:ecoal_helmet").setCreativeTab(creativeTab); // GameRegistry.registerItem(helmetECoal, "Eln." + name); // //GameRegistry.registerCustomItemStack(name, new ItemStack(helmetECoal)); // } @@ -3940,7 +3938,7 @@ private void registerArmor() { // // ratioMax,double // // ratioMaxEnergy, // energyPerDamage// double energyPerDamage -// )).setUnlocalizedName(name).setRegistryName("eln:ecoal_chestplate").setCreativeTab(creativeTab); +// )).setTranslationKey(name).setRegistryName("eln:ecoal_chestplate").setCreativeTab(creativeTab); // GameRegistry.registerItem(plateECoal, "Eln." + name); // //GameRegistry.registerCustomItemStack(name, new ItemStack(plateECoal)); // } @@ -3956,7 +3954,7 @@ private void registerArmor() { // // ratioMax,double // // ratioMaxEnergy, // energyPerDamage// double energyPerDamage -// )).setUnlocalizedName(name).setRegistryName("eln:ecoal_leggings").setCreativeTab(creativeTab); +// )).setTranslationKey(name).setRegistryName("eln:ecoal_leggings").setCreativeTab(creativeTab); // GameRegistry.registerItem(legsECoal, "Eln." + name); // //GameRegistry.registerCustomItemStack(name, new ItemStack(legsECoal)); // } @@ -3972,7 +3970,7 @@ private void registerArmor() { // // ratioMax,double // // ratioMaxEnergy, // energyPerDamage// double energyPerDamage -// )).setUnlocalizedName(name).setRegistryName("eln:ecoal_boots").setCreativeTab(creativeTab); +// )).setTranslationKey(name).setRegistryName("eln:ecoal_boots").setCreativeTab(creativeTab); // GameRegistry.registerItem(bootsECoal, "Eln." + name); // //GameRegistry.registerCustomItemStack(name, new ItemStack(bootsECoal)); // } @@ -3983,7 +3981,7 @@ private void registerTool() { { String name = TR_NAME(Type.ITEM, "Copper Sword"); swordCopper = (new ItemSword(ToolMaterial.IRON)) - .setUnlocalizedName(name) + .setTranslationKey(name) .setRegistryName("copper_sword") .setCreativeTab(creativeTab); GameRegistry.register(swordCopper); @@ -3991,7 +3989,7 @@ private void registerTool() { { String name = TR_NAME(Type.ITEM, "Copper Hoe"); hoeCopper = (new ItemHoe(ToolMaterial.IRON)) - .setUnlocalizedName(name) + .setTranslationKey(name) .setRegistryName("copper_hoe") .setCreativeTab(creativeTab); GameRegistry.register(hoeCopper); @@ -3999,7 +3997,7 @@ private void registerTool() { { String name = TR_NAME(Type.ITEM, "Copper Shovel"); shovelCopper = (new ItemSpade(ToolMaterial.IRON)) - .setUnlocalizedName(name) + .setTranslationKey(name) .setRegistryName("copper_shovel") .setCreativeTab(creativeTab); GameRegistry.register(shovelCopper); @@ -4007,7 +4005,7 @@ private void registerTool() { { String name = TR_NAME(Type.ITEM, "Copper Pickaxe"); pickaxeCopper = new ItemPickaxeEln(ToolMaterial.IRON) - .setUnlocalizedName(name) + .setTranslationKey(name) .setRegistryName("copper_pickaxe") .setCreativeTab(creativeTab); GameRegistry.register(pickaxeCopper); @@ -4015,7 +4013,7 @@ private void registerTool() { { String name = TR_NAME(Type.ITEM, "Copper Axe"); axeCopper = new ItemAxeEln(ToolMaterial.IRON) - .setUnlocalizedName(name) + .setTranslationKey(name) .setRegistryName("copper_axe") .setCreativeTab(creativeTab); GameRegistry.register(axeCopper); diff --git a/src/main/java/mods/eln/eventhandlers/ElnFMLEventsHandler.java b/src/main/java/mods/eln/eventhandlers/ElnFMLEventsHandler.java deleted file mode 100644 index 12d7e6bc2..000000000 --- a/src/main/java/mods/eln/eventhandlers/ElnFMLEventsHandler.java +++ /dev/null @@ -1,19 +0,0 @@ -package mods.eln.eventhandlers; - -import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; -import net.minecraftforge.fml.common.gameevent.PlayerEvent.ItemCraftedEvent; -import mods.eln.Eln; -import mods.eln.packets.AchievePacket; - -public class ElnFMLEventsHandler { - - private final static AchievePacket p = new AchievePacket("craft50VMacerator"); - - @SubscribeEvent - @SuppressWarnings("unused") - public void onCraft(ItemCraftedEvent e) { - if (e.crafting.getUnlocalizedName().toLowerCase().equals("50v_macerator")) { - Eln.elnNetwork.sendToServer(p); - } - } -} diff --git a/src/main/java/mods/eln/generic/GenericCreativeTab.java b/src/main/java/mods/eln/generic/GenericCreativeTab.java index c1dd7c17d..2f6b3485f 100644 --- a/src/main/java/mods/eln/generic/GenericCreativeTab.java +++ b/src/main/java/mods/eln/generic/GenericCreativeTab.java @@ -17,7 +17,7 @@ public GenericCreativeTab(String label, Item item) { @Override @SideOnly(Side.CLIENT) - public ItemStack getTabIconItem() { + public ItemStack createIcon() { return new ItemStack(item); } } diff --git a/src/main/java/mods/eln/generic/GenericItemBlock.java b/src/main/java/mods/eln/generic/GenericItemBlock.java index 19a7e442a..fc2378e78 100644 --- a/src/main/java/mods/eln/generic/GenericItemBlock.java +++ b/src/main/java/mods/eln/generic/GenericItemBlock.java @@ -16,7 +16,7 @@ public GenericItemBlock(Block b, int textureIdOffset, String ItemName, String[] this.textureIdOffset = textureIdOffset; this.subNames = subNames; setHasSubtypes(true); - setUnlocalizedName("wireItemBlock"); + setTranslationKey("wireItemBlock"); } /* diff --git a/src/main/java/mods/eln/generic/GenericItemBlockUsingDamage.java b/src/main/java/mods/eln/generic/GenericItemBlockUsingDamage.java index 9bca0c726..86f4e121b 100644 --- a/src/main/java/mods/eln/generic/GenericItemBlockUsingDamage.java +++ b/src/main/java/mods/eln/generic/GenericItemBlockUsingDamage.java @@ -100,8 +100,8 @@ public String getItemStackDisplayName(ItemStack par1ItemStack) { }*/ @Override - public String getUnlocalizedName(ItemStack par1ItemStack) { - Descriptor desc = getDescriptor(par1ItemStack); + public String getTranslationKey(ItemStack stack) { + Descriptor desc = getDescriptor(stack); if (desc == null) { return this.getClass().getName(); } else { diff --git a/src/main/java/mods/eln/generic/GenericItemUsingDamage.java b/src/main/java/mods/eln/generic/GenericItemUsingDamage.java index 26f9de23d..d2b49e2b6 100644 --- a/src/main/java/mods/eln/generic/GenericItemUsingDamage.java +++ b/src/main/java/mods/eln/generic/GenericItemUsingDamage.java @@ -31,13 +31,13 @@ public GenericItemUsingDamage() { public void addWithoutRegistry(int damage, Descriptor descriptor) { subItemList.put(damage, descriptor); - setUnlocalizedName(descriptor.name); + setTranslationKey(descriptor.name); descriptor.setParent(this, damage); } public void addElement(int damage, Descriptor descriptor) { subItemList.put(damage, descriptor); - setUnlocalizedName(descriptor.name); + setTranslationKey(descriptor.name); orderList.add(damage); descriptor.setParent(this, damage); // TODO(1.12): Registration is fucked. @@ -66,7 +66,7 @@ public ActionResult onItemRightClick(World w, EntityPlayer p, EnumHan } @Override - public String getUnlocalizedName(ItemStack par1ItemStack) { + public String getTranslationKey(ItemStack par1ItemStack) { Descriptor desc = getDescriptor(par1ItemStack); if (desc != null && desc.name != null) { return desc.name.replaceAll("\\s+", "_"); diff --git a/src/main/java/mods/eln/gridnode/GridElement.java b/src/main/java/mods/eln/gridnode/GridElement.java index 7ec7e783e..1765167e1 100644 --- a/src/main/java/mods/eln/gridnode/GridElement.java +++ b/src/main/java/mods/eln/gridnode/GridElement.java @@ -160,7 +160,7 @@ public void readFromNBT(NBTTagCompound nbt) { final NBTTagCompound gridLinks = nbt.getCompoundTag("gridLinks"); for (Integer i = 0; ; i++) { final NBTTagCompound linkTag = gridLinks.getCompoundTag(i.toString()); - if (linkTag.hasNoTags()) + if (linkTag.isEmpty()) break; gridLinksBooting.add(new GridLink(linkTag, "")); } @@ -269,7 +269,7 @@ public void networkSerialize(DataOutputStream stream) { start.rotateYaw((float) Math.toRadians(idealRenderingAngle)); Vec3d end = target.getCablePoint(theirSide, i); end.rotateYaw((float) Math.toRadians(target.idealRenderingAngle)); - end = end.addVector(offset.pos.getX(), offset.pos.getY(), offset.pos.getZ()); + end = end.add(offset.pos.getX(), offset.pos.getY(), offset.pos.getZ()); writeVec(stream, start); writeVec(stream, end); } diff --git a/src/main/java/mods/eln/gridnode/GridRender.java b/src/main/java/mods/eln/gridnode/GridRender.java index 456076214..5bcfac0be 100644 --- a/src/main/java/mods/eln/gridnode/GridRender.java +++ b/src/main/java/mods/eln/gridnode/GridRender.java @@ -166,7 +166,7 @@ private void drawBox(Vec3d[] from, Vec3d[] to) { private Vec3d[] translate(Vec3d[] start, Vec3d delta) { Vec3d ret[] = new Vec3d[start.length]; for (int i = 0; i < start.length; i++) { - ret[i] = start[i].addVector(delta.x, delta.y, delta.z); + ret[i] = start[i].add(delta.x, delta.y, delta.z); } return ret; } diff --git a/src/main/java/mods/eln/integration/waila/GhostNodeWailaProvider.kt b/src/main/java/mods/eln/integration/waila/GhostNodeWailaProvider.kt index 7cf1f14b5..ee4dc64f0 100644 --- a/src/main/java/mods/eln/integration/waila/GhostNodeWailaProvider.kt +++ b/src/main/java/mods/eln/integration/waila/GhostNodeWailaProvider.kt @@ -81,8 +81,8 @@ class GhostNodeWailaProvider(private val transparentNodeProvider: TransparentNod } } - override fun getWailaStack(accessor: IWailaDataAccessor, config: IWailaConfigHandler?): ItemStack? = - getGhostData(accessor)?.itemStack + override fun getWailaStack(accessor: IWailaDataAccessor, config: IWailaConfigHandler?): ItemStack = + getGhostData(accessor)?.itemStack ?: ItemStack.EMPTY override fun getWailaTail(itemStack: ItemStack?, currenttip: MutableList, accessor: IWailaDataAccessor, config: IWailaConfigHandler?) = currenttip diff --git a/src/main/java/mods/eln/integration/waila/SixNodeWailaProvider.kt b/src/main/java/mods/eln/integration/waila/SixNodeWailaProvider.kt index 59f9ee38e..7c87e058c 100644 --- a/src/main/java/mods/eln/integration/waila/SixNodeWailaProvider.kt +++ b/src/main/java/mods/eln/integration/waila/SixNodeWailaProvider.kt @@ -39,8 +39,8 @@ class SixNodeWailaProvider : IWailaDataProvider { return currenttip } - override fun getWailaStack(accessor: IWailaDataAccessor, config: IWailaConfigHandler?): ItemStack? - = getSixData(accessor)?.itemStack + override fun getWailaStack(accessor: IWailaDataAccessor, config: IWailaConfigHandler?): ItemStack + = getSixData(accessor)?.itemStack ?: ItemStack.EMPTY override fun getWailaTail(itemStack: ItemStack?, currenttip: MutableList, accessor: IWailaDataAccessor?, config: IWailaConfigHandler?): MutableList = currenttip diff --git a/src/main/java/mods/eln/integration/waila/TransparentNodeWailaProvider.kt b/src/main/java/mods/eln/integration/waila/TransparentNodeWailaProvider.kt index fd798f042..ca50b3188 100644 --- a/src/main/java/mods/eln/integration/waila/TransparentNodeWailaProvider.kt +++ b/src/main/java/mods/eln/integration/waila/TransparentNodeWailaProvider.kt @@ -33,8 +33,8 @@ class TransparentNodeWailaProvider : IWailaDataProvider { TODO("not implemented") //To change body of created functions use File | Settings | File Templates. } - override fun getWailaStack(accessor: IWailaDataAccessor?, config: IWailaConfigHandler?): ItemStack? { - return null + override fun getWailaStack(accessor: IWailaDataAccessor?, config: IWailaConfigHandler?): ItemStack { + return ItemStack.EMPTY } override fun getWailaTail(itemStack: ItemStack?, currenttip: MutableList, accessor: IWailaDataAccessor?, config: IWailaConfigHandler?): MutableList { diff --git a/src/main/java/mods/eln/item/electricalitem/ElectricalAxe.kt b/src/main/java/mods/eln/item/electricalitem/ElectricalAxe.kt index c695a7642..c7fa6c6fe 100644 --- a/src/main/java/mods/eln/item/electricalitem/ElectricalAxe.kt +++ b/src/main/java/mods/eln/item/electricalitem/ElectricalAxe.kt @@ -370,7 +370,7 @@ object TreeCapitation : IProcess { block.onBlockHarvested(world, pos, state, player) if (block.removedByPlayer(state, world, pos, player, true)) { - block.onBlockDestroyedByPlayer(world, pos, state) + block.onPlayerDestroy(world, pos, state) block.harvestBlock(world, player, pos, state, null, stack) } } diff --git a/src/main/java/mods/eln/item/electricalitem/PortableOreScannerItem.kt b/src/main/java/mods/eln/item/electricalitem/PortableOreScannerItem.kt index 72314a8aa..64f5dfb18 100644 --- a/src/main/java/mods/eln/item/electricalitem/PortableOreScannerItem.kt +++ b/src/main/java/mods/eln/item/electricalitem/PortableOreScannerItem.kt @@ -446,7 +446,7 @@ class PortableOreScannerItem(name: String, obj: Obj3D, val zBlock = posZint + zFloor.toInt() blockKey = 0 if (yBlock in 0..255) { - val chunk = w.getChunkFromBlockCoords(BlockPos(xBlock, yBlock, zBlock)) + val chunk = w.getChunk(BlockPos(xBlock, yBlock, zBlock)) val storage = chunk.blockStorageArray[yBlock shr 4] if (storage != null) { val xLocal = xBlock and 0xF diff --git a/src/main/java/mods/eln/misc/Obj3D.java b/src/main/java/mods/eln/misc/Obj3D.java index 7730fd7e8..3b31d036c 100644 --- a/src/main/java/mods/eln/misc/Obj3D.java +++ b/src/main/java/mods/eln/misc/Obj3D.java @@ -244,21 +244,21 @@ public void drawNoBind() { public void draw() { if (locked) return; - // Minecraft.getMinecraft().mcProfiler.startSection("OBJ"); + // Minecraft.getMinecraft().profiler.startSection("OBJ"); for (FaceGroup fg : faceGroup) { fg.draw(); } - // Minecraft.getMinecraft().mcProfiler.endSection(); + // Minecraft.getMinecraft().profiler.endSection(); } public void draw(float texOffsetX, float texOffsetY) { if (locked) return; - // Minecraft.getMinecraft().mcProfiler.startSection("OBJ"); + // Minecraft.getMinecraft().profiler.startSection("OBJ"); for (FaceGroup fg : faceGroup) { fg.drawVertex(texOffsetX, texOffsetY); } - // Minecraft.getMinecraft().mcProfiler.endSection(); + // Minecraft.getMinecraft().profiler.endSection(); } // Returns the bounding box of the vertices we'd draw. diff --git a/src/main/java/mods/eln/misc/Utils.java b/src/main/java/mods/eln/misc/Utils.java index 11a0bdbda..06f053a71 100644 --- a/src/main/java/mods/eln/misc/Utils.java +++ b/src/main/java/mods/eln/misc/Utils.java @@ -1,17 +1,5 @@ package mods.eln.misc; -import net.minecraft.block.state.IBlockState; -import net.minecraft.inventory.ItemStackHelper; -import net.minecraft.util.EnumFacing; -import net.minecraft.util.EnumHand; -import net.minecraft.util.NonNullList; -import net.minecraft.util.math.AxisAlignedBB; -import net.minecraft.util.math.BlockPos; -import net.minecraft.util.math.MathHelper; -import net.minecraft.util.math.Vec3d; -import net.minecraft.util.text.TextComponentString; -import net.minecraftforge.fml.common.FMLCommonHandler; -import net.minecraftforge.fml.relauncher.Side; import mods.eln.Eln; import mods.eln.generic.GenericItemBlockUsingDamage; import mods.eln.generic.GenericItemUsingDamage; @@ -19,9 +7,9 @@ import mods.eln.node.ITileEntitySpawnClient; import mods.eln.sim.PhysicalConstant; import net.minecraft.block.Block; +import net.minecraft.block.state.IBlockState; import net.minecraft.client.Minecraft; import net.minecraft.client.entity.EntityOtherPlayerMP; -import net.minecraft.creativetab.CreativeTabs; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.item.EntityItem; @@ -33,28 +21,36 @@ import net.minecraft.item.ItemStack; import net.minecraft.item.crafting.FurnaceRecipes; import net.minecraft.item.crafting.IRecipe; -import net.minecraft.item.crafting.ShapedRecipes; -import net.minecraft.item.crafting.ShapelessRecipes; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagList; import net.minecraft.server.MinecraftServer; import net.minecraft.tileentity.TileEntity; import net.minecraft.tileentity.TileEntityFurnace; +import net.minecraft.util.EnumFacing; +import net.minecraft.util.EnumHand; +import net.minecraft.util.NonNullList; +import net.minecraft.util.math.AxisAlignedBB; +import net.minecraft.util.math.BlockPos; +import net.minecraft.util.math.MathHelper; +import net.minecraft.util.math.Vec3d; +import net.minecraft.util.text.TextComponentString; import net.minecraft.world.EnumSkyBlock; import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; import net.minecraft.world.chunk.Chunk; import net.minecraftforge.common.DimensionManager; +import net.minecraftforge.fml.common.FMLCommonHandler; +import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.oredict.OreDictionary; -import net.minecraftforge.oredict.ShapedOreRecipe; -import net.minecraftforge.oredict.ShapelessOreRecipe; import org.lwjgl.opengl.GL11; -import sun.plugin.dom.exception.InvalidStateException; import java.io.*; import java.lang.reflect.Field; import java.text.DecimalFormat; -import java.util.*; +import java.util.ArrayList; +import java.util.Iterator; +import java.util.List; +import java.util.Random; import static net.minecraft.init.Blocks.FLOWING_WATER; import static net.minecraft.init.Blocks.WATER; @@ -1113,7 +1109,7 @@ public static int readPrivateInt(Object o, String feildName) { } public static ItemStack[][] getItemStackGrid(IRecipe r) { - throw new InvalidStateException("The wiki should not be used."); + throw new IllegalStateException("The wiki should not be used."); /* ItemStack[][] stacks = new ItemStack[3][3]; @@ -1190,7 +1186,7 @@ public static ItemStack[][] getItemStackGrid(IRecipe r) { } public static ArrayList getRecipeInputs(IRecipe r) { - throw new InvalidStateException("The wiki should not be used."); + throw new IllegalStateException("The wiki should not be used."); /* try { diff --git a/src/main/java/mods/eln/node/NodeBlock.java b/src/main/java/mods/eln/node/NodeBlock.java index 0aeed3e78..10d357322 100644 --- a/src/main/java/mods/eln/node/NodeBlock.java +++ b/src/main/java/mods/eln/node/NodeBlock.java @@ -27,7 +27,7 @@ public abstract class NodeBlock extends Block {//BlockContainer public NodeBlock(Material material, Class tileEntityClass, int blockItemNbr) { super(material); - setUnlocalizedName("NodeBlock"); + setTranslationKey("NodeBlock"); this.tileEntityClass = tileEntityClass; useNeighborBrightness = true; this.blockItemNbr = blockItemNbr; diff --git a/src/main/java/mods/eln/node/NodeBlockItem.java b/src/main/java/mods/eln/node/NodeBlockItem.java index 352ff63ff..4b4b52a7d 100644 --- a/src/main/java/mods/eln/node/NodeBlockItem.java +++ b/src/main/java/mods/eln/node/NodeBlockItem.java @@ -13,7 +13,7 @@ public class NodeBlockItem extends ItemBlock { public NodeBlockItem(Block b) { super(b); - setUnlocalizedName("NodeBlockItem"); + setTranslationKey("NodeBlockItem"); } diff --git a/src/main/java/mods/eln/node/NodeBlockItemWithSubTypes.java b/src/main/java/mods/eln/node/NodeBlockItemWithSubTypes.java index c2e5002b0..a59692691 100644 --- a/src/main/java/mods/eln/node/NodeBlockItemWithSubTypes.java +++ b/src/main/java/mods/eln/node/NodeBlockItemWithSubTypes.java @@ -7,7 +7,7 @@ public class NodeBlockItemWithSubTypes extends NodeBlockItem { public NodeBlockItemWithSubTypes(Block b) { super(b); setHasSubtypes(true); - setUnlocalizedName("NodeBlockItemWithSubTypes"); + setTranslationKey("NodeBlockItemWithSubTypes"); } /*//caca1.5.1 @Override diff --git a/src/main/java/mods/eln/node/six/SixNodeBlock.java b/src/main/java/mods/eln/node/six/SixNodeBlock.java index a5c8945c7..a68e8fbbb 100644 --- a/src/main/java/mods/eln/node/six/SixNodeBlock.java +++ b/src/main/java/mods/eln/node/six/SixNodeBlock.java @@ -216,7 +216,7 @@ public boolean removedByPlayer(IBlockState state, World world, BlockPos pos, En sixNode.sixNodeCacheBlock = Blocks.AIR; - Chunk chunk = world.getChunkFromBlockCoords(pos); + Chunk chunk = world.getChunk(pos); Utils.generateHeightMap(chunk); // TODO(1.10): Was this important? //Utils.updateSkylight(chunk); @@ -237,7 +237,7 @@ public boolean removedByPlayer(IBlockState state, World world, BlockPos pos, En @Override public void breakBlock(World world, BlockPos pos, Block par5, int par6) { - if (world.isRemote == false) { + if (!world.isRemote) { SixNodeEntity tileEntity = (SixNodeEntity) world.getTileEntity(pos); SixNode sixNode = (SixNode) tileEntity.getNode(); if (sixNode == null) return; @@ -412,9 +412,9 @@ private RayTraceResult collisionRayTrace(World world, BlockPos pos, EntityPlayer // TODO(1.10): Really? if (!world.isRemote) - start = start.addVector(0, 1.62, 0); + start = start.add(0, 1.62, 0); Vec3d var5 = entityLiving.getLook(0.5f); - Vec3d end = start.addVector(var5.x * distanceMax, var5.y * distanceMax, var5.z * distanceMax); + Vec3d end = start.add(var5.x * distanceMax, var5.y * distanceMax, var5.z * distanceMax); return collisionRayTrace(world.getBlockState(pos), world, pos, start, end); } diff --git a/src/main/java/mods/eln/node/six/SixNodeElementRender.java b/src/main/java/mods/eln/node/six/SixNodeElementRender.java index 17b37503a..cba91d170 100644 --- a/src/main/java/mods/eln/node/six/SixNodeElementRender.java +++ b/src/main/java/mods/eln/node/six/SixNodeElementRender.java @@ -84,7 +84,7 @@ public void newConnectionType(CableRenderType connectionType) { } public void draw() { - // Minecraft.getMinecraft().mcProfiler.startSection("SixNodeRender"); + // Minecraft.getMinecraft().profiler.startSection("SixNodeRender"); if (needRedraw) { needRedraw = false; connectionType = CableRender.connectionType(this, side); @@ -112,7 +112,7 @@ public void draw() { } GL11.glColor3f(1f, 1f, 1f); - // Minecraft.getMinecraft().mcProfiler.endSection(); + // Minecraft.getMinecraft().profiler.endSection(); } public boolean drawCableAuto() { diff --git a/src/main/java/mods/eln/node/six/SixNodeItem.java b/src/main/java/mods/eln/node/six/SixNodeItem.java index bd319e77d..01d20731e 100644 --- a/src/main/java/mods/eln/node/six/SixNodeItem.java +++ b/src/main/java/mods/eln/node/six/SixNodeItem.java @@ -26,7 +26,7 @@ public class SixNodeItem extends GenericItemBlockUsingDamage public SixNodeItem(Block b) { super(b); setHasSubtypes(true); - setUnlocalizedName("SixNodeItem"); + setTranslationKey("SixNodeItem"); } @Override @@ -195,7 +195,7 @@ public boolean placeBlockAt(ItemStack stack, EntityPlayer player, World world,Bl // if (!isStackValidToPlace(item)) // return; // -// Minecraft.getMinecraft().mcProfiler.startSection("SixNodeItem"); +// Minecraft.getMinecraft().profiler.startSection("SixNodeItem"); // if (shouldUseRenderHelperEln(type, item, null)) { // switch (type) { // @@ -228,6 +228,6 @@ public boolean placeBlockAt(ItemStack stack, EntityPlayer player, World world,Bl // } // // GL11.glTranslatef(0, 1, 0); // getDescriptor(item).renderItem(type, item, data); -// Minecraft.getMinecraft().mcProfiler.endSection(); +// Minecraft.getMinecraft().profiler.endSection(); // } } diff --git a/src/main/java/mods/eln/node/six/SixNodeRender.java b/src/main/java/mods/eln/node/six/SixNodeRender.java index 6885311e5..05fef297b 100644 --- a/src/main/java/mods/eln/node/six/SixNodeRender.java +++ b/src/main/java/mods/eln/node/six/SixNodeRender.java @@ -12,7 +12,7 @@ public class SixNodeRender extends TileEntitySpecialRenderer { @Override public void renderTileEntityFast(TileEntity te, double x, double y, double z, float partialTicks, int destroyStage, float partial, BufferBuilder buffer) { - Minecraft.getMinecraft().mcProfiler.startSection("SixNode"); + Minecraft.getMinecraft().profiler.startSection("SixNode"); SixNodeEntity tileEntity = (SixNodeEntity) te; @@ -42,7 +42,7 @@ public void renderTileEntityFast(TileEntity te, double x, double y, double z, fl } GL11.glPopMatrix(); //Utils.glDefaultColor(); - Minecraft.getMinecraft().mcProfiler.endSection(); + Minecraft.getMinecraft().profiler.endSection(); } diff --git a/src/main/java/mods/eln/node/transparent/TransparentNodeElementInventory.java b/src/main/java/mods/eln/node/transparent/TransparentNodeElementInventory.java index 98c9987c2..e8015a634 100644 --- a/src/main/java/mods/eln/node/transparent/TransparentNodeElementInventory.java +++ b/src/main/java/mods/eln/node/transparent/TransparentNodeElementInventory.java @@ -123,9 +123,9 @@ public NBTTagCompound writeToNBT(NBTTagCompound nbt, String str) { @Override public boolean isItemValidForSlot(int i, ItemStack itemstack) { for (int idx = 0; idx < 6; idx++) { - int[] lol = getSlotsForFace(EnumFacing.getFront(idx)); + int[] lol = getSlotsForFace(EnumFacing.VALUES[idx]); for (int hohoho : lol) { - if (hohoho == i && canInsertItem(i, itemstack, EnumFacing.getFront(idx))) { + if (hohoho == i && canInsertItem(i, itemstack, EnumFacing.VALUES[idx])) { return true; } } diff --git a/src/main/java/mods/eln/node/transparent/TransparentNodeItem.java b/src/main/java/mods/eln/node/transparent/TransparentNodeItem.java index fda801fe9..dc3a86cc8 100644 --- a/src/main/java/mods/eln/node/transparent/TransparentNodeItem.java +++ b/src/main/java/mods/eln/node/transparent/TransparentNodeItem.java @@ -22,7 +22,7 @@ public class TransparentNodeItem extends GenericItemBlockUsingDamage 3) { - lamp.getInventory().setInventorySlotContents(0, null); + lamp.getInventory().setInventorySlotContents(0, ItemStack.EMPTY); light = 0; } diff --git a/src/main/java/mods/eln/sixnode/thermalcable/ThermalCableRender.java b/src/main/java/mods/eln/sixnode/thermalcable/ThermalCableRender.java index 3851fce8d..971f06bf1 100644 --- a/src/main/java/mods/eln/sixnode/thermalcable/ThermalCableRender.java +++ b/src/main/java/mods/eln/sixnode/thermalcable/ThermalCableRender.java @@ -33,7 +33,7 @@ public boolean drawCableAuto() { @Override public void draw() { - Minecraft.getMinecraft().mcProfiler.startSection("TCable"); + Minecraft.getMinecraft().profiler.startSection("TCable"); //ItemStack i = Minecraft.getMinecraft().player.inventory.armorInventory[3]; @@ -57,7 +57,7 @@ public void draw() { //GL11.glEnable(GL11.GL_LIGHTING); //GL11.glEnable(GL11.GL_TEXTURE_2D); - Minecraft.getMinecraft().mcProfiler.endSection(); + Minecraft.getMinecraft().profiler.endSection(); } @Override diff --git a/src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceInventoryProcess.java b/src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceInventoryProcess.java index a5d54d548..71dd46376 100644 --- a/src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceInventoryProcess.java +++ b/src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceInventoryProcess.java @@ -50,7 +50,7 @@ public void process(double time) { // furnace.furnaceProcess.combustibleEnergy += itemEnergy; combustibleBuffer += itemEnergy; furnace.inventory.decrStackSize(HeatFurnaceContainer.combustibleId, 1); - if (combustibleStack.getItem().getUnlocalizedName().toLowerCase().contains("bucket")) { + if (combustibleStack.getItem().getTranslationKey().toLowerCase().contains("bucket")) { furnace.inventory.setInventorySlotContents(HeatFurnaceContainer.combustibleId, new ItemStack(Items.BUCKET)); } } From 141ac47544d7d6e05c50170bf8fa48c17eb6e254 Mon Sep 17 00:00:00 2001 From: Svein Ove Aas Date: Sat, 2 Mar 2019 23:54:56 +0000 Subject: [PATCH 45/61] Warped skeleton of a LibLib init system --- build.gradle | 1 + .../cofh/api/energy/IEnergyContainerItem.java | 2 +- src/main/java/mods/eln/Eln.kt | 246 +++++++++++ .../java/mods/eln/{Eln.java => Eln_old.java} | 410 ++---------------- src/main/java/mods/eln/PacketHandler.java | 37 +- .../mods/eln/client/AnalyticsHandler.java | 3 +- .../java/mods/eln/client/ClientProxy.java | 11 +- .../mods/eln/client/ConnectionListener.java | 3 +- .../eln/client/VersionCheckerHandler.java | 6 - .../mods/eln/entity/ReplicatorCableAI.java | 5 +- .../mods/eln/entity/ReplicatorPopProcess.java | 12 +- .../eventhandlers/ElnForgeEventsHandler.java | 23 - src/main/java/mods/eln/fluid/FuelRegistry.kt | 6 +- ...GenericItemBlockUsingDamageDescriptor.java | 7 +- .../eln/generic/GenericItemUsingDamage.java | 2 +- src/main/java/mods/eln/ghost/GhostGroup.java | 3 +- .../java/mods/eln/ghost/GhostManager.java | 7 +- .../electricalpole/ElectricalPoleRender.java | 3 +- src/main/java/mods/eln/init/Blocks.kt | 10 - src/main/java/mods/eln/init/Cable.kt | 47 ++ src/main/java/mods/eln/init/Config.kt | 190 ++++++++ src/main/java/mods/eln/init/Items.kt | 14 + src/main/java/mods/eln/init/ModBlock.kt | 27 ++ src/main/java/mods/eln/init/Recipes.kt | 9 + .../java/mods/eln/item/LampDescriptor.java | 18 +- .../ItemEnergyInventoryProcess.java | 94 ++-- .../mods/eln/item/electricalitem/LampItem.kt | 2 +- .../electricalitem/PortableOreScannerItem.kt | 12 +- .../java/mods/eln/mechanical/Generator.kt | 8 +- .../java/mods/eln/mechanical/Tachometer.kt | 4 +- src/main/java/mods/eln/mechanical/Turbines.kt | 7 +- src/main/java/mods/eln/misc/ElnPacket.java | 2 +- .../java/mods/eln/misc/IConfigSharing.java | 11 - .../java/mods/eln/misc/LiveDataManager.java | 71 --- src/main/java/mods/eln/misc/PlayerUtil.kt | 12 +- src/main/java/mods/eln/misc/RecipesList.java | 5 +- src/main/java/mods/eln/misc/Utils.java | 33 +- src/main/java/mods/eln/misc/UtilsClient.java | 6 +- .../java/mods/eln/misc/VoltageLevelColor.java | 11 +- src/main/java/mods/eln/node/GhostNode.java | 4 +- src/main/java/mods/eln/node/NodeBase.java | 20 +- src/main/java/mods/eln/node/NodeManager.java | 4 +- .../java/mods/eln/node/NodePublishProcess.kt | 49 +++ src/main/java/mods/eln/node/NodeServer.java | 64 --- src/main/java/mods/eln/node/six/SixNode.java | 11 +- .../java/mods/eln/node/six/SixNodeBlock.java | 10 +- .../mods/eln/node/six/SixNodeDescriptor.java | 2 +- .../mods/eln/node/six/SixNodeElement.java | 3 +- .../java/mods/eln/node/six/SixNodeEntity.java | 6 +- .../java/mods/eln/node/six/SixNodeItem.java | 3 +- .../eln/node/transparent/TransparentNode.java | 7 +- .../transparent/TransparentNodeBlock.java | 2 +- .../TransparentNodeDescriptor.java | 2 +- .../transparent/TransparentNodeElement.java | 2 +- .../transparent/TransparentNodeEntity.java | 5 +- .../node/transparent/TransparentNodeItem.java | 2 +- src/main/java/mods/eln/ore/OreBlock.java | 7 +- src/main/java/mods/eln/ore/OreDescriptor.java | 5 +- .../java/mods/eln/server/ConsoleListener.java | 121 +----- .../mods/eln/server/DelayedBlockRemove.java | 2 +- .../java/mods/eln/server/OreRegenerate.java | 18 +- src/main/java/mods/eln/server/SaveConfig.java | 4 +- .../mods/eln/sim/MonsterPopFreeProcess.java | 56 --- ...eElectricalGateInputHysteresisProcess.java | 5 +- src/main/java/mods/eln/sim/SignalRp.java | 3 +- src/main/java/mods/eln/sim/Simulator.java | 4 +- .../eln/sim/nbt/NbtElectricalGateInput.java | 11 +- .../sim/nbt/NbtElectricalGateInputOutput.java | 11 +- .../eln/sim/nbt/NbtElectricalGateOutput.java | 4 +- .../nbt/NbtElectricalGateOutputProcess.java | 14 +- .../sim/process/destruct/WorldExplosion.java | 3 +- .../computerprobe/ComputerProbeNode.java | 3 +- .../EnergyConverterElnToOtherNode.java | 3 +- src/main/java/mods/eln/sixnode/AnalogChips.kt | 27 +- .../java/mods/eln/sixnode/ElectricalFuse.kt | 6 +- src/main/java/mods/eln/sixnode/LogicGate.kt | 11 +- src/main/java/mods/eln/sixnode/Scanner.kt | 3 +- .../TreeResinCollectorElement.java | 3 +- .../TreeResinCollectorTileEntity.java | 3 +- .../batterycharger/BatteryChargerElement.java | 3 +- .../mods/eln/sixnode/diode/DiodeElement.java | 3 +- .../ElectricalAlarmElement.java | 3 +- .../ElectricalAlarmRender.java | 5 +- .../ElectricalAlarmSlowProcess.java | 3 +- .../ElectricalBreakerElement.java | 6 +- .../ElectricalCableDescriptor.java | 3 +- .../ElectricalCableElement.java | 3 +- .../ElectricalDataLoggerProcess.java | 13 +- .../ElectricalDataLoggerRender.java | 3 +- .../ElectricalEntitySensorContainer.java | 2 +- .../ElectricalEntitySensorElement.java | 3 +- .../ElectricalEntitySensorRender.java | 3 +- .../ElectricalFireDetectorElement.java | 3 +- .../ElectricalFireDetectorRender.kt | 3 +- .../ElectricalGateSourceDescriptor.java | 2 +- .../ElectricalGateSourceElement.java | 3 +- .../ElectricalGateSourceRender.java | 7 +- .../ElectricalLightSensorDescriptor.java | 3 +- .../ElectricalLightSensorElement.java | 3 +- .../ElectricalLightSensorRender.java | 3 +- .../electricalmath/ElectricalMathRender.java | 3 +- .../ElectricalRedstoneInputDescriptor.java | 2 +- .../ElectricalRedstoneInputRender.java | 3 +- .../ElectricalRedstoneOutputElement.java | 3 +- .../ElectricalRedstoneOutputRender.java | 3 +- .../ElectricalRelayElement.java | 3 +- .../ElectricalRelayRender.java | 3 +- .../ElectricalSensorElement.java | 10 +- .../ElectricalSensorProcess.java | 5 +- .../ElectricalSensorRender.java | 5 +- .../ElectricalSourceDescriptor.java | 3 +- .../ElectricalSourceElement.java | 6 +- .../ElectricalSourceRender.java | 17 +- .../ElectricalSwitchDescriptor.java | 7 +- .../ElectricalSwitchElement.java | 13 +- .../ElectricalTimeoutElement.java | 3 +- .../ElectricalTimeoutRender.java | 3 +- .../ElectricalVuMeterDescriptor.java | 2 +- .../ElectricalVuMeterElement.java | 3 +- .../ElectricalVuMeterRender.java | 3 +- .../ElectricalWatchContainer.java | 2 +- .../ElectricalWeatherSensorDescriptor.java | 5 +- .../ElectricalWeatherSensorRender.java | 3 +- .../ElectricalWindSensorRender.java | 3 +- .../energymeter/EnergyMeterElement.java | 7 +- .../groundcable/GroundCableDescriptor.java | 3 +- .../groundcable/GroundCableElement.java | 3 +- .../groundcable/GroundCableRender.java | 3 +- .../java/mods/eln/sixnode/hub/HubElement.java | 3 +- .../sixnode/lampsocket/LampSocketElement.java | 7 +- .../sixnode/lampsocket/LampSocketProcess.java | 6 +- .../sixnode/lampsocket/LightBlockEntity.java | 9 +- .../sixnode/lampsupply/LampSupplyElement.java | 3 +- .../sixnode/modbusrtu/ModbusRtuElement.java | 3 +- .../sixnode/modbusrtu/ModbusRtuRender.java | 3 +- .../eln/sixnode/modbusrtu/ModbusTcpServer.kt | 4 +- .../modbusrtu/ServerWirelessTxStatus.java | 3 +- .../PowerCapacitorSixDescriptor.java | 3 +- .../PowerCapacitorSixElement.java | 8 +- .../PowerInductorSixContainer.java | 2 +- .../PowerInductorSixDescriptor.java | 3 +- .../PowerInductorSixElement.java | 3 +- .../eln/sixnode/resistor/ResistorElement.java | 3 +- .../thermalsensor/ThermalSensorElement.java | 13 +- .../thermalsensor/ThermalSensorProcess.java | 5 +- .../thermalsensor/ThermalSensorRender.java | 5 +- .../WirelessSignalAnalyserItemDescriptor.java | 2 +- .../WirelessSignalRepeaterRender.java | 3 +- .../rx/WirelessSignalRxRender.java | 3 +- .../WirelessSignalSourceDescriptor.java | 2 +- .../source/WirelessSignalSourceRender.java | 3 +- .../tx/WirelessSignalTxDescriptor.java | 2 +- .../tx/WirelessSignalTxElement.java | 2 +- .../tx/WirelessSignalTxRender.java | 3 +- src/main/java/mods/eln/solver/Equation.java | 4 +- .../java/mods/eln/sound/LoopedSoundManager.kt | 6 +- .../mods/eln/transparentnode/FuelGenerator.kt | 6 +- .../eln/transparentnode/FuelHeatFurnace.kt | 5 +- .../mods/eln/transparentnode/LargeRheostat.kt | 2 +- .../autominer/AutoMinerContainer.java | 2 +- .../autominer/AutoMinerRender.java | 4 +- .../autominer/AutoMinerSlowProcess.java | 3 +- .../battery/BatteryElement.java | 3 +- .../eggincubator/EggIncubatorElement.java | 3 +- .../ElectricalAntennaRxElement.java | 3 +- .../ElectricalAntennaRxRender.java | 3 +- .../ElectricalAntennaTxElement.java | 3 +- .../ElectricalAntennaTxRender.java | 7 +- .../ElectricalAntennaTxSlowProcess.java | 5 +- .../ElectricalFurnaceElement.java | 5 +- .../ElectricalMachineElement.java | 3 +- .../MagnetizerDescriptor.java | 2 +- .../HeatFurnaceThermalProcess.java | 3 +- .../PowerCapacitorDescriptor.java | 3 +- .../powercapacitor/PowerCapacitorElement.java | 5 +- .../powerinductor/PowerInductorContainer.java | 2 +- .../PowerInductorDescriptor.java | 3 +- .../powerinductor/PowerInductorElement.java | 4 +- .../solarpanel/SolarPanelElement.java | 3 +- .../teleporter/TeleporterRender.java | 4 +- .../ThermalDissipatorActiveElement.java | 3 +- .../ThermalDissipatorPassiveElement.java | 3 +- .../transformer/TransformerElement.java | 3 +- .../turbine/TurbineElement.java | 3 +- .../turbine/TurbineThermalProcess.java | 4 +- .../transparentnode/turret/TurretElement.java | 6 +- .../waterturbine/WaterTurbineContainer.java | 2 +- .../waterturbine/WaterTurbineElement.java | 3 +- .../windturbine/WindTurbineElement.java | 3 +- src/main/java/mods/eln/wiki/Data.java | 2 +- 190 files changed, 1144 insertions(+), 1202 deletions(-) create mode 100644 src/main/java/mods/eln/Eln.kt rename src/main/java/mods/eln/{Eln.java => Eln_old.java} (93%) delete mode 100644 src/main/java/mods/eln/eventhandlers/ElnForgeEventsHandler.java delete mode 100644 src/main/java/mods/eln/init/Blocks.kt create mode 100644 src/main/java/mods/eln/init/Cable.kt create mode 100644 src/main/java/mods/eln/init/Config.kt create mode 100644 src/main/java/mods/eln/init/Items.kt create mode 100644 src/main/java/mods/eln/init/ModBlock.kt create mode 100644 src/main/java/mods/eln/init/Recipes.kt delete mode 100644 src/main/java/mods/eln/misc/IConfigSharing.java delete mode 100644 src/main/java/mods/eln/misc/LiveDataManager.java create mode 100644 src/main/java/mods/eln/node/NodePublishProcess.kt delete mode 100644 src/main/java/mods/eln/node/NodeServer.java delete mode 100644 src/main/java/mods/eln/sim/MonsterPopFreeProcess.java diff --git a/build.gradle b/build.gradle index 012cfd9fb..9e28f9ac9 100644 --- a/build.gradle +++ b/build.gradle @@ -110,6 +110,7 @@ dependencies { compileOnly "mcp.mobius.waila:Hwyla:1.8.26-B41_1.12.2" // TODO(1.12): Switch to this. // deobfCompile "cofh:RedstoneFlux:1.12-2.0.0.1:universal" + } jar { diff --git a/src/main/java/cofh/api/energy/IEnergyContainerItem.java b/src/main/java/cofh/api/energy/IEnergyContainerItem.java index abc742fde..ee2b16c8f 100644 --- a/src/main/java/cofh/api/energy/IEnergyContainerItem.java +++ b/src/main/java/cofh/api/energy/IEnergyContainerItem.java @@ -3,7 +3,7 @@ import net.minecraft.item.ItemStack; /** - * Implement this interface on Item classes that support external manipulation of their internal energy storages. + * Implement this interface on Items classes that support external manipulation of their internal energy storages. * * A reference implementation is provided {@link ItemEnergyContainer}. * diff --git a/src/main/java/mods/eln/Eln.kt b/src/main/java/mods/eln/Eln.kt new file mode 100644 index 000000000..b755120f4 --- /dev/null +++ b/src/main/java/mods/eln/Eln.kt @@ -0,0 +1,246 @@ +package mods.eln + +import com.teamwizardry.librarianlib.features.base.ModCreativeTab +import mods.eln.entity.ReplicatorPopProcess +import mods.eln.ghost.GhostManager +import mods.eln.i18n.I18N.tr +import mods.eln.init.Config +import mods.eln.item.MiningPipeDescriptor +import mods.eln.item.electricalinterface.ItemEnergyInventoryProcess +import mods.eln.misc.FunctionTable +import mods.eln.misc.Obj3DFolder +import mods.eln.misc.WindProcess +import mods.eln.node.NodeBlockEntity +import mods.eln.node.NodeManager +import mods.eln.node.NodePublishProcess +import mods.eln.node.six.SixNodeItem +import mods.eln.node.transparent.TransparentNodeItem +import mods.eln.packets.* +import mods.eln.server.* +import mods.eln.sim.Simulator +import mods.eln.sim.ThermalLoadInitializer +import mods.eln.sixnode.lampsocket.LightBlockEntity +import mods.eln.sixnode.lampsupply.LampSupplyElement +import mods.eln.sixnode.modbusrtu.ModbusTcpServer +import mods.eln.sixnode.powersocket.PowerSocketElement +import mods.eln.sixnode.tutorialsign.TutorialSignElement +import mods.eln.sixnode.wirelesssignal.IWirelessSignalSpot +import mods.eln.sixnode.wirelesssignal.tx.WirelessSignalTxElement +import mods.eln.transparentnode.teleporter.TeleporterElement +import net.minecraft.command.ServerCommandManager +import net.minecraft.init.Blocks +import net.minecraft.item.ItemStack +import net.minecraftforge.fml.common.FMLCommonHandler +import net.minecraftforge.fml.common.Mod +import net.minecraftforge.fml.common.event.* +import net.minecraftforge.fml.common.network.FMLEventChannel +import net.minecraftforge.fml.common.network.NetworkRegistry +import net.minecraftforge.fml.common.network.simpleimpl.SimpleNetworkWrapper +import net.minecraftforge.fml.relauncher.Side +import org.apache.logging.log4j.Logger + +@Mod(modid = Eln.MODID, version = Eln.VERSION, name = Eln.NAME, dependencies = Eln.DEPENDENCIES, acceptedMinecraftVersions = Eln.ACCEPTABLE_MINECRAFT_VERSION, acceptableSaveVersions = Eln.ACCEPTABLE_SAVE_VERSIONS) +class Eln { + + @Mod.EventHandler + fun preInit(e: FMLPreInitializationEvent) { + val metadata = e.modMetadata + metadata.authorList = AUTHORS.toMutableList() + metadata.description = tr("mod.meta.desc") + metadata.url = URL + metadata.autogenerated = false + + logger = e.modLog + logger.info(tr("Bzzzt")) + + + elnNetwork = NetworkRegistry.INSTANCE.newSimpleChannel(simpleChannelId); + elnNetwork.registerMessage(TransparentNodeRequestPacketHandler::class.java, TransparentNodeRequestPacket::class.java, 1, Side.SERVER) + elnNetwork.registerMessage(TransparentNodeResponsePacketHandler::class.java, TransparentNodeResponsePacket::class.java, 2, Side.CLIENT) + elnNetwork.registerMessage(GhostNodeWailaRequestPacketHandler::class.java, GhostNodeWailaRequestPacket::class.java, 3, Side.SERVER) + elnNetwork.registerMessage(GhostNodeWailaResponsePacketHandler::class.java, GhostNodeWailaResponsePacket::class.java, 4, Side.CLIENT) + elnNetwork.registerMessage(SixNodeWailaRequestPacketHandler::class.java, SixNodeWailaRequestPacket::class.java, 5, Side.SERVER) + elnNetwork.registerMessage(SixNodeWailaResponsePacketHandler::class.java, SixNodeWailaResponsePacket::class.java, 6, Side.CLIENT) + eventChannel = NetworkRegistry.INSTANCE.newEventDrivenChannel(eventChannelID) + packetHandler = PacketHandler() + + + simulator = Simulator( + 0.05, + 1.0 / Config.electricalFrequency, + Config.electricalInterSystemOverSampling, + 1.0 / Config.thermalFrequency) + playerManager = PlayerManager() + nodeManager = NodeManager("$MODID.nodes") + ghostManager = GhostManager("$MODID.ghosts") + delayedTaskManager = DelayedTaskManager() + + obj.loadAllElnModels() + } + + @Mod.EventHandler + fun postInit(event: FMLPostInitializationEvent) { + serverEventListener = ServerEventListener() + } + + /* This function is called both on startup and shutdown. */ + private fun clearSimulatorState() { + TutorialSignElement.resetBalise() + TeleporterElement.teleporterList.clear() + LightBlockEntity.observers.clear() + NodeBlockEntity.clientList.clear() + WirelessSignalTxElement.channelMap.clear() + IWirelessSignalSpot.spots.clear() + LampSupplyElement.channelMap.clear() + PowerSocketElement.channelMap.clear() + playerManager.clear() + } + + @Mod.EventHandler + fun onServerStart(e: FMLServerAboutToStartEvent) { + clearSimulatorState() + + simulator.reinit() + + modbusServer = ModbusTcpServer(Config.modbusPort) + simulator.apply { + addSlowProcess(windProcess) + addSlowProcess(replicatorPopProcess) + addSlowProcess(itemEnergyInventoryProcess) + addSlowProcess(nodePublishProcess) + } + } + + @Mod.EventHandler + fun onServerStarting(e: FMLServerStartingEvent) { + val server = FMLCommonHandler.instance() + .minecraftServerInstance + val worldServer = server.getWorld(0) + +/* + ghostManagerNbt = worldServer.mapStorage!!.getOrLoadData( + GhostManagerNbt::class.java, "GhostManager") as GhostManagerNbt + if (ghostManagerNbt == null) { + ghostManagerNbt = GhostManagerNbt("GhostManager") + worldServer.mapStorage!!.setData("GhostManager", ghostManagerNbt) + } + + nodeManagerNbt = worldServer.mapStorage!!.getOrLoadData( + NodeManagerNbt::class.java, "NodeManager") as NodeManagerNbt? + if (nodeManagerNbt == null) { + nodeManagerNbt = NodeManagerNbt("NodeManager") + worldServer.mapStorage!!.setData("NodeManager", nodeManagerNbt) + } +*/ + + val command = e.server.getCommandManager() + val manager = command as ServerCommandManager + manager.registerCommand(ConsoleListener()) + + //regenOreScannerFactors() + } + + + @Mod.EventHandler + fun onServerStopped(e: FMLServerStoppedEvent) { + modbusServer.destroy() + + clearSimulatorState() + + nodeManager.clear() + ghostManager.clear() + //oreRegenerate.clear() + delayedTaskManager.clear() + DelayedBlockRemove.clear() + serverEventListener.clear() + + simulator.stop() + } + + + companion object { + const val MODID = "eln" + const val VERSION = "2.0" + const val ACCEPTABLE_SAVE_VERSIONS = "[2.0)" + const val ACCEPTABLE_MINECRAFT_VERSION = "1.12.2" + const val NAME = "Electrical Age" + const val DEPENDENCIES = "" + const val URL = "https://electrical-age.net" + // TODO(1.12): Use Mod.updateJSON. + const val UPDATE_URL = "https://github.com/Electrical-Age/ElectricalAge/releases" + const val SRC_URL = "https://github.com/Electrical-Age" + @JvmField + val AUTHORS = arrayOf("Dolu1990", "lambdaShade", "cm0x4D", "metc", "Baughn") + + // Stateless helper processes: + @JvmField + val windProcess = WindProcess() + @JvmField + val replicatorPopProcess = ReplicatorPopProcess() + @JvmField + val itemEnergyInventoryProcess = ItemEnergyInventoryProcess() + @JvmField + val nodePublishProcess = NodePublishProcess() + + // Initialized in event handlers: + lateinit var logger: Logger + lateinit var simulator: Simulator + lateinit var modbusServer: ModbusTcpServer + lateinit var serverEventListener: ServerEventListener + + lateinit var playerManager: PlayerManager + lateinit var nodeManager: NodeManager + lateinit var ghostManager: GhostManager + lateinit var delayedTaskManager: DelayedTaskManager + + //lateinit var ghostManagerNbt: GhostManagerNbt + //lateinit var nodeManagerNbt: NodeManagerNbt + + object Tab : ModCreativeTab() { + init { + registerDefaultTab() + } + + override val iconStack: ItemStack + // TODO(1.12): No, lightning! + get() = ItemStack(Blocks.LIT_PUMPKIN) + } + + // Packet code which we will hopefully be rid of: + // TODO(1.12) + lateinit var elnNetwork: SimpleNetworkWrapper + const val simpleChannelId = "eln" + lateinit var packetHandler: PacketHandler + lateinit var eventChannel: FMLEventChannel + const val eventChannelID = "eln-event" + + const val packetPlayerKey: Byte = 14 + const val packetNodeSingleSerialized: Byte = 15 + const val packetPublishForNode: Byte = 16 + const val packetOpenLocalGui: Byte = 17 + const val packetForClientNode: Byte = 18 + const val packetPlaySound: Byte = 19 + const val packetDestroyUuid: Byte = 20 + const val packetClientToServerConnection: Byte = 21 + const val packetServerToClientInfo: Byte = 22 + + // Ditto, rendering: + @JvmField + val obj = Obj3DFolder() + + // Item code which should get moved: + lateinit var sixNodeItem: SixNodeItem + lateinit var transparentNodeItem: TransparentNodeItem + lateinit var miningPipeDescriptor: MiningPipeDescriptor + + // Various physical constants: + val batteryVoltageFunctionTable = FunctionTable(doubleArrayOf(0.000, 0.9, 1.0, 1.025, 1.04, 1.05, 2.0), 6.0 / 5.0) + const val cableHeatingTime = 30.0 + const val cableWarmLimit = 130.0 + const val cableThermalConductionTao = 0.5 + val cableThermalLoadInitializer = ThermalLoadInitializer( + cableWarmLimit, -100.0, cableHeatingTime, cableThermalConductionTao) + val sixNodeThermalLoadInitializer = ThermalLoadInitializer( + cableWarmLimit, -100.0, cableHeatingTime, 1000.0) + } +} diff --git a/src/main/java/mods/eln/Eln.java b/src/main/java/mods/eln/Eln_old.java similarity index 93% rename from src/main/java/mods/eln/Eln.java rename to src/main/java/mods/eln/Eln_old.java index c98cc9069..90a744df7 100644 --- a/src/main/java/mods/eln/Eln.java +++ b/src/main/java/mods/eln/Eln_old.java @@ -2,9 +2,6 @@ import mods.eln.cable.CableRenderDescriptor; import mods.eln.client.ClientKeyHandler; -import mods.eln.client.SoundLoader; -import mods.eln.entity.ReplicatorPopProcess; -import mods.eln.eventhandlers.ElnForgeEventsHandler; import mods.eln.generic.*; import mods.eln.ghost.GhostBlock; import mods.eln.ghost.GhostGroup; @@ -22,16 +19,14 @@ import mods.eln.mechanical.*; import mods.eln.misc.*; import mods.eln.misc.series.SerieEE; -import mods.eln.node.NodeBlockEntity; import mods.eln.node.NodeManager; import mods.eln.node.NodeManagerNbt; -import mods.eln.node.NodeServer; +import mods.eln.node.NodePublishProcess; import mods.eln.node.six.*; import mods.eln.node.transparent.*; import mods.eln.ore.OreBlock; import mods.eln.ore.OreDescriptor; import mods.eln.ore.OreItem; -import mods.eln.packets.*; import mods.eln.server.*; import mods.eln.signalinductor.SignalInductorDescriptor; import mods.eln.sim.Simulator; @@ -74,28 +69,22 @@ import mods.eln.sixnode.lampsocket.LampSocketDescriptor; import mods.eln.sixnode.lampsocket.LampSocketType; import mods.eln.sixnode.lampsocket.LightBlock; -import mods.eln.sixnode.lampsocket.LightBlockEntity; import mods.eln.sixnode.lampsupply.LampSupplyDescriptor; -import mods.eln.sixnode.lampsupply.LampSupplyElement; import mods.eln.sixnode.logicgate.*; import mods.eln.sixnode.modbusrtu.ModbusRtuDescriptor; import mods.eln.sixnode.modbusrtu.ModbusTcpServer; import mods.eln.sixnode.powercapacitorsix.PowerCapacitorSixDescriptor; import mods.eln.sixnode.powerinductorsix.PowerInductorSixDescriptor; import mods.eln.sixnode.powersocket.PowerSocketDescriptor; -import mods.eln.sixnode.powersocket.PowerSocketElement; import mods.eln.sixnode.resistor.ResistorDescriptor; import mods.eln.sixnode.thermalcable.ThermalCableDescriptor; import mods.eln.sixnode.thermalsensor.ThermalSensorDescriptor; import mods.eln.sixnode.tutorialsign.TutorialSignDescriptor; -import mods.eln.sixnode.tutorialsign.TutorialSignElement; -import mods.eln.sixnode.wirelesssignal.IWirelessSignalSpot; import mods.eln.sixnode.wirelesssignal.WirelessSignalAnalyserItemDescriptor; import mods.eln.sixnode.wirelesssignal.repeater.WirelessSignalRepeaterDescriptor; import mods.eln.sixnode.wirelesssignal.rx.WirelessSignalRxDescriptor; import mods.eln.sixnode.wirelesssignal.source.WirelessSignalSourceDescriptor; import mods.eln.sixnode.wirelesssignal.tx.WirelessSignalTxDescriptor; -import mods.eln.sixnode.wirelesssignal.tx.WirelessSignalTxElement; import mods.eln.sound.SoundCommand; import mods.eln.transparentnode.FuelGeneratorDescriptor; import mods.eln.transparentnode.FuelHeatFurnaceDescriptor; @@ -115,7 +104,6 @@ import mods.eln.transparentnode.powerinductor.PowerInductorDescriptor; import mods.eln.transparentnode.solarpanel.SolarPanelDescriptor; import mods.eln.transparentnode.teleporter.TeleporterDescriptor; -import mods.eln.transparentnode.teleporter.TeleporterElement; import mods.eln.transparentnode.thermaldissipatoractive.ThermalDissipatorActiveDescriptor; import mods.eln.transparentnode.thermaldissipatorpassive.ThermalDissipatorPassiveDescriptor; import mods.eln.transparentnode.transformer.TransformerDescriptor; @@ -125,9 +113,6 @@ import mods.eln.transparentnode.windturbine.WindTurbineDescriptor; import mods.eln.wiki.Data; import net.minecraft.block.Block; -import net.minecraft.block.material.Material; -import net.minecraft.command.ICommandManager; -import net.minecraft.command.ServerCommandManager; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.entity.monster.IMob; import net.minecraft.entity.passive.EntityAnimal; @@ -139,40 +124,25 @@ import net.minecraft.item.crafting.IRecipe; import net.minecraft.launchwrapper.Launch; import net.minecraft.launchwrapper.LogWrapper; -import net.minecraft.server.MinecraftServer; -import net.minecraft.tileentity.TileEntity; import net.minecraft.util.ResourceLocation; -import net.minecraft.world.WorldServer; -import net.minecraftforge.common.MinecraftForge; -import net.minecraftforge.common.config.Configuration; -import net.minecraftforge.common.config.Property; import net.minecraftforge.fml.common.*; import net.minecraftforge.fml.common.Mod.EventHandler; import net.minecraftforge.fml.common.Mod.Instance; import net.minecraftforge.fml.common.event.*; import net.minecraftforge.fml.common.network.FMLEventChannel; -import net.minecraftforge.fml.common.network.NetworkRegistry; import net.minecraftforge.fml.common.network.simpleimpl.SimpleNetworkWrapper; -import net.minecraftforge.fml.common.registry.GameRegistry; -import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.oredict.OreDictionary; import org.jetbrains.annotations.NotNull; import java.util.*; import static mods.eln.i18n.I18N.*; +import static mods.eln.init.Recipes.furnaceList; @SuppressWarnings({"SameParameterValue", "PointlessArithmeticExpression"}) -@Mod(modid = Eln.MODID, name = Eln.NAME, version = "@VERSION@") -public class Eln { +//@Mod(modid = Eln.MODID, name = Eln.NAME, version = "@VERSION@") +public class Eln_old { // Mod information (override from 'mcmod.info' file) - public final static String MODID = "eln"; - public final static String NAME = "Electrical Age"; - public final static String MODDESC = "Electricity in your base !"; - public final static String URL = "https://electrical-age.net"; - public final static String UPDATE_URL = "https://github.com/Electrical-Age/ElectricalAge/releases"; - public final static String SRC_URL = "https://github.com/Electrical-Age"; - public final static String[] AUTHORS = {"Dolu1990", "lambdaShade", "cm0x4D", "metc", "Baughn"}; // The instance of your mod that Forge uses. @Instance("eln") public static Eln instance; @@ -187,21 +157,9 @@ public class Eln { // public static final byte packetNodeSerialized48bitPosition = 12; // public static final byte packetNodeRefreshRequest = 13; - public static final byte packetPlayerKey = 14; - public static final byte packetNodeSingleSerialized = 15; - public static final byte packetPublishForNode = 16; - public static final byte packetOpenLocalGui = 17; - public static final byte packetForClientNode = 18; - public static final byte packetPlaySound = 19; - public static final byte packetDestroyUuid = 20; - public static final byte packetClientToServerConnection = 21; - public static final byte packetServerToClientInfo = 22; - - public static PacketHandler packetHandler; - static NodeServer nodeServer; - public static LiveDataManager clientLiveDataManager; + + static NodePublishProcess nodePublishProcess; public static ClientKeyHandler clientKeyHandler; - public static SaveConfig saveConfig; public static GhostManager ghostManager; public static GhostManagerNbt ghostManagerNbt; private static NodeManager nodeManager; @@ -240,17 +198,8 @@ public class Eln { public CopperCableDescriptor copperCableDescriptor; - public ElectricalCableDescriptor veryHighVoltageCableDescriptor; - public ElectricalCableDescriptor highVoltageCableDescriptor; - public ElectricalCableDescriptor signalCableDescriptor; - public ElectricalCableDescriptor lowVoltageCableDescriptor; - public ElectricalCableDescriptor batteryCableDescriptor; - public ElectricalCableDescriptor meduimVoltageCableDescriptor; - public OreRegenerate oreRegenerate; - public static final Obj3DFolder obj = new Obj3DFolder(); - public static boolean oredictTungsten, oredictChips; public static boolean genCopper, genLead, genTungsten, genCinnabar; public static String dictTungstenOre, dictTungstenDust, dictTungstenIngot; @@ -273,14 +222,6 @@ public class Eln { public static boolean analyticsEnabled = true; // Read from configuration file. Default is `true`. public static String playerUUID = null; // Read from configuration file. Default is `null`. - public double heatTurbinePowerFactor = 1; - public double solarPanelPowerFactor = 1; - public double windTurbinePowerFactor = 1; - public double waterTurbinePowerFactor = 1; - public double fuelGeneratorPowerFactor = 1; - public double fuelHeatFurnacePowerFactor = 1; - public int autominerRange = 10; - public boolean killMonstersAroundLamps; public int killMonstersAroundLampsRange; @@ -297,159 +238,26 @@ public class Eln { public static double maxSoundDistance = 16; private double cablePowerFactor; - private final ResourceLocation resourceEln = new ResourceLocation(MODID); @EventHandler public void preInit(FMLPreInitializationEvent event) { // TODO(1.12): Finish reimplementing this. /* - elnNetwork = NetworkRegistry.INSTANCE.newSimpleChannel(Eln.MODID); - elnNetwork.registerMessage(TransparentNodeRequestPacketHandler.class, TransparentNodeRequestPacket.class, 1, Side.SERVER); - elnNetwork.registerMessage(TransparentNodeResponsePacketHandler.class, TransparentNodeResponsePacket.class, 2, Side.CLIENT); - elnNetwork.registerMessage(GhostNodeWailaRequestPacketHandler.class, GhostNodeWailaRequestPacket.class, 3, Side.SERVER); - elnNetwork.registerMessage(GhostNodeWailaResponsePacketHandler.class, GhostNodeWailaResponsePacket.class, 4, Side.CLIENT); - elnNetwork.registerMessage(SixNodeWailaRequestPacketHandler.class, SixNodeWailaRequestPacket.class, 5, Side.SERVER); - elnNetwork.registerMessage(SixNodeWailaResponsePacketHandler.class, SixNodeWailaResponsePacket.class, 6, Side.CLIENT); // TODO(1.10): How does this work now? // LanguageRegistry.instance().loadLanguagesFor(container, Side.CLIENT); - // Update ModInfo by code - ModMetadata meta = event.getModMetadata(); - meta.modId = MODID; - meta.version = Version.getVersionName(); - meta.name = NAME; - meta.description = tr("mod.meta.desc"); - meta.url = URL; - meta.updateUrl = UPDATE_URL; - meta.authorList = Arrays.asList(AUTHORS); - meta.autogenerated = false; // Force to update from code - - Utils.println(Version.print()); - Side side = FMLCommonHandler.instance().getEffectiveSide(); if (side == Side.CLIENT) MinecraftForge.EVENT_BUS.register(new SoundLoader()); - Configuration config = new Configuration( - event.getSuggestedConfigurationFile()); - config.load(); - - modbusEnable = config.get("modbus", "enable", false).getBoolean(false); - modbusPort = config.get("modbus", "port", 1502).getInt(1502); - debugEnabled = config.get("debug", "enable", false).getBoolean(false); - - explosionEnable = config.get("gameplay", "explosion", true).getBoolean(true); - - versionCheckEnabled = config.get("general", "versionCheckEnable", true).getBoolean(true); - analyticsEnabled = config.get("general", "analyticsEnable", true).getBoolean(true); - - if (analyticsEnabled) { - final Property p = config.get("general", "playerUUID", ""); - if (p.getString().length() == 0) { - playerUUID = UUID.randomUUID().toString(); - p.set(playerUUID); - } else - playerUUID = p.getString(); - } - - heatTurbinePowerFactor = config.get("balancing", "heatTurbinePowerFactor", 1).getDouble(1); - solarPanelPowerFactor = config.get("balancing", "solarPanelPowerFactor", 1).getDouble(1); - windTurbinePowerFactor = config.get("balancing", "windTurbinePowerFactor", 1).getDouble(1); - waterTurbinePowerFactor = config.get("balancing", "waterTurbinePowerFactor", 1).getDouble(1); - fuelGeneratorPowerFactor = config.get("balancing", "fuelGeneratorPowerFactor", 1).getDouble(1); - fuelHeatFurnacePowerFactor = config.get("balancing", "fuelHeatFurnacePowerFactor", 1.0).getDouble(); - autominerRange = config.get("balancing", "autominerRange", 10, "Maximum horizontal distance from autominer that will be mined").getInt(10); - - Other.ElnToIc2ConversionRatio = config.get("balancing", "ElnToIndustrialCraftConversionRatio", 1.0 / 3.0).getDouble(1.0 / 3.0); - Other.ElnToOcConversionRatio = config.get("balancing", "ElnToOpenComputerConversionRatio", 1.0 / 3.0 / 2.5).getDouble(1.0 / 3.0 / 2.5); - Other.ElnToTeConversionRatio = config.get("balancing", "ElnToThermalExpansionConversionRatio", 1.0 / 3.0 * 4).getDouble(1.0 / 3.0 * 4); - // Other.ElnToBuildcraftConversionRatio = config.get("balancing", "ElnToBuildcraftConversionRatio", 1.0 / 3.0 / 5 * 2).getDouble(1.0 / 3.0 / 5 * 2); - plateConversionRatio = config.get("balancing", "platesPerIngot", 1).getInt(1); - - stdBatteryHalfLife = config.get("battery", "batteryHalfLife", 2, "How many days it takes for a battery to decay half way").getDouble(2) * Utils.minecraftDay; - batteryCapacityFactor = config.get("balancing", "batteryCapacityFactor", 1.).getDouble(1.); - - ComputerProbeEnable = config.get("compatibility", "ComputerProbeEnable", true).getBoolean(true); - ElnToOtherEnergyConverterEnable = config.get("compatibility", "ElnToOtherEnergyConverterEnable", true).getBoolean(true); - - replicatorPop = config.get("entity", "replicatorPop", true).getBoolean(true); - ReplicatorPopProcess.popPerSecondPerPlayer = config.get("entity", "replicatorPopWhenThunderPerSecond", 1.0 / 120).getDouble(1.0 / 120); - killMonstersAroundLamps = config.get("entity", "killMonstersAroundLamps", true).getBoolean(true); - killMonstersAroundLampsRange = config.get("entity", "killMonstersAroundLampsRange", 9).getInt(9); - - forceOreRegen = config.get("mapGenerate", "forceOreRegen", false).getBoolean(false); - genCopper = config.get("mapGenerate", "copper", true).getBoolean(true); - genLead = config.get("mapGenerate", "lead", true).getBoolean(true); - genTungsten = config.get("mapGenerate", "tungsten", true).getBoolean(true); - genCinnabar = config.get("mapGenerate", "cinnabar", true).getBoolean(true); - genCinnabar = false; - - oredictTungsten = config.get("dictionary", "tungsten", false).getBoolean(false); - if (oredictTungsten) { - dictTungstenOre = "oreTungsten"; - dictTungstenDust = "dustTungsten"; - dictTungstenIngot = "ingotTungsten"; - } else { - dictTungstenOre = "oreElnTungsten"; - dictTungstenDust = "dustElnTungsten"; - dictTungstenIngot = "ingotElnTungsten"; - } - oredictChips = config.get("dictionary", "chips", true).getBoolean(true); - if (oredictChips) { - dictCheapChip = "circuitBasic"; - dictAdvancedChip = "circuitAdvanced"; - } else { - dictCheapChip = "circuitElnBasic"; - dictAdvancedChip = "circuitElnAdvanced"; - } - - incandescentLampLife = config.get("lamp", "incandescentLifeInHours", 16.0).getDouble(16.0) * 3600; - economicLampLife = config.get("lamp", "economicLifeInHours", 64.0).getDouble(64.0) * 3600; - carbonLampLife = config.get("lamp", "carbonLifeInHours", 6.0).getDouble(6.0) * 3600; - ledLampLife = config.get("lamp", "ledLifeInHours", 512.0).getDouble(512.0) * 3600; - ledLampInfiniteLife = config.get("lamp", "infiniteLedLife", false).getBoolean(); - - fuelGeneratorTankCapacity = config.get("fuelGenerator", - "tankCapacityInSecondsAtNominalPower", 20 * 60).getDouble(20 * 60); - - addOtherModOreToXRay = config.get("xrayscannerconfig", "addOtherModOreToXRay", true).getBoolean(true); - xRayScannerRange = (float) config.get("xrayscannerconfig", "rangeInBloc", 5.0).getDouble(5.0); - xRayScannerRange = Math.max(Math.min(xRayScannerRange, 10), 4); - xRayScannerCanBeCrafted = config.get("xrayscannerconfig", "canBeCrafted", true).getBoolean(true); - - electricalFrequency = config.get("simulation", "electricalFrequency", 20).getDouble(20); - electricalInterSystemOverSampling = config.get("simulation", "electricalInterSystemOverSampling", 50).getInt(50); - thermalFrequency = config.get("simulation", "thermalFrequency", 400).getDouble(400); - - wirelessTxRange = config.get("wireless", "txRange", 32).getInt(); - - wailaEasyMode = config.get("balancing", "wailaEasyMode", false, "Display more detailed WAILA info on some machines").getBoolean(false); - cablePowerFactor = config.get("balancing", "cablePowerFactor", 1.0, "Multiplication factor for cable power capacity. We recommend 2.0 to 4.0 for larger modpacks, but 1.0 for Eln standalone, or if you like a challenge.", 0.5, 4.0).getDouble(1.0); - - fuelHeatValueFactor = config.get("balancing", "fuelHeatValueFactor", 0.0000675, - "Factor to apply when converting real word heat values to Minecraft heat values (1mB = 1l).").getDouble(); - - Eln.noSymbols = config.get("general", "noSymbols", false).getBoolean(); - Eln.noVoltageBackground = config.get("general", "noVoltageBackground", false).getBoolean(); - - Eln.maxSoundDistance = config.get("debug", "maxSoundDistance", 16.0).getDouble(); - config.save(); - eventChannel = NetworkRegistry.INSTANCE.newEventDrivenChannel(channelName); - - simulator = new Simulator(0.05, 1 / electricalFrequency, electricalInterSystemOverSampling, 1 / thermalFrequency); - nodeManager = new NodeManager("caca"); - ghostManager = new GhostManager("caca2"); - delayedTask = new DelayedTaskManager(); - - playerManager = new PlayerManager(); //tileEntityDestructor = new TileEntityDestructor(); oreRegenerate = new OreRegenerate(); - nodeServer = new NodeServer(); + nodePublishProcess = new NodePublishProcess(); clientLiveDataManager = new LiveDataManager(); packetHandler = new PacketHandler(); @@ -458,7 +266,7 @@ public void preInit(FMLPreInitializationEvent event) { NetworkRegistry.INSTANCE.registerGuiHandler(this, new GuiHandler()); - Item itemCreativeTab = new Item() + Items itemCreativeTab = new Items() .setTranslationKey("eln:elncreativetab"); //.setTextureName("eln:elncreativetab"); GameRegistry.registerItem(itemCreativeTab, "eln.itemCreativeTab"); @@ -487,7 +295,6 @@ public void preInit(FMLPreInitializationEvent event) { ghostBlock = (GhostBlock) new GhostBlock();//.setBlockTextureName("iron_block"); lightBlock = (LightBlock) new LightBlock(); - obj.loadAllElnModels(); GameRegistry.registerItem(sharedItem, "Eln.sharedItem"); GameRegistry.registerItem(sharedItemStackOne, "Eln.sharedItemStackOne"); @@ -495,7 +302,7 @@ public void preInit(FMLPreInitializationEvent event) { GameRegistry.registerBlock(lightBlock, "Eln.lightBlock"); GameRegistry.registerBlock(sixNodeBlock, SixNodeItem.class, "Eln.SixNode"); GameRegistry.registerBlock(transparentNodeBlock, TransparentNodeItem.class, "Eln.TransparentNode"); - GameRegistry.registerBlock(oreBlock, OreItem.class, "Eln.Ore"); + GameRegistry.registerBlock(oreBlock, OreItem.class, "Eln.oreBlock"); TileEntity.addMapping(TransparentNodeEntity.class, "TransparentNodeEntity"); TileEntity.addMapping(TransparentNodeEntityWithFluid.class, "TransparentNodeEntityWF"); // TileEntity.addMapping(TransparentNodeEntityWithSiededInv.class, "TransparentNodeEntityWSI"); @@ -505,10 +312,10 @@ public void preInit(FMLPreInitializationEvent event) { NodeManager.registerUuid(sixNodeBlock.getNodeUuid(), SixNode.class); NodeManager.registerUuid(transparentNodeBlock.getNodeUuid(), TransparentNode.class); - sixNodeItem = (SixNodeItem) Item.getItemFromBlock(sixNodeBlock); - transparentNodeItem = (TransparentNodeItem) Item.getItemFromBlock(transparentNodeBlock); + sixNodeItem = (SixNodeItem) Items.getItemFromBlock(sixNodeBlock); + transparentNodeItem = (TransparentNodeItem) Items.getItemFromBlock(transparentNodeBlock); - oreItem = (OreItem) Item.getItemFromBlock(oreBlock); + oreItem = (OreItem) Items.getItemFromBlock(oreBlock); */ /* * @@ -790,11 +597,9 @@ public void load(FMLInitializationEvent event) { checkRecipe(); - MinecraftForge.EVENT_BUS.register(new ElnForgeEventsHandler()); - FMLInterModComms.sendMessage("Waila", "register", "mods.eln.integration.waila.WailaIntegration.callbackRegister"); - Utils.println("Electrical age init done"); + Utils.println("Electrical age reinit done"); */ } @@ -913,128 +718,6 @@ private boolean recipeMissing(@NotNull ItemStack stack) { return true; } - public ServerEventListener serverEventListener; - - @EventHandler - public void postInit(FMLPostInitializationEvent event) { - serverEventListener = new ServerEventListener(); - } - - /* - * @EventHandler public void clientStart(Client event) { - * - * - * } - */ - - @EventHandler - /* Remember to use the right event! */ - public void onServerStopped(FMLServerStoppedEvent ev) { - TutorialSignElement.resetBalise(); - - if (modbusServer != null) { - modbusServer.destroy(); - modbusServer = null; - } - - LightBlockEntity.observers.clear(); - NodeBlockEntity.clientList.clear(); - TeleporterElement.teleporterList.clear(); - IWirelessSignalSpot.spots.clear(); - playerManager.clear(); - - - clientLiveDataManager.stop(); - nodeManager.clear(); - ghostManager.clear(); - saveConfig = null; - modbusServer = null; - oreRegenerate.clear(); - - - delayedTask.clear(); - DelayedBlockRemove.clear(); - - serverEventListener.clear(); - - - nodeServer.stop(); - - simulator.stop(); - - //tileEntityDestructor.clear(); - LampSupplyElement.channelMap.clear(); - PowerSocketElement.channelMap.clear(); - WirelessSignalTxElement.channelMap.clear(); - - } - - public static WindProcess wind; - - @EventHandler - public void onServerStart(FMLServerAboutToStartEvent ev) { - modbusServer = new ModbusTcpServer(modbusPort); - TeleporterElement.teleporterList.clear(); - //tileEntityDestructor.clear(); - LightBlockEntity.observers.clear(); - WirelessSignalTxElement.channelMap.clear(); - LampSupplyElement.channelMap.clear(); - PowerSocketElement.channelMap.clear(); - playerManager.clear(); - clientLiveDataManager.start(); - simulator.init(); - simulator.addSlowProcess(wind = new WindProcess()); - - if (replicatorPop) - simulator.addSlowProcess(new ReplicatorPopProcess()); - simulator.addSlowProcess(itemEnergyInventoryProcess = new ItemEnergyInventoryProcess()); - } - - @EventHandler - /* Remember to use the right event! */ - public void onServerStarting(FMLServerStartingEvent ev) { - - { - MinecraftServer server = FMLCommonHandler.instance() - .getMinecraftServerInstance(); - WorldServer worldServer = server.getWorld(0); - - - ghostManagerNbt = (GhostManagerNbt) worldServer.getMapStorage().getOrLoadData( - GhostManagerNbt.class, "GhostManager"); - if (ghostManagerNbt == null) { - ghostManagerNbt = new GhostManagerNbt("GhostManager"); - worldServer.getMapStorage().setData("GhostManager", ghostManagerNbt); - } - - saveConfig = (SaveConfig) worldServer.getMapStorage().getOrLoadData( - SaveConfig.class, "SaveConfig"); - if (saveConfig == null) { - saveConfig = new SaveConfig("SaveConfig"); - worldServer.getMapStorage().setData("SaveConfig", saveConfig); - } - // saveConfig.init(); - - nodeManagerNbt = (NodeManagerNbt) worldServer.getMapStorage().getOrLoadData( - NodeManagerNbt.class, "NodeManager"); - if (nodeManagerNbt == null) { - nodeManagerNbt = new NodeManagerNbt("NodeManager"); - worldServer.getMapStorage().setData("NodeManager", nodeManagerNbt); - } - - nodeServer.init(); - } - - { - MinecraftServer s = ev.getServer(); - ICommandManager command = s.getCommandManager(); - ServerCommandManager manager = (ServerCommandManager) command; - manager.registerCommand(new ConsoleListener()); - } - - regenOreScannerFactors(); - } - public CableRenderDescriptor stdCableRenderSignal; public CableRenderDescriptor stdCableRender50V; @@ -1065,13 +748,6 @@ public double VVP() { return 15000 * cablePowerFactor; } - public static final double cableHeatingTime = 30; - public static final double cableWarmLimit = 130; - public static final double cableThermalConductionTao = 0.5; - public static final ThermalLoadInitializer cableThermalLoadInitializer = new ThermalLoadInitializer( - cableWarmLimit, -100, cableHeatingTime, cableThermalConductionTao); - public static final ThermalLoadInitializer sixNodeThermalLoadInitializer = new ThermalLoadInitializer( - cableWarmLimit, -100, cableHeatingTime, 1000); public static int wirelessTxRange = 32; @@ -1092,7 +768,7 @@ private void registerElectricalCable(int id) { desc = new ElectricalCableDescriptor(name, stdCableRenderSignal, "For signal transmission.", true); - signalCableDescriptor = desc; + signalDescriptor = desc; desc.setPhysicalConstantLikeNormalCable(SVU, SVP, 0.02 / 50 * gateOutputCurrent / SVII,// electricalNominalVoltage, @@ -1763,7 +1439,7 @@ private void registerPassiveComponent(int id) { // String name, function, 0.1, // double Imax, 1, 0.1, - sixNodeThermalLoadInitializer.copy(), signalCableDescriptor, + sixNodeThermalLoadInitializer.copy(), signalDescriptor, obj.getObj("PowerElectricPrimitives")); sixNodeItem.addDescriptor(subId + (id << 6), desc); @@ -2488,7 +2164,7 @@ private void registerElectricalRelay(int id) { desc = new ElectricalRelayDescriptor( name, obj.getObj("RelaySmall"), - signalCableDescriptor); + signalDescriptor); sixNodeItem.addDescriptor(subId + (id << 6), desc); } @@ -2780,8 +2456,6 @@ private void registerTurbine(int id) { } } - public ArrayList furnaceList = new ArrayList(); - private void registerElectricalFurnace(int id) { int subId, completId; String name; @@ -2815,7 +2489,7 @@ private void registerElectricalFurnace(int id) { // Utils.smeltRecipeList.addMachine(desc.newItemStack()); } - // Utils.smeltRecipeList.addMachine(new ItemStack(Blocks.furnace)); + // Utils.smeltRecipeList.addMachine(new ItemStack(ModBlock.furnace)); } private ElectricalFurnaceDescriptor electricalFurnace; @@ -3516,7 +3190,7 @@ private void registerOre() { { id = 1; - name = TR_NAME(Type.NONE, "Copper Ore"); + name = TR_NAME(Type.NONE, "Copper oreBlock"); OreDescriptor desc = new OreDescriptor(name, id, // int itemIconId, // String @@ -3534,7 +3208,7 @@ private void registerOre() { { id = 4; - name = TR_NAME(Type.NONE, "Lead Ore"); + name = TR_NAME(Type.NONE, "Lead oreBlock"); OreDescriptor desc = new OreDescriptor(name, id, // int itemIconId, // String @@ -3551,7 +3225,7 @@ private void registerOre() { { id = 5; - name = TR_NAME(Type.NONE, "Tungsten Ore"); + name = TR_NAME(Type.NONE, "Tungsten oreBlock"); OreDescriptor desc = new OreDescriptor(name, id, // int itemIconId, // String @@ -3568,7 +3242,7 @@ private void registerOre() { { id = 6; - name = TR_NAME(Type.NONE, "Cinnabar Ore"); + name = TR_NAME(Type.NONE, "Cinnabar oreBlock"); OreDescriptor desc = new OreDescriptor(name, id, // int itemIconId, // String @@ -4357,8 +4031,6 @@ private void registerElectricalAntenna(int id) { } } - static public GenericItemUsingDamageDescriptor multiMeterElement, - thermometerElement, allMeterElement; private void registerMeter(int id) { int subId, completId; @@ -4532,7 +4204,7 @@ private void registerOreScanner(int id) { { subId = 0; completId = subId + (id << 6); - name = TR_NAME(Type.NONE, "Ore Scanner"); + name = TR_NAME(Type.NONE, "oreBlock Scanner"); descriptor = new OreScanner(name @@ -5055,7 +4727,7 @@ private void recipeElectricalSource() { } private void recipeElectricalCable() { - addRecipe(signalCableDescriptor.newItemStack(1), + addRecipe(signalDescriptor.newItemStack(1), "R", "C", 'C', findItemStack("Iron Cable"), @@ -5079,7 +4751,7 @@ private void recipeElectricalCable() { 'C', meduimVoltageCableDescriptor.newItemStack(1), 'R', "itemRubber"); - addRecipe(signalCableDescriptor.newItemStack(6), + addRecipe(signalDescriptor.newItemStack(6), "RRR", "CCC", "RRR", @@ -5876,7 +5548,7 @@ private void recipeAutoMiner() { "BOB", " P ", 'C', dictAdvancedChip, - 'O', findItemStack("Ore Scanner"), + 'O', findItemStack("oreBlock Scanner"), 'B', findItemStack("Advanced Machine Block"), 'M', findItemStack("Advanced Electrical Motor"), 'P', findItemStack("Mining Pipe")); @@ -6387,7 +6059,7 @@ private void recipeElectricalDrill() { } private void recipeOreScanner() { - addRecipe(findItemStack("Ore Scanner"), + addRecipe(findItemStack("oreBlock Scanner"), "IGI", "RCR", "IGI", @@ -6487,7 +6159,7 @@ private void recipeElectricalTool() { 'C', dictAdvancedChip, 'B', findItemStack("Portable Battery"), 'P', new ItemStack(Items.IRON_INGOT), - 'G', findItemStack("Ore Scanner")); + 'G', findItemStack("oreBlock Scanner")); } } @@ -6627,15 +6299,15 @@ private void recipeMacerator() { float f = 4000; maceratorRecipes.addRecipe(new Recipe(new ItemStack(Blocks.COAL_ORE, 1), new ItemStack(Items.COAL, 3, 0), 1.0 * f)); - maceratorRecipes.addRecipe(new Recipe(findItemStack("Copper Ore"), + maceratorRecipes.addRecipe(new Recipe(findItemStack("Copper oreBlock"), new ItemStack[]{findItemStack("Copper Dust", 2)}, 1.0 * f)); maceratorRecipes.addRecipe(new Recipe(new ItemStack(Blocks.IRON_ORE), new ItemStack[]{findItemStack("Iron Dust", 2)}, 1.5 * f)); maceratorRecipes.addRecipe(new Recipe(new ItemStack(Blocks.GOLD_ORE), new ItemStack[]{findItemStack("Gold Dust", 2)}, 3.0 * f)); - maceratorRecipes.addRecipe(new Recipe(findItemStack("Lead Ore"), + maceratorRecipes.addRecipe(new Recipe(findItemStack("Lead oreBlock"), new ItemStack[]{findItemStack("Lead Dust", 2)}, 2.0 * f)); - maceratorRecipes.addRecipe(new Recipe(findItemStack("Tungsten Ore"), + maceratorRecipes.addRecipe(new Recipe(findItemStack("Tungsten oreBlock"), new ItemStack[]{findItemStack("Tungsten Dust", 2)}, 2.0 * f)); maceratorRecipes.addRecipe(new Recipe(new ItemStack(Items.COAL, 1, 0), new ItemStack[]{findItemStack("Coal Dust", 2)}, 1.0 * f)); @@ -6643,7 +6315,7 @@ private void recipeMacerator() { new ItemStack[]{findItemStack("Coal Dust", 2)}, 1.0 * f)); maceratorRecipes.addRecipe(new Recipe(new ItemStack(Blocks.SAND, 1), new ItemStack[]{findItemStack("Silicon Dust", 1)}, 3.0 * f)); - maceratorRecipes.addRecipe(new Recipe(findItemStack("Cinnabar Ore"), + maceratorRecipes.addRecipe(new Recipe(findItemStack("Cinnabar oreBlock"), new ItemStack[]{findItemStack("Cinnabar Dust", 2)}, 2.0 * f)); maceratorRecipes.addRecipe(new Recipe(findItemStack("Copper Ingot"), @@ -6778,19 +6450,19 @@ private void recipeFuelBurnerItem() { private void recipeFurnace() { ItemStack in; - in = findItemStack("Copper Ore"); + in = findItemStack("Copper oreBlock"); Utils.addSmelting(in.getItem(), in.getItemDamage(), findItemStack("Copper Ingot")); in = findItemStack("dustCopper"); Utils.addSmelting(in.getItem(), in.getItemDamage(), findItemStack("Copper Ingot")); - in = findItemStack("Lead Ore"); + in = findItemStack("Lead oreBlock"); Utils.addSmelting(in.getItem(), in.getItemDamage(), findItemStack("ingotLead")); in = findItemStack("dustLead"); Utils.addSmelting(in.getItem(), in.getItemDamage(), findItemStack("ingotLead")); - in = findItemStack("Tungsten Ore"); + in = findItemStack("Tungsten oreBlock"); Utils.addSmelting(in.getItem(), in.getItemDamage(), findItemStack("Tungsten Ingot")); in = findItemStack("Tungsten Dust"); @@ -7469,20 +7141,8 @@ public void regenOreScannerFactors() { oreScannerConfig.add(new OreScannerConfigElement(Block.getIdFromBlock(oreBlock) + (6 << 12), 20 / 100f)); } - public static double getSmallRs() { - return instance.lowVoltageCableDescriptor.electricalRs; - } - - public static void applySmallRs(NbtElectricalLoad aLoad) { - instance.lowVoltageCableDescriptor.applyTo(aLoad); - } - - public static void applySmallRs(Resistor r) { - instance.lowVoltageCableDescriptor.applyTo(r); - } - static ItemStack findItemStack(String name, int stackSize) { - Item item = Item.REGISTRY.getObject(new ResourceLocation(Eln.MODID, name)); + Item item = Item.REGISTRY.getObject(new ResourceLocation(MODID, name)); if (item == null) { ItemStack stack = dictionnaryOreFromMod.get(name); return Utils.newItemStack(Item.getIdFromItem(stack.getItem()), stackSize, stack.getItemDamage()); diff --git a/src/main/java/mods/eln/PacketHandler.java b/src/main/java/mods/eln/PacketHandler.java index 76b7f0ead..cb0dd8ab0 100644 --- a/src/main/java/mods/eln/PacketHandler.java +++ b/src/main/java/mods/eln/PacketHandler.java @@ -8,7 +8,6 @@ import io.netty.channel.ChannelHandler.Sharable; import mods.eln.client.ClientKeyHandler; import mods.eln.client.ClientProxy; -import mods.eln.misc.IConfigSharing; import mods.eln.misc.Utils; import mods.eln.node.INodeEntity; import mods.eln.node.NodeBase; @@ -67,46 +66,12 @@ public void packetRx(DataInputStream stream, NetworkManager manager, EntityPlaye case Eln.packetDestroyUuid: packetDestroyUuid(stream, manager, player); break; - case Eln.packetClientToServerConnection: - packetNewClient(manager, player); - break; - case Eln.packetServerToClientInfo: - packetServerInfo(stream, manager, player); - break; } } catch (IOException e) { e.printStackTrace(); } } - - private void packetNewClient(NetworkManager manager, EntityPlayer player) { - - ByteArrayOutputStream bos = new ByteArrayOutputStream(64); - DataOutputStream stream = new DataOutputStream(bos); - - try { - stream.writeByte(Eln.packetServerToClientInfo); - for (IConfigSharing c : Eln.instance.configShared) { - c.serializeConfig(stream); - } - } catch (IOException e) { - e.printStackTrace(); - } - - Utils.sendPacketToClient(bos, (EntityPlayerMP) player); - } - - private void packetServerInfo(DataInputStream stream, NetworkManager manager, EntityPlayer player) { - for (IConfigSharing c : Eln.instance.configShared) { - try { - c.deserialize(stream); - } catch (IOException e) { - e.printStackTrace(); - } - } - } - private void packetDestroyUuid(DataInputStream stream, NetworkManager manager, EntityPlayer player) { try { ClientProxy.uuidManager.kill(stream.readInt()); @@ -130,7 +95,7 @@ void packetPlaySound(DataInputStream stream, NetworkManager manager, EntityPlaye void packetOpenLocalGui(DataInputStream stream, NetworkManager manager, EntityPlayer player) { EntityPlayer clientPlayer = (EntityPlayer) player; try { - clientPlayer.openGui(Eln.instance, stream.readInt(), + clientPlayer.openGui(Eln.Companion, stream.readInt(), clientPlayer.world, stream.readInt(), stream.readInt(), stream.readInt()); } catch (IOException e) { diff --git a/src/main/java/mods/eln/client/AnalyticsHandler.java b/src/main/java/mods/eln/client/AnalyticsHandler.java index c2fa0ac45..61ceca663 100644 --- a/src/main/java/mods/eln/client/AnalyticsHandler.java +++ b/src/main/java/mods/eln/client/AnalyticsHandler.java @@ -1,5 +1,6 @@ package mods.eln.client; +import mods.eln.init.Config; import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.fml.client.FMLClientHandler; import net.minecraftforge.fml.common.FMLCommonHandler; @@ -49,7 +50,7 @@ public void run() { // Prepare get parameters final String version = Version.getVersionName().replaceAll("\\s+", ""); final String lang = I18N.getCurrentLanguage(); - final String url = String.format(URL, Eln.playerUUID, version, lang); + final String url = String.format(URL, Config.INSTANCE.getPlayerUUID(), version, lang); // Send HTTP get request CloseableHttpClient client = HttpClientBuilder.create().build(); diff --git a/src/main/java/mods/eln/client/ClientProxy.java b/src/main/java/mods/eln/client/ClientProxy.java index 21bcc5676..341733532 100644 --- a/src/main/java/mods/eln/client/ClientProxy.java +++ b/src/main/java/mods/eln/client/ClientProxy.java @@ -1,5 +1,6 @@ package mods.eln.client; +import mods.eln.init.Config; import net.minecraft.client.renderer.entity.Render; import net.minecraft.client.renderer.entity.RenderManager; import net.minecraftforge.fml.client.registry.ClientRegistry; @@ -41,16 +42,14 @@ public void registerRenderers() { ReplicatorEntity.class, manager -> new ReplicatorRender(manager, new ModelSilverfish(), 0.3f)); - Eln.clientKeyHandler = new ClientKeyHandler(); - MinecraftForge.EVENT_BUS.register(Eln.clientKeyHandler); + // TODO(1.12): Is this important? + //Eln.clientKeyHandler = new ClientKeyHandler(); + //MinecraftForge.EVENT_BUS.register(Eln.clientKeyHandler); MinecraftForge.EVENT_BUS.register(new TutorialSignOverlay()); uuidManager = new UuidManager(); soundClientEventListener = new SoundClientEventListener(uuidManager); - if (Eln.versionCheckEnabled) - MinecraftForge.EVENT_BUS.register(VersionCheckerHandler.getInstance()); - - if (Eln.analyticsEnabled) + if (Config.INSTANCE.getAnalyticsEnabled()) MinecraftForge.EVENT_BUS.register(AnalyticsHandler.getInstance()); new FrameTime(); diff --git a/src/main/java/mods/eln/client/ConnectionListener.java b/src/main/java/mods/eln/client/ConnectionListener.java index 164fa1d62..a62d2db84 100644 --- a/src/main/java/mods/eln/client/ConnectionListener.java +++ b/src/main/java/mods/eln/client/ConnectionListener.java @@ -27,7 +27,8 @@ public ConnectionListener() { @SubscribeEvent public void onConnectedToServerEvent(ClientConnectedToServerEvent event) { Utils.println("Connected to server " + FMLCommonHandler.instance().getEffectiveSide()); - Eln.instance.regenOreScannerFactors(); + // TODO(1.12): Hmm. + //Eln.regenOreScannerFactors(); timer = 20; newConnection = true; diff --git a/src/main/java/mods/eln/client/VersionCheckerHandler.java b/src/main/java/mods/eln/client/VersionCheckerHandler.java index 2c6e7e0f1..bd13d0448 100644 --- a/src/main/java/mods/eln/client/VersionCheckerHandler.java +++ b/src/main/java/mods/eln/client/VersionCheckerHandler.java @@ -111,12 +111,6 @@ public void tick(ClientTickEvent event) { if (!ready) return; - // Print the current version when the client start a map - if (Eln.versionCheckEnabled) { - m.player.sendMessage(new TextComponentString(Version.printColor())); - m.player.sendMessage(new TextComponentString(versionMsg)); - } - MinecraftForge.EVENT_BUS.unregister(this); ready = false; } diff --git a/src/main/java/mods/eln/entity/ReplicatorCableAI.java b/src/main/java/mods/eln/entity/ReplicatorCableAI.java index 44d2e358e..734d52d2c 100644 --- a/src/main/java/mods/eln/entity/ReplicatorCableAI.java +++ b/src/main/java/mods/eln/entity/ReplicatorCableAI.java @@ -1,6 +1,7 @@ package mods.eln.entity; import mods.eln.Eln; +import mods.eln.init.Cable; import mods.eln.misc.Coordinate; import mods.eln.node.NodeBase; import mods.eln.node.NodeManager; @@ -39,7 +40,7 @@ public class ReplicatorCableAI extends EntityAIBase implements ITimeRemoverObser ReplicatorCableAI(ReplicatorEntity entity) { load.setAsPrivate(); this.entity = entity; - Eln.instance.highVoltageCableDescriptor.applyTo(load); + Cable.Companion.getHighVoltage().descriptor.applyTo(load); load.setRs(load.getRs() * 10); this.setMutexBits(1); } @@ -112,7 +113,7 @@ public void updateTask() { if (distance < 2) { //Utils.println("replicator on cable !"); double u = cable.electricalLoad.getU(); - double nextRp = Math.pow(u / Eln.LVU, -0.3) * u * u / (50); + double nextRp = Math.pow(u / Cable.LVU, -0.3) * u * u / (50); if (resistorLoad.getR() < 0.8 * nextRp) { entity.attackEntityFrom(DamageSource.LIGHTNING_BOLT, 5); } else { diff --git a/src/main/java/mods/eln/entity/ReplicatorPopProcess.java b/src/main/java/mods/eln/entity/ReplicatorPopProcess.java index 2483601f7..3961e99bb 100644 --- a/src/main/java/mods/eln/entity/ReplicatorPopProcess.java +++ b/src/main/java/mods/eln/entity/ReplicatorPopProcess.java @@ -1,11 +1,11 @@ package mods.eln.entity; +import mods.eln.init.Config; import net.minecraft.util.math.BlockPos; import net.minecraftforge.fml.common.FMLCommonHandler; import mods.eln.misc.Utils; import mods.eln.sim.IProcess; import net.minecraft.entity.player.EntityPlayerMP; -import net.minecraft.init.Blocks; import net.minecraft.server.MinecraftServer; import net.minecraft.world.EnumDifficulty; import net.minecraft.world.EnumSkyBlock; @@ -13,13 +13,11 @@ public class ReplicatorPopProcess implements IProcess { - public ReplicatorPopProcess() { - } - - public static double popPerSecondPerPlayer = 1.0 / 60; - @Override public void process(double time) { + if (!Config.INSTANCE.getReplicatorSpawn()) + return; + World world = FMLCommonHandler.instance().getMinecraftServerInstance().getWorld(0); int replicatorCount = 0; @@ -40,7 +38,7 @@ public void process(double time) { MinecraftServer server = FMLCommonHandler.instance().getMinecraftServerInstance(); for (Object obj : world.playerEntities) { EntityPlayerMP player = (EntityPlayerMP) obj; - if (Math.random() * (world.playerEntities.size()) < time * popPerSecondPerPlayer && player.world == world) { + if (Math.random() * (world.playerEntities.size()) < time * Config.INSTANCE.getReplicatorSpawnPerSecondPerPlayer() && player.world == world) { int x, y, z; x = (int) (player.posX + Utils.rand(-100, 100)); z = (int) (player.posZ + Utils.rand(-100, 100)); diff --git a/src/main/java/mods/eln/eventhandlers/ElnForgeEventsHandler.java b/src/main/java/mods/eln/eventhandlers/ElnForgeEventsHandler.java deleted file mode 100644 index 416300433..000000000 --- a/src/main/java/mods/eln/eventhandlers/ElnForgeEventsHandler.java +++ /dev/null @@ -1,23 +0,0 @@ -package mods.eln.eventhandlers; - -import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; -import net.minecraftforge.fml.relauncher.Side; -import net.minecraftforge.fml.relauncher.SideOnly; -import mods.eln.Eln; -import mods.eln.packets.AchievePacket; -import mods.eln.wiki.Root; -import net.minecraftforge.client.event.GuiOpenEvent; - -public class ElnForgeEventsHandler { - - private final static AchievePacket p = new AchievePacket("openWiki"); - - @SubscribeEvent - @SideOnly(Side.CLIENT) - @SuppressWarnings("unused") - public void openGuide(GuiOpenEvent e) { - if (e.getGui() instanceof Root) { - Eln.elnNetwork.sendToServer(p); - } - } -} diff --git a/src/main/java/mods/eln/fluid/FuelRegistry.kt b/src/main/java/mods/eln/fluid/FuelRegistry.kt index 733409760..a61ef20d9 100644 --- a/src/main/java/mods/eln/fluid/FuelRegistry.kt +++ b/src/main/java/mods/eln/fluid/FuelRegistry.kt @@ -1,6 +1,6 @@ package mods.eln.fluid -import mods.eln.Eln +import mods.eln.init.Config.fuelHeatValueFactor import net.minecraftforge.fluids.Fluid import net.minecraftforge.fluids.FluidRegistry @@ -61,7 +61,7 @@ object FuelRegistry { "ic2steam" to 2.257 // Ditto, this is still steam. IC2 doesn't want to use other mods' steam. ).mapValues { // Unusually, the commonly accepted value (2.2) is pretty much correct. Undo the usual mapping. - it.value / Eln.fuelHeatValueFactor + it.value / fuelHeatValueFactor } val steamList = steam.keys.toTypedArray() @@ -71,6 +71,6 @@ object FuelRegistry { fun fluidListToFluids(fluidNames: Array) = fluidNames.map { FluidRegistry.getFluid(it) }.filterNotNull().toTypedArray() - fun heatEnergyPerMilliBucket(fuelName: String): Double = Eln.fuelHeatValueFactor * (allFuels[fuelName] ?: 0.0) + fun heatEnergyPerMilliBucket(fuelName: String): Double = fuelHeatValueFactor * (allFuels[fuelName] ?: 0.0) fun heatEnergyPerMilliBucket(fluid: Fluid?): Double = heatEnergyPerMilliBucket(fluid?.name ?: "") } diff --git a/src/main/java/mods/eln/generic/GenericItemBlockUsingDamageDescriptor.java b/src/main/java/mods/eln/generic/GenericItemBlockUsingDamageDescriptor.java index 93d4ba9b4..33b9cf616 100644 --- a/src/main/java/mods/eln/generic/GenericItemBlockUsingDamageDescriptor.java +++ b/src/main/java/mods/eln/generic/GenericItemBlockUsingDamageDescriptor.java @@ -30,12 +30,7 @@ public GenericItemBlockUsingDamageDescriptor(String name, String iconName) { public void setDefaultIcon(String name) { String iconName = name.replaceAll(" ", "").toLowerCase(); - if (Eln.noSymbols && - getClass().getClassLoader().getResource("assets/eln/textures/blocks/" + iconName + "-ni.png") != null) { - this.iconName = iconName + "-ni"; - } else { - this.iconName = iconName; - } + this.iconName = iconName; } public NBTTagCompound getDefaultNBT() { diff --git a/src/main/java/mods/eln/generic/GenericItemUsingDamage.java b/src/main/java/mods/eln/generic/GenericItemUsingDamage.java index d2b49e2b6..ee382b4b6 100644 --- a/src/main/java/mods/eln/generic/GenericItemUsingDamage.java +++ b/src/main/java/mods/eln/generic/GenericItemUsingDamage.java @@ -95,7 +95,7 @@ public String getTranslationKey(ItemStack par1ItemStack) { // TODO(1.12): Whatever this was, it's broken. // @Override // @SideOnly(Side.CLIENT) -// public void getSubItems(Item itemID, CreativeTabs tabs, List list) { +// public void getSubItems(Items itemID, CreativeTabs tabs, List list) { // // You can also take a more direct approach and do each one individual but I prefer the lazy / right way // for (int id : orderList) { // subItemList.get(id).getSubItems(list); diff --git a/src/main/java/mods/eln/ghost/GhostGroup.java b/src/main/java/mods/eln/ghost/GhostGroup.java index 350cf2347..5189e459b 100644 --- a/src/main/java/mods/eln/ghost/GhostGroup.java +++ b/src/main/java/mods/eln/ghost/GhostGroup.java @@ -1,6 +1,7 @@ package mods.eln.ghost; import mods.eln.Eln; +import mods.eln.init.ModBlock; import mods.eln.misc.Coordinate; import mods.eln.misc.Direction; import mods.eln.misc.LRDU; @@ -33,7 +34,7 @@ public GhostGroupElement(int x, int y, int z, Block block, int meta) { ArrayList elementList = new ArrayList(); public void addElement(int x, int y, int z) { - elementList.add(new GhostGroupElement(x, y, z, Eln.ghostBlock, GhostBlock.tCube)); + elementList.add(new GhostGroupElement(x, y, z, ModBlock.ghostBlock, GhostBlock.tCube)); } public void addElement(int x, int y, int z, Block block, int meta) { diff --git a/src/main/java/mods/eln/ghost/GhostManager.java b/src/main/java/mods/eln/ghost/GhostManager.java index d922faf1c..cac17d605 100644 --- a/src/main/java/mods/eln/ghost/GhostManager.java +++ b/src/main/java/mods/eln/ghost/GhostManager.java @@ -1,6 +1,7 @@ package mods.eln.ghost; import mods.eln.Eln; +import mods.eln.init.ModBlock; import mods.eln.misc.Coordinate; import mods.eln.misc.Utils; import mods.eln.node.NodeBase; @@ -17,8 +18,8 @@ import java.util.Map.Entry; public class GhostManager extends WorldSavedData { - public GhostManager(String par1Str) { - super(par1Str); + public GhostManager(String name) { + super(name); } Map ghostTable = new Hashtable(); @@ -182,7 +183,7 @@ public boolean canCreateGhostAt(World world, BlockPos pos) { } public void createGhost(Coordinate coordinate, Coordinate observerCoordinate, int UUID) { - createGhost(coordinate, observerCoordinate, UUID, Eln.ghostBlock, GhostBlock.tCube); + createGhost(coordinate, observerCoordinate, UUID, ModBlock.ghostBlock, GhostBlock.tCube); } public void createGhost(Coordinate coordinate, Coordinate observerCoordinate, int UUID, Block block, int meta) { diff --git a/src/main/java/mods/eln/gridnode/electricalpole/ElectricalPoleRender.java b/src/main/java/mods/eln/gridnode/electricalpole/ElectricalPoleRender.java index 62ddfc271..599413bb2 100644 --- a/src/main/java/mods/eln/gridnode/electricalpole/ElectricalPoleRender.java +++ b/src/main/java/mods/eln/gridnode/electricalpole/ElectricalPoleRender.java @@ -3,6 +3,7 @@ import mods.eln.Eln; import mods.eln.cable.CableRenderType; import mods.eln.gridnode.GridRender; +import mods.eln.init.Cable; import mods.eln.misc.LRDUMask; import mods.eln.misc.SlewLimiter; import mods.eln.node.transparent.TransparentNodeDescriptor; @@ -45,7 +46,7 @@ public float getVolume() { @Override public void draw() { super.draw(); - cableRenderType = drawCable(front.down(), Eln.instance.stdCableRender3200V, eConn, cableRenderType); + cableRenderType = drawCable(front.down(), Cable.Companion.getVeryHighVoltage().descriptor.render, eConn, cableRenderType); } @Override diff --git a/src/main/java/mods/eln/init/Blocks.kt b/src/main/java/mods/eln/init/Blocks.kt deleted file mode 100644 index 6c274f691..000000000 --- a/src/main/java/mods/eln/init/Blocks.kt +++ /dev/null @@ -1,10 +0,0 @@ -package mods.eln.init - -import com.teamwizardry.librarianlib.features.base.block.BlockMod -import net.minecraft.block.material.Material - -object Blocks { - val Ore = BlockMod("Ore", Material.ROCK, - "Copper Ore", - "Lead Ore") -} diff --git a/src/main/java/mods/eln/init/Cable.kt b/src/main/java/mods/eln/init/Cable.kt new file mode 100644 index 000000000..12df66aa2 --- /dev/null +++ b/src/main/java/mods/eln/init/Cable.kt @@ -0,0 +1,47 @@ +package mods.eln.init + +import mods.eln.sim.mna.component.Resistor +import mods.eln.sim.nbt.NbtElectricalLoad +import mods.eln.sixnode.electricalcable.ElectricalCableDescriptor +import mods.eln.sixnode.electricalcable.ElectricalCableRender + +class Cable { + companion object { + val battery = Cable() + val signal = Cable() + val lowVoltage = Cable() + val mediumVoltage = Cable() + val highVoltage = Cable() + val veryHighVoltage = Cable() + + const val gateOutputCurrent = 0.1 + + const val SVU = 5.0 + const val SVUinv = 1.0 / SVU + const val SVIinv = gateOutputCurrent / SVU + const val LVU = 50.0 + const val LVUinv = 1.0 / LVU + const val MVU = 200.0 + const val MVUinv = 1.0 / MVU + const val HVU = 800.0 + const val HVUinv = 1.0 / HVU + const val VHVU = 3200.0 + const val VHVUinv = 1.0 / VHVU + + val smallRs = lowVoltage.descriptor.electricalRs + + @JvmStatic + fun applySmallRs(aLoad: NbtElectricalLoad) { + lowVoltage.descriptor.applyTo(aLoad) + } + + @JvmStatic + fun applySmallRs(r: Resistor) { + lowVoltage.descriptor.applyTo(r) + } + + } + + lateinit var descriptor: ElectricalCableDescriptor + lateinit var render: ElectricalCableRender +} diff --git a/src/main/java/mods/eln/init/Config.kt b/src/main/java/mods/eln/init/Config.kt new file mode 100644 index 000000000..20934f8e1 --- /dev/null +++ b/src/main/java/mods/eln/init/Config.kt @@ -0,0 +1,190 @@ +package mods.eln.init + +import com.teamwizardry.librarianlib.features.config.ConfigDoubleRange +import com.teamwizardry.librarianlib.features.config.ConfigNeedsFullRestart +import com.teamwizardry.librarianlib.features.config.ConfigNeedsWorldRestart +import com.teamwizardry.librarianlib.features.config.ConfigProperty +import mods.eln.misc.Utils +import java.util.* + +// TODO(1.12): Go through these and mark them as not needing a restart, if possible. +object Config { + /* Sound */ + @ConfigProperty("sound", configId="eln/client") + @ConfigNeedsFullRestart + var maxSoundDistance = 16.0 + + /* Balancing */ + @ConfigProperty("balancing", configId="eln/common") + @ConfigNeedsFullRestart + var heatTurbinePowerFactor = 1.0 + + @ConfigProperty("balancing", configId="eln/common") + @ConfigNeedsFullRestart + var solarPanelPowerFactor = 1.0 + + @ConfigProperty("balancing", configId="eln/common") + @ConfigNeedsFullRestart + var windTurbinePowerFactor = 1.0 + + @ConfigProperty("balancing", configId="eln/common") + @ConfigNeedsFullRestart + var waterTurbinePowerFactor = 1.0 + + @ConfigProperty("balancing", configId="eln/common") + @ConfigNeedsFullRestart + var fuelGeneratorPowerFactor = 1.0 + + @ConfigProperty("balancing", configId="eln/common") + @ConfigNeedsFullRestart + var fuelGeneratorTankCapacityInSeconds = 20.0 * 60.0 + + @ConfigProperty("balancing", configId="eln/common") + @ConfigNeedsFullRestart + var fuelHeatFurnacePowerFactor = 1.0 + + @ConfigProperty("balancing", "Correction factor for the energy content of liquid fuels.", configId="eln/common") + @ConfigNeedsFullRestart + var fuelEnergyContentFactor = 1.0 + val fuelHeatValueFactor get() = fuelEnergyContentFactor * 0.0000675 + + @ConfigProperty("balancing", "Maximum radius of the autominer. It mines at a 45 degree angle at most.", configId="eln/common") + var autominerRange = 24 + + @ConfigProperty("balancing", configId="eln/common") + var plateConversionRatio = 1 + + @ConfigProperty("balancing", "How many days it takes for a battery to decay half-way.", configId="eln/common") + var batteryHalfLifeDays = 2.0 + val stdBatteryHalfLife get() = batteryHalfLifeDays * Utils.minecraftDay + + @ConfigProperty("balancing", configId="eln/common") + var batteryCapacityFactor = 1.0 + + + /* Signals */ + @ConfigProperty("signals", configId="eln/common") + var wirelessTxRange = 32 + + + /* Compatibility */ + @ConfigProperty("compatibility", configId="eln/common") + var elnToIc2ConversionRatio = 1.0 / 3.0 + + @ConfigProperty("compatibility", configId="eln/common") + var elnToOcConversionRatio = elnToIc2ConversionRatio / 2.5 + + @ConfigProperty("compatibility", configId="eln/common") + var elnToTeConversionRatio = elnToIc2ConversionRatio * 4.0 + + @ConfigProperty("compatibility", configId="eln/common") + @ConfigNeedsFullRestart + var computerProbeEnable = true + + @ConfigProperty("compatibility", configId="eln/common") + @ConfigNeedsFullRestart + var elnToOtherEnergyConverterEnable = true + + @ConfigProperty("compatibility", configId="eln/common") + @ConfigNeedsFullRestart + var oredictChips = true + val dictCheapChip get() = if (oredictChips) "circuitBasic" else "circuitElnBasic" + val dictAdvancedChip get() = if (oredictChips) "circuitAdvanced" else "circuitElnAdvanced" + + + /* X-ray scanner */ + @ConfigProperty("xray", configId="eln/common") + var scannerRange = 10.0 + + @ConfigProperty("xray", "If false, render only vanilla and Eln ores.", configId="eln/common") + @ConfigNeedsFullRestart + var addOtherModOreToXRay = true + + + /* Difficulty */ + @ConfigProperty("difficulty", "If true, overloaded blocks explode instead of dropping as items.", configId="eln/common") + var explosionEnable = false + + @ConfigProperty("difficulty", "Spawn replicators on lightning strikes?", configId="eln/common") + var replicatorSpawn = true + + @ConfigProperty("difficulty", configId="eln/common") + var replicatorSpawnPerSecondPerPlayer = 1.0 / 120.0 + + @ConfigProperty("difficulty", configId="eln/common") + var wailaEasyMode = false + + @ConfigProperty("difficulty", "Multiplication factor for cable capacity. We recommend 1.5 to 2.0 for larger packs, but no higher.", configId="eln/common") + @ConfigDoubleRange(0.1, 4.0) + var cablePowerFactor = 1.0 + + + /* Lamps */ + @ConfigProperty("lamps", configId="eln/common") + var incandescentLampLifeInHours = 16.0 + + @ConfigProperty("lamps", configId="eln/common") + var economicLampLifeInHours = 64.0 + + @ConfigProperty("lamps", configId="eln/common") + var carbonLampLifeInHours = 6.0 + + @ConfigProperty("lamps", configId="eln/common") + var ledLampLifeInHours = 512.0 + + @ConfigProperty("lamps", configId="eln/common") + var ledLampInfiniteLife = false + + + /* Map generation */ + @ConfigProperty("mapgen", configId="eln/common") + @ConfigNeedsFullRestart + var forceOreRegen = false + + @ConfigProperty("mapgen", configId="eln/common") + @ConfigNeedsFullRestart + var generateCopper = true + + @ConfigProperty("mapgen", configId="eln/common") + @ConfigNeedsFullRestart + var generateLead = true + + @ConfigProperty("mapgen", configId="eln/common") + @ConfigNeedsFullRestart + var generateTungsten = true + + + /* Modbus */ + @ConfigProperty("modbus", configId="eln/common") + @ConfigNeedsWorldRestart + var modbusEnable = false + + @ConfigProperty("modbus", configId="eln/common") + @ConfigNeedsWorldRestart + var modbusPort = 1502 + + + /* Simulation */ + @ConfigProperty("simulation", "Do not change these settings unless you know what you're doing.", configId="eln/common") + var electricalFrequency = 20.0 + + @ConfigProperty("simulation", "Do not change these settings unless you know what you're doing.", configId="eln/common") + var electricalInterSystemOverSampling = 50 + + @ConfigProperty("simulation", "Do not change these settings unless you know what you're doing.", configId="eln/common") + var thermalFrequency = 400.0 + + + /* Debugging */ + @ConfigProperty("debugging", configId="eln/common") + var debugEnable = false + + + /* Analytics */ + @ConfigProperty("analytics", configId="eln/client") + @ConfigNeedsFullRestart + var analyticsEnabled = true + + @ConfigProperty("analytics", configId="eln/client") + var playerUUID = UUID.randomUUID().toString() +} diff --git a/src/main/java/mods/eln/init/Items.kt b/src/main/java/mods/eln/init/Items.kt new file mode 100644 index 000000000..ced4f47db --- /dev/null +++ b/src/main/java/mods/eln/init/Items.kt @@ -0,0 +1,14 @@ +package mods.eln.init + +import mods.eln.generic.GenericItemUsingDamageDescriptor +import mods.eln.item.TreeResin + +class Items { + companion object { + lateinit var multiMeterElement: GenericItemUsingDamageDescriptor + lateinit var thermometerElement: GenericItemUsingDamageDescriptor + lateinit var allMeterElement: GenericItemUsingDamageDescriptor + + lateinit var treeResin: TreeResin + } +} diff --git a/src/main/java/mods/eln/init/ModBlock.kt b/src/main/java/mods/eln/init/ModBlock.kt new file mode 100644 index 000000000..c4f98c8fc --- /dev/null +++ b/src/main/java/mods/eln/init/ModBlock.kt @@ -0,0 +1,27 @@ +package mods.eln.init + +import com.teamwizardry.librarianlib.features.base.block.BlockMod +import jdk.nashorn.internal.ir.Block +import net.minecraft.block.material.Material + +object ModBlock { + @JvmField + val oreBlock = BlockMod("oreBlock", Material.ROCK, + "Copper oreBlock", + "Lead oreBlock") + + // TODO(1.12): These are obviously not done. + @JvmField + val ghostBlock = ElnBlockMod("ghostBlock", Material.ROCK, "g") + + @JvmField + val sixNodeBlock = ElnBlockMod("sixNodeBlock", Material.ROCK, "s") + + @JvmField + val transparentNodeBlock = ElnBlockMod("transparentNodeBlock", Material.ROCK, "t") + + @JvmField + val lightBlock = BlockMod("Light", Material.AIR) +} + +class ElnBlockMod(name: String, material: Material, val uuid: String) : BlockMod(name, material) diff --git a/src/main/java/mods/eln/init/Recipes.kt b/src/main/java/mods/eln/init/Recipes.kt new file mode 100644 index 000000000..ca2b64a28 --- /dev/null +++ b/src/main/java/mods/eln/init/Recipes.kt @@ -0,0 +1,9 @@ +package mods.eln.init + +import net.minecraft.item.ItemStack +import java.util.ArrayList + +object Recipes { + @JvmField + var furnaceList = ArrayList() +} diff --git a/src/main/java/mods/eln/item/LampDescriptor.java b/src/main/java/mods/eln/item/LampDescriptor.java index e1c023fa3..f2bd7b07d 100644 --- a/src/main/java/mods/eln/item/LampDescriptor.java +++ b/src/main/java/mods/eln/item/LampDescriptor.java @@ -1,7 +1,5 @@ package mods.eln.item; -import mods.eln.Eln; -import mods.eln.misc.IConfigSharing; import mods.eln.misc.Utils; import mods.eln.misc.VoltageLevelColor; import mods.eln.sim.mna.component.Resistor; @@ -12,14 +10,11 @@ import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; -import java.io.DataInputStream; -import java.io.DataOutputStream; -import java.io.IOException; import java.util.List; import static mods.eln.i18n.I18N.tr; -public class LampDescriptor extends GenericItemUsingDamageDescriptorUpgrade implements IConfigSharing { +public class LampDescriptor extends GenericItemUsingDamageDescriptorUpgrade { public enum Type {Incandescent, eco, LED} @@ -67,7 +62,6 @@ public LampDescriptor( break; } - Eln.instance.configShared.add(this); voltageLevelColor = VoltageLevelColor.fromVoltage(nominalU); } @@ -131,14 +125,4 @@ else if (getLifeInTag(itemStack) > 0.1) list.add(tr("Condition:") + " " + tr("Bad")); } } - - @Override - public void serializeConfig(DataOutputStream stream) throws IOException { - stream.writeDouble(nominalLife); - } - - @Override - public void deserialize(DataInputStream stream) throws IOException { - serverNominalLife = stream.readDouble(); - } } diff --git a/src/main/java/mods/eln/item/electricalinterface/ItemEnergyInventoryProcess.java b/src/main/java/mods/eln/item/electricalinterface/ItemEnergyInventoryProcess.java index ea6cfcaa1..227d8f492 100644 --- a/src/main/java/mods/eln/item/electricalinterface/ItemEnergyInventoryProcess.java +++ b/src/main/java/mods/eln/item/electricalinterface/ItemEnergyInventoryProcess.java @@ -122,64 +122,56 @@ public void process(double time) { e.i.electricalItemUpdate(e.stack, energyUpdatePeriod); } - if (Eln.saveConfig.infinitePortableBattery) { - for (Element e : list) { - double chargePower = e.i.getChargePower(e.stack); - double energy = Math.min(e.i.getEnergyMax(e.stack), e.i.getEnergy(e.stack) + e.i.getChargePower(e.stack) * time); - e.i.setEnergy(e.stack, energy); - } - } else { - boolean rememberDst = false; - double rememberDstEToDstMax = 0; - while (true) { - Element src = getMax(list); - - if (src == null) + boolean rememberDst = false; + double rememberDstEToDstMax = 0; + while (true) { + Element src = getMax(list); + + if (src == null) + break; + + double eFromSrc = Math.min(src.i.getEnergy(src.stack), src.i.getDischagePower(src.stack) * time); + double eStart = eFromSrc; + + boolean done = false; + while (eFromSrc != 0) { + Element dst = getMin(list); + if (dst.p == src.p) { + done = true; break; - - double eFromSrc = Math.min(src.i.getEnergy(src.stack), src.i.getDischagePower(src.stack) * time); - double eStart = eFromSrc; - - boolean done = false; - while (eFromSrc != 0) { - Element dst = getMin(list); - if (dst.p == src.p) { - done = true; - break; - } - - double eToDstMax; - - if (rememberDst) { - eToDstMax = rememberDstEToDstMax; - rememberDst = false; - } else { - eToDstMax = Math.min(dst.i.getEnergyMax(dst.stack) - dst.i.getEnergy(dst.stack), dst.i.getChargePower(dst.stack) * time); - } - - double eToDst = Math.min(eFromSrc, eToDstMax); - eFromSrc -= eToDst; - dst.i.setEnergy(dst.stack, dst.i.getEnergy(dst.stack) + eToDst); - eToDstMax -= eToDst; - - if (eToDstMax == 0) { - list.remove(dst); - } else { - rememberDst = true; - rememberDstEToDstMax = eToDstMax; - } } - src.i.setEnergy(src.stack, src.i.getEnergy(src.stack) - (eStart - eFromSrc)); + double eToDstMax; - if (done) - break; + if (rememberDst) { + eToDstMax = rememberDstEToDstMax; + rememberDst = false; + } else { + eToDstMax = Math.min(dst.i.getEnergyMax(dst.stack) - dst.i.getEnergy(dst.stack), dst.i.getChargePower(dst.stack) * time); + } - list.remove(src); + double eToDst = Math.min(eFromSrc, eToDstMax); + eFromSrc -= eToDst; + dst.i.setEnergy(dst.stack, dst.i.getEnergy(dst.stack) + eToDst); + eToDstMax -= eToDst; - if (list.size() < 2) - break; + if (eToDstMax == 0) { + list.remove(dst); + } else { + rememberDst = true; + rememberDstEToDstMax = eToDstMax; + } } + + src.i.setEnergy(src.stack, src.i.getEnergy(src.stack) - (eStart - eFromSrc)); + + if (done) + break; + + list.remove(src); + + if (list.size() < 2) + break; } } } diff --git a/src/main/java/mods/eln/item/electricalitem/LampItem.kt b/src/main/java/mods/eln/item/electricalitem/LampItem.kt index 768ad851e..8ee4dafea 100644 --- a/src/main/java/mods/eln/item/electricalitem/LampItem.kt +++ b/src/main/java/mods/eln/item/electricalitem/LampItem.kt @@ -55,7 +55,7 @@ abstract class LampItem(name: String) : GenericItemUsingDamageDescriptor(name) { val pos = BlockPos.MutableBlockPos(MathHelper.floor(x), MathHelper.floor(y), MathHelper.floor(z)) val state = world.getBlockState(pos) val block = state.block - if (block.isAir(state, world, pos) || block === Eln.lightBlock) { + if (block.isAir(state, world, pos)) { LightBlockEntity.addLight(world, pos, light, 10) stride = 3 } diff --git a/src/main/java/mods/eln/item/electricalitem/PortableOreScannerItem.kt b/src/main/java/mods/eln/item/electricalitem/PortableOreScannerItem.kt index 64f5dfb18..348b58eca 100644 --- a/src/main/java/mods/eln/item/electricalitem/PortableOreScannerItem.kt +++ b/src/main/java/mods/eln/item/electricalitem/PortableOreScannerItem.kt @@ -472,17 +472,20 @@ class PortableOreScannerItem(name: String, obj: Obj3D, stackGreen += blockKeyFactor[blockKey.toInt()] * dToStack - // TODO(1.10): This needs a total rewrite. + // TODO(1.12): This needs a total rewrite. val state = Block.getStateById(blockKey.toInt()) val b = state.block //val b = Block.getBlockById((blockKey and 0xFFFU).toInt()) - if (b !== Blocks.AIR && b !== Eln.lightBlock) { +/* + if (b !== ModBlock.AIR && b !== Eln.lightBlock) { stackRed += if (state.isOpaqueCube) 0.2f * dToStack else 0.1f * dToStack - } else + } else { stackBlue += 0.06f * dToStack + } +*/ x += vx * dBest y += vy * dBest @@ -571,6 +574,7 @@ object OreColorMapping { fun updateColorMapping(): FloatArray { val blockKeyMapping = FloatArray(1024 * 64) +/* for (blockId in 0..4095) { for (meta in 0..15) { blockKeyMapping[blockId + (meta shl 12)] = 0f @@ -584,5 +588,7 @@ object OreColorMapping { cache = blockKeyMapping return blockKeyMapping +*/ + return blockKeyMapping } } diff --git a/src/main/java/mods/eln/mechanical/Generator.kt b/src/main/java/mods/eln/mechanical/Generator.kt index 30e7db8a2..8e8317147 100644 --- a/src/main/java/mods/eln/mechanical/Generator.kt +++ b/src/main/java/mods/eln/mechanical/Generator.kt @@ -1,7 +1,9 @@ package mods.eln.mechanical +import mods.eln.init.Config import mods.eln.Eln import mods.eln.cable.CableRenderDescriptor +import mods.eln.init.Cable import mods.eln.misc.* import mods.eln.node.NodeBase import mods.eln.node.transparent.EntityMetaTag @@ -84,7 +86,7 @@ class GeneratorDescriptor( class GeneratorRender(entity: TransparentNodeEntity, desc_: TransparentNodeDescriptor) : ShaftRender(entity, desc_) { val entity = entity - override val cableRender = Eln.instance.stdCableRender3200V + override val cableRender = Cable.veryHighVoltage.descriptor.render val desc = desc_ as GeneratorDescriptor val ledColors: Array = arrayOf( @@ -136,7 +138,7 @@ class GeneratorRender(entity: TransparentNodeEntity, desc_: TransparentNodeDescr } override fun getCableRender(side: Direction, lrdu: LRDU): CableRenderDescriptor? { - if (lrdu == LRDU.Down && side == front) return Eln.instance.stdCableRender3200V + if (lrdu == LRDU.Down && side == front) return Cable.veryHighVoltage.descriptor.render return null } @@ -283,7 +285,7 @@ class GeneratorElement(node: TransparentNode, desc_: TransparentNodeDescriptor) var info = mutableMapOf() info.put("Energy", Utils.plotEnergy("", shaft.energy)) info.put("Speed", Utils.plotRads("", shaft.rads)) - if (Eln.wailaEasyMode) { + if (Config.wailaEasyMode) { info.put("Voltage", Utils.plotVolt("", electricalPowerSource.getU())) info.put("Current", Utils.plotAmpere("", electricalPowerSource.getI())) info.put("Temperature", Utils.plotCelsius("", thermal.t)) diff --git a/src/main/java/mods/eln/mechanical/Tachometer.kt b/src/main/java/mods/eln/mechanical/Tachometer.kt index 9215bb9c0..5779c5b6f 100644 --- a/src/main/java/mods/eln/mechanical/Tachometer.kt +++ b/src/main/java/mods/eln/mechanical/Tachometer.kt @@ -1,6 +1,5 @@ package mods.eln.mechanical -import mods.eln.Eln import mods.eln.cable.CableRenderDescriptor import mods.eln.cable.CableRenderType import mods.eln.gui.GuiHelper @@ -8,6 +7,7 @@ import mods.eln.gui.GuiScreenEln import mods.eln.gui.GuiTextFieldEln import mods.eln.gui.IGuiObject import mods.eln.i18n.I18N +import mods.eln.init.Cable import mods.eln.misc.Direction import mods.eln.misc.LRDU import mods.eln.misc.LRDUMask @@ -126,7 +126,7 @@ class TachometerRender(entity: TransparentNodeEntity, desc: TransparentNodeDescr internal var maxRads = TachometerElement.DefaultMaxRads override fun draw() { - renderPreProcess = drawCable(Direction.YN, Eln.instance.stdCableRenderSignal, connections, renderPreProcess) + renderPreProcess = drawCable(Direction.YN, Cable.signal.descriptor.render, connections, renderPreProcess) super.draw() } diff --git a/src/main/java/mods/eln/mechanical/Turbines.kt b/src/main/java/mods/eln/mechanical/Turbines.kt index f2cec5195..bea29c869 100644 --- a/src/main/java/mods/eln/mechanical/Turbines.kt +++ b/src/main/java/mods/eln/mechanical/Turbines.kt @@ -1,8 +1,9 @@ package mods.eln.mechanical -import mods.eln.Eln +import mods.eln.init.Config import mods.eln.fluid.FuelRegistry import mods.eln.fluid.PreciseElementFluidHandler +import mods.eln.init.Cable import mods.eln.misc.* import mods.eln.node.NodeBase import mods.eln.node.published @@ -190,7 +191,7 @@ class TurbineElement(node: TransparentNode, desc_: TransparentNodeDescriptor) : var info = mutableMapOf() info.put("Speed", Utils.plotRads("", shaft.rads)) info.put("Energy", Utils.plotEnergy("", shaft.energy)) - if (Eln.wailaEasyMode) { + if (Config.wailaEasyMode) { info.put("Efficency", Utils.plotPercent("", efficiency.toDouble())) info.put("Fuel usage", Utils.plotBuckets("", fluidRate / 1000.0) + "/s") } @@ -204,7 +205,7 @@ class TurbineElement(node: TransparentNode, desc_: TransparentNodeDescriptor) : } class TurbineRender(entity: TransparentNodeEntity, desc: TransparentNodeDescriptor) : ShaftRender(entity, desc) { - override val cableRender = Eln.instance.stdCableRenderSignal + override val cableRender = Cable.signal.descriptor.render override fun networkUnserialize(stream: DataInputStream) { super.networkUnserialize(stream) diff --git a/src/main/java/mods/eln/misc/ElnPacket.java b/src/main/java/mods/eln/misc/ElnPacket.java index af798bb25..284888382 100644 --- a/src/main/java/mods/eln/misc/ElnPacket.java +++ b/src/main/java/mods/eln/misc/ElnPacket.java @@ -43,7 +43,7 @@ public void writePacketData(DataOutput dataoutput) throws IOException { @Override public void processPacket(NetHandler nethandler) { - Eln.instance. + Eln. } @Override diff --git a/src/main/java/mods/eln/misc/IConfigSharing.java b/src/main/java/mods/eln/misc/IConfigSharing.java deleted file mode 100644 index 6b16863b4..000000000 --- a/src/main/java/mods/eln/misc/IConfigSharing.java +++ /dev/null @@ -1,11 +0,0 @@ -package mods.eln.misc; - -import java.io.DataInputStream; -import java.io.DataOutputStream; -import java.io.IOException; - -public interface IConfigSharing { - void serializeConfig(DataOutputStream stream) throws IOException; - - void deserialize(DataInputStream stream) throws IOException; -} diff --git a/src/main/java/mods/eln/misc/LiveDataManager.java b/src/main/java/mods/eln/misc/LiveDataManager.java deleted file mode 100644 index d5353f936..000000000 --- a/src/main/java/mods/eln/misc/LiveDataManager.java +++ /dev/null @@ -1,71 +0,0 @@ -package mods.eln.misc; - -import net.minecraftforge.common.MinecraftForge; -import net.minecraftforge.fml.common.FMLCommonHandler; -import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; -import net.minecraftforge.fml.common.gameevent.TickEvent.Phase; -import net.minecraftforge.fml.common.gameevent.TickEvent.RenderTickEvent; - -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.Map.Entry; - -public class LiveDataManager { - - public LiveDataManager() { - MinecraftForge.EVENT_BUS.register(this); - } - - public void start() { - //elements.clear(); - } - - public void stop() { - map.clear(); - } - - static class Element { - public Element(Object data, int timeout) { - this.data = data; - this.timeout = timeout; - } - - Object data; - int timeout; - } - - public Object getData(Object key, int timeout) { - Element e = map.get(key); - if (e == null) return null; - e.timeout = timeout; - return e.data; - } - - public Object newData(Object key, Object data, int timeout) { - map.put(key, new Element(data, timeout)); - Utils.println("NewLiveData"); - return data; - } - - Map map = new HashMap(); - - @SubscribeEvent - public void tick(RenderTickEvent event) { - if (event.phase != Phase.START) return; - List keyToRemove = new ArrayList(); - for (Entry entry : map.entrySet()) { - Element e = entry.getValue(); - e.timeout--; - if (e.timeout < 0) { - keyToRemove.add(entry.getKey()); - Utils.println("LiveDeleted"); - } - } - - for (Object key : keyToRemove) { - map.remove(key); - } - } -} diff --git a/src/main/java/mods/eln/misc/PlayerUtil.kt b/src/main/java/mods/eln/misc/PlayerUtil.kt index 9125be08c..25ea9e979 100644 --- a/src/main/java/mods/eln/misc/PlayerUtil.kt +++ b/src/main/java/mods/eln/misc/PlayerUtil.kt @@ -1,13 +1,13 @@ package mods.eln.misc -import mods.eln.Eln +import mods.eln.init.Items import net.minecraft.entity.player.EntityPlayer fun EntityPlayer?.isHoldingMeter(): Boolean { if (this == null) return false - return heldEquipment.any({ - Eln.multiMeterElement.checkSameItemStack(it) - || Eln.thermometerElement.checkSameItemStack(it) - || Eln.allMeterElement.checkSameItemStack(it) - }) + return heldEquipment.any { + Items.multiMeterElement.checkSameItemStack(it) + || Items.thermometerElement.checkSameItemStack(it) + || Items.allMeterElement.checkSameItemStack(it) + } } diff --git a/src/main/java/mods/eln/misc/RecipesList.java b/src/main/java/mods/eln/misc/RecipesList.java index a0d57d304..2ffce3eab 100644 --- a/src/main/java/mods/eln/misc/RecipesList.java +++ b/src/main/java/mods/eln/misc/RecipesList.java @@ -1,6 +1,7 @@ package mods.eln.misc; import mods.eln.Eln; +import mods.eln.init.Recipes; import mods.eln.transparentnode.electricalfurnace.ElectricalFurnaceProcess; import net.minecraft.item.ItemStack; import net.minecraft.item.crafting.FurnaceRecipes; @@ -75,7 +76,7 @@ public static ArrayList getGlobalRecipeWithOutput(ItemStack output) { ItemStack li = (ItemStack) ((Map.Entry) itemStackItemStackEntry).getKey(); if (Utils.areSame(output, stack)) { list.add(recipe = new Recipe(li.copy(), output, ElectricalFurnaceProcess.energyNeededPerSmelt)); - recipe.setMachineList(Eln.instance.furnaceList); + recipe.setMachineList(Recipes.furnaceList); } } } @@ -100,7 +101,7 @@ public static ArrayList getGlobalRecipeWithInput(ItemStack input) { ItemStack input1 = input.copy(); input1.setCount(1); list.add(smeltRecipe = new Recipe(input1, smeltResult, ElectricalFurnaceProcess.energyNeededPerSmelt)); - smeltRecipe.machineList.addAll(Eln.instance.furnaceList); + smeltRecipe.machineList.addAll(Recipes.furnaceList); } return list; diff --git a/src/main/java/mods/eln/misc/Utils.java b/src/main/java/mods/eln/misc/Utils.java index 06f053a71..6fd423b78 100644 --- a/src/main/java/mods/eln/misc/Utils.java +++ b/src/main/java/mods/eln/misc/Utils.java @@ -3,6 +3,9 @@ import mods.eln.Eln; import mods.eln.generic.GenericItemBlockUsingDamage; import mods.eln.generic.GenericItemUsingDamage; +import mods.eln.init.Cable; +import mods.eln.init.Config; +import mods.eln.init.Items; import mods.eln.misc.Obj3D.Obj3DPart; import mods.eln.node.ITileEntitySpawnClient; import mods.eln.sim.PhysicalConstant; @@ -77,31 +80,31 @@ public static double rand(double min, double max) { } public static void println(String str) { - if (!Eln.debugEnabled) + if (!Config.INSTANCE.getDebugEnable()) return; System.out.println(str); } public static void println(Object str) { - if (!Eln.debugEnabled) + if (!Config.INSTANCE.getDebugEnable()) return; System.out.println(str.toString()); } public static void print(String str) { - if (!Eln.debugEnabled) + if (!Config.INSTANCE.getDebugEnable()) return; System.out.print(str); } public static void print(Object str) { - if (!Eln.debugEnabled) + if (!Config.INSTANCE.getDebugEnable()) return; System.out.print(str.toString()); } public static void print(String format, Object... data) { - if (!Eln.debugEnabled) return; + if (!Config.INSTANCE.getDebugEnable()) return; print(String.format(format, data)); } @@ -183,7 +186,7 @@ public static Direction entityLivingHorizontalViewDirection(EntityLivingBase ent * Returns the number of ticks that the supplied fuel item will keep the furnace burning, or 0 if the item isn't fuel */ /* - * public static int getItemBurnTime(ItemStack par0ItemStack) { if (par0ItemStack == null) { return 0; } else { int var1 = par0ItemStack.getItem().shiftedIndex; Item var2 = par0ItemStack.getItem(); + * public static int getItemBurnTime(ItemStack par0ItemStack) { if (par0ItemStack == null) { return 0; } else { int var1 = par0ItemStack.getItem().shiftedIndex; Items var2 = par0ItemStack.getItem(); * * if (par0ItemStack.getItem() instanceof ItemBlock && Block.blocksList[var1] != null) { Block var3 = Block.blocksList[var1]; * @@ -191,7 +194,7 @@ public static Direction entityLivingHorizontalViewDirection(EntityLivingBase ent * * if (var3.blockMaterial == Material.wood) { return 300; } } * - * if (var2 instanceof ItemTool && ((ItemTool) var2).getToolMaterialName().equals("WOOD")) return 200; if (var2 instanceof ItemSword && ((ItemSword) var2).func_77825_f().equals("WOOD")) return 200; if (var2 instanceof ItemHoe && ((ItemHoe) var2).func_77842_f().equals("WOOD")) return 200; if (var1 == Item.stick.shiftedIndex) return 100; if (var1 == Item.coal.shiftedIndex) return 1600; if (var1 == Item.bucketLava.shiftedIndex) return 20000; if (var1 == Block.sapling.blockID) return 100; if (var1 == Item.blazeRod.shiftedIndex) return 2400; return GameRegistry.getFuelValue(par0ItemStack); } } + * if (var2 instanceof ItemTool && ((ItemTool) var2).getToolMaterialName().equals("WOOD")) return 200; if (var2 instanceof ItemSword && ((ItemSword) var2).func_77825_f().equals("WOOD")) return 200; if (var2 instanceof ItemHoe && ((ItemHoe) var2).func_77842_f().equals("WOOD")) return 200; if (var1 == Items.stick.shiftedIndex) return 100; if (var1 == Items.coal.shiftedIndex) return 1600; if (var1 == Items.bucketLava.shiftedIndex) return 20000; if (var1 == Block.sapling.blockID) return 100; if (var1 == Items.blazeRod.shiftedIndex) return 2400; return GameRegistry.getFuelValue(par0ItemStack); } } */ public static double getItemEnergie(ItemStack par0ItemStack) { return burnTimeToEnergyFactor * 80000.0 / 1600 * TileEntityFurnace.getItemBurnTime(par0ItemStack); @@ -547,18 +550,18 @@ public static boolean getWorldExist(int dim) { public static double getWind(int worldId, int y) { if (!getWorldExist(worldId)) { - return Math.max(0.0, Eln.instance.wind.getWind(y)); + return Math.max(0.0, Eln.windProcess.getWind(y)); } else { World world = getWorld(worldId); float factor = 1f + world.getRainStrength(0) * 0.2f + world.getThunderStrength(0) * 0.2f; - return Math.max(0.0, Eln.instance.wind.getWind(y) * factor + world.getRainStrength(0) * 1f + world.getThunderStrength(0) * 2f); + return Math.max(0.0, Eln.windProcess.getWind(y) * factor + world.getRainStrength(0) * 1f + world.getThunderStrength(0) * 2f); } } // public static double getWind(World world, int y) // { // float factor = 1f + world.getRainStrength(0) * 0.2f + world.getWeightedThunderStrength(0) * 0.2f; - // return Math.max(0.0, Eln.instance.wind.getWind(y) * factor + world.getRainStrength(0) * 1f + world.getWeightedThunderStrength(0) * 2f); + // return Math.max(0.0, Eln.wind.getWind(y) * factor + world.getRainStrength(0) * 1f + world.getWeightedThunderStrength(0) * 2f); // } public static void dropItem(ItemStack itemStack, BlockPos pos, World world) { @@ -807,9 +810,9 @@ public static boolean playerHasMeter(EntityPlayer entityPlayer) { // In case future Minecraft versions allow you to grow more hands. for (EnumHand hand : EnumHand.values()) { ItemStack heldItem = entityPlayer.getHeldItem(hand); - if (Eln.multiMeterElement.checkSameItemStack(heldItem) - || Eln.thermometerElement.checkSameItemStack(heldItem) - || Eln.allMeterElement.checkSameItemStack(heldItem)) + if (Items.multiMeterElement.checkSameItemStack(heldItem) + || Items.thermometerElement.checkSameItemStack(heldItem) + || Items.allMeterElement.checkSameItemStack(heldItem)) return true; } return false; @@ -1371,7 +1374,7 @@ public static float[] getSixNodePinDistance(Obj3DPart obj) { } public static boolean isWrench(ItemStack stack) { - return areSame(stack, Eln.instance.wrenchItemStack) || stack.getDisplayName().toLowerCase().contains("wrench"); + return stack.getDisplayName().toLowerCase().contains("wrench"); } // @SideOnly(Side.SERVER) @@ -1395,7 +1398,7 @@ public static boolean isClassLoaded(String name) { } public static String plotSignal(double U, double I) { - return plotVolt("U", U) + plotAmpere("I", I) + plotPercent("Value", U / Eln.SVU); + return plotVolt("U", U) + plotAmpere("I", I) + plotPercent("Value", U / Cable.SVU); } public static float limit(float value, float min, float max) { diff --git a/src/main/java/mods/eln/misc/UtilsClient.java b/src/main/java/mods/eln/misc/UtilsClient.java index e1b75fbb4..4811a351b 100644 --- a/src/main/java/mods/eln/misc/UtilsClient.java +++ b/src/main/java/mods/eln/misc/UtilsClient.java @@ -91,7 +91,7 @@ public static void drawHaloNoLightSetup(Obj3DPart halo, float r, float g, float public static void clientOpenGui(GuiScreen gui) { guiLastOpen = gui; EntityPlayerSP clientPlayer = getClientPlayer(); - clientPlayer.openGui(Eln.instance, GuiHandler.genericOpen, clientPlayer.world, 0, 0, 0); + clientPlayer.openGui(Eln.Companion, GuiHandler.genericOpen, clientPlayer.world, 0, 0, 0); } public static void drawHalo(Obj3DPart halo, float r, float g, float b, World w, BlockPos pos, boolean bilinear) { @@ -487,7 +487,7 @@ static Minecraft mc() { // // ForgeHooksClient.renderInventoryItem(renderBlocks, engine, item, inColor, zLevel, x, y) // FontRenderer font = null; // if (par1ItemStack != null) { -// Item i = par1ItemStack.getItem(); +// Items i = par1ItemStack.getItem(); // if (i == null) // return; // font = i.getFontRenderer(par1ItemStack); @@ -550,7 +550,7 @@ public static void enableDepthTest() { } public static void sendPacketToServer(PacketBuffer bos) { - CPacketCustomPayload packet = new CPacketCustomPayload(Eln.channelName, bos); + CPacketCustomPayload packet = new CPacketCustomPayload(Eln.eventChannelID, bos); Eln.eventChannel.sendToServer(new FMLProxyPacket(packet)); } diff --git a/src/main/java/mods/eln/misc/VoltageLevelColor.java b/src/main/java/mods/eln/misc/VoltageLevelColor.java index c86bafab6..ce1808d8d 100644 --- a/src/main/java/mods/eln/misc/VoltageLevelColor.java +++ b/src/main/java/mods/eln/misc/VoltageLevelColor.java @@ -1,6 +1,7 @@ package mods.eln.misc; import mods.eln.Eln; +import mods.eln.init.Cable; import mods.eln.sixnode.electricalcable.ElectricalCableDescriptor; import org.lwjgl.opengl.GL11; @@ -20,7 +21,7 @@ public enum VoltageLevelColor { this.voltageLevel = voltageLevel; } - // TODO(1.10): Item rendering. + // TODO(1.10): Items rendering. // public void drawIconBackground(IItemRenderer.ItemRenderType type) { // if (!Eln.noVoltageBackground && voltageLevel != null && // type == IItemRenderer.ItemRenderType.INVENTORY || type == IItemRenderer.ItemRenderType.FIRST_PERSON_MAP) { @@ -33,13 +34,13 @@ public enum VoltageLevelColor { public static VoltageLevelColor fromVoltage(double voltage) { if (voltage < 0) { return None; - } else if (voltage <= 2 * Eln.LVU) { + } else if (voltage <= 2 * Cable.LVU) { return LowVoltage; - } else if (voltage <= 2 * Eln.MVU) { + } else if (voltage <= 2 * Cable.MVU) { return MediumVoltage; - } else if (voltage <= 2 * Eln.HVU) { + } else if (voltage <= 2 * Cable.HVU) { return HighVoltage; - } else if (voltage <= 2 * Eln.VVU) { + } else if (voltage <= 2 * Cable.VHVU) { return VeryHighVoltage; } else { return None; diff --git a/src/main/java/mods/eln/node/GhostNode.java b/src/main/java/mods/eln/node/GhostNode.java index d2ce7b4ad..9bac5a785 100644 --- a/src/main/java/mods/eln/node/GhostNode.java +++ b/src/main/java/mods/eln/node/GhostNode.java @@ -1,6 +1,6 @@ package mods.eln.node; -import mods.eln.Eln; +import mods.eln.init.ModBlock; public abstract class GhostNode extends NodeBase { @Override @@ -10,6 +10,6 @@ public boolean mustBeSaved() { @Override public String getNodeUuid() { - return Eln.ghostBlock.getNodeUuid(); + return ModBlock.ghostBlock.getUuid(); } } diff --git a/src/main/java/mods/eln/node/NodeBase.java b/src/main/java/mods/eln/node/NodeBase.java index 4cee4469f..d50344439 100644 --- a/src/main/java/mods/eln/node/NodeBase.java +++ b/src/main/java/mods/eln/node/NodeBase.java @@ -3,12 +3,13 @@ import mods.eln.Eln; import mods.eln.GuiHandler; import mods.eln.ghost.GhostBlock; +import mods.eln.init.Config; +import mods.eln.init.Items; +import mods.eln.init.ModBlock; import mods.eln.misc.*; import mods.eln.node.six.SixNode; -import mods.eln.server.PlayerManager; import mods.eln.sim.*; import net.minecraft.block.Block; -import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.item.EntityItem; import net.minecraft.entity.player.EntityPlayer; @@ -18,7 +19,6 @@ import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.server.MinecraftServer; -import net.minecraft.server.management.PlayerChunkMap; import net.minecraft.util.math.BlockPos; import net.minecraft.world.World; import net.minecraft.world.WorldServer; @@ -134,7 +134,7 @@ public boolean isBlockOpaque(Direction direction) { } public static boolean isBlockWrappable(Block block, World w, BlockPos pos) { - Block[] blocks = {Eln.sixNodeBlock, + Block[] blocks = {ModBlock.sixNodeBlock, Blocks.TORCH, Blocks.REDSTONE_TORCH, Blocks.UNLIT_REDSTONE_TORCH, @@ -161,9 +161,9 @@ public boolean isDestructing() { } public void physicalSelfDestruction(float explosionStrength) { - if (destructed == true) return; + if (destructed) return; destructed = true; - if (Eln.instance.explosionEnable == false) explosionStrength = 0; + if (!Config.INSTANCE.getExplosionEnable()) explosionStrength = 0; disconnect(); World world = coordinate.world(); BlockPos.MutableBlockPos pos = coordinate.pos; @@ -206,19 +206,19 @@ public void onBreakBlock() { public boolean onBlockActivated(EntityPlayer entityPlayer, Direction side, float vx, float vy, float vz) { if (!entityPlayer.world.isRemote) { - if (Eln.multiMeterElement.checkSameItemStack(entityPlayer.getHeldItemMainhand())) { + if (Items.multiMeterElement.checkSameItemStack(entityPlayer.getHeldItemMainhand())) { String str = multiMeterString(side); if (str != null) Utils.sendMessage(entityPlayer, str); return true; } - if (Eln.thermometerElement.checkSameItemStack(entityPlayer.getHeldItemMainhand())) { + if (Items.thermometerElement.checkSameItemStack(entityPlayer.getHeldItemMainhand())) { String str = thermoMeterString(side); if (str != null) Utils.sendMessage(entityPlayer, str); return true; } - if (Eln.allMeterElement.checkSameItemStack(entityPlayer.getHeldItemMainhand())) { + if (Items.allMeterElement.checkSameItemStack(entityPlayer.getHeldItemMainhand())) { String str1 = multiMeterString(side); String str2 = thermoMeterString(side); String str = ""; @@ -232,7 +232,7 @@ public boolean onBlockActivated(EntityPlayer entityPlayer, Direction side, float } } if (hasGui(side)) { - entityPlayer.openGui(Eln.instance, GuiHandler.nodeBaseOpen + side.getInt(), coordinate.world(), coordinate.pos.getX(), coordinate.pos.getY(), coordinate.pos.getZ()); + entityPlayer.openGui(Eln.Companion, GuiHandler.nodeBaseOpen + side.getInt(), coordinate.world(), coordinate.pos.getX(), coordinate.pos.getY(), coordinate.pos.getZ()); return true; } diff --git a/src/main/java/mods/eln/node/NodeManager.java b/src/main/java/mods/eln/node/NodeManager.java index 3a4a38cf0..88f23ba35 100644 --- a/src/main/java/mods/eln/node/NodeManager.java +++ b/src/main/java/mods/eln/node/NodeManager.java @@ -35,8 +35,8 @@ Collection getNodeList() { // private ArrayList nodeArray = new ArrayList(); - public NodeManager(String par1Str) { - super(par1Str); + public NodeManager(String name) { + super(name); nodesMap = new HashMap(); nodes = new ArrayList(); instance = this; diff --git a/src/main/java/mods/eln/node/NodePublishProcess.kt b/src/main/java/mods/eln/node/NodePublishProcess.kt new file mode 100644 index 000000000..edd115d46 --- /dev/null +++ b/src/main/java/mods/eln/node/NodePublishProcess.kt @@ -0,0 +1,49 @@ +package mods.eln.node + +import mods.eln.sim.IProcess +import net.minecraftforge.common.MinecraftForge +import net.minecraftforge.fml.common.FMLCommonHandler +import net.minecraftforge.fml.common.eventhandler.SubscribeEvent +import net.minecraftforge.fml.common.gameevent.TickEvent.Phase +import net.minecraftforge.fml.common.gameevent.TickEvent.ServerTickEvent +import net.minecraft.entity.player.EntityPlayerMP +import net.minecraft.server.MinecraftServer + +/* + * Each tick, publishes all nodes that ask for it. + * + * Additionally, publish all nodes with an inventory that are opened by a player, to that player. + */ +class NodePublishProcess : IProcess { + var counter = 0 + + override fun process(time: Double) { + val server = FMLCommonHandler.instance().minecraftServerInstance + + if (server != null) { + for (node in NodeManager.instance.nodeList) { + if (node.needPublish) { + node.publishToAllPlayer() + } + } + + for (player in server.playerList.players) { + var openContainerNode: NodeBase? = null + var container: INodeContainer? = null + if (player.openContainer is INodeContainer) { + container = player.openContainer as INodeContainer + openContainerNode = container.node + } + + for (node in NodeManager.instance.nodeList) { + if (node === openContainerNode) { + if (counter % (1 + container!!.refreshRateDivider) == 0) + node.publishToPlayer(player) + } + } + } + + counter++ + } + } +} diff --git a/src/main/java/mods/eln/node/NodeServer.java b/src/main/java/mods/eln/node/NodeServer.java deleted file mode 100644 index 27f7c9ef8..000000000 --- a/src/main/java/mods/eln/node/NodeServer.java +++ /dev/null @@ -1,64 +0,0 @@ -package mods.eln.node; - -import net.minecraftforge.common.MinecraftForge; -import net.minecraftforge.fml.common.FMLCommonHandler; -import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; -import net.minecraftforge.fml.common.gameevent.TickEvent.Phase; -import net.minecraftforge.fml.common.gameevent.TickEvent.ServerTickEvent; -import net.minecraft.entity.player.EntityPlayerMP; -import net.minecraft.server.MinecraftServer; - -public class NodeServer { - - public NodeServer() { - MinecraftForge.EVENT_BUS.register(this); - - } - - public void init() { - // NodeBlockEntity.nodeAddedList.clear(); - } - - public void stop() { - // NodeBlockEntity.nodeAddedList.clear(); - } - - public int counter = 0; - - @SubscribeEvent - public void tick(ServerTickEvent event) { - if (event.phase != Phase.START) return; - MinecraftServer server = FMLCommonHandler.instance().getMinecraftServerInstance(); - - if (server != null) { - - for (NodeBase node : NodeManager.instance.getNodeList()) { - if (node.getNeedPublish()) { - node.publishToAllPlayer(); - } - } - - for (EntityPlayerMP player : server.getPlayerList().getPlayers()) { - NodeBase openContainerNode = null; - INodeContainer container = null; - if (player.openContainer instanceof INodeContainer) { - container = ((INodeContainer) player.openContainer); - openContainerNode = container.getNode(); - } - - for (NodeBase node : NodeManager.instance.getNodeList()) { - - if (node == openContainerNode) { - if ((counter % (1 + container.getRefreshRateDivider())) == 0) - node.publishToPlayer(player); - } - } - } - - counter++; - } - - } - - -} diff --git a/src/main/java/mods/eln/node/six/SixNode.java b/src/main/java/mods/eln/node/six/SixNode.java index 383658405..7d6c29dec 100644 --- a/src/main/java/mods/eln/node/six/SixNode.java +++ b/src/main/java/mods/eln/node/six/SixNode.java @@ -80,7 +80,9 @@ public SixNode() { public boolean createSubBlock(ItemStack itemStack, Direction direction, EntityPlayer player) { - SixNodeDescriptor descriptor = Eln.sixNodeItem.getDescriptor(itemStack); + // TODO(1.12) + //SixNodeDescriptor descriptor = Eln.sixNodeItem.getDescriptor(itemStack); + SixNodeDescriptor descriptor = null; if (sideElementList[direction.getInt()] != null) return false; try { @@ -195,7 +197,7 @@ public void readFromNBT(NBTTagCompound nbt) { sideElementIdList[idx] = 0; } else { try { - SixNodeDescriptor descriptor = Eln.sixNodeItem.getDescriptor(sideElementId); + SixNodeDescriptor descriptor = null; // TODO(1.12) Eln.sixNodeItem.getDescriptor(sideElementId); sideElementIdList[idx] = sideElementId; sideElementList[idx] = (SixNodeElement) descriptor.ElementClass.getConstructor(SixNode.class, Direction.class, SixNodeDescriptor.class).newInstance(this, Direction.fromInt(idx), descriptor); sideElementList[idx].readFromNBT(nbt.getCompoundTag("ED" + idx)); @@ -608,8 +610,9 @@ public boolean hasVolume() { @Override public String getNodeUuid() { - - return Eln.sixNodeBlock.getNodeUuid(); + // TODO(1.12) + return ""; +// return Eln.sixNodeBlock.getNodeUuid(); } @Override diff --git a/src/main/java/mods/eln/node/six/SixNodeBlock.java b/src/main/java/mods/eln/node/six/SixNodeBlock.java index a68e8fbbb..9564f5fd0 100644 --- a/src/main/java/mods/eln/node/six/SixNodeBlock.java +++ b/src/main/java/mods/eln/node/six/SixNodeBlock.java @@ -98,7 +98,7 @@ SixNodeEntity getEntity(World world, BlockPos pos) { // TODO(1.12) Whatever this was, it's broken now. // @SideOnly(Side.CLIENT) -// public void getSubBlocks(Item par1, CreativeTabs tab, List subItems) { +// public void getSubBlocks(Items par1, CreativeTabs tab, List subItems) { // Eln.sixNodeItem.getSubItems(par1, tab, subItems); // } @@ -141,7 +141,7 @@ public int quantityDropped(Random par1Random) { // if (e == null) return blockIcon; // SixNodeEntity sne = (SixNodeEntity) e; // Block b = sne.sixNodeCacheBlock; -// if (b == Blocks.air) return blockIcon; +// if (b == ModBlock.air) return blockIcon; // // return b.getIcon(w, x, y, z, side); // try { // return b.getIcon(side, sne.sixNodeCacheBlockMeta); @@ -149,8 +149,8 @@ public int quantityDropped(Random par1Random) { // return blockIcon; // } // -// // return Blocks.sand.getIcon(p_149673_1_, p_149673_2_, p_149673_3_, p_149673_4_, p_149673_5_); -// // return Blocks.stone.getIcon(w, x, y, z, side); +// // return ModBlock.sand.getIcon(p_149673_1_, p_149673_2_, p_149673_3_, p_149673_4_, p_149673_5_); +// // return ModBlock.stone.getIcon(w, x, y, z, side); // } @Override @@ -454,7 +454,7 @@ private boolean nodeHasCache(IBlockAccess world, BlockPos pos) { // if (e == null) return 0; // SixNodeEntity sne = (SixNodeEntity) e; // Block b = sne.sixNodeCacheBlock; -// if (b == Blocks.air) return 0; +// if (b == ModBlock.air) return 0; // // return b.getIcon(w, x, y, z, side); // try { // return b.getLightOpacity(); diff --git a/src/main/java/mods/eln/node/six/SixNodeDescriptor.java b/src/main/java/mods/eln/node/six/SixNodeDescriptor.java index 8eaa657e6..0e1cc64ee 100644 --- a/src/main/java/mods/eln/node/six/SixNodeDescriptor.java +++ b/src/main/java/mods/eln/node/six/SixNodeDescriptor.java @@ -23,7 +23,7 @@ public SixNodeDescriptor(String name, Class ElementClass, Class RenderClass, Str this.RenderClass = RenderClass; } - // TODO(1.10): Item rendering. + // TODO(1.10): Items rendering. // @Override // public boolean handleRenderType(ItemStack item, ItemRenderType type) { // return voltageLevelColor != VoltageLevelColor.None; diff --git a/src/main/java/mods/eln/node/six/SixNodeElement.java b/src/main/java/mods/eln/node/six/SixNodeElement.java index 2ba7a9363..0131977cb 100644 --- a/src/main/java/mods/eln/node/six/SixNodeElement.java +++ b/src/main/java/mods/eln/node/six/SixNodeElement.java @@ -2,6 +2,7 @@ import mods.eln.Eln; import mods.eln.ghost.GhostObserver; +import mods.eln.init.ModBlock; import mods.eln.misc.*; import mods.eln.node.INodeElement; import mods.eln.sim.ElectricalLoad; @@ -245,7 +246,7 @@ public void onBreakElement() }*/ public ItemStack getDropItemStack() { - return new ItemStack(Eln.sixNodeBlock, 1, itemStackDamageId); //sixNode.sideElementIdList[side.getInt()] + return new ItemStack(ModBlock.sixNodeBlock, 1, itemStackDamageId); //sixNode.sideElementIdList[side.getInt()] } public void readFromNBT(NBTTagCompound nbt) { diff --git a/src/main/java/mods/eln/node/six/SixNodeEntity.java b/src/main/java/mods/eln/node/six/SixNodeEntity.java index 6709d2cfc..159e9d590 100644 --- a/src/main/java/mods/eln/node/six/SixNodeEntity.java +++ b/src/main/java/mods/eln/node/six/SixNodeEntity.java @@ -51,7 +51,7 @@ public void serverPublishUnserialize(DataInputStream stream) { } else { if (id != elementRenderIdList[idx]) { elementRenderIdList[idx] = id; - SixNodeDescriptor descriptor = Eln.sixNodeItem.getDescriptor(id); + SixNodeDescriptor descriptor = null; // TODO(1.12) Eln.sixNodeItem.getDescriptor(id); elementRenderList[idx] = (SixNodeElementRender) descriptor.RenderClass.getConstructor(SixNodeEntity.class, Direction.class, SixNodeDescriptor.class).newInstance(this, Direction.fromInt(idx), descriptor); } elementRenderList[idx].publishUnserialize(stream); @@ -179,7 +179,9 @@ public void tileEntityNeighborSpawn() { @Override public String getNodeUuid() { - return Eln.sixNodeBlock.getNodeUuid(); + return ""; + // TODO(1.12) + //return Eln.sixNodeBlock.getNodeUuid(); } @Override diff --git a/src/main/java/mods/eln/node/six/SixNodeItem.java b/src/main/java/mods/eln/node/six/SixNodeItem.java index 01d20731e..8e464fc2f 100644 --- a/src/main/java/mods/eln/node/six/SixNodeItem.java +++ b/src/main/java/mods/eln/node/six/SixNodeItem.java @@ -3,6 +3,7 @@ import mods.eln.Eln; import mods.eln.generic.GenericItemBlockUsingDamage; import mods.eln.ghost.GhostGroup; +import mods.eln.init.ModBlock; import mods.eln.misc.Coordinate; import mods.eln.misc.Direction; import mods.eln.misc.LRDU; @@ -97,7 +98,7 @@ public boolean canPlaceBlockOnSide(World par1World, BlockPos pos, EnumFacing sid if (!descriptor.canBePlacedOnSide(par6EntityPlayer, new Coordinate(pos, par1World), Direction.fromFacing(side).getInverse()) == false) { return false; } - if (par1World.getBlockState(new BlockPos(vect[0], vect[1], vect[2])).getBlock() == Eln.sixNodeBlock) + if (par1World.getBlockState(new BlockPos(vect[0], vect[1], vect[2])).getBlock() == ModBlock.sixNodeBlock) return true; if (super.canPlaceBlockOnSide(par1World, pos, side, par6EntityPlayer, par7ItemStack)) return true; diff --git a/src/main/java/mods/eln/node/transparent/TransparentNode.java b/src/main/java/mods/eln/node/transparent/TransparentNode.java index 555302ba1..350322436 100644 --- a/src/main/java/mods/eln/node/transparent/TransparentNode.java +++ b/src/main/java/mods/eln/node/transparent/TransparentNode.java @@ -44,7 +44,7 @@ public void readFromNBT(NBTTagCompound nbt) { elementId = nbt.getShort("eid"); try { - TransparentNodeDescriptor descriptor = Eln.transparentNodeItem.getDescriptor(elementId); + TransparentNodeDescriptor descriptor = null; //TODO(1.12): Eln.transparentNodeItem.getDescriptor(elementId); element = (TransparentNodeElement) descriptor.ElementClass.getConstructor(TransparentNode.class, TransparentNodeDescriptor.class).newInstance(this, descriptor); } catch (InstantiationException e) { @@ -139,7 +139,7 @@ public enum FrontType { public void initializeFromThat(Direction side, EntityLivingBase entityLiving, ItemStack itemStack) { try { // Direction front = null; - TransparentNodeDescriptor descriptor = Eln.transparentNodeItem.getDescriptor(itemStack); + TransparentNodeDescriptor descriptor = null; // TODO(1.12): Eln.transparentNodeItem.getDescriptor(itemStack); /* * switch(descriptor.getFrontType()) { case BlockSide: front = side; break; case PlayerView: front = Utils.entityLivingViewDirection(entityLiving).getInverse(); break; case PlayerViewHorizontal: front = Utils.entityLivingHorizontalViewDirection(entityLiving).getInverse(); break; * @@ -247,8 +247,7 @@ public void dropElement(EntityPlayerMP entityPlayer) { @Override public String getNodeUuid() { - - return Eln.transparentNodeBlock.getNodeUuid(); + return null; // TODO(1.12): Eln.transparentNodeBlock.getNodeUuid(); } @Override diff --git a/src/main/java/mods/eln/node/transparent/TransparentNodeBlock.java b/src/main/java/mods/eln/node/transparent/TransparentNodeBlock.java index 1585f81f5..ff12b6f41 100644 --- a/src/main/java/mods/eln/node/transparent/TransparentNodeBlock.java +++ b/src/main/java/mods/eln/node/transparent/TransparentNodeBlock.java @@ -46,7 +46,7 @@ public TileEntity createNewTileEntity(World world, int meta) { /* //@SideOnly(Side.CLIENT) - public void getSubBlocks(Item par1, CreativeTabs tab, List subItems) { + public void getSubBlocks(Items par1, CreativeTabs tab, List subItems) { Eln.transparentNodeItem.getSubItems(par1, tab, subItems); diff --git a/src/main/java/mods/eln/node/transparent/TransparentNodeDescriptor.java b/src/main/java/mods/eln/node/transparent/TransparentNodeDescriptor.java index 3639375d7..1452316d2 100644 --- a/src/main/java/mods/eln/node/transparent/TransparentNodeDescriptor.java +++ b/src/main/java/mods/eln/node/transparent/TransparentNodeDescriptor.java @@ -42,7 +42,7 @@ public TransparentNodeDescriptor(String name, Class ElementClass, Class RenderCl this(name, ElementClass, RenderClass, EntityMetaTag.Basic); } - // TODO(1.10): Item rendering. + // TODO(1.10): Items rendering. // @Override // public boolean handleRenderType(ItemStack item, ItemRenderType type) { // return voltageLevelColor != VoltageLevelColor.None; diff --git a/src/main/java/mods/eln/node/transparent/TransparentNodeElement.java b/src/main/java/mods/eln/node/transparent/TransparentNodeElement.java index cbf08c683..fbfb733fe 100644 --- a/src/main/java/mods/eln/node/transparent/TransparentNodeElement.java +++ b/src/main/java/mods/eln/node/transparent/TransparentNodeElement.java @@ -258,7 +258,7 @@ public void onBreakElement() { } public ItemStack getDropItemStack() { - ItemStack itemStack = new ItemStack(Eln.transparentNodeBlock, 1, node.elementId); + ItemStack itemStack = null; // TODO(1.12): new ItemStack(Eln.transparentNodeBlock, 1, node.elementId); itemStack.setTagCompound(getItemStackNBT()); return itemStack; } diff --git a/src/main/java/mods/eln/node/transparent/TransparentNodeEntity.java b/src/main/java/mods/eln/node/transparent/TransparentNodeEntity.java index 8debcef42..22e49ba60 100644 --- a/src/main/java/mods/eln/node/transparent/TransparentNodeEntity.java +++ b/src/main/java/mods/eln/node/transparent/TransparentNodeEntity.java @@ -52,7 +52,7 @@ public void serverPublishUnserialize(DataInputStream stream) { } else { if (id != elementRenderId) { elementRenderId = id; - TransparentNodeDescriptor descriptor = Eln.transparentNodeItem.getDescriptor(id); + TransparentNodeDescriptor descriptor = null; // TODO(1.12): Eln.transparentNodeItem.getDescriptor(id); elementRender = (TransparentNodeElementRender) descriptor.RenderClass.getConstructor(TransparentNodeEntity.class, TransparentNodeDescriptor.class).newInstance(this, descriptor); } elementRender.networkUnserialize(stream); @@ -135,8 +135,7 @@ public void serverPacketUnserialize(DataInputStream stream) { @Override public String getNodeUuid() { - - return Eln.transparentNodeBlock.getNodeUuid(); + return null; // TODO(1.12): Eln.transparentNodeBlock.getNodeUuid(); } @Override diff --git a/src/main/java/mods/eln/node/transparent/TransparentNodeItem.java b/src/main/java/mods/eln/node/transparent/TransparentNodeItem.java index dc3a86cc8..b815702ab 100644 --- a/src/main/java/mods/eln/node/transparent/TransparentNodeItem.java +++ b/src/main/java/mods/eln/node/transparent/TransparentNodeItem.java @@ -38,7 +38,7 @@ public boolean placeBlockAt(ItemStack stack, EntityPlayer player, World world, B Block bb = world.getBlockState(pos).getBlock(); if (bb.isReplaceable(world, pos)) ; - //if(world.getBlock(x, y, z) != Blocks.air) return false; + //if(world.getBlock(x, y, z) != ModBlock.air) return false; Coordinate coord = new Coordinate(pos, world); diff --git a/src/main/java/mods/eln/ore/OreBlock.java b/src/main/java/mods/eln/ore/OreBlock.java index 04a5062d1..839b92702 100644 --- a/src/main/java/mods/eln/ore/OreBlock.java +++ b/src/main/java/mods/eln/ore/OreBlock.java @@ -19,7 +19,7 @@ public class OreBlock extends Block { public OreBlock() { super(Material.ROCK); //Parameters: Block ID, Block material - /* setTextureFile("/TutorialGFX/Blocks.png"); //The texture file used + /* setTextureFile("/TutorialGFX/ModBlock.png"); //The texture file used setBlockName("DeverionXBlockOre"); //The incode block name setCreativeTab(eln.c.tabGems); //The tab it appears in*/ setHardness(3.0F); //The block hardness @@ -36,7 +36,7 @@ public int damageDropped(int i) { //Makes sure pick block works right /* @Override - public void getSubBlocks(Item i, CreativeTabs tab, List l) { //Puts all sub blocks into the creative inventory + public void getSubBlocks(Items i, CreativeTabs tab, List l) { //Puts all sub blocks into the creative inventory Eln.oreItem.getSubItems(i, tab, l); } */ @@ -51,9 +51,12 @@ public void getSubBlocks(Item i, CreativeTabs tab, List l) { //Puts all sub bloc // } public ArrayList getBlockDropped(World w, int x, int y, int z, int meta, int fortune) { //Specifies the block drop +/* OreDescriptor desc = Eln.oreItem.getDescriptor(meta); if (desc == null) return new ArrayList(); return desc.getBlockDropped(fortune); +*/ + return null; } @Override diff --git a/src/main/java/mods/eln/ore/OreDescriptor.java b/src/main/java/mods/eln/ore/OreDescriptor.java index 0c2bcadfb..425b39a95 100644 --- a/src/main/java/mods/eln/ore/OreDescriptor.java +++ b/src/main/java/mods/eln/ore/OreDescriptor.java @@ -46,7 +46,7 @@ public void setParent(Item item, int damage) { public ArrayList getBlockDropped(int fortune) { ArrayList list = new ArrayList(); - list.add(new ItemStack(Eln.oreItem, 1, metadata)); + //TODO(1.12) list.add(new ItemStack(Eln.oreItem, 1, metadata)); return list; } @@ -66,7 +66,8 @@ public void generateSurface(Random random, int x, int z, World w) { int posY = spawnHeightMin + random.nextInt(spawnHeightMax - spawnHeightMin); //Y coordinate less than 40 to gen at int posZ = z + random.nextInt(16); //Z coordinate to gen at int size = spawnSizeMin + random.nextInt(spawnSizeMax - spawnSizeMin); - new WorldGenMinable(Eln.oreBlock.getStateFromMeta(metadata), size).generate(w, random, new BlockPos( posX, posY, posZ)); //The gen call + // TODO(1.12) + //new WorldGenMinable(Eln.oreBlock.getStateFromMeta(metadata), size).generate(w, random, new BlockPos( posX, posY, posZ)); //The gen call } //} //new WorldGenTrees(par1, par2, par3, par4, par5) diff --git a/src/main/java/mods/eln/server/ConsoleListener.java b/src/main/java/mods/eln/server/ConsoleListener.java index c30b2b206..8a3a4d0b7 100644 --- a/src/main/java/mods/eln/server/ConsoleListener.java +++ b/src/main/java/mods/eln/server/ConsoleListener.java @@ -153,79 +153,16 @@ public void execute(MinecraftServer server, ICommandSender sender, String[] args authorsStr += Eln.AUTHORS[idx] + ' '; cprint(sender, strOffsetL0 + "Authors: " + Color.COLOR_DARK_GREY + authorsStr); cprint(sender, strOffsetL0 + "Website: " + Color.COLOR_DARK_GREY + Eln.URL); - } else if (cmd.equalsIgnoreCase(cmdNameStr_aging)) { - cprint(sender, Color.COLOR_DARK_CYAN + "ELN > " + Color.COLOR_DARK_YELLOW + cmdNameStr_aging); - if (!checkArgCount(sender, args, 1)) - return; - ConsoleArg arg0 = getArgBool(sender, args[1]); - if (!arg0.valid) - return; - SaveConfig.instance.batteryAging = (arg0.value); - SaveConfig.instance.electricalLampAging = (arg0.value); - SaveConfig.instance.heatFurnaceFuel = (arg0.value); - SaveConfig.instance.infinitePortableBattery = (!arg0.value); - cprint(sender, strOffsetL0 + "Batteries / Furnace Fuel / Lamp aging : " + Color.COLOR_DARK_GREEN + boolToStr(arg0.value)); - cprint(sender, strOffsetL0 + "Parameter saved in the map."); - } else if (cmd.equalsIgnoreCase(cmdNameStr_lampAging)) { - cprint(sender, Color.COLOR_DARK_CYAN + "ELN > " + Color.COLOR_DARK_YELLOW + cmdNameStr_lampAging); - if (!checkArgCount(sender, args, 1)) - return; - ConsoleArg arg0 = getArgBool(sender, args[1]); - if (!arg0.valid) - return; - SaveConfig.instance.electricalLampAging = (arg0.value); - cprint(sender, strOffsetL0 + "Lamp aging : " + Color.COLOR_DARK_GREEN + boolToStr(arg0.value)); - cprint(sender, strOffsetL0 + "Parameter saved in the map."); - } else if (cmd.equalsIgnoreCase(cmdNameStr_batteryAging)) { - cprint(sender, Color.COLOR_DARK_CYAN + "ELN > " + Color.COLOR_DARK_YELLOW + cmdNameStr_batteryAging); - if (!checkArgCount(sender, args, 1)) - return; - ConsoleArg arg0 = getArgBool(sender, args[1]); - if (!arg0.valid) - return; - SaveConfig.instance.batteryAging = (arg0.value); - cprint(sender, strOffsetL0 + "Non portable batteries aging : " + Color.COLOR_DARK_GREEN + boolToStr(arg0.value)); - cprint(sender, strOffsetL0 + "Parameter saved in the map."); - } else if (cmd.equalsIgnoreCase(cmdNameStr_heatFurnaceFuel)) { - cprint(sender, Color.COLOR_DARK_CYAN + "ELN > " + Color.COLOR_DARK_YELLOW + cmdNameStr_heatFurnaceFuel); - if (!checkArgCount(sender, args, 1)) - return; - ConsoleArg arg0 = getArgBool(sender, args[1]); - if (!arg0.valid) - return; - SaveConfig.instance.heatFurnaceFuel = (arg0.value); - cprint(sender, strOffsetL0 + "Furnace fuel aging : " + Color.COLOR_DARK_GREEN + boolToStr(arg0.value)); - cprint(sender, strOffsetL0 + "Parameter saved in the map."); } else if (cmd.equalsIgnoreCase(cmdNameStr_newWind)) { cprint(sender, Color.COLOR_DARK_CYAN + "ELN > " + Color.COLOR_DARK_YELLOW + cmdNameStr_newWind); if (!checkArgCount(sender, args, 0)) return; - Eln.wind.newWindTarget(); - cprint(sender, strOffsetL0 + "New random wind amplitude target : " + Eln.wind.getTargetNotFiltred()); - } else if (cmd.equalsIgnoreCase(cmdNameStr_regenOre)) { - cprint(sender, Color.COLOR_DARK_CYAN + "ELN > " + Color.COLOR_DARK_YELLOW + cmdNameStr_regenOre); - if (!checkArgCount(sender, args, 1)) - return; - ConsoleArg arg0 = getArgBool(sender, args[1]); - if (!arg0.valid) - return; - Eln.saveConfig.reGenOre = arg0.value; - cprint(sender, strOffsetL0 + "Regenerate ore at next map reload : " + Color.COLOR_DARK_GREEN + boolToStr(arg0.value)); - cprint(sender, strOffsetL0 + "Parameter saved in the map and effective once."); + Eln.windProcess.newWindTarget(); + cprint(sender, strOffsetL0 + "New random wind amplitude target : " + Eln.windProcess.getTargetNotFiltred()); } else if (cmd.equalsIgnoreCase(cmdNameStr_generateLangFileTemplate)) { cprint(sender, Color.COLOR_DARK_CYAN + "ELN > " + Color.COLOR_DARK_YELLOW + cmdNameStr_generateLangFileTemplate); cprint(sender, strOffsetL0 + "New language system parses source code, see here how to generate language " + "files: https://github.com/Electrical-Age/ElectricalAge"); - } else if (cmd.equalsIgnoreCase(cmdNameStr_killMonstersAroundLamps)) { - cprint(sender, Color.COLOR_DARK_CYAN + "ELN > " + Color.COLOR_DARK_YELLOW + cmdNameStr_killMonstersAroundLamps); - if (!checkArgCount(sender, args, 1)) - return; - ConsoleArg arg0 = getArgBool(sender, args[1]); - if (!arg0.valid) - return; - Eln.instance.killMonstersAroundLamps = arg0.value; - cprint(sender, strOffsetL0 + "Avoid monsters spawning around lamps : " + Color.COLOR_DARK_GREEN + boolToStr(arg0.value)); - cprint(sender, strOffsetL0 + "Warning: Command effective to this game instance only."); } else { cprint(sender, Color.COLOR_DARK_CYAN + "ELN > " + Color.COLOR_DARK_RED + "Error: Unknown command."); } @@ -272,11 +209,6 @@ private void commandMan(ICommandSender ics, String cmd) { cprint(ics, strOffsetL0 + "Parameters :"); cprint(ics, strOffsetL1 + "@0:string : Command name to get documentation."); cprint(ics, ""); - } else if (cmd.equalsIgnoreCase(cmdNameStr_about)) { - cprint(ics, strOffsetL0 + "Returns useful information on this mod."); - cprint(ics, ""); - cprint(ics, strOffsetL0 + "No input parameters."); - cprint(ics, ""); } else if (cmd.equalsIgnoreCase(cmdNameStr_listCmd)) { cprint(ics, strOffsetL0 + "Lists all ELN publicly available commands."); cprint(ics, ""); @@ -287,52 +219,12 @@ private void commandMan(ICommandSender ics, String cmd) { cprint(ics, ""); cprint(ics, strOffsetL0 + "No input parameters."); cprint(ics, ""); - } else if (cmd.equalsIgnoreCase(cmdNameStr_aging)) { - cprint(ics, strOffsetL0 + "Enables/disables aging on :"); - cprint(ics, strOffsetL0 + "- Portable and standards batteries,"); - cprint(ics, strOffsetL0 + "- Lamps,"); - cprint(ics, strOffsetL0 + "- Fuel into electrical furnaces."); - cprint(ics, strOffsetL0 + "Acts as a combination of the following commands :"); - cprint(ics, strOffsetL0 + "- " + cmdNameStr_batteryAging + ", " + cmdNameStr_lampAging + ", " + cmdNameStr_heatFurnaceFuel); - cprint(ics, strOffsetL0 + "Changes stored into the map."); - cprint(ics, ""); - cprint(ics, strOffsetL0 + "Parameters :"); - cprint(ics, strOffsetL1 + "@0:bool : Aging state (enabled/disabled)."); - cprint(ics, ""); - } else if (cmd.equalsIgnoreCase(cmdNameStr_lampAging)) { - cprint(ics, strOffsetL0 + "Enables/disables aging on lamps."); - cprint(ics, strOffsetL0 + "Changes stored into the map."); - cprint(ics, ""); - cprint(ics, strOffsetL0 + "Parameters :"); - cprint(ics, strOffsetL1 + "@0:bool : Aging state (enabled/disabled)."); - cprint(ics, ""); - } else if (cmd.equalsIgnoreCase(cmdNameStr_batteryAging)) { - cprint(ics, strOffsetL0 + "Enables/disables aging on standard batteries."); - cprint(ics, strOffsetL0 + "Changes stored into the map."); - cprint(ics, ""); - cprint(ics, strOffsetL0 + "Parameters :"); - cprint(ics, strOffsetL1 + "@0:bool : Aging state (enabled/disabled)."); - cprint(ics, ""); - } else if (cmd.equalsIgnoreCase(cmdNameStr_heatFurnaceFuel)) { - cprint(ics, strOffsetL0 + "Enables/disables aging on fuel into electrical furnaces."); - cprint(ics, strOffsetL0 + "Changes stored into the map."); - cprint(ics, ""); - cprint(ics, strOffsetL0 + "Parameters :"); - cprint(ics, strOffsetL1 + "@0:bool : Aging state (enabled/disabled)."); - cprint(ics, ""); } else if (cmd.equalsIgnoreCase(cmdNameStr_newWind)) { cprint(ics, strOffsetL0 + "Changes progressively the wind to another target amplitude."); cprint(ics, strOffsetL0 + "Changes stored into the map."); cprint(ics, ""); cprint(ics, strOffsetL0 + "No input parameters."); cprint(ics, ""); - } else if (cmd.equalsIgnoreCase(cmdNameStr_regenOre)) { - cprint(ics, strOffsetL0 + "When set, regenerates ELN ores at the next map reload."); - cprint(ics, strOffsetL0 + "Changes stored into the map and effective once when set."); - cprint(ics, ""); - cprint(ics, strOffsetL0 + "Parameters :"); - cprint(ics, strOffsetL1 + "@0:bool : Regenerate flag (enabled/disabled)."); - cprint(ics, ""); } else if (cmd.equalsIgnoreCase(cmdNameStr_generateLangFileTemplate)) { cprint(ics, strOffsetL0 + "Generate a new language file or complete an existing one"); cprint(ics, strOffsetL0 + "with missing fields."); @@ -340,15 +232,6 @@ private void commandMan(ICommandSender ics, String cmd) { cprint(ics, strOffsetL0 + "Parameters :"); cprint(ics, strOffsetL1 + "@0:string : full file path."); cprint(ics, ""); - } else if (cmd.equalsIgnoreCase(cmdNameStr_killMonstersAroundLamps)) { - cprint(ics, strOffsetL0 + "When set, monsters don't spawn around the lamps (default)."); - cprint(ics, strOffsetL0 + "When clear, leaving lights on in dark zones is recommended..."); - cprint(ics, strOffsetL0 + "Effective only during this game instance."); - cprint(ics, strOffsetL0 + "(See \"Eln.cfg\" for permanent effect.)"); - cprint(ics, ""); - cprint(ics, strOffsetL0 + "Parameters :"); - cprint(ics, strOffsetL1 + "@0:bool : Enable/disable."); - cprint(ics, ""); } else { cprint(ics, Color.COLOR_DARK_RED + strOffsetL0 + "Error : Unknown/Undocumented command."); } diff --git a/src/main/java/mods/eln/server/DelayedBlockRemove.java b/src/main/java/mods/eln/server/DelayedBlockRemove.java index 1bf43e9c6..3c25caa1a 100644 --- a/src/main/java/mods/eln/server/DelayedBlockRemove.java +++ b/src/main/java/mods/eln/server/DelayedBlockRemove.java @@ -25,7 +25,7 @@ public static void clear() { public static void add(Coordinate c) { if (blocks.contains(c)) return; blocks.add(c); - Eln.delayedTask.add(new DelayedBlockRemove(c)); + Eln.delayedTaskManager.add(new DelayedBlockRemove(c)); } @Override diff --git a/src/main/java/mods/eln/server/OreRegenerate.java b/src/main/java/mods/eln/server/OreRegenerate.java index 6f13b9fa5..55fd1e814 100644 --- a/src/main/java/mods/eln/server/OreRegenerate.java +++ b/src/main/java/mods/eln/server/OreRegenerate.java @@ -1,5 +1,7 @@ package mods.eln.server; +import mods.eln.init.Config; +import mods.eln.init.ModBlock; import net.minecraftforge.fml.common.FMLCommonHandler; import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; import net.minecraftforge.fml.common.gameevent.TickEvent.Phase; @@ -18,7 +20,7 @@ public class OreRegenerate { LinkedList jobs = new LinkedList(); - HashSet alreadyLoadedChunks = new HashSet(); + HashSet alreadyLoadedChunks = new HashSet<>(); public OreRegenerate() { MinecraftForge.EVENT_BUS.register(this); @@ -59,7 +61,7 @@ public void tick(ServerTickEvent event) { for (int idx = 0; idx < 1; idx++) { if (!jobs.isEmpty()) { ChunkRef j = jobs.pollLast(); - if (!Eln.saveConfig.reGenOre && !Eln.instance.forceOreRegen) return; + if (!Config.INSTANCE.getForceOreRegen()) return; WorldServer server = FMLCommonHandler.instance().getMinecraftServerInstance().getWorld(j.worldId); Chunk chunk = server.getChunk(j.x, j.z); @@ -67,7 +69,7 @@ public void tick(ServerTickEvent event) { for (int y = 0; y < 60; y += 2) { for (int z = y & 1; z < 16; z += 2) { for (int x = y & 1; x < 16; x += 2) { - if (chunk.getBlockState(x, y, z).getBlock() == Eln.oreBlock) { + if (chunk.getBlockState(x, y, z).getBlock() == ModBlock.oreBlock) { // Utils.println("NO Regenrate ore ! left " + jobs.size()); return; } @@ -76,10 +78,10 @@ public void tick(ServerTickEvent event) { } Utils.println("Regenerated! " + jobs.size()); - for (OreDescriptor d : Eln.oreItem.descriptors) { - d.generate(server.rand, chunk.x, chunk.z, server, null, null); - } - //Utils.println("Regenrate ore! left " + jobs.size()); + // TODO(1.12) +// for (OreDescriptor d : Eln.oreItem.descriptors) { +// d.generate(server.rand, chunk.x, chunk.z, server, null, null); +// } } } } @@ -87,7 +89,7 @@ public void tick(ServerTickEvent event) { @SubscribeEvent public void chunkLoad(ChunkEvent.Load e) { // if (e.world.isRemote == false) Utils.println("Chunk loaded!"); - if (e.getWorld().isRemote || (Eln.saveConfig != null && !Eln.saveConfig.reGenOre)) return; + if (e.getWorld().isRemote || (!Config.INSTANCE.getForceOreRegen())) return; Chunk c = e.getChunk(); ChunkRef ref = new ChunkRef(c.x, c.z, c.getWorld().provider.getDimension()); if (alreadyLoadedChunks.contains(ref)) { diff --git a/src/main/java/mods/eln/server/SaveConfig.java b/src/main/java/mods/eln/server/SaveConfig.java index 7b6097e33..68333d4dd 100644 --- a/src/main/java/mods/eln/server/SaveConfig.java +++ b/src/main/java/mods/eln/server/SaveConfig.java @@ -28,7 +28,7 @@ public void readFromNBT(NBTTagCompound nbt) { infinitePortableBattery = nbt.getBoolean("infinitPortableBattery"); reGenOre = nbt.getBoolean("reGenOre"); cableRsFactor_lastUsed = nbt.getDouble("cableRsFactor_lastUsed"); - Eln.wind.readFromNBT(nbt, "wind"); + Eln.windProcess.readFromNBT(nbt, "wind"); } @Override @@ -38,7 +38,7 @@ public NBTTagCompound writeToNBT(NBTTagCompound nbt) { nbt.setBoolean("batteryAging", batteryAging); nbt.setBoolean("infinitPortableBattery", infinitePortableBattery); nbt.setBoolean("reGenOre", reGenOre); - Eln.wind.writeToNBT(nbt, "wind"); + Eln.windProcess.writeToNBT(nbt, "wind"); return nbt; } diff --git a/src/main/java/mods/eln/sim/MonsterPopFreeProcess.java b/src/main/java/mods/eln/sim/MonsterPopFreeProcess.java deleted file mode 100644 index 33ba1e06f..000000000 --- a/src/main/java/mods/eln/sim/MonsterPopFreeProcess.java +++ /dev/null @@ -1,56 +0,0 @@ -package mods.eln.sim; - -import mods.eln.Eln; -import mods.eln.entity.ReplicatorEntity; -import mods.eln.misc.Coordinate; -import mods.eln.misc.Utils; -import net.minecraft.entity.boss.EntityWither; -import net.minecraft.entity.monster.EntityEnderman; -import net.minecraft.entity.monster.EntityMob; - -import java.util.List; - -public class MonsterPopFreeProcess implements IProcess { - - private Coordinate coordinate; - private int range; - - double timerCounter = 0; - final double timerPeriod = 0.212; - - List oldList = null; - - public MonsterPopFreeProcess(Coordinate coordinate, int range) { - this.coordinate = coordinate; - this.range = range; - } - - @Override - public void process(double time) { - //Monster killing must be active before continuing : - if (!Eln.instance.killMonstersAroundLamps) - return; - - timerCounter += time; - if (timerCounter > timerPeriod) { - timerCounter -= Utils.rand(1, 1.5) * timerPeriod; - List list = coordinate.world().getEntitiesWithinAABB(EntityMob.class, coordinate.getAxisAlignedBB(range + 8)); - - for (Object o : list) { - //Utils.println("MonsterPopFreeProcess : In range"); - EntityMob mob = (EntityMob) o; - if (oldList == null || !oldList.contains(o)) { - if (coordinate.distanceTo(mob) < range) { - //Utils.println("MonsterPopFreeProcess : Must die"); - if (!(o instanceof ReplicatorEntity) && !(o instanceof EntityWither) && !(o instanceof EntityEnderman)) { - mob.setDead(); - Utils.println("MonsterPopFreeProcess : Dead"); - } - } - } - } - oldList = list; - } - } - -} diff --git a/src/main/java/mods/eln/sim/NodeElectricalGateInputHysteresisProcess.java b/src/main/java/mods/eln/sim/NodeElectricalGateInputHysteresisProcess.java index a61b44acb..35a0d3407 100644 --- a/src/main/java/mods/eln/sim/NodeElectricalGateInputHysteresisProcess.java +++ b/src/main/java/mods/eln/sim/NodeElectricalGateInputHysteresisProcess.java @@ -1,6 +1,7 @@ package mods.eln.sim; import mods.eln.Eln; +import mods.eln.init.Cable; import mods.eln.misc.INBTTReady; import mods.eln.sim.nbt.NbtElectricalGateInput; import net.minecraft.nbt.NBTTagCompound; @@ -22,12 +23,12 @@ public NodeElectricalGateInputHysteresisProcess(String name, NbtElectricalGateIn @Override public void process(double time) { if (state) { - if (gate.getU() < Eln.instance.SVU * 0.3) { + if (gate.getU() < Cable.SVU * 0.3) { state = false; setOutput(false); } else setOutput(true); } else { - if (gate.getU() > Eln.instance.SVU * 0.7) { + if (gate.getU() > Cable.SVU * 0.7) { state = true; setOutput(true); } else setOutput(false); diff --git a/src/main/java/mods/eln/sim/SignalRp.java b/src/main/java/mods/eln/sim/SignalRp.java index b036ce2c2..6360b26b4 100644 --- a/src/main/java/mods/eln/sim/SignalRp.java +++ b/src/main/java/mods/eln/sim/SignalRp.java @@ -1,12 +1,13 @@ package mods.eln.sim; import mods.eln.Eln; +import mods.eln.init.Cable; import mods.eln.sim.mna.component.Resistor; import mods.eln.sim.mna.state.State; public class SignalRp extends Resistor { public SignalRp(State aPin) { super(aPin, null); - setR(Eln.instance.SVU / Eln.instance.SVII); + setR(Cable.SVU / Cable.SVIinv); } } diff --git a/src/main/java/mods/eln/sim/Simulator.java b/src/main/java/mods/eln/sim/Simulator.java index 795dce864..d6081430f 100644 --- a/src/main/java/mods/eln/sim/Simulator.java +++ b/src/main/java/mods/eln/sim/Simulator.java @@ -93,7 +93,7 @@ public Simulator(double callPeriod, double electricalPeriod, int electricalInter run = false; } - public void init() { + public void reinit() { nodeCount = 0; mna = new RootSystem(electricalPeriod, electricalInterSystemOverSampling); @@ -455,7 +455,7 @@ public void tick(ServerTickEvent event) { Utils.sendPacketToClient(bos, player); } //S3FPacketCustomPayload packet = new S3FPacketCustomPayload(Eln.channelName, bos.toByteArray()); - //Eln.instance.eventChannel.sendToAll(new FMLProxyPacket(packet)); + //Eln.eventChannel.sendToAll(new FMLProxyPacket(packet)); } Utils.println((System.nanoTime() - stackStart) / 1000);*/ diff --git a/src/main/java/mods/eln/sim/nbt/NbtElectricalGateInput.java b/src/main/java/mods/eln/sim/nbt/NbtElectricalGateInput.java index a5ffbbd95..3fc68982f 100644 --- a/src/main/java/mods/eln/sim/nbt/NbtElectricalGateInput.java +++ b/src/main/java/mods/eln/sim/nbt/NbtElectricalGateInput.java @@ -1,13 +1,14 @@ package mods.eln.sim.nbt; import mods.eln.Eln; +import mods.eln.init.Cable; import mods.eln.misc.Utils; public class NbtElectricalGateInput extends NbtElectricalLoad { public NbtElectricalGateInput(String name) { super(name); - Eln.instance.signalCableDescriptor.applyTo(this); + Cable.Companion.getSignal().descriptor.applyTo(this); } public String plot(String str) { @@ -15,15 +16,15 @@ public String plot(String str) { } public boolean stateHigh() { - return getU() > Eln.SVU * 0.6; + return getU() > Cable.SVU * 0.6; } public boolean stateLow() { - return getU() < Eln.SVU * 0.2; + return getU() < Cable.SVU * 0.2; } public double getNormalized() { - double norm = getU() * Eln.SVUinv; + double norm = getU() / Cable.SVU; if (norm < 0.0) norm = 0.0; if (norm > 1.0) norm = 1.0; return norm; @@ -32,7 +33,7 @@ public double getNormalized() { public double getBornedU() { double U = this.getU(); if (U < 0.0) U = 0.0; - if (U > Eln.SVU) U = Eln.SVU; + if (U > Cable.SVU) U = Cable.SVU; return U; } } diff --git a/src/main/java/mods/eln/sim/nbt/NbtElectricalGateInputOutput.java b/src/main/java/mods/eln/sim/nbt/NbtElectricalGateInputOutput.java index 705d1292b..4cd27b1fb 100644 --- a/src/main/java/mods/eln/sim/nbt/NbtElectricalGateInputOutput.java +++ b/src/main/java/mods/eln/sim/nbt/NbtElectricalGateInputOutput.java @@ -1,13 +1,14 @@ package mods.eln.sim.nbt; import mods.eln.Eln; +import mods.eln.init.Cable; import mods.eln.misc.Utils; public class NbtElectricalGateInputOutput extends NbtElectricalLoad { public NbtElectricalGateInputOutput(String name) { super(name); - Eln.instance.signalCableDescriptor.applyTo(this); + Cable.Companion.getSignal().descriptor.applyTo(this); } public String plot(String str) { @@ -15,15 +16,15 @@ public String plot(String str) { } public boolean isInputHigh() { - return getU() > Eln.SVU * 0.6; + return getU() > Cable.SVU * 0.6; } public boolean isInputLow() { - return getU() < Eln.SVU * 0.2; + return getU() < Cable.SVU * 0.2; } public double getInputNormalized() { - double norm = getU() * Eln.SVUinv; + double norm = getU() * Cable.SVUinv; if (norm < 0.0) norm = 0.0; if (norm > 1.0) norm = 1.0; return norm; @@ -32,7 +33,7 @@ public double getInputNormalized() { public double getInputBornedU() { double U = this.getU(); if (U < 0.0) U = 0.0; - if (U > Eln.SVU) U = Eln.SVU; + if (U > Cable.SVU) U = Cable.SVU; return U; } } diff --git a/src/main/java/mods/eln/sim/nbt/NbtElectricalGateOutput.java b/src/main/java/mods/eln/sim/nbt/NbtElectricalGateOutput.java index 0df4c5976..66d16a026 100644 --- a/src/main/java/mods/eln/sim/nbt/NbtElectricalGateOutput.java +++ b/src/main/java/mods/eln/sim/nbt/NbtElectricalGateOutput.java @@ -1,13 +1,13 @@ package mods.eln.sim.nbt; -import mods.eln.Eln; +import mods.eln.init.Cable; import mods.eln.misc.Utils; public class NbtElectricalGateOutput extends NbtElectricalLoad { public NbtElectricalGateOutput(String name) { super(name); - Eln.instance.signalCableDescriptor.applyTo(this); + Cable.Companion.getSignal().descriptor.applyTo(this); } public String plot(String str) { diff --git a/src/main/java/mods/eln/sim/nbt/NbtElectricalGateOutputProcess.java b/src/main/java/mods/eln/sim/nbt/NbtElectricalGateOutputProcess.java index 6f00e4364..443181ac8 100644 --- a/src/main/java/mods/eln/sim/nbt/NbtElectricalGateOutputProcess.java +++ b/src/main/java/mods/eln/sim/nbt/NbtElectricalGateOutputProcess.java @@ -1,6 +1,8 @@ package mods.eln.sim.nbt; import mods.eln.Eln; +import mods.eln.init.Cable; +import mods.eln.init.Config; import mods.eln.misc.INBTTReady; import mods.eln.misc.Utils; import mods.eln.sim.ElectricalLoad; @@ -23,7 +25,7 @@ public NbtElectricalGateOutputProcess(String name, ElectricalLoad positiveLoad) public void setHighImpedance(boolean enable) { this.highImpedance = enable; - double baseC = Eln.instance.gateOutputCurrent / Eln.instance.electricalFrequency / Eln.SVU; + double baseC = Cable.gateOutputCurrent / Config.INSTANCE.getElectricalFrequency() / Cable.SVU; if (enable) { setC(baseC / 1000); } else { @@ -61,24 +63,24 @@ public void setOutputNormalized(double value) { public void state(boolean value) { if (value) - U = Eln.SVU; + U = Cable.SVU; else U = 0.0; } public double getOutputNormalized() { - return U / Eln.SVU; + return U / Cable.SVU; } public boolean getOutputOnOff() { - return U >= Eln.SVU / 2; + return U >= Cable.SVU / 2; } public void setOutputNormalizedSafe(double value) { if (value > 1.0) value = 1.0; if (value < 0.0) value = 0.0; if (Double.isNaN(value)) value = 0.0; - U = value * Eln.SVU; + U = value * Cable.SVU; } public void setU(double U) { @@ -86,7 +88,7 @@ public void setU(double U) { } public void setUSafe(double value) { - value = Utils.limit(value, 0, Eln.SVU); + value = Utils.limit(value, 0, Cable.SVU); if (Double.isNaN(value)) value = 0.0; U = value; } diff --git a/src/main/java/mods/eln/sim/process/destruct/WorldExplosion.java b/src/main/java/mods/eln/sim/process/destruct/WorldExplosion.java index 4af701045..67156ef95 100644 --- a/src/main/java/mods/eln/sim/process/destruct/WorldExplosion.java +++ b/src/main/java/mods/eln/sim/process/destruct/WorldExplosion.java @@ -1,6 +1,7 @@ package mods.eln.sim.process.destruct; import mods.eln.Eln; +import mods.eln.init.Config; import mods.eln.misc.Coordinate; import mods.eln.node.six.SixNodeElement; import mods.eln.node.transparent.TransparentNodeElement; @@ -53,7 +54,7 @@ public WorldExplosion machineExplosion() { public void destructImpl() { //NodeManager.instance.removeNode(NodeManager.instance.getNodeFromCoordinate(c)); - if (Eln.instance.explosionEnable) + if (Config.INSTANCE.getExplosionEnable()) c.world().createExplosion((Entity) null, c.pos.getX(), c.pos.getY(), c.pos.getZ(), strength, true); else c.world().setBlockToAir(new BlockPos(c.pos.getX(), c.pos.getY(), c.pos.getZ())); diff --git a/src/main/java/mods/eln/simplenode/computerprobe/ComputerProbeNode.java b/src/main/java/mods/eln/simplenode/computerprobe/ComputerProbeNode.java index d0376fef4..ae78b1818 100644 --- a/src/main/java/mods/eln/simplenode/computerprobe/ComputerProbeNode.java +++ b/src/main/java/mods/eln/simplenode/computerprobe/ComputerProbeNode.java @@ -4,6 +4,7 @@ import li.cil.oc.api.machine.Context; import mods.eln.Eln; import mods.eln.Other; +import mods.eln.init.Config; import mods.eln.misc.Coordinate; import mods.eln.misc.Direction; import mods.eln.misc.LRDU; @@ -355,7 +356,7 @@ public Coordinate getCoordinate() { @Override public int getRange() { - return Eln.wirelessTxRange; + return Config.INSTANCE.getWirelessTxRange(); } @Override diff --git a/src/main/java/mods/eln/simplenode/energyconverter/EnergyConverterElnToOtherNode.java b/src/main/java/mods/eln/simplenode/energyconverter/EnergyConverterElnToOtherNode.java index 4dc00ee7e..e6d47219a 100644 --- a/src/main/java/mods/eln/simplenode/energyconverter/EnergyConverterElnToOtherNode.java +++ b/src/main/java/mods/eln/simplenode/energyconverter/EnergyConverterElnToOtherNode.java @@ -1,6 +1,7 @@ package mods.eln.simplenode.energyconverter; import mods.eln.Eln; +import mods.eln.init.Cable; import mods.eln.misc.Direction; import mods.eln.misc.LRDU; import mods.eln.node.simple.SimpleNode; @@ -66,7 +67,7 @@ public void initialize() { electricalProcessList.add(electricalProcess); slowProcessList.add(watchdog); - Eln.applySmallRs(load); + Cable.applySmallRs(load); load.setAsPrivate(); diff --git a/src/main/java/mods/eln/sixnode/AnalogChips.kt b/src/main/java/mods/eln/sixnode/AnalogChips.kt index 7aeb55c3c..090fbfe29 100644 --- a/src/main/java/mods/eln/sixnode/AnalogChips.kt +++ b/src/main/java/mods/eln/sixnode/AnalogChips.kt @@ -4,6 +4,8 @@ import mods.eln.Eln import mods.eln.cable.CableRenderDescriptor import mods.eln.gui.* import mods.eln.i18n.I18N +import mods.eln.init.Cable +import mods.eln.init.Config import mods.eln.misc.* import mods.eln.node.Node import mods.eln.node.Synchronizable @@ -23,7 +25,6 @@ import net.minecraft.entity.player.EntityPlayer import net.minecraft.item.Item import net.minecraft.item.ItemStack import net.minecraft.nbt.NBTTagCompound -import org.lwjgl.opengl.GL11 import java.io.ByteArrayOutputStream import java.io.DataInputStream import java.io.DataOutputStream @@ -182,10 +183,10 @@ open class AnalogChipRender(entity: SixNodeEntity, side: Direction, descriptor: } override fun getCableRender(lrdu: LRDU?): CableRenderDescriptor? = when (lrdu) { - front -> Eln.instance.signalCableDescriptor.render - front.inverse() -> if (descriptor.function.inputCount >= 1) Eln.instance.signalCableDescriptor.render else null - front.left() -> if (descriptor.function.inputCount >= 2) Eln.instance.signalCableDescriptor.render else null - front.right() -> if (descriptor.function.inputCount >= 3) Eln.instance.signalCableDescriptor.render else null + front -> Cable.signal.descriptor.render + front.inverse() -> if (descriptor.function.inputCount >= 1) Cable.signal.descriptor.render else null + front.left() -> if (descriptor.function.inputCount >= 2) Cable.signal.descriptor.render else null + front.right() -> if (descriptor.function.inputCount >= 3) Cable.signal.descriptor.render else null else -> null } } @@ -238,12 +239,12 @@ class PIDRegulator : AnalogFunction() { override fun process(inputs: Array, deltaTime: Double): Double { pid.setOperator(arrayOf( - IValue { (inputs[0] ?: 0.0) / Eln.SVU }, - IValue { (inputs[1] ?: 0.0) / Eln.SVU } , + IValue { (inputs[0] ?: 0.0) / Cable.SVU }, + IValue { (inputs[1] ?: 0.0) / Cable.SVU } , IValue { Kp }, IValue { Ki} , IValue { Kd } )) pid.process(deltaTime) - return Eln.SVU * pid.value + return Cable.SVU * pid.value } override fun readFromNBT(nbt: NBTTagCompound?, str: String?) { @@ -264,7 +265,7 @@ class PIDRegulator : AnalogFunction() { override fun getWaila(inputs: Array, output: Double): MutableMap { val info = super.getWaila(inputs, output) info[I18N.tr("Params")] = "Kp = $Kp, Ki = $Ki, Kd = $Kd" - if (Eln.wailaEasyMode) { + if (Config.wailaEasyMode) { info[I18N.tr("State")] = "Si = ${pid.iStack}" } return info @@ -399,7 +400,7 @@ open class VoltageControlledSawtoothOscillator : AnalogFunction() { override fun process(inputs: Array, deltaTime: Double): Double { out += Math.pow(50.0, (inputs[0] ?: 0.0) / 50) * 2 * deltaTime - if (out > Eln.SVU) { + if (out > Cable.SVU) { out = 0.0 } return out @@ -722,7 +723,7 @@ class FilterElement(node: SixNode, side: Direction, sixNodeDescriptor: SixNodeDe CUTOFF_FREQUENCY_CHANGED(1) } - private var cutOffFrequency = Eln.instance.electricalFrequency / 4.0 + private var cutOffFrequency = Config.electricalFrequency / 4.0 get() = (function as Filter).feedback / (2.0 * Math.PI) set(value) { field = value @@ -757,7 +758,7 @@ class FilterElement(node: SixNode, side: Direction, sixNodeDescriptor: SixNodeDe class FilterRender(entity: SixNodeEntity, side: Direction, descriptor: SixNodeDescriptor) : AnalogChipRender(entity, side, descriptor) { - internal var cutOffFrequency = Synchronizable(Eln.instance.electricalFrequency.toFloat() / 4f) + internal var cutOffFrequency = Synchronizable(Config.electricalFrequency.toFloat() / 4f) override fun newGuiDraw(side: Direction?, player: EntityPlayer?): GuiScreen? = FilterGui(this) @@ -797,7 +798,7 @@ class FilterGui(private var render: FilterRender) : GuiScreenEln() { freq?.value = render.cutOffFrequency.value } freq?.setComment(0, I18N.tr("Cut-off frequency %s Hz", - String.format("%1.3f", freq?.value ?: Eln.instance.electricalFrequency / 4f))) + String.format("%1.3f", freq?.value ?: Config.electricalFrequency / 4f))) } override fun newHelper(): GuiHelper { diff --git a/src/main/java/mods/eln/sixnode/ElectricalFuse.kt b/src/main/java/mods/eln/sixnode/ElectricalFuse.kt index 6f7087821..e64abcda3 100644 --- a/src/main/java/mods/eln/sixnode/ElectricalFuse.kt +++ b/src/main/java/mods/eln/sixnode/ElectricalFuse.kt @@ -1,9 +1,9 @@ package mods.eln.sixnode import com.teamwizardry.librarianlib.features.kotlin.isNotEmpty -import mods.eln.Eln import mods.eln.generic.GenericItemUsingDamageDescriptor import mods.eln.i18n.I18N +import mods.eln.init.Cable import mods.eln.item.ElectricalFuseDescriptor import mods.eln.item.GenericItemUsingDamageDescriptorUpgrade import mods.eln.misc.* @@ -199,8 +199,8 @@ class ElectricalFuseHolderElement(sixNode: SixNode, side: Direction, descriptor: } fun computeElectricalLoad() { - Eln.instance.veryHighVoltageCableDescriptor.applyTo(aLoad) - Eln.instance.veryHighVoltageCableDescriptor.applyTo(bLoad) + Cable.veryHighVoltage.descriptor.applyTo(aLoad) + Cable.veryHighVoltage.descriptor.applyTo(bLoad) refreshSwitchResistor() } diff --git a/src/main/java/mods/eln/sixnode/LogicGate.kt b/src/main/java/mods/eln/sixnode/LogicGate.kt index b254733f9..c306c46d7 100644 --- a/src/main/java/mods/eln/sixnode/LogicGate.kt +++ b/src/main/java/mods/eln/sixnode/LogicGate.kt @@ -7,6 +7,7 @@ import mods.eln.gui.GuiScreenEln import mods.eln.gui.IGuiObject import mods.eln.i18n.I18N import mods.eln.i18n.I18N.tr +import mods.eln.init.Cable import mods.eln.misc.* import mods.eln.node.Node import mods.eln.node.six.* @@ -157,7 +158,7 @@ open class LogicGateElement(node: SixNode, side: Direction, sixNodeDescriptor: S override fun getWaila(): MutableMap = function.getWaila( inputPins.map { if (it != null && it.connectedComponents.count() > 0) it.normalized else null }.toTypedArray(), - outputPin.u / Eln.SVU) + outputPin.u / Cable.SVU) override fun readFromNBT(nbt: NBTTagCompound?) { super.readFromNBT(nbt) @@ -185,10 +186,10 @@ open class LogicGateRender(entity: SixNodeEntity, side: Direction, descriptor: S } override fun getCableRender(lrdu: LRDU?): CableRenderDescriptor? = when (lrdu) { - front -> Eln.instance.signalCableDescriptor.render - front.inverse() -> if (descriptor.function.inputCount >= 1) Eln.instance.signalCableDescriptor.render else null - front.left() -> if (descriptor.function.inputCount >= 2) Eln.instance.signalCableDescriptor.render else null - front.right() -> if (descriptor.function.inputCount >= 3) Eln.instance.signalCableDescriptor.render else null + front -> Cable.signal.descriptor.render + front.inverse() -> if (descriptor.function.inputCount >= 1) Cable.signal.descriptor.render else null + front.left() -> if (descriptor.function.inputCount >= 2) Cable.signal.descriptor.render else null + front.right() -> if (descriptor.function.inputCount >= 3) Cable.signal.descriptor.render else null else -> null } } diff --git a/src/main/java/mods/eln/sixnode/Scanner.kt b/src/main/java/mods/eln/sixnode/Scanner.kt index 0e6972b20..682f21dce 100644 --- a/src/main/java/mods/eln/sixnode/Scanner.kt +++ b/src/main/java/mods/eln/sixnode/Scanner.kt @@ -4,6 +4,7 @@ import com.teamwizardry.librarianlib.features.kotlin.isNotEmpty import mods.eln.Eln import mods.eln.cable.CableRenderDescriptor import mods.eln.i18n.I18N.tr +import mods.eln.init.Cable import mods.eln.misc.* import mods.eln.node.NodeBase import mods.eln.node.six.* @@ -202,5 +203,5 @@ class ScannerRender(entity: SixNodeEntity, side: Direction, descriptor: SixNodeD mode = ScanMode.fromByte(stream.readByte())!! } - override fun getCableRender(lrdu: LRDU?): CableRenderDescriptor = Eln.instance.signalCableDescriptor.render + override fun getCableRender(lrdu: LRDU?): CableRenderDescriptor = Cable.signal.descriptor.render } diff --git a/src/main/java/mods/eln/sixnode/TreeResinCollector/TreeResinCollectorElement.java b/src/main/java/mods/eln/sixnode/TreeResinCollector/TreeResinCollectorElement.java index 2762b392b..37fef44f6 100644 --- a/src/main/java/mods/eln/sixnode/TreeResinCollector/TreeResinCollectorElement.java +++ b/src/main/java/mods/eln/sixnode/TreeResinCollector/TreeResinCollectorElement.java @@ -1,6 +1,7 @@ package mods.eln.sixnode.TreeResinCollector; import mods.eln.Eln; +import mods.eln.init.Items; import mods.eln.misc.Coordinate; import mods.eln.misc.Direction; import mods.eln.misc.LRDU; @@ -137,7 +138,7 @@ public boolean onBlockActivated(EntityPlayer entityPlayer, Direction side, } for (int idx = 0; idx < productI; idx++) { - sixNode.dropItem(Eln.treeResin.newItemStack(1)); + sixNode.dropItem(Items.treeResin.newItemStack()); } Utils.sendMessage(entityPlayer, "Tree Resin in pot : " + String.format("%1.2f", productPerSeconde * timeFromLastActivated)); diff --git a/src/main/java/mods/eln/sixnode/TreeResinCollector/TreeResinCollectorTileEntity.java b/src/main/java/mods/eln/sixnode/TreeResinCollector/TreeResinCollectorTileEntity.java index c56160120..488cbc318 100644 --- a/src/main/java/mods/eln/sixnode/TreeResinCollector/TreeResinCollectorTileEntity.java +++ b/src/main/java/mods/eln/sixnode/TreeResinCollector/TreeResinCollectorTileEntity.java @@ -1,6 +1,7 @@ package mods.eln.sixnode.TreeResinCollector; import mods.eln.Eln; +import mods.eln.init.Items; import mods.eln.misc.Coordinate; import mods.eln.misc.Direction; import mods.eln.misc.Utils; @@ -23,7 +24,7 @@ public class TreeResinCollectorTileEntity extends TileEntity implements ITickabl boolean onBlockActivated() { if (world.isRemote) return true; while (occupancy >= 1f) { - Utils.dropItem(Eln.treeResin.newItemStack(1), new Coordinate( this.pos.getX(), this.pos.getY(), this.pos.getZ(), world)); + Utils.dropItem(Items.treeResin.newItemStack(1), new Coordinate( this.pos.getX(), this.pos.getY(), this.pos.getZ(), world)); occupancy -= 1f; } return true; diff --git a/src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerElement.java b/src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerElement.java index c575808c1..709407693 100644 --- a/src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerElement.java +++ b/src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerElement.java @@ -2,6 +2,7 @@ import mods.eln.Eln; import mods.eln.i18n.I18N; +import mods.eln.init.Config; import mods.eln.item.MachineBoosterDescriptor; import mods.eln.item.electricalinterface.IItemEnergyBattery; import mods.eln.misc.Direction; @@ -113,7 +114,7 @@ public String multiMeterString() { public Map getWaila() { Map info = new HashMap(); info.put(I18N.tr("Charge Current"), Utils.plotAmpere("", powerLoad.getCurrent())); - if (Eln.wailaEasyMode) { + if (Config.INSTANCE.getWailaEasyMode()) { info.put(I18N.tr("Voltage"), Utils.plotVolt("", powerLoad.getU())); info.put(I18N.tr("Power"), Utils.plotPower("", powerLoad.getI() * powerLoad.getU())); } diff --git a/src/main/java/mods/eln/sixnode/diode/DiodeElement.java b/src/main/java/mods/eln/sixnode/diode/DiodeElement.java index 1da270c3f..f5c50f319 100644 --- a/src/main/java/mods/eln/sixnode/diode/DiodeElement.java +++ b/src/main/java/mods/eln/sixnode/diode/DiodeElement.java @@ -2,6 +2,7 @@ import mods.eln.Eln; import mods.eln.i18n.I18N; +import mods.eln.init.Config; import mods.eln.misc.Direction; import mods.eln.misc.LRDU; import mods.eln.misc.Utils; @@ -100,7 +101,7 @@ public String multiMeterString() { public Map getWaila() { Map info = new HashMap(); info.put(I18N.tr("Current"), Utils.plotAmpere("", anodeLoad.getCurrent())); - if (Eln.wailaEasyMode) { + if (Config.INSTANCE.getWailaEasyMode()) { info.put(I18N.tr("Forward Voltage"), Utils.plotVolt("", anodeLoad.getU() - catodeLoad.getU())); info.put(I18N.tr("Temperature"), Utils.plotCelsius("", thermalLoad.getT())); } diff --git a/src/main/java/mods/eln/sixnode/electricalalarm/ElectricalAlarmElement.java b/src/main/java/mods/eln/sixnode/electricalalarm/ElectricalAlarmElement.java index 972153d0a..fb34c6cb1 100644 --- a/src/main/java/mods/eln/sixnode/electricalalarm/ElectricalAlarmElement.java +++ b/src/main/java/mods/eln/sixnode/electricalalarm/ElectricalAlarmElement.java @@ -2,6 +2,7 @@ import mods.eln.Eln; import mods.eln.i18n.I18N; +import mods.eln.init.Config; import mods.eln.misc.Direction; import mods.eln.misc.LRDU; import mods.eln.misc.Utils; @@ -88,7 +89,7 @@ public String multiMeterString() { public Map getWaila() { Map info = new HashMap(); info.put(I18N.tr("Engaged"), inputGate.stateHigh() ? I18N.tr("Yes") : I18N.tr("No")); - if (Eln.wailaEasyMode) { + if (Config.INSTANCE.getWailaEasyMode()) { info.put(I18N.tr("Input Voltage"), Utils.plotVolt("", inputGate.getU())); } return info; diff --git a/src/main/java/mods/eln/sixnode/electricalalarm/ElectricalAlarmRender.java b/src/main/java/mods/eln/sixnode/electricalalarm/ElectricalAlarmRender.java index a94908e4f..39bd9e747 100644 --- a/src/main/java/mods/eln/sixnode/electricalalarm/ElectricalAlarmRender.java +++ b/src/main/java/mods/eln/sixnode/electricalalarm/ElectricalAlarmRender.java @@ -2,6 +2,7 @@ import mods.eln.Eln; import mods.eln.cable.CableRenderDescriptor; +import mods.eln.init.Cable; import mods.eln.misc.Direction; import mods.eln.misc.LRDU; import mods.eln.misc.RcInterpolator; @@ -61,7 +62,7 @@ public void publishUnserialize(DataInputStream stream) { Byte b; b = stream.readByte(); front = LRDU.fromInt((b >> 4) & 3); - warm = (b & 1) != 0 ? true : false; + warm = (b & 1) != 0; mute = stream.readBoolean(); Utils.println("WARM : " + warm); } catch (IOException e) { @@ -71,7 +72,7 @@ public void publishUnserialize(DataInputStream stream) { @Override public CableRenderDescriptor getCableRender(LRDU lrdu) { - return Eln.instance.signalCableDescriptor.render; + return Cable.Companion.getSignal().descriptor.render; } @Override diff --git a/src/main/java/mods/eln/sixnode/electricalalarm/ElectricalAlarmSlowProcess.java b/src/main/java/mods/eln/sixnode/electricalalarm/ElectricalAlarmSlowProcess.java index face15cd4..b8624d451 100644 --- a/src/main/java/mods/eln/sixnode/electricalalarm/ElectricalAlarmSlowProcess.java +++ b/src/main/java/mods/eln/sixnode/electricalalarm/ElectricalAlarmSlowProcess.java @@ -1,6 +1,7 @@ package mods.eln.sixnode.electricalalarm; import mods.eln.Eln; +import mods.eln.init.Cable; import mods.eln.misc.Coordinate; import mods.eln.misc.Utils; import mods.eln.sim.IProcess; @@ -26,7 +27,7 @@ public void process(double time) { if (timeCounter > refreshPeriode) { timeCounter -= refreshPeriode; - boolean warm = element.inputGate.getU() > Eln.instance.SVU / 2; + boolean warm = element.inputGate.getU() > Cable.SVU / 2; element.setWarm(warm); if (warm & !element.mute) { if (soundTimeTimeout == 0) { diff --git a/src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerElement.java b/src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerElement.java index dc70f2764..c1253977b 100644 --- a/src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerElement.java +++ b/src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerElement.java @@ -2,6 +2,8 @@ import mods.eln.Eln; import mods.eln.i18n.I18N; +import mods.eln.init.Cable; +import mods.eln.init.Config; import mods.eln.misc.Direction; import mods.eln.misc.LRDU; import mods.eln.misc.Utils; @@ -37,7 +39,7 @@ public class ElectricalBreakerElement extends SixNodeElement { SixNodeElementInventory inventory = new SixNodeElementInventory(1, 64, this); - public float voltageMax = (float) Eln.SVU, voltageMin = 0; + public float voltageMax = (float) Cable.SVU, voltageMin = 0; boolean switchState = false; double currantMax = 0; @@ -123,7 +125,7 @@ public Map getWaila() { Map info = new HashMap(); info.put(I18N.tr("Contact"), switchState ? I18N.tr("Closed") : I18N.tr("Open")); info.put(I18N.tr("Current"), Utils.plotAmpere("", aLoad.getCurrent())); - if (Eln.wailaEasyMode) { + if (Config.INSTANCE.getWailaEasyMode()) { info.put(I18N.tr("Voltages"), Utils.plotVolt("", aLoad.getU()) + Utils.plotVolt(" ", bLoad.getU())); } return info; diff --git a/src/main/java/mods/eln/sixnode/electricalcable/ElectricalCableDescriptor.java b/src/main/java/mods/eln/sixnode/electricalcable/ElectricalCableDescriptor.java index 20dedd300..daaa34a15 100644 --- a/src/main/java/mods/eln/sixnode/electricalcable/ElectricalCableDescriptor.java +++ b/src/main/java/mods/eln/sixnode/electricalcable/ElectricalCableDescriptor.java @@ -3,6 +3,7 @@ import mods.eln.Eln; import mods.eln.cable.CableRenderDescriptor; import mods.eln.generic.GenericItemBlockUsingDamageDescriptor; +import mods.eln.init.Cable; import mods.eln.misc.Utils; import mods.eln.misc.VoltageLevelColor; import mods.eln.node.NodeBase; @@ -131,7 +132,7 @@ public void addInformation(ItemStack itemStack, EntityPlayer entityPlayer, List super.addInformation(itemStack, entityPlayer, list, par4); if (signalWire) { Collections.addAll(list, tr("Cable is adapted to conduct\nelectrical signals.").split("\n")); - Collections.addAll(list, tr("A signal is electrical information\nwhich must be between 0V and %s", Utils.plotVolt(Eln.SVU)).split("\n")); + Collections.addAll(list, tr("A signal is electrical information\nwhich must be between 0V and %s", Utils.plotVolt(Cable.SVU)).split("\n")); list.add(tr("Not adapted to transport power.")); /*String lol = ""; diff --git a/src/main/java/mods/eln/sixnode/electricalcable/ElectricalCableElement.java b/src/main/java/mods/eln/sixnode/electricalcable/ElectricalCableElement.java index abb68ee74..a3b4e86d1 100644 --- a/src/main/java/mods/eln/sixnode/electricalcable/ElectricalCableElement.java +++ b/src/main/java/mods/eln/sixnode/electricalcable/ElectricalCableElement.java @@ -3,6 +3,7 @@ import mods.eln.Eln; import mods.eln.generic.GenericItemUsingDamageDescriptor; import mods.eln.i18n.I18N; +import mods.eln.init.Config; import mods.eln.item.BrushDescriptor; import mods.eln.misc.Direction; import mods.eln.misc.LRDU; @@ -121,7 +122,7 @@ public Map getWaila() { } else { info.put(I18N.tr("Current"), Utils.plotAmpere("", electricalLoad.getI())); info.put(I18N.tr("Temperature"), Utils.plotCelsius("", thermalLoad.getT())); - if (Eln.wailaEasyMode) { + if (Config.INSTANCE.getWailaEasyMode()) { info.put(I18N.tr("Voltage"), Utils.plotVolt("", electricalLoad.getU())); } } diff --git a/src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerProcess.java b/src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerProcess.java index fbee327f1..0189925d4 100644 --- a/src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerProcess.java +++ b/src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerProcess.java @@ -18,27 +18,26 @@ public ElectricalDataLoggerProcess(ElectricalDataLoggerElement e) { @Override public void process(double time) { - //Profiler p = new Profiler(); - //p.add("A"); if (!e.pause) { e.timeToNextSample -= time; byte value = (byte) (e.inputGate.getNormalized() * 255.5 - 128); e.sampleStack += value; e.sampleStackNbr++; } - //p.add("B"); + // TODO(1.12)... er, does literally anyone ever use this? +/* if (e.printToDo) { ItemStack paperStack = e.inventory.getStackInSlot(ElectricalDataLoggerContainer.paperSlotId); ItemStack printStack = e.inventory.getStackInSlot(ElectricalDataLoggerContainer.printSlotId); if (paperStack != null && printStack == null) { e.inventory.decrStackSize(ElectricalDataLoggerContainer.paperSlotId, 1); - ItemStack print = Eln.instance.dataLogsPrintDescriptor.newItemStack(1); - Eln.instance.dataLogsPrintDescriptor.initializeStack(print, e.logs); + ItemStack print = Eln.dataLogsPrintDescriptor.newItemStack(1); + Eln.dataLogsPrintDescriptor.initializeStack(print, e.logs); e.inventory.setInventorySlotContents(ElectricalDataLoggerContainer.printSlotId, print); } e.printToDo = false; } - //p.add("C"); +*/ if (e.timeToNextSample <= 0.0) { e.timeToNextSample += e.logs.samplingPeriod; byte value = (byte) (e.sampleStack / e.sampleStackNbr); @@ -59,7 +58,5 @@ public void process(double time) { //p.add("D"); e.sendPacketToAllClient(bos); } - //p.stop(); - //Utils.println(p); } } diff --git a/src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerRender.java b/src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerRender.java index 4626e52cc..444739917 100644 --- a/src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerRender.java +++ b/src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerRender.java @@ -2,6 +2,7 @@ import mods.eln.Eln; import mods.eln.cable.CableRenderDescriptor; +import mods.eln.init.Cable; import mods.eln.misc.Direction; import mods.eln.misc.LRDU; import mods.eln.node.six.SixNodeDescriptor; @@ -35,7 +36,7 @@ public ElectricalDataLoggerRender(SixNodeEntity tileEntity, Direction side, SixN @Override public CableRenderDescriptor getCableRender(LRDU lrdu) { - return Eln.instance.signalCableDescriptor.render; + return Cable.Companion.getSignal().descriptor.render; } @Override diff --git a/src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorContainer.java b/src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorContainer.java index df1c380bd..b19f5be2f 100644 --- a/src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorContainer.java +++ b/src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorContainer.java @@ -24,5 +24,5 @@ public ElectricalEntitySensorContainer(EntityPlayer player, IInventory inventory } } /* new SlotFilter(inventory, 0, 62 + 0, 17, new ItemStackFilter[]{new ItemStackFilter(Block.wood, 0, 0)}), - new SlotFilter(inventory, 1, 62 + 18, 17, new ItemStackFilter[]{new ItemStackFilter(Item.coal, 0, 0)}) + new SlotFilter(inventory, 1, 62 + 18, 17, new ItemStackFilter[]{new ItemStackFilter(Items.coal, 0, 0)}) */ diff --git a/src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorElement.java b/src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorElement.java index 42c7b42bf..65a8f982c 100644 --- a/src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorElement.java +++ b/src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorElement.java @@ -2,6 +2,7 @@ import mods.eln.Eln; import mods.eln.i18n.I18N; +import mods.eln.init.Config; import mods.eln.item.EntitySensorFilterDescriptor; import mods.eln.misc.Direction; import mods.eln.misc.LRDU; @@ -75,7 +76,7 @@ public String multiMeterString() { public Map getWaila() { Map info = new HashMap(); info.put(I18N.tr("Entity present"), slowProcess.state ? I18N.tr("Yes") : I18N.tr("No")); - if (Eln.wailaEasyMode) { + if (Config.INSTANCE.getWailaEasyMode()) { info.put(I18N.tr("Output voltage"), Utils.plotVolt("", outputGate.getU())); } return info; diff --git a/src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorRender.java b/src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorRender.java index 268a447d7..23848cefc 100644 --- a/src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorRender.java +++ b/src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorRender.java @@ -2,6 +2,7 @@ import mods.eln.Eln; import mods.eln.cable.CableRenderDescriptor; +import mods.eln.init.Cable; import mods.eln.item.EntitySensorFilterDescriptor; import mods.eln.misc.Direction; import mods.eln.misc.LRDU; @@ -53,7 +54,7 @@ public void publishUnserialize(DataInputStream stream) { @Override public CableRenderDescriptor getCableRender(LRDU lrdu) { - return Eln.instance.signalCableDescriptor.render; + return Cable.Companion.getSignal().descriptor.render; } @Override diff --git a/src/main/java/mods/eln/sixnode/electricalfiredetector/ElectricalFireDetectorElement.java b/src/main/java/mods/eln/sixnode/electricalfiredetector/ElectricalFireDetectorElement.java index 73495eb95..872f6a232 100644 --- a/src/main/java/mods/eln/sixnode/electricalfiredetector/ElectricalFireDetectorElement.java +++ b/src/main/java/mods/eln/sixnode/electricalfiredetector/ElectricalFireDetectorElement.java @@ -2,6 +2,7 @@ import mods.eln.Eln; import mods.eln.i18n.I18N; +import mods.eln.init.Config; import mods.eln.item.electricalitem.BatteryItem; import mods.eln.misc.Direction; import mods.eln.misc.LRDU; @@ -96,7 +97,7 @@ public String multiMeterString() { public Map getWaila() { Map info = new HashMap(); info.put(I18N.tr("Fire present"), firePresent ? I18N.tr("Yes") : I18N.tr("No")); - if (Eln.wailaEasyMode && !descriptor.batteryPowered) { + if (Config.INSTANCE.getWailaEasyMode() && !descriptor.batteryPowered) { info.put(I18N.tr("Output voltage"), Utils.plotVolt("", outputGate.getU())); } if (descriptor.batteryPowered) { diff --git a/src/main/java/mods/eln/sixnode/electricalfiredetector/ElectricalFireDetectorRender.kt b/src/main/java/mods/eln/sixnode/electricalfiredetector/ElectricalFireDetectorRender.kt index 15c978e59..78c1ce389 100644 --- a/src/main/java/mods/eln/sixnode/electricalfiredetector/ElectricalFireDetectorRender.kt +++ b/src/main/java/mods/eln/sixnode/electricalfiredetector/ElectricalFireDetectorRender.kt @@ -1,6 +1,7 @@ package mods.eln.sixnode.electricalfiredetector import mods.eln.Eln +import mods.eln.init.Cable import mods.eln.misc.Coordinate import mods.eln.misc.Direction import mods.eln.misc.LRDU @@ -73,7 +74,7 @@ class ElectricalFireDetectorRender(tileEntity: SixNodeEntity, side: Direction, d } } - override fun getCableRender(lrdu: LRDU) = Eln.instance.signalCableDescriptor.render!! + override fun getCableRender(lrdu: LRDU) = Cable.signal.descriptor.render!! override fun newGuiDraw(side: Direction, player: EntityPlayer) = if (inventory != null) ElectricalFireDetectorGui(player, inventory, this) else null diff --git a/src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceDescriptor.java b/src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceDescriptor.java index bd479eb8b..04927b0a5 100644 --- a/src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceDescriptor.java +++ b/src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceDescriptor.java @@ -57,7 +57,7 @@ public void setParent(Item item, int damage) { Data.addSignal(newItemStack()); } - // TODO(1.10): Item rendering. + // TODO(1.10): Items rendering. // @Override // public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { // return type != ItemRenderType.INVENTORY; diff --git a/src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceElement.java b/src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceElement.java index 7ccdf30d0..3a747c713 100644 --- a/src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceElement.java +++ b/src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceElement.java @@ -2,6 +2,7 @@ import mods.eln.Eln; import mods.eln.i18n.I18N; +import mods.eln.init.Cable; import mods.eln.misc.Direction; import mods.eln.misc.LRDU; import mods.eln.misc.Utils; @@ -134,7 +135,7 @@ public void networkSerialize(DataOutputStream stream) { @Override public void initialize() { - Eln.instance.signalCableDescriptor.applyTo(outputGate); + Cable.Companion.getSignal().descriptor.applyTo(outputGate); computeElectricalLoad(); } diff --git a/src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceRender.java b/src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceRender.java index 169fe98af..ad1ef92d8 100644 --- a/src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceRender.java +++ b/src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceRender.java @@ -2,6 +2,7 @@ import mods.eln.Eln; import mods.eln.cable.CableRenderDescriptor; +import mods.eln.init.Cable; import mods.eln.misc.Direction; import mods.eln.misc.LRDU; import mods.eln.misc.RcInterpolator; @@ -48,7 +49,7 @@ public void draw() { @Override public void refresh(float deltaT) { - interpolator.setTarget((float) (voltageSyncValue / Eln.SVU)); + interpolator.setTarget((float) (voltageSyncValue / Cable.SVU)); interpolator.step(deltaT); } @@ -68,7 +69,7 @@ public void publishUnserialize(DataInputStream stream) { if (boot) { boot = false; - interpolator.setValue((float) (voltageSyncValue / Eln.SVU)); + interpolator.setValue((float) (voltageSyncValue / Cable.SVU)); } } catch (IOException e) { e.printStackTrace(); @@ -77,7 +78,7 @@ public void publishUnserialize(DataInputStream stream) { @Override public CableRenderDescriptor getCableRender(LRDU lrdu) { - return Eln.instance.signalCableDescriptor.render; + return Cable.Companion.getSignal().descriptor.render; } @Override diff --git a/src/main/java/mods/eln/sixnode/electricallightsensor/ElectricalLightSensorDescriptor.java b/src/main/java/mods/eln/sixnode/electricallightsensor/ElectricalLightSensorDescriptor.java index f6fc77caf..b0580ac29 100644 --- a/src/main/java/mods/eln/sixnode/electricallightsensor/ElectricalLightSensorDescriptor.java +++ b/src/main/java/mods/eln/sixnode/electricallightsensor/ElectricalLightSensorDescriptor.java @@ -1,6 +1,7 @@ package mods.eln.sixnode.electricallightsensor; import mods.eln.Eln; +import mods.eln.init.Cable; import mods.eln.misc.*; import mods.eln.misc.Obj3D.Obj3DPart; import mods.eln.node.six.SixNodeDescriptor; @@ -51,7 +52,7 @@ public void addInformation(ItemStack itemStack, EntityPlayer entityPlayer, List super.addInformation(itemStack, entityPlayer, list, par4); if (dayLightOnly) { Collections.addAll(list, tr("Provides an electrical voltage\nwhich is proportional to\nthe intensity of daylight.").split("\n")); - list.add(tr("0V at night, %sV at noon.", Utils.plotValue(Eln.SVU))); + list.add(tr("0V at night, %sV at noon.", Utils.plotValue(Cable.SVU))); } else { Collections.addAll(list, tr("Provides an electrical voltage\nin the presence of light.").split("\n")); } diff --git a/src/main/java/mods/eln/sixnode/electricallightsensor/ElectricalLightSensorElement.java b/src/main/java/mods/eln/sixnode/electricallightsensor/ElectricalLightSensorElement.java index 6883716a3..f5addb34f 100644 --- a/src/main/java/mods/eln/sixnode/electricallightsensor/ElectricalLightSensorElement.java +++ b/src/main/java/mods/eln/sixnode/electricallightsensor/ElectricalLightSensorElement.java @@ -2,6 +2,7 @@ import mods.eln.Eln; import mods.eln.i18n.I18N; +import mods.eln.init.Config; import mods.eln.misc.Direction; import mods.eln.misc.LRDU; import mods.eln.misc.Utils; @@ -65,7 +66,7 @@ public String multiMeterString() { public Map getWaila() { Map info = new HashMap(); info.put(I18N.tr("Light level"), Utils.plotValue(slowProcess.light)); - if (Eln.wailaEasyMode) { + if (Config.INSTANCE.getWailaEasyMode()) { info.put(I18N.tr("Output voltage"), Utils.plotVolt("", outputGate.getU())); } return info; diff --git a/src/main/java/mods/eln/sixnode/electricallightsensor/ElectricalLightSensorRender.java b/src/main/java/mods/eln/sixnode/electricallightsensor/ElectricalLightSensorRender.java index bf28f58b3..5ebd90ca8 100644 --- a/src/main/java/mods/eln/sixnode/electricallightsensor/ElectricalLightSensorRender.java +++ b/src/main/java/mods/eln/sixnode/electricallightsensor/ElectricalLightSensorRender.java @@ -2,6 +2,7 @@ import mods.eln.Eln; import mods.eln.cable.CableRenderDescriptor; +import mods.eln.init.Cable; import mods.eln.misc.Direction; import mods.eln.misc.LRDU; import mods.eln.node.six.SixNodeDescriptor; @@ -31,6 +32,6 @@ public void draw() { @Override public CableRenderDescriptor getCableRender(LRDU lrdu) { - return Eln.instance.signalCableDescriptor.render; + return Cable.Companion.getSignal().descriptor.render; } } diff --git a/src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathRender.java b/src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathRender.java index 9bddea13e..f4ac79970 100644 --- a/src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathRender.java +++ b/src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathRender.java @@ -2,6 +2,7 @@ import mods.eln.Eln; import mods.eln.cable.CableRenderDescriptor; +import mods.eln.init.Cable; import mods.eln.misc.*; import mods.eln.node.six.SixNodeDescriptor; import mods.eln.node.six.SixNodeElementInventory; @@ -110,6 +111,6 @@ public void refresh(float deltaT) { @Override public CableRenderDescriptor getCableRender(LRDU lrdu) { - return Eln.instance.signalCableDescriptor.render; + return Cable.Companion.getSignal().descriptor.render; } } diff --git a/src/main/java/mods/eln/sixnode/electricalredstoneinput/ElectricalRedstoneInputDescriptor.java b/src/main/java/mods/eln/sixnode/electricalredstoneinput/ElectricalRedstoneInputDescriptor.java index 3866b13ba..35c3f6055 100644 --- a/src/main/java/mods/eln/sixnode/electricalredstoneinput/ElectricalRedstoneInputDescriptor.java +++ b/src/main/java/mods/eln/sixnode/electricalredstoneinput/ElectricalRedstoneInputDescriptor.java @@ -23,7 +23,7 @@ public class ElectricalRedstoneInputDescriptor extends SixNodeDescriptor { public ElectricalRedstoneInputDescriptor(String name, Obj3D obj) { super(name, ElectricalRedstoneInputElement.class, ElectricalRedstoneInputRender.class); - //obj = Eln.instance.obj.getObj(objName); + //obj = Eln.obj.getObj(objName); this.obj = obj; if (obj != null) { main = obj.getPart("main"); diff --git a/src/main/java/mods/eln/sixnode/electricalredstoneinput/ElectricalRedstoneInputRender.java b/src/main/java/mods/eln/sixnode/electricalredstoneinput/ElectricalRedstoneInputRender.java index a395a533d..5fdf57b21 100644 --- a/src/main/java/mods/eln/sixnode/electricalredstoneinput/ElectricalRedstoneInputRender.java +++ b/src/main/java/mods/eln/sixnode/electricalredstoneinput/ElectricalRedstoneInputRender.java @@ -2,6 +2,7 @@ import mods.eln.Eln; import mods.eln.cable.CableRenderDescriptor; +import mods.eln.init.Cable; import mods.eln.misc.Direction; import mods.eln.misc.LRDU; import mods.eln.node.six.SixNodeDescriptor; @@ -48,6 +49,6 @@ public void publishUnserialize(DataInputStream stream) { @Override public CableRenderDescriptor getCableRender(LRDU lrdu) { - return Eln.instance.signalCableDescriptor.render; + return Cable.Companion.getSignal().descriptor.render; } } diff --git a/src/main/java/mods/eln/sixnode/electricalredstoneoutput/ElectricalRedstoneOutputElement.java b/src/main/java/mods/eln/sixnode/electricalredstoneoutput/ElectricalRedstoneOutputElement.java index 2dec41d60..5965cb7e2 100644 --- a/src/main/java/mods/eln/sixnode/electricalredstoneoutput/ElectricalRedstoneOutputElement.java +++ b/src/main/java/mods/eln/sixnode/electricalredstoneoutput/ElectricalRedstoneOutputElement.java @@ -2,6 +2,7 @@ import mods.eln.Eln; import mods.eln.i18n.I18N; +import mods.eln.init.Cable; import mods.eln.misc.Direction; import mods.eln.misc.LRDU; import mods.eln.misc.Utils; @@ -39,7 +40,7 @@ public int isProvidingWeakPower() { } public boolean refreshRedstone() { - int newValue = (int) (inputGate.getU() * 15.0 / Eln.SVU + 0.5); + int newValue = (int) (inputGate.getU() * 15.0 / Cable.SVU + 0.5); if (newValue != redstoneValue) { redstoneValue = newValue; notifyNeighbor(); diff --git a/src/main/java/mods/eln/sixnode/electricalredstoneoutput/ElectricalRedstoneOutputRender.java b/src/main/java/mods/eln/sixnode/electricalredstoneoutput/ElectricalRedstoneOutputRender.java index 97388d100..b62e578ca 100644 --- a/src/main/java/mods/eln/sixnode/electricalredstoneoutput/ElectricalRedstoneOutputRender.java +++ b/src/main/java/mods/eln/sixnode/electricalredstoneoutput/ElectricalRedstoneOutputRender.java @@ -2,6 +2,7 @@ import mods.eln.Eln; import mods.eln.cable.CableRenderDescriptor; +import mods.eln.init.Cable; import mods.eln.misc.Direction; import mods.eln.misc.LRDU; import mods.eln.node.six.SixNodeDescriptor; @@ -51,6 +52,6 @@ public void publishUnserialize(DataInputStream stream) { @Override public CableRenderDescriptor getCableRender(LRDU lrdu) { - return Eln.instance.signalCableDescriptor.render; + return Cable.Companion.getSignal().descriptor.render; } } diff --git a/src/main/java/mods/eln/sixnode/electricalrelay/ElectricalRelayElement.java b/src/main/java/mods/eln/sixnode/electricalrelay/ElectricalRelayElement.java index 7948539af..56f477ce8 100644 --- a/src/main/java/mods/eln/sixnode/electricalrelay/ElectricalRelayElement.java +++ b/src/main/java/mods/eln/sixnode/electricalrelay/ElectricalRelayElement.java @@ -2,6 +2,7 @@ import mods.eln.Eln; import mods.eln.i18n.I18N; +import mods.eln.init.Config; import mods.eln.misc.Direction; import mods.eln.misc.LRDU; import mods.eln.misc.Utils; @@ -125,7 +126,7 @@ public Map getWaila() { Map info = new HashMap(); info.put(I18N.tr("Position"), switchState ? I18N.tr("Closed") : I18N.tr("Open")); info.put(I18N.tr("Current"), Utils.plotAmpere("", aLoad.getCurrent())); - if (Eln.wailaEasyMode) { + if (Config.INSTANCE.getWailaEasyMode()) { info.put(I18N.tr("Default position"), defaultOutput ? I18N.tr("Closed") : I18N.tr("Open")); info.put(I18N.tr("Voltages"), Utils.plotVolt("", aLoad.getU()) + Utils.plotVolt(" ", bLoad.getU())); } diff --git a/src/main/java/mods/eln/sixnode/electricalrelay/ElectricalRelayRender.java b/src/main/java/mods/eln/sixnode/electricalrelay/ElectricalRelayRender.java index 2e12dc5d0..24eff77f7 100644 --- a/src/main/java/mods/eln/sixnode/electricalrelay/ElectricalRelayRender.java +++ b/src/main/java/mods/eln/sixnode/electricalrelay/ElectricalRelayRender.java @@ -2,6 +2,7 @@ import mods.eln.Eln; import mods.eln.cable.CableRenderDescriptor; +import mods.eln.init.Cable; import mods.eln.misc.Direction; import mods.eln.misc.LRDU; import mods.eln.misc.RcInterpolator; @@ -78,7 +79,7 @@ public GuiScreen newGuiDraw(Direction side, EntityPlayer player) { @Override public CableRenderDescriptor getCableRender(LRDU lrdu) { - if (lrdu == front) return Eln.instance.signalCableDescriptor.render; + if (lrdu == front) return Cable.Companion.getSignal().descriptor.render; if (lrdu == front.left() || lrdu == front.right()) return descriptor.cable.render; return null; } diff --git a/src/main/java/mods/eln/sixnode/electricalsensor/ElectricalSensorElement.java b/src/main/java/mods/eln/sixnode/electricalsensor/ElectricalSensorElement.java index e9afff329..eaa23cd17 100644 --- a/src/main/java/mods/eln/sixnode/electricalsensor/ElectricalSensorElement.java +++ b/src/main/java/mods/eln/sixnode/electricalsensor/ElectricalSensorElement.java @@ -2,6 +2,8 @@ import mods.eln.Eln; import mods.eln.i18n.I18N; +import mods.eln.init.Cable; +import mods.eln.init.Config; import mods.eln.misc.Direction; import mods.eln.misc.LRDU; import mods.eln.misc.Utils; @@ -160,7 +162,7 @@ public String multiMeterString() { public Map getWaila() { Map info = new HashMap(); info.put(I18N.tr("Output voltage"), Utils.plotVolt("", outputGate.getU())); - if (Eln.wailaEasyMode) { + if (Config.INSTANCE.getWailaEasyMode()) { switch (typeOfSensor) { case voltageType: info.put(I18N.tr("Measured voltage"), Utils.plotVolt("", aLoad.getU())); @@ -199,10 +201,10 @@ public void networkSerialize(DataOutputStream stream) { @Override public void initialize() { - Eln.instance.signalCableDescriptor.applyTo(outputGate); + Cable.Companion.getSignal().descriptor.applyTo(outputGate); computeElectricalLoad(); - Eln.applySmallRs(aLoad); - if (bLoad != null) Eln.applySmallRs(bLoad); + Cable.applySmallRs(aLoad); + if (bLoad != null) Cable.applySmallRs(bLoad); } @Override diff --git a/src/main/java/mods/eln/sixnode/electricalsensor/ElectricalSensorProcess.java b/src/main/java/mods/eln/sixnode/electricalsensor/ElectricalSensorProcess.java index 02e06e92d..6514c0413 100644 --- a/src/main/java/mods/eln/sixnode/electricalsensor/ElectricalSensorProcess.java +++ b/src/main/java/mods/eln/sixnode/electricalsensor/ElectricalSensorProcess.java @@ -1,6 +1,7 @@ package mods.eln.sixnode.electricalsensor; import mods.eln.Eln; +import mods.eln.init.Cable; import mods.eln.sim.IProcess; public class ElectricalSensorProcess implements IProcess { @@ -49,8 +50,8 @@ public void process(double time) { } void setOutput(double physical) { - double U = (physical - sensor.lowValue) / (sensor.highValue - sensor.lowValue) * Eln.SVU; - if (U > Eln.SVU) U = Eln.SVU; + double U = (physical - sensor.lowValue) / (sensor.highValue - sensor.lowValue) * Cable.SVU; + if (U > Cable.SVU) U = Cable.SVU; if (U < 0) U = 0; sensor.outputGateProcess.setU(U); } diff --git a/src/main/java/mods/eln/sixnode/electricalsensor/ElectricalSensorRender.java b/src/main/java/mods/eln/sixnode/electricalsensor/ElectricalSensorRender.java index 83ddc2014..9cde9264f 100644 --- a/src/main/java/mods/eln/sixnode/electricalsensor/ElectricalSensorRender.java +++ b/src/main/java/mods/eln/sixnode/electricalsensor/ElectricalSensorRender.java @@ -2,6 +2,7 @@ import mods.eln.Eln; import mods.eln.cable.CableRenderDescriptor; +import mods.eln.init.Cable; import mods.eln.misc.Direction; import mods.eln.misc.LRDU; import mods.eln.misc.Utils; @@ -66,10 +67,10 @@ public void publishUnserialize(DataInputStream stream) { @Override public CableRenderDescriptor getCableRender(LRDU lrdu) { if (descriptor.voltageOnly) { - if (lrdu == front) return Eln.instance.signalCableDescriptor.render; + if (lrdu == front) return Cable.Companion.getSignal().descriptor.render; if (lrdu == front.inverse()) return cableRender; } else { - if (lrdu == front) return Eln.instance.signalCableDescriptor.render; + if (lrdu == front) return Cable.Companion.getSignal().descriptor.render; if (lrdu == front.left() || lrdu == front.right()) return cableRender; } return super.getCableRender(lrdu); diff --git a/src/main/java/mods/eln/sixnode/electricalsource/ElectricalSourceDescriptor.java b/src/main/java/mods/eln/sixnode/electricalsource/ElectricalSourceDescriptor.java index cce62cd25..d1018ea8b 100644 --- a/src/main/java/mods/eln/sixnode/electricalsource/ElectricalSourceDescriptor.java +++ b/src/main/java/mods/eln/sixnode/electricalsource/ElectricalSourceDescriptor.java @@ -1,6 +1,7 @@ package mods.eln.sixnode.electricalsource; import mods.eln.Eln; +import mods.eln.init.Cable; import mods.eln.misc.*; import mods.eln.misc.Obj3D.Obj3DPart; import mods.eln.node.six.SixNodeDescriptor; @@ -59,7 +60,7 @@ public void addInformation(ItemStack itemStack, EntityPlayer entityPlayer, List super.addInformation(itemStack, entityPlayer, list, par4); Collections.addAll(list, tr("Provides an ideal voltage source\nwithout energy or power limitation.").split("\\\n")); list.add(""); - list.add(tr("Internal resistance: %s\u2126", Utils.plotValue(Eln.instance.lowVoltageCableDescriptor.electricalRs))); + list.add(tr("Internal resistance: %s\u2126", Utils.plotValue(Cable.Companion.getLowVoltage().descriptor.electricalRs))); list.add(""); list.add(tr("Creative block.")); } diff --git a/src/main/java/mods/eln/sixnode/electricalsource/ElectricalSourceElement.java b/src/main/java/mods/eln/sixnode/electricalsource/ElectricalSourceElement.java index b0842a14f..8107a9aa0 100644 --- a/src/main/java/mods/eln/sixnode/electricalsource/ElectricalSourceElement.java +++ b/src/main/java/mods/eln/sixnode/electricalsource/ElectricalSourceElement.java @@ -3,6 +3,8 @@ import mods.eln.Eln; import mods.eln.generic.GenericItemUsingDamageDescriptor; import mods.eln.i18n.I18N; +import mods.eln.init.Cable; +import mods.eln.init.Config; import mods.eln.item.BrushDescriptor; import mods.eln.misc.Direction; import mods.eln.misc.LRDU; @@ -96,7 +98,7 @@ public Map getWaila() { Map info = new HashMap(); info.put(I18N.tr("Voltage"), Utils.plotVolt("", electricalLoad.getU())); info.put(I18N.tr("Current"), Utils.plotAmpere("", electricalLoad.getCurrent())); - if (Eln.wailaEasyMode) { + if (Config.INSTANCE.getWailaEasyMode()) { info.put(I18N.tr("Power"), Utils.plotPower("", electricalLoad.getU() * electricalLoad.getI())); } return info; @@ -120,7 +122,7 @@ public void networkSerialize(DataOutputStream stream) { @Override public void initialize() { - Eln.applySmallRs(electricalLoad); + Cable.applySmallRs(electricalLoad); } @Override diff --git a/src/main/java/mods/eln/sixnode/electricalsource/ElectricalSourceRender.java b/src/main/java/mods/eln/sixnode/electricalsource/ElectricalSourceRender.java index f0e21a193..fbdaa82c9 100644 --- a/src/main/java/mods/eln/sixnode/electricalsource/ElectricalSourceRender.java +++ b/src/main/java/mods/eln/sixnode/electricalsource/ElectricalSourceRender.java @@ -2,6 +2,7 @@ import mods.eln.Eln; import mods.eln.cable.CableRenderDescriptor; +import mods.eln.init.Cable; import mods.eln.misc.Direction; import mods.eln.misc.LRDU; import mods.eln.node.six.SixNodeDescriptor; @@ -57,13 +58,13 @@ public GuiScreen newGuiDraw(Direction side, EntityPlayer player) { @Override public CableRenderDescriptor getCableRender(LRDU lrdu) { - if (descriptor.isSignalSource()) return Eln.instance.signalCableDescriptor.render; - if (voltage < Eln.instance.lowVoltageCableDescriptor.electricalMaximalVoltage) - return Eln.instance.lowVoltageCableDescriptor.render; - if (voltage < Eln.instance.meduimVoltageCableDescriptor.electricalMaximalVoltage) - return Eln.instance.meduimVoltageCableDescriptor.render; - if (voltage > Eln.instance.highVoltageCableDescriptor.electricalMaximalVoltage) - return Eln.instance.highVoltageCableDescriptor.render; - return Eln.instance.veryHighVoltageCableDescriptor.render; + if (descriptor.isSignalSource()) return Cable.Companion.getSignal().descriptor.render; + if (voltage < Cable.Companion.getLowVoltage().descriptor.electricalMaximalVoltage) + return Cable.Companion.getLowVoltage().descriptor.render; + if (voltage < Cable.Companion.getMediumVoltage().descriptor.electricalMaximalVoltage) + return Cable.Companion.getMediumVoltage().descriptor.render; + if (voltage > Cable.Companion.getHighVoltage().descriptor.electricalMaximalVoltage) + return Cable.Companion.getHighVoltage().descriptor.render; + return Cable.Companion.getVeryHighVoltage().descriptor.render; } } diff --git a/src/main/java/mods/eln/sixnode/electricalswitch/ElectricalSwitchDescriptor.java b/src/main/java/mods/eln/sixnode/electricalswitch/ElectricalSwitchDescriptor.java index 6607b9a6a..b9829f4cd 100644 --- a/src/main/java/mods/eln/sixnode/electricalswitch/ElectricalSwitchDescriptor.java +++ b/src/main/java/mods/eln/sixnode/electricalswitch/ElectricalSwitchDescriptor.java @@ -2,6 +2,7 @@ import mods.eln.Eln; import mods.eln.cable.CableRenderDescriptor; +import mods.eln.init.Cable; import mods.eln.misc.*; import mods.eln.misc.Obj3D.Obj3DPart; import mods.eln.node.NodeBase; @@ -53,9 +54,7 @@ public ElectricalSwitchDescriptor( boolean signalSwitch) { super(name, ElectricalSwitchElement.class, ElectricalSwitchRender.class); - if (!Eln.noSymbols) { - setDefaultIcon("switch"); - } + setDefaultIcon("switch"); this.nominalVoltage = nominalVoltage; this.nominalPower = nominalPower; @@ -175,7 +174,7 @@ public void draw(float on, float distance, TileEntity e) { break; case Lever: GL11.glPushMatrix(); - if (nominalVoltage <= Eln.MVU) { + if (nominalVoltage <= Cable.MVU) { GL11.glScaled(0.5f, 0.5f, 0.5f); } diff --git a/src/main/java/mods/eln/sixnode/electricalswitch/ElectricalSwitchElement.java b/src/main/java/mods/eln/sixnode/electricalswitch/ElectricalSwitchElement.java index 034cd33cf..ee9729663 100644 --- a/src/main/java/mods/eln/sixnode/electricalswitch/ElectricalSwitchElement.java +++ b/src/main/java/mods/eln/sixnode/electricalswitch/ElectricalSwitchElement.java @@ -2,6 +2,8 @@ import mods.eln.Eln; import mods.eln.i18n.I18N; +import mods.eln.init.Config; +import mods.eln.init.Items; import mods.eln.misc.Direction; import mods.eln.misc.LRDU; import mods.eln.misc.Utils; @@ -113,7 +115,7 @@ public Map getWaila() { Map info = new HashMap(); info.put(I18N.tr("Position"), switchState ? I18N.tr("Closed") : I18N.tr("Open")); info.put(I18N.tr("Current"), Utils.plotAmpere("", aLoad.getCurrent())); - if (Eln.wailaEasyMode) { + if (Config.INSTANCE.getWailaEasyMode()) { info.put(I18N.tr("Voltages"), Utils.plotVolt("", aLoad.getU()) + Utils.plotVolt(" ", bLoad.getU())); } return info; @@ -161,22 +163,19 @@ public void initialize() { @Override public boolean onBlockActivated(EntityPlayer entityPlayer, Direction side, float vx, float vy, float vz) { if (onBlockActivatedRotate(entityPlayer)) return true; - ItemStack currentItemStack = entityPlayer.getHeldItemMainhand(); - if (Eln.multiMeterElement.checkSameItemStack(entityPlayer.getHeldItemMainhand())) { + if (Items.multiMeterElement.checkSameItemStack(entityPlayer.getHeldItemMainhand())) { return false; } - if (Eln.thermometerElement.checkSameItemStack(entityPlayer.getHeldItemMainhand())) { + if (Items.thermometerElement.checkSameItemStack(entityPlayer.getHeldItemMainhand())) { return false; } - if (Eln.allMeterElement.checkSameItemStack(entityPlayer.getHeldItemMainhand())) { + if (Items.allMeterElement.checkSameItemStack(entityPlayer.getHeldItemMainhand())) { return false; } else { setSwitchState(!switchState); - //playSoundEffect("random.click", 0.3F, 0.6F); play(new SoundCommand("random.click").mulVolume(0.3F, 0.6f).smallRange()); return true; } - //front = LRDU.from((front.toInt()+1)&3); } } diff --git a/src/main/java/mods/eln/sixnode/electricaltimeout/ElectricalTimeoutElement.java b/src/main/java/mods/eln/sixnode/electricaltimeout/ElectricalTimeoutElement.java index 50cab50e2..40491462d 100644 --- a/src/main/java/mods/eln/sixnode/electricaltimeout/ElectricalTimeoutElement.java +++ b/src/main/java/mods/eln/sixnode/electricaltimeout/ElectricalTimeoutElement.java @@ -2,6 +2,7 @@ import mods.eln.Eln; import mods.eln.i18n.I18N; +import mods.eln.init.Config; import mods.eln.misc.Direction; import mods.eln.misc.LRDU; import mods.eln.misc.Utils; @@ -101,7 +102,7 @@ public Map getWaila() { Map info = new HashMap(); info.put(I18N.tr("Input"), inputGate.stateHigh() ? I18N.tr("ON") : I18N.tr("OFF")); info.put(I18N.tr("Output"), timeOutCounter > 0 ? I18N.tr("ON") : I18N.tr("OFF")); - if (Eln.wailaEasyMode) { + if (Config.INSTANCE.getWailaEasyMode()) { info.put(I18N.tr("Remaining"), Utils.plotValue(timeOutCounter, "s")); } return info; diff --git a/src/main/java/mods/eln/sixnode/electricaltimeout/ElectricalTimeoutRender.java b/src/main/java/mods/eln/sixnode/electricaltimeout/ElectricalTimeoutRender.java index bfe3ac6de..878e5a9f7 100644 --- a/src/main/java/mods/eln/sixnode/electricaltimeout/ElectricalTimeoutRender.java +++ b/src/main/java/mods/eln/sixnode/electricaltimeout/ElectricalTimeoutRender.java @@ -2,6 +2,7 @@ import mods.eln.Eln; import mods.eln.cable.CableRenderDescriptor; +import mods.eln.init.Cable; import mods.eln.misc.Direction; import mods.eln.misc.LRDU; import mods.eln.node.six.SixNodeDescriptor; @@ -64,7 +65,7 @@ public void publishUnserialize(DataInputStream stream) { @Override public CableRenderDescriptor getCableRender(LRDU lrdu) { - return Eln.instance.signalCableDescriptor.render; + return Cable.Companion.getSignal().descriptor.render; } @Override diff --git a/src/main/java/mods/eln/sixnode/electricalvumeter/ElectricalVuMeterDescriptor.java b/src/main/java/mods/eln/sixnode/electricalvumeter/ElectricalVuMeterDescriptor.java index 6050dd944..15cc36be8 100644 --- a/src/main/java/mods/eln/sixnode/electricalvumeter/ElectricalVuMeterDescriptor.java +++ b/src/main/java/mods/eln/sixnode/electricalvumeter/ElectricalVuMeterDescriptor.java @@ -33,7 +33,7 @@ enum ObjType {Rot, LedOnOff} public ElectricalVuMeterDescriptor(String name, String objName, boolean onOffOnly) { super(name, ElectricalVuMeterElement.class, ElectricalVuMeterRender.class); this.onOffOnly = onOffOnly; - obj = Eln.instance.obj.getObj(objName); + obj = Eln.obj.getObj(objName); if (obj != null) { if (obj.getString("type").toLowerCase().equals("rot")) { diff --git a/src/main/java/mods/eln/sixnode/electricalvumeter/ElectricalVuMeterElement.java b/src/main/java/mods/eln/sixnode/electricalvumeter/ElectricalVuMeterElement.java index 90a30535d..78b468249 100644 --- a/src/main/java/mods/eln/sixnode/electricalvumeter/ElectricalVuMeterElement.java +++ b/src/main/java/mods/eln/sixnode/electricalvumeter/ElectricalVuMeterElement.java @@ -2,6 +2,7 @@ import mods.eln.Eln; import mods.eln.i18n.I18N; +import mods.eln.init.Cable; import mods.eln.misc.Direction; import mods.eln.misc.LRDU; import mods.eln.misc.Utils; @@ -91,7 +92,7 @@ public void networkSerialize(DataOutputStream stream) { super.networkSerialize(stream); try { stream.writeByte(front.toInt() << 4); - stream.writeFloat((float) (inputGate.getU() / Eln.instance.SVU)); + stream.writeFloat((float) (inputGate.getU() / Cable.SVU)); } catch (IOException e) { e.printStackTrace(); } diff --git a/src/main/java/mods/eln/sixnode/electricalvumeter/ElectricalVuMeterRender.java b/src/main/java/mods/eln/sixnode/electricalvumeter/ElectricalVuMeterRender.java index 2d18d67d3..58646ee30 100644 --- a/src/main/java/mods/eln/sixnode/electricalvumeter/ElectricalVuMeterRender.java +++ b/src/main/java/mods/eln/sixnode/electricalvumeter/ElectricalVuMeterRender.java @@ -2,6 +2,7 @@ import mods.eln.Eln; import mods.eln.cable.CableRenderDescriptor; +import mods.eln.init.Cable; import mods.eln.misc.Direction; import mods.eln.misc.LRDU; import mods.eln.misc.PhysicalInterpolator; @@ -73,6 +74,6 @@ public void publishUnserialize(DataInputStream stream) { @Override public CableRenderDescriptor getCableRender(LRDU lrdu) { - return Eln.instance.signalCableDescriptor.render; + return Cable.Companion.getSignal().descriptor.render; } } diff --git a/src/main/java/mods/eln/sixnode/electricalwatch/ElectricalWatchContainer.java b/src/main/java/mods/eln/sixnode/electricalwatch/ElectricalWatchContainer.java index 398acbb3d..8c55036c8 100644 --- a/src/main/java/mods/eln/sixnode/electricalwatch/ElectricalWatchContainer.java +++ b/src/main/java/mods/eln/sixnode/electricalwatch/ElectricalWatchContainer.java @@ -21,5 +21,5 @@ public ElectricalWatchContainer(EntityPlayer player, IInventory inventory) { } } /* new SlotFilter(inventory, 0, 62 + 0, 17, new ItemStackFilter[]{new ItemStackFilter(Block.wood, 0, 0)}), - new SlotFilter(inventory, 1, 62 + 18, 17, new ItemStackFilter[]{new ItemStackFilter(Item.coal, 0, 0)}) + new SlotFilter(inventory, 1, 62 + 18, 17, new ItemStackFilter[]{new ItemStackFilter(Items.coal, 0, 0)}) */ diff --git a/src/main/java/mods/eln/sixnode/electricalweathersensor/ElectricalWeatherSensorDescriptor.java b/src/main/java/mods/eln/sixnode/electricalweathersensor/ElectricalWeatherSensorDescriptor.java index 45bcae30b..67a1915b5 100644 --- a/src/main/java/mods/eln/sixnode/electricalweathersensor/ElectricalWeatherSensorDescriptor.java +++ b/src/main/java/mods/eln/sixnode/electricalweathersensor/ElectricalWeatherSensorDescriptor.java @@ -1,6 +1,7 @@ package mods.eln.sixnode.electricalweathersensor; import mods.eln.Eln; +import mods.eln.init.Cable; import mods.eln.misc.*; import mods.eln.misc.Obj3D.Obj3DPart; import mods.eln.node.six.SixNodeDescriptor; @@ -52,8 +53,8 @@ public void addInformation(ItemStack itemStack, EntityPlayer entityPlayer, List super.addInformation(itemStack, entityPlayer, list, par4); Collections.addAll(list, tr("Provides an electrical signal\ndepending the actual weather.").split("\n")); list.add(tr("Clear: %sV", 0)); - list.add(tr("Rain: %sV", Utils.plotValue(Eln.SVU / 2))); - list.add(tr("Storm: %sV", Utils.plotValue(Eln.SVU))); + list.add(tr("Rain: %sV", Utils.plotValue(Cable.SVU / 2))); + list.add(tr("Storm: %sV", Utils.plotValue(Cable.SVU))); } // TODO(1.10): Fix item render. diff --git a/src/main/java/mods/eln/sixnode/electricalweathersensor/ElectricalWeatherSensorRender.java b/src/main/java/mods/eln/sixnode/electricalweathersensor/ElectricalWeatherSensorRender.java index 04cfe5ac4..faefc7282 100644 --- a/src/main/java/mods/eln/sixnode/electricalweathersensor/ElectricalWeatherSensorRender.java +++ b/src/main/java/mods/eln/sixnode/electricalweathersensor/ElectricalWeatherSensorRender.java @@ -2,6 +2,7 @@ import mods.eln.Eln; import mods.eln.cable.CableRenderDescriptor; +import mods.eln.init.Cable; import mods.eln.misc.Direction; import mods.eln.misc.LRDU; import mods.eln.node.six.SixNodeDescriptor; @@ -27,6 +28,6 @@ public void draw() { @Override public CableRenderDescriptor getCableRender(LRDU lrdu) { - return Eln.instance.signalCableDescriptor.render; + return Cable.Companion.getSignal().descriptor.render; } } diff --git a/src/main/java/mods/eln/sixnode/electricalwindsensor/ElectricalWindSensorRender.java b/src/main/java/mods/eln/sixnode/electricalwindsensor/ElectricalWindSensorRender.java index 142845b05..1df2cf336 100644 --- a/src/main/java/mods/eln/sixnode/electricalwindsensor/ElectricalWindSensorRender.java +++ b/src/main/java/mods/eln/sixnode/electricalwindsensor/ElectricalWindSensorRender.java @@ -2,6 +2,7 @@ import mods.eln.Eln; import mods.eln.cable.CableRenderDescriptor; +import mods.eln.init.Cable; import mods.eln.misc.Direction; import mods.eln.misc.LRDU; import mods.eln.misc.RcInterpolator; @@ -44,7 +45,7 @@ public void refresh(float deltaT) { @Override public CableRenderDescriptor getCableRender(LRDU lrdu) { - return Eln.instance.signalCableDescriptor.render; + return Cable.Companion.getSignal().descriptor.render; } @Override diff --git a/src/main/java/mods/eln/sixnode/energymeter/EnergyMeterElement.java b/src/main/java/mods/eln/sixnode/energymeter/EnergyMeterElement.java index 0c5cea8c6..b6c656d81 100644 --- a/src/main/java/mods/eln/sixnode/energymeter/EnergyMeterElement.java +++ b/src/main/java/mods/eln/sixnode/energymeter/EnergyMeterElement.java @@ -2,6 +2,7 @@ import mods.eln.Eln; import mods.eln.i18n.I18N; +import mods.eln.init.Cable; import mods.eln.misc.Direction; import mods.eln.misc.LRDU; import mods.eln.misc.Utils; @@ -46,8 +47,6 @@ public class EnergyMeterElement extends SixNodeElement { SixNodeElementInventory inventory = new SixNodeElementInventory(1, 64, this); - public float voltageMax = (float) Eln.SVU, voltageMin = 0; - int energyUnit = 1, timeUnit = 0; public ElectricalCableDescriptor cableDescriptor = null; @@ -188,7 +187,7 @@ protected void inventoryChanged() { public void computeElectricalLoad() { ItemStack cable = inventory.getStackInSlot(EnergyMeterContainer.cableSlotId); - cableDescriptor = (ElectricalCableDescriptor) Eln.sixNodeItem.getDescriptor(cable); + cableDescriptor = null; // TODO(1.12): (ElectricalCableDescriptor) Eln.sixNodeItem.getDescriptor(cable); if (cableDescriptor == null) { aLoad.highImpedance(); bLoad.highImpedance(); @@ -314,7 +313,7 @@ public void process(double time) { } if (highImp) shunt.ultraImpedance(); - else Eln.applySmallRs(shunt); + else Cable.Companion.applySmallRs(shunt); publishTimeout -= time; if (publishTimeout < 0) { diff --git a/src/main/java/mods/eln/sixnode/groundcable/GroundCableDescriptor.java b/src/main/java/mods/eln/sixnode/groundcable/GroundCableDescriptor.java index 168b087e7..e2915b450 100644 --- a/src/main/java/mods/eln/sixnode/groundcable/GroundCableDescriptor.java +++ b/src/main/java/mods/eln/sixnode/groundcable/GroundCableDescriptor.java @@ -1,6 +1,7 @@ package mods.eln.sixnode.groundcable; import mods.eln.Eln; +import mods.eln.init.Cable; import mods.eln.misc.*; import mods.eln.misc.Obj3D.Obj3DPart; import mods.eln.node.six.SixNodeDescriptor; @@ -43,7 +44,7 @@ public void addInformation(ItemStack itemStack, EntityPlayer entityPlayer, List super.addInformation(itemStack, entityPlayer, list, par4); list.add(tr("Provides a zero volt reference.")); Collections.addAll(list, tr("Can be used to set a point of an\nelectrical network to 0V potential.\nFor example to ground negative battery contacts.").split("\n")); - list.add(tr("Internal resistance: %s\u2126", Utils.plotValue(Eln.getSmallRs()))); + list.add(tr("Internal resistance: %s\u2126", Utils.plotValue(Cable.Companion.getSmallRs()))); } @Override diff --git a/src/main/java/mods/eln/sixnode/groundcable/GroundCableElement.java b/src/main/java/mods/eln/sixnode/groundcable/GroundCableElement.java index 3c7dabbdc..de94d4aa0 100644 --- a/src/main/java/mods/eln/sixnode/groundcable/GroundCableElement.java +++ b/src/main/java/mods/eln/sixnode/groundcable/GroundCableElement.java @@ -3,6 +3,7 @@ import mods.eln.Eln; import mods.eln.generic.GenericItemUsingDamageDescriptor; import mods.eln.i18n.I18N; +import mods.eln.init.Cable; import mods.eln.item.BrushDescriptor; import mods.eln.misc.Direction; import mods.eln.misc.LRDU; @@ -117,7 +118,7 @@ public void networkSerialize(DataOutputStream stream) { @Override public void initialize() { - Eln.applySmallRs(electricalLoad); + Cable.applySmallRs(electricalLoad); } @Override diff --git a/src/main/java/mods/eln/sixnode/groundcable/GroundCableRender.java b/src/main/java/mods/eln/sixnode/groundcable/GroundCableRender.java index 705d6e7e3..b019e5483 100644 --- a/src/main/java/mods/eln/sixnode/groundcable/GroundCableRender.java +++ b/src/main/java/mods/eln/sixnode/groundcable/GroundCableRender.java @@ -2,6 +2,7 @@ import mods.eln.Eln; import mods.eln.cable.CableRenderDescriptor; +import mods.eln.init.Cable; import mods.eln.misc.Direction; import mods.eln.misc.Utils; import mods.eln.node.six.SixNodeDescriptor; @@ -56,7 +57,7 @@ public void publishUnserialize(DataInputStream stream) { ElectricalCableDescriptor desc = (ElectricalCableDescriptor) ElectricalCableDescriptor.getDescriptor(cableStack, ElectricalCableDescriptor.class); if (desc == null) - cableRender = Eln.instance.lowVoltageCableDescriptor.render; + cableRender = Cable.Companion.getLowVoltage().descriptor.render; else cableRender = desc.render; } catch (IOException e) { diff --git a/src/main/java/mods/eln/sixnode/hub/HubElement.java b/src/main/java/mods/eln/sixnode/hub/HubElement.java index e6a640a90..14355acc6 100644 --- a/src/main/java/mods/eln/sixnode/hub/HubElement.java +++ b/src/main/java/mods/eln/sixnode/hub/HubElement.java @@ -1,6 +1,7 @@ package mods.eln.sixnode.hub; import mods.eln.Eln; +import mods.eln.init.Cable; import mods.eln.misc.Direction; import mods.eln.misc.LRDU; import mods.eln.misc.Utils; @@ -124,7 +125,7 @@ public void networkSerialize(DataOutputStream stream) { public void initialize() { setup(); for (int idx = 0; idx < 4; idx++) { - Eln.applySmallRs(electricalLoad[idx]); + Cable.applySmallRs(electricalLoad[idx]); } } diff --git a/src/main/java/mods/eln/sixnode/lampsocket/LampSocketElement.java b/src/main/java/mods/eln/sixnode/lampsocket/LampSocketElement.java index 6bbc8d6d9..67668e1e9 100644 --- a/src/main/java/mods/eln/sixnode/lampsocket/LampSocketElement.java +++ b/src/main/java/mods/eln/sixnode/lampsocket/LampSocketElement.java @@ -3,6 +3,7 @@ import mods.eln.Eln; import mods.eln.generic.GenericItemUsingDamageDescriptor; import mods.eln.i18n.I18N; +import mods.eln.init.Config; import mods.eln.item.BrushDescriptor; import mods.eln.item.LampDescriptor; import mods.eln.misc.Direction; @@ -15,7 +16,6 @@ import mods.eln.node.six.SixNodeElement; import mods.eln.node.six.SixNodeElementInventory; import mods.eln.sim.ElectricalLoad; -import mods.eln.sim.MonsterPopFreeProcess; import mods.eln.sim.ThermalLoad; import mods.eln.sim.mna.component.Resistor; import mods.eln.sim.nbt.NbtElectricalLoad; @@ -37,7 +37,6 @@ public class LampSocketElement extends SixNodeElement { LampSocketDescriptor socketDescriptor = null; - public MonsterPopFreeProcess monsterPopFreeProcess = new MonsterPopFreeProcess(sixNode.coordinate, Eln.instance.killMonstersAroundLampsRange); public NbtElectricalLoad positiveLoad = new NbtElectricalLoad("positiveLoad"); public LampSocketProcess lampProcess = new LampSocketProcess(this); @@ -70,10 +69,8 @@ public LampSocketElement(SixNode sixNode, Direction side, SixNodeDescriptor desc lampProcess.alphaZ = this.socketDescriptor.alphaZBoot; slowProcessList.add(lampProcess); - slowProcessList.add(monsterPopFreeProcess); } - @Override public IInventory getInventory() { if (acceptingInventory != null) @@ -222,7 +219,7 @@ public Map getWaila() { } else { info.put(I18N.tr("Bulb"), I18N.tr("None")); } - if (Eln.wailaEasyMode) { + if (Config.INSTANCE.getWailaEasyMode()) { if (poweredByLampSupply) { info.put(I18N.tr("Channel"), channel); } diff --git a/src/main/java/mods/eln/sixnode/lampsocket/LampSocketProcess.java b/src/main/java/mods/eln/sixnode/lampsocket/LampSocketProcess.java index 7f518f248..7bd6d5104 100644 --- a/src/main/java/mods/eln/sixnode/lampsocket/LampSocketProcess.java +++ b/src/main/java/mods/eln/sixnode/lampsocket/LampSocketProcess.java @@ -3,6 +3,8 @@ import mods.eln.Eln; import mods.eln.generic.GenericItemUsingDamage; import mods.eln.generic.GenericItemUsingDamageDescriptor; +import mods.eln.init.Config; +import mods.eln.init.ModBlock; import mods.eln.item.LampDescriptor; import mods.eln.item.LampDescriptor.Type; import mods.eln.misc.Coordinate; @@ -223,7 +225,7 @@ public void process(double time) { updateLifeTimeout += deltaT; if (updateLifeTimeout > updateLifeTimeoutMax && - !(lampDescriptor.type == Type.LED && Eln.ledLampInfiniteLife)) { + !(lampDescriptor.type == Type.LED && Config.INSTANCE.getLedLampInfiniteLife())) { // Utils.println("aging"); updateLifeTimeout -= updateLifeTimeoutMax; double lifeLost = overFactor * updateLifeTimeoutMax / lampDescriptor.nominalLife; @@ -302,7 +304,7 @@ void placeSpot(int newLight) { int count = 0; while (!newCoord.equals(myCoord())) { Block block = newCoord.getBlockState().getBlock(); - if (newCoord.world().isAirBlock(newCoord.pos) || block == Eln.lightBlock) { + if (newCoord.world().isAirBlock(newCoord.pos) || block == ModBlock.lightBlock) { count++; if (count == 2) break; diff --git a/src/main/java/mods/eln/sixnode/lampsocket/LightBlockEntity.java b/src/main/java/mods/eln/sixnode/lampsocket/LightBlockEntity.java index 59d24c3b9..492b85276 100644 --- a/src/main/java/mods/eln/sixnode/lampsocket/LightBlockEntity.java +++ b/src/main/java/mods/eln/sixnode/lampsocket/LightBlockEntity.java @@ -1,6 +1,7 @@ package mods.eln.sixnode.lampsocket; import mods.eln.Eln; +import mods.eln.init.ModBlock; import mods.eln.misc.Coordinate; import mods.eln.misc.INBTTReady; import mods.eln.misc.Utils; @@ -119,7 +120,7 @@ public void updateEntity() { // world.setBlockMetadataWithNotify(xCoord, yCoord, zCoord, 1, 2); world.setBlockToAir(pos); //world.updateLightByType(EnumSkyBlock.Block, xCoord, yCoord, zCoord); - //Eln.instance.tileEntityDestructor.add(this); + //Eln.tileEntityDestructor.add(this); Utils.println("Destroy light at " + pos.getX() + " " + pos.getY() + " " + pos.getZ() + " "); return; } @@ -146,14 +147,14 @@ public void updateEntity() { public static void addLight(World w, BlockPos pos, int light, int timeout) { Block block = w.getBlockState(pos).getBlock(); - if (block != Eln.lightBlock) { + if (block != ModBlock.lightBlock) { if (block != Blocks.AIR) return; - w.setBlockState(pos, Eln.lightBlock.getDefaultState()); + w.setBlockState(pos, ModBlock.lightBlock.getDefaultState()); w.setLightFor(EnumSkyBlock.BLOCK, pos, 2); } TileEntity t = w.getTileEntity(pos); - if (t != null && t instanceof LightBlockEntity) + if (t instanceof LightBlockEntity) ((LightBlockEntity) t).addLight(light, timeout); else Utils.println("ASSERT if(t != null && t instanceof LightBlockEntity)"); diff --git a/src/main/java/mods/eln/sixnode/lampsupply/LampSupplyElement.java b/src/main/java/mods/eln/sixnode/lampsupply/LampSupplyElement.java index eb4bdd387..3dbdc4ffb 100644 --- a/src/main/java/mods/eln/sixnode/lampsupply/LampSupplyElement.java +++ b/src/main/java/mods/eln/sixnode/lampsupply/LampSupplyElement.java @@ -2,6 +2,7 @@ import mods.eln.Eln; import mods.eln.i18n.I18N; +import mods.eln.init.Config; import mods.eln.misc.Direction; import mods.eln.misc.LRDU; import mods.eln.misc.Utils; @@ -227,7 +228,7 @@ public Map getWaila() { } } info.put(I18N.tr("Total power"), Utils.plotPower("", powerLoad.getU() * powerLoad.getI())); - if (Eln.wailaEasyMode) { + if (Config.INSTANCE.getWailaEasyMode()) { info.put(I18N.tr("Voltage"), Utils.plotVolt("", powerLoad.getU())); } return info; diff --git a/src/main/java/mods/eln/sixnode/modbusrtu/ModbusRtuElement.java b/src/main/java/mods/eln/sixnode/modbusrtu/ModbusRtuElement.java index 579472371..6f84146d6 100644 --- a/src/main/java/mods/eln/sixnode/modbusrtu/ModbusRtuElement.java +++ b/src/main/java/mods/eln/sixnode/modbusrtu/ModbusRtuElement.java @@ -2,6 +2,7 @@ import mods.eln.Eln; import mods.eln.i18n.I18N; +import mods.eln.init.Config; import mods.eln.misc.Direction; import mods.eln.misc.LRDU; import mods.eln.misc.Utils; @@ -141,7 +142,7 @@ public String multiMeterString() { @Override public Map getWaila() { Map info = new HashMap(); - if (Eln.modbusEnable) { + if (Config.INSTANCE.getModbusEnable()) { info.put(I18N.tr("Modbus TCP"), Eln.modbusServer.getHost() + ":" + Eln.modbusServer.getPort()); info.put(I18N.tr("Modbus Unit ID"), String.valueOf(station)); } else { diff --git a/src/main/java/mods/eln/sixnode/modbusrtu/ModbusRtuRender.java b/src/main/java/mods/eln/sixnode/modbusrtu/ModbusRtuRender.java index 6a091b012..ad598d968 100644 --- a/src/main/java/mods/eln/sixnode/modbusrtu/ModbusRtuRender.java +++ b/src/main/java/mods/eln/sixnode/modbusrtu/ModbusRtuRender.java @@ -2,6 +2,7 @@ import mods.eln.Eln; import mods.eln.cable.CableRenderDescriptor; +import mods.eln.init.Cable; import mods.eln.misc.*; import mods.eln.node.six.SixNodeDescriptor; import mods.eln.node.six.SixNodeElementRender; @@ -151,6 +152,6 @@ public GuiScreen newGuiDraw(Direction side, EntityPlayer player) { } public CableRenderDescriptor getCableRender(LRDU lrdu) { - return Eln.instance.signalCableDescriptor.render; + return Cable.Companion.getSignal().descriptor.render; } } diff --git a/src/main/java/mods/eln/sixnode/modbusrtu/ModbusTcpServer.kt b/src/main/java/mods/eln/sixnode/modbusrtu/ModbusTcpServer.kt index 93cfb7256..e2a52cd87 100644 --- a/src/main/java/mods/eln/sixnode/modbusrtu/ModbusTcpServer.kt +++ b/src/main/java/mods/eln/sixnode/modbusrtu/ModbusTcpServer.kt @@ -1,6 +1,6 @@ package mods.eln.sixnode.modbusrtu -import mods.eln.Eln +import mods.eln.init.Config import mods.eln.misc.Utils import java.io.OutputStream import java.net.* @@ -18,7 +18,7 @@ class ModbusTcpServer(port: Int = 1502) { private val slaves = TreeMap() init { - if (Eln.modbusEnable) { + if (Config.modbusEnable) { try { server.bind(InetSocketAddress(port)) } catch (e: BindException) { diff --git a/src/main/java/mods/eln/sixnode/modbusrtu/ServerWirelessTxStatus.java b/src/main/java/mods/eln/sixnode/modbusrtu/ServerWirelessTxStatus.java index 8f00686d4..2436cbf38 100644 --- a/src/main/java/mods/eln/sixnode/modbusrtu/ServerWirelessTxStatus.java +++ b/src/main/java/mods/eln/sixnode/modbusrtu/ServerWirelessTxStatus.java @@ -1,6 +1,7 @@ package mods.eln.sixnode.modbusrtu; import mods.eln.Eln; +import mods.eln.init.Config; import mods.eln.misc.Coordinate; import mods.eln.misc.Utils; import mods.eln.sixnode.wirelesssignal.IWirelessSignalTx; @@ -51,7 +52,7 @@ public Coordinate getCoordinate() { @Override public int getRange() { - return Eln.instance.wirelessTxRange; + return Config.INSTANCE.getWirelessTxRange(); } @Override diff --git a/src/main/java/mods/eln/sixnode/powercapacitorsix/PowerCapacitorSixDescriptor.java b/src/main/java/mods/eln/sixnode/powercapacitorsix/PowerCapacitorSixDescriptor.java index 036b63920..2c76c96bf 100644 --- a/src/main/java/mods/eln/sixnode/powercapacitorsix/PowerCapacitorSixDescriptor.java +++ b/src/main/java/mods/eln/sixnode/powercapacitorsix/PowerCapacitorSixDescriptor.java @@ -1,6 +1,7 @@ package mods.eln.sixnode.powercapacitorsix; import mods.eln.Eln; +import mods.eln.init.Cable; import mods.eln.item.DielectricItem; import mods.eln.misc.Direction; import mods.eln.misc.LRDU; @@ -45,7 +46,7 @@ public PowerCapacitorSixDescriptor(String name, public double getCValue(int cableCount, double nominalDielVoltage) { if (cableCount == 0) return 1e-6; - double uTemp = nominalDielVoltage / Eln.LVU; + double uTemp = nominalDielVoltage / Cable.LVU; return serie.getValue(cableCount - 1) / uTemp / uTemp; } diff --git a/src/main/java/mods/eln/sixnode/powercapacitorsix/PowerCapacitorSixElement.java b/src/main/java/mods/eln/sixnode/powercapacitorsix/PowerCapacitorSixElement.java index d9dd30620..b4007c2b0 100644 --- a/src/main/java/mods/eln/sixnode/powercapacitorsix/PowerCapacitorSixElement.java +++ b/src/main/java/mods/eln/sixnode/powercapacitorsix/PowerCapacitorSixElement.java @@ -2,6 +2,8 @@ import mods.eln.Eln; import mods.eln.i18n.I18N; +import mods.eln.init.Cable; +import mods.eln.init.Config; import mods.eln.misc.Direction; import mods.eln.misc.LRDU; import mods.eln.misc.Utils; @@ -105,7 +107,7 @@ public Map getWaila() { Map info = new HashMap(); info.put(I18N.tr("Capacity"), Utils.plotValue(capacitor.getC(), "F")); info.put(I18N.tr("Charge"), Utils.plotEnergy("", capacitor.getE())); - if (Eln.wailaEasyMode) { + if (Config.INSTANCE.getWailaEasyMode()) { info.put(I18N.tr("Voltage drop"), Utils.plotVolt("", Math.abs(capacitor.getU()))); info.put(I18N.tr("Current"), Utils.plotAmpere("", Math.abs(capacitor.getCurrent()))); @@ -120,8 +122,8 @@ public String thermoMeterString() { @Override public void initialize() { - Eln.applySmallRs(positiveLoad); - Eln.applySmallRs(negativeLoad); + Cable.applySmallRs(positiveLoad); + Cable.applySmallRs(negativeLoad); setupPhysical(); } diff --git a/src/main/java/mods/eln/sixnode/powerinductorsix/PowerInductorSixContainer.java b/src/main/java/mods/eln/sixnode/powerinductorsix/PowerInductorSixContainer.java index 16952177e..24c9e3145 100644 --- a/src/main/java/mods/eln/sixnode/powerinductorsix/PowerInductorSixContainer.java +++ b/src/main/java/mods/eln/sixnode/powerinductorsix/PowerInductorSixContainer.java @@ -27,5 +27,5 @@ public PowerInductorSixContainer(EntityPlayer player, IInventory inventory) { } } /* new SlotFilter(inventory, 0, 62 + 0, 17, new ItemStackFilter[]{new ItemStackFilter(Block.wood, 0, 0)}), - new SlotFilter(inventory, 1, 62 + 18, 17, new ItemStackFilter[]{new ItemStackFilter(Item.coal, 0, 0)}) + new SlotFilter(inventory, 1, 62 + 18, 17, new ItemStackFilter[]{new ItemStackFilter(Items.coal, 0, 0)}) */ diff --git a/src/main/java/mods/eln/sixnode/powerinductorsix/PowerInductorSixDescriptor.java b/src/main/java/mods/eln/sixnode/powerinductorsix/PowerInductorSixDescriptor.java index 45e294bde..965257cb7 100644 --- a/src/main/java/mods/eln/sixnode/powerinductorsix/PowerInductorSixDescriptor.java +++ b/src/main/java/mods/eln/sixnode/powerinductorsix/PowerInductorSixDescriptor.java @@ -1,6 +1,7 @@ package mods.eln.sixnode.powerinductorsix; import mods.eln.Eln; +import mods.eln.init.Cable; import mods.eln.item.FerromagneticCoreDescriptor; import mods.eln.misc.Direction; import mods.eln.misc.LRDU; @@ -57,7 +58,7 @@ public double getRsValue(IInventory inventory) { double coreFactor = coreDescriptor.cableMultiplicator; - return Eln.instance.lowVoltageCableDescriptor.electricalRs * coreFactor; + return Cable.Companion.getLowVoltage().descriptor.electricalRs * coreFactor; } public void setParent(net.minecraft.item.Item item, int damage) { diff --git a/src/main/java/mods/eln/sixnode/powerinductorsix/PowerInductorSixElement.java b/src/main/java/mods/eln/sixnode/powerinductorsix/PowerInductorSixElement.java index 0e24a9b76..184e6a5ca 100644 --- a/src/main/java/mods/eln/sixnode/powerinductorsix/PowerInductorSixElement.java +++ b/src/main/java/mods/eln/sixnode/powerinductorsix/PowerInductorSixElement.java @@ -2,6 +2,7 @@ import mods.eln.Eln; import mods.eln.i18n.I18N; +import mods.eln.init.Config; import mods.eln.misc.Direction; import mods.eln.misc.LRDU; import mods.eln.misc.Utils; @@ -75,7 +76,7 @@ public Map getWaila() { Map info = new HashMap(); info.put(I18N.tr("Inductance"), Utils.plotValue(inductor.getL(), "H")); info.put(I18N.tr("Charge"), Utils.plotEnergy("", inductor.getE())); - if (Eln.wailaEasyMode) { + if (Config.INSTANCE.getWailaEasyMode()) { info.put(I18N.tr("Voltage drop"), Utils.plotVolt("", Math.abs(inductor.getU()))); info.put(I18N.tr("Current"), Utils.plotAmpere("", Math.abs(inductor.getCurrent()))); } diff --git a/src/main/java/mods/eln/sixnode/resistor/ResistorElement.java b/src/main/java/mods/eln/sixnode/resistor/ResistorElement.java index 76a794c6f..7ebfea641 100644 --- a/src/main/java/mods/eln/sixnode/resistor/ResistorElement.java +++ b/src/main/java/mods/eln/sixnode/resistor/ResistorElement.java @@ -2,6 +2,7 @@ import mods.eln.Eln; import mods.eln.i18n.I18N; +import mods.eln.init.Config; import mods.eln.misc.Direction; import mods.eln.misc.LRDU; import mods.eln.misc.Utils; @@ -127,7 +128,7 @@ public Map getWaila() { Map info = new HashMap(); info.put(I18N.tr("Resistance"), Utils.plotValue(r.getR(), "\u2126")); info.put(I18N.tr("Voltage drop"), Utils.plotVolt("", Math.abs(r.getU()))); - if (Eln.wailaEasyMode) { + if (Config.INSTANCE.getWailaEasyMode()) { info.put(I18N.tr("Current"), Utils.plotAmpere("", Math.abs(r.getI()))); } diff --git a/src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorElement.java b/src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorElement.java index 46d2e725d..292a2698c 100644 --- a/src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorElement.java +++ b/src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorElement.java @@ -2,6 +2,9 @@ import mods.eln.Eln; import mods.eln.i18n.I18N; +import mods.eln.init.Cable; +import mods.eln.init.Config; +import mods.eln.init.Items; import mods.eln.misc.Direction; import mods.eln.misc.LRDU; import mods.eln.misc.Utils; @@ -145,7 +148,7 @@ public String multiMeterString() { public Map getWaila() { Map info = new HashMap(); info.put(I18N.tr("Output voltage"), Utils.plotVolt("", outputGate.getU())); - if (Eln.wailaEasyMode) { + if (Config.INSTANCE.getWailaEasyMode()) { switch (typeOfSensor) { case temperatureType: info.put(I18N.tr("Measured temperature"), Utils.plotCelsius("", thermalLoad.getT())); @@ -179,7 +182,7 @@ public void networkSerialize(DataOutputStream stream) { @Override public void initialize() { - Eln.instance.signalCableDescriptor.applyTo(outputGate); + Cable.Companion.getSignal().descriptor.applyTo(outputGate); computeElectricalLoad(); } @@ -224,13 +227,13 @@ public boolean onBlockActivated(EntityPlayer entityPlayer, Direction side, float if (onBlockActivatedRotate(entityPlayer)) return true; ItemStack currentItemStack = entityPlayer.getHeldItemMainhand(); - if (Eln.multiMeterElement.checkSameItemStack(currentItemStack)) { + if (Items.multiMeterElement.checkSameItemStack(currentItemStack)) { return false; } - if (Eln.thermometerElement.checkSameItemStack(currentItemStack)) { + if (Items.thermometerElement.checkSameItemStack(currentItemStack)) { return false; } - if (Eln.allMeterElement.checkSameItemStack(currentItemStack)) { + if (Items.allMeterElement.checkSameItemStack(currentItemStack)) { return false; } return inventory.take(currentItemStack, this, false, true); diff --git a/src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorProcess.java b/src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorProcess.java index 94f7e6435..1598ac503 100644 --- a/src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorProcess.java +++ b/src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorProcess.java @@ -1,6 +1,7 @@ package mods.eln.sixnode.thermalsensor; import mods.eln.Eln; +import mods.eln.init.Cable; import mods.eln.sim.IProcess; public class ThermalSensorProcess implements IProcess { @@ -21,8 +22,8 @@ public void process(double time) { } void setOutput(double physical) { - double U = (physical - sensor.lowValue) / (sensor.highValue - sensor.lowValue) * Eln.SVU; - if (U > Eln.SVU) U = Eln.SVU; + double U = (physical - sensor.lowValue) / (sensor.highValue - sensor.lowValue) * Cable.SVU; + if (U > Cable.SVU) U = Cable.SVU; if (U < 0) U = 0; sensor.outputGateProcess.setU(U); } diff --git a/src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorRender.java b/src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorRender.java index 6d12c88e0..de89cfc99 100644 --- a/src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorRender.java +++ b/src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorRender.java @@ -3,6 +3,7 @@ import mods.eln.Eln; import mods.eln.cable.CableRenderDescriptor; import mods.eln.generic.GenericItemBlockUsingDamageDescriptor; +import mods.eln.init.Cable; import mods.eln.misc.Direction; import mods.eln.misc.LRDU; import mods.eln.misc.Utils; @@ -85,11 +86,11 @@ public CableRenderDescriptor getCableRender(LRDU lrdu) { if (!descriptor.temperatureOnly) { if (front.left() == lrdu && cable != null) return cable.render; if (front.right() == lrdu && cable != null) return cable.render; - if (front == lrdu) return Eln.instance.signalCableDescriptor.render; + if (front == lrdu) return Cable.Companion.getSignal().descriptor.render; } else { if (front.inverse() == lrdu && cable != null) return cable.render; if (front.inverse() == lrdu && ecable != null) return ecable.render; - if (front == lrdu) return Eln.instance.signalCableDescriptor.render; + if (front == lrdu) return Cable.Companion.getSignal().descriptor.render; } return null; } diff --git a/src/main/java/mods/eln/sixnode/wirelesssignal/WirelessSignalAnalyserItemDescriptor.java b/src/main/java/mods/eln/sixnode/wirelesssignal/WirelessSignalAnalyserItemDescriptor.java index 4a23b9f1c..44ba683e1 100644 --- a/src/main/java/mods/eln/sixnode/wirelesssignal/WirelessSignalAnalyserItemDescriptor.java +++ b/src/main/java/mods/eln/sixnode/wirelesssignal/WirelessSignalAnalyserItemDescriptor.java @@ -55,7 +55,7 @@ public EnumActionResult onItemUse(ItemStack stack, EntityPlayer player, World wo /*ArrayList list = WirelessSignalRxProcess.getTxList(c); int idx = 0; for (WirelessSignalInfo e : list) { - Utils.sendMessage(player, e.tx.getChannel() + " Strength=" + String.format("%2.1f", e.power) + " Value=" + String.format("%2.1fV", e.tx.getValue() * Eln.instance.SVU)); + Utils.sendMessage(player, e.tx.getChannel() + " Strength=" + String.format("%2.1f", e.power) + " Value=" + String.format("%2.1fV", e.tx.getValue() * Cable.SVU)); idx++; } if (list.size() == 0) { diff --git a/src/main/java/mods/eln/sixnode/wirelesssignal/repeater/WirelessSignalRepeaterRender.java b/src/main/java/mods/eln/sixnode/wirelesssignal/repeater/WirelessSignalRepeaterRender.java index 701432d89..45b9edbb7 100644 --- a/src/main/java/mods/eln/sixnode/wirelesssignal/repeater/WirelessSignalRepeaterRender.java +++ b/src/main/java/mods/eln/sixnode/wirelesssignal/repeater/WirelessSignalRepeaterRender.java @@ -2,6 +2,7 @@ import mods.eln.Eln; import mods.eln.cable.CableRenderDescriptor; +import mods.eln.init.Cable; import mods.eln.misc.Direction; import mods.eln.misc.LRDU; import mods.eln.node.six.SixNodeDescriptor; @@ -19,7 +20,7 @@ public WirelessSignalRepeaterRender(SixNodeEntity tileEntity, Direction side, Si @Override public CableRenderDescriptor getCableRender(LRDU lrdu) { - return Eln.instance.signalCableDescriptor.render; + return Cable.Companion.getSignal().descriptor.render; } @Override diff --git a/src/main/java/mods/eln/sixnode/wirelesssignal/rx/WirelessSignalRxRender.java b/src/main/java/mods/eln/sixnode/wirelesssignal/rx/WirelessSignalRxRender.java index 22cefe68f..5d12a098a 100644 --- a/src/main/java/mods/eln/sixnode/wirelesssignal/rx/WirelessSignalRxRender.java +++ b/src/main/java/mods/eln/sixnode/wirelesssignal/rx/WirelessSignalRxRender.java @@ -2,6 +2,7 @@ import mods.eln.Eln; import mods.eln.cable.CableRenderDescriptor; +import mods.eln.init.Cable; import mods.eln.misc.Direction; import mods.eln.misc.LRDU; import mods.eln.node.six.SixNodeDescriptor; @@ -29,7 +30,7 @@ public WirelessSignalRxRender(SixNodeEntity tileEntity, Direction side, SixNodeD @Override public CableRenderDescriptor getCableRender(LRDU lrdu) { - return Eln.instance.signalCableDescriptor.render; + return Cable.Companion.getSignal().descriptor.render; } @Override diff --git a/src/main/java/mods/eln/sixnode/wirelesssignal/source/WirelessSignalSourceDescriptor.java b/src/main/java/mods/eln/sixnode/wirelesssignal/source/WirelessSignalSourceDescriptor.java index 802162995..f490ef03a 100644 --- a/src/main/java/mods/eln/sixnode/wirelesssignal/source/WirelessSignalSourceDescriptor.java +++ b/src/main/java/mods/eln/sixnode/wirelesssignal/source/WirelessSignalSourceDescriptor.java @@ -37,7 +37,7 @@ void draw(float factor, float distance, TileEntity e) { // } // // @Override -// public void setParent(Item item, int damage) { +// public void setParent(Items item, int damage) { // super.setParent(item, damage); // Data.addSignal(newItemStack()); // } diff --git a/src/main/java/mods/eln/sixnode/wirelesssignal/source/WirelessSignalSourceRender.java b/src/main/java/mods/eln/sixnode/wirelesssignal/source/WirelessSignalSourceRender.java index f67c40483..e382c6c2a 100644 --- a/src/main/java/mods/eln/sixnode/wirelesssignal/source/WirelessSignalSourceRender.java +++ b/src/main/java/mods/eln/sixnode/wirelesssignal/source/WirelessSignalSourceRender.java @@ -2,6 +2,7 @@ import mods.eln.Eln; import mods.eln.cable.CableRenderDescriptor; +import mods.eln.init.Cable; import mods.eln.misc.Direction; import mods.eln.misc.LRDU; import mods.eln.misc.RcInterpolator; @@ -45,7 +46,7 @@ public void refresh(float deltaT) { @Override public CableRenderDescriptor getCableRender(LRDU lrdu) { - return Eln.instance.signalCableDescriptor.render; + return Cable.Companion.getSignal().descriptor.render; } @Override diff --git a/src/main/java/mods/eln/sixnode/wirelesssignal/tx/WirelessSignalTxDescriptor.java b/src/main/java/mods/eln/sixnode/wirelesssignal/tx/WirelessSignalTxDescriptor.java index 87a8eadb1..dafc6fc04 100644 --- a/src/main/java/mods/eln/sixnode/wirelesssignal/tx/WirelessSignalTxDescriptor.java +++ b/src/main/java/mods/eln/sixnode/wirelesssignal/tx/WirelessSignalTxDescriptor.java @@ -41,7 +41,7 @@ public void draw() { // } // // @Override -// public void setParent(Item item, int damage) { +// public void setParent(Items item, int damage) { // super.setParent(item, damage); // Data.addSignal(newItemStack()); // } diff --git a/src/main/java/mods/eln/sixnode/wirelesssignal/tx/WirelessSignalTxElement.java b/src/main/java/mods/eln/sixnode/wirelesssignal/tx/WirelessSignalTxElement.java index dcede87b5..63a998313 100644 --- a/src/main/java/mods/eln/sixnode/wirelesssignal/tx/WirelessSignalTxElement.java +++ b/src/main/java/mods/eln/sixnode/wirelesssignal/tx/WirelessSignalTxElement.java @@ -66,7 +66,7 @@ public void process(double time) { if (glichedTimer > 0) glichedTimer -= time/* * Utils.rand(0.2, 1.8)*/; - double strangth = range - Eln.instance.serverEventListener.getLightningClosestTo(c); + double strangth = range - Eln.serverEventListener.getLightningClosestTo(c); if (strangth > 0 && glichedTimer <= 0) { glichedTimer = glitchLength; glichedStrangth = (strangth) / range; diff --git a/src/main/java/mods/eln/sixnode/wirelesssignal/tx/WirelessSignalTxRender.java b/src/main/java/mods/eln/sixnode/wirelesssignal/tx/WirelessSignalTxRender.java index e6541c8f9..e8523087d 100644 --- a/src/main/java/mods/eln/sixnode/wirelesssignal/tx/WirelessSignalTxRender.java +++ b/src/main/java/mods/eln/sixnode/wirelesssignal/tx/WirelessSignalTxRender.java @@ -2,6 +2,7 @@ import mods.eln.Eln; import mods.eln.cable.CableRenderDescriptor; +import mods.eln.init.Cable; import mods.eln.misc.Direction; import mods.eln.misc.LRDU; import mods.eln.node.six.SixNodeDescriptor; @@ -34,7 +35,7 @@ public void draw() { @Override public CableRenderDescriptor getCableRender(LRDU lrdu) { - return Eln.instance.signalCableDescriptor.render; + return Cable.Companion.getSignal().descriptor.render; } @Override diff --git a/src/main/java/mods/eln/solver/Equation.java b/src/main/java/mods/eln/solver/Equation.java index f48a85803..799906754 100644 --- a/src/main/java/mods/eln/solver/Equation.java +++ b/src/main/java/mods/eln/solver/Equation.java @@ -946,7 +946,7 @@ public int getRedstoneCost() { public static class BatteryCharge implements IOperator { public BatteryCharge() { - FunctionTable uFq = Eln.instance.batteryVoltageFunctionTable; + FunctionTable uFq = Eln.Companion.getBatteryVoltageFunctionTable(); double dq = 0.001; double q = 0; eMax = 0; @@ -971,7 +971,7 @@ public int getRedstoneCost() { @Override public double getValue() { - FunctionTable uFq = Eln.instance.batteryVoltageFunctionTable; + FunctionTable uFq = Eln.Companion.getBatteryVoltageFunctionTable(); double probeU = probe.getValue(); if (probeU > 1.5) return 1; double q = 0, dq = 0.001; diff --git a/src/main/java/mods/eln/sound/LoopedSoundManager.kt b/src/main/java/mods/eln/sound/LoopedSoundManager.kt index 19ea3d983..935bb7699 100644 --- a/src/main/java/mods/eln/sound/LoopedSoundManager.kt +++ b/src/main/java/mods/eln/sound/LoopedSoundManager.kt @@ -1,6 +1,6 @@ package mods.eln.sound -import mods.eln.Eln +import mods.eln.init.Config import net.minecraft.client.Minecraft class LoopedSoundManager(val updateInterval: Float = 0.5f) { @@ -32,14 +32,14 @@ class LoopedSoundManager(val updateInterval: Float = 0.5f) { val player = Minecraft.getMinecraft().player val distDeltaSquared = sqDistDelta(cx, cy, cz, player.posX, player.posY, player.posZ) // when comparing, compare distDeltaSquared to the square of the distance delta that you are trying to compare against. - if (it.volume > 0 && it.pitch > 0 && !soundHandler.isSoundPlaying(it) && distDeltaSquared < Eln.maxSoundDistance * Eln.maxSoundDistance) { + if (it.volume > 0 && it.pitch > 0 && !soundHandler.isSoundPlaying(it) && distDeltaSquared < Config.maxSoundDistance * Config.maxSoundDistance) { try { soundHandler.playSound(it) } catch (e: IllegalArgumentException) { System.out.println(e) } } - if (distDeltaSquared >= Eln.maxSoundDistance * Eln.maxSoundDistance || it.volume == 0f || it.pitch == 0f) { + if (distDeltaSquared >= Config.maxSoundDistance * Config.maxSoundDistance || it.volume == 0f || it.pitch == 0f) { try { soundHandler.stopSound(it) }catch (e: Exception) { diff --git a/src/main/java/mods/eln/transparentnode/FuelGenerator.kt b/src/main/java/mods/eln/transparentnode/FuelGenerator.kt index 4932b1d6a..a4887a9db 100644 --- a/src/main/java/mods/eln/transparentnode/FuelGenerator.kt +++ b/src/main/java/mods/eln/transparentnode/FuelGenerator.kt @@ -186,9 +186,9 @@ class FuelGeneratorElement(transparentNode: TransparentNode, descriptor_: Transp // } // } // } else { -// if (Eln.multiMeterElement.checkSameItemStack(player?.currentEquippedItem) || -// Eln.thermometerElement.checkSameItemStack(player?.currentEquippedItem) || -// Eln.allMeterElement.checkSameItemStack(player?.currentEquippedItem)) { +// if (Items.multiMeterElement.checkSameItemStack(player?.currentEquippedItem) || +// Items.thermometerElement.checkSameItemStack(player?.currentEquippedItem) || +// Items.allMeterElement.checkSameItemStack(player?.currentEquippedItem)) { // return false // } // diff --git a/src/main/java/mods/eln/transparentnode/FuelHeatFurnace.kt b/src/main/java/mods/eln/transparentnode/FuelHeatFurnace.kt index 5379d488f..640123dd5 100644 --- a/src/main/java/mods/eln/transparentnode/FuelHeatFurnace.kt +++ b/src/main/java/mods/eln/transparentnode/FuelHeatFurnace.kt @@ -7,6 +7,7 @@ import mods.eln.generic.GenericItemUsingDamageSlot import mods.eln.gui.* import mods.eln.gui.ISlotSkin.SlotSkin import mods.eln.i18n.I18N +import mods.eln.init.Cable import mods.eln.item.FuelBurnerDescriptor import mods.eln.item.regulator.IRegulatorDescriptor import mods.eln.item.regulator.IRegulatorDescriptor.RegulatorType @@ -75,7 +76,7 @@ class FuelHeatFurnaceDescriptor(name: String, model: Obj3D, val thermal: Thermal GL11.glColor3f(1f, 1f, 1f) } - // TODO(1.10): Item rendering. + // TODO(1.10): Items rendering. // override fun handleRenderType(item: ItemStack?, type: IItemRenderer.ItemRenderType?) = true // override fun shouldUseRenderHelper(type: IItemRenderer.ItemRenderType?, item: ItemStack?, // helper: IItemRenderer.ItemRendererHelper?) = @@ -124,7 +125,7 @@ class FuelHeatFurnaceElement(transparentNode: TransparentNode, descriptor: Trans when { externalControlled -> { - setCmd(controlLoad.u / Eln.SVU) + setCmd(controlLoad.u / Cable.SVU) } else -> { setCmd(manualControl) diff --git a/src/main/java/mods/eln/transparentnode/LargeRheostat.kt b/src/main/java/mods/eln/transparentnode/LargeRheostat.kt index 6b5a2a03e..79664892f 100644 --- a/src/main/java/mods/eln/transparentnode/LargeRheostat.kt +++ b/src/main/java/mods/eln/transparentnode/LargeRheostat.kt @@ -51,7 +51,7 @@ class LargeRheostatDescriptor(name: String, val dissipator: ThermalDissipatorPas dissipator.obj.getPart("wiper")?.draw() } - // TODO(1.10): Item rendering. + // TODO(1.10): Items rendering. // override fun handleRenderType(item: ItemStack, type: IItemRenderer.ItemRenderType) = true // override fun shouldUseRenderHelper(type: IItemRenderer.ItemRenderType, item: ItemStack, // helper: IItemRenderer.ItemRendererHelper) = type != IItemRenderer.ItemRenderType.INVENTORY diff --git a/src/main/java/mods/eln/transparentnode/autominer/AutoMinerContainer.java b/src/main/java/mods/eln/transparentnode/autominer/AutoMinerContainer.java index d293b2c6d..c239e22d6 100644 --- a/src/main/java/mods/eln/transparentnode/autominer/AutoMinerContainer.java +++ b/src/main/java/mods/eln/transparentnode/autominer/AutoMinerContainer.java @@ -30,7 +30,7 @@ public static Slot[] newSlots(IInventory inventory) { ElectricalDrillDescriptor.class, SlotSkin.medium, new String[]{tr("Drill slot")}); slots[1] = new GenericItemUsingDamageSlot(inventory, 1, 3000, 3000, 1, - OreScanner.class, SlotSkin.medium, new String[]{tr("Ore scanner slot")}); + OreScanner.class, SlotSkin.medium, new String[]{tr("oreBlock scanner slot")}); slots[2] = new GenericItemUsingDamageSlot(inventory, MiningPipeSlotId, 134 + 18, 8, 64, MiningPipeDescriptor.class, SlotSkin.medium, new String[]{tr("Mining pipe slot")}); diff --git a/src/main/java/mods/eln/transparentnode/autominer/AutoMinerRender.java b/src/main/java/mods/eln/transparentnode/autominer/AutoMinerRender.java index 315dc3b77..d71ff842f 100644 --- a/src/main/java/mods/eln/transparentnode/autominer/AutoMinerRender.java +++ b/src/main/java/mods/eln/transparentnode/autominer/AutoMinerRender.java @@ -1,6 +1,6 @@ package mods.eln.transparentnode.autominer; -import mods.eln.Eln; +import mods.eln.init.Config; import mods.eln.item.electricalitem.PortableOreScannerItem.RenderStorage; import mods.eln.misc.*; import mods.eln.node.transparent.TransparentNodeDescriptor; @@ -25,7 +25,7 @@ public class AutoMinerRender extends TransparentNodeElementRender { private final boolean[] ledsAState; private final boolean[] ledsPState; - private final RenderStorage render = new RenderStorage(Eln.instance.autominerRange, 130, 24, 24); + private final RenderStorage render = new RenderStorage(Config.INSTANCE.getAutominerRange(), 130, 24, 24); private final PhysicalInterpolatorNoRebound pipeLengthInterpol = new PhysicalInterpolatorNoRebound(0.4f, 2f, 0.8f); private final RcInterpolator rotSpeed = new RcInterpolator(1); diff --git a/src/main/java/mods/eln/transparentnode/autominer/AutoMinerSlowProcess.java b/src/main/java/mods/eln/transparentnode/autominer/AutoMinerSlowProcess.java index e794050bf..870417c41 100644 --- a/src/main/java/mods/eln/transparentnode/autominer/AutoMinerSlowProcess.java +++ b/src/main/java/mods/eln/transparentnode/autominer/AutoMinerSlowProcess.java @@ -1,6 +1,7 @@ package mods.eln.transparentnode.autominer; import mods.eln.Eln; +import mods.eln.init.Config; import mods.eln.item.ElectricalDrillDescriptor; import mods.eln.item.MiningPipeDescriptor; import mods.eln.item.electricalitem.OreColorMapping; @@ -238,7 +239,7 @@ private void setupJob() { // OreScanner scanner = (OreScanner) ElectricalDrillDescriptor.getDescriptor(miner.inventory.getStackInSlot(AutoMinerContainer.OreScannerSlotId)); MiningPipeDescriptor pipe = (MiningPipeDescriptor) ElectricalDrillDescriptor.getDescriptor(miner.getInventory().getStackInSlot(AutoMinerContainer.MiningPipeSlotId)); - int scannerRadius = Eln.instance.autominerRange; + int scannerRadius = Config.INSTANCE.getAutominerRange(); double scannerEnergy = 0; jobCoord.setDimension(miner.node.coordinate.getDimension()); diff --git a/src/main/java/mods/eln/transparentnode/battery/BatteryElement.java b/src/main/java/mods/eln/transparentnode/battery/BatteryElement.java index e089ee8b7..3fbbfe123 100644 --- a/src/main/java/mods/eln/transparentnode/battery/BatteryElement.java +++ b/src/main/java/mods/eln/transparentnode/battery/BatteryElement.java @@ -2,6 +2,7 @@ import mods.eln.Eln; import mods.eln.i18n.I18N; +import mods.eln.init.Config; import mods.eln.item.OverHeatingProtectionDescriptor; import mods.eln.item.OverVoltageProtectionDescriptor; import mods.eln.misc.Direction; @@ -267,7 +268,7 @@ public Map getWaila() { wailaList.put(I18N.tr("Charge"), Utils.plotPercent("", batteryProcess.getCharge())); wailaList.put(I18N.tr("Energy"), Utils.plotEnergy("", batteryProcess.getEnergy())); wailaList.put(I18N.tr("Life"), Utils.plotPercent("", batteryProcess.life)); - if (Eln.wailaEasyMode) { + if (Config.INSTANCE.getWailaEasyMode()) { wailaList.put(I18N.tr("Voltage"), Utils.plotVolt("", batteryProcess.getU())); wailaList.put(I18N.tr("Current"), Utils.plotAmpere("", batteryProcess.getDischargeCurrent())); } diff --git a/src/main/java/mods/eln/transparentnode/eggincubator/EggIncubatorElement.java b/src/main/java/mods/eln/transparentnode/eggincubator/EggIncubatorElement.java index a8c3a35f6..cae104cf2 100644 --- a/src/main/java/mods/eln/transparentnode/eggincubator/EggIncubatorElement.java +++ b/src/main/java/mods/eln/transparentnode/eggincubator/EggIncubatorElement.java @@ -2,6 +2,7 @@ import mods.eln.Eln; import mods.eln.i18n.I18N; +import mods.eln.init.Config; import mods.eln.misc.Direction; import mods.eln.misc.INBTTReady; import mods.eln.misc.LRDU; @@ -188,7 +189,7 @@ public Map getWaila() { Map info = new HashMap(); info.put(I18N.tr("Has egg"), !inventory.getStackInSlot(EggIncubatorContainer.EggSlotId).isEmpty() ? I18N.tr("Yes") : I18N.tr("No")); - if (Eln.wailaEasyMode) { + if (Config.INSTANCE.getWailaEasyMode()) { info.put(I18N.tr("Power consumption"), Utils.plotPower("", powerResistor.getP())); } return info; diff --git a/src/main/java/mods/eln/transparentnode/electricalantennarx/ElectricalAntennaRxElement.java b/src/main/java/mods/eln/transparentnode/electricalantennarx/ElectricalAntennaRxElement.java index 06f74f8a9..051139c3d 100644 --- a/src/main/java/mods/eln/transparentnode/electricalantennarx/ElectricalAntennaRxElement.java +++ b/src/main/java/mods/eln/transparentnode/electricalantennarx/ElectricalAntennaRxElement.java @@ -2,6 +2,7 @@ import mods.eln.Eln; import mods.eln.i18n.I18N; +import mods.eln.init.Config; import mods.eln.misc.Coordinate; import mods.eln.misc.Direction; import mods.eln.misc.LRDU; @@ -150,7 +151,7 @@ public void networkSerialize(DataOutputStream stream) { public Map getWaila() { Map info = new HashMap(); info.put(I18N.tr("Receiving"), powerSrc.getP() != 0 ? "Yes" : "No"); - if (Eln.wailaEasyMode) { + if (Config.INSTANCE.getWailaEasyMode()) { info.put(I18N.tr("Power received"), Utils.plotPower("", powerSrc.getP())); info.put(I18N.tr("Effective power"), Utils.plotPower("", powerSrc.getEffectiveP())); } diff --git a/src/main/java/mods/eln/transparentnode/electricalantennarx/ElectricalAntennaRxRender.java b/src/main/java/mods/eln/transparentnode/electricalantennarx/ElectricalAntennaRxRender.java index 057e9b717..c01eafcb9 100644 --- a/src/main/java/mods/eln/transparentnode/electricalantennarx/ElectricalAntennaRxRender.java +++ b/src/main/java/mods/eln/transparentnode/electricalantennarx/ElectricalAntennaRxRender.java @@ -4,6 +4,7 @@ import mods.eln.cable.CableRender; import mods.eln.cable.CableRenderDescriptor; import mods.eln.cable.CableRenderType; +import mods.eln.init.Cable; import mods.eln.misc.Direction; import mods.eln.misc.LRDU; import mods.eln.misc.LRDUMask; @@ -70,7 +71,7 @@ public CableRenderDescriptor getCableRender(Direction side, LRDU lrdu) { if (front.getInverse() != side.applyLRDU(lrdu)) return null; if (side == front.applyLRDU(rot.left())) return descriptor.cable.render; - if (side == front.applyLRDU(rot.right())) return Eln.instance.signalCableDescriptor.render; + if (side == front.applyLRDU(rot.right())) return Cable.Companion.getSignal().descriptor.render; return null; } diff --git a/src/main/java/mods/eln/transparentnode/electricalantennatx/ElectricalAntennaTxElement.java b/src/main/java/mods/eln/transparentnode/electricalantennatx/ElectricalAntennaTxElement.java index bb59fb946..f2528e4c1 100644 --- a/src/main/java/mods/eln/transparentnode/electricalantennatx/ElectricalAntennaTxElement.java +++ b/src/main/java/mods/eln/transparentnode/electricalantennatx/ElectricalAntennaTxElement.java @@ -2,6 +2,7 @@ import mods.eln.Eln; import mods.eln.i18n.I18N; +import mods.eln.init.Config; import mods.eln.misc.Coordinate; import mods.eln.misc.Direction; import mods.eln.misc.LRDU; @@ -200,7 +201,7 @@ public Map getWaila() { Map info = new HashMap(); info.put(I18N.tr("Transmitting"), commandIn.getNormalized() > 0 ? "Yes" : "No"); info.put(I18N.tr("Efficiency"), Utils.plotPercent("", powerEfficency)); - if (Eln.wailaEasyMode) { + if (Config.INSTANCE.getWailaEasyMode()) { info.put(I18N.tr("Power"), Utils.plotPower("", powerIn.getI() * powerIn.getU())); } return info; diff --git a/src/main/java/mods/eln/transparentnode/electricalantennatx/ElectricalAntennaTxRender.java b/src/main/java/mods/eln/transparentnode/electricalantennatx/ElectricalAntennaTxRender.java index 4ceb9decf..6971d930b 100644 --- a/src/main/java/mods/eln/transparentnode/electricalantennatx/ElectricalAntennaTxRender.java +++ b/src/main/java/mods/eln/transparentnode/electricalantennatx/ElectricalAntennaTxRender.java @@ -4,6 +4,7 @@ import mods.eln.cable.CableRender; import mods.eln.cable.CableRenderDescriptor; import mods.eln.cable.CableRenderType; +import mods.eln.init.Cable; import mods.eln.misc.Direction; import mods.eln.misc.LRDU; import mods.eln.misc.LRDUMask; @@ -54,7 +55,7 @@ public void draw() { if (lrdu == rot) CableRender.drawCable(descriptor.cable.render, maskTemp, connectionType); else if (lrdu == rot.left() || lrdu == rot.right()) - CableRender.drawCable(Eln.instance.signalCableDescriptor.render, maskTemp, connectionType); + CableRender.drawCable(Cable.Companion.getSignal().descriptor.render, maskTemp, connectionType); } } @@ -71,8 +72,8 @@ public CableRenderDescriptor getCableRender(Direction side, LRDU lrdu) { if (front.getInverse() != side.applyLRDU(lrdu)) return null; if (side == front.applyLRDU(rot)) return descriptor.cable.render; - if (side == front.applyLRDU(rot.left())) return Eln.instance.signalCableDescriptor.render; - if (side == front.applyLRDU(rot.right())) return Eln.instance.signalCableDescriptor.render; + if (side == front.applyLRDU(rot.left())) return Cable.Companion.getSignal().descriptor.render; + if (side == front.applyLRDU(rot.right())) return Cable.Companion.getSignal().descriptor.render; return null; } diff --git a/src/main/java/mods/eln/transparentnode/electricalantennatx/ElectricalAntennaTxSlowProcess.java b/src/main/java/mods/eln/transparentnode/electricalantennatx/ElectricalAntennaTxSlowProcess.java index eb0a10aab..2f25468e6 100644 --- a/src/main/java/mods/eln/transparentnode/electricalantennatx/ElectricalAntennaTxSlowProcess.java +++ b/src/main/java/mods/eln/transparentnode/electricalantennatx/ElectricalAntennaTxSlowProcess.java @@ -1,8 +1,7 @@ package mods.eln.transparentnode.electricalantennatx; -import mods.eln.Eln; +import mods.eln.init.ModBlock; import mods.eln.misc.Coordinate; -import mods.eln.node.NodeBase; import mods.eln.node.NodeManager; import mods.eln.node.transparent.TransparentNode; import mods.eln.sim.IProcess; @@ -45,7 +44,7 @@ public void process(double time) { Block block; block = coord.world().getBlockState(coord.pos).getBlock(); if ((coord.world().isAirBlock(coord.pos) && block != Blocks.FIRE)) { - if (block == Eln.transparentNodeBlock + if (block == ModBlock.transparentNodeBlock && (node = (TransparentNode) NodeManager.instance.getNodeFromCoordinate(coord)) != null && (node.element instanceof ElectricalAntennaRxElement)) { ElectricalAntennaRxElement rx = (ElectricalAntennaRxElement) node.element; diff --git a/src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceElement.java b/src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceElement.java index cf9cc7c44..af75e6825 100644 --- a/src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceElement.java +++ b/src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceElement.java @@ -3,6 +3,7 @@ import mods.eln.Eln; import mods.eln.generic.GenericItemUsingDamage; import mods.eln.i18n.I18N; +import mods.eln.init.Cable; import mods.eln.item.HeatingCorpElement; import mods.eln.item.regulator.IRegulatorDescriptor; import mods.eln.misc.Direction; @@ -141,11 +142,11 @@ public void initialize() { smeltResistor.highImpedance(); slowRefreshProcess.process(0.05); - Eln.instance.lowVoltageCableDescriptor.applyTo(electricalLoad); + Cable.Companion.getLowVoltage().descriptor.applyTo(electricalLoad); //electricalLoad.setRs(MnaConst.highImpedance); - // ItemStack stack = new ItemStack(Item.coal); + // ItemStack stack = new ItemStack(Items.coal); // EntityItem entity = new EntityItem(node.coordinate.world(), node.coordinate.x + 0.5, node.coordinate.y + 0.5, node.coordinate.z + 1.5, stack); // node.coordinate.world().spawnEntity(entity); diff --git a/src/main/java/mods/eln/transparentnode/electricalmachine/ElectricalMachineElement.java b/src/main/java/mods/eln/transparentnode/electricalmachine/ElectricalMachineElement.java index 5b85cf4eb..9517f3904 100644 --- a/src/main/java/mods/eln/transparentnode/electricalmachine/ElectricalMachineElement.java +++ b/src/main/java/mods/eln/transparentnode/electricalmachine/ElectricalMachineElement.java @@ -2,6 +2,7 @@ import mods.eln.Eln; import mods.eln.i18n.I18N; +import mods.eln.init.Config; import mods.eln.item.MachineBoosterDescriptor; import mods.eln.misc.Direction; import mods.eln.misc.LRDU; @@ -186,7 +187,7 @@ public Map getWaila() { Map info = new HashMap(); info.put(I18N.tr("Power consumption"), Utils.plotPower("", slowRefreshProcess.getPower())); info.put(I18N.tr("Voltage"), Utils.plotVolt("", electricalLoad.getU())); - if (Eln.wailaEasyMode) { + if (Config.INSTANCE.getWailaEasyMode()) { info.put(I18N.tr("Power provided"), Utils.plotPower("", electricalLoad.getI() * electricalLoad.getU())); } return info; diff --git a/src/main/java/mods/eln/transparentnode/electricalmachine/MagnetizerDescriptor.java b/src/main/java/mods/eln/transparentnode/electricalmachine/MagnetizerDescriptor.java index 8ce20fdaa..b0092082d 100644 --- a/src/main/java/mods/eln/transparentnode/electricalmachine/MagnetizerDescriptor.java +++ b/src/main/java/mods/eln/transparentnode/electricalmachine/MagnetizerDescriptor.java @@ -43,7 +43,7 @@ void draw(ElectricalMachineRender render, Object handleO, EntityItem inEntity, E rot.draw(handle.counter, 0f, 0f, 1f); GL11.glScalef(0.5f, 0.5f, 0.5f); - // TODO(1.10): Item something something + // TODO(1.10): Items something something //UtilsClient.drawEntityItem(inEntity, 0.0, 0.25f, 0f, handle.itemCounter, 1f); } diff --git a/src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceThermalProcess.java b/src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceThermalProcess.java index fd43f9566..aa0b25c93 100644 --- a/src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceThermalProcess.java +++ b/src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceThermalProcess.java @@ -1,6 +1,7 @@ package mods.eln.transparentnode.heatfurnace; import mods.eln.Eln; +import mods.eln.init.Cable; import mods.eln.sim.FurnaceProcess; import mods.eln.sim.RegulatorFurnaceProcess; @@ -19,7 +20,7 @@ public void process(double time) { super.process(time); // else if (element.getControlExternal()) { - double ratio = element.electricalCmdLoad.getU() / Eln.instance.SVU; + double ratio = element.electricalCmdLoad.getU() / Cable.SVU; if (ratio < 0.1) { element.setTakeFuel(false); diff --git a/src/main/java/mods/eln/transparentnode/powercapacitor/PowerCapacitorDescriptor.java b/src/main/java/mods/eln/transparentnode/powercapacitor/PowerCapacitorDescriptor.java index 8ccee9b41..0b918017b 100644 --- a/src/main/java/mods/eln/transparentnode/powercapacitor/PowerCapacitorDescriptor.java +++ b/src/main/java/mods/eln/transparentnode/powercapacitor/PowerCapacitorDescriptor.java @@ -1,6 +1,7 @@ package mods.eln.transparentnode.powercapacitor; import mods.eln.Eln; +import mods.eln.init.Cable; import mods.eln.item.DielectricItem; import mods.eln.misc.Obj3D; import mods.eln.misc.series.ISerie; @@ -35,7 +36,7 @@ public PowerCapacitorDescriptor( public double getCValue(int cableCount, double nominalDielVoltage) { if (cableCount == 0) return 0; - double uTemp = nominalDielVoltage / Eln.LVU; + double uTemp = nominalDielVoltage / Cable.LVU; return serie.getValue(cableCount - 1) / uTemp / uTemp; } diff --git a/src/main/java/mods/eln/transparentnode/powercapacitor/PowerCapacitorElement.java b/src/main/java/mods/eln/transparentnode/powercapacitor/PowerCapacitorElement.java index 8cfa4d881..8b04008ad 100644 --- a/src/main/java/mods/eln/transparentnode/powercapacitor/PowerCapacitorElement.java +++ b/src/main/java/mods/eln/transparentnode/powercapacitor/PowerCapacitorElement.java @@ -1,6 +1,7 @@ package mods.eln.transparentnode.powercapacitor; import mods.eln.Eln; +import mods.eln.init.Cable; import mods.eln.misc.Direction; import mods.eln.misc.LRDU; import mods.eln.misc.Utils; @@ -100,8 +101,8 @@ public String thermoMeterString(Direction side) { @Override public void initialize() { - Eln.applySmallRs(positiveLoad); - Eln.applySmallRs(negativeLoad); + Cable.applySmallRs(positiveLoad); + Cable.applySmallRs(negativeLoad); setupPhysical(); diff --git a/src/main/java/mods/eln/transparentnode/powerinductor/PowerInductorContainer.java b/src/main/java/mods/eln/transparentnode/powerinductor/PowerInductorContainer.java index fbf373f86..93735f7bf 100644 --- a/src/main/java/mods/eln/transparentnode/powerinductor/PowerInductorContainer.java +++ b/src/main/java/mods/eln/transparentnode/powerinductor/PowerInductorContainer.java @@ -31,5 +31,5 @@ public PowerInductorContainer(EntityPlayer player, IInventory inventory) { } /* new SlotFilter(inventory,0,62 + 0,17,new ItemStackFilter[]{new ItemStackFilter(Block.wood,0,0)}), -new SlotFilter(inventory,1,62 + 18,17,new ItemStackFilter[]{new ItemStackFilter(Item.coal,0,0)}) +new SlotFilter(inventory,1,62 + 18,17,new ItemStackFilter[]{new ItemStackFilter(Items.coal,0,0)}) */ diff --git a/src/main/java/mods/eln/transparentnode/powerinductor/PowerInductorDescriptor.java b/src/main/java/mods/eln/transparentnode/powerinductor/PowerInductorDescriptor.java index 94fc097c6..ef7cff87e 100644 --- a/src/main/java/mods/eln/transparentnode/powerinductor/PowerInductorDescriptor.java +++ b/src/main/java/mods/eln/transparentnode/powerinductor/PowerInductorDescriptor.java @@ -1,6 +1,7 @@ package mods.eln.transparentnode.powerinductor; import mods.eln.Eln; +import mods.eln.init.Cable; import mods.eln.item.FerromagneticCoreDescriptor; import mods.eln.misc.Obj3D; import mods.eln.misc.series.ISerie; @@ -48,7 +49,7 @@ public double getRsValue(IInventory inventory) { double coreFactor = coreDescriptor.cableMultiplicator; - return Eln.instance.lowVoltageCableDescriptor.electricalRs * coreFactor; + return Cable.Companion.getLowVoltage().descriptor.electricalRs * coreFactor; } public void setParent(net.minecraft.item.Item item, int damage) { diff --git a/src/main/java/mods/eln/transparentnode/powerinductor/PowerInductorElement.java b/src/main/java/mods/eln/transparentnode/powerinductor/PowerInductorElement.java index 1291d5ed7..b4dd01122 100644 --- a/src/main/java/mods/eln/transparentnode/powerinductor/PowerInductorElement.java +++ b/src/main/java/mods/eln/transparentnode/powerinductor/PowerInductorElement.java @@ -70,8 +70,8 @@ public String thermoMeterString(Direction side) { @Override public void initialize() { - //Eln.applySmallRs(positiveLoad); - //Eln.applySmallRs(negativeLoad); + //Cable.applySmallRs(positiveLoad); + //Cable.applySmallRs(negativeLoad); setupPhysical(); diff --git a/src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelElement.java b/src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelElement.java index b05ff726b..35020fc9c 100644 --- a/src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelElement.java +++ b/src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelElement.java @@ -2,6 +2,7 @@ import mods.eln.Eln; import mods.eln.i18n.I18N; +import mods.eln.init.Config; import mods.eln.item.SolarTrackerDescriptor; import mods.eln.misc.Direction; import mods.eln.misc.GhostPowerNode; @@ -234,7 +235,7 @@ public Map getWaila() { info.put(I18N.tr("Sun angle"), Utils.plotValue(((slowProcess.getSolarAlpha()) * (180 / Math.PI)) - 90, "\u00B0")); info.put(I18N.tr("Panel angle"), Utils.plotValue((panelAlpha * (180 / Math.PI)) - 90, "\u00B0")); info.put(I18N.tr("Producing energy"), (slowProcess.getSolarLight() != 0 ? "Yes" : "No")); - if (Eln.wailaEasyMode) { + if (Config.INSTANCE.getWailaEasyMode()) { info.put(I18N.tr("Produced power"), Utils.plotPower("", powerSource.getP())); } return info; diff --git a/src/main/java/mods/eln/transparentnode/teleporter/TeleporterRender.java b/src/main/java/mods/eln/transparentnode/teleporter/TeleporterRender.java index 2bfe80718..887f1ef98 100644 --- a/src/main/java/mods/eln/transparentnode/teleporter/TeleporterRender.java +++ b/src/main/java/mods/eln/transparentnode/teleporter/TeleporterRender.java @@ -1,6 +1,7 @@ package mods.eln.transparentnode.teleporter; import mods.eln.Eln; +import mods.eln.init.ModBlock; import mods.eln.misc.*; import mods.eln.node.transparent.TransparentNodeDescriptor; import mods.eln.node.transparent.TransparentNodeElementRender; @@ -44,8 +45,7 @@ public void draw() { Coordinate lightCoordinate = new Coordinate(this.d.lightCoordinate); lightCoordinate.applyTransformation(front, c); - boolean lightEnable = tileEntity.getWorld().getBlockState(lightCoordinate.pos).getBlock() == Eln.lightBlock; - + boolean lightEnable = tileEntity.getWorld().getBlockState(lightCoordinate.pos).getBlock() == ModBlock.lightBlock; front.glRotateXnRef(); GL11.glTranslatef(-1, 0, 0); diff --git a/src/main/java/mods/eln/transparentnode/thermaldissipatoractive/ThermalDissipatorActiveElement.java b/src/main/java/mods/eln/transparentnode/thermaldissipatoractive/ThermalDissipatorActiveElement.java index 70d5030a4..2064f995a 100644 --- a/src/main/java/mods/eln/transparentnode/thermaldissipatoractive/ThermalDissipatorActiveElement.java +++ b/src/main/java/mods/eln/transparentnode/thermaldissipatoractive/ThermalDissipatorActiveElement.java @@ -2,6 +2,7 @@ import mods.eln.Eln; import mods.eln.i18n.I18N; +import mods.eln.init.Config; import mods.eln.misc.Direction; import mods.eln.misc.LRDU; import mods.eln.misc.Utils; @@ -127,7 +128,7 @@ public void networkSerialize(DataOutputStream stream) { public Map getWaila() { Map info = new HashMap(); info.put(I18N.tr("Temperature"), Utils.plotCelsius("", thermalLoad.Tc)); - if (Eln.wailaEasyMode) { + if (Config.INSTANCE.getWailaEasyMode()) { info.put(I18N.tr("Thermal power"), Utils.plotPower("", thermalLoad.getPower())); } return info; diff --git a/src/main/java/mods/eln/transparentnode/thermaldissipatorpassive/ThermalDissipatorPassiveElement.java b/src/main/java/mods/eln/transparentnode/thermaldissipatorpassive/ThermalDissipatorPassiveElement.java index 5309153d3..1d2ed9736 100644 --- a/src/main/java/mods/eln/transparentnode/thermaldissipatorpassive/ThermalDissipatorPassiveElement.java +++ b/src/main/java/mods/eln/transparentnode/thermaldissipatorpassive/ThermalDissipatorPassiveElement.java @@ -3,6 +3,7 @@ import mods.eln.Eln; import mods.eln.i18n.I18N; +import mods.eln.init.Config; import mods.eln.misc.Direction; import mods.eln.misc.LRDU; import mods.eln.misc.Utils; @@ -105,7 +106,7 @@ public boolean onBlockActivated(EntityPlayer entityPlayer, Direction side, public Map getWaila() { Map info = new HashMap(); info.put(I18N.tr("Temperature"), Utils.plotCelsius("", thermalLoad.Tc)); - if (Eln.wailaEasyMode) { + if (Config.INSTANCE.getWailaEasyMode()) { info.put(I18N.tr("Thermal power"), Utils.plotPower("", thermalLoad.getPower())); } return info; diff --git a/src/main/java/mods/eln/transparentnode/transformer/TransformerElement.java b/src/main/java/mods/eln/transparentnode/transformer/TransformerElement.java index 28a718d7c..6a0725c8c 100644 --- a/src/main/java/mods/eln/transparentnode/transformer/TransformerElement.java +++ b/src/main/java/mods/eln/transparentnode/transformer/TransformerElement.java @@ -2,6 +2,7 @@ import mods.eln.Eln; import mods.eln.i18n.I18N; +import mods.eln.init.Config; import mods.eln.item.FerromagneticCoreDescriptor; import mods.eln.misc.Direction; import mods.eln.misc.LRDU; @@ -305,7 +306,7 @@ public Map getWaila() { Map info = new HashMap(); info.put(I18N.tr("Ratio"), Utils.plotValue(transformer.getRatio())); info.put(I18N.tr("Isolated"), isIsolator ? I18N.tr("Yes") : I18N.tr("No")); - if (Eln.wailaEasyMode) { + if (Config.INSTANCE.getWailaEasyMode()) { FerromagneticCoreDescriptor core = (FerromagneticCoreDescriptor) FerromagneticCoreDescriptor.getDescriptor( inventory.getStackInSlot(TransformerContainer.ferromagneticSlotId)); diff --git a/src/main/java/mods/eln/transparentnode/turbine/TurbineElement.java b/src/main/java/mods/eln/transparentnode/turbine/TurbineElement.java index 90f0ff7d2..7c020de58 100644 --- a/src/main/java/mods/eln/transparentnode/turbine/TurbineElement.java +++ b/src/main/java/mods/eln/transparentnode/turbine/TurbineElement.java @@ -2,6 +2,7 @@ import mods.eln.Eln; import mods.eln.i18n.I18N; +import mods.eln.init.Config; import mods.eln.misc.Direction; import mods.eln.misc.LRDU; import mods.eln.misc.Utils; @@ -169,7 +170,7 @@ public Map getWaila() { info.put(I18N.tr("Nominal") + " \u0394T", (warmLoad.Tc - coolLoad.Tc == descriptor.nominalDeltaT ? I18N.tr("Yes") : I18N.tr("No"))); info.put(I18N.tr("Generated power"), Utils.plotPower("", electricalPowerSourceProcess.getP())); - if (Eln.wailaEasyMode) { + if (Config.INSTANCE.getWailaEasyMode()) { info.put("\u0394T", Utils.plotCelsius("", warmLoad.Tc - coolLoad.Tc)); info.put(I18N.tr("Voltage"), Utils.plotVolt("", electricalPowerSourceProcess.getU())); } diff --git a/src/main/java/mods/eln/transparentnode/turbine/TurbineThermalProcess.java b/src/main/java/mods/eln/transparentnode/turbine/TurbineThermalProcess.java index 7f5f994c9..8be6bac40 100644 --- a/src/main/java/mods/eln/transparentnode/turbine/TurbineThermalProcess.java +++ b/src/main/java/mods/eln/transparentnode/turbine/TurbineThermalProcess.java @@ -1,6 +1,6 @@ package mods.eln.transparentnode.turbine; -import mods.eln.Eln; +import mods.eln.init.Config; import mods.eln.sim.IProcess; import mods.eln.sim.PhysicalConstant; import mods.eln.sim.mna.component.VoltageSource; @@ -28,7 +28,7 @@ public void process(double time) { efficiency = Math.abs(1 - (turbine.coolLoad.Tc + PhysicalConstant.Tref) / (turbine.warmLoad.Tc + PhysicalConstant.Tref)); if (efficiency < 0.05) efficiency = 0.05; - double E = src.getP() * time / Eln.instance.heatTurbinePowerFactor; + double E = src.getP() * time / Config.INSTANCE.getHeatTurbinePowerFactor(); double Pout = E / time; double Pin = descriptor.PoutToPin.getValue(Pout) / efficiency; diff --git a/src/main/java/mods/eln/transparentnode/turret/TurretElement.java b/src/main/java/mods/eln/transparentnode/turret/TurretElement.java index 33650f901..1de6f75ae 100644 --- a/src/main/java/mods/eln/transparentnode/turret/TurretElement.java +++ b/src/main/java/mods/eln/transparentnode/turret/TurretElement.java @@ -3,6 +3,8 @@ import mods.eln.Eln; import mods.eln.generic.GenericItemUsingDamageDescriptor; import mods.eln.i18n.I18N; +import mods.eln.init.Cable; +import mods.eln.init.Config; import mods.eln.item.EntitySensorFilterDescriptor; import mods.eln.misc.Coordinate; import mods.eln.misc.Direction; @@ -61,7 +63,7 @@ public TurretElement(TransparentNode transparentNode, TransparentNodeDescriptor simulation = new TurretMechanicsSimulation((TurretDescriptor) descriptor); slowProcessList.add(simulation); - Eln.instance.highVoltageCableDescriptor.applyTo(load); + Cable.Companion.getHighVoltage().descriptor.applyTo(load); electricalLoadList.add(load); electricalComponentList.add(powerResistor); @@ -266,7 +268,7 @@ public Map getWaila() { } } - if (Eln.wailaEasyMode) { + if (Config.INSTANCE.getWailaEasyMode()) { info.put(I18N.tr("Charge level"), Utils.plotPercent("", energyBuffer / descriptor.getProperties().impulseEnergy)); } diff --git a/src/main/java/mods/eln/transparentnode/waterturbine/WaterTurbineContainer.java b/src/main/java/mods/eln/transparentnode/waterturbine/WaterTurbineContainer.java index 3f21245fa..67ca57c28 100644 --- a/src/main/java/mods/eln/transparentnode/waterturbine/WaterTurbineContainer.java +++ b/src/main/java/mods/eln/transparentnode/waterturbine/WaterTurbineContainer.java @@ -37,5 +37,5 @@ public int getRefreshRateDivider() { } /* new SlotFilter(inventory,0,62 + 0,17,new ItemStackFilter[]{new ItemStackFilter(Block.wood,0,0)}), -new SlotFilter(inventory,1,62 + 18,17,new ItemStackFilter[]{new ItemStackFilter(Item.coal,0,0)}) +new SlotFilter(inventory,1,62 + 18,17,new ItemStackFilter[]{new ItemStackFilter(Items.coal,0,0)}) */ diff --git a/src/main/java/mods/eln/transparentnode/waterturbine/WaterTurbineElement.java b/src/main/java/mods/eln/transparentnode/waterturbine/WaterTurbineElement.java index 2896a47b0..108dd9dc3 100644 --- a/src/main/java/mods/eln/transparentnode/waterturbine/WaterTurbineElement.java +++ b/src/main/java/mods/eln/transparentnode/waterturbine/WaterTurbineElement.java @@ -2,6 +2,7 @@ import mods.eln.Eln; import mods.eln.i18n.I18N; +import mods.eln.init.Config; import mods.eln.misc.Coordinate; import mods.eln.misc.Direction; import mods.eln.misc.LRDU; @@ -148,7 +149,7 @@ public Map getWaila() { Map wailaList = new HashMap(); wailaList.put(I18N.tr("Generating"), slowProcess.getWaterFactor() > 0 ? I18N.tr("Yes") : I18N.tr("No")); wailaList.put(I18N.tr("Produced power"), Utils.plotPower("", powerSource.getEffectiveP())); - if (Eln.wailaEasyMode) { + if (Config.INSTANCE.getWailaEasyMode()) { wailaList.put("Voltage", Utils.plotVolt("", powerSource.getU())); } return wailaList; diff --git a/src/main/java/mods/eln/transparentnode/windturbine/WindTurbineElement.java b/src/main/java/mods/eln/transparentnode/windturbine/WindTurbineElement.java index 000cf1395..45efec818 100644 --- a/src/main/java/mods/eln/transparentnode/windturbine/WindTurbineElement.java +++ b/src/main/java/mods/eln/transparentnode/windturbine/WindTurbineElement.java @@ -2,6 +2,7 @@ import mods.eln.Eln; import mods.eln.i18n.I18N; +import mods.eln.init.Config; import mods.eln.misc.Direction; import mods.eln.misc.LRDU; import mods.eln.misc.Utils; @@ -123,7 +124,7 @@ public Map getWaila() { Map wailaList = new HashMap(); wailaList.put(I18N.tr("Generating"), slowProcess.getWind() > 0 ? I18N.tr("Yes") : I18N.tr("No")); wailaList.put(I18N.tr("Produced power"), Utils.plotPower("", powerSource.getEffectiveP())); - if (Eln.wailaEasyMode) { + if (Config.INSTANCE.getWailaEasyMode()) { wailaList.put("Voltage", Utils.plotVolt("", powerSource.getU())); } return wailaList; diff --git a/src/main/java/mods/eln/wiki/Data.java b/src/main/java/mods/eln/wiki/Data.java index cf406c694..27d3c6e31 100644 --- a/src/main/java/mods/eln/wiki/Data.java +++ b/src/main/java/mods/eln/wiki/Data.java @@ -51,7 +51,7 @@ public static void addSignal(ItemStack stack) { public static void addOre(ItemStack stack) { - add(tr("Ore"), stack); + add(tr("oreBlock"), stack); } public static void addPortable(ItemStack stack) { From 1d488cd6b8c6a6f26c2ac6a9a84bb79978b8ef25 Mon Sep 17 00:00:00 2001 From: Svein Ove Aas Date: Sun, 3 Mar 2019 00:19:28 +0000 Subject: [PATCH 46/61] Do not ignore json files --- .gitignore | 1 - 1 file changed, 1 deletion(-) diff --git a/.gitignore b/.gitignore index f2b6e0f58..90f8f3f23 100644 --- a/.gitignore +++ b/.gitignore @@ -10,7 +10,6 @@ eclipse /logs /config /saves -*.json options.txt /out /classes From 2dd84795a1e7d222729bd479649d0fd2190d059b Mon Sep 17 00:00:00 2001 From: Svein Ove Aas Date: Sun, 3 Mar 2019 00:36:06 +0000 Subject: [PATCH 47/61] Namespace-ify every translation key --- .../resources/assets/eln/lang/_en_GB.lang | 10 +- .../resources/assets/eln/lang/_es_ES.lang | 28 +- .../resources/assets/eln/lang/_fr_FR.lang | 16 +- .../resources/assets/eln/lang/_it_IT.lang | 10 +- .../resources/assets/eln/lang/_pt_BR.lang | 474 ++-- src/main/resources/assets/eln/lang/ach.lang | 1658 ++++++------- src/main/resources/assets/eln/lang/az.lang | 1658 ++++++------- src/main/resources/assets/eln/lang/be.lang | 1658 ++++++------- src/main/resources/assets/eln/lang/bs.lang | 1658 ++++++------- src/main/resources/assets/eln/lang/cs.lang | 1658 ++++++------- src/main/resources/assets/eln/lang/cs_CZ.lang | 1658 ++++++------- src/main/resources/assets/eln/lang/de.lang | 1658 ++++++------- src/main/resources/assets/eln/lang/de_DE.lang | 1658 ++++++------- src/main/resources/assets/eln/lang/el.lang | 1658 ++++++------- src/main/resources/assets/eln/lang/el_GR.lang | 1658 ++++++------- src/main/resources/assets/eln/lang/en.lang | 1658 ++++++------- src/main/resources/assets/eln/lang/en_CA.lang | 1658 ++++++------- src/main/resources/assets/eln/lang/en_US.lang | 2178 ++++++++--------- src/main/resources/assets/eln/lang/es.lang | 1658 ++++++------- .../resources/assets/eln/lang/es_419.lang | 1658 ++++++------- src/main/resources/assets/eln/lang/es_AR.lang | 1658 ++++++------- src/main/resources/assets/eln/lang/fr.lang | 1658 ++++++------- src/main/resources/assets/eln/lang/fr_CA.lang | 1658 ++++++------- src/main/resources/assets/eln/lang/fr_FR.lang | 1658 ++++++------- src/main/resources/assets/eln/lang/hr.lang | 1658 ++++++------- src/main/resources/assets/eln/lang/id.lang | 1658 ++++++------- src/main/resources/assets/eln/lang/it.lang | 1658 ++++++------- src/main/resources/assets/eln/lang/it_IT.lang | 1658 ++++++------- src/main/resources/assets/eln/lang/nl.lang | 1658 ++++++------- src/main/resources/assets/eln/lang/nl_BE.lang | 1658 ++++++------- src/main/resources/assets/eln/lang/nl_NL.lang | 1658 ++++++------- src/main/resources/assets/eln/lang/no.lang | 1658 ++++++------- src/main/resources/assets/eln/lang/pl.lang | 1658 ++++++------- src/main/resources/assets/eln/lang/pl_PL.lang | 1658 ++++++------- src/main/resources/assets/eln/lang/pt.lang | 1658 ++++++------- src/main/resources/assets/eln/lang/pt_BR.lang | 1658 ++++++------- src/main/resources/assets/eln/lang/ro.lang | 1658 ++++++------- src/main/resources/assets/eln/lang/ru.lang | 1658 ++++++------- src/main/resources/assets/eln/lang/ru_RU.lang | 1658 ++++++------- src/main/resources/assets/eln/lang/sk.lang | 1658 ++++++------- src/main/resources/assets/eln/lang/sk_SK.lang | 1658 ++++++------- src/main/resources/assets/eln/lang/sr.lang | 1658 ++++++------- src/main/resources/assets/eln/lang/sv_SE.lang | 1658 ++++++------- src/main/resources/assets/eln/lang/tr.lang | 1658 ++++++------- src/main/resources/assets/eln/lang/tr_TR.lang | 1658 ++++++------- src/main/resources/assets/eln/lang/zh.lang | 1658 ++++++------- src/main/resources/assets/eln/lang/zh_CN.lang | 1658 ++++++------- 47 files changed, 35347 insertions(+), 35347 deletions(-) diff --git a/src/main/resources/assets/eln/lang/_en_GB.lang b/src/main/resources/assets/eln/lang/_en_GB.lang index 231735991..f1fefa04d 100644 --- a/src/main/resources/assets/eln/lang/_en_GB.lang +++ b/src/main/resources/assets/eln/lang/_en_GB.lang @@ -1,5 +1,5 @@ -# ElectricalAge language file (British - English) - -# Mod info -mod.name=Electrical Age -mod.desc=Electricity in your base ! +eln:# ElectricalAge language file (British - English) +eln: +eln:# Mod info +eln:mod.name=Electrical Age +eln:mod.desc=Electricity in your base ! diff --git a/src/main/resources/assets/eln/lang/_es_ES.lang b/src/main/resources/assets/eln/lang/_es_ES.lang index 3efad4939..f989af7b4 100644 --- a/src/main/resources/assets/eln/lang/_es_ES.lang +++ b/src/main/resources/assets/eln/lang/_es_ES.lang @@ -1,14 +1,14 @@ -# ElectricalAge language file (Spain - Spanish) - -# Mod info -mod.name=Electrical Age -mod.desc=¡Electricidad en tu base! - -# Machines -50v_macerator.name=Macerator de 50V - -# Achievements -achievement.openGuide=Wiki -achievement.openGuide.desc=Abre la wiki. -achievement.craft50VMacerator=Trituradora Novice -achievement.craft50VMacerator.desc=Craftea un Macerator de 50V +eln:# ElectricalAge language file (Spain - Spanish) +eln: +eln:# Mod info +eln:mod.name=Electrical Age +eln:mod.desc=¡Electricidad en tu base! +eln: +eln:# Machines +eln:50v_macerator.name=Macerator de 50V +eln: +eln:# Achievements +eln:achievement.openGuide=Wiki +eln:achievement.openGuide.desc=Abre la wiki. +eln:achievement.craft50VMacerator=Trituradora Novice +eln:achievement.craft50VMacerator.desc=Craftea un Macerator de 50V diff --git a/src/main/resources/assets/eln/lang/_fr_FR.lang b/src/main/resources/assets/eln/lang/_fr_FR.lang index 337a320ba..9656cda32 100644 --- a/src/main/resources/assets/eln/lang/_fr_FR.lang +++ b/src/main/resources/assets/eln/lang/_fr_FR.lang @@ -1,8 +1,8 @@ -# ElectricalAge language file (France - French) - -# Mod info -mod.name=Electrical Age -mod.desc=Ajoutez l'électricite dans votre base ! - -# Machines -50v_macerator.name=Macérateur 50V \ No newline at end of file +eln:# ElectricalAge language file (France - French) +eln: +eln:# Mod info +eln:mod.name=Electrical Age +eln:mod.desc=Ajoutez l'électricite dans votre base ! +eln: +eln:# Machines +eln:50v_macerator.name=Macérateur 50V \ No newline at end of file diff --git a/src/main/resources/assets/eln/lang/_it_IT.lang b/src/main/resources/assets/eln/lang/_it_IT.lang index ae09d66d3..d1a778c07 100644 --- a/src/main/resources/assets/eln/lang/_it_IT.lang +++ b/src/main/resources/assets/eln/lang/_it_IT.lang @@ -1,5 +1,5 @@ -# ElectricalAge language file (Italia - Italiano) - -# Mod info -mod.name=Electrical Age -mod.desc=Energia nella tua base! +eln:# ElectricalAge language file (Italia - Italiano) +eln: +eln:# Mod info +eln:mod.name=Electrical Age +eln:mod.desc=Energia nella tua base! diff --git a/src/main/resources/assets/eln/lang/_pt_BR.lang b/src/main/resources/assets/eln/lang/_pt_BR.lang index 90f0cf8ce..d631c4a00 100644 --- a/src/main/resources/assets/eln/lang/_pt_BR.lang +++ b/src/main/resources/assets/eln/lang/_pt_BR.lang @@ -1,237 +1,237 @@ -# -advanced_machine_block.name=Carcaça de Máquina Avançada -cinnabar_ore.name=Minério de Cinábrio -cheap_chip.name=Chip Barato -dielectric.name=Dielétrico -data_logger_print.name=Data Logger Print -high_voltage_cable.name=Cabo de Alta Voltagem -small_50v_carbon_incandescent_light_bulb.name=Pequena Lâmpada Incandescente de carbono de 50V -alloy_plate.name=Placa de Liga -copper_plate.name=Placa de Cobre -200v_plate_machine.name=Prensa de 200V -small_passive_thermal_dissipator.name=Pequeno Dissipador Termico Passivo -wireless_signal_repeater.name=Repetidor de Sinal Wireless -transformer.name=Transformador -machine_booster.name=Impulsionador de Máquina -analogic_regulator.name=Regulador Analógico -ferrite_ingot.name=Lingote de Ferrita -lamp_supply.name=Fonte para Lâmpadas -suspended_lamp_socket.name=Soquete Suspenso para Lâmpadas -stone_heat_furnace.name=Fornalha de Aquecimento -electrical_source.name=Fonte Elétrica -optimal_ferromagnetic_core.name=Núcleo Ferromagnético Ideal -experimental_transporter.name=Experimental Transporter -x-ray_scanner.name=Escâner de Raios X -high_voltage_relay.name=Relé para Alta Voltagem -robust_lamp_socket.name=Soquete Robusto para Lâmpadas -blue_brush.name=Pincel Azul -very_high_voltage_relay.name=Relé para Voltagem Muito Alta -advanced_electrical_motor.name=Motor Elétrico Avançado -mining_pipe.name=Tubulação para Mineração -iron_plate.name=Placa de Ferro -50v_egg_incubator.name=Incubador de Ovos de 50V -portable_battery.name=Bateria Portátil -medium_voltage_switch.name=Interruptor para Média Voltagem -ground_cable.name=Aterramento -50v_economic_light_bulb.name=Lâmpada Econômica de 50V -signal_switch_with_led.name=Interruptor de Sinal com Led -electrical_entity_sensor.name=Sensor de Presença Elétrico -power_inductor.name=Indutor -50v_battery_charger.name=Recarregador de 50V de Baterias -electrical_daylight_sensor.name=Sensor de Luz Solar -signal_button.name=Botão de Sinal -25a_diode.name=Diodo para 25A -low_voltage_cable.name=Cabo de Baixa Voltagem -thermal_probe_chip.name=Chip para Sonda Térmica -digital_watch.name=Relógio Digital -copper_dust.name=Pó de Cobre -signal_cable.name=Cabo de Sinal -overheating_protection.name=Proteção Contra Aquecimento -50v_farming_lamp.name=Lâmpada para Plantação de 50V -medium_voltage_relay.name=Relé para Média Voltagem -gold_dust.name=Pó de Ouro -on/off_regulator_10%.name=Regulador Liga/Desliga 10% -electrical_probe.name=Sonda Elétrica -animal_filter.name=Filtro (Animais) -200v_farming_lamp.name=Lâmpada para Plantação de 200V -200v_economic_light_bulb.name=Lâmpada Econômica de 200V -electrical_motor.name=Motor Elétrico -tungsten_dust.name=Pó de Tungstênio -achievement.craft50VMacerator=Crushing Novice -achievement.craft50VMacerator.desc=Craft a 50V Macerator -wireless_analyser.name=Analizador de Sinal Wireless -very_high_voltage_cable.name=Cabo de Voltagem Muito Alta -low_power_transmitter_antenna.name=Antena Transmissora de Baixa Potência -silver_brush.name=Pincel Azul -electrical_timer.name=Electrical Timer -high_power_receiver_antenna.name=Antena Receptora de Alta Potência -50v_macerator.name=Macerador de 50V -lead_plate.name=Placa de Chumbo -basic_magnet.name=Ímã -medium_power_transmitter_antenna.name=Antena Transmissora de Média Potência -street_light.name=Iluminação de Rua -standard_alarm.name=Alarme Padrão -weak_50v_battery_charger.name=Recarregador fraco de 50V de Baterias -player_filter.name=Filtro (Jogador) -small_rotating_solar_panel.name=Pequeno Painel Solar Rotativo -lamp_socket_b_projector.name=Lamp Socket B Projector -200v_magnetizer.name=Magnetizador de 200V -portable_battery_pack.name=Pacote de Baterias Portáteis -small_flashlight.name=Lanterna Pequena -black_brush.name=Pincel Preto -50v_iron_heating_corp.name=50V Iron Heating Corp -average_electrical_drill.name=Broca Mediana para Mineração -portable_condensator_pack.name=Portable Condensator Pack -200v_tungsten_heating_corp.name=200V Tungsten Heating Corp -led_vumeter.name=LED vuMeter -data_logger.name=Data Logger -small_200v_tungsten_heating_corp.name=Small 200V Tungsten Heating Corp -modbus_rtu.name=Modbus RTU -50v_carbon_incandescent_light_bulb.name=Lâmpada Incandescente de Carbono de 50V -portable_condensator.name=Portable Condensator -tungsten_cable.name=Cabo de Tungstênio -flat_lamp_socket.name=Soquete Plano para Lâmpadas -average_ferromagnetic_core.name=Núcleo Ferromagnético Mediano -wind_turbine.name=Aerogerador -light_blue_brush.name=Pincel Azul -lead_ore.name=Minério de Chumbo -analog_watch.name=Relógio Analógico -tree_resin.name=Resina -combustion_chamber.name=Câmara de Combustão -overvoltage_protection.name=Proteção contra sobretensão -signal_antenna.name=Antena de Sinal -tree_resin_collector.name=Coletor de Resina de Árvore -ore_scanner.name=Escâner de Minérios -50v_copper_heating_corp.name=50V Copper Heating Corp -temperature_probe.name=Sonda de Temperatura -200v_battery_charger.name=Recarregador de 200V de Baterias -copper_ore.name=Minério de Cobre -silicon_ingot.name=Lingote de Silício -cinnabar_dust.name=Pó de Cinábrio -small_200v_iron_heating_corp.name=Small 200V Iron Heating Corp -200v_macerator.name=200V Macerador -electrical_fire_detector.name=Detector Elétrico de Fogo -alloy_ingot.name=Lingote de Liga -silicon_dust.name=Pó de Silício -200v_copper_heating_corp.name=200V Copper Heating Corp -small_200v_copper_heating_corp.name=Small 200V Copper Heating Corp -tungsten_ingot.name=Lingote de Tungstênio -portable_electrical_axe.name=Machado Elétrico -thermal_probe.name=Sonda Térmica -multimeter.name=Multímetro -iron_dust.name=Pó de Ferro -mod.meta.desc=Eletricidade na Sua Base! -lamp_socket_a.name=Soquete B para lâmpadas -lime_brush.name=Pincel Verde-Limão -lead_ingot.name=Lingote de Chumbo -low_power_receiver_antenna.name=Antena Receptora de Baixa Potência -gold_plate.name=Placa de Ouro -life_oriented_battery.name=Bateria de Longa Vida 50% Carregada -energy_meter.name=Contador de Energia -50v_incandescent_light_bulb.name=Lâmpdada Incandescente de 50V -copper_thermal_cable.name=Cabo Térmico de Cobre -50v_magnetizer.name=Magnetizador de 50V -small_50v_tungsten_heating_corp.name=Small 50V Tungsten Heating Corp -current_oriented_battery.name=Bateria para Alta Corrente 50% Carregada -solar_tracker.name=Rastreador Solar -small_solar_panel.name=Painél Solar Pequeno -mercury.name=Mercúrio -yellow_brush.name=Pincel Amarelo -wrench.name=Chave Inglesa -signal_trimmer.name=Signal Trimmer -wireless_switch.name=Interruptor Wireless -50v_condensator.name=50V Condensator charged at 0% -purple_brush.name=Pincel Roxo -high_voltage_switch.name=Interruptor para Alta Voltagem -modern_data_logger.name=Modern Data Logger -coal_plate.name=Placa de Carbono -fluorescent_lamp_socket.name=Soquete para Lâmpada Fluorescente -allmeter.name=AllMeter -alloy_dust.name=Pó de Liga -analog_vumeter.name=Analog vuMeter -removed_from_mod_copper_thermal_cable.name=Removed from mod Copper Thermal Cable -200v_active_thermal_dissipator.name=Dissipador Térmico Ativo de 200V -hub.name=Hub -single-use_battery.name=Bateria Não Recarregável 100% Carregada -small_50v_copper_heating_corp.name=Small 50V Copper Heating Corp -electrical_breaker.name=Electrical Breaker -redstone-to-voltage_converter.name=Redstone-to-Voltage Converter -achievement.openGuide=Wiki Power -achievement.openGuide.desc=Open the wiki guide -electrical_furnace.name=Fornalha Elétrica -voltage-to-redstone_converter.name=Conversor de Voltagem para Redstone -small_50v_incandescent_light_bulb.name=Lâmpada Incandescente Pequena de 50V -800v_defence_turret.name=Turreta de Defesa de 800V -200v_iron_heating_corp.name=200V Iron Heating Corp -200v_turbine.name=Turbina de 200V -industrial_data_logger.name=Industrial Data Logger -silicon_plate.name=Placa de Silício -advanced_magnet.name=Ímã Avançado -long_suspended_lamp_socket.name=Soquete Suspenso para Lâmpadas (Longo) -signal_switch.name=Interruptor para Sinal -signal_20h_inductor.name=Signal 20H inductor -200v_compressor.name=Compressor de 200V -50v_compressor.name=Compressor de 50V -machine_block.name=Carcaça para Máquina -50v_plate_machine.name=Prensa de 50V -voltage_probe.name=Sonda de Voltagem -electrical_weather_sensor.name=Sensor Elétrico de Condição Climática -signal_diode.name=Diodo de Sinal -green_brush.name=Pincel Verde -200v_condensator.name=200V Condensator charged at 0% -cost_oriented_battery.name=Bateria Simples 50% Carregada -brown_brush.name=Pincel Marrom -cheap_ferromagnetic_core.name=Núcleo Ferromagnético Barato -portable_electrical_mining_drill.name=Broca Elétrica Portátil para Mineração -small_50v_iron_heating_corp.name=Small 50V Iron Heating Corp -monster_filter.name=Filtro (Monstro) -electrical_light_sensor.name=Sensor Elétrico de Luminosidade -magenta_brush.name=Pincel Magenta -simple_lamp_socket.name=Soquete Simples para Lâmpada -high_power_transmitter_antenna.name=Antena transmissora de Alta Potência -signal_processor.name=Processador de Sinal -orange_brush.name=Pincel Laranja -pink_brush.name=Pincel Rosa -wireless_signal_transmitter.name=Transmissor de Sinal Wireless -wireless_button.name=Botão Wireless -very_high_voltage_switch.name=Interruptor para Voltagem Muito Alta -nuclear_alarm.name=Alarme Nuclear -50v_turbine.name=Turbina de 50V -gray_brush.name=Pincel Cinza -200v_incandescent_light_bulb.name=Lâmpada Incandescente de 200V -white_brush.name=Pincel Branco -tutorial_sign.name=Placa do Tutorial -lead_dust.name=Pó de Chumbo -10a_diode.name=Diodo para 10A -advanced_energy_meter.name=Contador Avançado de Energia -small_active_thermal_dissipator.name=Dissipador Térmico Ativo Pequeno -cheap_electrical_drill.name=Broca Barata para Mineraçao -small_50v_economic_light_bulb.name=Lâmpada Econômica Pequena de 50V -capacity_oriented_battery.name=Bateria de Alta Capacidade 50% Carrregada -electrical_probe_chip.name=Chip para Sonda Elétrica -thermometer.name=Termômetro -on/off_regulator_1%.name=Regulador Liga/Desliga 1% -wireless_signal_receiver.name=Receptor de Sinal Wireless -auto_miner.name=Minerador Automático -tungsten_ore.name=Minério de Tungstênio -medium_power_receiver_antenna.name=Antena Receptora de Média Potência -voltage_oriented_battery.name=Bateria de Alta Voltagem 50% Carregada -copper_cable.name=Cabo de Cobre -electrical_anemometer_sensor.name=Anemômetro Elétrico -medium_voltage_cable.name=Cabo de Média Voltagem -50v_tungsten_heating_corp.name=50V Tungsten Heating Corp -low_voltage_switch.name=Interruptor para Baixa Voltagem -rubber.name=Borracha -iron_cable.name=Cabo de Ferro -advanced_chip.name=Chip Avançado -water_turbine.name=Roda d'Água -red_brush.name=Pincel Vermelho -fast_electrical_drill.name=Broca Elétrica Rápida -power_capacitor.name=Power capacitor -copper_ingot.name=Lingote de Cobre -low_voltage_relay.name=Relé para Baixa Voltagem -cyan_brush.name=Pincel Ciano -coal_dust.name=Pó de Carvão -power_resistor.name=Power Resistor -thermistor.name=Termístor -rheostat.name=Reóstato +eln:# +eln:advanced_machine_block.name=Carcaça de Máquina Avançada +eln:cinnabar_ore.name=Minério de Cinábrio +eln:cheap_chip.name=Chip Barato +eln:dielectric.name=Dielétrico +eln:data_logger_print.name=Data Logger Print +eln:high_voltage_cable.name=Cabo de Alta Voltagem +eln:small_50v_carbon_incandescent_light_bulb.name=Pequena Lâmpada Incandescente de carbono de 50V +eln:alloy_plate.name=Placa de Liga +eln:copper_plate.name=Placa de Cobre +eln:200v_plate_machine.name=Prensa de 200V +eln:small_passive_thermal_dissipator.name=Pequeno Dissipador Termico Passivo +eln:wireless_signal_repeater.name=Repetidor de Sinal Wireless +eln:transformer.name=Transformador +eln:machine_booster.name=Impulsionador de Máquina +eln:analogic_regulator.name=Regulador Analógico +eln:ferrite_ingot.name=Lingote de Ferrita +eln:lamp_supply.name=Fonte para Lâmpadas +eln:suspended_lamp_socket.name=Soquete Suspenso para Lâmpadas +eln:stone_heat_furnace.name=Fornalha de Aquecimento +eln:electrical_source.name=Fonte Elétrica +eln:optimal_ferromagnetic_core.name=Núcleo Ferromagnético Ideal +eln:experimental_transporter.name=Experimental Transporter +eln:x-ray_scanner.name=Escâner de Raios X +eln:high_voltage_relay.name=Relé para Alta Voltagem +eln:robust_lamp_socket.name=Soquete Robusto para Lâmpadas +eln:blue_brush.name=Pincel Azul +eln:very_high_voltage_relay.name=Relé para Voltagem Muito Alta +eln:advanced_electrical_motor.name=Motor Elétrico Avançado +eln:mining_pipe.name=Tubulação para Mineração +eln:iron_plate.name=Placa de Ferro +eln:50v_egg_incubator.name=Incubador de Ovos de 50V +eln:portable_battery.name=Bateria Portátil +eln:medium_voltage_switch.name=Interruptor para Média Voltagem +eln:ground_cable.name=Aterramento +eln:50v_economic_light_bulb.name=Lâmpada Econômica de 50V +eln:signal_switch_with_led.name=Interruptor de Sinal com Led +eln:electrical_entity_sensor.name=Sensor de Presença Elétrico +eln:power_inductor.name=Indutor +eln:50v_battery_charger.name=Recarregador de 50V de Baterias +eln:electrical_daylight_sensor.name=Sensor de Luz Solar +eln:signal_button.name=Botão de Sinal +eln:25a_diode.name=Diodo para 25A +eln:low_voltage_cable.name=Cabo de Baixa Voltagem +eln:thermal_probe_chip.name=Chip para Sonda Térmica +eln:digital_watch.name=Relógio Digital +eln:copper_dust.name=Pó de Cobre +eln:signal_cable.name=Cabo de Sinal +eln:overheating_protection.name=Proteção Contra Aquecimento +eln:50v_farming_lamp.name=Lâmpada para Plantação de 50V +eln:medium_voltage_relay.name=Relé para Média Voltagem +eln:gold_dust.name=Pó de Ouro +eln:on/off_regulator_10%.name=Regulador Liga/Desliga 10% +eln:electrical_probe.name=Sonda Elétrica +eln:animal_filter.name=Filtro (Animais) +eln:200v_farming_lamp.name=Lâmpada para Plantação de 200V +eln:200v_economic_light_bulb.name=Lâmpada Econômica de 200V +eln:electrical_motor.name=Motor Elétrico +eln:tungsten_dust.name=Pó de Tungstênio +eln:achievement.craft50VMacerator=Crushing Novice +eln:achievement.craft50VMacerator.desc=Craft a 50V Macerator +eln:wireless_analyser.name=Analizador de Sinal Wireless +eln:very_high_voltage_cable.name=Cabo de Voltagem Muito Alta +eln:low_power_transmitter_antenna.name=Antena Transmissora de Baixa Potência +eln:silver_brush.name=Pincel Azul +eln:electrical_timer.name=Electrical Timer +eln:high_power_receiver_antenna.name=Antena Receptora de Alta Potência +eln:50v_macerator.name=Macerador de 50V +eln:lead_plate.name=Placa de Chumbo +eln:basic_magnet.name=Ímã +eln:medium_power_transmitter_antenna.name=Antena Transmissora de Média Potência +eln:street_light.name=Iluminação de Rua +eln:standard_alarm.name=Alarme Padrão +eln:weak_50v_battery_charger.name=Recarregador fraco de 50V de Baterias +eln:player_filter.name=Filtro (Jogador) +eln:small_rotating_solar_panel.name=Pequeno Painel Solar Rotativo +eln:lamp_socket_b_projector.name=Lamp Socket B Projector +eln:200v_magnetizer.name=Magnetizador de 200V +eln:portable_battery_pack.name=Pacote de Baterias Portáteis +eln:small_flashlight.name=Lanterna Pequena +eln:black_brush.name=Pincel Preto +eln:50v_iron_heating_corp.name=50V Iron Heating Corp +eln:average_electrical_drill.name=Broca Mediana para Mineração +eln:portable_condensator_pack.name=Portable Condensator Pack +eln:200v_tungsten_heating_corp.name=200V Tungsten Heating Corp +eln:led_vumeter.name=LED vuMeter +eln:data_logger.name=Data Logger +eln:small_200v_tungsten_heating_corp.name=Small 200V Tungsten Heating Corp +eln:modbus_rtu.name=Modbus RTU +eln:50v_carbon_incandescent_light_bulb.name=Lâmpada Incandescente de Carbono de 50V +eln:portable_condensator.name=Portable Condensator +eln:tungsten_cable.name=Cabo de Tungstênio +eln:flat_lamp_socket.name=Soquete Plano para Lâmpadas +eln:average_ferromagnetic_core.name=Núcleo Ferromagnético Mediano +eln:wind_turbine.name=Aerogerador +eln:light_blue_brush.name=Pincel Azul +eln:lead_ore.name=Minério de Chumbo +eln:analog_watch.name=Relógio Analógico +eln:tree_resin.name=Resina +eln:combustion_chamber.name=Câmara de Combustão +eln:overvoltage_protection.name=Proteção contra sobretensão +eln:signal_antenna.name=Antena de Sinal +eln:tree_resin_collector.name=Coletor de Resina de Árvore +eln:ore_scanner.name=Escâner de Minérios +eln:50v_copper_heating_corp.name=50V Copper Heating Corp +eln:temperature_probe.name=Sonda de Temperatura +eln:200v_battery_charger.name=Recarregador de 200V de Baterias +eln:copper_ore.name=Minério de Cobre +eln:silicon_ingot.name=Lingote de Silício +eln:cinnabar_dust.name=Pó de Cinábrio +eln:small_200v_iron_heating_corp.name=Small 200V Iron Heating Corp +eln:200v_macerator.name=200V Macerador +eln:electrical_fire_detector.name=Detector Elétrico de Fogo +eln:alloy_ingot.name=Lingote de Liga +eln:silicon_dust.name=Pó de Silício +eln:200v_copper_heating_corp.name=200V Copper Heating Corp +eln:small_200v_copper_heating_corp.name=Small 200V Copper Heating Corp +eln:tungsten_ingot.name=Lingote de Tungstênio +eln:portable_electrical_axe.name=Machado Elétrico +eln:thermal_probe.name=Sonda Térmica +eln:multimeter.name=Multímetro +eln:iron_dust.name=Pó de Ferro +eln:mod.meta.desc=Eletricidade na Sua Base! +eln:lamp_socket_a.name=Soquete B para lâmpadas +eln:lime_brush.name=Pincel Verde-Limão +eln:lead_ingot.name=Lingote de Chumbo +eln:low_power_receiver_antenna.name=Antena Receptora de Baixa Potência +eln:gold_plate.name=Placa de Ouro +eln:life_oriented_battery.name=Bateria de Longa Vida 50% Carregada +eln:energy_meter.name=Contador de Energia +eln:50v_incandescent_light_bulb.name=Lâmpdada Incandescente de 50V +eln:copper_thermal_cable.name=Cabo Térmico de Cobre +eln:50v_magnetizer.name=Magnetizador de 50V +eln:small_50v_tungsten_heating_corp.name=Small 50V Tungsten Heating Corp +eln:current_oriented_battery.name=Bateria para Alta Corrente 50% Carregada +eln:solar_tracker.name=Rastreador Solar +eln:small_solar_panel.name=Painél Solar Pequeno +eln:mercury.name=Mercúrio +eln:yellow_brush.name=Pincel Amarelo +eln:wrench.name=Chave Inglesa +eln:signal_trimmer.name=Signal Trimmer +eln:wireless_switch.name=Interruptor Wireless +eln:50v_condensator.name=50V Condensator charged at 0% +eln:purple_brush.name=Pincel Roxo +eln:high_voltage_switch.name=Interruptor para Alta Voltagem +eln:modern_data_logger.name=Modern Data Logger +eln:coal_plate.name=Placa de Carbono +eln:fluorescent_lamp_socket.name=Soquete para Lâmpada Fluorescente +eln:allmeter.name=AllMeter +eln:alloy_dust.name=Pó de Liga +eln:analog_vumeter.name=Analog vuMeter +eln:removed_from_mod_copper_thermal_cable.name=Removed from mod Copper Thermal Cable +eln:200v_active_thermal_dissipator.name=Dissipador Térmico Ativo de 200V +eln:hub.name=Hub +eln:single-use_battery.name=Bateria Não Recarregável 100% Carregada +eln:small_50v_copper_heating_corp.name=Small 50V Copper Heating Corp +eln:electrical_breaker.name=Electrical Breaker +eln:redstone-to-voltage_converter.name=Redstone-to-Voltage Converter +eln:achievement.openGuide=Wiki Power +eln:achievement.openGuide.desc=Open the wiki guide +eln:electrical_furnace.name=Fornalha Elétrica +eln:voltage-to-redstone_converter.name=Conversor de Voltagem para Redstone +eln:small_50v_incandescent_light_bulb.name=Lâmpada Incandescente Pequena de 50V +eln:800v_defence_turret.name=Turreta de Defesa de 800V +eln:200v_iron_heating_corp.name=200V Iron Heating Corp +eln:200v_turbine.name=Turbina de 200V +eln:industrial_data_logger.name=Industrial Data Logger +eln:silicon_plate.name=Placa de Silício +eln:advanced_magnet.name=Ímã Avançado +eln:long_suspended_lamp_socket.name=Soquete Suspenso para Lâmpadas (Longo) +eln:signal_switch.name=Interruptor para Sinal +eln:signal_20h_inductor.name=Signal 20H inductor +eln:200v_compressor.name=Compressor de 200V +eln:50v_compressor.name=Compressor de 50V +eln:machine_block.name=Carcaça para Máquina +eln:50v_plate_machine.name=Prensa de 50V +eln:voltage_probe.name=Sonda de Voltagem +eln:electrical_weather_sensor.name=Sensor Elétrico de Condição Climática +eln:signal_diode.name=Diodo de Sinal +eln:green_brush.name=Pincel Verde +eln:200v_condensator.name=200V Condensator charged at 0% +eln:cost_oriented_battery.name=Bateria Simples 50% Carregada +eln:brown_brush.name=Pincel Marrom +eln:cheap_ferromagnetic_core.name=Núcleo Ferromagnético Barato +eln:portable_electrical_mining_drill.name=Broca Elétrica Portátil para Mineração +eln:small_50v_iron_heating_corp.name=Small 50V Iron Heating Corp +eln:monster_filter.name=Filtro (Monstro) +eln:electrical_light_sensor.name=Sensor Elétrico de Luminosidade +eln:magenta_brush.name=Pincel Magenta +eln:simple_lamp_socket.name=Soquete Simples para Lâmpada +eln:high_power_transmitter_antenna.name=Antena transmissora de Alta Potência +eln:signal_processor.name=Processador de Sinal +eln:orange_brush.name=Pincel Laranja +eln:pink_brush.name=Pincel Rosa +eln:wireless_signal_transmitter.name=Transmissor de Sinal Wireless +eln:wireless_button.name=Botão Wireless +eln:very_high_voltage_switch.name=Interruptor para Voltagem Muito Alta +eln:nuclear_alarm.name=Alarme Nuclear +eln:50v_turbine.name=Turbina de 50V +eln:gray_brush.name=Pincel Cinza +eln:200v_incandescent_light_bulb.name=Lâmpada Incandescente de 200V +eln:white_brush.name=Pincel Branco +eln:tutorial_sign.name=Placa do Tutorial +eln:lead_dust.name=Pó de Chumbo +eln:10a_diode.name=Diodo para 10A +eln:advanced_energy_meter.name=Contador Avançado de Energia +eln:small_active_thermal_dissipator.name=Dissipador Térmico Ativo Pequeno +eln:cheap_electrical_drill.name=Broca Barata para Mineraçao +eln:small_50v_economic_light_bulb.name=Lâmpada Econômica Pequena de 50V +eln:capacity_oriented_battery.name=Bateria de Alta Capacidade 50% Carrregada +eln:electrical_probe_chip.name=Chip para Sonda Elétrica +eln:thermometer.name=Termômetro +eln:on/off_regulator_1%.name=Regulador Liga/Desliga 1% +eln:wireless_signal_receiver.name=Receptor de Sinal Wireless +eln:auto_miner.name=Minerador Automático +eln:tungsten_ore.name=Minério de Tungstênio +eln:medium_power_receiver_antenna.name=Antena Receptora de Média Potência +eln:voltage_oriented_battery.name=Bateria de Alta Voltagem 50% Carregada +eln:copper_cable.name=Cabo de Cobre +eln:electrical_anemometer_sensor.name=Anemômetro Elétrico +eln:medium_voltage_cable.name=Cabo de Média Voltagem +eln:50v_tungsten_heating_corp.name=50V Tungsten Heating Corp +eln:low_voltage_switch.name=Interruptor para Baixa Voltagem +eln:rubber.name=Borracha +eln:iron_cable.name=Cabo de Ferro +eln:advanced_chip.name=Chip Avançado +eln:water_turbine.name=Roda d'Água +eln:red_brush.name=Pincel Vermelho +eln:fast_electrical_drill.name=Broca Elétrica Rápida +eln:power_capacitor.name=Power capacitor +eln:copper_ingot.name=Lingote de Cobre +eln:low_voltage_relay.name=Relé para Baixa Voltagem +eln:cyan_brush.name=Pincel Ciano +eln:coal_dust.name=Pó de Carvão +eln:power_resistor.name=Power Resistor +eln:thermistor.name=Termístor +eln:rheostat.name=Reóstato diff --git a/src/main/resources/assets/eln/lang/ach.lang b/src/main/resources/assets/eln/lang/ach.lang index f4e769aa7..92e8a8d93 100644 --- a/src/main/resources/assets/eln/lang/ach.lang +++ b/src/main/resources/assets/eln/lang/ach.lang @@ -1,829 +1,829 @@ -# - -# ./src/main/java/mods/eln/Achievements.java -Electrical_Age_[WIP]=Electrical Age [WIP] -achievement.craft_50v_macerator=Crushing Novice -achievement.craft_50v_macerator.desc=Craft a 50V Macerator -achievement.open_guide=Wiki Power -achievement.open_guide.desc=Open the wiki guide - -# ./src/main/java/mods/eln/Eln.java -10A_Diode.name=10A Diode -200V_Active_Thermal_Dissipator.name=200V Active Thermal Dissipator -200V_Battery_Charger.name=200V Battery Charger -200V_Compressor.name=200V Compressor -200V_Condensator.name=200V Condensator -200V_Copper_Heating_Corp.name=200V Copper Heating Corp -200V_Economic_Light_Bulb.name=200V Economic Light Bulb -200V_Farming_Lamp.name=200V Farming Lamp -200V_Fuel_Generator.name=200V Fuel Generator -200V_Incandescent_Light_Bulb.name=200V Incandescent Light Bulb -200V_Iron_Heating_Corp.name=200V Iron Heating Corp -200V_LED_Bulb.name=200V LED Bulb -200V_Macerator.name=200V Macerator -200V_Magnetizer.name=200V Magnetizer -200V_Plate_Machine.name=200V Plate Machine -200V_Power_Socket.name=200V Power Socket -200V_Tungsten_Heating_Corp.name=200V Tungsten Heating Corp -200V_Turbine.name=200V Turbine -25A_Diode.name=25A Diode -50V_Battery_Charger.name=50V Battery Charger -50V_Carbon_Incandescent_Light_Bulb.name=50V Carbon Incandescent Light Bulb -50V_Compressor.name=50V Compressor -50V_Condensator.name=50V Condensator -50V_Copper_Heating_Corp.name=50V Copper Heating Corp -50V_Economic_Light_Bulb.name=50V Economic Light Bulb -50V_Egg_Incubator.name=50V Egg Incubator -50V_Farming_Lamp.name=50V Farming Lamp -50V_Fuel_Generator.name=50V Fuel Generator -50V_Incandescent_Light_Bulb.name=50V Incandescent Light Bulb -50V_Iron_Heating_Corp.name=50V Iron Heating Corp -50V_LED_Bulb.name=50V LED Bulb -50V_Macerator.name=50V Macerator -50V_Magnetizer.name=50V Magnetizer -50V_Plate_Machine.name=50V Plate Machine -50V_Power_Socket.name=50V Power Socket -50V_Tungsten_Heating_Corp.name=50V Tungsten Heating Corp -50V_Turbine.name=50V Turbine -800V_Defence_Turret.name=800V Defence Turret -AND_Chip.name=AND Chip -Advanced_Chip.name=Advanced Chip -Advanced_Electrical_Motor.name=Advanced Electrical Motor -Advanced_Energy_Meter.name=Advanced Energy Meter -Advanced_Machine_Block.name=Advanced Machine Block -Advanced_Magnet.name=Advanced Magnet -AllMeter.name=Universal-Meter -Alloy_Dust.name=Alloy Dust -Alloy_Ingot.name=Alloy Ingot -Alloy_Plate.name=Alloy Plate -Analog_Watch.name=Analog watch -Analog_vuMeter.name=Analog Gauge -Analogic_Regulator.name=Analogic Regulator -Animal_Filter.name=Animal Filter -Auto_Miner.name=Auto Miner -Average_Electrical_Drill.name=Average Electrical Drill -Average_Ferromagnetic_Core.name=Average Ferromagnetic Core -Basic_Magnet.name=Basic Magnet -Black_Brush.name=Black Brush -Blue_Brush.name=Blue Brush -Brown_Brush.name=Brown Brush -Capacity_Oriented_Battery.name=Capacity Oriented Battery -Cheap_Chip.name=Cheap Chip -Cheap_Electrical_Drill.name=Cheap Electrical Drill -Cheap_Ferromagnetic_Core.name=Cheap Ferromagnetic Core -Cinnabar_Dust.name=Cinnabar Dust -Cinnabar_Ore.name=Cinnabar Ore -Coal_Dust.name=Coal Dust -Coal_Plate.name=Coal Plate -Combustion_Chamber.name=Combustion Chamber -Copper_Cable.name=Copper Cable -Copper_Dust.name=Copper Dust -Copper_Ingot.name=Copper Ingot -Copper_Ore.name=Copper Ore -Copper_Plate.name=Copper Plate -Copper_Thermal_Cable.name=Copper Thermal Cable -Cost_Oriented_Battery.name=Cost Oriented Battery -Current_Oriented_Battery.name=Current Oriented Battery -Cyan_Brush.name=Cyan Brush -D_Flip_Flop_Chip.name=D Flip Flop Chip -Data_Logger.name=Data Logger -Data_Logger_Print.name=Data Logger Print -Dielectric.name=Dielectric -Digital_Watch.name=Digital Watch -Electrical_Anemometer_Sensor.name=Electrical Anemometer Sensor -Electrical_Breaker.name=Electrical Breaker -Electrical_Daylight_Sensor.name=Electrical Daylight Sensor -Electrical_Entity_Sensor.name=Electrical Entity Sensor -Electrical_Fire_Detector.name=Electrical Fire Detector -Electrical_Furnace.name=Electrical Furnace -Electrical_Light_Sensor.name=Electrical Light Sensor -Electrical_Motor.name=Electrical Motor -Electrical_Probe.name=Electrical Probe -Electrical_Probe_Chip.name=Electrical Probe Chip -Electrical_Source.name=Electrical Source -Electrical_Timer.name=Electrical Timer -Electrical_Weather_Sensor.name=Electrical Weather Sensor -Electrical_age_wrench,\nCan_be_used_to_turn\nsmall_wall_blocks=Electrical age wrench,\nCan be used to turn\nsmall wall blocks -Energy_Meter.name=Energy Meter -Experimental_Transporter.name=Experimental Transporter -Fast_Electrical_Drill.name=Fast Electrical Drill -Ferrite_Ingot.name=Ferrite Ingot -Flat_Lamp_Socket.name=Flat Lamp Socket -Fluorescent_Lamp_Socket.name=Fluorescent Lamp Socket -Generator.name=Generator -Gold_Dust.name=Gold Dust -Gold_Plate.name=Gold Plate -Gray_Brush.name=Gray Brush -Green_Brush.name=Green Brush -Ground_Cable.name=Ground Cable -High_Power_Receiver_Antenna.name=High Power Receiver Antenna -High_Power_Transmitter_Antenna.name=High Power Transmitter Antenna -High_Voltage_Cable.name=High Voltage Cable -High_Voltage_Relay.name=High Voltage Relay -High_Voltage_Switch.name=High Voltage Switch -Hub.name=Hub -Industrial_Data_Logger.name=Industrial Data Logger -Iron_Cable.name=Iron Cable -Iron_Dust.name=Iron Dust -Iron_Plate.name=Iron Plate -JK_Flip_Flop_Chip.name=JK Flip Flop Chip -LED_vuMeter.name=LED vuMeter -Lamp_Socket_A.name=Lamp Socket A -Lamp_Socket_B_Projector.name=Lamp Socket B Projector -Lamp_Supply.name=Lamp Supply -Large_Rheostat.name=Large Rheostat -Lead_Dust.name=Lead Dust -Lead_Ingot.name=Lead Ingot -Lead_Ore.name=Lead Ore -Lead_Plate.name=Lead Plate -Life_Oriented_Battery.name=Life Oriented Battery -Light_Blue_Brush.name=Light Blue Brush -Lime_Brush.name=Lime Brush -Long_Suspended_Lamp_Socket.name=Long Suspended Lamp Socket -Low_Power_Receiver_Antenna.name=Low Power Receiver Antenna -Low_Power_Transmitter_Antenna.name=Low Power Transmitter Antenna -Low_Voltage_Cable.name=Low Voltage Cable -Low_Voltage_Relay.name=Low Voltage Relay -Low_Voltage_Switch.name=Low Voltage Switch -Machine_Block.name=Machine Block -Machine_Booster.name=Machine Booster -Magenta_Brush.name=Magenta Brush -Medium_Power_Receiver_Antenna.name=Medium Power Receiver Antenna -Medium_Power_Transmitter_Antenna.name=Medium Power Transmitter Antenna -Medium_Voltage_Cable.name=Medium Voltage Cable -Medium_Voltage_Relay.name=Medium Voltage Relay -Medium_Voltage_Switch.name=Medium Voltage Switch -Mercury.name=Mercury -Mining_Pipe.name=Mining Pipe -Modbus_RTU.name=Modbus RTU -Modern_Data_Logger.name=Modern Data Logger -Monster_Filter.name=Monster Filter -MultiMeter.name=Multimeter -NAND_Chip.name=NAND Chip -NOR_Chip.name=NOR Chip -NOT_Chip.name=NOT Chip -Nuclear_Alarm.name=Nuclear Alarm -OR_Chip.name=OR Chip -On_OFF_Regulator_10_Percent.name=On/off regulator 10% -On_OFF_Regulator_1_Percent.name=On/off regulator 1% -Optimal_Ferromagnetic_Core.name=Optimal Ferromagnetic Core -Orange_Brush.name=Orange Brush -Ore_Scanner.name=Ore Scanner -Oscillator_Chip.name=Oscillator Chip -Overheating_Protection.name=Overheating Protection -Overvoltage_Protection.name=Overvoltage Protection -PAL_Chip.name=PAL Chip -Pink_Brush.name=Pink Brush -Player_Filter.name=Player Filter -Portable_Battery.name=Portable Battery -Portable_Battery_Pack.name=Portable Battery Pack -Portable_Condensator.name=Portable Condensator -Portable_Condensator_Pack.name=Portable Condensator Pack -Portable_Electrical_Axe.name=Portable Electrical Axe -Portable_Electrical_Mining_Drill.name=Portable Electrical Mining Drill -Power_Capacitor.name=Power Capacitor -Power_Inductor.name=Power Inductor -Power_Resistor.name=Power Resistor -Power_capacitor.name=Power capacitor -Power_inductor.name=Power inductor -Purple_Brush.name=Purple Brush -Red_Brush.name=Red Brush -Redstone-to-Voltage_Converter.name=Redstone-to-Voltage Converter -Rheostat.name=Rheostat -Robust_Lamp_Socket.name=Robust Lamp Socket -Rubber.name=Rubber -Schmitt_Trigger_Chip.name=Schmitt Trigger Chip -Sconce_Lamp_Socket.name=Sconce Lamp Socket -Signal_20H_inductor.name=Signal 20H inductor -Signal_Antenna.name=Signal Antenna -Signal_Button.name=Signal Button -Signal_Cable.name=Signal Cable -Signal_Diode.name=Signal Diode -Signal_Processor.name=Signal Processor -Signal_Relay.name=Signal Relay -Signal_Source.name=Signal Source -Signal_Switch.name=Signal Switch -Signal_Switch_with_LED.name=Signal Switch with LED -Signal_Trimmer.name=Signal Trimmer -Silicon_Dust.name=Silicon Dust -Silicon_Ingot.name=Silicon Ingot -Silicon_Plate.name=Silicon Plate -Silver_Brush.name=Silver Brush -Simple_Lamp_Socket.name=Simple Lamp Socket -Single-use_Battery.name=Single-use Battery -Small_200V_Copper_Heating_Corp.name=Small 200V Copper Heating Corp -Small_200V_Iron_Heating_Corp.name=Small 200V Iron Heating Corp -Small_200V_Tungsten_Heating_Corp.name=Small 200V Tungsten Heating Corp -Small_50V_Carbon_Incandescent_Light_Bulb.name=Small 50V Carbon Incandescent Light Bulb -Small_50V_Copper_Heating_Corp.name=Small 50V Copper Heating Corp -Small_50V_Economic_Light_Bulb.name=Small 50V Economic Light Bulb -Small_50V_Incandescent_Light_Bulb.name=Small 50V Incandescent Light Bulb -Small_50V_Iron_Heating_Corp.name=Small 50V Iron Heating Corp -Small_50V_Tungsten_Heating_Corp.name=Small 50V Tungsten Heating Corp -Small_Active_Thermal_Dissipator.name=Small Active Thermal Dissipator -Small_Flashlight.name=Small Flashlight -Small_Passive_Thermal_Dissipator.name=Small Passive Thermal Dissipator -Small_Rotating_Solar_Panel.name=Small Rotating Solar Panel -Small_Solar_Panel.name=Small Solar Panel -Solar_Tracker.name=Solar Tracker -Standard_Alarm.name=Standard Alarm -Steam_Turbine.name=Steam Turbine -Stone_Heat_Furnace.name=Stone Heat Furnace -Street_Light.name=Streetlight -Suspended_Lamp_Socket.name=Suspended Lamp Socket -Temperature_Probe.name=Temperature Probe -Thermal_Probe.name=Thermal Probe -Thermal_Probe_Chip.name=Thermal Probe Chip -Thermistor.name=Thermistor -ThermoMeter.name=Thermometer -Transformer.name=Transformer -Tree_Resin.name=Tree Resin -Tree_Resin_Collector.name=Tree Resin Collector -Tungsten_Cable.name=Tungsten Cable -Tungsten_Dust.name=Tungsten Dust -Tungsten_Ingot.name=Tungsten Ingot -Tungsten_Ore.name=Tungsten Ore -Tutorial_Sign.name=Tutorial Sign -Very_High_Voltage_Cable.name=Very High Voltage Cable -Very_High_Voltage_Relay.name=Very High Voltage Relay -Very_High_Voltage_Switch.name=Very High Voltage Switch -Voltage-to-Redstone_Converter.name=Voltage-to-Redstone Converter -Voltage_Oriented_Battery.name=Voltage Oriented Battery -Voltage_Probe.name=Voltage Probe -Water_Turbine.name=Water Turbine -Weak_50V_Battery_Charger.name=Weak 50V Battery Charger -White_Brush.name=White Brush -Wind_Turbine.name=Wind Turbine -Wireless_Analyser.name=Wireless Analyzer -Wireless_Button.name=Wireless Button -Wireless_Signal_Receiver.name=Wireless Signal Receiver -Wireless_Signal_Repeater.name=Wireless Signal Repeater -Wireless_Signal_Transmitter.name=Wireless Signal Transmitter -Wireless_Switch.name=Wireless Switch -Wrench.name=Wrench -X-Ray_Scanner.name=X-Ray Scanner -XNOR_Chip.name=XNOR Chip -XOR_Chip.name=XOR Chip -Yellow_Brush.name=Yellow Brush -entity.EAReplicator.name=Replicator -item.Copper Axe.name\=Copper Axe -item.Copper Axe.name\=Copper Axe -item.Copper Axe.name\=Copper Axe -item.Copper Axe.name\=Copper Axe -item.Copper Axe.name\=Copper Axe -item.Copper Axe.name\=Copper Axe -item.Copper Axe.name\=Copper Axe -item.Copper Axe.name\=Copper Axe -item.Copper Axe.name\=Copper Axe -item.E-Coal Boots.name\=E-Coal Boots -item.E-Coal Boots.name\=E-Coal Boots -item.E-Coal Boots.name\=E-Coal Boots -item.E-Coal Boots.name\=E-Coal Boots -itemGroup.Eln=Electrical Age -mod.meta.desc=Electricity in your base\! -tile.eln.ElnProbe.name=Eln Computer Probe -tile.eln.EnergyConverterElnToOtherHVUBlock.name=800V Electrical Age to other energy exporter -tile.eln.EnergyConverterElnToOtherLVUBlock.name=50V Electrical Age to other energy exporter -tile.eln.EnergyConverterElnToOtherMVUBlock.name=200V Electrical Age to other energy exporter - -# ./src/main/java/mods/eln/i18n/I18N.java -You_have_%s_lives_left=You have %s lives left - -# ./src/main/java/mods/eln/item/BrushDescriptor.java -Brush_is_dry=Brush is dry -Can_paint_%s_blocks=Can paint %s blocks - -# ./src/main/java/mods/eln/item/CombustionChamber.java -Upgrade_for_the_Stone_Heat_Furnace.=Upgrade for the Stone Heat Furnace. - -# ./src/main/java/mods/eln/item/ElectricalDrillDescriptor.java -Energy_per_operation\:_%sJ=Energy per operation\: %sJ -Time_per_operation\:_%ss=Time per operation\: %ss - -# ./src/main/java/mods/eln/item/FerromagneticCoreDescriptor.java -Cable_loss_factor\:_%s=Cable loss factor\: %s - -# ./src/main/java/mods/eln/item/HeatingCorpElement.java - -# ./src/main/java/mods/eln/item/LampDescriptor.java -Bad=Bad -Condition\:=Condition\: -End_of_life=End of life -Good=Good -New=New -Nominal_lifetime\:_%sh=Nominal lifetime\: %sh -Technology\:_%s=Technology\: %s -Used=Used - -# ./src/main/java/mods/eln/item/LampSlot.java -Lamp_slot=Lamp slot - -# ./src/main/java/mods/eln/item/OverHeatingProtectionDescriptor.java -Useful_to_prevent_overheating\nof_Batteries=Useful to prevent overheating\nof Batteries - -# ./src/main/java/mods/eln/item/OverVoltageProtectionDescriptor.java -Useful_to_prevent_over-voltage\nof_Batteries=Useful to prevent over-voltage\nof Batteries - -# ./src/main/java/mods/eln/item/SolarTrackerDescriptor.java -Solar_panel_upgrade=Solar panel upgrade - -# ./src/main/java/mods/eln/item/electricalitem/BatteryItem.java - -# ./src/main/java/mods/eln/item/electricalitem/ElectricalLampItem.java -Off=Off -On=On -State\:=State\: -Stored_Energy\:_%sJ_(%s)=Stored Energy\: %sJ (%s) - -# ./src/main/java/mods/eln/item/regulator/RegulatorSlot.java - -# ./src/main/java/mods/eln/misc/UtilsClient.java -Hold_shift=Hold shift - -# ./src/main/java/mods/eln/misc/Version.java -mod.name=Electrical Age - -# ./src/main/java/mods/eln/node/six/SixNodeDescriptor.java - -# ./src/main/java/mods/eln/simplenode/energyconverter/EnergyConverterElnToOtherGui.java -Input_power_is_limited_to_%sW=Input power is limited to %sW - -# ./src/main/java/mods/eln/sixnode/LogicGate.kt -_O\:_= O\: - -# ./src/main/java/mods/eln/sixnode/TreeResinCollector/TreeResinCollectorDescriptor.java -Produces_Tree_Resin_over\ntime_when_put_on_a_tree.=Produces Tree Resin over\ntime when put on a tree. -This_block_can_only_be_placed_on_the_side_of_a_tree!=This block can only be placed on the side of a tree\! - -# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerContainer.java -Battery_slot=Battery slot - -# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerDescriptor.java -Can_be_used_to_recharge\nelectrical_items_like\:\nFlash_Light,_X-Ray_scanner\nand_Portable_Battery_...=Can be used to recharge\nelectrical items like\:\nFlash Light, X-Ray scanner\nand Portable Battery ... - -# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerGui.java - -# ./src/main/java/mods/eln/sixnode/diode/DiodeDescriptor.java -Electrical_current_can_only\nflow_through_the_diode\nfrom_anode_to_cathode=Electrical current can only\nflow through the diode\nfrom anode to cathode - -# ./src/main/java/mods/eln/sixnode/electricalalarm/ElectricalAlarmDescriptor.java -= -Emits_an_acoustic_alarm_if\nthe_input_signal_is_high=Emits an acoustic alarm if\nthe input signal is high - -# ./src/main/java/mods/eln/sixnode/electricalalarm/ElectricalAlarmGui.java -Sound_is_muted=Sound is muted -Sound_is_not_muted=Sound is not muted - -# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerContainer.java - -# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerDescriptor.java -Protects_electrical_components\nOpens_contact_if\:\n__-_Voltage_exceeds_a_certain_level\n-_Current_exceeds_the_cable_limit=Protects electrical components\nOpens contact if\:\n - Voltage exceeds a certain level\n- Current exceeds the cable limit - -# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerGui.java -Maximum_voltage_before_cutting_off=Maximum voltage before cutting off -Minimum_voltage_before_cutting_off=Minimum voltage before cutting off -Switch_is_off=Switch is off -Switch_is_on=Switch is on - -# ./src/main/java/mods/eln/sixnode/electricalcable/ElectricalCableDescriptor.java -A_signal_is_electrical_information\nwhich_must_be_between_0V_and_%sV=A signal is electrical information\nwhich must be between 0V and %sV -Cable_is_adapted_to_conduct\nelectrical_signals.=Cable is adapted to conduct\nelectrical signals. -Current\:_%sA=Current\: %sA -Not_adapted_to_transport_power.=Not adapted to transport power. -Save_usage\:=Save usage\: -Serial_resistance\:_%sΩ=Serial resistance\: %sΩ - -# ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerDescriptor.java -It_can_store_up_to_256_points.=It can store up to 256 points. -Measures_the_voltage_of_an\nelectrical_signal_and_plots\nthe_data_in_real_time.=Measures the voltage of an\nelectrical signal and plots\nthe data in real time. - -# ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerGui.java -Back_to_display=Back to display -Configuration=Configuration -Current_[A]=Current [A] -Energy_[J]=Energy [J] -Percent_[-]%=Percent [-]% -Power_[W]=Power [W] -Print=Print -Sampling_period=Sampling period -Temp._[*C]=Temp. [*C] -Voltage_[V]=Voltage [V] -Y-axis_max=Y-axis max -Y-axis_min=Y-axis min - -# ./src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorContainer.java - -# ./src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorDescriptor.java -Output_voltage_increases\nif_entities_are_moving_around.=Output voltage increases\nif entities are moving around. - -# ./src/main/java/mods/eln/sixnode/electricalfiredetector/ElectricalFireDetectorDescriptor.java -Output_voltage_increases\nif_a_fire_has_been_detected.=Output voltage increases\nif a fire has been detected. - -# ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceDescriptor.java -Provides_configurable_signal\nvoltage.=Provides configurable signal\nvoltage. - -# ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceGui.java -Output_at_%s=Output at %s - -# ./src/main/java/mods/eln/sixnode/electricallightsensor/ElectricalLightSensorDescriptor.java -0V_at_night,_%sV_at_noon.=0V at night, %sV at noon. -Provides_an_electrical_voltage\nin_the_presence_of_light.=Provides an electrical voltage\nin the presence of light. -Provides_an_electrical_voltage\nwhich_is_proportional_to\nthe_intensity_of_daylight.=Provides an electrical voltage\nwhich is proportional to\nthe intensity of daylight. - -# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathContainer.java - -# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathDescriptor.java -Applicable_boolean_operators\:=Applicable boolean operators\: -Applicable_functions\:=Applicable functions\: -Applicable_mathematical_operators\:=Applicable mathematical operators\: -Calculates_an_output_signal_from\n3_inputs_(A,_B,_C)_using_an_equation.=Calculates an output signal from\n3 inputs (A, B, C) using an equation. - -# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathGui.java -%s_Redstone(s)_required=%s Redstone(s) required -Equation_required!=Equation required\! -Inputs_are=Inputs are -Invalid_equation!=Invalid equation\! -Output_voltage_formula=Output voltage formula -Waiting_for_completion...=Waiting for completion... - -# ./src/main/java/mods/eln/sixnode/electricalredstoneinput/ElectricalRedstoneInputDescriptor.java -Converts_Redstone_signal\nto_an_electrical_voltage.=Converts Redstone signal\nto an electrical voltage. - -# ./src/main/java/mods/eln/sixnode/electricalredstoneoutput/ElectricalRedstoneOutputDescriptor.java -Converts_electrical_voltage\ninto_a_Redstone_signal.=Converts electrical voltage\ninto a Redstone signal. - -# ./src/main/java/mods/eln/sixnode/electricalrelay/ElectricalRelayDescriptor.java -A_relay_is_an_electrical\ncontact_that_conducts_electric\ncurrent_or_not,_depending\nthe_actual_input_signal_voltage.=A relay is an electrical\ncontact that conducts electric\ncurrent or not, depending\nthe actual input signal voltage. - -# ./src/main/java/mods/eln/sixnode/electricalrelay/ElectricalRelayGui.java -Normally_closed=Normally closed -Normally_open=Normally open - -# ./src/main/java/mods/eln/sixnode/electricalsource/ElectricalSourceDescriptor.java -Creative_block.=Creative block. -Provides_an_ideal_voltage_source\nwithout_energy_or_power_limitation.=Provides an ideal voltage source\nwithout energy or power limitation. - -# ./src/main/java/mods/eln/sixnode/electricalsource/ElectricalSourceGui.java -Output_voltage=Output voltage - -# ./src/main/java/mods/eln/sixnode/electricalswitch/ElectricalSwitchDescriptor.java -Can_break_an_electrical_circuit\ninterrupting_the_current.=Can break an electrical circuit\ninterrupting the current. - -# ./src/main/java/mods/eln/sixnode/electricaltimeout/ElectricalTimeoutDescriptor.java -Upon_application_of_a_high_signal,\nthe_timer_maintains_the_output_high_for\na_configurable_interval._Can_be_re-triggered.=Upon application of a high signal,\nthe timer maintains the output high for\na configurable interval. Can be re-triggered. - -# ./src/main/java/mods/eln/sixnode/electricaltimeout/ElectricalTimeoutGui.java -Set=Set -The_time_interval_the\noutput_is_kept_high.=The time interval the\noutput is kept high. - -# ./src/main/java/mods/eln/sixnode/electricalvumeter/ElectricalVuMeterDescriptor.java -Displays_the_value_of_a_signal.=Displays the value of a signal. - -# ./src/main/java/mods/eln/sixnode/electricalwatch/ElectricalWatchContainer.java -Portable_battery_slot=Portable battery slot - -# ./src/main/java/mods/eln/sixnode/electricalweathersensor/ElectricalWeatherSensorDescriptor.java -Clear\:_%sV=Clear\: %sV -Provides_an_electrical_signal\ndepending_the_actual_weather.=Provides an electrical signal\ndepending the actual weather. -Rain\:_%sV=Rain\: %sV -Storm\:_%sV=Storm\: %sV - -# ./src/main/java/mods/eln/sixnode/electricalwindsensor/ElectricalWindSensorDescriptor.java -Maximum_wind_speed_is_%sm_s=Maximum wind speed is %sm/s -Provides_an_electrical_signal\ndependant_on_wind_speed.=Provides an electrical signal\ndependant on wind speed. -You_can't_place_this_block_on_the_floor_or_the_ceiling=You can't place this block on the floor or the ceiling - -# ./src/main/java/mods/eln/sixnode/electricasensor/ElectricalSensorDescriptor.java -Can_measure_Voltage_Power_Current=Can measure Voltage/Power/Current -Measures_electrical_values_on_cables.=Measures electrical values on cables. -Measures_voltage_on_cables.=Measures voltage on cables. - -# ./src/main/java/mods/eln/sixnode/electricasensor/ElectricalSensorGui.java -Current=Current -Measured_voltage\ncorresponding\nto_0%_output=Measured voltage\ncorresponding\nto 0% output -Measured_voltage\ncorresponding\nto_100%_output=Measured voltage\ncorresponding\nto 100% output -Voltage=Voltage - -# ./src/main/java/mods/eln/sixnode/energymeter/EnergyMeterGui.java -Change_password=Change password -Counter_Mode=Counter Mode -Counts_the_energy_conducted_from\n\u00a74red\u00a7f_to_\u00a71blue\u00a7f.=Counts the energy conducted from\n\\u00a74red\\u00a7f to \\u00a71blue\\u00a7f. -Energy_counter\:_%sJ=Energy counter\: %sJ -Enter_new_energy=Enter new energy -Enter_password=Enter password -Prepay_Mode=Prepay Mode -Reset_time_counter=Reset time counter -Set_energy_counter=Set energy counter -Time_counter\:=Time counter\: -Try_password=Try password -You_can_set_an_initial\namount_of_available_energy.\nWhen_the_counter_arrives_at_0\nthe_contact_will_be_opened.=You can set an initial\namount of available energy.\nWhen the counter arrives at 0\nthe contact will be opened. -is_off=is off -is_on=is on -value_in_kJ=value in kJ - -# ./src/main/java/mods/eln/sixnode/groundcable/GroundCableDescriptor.java -Can_be_used_to_set_a_point_of_an\nelectrical_network_to_0V_potential.\nFor_example_to_ground_negative_battery_contacts.=Can be used to set a point of an\nelectrical network to 0V potential.\nFor example to ground negative battery contacts. -Provides_a_zero_volt_reference.=Provides a zero volt reference. - -# ./src/main/java/mods/eln/sixnode/hub/HubDescriptor.java -Allows_crossing_cables\non_one_single_block.=Allows crossing cables\non one single block. - -# ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketDescriptor.java -Angle\:_%s°_to_%s°=Angle\: %s° to %s° -Spot_range\:_%s_blocks=Spot range\: %s blocks - -# ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketGuiDraw.java -%s_is_not_in_range!=%s is not in range\! -Cable_slot_empty=Cable slot empty -Orientation\:_%s°=Orientation\: %s° -Parallel=Parallel -Powered_by_Lamp_Supply=Powered by Lamp Supply -Powered_by_cable=Powered by cable -Serial=Serial -Specify_the_supply_channel=Specify the supply channel - -# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyContainer.java -Electrical_cable_slot\nBase_range_is_32_blocks.\nEach_additional_cable\nincreases_range_by_one.=Electrical cable slot\nBase range is 32 blocks.\nEach additional cable\nincreases range by one. - -# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyDescriptor.java -Supplies_all_lamps_on_the_channel.=Supplies all lamps on the channel. - -# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyGui.java -Power_channel_name=Power channel name -Wireless_channel_name=Wireless channel name - -# ./src/main/java/mods/eln/sixnode/modbusrtu/ModbusRtuGui.java -Add=Add -Channel_name=Channel name -Modbus_ID=Modbus ID -Modbus_RTU=Modbus RTU -Station_ID=Station ID -Station_name=Station name -Wireless_RX=Wireless RX -Wireless_TX=Wireless TX - -# ./src/main/java/mods/eln/sixnode/powercapacitorsix/PowerCapacitorSixContainer.java -(Increases_maximum_voltage)=(Increases maximum voltage) - -# ./src/main/java/mods/eln/sixnode/powercapacitorsix/PowerCapacitorSixGui.java - -# ./src/main/java/mods/eln/sixnode/powerinductorsix/PowerInductorSixContainer.java - -# ./src/main/java/mods/eln/sixnode/powerinductorsix/PowerInductorSixGui.java - -# ./src/main/java/mods/eln/sixnode/powersocket/PowerSocketDescriptor.java -Supplies_any_device\nplugged_in_with_energy.=Supplies any device\nplugged in with energy. - -# ./src/main/java/mods/eln/sixnode/powersocket/PowerSocketGui.java -Specify_the_device_to_supply_through_this_socket.=Specify the device to supply through this socket. - -# ./src/main/java/mods/eln/sixnode/resistor/ResistorContainer.java -(Sets_resistance)=(Sets resistance) -Coal_dust_slot=Coal dust slot - -# ./src/main/java/mods/eln/sixnode/thermalcable/ThermalCableDescriptor.java -High_parallel_resistance\n_\=>_Low_power_dissipation.=High parallel resistance\n \=> Low power dissipation. -Low_serial_resistance\n_\=>_High_conductivity.=Low serial resistance\n \=> High conductivity. -Parallel_resistance\:_%sK_W=Parallel resistance\: %sK/W -Serial_resistance\:_%sK_W=Serial resistance\: %sK/W - -# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorContainer.java -Cable_slot=Cable slot - -# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorDescriptor.java -Can_measure\:=Can measure\: -Measures_temperature_of_cables.=Measures temperature of cables. -Measures_thermal_values_on_cables.=Measures thermal values on cables. -__Temperature_Power_conducted=Temperature/Power conducted - -# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorGui.java -Measured_temperature\ncorresponding\nto_0%_output=Measured temperature\ncorresponding\nto 0% output -Measured_temperature\ncorresponding\nto_100%_output=Measured temperature\ncorresponding\nto 100% output -Temperature=Temperature - -# ./src/main/java/mods/eln/sixnode/tutorialsign/TutorialSignElement.java -No_text_associated_to_this_beacon=No text associated to this beacon - -# ./src/main/java/mods/eln/sixnode/tutorialsign/TutorialSignGui.java -Set_beacon_name=Set beacon name - -# ./src/main/java/mods/eln/sixnode/wirelesssignal/rx/WirelessSignalRxGui.java - -# ./src/main/java/mods/eln/transparentnode/FuelGenerator.kt -Nominal_power\:_%s_W=Nominal power\: %s W -Nominal_voltage\:_%s_V=Nominal voltage\: %s V -Produces_electricity_using_fuel.=Produces electricity using fuel. - -# ./src/main/java/mods/eln/transparentnode/LargeRheostat.kt -Nom._Resistance\:_%s=Nom. Resistance\: %s - -# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerContainer.java -Drill_slot=Drill slot -Mining_pipe_slot=Mining pipe slot -Ore_scanner_slot=Ore scanner slot - -# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerDescriptor.java -Excavates_on_a_small_radius.\nExtracts_ore_on_a_bigger_radius\:\n10_blocks_radius_after_10_blocks_depth.=Excavates on a small radius.\nExtracts ore on a bigger radius\:\n10 blocks radius after 10 blocks depth. - -# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerGuiDraw.java -Chest_missing_on_the\nback_of_the_auto_miner!=Chest missing on the\nback of the auto miner\! -Halves_speed,_triples_power_draw=Halves speed, triples power draw -Silk_Touch_Off=Silk Touch Off -Silk_Touch_On=Silk Touch On -Silk_touch=Silk touch - -# ./src/main/java/mods/eln/transparentnode/battery/BatteryContainer.java -Overheating_protection=Overheating protection -Overvoltage_protection=Overvoltage protection - -# ./src/main/java/mods/eln/transparentnode/battery/BatteryDescriptor.java -Actual_charge\:_%s=Actual charge\: %s -Energy_capacity\:_%sJ=Energy capacity\: %sJ -_charged_at_%s=charged at %s - -# ./src/main/java/mods/eln/transparentnode/battery/BatteryGuiDraw.java -Charge=Charge -Charged=Charged -Discharge=Discharge -Energy\:=Energy\: -Energy\:_%s=Energy\: %s -Life\:=Life\: -No_charge=No charge -Power_in\:=Power in\: -Power_out\:=Power out\: - -# ./src/main/java/mods/eln/transparentnode/eggincubator/EggIncubatorContainer.java -Egg_slot=Egg slot - -# ./src/main/java/mods/eln/transparentnode/electricalantennarx/ElectricalAntennaRxDescriptor.java -Wireless_energy_receiver.=Wireless energy receiver. - -# ./src/main/java/mods/eln/transparentnode/electricalantennatx/ElectricalAntennaTxDescriptor.java -Efficiency\:_%s_up_to_%s=Efficiency\: %s up to %s -Wireless_energy_transmitter.=Wireless energy transmitter. - -# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceContainer.java -Heating_corp_slot=Heating corp slot - -# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceDescriptor.java -Similar_to_a_vanilla_furnace,\nbut_heats_with_electricity.=Similar to a vanilla furnace,\nbut heats with electricity. - -# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceGuiDraw.java -Auto_shutdown=Auto shutdown -Manual_shutdown=Manual shutdown -Set_point\:_%s°C=Set point\: %s°C - -# ./src/main/java/mods/eln/transparentnode/electricalmachine/ElectricalMachineDescriptor.java -Cost=Cost - -# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceContainer.java -Combustion_chamber_slot=Combustion chamber slot -Fuel_slot=Fuel slot - -# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceDescriptor.java -Generates_heat_when_supplied_with_fuel.=Generates heat when supplied with fuel. - -# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceGuiDraw.java -Control_gauge_at_%s=Control gauge at %s -Decline_fuel=Decline fuel -External_control=External control -Internal_control=Internal control -Take_fuel=Take fuel - -# ./src/main/java/mods/eln/transparentnode/powercapacitor/PowerCapacitorContainer.java -(Increases_maximal_voltage)=(Increases maximal voltage) - -# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelContainer.java -Solar_tracker_slot=Solar tracker slot - -# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelDescriptor.java -Can_be_geared_towards_the_sun.=Can be geared towards the sun. -Max._power\:_%sW=Max. power\: %sW -Max._voltage\:_%sV=Max. voltage\: %sV -Produces_power_from_solar_radiation.=Produces power from solar radiation. - -# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPannelGuiDraw.java -It_is_night=It is night -Solar_panel_angle\:_%s°=Solar panel angle\: %s° -Sun_angle\:_%s°=Sun angle\: %s° - -# ./src/main/java/mods/eln/transparentnode/teleporter/TeleporterGui.java -Destination_transporter=Destination transporter -Power_consumption\:=Power consumption\: -Power_consumption\:_%sW=Power consumption\: %sW -Required_energy\:_%sJ=Required energy\: %sJ -Start=Start -Transporter_name=Transporter name - -# ./src/main/java/mods/eln/transparentnode/thermaldissipatoractive/ThermalDissipatorActiveDescriptor.java -Fan_cooling_power\:_%sW=Fan cooling power\: %sW -Fan_power_consumption\:_%sW=Fan power consumption\: %sW -Fan_voltage\:_%sV=Fan voltage\: %sV - -# ./src/main/java/mods/eln/transparentnode/transformer/TransformerDescriptor.java -The_voltage_ratio_is_proportional\nto_the_cable_stacks_count_ratio.=The voltage ratio is proportional\nto the cable stacks count ratio. -Transforms_an_input_voltage_to\nan_output_voltage.=Transforms an input voltage to\nan output voltage. - -# ./src/main/java/mods/eln/transparentnode/turbine/TurbineDescriptor.java -Generates_electricity_using_heat.=Generates electricity using heat. -Temperature_difference\:_%s°C=Temperature difference\: %s°C - -# ./src/main/java/mods/eln/transparentnode/turret/TurretDescriptor.java -CAUTION\:_Cables_can_get_quite_hot!=CAUTION\: Cables can get quite hot\! -Laser_charge_power\:_%sW...%skW=Laser charge power\: %sW...%skW -Scans_for_entities_and_shoots_if_the\nentity_matches_the_configurable_filter_criteria.=Scans for entities and shoots if the\nentity matches the configurable filter criteria. -Standby_power\:_%sW=Standby power\: %sW - -# ./src/main/java/mods/eln/transparentnode/turret/TurretGui.java -Attack\:=Attack\: -Do_not_attack\:=Do not attack\: -Recharge_power\:=Recharge power\: - -# ./src/main/java/mods/eln/transparentnode/waterturbine/WaterTurbineDescriptor.java -Generates_energy_using_water_stream.=Generates energy using water stream. -No_place_for_water_turbine!=No place for water turbine\! - -# ./src/main/java/mods/eln/transparentnode/windturbine/WindTurbineDescriptor.java -Front\:_%s=Front\: %s -Generates_energy_from_wind.=Generates energy from wind. -Left_Right\:_%s=Left/Right\: %s -Up_Down\:_%s=Up/Down\: %s -Wind_area\:=Wind area\: - -# ./src/main/java/mods/eln/wiki/Data.java -Energy=Energy -Light=Light -Machine=Machine -Ore=Ore -Portable=Portable -Resource=Resource -Signal=Signal -Thermal=Thermal -Upgrade=Upgrade -Utilities=Utilities -Wiring=Wiring - -# ./src/main/java/mods/eln/wiki/Default.java -Previous=Previous - -# ./src/main/java/mods/eln/wiki/ItemDefault.java -Can_be_used_to_craft\:=Can be used to craft\: -Cannot_be_crafted!=Cannot be crafted\! -Cost_%sJ=Cost %sJ -Created_by\:=Created by\: -Is_not_a_crafting_material!=Is not a crafting material\! -Recipe\:=Recipe\: - -# Appearing in multiple source files -(Increases_capacity)=(Increases capacity) -(Increases_inductance)=(Increases inductance) -Actual\:_%s°C=Actual\: %s°C -Biggest=Biggest -Booster_slot=Booster slot -Can_create\:=Can create\: -Capacity\:_%sF=Capacity\: %sF -Charge_power\:_%sW=Charge power\: %sW -Connected=Connected -Cooling_power\:_%sW=Cooling power\: %sW -Copper_cable_slot=Copper cable slot -Dielectric_slot=Dielectric slot -Discharge_power\:_%sW=Discharge power\: %sW -Electrical_cable_slot=Electrical cable slot -Entity_filter_slot=Entity filter slot -Ferromagnetic_core_slot=Ferromagnetic core slot -Has_a_signal_output.=Has a signal output. -Inductance\:_%sH=Inductance\: %sH -Internal_resistance\:_%sΩ=Internal resistance\: %sΩ -Is_off=Is off -Is_on=Is on -Max._temperature\:_%s°C=Max. temperature\: %s°C -Measured_value\ncorresponding\nto_0%_output=Measured value\ncorresponding\nto 0% output -Measured_value\ncorresponding\nto_100%_output=Measured value\ncorresponding\nto 100% output -Nominal\:=Nominal\: -Nominal_power\:_%sW=Nominal power\: %sW -Nominal_usage\:=Nominal usage\: -Nominal_voltage\:_%sV=Nominal voltage\: %sV -Not_connected=Not connected -Not_enough_space_for_this_block=Not enough space for this block -Power=Power -Power\:_%sW=Power\: %sW -Range\:_%s_blocks=Range\: %s blocks -Redstone_slot=Redstone slot -Regulator_slot=Regulator slot -Reset=Reset -Resistance\:_%sΩ=Resistance\: %sΩ -Smallest=Smallest -Specify_the_channel=Specify the channel -Stored_energy\:_%sJ_(%s)=Stored energy\: %sJ (%s) -Temperature\:_%s°C=Temperature\: %s°C -Temperature_gauge=Temperature gauge -Thermal_isolator_slot=Thermal isolator slot -Toggle=Toggle -Toggle_switch=Toggle switch -Toggles_the_output_each_time\nan_emitter's_value_rises.\nUseful_to_allow_multiple_buttons\nto_control_the_same_light.=Toggles the output each time\nan emitter's value rises.\nUseful to allow multiple buttons\nto control the same light. -Used_to_cool_down_turbines.=Used to cool down turbines. -Uses_the_biggest\nvalue_on_the_channel.=Uses the biggest\nvalue on the channel. -Uses_the_smallest\nvalue_on_the_channel.=Uses the smallest\nvalue on the channel. -Validate=Validate -Voltage\:_%sV=Voltage\: %sV -You_can't_place_this_block_at_this_side=You can't place this block at this side +eln:# +eln: +eln:# ./src/main/java/mods/eln/Achievements.java +eln:Electrical_Age_[WIP]=Electrical Age [WIP] +eln:achievement.craft_50v_macerator=Crushing Novice +eln:achievement.craft_50v_macerator.desc=Craft a 50V Macerator +eln:achievement.open_guide=Wiki Power +eln:achievement.open_guide.desc=Open the wiki guide +eln: +eln:# ./src/main/java/mods/eln/Eln.java +eln:10A_Diode.name=10A Diode +eln:200V_Active_Thermal_Dissipator.name=200V Active Thermal Dissipator +eln:200V_Battery_Charger.name=200V Battery Charger +eln:200V_Compressor.name=200V Compressor +eln:200V_Condensator.name=200V Condensator +eln:200V_Copper_Heating_Corp.name=200V Copper Heating Corp +eln:200V_Economic_Light_Bulb.name=200V Economic Light Bulb +eln:200V_Farming_Lamp.name=200V Farming Lamp +eln:200V_Fuel_Generator.name=200V Fuel Generator +eln:200V_Incandescent_Light_Bulb.name=200V Incandescent Light Bulb +eln:200V_Iron_Heating_Corp.name=200V Iron Heating Corp +eln:200V_LED_Bulb.name=200V LED Bulb +eln:200V_Macerator.name=200V Macerator +eln:200V_Magnetizer.name=200V Magnetizer +eln:200V_Plate_Machine.name=200V Plate Machine +eln:200V_Power_Socket.name=200V Power Socket +eln:200V_Tungsten_Heating_Corp.name=200V Tungsten Heating Corp +eln:200V_Turbine.name=200V Turbine +eln:25A_Diode.name=25A Diode +eln:50V_Battery_Charger.name=50V Battery Charger +eln:50V_Carbon_Incandescent_Light_Bulb.name=50V Carbon Incandescent Light Bulb +eln:50V_Compressor.name=50V Compressor +eln:50V_Condensator.name=50V Condensator +eln:50V_Copper_Heating_Corp.name=50V Copper Heating Corp +eln:50V_Economic_Light_Bulb.name=50V Economic Light Bulb +eln:50V_Egg_Incubator.name=50V Egg Incubator +eln:50V_Farming_Lamp.name=50V Farming Lamp +eln:50V_Fuel_Generator.name=50V Fuel Generator +eln:50V_Incandescent_Light_Bulb.name=50V Incandescent Light Bulb +eln:50V_Iron_Heating_Corp.name=50V Iron Heating Corp +eln:50V_LED_Bulb.name=50V LED Bulb +eln:50V_Macerator.name=50V Macerator +eln:50V_Magnetizer.name=50V Magnetizer +eln:50V_Plate_Machine.name=50V Plate Machine +eln:50V_Power_Socket.name=50V Power Socket +eln:50V_Tungsten_Heating_Corp.name=50V Tungsten Heating Corp +eln:50V_Turbine.name=50V Turbine +eln:800V_Defence_Turret.name=800V Defence Turret +eln:AND_Chip.name=AND Chip +eln:Advanced_Chip.name=Advanced Chip +eln:Advanced_Electrical_Motor.name=Advanced Electrical Motor +eln:Advanced_Energy_Meter.name=Advanced Energy Meter +eln:Advanced_Machine_Block.name=Advanced Machine Block +eln:Advanced_Magnet.name=Advanced Magnet +eln:AllMeter.name=Universal-Meter +eln:Alloy_Dust.name=Alloy Dust +eln:Alloy_Ingot.name=Alloy Ingot +eln:Alloy_Plate.name=Alloy Plate +eln:Analog_Watch.name=Analog watch +eln:Analog_vuMeter.name=Analog Gauge +eln:Analogic_Regulator.name=Analogic Regulator +eln:Animal_Filter.name=Animal Filter +eln:Auto_Miner.name=Auto Miner +eln:Average_Electrical_Drill.name=Average Electrical Drill +eln:Average_Ferromagnetic_Core.name=Average Ferromagnetic Core +eln:Basic_Magnet.name=Basic Magnet +eln:Black_Brush.name=Black Brush +eln:Blue_Brush.name=Blue Brush +eln:Brown_Brush.name=Brown Brush +eln:Capacity_Oriented_Battery.name=Capacity Oriented Battery +eln:Cheap_Chip.name=Cheap Chip +eln:Cheap_Electrical_Drill.name=Cheap Electrical Drill +eln:Cheap_Ferromagnetic_Core.name=Cheap Ferromagnetic Core +eln:Cinnabar_Dust.name=Cinnabar Dust +eln:Cinnabar_Ore.name=Cinnabar Ore +eln:Coal_Dust.name=Coal Dust +eln:Coal_Plate.name=Coal Plate +eln:Combustion_Chamber.name=Combustion Chamber +eln:Copper_Cable.name=Copper Cable +eln:Copper_Dust.name=Copper Dust +eln:Copper_Ingot.name=Copper Ingot +eln:Copper_Ore.name=Copper Ore +eln:Copper_Plate.name=Copper Plate +eln:Copper_Thermal_Cable.name=Copper Thermal Cable +eln:Cost_Oriented_Battery.name=Cost Oriented Battery +eln:Current_Oriented_Battery.name=Current Oriented Battery +eln:Cyan_Brush.name=Cyan Brush +eln:D_Flip_Flop_Chip.name=D Flip Flop Chip +eln:Data_Logger.name=Data Logger +eln:Data_Logger_Print.name=Data Logger Print +eln:Dielectric.name=Dielectric +eln:Digital_Watch.name=Digital Watch +eln:Electrical_Anemometer_Sensor.name=Electrical Anemometer Sensor +eln:Electrical_Breaker.name=Electrical Breaker +eln:Electrical_Daylight_Sensor.name=Electrical Daylight Sensor +eln:Electrical_Entity_Sensor.name=Electrical Entity Sensor +eln:Electrical_Fire_Detector.name=Electrical Fire Detector +eln:Electrical_Furnace.name=Electrical Furnace +eln:Electrical_Light_Sensor.name=Electrical Light Sensor +eln:Electrical_Motor.name=Electrical Motor +eln:Electrical_Probe.name=Electrical Probe +eln:Electrical_Probe_Chip.name=Electrical Probe Chip +eln:Electrical_Source.name=Electrical Source +eln:Electrical_Timer.name=Electrical Timer +eln:Electrical_Weather_Sensor.name=Electrical Weather Sensor +eln:Electrical_age_wrench,\nCan_be_used_to_turn\nsmall_wall_blocks=Electrical age wrench,\nCan be used to turn\nsmall wall blocks +eln:Energy_Meter.name=Energy Meter +eln:Experimental_Transporter.name=Experimental Transporter +eln:Fast_Electrical_Drill.name=Fast Electrical Drill +eln:Ferrite_Ingot.name=Ferrite Ingot +eln:Flat_Lamp_Socket.name=Flat Lamp Socket +eln:Fluorescent_Lamp_Socket.name=Fluorescent Lamp Socket +eln:Generator.name=Generator +eln:Gold_Dust.name=Gold Dust +eln:Gold_Plate.name=Gold Plate +eln:Gray_Brush.name=Gray Brush +eln:Green_Brush.name=Green Brush +eln:Ground_Cable.name=Ground Cable +eln:High_Power_Receiver_Antenna.name=High Power Receiver Antenna +eln:High_Power_Transmitter_Antenna.name=High Power Transmitter Antenna +eln:High_Voltage_Cable.name=High Voltage Cable +eln:High_Voltage_Relay.name=High Voltage Relay +eln:High_Voltage_Switch.name=High Voltage Switch +eln:Hub.name=Hub +eln:Industrial_Data_Logger.name=Industrial Data Logger +eln:Iron_Cable.name=Iron Cable +eln:Iron_Dust.name=Iron Dust +eln:Iron_Plate.name=Iron Plate +eln:JK_Flip_Flop_Chip.name=JK Flip Flop Chip +eln:LED_vuMeter.name=LED vuMeter +eln:Lamp_Socket_A.name=Lamp Socket A +eln:Lamp_Socket_B_Projector.name=Lamp Socket B Projector +eln:Lamp_Supply.name=Lamp Supply +eln:Large_Rheostat.name=Large Rheostat +eln:Lead_Dust.name=Lead Dust +eln:Lead_Ingot.name=Lead Ingot +eln:Lead_Ore.name=Lead Ore +eln:Lead_Plate.name=Lead Plate +eln:Life_Oriented_Battery.name=Life Oriented Battery +eln:Light_Blue_Brush.name=Light Blue Brush +eln:Lime_Brush.name=Lime Brush +eln:Long_Suspended_Lamp_Socket.name=Long Suspended Lamp Socket +eln:Low_Power_Receiver_Antenna.name=Low Power Receiver Antenna +eln:Low_Power_Transmitter_Antenna.name=Low Power Transmitter Antenna +eln:Low_Voltage_Cable.name=Low Voltage Cable +eln:Low_Voltage_Relay.name=Low Voltage Relay +eln:Low_Voltage_Switch.name=Low Voltage Switch +eln:Machine_Block.name=Machine Block +eln:Machine_Booster.name=Machine Booster +eln:Magenta_Brush.name=Magenta Brush +eln:Medium_Power_Receiver_Antenna.name=Medium Power Receiver Antenna +eln:Medium_Power_Transmitter_Antenna.name=Medium Power Transmitter Antenna +eln:Medium_Voltage_Cable.name=Medium Voltage Cable +eln:Medium_Voltage_Relay.name=Medium Voltage Relay +eln:Medium_Voltage_Switch.name=Medium Voltage Switch +eln:Mercury.name=Mercury +eln:Mining_Pipe.name=Mining Pipe +eln:Modbus_RTU.name=Modbus RTU +eln:Modern_Data_Logger.name=Modern Data Logger +eln:Monster_Filter.name=Monster Filter +eln:MultiMeter.name=Multimeter +eln:NAND_Chip.name=NAND Chip +eln:NOR_Chip.name=NOR Chip +eln:NOT_Chip.name=NOT Chip +eln:Nuclear_Alarm.name=Nuclear Alarm +eln:OR_Chip.name=OR Chip +eln:On_OFF_Regulator_10_Percent.name=On/off regulator 10% +eln:On_OFF_Regulator_1_Percent.name=On/off regulator 1% +eln:Optimal_Ferromagnetic_Core.name=Optimal Ferromagnetic Core +eln:Orange_Brush.name=Orange Brush +eln:Ore_Scanner.name=Ore Scanner +eln:Oscillator_Chip.name=Oscillator Chip +eln:Overheating_Protection.name=Overheating Protection +eln:Overvoltage_Protection.name=Overvoltage Protection +eln:PAL_Chip.name=PAL Chip +eln:Pink_Brush.name=Pink Brush +eln:Player_Filter.name=Player Filter +eln:Portable_Battery.name=Portable Battery +eln:Portable_Battery_Pack.name=Portable Battery Pack +eln:Portable_Condensator.name=Portable Condensator +eln:Portable_Condensator_Pack.name=Portable Condensator Pack +eln:Portable_Electrical_Axe.name=Portable Electrical Axe +eln:Portable_Electrical_Mining_Drill.name=Portable Electrical Mining Drill +eln:Power_Capacitor.name=Power Capacitor +eln:Power_Inductor.name=Power Inductor +eln:Power_Resistor.name=Power Resistor +eln:Power_capacitor.name=Power capacitor +eln:Power_inductor.name=Power inductor +eln:Purple_Brush.name=Purple Brush +eln:Red_Brush.name=Red Brush +eln:Redstone-to-Voltage_Converter.name=Redstone-to-Voltage Converter +eln:Rheostat.name=Rheostat +eln:Robust_Lamp_Socket.name=Robust Lamp Socket +eln:Rubber.name=Rubber +eln:Schmitt_Trigger_Chip.name=Schmitt Trigger Chip +eln:Sconce_Lamp_Socket.name=Sconce Lamp Socket +eln:Signal_20H_inductor.name=Signal 20H inductor +eln:Signal_Antenna.name=Signal Antenna +eln:Signal_Button.name=Signal Button +eln:Signal_Cable.name=Signal Cable +eln:Signal_Diode.name=Signal Diode +eln:Signal_Processor.name=Signal Processor +eln:Signal_Relay.name=Signal Relay +eln:Signal_Source.name=Signal Source +eln:Signal_Switch.name=Signal Switch +eln:Signal_Switch_with_LED.name=Signal Switch with LED +eln:Signal_Trimmer.name=Signal Trimmer +eln:Silicon_Dust.name=Silicon Dust +eln:Silicon_Ingot.name=Silicon Ingot +eln:Silicon_Plate.name=Silicon Plate +eln:Silver_Brush.name=Silver Brush +eln:Simple_Lamp_Socket.name=Simple Lamp Socket +eln:Single-use_Battery.name=Single-use Battery +eln:Small_200V_Copper_Heating_Corp.name=Small 200V Copper Heating Corp +eln:Small_200V_Iron_Heating_Corp.name=Small 200V Iron Heating Corp +eln:Small_200V_Tungsten_Heating_Corp.name=Small 200V Tungsten Heating Corp +eln:Small_50V_Carbon_Incandescent_Light_Bulb.name=Small 50V Carbon Incandescent Light Bulb +eln:Small_50V_Copper_Heating_Corp.name=Small 50V Copper Heating Corp +eln:Small_50V_Economic_Light_Bulb.name=Small 50V Economic Light Bulb +eln:Small_50V_Incandescent_Light_Bulb.name=Small 50V Incandescent Light Bulb +eln:Small_50V_Iron_Heating_Corp.name=Small 50V Iron Heating Corp +eln:Small_50V_Tungsten_Heating_Corp.name=Small 50V Tungsten Heating Corp +eln:Small_Active_Thermal_Dissipator.name=Small Active Thermal Dissipator +eln:Small_Flashlight.name=Small Flashlight +eln:Small_Passive_Thermal_Dissipator.name=Small Passive Thermal Dissipator +eln:Small_Rotating_Solar_Panel.name=Small Rotating Solar Panel +eln:Small_Solar_Panel.name=Small Solar Panel +eln:Solar_Tracker.name=Solar Tracker +eln:Standard_Alarm.name=Standard Alarm +eln:Steam_Turbine.name=Steam Turbine +eln:Stone_Heat_Furnace.name=Stone Heat Furnace +eln:Street_Light.name=Streetlight +eln:Suspended_Lamp_Socket.name=Suspended Lamp Socket +eln:Temperature_Probe.name=Temperature Probe +eln:Thermal_Probe.name=Thermal Probe +eln:Thermal_Probe_Chip.name=Thermal Probe Chip +eln:Thermistor.name=Thermistor +eln:ThermoMeter.name=Thermometer +eln:Transformer.name=Transformer +eln:Tree_Resin.name=Tree Resin +eln:Tree_Resin_Collector.name=Tree Resin Collector +eln:Tungsten_Cable.name=Tungsten Cable +eln:Tungsten_Dust.name=Tungsten Dust +eln:Tungsten_Ingot.name=Tungsten Ingot +eln:Tungsten_Ore.name=Tungsten Ore +eln:Tutorial_Sign.name=Tutorial Sign +eln:Very_High_Voltage_Cable.name=Very High Voltage Cable +eln:Very_High_Voltage_Relay.name=Very High Voltage Relay +eln:Very_High_Voltage_Switch.name=Very High Voltage Switch +eln:Voltage-to-Redstone_Converter.name=Voltage-to-Redstone Converter +eln:Voltage_Oriented_Battery.name=Voltage Oriented Battery +eln:Voltage_Probe.name=Voltage Probe +eln:Water_Turbine.name=Water Turbine +eln:Weak_50V_Battery_Charger.name=Weak 50V Battery Charger +eln:White_Brush.name=White Brush +eln:Wind_Turbine.name=Wind Turbine +eln:Wireless_Analyser.name=Wireless Analyzer +eln:Wireless_Button.name=Wireless Button +eln:Wireless_Signal_Receiver.name=Wireless Signal Receiver +eln:Wireless_Signal_Repeater.name=Wireless Signal Repeater +eln:Wireless_Signal_Transmitter.name=Wireless Signal Transmitter +eln:Wireless_Switch.name=Wireless Switch +eln:Wrench.name=Wrench +eln:X-Ray_Scanner.name=X-Ray Scanner +eln:XNOR_Chip.name=XNOR Chip +eln:XOR_Chip.name=XOR Chip +eln:Yellow_Brush.name=Yellow Brush +eln:entity.EAReplicator.name=Replicator +eln:item.Copper Axe.name\=Copper Axe +eln:item.Copper Axe.name\=Copper Axe +eln:item.Copper Axe.name\=Copper Axe +eln:item.Copper Axe.name\=Copper Axe +eln:item.Copper Axe.name\=Copper Axe +eln:item.Copper Axe.name\=Copper Axe +eln:item.Copper Axe.name\=Copper Axe +eln:item.Copper Axe.name\=Copper Axe +eln:item.Copper Axe.name\=Copper Axe +eln:item.E-Coal Boots.name\=E-Coal Boots +eln:item.E-Coal Boots.name\=E-Coal Boots +eln:item.E-Coal Boots.name\=E-Coal Boots +eln:item.E-Coal Boots.name\=E-Coal Boots +eln:itemGroup.Eln=Electrical Age +eln:mod.meta.desc=Electricity in your base\! +eln:tile.eln.ElnProbe.name=Eln Computer Probe +eln:tile.eln.EnergyConverterElnToOtherHVUBlock.name=800V Electrical Age to other energy exporter +eln:tile.eln.EnergyConverterElnToOtherLVUBlock.name=50V Electrical Age to other energy exporter +eln:tile.eln.EnergyConverterElnToOtherMVUBlock.name=200V Electrical Age to other energy exporter +eln: +eln:# ./src/main/java/mods/eln/i18n/I18N.java +eln:You_have_%s_lives_left=You have %s lives left +eln: +eln:# ./src/main/java/mods/eln/item/BrushDescriptor.java +eln:Brush_is_dry=Brush is dry +eln:Can_paint_%s_blocks=Can paint %s blocks +eln: +eln:# ./src/main/java/mods/eln/item/CombustionChamber.java +eln:Upgrade_for_the_Stone_Heat_Furnace.=Upgrade for the Stone Heat Furnace. +eln: +eln:# ./src/main/java/mods/eln/item/ElectricalDrillDescriptor.java +eln:Energy_per_operation\:_%sJ=Energy per operation\: %sJ +eln:Time_per_operation\:_%ss=Time per operation\: %ss +eln: +eln:# ./src/main/java/mods/eln/item/FerromagneticCoreDescriptor.java +eln:Cable_loss_factor\:_%s=Cable loss factor\: %s +eln: +eln:# ./src/main/java/mods/eln/item/HeatingCorpElement.java +eln: +eln:# ./src/main/java/mods/eln/item/LampDescriptor.java +eln:Bad=Bad +eln:Condition\:=Condition\: +eln:End_of_life=End of life +eln:Good=Good +eln:New=New +eln:Nominal_lifetime\:_%sh=Nominal lifetime\: %sh +eln:Technology\:_%s=Technology\: %s +eln:Used=Used +eln: +eln:# ./src/main/java/mods/eln/item/LampSlot.java +eln:Lamp_slot=Lamp slot +eln: +eln:# ./src/main/java/mods/eln/item/OverHeatingProtectionDescriptor.java +eln:Useful_to_prevent_overheating\nof_Batteries=Useful to prevent overheating\nof Batteries +eln: +eln:# ./src/main/java/mods/eln/item/OverVoltageProtectionDescriptor.java +eln:Useful_to_prevent_over-voltage\nof_Batteries=Useful to prevent over-voltage\nof Batteries +eln: +eln:# ./src/main/java/mods/eln/item/SolarTrackerDescriptor.java +eln:Solar_panel_upgrade=Solar panel upgrade +eln: +eln:# ./src/main/java/mods/eln/item/electricalitem/BatteryItem.java +eln: +eln:# ./src/main/java/mods/eln/item/electricalitem/ElectricalLampItem.java +eln:Off=Off +eln:On=On +eln:State\:=State\: +eln:Stored_Energy\:_%sJ_(%s)=Stored Energy\: %sJ (%s) +eln: +eln:# ./src/main/java/mods/eln/item/regulator/RegulatorSlot.java +eln: +eln:# ./src/main/java/mods/eln/misc/UtilsClient.java +eln:Hold_shift=Hold shift +eln: +eln:# ./src/main/java/mods/eln/misc/Version.java +eln:mod.name=Electrical Age +eln: +eln:# ./src/main/java/mods/eln/node/six/SixNodeDescriptor.java +eln: +eln:# ./src/main/java/mods/eln/simplenode/energyconverter/EnergyConverterElnToOtherGui.java +eln:Input_power_is_limited_to_%sW=Input power is limited to %sW +eln: +eln:# ./src/main/java/mods/eln/sixnode/LogicGate.kt +eln:_O\:_= O\: +eln: +eln:# ./src/main/java/mods/eln/sixnode/TreeResinCollector/TreeResinCollectorDescriptor.java +eln:Produces_Tree_Resin_over\ntime_when_put_on_a_tree.=Produces Tree Resin over\ntime when put on a tree. +eln:This_block_can_only_be_placed_on_the_side_of_a_tree!=This block can only be placed on the side of a tree\! +eln: +eln:# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerContainer.java +eln:Battery_slot=Battery slot +eln: +eln:# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerDescriptor.java +eln:Can_be_used_to_recharge\nelectrical_items_like\:\nFlash_Light,_X-Ray_scanner\nand_Portable_Battery_...=Can be used to recharge\nelectrical items like\:\nFlash Light, X-Ray scanner\nand Portable Battery ... +eln: +eln:# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerGui.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/diode/DiodeDescriptor.java +eln:Electrical_current_can_only\nflow_through_the_diode\nfrom_anode_to_cathode=Electrical current can only\nflow through the diode\nfrom anode to cathode +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalalarm/ElectricalAlarmDescriptor.java +eln:= +eln:Emits_an_acoustic_alarm_if\nthe_input_signal_is_high=Emits an acoustic alarm if\nthe input signal is high +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalalarm/ElectricalAlarmGui.java +eln:Sound_is_muted=Sound is muted +eln:Sound_is_not_muted=Sound is not muted +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerContainer.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerDescriptor.java +eln:Protects_electrical_components\nOpens_contact_if\:\n__-_Voltage_exceeds_a_certain_level\n-_Current_exceeds_the_cable_limit=Protects electrical components\nOpens contact if\:\n - Voltage exceeds a certain level\n- Current exceeds the cable limit +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerGui.java +eln:Maximum_voltage_before_cutting_off=Maximum voltage before cutting off +eln:Minimum_voltage_before_cutting_off=Minimum voltage before cutting off +eln:Switch_is_off=Switch is off +eln:Switch_is_on=Switch is on +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalcable/ElectricalCableDescriptor.java +eln:A_signal_is_electrical_information\nwhich_must_be_between_0V_and_%sV=A signal is electrical information\nwhich must be between 0V and %sV +eln:Cable_is_adapted_to_conduct\nelectrical_signals.=Cable is adapted to conduct\nelectrical signals. +eln:Current\:_%sA=Current\: %sA +eln:Not_adapted_to_transport_power.=Not adapted to transport power. +eln:Save_usage\:=Save usage\: +eln:Serial_resistance\:_%sΩ=Serial resistance\: %sΩ +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerDescriptor.java +eln:It_can_store_up_to_256_points.=It can store up to 256 points. +eln:Measures_the_voltage_of_an\nelectrical_signal_and_plots\nthe_data_in_real_time.=Measures the voltage of an\nelectrical signal and plots\nthe data in real time. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerGui.java +eln:Back_to_display=Back to display +eln:Configuration=Configuration +eln:Current_[A]=Current [A] +eln:Energy_[J]=Energy [J] +eln:Percent_[-]%=Percent [-]% +eln:Power_[W]=Power [W] +eln:Print=Print +eln:Sampling_period=Sampling period +eln:Temp._[*C]=Temp. [*C] +eln:Voltage_[V]=Voltage [V] +eln:Y-axis_max=Y-axis max +eln:Y-axis_min=Y-axis min +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorContainer.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorDescriptor.java +eln:Output_voltage_increases\nif_entities_are_moving_around.=Output voltage increases\nif entities are moving around. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalfiredetector/ElectricalFireDetectorDescriptor.java +eln:Output_voltage_increases\nif_a_fire_has_been_detected.=Output voltage increases\nif a fire has been detected. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceDescriptor.java +eln:Provides_configurable_signal\nvoltage.=Provides configurable signal\nvoltage. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceGui.java +eln:Output_at_%s=Output at %s +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricallightsensor/ElectricalLightSensorDescriptor.java +eln:0V_at_night,_%sV_at_noon.=0V at night, %sV at noon. +eln:Provides_an_electrical_voltage\nin_the_presence_of_light.=Provides an electrical voltage\nin the presence of light. +eln:Provides_an_electrical_voltage\nwhich_is_proportional_to\nthe_intensity_of_daylight.=Provides an electrical voltage\nwhich is proportional to\nthe intensity of daylight. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathContainer.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathDescriptor.java +eln:Applicable_boolean_operators\:=Applicable boolean operators\: +eln:Applicable_functions\:=Applicable functions\: +eln:Applicable_mathematical_operators\:=Applicable mathematical operators\: +eln:Calculates_an_output_signal_from\n3_inputs_(A,_B,_C)_using_an_equation.=Calculates an output signal from\n3 inputs (A, B, C) using an equation. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathGui.java +eln:%s_Redstone(s)_required=%s Redstone(s) required +eln:Equation_required!=Equation required\! +eln:Inputs_are=Inputs are +eln:Invalid_equation!=Invalid equation\! +eln:Output_voltage_formula=Output voltage formula +eln:Waiting_for_completion...=Waiting for completion... +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalredstoneinput/ElectricalRedstoneInputDescriptor.java +eln:Converts_Redstone_signal\nto_an_electrical_voltage.=Converts Redstone signal\nto an electrical voltage. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalredstoneoutput/ElectricalRedstoneOutputDescriptor.java +eln:Converts_electrical_voltage\ninto_a_Redstone_signal.=Converts electrical voltage\ninto a Redstone signal. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalrelay/ElectricalRelayDescriptor.java +eln:A_relay_is_an_electrical\ncontact_that_conducts_electric\ncurrent_or_not,_depending\nthe_actual_input_signal_voltage.=A relay is an electrical\ncontact that conducts electric\ncurrent or not, depending\nthe actual input signal voltage. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalrelay/ElectricalRelayGui.java +eln:Normally_closed=Normally closed +eln:Normally_open=Normally open +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalsource/ElectricalSourceDescriptor.java +eln:Creative_block.=Creative block. +eln:Provides_an_ideal_voltage_source\nwithout_energy_or_power_limitation.=Provides an ideal voltage source\nwithout energy or power limitation. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalsource/ElectricalSourceGui.java +eln:Output_voltage=Output voltage +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalswitch/ElectricalSwitchDescriptor.java +eln:Can_break_an_electrical_circuit\ninterrupting_the_current.=Can break an electrical circuit\ninterrupting the current. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricaltimeout/ElectricalTimeoutDescriptor.java +eln:Upon_application_of_a_high_signal,\nthe_timer_maintains_the_output_high_for\na_configurable_interval._Can_be_re-triggered.=Upon application of a high signal,\nthe timer maintains the output high for\na configurable interval. Can be re-triggered. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricaltimeout/ElectricalTimeoutGui.java +eln:Set=Set +eln:The_time_interval_the\noutput_is_kept_high.=The time interval the\noutput is kept high. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalvumeter/ElectricalVuMeterDescriptor.java +eln:Displays_the_value_of_a_signal.=Displays the value of a signal. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalwatch/ElectricalWatchContainer.java +eln:Portable_battery_slot=Portable battery slot +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalweathersensor/ElectricalWeatherSensorDescriptor.java +eln:Clear\:_%sV=Clear\: %sV +eln:Provides_an_electrical_signal\ndepending_the_actual_weather.=Provides an electrical signal\ndepending the actual weather. +eln:Rain\:_%sV=Rain\: %sV +eln:Storm\:_%sV=Storm\: %sV +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalwindsensor/ElectricalWindSensorDescriptor.java +eln:Maximum_wind_speed_is_%sm_s=Maximum wind speed is %sm/s +eln:Provides_an_electrical_signal\ndependant_on_wind_speed.=Provides an electrical signal\ndependant on wind speed. +eln:You_can't_place_this_block_on_the_floor_or_the_ceiling=You can't place this block on the floor or the ceiling +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricasensor/ElectricalSensorDescriptor.java +eln:Can_measure_Voltage_Power_Current=Can measure Voltage/Power/Current +eln:Measures_electrical_values_on_cables.=Measures electrical values on cables. +eln:Measures_voltage_on_cables.=Measures voltage on cables. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricasensor/ElectricalSensorGui.java +eln:Current=Current +eln:Measured_voltage\ncorresponding\nto_0%_output=Measured voltage\ncorresponding\nto 0% output +eln:Measured_voltage\ncorresponding\nto_100%_output=Measured voltage\ncorresponding\nto 100% output +eln:Voltage=Voltage +eln: +eln:# ./src/main/java/mods/eln/sixnode/energymeter/EnergyMeterGui.java +eln:Change_password=Change password +eln:Counter_Mode=Counter Mode +eln:Counts_the_energy_conducted_from\n\u00a74red\u00a7f_to_\u00a71blue\u00a7f.=Counts the energy conducted from\n\\u00a74red\\u00a7f to \\u00a71blue\\u00a7f. +eln:Energy_counter\:_%sJ=Energy counter\: %sJ +eln:Enter_new_energy=Enter new energy +eln:Enter_password=Enter password +eln:Prepay_Mode=Prepay Mode +eln:Reset_time_counter=Reset time counter +eln:Set_energy_counter=Set energy counter +eln:Time_counter\:=Time counter\: +eln:Try_password=Try password +eln:You_can_set_an_initial\namount_of_available_energy.\nWhen_the_counter_arrives_at_0\nthe_contact_will_be_opened.=You can set an initial\namount of available energy.\nWhen the counter arrives at 0\nthe contact will be opened. +eln:is_off=is off +eln:is_on=is on +eln:value_in_kJ=value in kJ +eln: +eln:# ./src/main/java/mods/eln/sixnode/groundcable/GroundCableDescriptor.java +eln:Can_be_used_to_set_a_point_of_an\nelectrical_network_to_0V_potential.\nFor_example_to_ground_negative_battery_contacts.=Can be used to set a point of an\nelectrical network to 0V potential.\nFor example to ground negative battery contacts. +eln:Provides_a_zero_volt_reference.=Provides a zero volt reference. +eln: +eln:# ./src/main/java/mods/eln/sixnode/hub/HubDescriptor.java +eln:Allows_crossing_cables\non_one_single_block.=Allows crossing cables\non one single block. +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketDescriptor.java +eln:Angle\:_%s°_to_%s°=Angle\: %s° to %s° +eln:Spot_range\:_%s_blocks=Spot range\: %s blocks +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketGuiDraw.java +eln:%s_is_not_in_range!=%s is not in range\! +eln:Cable_slot_empty=Cable slot empty +eln:Orientation\:_%s°=Orientation\: %s° +eln:Parallel=Parallel +eln:Powered_by_Lamp_Supply=Powered by Lamp Supply +eln:Powered_by_cable=Powered by cable +eln:Serial=Serial +eln:Specify_the_supply_channel=Specify the supply channel +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyContainer.java +eln:Electrical_cable_slot\nBase_range_is_32_blocks.\nEach_additional_cable\nincreases_range_by_one.=Electrical cable slot\nBase range is 32 blocks.\nEach additional cable\nincreases range by one. +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyDescriptor.java +eln:Supplies_all_lamps_on_the_channel.=Supplies all lamps on the channel. +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyGui.java +eln:Power_channel_name=Power channel name +eln:Wireless_channel_name=Wireless channel name +eln: +eln:# ./src/main/java/mods/eln/sixnode/modbusrtu/ModbusRtuGui.java +eln:Add=Add +eln:Channel_name=Channel name +eln:Modbus_ID=Modbus ID +eln:Modbus_RTU=Modbus RTU +eln:Station_ID=Station ID +eln:Station_name=Station name +eln:Wireless_RX=Wireless RX +eln:Wireless_TX=Wireless TX +eln: +eln:# ./src/main/java/mods/eln/sixnode/powercapacitorsix/PowerCapacitorSixContainer.java +eln:(Increases_maximum_voltage)=(Increases maximum voltage) +eln: +eln:# ./src/main/java/mods/eln/sixnode/powercapacitorsix/PowerCapacitorSixGui.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/powerinductorsix/PowerInductorSixContainer.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/powerinductorsix/PowerInductorSixGui.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/powersocket/PowerSocketDescriptor.java +eln:Supplies_any_device\nplugged_in_with_energy.=Supplies any device\nplugged in with energy. +eln: +eln:# ./src/main/java/mods/eln/sixnode/powersocket/PowerSocketGui.java +eln:Specify_the_device_to_supply_through_this_socket.=Specify the device to supply through this socket. +eln: +eln:# ./src/main/java/mods/eln/sixnode/resistor/ResistorContainer.java +eln:(Sets_resistance)=(Sets resistance) +eln:Coal_dust_slot=Coal dust slot +eln: +eln:# ./src/main/java/mods/eln/sixnode/thermalcable/ThermalCableDescriptor.java +eln:High_parallel_resistance\n_\=>_Low_power_dissipation.=High parallel resistance\n \=> Low power dissipation. +eln:Low_serial_resistance\n_\=>_High_conductivity.=Low serial resistance\n \=> High conductivity. +eln:Parallel_resistance\:_%sK_W=Parallel resistance\: %sK/W +eln:Serial_resistance\:_%sK_W=Serial resistance\: %sK/W +eln: +eln:# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorContainer.java +eln:Cable_slot=Cable slot +eln: +eln:# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorDescriptor.java +eln:Can_measure\:=Can measure\: +eln:Measures_temperature_of_cables.=Measures temperature of cables. +eln:Measures_thermal_values_on_cables.=Measures thermal values on cables. +eln:__Temperature_Power_conducted=Temperature/Power conducted +eln: +eln:# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorGui.java +eln:Measured_temperature\ncorresponding\nto_0%_output=Measured temperature\ncorresponding\nto 0% output +eln:Measured_temperature\ncorresponding\nto_100%_output=Measured temperature\ncorresponding\nto 100% output +eln:Temperature=Temperature +eln: +eln:# ./src/main/java/mods/eln/sixnode/tutorialsign/TutorialSignElement.java +eln:No_text_associated_to_this_beacon=No text associated to this beacon +eln: +eln:# ./src/main/java/mods/eln/sixnode/tutorialsign/TutorialSignGui.java +eln:Set_beacon_name=Set beacon name +eln: +eln:# ./src/main/java/mods/eln/sixnode/wirelesssignal/rx/WirelessSignalRxGui.java +eln: +eln:# ./src/main/java/mods/eln/transparentnode/FuelGenerator.kt +eln:Nominal_power\:_%s_W=Nominal power\: %s W +eln:Nominal_voltage\:_%s_V=Nominal voltage\: %s V +eln:Produces_electricity_using_fuel.=Produces electricity using fuel. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/LargeRheostat.kt +eln:Nom._Resistance\:_%s=Nom. Resistance\: %s +eln: +eln:# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerContainer.java +eln:Drill_slot=Drill slot +eln:Mining_pipe_slot=Mining pipe slot +eln:Ore_scanner_slot=Ore scanner slot +eln: +eln:# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerDescriptor.java +eln:Excavates_on_a_small_radius.\nExtracts_ore_on_a_bigger_radius\:\n10_blocks_radius_after_10_blocks_depth.=Excavates on a small radius.\nExtracts ore on a bigger radius\:\n10 blocks radius after 10 blocks depth. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerGuiDraw.java +eln:Chest_missing_on_the\nback_of_the_auto_miner!=Chest missing on the\nback of the auto miner\! +eln:Halves_speed,_triples_power_draw=Halves speed, triples power draw +eln:Silk_Touch_Off=Silk Touch Off +eln:Silk_Touch_On=Silk Touch On +eln:Silk_touch=Silk touch +eln: +eln:# ./src/main/java/mods/eln/transparentnode/battery/BatteryContainer.java +eln:Overheating_protection=Overheating protection +eln:Overvoltage_protection=Overvoltage protection +eln: +eln:# ./src/main/java/mods/eln/transparentnode/battery/BatteryDescriptor.java +eln:Actual_charge\:_%s=Actual charge\: %s +eln:Energy_capacity\:_%sJ=Energy capacity\: %sJ +eln:_charged_at_%s=charged at %s +eln: +eln:# ./src/main/java/mods/eln/transparentnode/battery/BatteryGuiDraw.java +eln:Charge=Charge +eln:Charged=Charged +eln:Discharge=Discharge +eln:Energy\:=Energy\: +eln:Energy\:_%s=Energy\: %s +eln:Life\:=Life\: +eln:No_charge=No charge +eln:Power_in\:=Power in\: +eln:Power_out\:=Power out\: +eln: +eln:# ./src/main/java/mods/eln/transparentnode/eggincubator/EggIncubatorContainer.java +eln:Egg_slot=Egg slot +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalantennarx/ElectricalAntennaRxDescriptor.java +eln:Wireless_energy_receiver.=Wireless energy receiver. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalantennatx/ElectricalAntennaTxDescriptor.java +eln:Efficiency\:_%s_up_to_%s=Efficiency\: %s up to %s +eln:Wireless_energy_transmitter.=Wireless energy transmitter. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceContainer.java +eln:Heating_corp_slot=Heating corp slot +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceDescriptor.java +eln:Similar_to_a_vanilla_furnace,\nbut_heats_with_electricity.=Similar to a vanilla furnace,\nbut heats with electricity. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceGuiDraw.java +eln:Auto_shutdown=Auto shutdown +eln:Manual_shutdown=Manual shutdown +eln:Set_point\:_%s°C=Set point\: %s°C +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalmachine/ElectricalMachineDescriptor.java +eln:Cost=Cost +eln: +eln:# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceContainer.java +eln:Combustion_chamber_slot=Combustion chamber slot +eln:Fuel_slot=Fuel slot +eln: +eln:# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceDescriptor.java +eln:Generates_heat_when_supplied_with_fuel.=Generates heat when supplied with fuel. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceGuiDraw.java +eln:Control_gauge_at_%s=Control gauge at %s +eln:Decline_fuel=Decline fuel +eln:External_control=External control +eln:Internal_control=Internal control +eln:Take_fuel=Take fuel +eln: +eln:# ./src/main/java/mods/eln/transparentnode/powercapacitor/PowerCapacitorContainer.java +eln:(Increases_maximal_voltage)=(Increases maximal voltage) +eln: +eln:# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelContainer.java +eln:Solar_tracker_slot=Solar tracker slot +eln: +eln:# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelDescriptor.java +eln:Can_be_geared_towards_the_sun.=Can be geared towards the sun. +eln:Max._power\:_%sW=Max. power\: %sW +eln:Max._voltage\:_%sV=Max. voltage\: %sV +eln:Produces_power_from_solar_radiation.=Produces power from solar radiation. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPannelGuiDraw.java +eln:It_is_night=It is night +eln:Solar_panel_angle\:_%s°=Solar panel angle\: %s° +eln:Sun_angle\:_%s°=Sun angle\: %s° +eln: +eln:# ./src/main/java/mods/eln/transparentnode/teleporter/TeleporterGui.java +eln:Destination_transporter=Destination transporter +eln:Power_consumption\:=Power consumption\: +eln:Power_consumption\:_%sW=Power consumption\: %sW +eln:Required_energy\:_%sJ=Required energy\: %sJ +eln:Start=Start +eln:Transporter_name=Transporter name +eln: +eln:# ./src/main/java/mods/eln/transparentnode/thermaldissipatoractive/ThermalDissipatorActiveDescriptor.java +eln:Fan_cooling_power\:_%sW=Fan cooling power\: %sW +eln:Fan_power_consumption\:_%sW=Fan power consumption\: %sW +eln:Fan_voltage\:_%sV=Fan voltage\: %sV +eln: +eln:# ./src/main/java/mods/eln/transparentnode/transformer/TransformerDescriptor.java +eln:The_voltage_ratio_is_proportional\nto_the_cable_stacks_count_ratio.=The voltage ratio is proportional\nto the cable stacks count ratio. +eln:Transforms_an_input_voltage_to\nan_output_voltage.=Transforms an input voltage to\nan output voltage. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/turbine/TurbineDescriptor.java +eln:Generates_electricity_using_heat.=Generates electricity using heat. +eln:Temperature_difference\:_%s°C=Temperature difference\: %s°C +eln: +eln:# ./src/main/java/mods/eln/transparentnode/turret/TurretDescriptor.java +eln:CAUTION\:_Cables_can_get_quite_hot!=CAUTION\: Cables can get quite hot\! +eln:Laser_charge_power\:_%sW...%skW=Laser charge power\: %sW...%skW +eln:Scans_for_entities_and_shoots_if_the\nentity_matches_the_configurable_filter_criteria.=Scans for entities and shoots if the\nentity matches the configurable filter criteria. +eln:Standby_power\:_%sW=Standby power\: %sW +eln: +eln:# ./src/main/java/mods/eln/transparentnode/turret/TurretGui.java +eln:Attack\:=Attack\: +eln:Do_not_attack\:=Do not attack\: +eln:Recharge_power\:=Recharge power\: +eln: +eln:# ./src/main/java/mods/eln/transparentnode/waterturbine/WaterTurbineDescriptor.java +eln:Generates_energy_using_water_stream.=Generates energy using water stream. +eln:No_place_for_water_turbine!=No place for water turbine\! +eln: +eln:# ./src/main/java/mods/eln/transparentnode/windturbine/WindTurbineDescriptor.java +eln:Front\:_%s=Front\: %s +eln:Generates_energy_from_wind.=Generates energy from wind. +eln:Left_Right\:_%s=Left/Right\: %s +eln:Up_Down\:_%s=Up/Down\: %s +eln:Wind_area\:=Wind area\: +eln: +eln:# ./src/main/java/mods/eln/wiki/Data.java +eln:Energy=Energy +eln:Light=Light +eln:Machine=Machine +eln:Ore=Ore +eln:Portable=Portable +eln:Resource=Resource +eln:Signal=Signal +eln:Thermal=Thermal +eln:Upgrade=Upgrade +eln:Utilities=Utilities +eln:Wiring=Wiring +eln: +eln:# ./src/main/java/mods/eln/wiki/Default.java +eln:Previous=Previous +eln: +eln:# ./src/main/java/mods/eln/wiki/ItemDefault.java +eln:Can_be_used_to_craft\:=Can be used to craft\: +eln:Cannot_be_crafted!=Cannot be crafted\! +eln:Cost_%sJ=Cost %sJ +eln:Created_by\:=Created by\: +eln:Is_not_a_crafting_material!=Is not a crafting material\! +eln:Recipe\:=Recipe\: +eln: +eln:# Appearing in multiple source files +eln:(Increases_capacity)=(Increases capacity) +eln:(Increases_inductance)=(Increases inductance) +eln:Actual\:_%s°C=Actual\: %s°C +eln:Biggest=Biggest +eln:Booster_slot=Booster slot +eln:Can_create\:=Can create\: +eln:Capacity\:_%sF=Capacity\: %sF +eln:Charge_power\:_%sW=Charge power\: %sW +eln:Connected=Connected +eln:Cooling_power\:_%sW=Cooling power\: %sW +eln:Copper_cable_slot=Copper cable slot +eln:Dielectric_slot=Dielectric slot +eln:Discharge_power\:_%sW=Discharge power\: %sW +eln:Electrical_cable_slot=Electrical cable slot +eln:Entity_filter_slot=Entity filter slot +eln:Ferromagnetic_core_slot=Ferromagnetic core slot +eln:Has_a_signal_output.=Has a signal output. +eln:Inductance\:_%sH=Inductance\: %sH +eln:Internal_resistance\:_%sΩ=Internal resistance\: %sΩ +eln:Is_off=Is off +eln:Is_on=Is on +eln:Max._temperature\:_%s°C=Max. temperature\: %s°C +eln:Measured_value\ncorresponding\nto_0%_output=Measured value\ncorresponding\nto 0% output +eln:Measured_value\ncorresponding\nto_100%_output=Measured value\ncorresponding\nto 100% output +eln:Nominal\:=Nominal\: +eln:Nominal_power\:_%sW=Nominal power\: %sW +eln:Nominal_usage\:=Nominal usage\: +eln:Nominal_voltage\:_%sV=Nominal voltage\: %sV +eln:Not_connected=Not connected +eln:Not_enough_space_for_this_block=Not enough space for this block +eln:Power=Power +eln:Power\:_%sW=Power\: %sW +eln:Range\:_%s_blocks=Range\: %s blocks +eln:Redstone_slot=Redstone slot +eln:Regulator_slot=Regulator slot +eln:Reset=Reset +eln:Resistance\:_%sΩ=Resistance\: %sΩ +eln:Smallest=Smallest +eln:Specify_the_channel=Specify the channel +eln:Stored_energy\:_%sJ_(%s)=Stored energy\: %sJ (%s) +eln:Temperature\:_%s°C=Temperature\: %s°C +eln:Temperature_gauge=Temperature gauge +eln:Thermal_isolator_slot=Thermal isolator slot +eln:Toggle=Toggle +eln:Toggle_switch=Toggle switch +eln:Toggles_the_output_each_time\nan_emitter's_value_rises.\nUseful_to_allow_multiple_buttons\nto_control_the_same_light.=Toggles the output each time\nan emitter's value rises.\nUseful to allow multiple buttons\nto control the same light. +eln:Used_to_cool_down_turbines.=Used to cool down turbines. +eln:Uses_the_biggest\nvalue_on_the_channel.=Uses the biggest\nvalue on the channel. +eln:Uses_the_smallest\nvalue_on_the_channel.=Uses the smallest\nvalue on the channel. +eln:Validate=Validate +eln:Voltage\:_%sV=Voltage\: %sV +eln:You_can't_place_this_block_at_this_side=You can't place this block at this side diff --git a/src/main/resources/assets/eln/lang/az.lang b/src/main/resources/assets/eln/lang/az.lang index f4e769aa7..92e8a8d93 100644 --- a/src/main/resources/assets/eln/lang/az.lang +++ b/src/main/resources/assets/eln/lang/az.lang @@ -1,829 +1,829 @@ -# - -# ./src/main/java/mods/eln/Achievements.java -Electrical_Age_[WIP]=Electrical Age [WIP] -achievement.craft_50v_macerator=Crushing Novice -achievement.craft_50v_macerator.desc=Craft a 50V Macerator -achievement.open_guide=Wiki Power -achievement.open_guide.desc=Open the wiki guide - -# ./src/main/java/mods/eln/Eln.java -10A_Diode.name=10A Diode -200V_Active_Thermal_Dissipator.name=200V Active Thermal Dissipator -200V_Battery_Charger.name=200V Battery Charger -200V_Compressor.name=200V Compressor -200V_Condensator.name=200V Condensator -200V_Copper_Heating_Corp.name=200V Copper Heating Corp -200V_Economic_Light_Bulb.name=200V Economic Light Bulb -200V_Farming_Lamp.name=200V Farming Lamp -200V_Fuel_Generator.name=200V Fuel Generator -200V_Incandescent_Light_Bulb.name=200V Incandescent Light Bulb -200V_Iron_Heating_Corp.name=200V Iron Heating Corp -200V_LED_Bulb.name=200V LED Bulb -200V_Macerator.name=200V Macerator -200V_Magnetizer.name=200V Magnetizer -200V_Plate_Machine.name=200V Plate Machine -200V_Power_Socket.name=200V Power Socket -200V_Tungsten_Heating_Corp.name=200V Tungsten Heating Corp -200V_Turbine.name=200V Turbine -25A_Diode.name=25A Diode -50V_Battery_Charger.name=50V Battery Charger -50V_Carbon_Incandescent_Light_Bulb.name=50V Carbon Incandescent Light Bulb -50V_Compressor.name=50V Compressor -50V_Condensator.name=50V Condensator -50V_Copper_Heating_Corp.name=50V Copper Heating Corp -50V_Economic_Light_Bulb.name=50V Economic Light Bulb -50V_Egg_Incubator.name=50V Egg Incubator -50V_Farming_Lamp.name=50V Farming Lamp -50V_Fuel_Generator.name=50V Fuel Generator -50V_Incandescent_Light_Bulb.name=50V Incandescent Light Bulb -50V_Iron_Heating_Corp.name=50V Iron Heating Corp -50V_LED_Bulb.name=50V LED Bulb -50V_Macerator.name=50V Macerator -50V_Magnetizer.name=50V Magnetizer -50V_Plate_Machine.name=50V Plate Machine -50V_Power_Socket.name=50V Power Socket -50V_Tungsten_Heating_Corp.name=50V Tungsten Heating Corp -50V_Turbine.name=50V Turbine -800V_Defence_Turret.name=800V Defence Turret -AND_Chip.name=AND Chip -Advanced_Chip.name=Advanced Chip -Advanced_Electrical_Motor.name=Advanced Electrical Motor -Advanced_Energy_Meter.name=Advanced Energy Meter -Advanced_Machine_Block.name=Advanced Machine Block -Advanced_Magnet.name=Advanced Magnet -AllMeter.name=Universal-Meter -Alloy_Dust.name=Alloy Dust -Alloy_Ingot.name=Alloy Ingot -Alloy_Plate.name=Alloy Plate -Analog_Watch.name=Analog watch -Analog_vuMeter.name=Analog Gauge -Analogic_Regulator.name=Analogic Regulator -Animal_Filter.name=Animal Filter -Auto_Miner.name=Auto Miner -Average_Electrical_Drill.name=Average Electrical Drill -Average_Ferromagnetic_Core.name=Average Ferromagnetic Core -Basic_Magnet.name=Basic Magnet -Black_Brush.name=Black Brush -Blue_Brush.name=Blue Brush -Brown_Brush.name=Brown Brush -Capacity_Oriented_Battery.name=Capacity Oriented Battery -Cheap_Chip.name=Cheap Chip -Cheap_Electrical_Drill.name=Cheap Electrical Drill -Cheap_Ferromagnetic_Core.name=Cheap Ferromagnetic Core -Cinnabar_Dust.name=Cinnabar Dust -Cinnabar_Ore.name=Cinnabar Ore -Coal_Dust.name=Coal Dust -Coal_Plate.name=Coal Plate -Combustion_Chamber.name=Combustion Chamber -Copper_Cable.name=Copper Cable -Copper_Dust.name=Copper Dust -Copper_Ingot.name=Copper Ingot -Copper_Ore.name=Copper Ore -Copper_Plate.name=Copper Plate -Copper_Thermal_Cable.name=Copper Thermal Cable -Cost_Oriented_Battery.name=Cost Oriented Battery -Current_Oriented_Battery.name=Current Oriented Battery -Cyan_Brush.name=Cyan Brush -D_Flip_Flop_Chip.name=D Flip Flop Chip -Data_Logger.name=Data Logger -Data_Logger_Print.name=Data Logger Print -Dielectric.name=Dielectric -Digital_Watch.name=Digital Watch -Electrical_Anemometer_Sensor.name=Electrical Anemometer Sensor -Electrical_Breaker.name=Electrical Breaker -Electrical_Daylight_Sensor.name=Electrical Daylight Sensor -Electrical_Entity_Sensor.name=Electrical Entity Sensor -Electrical_Fire_Detector.name=Electrical Fire Detector -Electrical_Furnace.name=Electrical Furnace -Electrical_Light_Sensor.name=Electrical Light Sensor -Electrical_Motor.name=Electrical Motor -Electrical_Probe.name=Electrical Probe -Electrical_Probe_Chip.name=Electrical Probe Chip -Electrical_Source.name=Electrical Source -Electrical_Timer.name=Electrical Timer -Electrical_Weather_Sensor.name=Electrical Weather Sensor -Electrical_age_wrench,\nCan_be_used_to_turn\nsmall_wall_blocks=Electrical age wrench,\nCan be used to turn\nsmall wall blocks -Energy_Meter.name=Energy Meter -Experimental_Transporter.name=Experimental Transporter -Fast_Electrical_Drill.name=Fast Electrical Drill -Ferrite_Ingot.name=Ferrite Ingot -Flat_Lamp_Socket.name=Flat Lamp Socket -Fluorescent_Lamp_Socket.name=Fluorescent Lamp Socket -Generator.name=Generator -Gold_Dust.name=Gold Dust -Gold_Plate.name=Gold Plate -Gray_Brush.name=Gray Brush -Green_Brush.name=Green Brush -Ground_Cable.name=Ground Cable -High_Power_Receiver_Antenna.name=High Power Receiver Antenna -High_Power_Transmitter_Antenna.name=High Power Transmitter Antenna -High_Voltage_Cable.name=High Voltage Cable -High_Voltage_Relay.name=High Voltage Relay -High_Voltage_Switch.name=High Voltage Switch -Hub.name=Hub -Industrial_Data_Logger.name=Industrial Data Logger -Iron_Cable.name=Iron Cable -Iron_Dust.name=Iron Dust -Iron_Plate.name=Iron Plate -JK_Flip_Flop_Chip.name=JK Flip Flop Chip -LED_vuMeter.name=LED vuMeter -Lamp_Socket_A.name=Lamp Socket A -Lamp_Socket_B_Projector.name=Lamp Socket B Projector -Lamp_Supply.name=Lamp Supply -Large_Rheostat.name=Large Rheostat -Lead_Dust.name=Lead Dust -Lead_Ingot.name=Lead Ingot -Lead_Ore.name=Lead Ore -Lead_Plate.name=Lead Plate -Life_Oriented_Battery.name=Life Oriented Battery -Light_Blue_Brush.name=Light Blue Brush -Lime_Brush.name=Lime Brush -Long_Suspended_Lamp_Socket.name=Long Suspended Lamp Socket -Low_Power_Receiver_Antenna.name=Low Power Receiver Antenna -Low_Power_Transmitter_Antenna.name=Low Power Transmitter Antenna -Low_Voltage_Cable.name=Low Voltage Cable -Low_Voltage_Relay.name=Low Voltage Relay -Low_Voltage_Switch.name=Low Voltage Switch -Machine_Block.name=Machine Block -Machine_Booster.name=Machine Booster -Magenta_Brush.name=Magenta Brush -Medium_Power_Receiver_Antenna.name=Medium Power Receiver Antenna -Medium_Power_Transmitter_Antenna.name=Medium Power Transmitter Antenna -Medium_Voltage_Cable.name=Medium Voltage Cable -Medium_Voltage_Relay.name=Medium Voltage Relay -Medium_Voltage_Switch.name=Medium Voltage Switch -Mercury.name=Mercury -Mining_Pipe.name=Mining Pipe -Modbus_RTU.name=Modbus RTU -Modern_Data_Logger.name=Modern Data Logger -Monster_Filter.name=Monster Filter -MultiMeter.name=Multimeter -NAND_Chip.name=NAND Chip -NOR_Chip.name=NOR Chip -NOT_Chip.name=NOT Chip -Nuclear_Alarm.name=Nuclear Alarm -OR_Chip.name=OR Chip -On_OFF_Regulator_10_Percent.name=On/off regulator 10% -On_OFF_Regulator_1_Percent.name=On/off regulator 1% -Optimal_Ferromagnetic_Core.name=Optimal Ferromagnetic Core -Orange_Brush.name=Orange Brush -Ore_Scanner.name=Ore Scanner -Oscillator_Chip.name=Oscillator Chip -Overheating_Protection.name=Overheating Protection -Overvoltage_Protection.name=Overvoltage Protection -PAL_Chip.name=PAL Chip -Pink_Brush.name=Pink Brush -Player_Filter.name=Player Filter -Portable_Battery.name=Portable Battery -Portable_Battery_Pack.name=Portable Battery Pack -Portable_Condensator.name=Portable Condensator -Portable_Condensator_Pack.name=Portable Condensator Pack -Portable_Electrical_Axe.name=Portable Electrical Axe -Portable_Electrical_Mining_Drill.name=Portable Electrical Mining Drill -Power_Capacitor.name=Power Capacitor -Power_Inductor.name=Power Inductor -Power_Resistor.name=Power Resistor -Power_capacitor.name=Power capacitor -Power_inductor.name=Power inductor -Purple_Brush.name=Purple Brush -Red_Brush.name=Red Brush -Redstone-to-Voltage_Converter.name=Redstone-to-Voltage Converter -Rheostat.name=Rheostat -Robust_Lamp_Socket.name=Robust Lamp Socket -Rubber.name=Rubber -Schmitt_Trigger_Chip.name=Schmitt Trigger Chip -Sconce_Lamp_Socket.name=Sconce Lamp Socket -Signal_20H_inductor.name=Signal 20H inductor -Signal_Antenna.name=Signal Antenna -Signal_Button.name=Signal Button -Signal_Cable.name=Signal Cable -Signal_Diode.name=Signal Diode -Signal_Processor.name=Signal Processor -Signal_Relay.name=Signal Relay -Signal_Source.name=Signal Source -Signal_Switch.name=Signal Switch -Signal_Switch_with_LED.name=Signal Switch with LED -Signal_Trimmer.name=Signal Trimmer -Silicon_Dust.name=Silicon Dust -Silicon_Ingot.name=Silicon Ingot -Silicon_Plate.name=Silicon Plate -Silver_Brush.name=Silver Brush -Simple_Lamp_Socket.name=Simple Lamp Socket -Single-use_Battery.name=Single-use Battery -Small_200V_Copper_Heating_Corp.name=Small 200V Copper Heating Corp -Small_200V_Iron_Heating_Corp.name=Small 200V Iron Heating Corp -Small_200V_Tungsten_Heating_Corp.name=Small 200V Tungsten Heating Corp -Small_50V_Carbon_Incandescent_Light_Bulb.name=Small 50V Carbon Incandescent Light Bulb -Small_50V_Copper_Heating_Corp.name=Small 50V Copper Heating Corp -Small_50V_Economic_Light_Bulb.name=Small 50V Economic Light Bulb -Small_50V_Incandescent_Light_Bulb.name=Small 50V Incandescent Light Bulb -Small_50V_Iron_Heating_Corp.name=Small 50V Iron Heating Corp -Small_50V_Tungsten_Heating_Corp.name=Small 50V Tungsten Heating Corp -Small_Active_Thermal_Dissipator.name=Small Active Thermal Dissipator -Small_Flashlight.name=Small Flashlight -Small_Passive_Thermal_Dissipator.name=Small Passive Thermal Dissipator -Small_Rotating_Solar_Panel.name=Small Rotating Solar Panel -Small_Solar_Panel.name=Small Solar Panel -Solar_Tracker.name=Solar Tracker -Standard_Alarm.name=Standard Alarm -Steam_Turbine.name=Steam Turbine -Stone_Heat_Furnace.name=Stone Heat Furnace -Street_Light.name=Streetlight -Suspended_Lamp_Socket.name=Suspended Lamp Socket -Temperature_Probe.name=Temperature Probe -Thermal_Probe.name=Thermal Probe -Thermal_Probe_Chip.name=Thermal Probe Chip -Thermistor.name=Thermistor -ThermoMeter.name=Thermometer -Transformer.name=Transformer -Tree_Resin.name=Tree Resin -Tree_Resin_Collector.name=Tree Resin Collector -Tungsten_Cable.name=Tungsten Cable -Tungsten_Dust.name=Tungsten Dust -Tungsten_Ingot.name=Tungsten Ingot -Tungsten_Ore.name=Tungsten Ore -Tutorial_Sign.name=Tutorial Sign -Very_High_Voltage_Cable.name=Very High Voltage Cable -Very_High_Voltage_Relay.name=Very High Voltage Relay -Very_High_Voltage_Switch.name=Very High Voltage Switch -Voltage-to-Redstone_Converter.name=Voltage-to-Redstone Converter -Voltage_Oriented_Battery.name=Voltage Oriented Battery -Voltage_Probe.name=Voltage Probe -Water_Turbine.name=Water Turbine -Weak_50V_Battery_Charger.name=Weak 50V Battery Charger -White_Brush.name=White Brush -Wind_Turbine.name=Wind Turbine -Wireless_Analyser.name=Wireless Analyzer -Wireless_Button.name=Wireless Button -Wireless_Signal_Receiver.name=Wireless Signal Receiver -Wireless_Signal_Repeater.name=Wireless Signal Repeater -Wireless_Signal_Transmitter.name=Wireless Signal Transmitter -Wireless_Switch.name=Wireless Switch -Wrench.name=Wrench -X-Ray_Scanner.name=X-Ray Scanner -XNOR_Chip.name=XNOR Chip -XOR_Chip.name=XOR Chip -Yellow_Brush.name=Yellow Brush -entity.EAReplicator.name=Replicator -item.Copper Axe.name\=Copper Axe -item.Copper Axe.name\=Copper Axe -item.Copper Axe.name\=Copper Axe -item.Copper Axe.name\=Copper Axe -item.Copper Axe.name\=Copper Axe -item.Copper Axe.name\=Copper Axe -item.Copper Axe.name\=Copper Axe -item.Copper Axe.name\=Copper Axe -item.Copper Axe.name\=Copper Axe -item.E-Coal Boots.name\=E-Coal Boots -item.E-Coal Boots.name\=E-Coal Boots -item.E-Coal Boots.name\=E-Coal Boots -item.E-Coal Boots.name\=E-Coal Boots -itemGroup.Eln=Electrical Age -mod.meta.desc=Electricity in your base\! -tile.eln.ElnProbe.name=Eln Computer Probe -tile.eln.EnergyConverterElnToOtherHVUBlock.name=800V Electrical Age to other energy exporter -tile.eln.EnergyConverterElnToOtherLVUBlock.name=50V Electrical Age to other energy exporter -tile.eln.EnergyConverterElnToOtherMVUBlock.name=200V Electrical Age to other energy exporter - -# ./src/main/java/mods/eln/i18n/I18N.java -You_have_%s_lives_left=You have %s lives left - -# ./src/main/java/mods/eln/item/BrushDescriptor.java -Brush_is_dry=Brush is dry -Can_paint_%s_blocks=Can paint %s blocks - -# ./src/main/java/mods/eln/item/CombustionChamber.java -Upgrade_for_the_Stone_Heat_Furnace.=Upgrade for the Stone Heat Furnace. - -# ./src/main/java/mods/eln/item/ElectricalDrillDescriptor.java -Energy_per_operation\:_%sJ=Energy per operation\: %sJ -Time_per_operation\:_%ss=Time per operation\: %ss - -# ./src/main/java/mods/eln/item/FerromagneticCoreDescriptor.java -Cable_loss_factor\:_%s=Cable loss factor\: %s - -# ./src/main/java/mods/eln/item/HeatingCorpElement.java - -# ./src/main/java/mods/eln/item/LampDescriptor.java -Bad=Bad -Condition\:=Condition\: -End_of_life=End of life -Good=Good -New=New -Nominal_lifetime\:_%sh=Nominal lifetime\: %sh -Technology\:_%s=Technology\: %s -Used=Used - -# ./src/main/java/mods/eln/item/LampSlot.java -Lamp_slot=Lamp slot - -# ./src/main/java/mods/eln/item/OverHeatingProtectionDescriptor.java -Useful_to_prevent_overheating\nof_Batteries=Useful to prevent overheating\nof Batteries - -# ./src/main/java/mods/eln/item/OverVoltageProtectionDescriptor.java -Useful_to_prevent_over-voltage\nof_Batteries=Useful to prevent over-voltage\nof Batteries - -# ./src/main/java/mods/eln/item/SolarTrackerDescriptor.java -Solar_panel_upgrade=Solar panel upgrade - -# ./src/main/java/mods/eln/item/electricalitem/BatteryItem.java - -# ./src/main/java/mods/eln/item/electricalitem/ElectricalLampItem.java -Off=Off -On=On -State\:=State\: -Stored_Energy\:_%sJ_(%s)=Stored Energy\: %sJ (%s) - -# ./src/main/java/mods/eln/item/regulator/RegulatorSlot.java - -# ./src/main/java/mods/eln/misc/UtilsClient.java -Hold_shift=Hold shift - -# ./src/main/java/mods/eln/misc/Version.java -mod.name=Electrical Age - -# ./src/main/java/mods/eln/node/six/SixNodeDescriptor.java - -# ./src/main/java/mods/eln/simplenode/energyconverter/EnergyConverterElnToOtherGui.java -Input_power_is_limited_to_%sW=Input power is limited to %sW - -# ./src/main/java/mods/eln/sixnode/LogicGate.kt -_O\:_= O\: - -# ./src/main/java/mods/eln/sixnode/TreeResinCollector/TreeResinCollectorDescriptor.java -Produces_Tree_Resin_over\ntime_when_put_on_a_tree.=Produces Tree Resin over\ntime when put on a tree. -This_block_can_only_be_placed_on_the_side_of_a_tree!=This block can only be placed on the side of a tree\! - -# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerContainer.java -Battery_slot=Battery slot - -# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerDescriptor.java -Can_be_used_to_recharge\nelectrical_items_like\:\nFlash_Light,_X-Ray_scanner\nand_Portable_Battery_...=Can be used to recharge\nelectrical items like\:\nFlash Light, X-Ray scanner\nand Portable Battery ... - -# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerGui.java - -# ./src/main/java/mods/eln/sixnode/diode/DiodeDescriptor.java -Electrical_current_can_only\nflow_through_the_diode\nfrom_anode_to_cathode=Electrical current can only\nflow through the diode\nfrom anode to cathode - -# ./src/main/java/mods/eln/sixnode/electricalalarm/ElectricalAlarmDescriptor.java -= -Emits_an_acoustic_alarm_if\nthe_input_signal_is_high=Emits an acoustic alarm if\nthe input signal is high - -# ./src/main/java/mods/eln/sixnode/electricalalarm/ElectricalAlarmGui.java -Sound_is_muted=Sound is muted -Sound_is_not_muted=Sound is not muted - -# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerContainer.java - -# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerDescriptor.java -Protects_electrical_components\nOpens_contact_if\:\n__-_Voltage_exceeds_a_certain_level\n-_Current_exceeds_the_cable_limit=Protects electrical components\nOpens contact if\:\n - Voltage exceeds a certain level\n- Current exceeds the cable limit - -# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerGui.java -Maximum_voltage_before_cutting_off=Maximum voltage before cutting off -Minimum_voltage_before_cutting_off=Minimum voltage before cutting off -Switch_is_off=Switch is off -Switch_is_on=Switch is on - -# ./src/main/java/mods/eln/sixnode/electricalcable/ElectricalCableDescriptor.java -A_signal_is_electrical_information\nwhich_must_be_between_0V_and_%sV=A signal is electrical information\nwhich must be between 0V and %sV -Cable_is_adapted_to_conduct\nelectrical_signals.=Cable is adapted to conduct\nelectrical signals. -Current\:_%sA=Current\: %sA -Not_adapted_to_transport_power.=Not adapted to transport power. -Save_usage\:=Save usage\: -Serial_resistance\:_%sΩ=Serial resistance\: %sΩ - -# ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerDescriptor.java -It_can_store_up_to_256_points.=It can store up to 256 points. -Measures_the_voltage_of_an\nelectrical_signal_and_plots\nthe_data_in_real_time.=Measures the voltage of an\nelectrical signal and plots\nthe data in real time. - -# ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerGui.java -Back_to_display=Back to display -Configuration=Configuration -Current_[A]=Current [A] -Energy_[J]=Energy [J] -Percent_[-]%=Percent [-]% -Power_[W]=Power [W] -Print=Print -Sampling_period=Sampling period -Temp._[*C]=Temp. [*C] -Voltage_[V]=Voltage [V] -Y-axis_max=Y-axis max -Y-axis_min=Y-axis min - -# ./src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorContainer.java - -# ./src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorDescriptor.java -Output_voltage_increases\nif_entities_are_moving_around.=Output voltage increases\nif entities are moving around. - -# ./src/main/java/mods/eln/sixnode/electricalfiredetector/ElectricalFireDetectorDescriptor.java -Output_voltage_increases\nif_a_fire_has_been_detected.=Output voltage increases\nif a fire has been detected. - -# ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceDescriptor.java -Provides_configurable_signal\nvoltage.=Provides configurable signal\nvoltage. - -# ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceGui.java -Output_at_%s=Output at %s - -# ./src/main/java/mods/eln/sixnode/electricallightsensor/ElectricalLightSensorDescriptor.java -0V_at_night,_%sV_at_noon.=0V at night, %sV at noon. -Provides_an_electrical_voltage\nin_the_presence_of_light.=Provides an electrical voltage\nin the presence of light. -Provides_an_electrical_voltage\nwhich_is_proportional_to\nthe_intensity_of_daylight.=Provides an electrical voltage\nwhich is proportional to\nthe intensity of daylight. - -# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathContainer.java - -# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathDescriptor.java -Applicable_boolean_operators\:=Applicable boolean operators\: -Applicable_functions\:=Applicable functions\: -Applicable_mathematical_operators\:=Applicable mathematical operators\: -Calculates_an_output_signal_from\n3_inputs_(A,_B,_C)_using_an_equation.=Calculates an output signal from\n3 inputs (A, B, C) using an equation. - -# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathGui.java -%s_Redstone(s)_required=%s Redstone(s) required -Equation_required!=Equation required\! -Inputs_are=Inputs are -Invalid_equation!=Invalid equation\! -Output_voltage_formula=Output voltage formula -Waiting_for_completion...=Waiting for completion... - -# ./src/main/java/mods/eln/sixnode/electricalredstoneinput/ElectricalRedstoneInputDescriptor.java -Converts_Redstone_signal\nto_an_electrical_voltage.=Converts Redstone signal\nto an electrical voltage. - -# ./src/main/java/mods/eln/sixnode/electricalredstoneoutput/ElectricalRedstoneOutputDescriptor.java -Converts_electrical_voltage\ninto_a_Redstone_signal.=Converts electrical voltage\ninto a Redstone signal. - -# ./src/main/java/mods/eln/sixnode/electricalrelay/ElectricalRelayDescriptor.java -A_relay_is_an_electrical\ncontact_that_conducts_electric\ncurrent_or_not,_depending\nthe_actual_input_signal_voltage.=A relay is an electrical\ncontact that conducts electric\ncurrent or not, depending\nthe actual input signal voltage. - -# ./src/main/java/mods/eln/sixnode/electricalrelay/ElectricalRelayGui.java -Normally_closed=Normally closed -Normally_open=Normally open - -# ./src/main/java/mods/eln/sixnode/electricalsource/ElectricalSourceDescriptor.java -Creative_block.=Creative block. -Provides_an_ideal_voltage_source\nwithout_energy_or_power_limitation.=Provides an ideal voltage source\nwithout energy or power limitation. - -# ./src/main/java/mods/eln/sixnode/electricalsource/ElectricalSourceGui.java -Output_voltage=Output voltage - -# ./src/main/java/mods/eln/sixnode/electricalswitch/ElectricalSwitchDescriptor.java -Can_break_an_electrical_circuit\ninterrupting_the_current.=Can break an electrical circuit\ninterrupting the current. - -# ./src/main/java/mods/eln/sixnode/electricaltimeout/ElectricalTimeoutDescriptor.java -Upon_application_of_a_high_signal,\nthe_timer_maintains_the_output_high_for\na_configurable_interval._Can_be_re-triggered.=Upon application of a high signal,\nthe timer maintains the output high for\na configurable interval. Can be re-triggered. - -# ./src/main/java/mods/eln/sixnode/electricaltimeout/ElectricalTimeoutGui.java -Set=Set -The_time_interval_the\noutput_is_kept_high.=The time interval the\noutput is kept high. - -# ./src/main/java/mods/eln/sixnode/electricalvumeter/ElectricalVuMeterDescriptor.java -Displays_the_value_of_a_signal.=Displays the value of a signal. - -# ./src/main/java/mods/eln/sixnode/electricalwatch/ElectricalWatchContainer.java -Portable_battery_slot=Portable battery slot - -# ./src/main/java/mods/eln/sixnode/electricalweathersensor/ElectricalWeatherSensorDescriptor.java -Clear\:_%sV=Clear\: %sV -Provides_an_electrical_signal\ndepending_the_actual_weather.=Provides an electrical signal\ndepending the actual weather. -Rain\:_%sV=Rain\: %sV -Storm\:_%sV=Storm\: %sV - -# ./src/main/java/mods/eln/sixnode/electricalwindsensor/ElectricalWindSensorDescriptor.java -Maximum_wind_speed_is_%sm_s=Maximum wind speed is %sm/s -Provides_an_electrical_signal\ndependant_on_wind_speed.=Provides an electrical signal\ndependant on wind speed. -You_can't_place_this_block_on_the_floor_or_the_ceiling=You can't place this block on the floor or the ceiling - -# ./src/main/java/mods/eln/sixnode/electricasensor/ElectricalSensorDescriptor.java -Can_measure_Voltage_Power_Current=Can measure Voltage/Power/Current -Measures_electrical_values_on_cables.=Measures electrical values on cables. -Measures_voltage_on_cables.=Measures voltage on cables. - -# ./src/main/java/mods/eln/sixnode/electricasensor/ElectricalSensorGui.java -Current=Current -Measured_voltage\ncorresponding\nto_0%_output=Measured voltage\ncorresponding\nto 0% output -Measured_voltage\ncorresponding\nto_100%_output=Measured voltage\ncorresponding\nto 100% output -Voltage=Voltage - -# ./src/main/java/mods/eln/sixnode/energymeter/EnergyMeterGui.java -Change_password=Change password -Counter_Mode=Counter Mode -Counts_the_energy_conducted_from\n\u00a74red\u00a7f_to_\u00a71blue\u00a7f.=Counts the energy conducted from\n\\u00a74red\\u00a7f to \\u00a71blue\\u00a7f. -Energy_counter\:_%sJ=Energy counter\: %sJ -Enter_new_energy=Enter new energy -Enter_password=Enter password -Prepay_Mode=Prepay Mode -Reset_time_counter=Reset time counter -Set_energy_counter=Set energy counter -Time_counter\:=Time counter\: -Try_password=Try password -You_can_set_an_initial\namount_of_available_energy.\nWhen_the_counter_arrives_at_0\nthe_contact_will_be_opened.=You can set an initial\namount of available energy.\nWhen the counter arrives at 0\nthe contact will be opened. -is_off=is off -is_on=is on -value_in_kJ=value in kJ - -# ./src/main/java/mods/eln/sixnode/groundcable/GroundCableDescriptor.java -Can_be_used_to_set_a_point_of_an\nelectrical_network_to_0V_potential.\nFor_example_to_ground_negative_battery_contacts.=Can be used to set a point of an\nelectrical network to 0V potential.\nFor example to ground negative battery contacts. -Provides_a_zero_volt_reference.=Provides a zero volt reference. - -# ./src/main/java/mods/eln/sixnode/hub/HubDescriptor.java -Allows_crossing_cables\non_one_single_block.=Allows crossing cables\non one single block. - -# ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketDescriptor.java -Angle\:_%s°_to_%s°=Angle\: %s° to %s° -Spot_range\:_%s_blocks=Spot range\: %s blocks - -# ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketGuiDraw.java -%s_is_not_in_range!=%s is not in range\! -Cable_slot_empty=Cable slot empty -Orientation\:_%s°=Orientation\: %s° -Parallel=Parallel -Powered_by_Lamp_Supply=Powered by Lamp Supply -Powered_by_cable=Powered by cable -Serial=Serial -Specify_the_supply_channel=Specify the supply channel - -# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyContainer.java -Electrical_cable_slot\nBase_range_is_32_blocks.\nEach_additional_cable\nincreases_range_by_one.=Electrical cable slot\nBase range is 32 blocks.\nEach additional cable\nincreases range by one. - -# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyDescriptor.java -Supplies_all_lamps_on_the_channel.=Supplies all lamps on the channel. - -# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyGui.java -Power_channel_name=Power channel name -Wireless_channel_name=Wireless channel name - -# ./src/main/java/mods/eln/sixnode/modbusrtu/ModbusRtuGui.java -Add=Add -Channel_name=Channel name -Modbus_ID=Modbus ID -Modbus_RTU=Modbus RTU -Station_ID=Station ID -Station_name=Station name -Wireless_RX=Wireless RX -Wireless_TX=Wireless TX - -# ./src/main/java/mods/eln/sixnode/powercapacitorsix/PowerCapacitorSixContainer.java -(Increases_maximum_voltage)=(Increases maximum voltage) - -# ./src/main/java/mods/eln/sixnode/powercapacitorsix/PowerCapacitorSixGui.java - -# ./src/main/java/mods/eln/sixnode/powerinductorsix/PowerInductorSixContainer.java - -# ./src/main/java/mods/eln/sixnode/powerinductorsix/PowerInductorSixGui.java - -# ./src/main/java/mods/eln/sixnode/powersocket/PowerSocketDescriptor.java -Supplies_any_device\nplugged_in_with_energy.=Supplies any device\nplugged in with energy. - -# ./src/main/java/mods/eln/sixnode/powersocket/PowerSocketGui.java -Specify_the_device_to_supply_through_this_socket.=Specify the device to supply through this socket. - -# ./src/main/java/mods/eln/sixnode/resistor/ResistorContainer.java -(Sets_resistance)=(Sets resistance) -Coal_dust_slot=Coal dust slot - -# ./src/main/java/mods/eln/sixnode/thermalcable/ThermalCableDescriptor.java -High_parallel_resistance\n_\=>_Low_power_dissipation.=High parallel resistance\n \=> Low power dissipation. -Low_serial_resistance\n_\=>_High_conductivity.=Low serial resistance\n \=> High conductivity. -Parallel_resistance\:_%sK_W=Parallel resistance\: %sK/W -Serial_resistance\:_%sK_W=Serial resistance\: %sK/W - -# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorContainer.java -Cable_slot=Cable slot - -# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorDescriptor.java -Can_measure\:=Can measure\: -Measures_temperature_of_cables.=Measures temperature of cables. -Measures_thermal_values_on_cables.=Measures thermal values on cables. -__Temperature_Power_conducted=Temperature/Power conducted - -# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorGui.java -Measured_temperature\ncorresponding\nto_0%_output=Measured temperature\ncorresponding\nto 0% output -Measured_temperature\ncorresponding\nto_100%_output=Measured temperature\ncorresponding\nto 100% output -Temperature=Temperature - -# ./src/main/java/mods/eln/sixnode/tutorialsign/TutorialSignElement.java -No_text_associated_to_this_beacon=No text associated to this beacon - -# ./src/main/java/mods/eln/sixnode/tutorialsign/TutorialSignGui.java -Set_beacon_name=Set beacon name - -# ./src/main/java/mods/eln/sixnode/wirelesssignal/rx/WirelessSignalRxGui.java - -# ./src/main/java/mods/eln/transparentnode/FuelGenerator.kt -Nominal_power\:_%s_W=Nominal power\: %s W -Nominal_voltage\:_%s_V=Nominal voltage\: %s V -Produces_electricity_using_fuel.=Produces electricity using fuel. - -# ./src/main/java/mods/eln/transparentnode/LargeRheostat.kt -Nom._Resistance\:_%s=Nom. Resistance\: %s - -# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerContainer.java -Drill_slot=Drill slot -Mining_pipe_slot=Mining pipe slot -Ore_scanner_slot=Ore scanner slot - -# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerDescriptor.java -Excavates_on_a_small_radius.\nExtracts_ore_on_a_bigger_radius\:\n10_blocks_radius_after_10_blocks_depth.=Excavates on a small radius.\nExtracts ore on a bigger radius\:\n10 blocks radius after 10 blocks depth. - -# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerGuiDraw.java -Chest_missing_on_the\nback_of_the_auto_miner!=Chest missing on the\nback of the auto miner\! -Halves_speed,_triples_power_draw=Halves speed, triples power draw -Silk_Touch_Off=Silk Touch Off -Silk_Touch_On=Silk Touch On -Silk_touch=Silk touch - -# ./src/main/java/mods/eln/transparentnode/battery/BatteryContainer.java -Overheating_protection=Overheating protection -Overvoltage_protection=Overvoltage protection - -# ./src/main/java/mods/eln/transparentnode/battery/BatteryDescriptor.java -Actual_charge\:_%s=Actual charge\: %s -Energy_capacity\:_%sJ=Energy capacity\: %sJ -_charged_at_%s=charged at %s - -# ./src/main/java/mods/eln/transparentnode/battery/BatteryGuiDraw.java -Charge=Charge -Charged=Charged -Discharge=Discharge -Energy\:=Energy\: -Energy\:_%s=Energy\: %s -Life\:=Life\: -No_charge=No charge -Power_in\:=Power in\: -Power_out\:=Power out\: - -# ./src/main/java/mods/eln/transparentnode/eggincubator/EggIncubatorContainer.java -Egg_slot=Egg slot - -# ./src/main/java/mods/eln/transparentnode/electricalantennarx/ElectricalAntennaRxDescriptor.java -Wireless_energy_receiver.=Wireless energy receiver. - -# ./src/main/java/mods/eln/transparentnode/electricalantennatx/ElectricalAntennaTxDescriptor.java -Efficiency\:_%s_up_to_%s=Efficiency\: %s up to %s -Wireless_energy_transmitter.=Wireless energy transmitter. - -# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceContainer.java -Heating_corp_slot=Heating corp slot - -# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceDescriptor.java -Similar_to_a_vanilla_furnace,\nbut_heats_with_electricity.=Similar to a vanilla furnace,\nbut heats with electricity. - -# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceGuiDraw.java -Auto_shutdown=Auto shutdown -Manual_shutdown=Manual shutdown -Set_point\:_%s°C=Set point\: %s°C - -# ./src/main/java/mods/eln/transparentnode/electricalmachine/ElectricalMachineDescriptor.java -Cost=Cost - -# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceContainer.java -Combustion_chamber_slot=Combustion chamber slot -Fuel_slot=Fuel slot - -# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceDescriptor.java -Generates_heat_when_supplied_with_fuel.=Generates heat when supplied with fuel. - -# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceGuiDraw.java -Control_gauge_at_%s=Control gauge at %s -Decline_fuel=Decline fuel -External_control=External control -Internal_control=Internal control -Take_fuel=Take fuel - -# ./src/main/java/mods/eln/transparentnode/powercapacitor/PowerCapacitorContainer.java -(Increases_maximal_voltage)=(Increases maximal voltage) - -# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelContainer.java -Solar_tracker_slot=Solar tracker slot - -# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelDescriptor.java -Can_be_geared_towards_the_sun.=Can be geared towards the sun. -Max._power\:_%sW=Max. power\: %sW -Max._voltage\:_%sV=Max. voltage\: %sV -Produces_power_from_solar_radiation.=Produces power from solar radiation. - -# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPannelGuiDraw.java -It_is_night=It is night -Solar_panel_angle\:_%s°=Solar panel angle\: %s° -Sun_angle\:_%s°=Sun angle\: %s° - -# ./src/main/java/mods/eln/transparentnode/teleporter/TeleporterGui.java -Destination_transporter=Destination transporter -Power_consumption\:=Power consumption\: -Power_consumption\:_%sW=Power consumption\: %sW -Required_energy\:_%sJ=Required energy\: %sJ -Start=Start -Transporter_name=Transporter name - -# ./src/main/java/mods/eln/transparentnode/thermaldissipatoractive/ThermalDissipatorActiveDescriptor.java -Fan_cooling_power\:_%sW=Fan cooling power\: %sW -Fan_power_consumption\:_%sW=Fan power consumption\: %sW -Fan_voltage\:_%sV=Fan voltage\: %sV - -# ./src/main/java/mods/eln/transparentnode/transformer/TransformerDescriptor.java -The_voltage_ratio_is_proportional\nto_the_cable_stacks_count_ratio.=The voltage ratio is proportional\nto the cable stacks count ratio. -Transforms_an_input_voltage_to\nan_output_voltage.=Transforms an input voltage to\nan output voltage. - -# ./src/main/java/mods/eln/transparentnode/turbine/TurbineDescriptor.java -Generates_electricity_using_heat.=Generates electricity using heat. -Temperature_difference\:_%s°C=Temperature difference\: %s°C - -# ./src/main/java/mods/eln/transparentnode/turret/TurretDescriptor.java -CAUTION\:_Cables_can_get_quite_hot!=CAUTION\: Cables can get quite hot\! -Laser_charge_power\:_%sW...%skW=Laser charge power\: %sW...%skW -Scans_for_entities_and_shoots_if_the\nentity_matches_the_configurable_filter_criteria.=Scans for entities and shoots if the\nentity matches the configurable filter criteria. -Standby_power\:_%sW=Standby power\: %sW - -# ./src/main/java/mods/eln/transparentnode/turret/TurretGui.java -Attack\:=Attack\: -Do_not_attack\:=Do not attack\: -Recharge_power\:=Recharge power\: - -# ./src/main/java/mods/eln/transparentnode/waterturbine/WaterTurbineDescriptor.java -Generates_energy_using_water_stream.=Generates energy using water stream. -No_place_for_water_turbine!=No place for water turbine\! - -# ./src/main/java/mods/eln/transparentnode/windturbine/WindTurbineDescriptor.java -Front\:_%s=Front\: %s -Generates_energy_from_wind.=Generates energy from wind. -Left_Right\:_%s=Left/Right\: %s -Up_Down\:_%s=Up/Down\: %s -Wind_area\:=Wind area\: - -# ./src/main/java/mods/eln/wiki/Data.java -Energy=Energy -Light=Light -Machine=Machine -Ore=Ore -Portable=Portable -Resource=Resource -Signal=Signal -Thermal=Thermal -Upgrade=Upgrade -Utilities=Utilities -Wiring=Wiring - -# ./src/main/java/mods/eln/wiki/Default.java -Previous=Previous - -# ./src/main/java/mods/eln/wiki/ItemDefault.java -Can_be_used_to_craft\:=Can be used to craft\: -Cannot_be_crafted!=Cannot be crafted\! -Cost_%sJ=Cost %sJ -Created_by\:=Created by\: -Is_not_a_crafting_material!=Is not a crafting material\! -Recipe\:=Recipe\: - -# Appearing in multiple source files -(Increases_capacity)=(Increases capacity) -(Increases_inductance)=(Increases inductance) -Actual\:_%s°C=Actual\: %s°C -Biggest=Biggest -Booster_slot=Booster slot -Can_create\:=Can create\: -Capacity\:_%sF=Capacity\: %sF -Charge_power\:_%sW=Charge power\: %sW -Connected=Connected -Cooling_power\:_%sW=Cooling power\: %sW -Copper_cable_slot=Copper cable slot -Dielectric_slot=Dielectric slot -Discharge_power\:_%sW=Discharge power\: %sW -Electrical_cable_slot=Electrical cable slot -Entity_filter_slot=Entity filter slot -Ferromagnetic_core_slot=Ferromagnetic core slot -Has_a_signal_output.=Has a signal output. -Inductance\:_%sH=Inductance\: %sH -Internal_resistance\:_%sΩ=Internal resistance\: %sΩ -Is_off=Is off -Is_on=Is on -Max._temperature\:_%s°C=Max. temperature\: %s°C -Measured_value\ncorresponding\nto_0%_output=Measured value\ncorresponding\nto 0% output -Measured_value\ncorresponding\nto_100%_output=Measured value\ncorresponding\nto 100% output -Nominal\:=Nominal\: -Nominal_power\:_%sW=Nominal power\: %sW -Nominal_usage\:=Nominal usage\: -Nominal_voltage\:_%sV=Nominal voltage\: %sV -Not_connected=Not connected -Not_enough_space_for_this_block=Not enough space for this block -Power=Power -Power\:_%sW=Power\: %sW -Range\:_%s_blocks=Range\: %s blocks -Redstone_slot=Redstone slot -Regulator_slot=Regulator slot -Reset=Reset -Resistance\:_%sΩ=Resistance\: %sΩ -Smallest=Smallest -Specify_the_channel=Specify the channel -Stored_energy\:_%sJ_(%s)=Stored energy\: %sJ (%s) -Temperature\:_%s°C=Temperature\: %s°C -Temperature_gauge=Temperature gauge -Thermal_isolator_slot=Thermal isolator slot -Toggle=Toggle -Toggle_switch=Toggle switch -Toggles_the_output_each_time\nan_emitter's_value_rises.\nUseful_to_allow_multiple_buttons\nto_control_the_same_light.=Toggles the output each time\nan emitter's value rises.\nUseful to allow multiple buttons\nto control the same light. -Used_to_cool_down_turbines.=Used to cool down turbines. -Uses_the_biggest\nvalue_on_the_channel.=Uses the biggest\nvalue on the channel. -Uses_the_smallest\nvalue_on_the_channel.=Uses the smallest\nvalue on the channel. -Validate=Validate -Voltage\:_%sV=Voltage\: %sV -You_can't_place_this_block_at_this_side=You can't place this block at this side +eln:# +eln: +eln:# ./src/main/java/mods/eln/Achievements.java +eln:Electrical_Age_[WIP]=Electrical Age [WIP] +eln:achievement.craft_50v_macerator=Crushing Novice +eln:achievement.craft_50v_macerator.desc=Craft a 50V Macerator +eln:achievement.open_guide=Wiki Power +eln:achievement.open_guide.desc=Open the wiki guide +eln: +eln:# ./src/main/java/mods/eln/Eln.java +eln:10A_Diode.name=10A Diode +eln:200V_Active_Thermal_Dissipator.name=200V Active Thermal Dissipator +eln:200V_Battery_Charger.name=200V Battery Charger +eln:200V_Compressor.name=200V Compressor +eln:200V_Condensator.name=200V Condensator +eln:200V_Copper_Heating_Corp.name=200V Copper Heating Corp +eln:200V_Economic_Light_Bulb.name=200V Economic Light Bulb +eln:200V_Farming_Lamp.name=200V Farming Lamp +eln:200V_Fuel_Generator.name=200V Fuel Generator +eln:200V_Incandescent_Light_Bulb.name=200V Incandescent Light Bulb +eln:200V_Iron_Heating_Corp.name=200V Iron Heating Corp +eln:200V_LED_Bulb.name=200V LED Bulb +eln:200V_Macerator.name=200V Macerator +eln:200V_Magnetizer.name=200V Magnetizer +eln:200V_Plate_Machine.name=200V Plate Machine +eln:200V_Power_Socket.name=200V Power Socket +eln:200V_Tungsten_Heating_Corp.name=200V Tungsten Heating Corp +eln:200V_Turbine.name=200V Turbine +eln:25A_Diode.name=25A Diode +eln:50V_Battery_Charger.name=50V Battery Charger +eln:50V_Carbon_Incandescent_Light_Bulb.name=50V Carbon Incandescent Light Bulb +eln:50V_Compressor.name=50V Compressor +eln:50V_Condensator.name=50V Condensator +eln:50V_Copper_Heating_Corp.name=50V Copper Heating Corp +eln:50V_Economic_Light_Bulb.name=50V Economic Light Bulb +eln:50V_Egg_Incubator.name=50V Egg Incubator +eln:50V_Farming_Lamp.name=50V Farming Lamp +eln:50V_Fuel_Generator.name=50V Fuel Generator +eln:50V_Incandescent_Light_Bulb.name=50V Incandescent Light Bulb +eln:50V_Iron_Heating_Corp.name=50V Iron Heating Corp +eln:50V_LED_Bulb.name=50V LED Bulb +eln:50V_Macerator.name=50V Macerator +eln:50V_Magnetizer.name=50V Magnetizer +eln:50V_Plate_Machine.name=50V Plate Machine +eln:50V_Power_Socket.name=50V Power Socket +eln:50V_Tungsten_Heating_Corp.name=50V Tungsten Heating Corp +eln:50V_Turbine.name=50V Turbine +eln:800V_Defence_Turret.name=800V Defence Turret +eln:AND_Chip.name=AND Chip +eln:Advanced_Chip.name=Advanced Chip +eln:Advanced_Electrical_Motor.name=Advanced Electrical Motor +eln:Advanced_Energy_Meter.name=Advanced Energy Meter +eln:Advanced_Machine_Block.name=Advanced Machine Block +eln:Advanced_Magnet.name=Advanced Magnet +eln:AllMeter.name=Universal-Meter +eln:Alloy_Dust.name=Alloy Dust +eln:Alloy_Ingot.name=Alloy Ingot +eln:Alloy_Plate.name=Alloy Plate +eln:Analog_Watch.name=Analog watch +eln:Analog_vuMeter.name=Analog Gauge +eln:Analogic_Regulator.name=Analogic Regulator +eln:Animal_Filter.name=Animal Filter +eln:Auto_Miner.name=Auto Miner +eln:Average_Electrical_Drill.name=Average Electrical Drill +eln:Average_Ferromagnetic_Core.name=Average Ferromagnetic Core +eln:Basic_Magnet.name=Basic Magnet +eln:Black_Brush.name=Black Brush +eln:Blue_Brush.name=Blue Brush +eln:Brown_Brush.name=Brown Brush +eln:Capacity_Oriented_Battery.name=Capacity Oriented Battery +eln:Cheap_Chip.name=Cheap Chip +eln:Cheap_Electrical_Drill.name=Cheap Electrical Drill +eln:Cheap_Ferromagnetic_Core.name=Cheap Ferromagnetic Core +eln:Cinnabar_Dust.name=Cinnabar Dust +eln:Cinnabar_Ore.name=Cinnabar Ore +eln:Coal_Dust.name=Coal Dust +eln:Coal_Plate.name=Coal Plate +eln:Combustion_Chamber.name=Combustion Chamber +eln:Copper_Cable.name=Copper Cable +eln:Copper_Dust.name=Copper Dust +eln:Copper_Ingot.name=Copper Ingot +eln:Copper_Ore.name=Copper Ore +eln:Copper_Plate.name=Copper Plate +eln:Copper_Thermal_Cable.name=Copper Thermal Cable +eln:Cost_Oriented_Battery.name=Cost Oriented Battery +eln:Current_Oriented_Battery.name=Current Oriented Battery +eln:Cyan_Brush.name=Cyan Brush +eln:D_Flip_Flop_Chip.name=D Flip Flop Chip +eln:Data_Logger.name=Data Logger +eln:Data_Logger_Print.name=Data Logger Print +eln:Dielectric.name=Dielectric +eln:Digital_Watch.name=Digital Watch +eln:Electrical_Anemometer_Sensor.name=Electrical Anemometer Sensor +eln:Electrical_Breaker.name=Electrical Breaker +eln:Electrical_Daylight_Sensor.name=Electrical Daylight Sensor +eln:Electrical_Entity_Sensor.name=Electrical Entity Sensor +eln:Electrical_Fire_Detector.name=Electrical Fire Detector +eln:Electrical_Furnace.name=Electrical Furnace +eln:Electrical_Light_Sensor.name=Electrical Light Sensor +eln:Electrical_Motor.name=Electrical Motor +eln:Electrical_Probe.name=Electrical Probe +eln:Electrical_Probe_Chip.name=Electrical Probe Chip +eln:Electrical_Source.name=Electrical Source +eln:Electrical_Timer.name=Electrical Timer +eln:Electrical_Weather_Sensor.name=Electrical Weather Sensor +eln:Electrical_age_wrench,\nCan_be_used_to_turn\nsmall_wall_blocks=Electrical age wrench,\nCan be used to turn\nsmall wall blocks +eln:Energy_Meter.name=Energy Meter +eln:Experimental_Transporter.name=Experimental Transporter +eln:Fast_Electrical_Drill.name=Fast Electrical Drill +eln:Ferrite_Ingot.name=Ferrite Ingot +eln:Flat_Lamp_Socket.name=Flat Lamp Socket +eln:Fluorescent_Lamp_Socket.name=Fluorescent Lamp Socket +eln:Generator.name=Generator +eln:Gold_Dust.name=Gold Dust +eln:Gold_Plate.name=Gold Plate +eln:Gray_Brush.name=Gray Brush +eln:Green_Brush.name=Green Brush +eln:Ground_Cable.name=Ground Cable +eln:High_Power_Receiver_Antenna.name=High Power Receiver Antenna +eln:High_Power_Transmitter_Antenna.name=High Power Transmitter Antenna +eln:High_Voltage_Cable.name=High Voltage Cable +eln:High_Voltage_Relay.name=High Voltage Relay +eln:High_Voltage_Switch.name=High Voltage Switch +eln:Hub.name=Hub +eln:Industrial_Data_Logger.name=Industrial Data Logger +eln:Iron_Cable.name=Iron Cable +eln:Iron_Dust.name=Iron Dust +eln:Iron_Plate.name=Iron Plate +eln:JK_Flip_Flop_Chip.name=JK Flip Flop Chip +eln:LED_vuMeter.name=LED vuMeter +eln:Lamp_Socket_A.name=Lamp Socket A +eln:Lamp_Socket_B_Projector.name=Lamp Socket B Projector +eln:Lamp_Supply.name=Lamp Supply +eln:Large_Rheostat.name=Large Rheostat +eln:Lead_Dust.name=Lead Dust +eln:Lead_Ingot.name=Lead Ingot +eln:Lead_Ore.name=Lead Ore +eln:Lead_Plate.name=Lead Plate +eln:Life_Oriented_Battery.name=Life Oriented Battery +eln:Light_Blue_Brush.name=Light Blue Brush +eln:Lime_Brush.name=Lime Brush +eln:Long_Suspended_Lamp_Socket.name=Long Suspended Lamp Socket +eln:Low_Power_Receiver_Antenna.name=Low Power Receiver Antenna +eln:Low_Power_Transmitter_Antenna.name=Low Power Transmitter Antenna +eln:Low_Voltage_Cable.name=Low Voltage Cable +eln:Low_Voltage_Relay.name=Low Voltage Relay +eln:Low_Voltage_Switch.name=Low Voltage Switch +eln:Machine_Block.name=Machine Block +eln:Machine_Booster.name=Machine Booster +eln:Magenta_Brush.name=Magenta Brush +eln:Medium_Power_Receiver_Antenna.name=Medium Power Receiver Antenna +eln:Medium_Power_Transmitter_Antenna.name=Medium Power Transmitter Antenna +eln:Medium_Voltage_Cable.name=Medium Voltage Cable +eln:Medium_Voltage_Relay.name=Medium Voltage Relay +eln:Medium_Voltage_Switch.name=Medium Voltage Switch +eln:Mercury.name=Mercury +eln:Mining_Pipe.name=Mining Pipe +eln:Modbus_RTU.name=Modbus RTU +eln:Modern_Data_Logger.name=Modern Data Logger +eln:Monster_Filter.name=Monster Filter +eln:MultiMeter.name=Multimeter +eln:NAND_Chip.name=NAND Chip +eln:NOR_Chip.name=NOR Chip +eln:NOT_Chip.name=NOT Chip +eln:Nuclear_Alarm.name=Nuclear Alarm +eln:OR_Chip.name=OR Chip +eln:On_OFF_Regulator_10_Percent.name=On/off regulator 10% +eln:On_OFF_Regulator_1_Percent.name=On/off regulator 1% +eln:Optimal_Ferromagnetic_Core.name=Optimal Ferromagnetic Core +eln:Orange_Brush.name=Orange Brush +eln:Ore_Scanner.name=Ore Scanner +eln:Oscillator_Chip.name=Oscillator Chip +eln:Overheating_Protection.name=Overheating Protection +eln:Overvoltage_Protection.name=Overvoltage Protection +eln:PAL_Chip.name=PAL Chip +eln:Pink_Brush.name=Pink Brush +eln:Player_Filter.name=Player Filter +eln:Portable_Battery.name=Portable Battery +eln:Portable_Battery_Pack.name=Portable Battery Pack +eln:Portable_Condensator.name=Portable Condensator +eln:Portable_Condensator_Pack.name=Portable Condensator Pack +eln:Portable_Electrical_Axe.name=Portable Electrical Axe +eln:Portable_Electrical_Mining_Drill.name=Portable Electrical Mining Drill +eln:Power_Capacitor.name=Power Capacitor +eln:Power_Inductor.name=Power Inductor +eln:Power_Resistor.name=Power Resistor +eln:Power_capacitor.name=Power capacitor +eln:Power_inductor.name=Power inductor +eln:Purple_Brush.name=Purple Brush +eln:Red_Brush.name=Red Brush +eln:Redstone-to-Voltage_Converter.name=Redstone-to-Voltage Converter +eln:Rheostat.name=Rheostat +eln:Robust_Lamp_Socket.name=Robust Lamp Socket +eln:Rubber.name=Rubber +eln:Schmitt_Trigger_Chip.name=Schmitt Trigger Chip +eln:Sconce_Lamp_Socket.name=Sconce Lamp Socket +eln:Signal_20H_inductor.name=Signal 20H inductor +eln:Signal_Antenna.name=Signal Antenna +eln:Signal_Button.name=Signal Button +eln:Signal_Cable.name=Signal Cable +eln:Signal_Diode.name=Signal Diode +eln:Signal_Processor.name=Signal Processor +eln:Signal_Relay.name=Signal Relay +eln:Signal_Source.name=Signal Source +eln:Signal_Switch.name=Signal Switch +eln:Signal_Switch_with_LED.name=Signal Switch with LED +eln:Signal_Trimmer.name=Signal Trimmer +eln:Silicon_Dust.name=Silicon Dust +eln:Silicon_Ingot.name=Silicon Ingot +eln:Silicon_Plate.name=Silicon Plate +eln:Silver_Brush.name=Silver Brush +eln:Simple_Lamp_Socket.name=Simple Lamp Socket +eln:Single-use_Battery.name=Single-use Battery +eln:Small_200V_Copper_Heating_Corp.name=Small 200V Copper Heating Corp +eln:Small_200V_Iron_Heating_Corp.name=Small 200V Iron Heating Corp +eln:Small_200V_Tungsten_Heating_Corp.name=Small 200V Tungsten Heating Corp +eln:Small_50V_Carbon_Incandescent_Light_Bulb.name=Small 50V Carbon Incandescent Light Bulb +eln:Small_50V_Copper_Heating_Corp.name=Small 50V Copper Heating Corp +eln:Small_50V_Economic_Light_Bulb.name=Small 50V Economic Light Bulb +eln:Small_50V_Incandescent_Light_Bulb.name=Small 50V Incandescent Light Bulb +eln:Small_50V_Iron_Heating_Corp.name=Small 50V Iron Heating Corp +eln:Small_50V_Tungsten_Heating_Corp.name=Small 50V Tungsten Heating Corp +eln:Small_Active_Thermal_Dissipator.name=Small Active Thermal Dissipator +eln:Small_Flashlight.name=Small Flashlight +eln:Small_Passive_Thermal_Dissipator.name=Small Passive Thermal Dissipator +eln:Small_Rotating_Solar_Panel.name=Small Rotating Solar Panel +eln:Small_Solar_Panel.name=Small Solar Panel +eln:Solar_Tracker.name=Solar Tracker +eln:Standard_Alarm.name=Standard Alarm +eln:Steam_Turbine.name=Steam Turbine +eln:Stone_Heat_Furnace.name=Stone Heat Furnace +eln:Street_Light.name=Streetlight +eln:Suspended_Lamp_Socket.name=Suspended Lamp Socket +eln:Temperature_Probe.name=Temperature Probe +eln:Thermal_Probe.name=Thermal Probe +eln:Thermal_Probe_Chip.name=Thermal Probe Chip +eln:Thermistor.name=Thermistor +eln:ThermoMeter.name=Thermometer +eln:Transformer.name=Transformer +eln:Tree_Resin.name=Tree Resin +eln:Tree_Resin_Collector.name=Tree Resin Collector +eln:Tungsten_Cable.name=Tungsten Cable +eln:Tungsten_Dust.name=Tungsten Dust +eln:Tungsten_Ingot.name=Tungsten Ingot +eln:Tungsten_Ore.name=Tungsten Ore +eln:Tutorial_Sign.name=Tutorial Sign +eln:Very_High_Voltage_Cable.name=Very High Voltage Cable +eln:Very_High_Voltage_Relay.name=Very High Voltage Relay +eln:Very_High_Voltage_Switch.name=Very High Voltage Switch +eln:Voltage-to-Redstone_Converter.name=Voltage-to-Redstone Converter +eln:Voltage_Oriented_Battery.name=Voltage Oriented Battery +eln:Voltage_Probe.name=Voltage Probe +eln:Water_Turbine.name=Water Turbine +eln:Weak_50V_Battery_Charger.name=Weak 50V Battery Charger +eln:White_Brush.name=White Brush +eln:Wind_Turbine.name=Wind Turbine +eln:Wireless_Analyser.name=Wireless Analyzer +eln:Wireless_Button.name=Wireless Button +eln:Wireless_Signal_Receiver.name=Wireless Signal Receiver +eln:Wireless_Signal_Repeater.name=Wireless Signal Repeater +eln:Wireless_Signal_Transmitter.name=Wireless Signal Transmitter +eln:Wireless_Switch.name=Wireless Switch +eln:Wrench.name=Wrench +eln:X-Ray_Scanner.name=X-Ray Scanner +eln:XNOR_Chip.name=XNOR Chip +eln:XOR_Chip.name=XOR Chip +eln:Yellow_Brush.name=Yellow Brush +eln:entity.EAReplicator.name=Replicator +eln:item.Copper Axe.name\=Copper Axe +eln:item.Copper Axe.name\=Copper Axe +eln:item.Copper Axe.name\=Copper Axe +eln:item.Copper Axe.name\=Copper Axe +eln:item.Copper Axe.name\=Copper Axe +eln:item.Copper Axe.name\=Copper Axe +eln:item.Copper Axe.name\=Copper Axe +eln:item.Copper Axe.name\=Copper Axe +eln:item.Copper Axe.name\=Copper Axe +eln:item.E-Coal Boots.name\=E-Coal Boots +eln:item.E-Coal Boots.name\=E-Coal Boots +eln:item.E-Coal Boots.name\=E-Coal Boots +eln:item.E-Coal Boots.name\=E-Coal Boots +eln:itemGroup.Eln=Electrical Age +eln:mod.meta.desc=Electricity in your base\! +eln:tile.eln.ElnProbe.name=Eln Computer Probe +eln:tile.eln.EnergyConverterElnToOtherHVUBlock.name=800V Electrical Age to other energy exporter +eln:tile.eln.EnergyConverterElnToOtherLVUBlock.name=50V Electrical Age to other energy exporter +eln:tile.eln.EnergyConverterElnToOtherMVUBlock.name=200V Electrical Age to other energy exporter +eln: +eln:# ./src/main/java/mods/eln/i18n/I18N.java +eln:You_have_%s_lives_left=You have %s lives left +eln: +eln:# ./src/main/java/mods/eln/item/BrushDescriptor.java +eln:Brush_is_dry=Brush is dry +eln:Can_paint_%s_blocks=Can paint %s blocks +eln: +eln:# ./src/main/java/mods/eln/item/CombustionChamber.java +eln:Upgrade_for_the_Stone_Heat_Furnace.=Upgrade for the Stone Heat Furnace. +eln: +eln:# ./src/main/java/mods/eln/item/ElectricalDrillDescriptor.java +eln:Energy_per_operation\:_%sJ=Energy per operation\: %sJ +eln:Time_per_operation\:_%ss=Time per operation\: %ss +eln: +eln:# ./src/main/java/mods/eln/item/FerromagneticCoreDescriptor.java +eln:Cable_loss_factor\:_%s=Cable loss factor\: %s +eln: +eln:# ./src/main/java/mods/eln/item/HeatingCorpElement.java +eln: +eln:# ./src/main/java/mods/eln/item/LampDescriptor.java +eln:Bad=Bad +eln:Condition\:=Condition\: +eln:End_of_life=End of life +eln:Good=Good +eln:New=New +eln:Nominal_lifetime\:_%sh=Nominal lifetime\: %sh +eln:Technology\:_%s=Technology\: %s +eln:Used=Used +eln: +eln:# ./src/main/java/mods/eln/item/LampSlot.java +eln:Lamp_slot=Lamp slot +eln: +eln:# ./src/main/java/mods/eln/item/OverHeatingProtectionDescriptor.java +eln:Useful_to_prevent_overheating\nof_Batteries=Useful to prevent overheating\nof Batteries +eln: +eln:# ./src/main/java/mods/eln/item/OverVoltageProtectionDescriptor.java +eln:Useful_to_prevent_over-voltage\nof_Batteries=Useful to prevent over-voltage\nof Batteries +eln: +eln:# ./src/main/java/mods/eln/item/SolarTrackerDescriptor.java +eln:Solar_panel_upgrade=Solar panel upgrade +eln: +eln:# ./src/main/java/mods/eln/item/electricalitem/BatteryItem.java +eln: +eln:# ./src/main/java/mods/eln/item/electricalitem/ElectricalLampItem.java +eln:Off=Off +eln:On=On +eln:State\:=State\: +eln:Stored_Energy\:_%sJ_(%s)=Stored Energy\: %sJ (%s) +eln: +eln:# ./src/main/java/mods/eln/item/regulator/RegulatorSlot.java +eln: +eln:# ./src/main/java/mods/eln/misc/UtilsClient.java +eln:Hold_shift=Hold shift +eln: +eln:# ./src/main/java/mods/eln/misc/Version.java +eln:mod.name=Electrical Age +eln: +eln:# ./src/main/java/mods/eln/node/six/SixNodeDescriptor.java +eln: +eln:# ./src/main/java/mods/eln/simplenode/energyconverter/EnergyConverterElnToOtherGui.java +eln:Input_power_is_limited_to_%sW=Input power is limited to %sW +eln: +eln:# ./src/main/java/mods/eln/sixnode/LogicGate.kt +eln:_O\:_= O\: +eln: +eln:# ./src/main/java/mods/eln/sixnode/TreeResinCollector/TreeResinCollectorDescriptor.java +eln:Produces_Tree_Resin_over\ntime_when_put_on_a_tree.=Produces Tree Resin over\ntime when put on a tree. +eln:This_block_can_only_be_placed_on_the_side_of_a_tree!=This block can only be placed on the side of a tree\! +eln: +eln:# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerContainer.java +eln:Battery_slot=Battery slot +eln: +eln:# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerDescriptor.java +eln:Can_be_used_to_recharge\nelectrical_items_like\:\nFlash_Light,_X-Ray_scanner\nand_Portable_Battery_...=Can be used to recharge\nelectrical items like\:\nFlash Light, X-Ray scanner\nand Portable Battery ... +eln: +eln:# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerGui.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/diode/DiodeDescriptor.java +eln:Electrical_current_can_only\nflow_through_the_diode\nfrom_anode_to_cathode=Electrical current can only\nflow through the diode\nfrom anode to cathode +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalalarm/ElectricalAlarmDescriptor.java +eln:= +eln:Emits_an_acoustic_alarm_if\nthe_input_signal_is_high=Emits an acoustic alarm if\nthe input signal is high +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalalarm/ElectricalAlarmGui.java +eln:Sound_is_muted=Sound is muted +eln:Sound_is_not_muted=Sound is not muted +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerContainer.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerDescriptor.java +eln:Protects_electrical_components\nOpens_contact_if\:\n__-_Voltage_exceeds_a_certain_level\n-_Current_exceeds_the_cable_limit=Protects electrical components\nOpens contact if\:\n - Voltage exceeds a certain level\n- Current exceeds the cable limit +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerGui.java +eln:Maximum_voltage_before_cutting_off=Maximum voltage before cutting off +eln:Minimum_voltage_before_cutting_off=Minimum voltage before cutting off +eln:Switch_is_off=Switch is off +eln:Switch_is_on=Switch is on +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalcable/ElectricalCableDescriptor.java +eln:A_signal_is_electrical_information\nwhich_must_be_between_0V_and_%sV=A signal is electrical information\nwhich must be between 0V and %sV +eln:Cable_is_adapted_to_conduct\nelectrical_signals.=Cable is adapted to conduct\nelectrical signals. +eln:Current\:_%sA=Current\: %sA +eln:Not_adapted_to_transport_power.=Not adapted to transport power. +eln:Save_usage\:=Save usage\: +eln:Serial_resistance\:_%sΩ=Serial resistance\: %sΩ +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerDescriptor.java +eln:It_can_store_up_to_256_points.=It can store up to 256 points. +eln:Measures_the_voltage_of_an\nelectrical_signal_and_plots\nthe_data_in_real_time.=Measures the voltage of an\nelectrical signal and plots\nthe data in real time. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerGui.java +eln:Back_to_display=Back to display +eln:Configuration=Configuration +eln:Current_[A]=Current [A] +eln:Energy_[J]=Energy [J] +eln:Percent_[-]%=Percent [-]% +eln:Power_[W]=Power [W] +eln:Print=Print +eln:Sampling_period=Sampling period +eln:Temp._[*C]=Temp. [*C] +eln:Voltage_[V]=Voltage [V] +eln:Y-axis_max=Y-axis max +eln:Y-axis_min=Y-axis min +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorContainer.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorDescriptor.java +eln:Output_voltage_increases\nif_entities_are_moving_around.=Output voltage increases\nif entities are moving around. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalfiredetector/ElectricalFireDetectorDescriptor.java +eln:Output_voltage_increases\nif_a_fire_has_been_detected.=Output voltage increases\nif a fire has been detected. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceDescriptor.java +eln:Provides_configurable_signal\nvoltage.=Provides configurable signal\nvoltage. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceGui.java +eln:Output_at_%s=Output at %s +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricallightsensor/ElectricalLightSensorDescriptor.java +eln:0V_at_night,_%sV_at_noon.=0V at night, %sV at noon. +eln:Provides_an_electrical_voltage\nin_the_presence_of_light.=Provides an electrical voltage\nin the presence of light. +eln:Provides_an_electrical_voltage\nwhich_is_proportional_to\nthe_intensity_of_daylight.=Provides an electrical voltage\nwhich is proportional to\nthe intensity of daylight. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathContainer.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathDescriptor.java +eln:Applicable_boolean_operators\:=Applicable boolean operators\: +eln:Applicable_functions\:=Applicable functions\: +eln:Applicable_mathematical_operators\:=Applicable mathematical operators\: +eln:Calculates_an_output_signal_from\n3_inputs_(A,_B,_C)_using_an_equation.=Calculates an output signal from\n3 inputs (A, B, C) using an equation. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathGui.java +eln:%s_Redstone(s)_required=%s Redstone(s) required +eln:Equation_required!=Equation required\! +eln:Inputs_are=Inputs are +eln:Invalid_equation!=Invalid equation\! +eln:Output_voltage_formula=Output voltage formula +eln:Waiting_for_completion...=Waiting for completion... +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalredstoneinput/ElectricalRedstoneInputDescriptor.java +eln:Converts_Redstone_signal\nto_an_electrical_voltage.=Converts Redstone signal\nto an electrical voltage. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalredstoneoutput/ElectricalRedstoneOutputDescriptor.java +eln:Converts_electrical_voltage\ninto_a_Redstone_signal.=Converts electrical voltage\ninto a Redstone signal. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalrelay/ElectricalRelayDescriptor.java +eln:A_relay_is_an_electrical\ncontact_that_conducts_electric\ncurrent_or_not,_depending\nthe_actual_input_signal_voltage.=A relay is an electrical\ncontact that conducts electric\ncurrent or not, depending\nthe actual input signal voltage. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalrelay/ElectricalRelayGui.java +eln:Normally_closed=Normally closed +eln:Normally_open=Normally open +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalsource/ElectricalSourceDescriptor.java +eln:Creative_block.=Creative block. +eln:Provides_an_ideal_voltage_source\nwithout_energy_or_power_limitation.=Provides an ideal voltage source\nwithout energy or power limitation. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalsource/ElectricalSourceGui.java +eln:Output_voltage=Output voltage +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalswitch/ElectricalSwitchDescriptor.java +eln:Can_break_an_electrical_circuit\ninterrupting_the_current.=Can break an electrical circuit\ninterrupting the current. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricaltimeout/ElectricalTimeoutDescriptor.java +eln:Upon_application_of_a_high_signal,\nthe_timer_maintains_the_output_high_for\na_configurable_interval._Can_be_re-triggered.=Upon application of a high signal,\nthe timer maintains the output high for\na configurable interval. Can be re-triggered. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricaltimeout/ElectricalTimeoutGui.java +eln:Set=Set +eln:The_time_interval_the\noutput_is_kept_high.=The time interval the\noutput is kept high. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalvumeter/ElectricalVuMeterDescriptor.java +eln:Displays_the_value_of_a_signal.=Displays the value of a signal. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalwatch/ElectricalWatchContainer.java +eln:Portable_battery_slot=Portable battery slot +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalweathersensor/ElectricalWeatherSensorDescriptor.java +eln:Clear\:_%sV=Clear\: %sV +eln:Provides_an_electrical_signal\ndepending_the_actual_weather.=Provides an electrical signal\ndepending the actual weather. +eln:Rain\:_%sV=Rain\: %sV +eln:Storm\:_%sV=Storm\: %sV +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalwindsensor/ElectricalWindSensorDescriptor.java +eln:Maximum_wind_speed_is_%sm_s=Maximum wind speed is %sm/s +eln:Provides_an_electrical_signal\ndependant_on_wind_speed.=Provides an electrical signal\ndependant on wind speed. +eln:You_can't_place_this_block_on_the_floor_or_the_ceiling=You can't place this block on the floor or the ceiling +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricasensor/ElectricalSensorDescriptor.java +eln:Can_measure_Voltage_Power_Current=Can measure Voltage/Power/Current +eln:Measures_electrical_values_on_cables.=Measures electrical values on cables. +eln:Measures_voltage_on_cables.=Measures voltage on cables. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricasensor/ElectricalSensorGui.java +eln:Current=Current +eln:Measured_voltage\ncorresponding\nto_0%_output=Measured voltage\ncorresponding\nto 0% output +eln:Measured_voltage\ncorresponding\nto_100%_output=Measured voltage\ncorresponding\nto 100% output +eln:Voltage=Voltage +eln: +eln:# ./src/main/java/mods/eln/sixnode/energymeter/EnergyMeterGui.java +eln:Change_password=Change password +eln:Counter_Mode=Counter Mode +eln:Counts_the_energy_conducted_from\n\u00a74red\u00a7f_to_\u00a71blue\u00a7f.=Counts the energy conducted from\n\\u00a74red\\u00a7f to \\u00a71blue\\u00a7f. +eln:Energy_counter\:_%sJ=Energy counter\: %sJ +eln:Enter_new_energy=Enter new energy +eln:Enter_password=Enter password +eln:Prepay_Mode=Prepay Mode +eln:Reset_time_counter=Reset time counter +eln:Set_energy_counter=Set energy counter +eln:Time_counter\:=Time counter\: +eln:Try_password=Try password +eln:You_can_set_an_initial\namount_of_available_energy.\nWhen_the_counter_arrives_at_0\nthe_contact_will_be_opened.=You can set an initial\namount of available energy.\nWhen the counter arrives at 0\nthe contact will be opened. +eln:is_off=is off +eln:is_on=is on +eln:value_in_kJ=value in kJ +eln: +eln:# ./src/main/java/mods/eln/sixnode/groundcable/GroundCableDescriptor.java +eln:Can_be_used_to_set_a_point_of_an\nelectrical_network_to_0V_potential.\nFor_example_to_ground_negative_battery_contacts.=Can be used to set a point of an\nelectrical network to 0V potential.\nFor example to ground negative battery contacts. +eln:Provides_a_zero_volt_reference.=Provides a zero volt reference. +eln: +eln:# ./src/main/java/mods/eln/sixnode/hub/HubDescriptor.java +eln:Allows_crossing_cables\non_one_single_block.=Allows crossing cables\non one single block. +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketDescriptor.java +eln:Angle\:_%s°_to_%s°=Angle\: %s° to %s° +eln:Spot_range\:_%s_blocks=Spot range\: %s blocks +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketGuiDraw.java +eln:%s_is_not_in_range!=%s is not in range\! +eln:Cable_slot_empty=Cable slot empty +eln:Orientation\:_%s°=Orientation\: %s° +eln:Parallel=Parallel +eln:Powered_by_Lamp_Supply=Powered by Lamp Supply +eln:Powered_by_cable=Powered by cable +eln:Serial=Serial +eln:Specify_the_supply_channel=Specify the supply channel +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyContainer.java +eln:Electrical_cable_slot\nBase_range_is_32_blocks.\nEach_additional_cable\nincreases_range_by_one.=Electrical cable slot\nBase range is 32 blocks.\nEach additional cable\nincreases range by one. +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyDescriptor.java +eln:Supplies_all_lamps_on_the_channel.=Supplies all lamps on the channel. +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyGui.java +eln:Power_channel_name=Power channel name +eln:Wireless_channel_name=Wireless channel name +eln: +eln:# ./src/main/java/mods/eln/sixnode/modbusrtu/ModbusRtuGui.java +eln:Add=Add +eln:Channel_name=Channel name +eln:Modbus_ID=Modbus ID +eln:Modbus_RTU=Modbus RTU +eln:Station_ID=Station ID +eln:Station_name=Station name +eln:Wireless_RX=Wireless RX +eln:Wireless_TX=Wireless TX +eln: +eln:# ./src/main/java/mods/eln/sixnode/powercapacitorsix/PowerCapacitorSixContainer.java +eln:(Increases_maximum_voltage)=(Increases maximum voltage) +eln: +eln:# ./src/main/java/mods/eln/sixnode/powercapacitorsix/PowerCapacitorSixGui.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/powerinductorsix/PowerInductorSixContainer.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/powerinductorsix/PowerInductorSixGui.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/powersocket/PowerSocketDescriptor.java +eln:Supplies_any_device\nplugged_in_with_energy.=Supplies any device\nplugged in with energy. +eln: +eln:# ./src/main/java/mods/eln/sixnode/powersocket/PowerSocketGui.java +eln:Specify_the_device_to_supply_through_this_socket.=Specify the device to supply through this socket. +eln: +eln:# ./src/main/java/mods/eln/sixnode/resistor/ResistorContainer.java +eln:(Sets_resistance)=(Sets resistance) +eln:Coal_dust_slot=Coal dust slot +eln: +eln:# ./src/main/java/mods/eln/sixnode/thermalcable/ThermalCableDescriptor.java +eln:High_parallel_resistance\n_\=>_Low_power_dissipation.=High parallel resistance\n \=> Low power dissipation. +eln:Low_serial_resistance\n_\=>_High_conductivity.=Low serial resistance\n \=> High conductivity. +eln:Parallel_resistance\:_%sK_W=Parallel resistance\: %sK/W +eln:Serial_resistance\:_%sK_W=Serial resistance\: %sK/W +eln: +eln:# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorContainer.java +eln:Cable_slot=Cable slot +eln: +eln:# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorDescriptor.java +eln:Can_measure\:=Can measure\: +eln:Measures_temperature_of_cables.=Measures temperature of cables. +eln:Measures_thermal_values_on_cables.=Measures thermal values on cables. +eln:__Temperature_Power_conducted=Temperature/Power conducted +eln: +eln:# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorGui.java +eln:Measured_temperature\ncorresponding\nto_0%_output=Measured temperature\ncorresponding\nto 0% output +eln:Measured_temperature\ncorresponding\nto_100%_output=Measured temperature\ncorresponding\nto 100% output +eln:Temperature=Temperature +eln: +eln:# ./src/main/java/mods/eln/sixnode/tutorialsign/TutorialSignElement.java +eln:No_text_associated_to_this_beacon=No text associated to this beacon +eln: +eln:# ./src/main/java/mods/eln/sixnode/tutorialsign/TutorialSignGui.java +eln:Set_beacon_name=Set beacon name +eln: +eln:# ./src/main/java/mods/eln/sixnode/wirelesssignal/rx/WirelessSignalRxGui.java +eln: +eln:# ./src/main/java/mods/eln/transparentnode/FuelGenerator.kt +eln:Nominal_power\:_%s_W=Nominal power\: %s W +eln:Nominal_voltage\:_%s_V=Nominal voltage\: %s V +eln:Produces_electricity_using_fuel.=Produces electricity using fuel. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/LargeRheostat.kt +eln:Nom._Resistance\:_%s=Nom. Resistance\: %s +eln: +eln:# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerContainer.java +eln:Drill_slot=Drill slot +eln:Mining_pipe_slot=Mining pipe slot +eln:Ore_scanner_slot=Ore scanner slot +eln: +eln:# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerDescriptor.java +eln:Excavates_on_a_small_radius.\nExtracts_ore_on_a_bigger_radius\:\n10_blocks_radius_after_10_blocks_depth.=Excavates on a small radius.\nExtracts ore on a bigger radius\:\n10 blocks radius after 10 blocks depth. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerGuiDraw.java +eln:Chest_missing_on_the\nback_of_the_auto_miner!=Chest missing on the\nback of the auto miner\! +eln:Halves_speed,_triples_power_draw=Halves speed, triples power draw +eln:Silk_Touch_Off=Silk Touch Off +eln:Silk_Touch_On=Silk Touch On +eln:Silk_touch=Silk touch +eln: +eln:# ./src/main/java/mods/eln/transparentnode/battery/BatteryContainer.java +eln:Overheating_protection=Overheating protection +eln:Overvoltage_protection=Overvoltage protection +eln: +eln:# ./src/main/java/mods/eln/transparentnode/battery/BatteryDescriptor.java +eln:Actual_charge\:_%s=Actual charge\: %s +eln:Energy_capacity\:_%sJ=Energy capacity\: %sJ +eln:_charged_at_%s=charged at %s +eln: +eln:# ./src/main/java/mods/eln/transparentnode/battery/BatteryGuiDraw.java +eln:Charge=Charge +eln:Charged=Charged +eln:Discharge=Discharge +eln:Energy\:=Energy\: +eln:Energy\:_%s=Energy\: %s +eln:Life\:=Life\: +eln:No_charge=No charge +eln:Power_in\:=Power in\: +eln:Power_out\:=Power out\: +eln: +eln:# ./src/main/java/mods/eln/transparentnode/eggincubator/EggIncubatorContainer.java +eln:Egg_slot=Egg slot +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalantennarx/ElectricalAntennaRxDescriptor.java +eln:Wireless_energy_receiver.=Wireless energy receiver. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalantennatx/ElectricalAntennaTxDescriptor.java +eln:Efficiency\:_%s_up_to_%s=Efficiency\: %s up to %s +eln:Wireless_energy_transmitter.=Wireless energy transmitter. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceContainer.java +eln:Heating_corp_slot=Heating corp slot +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceDescriptor.java +eln:Similar_to_a_vanilla_furnace,\nbut_heats_with_electricity.=Similar to a vanilla furnace,\nbut heats with electricity. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceGuiDraw.java +eln:Auto_shutdown=Auto shutdown +eln:Manual_shutdown=Manual shutdown +eln:Set_point\:_%s°C=Set point\: %s°C +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalmachine/ElectricalMachineDescriptor.java +eln:Cost=Cost +eln: +eln:# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceContainer.java +eln:Combustion_chamber_slot=Combustion chamber slot +eln:Fuel_slot=Fuel slot +eln: +eln:# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceDescriptor.java +eln:Generates_heat_when_supplied_with_fuel.=Generates heat when supplied with fuel. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceGuiDraw.java +eln:Control_gauge_at_%s=Control gauge at %s +eln:Decline_fuel=Decline fuel +eln:External_control=External control +eln:Internal_control=Internal control +eln:Take_fuel=Take fuel +eln: +eln:# ./src/main/java/mods/eln/transparentnode/powercapacitor/PowerCapacitorContainer.java +eln:(Increases_maximal_voltage)=(Increases maximal voltage) +eln: +eln:# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelContainer.java +eln:Solar_tracker_slot=Solar tracker slot +eln: +eln:# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelDescriptor.java +eln:Can_be_geared_towards_the_sun.=Can be geared towards the sun. +eln:Max._power\:_%sW=Max. power\: %sW +eln:Max._voltage\:_%sV=Max. voltage\: %sV +eln:Produces_power_from_solar_radiation.=Produces power from solar radiation. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPannelGuiDraw.java +eln:It_is_night=It is night +eln:Solar_panel_angle\:_%s°=Solar panel angle\: %s° +eln:Sun_angle\:_%s°=Sun angle\: %s° +eln: +eln:# ./src/main/java/mods/eln/transparentnode/teleporter/TeleporterGui.java +eln:Destination_transporter=Destination transporter +eln:Power_consumption\:=Power consumption\: +eln:Power_consumption\:_%sW=Power consumption\: %sW +eln:Required_energy\:_%sJ=Required energy\: %sJ +eln:Start=Start +eln:Transporter_name=Transporter name +eln: +eln:# ./src/main/java/mods/eln/transparentnode/thermaldissipatoractive/ThermalDissipatorActiveDescriptor.java +eln:Fan_cooling_power\:_%sW=Fan cooling power\: %sW +eln:Fan_power_consumption\:_%sW=Fan power consumption\: %sW +eln:Fan_voltage\:_%sV=Fan voltage\: %sV +eln: +eln:# ./src/main/java/mods/eln/transparentnode/transformer/TransformerDescriptor.java +eln:The_voltage_ratio_is_proportional\nto_the_cable_stacks_count_ratio.=The voltage ratio is proportional\nto the cable stacks count ratio. +eln:Transforms_an_input_voltage_to\nan_output_voltage.=Transforms an input voltage to\nan output voltage. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/turbine/TurbineDescriptor.java +eln:Generates_electricity_using_heat.=Generates electricity using heat. +eln:Temperature_difference\:_%s°C=Temperature difference\: %s°C +eln: +eln:# ./src/main/java/mods/eln/transparentnode/turret/TurretDescriptor.java +eln:CAUTION\:_Cables_can_get_quite_hot!=CAUTION\: Cables can get quite hot\! +eln:Laser_charge_power\:_%sW...%skW=Laser charge power\: %sW...%skW +eln:Scans_for_entities_and_shoots_if_the\nentity_matches_the_configurable_filter_criteria.=Scans for entities and shoots if the\nentity matches the configurable filter criteria. +eln:Standby_power\:_%sW=Standby power\: %sW +eln: +eln:# ./src/main/java/mods/eln/transparentnode/turret/TurretGui.java +eln:Attack\:=Attack\: +eln:Do_not_attack\:=Do not attack\: +eln:Recharge_power\:=Recharge power\: +eln: +eln:# ./src/main/java/mods/eln/transparentnode/waterturbine/WaterTurbineDescriptor.java +eln:Generates_energy_using_water_stream.=Generates energy using water stream. +eln:No_place_for_water_turbine!=No place for water turbine\! +eln: +eln:# ./src/main/java/mods/eln/transparentnode/windturbine/WindTurbineDescriptor.java +eln:Front\:_%s=Front\: %s +eln:Generates_energy_from_wind.=Generates energy from wind. +eln:Left_Right\:_%s=Left/Right\: %s +eln:Up_Down\:_%s=Up/Down\: %s +eln:Wind_area\:=Wind area\: +eln: +eln:# ./src/main/java/mods/eln/wiki/Data.java +eln:Energy=Energy +eln:Light=Light +eln:Machine=Machine +eln:Ore=Ore +eln:Portable=Portable +eln:Resource=Resource +eln:Signal=Signal +eln:Thermal=Thermal +eln:Upgrade=Upgrade +eln:Utilities=Utilities +eln:Wiring=Wiring +eln: +eln:# ./src/main/java/mods/eln/wiki/Default.java +eln:Previous=Previous +eln: +eln:# ./src/main/java/mods/eln/wiki/ItemDefault.java +eln:Can_be_used_to_craft\:=Can be used to craft\: +eln:Cannot_be_crafted!=Cannot be crafted\! +eln:Cost_%sJ=Cost %sJ +eln:Created_by\:=Created by\: +eln:Is_not_a_crafting_material!=Is not a crafting material\! +eln:Recipe\:=Recipe\: +eln: +eln:# Appearing in multiple source files +eln:(Increases_capacity)=(Increases capacity) +eln:(Increases_inductance)=(Increases inductance) +eln:Actual\:_%s°C=Actual\: %s°C +eln:Biggest=Biggest +eln:Booster_slot=Booster slot +eln:Can_create\:=Can create\: +eln:Capacity\:_%sF=Capacity\: %sF +eln:Charge_power\:_%sW=Charge power\: %sW +eln:Connected=Connected +eln:Cooling_power\:_%sW=Cooling power\: %sW +eln:Copper_cable_slot=Copper cable slot +eln:Dielectric_slot=Dielectric slot +eln:Discharge_power\:_%sW=Discharge power\: %sW +eln:Electrical_cable_slot=Electrical cable slot +eln:Entity_filter_slot=Entity filter slot +eln:Ferromagnetic_core_slot=Ferromagnetic core slot +eln:Has_a_signal_output.=Has a signal output. +eln:Inductance\:_%sH=Inductance\: %sH +eln:Internal_resistance\:_%sΩ=Internal resistance\: %sΩ +eln:Is_off=Is off +eln:Is_on=Is on +eln:Max._temperature\:_%s°C=Max. temperature\: %s°C +eln:Measured_value\ncorresponding\nto_0%_output=Measured value\ncorresponding\nto 0% output +eln:Measured_value\ncorresponding\nto_100%_output=Measured value\ncorresponding\nto 100% output +eln:Nominal\:=Nominal\: +eln:Nominal_power\:_%sW=Nominal power\: %sW +eln:Nominal_usage\:=Nominal usage\: +eln:Nominal_voltage\:_%sV=Nominal voltage\: %sV +eln:Not_connected=Not connected +eln:Not_enough_space_for_this_block=Not enough space for this block +eln:Power=Power +eln:Power\:_%sW=Power\: %sW +eln:Range\:_%s_blocks=Range\: %s blocks +eln:Redstone_slot=Redstone slot +eln:Regulator_slot=Regulator slot +eln:Reset=Reset +eln:Resistance\:_%sΩ=Resistance\: %sΩ +eln:Smallest=Smallest +eln:Specify_the_channel=Specify the channel +eln:Stored_energy\:_%sJ_(%s)=Stored energy\: %sJ (%s) +eln:Temperature\:_%s°C=Temperature\: %s°C +eln:Temperature_gauge=Temperature gauge +eln:Thermal_isolator_slot=Thermal isolator slot +eln:Toggle=Toggle +eln:Toggle_switch=Toggle switch +eln:Toggles_the_output_each_time\nan_emitter's_value_rises.\nUseful_to_allow_multiple_buttons\nto_control_the_same_light.=Toggles the output each time\nan emitter's value rises.\nUseful to allow multiple buttons\nto control the same light. +eln:Used_to_cool_down_turbines.=Used to cool down turbines. +eln:Uses_the_biggest\nvalue_on_the_channel.=Uses the biggest\nvalue on the channel. +eln:Uses_the_smallest\nvalue_on_the_channel.=Uses the smallest\nvalue on the channel. +eln:Validate=Validate +eln:Voltage\:_%sV=Voltage\: %sV +eln:You_can't_place_this_block_at_this_side=You can't place this block at this side diff --git a/src/main/resources/assets/eln/lang/be.lang b/src/main/resources/assets/eln/lang/be.lang index f4e769aa7..92e8a8d93 100644 --- a/src/main/resources/assets/eln/lang/be.lang +++ b/src/main/resources/assets/eln/lang/be.lang @@ -1,829 +1,829 @@ -# - -# ./src/main/java/mods/eln/Achievements.java -Electrical_Age_[WIP]=Electrical Age [WIP] -achievement.craft_50v_macerator=Crushing Novice -achievement.craft_50v_macerator.desc=Craft a 50V Macerator -achievement.open_guide=Wiki Power -achievement.open_guide.desc=Open the wiki guide - -# ./src/main/java/mods/eln/Eln.java -10A_Diode.name=10A Diode -200V_Active_Thermal_Dissipator.name=200V Active Thermal Dissipator -200V_Battery_Charger.name=200V Battery Charger -200V_Compressor.name=200V Compressor -200V_Condensator.name=200V Condensator -200V_Copper_Heating_Corp.name=200V Copper Heating Corp -200V_Economic_Light_Bulb.name=200V Economic Light Bulb -200V_Farming_Lamp.name=200V Farming Lamp -200V_Fuel_Generator.name=200V Fuel Generator -200V_Incandescent_Light_Bulb.name=200V Incandescent Light Bulb -200V_Iron_Heating_Corp.name=200V Iron Heating Corp -200V_LED_Bulb.name=200V LED Bulb -200V_Macerator.name=200V Macerator -200V_Magnetizer.name=200V Magnetizer -200V_Plate_Machine.name=200V Plate Machine -200V_Power_Socket.name=200V Power Socket -200V_Tungsten_Heating_Corp.name=200V Tungsten Heating Corp -200V_Turbine.name=200V Turbine -25A_Diode.name=25A Diode -50V_Battery_Charger.name=50V Battery Charger -50V_Carbon_Incandescent_Light_Bulb.name=50V Carbon Incandescent Light Bulb -50V_Compressor.name=50V Compressor -50V_Condensator.name=50V Condensator -50V_Copper_Heating_Corp.name=50V Copper Heating Corp -50V_Economic_Light_Bulb.name=50V Economic Light Bulb -50V_Egg_Incubator.name=50V Egg Incubator -50V_Farming_Lamp.name=50V Farming Lamp -50V_Fuel_Generator.name=50V Fuel Generator -50V_Incandescent_Light_Bulb.name=50V Incandescent Light Bulb -50V_Iron_Heating_Corp.name=50V Iron Heating Corp -50V_LED_Bulb.name=50V LED Bulb -50V_Macerator.name=50V Macerator -50V_Magnetizer.name=50V Magnetizer -50V_Plate_Machine.name=50V Plate Machine -50V_Power_Socket.name=50V Power Socket -50V_Tungsten_Heating_Corp.name=50V Tungsten Heating Corp -50V_Turbine.name=50V Turbine -800V_Defence_Turret.name=800V Defence Turret -AND_Chip.name=AND Chip -Advanced_Chip.name=Advanced Chip -Advanced_Electrical_Motor.name=Advanced Electrical Motor -Advanced_Energy_Meter.name=Advanced Energy Meter -Advanced_Machine_Block.name=Advanced Machine Block -Advanced_Magnet.name=Advanced Magnet -AllMeter.name=Universal-Meter -Alloy_Dust.name=Alloy Dust -Alloy_Ingot.name=Alloy Ingot -Alloy_Plate.name=Alloy Plate -Analog_Watch.name=Analog watch -Analog_vuMeter.name=Analog Gauge -Analogic_Regulator.name=Analogic Regulator -Animal_Filter.name=Animal Filter -Auto_Miner.name=Auto Miner -Average_Electrical_Drill.name=Average Electrical Drill -Average_Ferromagnetic_Core.name=Average Ferromagnetic Core -Basic_Magnet.name=Basic Magnet -Black_Brush.name=Black Brush -Blue_Brush.name=Blue Brush -Brown_Brush.name=Brown Brush -Capacity_Oriented_Battery.name=Capacity Oriented Battery -Cheap_Chip.name=Cheap Chip -Cheap_Electrical_Drill.name=Cheap Electrical Drill -Cheap_Ferromagnetic_Core.name=Cheap Ferromagnetic Core -Cinnabar_Dust.name=Cinnabar Dust -Cinnabar_Ore.name=Cinnabar Ore -Coal_Dust.name=Coal Dust -Coal_Plate.name=Coal Plate -Combustion_Chamber.name=Combustion Chamber -Copper_Cable.name=Copper Cable -Copper_Dust.name=Copper Dust -Copper_Ingot.name=Copper Ingot -Copper_Ore.name=Copper Ore -Copper_Plate.name=Copper Plate -Copper_Thermal_Cable.name=Copper Thermal Cable -Cost_Oriented_Battery.name=Cost Oriented Battery -Current_Oriented_Battery.name=Current Oriented Battery -Cyan_Brush.name=Cyan Brush -D_Flip_Flop_Chip.name=D Flip Flop Chip -Data_Logger.name=Data Logger -Data_Logger_Print.name=Data Logger Print -Dielectric.name=Dielectric -Digital_Watch.name=Digital Watch -Electrical_Anemometer_Sensor.name=Electrical Anemometer Sensor -Electrical_Breaker.name=Electrical Breaker -Electrical_Daylight_Sensor.name=Electrical Daylight Sensor -Electrical_Entity_Sensor.name=Electrical Entity Sensor -Electrical_Fire_Detector.name=Electrical Fire Detector -Electrical_Furnace.name=Electrical Furnace -Electrical_Light_Sensor.name=Electrical Light Sensor -Electrical_Motor.name=Electrical Motor -Electrical_Probe.name=Electrical Probe -Electrical_Probe_Chip.name=Electrical Probe Chip -Electrical_Source.name=Electrical Source -Electrical_Timer.name=Electrical Timer -Electrical_Weather_Sensor.name=Electrical Weather Sensor -Electrical_age_wrench,\nCan_be_used_to_turn\nsmall_wall_blocks=Electrical age wrench,\nCan be used to turn\nsmall wall blocks -Energy_Meter.name=Energy Meter -Experimental_Transporter.name=Experimental Transporter -Fast_Electrical_Drill.name=Fast Electrical Drill -Ferrite_Ingot.name=Ferrite Ingot -Flat_Lamp_Socket.name=Flat Lamp Socket -Fluorescent_Lamp_Socket.name=Fluorescent Lamp Socket -Generator.name=Generator -Gold_Dust.name=Gold Dust -Gold_Plate.name=Gold Plate -Gray_Brush.name=Gray Brush -Green_Brush.name=Green Brush -Ground_Cable.name=Ground Cable -High_Power_Receiver_Antenna.name=High Power Receiver Antenna -High_Power_Transmitter_Antenna.name=High Power Transmitter Antenna -High_Voltage_Cable.name=High Voltage Cable -High_Voltage_Relay.name=High Voltage Relay -High_Voltage_Switch.name=High Voltage Switch -Hub.name=Hub -Industrial_Data_Logger.name=Industrial Data Logger -Iron_Cable.name=Iron Cable -Iron_Dust.name=Iron Dust -Iron_Plate.name=Iron Plate -JK_Flip_Flop_Chip.name=JK Flip Flop Chip -LED_vuMeter.name=LED vuMeter -Lamp_Socket_A.name=Lamp Socket A -Lamp_Socket_B_Projector.name=Lamp Socket B Projector -Lamp_Supply.name=Lamp Supply -Large_Rheostat.name=Large Rheostat -Lead_Dust.name=Lead Dust -Lead_Ingot.name=Lead Ingot -Lead_Ore.name=Lead Ore -Lead_Plate.name=Lead Plate -Life_Oriented_Battery.name=Life Oriented Battery -Light_Blue_Brush.name=Light Blue Brush -Lime_Brush.name=Lime Brush -Long_Suspended_Lamp_Socket.name=Long Suspended Lamp Socket -Low_Power_Receiver_Antenna.name=Low Power Receiver Antenna -Low_Power_Transmitter_Antenna.name=Low Power Transmitter Antenna -Low_Voltage_Cable.name=Low Voltage Cable -Low_Voltage_Relay.name=Low Voltage Relay -Low_Voltage_Switch.name=Low Voltage Switch -Machine_Block.name=Machine Block -Machine_Booster.name=Machine Booster -Magenta_Brush.name=Magenta Brush -Medium_Power_Receiver_Antenna.name=Medium Power Receiver Antenna -Medium_Power_Transmitter_Antenna.name=Medium Power Transmitter Antenna -Medium_Voltage_Cable.name=Medium Voltage Cable -Medium_Voltage_Relay.name=Medium Voltage Relay -Medium_Voltage_Switch.name=Medium Voltage Switch -Mercury.name=Mercury -Mining_Pipe.name=Mining Pipe -Modbus_RTU.name=Modbus RTU -Modern_Data_Logger.name=Modern Data Logger -Monster_Filter.name=Monster Filter -MultiMeter.name=Multimeter -NAND_Chip.name=NAND Chip -NOR_Chip.name=NOR Chip -NOT_Chip.name=NOT Chip -Nuclear_Alarm.name=Nuclear Alarm -OR_Chip.name=OR Chip -On_OFF_Regulator_10_Percent.name=On/off regulator 10% -On_OFF_Regulator_1_Percent.name=On/off regulator 1% -Optimal_Ferromagnetic_Core.name=Optimal Ferromagnetic Core -Orange_Brush.name=Orange Brush -Ore_Scanner.name=Ore Scanner -Oscillator_Chip.name=Oscillator Chip -Overheating_Protection.name=Overheating Protection -Overvoltage_Protection.name=Overvoltage Protection -PAL_Chip.name=PAL Chip -Pink_Brush.name=Pink Brush -Player_Filter.name=Player Filter -Portable_Battery.name=Portable Battery -Portable_Battery_Pack.name=Portable Battery Pack -Portable_Condensator.name=Portable Condensator -Portable_Condensator_Pack.name=Portable Condensator Pack -Portable_Electrical_Axe.name=Portable Electrical Axe -Portable_Electrical_Mining_Drill.name=Portable Electrical Mining Drill -Power_Capacitor.name=Power Capacitor -Power_Inductor.name=Power Inductor -Power_Resistor.name=Power Resistor -Power_capacitor.name=Power capacitor -Power_inductor.name=Power inductor -Purple_Brush.name=Purple Brush -Red_Brush.name=Red Brush -Redstone-to-Voltage_Converter.name=Redstone-to-Voltage Converter -Rheostat.name=Rheostat -Robust_Lamp_Socket.name=Robust Lamp Socket -Rubber.name=Rubber -Schmitt_Trigger_Chip.name=Schmitt Trigger Chip -Sconce_Lamp_Socket.name=Sconce Lamp Socket -Signal_20H_inductor.name=Signal 20H inductor -Signal_Antenna.name=Signal Antenna -Signal_Button.name=Signal Button -Signal_Cable.name=Signal Cable -Signal_Diode.name=Signal Diode -Signal_Processor.name=Signal Processor -Signal_Relay.name=Signal Relay -Signal_Source.name=Signal Source -Signal_Switch.name=Signal Switch -Signal_Switch_with_LED.name=Signal Switch with LED -Signal_Trimmer.name=Signal Trimmer -Silicon_Dust.name=Silicon Dust -Silicon_Ingot.name=Silicon Ingot -Silicon_Plate.name=Silicon Plate -Silver_Brush.name=Silver Brush -Simple_Lamp_Socket.name=Simple Lamp Socket -Single-use_Battery.name=Single-use Battery -Small_200V_Copper_Heating_Corp.name=Small 200V Copper Heating Corp -Small_200V_Iron_Heating_Corp.name=Small 200V Iron Heating Corp -Small_200V_Tungsten_Heating_Corp.name=Small 200V Tungsten Heating Corp -Small_50V_Carbon_Incandescent_Light_Bulb.name=Small 50V Carbon Incandescent Light Bulb -Small_50V_Copper_Heating_Corp.name=Small 50V Copper Heating Corp -Small_50V_Economic_Light_Bulb.name=Small 50V Economic Light Bulb -Small_50V_Incandescent_Light_Bulb.name=Small 50V Incandescent Light Bulb -Small_50V_Iron_Heating_Corp.name=Small 50V Iron Heating Corp -Small_50V_Tungsten_Heating_Corp.name=Small 50V Tungsten Heating Corp -Small_Active_Thermal_Dissipator.name=Small Active Thermal Dissipator -Small_Flashlight.name=Small Flashlight -Small_Passive_Thermal_Dissipator.name=Small Passive Thermal Dissipator -Small_Rotating_Solar_Panel.name=Small Rotating Solar Panel -Small_Solar_Panel.name=Small Solar Panel -Solar_Tracker.name=Solar Tracker -Standard_Alarm.name=Standard Alarm -Steam_Turbine.name=Steam Turbine -Stone_Heat_Furnace.name=Stone Heat Furnace -Street_Light.name=Streetlight -Suspended_Lamp_Socket.name=Suspended Lamp Socket -Temperature_Probe.name=Temperature Probe -Thermal_Probe.name=Thermal Probe -Thermal_Probe_Chip.name=Thermal Probe Chip -Thermistor.name=Thermistor -ThermoMeter.name=Thermometer -Transformer.name=Transformer -Tree_Resin.name=Tree Resin -Tree_Resin_Collector.name=Tree Resin Collector -Tungsten_Cable.name=Tungsten Cable -Tungsten_Dust.name=Tungsten Dust -Tungsten_Ingot.name=Tungsten Ingot -Tungsten_Ore.name=Tungsten Ore -Tutorial_Sign.name=Tutorial Sign -Very_High_Voltage_Cable.name=Very High Voltage Cable -Very_High_Voltage_Relay.name=Very High Voltage Relay -Very_High_Voltage_Switch.name=Very High Voltage Switch -Voltage-to-Redstone_Converter.name=Voltage-to-Redstone Converter -Voltage_Oriented_Battery.name=Voltage Oriented Battery -Voltage_Probe.name=Voltage Probe -Water_Turbine.name=Water Turbine -Weak_50V_Battery_Charger.name=Weak 50V Battery Charger -White_Brush.name=White Brush -Wind_Turbine.name=Wind Turbine -Wireless_Analyser.name=Wireless Analyzer -Wireless_Button.name=Wireless Button -Wireless_Signal_Receiver.name=Wireless Signal Receiver -Wireless_Signal_Repeater.name=Wireless Signal Repeater -Wireless_Signal_Transmitter.name=Wireless Signal Transmitter -Wireless_Switch.name=Wireless Switch -Wrench.name=Wrench -X-Ray_Scanner.name=X-Ray Scanner -XNOR_Chip.name=XNOR Chip -XOR_Chip.name=XOR Chip -Yellow_Brush.name=Yellow Brush -entity.EAReplicator.name=Replicator -item.Copper Axe.name\=Copper Axe -item.Copper Axe.name\=Copper Axe -item.Copper Axe.name\=Copper Axe -item.Copper Axe.name\=Copper Axe -item.Copper Axe.name\=Copper Axe -item.Copper Axe.name\=Copper Axe -item.Copper Axe.name\=Copper Axe -item.Copper Axe.name\=Copper Axe -item.Copper Axe.name\=Copper Axe -item.E-Coal Boots.name\=E-Coal Boots -item.E-Coal Boots.name\=E-Coal Boots -item.E-Coal Boots.name\=E-Coal Boots -item.E-Coal Boots.name\=E-Coal Boots -itemGroup.Eln=Electrical Age -mod.meta.desc=Electricity in your base\! -tile.eln.ElnProbe.name=Eln Computer Probe -tile.eln.EnergyConverterElnToOtherHVUBlock.name=800V Electrical Age to other energy exporter -tile.eln.EnergyConverterElnToOtherLVUBlock.name=50V Electrical Age to other energy exporter -tile.eln.EnergyConverterElnToOtherMVUBlock.name=200V Electrical Age to other energy exporter - -# ./src/main/java/mods/eln/i18n/I18N.java -You_have_%s_lives_left=You have %s lives left - -# ./src/main/java/mods/eln/item/BrushDescriptor.java -Brush_is_dry=Brush is dry -Can_paint_%s_blocks=Can paint %s blocks - -# ./src/main/java/mods/eln/item/CombustionChamber.java -Upgrade_for_the_Stone_Heat_Furnace.=Upgrade for the Stone Heat Furnace. - -# ./src/main/java/mods/eln/item/ElectricalDrillDescriptor.java -Energy_per_operation\:_%sJ=Energy per operation\: %sJ -Time_per_operation\:_%ss=Time per operation\: %ss - -# ./src/main/java/mods/eln/item/FerromagneticCoreDescriptor.java -Cable_loss_factor\:_%s=Cable loss factor\: %s - -# ./src/main/java/mods/eln/item/HeatingCorpElement.java - -# ./src/main/java/mods/eln/item/LampDescriptor.java -Bad=Bad -Condition\:=Condition\: -End_of_life=End of life -Good=Good -New=New -Nominal_lifetime\:_%sh=Nominal lifetime\: %sh -Technology\:_%s=Technology\: %s -Used=Used - -# ./src/main/java/mods/eln/item/LampSlot.java -Lamp_slot=Lamp slot - -# ./src/main/java/mods/eln/item/OverHeatingProtectionDescriptor.java -Useful_to_prevent_overheating\nof_Batteries=Useful to prevent overheating\nof Batteries - -# ./src/main/java/mods/eln/item/OverVoltageProtectionDescriptor.java -Useful_to_prevent_over-voltage\nof_Batteries=Useful to prevent over-voltage\nof Batteries - -# ./src/main/java/mods/eln/item/SolarTrackerDescriptor.java -Solar_panel_upgrade=Solar panel upgrade - -# ./src/main/java/mods/eln/item/electricalitem/BatteryItem.java - -# ./src/main/java/mods/eln/item/electricalitem/ElectricalLampItem.java -Off=Off -On=On -State\:=State\: -Stored_Energy\:_%sJ_(%s)=Stored Energy\: %sJ (%s) - -# ./src/main/java/mods/eln/item/regulator/RegulatorSlot.java - -# ./src/main/java/mods/eln/misc/UtilsClient.java -Hold_shift=Hold shift - -# ./src/main/java/mods/eln/misc/Version.java -mod.name=Electrical Age - -# ./src/main/java/mods/eln/node/six/SixNodeDescriptor.java - -# ./src/main/java/mods/eln/simplenode/energyconverter/EnergyConverterElnToOtherGui.java -Input_power_is_limited_to_%sW=Input power is limited to %sW - -# ./src/main/java/mods/eln/sixnode/LogicGate.kt -_O\:_= O\: - -# ./src/main/java/mods/eln/sixnode/TreeResinCollector/TreeResinCollectorDescriptor.java -Produces_Tree_Resin_over\ntime_when_put_on_a_tree.=Produces Tree Resin over\ntime when put on a tree. -This_block_can_only_be_placed_on_the_side_of_a_tree!=This block can only be placed on the side of a tree\! - -# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerContainer.java -Battery_slot=Battery slot - -# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerDescriptor.java -Can_be_used_to_recharge\nelectrical_items_like\:\nFlash_Light,_X-Ray_scanner\nand_Portable_Battery_...=Can be used to recharge\nelectrical items like\:\nFlash Light, X-Ray scanner\nand Portable Battery ... - -# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerGui.java - -# ./src/main/java/mods/eln/sixnode/diode/DiodeDescriptor.java -Electrical_current_can_only\nflow_through_the_diode\nfrom_anode_to_cathode=Electrical current can only\nflow through the diode\nfrom anode to cathode - -# ./src/main/java/mods/eln/sixnode/electricalalarm/ElectricalAlarmDescriptor.java -= -Emits_an_acoustic_alarm_if\nthe_input_signal_is_high=Emits an acoustic alarm if\nthe input signal is high - -# ./src/main/java/mods/eln/sixnode/electricalalarm/ElectricalAlarmGui.java -Sound_is_muted=Sound is muted -Sound_is_not_muted=Sound is not muted - -# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerContainer.java - -# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerDescriptor.java -Protects_electrical_components\nOpens_contact_if\:\n__-_Voltage_exceeds_a_certain_level\n-_Current_exceeds_the_cable_limit=Protects electrical components\nOpens contact if\:\n - Voltage exceeds a certain level\n- Current exceeds the cable limit - -# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerGui.java -Maximum_voltage_before_cutting_off=Maximum voltage before cutting off -Minimum_voltage_before_cutting_off=Minimum voltage before cutting off -Switch_is_off=Switch is off -Switch_is_on=Switch is on - -# ./src/main/java/mods/eln/sixnode/electricalcable/ElectricalCableDescriptor.java -A_signal_is_electrical_information\nwhich_must_be_between_0V_and_%sV=A signal is electrical information\nwhich must be between 0V and %sV -Cable_is_adapted_to_conduct\nelectrical_signals.=Cable is adapted to conduct\nelectrical signals. -Current\:_%sA=Current\: %sA -Not_adapted_to_transport_power.=Not adapted to transport power. -Save_usage\:=Save usage\: -Serial_resistance\:_%sΩ=Serial resistance\: %sΩ - -# ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerDescriptor.java -It_can_store_up_to_256_points.=It can store up to 256 points. -Measures_the_voltage_of_an\nelectrical_signal_and_plots\nthe_data_in_real_time.=Measures the voltage of an\nelectrical signal and plots\nthe data in real time. - -# ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerGui.java -Back_to_display=Back to display -Configuration=Configuration -Current_[A]=Current [A] -Energy_[J]=Energy [J] -Percent_[-]%=Percent [-]% -Power_[W]=Power [W] -Print=Print -Sampling_period=Sampling period -Temp._[*C]=Temp. [*C] -Voltage_[V]=Voltage [V] -Y-axis_max=Y-axis max -Y-axis_min=Y-axis min - -# ./src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorContainer.java - -# ./src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorDescriptor.java -Output_voltage_increases\nif_entities_are_moving_around.=Output voltage increases\nif entities are moving around. - -# ./src/main/java/mods/eln/sixnode/electricalfiredetector/ElectricalFireDetectorDescriptor.java -Output_voltage_increases\nif_a_fire_has_been_detected.=Output voltage increases\nif a fire has been detected. - -# ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceDescriptor.java -Provides_configurable_signal\nvoltage.=Provides configurable signal\nvoltage. - -# ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceGui.java -Output_at_%s=Output at %s - -# ./src/main/java/mods/eln/sixnode/electricallightsensor/ElectricalLightSensorDescriptor.java -0V_at_night,_%sV_at_noon.=0V at night, %sV at noon. -Provides_an_electrical_voltage\nin_the_presence_of_light.=Provides an electrical voltage\nin the presence of light. -Provides_an_electrical_voltage\nwhich_is_proportional_to\nthe_intensity_of_daylight.=Provides an electrical voltage\nwhich is proportional to\nthe intensity of daylight. - -# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathContainer.java - -# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathDescriptor.java -Applicable_boolean_operators\:=Applicable boolean operators\: -Applicable_functions\:=Applicable functions\: -Applicable_mathematical_operators\:=Applicable mathematical operators\: -Calculates_an_output_signal_from\n3_inputs_(A,_B,_C)_using_an_equation.=Calculates an output signal from\n3 inputs (A, B, C) using an equation. - -# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathGui.java -%s_Redstone(s)_required=%s Redstone(s) required -Equation_required!=Equation required\! -Inputs_are=Inputs are -Invalid_equation!=Invalid equation\! -Output_voltage_formula=Output voltage formula -Waiting_for_completion...=Waiting for completion... - -# ./src/main/java/mods/eln/sixnode/electricalredstoneinput/ElectricalRedstoneInputDescriptor.java -Converts_Redstone_signal\nto_an_electrical_voltage.=Converts Redstone signal\nto an electrical voltage. - -# ./src/main/java/mods/eln/sixnode/electricalredstoneoutput/ElectricalRedstoneOutputDescriptor.java -Converts_electrical_voltage\ninto_a_Redstone_signal.=Converts electrical voltage\ninto a Redstone signal. - -# ./src/main/java/mods/eln/sixnode/electricalrelay/ElectricalRelayDescriptor.java -A_relay_is_an_electrical\ncontact_that_conducts_electric\ncurrent_or_not,_depending\nthe_actual_input_signal_voltage.=A relay is an electrical\ncontact that conducts electric\ncurrent or not, depending\nthe actual input signal voltage. - -# ./src/main/java/mods/eln/sixnode/electricalrelay/ElectricalRelayGui.java -Normally_closed=Normally closed -Normally_open=Normally open - -# ./src/main/java/mods/eln/sixnode/electricalsource/ElectricalSourceDescriptor.java -Creative_block.=Creative block. -Provides_an_ideal_voltage_source\nwithout_energy_or_power_limitation.=Provides an ideal voltage source\nwithout energy or power limitation. - -# ./src/main/java/mods/eln/sixnode/electricalsource/ElectricalSourceGui.java -Output_voltage=Output voltage - -# ./src/main/java/mods/eln/sixnode/electricalswitch/ElectricalSwitchDescriptor.java -Can_break_an_electrical_circuit\ninterrupting_the_current.=Can break an electrical circuit\ninterrupting the current. - -# ./src/main/java/mods/eln/sixnode/electricaltimeout/ElectricalTimeoutDescriptor.java -Upon_application_of_a_high_signal,\nthe_timer_maintains_the_output_high_for\na_configurable_interval._Can_be_re-triggered.=Upon application of a high signal,\nthe timer maintains the output high for\na configurable interval. Can be re-triggered. - -# ./src/main/java/mods/eln/sixnode/electricaltimeout/ElectricalTimeoutGui.java -Set=Set -The_time_interval_the\noutput_is_kept_high.=The time interval the\noutput is kept high. - -# ./src/main/java/mods/eln/sixnode/electricalvumeter/ElectricalVuMeterDescriptor.java -Displays_the_value_of_a_signal.=Displays the value of a signal. - -# ./src/main/java/mods/eln/sixnode/electricalwatch/ElectricalWatchContainer.java -Portable_battery_slot=Portable battery slot - -# ./src/main/java/mods/eln/sixnode/electricalweathersensor/ElectricalWeatherSensorDescriptor.java -Clear\:_%sV=Clear\: %sV -Provides_an_electrical_signal\ndepending_the_actual_weather.=Provides an electrical signal\ndepending the actual weather. -Rain\:_%sV=Rain\: %sV -Storm\:_%sV=Storm\: %sV - -# ./src/main/java/mods/eln/sixnode/electricalwindsensor/ElectricalWindSensorDescriptor.java -Maximum_wind_speed_is_%sm_s=Maximum wind speed is %sm/s -Provides_an_electrical_signal\ndependant_on_wind_speed.=Provides an electrical signal\ndependant on wind speed. -You_can't_place_this_block_on_the_floor_or_the_ceiling=You can't place this block on the floor or the ceiling - -# ./src/main/java/mods/eln/sixnode/electricasensor/ElectricalSensorDescriptor.java -Can_measure_Voltage_Power_Current=Can measure Voltage/Power/Current -Measures_electrical_values_on_cables.=Measures electrical values on cables. -Measures_voltage_on_cables.=Measures voltage on cables. - -# ./src/main/java/mods/eln/sixnode/electricasensor/ElectricalSensorGui.java -Current=Current -Measured_voltage\ncorresponding\nto_0%_output=Measured voltage\ncorresponding\nto 0% output -Measured_voltage\ncorresponding\nto_100%_output=Measured voltage\ncorresponding\nto 100% output -Voltage=Voltage - -# ./src/main/java/mods/eln/sixnode/energymeter/EnergyMeterGui.java -Change_password=Change password -Counter_Mode=Counter Mode -Counts_the_energy_conducted_from\n\u00a74red\u00a7f_to_\u00a71blue\u00a7f.=Counts the energy conducted from\n\\u00a74red\\u00a7f to \\u00a71blue\\u00a7f. -Energy_counter\:_%sJ=Energy counter\: %sJ -Enter_new_energy=Enter new energy -Enter_password=Enter password -Prepay_Mode=Prepay Mode -Reset_time_counter=Reset time counter -Set_energy_counter=Set energy counter -Time_counter\:=Time counter\: -Try_password=Try password -You_can_set_an_initial\namount_of_available_energy.\nWhen_the_counter_arrives_at_0\nthe_contact_will_be_opened.=You can set an initial\namount of available energy.\nWhen the counter arrives at 0\nthe contact will be opened. -is_off=is off -is_on=is on -value_in_kJ=value in kJ - -# ./src/main/java/mods/eln/sixnode/groundcable/GroundCableDescriptor.java -Can_be_used_to_set_a_point_of_an\nelectrical_network_to_0V_potential.\nFor_example_to_ground_negative_battery_contacts.=Can be used to set a point of an\nelectrical network to 0V potential.\nFor example to ground negative battery contacts. -Provides_a_zero_volt_reference.=Provides a zero volt reference. - -# ./src/main/java/mods/eln/sixnode/hub/HubDescriptor.java -Allows_crossing_cables\non_one_single_block.=Allows crossing cables\non one single block. - -# ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketDescriptor.java -Angle\:_%s°_to_%s°=Angle\: %s° to %s° -Spot_range\:_%s_blocks=Spot range\: %s blocks - -# ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketGuiDraw.java -%s_is_not_in_range!=%s is not in range\! -Cable_slot_empty=Cable slot empty -Orientation\:_%s°=Orientation\: %s° -Parallel=Parallel -Powered_by_Lamp_Supply=Powered by Lamp Supply -Powered_by_cable=Powered by cable -Serial=Serial -Specify_the_supply_channel=Specify the supply channel - -# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyContainer.java -Electrical_cable_slot\nBase_range_is_32_blocks.\nEach_additional_cable\nincreases_range_by_one.=Electrical cable slot\nBase range is 32 blocks.\nEach additional cable\nincreases range by one. - -# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyDescriptor.java -Supplies_all_lamps_on_the_channel.=Supplies all lamps on the channel. - -# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyGui.java -Power_channel_name=Power channel name -Wireless_channel_name=Wireless channel name - -# ./src/main/java/mods/eln/sixnode/modbusrtu/ModbusRtuGui.java -Add=Add -Channel_name=Channel name -Modbus_ID=Modbus ID -Modbus_RTU=Modbus RTU -Station_ID=Station ID -Station_name=Station name -Wireless_RX=Wireless RX -Wireless_TX=Wireless TX - -# ./src/main/java/mods/eln/sixnode/powercapacitorsix/PowerCapacitorSixContainer.java -(Increases_maximum_voltage)=(Increases maximum voltage) - -# ./src/main/java/mods/eln/sixnode/powercapacitorsix/PowerCapacitorSixGui.java - -# ./src/main/java/mods/eln/sixnode/powerinductorsix/PowerInductorSixContainer.java - -# ./src/main/java/mods/eln/sixnode/powerinductorsix/PowerInductorSixGui.java - -# ./src/main/java/mods/eln/sixnode/powersocket/PowerSocketDescriptor.java -Supplies_any_device\nplugged_in_with_energy.=Supplies any device\nplugged in with energy. - -# ./src/main/java/mods/eln/sixnode/powersocket/PowerSocketGui.java -Specify_the_device_to_supply_through_this_socket.=Specify the device to supply through this socket. - -# ./src/main/java/mods/eln/sixnode/resistor/ResistorContainer.java -(Sets_resistance)=(Sets resistance) -Coal_dust_slot=Coal dust slot - -# ./src/main/java/mods/eln/sixnode/thermalcable/ThermalCableDescriptor.java -High_parallel_resistance\n_\=>_Low_power_dissipation.=High parallel resistance\n \=> Low power dissipation. -Low_serial_resistance\n_\=>_High_conductivity.=Low serial resistance\n \=> High conductivity. -Parallel_resistance\:_%sK_W=Parallel resistance\: %sK/W -Serial_resistance\:_%sK_W=Serial resistance\: %sK/W - -# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorContainer.java -Cable_slot=Cable slot - -# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorDescriptor.java -Can_measure\:=Can measure\: -Measures_temperature_of_cables.=Measures temperature of cables. -Measures_thermal_values_on_cables.=Measures thermal values on cables. -__Temperature_Power_conducted=Temperature/Power conducted - -# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorGui.java -Measured_temperature\ncorresponding\nto_0%_output=Measured temperature\ncorresponding\nto 0% output -Measured_temperature\ncorresponding\nto_100%_output=Measured temperature\ncorresponding\nto 100% output -Temperature=Temperature - -# ./src/main/java/mods/eln/sixnode/tutorialsign/TutorialSignElement.java -No_text_associated_to_this_beacon=No text associated to this beacon - -# ./src/main/java/mods/eln/sixnode/tutorialsign/TutorialSignGui.java -Set_beacon_name=Set beacon name - -# ./src/main/java/mods/eln/sixnode/wirelesssignal/rx/WirelessSignalRxGui.java - -# ./src/main/java/mods/eln/transparentnode/FuelGenerator.kt -Nominal_power\:_%s_W=Nominal power\: %s W -Nominal_voltage\:_%s_V=Nominal voltage\: %s V -Produces_electricity_using_fuel.=Produces electricity using fuel. - -# ./src/main/java/mods/eln/transparentnode/LargeRheostat.kt -Nom._Resistance\:_%s=Nom. Resistance\: %s - -# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerContainer.java -Drill_slot=Drill slot -Mining_pipe_slot=Mining pipe slot -Ore_scanner_slot=Ore scanner slot - -# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerDescriptor.java -Excavates_on_a_small_radius.\nExtracts_ore_on_a_bigger_radius\:\n10_blocks_radius_after_10_blocks_depth.=Excavates on a small radius.\nExtracts ore on a bigger radius\:\n10 blocks radius after 10 blocks depth. - -# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerGuiDraw.java -Chest_missing_on_the\nback_of_the_auto_miner!=Chest missing on the\nback of the auto miner\! -Halves_speed,_triples_power_draw=Halves speed, triples power draw -Silk_Touch_Off=Silk Touch Off -Silk_Touch_On=Silk Touch On -Silk_touch=Silk touch - -# ./src/main/java/mods/eln/transparentnode/battery/BatteryContainer.java -Overheating_protection=Overheating protection -Overvoltage_protection=Overvoltage protection - -# ./src/main/java/mods/eln/transparentnode/battery/BatteryDescriptor.java -Actual_charge\:_%s=Actual charge\: %s -Energy_capacity\:_%sJ=Energy capacity\: %sJ -_charged_at_%s=charged at %s - -# ./src/main/java/mods/eln/transparentnode/battery/BatteryGuiDraw.java -Charge=Charge -Charged=Charged -Discharge=Discharge -Energy\:=Energy\: -Energy\:_%s=Energy\: %s -Life\:=Life\: -No_charge=No charge -Power_in\:=Power in\: -Power_out\:=Power out\: - -# ./src/main/java/mods/eln/transparentnode/eggincubator/EggIncubatorContainer.java -Egg_slot=Egg slot - -# ./src/main/java/mods/eln/transparentnode/electricalantennarx/ElectricalAntennaRxDescriptor.java -Wireless_energy_receiver.=Wireless energy receiver. - -# ./src/main/java/mods/eln/transparentnode/electricalantennatx/ElectricalAntennaTxDescriptor.java -Efficiency\:_%s_up_to_%s=Efficiency\: %s up to %s -Wireless_energy_transmitter.=Wireless energy transmitter. - -# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceContainer.java -Heating_corp_slot=Heating corp slot - -# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceDescriptor.java -Similar_to_a_vanilla_furnace,\nbut_heats_with_electricity.=Similar to a vanilla furnace,\nbut heats with electricity. - -# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceGuiDraw.java -Auto_shutdown=Auto shutdown -Manual_shutdown=Manual shutdown -Set_point\:_%s°C=Set point\: %s°C - -# ./src/main/java/mods/eln/transparentnode/electricalmachine/ElectricalMachineDescriptor.java -Cost=Cost - -# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceContainer.java -Combustion_chamber_slot=Combustion chamber slot -Fuel_slot=Fuel slot - -# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceDescriptor.java -Generates_heat_when_supplied_with_fuel.=Generates heat when supplied with fuel. - -# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceGuiDraw.java -Control_gauge_at_%s=Control gauge at %s -Decline_fuel=Decline fuel -External_control=External control -Internal_control=Internal control -Take_fuel=Take fuel - -# ./src/main/java/mods/eln/transparentnode/powercapacitor/PowerCapacitorContainer.java -(Increases_maximal_voltage)=(Increases maximal voltage) - -# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelContainer.java -Solar_tracker_slot=Solar tracker slot - -# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelDescriptor.java -Can_be_geared_towards_the_sun.=Can be geared towards the sun. -Max._power\:_%sW=Max. power\: %sW -Max._voltage\:_%sV=Max. voltage\: %sV -Produces_power_from_solar_radiation.=Produces power from solar radiation. - -# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPannelGuiDraw.java -It_is_night=It is night -Solar_panel_angle\:_%s°=Solar panel angle\: %s° -Sun_angle\:_%s°=Sun angle\: %s° - -# ./src/main/java/mods/eln/transparentnode/teleporter/TeleporterGui.java -Destination_transporter=Destination transporter -Power_consumption\:=Power consumption\: -Power_consumption\:_%sW=Power consumption\: %sW -Required_energy\:_%sJ=Required energy\: %sJ -Start=Start -Transporter_name=Transporter name - -# ./src/main/java/mods/eln/transparentnode/thermaldissipatoractive/ThermalDissipatorActiveDescriptor.java -Fan_cooling_power\:_%sW=Fan cooling power\: %sW -Fan_power_consumption\:_%sW=Fan power consumption\: %sW -Fan_voltage\:_%sV=Fan voltage\: %sV - -# ./src/main/java/mods/eln/transparentnode/transformer/TransformerDescriptor.java -The_voltage_ratio_is_proportional\nto_the_cable_stacks_count_ratio.=The voltage ratio is proportional\nto the cable stacks count ratio. -Transforms_an_input_voltage_to\nan_output_voltage.=Transforms an input voltage to\nan output voltage. - -# ./src/main/java/mods/eln/transparentnode/turbine/TurbineDescriptor.java -Generates_electricity_using_heat.=Generates electricity using heat. -Temperature_difference\:_%s°C=Temperature difference\: %s°C - -# ./src/main/java/mods/eln/transparentnode/turret/TurretDescriptor.java -CAUTION\:_Cables_can_get_quite_hot!=CAUTION\: Cables can get quite hot\! -Laser_charge_power\:_%sW...%skW=Laser charge power\: %sW...%skW -Scans_for_entities_and_shoots_if_the\nentity_matches_the_configurable_filter_criteria.=Scans for entities and shoots if the\nentity matches the configurable filter criteria. -Standby_power\:_%sW=Standby power\: %sW - -# ./src/main/java/mods/eln/transparentnode/turret/TurretGui.java -Attack\:=Attack\: -Do_not_attack\:=Do not attack\: -Recharge_power\:=Recharge power\: - -# ./src/main/java/mods/eln/transparentnode/waterturbine/WaterTurbineDescriptor.java -Generates_energy_using_water_stream.=Generates energy using water stream. -No_place_for_water_turbine!=No place for water turbine\! - -# ./src/main/java/mods/eln/transparentnode/windturbine/WindTurbineDescriptor.java -Front\:_%s=Front\: %s -Generates_energy_from_wind.=Generates energy from wind. -Left_Right\:_%s=Left/Right\: %s -Up_Down\:_%s=Up/Down\: %s -Wind_area\:=Wind area\: - -# ./src/main/java/mods/eln/wiki/Data.java -Energy=Energy -Light=Light -Machine=Machine -Ore=Ore -Portable=Portable -Resource=Resource -Signal=Signal -Thermal=Thermal -Upgrade=Upgrade -Utilities=Utilities -Wiring=Wiring - -# ./src/main/java/mods/eln/wiki/Default.java -Previous=Previous - -# ./src/main/java/mods/eln/wiki/ItemDefault.java -Can_be_used_to_craft\:=Can be used to craft\: -Cannot_be_crafted!=Cannot be crafted\! -Cost_%sJ=Cost %sJ -Created_by\:=Created by\: -Is_not_a_crafting_material!=Is not a crafting material\! -Recipe\:=Recipe\: - -# Appearing in multiple source files -(Increases_capacity)=(Increases capacity) -(Increases_inductance)=(Increases inductance) -Actual\:_%s°C=Actual\: %s°C -Biggest=Biggest -Booster_slot=Booster slot -Can_create\:=Can create\: -Capacity\:_%sF=Capacity\: %sF -Charge_power\:_%sW=Charge power\: %sW -Connected=Connected -Cooling_power\:_%sW=Cooling power\: %sW -Copper_cable_slot=Copper cable slot -Dielectric_slot=Dielectric slot -Discharge_power\:_%sW=Discharge power\: %sW -Electrical_cable_slot=Electrical cable slot -Entity_filter_slot=Entity filter slot -Ferromagnetic_core_slot=Ferromagnetic core slot -Has_a_signal_output.=Has a signal output. -Inductance\:_%sH=Inductance\: %sH -Internal_resistance\:_%sΩ=Internal resistance\: %sΩ -Is_off=Is off -Is_on=Is on -Max._temperature\:_%s°C=Max. temperature\: %s°C -Measured_value\ncorresponding\nto_0%_output=Measured value\ncorresponding\nto 0% output -Measured_value\ncorresponding\nto_100%_output=Measured value\ncorresponding\nto 100% output -Nominal\:=Nominal\: -Nominal_power\:_%sW=Nominal power\: %sW -Nominal_usage\:=Nominal usage\: -Nominal_voltage\:_%sV=Nominal voltage\: %sV -Not_connected=Not connected -Not_enough_space_for_this_block=Not enough space for this block -Power=Power -Power\:_%sW=Power\: %sW -Range\:_%s_blocks=Range\: %s blocks -Redstone_slot=Redstone slot -Regulator_slot=Regulator slot -Reset=Reset -Resistance\:_%sΩ=Resistance\: %sΩ -Smallest=Smallest -Specify_the_channel=Specify the channel -Stored_energy\:_%sJ_(%s)=Stored energy\: %sJ (%s) -Temperature\:_%s°C=Temperature\: %s°C -Temperature_gauge=Temperature gauge -Thermal_isolator_slot=Thermal isolator slot -Toggle=Toggle -Toggle_switch=Toggle switch -Toggles_the_output_each_time\nan_emitter's_value_rises.\nUseful_to_allow_multiple_buttons\nto_control_the_same_light.=Toggles the output each time\nan emitter's value rises.\nUseful to allow multiple buttons\nto control the same light. -Used_to_cool_down_turbines.=Used to cool down turbines. -Uses_the_biggest\nvalue_on_the_channel.=Uses the biggest\nvalue on the channel. -Uses_the_smallest\nvalue_on_the_channel.=Uses the smallest\nvalue on the channel. -Validate=Validate -Voltage\:_%sV=Voltage\: %sV -You_can't_place_this_block_at_this_side=You can't place this block at this side +eln:# +eln: +eln:# ./src/main/java/mods/eln/Achievements.java +eln:Electrical_Age_[WIP]=Electrical Age [WIP] +eln:achievement.craft_50v_macerator=Crushing Novice +eln:achievement.craft_50v_macerator.desc=Craft a 50V Macerator +eln:achievement.open_guide=Wiki Power +eln:achievement.open_guide.desc=Open the wiki guide +eln: +eln:# ./src/main/java/mods/eln/Eln.java +eln:10A_Diode.name=10A Diode +eln:200V_Active_Thermal_Dissipator.name=200V Active Thermal Dissipator +eln:200V_Battery_Charger.name=200V Battery Charger +eln:200V_Compressor.name=200V Compressor +eln:200V_Condensator.name=200V Condensator +eln:200V_Copper_Heating_Corp.name=200V Copper Heating Corp +eln:200V_Economic_Light_Bulb.name=200V Economic Light Bulb +eln:200V_Farming_Lamp.name=200V Farming Lamp +eln:200V_Fuel_Generator.name=200V Fuel Generator +eln:200V_Incandescent_Light_Bulb.name=200V Incandescent Light Bulb +eln:200V_Iron_Heating_Corp.name=200V Iron Heating Corp +eln:200V_LED_Bulb.name=200V LED Bulb +eln:200V_Macerator.name=200V Macerator +eln:200V_Magnetizer.name=200V Magnetizer +eln:200V_Plate_Machine.name=200V Plate Machine +eln:200V_Power_Socket.name=200V Power Socket +eln:200V_Tungsten_Heating_Corp.name=200V Tungsten Heating Corp +eln:200V_Turbine.name=200V Turbine +eln:25A_Diode.name=25A Diode +eln:50V_Battery_Charger.name=50V Battery Charger +eln:50V_Carbon_Incandescent_Light_Bulb.name=50V Carbon Incandescent Light Bulb +eln:50V_Compressor.name=50V Compressor +eln:50V_Condensator.name=50V Condensator +eln:50V_Copper_Heating_Corp.name=50V Copper Heating Corp +eln:50V_Economic_Light_Bulb.name=50V Economic Light Bulb +eln:50V_Egg_Incubator.name=50V Egg Incubator +eln:50V_Farming_Lamp.name=50V Farming Lamp +eln:50V_Fuel_Generator.name=50V Fuel Generator +eln:50V_Incandescent_Light_Bulb.name=50V Incandescent Light Bulb +eln:50V_Iron_Heating_Corp.name=50V Iron Heating Corp +eln:50V_LED_Bulb.name=50V LED Bulb +eln:50V_Macerator.name=50V Macerator +eln:50V_Magnetizer.name=50V Magnetizer +eln:50V_Plate_Machine.name=50V Plate Machine +eln:50V_Power_Socket.name=50V Power Socket +eln:50V_Tungsten_Heating_Corp.name=50V Tungsten Heating Corp +eln:50V_Turbine.name=50V Turbine +eln:800V_Defence_Turret.name=800V Defence Turret +eln:AND_Chip.name=AND Chip +eln:Advanced_Chip.name=Advanced Chip +eln:Advanced_Electrical_Motor.name=Advanced Electrical Motor +eln:Advanced_Energy_Meter.name=Advanced Energy Meter +eln:Advanced_Machine_Block.name=Advanced Machine Block +eln:Advanced_Magnet.name=Advanced Magnet +eln:AllMeter.name=Universal-Meter +eln:Alloy_Dust.name=Alloy Dust +eln:Alloy_Ingot.name=Alloy Ingot +eln:Alloy_Plate.name=Alloy Plate +eln:Analog_Watch.name=Analog watch +eln:Analog_vuMeter.name=Analog Gauge +eln:Analogic_Regulator.name=Analogic Regulator +eln:Animal_Filter.name=Animal Filter +eln:Auto_Miner.name=Auto Miner +eln:Average_Electrical_Drill.name=Average Electrical Drill +eln:Average_Ferromagnetic_Core.name=Average Ferromagnetic Core +eln:Basic_Magnet.name=Basic Magnet +eln:Black_Brush.name=Black Brush +eln:Blue_Brush.name=Blue Brush +eln:Brown_Brush.name=Brown Brush +eln:Capacity_Oriented_Battery.name=Capacity Oriented Battery +eln:Cheap_Chip.name=Cheap Chip +eln:Cheap_Electrical_Drill.name=Cheap Electrical Drill +eln:Cheap_Ferromagnetic_Core.name=Cheap Ferromagnetic Core +eln:Cinnabar_Dust.name=Cinnabar Dust +eln:Cinnabar_Ore.name=Cinnabar Ore +eln:Coal_Dust.name=Coal Dust +eln:Coal_Plate.name=Coal Plate +eln:Combustion_Chamber.name=Combustion Chamber +eln:Copper_Cable.name=Copper Cable +eln:Copper_Dust.name=Copper Dust +eln:Copper_Ingot.name=Copper Ingot +eln:Copper_Ore.name=Copper Ore +eln:Copper_Plate.name=Copper Plate +eln:Copper_Thermal_Cable.name=Copper Thermal Cable +eln:Cost_Oriented_Battery.name=Cost Oriented Battery +eln:Current_Oriented_Battery.name=Current Oriented Battery +eln:Cyan_Brush.name=Cyan Brush +eln:D_Flip_Flop_Chip.name=D Flip Flop Chip +eln:Data_Logger.name=Data Logger +eln:Data_Logger_Print.name=Data Logger Print +eln:Dielectric.name=Dielectric +eln:Digital_Watch.name=Digital Watch +eln:Electrical_Anemometer_Sensor.name=Electrical Anemometer Sensor +eln:Electrical_Breaker.name=Electrical Breaker +eln:Electrical_Daylight_Sensor.name=Electrical Daylight Sensor +eln:Electrical_Entity_Sensor.name=Electrical Entity Sensor +eln:Electrical_Fire_Detector.name=Electrical Fire Detector +eln:Electrical_Furnace.name=Electrical Furnace +eln:Electrical_Light_Sensor.name=Electrical Light Sensor +eln:Electrical_Motor.name=Electrical Motor +eln:Electrical_Probe.name=Electrical Probe +eln:Electrical_Probe_Chip.name=Electrical Probe Chip +eln:Electrical_Source.name=Electrical Source +eln:Electrical_Timer.name=Electrical Timer +eln:Electrical_Weather_Sensor.name=Electrical Weather Sensor +eln:Electrical_age_wrench,\nCan_be_used_to_turn\nsmall_wall_blocks=Electrical age wrench,\nCan be used to turn\nsmall wall blocks +eln:Energy_Meter.name=Energy Meter +eln:Experimental_Transporter.name=Experimental Transporter +eln:Fast_Electrical_Drill.name=Fast Electrical Drill +eln:Ferrite_Ingot.name=Ferrite Ingot +eln:Flat_Lamp_Socket.name=Flat Lamp Socket +eln:Fluorescent_Lamp_Socket.name=Fluorescent Lamp Socket +eln:Generator.name=Generator +eln:Gold_Dust.name=Gold Dust +eln:Gold_Plate.name=Gold Plate +eln:Gray_Brush.name=Gray Brush +eln:Green_Brush.name=Green Brush +eln:Ground_Cable.name=Ground Cable +eln:High_Power_Receiver_Antenna.name=High Power Receiver Antenna +eln:High_Power_Transmitter_Antenna.name=High Power Transmitter Antenna +eln:High_Voltage_Cable.name=High Voltage Cable +eln:High_Voltage_Relay.name=High Voltage Relay +eln:High_Voltage_Switch.name=High Voltage Switch +eln:Hub.name=Hub +eln:Industrial_Data_Logger.name=Industrial Data Logger +eln:Iron_Cable.name=Iron Cable +eln:Iron_Dust.name=Iron Dust +eln:Iron_Plate.name=Iron Plate +eln:JK_Flip_Flop_Chip.name=JK Flip Flop Chip +eln:LED_vuMeter.name=LED vuMeter +eln:Lamp_Socket_A.name=Lamp Socket A +eln:Lamp_Socket_B_Projector.name=Lamp Socket B Projector +eln:Lamp_Supply.name=Lamp Supply +eln:Large_Rheostat.name=Large Rheostat +eln:Lead_Dust.name=Lead Dust +eln:Lead_Ingot.name=Lead Ingot +eln:Lead_Ore.name=Lead Ore +eln:Lead_Plate.name=Lead Plate +eln:Life_Oriented_Battery.name=Life Oriented Battery +eln:Light_Blue_Brush.name=Light Blue Brush +eln:Lime_Brush.name=Lime Brush +eln:Long_Suspended_Lamp_Socket.name=Long Suspended Lamp Socket +eln:Low_Power_Receiver_Antenna.name=Low Power Receiver Antenna +eln:Low_Power_Transmitter_Antenna.name=Low Power Transmitter Antenna +eln:Low_Voltage_Cable.name=Low Voltage Cable +eln:Low_Voltage_Relay.name=Low Voltage Relay +eln:Low_Voltage_Switch.name=Low Voltage Switch +eln:Machine_Block.name=Machine Block +eln:Machine_Booster.name=Machine Booster +eln:Magenta_Brush.name=Magenta Brush +eln:Medium_Power_Receiver_Antenna.name=Medium Power Receiver Antenna +eln:Medium_Power_Transmitter_Antenna.name=Medium Power Transmitter Antenna +eln:Medium_Voltage_Cable.name=Medium Voltage Cable +eln:Medium_Voltage_Relay.name=Medium Voltage Relay +eln:Medium_Voltage_Switch.name=Medium Voltage Switch +eln:Mercury.name=Mercury +eln:Mining_Pipe.name=Mining Pipe +eln:Modbus_RTU.name=Modbus RTU +eln:Modern_Data_Logger.name=Modern Data Logger +eln:Monster_Filter.name=Monster Filter +eln:MultiMeter.name=Multimeter +eln:NAND_Chip.name=NAND Chip +eln:NOR_Chip.name=NOR Chip +eln:NOT_Chip.name=NOT Chip +eln:Nuclear_Alarm.name=Nuclear Alarm +eln:OR_Chip.name=OR Chip +eln:On_OFF_Regulator_10_Percent.name=On/off regulator 10% +eln:On_OFF_Regulator_1_Percent.name=On/off regulator 1% +eln:Optimal_Ferromagnetic_Core.name=Optimal Ferromagnetic Core +eln:Orange_Brush.name=Orange Brush +eln:Ore_Scanner.name=Ore Scanner +eln:Oscillator_Chip.name=Oscillator Chip +eln:Overheating_Protection.name=Overheating Protection +eln:Overvoltage_Protection.name=Overvoltage Protection +eln:PAL_Chip.name=PAL Chip +eln:Pink_Brush.name=Pink Brush +eln:Player_Filter.name=Player Filter +eln:Portable_Battery.name=Portable Battery +eln:Portable_Battery_Pack.name=Portable Battery Pack +eln:Portable_Condensator.name=Portable Condensator +eln:Portable_Condensator_Pack.name=Portable Condensator Pack +eln:Portable_Electrical_Axe.name=Portable Electrical Axe +eln:Portable_Electrical_Mining_Drill.name=Portable Electrical Mining Drill +eln:Power_Capacitor.name=Power Capacitor +eln:Power_Inductor.name=Power Inductor +eln:Power_Resistor.name=Power Resistor +eln:Power_capacitor.name=Power capacitor +eln:Power_inductor.name=Power inductor +eln:Purple_Brush.name=Purple Brush +eln:Red_Brush.name=Red Brush +eln:Redstone-to-Voltage_Converter.name=Redstone-to-Voltage Converter +eln:Rheostat.name=Rheostat +eln:Robust_Lamp_Socket.name=Robust Lamp Socket +eln:Rubber.name=Rubber +eln:Schmitt_Trigger_Chip.name=Schmitt Trigger Chip +eln:Sconce_Lamp_Socket.name=Sconce Lamp Socket +eln:Signal_20H_inductor.name=Signal 20H inductor +eln:Signal_Antenna.name=Signal Antenna +eln:Signal_Button.name=Signal Button +eln:Signal_Cable.name=Signal Cable +eln:Signal_Diode.name=Signal Diode +eln:Signal_Processor.name=Signal Processor +eln:Signal_Relay.name=Signal Relay +eln:Signal_Source.name=Signal Source +eln:Signal_Switch.name=Signal Switch +eln:Signal_Switch_with_LED.name=Signal Switch with LED +eln:Signal_Trimmer.name=Signal Trimmer +eln:Silicon_Dust.name=Silicon Dust +eln:Silicon_Ingot.name=Silicon Ingot +eln:Silicon_Plate.name=Silicon Plate +eln:Silver_Brush.name=Silver Brush +eln:Simple_Lamp_Socket.name=Simple Lamp Socket +eln:Single-use_Battery.name=Single-use Battery +eln:Small_200V_Copper_Heating_Corp.name=Small 200V Copper Heating Corp +eln:Small_200V_Iron_Heating_Corp.name=Small 200V Iron Heating Corp +eln:Small_200V_Tungsten_Heating_Corp.name=Small 200V Tungsten Heating Corp +eln:Small_50V_Carbon_Incandescent_Light_Bulb.name=Small 50V Carbon Incandescent Light Bulb +eln:Small_50V_Copper_Heating_Corp.name=Small 50V Copper Heating Corp +eln:Small_50V_Economic_Light_Bulb.name=Small 50V Economic Light Bulb +eln:Small_50V_Incandescent_Light_Bulb.name=Small 50V Incandescent Light Bulb +eln:Small_50V_Iron_Heating_Corp.name=Small 50V Iron Heating Corp +eln:Small_50V_Tungsten_Heating_Corp.name=Small 50V Tungsten Heating Corp +eln:Small_Active_Thermal_Dissipator.name=Small Active Thermal Dissipator +eln:Small_Flashlight.name=Small Flashlight +eln:Small_Passive_Thermal_Dissipator.name=Small Passive Thermal Dissipator +eln:Small_Rotating_Solar_Panel.name=Small Rotating Solar Panel +eln:Small_Solar_Panel.name=Small Solar Panel +eln:Solar_Tracker.name=Solar Tracker +eln:Standard_Alarm.name=Standard Alarm +eln:Steam_Turbine.name=Steam Turbine +eln:Stone_Heat_Furnace.name=Stone Heat Furnace +eln:Street_Light.name=Streetlight +eln:Suspended_Lamp_Socket.name=Suspended Lamp Socket +eln:Temperature_Probe.name=Temperature Probe +eln:Thermal_Probe.name=Thermal Probe +eln:Thermal_Probe_Chip.name=Thermal Probe Chip +eln:Thermistor.name=Thermistor +eln:ThermoMeter.name=Thermometer +eln:Transformer.name=Transformer +eln:Tree_Resin.name=Tree Resin +eln:Tree_Resin_Collector.name=Tree Resin Collector +eln:Tungsten_Cable.name=Tungsten Cable +eln:Tungsten_Dust.name=Tungsten Dust +eln:Tungsten_Ingot.name=Tungsten Ingot +eln:Tungsten_Ore.name=Tungsten Ore +eln:Tutorial_Sign.name=Tutorial Sign +eln:Very_High_Voltage_Cable.name=Very High Voltage Cable +eln:Very_High_Voltage_Relay.name=Very High Voltage Relay +eln:Very_High_Voltage_Switch.name=Very High Voltage Switch +eln:Voltage-to-Redstone_Converter.name=Voltage-to-Redstone Converter +eln:Voltage_Oriented_Battery.name=Voltage Oriented Battery +eln:Voltage_Probe.name=Voltage Probe +eln:Water_Turbine.name=Water Turbine +eln:Weak_50V_Battery_Charger.name=Weak 50V Battery Charger +eln:White_Brush.name=White Brush +eln:Wind_Turbine.name=Wind Turbine +eln:Wireless_Analyser.name=Wireless Analyzer +eln:Wireless_Button.name=Wireless Button +eln:Wireless_Signal_Receiver.name=Wireless Signal Receiver +eln:Wireless_Signal_Repeater.name=Wireless Signal Repeater +eln:Wireless_Signal_Transmitter.name=Wireless Signal Transmitter +eln:Wireless_Switch.name=Wireless Switch +eln:Wrench.name=Wrench +eln:X-Ray_Scanner.name=X-Ray Scanner +eln:XNOR_Chip.name=XNOR Chip +eln:XOR_Chip.name=XOR Chip +eln:Yellow_Brush.name=Yellow Brush +eln:entity.EAReplicator.name=Replicator +eln:item.Copper Axe.name\=Copper Axe +eln:item.Copper Axe.name\=Copper Axe +eln:item.Copper Axe.name\=Copper Axe +eln:item.Copper Axe.name\=Copper Axe +eln:item.Copper Axe.name\=Copper Axe +eln:item.Copper Axe.name\=Copper Axe +eln:item.Copper Axe.name\=Copper Axe +eln:item.Copper Axe.name\=Copper Axe +eln:item.Copper Axe.name\=Copper Axe +eln:item.E-Coal Boots.name\=E-Coal Boots +eln:item.E-Coal Boots.name\=E-Coal Boots +eln:item.E-Coal Boots.name\=E-Coal Boots +eln:item.E-Coal Boots.name\=E-Coal Boots +eln:itemGroup.Eln=Electrical Age +eln:mod.meta.desc=Electricity in your base\! +eln:tile.eln.ElnProbe.name=Eln Computer Probe +eln:tile.eln.EnergyConverterElnToOtherHVUBlock.name=800V Electrical Age to other energy exporter +eln:tile.eln.EnergyConverterElnToOtherLVUBlock.name=50V Electrical Age to other energy exporter +eln:tile.eln.EnergyConverterElnToOtherMVUBlock.name=200V Electrical Age to other energy exporter +eln: +eln:# ./src/main/java/mods/eln/i18n/I18N.java +eln:You_have_%s_lives_left=You have %s lives left +eln: +eln:# ./src/main/java/mods/eln/item/BrushDescriptor.java +eln:Brush_is_dry=Brush is dry +eln:Can_paint_%s_blocks=Can paint %s blocks +eln: +eln:# ./src/main/java/mods/eln/item/CombustionChamber.java +eln:Upgrade_for_the_Stone_Heat_Furnace.=Upgrade for the Stone Heat Furnace. +eln: +eln:# ./src/main/java/mods/eln/item/ElectricalDrillDescriptor.java +eln:Energy_per_operation\:_%sJ=Energy per operation\: %sJ +eln:Time_per_operation\:_%ss=Time per operation\: %ss +eln: +eln:# ./src/main/java/mods/eln/item/FerromagneticCoreDescriptor.java +eln:Cable_loss_factor\:_%s=Cable loss factor\: %s +eln: +eln:# ./src/main/java/mods/eln/item/HeatingCorpElement.java +eln: +eln:# ./src/main/java/mods/eln/item/LampDescriptor.java +eln:Bad=Bad +eln:Condition\:=Condition\: +eln:End_of_life=End of life +eln:Good=Good +eln:New=New +eln:Nominal_lifetime\:_%sh=Nominal lifetime\: %sh +eln:Technology\:_%s=Technology\: %s +eln:Used=Used +eln: +eln:# ./src/main/java/mods/eln/item/LampSlot.java +eln:Lamp_slot=Lamp slot +eln: +eln:# ./src/main/java/mods/eln/item/OverHeatingProtectionDescriptor.java +eln:Useful_to_prevent_overheating\nof_Batteries=Useful to prevent overheating\nof Batteries +eln: +eln:# ./src/main/java/mods/eln/item/OverVoltageProtectionDescriptor.java +eln:Useful_to_prevent_over-voltage\nof_Batteries=Useful to prevent over-voltage\nof Batteries +eln: +eln:# ./src/main/java/mods/eln/item/SolarTrackerDescriptor.java +eln:Solar_panel_upgrade=Solar panel upgrade +eln: +eln:# ./src/main/java/mods/eln/item/electricalitem/BatteryItem.java +eln: +eln:# ./src/main/java/mods/eln/item/electricalitem/ElectricalLampItem.java +eln:Off=Off +eln:On=On +eln:State\:=State\: +eln:Stored_Energy\:_%sJ_(%s)=Stored Energy\: %sJ (%s) +eln: +eln:# ./src/main/java/mods/eln/item/regulator/RegulatorSlot.java +eln: +eln:# ./src/main/java/mods/eln/misc/UtilsClient.java +eln:Hold_shift=Hold shift +eln: +eln:# ./src/main/java/mods/eln/misc/Version.java +eln:mod.name=Electrical Age +eln: +eln:# ./src/main/java/mods/eln/node/six/SixNodeDescriptor.java +eln: +eln:# ./src/main/java/mods/eln/simplenode/energyconverter/EnergyConverterElnToOtherGui.java +eln:Input_power_is_limited_to_%sW=Input power is limited to %sW +eln: +eln:# ./src/main/java/mods/eln/sixnode/LogicGate.kt +eln:_O\:_= O\: +eln: +eln:# ./src/main/java/mods/eln/sixnode/TreeResinCollector/TreeResinCollectorDescriptor.java +eln:Produces_Tree_Resin_over\ntime_when_put_on_a_tree.=Produces Tree Resin over\ntime when put on a tree. +eln:This_block_can_only_be_placed_on_the_side_of_a_tree!=This block can only be placed on the side of a tree\! +eln: +eln:# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerContainer.java +eln:Battery_slot=Battery slot +eln: +eln:# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerDescriptor.java +eln:Can_be_used_to_recharge\nelectrical_items_like\:\nFlash_Light,_X-Ray_scanner\nand_Portable_Battery_...=Can be used to recharge\nelectrical items like\:\nFlash Light, X-Ray scanner\nand Portable Battery ... +eln: +eln:# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerGui.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/diode/DiodeDescriptor.java +eln:Electrical_current_can_only\nflow_through_the_diode\nfrom_anode_to_cathode=Electrical current can only\nflow through the diode\nfrom anode to cathode +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalalarm/ElectricalAlarmDescriptor.java +eln:= +eln:Emits_an_acoustic_alarm_if\nthe_input_signal_is_high=Emits an acoustic alarm if\nthe input signal is high +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalalarm/ElectricalAlarmGui.java +eln:Sound_is_muted=Sound is muted +eln:Sound_is_not_muted=Sound is not muted +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerContainer.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerDescriptor.java +eln:Protects_electrical_components\nOpens_contact_if\:\n__-_Voltage_exceeds_a_certain_level\n-_Current_exceeds_the_cable_limit=Protects electrical components\nOpens contact if\:\n - Voltage exceeds a certain level\n- Current exceeds the cable limit +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerGui.java +eln:Maximum_voltage_before_cutting_off=Maximum voltage before cutting off +eln:Minimum_voltage_before_cutting_off=Minimum voltage before cutting off +eln:Switch_is_off=Switch is off +eln:Switch_is_on=Switch is on +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalcable/ElectricalCableDescriptor.java +eln:A_signal_is_electrical_information\nwhich_must_be_between_0V_and_%sV=A signal is electrical information\nwhich must be between 0V and %sV +eln:Cable_is_adapted_to_conduct\nelectrical_signals.=Cable is adapted to conduct\nelectrical signals. +eln:Current\:_%sA=Current\: %sA +eln:Not_adapted_to_transport_power.=Not adapted to transport power. +eln:Save_usage\:=Save usage\: +eln:Serial_resistance\:_%sΩ=Serial resistance\: %sΩ +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerDescriptor.java +eln:It_can_store_up_to_256_points.=It can store up to 256 points. +eln:Measures_the_voltage_of_an\nelectrical_signal_and_plots\nthe_data_in_real_time.=Measures the voltage of an\nelectrical signal and plots\nthe data in real time. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerGui.java +eln:Back_to_display=Back to display +eln:Configuration=Configuration +eln:Current_[A]=Current [A] +eln:Energy_[J]=Energy [J] +eln:Percent_[-]%=Percent [-]% +eln:Power_[W]=Power [W] +eln:Print=Print +eln:Sampling_period=Sampling period +eln:Temp._[*C]=Temp. [*C] +eln:Voltage_[V]=Voltage [V] +eln:Y-axis_max=Y-axis max +eln:Y-axis_min=Y-axis min +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorContainer.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorDescriptor.java +eln:Output_voltage_increases\nif_entities_are_moving_around.=Output voltage increases\nif entities are moving around. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalfiredetector/ElectricalFireDetectorDescriptor.java +eln:Output_voltage_increases\nif_a_fire_has_been_detected.=Output voltage increases\nif a fire has been detected. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceDescriptor.java +eln:Provides_configurable_signal\nvoltage.=Provides configurable signal\nvoltage. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceGui.java +eln:Output_at_%s=Output at %s +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricallightsensor/ElectricalLightSensorDescriptor.java +eln:0V_at_night,_%sV_at_noon.=0V at night, %sV at noon. +eln:Provides_an_electrical_voltage\nin_the_presence_of_light.=Provides an electrical voltage\nin the presence of light. +eln:Provides_an_electrical_voltage\nwhich_is_proportional_to\nthe_intensity_of_daylight.=Provides an electrical voltage\nwhich is proportional to\nthe intensity of daylight. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathContainer.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathDescriptor.java +eln:Applicable_boolean_operators\:=Applicable boolean operators\: +eln:Applicable_functions\:=Applicable functions\: +eln:Applicable_mathematical_operators\:=Applicable mathematical operators\: +eln:Calculates_an_output_signal_from\n3_inputs_(A,_B,_C)_using_an_equation.=Calculates an output signal from\n3 inputs (A, B, C) using an equation. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathGui.java +eln:%s_Redstone(s)_required=%s Redstone(s) required +eln:Equation_required!=Equation required\! +eln:Inputs_are=Inputs are +eln:Invalid_equation!=Invalid equation\! +eln:Output_voltage_formula=Output voltage formula +eln:Waiting_for_completion...=Waiting for completion... +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalredstoneinput/ElectricalRedstoneInputDescriptor.java +eln:Converts_Redstone_signal\nto_an_electrical_voltage.=Converts Redstone signal\nto an electrical voltage. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalredstoneoutput/ElectricalRedstoneOutputDescriptor.java +eln:Converts_electrical_voltage\ninto_a_Redstone_signal.=Converts electrical voltage\ninto a Redstone signal. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalrelay/ElectricalRelayDescriptor.java +eln:A_relay_is_an_electrical\ncontact_that_conducts_electric\ncurrent_or_not,_depending\nthe_actual_input_signal_voltage.=A relay is an electrical\ncontact that conducts electric\ncurrent or not, depending\nthe actual input signal voltage. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalrelay/ElectricalRelayGui.java +eln:Normally_closed=Normally closed +eln:Normally_open=Normally open +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalsource/ElectricalSourceDescriptor.java +eln:Creative_block.=Creative block. +eln:Provides_an_ideal_voltage_source\nwithout_energy_or_power_limitation.=Provides an ideal voltage source\nwithout energy or power limitation. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalsource/ElectricalSourceGui.java +eln:Output_voltage=Output voltage +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalswitch/ElectricalSwitchDescriptor.java +eln:Can_break_an_electrical_circuit\ninterrupting_the_current.=Can break an electrical circuit\ninterrupting the current. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricaltimeout/ElectricalTimeoutDescriptor.java +eln:Upon_application_of_a_high_signal,\nthe_timer_maintains_the_output_high_for\na_configurable_interval._Can_be_re-triggered.=Upon application of a high signal,\nthe timer maintains the output high for\na configurable interval. Can be re-triggered. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricaltimeout/ElectricalTimeoutGui.java +eln:Set=Set +eln:The_time_interval_the\noutput_is_kept_high.=The time interval the\noutput is kept high. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalvumeter/ElectricalVuMeterDescriptor.java +eln:Displays_the_value_of_a_signal.=Displays the value of a signal. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalwatch/ElectricalWatchContainer.java +eln:Portable_battery_slot=Portable battery slot +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalweathersensor/ElectricalWeatherSensorDescriptor.java +eln:Clear\:_%sV=Clear\: %sV +eln:Provides_an_electrical_signal\ndepending_the_actual_weather.=Provides an electrical signal\ndepending the actual weather. +eln:Rain\:_%sV=Rain\: %sV +eln:Storm\:_%sV=Storm\: %sV +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalwindsensor/ElectricalWindSensorDescriptor.java +eln:Maximum_wind_speed_is_%sm_s=Maximum wind speed is %sm/s +eln:Provides_an_electrical_signal\ndependant_on_wind_speed.=Provides an electrical signal\ndependant on wind speed. +eln:You_can't_place_this_block_on_the_floor_or_the_ceiling=You can't place this block on the floor or the ceiling +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricasensor/ElectricalSensorDescriptor.java +eln:Can_measure_Voltage_Power_Current=Can measure Voltage/Power/Current +eln:Measures_electrical_values_on_cables.=Measures electrical values on cables. +eln:Measures_voltage_on_cables.=Measures voltage on cables. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricasensor/ElectricalSensorGui.java +eln:Current=Current +eln:Measured_voltage\ncorresponding\nto_0%_output=Measured voltage\ncorresponding\nto 0% output +eln:Measured_voltage\ncorresponding\nto_100%_output=Measured voltage\ncorresponding\nto 100% output +eln:Voltage=Voltage +eln: +eln:# ./src/main/java/mods/eln/sixnode/energymeter/EnergyMeterGui.java +eln:Change_password=Change password +eln:Counter_Mode=Counter Mode +eln:Counts_the_energy_conducted_from\n\u00a74red\u00a7f_to_\u00a71blue\u00a7f.=Counts the energy conducted from\n\\u00a74red\\u00a7f to \\u00a71blue\\u00a7f. +eln:Energy_counter\:_%sJ=Energy counter\: %sJ +eln:Enter_new_energy=Enter new energy +eln:Enter_password=Enter password +eln:Prepay_Mode=Prepay Mode +eln:Reset_time_counter=Reset time counter +eln:Set_energy_counter=Set energy counter +eln:Time_counter\:=Time counter\: +eln:Try_password=Try password +eln:You_can_set_an_initial\namount_of_available_energy.\nWhen_the_counter_arrives_at_0\nthe_contact_will_be_opened.=You can set an initial\namount of available energy.\nWhen the counter arrives at 0\nthe contact will be opened. +eln:is_off=is off +eln:is_on=is on +eln:value_in_kJ=value in kJ +eln: +eln:# ./src/main/java/mods/eln/sixnode/groundcable/GroundCableDescriptor.java +eln:Can_be_used_to_set_a_point_of_an\nelectrical_network_to_0V_potential.\nFor_example_to_ground_negative_battery_contacts.=Can be used to set a point of an\nelectrical network to 0V potential.\nFor example to ground negative battery contacts. +eln:Provides_a_zero_volt_reference.=Provides a zero volt reference. +eln: +eln:# ./src/main/java/mods/eln/sixnode/hub/HubDescriptor.java +eln:Allows_crossing_cables\non_one_single_block.=Allows crossing cables\non one single block. +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketDescriptor.java +eln:Angle\:_%s°_to_%s°=Angle\: %s° to %s° +eln:Spot_range\:_%s_blocks=Spot range\: %s blocks +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketGuiDraw.java +eln:%s_is_not_in_range!=%s is not in range\! +eln:Cable_slot_empty=Cable slot empty +eln:Orientation\:_%s°=Orientation\: %s° +eln:Parallel=Parallel +eln:Powered_by_Lamp_Supply=Powered by Lamp Supply +eln:Powered_by_cable=Powered by cable +eln:Serial=Serial +eln:Specify_the_supply_channel=Specify the supply channel +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyContainer.java +eln:Electrical_cable_slot\nBase_range_is_32_blocks.\nEach_additional_cable\nincreases_range_by_one.=Electrical cable slot\nBase range is 32 blocks.\nEach additional cable\nincreases range by one. +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyDescriptor.java +eln:Supplies_all_lamps_on_the_channel.=Supplies all lamps on the channel. +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyGui.java +eln:Power_channel_name=Power channel name +eln:Wireless_channel_name=Wireless channel name +eln: +eln:# ./src/main/java/mods/eln/sixnode/modbusrtu/ModbusRtuGui.java +eln:Add=Add +eln:Channel_name=Channel name +eln:Modbus_ID=Modbus ID +eln:Modbus_RTU=Modbus RTU +eln:Station_ID=Station ID +eln:Station_name=Station name +eln:Wireless_RX=Wireless RX +eln:Wireless_TX=Wireless TX +eln: +eln:# ./src/main/java/mods/eln/sixnode/powercapacitorsix/PowerCapacitorSixContainer.java +eln:(Increases_maximum_voltage)=(Increases maximum voltage) +eln: +eln:# ./src/main/java/mods/eln/sixnode/powercapacitorsix/PowerCapacitorSixGui.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/powerinductorsix/PowerInductorSixContainer.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/powerinductorsix/PowerInductorSixGui.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/powersocket/PowerSocketDescriptor.java +eln:Supplies_any_device\nplugged_in_with_energy.=Supplies any device\nplugged in with energy. +eln: +eln:# ./src/main/java/mods/eln/sixnode/powersocket/PowerSocketGui.java +eln:Specify_the_device_to_supply_through_this_socket.=Specify the device to supply through this socket. +eln: +eln:# ./src/main/java/mods/eln/sixnode/resistor/ResistorContainer.java +eln:(Sets_resistance)=(Sets resistance) +eln:Coal_dust_slot=Coal dust slot +eln: +eln:# ./src/main/java/mods/eln/sixnode/thermalcable/ThermalCableDescriptor.java +eln:High_parallel_resistance\n_\=>_Low_power_dissipation.=High parallel resistance\n \=> Low power dissipation. +eln:Low_serial_resistance\n_\=>_High_conductivity.=Low serial resistance\n \=> High conductivity. +eln:Parallel_resistance\:_%sK_W=Parallel resistance\: %sK/W +eln:Serial_resistance\:_%sK_W=Serial resistance\: %sK/W +eln: +eln:# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorContainer.java +eln:Cable_slot=Cable slot +eln: +eln:# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorDescriptor.java +eln:Can_measure\:=Can measure\: +eln:Measures_temperature_of_cables.=Measures temperature of cables. +eln:Measures_thermal_values_on_cables.=Measures thermal values on cables. +eln:__Temperature_Power_conducted=Temperature/Power conducted +eln: +eln:# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorGui.java +eln:Measured_temperature\ncorresponding\nto_0%_output=Measured temperature\ncorresponding\nto 0% output +eln:Measured_temperature\ncorresponding\nto_100%_output=Measured temperature\ncorresponding\nto 100% output +eln:Temperature=Temperature +eln: +eln:# ./src/main/java/mods/eln/sixnode/tutorialsign/TutorialSignElement.java +eln:No_text_associated_to_this_beacon=No text associated to this beacon +eln: +eln:# ./src/main/java/mods/eln/sixnode/tutorialsign/TutorialSignGui.java +eln:Set_beacon_name=Set beacon name +eln: +eln:# ./src/main/java/mods/eln/sixnode/wirelesssignal/rx/WirelessSignalRxGui.java +eln: +eln:# ./src/main/java/mods/eln/transparentnode/FuelGenerator.kt +eln:Nominal_power\:_%s_W=Nominal power\: %s W +eln:Nominal_voltage\:_%s_V=Nominal voltage\: %s V +eln:Produces_electricity_using_fuel.=Produces electricity using fuel. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/LargeRheostat.kt +eln:Nom._Resistance\:_%s=Nom. Resistance\: %s +eln: +eln:# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerContainer.java +eln:Drill_slot=Drill slot +eln:Mining_pipe_slot=Mining pipe slot +eln:Ore_scanner_slot=Ore scanner slot +eln: +eln:# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerDescriptor.java +eln:Excavates_on_a_small_radius.\nExtracts_ore_on_a_bigger_radius\:\n10_blocks_radius_after_10_blocks_depth.=Excavates on a small radius.\nExtracts ore on a bigger radius\:\n10 blocks radius after 10 blocks depth. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerGuiDraw.java +eln:Chest_missing_on_the\nback_of_the_auto_miner!=Chest missing on the\nback of the auto miner\! +eln:Halves_speed,_triples_power_draw=Halves speed, triples power draw +eln:Silk_Touch_Off=Silk Touch Off +eln:Silk_Touch_On=Silk Touch On +eln:Silk_touch=Silk touch +eln: +eln:# ./src/main/java/mods/eln/transparentnode/battery/BatteryContainer.java +eln:Overheating_protection=Overheating protection +eln:Overvoltage_protection=Overvoltage protection +eln: +eln:# ./src/main/java/mods/eln/transparentnode/battery/BatteryDescriptor.java +eln:Actual_charge\:_%s=Actual charge\: %s +eln:Energy_capacity\:_%sJ=Energy capacity\: %sJ +eln:_charged_at_%s=charged at %s +eln: +eln:# ./src/main/java/mods/eln/transparentnode/battery/BatteryGuiDraw.java +eln:Charge=Charge +eln:Charged=Charged +eln:Discharge=Discharge +eln:Energy\:=Energy\: +eln:Energy\:_%s=Energy\: %s +eln:Life\:=Life\: +eln:No_charge=No charge +eln:Power_in\:=Power in\: +eln:Power_out\:=Power out\: +eln: +eln:# ./src/main/java/mods/eln/transparentnode/eggincubator/EggIncubatorContainer.java +eln:Egg_slot=Egg slot +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalantennarx/ElectricalAntennaRxDescriptor.java +eln:Wireless_energy_receiver.=Wireless energy receiver. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalantennatx/ElectricalAntennaTxDescriptor.java +eln:Efficiency\:_%s_up_to_%s=Efficiency\: %s up to %s +eln:Wireless_energy_transmitter.=Wireless energy transmitter. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceContainer.java +eln:Heating_corp_slot=Heating corp slot +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceDescriptor.java +eln:Similar_to_a_vanilla_furnace,\nbut_heats_with_electricity.=Similar to a vanilla furnace,\nbut heats with electricity. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceGuiDraw.java +eln:Auto_shutdown=Auto shutdown +eln:Manual_shutdown=Manual shutdown +eln:Set_point\:_%s°C=Set point\: %s°C +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalmachine/ElectricalMachineDescriptor.java +eln:Cost=Cost +eln: +eln:# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceContainer.java +eln:Combustion_chamber_slot=Combustion chamber slot +eln:Fuel_slot=Fuel slot +eln: +eln:# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceDescriptor.java +eln:Generates_heat_when_supplied_with_fuel.=Generates heat when supplied with fuel. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceGuiDraw.java +eln:Control_gauge_at_%s=Control gauge at %s +eln:Decline_fuel=Decline fuel +eln:External_control=External control +eln:Internal_control=Internal control +eln:Take_fuel=Take fuel +eln: +eln:# ./src/main/java/mods/eln/transparentnode/powercapacitor/PowerCapacitorContainer.java +eln:(Increases_maximal_voltage)=(Increases maximal voltage) +eln: +eln:# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelContainer.java +eln:Solar_tracker_slot=Solar tracker slot +eln: +eln:# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelDescriptor.java +eln:Can_be_geared_towards_the_sun.=Can be geared towards the sun. +eln:Max._power\:_%sW=Max. power\: %sW +eln:Max._voltage\:_%sV=Max. voltage\: %sV +eln:Produces_power_from_solar_radiation.=Produces power from solar radiation. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPannelGuiDraw.java +eln:It_is_night=It is night +eln:Solar_panel_angle\:_%s°=Solar panel angle\: %s° +eln:Sun_angle\:_%s°=Sun angle\: %s° +eln: +eln:# ./src/main/java/mods/eln/transparentnode/teleporter/TeleporterGui.java +eln:Destination_transporter=Destination transporter +eln:Power_consumption\:=Power consumption\: +eln:Power_consumption\:_%sW=Power consumption\: %sW +eln:Required_energy\:_%sJ=Required energy\: %sJ +eln:Start=Start +eln:Transporter_name=Transporter name +eln: +eln:# ./src/main/java/mods/eln/transparentnode/thermaldissipatoractive/ThermalDissipatorActiveDescriptor.java +eln:Fan_cooling_power\:_%sW=Fan cooling power\: %sW +eln:Fan_power_consumption\:_%sW=Fan power consumption\: %sW +eln:Fan_voltage\:_%sV=Fan voltage\: %sV +eln: +eln:# ./src/main/java/mods/eln/transparentnode/transformer/TransformerDescriptor.java +eln:The_voltage_ratio_is_proportional\nto_the_cable_stacks_count_ratio.=The voltage ratio is proportional\nto the cable stacks count ratio. +eln:Transforms_an_input_voltage_to\nan_output_voltage.=Transforms an input voltage to\nan output voltage. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/turbine/TurbineDescriptor.java +eln:Generates_electricity_using_heat.=Generates electricity using heat. +eln:Temperature_difference\:_%s°C=Temperature difference\: %s°C +eln: +eln:# ./src/main/java/mods/eln/transparentnode/turret/TurretDescriptor.java +eln:CAUTION\:_Cables_can_get_quite_hot!=CAUTION\: Cables can get quite hot\! +eln:Laser_charge_power\:_%sW...%skW=Laser charge power\: %sW...%skW +eln:Scans_for_entities_and_shoots_if_the\nentity_matches_the_configurable_filter_criteria.=Scans for entities and shoots if the\nentity matches the configurable filter criteria. +eln:Standby_power\:_%sW=Standby power\: %sW +eln: +eln:# ./src/main/java/mods/eln/transparentnode/turret/TurretGui.java +eln:Attack\:=Attack\: +eln:Do_not_attack\:=Do not attack\: +eln:Recharge_power\:=Recharge power\: +eln: +eln:# ./src/main/java/mods/eln/transparentnode/waterturbine/WaterTurbineDescriptor.java +eln:Generates_energy_using_water_stream.=Generates energy using water stream. +eln:No_place_for_water_turbine!=No place for water turbine\! +eln: +eln:# ./src/main/java/mods/eln/transparentnode/windturbine/WindTurbineDescriptor.java +eln:Front\:_%s=Front\: %s +eln:Generates_energy_from_wind.=Generates energy from wind. +eln:Left_Right\:_%s=Left/Right\: %s +eln:Up_Down\:_%s=Up/Down\: %s +eln:Wind_area\:=Wind area\: +eln: +eln:# ./src/main/java/mods/eln/wiki/Data.java +eln:Energy=Energy +eln:Light=Light +eln:Machine=Machine +eln:Ore=Ore +eln:Portable=Portable +eln:Resource=Resource +eln:Signal=Signal +eln:Thermal=Thermal +eln:Upgrade=Upgrade +eln:Utilities=Utilities +eln:Wiring=Wiring +eln: +eln:# ./src/main/java/mods/eln/wiki/Default.java +eln:Previous=Previous +eln: +eln:# ./src/main/java/mods/eln/wiki/ItemDefault.java +eln:Can_be_used_to_craft\:=Can be used to craft\: +eln:Cannot_be_crafted!=Cannot be crafted\! +eln:Cost_%sJ=Cost %sJ +eln:Created_by\:=Created by\: +eln:Is_not_a_crafting_material!=Is not a crafting material\! +eln:Recipe\:=Recipe\: +eln: +eln:# Appearing in multiple source files +eln:(Increases_capacity)=(Increases capacity) +eln:(Increases_inductance)=(Increases inductance) +eln:Actual\:_%s°C=Actual\: %s°C +eln:Biggest=Biggest +eln:Booster_slot=Booster slot +eln:Can_create\:=Can create\: +eln:Capacity\:_%sF=Capacity\: %sF +eln:Charge_power\:_%sW=Charge power\: %sW +eln:Connected=Connected +eln:Cooling_power\:_%sW=Cooling power\: %sW +eln:Copper_cable_slot=Copper cable slot +eln:Dielectric_slot=Dielectric slot +eln:Discharge_power\:_%sW=Discharge power\: %sW +eln:Electrical_cable_slot=Electrical cable slot +eln:Entity_filter_slot=Entity filter slot +eln:Ferromagnetic_core_slot=Ferromagnetic core slot +eln:Has_a_signal_output.=Has a signal output. +eln:Inductance\:_%sH=Inductance\: %sH +eln:Internal_resistance\:_%sΩ=Internal resistance\: %sΩ +eln:Is_off=Is off +eln:Is_on=Is on +eln:Max._temperature\:_%s°C=Max. temperature\: %s°C +eln:Measured_value\ncorresponding\nto_0%_output=Measured value\ncorresponding\nto 0% output +eln:Measured_value\ncorresponding\nto_100%_output=Measured value\ncorresponding\nto 100% output +eln:Nominal\:=Nominal\: +eln:Nominal_power\:_%sW=Nominal power\: %sW +eln:Nominal_usage\:=Nominal usage\: +eln:Nominal_voltage\:_%sV=Nominal voltage\: %sV +eln:Not_connected=Not connected +eln:Not_enough_space_for_this_block=Not enough space for this block +eln:Power=Power +eln:Power\:_%sW=Power\: %sW +eln:Range\:_%s_blocks=Range\: %s blocks +eln:Redstone_slot=Redstone slot +eln:Regulator_slot=Regulator slot +eln:Reset=Reset +eln:Resistance\:_%sΩ=Resistance\: %sΩ +eln:Smallest=Smallest +eln:Specify_the_channel=Specify the channel +eln:Stored_energy\:_%sJ_(%s)=Stored energy\: %sJ (%s) +eln:Temperature\:_%s°C=Temperature\: %s°C +eln:Temperature_gauge=Temperature gauge +eln:Thermal_isolator_slot=Thermal isolator slot +eln:Toggle=Toggle +eln:Toggle_switch=Toggle switch +eln:Toggles_the_output_each_time\nan_emitter's_value_rises.\nUseful_to_allow_multiple_buttons\nto_control_the_same_light.=Toggles the output each time\nan emitter's value rises.\nUseful to allow multiple buttons\nto control the same light. +eln:Used_to_cool_down_turbines.=Used to cool down turbines. +eln:Uses_the_biggest\nvalue_on_the_channel.=Uses the biggest\nvalue on the channel. +eln:Uses_the_smallest\nvalue_on_the_channel.=Uses the smallest\nvalue on the channel. +eln:Validate=Validate +eln:Voltage\:_%sV=Voltage\: %sV +eln:You_can't_place_this_block_at_this_side=You can't place this block at this side diff --git a/src/main/resources/assets/eln/lang/bs.lang b/src/main/resources/assets/eln/lang/bs.lang index f4e769aa7..92e8a8d93 100644 --- a/src/main/resources/assets/eln/lang/bs.lang +++ b/src/main/resources/assets/eln/lang/bs.lang @@ -1,829 +1,829 @@ -# - -# ./src/main/java/mods/eln/Achievements.java -Electrical_Age_[WIP]=Electrical Age [WIP] -achievement.craft_50v_macerator=Crushing Novice -achievement.craft_50v_macerator.desc=Craft a 50V Macerator -achievement.open_guide=Wiki Power -achievement.open_guide.desc=Open the wiki guide - -# ./src/main/java/mods/eln/Eln.java -10A_Diode.name=10A Diode -200V_Active_Thermal_Dissipator.name=200V Active Thermal Dissipator -200V_Battery_Charger.name=200V Battery Charger -200V_Compressor.name=200V Compressor -200V_Condensator.name=200V Condensator -200V_Copper_Heating_Corp.name=200V Copper Heating Corp -200V_Economic_Light_Bulb.name=200V Economic Light Bulb -200V_Farming_Lamp.name=200V Farming Lamp -200V_Fuel_Generator.name=200V Fuel Generator -200V_Incandescent_Light_Bulb.name=200V Incandescent Light Bulb -200V_Iron_Heating_Corp.name=200V Iron Heating Corp -200V_LED_Bulb.name=200V LED Bulb -200V_Macerator.name=200V Macerator -200V_Magnetizer.name=200V Magnetizer -200V_Plate_Machine.name=200V Plate Machine -200V_Power_Socket.name=200V Power Socket -200V_Tungsten_Heating_Corp.name=200V Tungsten Heating Corp -200V_Turbine.name=200V Turbine -25A_Diode.name=25A Diode -50V_Battery_Charger.name=50V Battery Charger -50V_Carbon_Incandescent_Light_Bulb.name=50V Carbon Incandescent Light Bulb -50V_Compressor.name=50V Compressor -50V_Condensator.name=50V Condensator -50V_Copper_Heating_Corp.name=50V Copper Heating Corp -50V_Economic_Light_Bulb.name=50V Economic Light Bulb -50V_Egg_Incubator.name=50V Egg Incubator -50V_Farming_Lamp.name=50V Farming Lamp -50V_Fuel_Generator.name=50V Fuel Generator -50V_Incandescent_Light_Bulb.name=50V Incandescent Light Bulb -50V_Iron_Heating_Corp.name=50V Iron Heating Corp -50V_LED_Bulb.name=50V LED Bulb -50V_Macerator.name=50V Macerator -50V_Magnetizer.name=50V Magnetizer -50V_Plate_Machine.name=50V Plate Machine -50V_Power_Socket.name=50V Power Socket -50V_Tungsten_Heating_Corp.name=50V Tungsten Heating Corp -50V_Turbine.name=50V Turbine -800V_Defence_Turret.name=800V Defence Turret -AND_Chip.name=AND Chip -Advanced_Chip.name=Advanced Chip -Advanced_Electrical_Motor.name=Advanced Electrical Motor -Advanced_Energy_Meter.name=Advanced Energy Meter -Advanced_Machine_Block.name=Advanced Machine Block -Advanced_Magnet.name=Advanced Magnet -AllMeter.name=Universal-Meter -Alloy_Dust.name=Alloy Dust -Alloy_Ingot.name=Alloy Ingot -Alloy_Plate.name=Alloy Plate -Analog_Watch.name=Analog watch -Analog_vuMeter.name=Analog Gauge -Analogic_Regulator.name=Analogic Regulator -Animal_Filter.name=Animal Filter -Auto_Miner.name=Auto Miner -Average_Electrical_Drill.name=Average Electrical Drill -Average_Ferromagnetic_Core.name=Average Ferromagnetic Core -Basic_Magnet.name=Basic Magnet -Black_Brush.name=Black Brush -Blue_Brush.name=Blue Brush -Brown_Brush.name=Brown Brush -Capacity_Oriented_Battery.name=Capacity Oriented Battery -Cheap_Chip.name=Cheap Chip -Cheap_Electrical_Drill.name=Cheap Electrical Drill -Cheap_Ferromagnetic_Core.name=Cheap Ferromagnetic Core -Cinnabar_Dust.name=Cinnabar Dust -Cinnabar_Ore.name=Cinnabar Ore -Coal_Dust.name=Coal Dust -Coal_Plate.name=Coal Plate -Combustion_Chamber.name=Combustion Chamber -Copper_Cable.name=Copper Cable -Copper_Dust.name=Copper Dust -Copper_Ingot.name=Copper Ingot -Copper_Ore.name=Copper Ore -Copper_Plate.name=Copper Plate -Copper_Thermal_Cable.name=Copper Thermal Cable -Cost_Oriented_Battery.name=Cost Oriented Battery -Current_Oriented_Battery.name=Current Oriented Battery -Cyan_Brush.name=Cyan Brush -D_Flip_Flop_Chip.name=D Flip Flop Chip -Data_Logger.name=Data Logger -Data_Logger_Print.name=Data Logger Print -Dielectric.name=Dielectric -Digital_Watch.name=Digital Watch -Electrical_Anemometer_Sensor.name=Electrical Anemometer Sensor -Electrical_Breaker.name=Electrical Breaker -Electrical_Daylight_Sensor.name=Electrical Daylight Sensor -Electrical_Entity_Sensor.name=Electrical Entity Sensor -Electrical_Fire_Detector.name=Electrical Fire Detector -Electrical_Furnace.name=Electrical Furnace -Electrical_Light_Sensor.name=Electrical Light Sensor -Electrical_Motor.name=Electrical Motor -Electrical_Probe.name=Electrical Probe -Electrical_Probe_Chip.name=Electrical Probe Chip -Electrical_Source.name=Electrical Source -Electrical_Timer.name=Electrical Timer -Electrical_Weather_Sensor.name=Electrical Weather Sensor -Electrical_age_wrench,\nCan_be_used_to_turn\nsmall_wall_blocks=Electrical age wrench,\nCan be used to turn\nsmall wall blocks -Energy_Meter.name=Energy Meter -Experimental_Transporter.name=Experimental Transporter -Fast_Electrical_Drill.name=Fast Electrical Drill -Ferrite_Ingot.name=Ferrite Ingot -Flat_Lamp_Socket.name=Flat Lamp Socket -Fluorescent_Lamp_Socket.name=Fluorescent Lamp Socket -Generator.name=Generator -Gold_Dust.name=Gold Dust -Gold_Plate.name=Gold Plate -Gray_Brush.name=Gray Brush -Green_Brush.name=Green Brush -Ground_Cable.name=Ground Cable -High_Power_Receiver_Antenna.name=High Power Receiver Antenna -High_Power_Transmitter_Antenna.name=High Power Transmitter Antenna -High_Voltage_Cable.name=High Voltage Cable -High_Voltage_Relay.name=High Voltage Relay -High_Voltage_Switch.name=High Voltage Switch -Hub.name=Hub -Industrial_Data_Logger.name=Industrial Data Logger -Iron_Cable.name=Iron Cable -Iron_Dust.name=Iron Dust -Iron_Plate.name=Iron Plate -JK_Flip_Flop_Chip.name=JK Flip Flop Chip -LED_vuMeter.name=LED vuMeter -Lamp_Socket_A.name=Lamp Socket A -Lamp_Socket_B_Projector.name=Lamp Socket B Projector -Lamp_Supply.name=Lamp Supply -Large_Rheostat.name=Large Rheostat -Lead_Dust.name=Lead Dust -Lead_Ingot.name=Lead Ingot -Lead_Ore.name=Lead Ore -Lead_Plate.name=Lead Plate -Life_Oriented_Battery.name=Life Oriented Battery -Light_Blue_Brush.name=Light Blue Brush -Lime_Brush.name=Lime Brush -Long_Suspended_Lamp_Socket.name=Long Suspended Lamp Socket -Low_Power_Receiver_Antenna.name=Low Power Receiver Antenna -Low_Power_Transmitter_Antenna.name=Low Power Transmitter Antenna -Low_Voltage_Cable.name=Low Voltage Cable -Low_Voltage_Relay.name=Low Voltage Relay -Low_Voltage_Switch.name=Low Voltage Switch -Machine_Block.name=Machine Block -Machine_Booster.name=Machine Booster -Magenta_Brush.name=Magenta Brush -Medium_Power_Receiver_Antenna.name=Medium Power Receiver Antenna -Medium_Power_Transmitter_Antenna.name=Medium Power Transmitter Antenna -Medium_Voltage_Cable.name=Medium Voltage Cable -Medium_Voltage_Relay.name=Medium Voltage Relay -Medium_Voltage_Switch.name=Medium Voltage Switch -Mercury.name=Mercury -Mining_Pipe.name=Mining Pipe -Modbus_RTU.name=Modbus RTU -Modern_Data_Logger.name=Modern Data Logger -Monster_Filter.name=Monster Filter -MultiMeter.name=Multimeter -NAND_Chip.name=NAND Chip -NOR_Chip.name=NOR Chip -NOT_Chip.name=NOT Chip -Nuclear_Alarm.name=Nuclear Alarm -OR_Chip.name=OR Chip -On_OFF_Regulator_10_Percent.name=On/off regulator 10% -On_OFF_Regulator_1_Percent.name=On/off regulator 1% -Optimal_Ferromagnetic_Core.name=Optimal Ferromagnetic Core -Orange_Brush.name=Orange Brush -Ore_Scanner.name=Ore Scanner -Oscillator_Chip.name=Oscillator Chip -Overheating_Protection.name=Overheating Protection -Overvoltage_Protection.name=Overvoltage Protection -PAL_Chip.name=PAL Chip -Pink_Brush.name=Pink Brush -Player_Filter.name=Player Filter -Portable_Battery.name=Portable Battery -Portable_Battery_Pack.name=Portable Battery Pack -Portable_Condensator.name=Portable Condensator -Portable_Condensator_Pack.name=Portable Condensator Pack -Portable_Electrical_Axe.name=Portable Electrical Axe -Portable_Electrical_Mining_Drill.name=Portable Electrical Mining Drill -Power_Capacitor.name=Power Capacitor -Power_Inductor.name=Power Inductor -Power_Resistor.name=Power Resistor -Power_capacitor.name=Power capacitor -Power_inductor.name=Power inductor -Purple_Brush.name=Purple Brush -Red_Brush.name=Red Brush -Redstone-to-Voltage_Converter.name=Redstone-to-Voltage Converter -Rheostat.name=Rheostat -Robust_Lamp_Socket.name=Robust Lamp Socket -Rubber.name=Rubber -Schmitt_Trigger_Chip.name=Schmitt Trigger Chip -Sconce_Lamp_Socket.name=Sconce Lamp Socket -Signal_20H_inductor.name=Signal 20H inductor -Signal_Antenna.name=Signal Antenna -Signal_Button.name=Signal Button -Signal_Cable.name=Signal Cable -Signal_Diode.name=Signal Diode -Signal_Processor.name=Signal Processor -Signal_Relay.name=Signal Relay -Signal_Source.name=Signal Source -Signal_Switch.name=Signal Switch -Signal_Switch_with_LED.name=Signal Switch with LED -Signal_Trimmer.name=Signal Trimmer -Silicon_Dust.name=Silicon Dust -Silicon_Ingot.name=Silicon Ingot -Silicon_Plate.name=Silicon Plate -Silver_Brush.name=Silver Brush -Simple_Lamp_Socket.name=Simple Lamp Socket -Single-use_Battery.name=Single-use Battery -Small_200V_Copper_Heating_Corp.name=Small 200V Copper Heating Corp -Small_200V_Iron_Heating_Corp.name=Small 200V Iron Heating Corp -Small_200V_Tungsten_Heating_Corp.name=Small 200V Tungsten Heating Corp -Small_50V_Carbon_Incandescent_Light_Bulb.name=Small 50V Carbon Incandescent Light Bulb -Small_50V_Copper_Heating_Corp.name=Small 50V Copper Heating Corp -Small_50V_Economic_Light_Bulb.name=Small 50V Economic Light Bulb -Small_50V_Incandescent_Light_Bulb.name=Small 50V Incandescent Light Bulb -Small_50V_Iron_Heating_Corp.name=Small 50V Iron Heating Corp -Small_50V_Tungsten_Heating_Corp.name=Small 50V Tungsten Heating Corp -Small_Active_Thermal_Dissipator.name=Small Active Thermal Dissipator -Small_Flashlight.name=Small Flashlight -Small_Passive_Thermal_Dissipator.name=Small Passive Thermal Dissipator -Small_Rotating_Solar_Panel.name=Small Rotating Solar Panel -Small_Solar_Panel.name=Small Solar Panel -Solar_Tracker.name=Solar Tracker -Standard_Alarm.name=Standard Alarm -Steam_Turbine.name=Steam Turbine -Stone_Heat_Furnace.name=Stone Heat Furnace -Street_Light.name=Streetlight -Suspended_Lamp_Socket.name=Suspended Lamp Socket -Temperature_Probe.name=Temperature Probe -Thermal_Probe.name=Thermal Probe -Thermal_Probe_Chip.name=Thermal Probe Chip -Thermistor.name=Thermistor -ThermoMeter.name=Thermometer -Transformer.name=Transformer -Tree_Resin.name=Tree Resin -Tree_Resin_Collector.name=Tree Resin Collector -Tungsten_Cable.name=Tungsten Cable -Tungsten_Dust.name=Tungsten Dust -Tungsten_Ingot.name=Tungsten Ingot -Tungsten_Ore.name=Tungsten Ore -Tutorial_Sign.name=Tutorial Sign -Very_High_Voltage_Cable.name=Very High Voltage Cable -Very_High_Voltage_Relay.name=Very High Voltage Relay -Very_High_Voltage_Switch.name=Very High Voltage Switch -Voltage-to-Redstone_Converter.name=Voltage-to-Redstone Converter -Voltage_Oriented_Battery.name=Voltage Oriented Battery -Voltage_Probe.name=Voltage Probe -Water_Turbine.name=Water Turbine -Weak_50V_Battery_Charger.name=Weak 50V Battery Charger -White_Brush.name=White Brush -Wind_Turbine.name=Wind Turbine -Wireless_Analyser.name=Wireless Analyzer -Wireless_Button.name=Wireless Button -Wireless_Signal_Receiver.name=Wireless Signal Receiver -Wireless_Signal_Repeater.name=Wireless Signal Repeater -Wireless_Signal_Transmitter.name=Wireless Signal Transmitter -Wireless_Switch.name=Wireless Switch -Wrench.name=Wrench -X-Ray_Scanner.name=X-Ray Scanner -XNOR_Chip.name=XNOR Chip -XOR_Chip.name=XOR Chip -Yellow_Brush.name=Yellow Brush -entity.EAReplicator.name=Replicator -item.Copper Axe.name\=Copper Axe -item.Copper Axe.name\=Copper Axe -item.Copper Axe.name\=Copper Axe -item.Copper Axe.name\=Copper Axe -item.Copper Axe.name\=Copper Axe -item.Copper Axe.name\=Copper Axe -item.Copper Axe.name\=Copper Axe -item.Copper Axe.name\=Copper Axe -item.Copper Axe.name\=Copper Axe -item.E-Coal Boots.name\=E-Coal Boots -item.E-Coal Boots.name\=E-Coal Boots -item.E-Coal Boots.name\=E-Coal Boots -item.E-Coal Boots.name\=E-Coal Boots -itemGroup.Eln=Electrical Age -mod.meta.desc=Electricity in your base\! -tile.eln.ElnProbe.name=Eln Computer Probe -tile.eln.EnergyConverterElnToOtherHVUBlock.name=800V Electrical Age to other energy exporter -tile.eln.EnergyConverterElnToOtherLVUBlock.name=50V Electrical Age to other energy exporter -tile.eln.EnergyConverterElnToOtherMVUBlock.name=200V Electrical Age to other energy exporter - -# ./src/main/java/mods/eln/i18n/I18N.java -You_have_%s_lives_left=You have %s lives left - -# ./src/main/java/mods/eln/item/BrushDescriptor.java -Brush_is_dry=Brush is dry -Can_paint_%s_blocks=Can paint %s blocks - -# ./src/main/java/mods/eln/item/CombustionChamber.java -Upgrade_for_the_Stone_Heat_Furnace.=Upgrade for the Stone Heat Furnace. - -# ./src/main/java/mods/eln/item/ElectricalDrillDescriptor.java -Energy_per_operation\:_%sJ=Energy per operation\: %sJ -Time_per_operation\:_%ss=Time per operation\: %ss - -# ./src/main/java/mods/eln/item/FerromagneticCoreDescriptor.java -Cable_loss_factor\:_%s=Cable loss factor\: %s - -# ./src/main/java/mods/eln/item/HeatingCorpElement.java - -# ./src/main/java/mods/eln/item/LampDescriptor.java -Bad=Bad -Condition\:=Condition\: -End_of_life=End of life -Good=Good -New=New -Nominal_lifetime\:_%sh=Nominal lifetime\: %sh -Technology\:_%s=Technology\: %s -Used=Used - -# ./src/main/java/mods/eln/item/LampSlot.java -Lamp_slot=Lamp slot - -# ./src/main/java/mods/eln/item/OverHeatingProtectionDescriptor.java -Useful_to_prevent_overheating\nof_Batteries=Useful to prevent overheating\nof Batteries - -# ./src/main/java/mods/eln/item/OverVoltageProtectionDescriptor.java -Useful_to_prevent_over-voltage\nof_Batteries=Useful to prevent over-voltage\nof Batteries - -# ./src/main/java/mods/eln/item/SolarTrackerDescriptor.java -Solar_panel_upgrade=Solar panel upgrade - -# ./src/main/java/mods/eln/item/electricalitem/BatteryItem.java - -# ./src/main/java/mods/eln/item/electricalitem/ElectricalLampItem.java -Off=Off -On=On -State\:=State\: -Stored_Energy\:_%sJ_(%s)=Stored Energy\: %sJ (%s) - -# ./src/main/java/mods/eln/item/regulator/RegulatorSlot.java - -# ./src/main/java/mods/eln/misc/UtilsClient.java -Hold_shift=Hold shift - -# ./src/main/java/mods/eln/misc/Version.java -mod.name=Electrical Age - -# ./src/main/java/mods/eln/node/six/SixNodeDescriptor.java - -# ./src/main/java/mods/eln/simplenode/energyconverter/EnergyConverterElnToOtherGui.java -Input_power_is_limited_to_%sW=Input power is limited to %sW - -# ./src/main/java/mods/eln/sixnode/LogicGate.kt -_O\:_= O\: - -# ./src/main/java/mods/eln/sixnode/TreeResinCollector/TreeResinCollectorDescriptor.java -Produces_Tree_Resin_over\ntime_when_put_on_a_tree.=Produces Tree Resin over\ntime when put on a tree. -This_block_can_only_be_placed_on_the_side_of_a_tree!=This block can only be placed on the side of a tree\! - -# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerContainer.java -Battery_slot=Battery slot - -# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerDescriptor.java -Can_be_used_to_recharge\nelectrical_items_like\:\nFlash_Light,_X-Ray_scanner\nand_Portable_Battery_...=Can be used to recharge\nelectrical items like\:\nFlash Light, X-Ray scanner\nand Portable Battery ... - -# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerGui.java - -# ./src/main/java/mods/eln/sixnode/diode/DiodeDescriptor.java -Electrical_current_can_only\nflow_through_the_diode\nfrom_anode_to_cathode=Electrical current can only\nflow through the diode\nfrom anode to cathode - -# ./src/main/java/mods/eln/sixnode/electricalalarm/ElectricalAlarmDescriptor.java -= -Emits_an_acoustic_alarm_if\nthe_input_signal_is_high=Emits an acoustic alarm if\nthe input signal is high - -# ./src/main/java/mods/eln/sixnode/electricalalarm/ElectricalAlarmGui.java -Sound_is_muted=Sound is muted -Sound_is_not_muted=Sound is not muted - -# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerContainer.java - -# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerDescriptor.java -Protects_electrical_components\nOpens_contact_if\:\n__-_Voltage_exceeds_a_certain_level\n-_Current_exceeds_the_cable_limit=Protects electrical components\nOpens contact if\:\n - Voltage exceeds a certain level\n- Current exceeds the cable limit - -# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerGui.java -Maximum_voltage_before_cutting_off=Maximum voltage before cutting off -Minimum_voltage_before_cutting_off=Minimum voltage before cutting off -Switch_is_off=Switch is off -Switch_is_on=Switch is on - -# ./src/main/java/mods/eln/sixnode/electricalcable/ElectricalCableDescriptor.java -A_signal_is_electrical_information\nwhich_must_be_between_0V_and_%sV=A signal is electrical information\nwhich must be between 0V and %sV -Cable_is_adapted_to_conduct\nelectrical_signals.=Cable is adapted to conduct\nelectrical signals. -Current\:_%sA=Current\: %sA -Not_adapted_to_transport_power.=Not adapted to transport power. -Save_usage\:=Save usage\: -Serial_resistance\:_%sΩ=Serial resistance\: %sΩ - -# ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerDescriptor.java -It_can_store_up_to_256_points.=It can store up to 256 points. -Measures_the_voltage_of_an\nelectrical_signal_and_plots\nthe_data_in_real_time.=Measures the voltage of an\nelectrical signal and plots\nthe data in real time. - -# ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerGui.java -Back_to_display=Back to display -Configuration=Configuration -Current_[A]=Current [A] -Energy_[J]=Energy [J] -Percent_[-]%=Percent [-]% -Power_[W]=Power [W] -Print=Print -Sampling_period=Sampling period -Temp._[*C]=Temp. [*C] -Voltage_[V]=Voltage [V] -Y-axis_max=Y-axis max -Y-axis_min=Y-axis min - -# ./src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorContainer.java - -# ./src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorDescriptor.java -Output_voltage_increases\nif_entities_are_moving_around.=Output voltage increases\nif entities are moving around. - -# ./src/main/java/mods/eln/sixnode/electricalfiredetector/ElectricalFireDetectorDescriptor.java -Output_voltage_increases\nif_a_fire_has_been_detected.=Output voltage increases\nif a fire has been detected. - -# ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceDescriptor.java -Provides_configurable_signal\nvoltage.=Provides configurable signal\nvoltage. - -# ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceGui.java -Output_at_%s=Output at %s - -# ./src/main/java/mods/eln/sixnode/electricallightsensor/ElectricalLightSensorDescriptor.java -0V_at_night,_%sV_at_noon.=0V at night, %sV at noon. -Provides_an_electrical_voltage\nin_the_presence_of_light.=Provides an electrical voltage\nin the presence of light. -Provides_an_electrical_voltage\nwhich_is_proportional_to\nthe_intensity_of_daylight.=Provides an electrical voltage\nwhich is proportional to\nthe intensity of daylight. - -# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathContainer.java - -# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathDescriptor.java -Applicable_boolean_operators\:=Applicable boolean operators\: -Applicable_functions\:=Applicable functions\: -Applicable_mathematical_operators\:=Applicable mathematical operators\: -Calculates_an_output_signal_from\n3_inputs_(A,_B,_C)_using_an_equation.=Calculates an output signal from\n3 inputs (A, B, C) using an equation. - -# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathGui.java -%s_Redstone(s)_required=%s Redstone(s) required -Equation_required!=Equation required\! -Inputs_are=Inputs are -Invalid_equation!=Invalid equation\! -Output_voltage_formula=Output voltage formula -Waiting_for_completion...=Waiting for completion... - -# ./src/main/java/mods/eln/sixnode/electricalredstoneinput/ElectricalRedstoneInputDescriptor.java -Converts_Redstone_signal\nto_an_electrical_voltage.=Converts Redstone signal\nto an electrical voltage. - -# ./src/main/java/mods/eln/sixnode/electricalredstoneoutput/ElectricalRedstoneOutputDescriptor.java -Converts_electrical_voltage\ninto_a_Redstone_signal.=Converts electrical voltage\ninto a Redstone signal. - -# ./src/main/java/mods/eln/sixnode/electricalrelay/ElectricalRelayDescriptor.java -A_relay_is_an_electrical\ncontact_that_conducts_electric\ncurrent_or_not,_depending\nthe_actual_input_signal_voltage.=A relay is an electrical\ncontact that conducts electric\ncurrent or not, depending\nthe actual input signal voltage. - -# ./src/main/java/mods/eln/sixnode/electricalrelay/ElectricalRelayGui.java -Normally_closed=Normally closed -Normally_open=Normally open - -# ./src/main/java/mods/eln/sixnode/electricalsource/ElectricalSourceDescriptor.java -Creative_block.=Creative block. -Provides_an_ideal_voltage_source\nwithout_energy_or_power_limitation.=Provides an ideal voltage source\nwithout energy or power limitation. - -# ./src/main/java/mods/eln/sixnode/electricalsource/ElectricalSourceGui.java -Output_voltage=Output voltage - -# ./src/main/java/mods/eln/sixnode/electricalswitch/ElectricalSwitchDescriptor.java -Can_break_an_electrical_circuit\ninterrupting_the_current.=Can break an electrical circuit\ninterrupting the current. - -# ./src/main/java/mods/eln/sixnode/electricaltimeout/ElectricalTimeoutDescriptor.java -Upon_application_of_a_high_signal,\nthe_timer_maintains_the_output_high_for\na_configurable_interval._Can_be_re-triggered.=Upon application of a high signal,\nthe timer maintains the output high for\na configurable interval. Can be re-triggered. - -# ./src/main/java/mods/eln/sixnode/electricaltimeout/ElectricalTimeoutGui.java -Set=Set -The_time_interval_the\noutput_is_kept_high.=The time interval the\noutput is kept high. - -# ./src/main/java/mods/eln/sixnode/electricalvumeter/ElectricalVuMeterDescriptor.java -Displays_the_value_of_a_signal.=Displays the value of a signal. - -# ./src/main/java/mods/eln/sixnode/electricalwatch/ElectricalWatchContainer.java -Portable_battery_slot=Portable battery slot - -# ./src/main/java/mods/eln/sixnode/electricalweathersensor/ElectricalWeatherSensorDescriptor.java -Clear\:_%sV=Clear\: %sV -Provides_an_electrical_signal\ndepending_the_actual_weather.=Provides an electrical signal\ndepending the actual weather. -Rain\:_%sV=Rain\: %sV -Storm\:_%sV=Storm\: %sV - -# ./src/main/java/mods/eln/sixnode/electricalwindsensor/ElectricalWindSensorDescriptor.java -Maximum_wind_speed_is_%sm_s=Maximum wind speed is %sm/s -Provides_an_electrical_signal\ndependant_on_wind_speed.=Provides an electrical signal\ndependant on wind speed. -You_can't_place_this_block_on_the_floor_or_the_ceiling=You can't place this block on the floor or the ceiling - -# ./src/main/java/mods/eln/sixnode/electricasensor/ElectricalSensorDescriptor.java -Can_measure_Voltage_Power_Current=Can measure Voltage/Power/Current -Measures_electrical_values_on_cables.=Measures electrical values on cables. -Measures_voltage_on_cables.=Measures voltage on cables. - -# ./src/main/java/mods/eln/sixnode/electricasensor/ElectricalSensorGui.java -Current=Current -Measured_voltage\ncorresponding\nto_0%_output=Measured voltage\ncorresponding\nto 0% output -Measured_voltage\ncorresponding\nto_100%_output=Measured voltage\ncorresponding\nto 100% output -Voltage=Voltage - -# ./src/main/java/mods/eln/sixnode/energymeter/EnergyMeterGui.java -Change_password=Change password -Counter_Mode=Counter Mode -Counts_the_energy_conducted_from\n\u00a74red\u00a7f_to_\u00a71blue\u00a7f.=Counts the energy conducted from\n\\u00a74red\\u00a7f to \\u00a71blue\\u00a7f. -Energy_counter\:_%sJ=Energy counter\: %sJ -Enter_new_energy=Enter new energy -Enter_password=Enter password -Prepay_Mode=Prepay Mode -Reset_time_counter=Reset time counter -Set_energy_counter=Set energy counter -Time_counter\:=Time counter\: -Try_password=Try password -You_can_set_an_initial\namount_of_available_energy.\nWhen_the_counter_arrives_at_0\nthe_contact_will_be_opened.=You can set an initial\namount of available energy.\nWhen the counter arrives at 0\nthe contact will be opened. -is_off=is off -is_on=is on -value_in_kJ=value in kJ - -# ./src/main/java/mods/eln/sixnode/groundcable/GroundCableDescriptor.java -Can_be_used_to_set_a_point_of_an\nelectrical_network_to_0V_potential.\nFor_example_to_ground_negative_battery_contacts.=Can be used to set a point of an\nelectrical network to 0V potential.\nFor example to ground negative battery contacts. -Provides_a_zero_volt_reference.=Provides a zero volt reference. - -# ./src/main/java/mods/eln/sixnode/hub/HubDescriptor.java -Allows_crossing_cables\non_one_single_block.=Allows crossing cables\non one single block. - -# ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketDescriptor.java -Angle\:_%s°_to_%s°=Angle\: %s° to %s° -Spot_range\:_%s_blocks=Spot range\: %s blocks - -# ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketGuiDraw.java -%s_is_not_in_range!=%s is not in range\! -Cable_slot_empty=Cable slot empty -Orientation\:_%s°=Orientation\: %s° -Parallel=Parallel -Powered_by_Lamp_Supply=Powered by Lamp Supply -Powered_by_cable=Powered by cable -Serial=Serial -Specify_the_supply_channel=Specify the supply channel - -# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyContainer.java -Electrical_cable_slot\nBase_range_is_32_blocks.\nEach_additional_cable\nincreases_range_by_one.=Electrical cable slot\nBase range is 32 blocks.\nEach additional cable\nincreases range by one. - -# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyDescriptor.java -Supplies_all_lamps_on_the_channel.=Supplies all lamps on the channel. - -# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyGui.java -Power_channel_name=Power channel name -Wireless_channel_name=Wireless channel name - -# ./src/main/java/mods/eln/sixnode/modbusrtu/ModbusRtuGui.java -Add=Add -Channel_name=Channel name -Modbus_ID=Modbus ID -Modbus_RTU=Modbus RTU -Station_ID=Station ID -Station_name=Station name -Wireless_RX=Wireless RX -Wireless_TX=Wireless TX - -# ./src/main/java/mods/eln/sixnode/powercapacitorsix/PowerCapacitorSixContainer.java -(Increases_maximum_voltage)=(Increases maximum voltage) - -# ./src/main/java/mods/eln/sixnode/powercapacitorsix/PowerCapacitorSixGui.java - -# ./src/main/java/mods/eln/sixnode/powerinductorsix/PowerInductorSixContainer.java - -# ./src/main/java/mods/eln/sixnode/powerinductorsix/PowerInductorSixGui.java - -# ./src/main/java/mods/eln/sixnode/powersocket/PowerSocketDescriptor.java -Supplies_any_device\nplugged_in_with_energy.=Supplies any device\nplugged in with energy. - -# ./src/main/java/mods/eln/sixnode/powersocket/PowerSocketGui.java -Specify_the_device_to_supply_through_this_socket.=Specify the device to supply through this socket. - -# ./src/main/java/mods/eln/sixnode/resistor/ResistorContainer.java -(Sets_resistance)=(Sets resistance) -Coal_dust_slot=Coal dust slot - -# ./src/main/java/mods/eln/sixnode/thermalcable/ThermalCableDescriptor.java -High_parallel_resistance\n_\=>_Low_power_dissipation.=High parallel resistance\n \=> Low power dissipation. -Low_serial_resistance\n_\=>_High_conductivity.=Low serial resistance\n \=> High conductivity. -Parallel_resistance\:_%sK_W=Parallel resistance\: %sK/W -Serial_resistance\:_%sK_W=Serial resistance\: %sK/W - -# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorContainer.java -Cable_slot=Cable slot - -# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorDescriptor.java -Can_measure\:=Can measure\: -Measures_temperature_of_cables.=Measures temperature of cables. -Measures_thermal_values_on_cables.=Measures thermal values on cables. -__Temperature_Power_conducted=Temperature/Power conducted - -# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorGui.java -Measured_temperature\ncorresponding\nto_0%_output=Measured temperature\ncorresponding\nto 0% output -Measured_temperature\ncorresponding\nto_100%_output=Measured temperature\ncorresponding\nto 100% output -Temperature=Temperature - -# ./src/main/java/mods/eln/sixnode/tutorialsign/TutorialSignElement.java -No_text_associated_to_this_beacon=No text associated to this beacon - -# ./src/main/java/mods/eln/sixnode/tutorialsign/TutorialSignGui.java -Set_beacon_name=Set beacon name - -# ./src/main/java/mods/eln/sixnode/wirelesssignal/rx/WirelessSignalRxGui.java - -# ./src/main/java/mods/eln/transparentnode/FuelGenerator.kt -Nominal_power\:_%s_W=Nominal power\: %s W -Nominal_voltage\:_%s_V=Nominal voltage\: %s V -Produces_electricity_using_fuel.=Produces electricity using fuel. - -# ./src/main/java/mods/eln/transparentnode/LargeRheostat.kt -Nom._Resistance\:_%s=Nom. Resistance\: %s - -# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerContainer.java -Drill_slot=Drill slot -Mining_pipe_slot=Mining pipe slot -Ore_scanner_slot=Ore scanner slot - -# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerDescriptor.java -Excavates_on_a_small_radius.\nExtracts_ore_on_a_bigger_radius\:\n10_blocks_radius_after_10_blocks_depth.=Excavates on a small radius.\nExtracts ore on a bigger radius\:\n10 blocks radius after 10 blocks depth. - -# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerGuiDraw.java -Chest_missing_on_the\nback_of_the_auto_miner!=Chest missing on the\nback of the auto miner\! -Halves_speed,_triples_power_draw=Halves speed, triples power draw -Silk_Touch_Off=Silk Touch Off -Silk_Touch_On=Silk Touch On -Silk_touch=Silk touch - -# ./src/main/java/mods/eln/transparentnode/battery/BatteryContainer.java -Overheating_protection=Overheating protection -Overvoltage_protection=Overvoltage protection - -# ./src/main/java/mods/eln/transparentnode/battery/BatteryDescriptor.java -Actual_charge\:_%s=Actual charge\: %s -Energy_capacity\:_%sJ=Energy capacity\: %sJ -_charged_at_%s=charged at %s - -# ./src/main/java/mods/eln/transparentnode/battery/BatteryGuiDraw.java -Charge=Charge -Charged=Charged -Discharge=Discharge -Energy\:=Energy\: -Energy\:_%s=Energy\: %s -Life\:=Life\: -No_charge=No charge -Power_in\:=Power in\: -Power_out\:=Power out\: - -# ./src/main/java/mods/eln/transparentnode/eggincubator/EggIncubatorContainer.java -Egg_slot=Egg slot - -# ./src/main/java/mods/eln/transparentnode/electricalantennarx/ElectricalAntennaRxDescriptor.java -Wireless_energy_receiver.=Wireless energy receiver. - -# ./src/main/java/mods/eln/transparentnode/electricalantennatx/ElectricalAntennaTxDescriptor.java -Efficiency\:_%s_up_to_%s=Efficiency\: %s up to %s -Wireless_energy_transmitter.=Wireless energy transmitter. - -# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceContainer.java -Heating_corp_slot=Heating corp slot - -# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceDescriptor.java -Similar_to_a_vanilla_furnace,\nbut_heats_with_electricity.=Similar to a vanilla furnace,\nbut heats with electricity. - -# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceGuiDraw.java -Auto_shutdown=Auto shutdown -Manual_shutdown=Manual shutdown -Set_point\:_%s°C=Set point\: %s°C - -# ./src/main/java/mods/eln/transparentnode/electricalmachine/ElectricalMachineDescriptor.java -Cost=Cost - -# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceContainer.java -Combustion_chamber_slot=Combustion chamber slot -Fuel_slot=Fuel slot - -# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceDescriptor.java -Generates_heat_when_supplied_with_fuel.=Generates heat when supplied with fuel. - -# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceGuiDraw.java -Control_gauge_at_%s=Control gauge at %s -Decline_fuel=Decline fuel -External_control=External control -Internal_control=Internal control -Take_fuel=Take fuel - -# ./src/main/java/mods/eln/transparentnode/powercapacitor/PowerCapacitorContainer.java -(Increases_maximal_voltage)=(Increases maximal voltage) - -# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelContainer.java -Solar_tracker_slot=Solar tracker slot - -# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelDescriptor.java -Can_be_geared_towards_the_sun.=Can be geared towards the sun. -Max._power\:_%sW=Max. power\: %sW -Max._voltage\:_%sV=Max. voltage\: %sV -Produces_power_from_solar_radiation.=Produces power from solar radiation. - -# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPannelGuiDraw.java -It_is_night=It is night -Solar_panel_angle\:_%s°=Solar panel angle\: %s° -Sun_angle\:_%s°=Sun angle\: %s° - -# ./src/main/java/mods/eln/transparentnode/teleporter/TeleporterGui.java -Destination_transporter=Destination transporter -Power_consumption\:=Power consumption\: -Power_consumption\:_%sW=Power consumption\: %sW -Required_energy\:_%sJ=Required energy\: %sJ -Start=Start -Transporter_name=Transporter name - -# ./src/main/java/mods/eln/transparentnode/thermaldissipatoractive/ThermalDissipatorActiveDescriptor.java -Fan_cooling_power\:_%sW=Fan cooling power\: %sW -Fan_power_consumption\:_%sW=Fan power consumption\: %sW -Fan_voltage\:_%sV=Fan voltage\: %sV - -# ./src/main/java/mods/eln/transparentnode/transformer/TransformerDescriptor.java -The_voltage_ratio_is_proportional\nto_the_cable_stacks_count_ratio.=The voltage ratio is proportional\nto the cable stacks count ratio. -Transforms_an_input_voltage_to\nan_output_voltage.=Transforms an input voltage to\nan output voltage. - -# ./src/main/java/mods/eln/transparentnode/turbine/TurbineDescriptor.java -Generates_electricity_using_heat.=Generates electricity using heat. -Temperature_difference\:_%s°C=Temperature difference\: %s°C - -# ./src/main/java/mods/eln/transparentnode/turret/TurretDescriptor.java -CAUTION\:_Cables_can_get_quite_hot!=CAUTION\: Cables can get quite hot\! -Laser_charge_power\:_%sW...%skW=Laser charge power\: %sW...%skW -Scans_for_entities_and_shoots_if_the\nentity_matches_the_configurable_filter_criteria.=Scans for entities and shoots if the\nentity matches the configurable filter criteria. -Standby_power\:_%sW=Standby power\: %sW - -# ./src/main/java/mods/eln/transparentnode/turret/TurretGui.java -Attack\:=Attack\: -Do_not_attack\:=Do not attack\: -Recharge_power\:=Recharge power\: - -# ./src/main/java/mods/eln/transparentnode/waterturbine/WaterTurbineDescriptor.java -Generates_energy_using_water_stream.=Generates energy using water stream. -No_place_for_water_turbine!=No place for water turbine\! - -# ./src/main/java/mods/eln/transparentnode/windturbine/WindTurbineDescriptor.java -Front\:_%s=Front\: %s -Generates_energy_from_wind.=Generates energy from wind. -Left_Right\:_%s=Left/Right\: %s -Up_Down\:_%s=Up/Down\: %s -Wind_area\:=Wind area\: - -# ./src/main/java/mods/eln/wiki/Data.java -Energy=Energy -Light=Light -Machine=Machine -Ore=Ore -Portable=Portable -Resource=Resource -Signal=Signal -Thermal=Thermal -Upgrade=Upgrade -Utilities=Utilities -Wiring=Wiring - -# ./src/main/java/mods/eln/wiki/Default.java -Previous=Previous - -# ./src/main/java/mods/eln/wiki/ItemDefault.java -Can_be_used_to_craft\:=Can be used to craft\: -Cannot_be_crafted!=Cannot be crafted\! -Cost_%sJ=Cost %sJ -Created_by\:=Created by\: -Is_not_a_crafting_material!=Is not a crafting material\! -Recipe\:=Recipe\: - -# Appearing in multiple source files -(Increases_capacity)=(Increases capacity) -(Increases_inductance)=(Increases inductance) -Actual\:_%s°C=Actual\: %s°C -Biggest=Biggest -Booster_slot=Booster slot -Can_create\:=Can create\: -Capacity\:_%sF=Capacity\: %sF -Charge_power\:_%sW=Charge power\: %sW -Connected=Connected -Cooling_power\:_%sW=Cooling power\: %sW -Copper_cable_slot=Copper cable slot -Dielectric_slot=Dielectric slot -Discharge_power\:_%sW=Discharge power\: %sW -Electrical_cable_slot=Electrical cable slot -Entity_filter_slot=Entity filter slot -Ferromagnetic_core_slot=Ferromagnetic core slot -Has_a_signal_output.=Has a signal output. -Inductance\:_%sH=Inductance\: %sH -Internal_resistance\:_%sΩ=Internal resistance\: %sΩ -Is_off=Is off -Is_on=Is on -Max._temperature\:_%s°C=Max. temperature\: %s°C -Measured_value\ncorresponding\nto_0%_output=Measured value\ncorresponding\nto 0% output -Measured_value\ncorresponding\nto_100%_output=Measured value\ncorresponding\nto 100% output -Nominal\:=Nominal\: -Nominal_power\:_%sW=Nominal power\: %sW -Nominal_usage\:=Nominal usage\: -Nominal_voltage\:_%sV=Nominal voltage\: %sV -Not_connected=Not connected -Not_enough_space_for_this_block=Not enough space for this block -Power=Power -Power\:_%sW=Power\: %sW -Range\:_%s_blocks=Range\: %s blocks -Redstone_slot=Redstone slot -Regulator_slot=Regulator slot -Reset=Reset -Resistance\:_%sΩ=Resistance\: %sΩ -Smallest=Smallest -Specify_the_channel=Specify the channel -Stored_energy\:_%sJ_(%s)=Stored energy\: %sJ (%s) -Temperature\:_%s°C=Temperature\: %s°C -Temperature_gauge=Temperature gauge -Thermal_isolator_slot=Thermal isolator slot -Toggle=Toggle -Toggle_switch=Toggle switch -Toggles_the_output_each_time\nan_emitter's_value_rises.\nUseful_to_allow_multiple_buttons\nto_control_the_same_light.=Toggles the output each time\nan emitter's value rises.\nUseful to allow multiple buttons\nto control the same light. -Used_to_cool_down_turbines.=Used to cool down turbines. -Uses_the_biggest\nvalue_on_the_channel.=Uses the biggest\nvalue on the channel. -Uses_the_smallest\nvalue_on_the_channel.=Uses the smallest\nvalue on the channel. -Validate=Validate -Voltage\:_%sV=Voltage\: %sV -You_can't_place_this_block_at_this_side=You can't place this block at this side +eln:# +eln: +eln:# ./src/main/java/mods/eln/Achievements.java +eln:Electrical_Age_[WIP]=Electrical Age [WIP] +eln:achievement.craft_50v_macerator=Crushing Novice +eln:achievement.craft_50v_macerator.desc=Craft a 50V Macerator +eln:achievement.open_guide=Wiki Power +eln:achievement.open_guide.desc=Open the wiki guide +eln: +eln:# ./src/main/java/mods/eln/Eln.java +eln:10A_Diode.name=10A Diode +eln:200V_Active_Thermal_Dissipator.name=200V Active Thermal Dissipator +eln:200V_Battery_Charger.name=200V Battery Charger +eln:200V_Compressor.name=200V Compressor +eln:200V_Condensator.name=200V Condensator +eln:200V_Copper_Heating_Corp.name=200V Copper Heating Corp +eln:200V_Economic_Light_Bulb.name=200V Economic Light Bulb +eln:200V_Farming_Lamp.name=200V Farming Lamp +eln:200V_Fuel_Generator.name=200V Fuel Generator +eln:200V_Incandescent_Light_Bulb.name=200V Incandescent Light Bulb +eln:200V_Iron_Heating_Corp.name=200V Iron Heating Corp +eln:200V_LED_Bulb.name=200V LED Bulb +eln:200V_Macerator.name=200V Macerator +eln:200V_Magnetizer.name=200V Magnetizer +eln:200V_Plate_Machine.name=200V Plate Machine +eln:200V_Power_Socket.name=200V Power Socket +eln:200V_Tungsten_Heating_Corp.name=200V Tungsten Heating Corp +eln:200V_Turbine.name=200V Turbine +eln:25A_Diode.name=25A Diode +eln:50V_Battery_Charger.name=50V Battery Charger +eln:50V_Carbon_Incandescent_Light_Bulb.name=50V Carbon Incandescent Light Bulb +eln:50V_Compressor.name=50V Compressor +eln:50V_Condensator.name=50V Condensator +eln:50V_Copper_Heating_Corp.name=50V Copper Heating Corp +eln:50V_Economic_Light_Bulb.name=50V Economic Light Bulb +eln:50V_Egg_Incubator.name=50V Egg Incubator +eln:50V_Farming_Lamp.name=50V Farming Lamp +eln:50V_Fuel_Generator.name=50V Fuel Generator +eln:50V_Incandescent_Light_Bulb.name=50V Incandescent Light Bulb +eln:50V_Iron_Heating_Corp.name=50V Iron Heating Corp +eln:50V_LED_Bulb.name=50V LED Bulb +eln:50V_Macerator.name=50V Macerator +eln:50V_Magnetizer.name=50V Magnetizer +eln:50V_Plate_Machine.name=50V Plate Machine +eln:50V_Power_Socket.name=50V Power Socket +eln:50V_Tungsten_Heating_Corp.name=50V Tungsten Heating Corp +eln:50V_Turbine.name=50V Turbine +eln:800V_Defence_Turret.name=800V Defence Turret +eln:AND_Chip.name=AND Chip +eln:Advanced_Chip.name=Advanced Chip +eln:Advanced_Electrical_Motor.name=Advanced Electrical Motor +eln:Advanced_Energy_Meter.name=Advanced Energy Meter +eln:Advanced_Machine_Block.name=Advanced Machine Block +eln:Advanced_Magnet.name=Advanced Magnet +eln:AllMeter.name=Universal-Meter +eln:Alloy_Dust.name=Alloy Dust +eln:Alloy_Ingot.name=Alloy Ingot +eln:Alloy_Plate.name=Alloy Plate +eln:Analog_Watch.name=Analog watch +eln:Analog_vuMeter.name=Analog Gauge +eln:Analogic_Regulator.name=Analogic Regulator +eln:Animal_Filter.name=Animal Filter +eln:Auto_Miner.name=Auto Miner +eln:Average_Electrical_Drill.name=Average Electrical Drill +eln:Average_Ferromagnetic_Core.name=Average Ferromagnetic Core +eln:Basic_Magnet.name=Basic Magnet +eln:Black_Brush.name=Black Brush +eln:Blue_Brush.name=Blue Brush +eln:Brown_Brush.name=Brown Brush +eln:Capacity_Oriented_Battery.name=Capacity Oriented Battery +eln:Cheap_Chip.name=Cheap Chip +eln:Cheap_Electrical_Drill.name=Cheap Electrical Drill +eln:Cheap_Ferromagnetic_Core.name=Cheap Ferromagnetic Core +eln:Cinnabar_Dust.name=Cinnabar Dust +eln:Cinnabar_Ore.name=Cinnabar Ore +eln:Coal_Dust.name=Coal Dust +eln:Coal_Plate.name=Coal Plate +eln:Combustion_Chamber.name=Combustion Chamber +eln:Copper_Cable.name=Copper Cable +eln:Copper_Dust.name=Copper Dust +eln:Copper_Ingot.name=Copper Ingot +eln:Copper_Ore.name=Copper Ore +eln:Copper_Plate.name=Copper Plate +eln:Copper_Thermal_Cable.name=Copper Thermal Cable +eln:Cost_Oriented_Battery.name=Cost Oriented Battery +eln:Current_Oriented_Battery.name=Current Oriented Battery +eln:Cyan_Brush.name=Cyan Brush +eln:D_Flip_Flop_Chip.name=D Flip Flop Chip +eln:Data_Logger.name=Data Logger +eln:Data_Logger_Print.name=Data Logger Print +eln:Dielectric.name=Dielectric +eln:Digital_Watch.name=Digital Watch +eln:Electrical_Anemometer_Sensor.name=Electrical Anemometer Sensor +eln:Electrical_Breaker.name=Electrical Breaker +eln:Electrical_Daylight_Sensor.name=Electrical Daylight Sensor +eln:Electrical_Entity_Sensor.name=Electrical Entity Sensor +eln:Electrical_Fire_Detector.name=Electrical Fire Detector +eln:Electrical_Furnace.name=Electrical Furnace +eln:Electrical_Light_Sensor.name=Electrical Light Sensor +eln:Electrical_Motor.name=Electrical Motor +eln:Electrical_Probe.name=Electrical Probe +eln:Electrical_Probe_Chip.name=Electrical Probe Chip +eln:Electrical_Source.name=Electrical Source +eln:Electrical_Timer.name=Electrical Timer +eln:Electrical_Weather_Sensor.name=Electrical Weather Sensor +eln:Electrical_age_wrench,\nCan_be_used_to_turn\nsmall_wall_blocks=Electrical age wrench,\nCan be used to turn\nsmall wall blocks +eln:Energy_Meter.name=Energy Meter +eln:Experimental_Transporter.name=Experimental Transporter +eln:Fast_Electrical_Drill.name=Fast Electrical Drill +eln:Ferrite_Ingot.name=Ferrite Ingot +eln:Flat_Lamp_Socket.name=Flat Lamp Socket +eln:Fluorescent_Lamp_Socket.name=Fluorescent Lamp Socket +eln:Generator.name=Generator +eln:Gold_Dust.name=Gold Dust +eln:Gold_Plate.name=Gold Plate +eln:Gray_Brush.name=Gray Brush +eln:Green_Brush.name=Green Brush +eln:Ground_Cable.name=Ground Cable +eln:High_Power_Receiver_Antenna.name=High Power Receiver Antenna +eln:High_Power_Transmitter_Antenna.name=High Power Transmitter Antenna +eln:High_Voltage_Cable.name=High Voltage Cable +eln:High_Voltage_Relay.name=High Voltage Relay +eln:High_Voltage_Switch.name=High Voltage Switch +eln:Hub.name=Hub +eln:Industrial_Data_Logger.name=Industrial Data Logger +eln:Iron_Cable.name=Iron Cable +eln:Iron_Dust.name=Iron Dust +eln:Iron_Plate.name=Iron Plate +eln:JK_Flip_Flop_Chip.name=JK Flip Flop Chip +eln:LED_vuMeter.name=LED vuMeter +eln:Lamp_Socket_A.name=Lamp Socket A +eln:Lamp_Socket_B_Projector.name=Lamp Socket B Projector +eln:Lamp_Supply.name=Lamp Supply +eln:Large_Rheostat.name=Large Rheostat +eln:Lead_Dust.name=Lead Dust +eln:Lead_Ingot.name=Lead Ingot +eln:Lead_Ore.name=Lead Ore +eln:Lead_Plate.name=Lead Plate +eln:Life_Oriented_Battery.name=Life Oriented Battery +eln:Light_Blue_Brush.name=Light Blue Brush +eln:Lime_Brush.name=Lime Brush +eln:Long_Suspended_Lamp_Socket.name=Long Suspended Lamp Socket +eln:Low_Power_Receiver_Antenna.name=Low Power Receiver Antenna +eln:Low_Power_Transmitter_Antenna.name=Low Power Transmitter Antenna +eln:Low_Voltage_Cable.name=Low Voltage Cable +eln:Low_Voltage_Relay.name=Low Voltage Relay +eln:Low_Voltage_Switch.name=Low Voltage Switch +eln:Machine_Block.name=Machine Block +eln:Machine_Booster.name=Machine Booster +eln:Magenta_Brush.name=Magenta Brush +eln:Medium_Power_Receiver_Antenna.name=Medium Power Receiver Antenna +eln:Medium_Power_Transmitter_Antenna.name=Medium Power Transmitter Antenna +eln:Medium_Voltage_Cable.name=Medium Voltage Cable +eln:Medium_Voltage_Relay.name=Medium Voltage Relay +eln:Medium_Voltage_Switch.name=Medium Voltage Switch +eln:Mercury.name=Mercury +eln:Mining_Pipe.name=Mining Pipe +eln:Modbus_RTU.name=Modbus RTU +eln:Modern_Data_Logger.name=Modern Data Logger +eln:Monster_Filter.name=Monster Filter +eln:MultiMeter.name=Multimeter +eln:NAND_Chip.name=NAND Chip +eln:NOR_Chip.name=NOR Chip +eln:NOT_Chip.name=NOT Chip +eln:Nuclear_Alarm.name=Nuclear Alarm +eln:OR_Chip.name=OR Chip +eln:On_OFF_Regulator_10_Percent.name=On/off regulator 10% +eln:On_OFF_Regulator_1_Percent.name=On/off regulator 1% +eln:Optimal_Ferromagnetic_Core.name=Optimal Ferromagnetic Core +eln:Orange_Brush.name=Orange Brush +eln:Ore_Scanner.name=Ore Scanner +eln:Oscillator_Chip.name=Oscillator Chip +eln:Overheating_Protection.name=Overheating Protection +eln:Overvoltage_Protection.name=Overvoltage Protection +eln:PAL_Chip.name=PAL Chip +eln:Pink_Brush.name=Pink Brush +eln:Player_Filter.name=Player Filter +eln:Portable_Battery.name=Portable Battery +eln:Portable_Battery_Pack.name=Portable Battery Pack +eln:Portable_Condensator.name=Portable Condensator +eln:Portable_Condensator_Pack.name=Portable Condensator Pack +eln:Portable_Electrical_Axe.name=Portable Electrical Axe +eln:Portable_Electrical_Mining_Drill.name=Portable Electrical Mining Drill +eln:Power_Capacitor.name=Power Capacitor +eln:Power_Inductor.name=Power Inductor +eln:Power_Resistor.name=Power Resistor +eln:Power_capacitor.name=Power capacitor +eln:Power_inductor.name=Power inductor +eln:Purple_Brush.name=Purple Brush +eln:Red_Brush.name=Red Brush +eln:Redstone-to-Voltage_Converter.name=Redstone-to-Voltage Converter +eln:Rheostat.name=Rheostat +eln:Robust_Lamp_Socket.name=Robust Lamp Socket +eln:Rubber.name=Rubber +eln:Schmitt_Trigger_Chip.name=Schmitt Trigger Chip +eln:Sconce_Lamp_Socket.name=Sconce Lamp Socket +eln:Signal_20H_inductor.name=Signal 20H inductor +eln:Signal_Antenna.name=Signal Antenna +eln:Signal_Button.name=Signal Button +eln:Signal_Cable.name=Signal Cable +eln:Signal_Diode.name=Signal Diode +eln:Signal_Processor.name=Signal Processor +eln:Signal_Relay.name=Signal Relay +eln:Signal_Source.name=Signal Source +eln:Signal_Switch.name=Signal Switch +eln:Signal_Switch_with_LED.name=Signal Switch with LED +eln:Signal_Trimmer.name=Signal Trimmer +eln:Silicon_Dust.name=Silicon Dust +eln:Silicon_Ingot.name=Silicon Ingot +eln:Silicon_Plate.name=Silicon Plate +eln:Silver_Brush.name=Silver Brush +eln:Simple_Lamp_Socket.name=Simple Lamp Socket +eln:Single-use_Battery.name=Single-use Battery +eln:Small_200V_Copper_Heating_Corp.name=Small 200V Copper Heating Corp +eln:Small_200V_Iron_Heating_Corp.name=Small 200V Iron Heating Corp +eln:Small_200V_Tungsten_Heating_Corp.name=Small 200V Tungsten Heating Corp +eln:Small_50V_Carbon_Incandescent_Light_Bulb.name=Small 50V Carbon Incandescent Light Bulb +eln:Small_50V_Copper_Heating_Corp.name=Small 50V Copper Heating Corp +eln:Small_50V_Economic_Light_Bulb.name=Small 50V Economic Light Bulb +eln:Small_50V_Incandescent_Light_Bulb.name=Small 50V Incandescent Light Bulb +eln:Small_50V_Iron_Heating_Corp.name=Small 50V Iron Heating Corp +eln:Small_50V_Tungsten_Heating_Corp.name=Small 50V Tungsten Heating Corp +eln:Small_Active_Thermal_Dissipator.name=Small Active Thermal Dissipator +eln:Small_Flashlight.name=Small Flashlight +eln:Small_Passive_Thermal_Dissipator.name=Small Passive Thermal Dissipator +eln:Small_Rotating_Solar_Panel.name=Small Rotating Solar Panel +eln:Small_Solar_Panel.name=Small Solar Panel +eln:Solar_Tracker.name=Solar Tracker +eln:Standard_Alarm.name=Standard Alarm +eln:Steam_Turbine.name=Steam Turbine +eln:Stone_Heat_Furnace.name=Stone Heat Furnace +eln:Street_Light.name=Streetlight +eln:Suspended_Lamp_Socket.name=Suspended Lamp Socket +eln:Temperature_Probe.name=Temperature Probe +eln:Thermal_Probe.name=Thermal Probe +eln:Thermal_Probe_Chip.name=Thermal Probe Chip +eln:Thermistor.name=Thermistor +eln:ThermoMeter.name=Thermometer +eln:Transformer.name=Transformer +eln:Tree_Resin.name=Tree Resin +eln:Tree_Resin_Collector.name=Tree Resin Collector +eln:Tungsten_Cable.name=Tungsten Cable +eln:Tungsten_Dust.name=Tungsten Dust +eln:Tungsten_Ingot.name=Tungsten Ingot +eln:Tungsten_Ore.name=Tungsten Ore +eln:Tutorial_Sign.name=Tutorial Sign +eln:Very_High_Voltage_Cable.name=Very High Voltage Cable +eln:Very_High_Voltage_Relay.name=Very High Voltage Relay +eln:Very_High_Voltage_Switch.name=Very High Voltage Switch +eln:Voltage-to-Redstone_Converter.name=Voltage-to-Redstone Converter +eln:Voltage_Oriented_Battery.name=Voltage Oriented Battery +eln:Voltage_Probe.name=Voltage Probe +eln:Water_Turbine.name=Water Turbine +eln:Weak_50V_Battery_Charger.name=Weak 50V Battery Charger +eln:White_Brush.name=White Brush +eln:Wind_Turbine.name=Wind Turbine +eln:Wireless_Analyser.name=Wireless Analyzer +eln:Wireless_Button.name=Wireless Button +eln:Wireless_Signal_Receiver.name=Wireless Signal Receiver +eln:Wireless_Signal_Repeater.name=Wireless Signal Repeater +eln:Wireless_Signal_Transmitter.name=Wireless Signal Transmitter +eln:Wireless_Switch.name=Wireless Switch +eln:Wrench.name=Wrench +eln:X-Ray_Scanner.name=X-Ray Scanner +eln:XNOR_Chip.name=XNOR Chip +eln:XOR_Chip.name=XOR Chip +eln:Yellow_Brush.name=Yellow Brush +eln:entity.EAReplicator.name=Replicator +eln:item.Copper Axe.name\=Copper Axe +eln:item.Copper Axe.name\=Copper Axe +eln:item.Copper Axe.name\=Copper Axe +eln:item.Copper Axe.name\=Copper Axe +eln:item.Copper Axe.name\=Copper Axe +eln:item.Copper Axe.name\=Copper Axe +eln:item.Copper Axe.name\=Copper Axe +eln:item.Copper Axe.name\=Copper Axe +eln:item.Copper Axe.name\=Copper Axe +eln:item.E-Coal Boots.name\=E-Coal Boots +eln:item.E-Coal Boots.name\=E-Coal Boots +eln:item.E-Coal Boots.name\=E-Coal Boots +eln:item.E-Coal Boots.name\=E-Coal Boots +eln:itemGroup.Eln=Electrical Age +eln:mod.meta.desc=Electricity in your base\! +eln:tile.eln.ElnProbe.name=Eln Computer Probe +eln:tile.eln.EnergyConverterElnToOtherHVUBlock.name=800V Electrical Age to other energy exporter +eln:tile.eln.EnergyConverterElnToOtherLVUBlock.name=50V Electrical Age to other energy exporter +eln:tile.eln.EnergyConverterElnToOtherMVUBlock.name=200V Electrical Age to other energy exporter +eln: +eln:# ./src/main/java/mods/eln/i18n/I18N.java +eln:You_have_%s_lives_left=You have %s lives left +eln: +eln:# ./src/main/java/mods/eln/item/BrushDescriptor.java +eln:Brush_is_dry=Brush is dry +eln:Can_paint_%s_blocks=Can paint %s blocks +eln: +eln:# ./src/main/java/mods/eln/item/CombustionChamber.java +eln:Upgrade_for_the_Stone_Heat_Furnace.=Upgrade for the Stone Heat Furnace. +eln: +eln:# ./src/main/java/mods/eln/item/ElectricalDrillDescriptor.java +eln:Energy_per_operation\:_%sJ=Energy per operation\: %sJ +eln:Time_per_operation\:_%ss=Time per operation\: %ss +eln: +eln:# ./src/main/java/mods/eln/item/FerromagneticCoreDescriptor.java +eln:Cable_loss_factor\:_%s=Cable loss factor\: %s +eln: +eln:# ./src/main/java/mods/eln/item/HeatingCorpElement.java +eln: +eln:# ./src/main/java/mods/eln/item/LampDescriptor.java +eln:Bad=Bad +eln:Condition\:=Condition\: +eln:End_of_life=End of life +eln:Good=Good +eln:New=New +eln:Nominal_lifetime\:_%sh=Nominal lifetime\: %sh +eln:Technology\:_%s=Technology\: %s +eln:Used=Used +eln: +eln:# ./src/main/java/mods/eln/item/LampSlot.java +eln:Lamp_slot=Lamp slot +eln: +eln:# ./src/main/java/mods/eln/item/OverHeatingProtectionDescriptor.java +eln:Useful_to_prevent_overheating\nof_Batteries=Useful to prevent overheating\nof Batteries +eln: +eln:# ./src/main/java/mods/eln/item/OverVoltageProtectionDescriptor.java +eln:Useful_to_prevent_over-voltage\nof_Batteries=Useful to prevent over-voltage\nof Batteries +eln: +eln:# ./src/main/java/mods/eln/item/SolarTrackerDescriptor.java +eln:Solar_panel_upgrade=Solar panel upgrade +eln: +eln:# ./src/main/java/mods/eln/item/electricalitem/BatteryItem.java +eln: +eln:# ./src/main/java/mods/eln/item/electricalitem/ElectricalLampItem.java +eln:Off=Off +eln:On=On +eln:State\:=State\: +eln:Stored_Energy\:_%sJ_(%s)=Stored Energy\: %sJ (%s) +eln: +eln:# ./src/main/java/mods/eln/item/regulator/RegulatorSlot.java +eln: +eln:# ./src/main/java/mods/eln/misc/UtilsClient.java +eln:Hold_shift=Hold shift +eln: +eln:# ./src/main/java/mods/eln/misc/Version.java +eln:mod.name=Electrical Age +eln: +eln:# ./src/main/java/mods/eln/node/six/SixNodeDescriptor.java +eln: +eln:# ./src/main/java/mods/eln/simplenode/energyconverter/EnergyConverterElnToOtherGui.java +eln:Input_power_is_limited_to_%sW=Input power is limited to %sW +eln: +eln:# ./src/main/java/mods/eln/sixnode/LogicGate.kt +eln:_O\:_= O\: +eln: +eln:# ./src/main/java/mods/eln/sixnode/TreeResinCollector/TreeResinCollectorDescriptor.java +eln:Produces_Tree_Resin_over\ntime_when_put_on_a_tree.=Produces Tree Resin over\ntime when put on a tree. +eln:This_block_can_only_be_placed_on_the_side_of_a_tree!=This block can only be placed on the side of a tree\! +eln: +eln:# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerContainer.java +eln:Battery_slot=Battery slot +eln: +eln:# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerDescriptor.java +eln:Can_be_used_to_recharge\nelectrical_items_like\:\nFlash_Light,_X-Ray_scanner\nand_Portable_Battery_...=Can be used to recharge\nelectrical items like\:\nFlash Light, X-Ray scanner\nand Portable Battery ... +eln: +eln:# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerGui.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/diode/DiodeDescriptor.java +eln:Electrical_current_can_only\nflow_through_the_diode\nfrom_anode_to_cathode=Electrical current can only\nflow through the diode\nfrom anode to cathode +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalalarm/ElectricalAlarmDescriptor.java +eln:= +eln:Emits_an_acoustic_alarm_if\nthe_input_signal_is_high=Emits an acoustic alarm if\nthe input signal is high +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalalarm/ElectricalAlarmGui.java +eln:Sound_is_muted=Sound is muted +eln:Sound_is_not_muted=Sound is not muted +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerContainer.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerDescriptor.java +eln:Protects_electrical_components\nOpens_contact_if\:\n__-_Voltage_exceeds_a_certain_level\n-_Current_exceeds_the_cable_limit=Protects electrical components\nOpens contact if\:\n - Voltage exceeds a certain level\n- Current exceeds the cable limit +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerGui.java +eln:Maximum_voltage_before_cutting_off=Maximum voltage before cutting off +eln:Minimum_voltage_before_cutting_off=Minimum voltage before cutting off +eln:Switch_is_off=Switch is off +eln:Switch_is_on=Switch is on +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalcable/ElectricalCableDescriptor.java +eln:A_signal_is_electrical_information\nwhich_must_be_between_0V_and_%sV=A signal is electrical information\nwhich must be between 0V and %sV +eln:Cable_is_adapted_to_conduct\nelectrical_signals.=Cable is adapted to conduct\nelectrical signals. +eln:Current\:_%sA=Current\: %sA +eln:Not_adapted_to_transport_power.=Not adapted to transport power. +eln:Save_usage\:=Save usage\: +eln:Serial_resistance\:_%sΩ=Serial resistance\: %sΩ +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerDescriptor.java +eln:It_can_store_up_to_256_points.=It can store up to 256 points. +eln:Measures_the_voltage_of_an\nelectrical_signal_and_plots\nthe_data_in_real_time.=Measures the voltage of an\nelectrical signal and plots\nthe data in real time. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerGui.java +eln:Back_to_display=Back to display +eln:Configuration=Configuration +eln:Current_[A]=Current [A] +eln:Energy_[J]=Energy [J] +eln:Percent_[-]%=Percent [-]% +eln:Power_[W]=Power [W] +eln:Print=Print +eln:Sampling_period=Sampling period +eln:Temp._[*C]=Temp. [*C] +eln:Voltage_[V]=Voltage [V] +eln:Y-axis_max=Y-axis max +eln:Y-axis_min=Y-axis min +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorContainer.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorDescriptor.java +eln:Output_voltage_increases\nif_entities_are_moving_around.=Output voltage increases\nif entities are moving around. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalfiredetector/ElectricalFireDetectorDescriptor.java +eln:Output_voltage_increases\nif_a_fire_has_been_detected.=Output voltage increases\nif a fire has been detected. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceDescriptor.java +eln:Provides_configurable_signal\nvoltage.=Provides configurable signal\nvoltage. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceGui.java +eln:Output_at_%s=Output at %s +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricallightsensor/ElectricalLightSensorDescriptor.java +eln:0V_at_night,_%sV_at_noon.=0V at night, %sV at noon. +eln:Provides_an_electrical_voltage\nin_the_presence_of_light.=Provides an electrical voltage\nin the presence of light. +eln:Provides_an_electrical_voltage\nwhich_is_proportional_to\nthe_intensity_of_daylight.=Provides an electrical voltage\nwhich is proportional to\nthe intensity of daylight. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathContainer.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathDescriptor.java +eln:Applicable_boolean_operators\:=Applicable boolean operators\: +eln:Applicable_functions\:=Applicable functions\: +eln:Applicable_mathematical_operators\:=Applicable mathematical operators\: +eln:Calculates_an_output_signal_from\n3_inputs_(A,_B,_C)_using_an_equation.=Calculates an output signal from\n3 inputs (A, B, C) using an equation. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathGui.java +eln:%s_Redstone(s)_required=%s Redstone(s) required +eln:Equation_required!=Equation required\! +eln:Inputs_are=Inputs are +eln:Invalid_equation!=Invalid equation\! +eln:Output_voltage_formula=Output voltage formula +eln:Waiting_for_completion...=Waiting for completion... +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalredstoneinput/ElectricalRedstoneInputDescriptor.java +eln:Converts_Redstone_signal\nto_an_electrical_voltage.=Converts Redstone signal\nto an electrical voltage. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalredstoneoutput/ElectricalRedstoneOutputDescriptor.java +eln:Converts_electrical_voltage\ninto_a_Redstone_signal.=Converts electrical voltage\ninto a Redstone signal. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalrelay/ElectricalRelayDescriptor.java +eln:A_relay_is_an_electrical\ncontact_that_conducts_electric\ncurrent_or_not,_depending\nthe_actual_input_signal_voltage.=A relay is an electrical\ncontact that conducts electric\ncurrent or not, depending\nthe actual input signal voltage. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalrelay/ElectricalRelayGui.java +eln:Normally_closed=Normally closed +eln:Normally_open=Normally open +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalsource/ElectricalSourceDescriptor.java +eln:Creative_block.=Creative block. +eln:Provides_an_ideal_voltage_source\nwithout_energy_or_power_limitation.=Provides an ideal voltage source\nwithout energy or power limitation. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalsource/ElectricalSourceGui.java +eln:Output_voltage=Output voltage +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalswitch/ElectricalSwitchDescriptor.java +eln:Can_break_an_electrical_circuit\ninterrupting_the_current.=Can break an electrical circuit\ninterrupting the current. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricaltimeout/ElectricalTimeoutDescriptor.java +eln:Upon_application_of_a_high_signal,\nthe_timer_maintains_the_output_high_for\na_configurable_interval._Can_be_re-triggered.=Upon application of a high signal,\nthe timer maintains the output high for\na configurable interval. Can be re-triggered. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricaltimeout/ElectricalTimeoutGui.java +eln:Set=Set +eln:The_time_interval_the\noutput_is_kept_high.=The time interval the\noutput is kept high. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalvumeter/ElectricalVuMeterDescriptor.java +eln:Displays_the_value_of_a_signal.=Displays the value of a signal. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalwatch/ElectricalWatchContainer.java +eln:Portable_battery_slot=Portable battery slot +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalweathersensor/ElectricalWeatherSensorDescriptor.java +eln:Clear\:_%sV=Clear\: %sV +eln:Provides_an_electrical_signal\ndepending_the_actual_weather.=Provides an electrical signal\ndepending the actual weather. +eln:Rain\:_%sV=Rain\: %sV +eln:Storm\:_%sV=Storm\: %sV +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalwindsensor/ElectricalWindSensorDescriptor.java +eln:Maximum_wind_speed_is_%sm_s=Maximum wind speed is %sm/s +eln:Provides_an_electrical_signal\ndependant_on_wind_speed.=Provides an electrical signal\ndependant on wind speed. +eln:You_can't_place_this_block_on_the_floor_or_the_ceiling=You can't place this block on the floor or the ceiling +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricasensor/ElectricalSensorDescriptor.java +eln:Can_measure_Voltage_Power_Current=Can measure Voltage/Power/Current +eln:Measures_electrical_values_on_cables.=Measures electrical values on cables. +eln:Measures_voltage_on_cables.=Measures voltage on cables. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricasensor/ElectricalSensorGui.java +eln:Current=Current +eln:Measured_voltage\ncorresponding\nto_0%_output=Measured voltage\ncorresponding\nto 0% output +eln:Measured_voltage\ncorresponding\nto_100%_output=Measured voltage\ncorresponding\nto 100% output +eln:Voltage=Voltage +eln: +eln:# ./src/main/java/mods/eln/sixnode/energymeter/EnergyMeterGui.java +eln:Change_password=Change password +eln:Counter_Mode=Counter Mode +eln:Counts_the_energy_conducted_from\n\u00a74red\u00a7f_to_\u00a71blue\u00a7f.=Counts the energy conducted from\n\\u00a74red\\u00a7f to \\u00a71blue\\u00a7f. +eln:Energy_counter\:_%sJ=Energy counter\: %sJ +eln:Enter_new_energy=Enter new energy +eln:Enter_password=Enter password +eln:Prepay_Mode=Prepay Mode +eln:Reset_time_counter=Reset time counter +eln:Set_energy_counter=Set energy counter +eln:Time_counter\:=Time counter\: +eln:Try_password=Try password +eln:You_can_set_an_initial\namount_of_available_energy.\nWhen_the_counter_arrives_at_0\nthe_contact_will_be_opened.=You can set an initial\namount of available energy.\nWhen the counter arrives at 0\nthe contact will be opened. +eln:is_off=is off +eln:is_on=is on +eln:value_in_kJ=value in kJ +eln: +eln:# ./src/main/java/mods/eln/sixnode/groundcable/GroundCableDescriptor.java +eln:Can_be_used_to_set_a_point_of_an\nelectrical_network_to_0V_potential.\nFor_example_to_ground_negative_battery_contacts.=Can be used to set a point of an\nelectrical network to 0V potential.\nFor example to ground negative battery contacts. +eln:Provides_a_zero_volt_reference.=Provides a zero volt reference. +eln: +eln:# ./src/main/java/mods/eln/sixnode/hub/HubDescriptor.java +eln:Allows_crossing_cables\non_one_single_block.=Allows crossing cables\non one single block. +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketDescriptor.java +eln:Angle\:_%s°_to_%s°=Angle\: %s° to %s° +eln:Spot_range\:_%s_blocks=Spot range\: %s blocks +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketGuiDraw.java +eln:%s_is_not_in_range!=%s is not in range\! +eln:Cable_slot_empty=Cable slot empty +eln:Orientation\:_%s°=Orientation\: %s° +eln:Parallel=Parallel +eln:Powered_by_Lamp_Supply=Powered by Lamp Supply +eln:Powered_by_cable=Powered by cable +eln:Serial=Serial +eln:Specify_the_supply_channel=Specify the supply channel +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyContainer.java +eln:Electrical_cable_slot\nBase_range_is_32_blocks.\nEach_additional_cable\nincreases_range_by_one.=Electrical cable slot\nBase range is 32 blocks.\nEach additional cable\nincreases range by one. +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyDescriptor.java +eln:Supplies_all_lamps_on_the_channel.=Supplies all lamps on the channel. +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyGui.java +eln:Power_channel_name=Power channel name +eln:Wireless_channel_name=Wireless channel name +eln: +eln:# ./src/main/java/mods/eln/sixnode/modbusrtu/ModbusRtuGui.java +eln:Add=Add +eln:Channel_name=Channel name +eln:Modbus_ID=Modbus ID +eln:Modbus_RTU=Modbus RTU +eln:Station_ID=Station ID +eln:Station_name=Station name +eln:Wireless_RX=Wireless RX +eln:Wireless_TX=Wireless TX +eln: +eln:# ./src/main/java/mods/eln/sixnode/powercapacitorsix/PowerCapacitorSixContainer.java +eln:(Increases_maximum_voltage)=(Increases maximum voltage) +eln: +eln:# ./src/main/java/mods/eln/sixnode/powercapacitorsix/PowerCapacitorSixGui.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/powerinductorsix/PowerInductorSixContainer.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/powerinductorsix/PowerInductorSixGui.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/powersocket/PowerSocketDescriptor.java +eln:Supplies_any_device\nplugged_in_with_energy.=Supplies any device\nplugged in with energy. +eln: +eln:# ./src/main/java/mods/eln/sixnode/powersocket/PowerSocketGui.java +eln:Specify_the_device_to_supply_through_this_socket.=Specify the device to supply through this socket. +eln: +eln:# ./src/main/java/mods/eln/sixnode/resistor/ResistorContainer.java +eln:(Sets_resistance)=(Sets resistance) +eln:Coal_dust_slot=Coal dust slot +eln: +eln:# ./src/main/java/mods/eln/sixnode/thermalcable/ThermalCableDescriptor.java +eln:High_parallel_resistance\n_\=>_Low_power_dissipation.=High parallel resistance\n \=> Low power dissipation. +eln:Low_serial_resistance\n_\=>_High_conductivity.=Low serial resistance\n \=> High conductivity. +eln:Parallel_resistance\:_%sK_W=Parallel resistance\: %sK/W +eln:Serial_resistance\:_%sK_W=Serial resistance\: %sK/W +eln: +eln:# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorContainer.java +eln:Cable_slot=Cable slot +eln: +eln:# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorDescriptor.java +eln:Can_measure\:=Can measure\: +eln:Measures_temperature_of_cables.=Measures temperature of cables. +eln:Measures_thermal_values_on_cables.=Measures thermal values on cables. +eln:__Temperature_Power_conducted=Temperature/Power conducted +eln: +eln:# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorGui.java +eln:Measured_temperature\ncorresponding\nto_0%_output=Measured temperature\ncorresponding\nto 0% output +eln:Measured_temperature\ncorresponding\nto_100%_output=Measured temperature\ncorresponding\nto 100% output +eln:Temperature=Temperature +eln: +eln:# ./src/main/java/mods/eln/sixnode/tutorialsign/TutorialSignElement.java +eln:No_text_associated_to_this_beacon=No text associated to this beacon +eln: +eln:# ./src/main/java/mods/eln/sixnode/tutorialsign/TutorialSignGui.java +eln:Set_beacon_name=Set beacon name +eln: +eln:# ./src/main/java/mods/eln/sixnode/wirelesssignal/rx/WirelessSignalRxGui.java +eln: +eln:# ./src/main/java/mods/eln/transparentnode/FuelGenerator.kt +eln:Nominal_power\:_%s_W=Nominal power\: %s W +eln:Nominal_voltage\:_%s_V=Nominal voltage\: %s V +eln:Produces_electricity_using_fuel.=Produces electricity using fuel. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/LargeRheostat.kt +eln:Nom._Resistance\:_%s=Nom. Resistance\: %s +eln: +eln:# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerContainer.java +eln:Drill_slot=Drill slot +eln:Mining_pipe_slot=Mining pipe slot +eln:Ore_scanner_slot=Ore scanner slot +eln: +eln:# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerDescriptor.java +eln:Excavates_on_a_small_radius.\nExtracts_ore_on_a_bigger_radius\:\n10_blocks_radius_after_10_blocks_depth.=Excavates on a small radius.\nExtracts ore on a bigger radius\:\n10 blocks radius after 10 blocks depth. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerGuiDraw.java +eln:Chest_missing_on_the\nback_of_the_auto_miner!=Chest missing on the\nback of the auto miner\! +eln:Halves_speed,_triples_power_draw=Halves speed, triples power draw +eln:Silk_Touch_Off=Silk Touch Off +eln:Silk_Touch_On=Silk Touch On +eln:Silk_touch=Silk touch +eln: +eln:# ./src/main/java/mods/eln/transparentnode/battery/BatteryContainer.java +eln:Overheating_protection=Overheating protection +eln:Overvoltage_protection=Overvoltage protection +eln: +eln:# ./src/main/java/mods/eln/transparentnode/battery/BatteryDescriptor.java +eln:Actual_charge\:_%s=Actual charge\: %s +eln:Energy_capacity\:_%sJ=Energy capacity\: %sJ +eln:_charged_at_%s=charged at %s +eln: +eln:# ./src/main/java/mods/eln/transparentnode/battery/BatteryGuiDraw.java +eln:Charge=Charge +eln:Charged=Charged +eln:Discharge=Discharge +eln:Energy\:=Energy\: +eln:Energy\:_%s=Energy\: %s +eln:Life\:=Life\: +eln:No_charge=No charge +eln:Power_in\:=Power in\: +eln:Power_out\:=Power out\: +eln: +eln:# ./src/main/java/mods/eln/transparentnode/eggincubator/EggIncubatorContainer.java +eln:Egg_slot=Egg slot +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalantennarx/ElectricalAntennaRxDescriptor.java +eln:Wireless_energy_receiver.=Wireless energy receiver. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalantennatx/ElectricalAntennaTxDescriptor.java +eln:Efficiency\:_%s_up_to_%s=Efficiency\: %s up to %s +eln:Wireless_energy_transmitter.=Wireless energy transmitter. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceContainer.java +eln:Heating_corp_slot=Heating corp slot +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceDescriptor.java +eln:Similar_to_a_vanilla_furnace,\nbut_heats_with_electricity.=Similar to a vanilla furnace,\nbut heats with electricity. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceGuiDraw.java +eln:Auto_shutdown=Auto shutdown +eln:Manual_shutdown=Manual shutdown +eln:Set_point\:_%s°C=Set point\: %s°C +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalmachine/ElectricalMachineDescriptor.java +eln:Cost=Cost +eln: +eln:# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceContainer.java +eln:Combustion_chamber_slot=Combustion chamber slot +eln:Fuel_slot=Fuel slot +eln: +eln:# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceDescriptor.java +eln:Generates_heat_when_supplied_with_fuel.=Generates heat when supplied with fuel. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceGuiDraw.java +eln:Control_gauge_at_%s=Control gauge at %s +eln:Decline_fuel=Decline fuel +eln:External_control=External control +eln:Internal_control=Internal control +eln:Take_fuel=Take fuel +eln: +eln:# ./src/main/java/mods/eln/transparentnode/powercapacitor/PowerCapacitorContainer.java +eln:(Increases_maximal_voltage)=(Increases maximal voltage) +eln: +eln:# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelContainer.java +eln:Solar_tracker_slot=Solar tracker slot +eln: +eln:# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelDescriptor.java +eln:Can_be_geared_towards_the_sun.=Can be geared towards the sun. +eln:Max._power\:_%sW=Max. power\: %sW +eln:Max._voltage\:_%sV=Max. voltage\: %sV +eln:Produces_power_from_solar_radiation.=Produces power from solar radiation. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPannelGuiDraw.java +eln:It_is_night=It is night +eln:Solar_panel_angle\:_%s°=Solar panel angle\: %s° +eln:Sun_angle\:_%s°=Sun angle\: %s° +eln: +eln:# ./src/main/java/mods/eln/transparentnode/teleporter/TeleporterGui.java +eln:Destination_transporter=Destination transporter +eln:Power_consumption\:=Power consumption\: +eln:Power_consumption\:_%sW=Power consumption\: %sW +eln:Required_energy\:_%sJ=Required energy\: %sJ +eln:Start=Start +eln:Transporter_name=Transporter name +eln: +eln:# ./src/main/java/mods/eln/transparentnode/thermaldissipatoractive/ThermalDissipatorActiveDescriptor.java +eln:Fan_cooling_power\:_%sW=Fan cooling power\: %sW +eln:Fan_power_consumption\:_%sW=Fan power consumption\: %sW +eln:Fan_voltage\:_%sV=Fan voltage\: %sV +eln: +eln:# ./src/main/java/mods/eln/transparentnode/transformer/TransformerDescriptor.java +eln:The_voltage_ratio_is_proportional\nto_the_cable_stacks_count_ratio.=The voltage ratio is proportional\nto the cable stacks count ratio. +eln:Transforms_an_input_voltage_to\nan_output_voltage.=Transforms an input voltage to\nan output voltage. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/turbine/TurbineDescriptor.java +eln:Generates_electricity_using_heat.=Generates electricity using heat. +eln:Temperature_difference\:_%s°C=Temperature difference\: %s°C +eln: +eln:# ./src/main/java/mods/eln/transparentnode/turret/TurretDescriptor.java +eln:CAUTION\:_Cables_can_get_quite_hot!=CAUTION\: Cables can get quite hot\! +eln:Laser_charge_power\:_%sW...%skW=Laser charge power\: %sW...%skW +eln:Scans_for_entities_and_shoots_if_the\nentity_matches_the_configurable_filter_criteria.=Scans for entities and shoots if the\nentity matches the configurable filter criteria. +eln:Standby_power\:_%sW=Standby power\: %sW +eln: +eln:# ./src/main/java/mods/eln/transparentnode/turret/TurretGui.java +eln:Attack\:=Attack\: +eln:Do_not_attack\:=Do not attack\: +eln:Recharge_power\:=Recharge power\: +eln: +eln:# ./src/main/java/mods/eln/transparentnode/waterturbine/WaterTurbineDescriptor.java +eln:Generates_energy_using_water_stream.=Generates energy using water stream. +eln:No_place_for_water_turbine!=No place for water turbine\! +eln: +eln:# ./src/main/java/mods/eln/transparentnode/windturbine/WindTurbineDescriptor.java +eln:Front\:_%s=Front\: %s +eln:Generates_energy_from_wind.=Generates energy from wind. +eln:Left_Right\:_%s=Left/Right\: %s +eln:Up_Down\:_%s=Up/Down\: %s +eln:Wind_area\:=Wind area\: +eln: +eln:# ./src/main/java/mods/eln/wiki/Data.java +eln:Energy=Energy +eln:Light=Light +eln:Machine=Machine +eln:Ore=Ore +eln:Portable=Portable +eln:Resource=Resource +eln:Signal=Signal +eln:Thermal=Thermal +eln:Upgrade=Upgrade +eln:Utilities=Utilities +eln:Wiring=Wiring +eln: +eln:# ./src/main/java/mods/eln/wiki/Default.java +eln:Previous=Previous +eln: +eln:# ./src/main/java/mods/eln/wiki/ItemDefault.java +eln:Can_be_used_to_craft\:=Can be used to craft\: +eln:Cannot_be_crafted!=Cannot be crafted\! +eln:Cost_%sJ=Cost %sJ +eln:Created_by\:=Created by\: +eln:Is_not_a_crafting_material!=Is not a crafting material\! +eln:Recipe\:=Recipe\: +eln: +eln:# Appearing in multiple source files +eln:(Increases_capacity)=(Increases capacity) +eln:(Increases_inductance)=(Increases inductance) +eln:Actual\:_%s°C=Actual\: %s°C +eln:Biggest=Biggest +eln:Booster_slot=Booster slot +eln:Can_create\:=Can create\: +eln:Capacity\:_%sF=Capacity\: %sF +eln:Charge_power\:_%sW=Charge power\: %sW +eln:Connected=Connected +eln:Cooling_power\:_%sW=Cooling power\: %sW +eln:Copper_cable_slot=Copper cable slot +eln:Dielectric_slot=Dielectric slot +eln:Discharge_power\:_%sW=Discharge power\: %sW +eln:Electrical_cable_slot=Electrical cable slot +eln:Entity_filter_slot=Entity filter slot +eln:Ferromagnetic_core_slot=Ferromagnetic core slot +eln:Has_a_signal_output.=Has a signal output. +eln:Inductance\:_%sH=Inductance\: %sH +eln:Internal_resistance\:_%sΩ=Internal resistance\: %sΩ +eln:Is_off=Is off +eln:Is_on=Is on +eln:Max._temperature\:_%s°C=Max. temperature\: %s°C +eln:Measured_value\ncorresponding\nto_0%_output=Measured value\ncorresponding\nto 0% output +eln:Measured_value\ncorresponding\nto_100%_output=Measured value\ncorresponding\nto 100% output +eln:Nominal\:=Nominal\: +eln:Nominal_power\:_%sW=Nominal power\: %sW +eln:Nominal_usage\:=Nominal usage\: +eln:Nominal_voltage\:_%sV=Nominal voltage\: %sV +eln:Not_connected=Not connected +eln:Not_enough_space_for_this_block=Not enough space for this block +eln:Power=Power +eln:Power\:_%sW=Power\: %sW +eln:Range\:_%s_blocks=Range\: %s blocks +eln:Redstone_slot=Redstone slot +eln:Regulator_slot=Regulator slot +eln:Reset=Reset +eln:Resistance\:_%sΩ=Resistance\: %sΩ +eln:Smallest=Smallest +eln:Specify_the_channel=Specify the channel +eln:Stored_energy\:_%sJ_(%s)=Stored energy\: %sJ (%s) +eln:Temperature\:_%s°C=Temperature\: %s°C +eln:Temperature_gauge=Temperature gauge +eln:Thermal_isolator_slot=Thermal isolator slot +eln:Toggle=Toggle +eln:Toggle_switch=Toggle switch +eln:Toggles_the_output_each_time\nan_emitter's_value_rises.\nUseful_to_allow_multiple_buttons\nto_control_the_same_light.=Toggles the output each time\nan emitter's value rises.\nUseful to allow multiple buttons\nto control the same light. +eln:Used_to_cool_down_turbines.=Used to cool down turbines. +eln:Uses_the_biggest\nvalue_on_the_channel.=Uses the biggest\nvalue on the channel. +eln:Uses_the_smallest\nvalue_on_the_channel.=Uses the smallest\nvalue on the channel. +eln:Validate=Validate +eln:Voltage\:_%sV=Voltage\: %sV +eln:You_can't_place_this_block_at_this_side=You can't place this block at this side diff --git a/src/main/resources/assets/eln/lang/cs.lang b/src/main/resources/assets/eln/lang/cs.lang index 0f40df4e5..4eb98de27 100644 --- a/src/main/resources/assets/eln/lang/cs.lang +++ b/src/main/resources/assets/eln/lang/cs.lang @@ -1,829 +1,829 @@ -# - -# ./src/main/java/mods/eln/Achievements.java -Electrical_Age_[WIP]=Electrical Age [WIP] -achievement.craft_50v_macerator=Crushing Novice -achievement.craft_50v_macerator.desc=Craft a 50V Macerator -achievement.open_guide=Wiki Power -achievement.open_guide.desc=Open the wiki guide - -# ./src/main/java/mods/eln/Eln.java -10A_Diode.name=10A Dioda -200V_Active_Thermal_Dissipator.name=200V Active Thermal Dissipator -200V_Battery_Charger.name=200V Battery Charger -200V_Compressor.name=200V Compressor -200V_Condensator.name=200V Kondenzátor -200V_Copper_Heating_Corp.name=200V Copper Heating Corp -200V_Economic_Light_Bulb.name=200V Economic Light Bulb -200V_Farming_Lamp.name=200V Farming Lamp -200V_Fuel_Generator.name=200V Fuel Generator -200V_Incandescent_Light_Bulb.name=200V Incandescent Light Bulb -200V_Iron_Heating_Corp.name=200V Iron Heating Corp -200V_LED_Bulb.name=200V LED Bulb -200V_Macerator.name=200V Macerator -200V_Magnetizer.name=200V Magnetizer -200V_Plate_Machine.name=200V Plate Machine -200V_Power_Socket.name=200V Power Socket -200V_Tungsten_Heating_Corp.name=200V Tungsten Heating Corp -200V_Turbine.name=200V Turbine -25A_Diode.name=25A Dioda -50V_Battery_Charger.name=50V Battery Charger -50V_Carbon_Incandescent_Light_Bulb.name=50V Carbon Incandescent Light Bulb -50V_Compressor.name=50V Compressor -50V_Condensator.name=50V Kondenzátor -50V_Copper_Heating_Corp.name=50V Copper Heating Corp -50V_Economic_Light_Bulb.name=50V Economic Light Bulb -50V_Egg_Incubator.name=50V Egg Incubator -50V_Farming_Lamp.name=50V Farming Lamp -50V_Fuel_Generator.name=50V Fuel Generator -50V_Incandescent_Light_Bulb.name=50V Incandescent Light Bulb -50V_Iron_Heating_Corp.name=50V Iron Heating Corp -50V_LED_Bulb.name=50V LED Bulb -50V_Macerator.name=50V Macerator -50V_Magnetizer.name=50V Magnetizer -50V_Plate_Machine.name=50V Plate Machine -50V_Power_Socket.name=50V Power Socket -50V_Tungsten_Heating_Corp.name=50V Tungsten Heating Corp -50V_Turbine.name=50V Turbine -800V_Defence_Turret.name=800V Defence Turret -AND_Chip.name=AND Chip -Advanced_Chip.name=Advanced Chip -Advanced_Electrical_Motor.name=Advanced Electrical Motor -Advanced_Energy_Meter.name=Advanced Energy Meter -Advanced_Machine_Block.name=Advanced Machine Block -Advanced_Magnet.name=Advanced Magnet -AllMeter.name=Universal-Meter -Alloy_Dust.name=Alloy Dust -Alloy_Ingot.name=Alloy Ingot -Alloy_Plate.name=Alloy Plate -Analog_Watch.name=Analog watch -Analog_vuMeter.name=Analog Gauge -Analogic_Regulator.name=Analogic Regulator -Animal_Filter.name=Animal Filter -Auto_Miner.name=Auto Miner -Average_Electrical_Drill.name=Average Electrical Drill -Average_Ferromagnetic_Core.name=Average Ferromagnetic Core -Basic_Magnet.name=Basic Magnet -Black_Brush.name=Black Brush -Blue_Brush.name=Blue Brush -Brown_Brush.name=Brown Brush -Capacity_Oriented_Battery.name=Capacity Oriented Battery -Cheap_Chip.name=Cheap Chip -Cheap_Electrical_Drill.name=Cheap Electrical Drill -Cheap_Ferromagnetic_Core.name=Cheap Ferromagnetic Core -Cinnabar_Dust.name=Cinnabar Dust -Cinnabar_Ore.name=Cinnabar Ore -Coal_Dust.name=Coal Dust -Coal_Plate.name=Coal Plate -Combustion_Chamber.name=Combustion Chamber -Copper_Cable.name=Copper Cable -Copper_Dust.name=Copper Dust -Copper_Ingot.name=Copper Ingot -Copper_Ore.name=Copper Ore -Copper_Plate.name=Copper Plate -Copper_Thermal_Cable.name=Copper Thermal Cable -Cost_Oriented_Battery.name=Cost Oriented Battery -Current_Oriented_Battery.name=Current Oriented Battery -Cyan_Brush.name=Cyan Brush -D_Flip_Flop_Chip.name=D Flip Flop Chip -Data_Logger.name=Data Logger -Data_Logger_Print.name=Data Logger Print -Dielectric.name=Dielectric -Digital_Watch.name=Digital Watch -Electrical_Anemometer_Sensor.name=Electrical Anemometer Sensor -Electrical_Breaker.name=Electrical Breaker -Electrical_Daylight_Sensor.name=Elektronický Senzor Světla -Electrical_Entity_Sensor.name=Electrical Entity Sensor -Electrical_Fire_Detector.name=Elektronický Hlásič Požáru -Electrical_Furnace.name=Elektrická Pec -Electrical_Light_Sensor.name=Elektrický Světelný Senzor -Electrical_Motor.name=Elektrický Motor -Electrical_Probe.name=Electrical Probe -Electrical_Probe_Chip.name=Electrical Probe Chip -Electrical_Source.name=Electrical Source -Electrical_Timer.name=Electrical Timer -Electrical_Weather_Sensor.name=Electrical Weather Sensor -Electrical_age_wrench,\nCan_be_used_to_turn\nsmall_wall_blocks=Electrical age wrench,\nCan be used to turn\nsmall wall blocks -Energy_Meter.name=Energy Meter -Experimental_Transporter.name=Experimental Transporter -Fast_Electrical_Drill.name=Fast Electrical Drill -Ferrite_Ingot.name=Ferrite Ingot -Flat_Lamp_Socket.name=Flat Lamp Socket -Fluorescent_Lamp_Socket.name=Fluorescent Lamp Socket -Generator.name=Generator -Gold_Dust.name=Gold Dust -Gold_Plate.name=Gold Plate -Gray_Brush.name=Gray Brush -Green_Brush.name=Green Brush -Ground_Cable.name=Ground Cable -High_Power_Receiver_Antenna.name=High Power Receiver Antenna -High_Power_Transmitter_Antenna.name=High Power Transmitter Antenna -High_Voltage_Cable.name=High Voltage Cable -High_Voltage_Relay.name=High Voltage Relay -High_Voltage_Switch.name=High Voltage Switch -Hub.name=Hub -Industrial_Data_Logger.name=Industrial Data Logger -Iron_Cable.name=Iron Cable -Iron_Dust.name=Iron Dust -Iron_Plate.name=Iron Plate -JK_Flip_Flop_Chip.name=JK Flip Flop Chip -LED_vuMeter.name=LED vuMeter -Lamp_Socket_A.name=Lamp Socket A -Lamp_Socket_B_Projector.name=Lamp Socket B Projector -Lamp_Supply.name=Lamp Supply -Large_Rheostat.name=Large Rheostat -Lead_Dust.name=Lead Dust -Lead_Ingot.name=Lead Ingot -Lead_Ore.name=Lead Ore -Lead_Plate.name=Lead Plate -Life_Oriented_Battery.name=Life Oriented Battery -Light_Blue_Brush.name=Light Blue Brush -Lime_Brush.name=Lime Brush -Long_Suspended_Lamp_Socket.name=Long Suspended Lamp Socket -Low_Power_Receiver_Antenna.name=Low Power Receiver Antenna -Low_Power_Transmitter_Antenna.name=Low Power Transmitter Antenna -Low_Voltage_Cable.name=Low Voltage Cable -Low_Voltage_Relay.name=Low Voltage Relay -Low_Voltage_Switch.name=Low Voltage Switch -Machine_Block.name=Machine Block -Machine_Booster.name=Machine Booster -Magenta_Brush.name=Magenta Brush -Medium_Power_Receiver_Antenna.name=Medium Power Receiver Antenna -Medium_Power_Transmitter_Antenna.name=Medium Power Transmitter Antenna -Medium_Voltage_Cable.name=Medium Voltage Cable -Medium_Voltage_Relay.name=Medium Voltage Relay -Medium_Voltage_Switch.name=Medium Voltage Switch -Mercury.name=Mercury -Mining_Pipe.name=Mining Pipe -Modbus_RTU.name=Modbus RTU -Modern_Data_Logger.name=Modern Data Logger -Monster_Filter.name=Monster Filter -MultiMeter.name=Multimetr -NAND_Chip.name=NAND Chip -NOR_Chip.name=NOR Chip -NOT_Chip.name=NOT Chip -Nuclear_Alarm.name=Nuclear Alarm -OR_Chip.name=OR Chip -On_OFF_Regulator_10_Percent.name=On/off regulator 10% -On_OFF_Regulator_1_Percent.name=On/off regulator 1% -Optimal_Ferromagnetic_Core.name=Optimal Ferromagnetic Core -Orange_Brush.name=Orange Brush -Ore_Scanner.name=Ore Scanner -Oscillator_Chip.name=Oscillator Chip -Overheating_Protection.name=Overheating Protection -Overvoltage_Protection.name=Overvoltage Protection -PAL_Chip.name=PAL Chip -Pink_Brush.name=Pink Brush -Player_Filter.name=Player Filter -Portable_Battery.name=Portable Battery -Portable_Battery_Pack.name=Portable Battery Pack -Portable_Condensator.name=Portable Condensator -Portable_Condensator_Pack.name=Portable Condensator Pack -Portable_Electrical_Axe.name=Portable Electrical Axe -Portable_Electrical_Mining_Drill.name=Portable Electrical Mining Drill -Power_Capacitor.name=Power Capacitor -Power_Inductor.name=Power Inductor -Power_Resistor.name=Power Resistor -Power_capacitor.name=Power capacitor -Power_inductor.name=Power inductor -Purple_Brush.name=Purple Brush -Red_Brush.name=Red Brush -Redstone-to-Voltage_Converter.name=Redstone-to-Voltage Converter -Rheostat.name=Rheostat -Robust_Lamp_Socket.name=Robust Lamp Socket -Rubber.name=Guma -Schmitt_Trigger_Chip.name=Schmitt Trigger Chip -Sconce_Lamp_Socket.name=Sconce Lamp Socket -Signal_20H_inductor.name=Signal 20H inductor -Signal_Antenna.name=Signal Antenna -Signal_Button.name=Signal Button -Signal_Cable.name=Signal Cable -Signal_Diode.name=Signal Diode -Signal_Processor.name=Signal Processor -Signal_Relay.name=Signal Relay -Signal_Source.name=Signal Source -Signal_Switch.name=Signal Switch -Signal_Switch_with_LED.name=Signal Switch with LED -Signal_Trimmer.name=Signal Trimmer -Silicon_Dust.name=Silicon Dust -Silicon_Ingot.name=Silicon Ingot -Silicon_Plate.name=Silicon Plate -Silver_Brush.name=Silver Brush -Simple_Lamp_Socket.name=Simple Lamp Socket -Single-use_Battery.name=Single-use Battery -Small_200V_Copper_Heating_Corp.name=Small 200V Copper Heating Corp -Small_200V_Iron_Heating_Corp.name=Small 200V Iron Heating Corp -Small_200V_Tungsten_Heating_Corp.name=Small 200V Tungsten Heating Corp -Small_50V_Carbon_Incandescent_Light_Bulb.name=Small 50V Carbon Incandescent Light Bulb -Small_50V_Copper_Heating_Corp.name=Small 50V Copper Heating Corp -Small_50V_Economic_Light_Bulb.name=Small 50V Economic Light Bulb -Small_50V_Incandescent_Light_Bulb.name=Small 50V Incandescent Light Bulb -Small_50V_Iron_Heating_Corp.name=Small 50V Iron Heating Corp -Small_50V_Tungsten_Heating_Corp.name=Small 50V Tungsten Heating Corp -Small_Active_Thermal_Dissipator.name=Small Active Thermal Dissipator -Small_Flashlight.name=Small Flashlight -Small_Passive_Thermal_Dissipator.name=Small Passive Thermal Dissipator -Small_Rotating_Solar_Panel.name=Small Rotating Solar Panel -Small_Solar_Panel.name=Small Solar Panel -Solar_Tracker.name=Solar Tracker -Standard_Alarm.name=Standard Alarm -Steam_Turbine.name=Steam Turbine -Stone_Heat_Furnace.name=Stone Heat Furnace -Street_Light.name=Streetlight -Suspended_Lamp_Socket.name=Suspended Lamp Socket -Temperature_Probe.name=Temperature Probe -Thermal_Probe.name=Thermal Probe -Thermal_Probe_Chip.name=Thermal Probe Chip -Thermistor.name=Thermistor -ThermoMeter.name=Thermometer -Transformer.name=Transformer -Tree_Resin.name=Tree Resin -Tree_Resin_Collector.name=Tree Resin Collector -Tungsten_Cable.name=Tungsten Cable -Tungsten_Dust.name=Tungsten Dust -Tungsten_Ingot.name=Tungsten Ingot -Tungsten_Ore.name=Tungsten Ore -Tutorial_Sign.name=Tutorial Sign -Very_High_Voltage_Cable.name=Very High Voltage Cable -Very_High_Voltage_Relay.name=Very High Voltage Relay -Very_High_Voltage_Switch.name=Very High Voltage Switch -Voltage-to-Redstone_Converter.name=Voltage-to-Redstone Converter -Voltage_Oriented_Battery.name=Voltage Oriented Battery -Voltage_Probe.name=Voltage Probe -Water_Turbine.name=Vodní Turbína -Weak_50V_Battery_Charger.name=Weak 50V Battery Charger -White_Brush.name=White Brush -Wind_Turbine.name=Větrná Turbína -Wireless_Analyser.name=Wireless Analyzer -Wireless_Button.name=Bezdrátové Tlačítko -Wireless_Signal_Receiver.name=Wireless Signal Receiver -Wireless_Signal_Repeater.name=Wireless Signal Repeater -Wireless_Signal_Transmitter.name=Wireless Signal Transmitter -Wireless_Switch.name=Wireless Switch -Wrench.name=Wrench -X-Ray_Scanner.name=X-Ray Scanner -XNOR_Chip.name=XNOR Chip -XOR_Chip.name=XOR Chip -Yellow_Brush.name=Yellow Brush -entity.EAReplicator.name=Replicator -item.Copper Axe.name\=Copper Axe -item.Copper Axe.name\=Copper Axe -item.Copper Axe.name\=Copper Axe -item.Copper Axe.name\=Copper Axe -item.Copper Axe.name\=Copper Axe -item.Copper Axe.name\=Copper Axe -item.Copper Axe.name\=Copper Axe -item.Copper Axe.name\=Copper Axe -item.Copper Axe.name\=Copper Axe -item.E-Coal Boots.name\=E-Coal Boots -item.E-Coal Boots.name\=E-Coal Boots -item.E-Coal Boots.name\=E-Coal Boots -item.E-Coal Boots.name\=E-Coal Boots -itemGroup.Eln=Electrical Age -mod.meta.desc=Electricity in your base\! -tile.eln.ElnProbe.name=Eln Computer Probe -tile.eln.EnergyConverterElnToOtherHVUBlock.name=800V Electrical Age to other energy exporter -tile.eln.EnergyConverterElnToOtherLVUBlock.name=50V Electrical Age to other energy exporter -tile.eln.EnergyConverterElnToOtherMVUBlock.name=200V Electrical Age to other energy exporter - -# ./src/main/java/mods/eln/i18n/I18N.java -You_have_%s_lives_left=You have %s lives left - -# ./src/main/java/mods/eln/item/BrushDescriptor.java -Brush_is_dry=Brush is dry -Can_paint_%s_blocks=Can paint %s blocks - -# ./src/main/java/mods/eln/item/CombustionChamber.java -Upgrade_for_the_Stone_Heat_Furnace.=Upgrade for the Stone Heat Furnace. - -# ./src/main/java/mods/eln/item/ElectricalDrillDescriptor.java -Energy_per_operation\:_%sJ=Energy per operation\: %sJ -Time_per_operation\:_%ss=Time per operation\: %ss - -# ./src/main/java/mods/eln/item/FerromagneticCoreDescriptor.java -Cable_loss_factor\:_%s=Cable loss factor\: %s - -# ./src/main/java/mods/eln/item/HeatingCorpElement.java - -# ./src/main/java/mods/eln/item/LampDescriptor.java -Bad=Bad -Condition\:=Kondice -End_of_life=End of life -Good=Dobrý -New=Nový -Nominal_lifetime\:_%sh=Nominal lifetime\: %sh -Technology\:_%s=Technology\: %s -Used=Použitý - -# ./src/main/java/mods/eln/item/LampSlot.java -Lamp_slot=Lamp slot - -# ./src/main/java/mods/eln/item/OverHeatingProtectionDescriptor.java -Useful_to_prevent_overheating\nof_Batteries=Useful to prevent overheating\nof Batteries - -# ./src/main/java/mods/eln/item/OverVoltageProtectionDescriptor.java -Useful_to_prevent_over-voltage\nof_Batteries=Useful to prevent over-voltage\nof Batteries - -# ./src/main/java/mods/eln/item/SolarTrackerDescriptor.java -Solar_panel_upgrade=Vylepšení solárního panelu - -# ./src/main/java/mods/eln/item/electricalitem/BatteryItem.java - -# ./src/main/java/mods/eln/item/electricalitem/ElectricalLampItem.java -Off=Vypnuto -On=Zapnuto -State\:=State\: -Stored_Energy\:_%sJ_(%s)=Stored Energy\: %sJ (%s) - -# ./src/main/java/mods/eln/item/regulator/RegulatorSlot.java - -# ./src/main/java/mods/eln/misc/UtilsClient.java -Hold_shift=Podržte shift - -# ./src/main/java/mods/eln/misc/Version.java -mod.name=Electrical Age - -# ./src/main/java/mods/eln/node/six/SixNodeDescriptor.java - -# ./src/main/java/mods/eln/simplenode/energyconverter/EnergyConverterElnToOtherGui.java -Input_power_is_limited_to_%sW=Input power is limited to %sW - -# ./src/main/java/mods/eln/sixnode/LogicGate.kt -_O\:_= O\: - -# ./src/main/java/mods/eln/sixnode/TreeResinCollector/TreeResinCollectorDescriptor.java -Produces_Tree_Resin_over\ntime_when_put_on_a_tree.=Produces Tree Resin over\ntime when put on a tree. -This_block_can_only_be_placed_on_the_side_of_a_tree!=This block can only be placed on the side of a tree\! - -# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerContainer.java -Battery_slot=Battery slot - -# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerDescriptor.java -Can_be_used_to_recharge\nelectrical_items_like\:\nFlash_Light,_X-Ray_scanner\nand_Portable_Battery_...=Can be used to recharge\nelectrical items like\:\nFlash Light, X-Ray scanner\nand Portable Battery ... - -# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerGui.java - -# ./src/main/java/mods/eln/sixnode/diode/DiodeDescriptor.java -Electrical_current_can_only\nflow_through_the_diode\nfrom_anode_to_cathode=Electrical current can only\nflow through the diode\nfrom anode to cathode - -# ./src/main/java/mods/eln/sixnode/electricalalarm/ElectricalAlarmDescriptor.java -= -Emits_an_acoustic_alarm_if\nthe_input_signal_is_high=Emits an acoustic alarm if\nthe input signal is high - -# ./src/main/java/mods/eln/sixnode/electricalalarm/ElectricalAlarmGui.java -Sound_is_muted=Sound is muted -Sound_is_not_muted=Sound is not muted - -# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerContainer.java - -# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerDescriptor.java -Protects_electrical_components\nOpens_contact_if\:\n__-_Voltage_exceeds_a_certain_level\n-_Current_exceeds_the_cable_limit=Protects electrical components\nOpens contact if\:\n - Voltage exceeds a certain level\n- Current exceeds the cable limit - -# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerGui.java -Maximum_voltage_before_cutting_off=Maximum voltage before cutting off -Minimum_voltage_before_cutting_off=Minimum voltage before cutting off -Switch_is_off=Switch is off -Switch_is_on=Switch is on - -# ./src/main/java/mods/eln/sixnode/electricalcable/ElectricalCableDescriptor.java -A_signal_is_electrical_information\nwhich_must_be_between_0V_and_%sV=A signal is electrical information\nwhich must be between 0V and %sV -Cable_is_adapted_to_conduct\nelectrical_signals.=Cable is adapted to conduct\nelectrical signals. -Current\:_%sA=Current\: %sA -Not_adapted_to_transport_power.=Not adapted to transport power. -Save_usage\:=Save usage\: -Serial_resistance\:_%sΩ=Serial resistance\: %sΩ - -# ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerDescriptor.java -It_can_store_up_to_256_points.=It can store up to 256 points. -Measures_the_voltage_of_an\nelectrical_signal_and_plots\nthe_data_in_real_time.=Measures the voltage of an\nelectrical signal and plots\nthe data in real time. - -# ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerGui.java -Back_to_display=Back to display -Configuration=Configuration -Current_[A]=Current [A] -Energy_[J]=Energy [J] -Percent_[-]%=Percent [-]% -Power_[W]=Power [W] -Print=Print -Sampling_period=Sampling period -Temp._[*C]=Temp. [*C] -Voltage_[V]=Voltage [V] -Y-axis_max=Y-axis max -Y-axis_min=Y-axis min - -# ./src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorContainer.java - -# ./src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorDescriptor.java -Output_voltage_increases\nif_entities_are_moving_around.=Output voltage increases\nif entities are moving around. - -# ./src/main/java/mods/eln/sixnode/electricalfiredetector/ElectricalFireDetectorDescriptor.java -Output_voltage_increases\nif_a_fire_has_been_detected.=Output voltage increases\nif a fire has been detected. - -# ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceDescriptor.java -Provides_configurable_signal\nvoltage.=Provides configurable signal\nvoltage. - -# ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceGui.java -Output_at_%s=Output at %s - -# ./src/main/java/mods/eln/sixnode/electricallightsensor/ElectricalLightSensorDescriptor.java -0V_at_night,_%sV_at_noon.=0V at night, %sV at noon. -Provides_an_electrical_voltage\nin_the_presence_of_light.=Provides an electrical voltage\nin the presence of light. -Provides_an_electrical_voltage\nwhich_is_proportional_to\nthe_intensity_of_daylight.=Provides an electrical voltage\nwhich is proportional to\nthe intensity of daylight. - -# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathContainer.java - -# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathDescriptor.java -Applicable_boolean_operators\:=Applicable boolean operators\: -Applicable_functions\:=Applicable functions\: -Applicable_mathematical_operators\:=Applicable mathematical operators\: -Calculates_an_output_signal_from\n3_inputs_(A,_B,_C)_using_an_equation.=Calculates an output signal from\n3 inputs (A, B, C) using an equation. - -# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathGui.java -%s_Redstone(s)_required=%s Redstone(s) required -Equation_required!=Equation required\! -Inputs_are=Inputs are -Invalid_equation!=Invalid equation\! -Output_voltage_formula=Output voltage formula -Waiting_for_completion...=Waiting for completion... - -# ./src/main/java/mods/eln/sixnode/electricalredstoneinput/ElectricalRedstoneInputDescriptor.java -Converts_Redstone_signal\nto_an_electrical_voltage.=Converts Redstone signal\nto an electrical voltage. - -# ./src/main/java/mods/eln/sixnode/electricalredstoneoutput/ElectricalRedstoneOutputDescriptor.java -Converts_electrical_voltage\ninto_a_Redstone_signal.=Converts electrical voltage\ninto a Redstone signal. - -# ./src/main/java/mods/eln/sixnode/electricalrelay/ElectricalRelayDescriptor.java -A_relay_is_an_electrical\ncontact_that_conducts_electric\ncurrent_or_not,_depending\nthe_actual_input_signal_voltage.=A relay is an electrical\ncontact that conducts electric\ncurrent or not, depending\nthe actual input signal voltage. - -# ./src/main/java/mods/eln/sixnode/electricalrelay/ElectricalRelayGui.java -Normally_closed=Normally closed -Normally_open=Normally open - -# ./src/main/java/mods/eln/sixnode/electricalsource/ElectricalSourceDescriptor.java -Creative_block.=Creative block. -Provides_an_ideal_voltage_source\nwithout_energy_or_power_limitation.=Provides an ideal voltage source\nwithout energy or power limitation. - -# ./src/main/java/mods/eln/sixnode/electricalsource/ElectricalSourceGui.java -Output_voltage=Output voltage - -# ./src/main/java/mods/eln/sixnode/electricalswitch/ElectricalSwitchDescriptor.java -Can_break_an_electrical_circuit\ninterrupting_the_current.=Can break an electrical circuit\ninterrupting the current. - -# ./src/main/java/mods/eln/sixnode/electricaltimeout/ElectricalTimeoutDescriptor.java -Upon_application_of_a_high_signal,\nthe_timer_maintains_the_output_high_for\na_configurable_interval._Can_be_re-triggered.=Upon application of a high signal,\nthe timer maintains the output high for\na configurable interval. Can be re-triggered. - -# ./src/main/java/mods/eln/sixnode/electricaltimeout/ElectricalTimeoutGui.java -Set=Set -The_time_interval_the\noutput_is_kept_high.=The time interval the\noutput is kept high. - -# ./src/main/java/mods/eln/sixnode/electricalvumeter/ElectricalVuMeterDescriptor.java -Displays_the_value_of_a_signal.=Displays the value of a signal. - -# ./src/main/java/mods/eln/sixnode/electricalwatch/ElectricalWatchContainer.java -Portable_battery_slot=Portable battery slot - -# ./src/main/java/mods/eln/sixnode/electricalweathersensor/ElectricalWeatherSensorDescriptor.java -Clear\:_%sV=Clear\: %sV -Provides_an_electrical_signal\ndepending_the_actual_weather.=Provides an electrical signal\ndepending the actual weather. -Rain\:_%sV=Rain\: %sV -Storm\:_%sV=Storm\: %sV - -# ./src/main/java/mods/eln/sixnode/electricalwindsensor/ElectricalWindSensorDescriptor.java -Maximum_wind_speed_is_%sm_s=Maximum wind speed is %sm/s -Provides_an_electrical_signal\ndependant_on_wind_speed.=Provides an electrical signal\ndependant on wind speed. -You_can't_place_this_block_on_the_floor_or_the_ceiling=You can't place this block on the floor or the ceiling - -# ./src/main/java/mods/eln/sixnode/electricasensor/ElectricalSensorDescriptor.java -Can_measure_Voltage_Power_Current=Can measure Voltage/Power/Current -Measures_electrical_values_on_cables.=Measures electrical values on cables. -Measures_voltage_on_cables.=Measures voltage on cables. - -# ./src/main/java/mods/eln/sixnode/electricasensor/ElectricalSensorGui.java -Current=Current -Measured_voltage\ncorresponding\nto_0%_output=Measured voltage\ncorresponding\nto 0% output -Measured_voltage\ncorresponding\nto_100%_output=Measured voltage\ncorresponding\nto 100% output -Voltage=Voltage - -# ./src/main/java/mods/eln/sixnode/energymeter/EnergyMeterGui.java -Change_password=Change password -Counter_Mode=Counter Mode -Counts_the_energy_conducted_from\n\u00a74red\u00a7f_to_\u00a71blue\u00a7f.=Counts the energy conducted from\n\\u00a74red\\u00a7f to \\u00a71blue\\u00a7f. -Energy_counter\:_%sJ=Energy counter\: %sJ -Enter_new_energy=Enter new energy -Enter_password=Vložte heslo -Prepay_Mode=Prepay Mode -Reset_time_counter=Reset time counter -Set_energy_counter=Set energy counter -Time_counter\:=Time counter\: -Try_password=Try password -You_can_set_an_initial\namount_of_available_energy.\nWhen_the_counter_arrives_at_0\nthe_contact_will_be_opened.=You can set an initial\namount of available energy.\nWhen the counter arrives at 0\nthe contact will be opened. -is_off=je vypnuto -is_on=je zapnuto -value_in_kJ=value in kJ - -# ./src/main/java/mods/eln/sixnode/groundcable/GroundCableDescriptor.java -Can_be_used_to_set_a_point_of_an\nelectrical_network_to_0V_potential.\nFor_example_to_ground_negative_battery_contacts.=Can be used to set a point of an\nelectrical network to 0V potential.\nFor example to ground negative battery contacts. -Provides_a_zero_volt_reference.=Provides a zero volt reference. - -# ./src/main/java/mods/eln/sixnode/hub/HubDescriptor.java -Allows_crossing_cables\non_one_single_block.=Allows crossing cables\non one single block. - -# ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketDescriptor.java -Angle\:_%s°_to_%s°=Angle\: %s° to %s° -Spot_range\:_%s_blocks=Spot range\: %s blocks - -# ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketGuiDraw.java -%s_is_not_in_range!=%s is not in range\! -Cable_slot_empty=Cable slot empty -Orientation\:_%s°=Orientation\: %s° -Parallel=Paralelní -Powered_by_Lamp_Supply=Powered by Lamp Supply -Powered_by_cable=Powered by cable -Serial=Sériová -Specify_the_supply_channel=Specify the supply channel - -# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyContainer.java -Electrical_cable_slot\nBase_range_is_32_blocks.\nEach_additional_cable\nincreases_range_by_one.=Electrical cable slot\nBase range is 32 blocks.\nEach additional cable\nincreases range by one. - -# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyDescriptor.java -Supplies_all_lamps_on_the_channel.=Supplies all lamps on the channel. - -# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyGui.java -Power_channel_name=Power channel name -Wireless_channel_name=Wireless channel name - -# ./src/main/java/mods/eln/sixnode/modbusrtu/ModbusRtuGui.java -Add=Přidat -Channel_name=Název kanálu -Modbus_ID=Modbus ID -Modbus_RTU=Modbus RTU -Station_ID=ID stanice -Station_name=Název stanice -Wireless_RX=Wireless RX -Wireless_TX=Wireless TX - -# ./src/main/java/mods/eln/sixnode/powercapacitorsix/PowerCapacitorSixContainer.java -(Increases_maximum_voltage)=(Increases maximum voltage) - -# ./src/main/java/mods/eln/sixnode/powercapacitorsix/PowerCapacitorSixGui.java - -# ./src/main/java/mods/eln/sixnode/powerinductorsix/PowerInductorSixContainer.java - -# ./src/main/java/mods/eln/sixnode/powerinductorsix/PowerInductorSixGui.java - -# ./src/main/java/mods/eln/sixnode/powersocket/PowerSocketDescriptor.java -Supplies_any_device\nplugged_in_with_energy.=Supplies any device\nplugged in with energy. - -# ./src/main/java/mods/eln/sixnode/powersocket/PowerSocketGui.java -Specify_the_device_to_supply_through_this_socket.=Specify the device to supply through this socket. - -# ./src/main/java/mods/eln/sixnode/resistor/ResistorContainer.java -(Sets_resistance)=(Sets resistance) -Coal_dust_slot=Coal dust slot - -# ./src/main/java/mods/eln/sixnode/thermalcable/ThermalCableDescriptor.java -High_parallel_resistance\n_\=>_Low_power_dissipation.=High parallel resistance\n \=> Low power dissipation. -Low_serial_resistance\n_\=>_High_conductivity.=Low serial resistance\n \=> High conductivity. -Parallel_resistance\:_%sK_W=Parallel resistance\: %sK/W -Serial_resistance\:_%sK_W=Serial resistance\: %sK/W - -# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorContainer.java -Cable_slot=Cable slot - -# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorDescriptor.java -Can_measure\:=Can measure\: -Measures_temperature_of_cables.=Measures temperature of cables. -Measures_thermal_values_on_cables.=Measures thermal values on cables. -__Temperature_Power_conducted=Temperature/Power conducted - -# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorGui.java -Measured_temperature\ncorresponding\nto_0%_output=Measured temperature\ncorresponding\nto 0% output -Measured_temperature\ncorresponding\nto_100%_output=Measured temperature\ncorresponding\nto 100% output -Temperature=Temperature - -# ./src/main/java/mods/eln/sixnode/tutorialsign/TutorialSignElement.java -No_text_associated_to_this_beacon=No text associated to this beacon - -# ./src/main/java/mods/eln/sixnode/tutorialsign/TutorialSignGui.java -Set_beacon_name=Set beacon name - -# ./src/main/java/mods/eln/sixnode/wirelesssignal/rx/WirelessSignalRxGui.java - -# ./src/main/java/mods/eln/transparentnode/FuelGenerator.kt -Nominal_power\:_%s_W=Nominal power\: %s W -Nominal_voltage\:_%s_V=Nominal voltage\: %s V -Produces_electricity_using_fuel.=Produces electricity using fuel. - -# ./src/main/java/mods/eln/transparentnode/LargeRheostat.kt -Nom._Resistance\:_%s=Nom. Resistance\: %s - -# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerContainer.java -Drill_slot=Drill slot -Mining_pipe_slot=Mining pipe slot -Ore_scanner_slot=Ore scanner slot - -# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerDescriptor.java -Excavates_on_a_small_radius.\nExtracts_ore_on_a_bigger_radius\:\n10_blocks_radius_after_10_blocks_depth.=Excavates on a small radius.\nExtracts ore on a bigger radius\:\n10 blocks radius after 10 blocks depth. - -# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerGuiDraw.java -Chest_missing_on_the\nback_of_the_auto_miner!=Chest missing on the\nback of the auto miner\! -Halves_speed,_triples_power_draw=Halves speed, triples power draw -Silk_Touch_Off=Silk Touch Off -Silk_Touch_On=Silk Touch On -Silk_touch=Silk touch - -# ./src/main/java/mods/eln/transparentnode/battery/BatteryContainer.java -Overheating_protection=Overheating protection -Overvoltage_protection=Overvoltage protection - -# ./src/main/java/mods/eln/transparentnode/battery/BatteryDescriptor.java -Actual_charge\:_%s=Actual charge\: %s -Energy_capacity\:_%sJ=Energy capacity\: %sJ -_charged_at_%s=charged at %s - -# ./src/main/java/mods/eln/transparentnode/battery/BatteryGuiDraw.java -Charge=Charge -Charged=Charged -Discharge=Discharge -Energy\:=Energy\: -Energy\:_%s=Energy\: %s -Life\:=Life\: -No_charge=No charge -Power_in\:=Power in\: -Power_out\:=Power out\: - -# ./src/main/java/mods/eln/transparentnode/eggincubator/EggIncubatorContainer.java -Egg_slot=Egg slot - -# ./src/main/java/mods/eln/transparentnode/electricalantennarx/ElectricalAntennaRxDescriptor.java -Wireless_energy_receiver.=Wireless energy receiver. - -# ./src/main/java/mods/eln/transparentnode/electricalantennatx/ElectricalAntennaTxDescriptor.java -Efficiency\:_%s_up_to_%s=Efficiency\: %s up to %s -Wireless_energy_transmitter.=Wireless energy transmitter. - -# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceContainer.java -Heating_corp_slot=Heating corp slot - -# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceDescriptor.java -Similar_to_a_vanilla_furnace,\nbut_heats_with_electricity.=Similar to a vanilla furnace,\nbut heats with electricity. - -# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceGuiDraw.java -Auto_shutdown=Auto shutdown -Manual_shutdown=Manual shutdown -Set_point\:_%s°C=Set point\: %s°C - -# ./src/main/java/mods/eln/transparentnode/electricalmachine/ElectricalMachineDescriptor.java -Cost=Cost - -# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceContainer.java -Combustion_chamber_slot=Combustion chamber slot -Fuel_slot=Fuel slot - -# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceDescriptor.java -Generates_heat_when_supplied_with_fuel.=Generates heat when supplied with fuel. - -# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceGuiDraw.java -Control_gauge_at_%s=Control gauge at %s -Decline_fuel=Decline fuel -External_control=External control -Internal_control=Internal control -Take_fuel=Take fuel - -# ./src/main/java/mods/eln/transparentnode/powercapacitor/PowerCapacitorContainer.java -(Increases_maximal_voltage)=(Increases maximal voltage) - -# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelContainer.java -Solar_tracker_slot=Solar tracker slot - -# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelDescriptor.java -Can_be_geared_towards_the_sun.=Can be geared towards the sun. -Max._power\:_%sW=Max. power\: %sW -Max._voltage\:_%sV=Max. voltage\: %sV -Produces_power_from_solar_radiation.=Produces power from solar radiation. - -# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPannelGuiDraw.java -It_is_night=It is night -Solar_panel_angle\:_%s°=Solar panel angle\: %s° -Sun_angle\:_%s°=Sun angle\: %s° - -# ./src/main/java/mods/eln/transparentnode/teleporter/TeleporterGui.java -Destination_transporter=Destination transporter -Power_consumption\:=Power consumption\: -Power_consumption\:_%sW=Power consumption\: %sW -Required_energy\:_%sJ=Required energy\: %sJ -Start=Start -Transporter_name=Transporter name - -# ./src/main/java/mods/eln/transparentnode/thermaldissipatoractive/ThermalDissipatorActiveDescriptor.java -Fan_cooling_power\:_%sW=Fan cooling power\: %sW -Fan_power_consumption\:_%sW=Fan power consumption\: %sW -Fan_voltage\:_%sV=Fan voltage\: %sV - -# ./src/main/java/mods/eln/transparentnode/transformer/TransformerDescriptor.java -The_voltage_ratio_is_proportional\nto_the_cable_stacks_count_ratio.=The voltage ratio is proportional\nto the cable stacks count ratio. -Transforms_an_input_voltage_to\nan_output_voltage.=Transforms an input voltage to\nan output voltage. - -# ./src/main/java/mods/eln/transparentnode/turbine/TurbineDescriptor.java -Generates_electricity_using_heat.=Generates electricity using heat. -Temperature_difference\:_%s°C=Temperature difference\: %s°C - -# ./src/main/java/mods/eln/transparentnode/turret/TurretDescriptor.java -CAUTION\:_Cables_can_get_quite_hot!=CAUTION\: Cables can get quite hot\! -Laser_charge_power\:_%sW...%skW=Laser charge power\: %sW...%skW -Scans_for_entities_and_shoots_if_the\nentity_matches_the_configurable_filter_criteria.=Scans for entities and shoots if the\nentity matches the configurable filter criteria. -Standby_power\:_%sW=Standby power\: %sW - -# ./src/main/java/mods/eln/transparentnode/turret/TurretGui.java -Attack\:=Attack\: -Do_not_attack\:=Do not attack\: -Recharge_power\:=Recharge power\: - -# ./src/main/java/mods/eln/transparentnode/waterturbine/WaterTurbineDescriptor.java -Generates_energy_using_water_stream.=Generates energy using water stream. -No_place_for_water_turbine!=No place for water turbine\! - -# ./src/main/java/mods/eln/transparentnode/windturbine/WindTurbineDescriptor.java -Front\:_%s=Front\: %s -Generates_energy_from_wind.=Generates energy from wind. -Left_Right\:_%s=Left/Right\: %s -Up_Down\:_%s=Up/Down\: %s -Wind_area\:=Wind area\: - -# ./src/main/java/mods/eln/wiki/Data.java -Energy=Energy -Light=Light -Machine=Machine -Ore=Ore -Portable=Portable -Resource=Resource -Signal=Signal -Thermal=Thermal -Upgrade=Upgrade -Utilities=Utilities -Wiring=Wiring - -# ./src/main/java/mods/eln/wiki/Default.java -Previous=Previous - -# ./src/main/java/mods/eln/wiki/ItemDefault.java -Can_be_used_to_craft\:=Can be used to craft\: -Cannot_be_crafted!=Cannot be crafted\! -Cost_%sJ=Cost %sJ -Created_by\:=Created by\: -Is_not_a_crafting_material!=Is not a crafting material\! -Recipe\:=Recipe\: - -# Appearing in multiple source files -(Increases_capacity)=(Increases capacity) -(Increases_inductance)=(Increases inductance) -Actual\:_%s°C=Actual\: %s°C -Biggest=Biggest -Booster_slot=Booster slot -Can_create\:=Can create\: -Capacity\:_%sF=Capacity\: %sF -Charge_power\:_%sW=Charge power\: %sW -Connected=Connected -Cooling_power\:_%sW=Cooling power\: %sW -Copper_cable_slot=Copper cable slot -Dielectric_slot=Dielectric slot -Discharge_power\:_%sW=Discharge power\: %sW -Electrical_cable_slot=Electrical cable slot -Entity_filter_slot=Entity filter slot -Ferromagnetic_core_slot=Ferromagnetic core slot -Has_a_signal_output.=Has a signal output. -Inductance\:_%sH=Inductance\: %sH -Internal_resistance\:_%sΩ=Internal resistance\: %sΩ -Is_off=Is off -Is_on=Is on -Max._temperature\:_%s°C=Max. temperature\: %s°C -Measured_value\ncorresponding\nto_0%_output=Measured value\ncorresponding\nto 0% output -Measured_value\ncorresponding\nto_100%_output=Measured value\ncorresponding\nto 100% output -Nominal\:=Nominal\: -Nominal_power\:_%sW=Nominal power\: %sW -Nominal_usage\:=Nominal usage\: -Nominal_voltage\:_%sV=Nominal voltage\: %sV -Not_connected=Nepřipojeno -Not_enough_space_for_this_block=Not enough space for this block -Power=Power -Power\:_%sW=Power\: %sW -Range\:_%s_blocks=Range\: %s blocks -Redstone_slot=Redstone slot -Regulator_slot=Regulator slot -Reset=Reset -Resistance\:_%sΩ=Resistance\: %sΩ -Smallest=Smallest -Specify_the_channel=Specify the channel -Stored_energy\:_%sJ_(%s)=Stored energy\: %sJ (%s) -Temperature\:_%s°C=Temperature\: %s°C -Temperature_gauge=Temperature gauge -Thermal_isolator_slot=Thermal isolator slot -Toggle=Toggle -Toggle_switch=Toggle switch -Toggles_the_output_each_time\nan_emitter's_value_rises.\nUseful_to_allow_multiple_buttons\nto_control_the_same_light.=Toggles the output each time\nan emitter's value rises.\nUseful to allow multiple buttons\nto control the same light. -Used_to_cool_down_turbines.=Used to cool down turbines. -Uses_the_biggest\nvalue_on_the_channel.=Uses the biggest\nvalue on the channel. -Uses_the_smallest\nvalue_on_the_channel.=Uses the smallest\nvalue on the channel. -Validate=Validate -Voltage\:_%sV=Voltage\: %sV -You_can't_place_this_block_at_this_side=You can't place this block at this side +eln:# +eln: +eln:# ./src/main/java/mods/eln/Achievements.java +eln:Electrical_Age_[WIP]=Electrical Age [WIP] +eln:achievement.craft_50v_macerator=Crushing Novice +eln:achievement.craft_50v_macerator.desc=Craft a 50V Macerator +eln:achievement.open_guide=Wiki Power +eln:achievement.open_guide.desc=Open the wiki guide +eln: +eln:# ./src/main/java/mods/eln/Eln.java +eln:10A_Diode.name=10A Dioda +eln:200V_Active_Thermal_Dissipator.name=200V Active Thermal Dissipator +eln:200V_Battery_Charger.name=200V Battery Charger +eln:200V_Compressor.name=200V Compressor +eln:200V_Condensator.name=200V Kondenzátor +eln:200V_Copper_Heating_Corp.name=200V Copper Heating Corp +eln:200V_Economic_Light_Bulb.name=200V Economic Light Bulb +eln:200V_Farming_Lamp.name=200V Farming Lamp +eln:200V_Fuel_Generator.name=200V Fuel Generator +eln:200V_Incandescent_Light_Bulb.name=200V Incandescent Light Bulb +eln:200V_Iron_Heating_Corp.name=200V Iron Heating Corp +eln:200V_LED_Bulb.name=200V LED Bulb +eln:200V_Macerator.name=200V Macerator +eln:200V_Magnetizer.name=200V Magnetizer +eln:200V_Plate_Machine.name=200V Plate Machine +eln:200V_Power_Socket.name=200V Power Socket +eln:200V_Tungsten_Heating_Corp.name=200V Tungsten Heating Corp +eln:200V_Turbine.name=200V Turbine +eln:25A_Diode.name=25A Dioda +eln:50V_Battery_Charger.name=50V Battery Charger +eln:50V_Carbon_Incandescent_Light_Bulb.name=50V Carbon Incandescent Light Bulb +eln:50V_Compressor.name=50V Compressor +eln:50V_Condensator.name=50V Kondenzátor +eln:50V_Copper_Heating_Corp.name=50V Copper Heating Corp +eln:50V_Economic_Light_Bulb.name=50V Economic Light Bulb +eln:50V_Egg_Incubator.name=50V Egg Incubator +eln:50V_Farming_Lamp.name=50V Farming Lamp +eln:50V_Fuel_Generator.name=50V Fuel Generator +eln:50V_Incandescent_Light_Bulb.name=50V Incandescent Light Bulb +eln:50V_Iron_Heating_Corp.name=50V Iron Heating Corp +eln:50V_LED_Bulb.name=50V LED Bulb +eln:50V_Macerator.name=50V Macerator +eln:50V_Magnetizer.name=50V Magnetizer +eln:50V_Plate_Machine.name=50V Plate Machine +eln:50V_Power_Socket.name=50V Power Socket +eln:50V_Tungsten_Heating_Corp.name=50V Tungsten Heating Corp +eln:50V_Turbine.name=50V Turbine +eln:800V_Defence_Turret.name=800V Defence Turret +eln:AND_Chip.name=AND Chip +eln:Advanced_Chip.name=Advanced Chip +eln:Advanced_Electrical_Motor.name=Advanced Electrical Motor +eln:Advanced_Energy_Meter.name=Advanced Energy Meter +eln:Advanced_Machine_Block.name=Advanced Machine Block +eln:Advanced_Magnet.name=Advanced Magnet +eln:AllMeter.name=Universal-Meter +eln:Alloy_Dust.name=Alloy Dust +eln:Alloy_Ingot.name=Alloy Ingot +eln:Alloy_Plate.name=Alloy Plate +eln:Analog_Watch.name=Analog watch +eln:Analog_vuMeter.name=Analog Gauge +eln:Analogic_Regulator.name=Analogic Regulator +eln:Animal_Filter.name=Animal Filter +eln:Auto_Miner.name=Auto Miner +eln:Average_Electrical_Drill.name=Average Electrical Drill +eln:Average_Ferromagnetic_Core.name=Average Ferromagnetic Core +eln:Basic_Magnet.name=Basic Magnet +eln:Black_Brush.name=Black Brush +eln:Blue_Brush.name=Blue Brush +eln:Brown_Brush.name=Brown Brush +eln:Capacity_Oriented_Battery.name=Capacity Oriented Battery +eln:Cheap_Chip.name=Cheap Chip +eln:Cheap_Electrical_Drill.name=Cheap Electrical Drill +eln:Cheap_Ferromagnetic_Core.name=Cheap Ferromagnetic Core +eln:Cinnabar_Dust.name=Cinnabar Dust +eln:Cinnabar_Ore.name=Cinnabar Ore +eln:Coal_Dust.name=Coal Dust +eln:Coal_Plate.name=Coal Plate +eln:Combustion_Chamber.name=Combustion Chamber +eln:Copper_Cable.name=Copper Cable +eln:Copper_Dust.name=Copper Dust +eln:Copper_Ingot.name=Copper Ingot +eln:Copper_Ore.name=Copper Ore +eln:Copper_Plate.name=Copper Plate +eln:Copper_Thermal_Cable.name=Copper Thermal Cable +eln:Cost_Oriented_Battery.name=Cost Oriented Battery +eln:Current_Oriented_Battery.name=Current Oriented Battery +eln:Cyan_Brush.name=Cyan Brush +eln:D_Flip_Flop_Chip.name=D Flip Flop Chip +eln:Data_Logger.name=Data Logger +eln:Data_Logger_Print.name=Data Logger Print +eln:Dielectric.name=Dielectric +eln:Digital_Watch.name=Digital Watch +eln:Electrical_Anemometer_Sensor.name=Electrical Anemometer Sensor +eln:Electrical_Breaker.name=Electrical Breaker +eln:Electrical_Daylight_Sensor.name=Elektronický Senzor Světla +eln:Electrical_Entity_Sensor.name=Electrical Entity Sensor +eln:Electrical_Fire_Detector.name=Elektronický Hlásič Požáru +eln:Electrical_Furnace.name=Elektrická Pec +eln:Electrical_Light_Sensor.name=Elektrický Světelný Senzor +eln:Electrical_Motor.name=Elektrický Motor +eln:Electrical_Probe.name=Electrical Probe +eln:Electrical_Probe_Chip.name=Electrical Probe Chip +eln:Electrical_Source.name=Electrical Source +eln:Electrical_Timer.name=Electrical Timer +eln:Electrical_Weather_Sensor.name=Electrical Weather Sensor +eln:Electrical_age_wrench,\nCan_be_used_to_turn\nsmall_wall_blocks=Electrical age wrench,\nCan be used to turn\nsmall wall blocks +eln:Energy_Meter.name=Energy Meter +eln:Experimental_Transporter.name=Experimental Transporter +eln:Fast_Electrical_Drill.name=Fast Electrical Drill +eln:Ferrite_Ingot.name=Ferrite Ingot +eln:Flat_Lamp_Socket.name=Flat Lamp Socket +eln:Fluorescent_Lamp_Socket.name=Fluorescent Lamp Socket +eln:Generator.name=Generator +eln:Gold_Dust.name=Gold Dust +eln:Gold_Plate.name=Gold Plate +eln:Gray_Brush.name=Gray Brush +eln:Green_Brush.name=Green Brush +eln:Ground_Cable.name=Ground Cable +eln:High_Power_Receiver_Antenna.name=High Power Receiver Antenna +eln:High_Power_Transmitter_Antenna.name=High Power Transmitter Antenna +eln:High_Voltage_Cable.name=High Voltage Cable +eln:High_Voltage_Relay.name=High Voltage Relay +eln:High_Voltage_Switch.name=High Voltage Switch +eln:Hub.name=Hub +eln:Industrial_Data_Logger.name=Industrial Data Logger +eln:Iron_Cable.name=Iron Cable +eln:Iron_Dust.name=Iron Dust +eln:Iron_Plate.name=Iron Plate +eln:JK_Flip_Flop_Chip.name=JK Flip Flop Chip +eln:LED_vuMeter.name=LED vuMeter +eln:Lamp_Socket_A.name=Lamp Socket A +eln:Lamp_Socket_B_Projector.name=Lamp Socket B Projector +eln:Lamp_Supply.name=Lamp Supply +eln:Large_Rheostat.name=Large Rheostat +eln:Lead_Dust.name=Lead Dust +eln:Lead_Ingot.name=Lead Ingot +eln:Lead_Ore.name=Lead Ore +eln:Lead_Plate.name=Lead Plate +eln:Life_Oriented_Battery.name=Life Oriented Battery +eln:Light_Blue_Brush.name=Light Blue Brush +eln:Lime_Brush.name=Lime Brush +eln:Long_Suspended_Lamp_Socket.name=Long Suspended Lamp Socket +eln:Low_Power_Receiver_Antenna.name=Low Power Receiver Antenna +eln:Low_Power_Transmitter_Antenna.name=Low Power Transmitter Antenna +eln:Low_Voltage_Cable.name=Low Voltage Cable +eln:Low_Voltage_Relay.name=Low Voltage Relay +eln:Low_Voltage_Switch.name=Low Voltage Switch +eln:Machine_Block.name=Machine Block +eln:Machine_Booster.name=Machine Booster +eln:Magenta_Brush.name=Magenta Brush +eln:Medium_Power_Receiver_Antenna.name=Medium Power Receiver Antenna +eln:Medium_Power_Transmitter_Antenna.name=Medium Power Transmitter Antenna +eln:Medium_Voltage_Cable.name=Medium Voltage Cable +eln:Medium_Voltage_Relay.name=Medium Voltage Relay +eln:Medium_Voltage_Switch.name=Medium Voltage Switch +eln:Mercury.name=Mercury +eln:Mining_Pipe.name=Mining Pipe +eln:Modbus_RTU.name=Modbus RTU +eln:Modern_Data_Logger.name=Modern Data Logger +eln:Monster_Filter.name=Monster Filter +eln:MultiMeter.name=Multimetr +eln:NAND_Chip.name=NAND Chip +eln:NOR_Chip.name=NOR Chip +eln:NOT_Chip.name=NOT Chip +eln:Nuclear_Alarm.name=Nuclear Alarm +eln:OR_Chip.name=OR Chip +eln:On_OFF_Regulator_10_Percent.name=On/off regulator 10% +eln:On_OFF_Regulator_1_Percent.name=On/off regulator 1% +eln:Optimal_Ferromagnetic_Core.name=Optimal Ferromagnetic Core +eln:Orange_Brush.name=Orange Brush +eln:Ore_Scanner.name=Ore Scanner +eln:Oscillator_Chip.name=Oscillator Chip +eln:Overheating_Protection.name=Overheating Protection +eln:Overvoltage_Protection.name=Overvoltage Protection +eln:PAL_Chip.name=PAL Chip +eln:Pink_Brush.name=Pink Brush +eln:Player_Filter.name=Player Filter +eln:Portable_Battery.name=Portable Battery +eln:Portable_Battery_Pack.name=Portable Battery Pack +eln:Portable_Condensator.name=Portable Condensator +eln:Portable_Condensator_Pack.name=Portable Condensator Pack +eln:Portable_Electrical_Axe.name=Portable Electrical Axe +eln:Portable_Electrical_Mining_Drill.name=Portable Electrical Mining Drill +eln:Power_Capacitor.name=Power Capacitor +eln:Power_Inductor.name=Power Inductor +eln:Power_Resistor.name=Power Resistor +eln:Power_capacitor.name=Power capacitor +eln:Power_inductor.name=Power inductor +eln:Purple_Brush.name=Purple Brush +eln:Red_Brush.name=Red Brush +eln:Redstone-to-Voltage_Converter.name=Redstone-to-Voltage Converter +eln:Rheostat.name=Rheostat +eln:Robust_Lamp_Socket.name=Robust Lamp Socket +eln:Rubber.name=Guma +eln:Schmitt_Trigger_Chip.name=Schmitt Trigger Chip +eln:Sconce_Lamp_Socket.name=Sconce Lamp Socket +eln:Signal_20H_inductor.name=Signal 20H inductor +eln:Signal_Antenna.name=Signal Antenna +eln:Signal_Button.name=Signal Button +eln:Signal_Cable.name=Signal Cable +eln:Signal_Diode.name=Signal Diode +eln:Signal_Processor.name=Signal Processor +eln:Signal_Relay.name=Signal Relay +eln:Signal_Source.name=Signal Source +eln:Signal_Switch.name=Signal Switch +eln:Signal_Switch_with_LED.name=Signal Switch with LED +eln:Signal_Trimmer.name=Signal Trimmer +eln:Silicon_Dust.name=Silicon Dust +eln:Silicon_Ingot.name=Silicon Ingot +eln:Silicon_Plate.name=Silicon Plate +eln:Silver_Brush.name=Silver Brush +eln:Simple_Lamp_Socket.name=Simple Lamp Socket +eln:Single-use_Battery.name=Single-use Battery +eln:Small_200V_Copper_Heating_Corp.name=Small 200V Copper Heating Corp +eln:Small_200V_Iron_Heating_Corp.name=Small 200V Iron Heating Corp +eln:Small_200V_Tungsten_Heating_Corp.name=Small 200V Tungsten Heating Corp +eln:Small_50V_Carbon_Incandescent_Light_Bulb.name=Small 50V Carbon Incandescent Light Bulb +eln:Small_50V_Copper_Heating_Corp.name=Small 50V Copper Heating Corp +eln:Small_50V_Economic_Light_Bulb.name=Small 50V Economic Light Bulb +eln:Small_50V_Incandescent_Light_Bulb.name=Small 50V Incandescent Light Bulb +eln:Small_50V_Iron_Heating_Corp.name=Small 50V Iron Heating Corp +eln:Small_50V_Tungsten_Heating_Corp.name=Small 50V Tungsten Heating Corp +eln:Small_Active_Thermal_Dissipator.name=Small Active Thermal Dissipator +eln:Small_Flashlight.name=Small Flashlight +eln:Small_Passive_Thermal_Dissipator.name=Small Passive Thermal Dissipator +eln:Small_Rotating_Solar_Panel.name=Small Rotating Solar Panel +eln:Small_Solar_Panel.name=Small Solar Panel +eln:Solar_Tracker.name=Solar Tracker +eln:Standard_Alarm.name=Standard Alarm +eln:Steam_Turbine.name=Steam Turbine +eln:Stone_Heat_Furnace.name=Stone Heat Furnace +eln:Street_Light.name=Streetlight +eln:Suspended_Lamp_Socket.name=Suspended Lamp Socket +eln:Temperature_Probe.name=Temperature Probe +eln:Thermal_Probe.name=Thermal Probe +eln:Thermal_Probe_Chip.name=Thermal Probe Chip +eln:Thermistor.name=Thermistor +eln:ThermoMeter.name=Thermometer +eln:Transformer.name=Transformer +eln:Tree_Resin.name=Tree Resin +eln:Tree_Resin_Collector.name=Tree Resin Collector +eln:Tungsten_Cable.name=Tungsten Cable +eln:Tungsten_Dust.name=Tungsten Dust +eln:Tungsten_Ingot.name=Tungsten Ingot +eln:Tungsten_Ore.name=Tungsten Ore +eln:Tutorial_Sign.name=Tutorial Sign +eln:Very_High_Voltage_Cable.name=Very High Voltage Cable +eln:Very_High_Voltage_Relay.name=Very High Voltage Relay +eln:Very_High_Voltage_Switch.name=Very High Voltage Switch +eln:Voltage-to-Redstone_Converter.name=Voltage-to-Redstone Converter +eln:Voltage_Oriented_Battery.name=Voltage Oriented Battery +eln:Voltage_Probe.name=Voltage Probe +eln:Water_Turbine.name=Vodní Turbína +eln:Weak_50V_Battery_Charger.name=Weak 50V Battery Charger +eln:White_Brush.name=White Brush +eln:Wind_Turbine.name=Větrná Turbína +eln:Wireless_Analyser.name=Wireless Analyzer +eln:Wireless_Button.name=Bezdrátové Tlačítko +eln:Wireless_Signal_Receiver.name=Wireless Signal Receiver +eln:Wireless_Signal_Repeater.name=Wireless Signal Repeater +eln:Wireless_Signal_Transmitter.name=Wireless Signal Transmitter +eln:Wireless_Switch.name=Wireless Switch +eln:Wrench.name=Wrench +eln:X-Ray_Scanner.name=X-Ray Scanner +eln:XNOR_Chip.name=XNOR Chip +eln:XOR_Chip.name=XOR Chip +eln:Yellow_Brush.name=Yellow Brush +eln:entity.EAReplicator.name=Replicator +eln:item.Copper Axe.name\=Copper Axe +eln:item.Copper Axe.name\=Copper Axe +eln:item.Copper Axe.name\=Copper Axe +eln:item.Copper Axe.name\=Copper Axe +eln:item.Copper Axe.name\=Copper Axe +eln:item.Copper Axe.name\=Copper Axe +eln:item.Copper Axe.name\=Copper Axe +eln:item.Copper Axe.name\=Copper Axe +eln:item.Copper Axe.name\=Copper Axe +eln:item.E-Coal Boots.name\=E-Coal Boots +eln:item.E-Coal Boots.name\=E-Coal Boots +eln:item.E-Coal Boots.name\=E-Coal Boots +eln:item.E-Coal Boots.name\=E-Coal Boots +eln:itemGroup.Eln=Electrical Age +eln:mod.meta.desc=Electricity in your base\! +eln:tile.eln.ElnProbe.name=Eln Computer Probe +eln:tile.eln.EnergyConverterElnToOtherHVUBlock.name=800V Electrical Age to other energy exporter +eln:tile.eln.EnergyConverterElnToOtherLVUBlock.name=50V Electrical Age to other energy exporter +eln:tile.eln.EnergyConverterElnToOtherMVUBlock.name=200V Electrical Age to other energy exporter +eln: +eln:# ./src/main/java/mods/eln/i18n/I18N.java +eln:You_have_%s_lives_left=You have %s lives left +eln: +eln:# ./src/main/java/mods/eln/item/BrushDescriptor.java +eln:Brush_is_dry=Brush is dry +eln:Can_paint_%s_blocks=Can paint %s blocks +eln: +eln:# ./src/main/java/mods/eln/item/CombustionChamber.java +eln:Upgrade_for_the_Stone_Heat_Furnace.=Upgrade for the Stone Heat Furnace. +eln: +eln:# ./src/main/java/mods/eln/item/ElectricalDrillDescriptor.java +eln:Energy_per_operation\:_%sJ=Energy per operation\: %sJ +eln:Time_per_operation\:_%ss=Time per operation\: %ss +eln: +eln:# ./src/main/java/mods/eln/item/FerromagneticCoreDescriptor.java +eln:Cable_loss_factor\:_%s=Cable loss factor\: %s +eln: +eln:# ./src/main/java/mods/eln/item/HeatingCorpElement.java +eln: +eln:# ./src/main/java/mods/eln/item/LampDescriptor.java +eln:Bad=Bad +eln:Condition\:=Kondice +eln:End_of_life=End of life +eln:Good=Dobrý +eln:New=Nový +eln:Nominal_lifetime\:_%sh=Nominal lifetime\: %sh +eln:Technology\:_%s=Technology\: %s +eln:Used=Použitý +eln: +eln:# ./src/main/java/mods/eln/item/LampSlot.java +eln:Lamp_slot=Lamp slot +eln: +eln:# ./src/main/java/mods/eln/item/OverHeatingProtectionDescriptor.java +eln:Useful_to_prevent_overheating\nof_Batteries=Useful to prevent overheating\nof Batteries +eln: +eln:# ./src/main/java/mods/eln/item/OverVoltageProtectionDescriptor.java +eln:Useful_to_prevent_over-voltage\nof_Batteries=Useful to prevent over-voltage\nof Batteries +eln: +eln:# ./src/main/java/mods/eln/item/SolarTrackerDescriptor.java +eln:Solar_panel_upgrade=Vylepšení solárního panelu +eln: +eln:# ./src/main/java/mods/eln/item/electricalitem/BatteryItem.java +eln: +eln:# ./src/main/java/mods/eln/item/electricalitem/ElectricalLampItem.java +eln:Off=Vypnuto +eln:On=Zapnuto +eln:State\:=State\: +eln:Stored_Energy\:_%sJ_(%s)=Stored Energy\: %sJ (%s) +eln: +eln:# ./src/main/java/mods/eln/item/regulator/RegulatorSlot.java +eln: +eln:# ./src/main/java/mods/eln/misc/UtilsClient.java +eln:Hold_shift=Podržte shift +eln: +eln:# ./src/main/java/mods/eln/misc/Version.java +eln:mod.name=Electrical Age +eln: +eln:# ./src/main/java/mods/eln/node/six/SixNodeDescriptor.java +eln: +eln:# ./src/main/java/mods/eln/simplenode/energyconverter/EnergyConverterElnToOtherGui.java +eln:Input_power_is_limited_to_%sW=Input power is limited to %sW +eln: +eln:# ./src/main/java/mods/eln/sixnode/LogicGate.kt +eln:_O\:_= O\: +eln: +eln:# ./src/main/java/mods/eln/sixnode/TreeResinCollector/TreeResinCollectorDescriptor.java +eln:Produces_Tree_Resin_over\ntime_when_put_on_a_tree.=Produces Tree Resin over\ntime when put on a tree. +eln:This_block_can_only_be_placed_on_the_side_of_a_tree!=This block can only be placed on the side of a tree\! +eln: +eln:# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerContainer.java +eln:Battery_slot=Battery slot +eln: +eln:# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerDescriptor.java +eln:Can_be_used_to_recharge\nelectrical_items_like\:\nFlash_Light,_X-Ray_scanner\nand_Portable_Battery_...=Can be used to recharge\nelectrical items like\:\nFlash Light, X-Ray scanner\nand Portable Battery ... +eln: +eln:# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerGui.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/diode/DiodeDescriptor.java +eln:Electrical_current_can_only\nflow_through_the_diode\nfrom_anode_to_cathode=Electrical current can only\nflow through the diode\nfrom anode to cathode +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalalarm/ElectricalAlarmDescriptor.java +eln:= +eln:Emits_an_acoustic_alarm_if\nthe_input_signal_is_high=Emits an acoustic alarm if\nthe input signal is high +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalalarm/ElectricalAlarmGui.java +eln:Sound_is_muted=Sound is muted +eln:Sound_is_not_muted=Sound is not muted +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerContainer.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerDescriptor.java +eln:Protects_electrical_components\nOpens_contact_if\:\n__-_Voltage_exceeds_a_certain_level\n-_Current_exceeds_the_cable_limit=Protects electrical components\nOpens contact if\:\n - Voltage exceeds a certain level\n- Current exceeds the cable limit +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerGui.java +eln:Maximum_voltage_before_cutting_off=Maximum voltage before cutting off +eln:Minimum_voltage_before_cutting_off=Minimum voltage before cutting off +eln:Switch_is_off=Switch is off +eln:Switch_is_on=Switch is on +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalcable/ElectricalCableDescriptor.java +eln:A_signal_is_electrical_information\nwhich_must_be_between_0V_and_%sV=A signal is electrical information\nwhich must be between 0V and %sV +eln:Cable_is_adapted_to_conduct\nelectrical_signals.=Cable is adapted to conduct\nelectrical signals. +eln:Current\:_%sA=Current\: %sA +eln:Not_adapted_to_transport_power.=Not adapted to transport power. +eln:Save_usage\:=Save usage\: +eln:Serial_resistance\:_%sΩ=Serial resistance\: %sΩ +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerDescriptor.java +eln:It_can_store_up_to_256_points.=It can store up to 256 points. +eln:Measures_the_voltage_of_an\nelectrical_signal_and_plots\nthe_data_in_real_time.=Measures the voltage of an\nelectrical signal and plots\nthe data in real time. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerGui.java +eln:Back_to_display=Back to display +eln:Configuration=Configuration +eln:Current_[A]=Current [A] +eln:Energy_[J]=Energy [J] +eln:Percent_[-]%=Percent [-]% +eln:Power_[W]=Power [W] +eln:Print=Print +eln:Sampling_period=Sampling period +eln:Temp._[*C]=Temp. [*C] +eln:Voltage_[V]=Voltage [V] +eln:Y-axis_max=Y-axis max +eln:Y-axis_min=Y-axis min +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorContainer.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorDescriptor.java +eln:Output_voltage_increases\nif_entities_are_moving_around.=Output voltage increases\nif entities are moving around. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalfiredetector/ElectricalFireDetectorDescriptor.java +eln:Output_voltage_increases\nif_a_fire_has_been_detected.=Output voltage increases\nif a fire has been detected. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceDescriptor.java +eln:Provides_configurable_signal\nvoltage.=Provides configurable signal\nvoltage. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceGui.java +eln:Output_at_%s=Output at %s +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricallightsensor/ElectricalLightSensorDescriptor.java +eln:0V_at_night,_%sV_at_noon.=0V at night, %sV at noon. +eln:Provides_an_electrical_voltage\nin_the_presence_of_light.=Provides an electrical voltage\nin the presence of light. +eln:Provides_an_electrical_voltage\nwhich_is_proportional_to\nthe_intensity_of_daylight.=Provides an electrical voltage\nwhich is proportional to\nthe intensity of daylight. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathContainer.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathDescriptor.java +eln:Applicable_boolean_operators\:=Applicable boolean operators\: +eln:Applicable_functions\:=Applicable functions\: +eln:Applicable_mathematical_operators\:=Applicable mathematical operators\: +eln:Calculates_an_output_signal_from\n3_inputs_(A,_B,_C)_using_an_equation.=Calculates an output signal from\n3 inputs (A, B, C) using an equation. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathGui.java +eln:%s_Redstone(s)_required=%s Redstone(s) required +eln:Equation_required!=Equation required\! +eln:Inputs_are=Inputs are +eln:Invalid_equation!=Invalid equation\! +eln:Output_voltage_formula=Output voltage formula +eln:Waiting_for_completion...=Waiting for completion... +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalredstoneinput/ElectricalRedstoneInputDescriptor.java +eln:Converts_Redstone_signal\nto_an_electrical_voltage.=Converts Redstone signal\nto an electrical voltage. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalredstoneoutput/ElectricalRedstoneOutputDescriptor.java +eln:Converts_electrical_voltage\ninto_a_Redstone_signal.=Converts electrical voltage\ninto a Redstone signal. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalrelay/ElectricalRelayDescriptor.java +eln:A_relay_is_an_electrical\ncontact_that_conducts_electric\ncurrent_or_not,_depending\nthe_actual_input_signal_voltage.=A relay is an electrical\ncontact that conducts electric\ncurrent or not, depending\nthe actual input signal voltage. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalrelay/ElectricalRelayGui.java +eln:Normally_closed=Normally closed +eln:Normally_open=Normally open +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalsource/ElectricalSourceDescriptor.java +eln:Creative_block.=Creative block. +eln:Provides_an_ideal_voltage_source\nwithout_energy_or_power_limitation.=Provides an ideal voltage source\nwithout energy or power limitation. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalsource/ElectricalSourceGui.java +eln:Output_voltage=Output voltage +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalswitch/ElectricalSwitchDescriptor.java +eln:Can_break_an_electrical_circuit\ninterrupting_the_current.=Can break an electrical circuit\ninterrupting the current. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricaltimeout/ElectricalTimeoutDescriptor.java +eln:Upon_application_of_a_high_signal,\nthe_timer_maintains_the_output_high_for\na_configurable_interval._Can_be_re-triggered.=Upon application of a high signal,\nthe timer maintains the output high for\na configurable interval. Can be re-triggered. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricaltimeout/ElectricalTimeoutGui.java +eln:Set=Set +eln:The_time_interval_the\noutput_is_kept_high.=The time interval the\noutput is kept high. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalvumeter/ElectricalVuMeterDescriptor.java +eln:Displays_the_value_of_a_signal.=Displays the value of a signal. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalwatch/ElectricalWatchContainer.java +eln:Portable_battery_slot=Portable battery slot +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalweathersensor/ElectricalWeatherSensorDescriptor.java +eln:Clear\:_%sV=Clear\: %sV +eln:Provides_an_electrical_signal\ndepending_the_actual_weather.=Provides an electrical signal\ndepending the actual weather. +eln:Rain\:_%sV=Rain\: %sV +eln:Storm\:_%sV=Storm\: %sV +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalwindsensor/ElectricalWindSensorDescriptor.java +eln:Maximum_wind_speed_is_%sm_s=Maximum wind speed is %sm/s +eln:Provides_an_electrical_signal\ndependant_on_wind_speed.=Provides an electrical signal\ndependant on wind speed. +eln:You_can't_place_this_block_on_the_floor_or_the_ceiling=You can't place this block on the floor or the ceiling +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricasensor/ElectricalSensorDescriptor.java +eln:Can_measure_Voltage_Power_Current=Can measure Voltage/Power/Current +eln:Measures_electrical_values_on_cables.=Measures electrical values on cables. +eln:Measures_voltage_on_cables.=Measures voltage on cables. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricasensor/ElectricalSensorGui.java +eln:Current=Current +eln:Measured_voltage\ncorresponding\nto_0%_output=Measured voltage\ncorresponding\nto 0% output +eln:Measured_voltage\ncorresponding\nto_100%_output=Measured voltage\ncorresponding\nto 100% output +eln:Voltage=Voltage +eln: +eln:# ./src/main/java/mods/eln/sixnode/energymeter/EnergyMeterGui.java +eln:Change_password=Change password +eln:Counter_Mode=Counter Mode +eln:Counts_the_energy_conducted_from\n\u00a74red\u00a7f_to_\u00a71blue\u00a7f.=Counts the energy conducted from\n\\u00a74red\\u00a7f to \\u00a71blue\\u00a7f. +eln:Energy_counter\:_%sJ=Energy counter\: %sJ +eln:Enter_new_energy=Enter new energy +eln:Enter_password=Vložte heslo +eln:Prepay_Mode=Prepay Mode +eln:Reset_time_counter=Reset time counter +eln:Set_energy_counter=Set energy counter +eln:Time_counter\:=Time counter\: +eln:Try_password=Try password +eln:You_can_set_an_initial\namount_of_available_energy.\nWhen_the_counter_arrives_at_0\nthe_contact_will_be_opened.=You can set an initial\namount of available energy.\nWhen the counter arrives at 0\nthe contact will be opened. +eln:is_off=je vypnuto +eln:is_on=je zapnuto +eln:value_in_kJ=value in kJ +eln: +eln:# ./src/main/java/mods/eln/sixnode/groundcable/GroundCableDescriptor.java +eln:Can_be_used_to_set_a_point_of_an\nelectrical_network_to_0V_potential.\nFor_example_to_ground_negative_battery_contacts.=Can be used to set a point of an\nelectrical network to 0V potential.\nFor example to ground negative battery contacts. +eln:Provides_a_zero_volt_reference.=Provides a zero volt reference. +eln: +eln:# ./src/main/java/mods/eln/sixnode/hub/HubDescriptor.java +eln:Allows_crossing_cables\non_one_single_block.=Allows crossing cables\non one single block. +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketDescriptor.java +eln:Angle\:_%s°_to_%s°=Angle\: %s° to %s° +eln:Spot_range\:_%s_blocks=Spot range\: %s blocks +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketGuiDraw.java +eln:%s_is_not_in_range!=%s is not in range\! +eln:Cable_slot_empty=Cable slot empty +eln:Orientation\:_%s°=Orientation\: %s° +eln:Parallel=Paralelní +eln:Powered_by_Lamp_Supply=Powered by Lamp Supply +eln:Powered_by_cable=Powered by cable +eln:Serial=Sériová +eln:Specify_the_supply_channel=Specify the supply channel +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyContainer.java +eln:Electrical_cable_slot\nBase_range_is_32_blocks.\nEach_additional_cable\nincreases_range_by_one.=Electrical cable slot\nBase range is 32 blocks.\nEach additional cable\nincreases range by one. +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyDescriptor.java +eln:Supplies_all_lamps_on_the_channel.=Supplies all lamps on the channel. +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyGui.java +eln:Power_channel_name=Power channel name +eln:Wireless_channel_name=Wireless channel name +eln: +eln:# ./src/main/java/mods/eln/sixnode/modbusrtu/ModbusRtuGui.java +eln:Add=Přidat +eln:Channel_name=Název kanálu +eln:Modbus_ID=Modbus ID +eln:Modbus_RTU=Modbus RTU +eln:Station_ID=ID stanice +eln:Station_name=Název stanice +eln:Wireless_RX=Wireless RX +eln:Wireless_TX=Wireless TX +eln: +eln:# ./src/main/java/mods/eln/sixnode/powercapacitorsix/PowerCapacitorSixContainer.java +eln:(Increases_maximum_voltage)=(Increases maximum voltage) +eln: +eln:# ./src/main/java/mods/eln/sixnode/powercapacitorsix/PowerCapacitorSixGui.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/powerinductorsix/PowerInductorSixContainer.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/powerinductorsix/PowerInductorSixGui.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/powersocket/PowerSocketDescriptor.java +eln:Supplies_any_device\nplugged_in_with_energy.=Supplies any device\nplugged in with energy. +eln: +eln:# ./src/main/java/mods/eln/sixnode/powersocket/PowerSocketGui.java +eln:Specify_the_device_to_supply_through_this_socket.=Specify the device to supply through this socket. +eln: +eln:# ./src/main/java/mods/eln/sixnode/resistor/ResistorContainer.java +eln:(Sets_resistance)=(Sets resistance) +eln:Coal_dust_slot=Coal dust slot +eln: +eln:# ./src/main/java/mods/eln/sixnode/thermalcable/ThermalCableDescriptor.java +eln:High_parallel_resistance\n_\=>_Low_power_dissipation.=High parallel resistance\n \=> Low power dissipation. +eln:Low_serial_resistance\n_\=>_High_conductivity.=Low serial resistance\n \=> High conductivity. +eln:Parallel_resistance\:_%sK_W=Parallel resistance\: %sK/W +eln:Serial_resistance\:_%sK_W=Serial resistance\: %sK/W +eln: +eln:# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorContainer.java +eln:Cable_slot=Cable slot +eln: +eln:# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorDescriptor.java +eln:Can_measure\:=Can measure\: +eln:Measures_temperature_of_cables.=Measures temperature of cables. +eln:Measures_thermal_values_on_cables.=Measures thermal values on cables. +eln:__Temperature_Power_conducted=Temperature/Power conducted +eln: +eln:# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorGui.java +eln:Measured_temperature\ncorresponding\nto_0%_output=Measured temperature\ncorresponding\nto 0% output +eln:Measured_temperature\ncorresponding\nto_100%_output=Measured temperature\ncorresponding\nto 100% output +eln:Temperature=Temperature +eln: +eln:# ./src/main/java/mods/eln/sixnode/tutorialsign/TutorialSignElement.java +eln:No_text_associated_to_this_beacon=No text associated to this beacon +eln: +eln:# ./src/main/java/mods/eln/sixnode/tutorialsign/TutorialSignGui.java +eln:Set_beacon_name=Set beacon name +eln: +eln:# ./src/main/java/mods/eln/sixnode/wirelesssignal/rx/WirelessSignalRxGui.java +eln: +eln:# ./src/main/java/mods/eln/transparentnode/FuelGenerator.kt +eln:Nominal_power\:_%s_W=Nominal power\: %s W +eln:Nominal_voltage\:_%s_V=Nominal voltage\: %s V +eln:Produces_electricity_using_fuel.=Produces electricity using fuel. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/LargeRheostat.kt +eln:Nom._Resistance\:_%s=Nom. Resistance\: %s +eln: +eln:# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerContainer.java +eln:Drill_slot=Drill slot +eln:Mining_pipe_slot=Mining pipe slot +eln:Ore_scanner_slot=Ore scanner slot +eln: +eln:# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerDescriptor.java +eln:Excavates_on_a_small_radius.\nExtracts_ore_on_a_bigger_radius\:\n10_blocks_radius_after_10_blocks_depth.=Excavates on a small radius.\nExtracts ore on a bigger radius\:\n10 blocks radius after 10 blocks depth. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerGuiDraw.java +eln:Chest_missing_on_the\nback_of_the_auto_miner!=Chest missing on the\nback of the auto miner\! +eln:Halves_speed,_triples_power_draw=Halves speed, triples power draw +eln:Silk_Touch_Off=Silk Touch Off +eln:Silk_Touch_On=Silk Touch On +eln:Silk_touch=Silk touch +eln: +eln:# ./src/main/java/mods/eln/transparentnode/battery/BatteryContainer.java +eln:Overheating_protection=Overheating protection +eln:Overvoltage_protection=Overvoltage protection +eln: +eln:# ./src/main/java/mods/eln/transparentnode/battery/BatteryDescriptor.java +eln:Actual_charge\:_%s=Actual charge\: %s +eln:Energy_capacity\:_%sJ=Energy capacity\: %sJ +eln:_charged_at_%s=charged at %s +eln: +eln:# ./src/main/java/mods/eln/transparentnode/battery/BatteryGuiDraw.java +eln:Charge=Charge +eln:Charged=Charged +eln:Discharge=Discharge +eln:Energy\:=Energy\: +eln:Energy\:_%s=Energy\: %s +eln:Life\:=Life\: +eln:No_charge=No charge +eln:Power_in\:=Power in\: +eln:Power_out\:=Power out\: +eln: +eln:# ./src/main/java/mods/eln/transparentnode/eggincubator/EggIncubatorContainer.java +eln:Egg_slot=Egg slot +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalantennarx/ElectricalAntennaRxDescriptor.java +eln:Wireless_energy_receiver.=Wireless energy receiver. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalantennatx/ElectricalAntennaTxDescriptor.java +eln:Efficiency\:_%s_up_to_%s=Efficiency\: %s up to %s +eln:Wireless_energy_transmitter.=Wireless energy transmitter. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceContainer.java +eln:Heating_corp_slot=Heating corp slot +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceDescriptor.java +eln:Similar_to_a_vanilla_furnace,\nbut_heats_with_electricity.=Similar to a vanilla furnace,\nbut heats with electricity. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceGuiDraw.java +eln:Auto_shutdown=Auto shutdown +eln:Manual_shutdown=Manual shutdown +eln:Set_point\:_%s°C=Set point\: %s°C +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalmachine/ElectricalMachineDescriptor.java +eln:Cost=Cost +eln: +eln:# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceContainer.java +eln:Combustion_chamber_slot=Combustion chamber slot +eln:Fuel_slot=Fuel slot +eln: +eln:# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceDescriptor.java +eln:Generates_heat_when_supplied_with_fuel.=Generates heat when supplied with fuel. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceGuiDraw.java +eln:Control_gauge_at_%s=Control gauge at %s +eln:Decline_fuel=Decline fuel +eln:External_control=External control +eln:Internal_control=Internal control +eln:Take_fuel=Take fuel +eln: +eln:# ./src/main/java/mods/eln/transparentnode/powercapacitor/PowerCapacitorContainer.java +eln:(Increases_maximal_voltage)=(Increases maximal voltage) +eln: +eln:# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelContainer.java +eln:Solar_tracker_slot=Solar tracker slot +eln: +eln:# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelDescriptor.java +eln:Can_be_geared_towards_the_sun.=Can be geared towards the sun. +eln:Max._power\:_%sW=Max. power\: %sW +eln:Max._voltage\:_%sV=Max. voltage\: %sV +eln:Produces_power_from_solar_radiation.=Produces power from solar radiation. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPannelGuiDraw.java +eln:It_is_night=It is night +eln:Solar_panel_angle\:_%s°=Solar panel angle\: %s° +eln:Sun_angle\:_%s°=Sun angle\: %s° +eln: +eln:# ./src/main/java/mods/eln/transparentnode/teleporter/TeleporterGui.java +eln:Destination_transporter=Destination transporter +eln:Power_consumption\:=Power consumption\: +eln:Power_consumption\:_%sW=Power consumption\: %sW +eln:Required_energy\:_%sJ=Required energy\: %sJ +eln:Start=Start +eln:Transporter_name=Transporter name +eln: +eln:# ./src/main/java/mods/eln/transparentnode/thermaldissipatoractive/ThermalDissipatorActiveDescriptor.java +eln:Fan_cooling_power\:_%sW=Fan cooling power\: %sW +eln:Fan_power_consumption\:_%sW=Fan power consumption\: %sW +eln:Fan_voltage\:_%sV=Fan voltage\: %sV +eln: +eln:# ./src/main/java/mods/eln/transparentnode/transformer/TransformerDescriptor.java +eln:The_voltage_ratio_is_proportional\nto_the_cable_stacks_count_ratio.=The voltage ratio is proportional\nto the cable stacks count ratio. +eln:Transforms_an_input_voltage_to\nan_output_voltage.=Transforms an input voltage to\nan output voltage. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/turbine/TurbineDescriptor.java +eln:Generates_electricity_using_heat.=Generates electricity using heat. +eln:Temperature_difference\:_%s°C=Temperature difference\: %s°C +eln: +eln:# ./src/main/java/mods/eln/transparentnode/turret/TurretDescriptor.java +eln:CAUTION\:_Cables_can_get_quite_hot!=CAUTION\: Cables can get quite hot\! +eln:Laser_charge_power\:_%sW...%skW=Laser charge power\: %sW...%skW +eln:Scans_for_entities_and_shoots_if_the\nentity_matches_the_configurable_filter_criteria.=Scans for entities and shoots if the\nentity matches the configurable filter criteria. +eln:Standby_power\:_%sW=Standby power\: %sW +eln: +eln:# ./src/main/java/mods/eln/transparentnode/turret/TurretGui.java +eln:Attack\:=Attack\: +eln:Do_not_attack\:=Do not attack\: +eln:Recharge_power\:=Recharge power\: +eln: +eln:# ./src/main/java/mods/eln/transparentnode/waterturbine/WaterTurbineDescriptor.java +eln:Generates_energy_using_water_stream.=Generates energy using water stream. +eln:No_place_for_water_turbine!=No place for water turbine\! +eln: +eln:# ./src/main/java/mods/eln/transparentnode/windturbine/WindTurbineDescriptor.java +eln:Front\:_%s=Front\: %s +eln:Generates_energy_from_wind.=Generates energy from wind. +eln:Left_Right\:_%s=Left/Right\: %s +eln:Up_Down\:_%s=Up/Down\: %s +eln:Wind_area\:=Wind area\: +eln: +eln:# ./src/main/java/mods/eln/wiki/Data.java +eln:Energy=Energy +eln:Light=Light +eln:Machine=Machine +eln:Ore=Ore +eln:Portable=Portable +eln:Resource=Resource +eln:Signal=Signal +eln:Thermal=Thermal +eln:Upgrade=Upgrade +eln:Utilities=Utilities +eln:Wiring=Wiring +eln: +eln:# ./src/main/java/mods/eln/wiki/Default.java +eln:Previous=Previous +eln: +eln:# ./src/main/java/mods/eln/wiki/ItemDefault.java +eln:Can_be_used_to_craft\:=Can be used to craft\: +eln:Cannot_be_crafted!=Cannot be crafted\! +eln:Cost_%sJ=Cost %sJ +eln:Created_by\:=Created by\: +eln:Is_not_a_crafting_material!=Is not a crafting material\! +eln:Recipe\:=Recipe\: +eln: +eln:# Appearing in multiple source files +eln:(Increases_capacity)=(Increases capacity) +eln:(Increases_inductance)=(Increases inductance) +eln:Actual\:_%s°C=Actual\: %s°C +eln:Biggest=Biggest +eln:Booster_slot=Booster slot +eln:Can_create\:=Can create\: +eln:Capacity\:_%sF=Capacity\: %sF +eln:Charge_power\:_%sW=Charge power\: %sW +eln:Connected=Connected +eln:Cooling_power\:_%sW=Cooling power\: %sW +eln:Copper_cable_slot=Copper cable slot +eln:Dielectric_slot=Dielectric slot +eln:Discharge_power\:_%sW=Discharge power\: %sW +eln:Electrical_cable_slot=Electrical cable slot +eln:Entity_filter_slot=Entity filter slot +eln:Ferromagnetic_core_slot=Ferromagnetic core slot +eln:Has_a_signal_output.=Has a signal output. +eln:Inductance\:_%sH=Inductance\: %sH +eln:Internal_resistance\:_%sΩ=Internal resistance\: %sΩ +eln:Is_off=Is off +eln:Is_on=Is on +eln:Max._temperature\:_%s°C=Max. temperature\: %s°C +eln:Measured_value\ncorresponding\nto_0%_output=Measured value\ncorresponding\nto 0% output +eln:Measured_value\ncorresponding\nto_100%_output=Measured value\ncorresponding\nto 100% output +eln:Nominal\:=Nominal\: +eln:Nominal_power\:_%sW=Nominal power\: %sW +eln:Nominal_usage\:=Nominal usage\: +eln:Nominal_voltage\:_%sV=Nominal voltage\: %sV +eln:Not_connected=Nepřipojeno +eln:Not_enough_space_for_this_block=Not enough space for this block +eln:Power=Power +eln:Power\:_%sW=Power\: %sW +eln:Range\:_%s_blocks=Range\: %s blocks +eln:Redstone_slot=Redstone slot +eln:Regulator_slot=Regulator slot +eln:Reset=Reset +eln:Resistance\:_%sΩ=Resistance\: %sΩ +eln:Smallest=Smallest +eln:Specify_the_channel=Specify the channel +eln:Stored_energy\:_%sJ_(%s)=Stored energy\: %sJ (%s) +eln:Temperature\:_%s°C=Temperature\: %s°C +eln:Temperature_gauge=Temperature gauge +eln:Thermal_isolator_slot=Thermal isolator slot +eln:Toggle=Toggle +eln:Toggle_switch=Toggle switch +eln:Toggles_the_output_each_time\nan_emitter's_value_rises.\nUseful_to_allow_multiple_buttons\nto_control_the_same_light.=Toggles the output each time\nan emitter's value rises.\nUseful to allow multiple buttons\nto control the same light. +eln:Used_to_cool_down_turbines.=Used to cool down turbines. +eln:Uses_the_biggest\nvalue_on_the_channel.=Uses the biggest\nvalue on the channel. +eln:Uses_the_smallest\nvalue_on_the_channel.=Uses the smallest\nvalue on the channel. +eln:Validate=Validate +eln:Voltage\:_%sV=Voltage\: %sV +eln:You_can't_place_this_block_at_this_side=You can't place this block at this side diff --git a/src/main/resources/assets/eln/lang/cs_CZ.lang b/src/main/resources/assets/eln/lang/cs_CZ.lang index 0f40df4e5..4eb98de27 100644 --- a/src/main/resources/assets/eln/lang/cs_CZ.lang +++ b/src/main/resources/assets/eln/lang/cs_CZ.lang @@ -1,829 +1,829 @@ -# - -# ./src/main/java/mods/eln/Achievements.java -Electrical_Age_[WIP]=Electrical Age [WIP] -achievement.craft_50v_macerator=Crushing Novice -achievement.craft_50v_macerator.desc=Craft a 50V Macerator -achievement.open_guide=Wiki Power -achievement.open_guide.desc=Open the wiki guide - -# ./src/main/java/mods/eln/Eln.java -10A_Diode.name=10A Dioda -200V_Active_Thermal_Dissipator.name=200V Active Thermal Dissipator -200V_Battery_Charger.name=200V Battery Charger -200V_Compressor.name=200V Compressor -200V_Condensator.name=200V Kondenzátor -200V_Copper_Heating_Corp.name=200V Copper Heating Corp -200V_Economic_Light_Bulb.name=200V Economic Light Bulb -200V_Farming_Lamp.name=200V Farming Lamp -200V_Fuel_Generator.name=200V Fuel Generator -200V_Incandescent_Light_Bulb.name=200V Incandescent Light Bulb -200V_Iron_Heating_Corp.name=200V Iron Heating Corp -200V_LED_Bulb.name=200V LED Bulb -200V_Macerator.name=200V Macerator -200V_Magnetizer.name=200V Magnetizer -200V_Plate_Machine.name=200V Plate Machine -200V_Power_Socket.name=200V Power Socket -200V_Tungsten_Heating_Corp.name=200V Tungsten Heating Corp -200V_Turbine.name=200V Turbine -25A_Diode.name=25A Dioda -50V_Battery_Charger.name=50V Battery Charger -50V_Carbon_Incandescent_Light_Bulb.name=50V Carbon Incandescent Light Bulb -50V_Compressor.name=50V Compressor -50V_Condensator.name=50V Kondenzátor -50V_Copper_Heating_Corp.name=50V Copper Heating Corp -50V_Economic_Light_Bulb.name=50V Economic Light Bulb -50V_Egg_Incubator.name=50V Egg Incubator -50V_Farming_Lamp.name=50V Farming Lamp -50V_Fuel_Generator.name=50V Fuel Generator -50V_Incandescent_Light_Bulb.name=50V Incandescent Light Bulb -50V_Iron_Heating_Corp.name=50V Iron Heating Corp -50V_LED_Bulb.name=50V LED Bulb -50V_Macerator.name=50V Macerator -50V_Magnetizer.name=50V Magnetizer -50V_Plate_Machine.name=50V Plate Machine -50V_Power_Socket.name=50V Power Socket -50V_Tungsten_Heating_Corp.name=50V Tungsten Heating Corp -50V_Turbine.name=50V Turbine -800V_Defence_Turret.name=800V Defence Turret -AND_Chip.name=AND Chip -Advanced_Chip.name=Advanced Chip -Advanced_Electrical_Motor.name=Advanced Electrical Motor -Advanced_Energy_Meter.name=Advanced Energy Meter -Advanced_Machine_Block.name=Advanced Machine Block -Advanced_Magnet.name=Advanced Magnet -AllMeter.name=Universal-Meter -Alloy_Dust.name=Alloy Dust -Alloy_Ingot.name=Alloy Ingot -Alloy_Plate.name=Alloy Plate -Analog_Watch.name=Analog watch -Analog_vuMeter.name=Analog Gauge -Analogic_Regulator.name=Analogic Regulator -Animal_Filter.name=Animal Filter -Auto_Miner.name=Auto Miner -Average_Electrical_Drill.name=Average Electrical Drill -Average_Ferromagnetic_Core.name=Average Ferromagnetic Core -Basic_Magnet.name=Basic Magnet -Black_Brush.name=Black Brush -Blue_Brush.name=Blue Brush -Brown_Brush.name=Brown Brush -Capacity_Oriented_Battery.name=Capacity Oriented Battery -Cheap_Chip.name=Cheap Chip -Cheap_Electrical_Drill.name=Cheap Electrical Drill -Cheap_Ferromagnetic_Core.name=Cheap Ferromagnetic Core -Cinnabar_Dust.name=Cinnabar Dust -Cinnabar_Ore.name=Cinnabar Ore -Coal_Dust.name=Coal Dust -Coal_Plate.name=Coal Plate -Combustion_Chamber.name=Combustion Chamber -Copper_Cable.name=Copper Cable -Copper_Dust.name=Copper Dust -Copper_Ingot.name=Copper Ingot -Copper_Ore.name=Copper Ore -Copper_Plate.name=Copper Plate -Copper_Thermal_Cable.name=Copper Thermal Cable -Cost_Oriented_Battery.name=Cost Oriented Battery -Current_Oriented_Battery.name=Current Oriented Battery -Cyan_Brush.name=Cyan Brush -D_Flip_Flop_Chip.name=D Flip Flop Chip -Data_Logger.name=Data Logger -Data_Logger_Print.name=Data Logger Print -Dielectric.name=Dielectric -Digital_Watch.name=Digital Watch -Electrical_Anemometer_Sensor.name=Electrical Anemometer Sensor -Electrical_Breaker.name=Electrical Breaker -Electrical_Daylight_Sensor.name=Elektronický Senzor Světla -Electrical_Entity_Sensor.name=Electrical Entity Sensor -Electrical_Fire_Detector.name=Elektronický Hlásič Požáru -Electrical_Furnace.name=Elektrická Pec -Electrical_Light_Sensor.name=Elektrický Světelný Senzor -Electrical_Motor.name=Elektrický Motor -Electrical_Probe.name=Electrical Probe -Electrical_Probe_Chip.name=Electrical Probe Chip -Electrical_Source.name=Electrical Source -Electrical_Timer.name=Electrical Timer -Electrical_Weather_Sensor.name=Electrical Weather Sensor -Electrical_age_wrench,\nCan_be_used_to_turn\nsmall_wall_blocks=Electrical age wrench,\nCan be used to turn\nsmall wall blocks -Energy_Meter.name=Energy Meter -Experimental_Transporter.name=Experimental Transporter -Fast_Electrical_Drill.name=Fast Electrical Drill -Ferrite_Ingot.name=Ferrite Ingot -Flat_Lamp_Socket.name=Flat Lamp Socket -Fluorescent_Lamp_Socket.name=Fluorescent Lamp Socket -Generator.name=Generator -Gold_Dust.name=Gold Dust -Gold_Plate.name=Gold Plate -Gray_Brush.name=Gray Brush -Green_Brush.name=Green Brush -Ground_Cable.name=Ground Cable -High_Power_Receiver_Antenna.name=High Power Receiver Antenna -High_Power_Transmitter_Antenna.name=High Power Transmitter Antenna -High_Voltage_Cable.name=High Voltage Cable -High_Voltage_Relay.name=High Voltage Relay -High_Voltage_Switch.name=High Voltage Switch -Hub.name=Hub -Industrial_Data_Logger.name=Industrial Data Logger -Iron_Cable.name=Iron Cable -Iron_Dust.name=Iron Dust -Iron_Plate.name=Iron Plate -JK_Flip_Flop_Chip.name=JK Flip Flop Chip -LED_vuMeter.name=LED vuMeter -Lamp_Socket_A.name=Lamp Socket A -Lamp_Socket_B_Projector.name=Lamp Socket B Projector -Lamp_Supply.name=Lamp Supply -Large_Rheostat.name=Large Rheostat -Lead_Dust.name=Lead Dust -Lead_Ingot.name=Lead Ingot -Lead_Ore.name=Lead Ore -Lead_Plate.name=Lead Plate -Life_Oriented_Battery.name=Life Oriented Battery -Light_Blue_Brush.name=Light Blue Brush -Lime_Brush.name=Lime Brush -Long_Suspended_Lamp_Socket.name=Long Suspended Lamp Socket -Low_Power_Receiver_Antenna.name=Low Power Receiver Antenna -Low_Power_Transmitter_Antenna.name=Low Power Transmitter Antenna -Low_Voltage_Cable.name=Low Voltage Cable -Low_Voltage_Relay.name=Low Voltage Relay -Low_Voltage_Switch.name=Low Voltage Switch -Machine_Block.name=Machine Block -Machine_Booster.name=Machine Booster -Magenta_Brush.name=Magenta Brush -Medium_Power_Receiver_Antenna.name=Medium Power Receiver Antenna -Medium_Power_Transmitter_Antenna.name=Medium Power Transmitter Antenna -Medium_Voltage_Cable.name=Medium Voltage Cable -Medium_Voltage_Relay.name=Medium Voltage Relay -Medium_Voltage_Switch.name=Medium Voltage Switch -Mercury.name=Mercury -Mining_Pipe.name=Mining Pipe -Modbus_RTU.name=Modbus RTU -Modern_Data_Logger.name=Modern Data Logger -Monster_Filter.name=Monster Filter -MultiMeter.name=Multimetr -NAND_Chip.name=NAND Chip -NOR_Chip.name=NOR Chip -NOT_Chip.name=NOT Chip -Nuclear_Alarm.name=Nuclear Alarm -OR_Chip.name=OR Chip -On_OFF_Regulator_10_Percent.name=On/off regulator 10% -On_OFF_Regulator_1_Percent.name=On/off regulator 1% -Optimal_Ferromagnetic_Core.name=Optimal Ferromagnetic Core -Orange_Brush.name=Orange Brush -Ore_Scanner.name=Ore Scanner -Oscillator_Chip.name=Oscillator Chip -Overheating_Protection.name=Overheating Protection -Overvoltage_Protection.name=Overvoltage Protection -PAL_Chip.name=PAL Chip -Pink_Brush.name=Pink Brush -Player_Filter.name=Player Filter -Portable_Battery.name=Portable Battery -Portable_Battery_Pack.name=Portable Battery Pack -Portable_Condensator.name=Portable Condensator -Portable_Condensator_Pack.name=Portable Condensator Pack -Portable_Electrical_Axe.name=Portable Electrical Axe -Portable_Electrical_Mining_Drill.name=Portable Electrical Mining Drill -Power_Capacitor.name=Power Capacitor -Power_Inductor.name=Power Inductor -Power_Resistor.name=Power Resistor -Power_capacitor.name=Power capacitor -Power_inductor.name=Power inductor -Purple_Brush.name=Purple Brush -Red_Brush.name=Red Brush -Redstone-to-Voltage_Converter.name=Redstone-to-Voltage Converter -Rheostat.name=Rheostat -Robust_Lamp_Socket.name=Robust Lamp Socket -Rubber.name=Guma -Schmitt_Trigger_Chip.name=Schmitt Trigger Chip -Sconce_Lamp_Socket.name=Sconce Lamp Socket -Signal_20H_inductor.name=Signal 20H inductor -Signal_Antenna.name=Signal Antenna -Signal_Button.name=Signal Button -Signal_Cable.name=Signal Cable -Signal_Diode.name=Signal Diode -Signal_Processor.name=Signal Processor -Signal_Relay.name=Signal Relay -Signal_Source.name=Signal Source -Signal_Switch.name=Signal Switch -Signal_Switch_with_LED.name=Signal Switch with LED -Signal_Trimmer.name=Signal Trimmer -Silicon_Dust.name=Silicon Dust -Silicon_Ingot.name=Silicon Ingot -Silicon_Plate.name=Silicon Plate -Silver_Brush.name=Silver Brush -Simple_Lamp_Socket.name=Simple Lamp Socket -Single-use_Battery.name=Single-use Battery -Small_200V_Copper_Heating_Corp.name=Small 200V Copper Heating Corp -Small_200V_Iron_Heating_Corp.name=Small 200V Iron Heating Corp -Small_200V_Tungsten_Heating_Corp.name=Small 200V Tungsten Heating Corp -Small_50V_Carbon_Incandescent_Light_Bulb.name=Small 50V Carbon Incandescent Light Bulb -Small_50V_Copper_Heating_Corp.name=Small 50V Copper Heating Corp -Small_50V_Economic_Light_Bulb.name=Small 50V Economic Light Bulb -Small_50V_Incandescent_Light_Bulb.name=Small 50V Incandescent Light Bulb -Small_50V_Iron_Heating_Corp.name=Small 50V Iron Heating Corp -Small_50V_Tungsten_Heating_Corp.name=Small 50V Tungsten Heating Corp -Small_Active_Thermal_Dissipator.name=Small Active Thermal Dissipator -Small_Flashlight.name=Small Flashlight -Small_Passive_Thermal_Dissipator.name=Small Passive Thermal Dissipator -Small_Rotating_Solar_Panel.name=Small Rotating Solar Panel -Small_Solar_Panel.name=Small Solar Panel -Solar_Tracker.name=Solar Tracker -Standard_Alarm.name=Standard Alarm -Steam_Turbine.name=Steam Turbine -Stone_Heat_Furnace.name=Stone Heat Furnace -Street_Light.name=Streetlight -Suspended_Lamp_Socket.name=Suspended Lamp Socket -Temperature_Probe.name=Temperature Probe -Thermal_Probe.name=Thermal Probe -Thermal_Probe_Chip.name=Thermal Probe Chip -Thermistor.name=Thermistor -ThermoMeter.name=Thermometer -Transformer.name=Transformer -Tree_Resin.name=Tree Resin -Tree_Resin_Collector.name=Tree Resin Collector -Tungsten_Cable.name=Tungsten Cable -Tungsten_Dust.name=Tungsten Dust -Tungsten_Ingot.name=Tungsten Ingot -Tungsten_Ore.name=Tungsten Ore -Tutorial_Sign.name=Tutorial Sign -Very_High_Voltage_Cable.name=Very High Voltage Cable -Very_High_Voltage_Relay.name=Very High Voltage Relay -Very_High_Voltage_Switch.name=Very High Voltage Switch -Voltage-to-Redstone_Converter.name=Voltage-to-Redstone Converter -Voltage_Oriented_Battery.name=Voltage Oriented Battery -Voltage_Probe.name=Voltage Probe -Water_Turbine.name=Vodní Turbína -Weak_50V_Battery_Charger.name=Weak 50V Battery Charger -White_Brush.name=White Brush -Wind_Turbine.name=Větrná Turbína -Wireless_Analyser.name=Wireless Analyzer -Wireless_Button.name=Bezdrátové Tlačítko -Wireless_Signal_Receiver.name=Wireless Signal Receiver -Wireless_Signal_Repeater.name=Wireless Signal Repeater -Wireless_Signal_Transmitter.name=Wireless Signal Transmitter -Wireless_Switch.name=Wireless Switch -Wrench.name=Wrench -X-Ray_Scanner.name=X-Ray Scanner -XNOR_Chip.name=XNOR Chip -XOR_Chip.name=XOR Chip -Yellow_Brush.name=Yellow Brush -entity.EAReplicator.name=Replicator -item.Copper Axe.name\=Copper Axe -item.Copper Axe.name\=Copper Axe -item.Copper Axe.name\=Copper Axe -item.Copper Axe.name\=Copper Axe -item.Copper Axe.name\=Copper Axe -item.Copper Axe.name\=Copper Axe -item.Copper Axe.name\=Copper Axe -item.Copper Axe.name\=Copper Axe -item.Copper Axe.name\=Copper Axe -item.E-Coal Boots.name\=E-Coal Boots -item.E-Coal Boots.name\=E-Coal Boots -item.E-Coal Boots.name\=E-Coal Boots -item.E-Coal Boots.name\=E-Coal Boots -itemGroup.Eln=Electrical Age -mod.meta.desc=Electricity in your base\! -tile.eln.ElnProbe.name=Eln Computer Probe -tile.eln.EnergyConverterElnToOtherHVUBlock.name=800V Electrical Age to other energy exporter -tile.eln.EnergyConverterElnToOtherLVUBlock.name=50V Electrical Age to other energy exporter -tile.eln.EnergyConverterElnToOtherMVUBlock.name=200V Electrical Age to other energy exporter - -# ./src/main/java/mods/eln/i18n/I18N.java -You_have_%s_lives_left=You have %s lives left - -# ./src/main/java/mods/eln/item/BrushDescriptor.java -Brush_is_dry=Brush is dry -Can_paint_%s_blocks=Can paint %s blocks - -# ./src/main/java/mods/eln/item/CombustionChamber.java -Upgrade_for_the_Stone_Heat_Furnace.=Upgrade for the Stone Heat Furnace. - -# ./src/main/java/mods/eln/item/ElectricalDrillDescriptor.java -Energy_per_operation\:_%sJ=Energy per operation\: %sJ -Time_per_operation\:_%ss=Time per operation\: %ss - -# ./src/main/java/mods/eln/item/FerromagneticCoreDescriptor.java -Cable_loss_factor\:_%s=Cable loss factor\: %s - -# ./src/main/java/mods/eln/item/HeatingCorpElement.java - -# ./src/main/java/mods/eln/item/LampDescriptor.java -Bad=Bad -Condition\:=Kondice -End_of_life=End of life -Good=Dobrý -New=Nový -Nominal_lifetime\:_%sh=Nominal lifetime\: %sh -Technology\:_%s=Technology\: %s -Used=Použitý - -# ./src/main/java/mods/eln/item/LampSlot.java -Lamp_slot=Lamp slot - -# ./src/main/java/mods/eln/item/OverHeatingProtectionDescriptor.java -Useful_to_prevent_overheating\nof_Batteries=Useful to prevent overheating\nof Batteries - -# ./src/main/java/mods/eln/item/OverVoltageProtectionDescriptor.java -Useful_to_prevent_over-voltage\nof_Batteries=Useful to prevent over-voltage\nof Batteries - -# ./src/main/java/mods/eln/item/SolarTrackerDescriptor.java -Solar_panel_upgrade=Vylepšení solárního panelu - -# ./src/main/java/mods/eln/item/electricalitem/BatteryItem.java - -# ./src/main/java/mods/eln/item/electricalitem/ElectricalLampItem.java -Off=Vypnuto -On=Zapnuto -State\:=State\: -Stored_Energy\:_%sJ_(%s)=Stored Energy\: %sJ (%s) - -# ./src/main/java/mods/eln/item/regulator/RegulatorSlot.java - -# ./src/main/java/mods/eln/misc/UtilsClient.java -Hold_shift=Podržte shift - -# ./src/main/java/mods/eln/misc/Version.java -mod.name=Electrical Age - -# ./src/main/java/mods/eln/node/six/SixNodeDescriptor.java - -# ./src/main/java/mods/eln/simplenode/energyconverter/EnergyConverterElnToOtherGui.java -Input_power_is_limited_to_%sW=Input power is limited to %sW - -# ./src/main/java/mods/eln/sixnode/LogicGate.kt -_O\:_= O\: - -# ./src/main/java/mods/eln/sixnode/TreeResinCollector/TreeResinCollectorDescriptor.java -Produces_Tree_Resin_over\ntime_when_put_on_a_tree.=Produces Tree Resin over\ntime when put on a tree. -This_block_can_only_be_placed_on_the_side_of_a_tree!=This block can only be placed on the side of a tree\! - -# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerContainer.java -Battery_slot=Battery slot - -# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerDescriptor.java -Can_be_used_to_recharge\nelectrical_items_like\:\nFlash_Light,_X-Ray_scanner\nand_Portable_Battery_...=Can be used to recharge\nelectrical items like\:\nFlash Light, X-Ray scanner\nand Portable Battery ... - -# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerGui.java - -# ./src/main/java/mods/eln/sixnode/diode/DiodeDescriptor.java -Electrical_current_can_only\nflow_through_the_diode\nfrom_anode_to_cathode=Electrical current can only\nflow through the diode\nfrom anode to cathode - -# ./src/main/java/mods/eln/sixnode/electricalalarm/ElectricalAlarmDescriptor.java -= -Emits_an_acoustic_alarm_if\nthe_input_signal_is_high=Emits an acoustic alarm if\nthe input signal is high - -# ./src/main/java/mods/eln/sixnode/electricalalarm/ElectricalAlarmGui.java -Sound_is_muted=Sound is muted -Sound_is_not_muted=Sound is not muted - -# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerContainer.java - -# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerDescriptor.java -Protects_electrical_components\nOpens_contact_if\:\n__-_Voltage_exceeds_a_certain_level\n-_Current_exceeds_the_cable_limit=Protects electrical components\nOpens contact if\:\n - Voltage exceeds a certain level\n- Current exceeds the cable limit - -# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerGui.java -Maximum_voltage_before_cutting_off=Maximum voltage before cutting off -Minimum_voltage_before_cutting_off=Minimum voltage before cutting off -Switch_is_off=Switch is off -Switch_is_on=Switch is on - -# ./src/main/java/mods/eln/sixnode/electricalcable/ElectricalCableDescriptor.java -A_signal_is_electrical_information\nwhich_must_be_between_0V_and_%sV=A signal is electrical information\nwhich must be between 0V and %sV -Cable_is_adapted_to_conduct\nelectrical_signals.=Cable is adapted to conduct\nelectrical signals. -Current\:_%sA=Current\: %sA -Not_adapted_to_transport_power.=Not adapted to transport power. -Save_usage\:=Save usage\: -Serial_resistance\:_%sΩ=Serial resistance\: %sΩ - -# ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerDescriptor.java -It_can_store_up_to_256_points.=It can store up to 256 points. -Measures_the_voltage_of_an\nelectrical_signal_and_plots\nthe_data_in_real_time.=Measures the voltage of an\nelectrical signal and plots\nthe data in real time. - -# ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerGui.java -Back_to_display=Back to display -Configuration=Configuration -Current_[A]=Current [A] -Energy_[J]=Energy [J] -Percent_[-]%=Percent [-]% -Power_[W]=Power [W] -Print=Print -Sampling_period=Sampling period -Temp._[*C]=Temp. [*C] -Voltage_[V]=Voltage [V] -Y-axis_max=Y-axis max -Y-axis_min=Y-axis min - -# ./src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorContainer.java - -# ./src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorDescriptor.java -Output_voltage_increases\nif_entities_are_moving_around.=Output voltage increases\nif entities are moving around. - -# ./src/main/java/mods/eln/sixnode/electricalfiredetector/ElectricalFireDetectorDescriptor.java -Output_voltage_increases\nif_a_fire_has_been_detected.=Output voltage increases\nif a fire has been detected. - -# ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceDescriptor.java -Provides_configurable_signal\nvoltage.=Provides configurable signal\nvoltage. - -# ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceGui.java -Output_at_%s=Output at %s - -# ./src/main/java/mods/eln/sixnode/electricallightsensor/ElectricalLightSensorDescriptor.java -0V_at_night,_%sV_at_noon.=0V at night, %sV at noon. -Provides_an_electrical_voltage\nin_the_presence_of_light.=Provides an electrical voltage\nin the presence of light. -Provides_an_electrical_voltage\nwhich_is_proportional_to\nthe_intensity_of_daylight.=Provides an electrical voltage\nwhich is proportional to\nthe intensity of daylight. - -# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathContainer.java - -# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathDescriptor.java -Applicable_boolean_operators\:=Applicable boolean operators\: -Applicable_functions\:=Applicable functions\: -Applicable_mathematical_operators\:=Applicable mathematical operators\: -Calculates_an_output_signal_from\n3_inputs_(A,_B,_C)_using_an_equation.=Calculates an output signal from\n3 inputs (A, B, C) using an equation. - -# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathGui.java -%s_Redstone(s)_required=%s Redstone(s) required -Equation_required!=Equation required\! -Inputs_are=Inputs are -Invalid_equation!=Invalid equation\! -Output_voltage_formula=Output voltage formula -Waiting_for_completion...=Waiting for completion... - -# ./src/main/java/mods/eln/sixnode/electricalredstoneinput/ElectricalRedstoneInputDescriptor.java -Converts_Redstone_signal\nto_an_electrical_voltage.=Converts Redstone signal\nto an electrical voltage. - -# ./src/main/java/mods/eln/sixnode/electricalredstoneoutput/ElectricalRedstoneOutputDescriptor.java -Converts_electrical_voltage\ninto_a_Redstone_signal.=Converts electrical voltage\ninto a Redstone signal. - -# ./src/main/java/mods/eln/sixnode/electricalrelay/ElectricalRelayDescriptor.java -A_relay_is_an_electrical\ncontact_that_conducts_electric\ncurrent_or_not,_depending\nthe_actual_input_signal_voltage.=A relay is an electrical\ncontact that conducts electric\ncurrent or not, depending\nthe actual input signal voltage. - -# ./src/main/java/mods/eln/sixnode/electricalrelay/ElectricalRelayGui.java -Normally_closed=Normally closed -Normally_open=Normally open - -# ./src/main/java/mods/eln/sixnode/electricalsource/ElectricalSourceDescriptor.java -Creative_block.=Creative block. -Provides_an_ideal_voltage_source\nwithout_energy_or_power_limitation.=Provides an ideal voltage source\nwithout energy or power limitation. - -# ./src/main/java/mods/eln/sixnode/electricalsource/ElectricalSourceGui.java -Output_voltage=Output voltage - -# ./src/main/java/mods/eln/sixnode/electricalswitch/ElectricalSwitchDescriptor.java -Can_break_an_electrical_circuit\ninterrupting_the_current.=Can break an electrical circuit\ninterrupting the current. - -# ./src/main/java/mods/eln/sixnode/electricaltimeout/ElectricalTimeoutDescriptor.java -Upon_application_of_a_high_signal,\nthe_timer_maintains_the_output_high_for\na_configurable_interval._Can_be_re-triggered.=Upon application of a high signal,\nthe timer maintains the output high for\na configurable interval. Can be re-triggered. - -# ./src/main/java/mods/eln/sixnode/electricaltimeout/ElectricalTimeoutGui.java -Set=Set -The_time_interval_the\noutput_is_kept_high.=The time interval the\noutput is kept high. - -# ./src/main/java/mods/eln/sixnode/electricalvumeter/ElectricalVuMeterDescriptor.java -Displays_the_value_of_a_signal.=Displays the value of a signal. - -# ./src/main/java/mods/eln/sixnode/electricalwatch/ElectricalWatchContainer.java -Portable_battery_slot=Portable battery slot - -# ./src/main/java/mods/eln/sixnode/electricalweathersensor/ElectricalWeatherSensorDescriptor.java -Clear\:_%sV=Clear\: %sV -Provides_an_electrical_signal\ndepending_the_actual_weather.=Provides an electrical signal\ndepending the actual weather. -Rain\:_%sV=Rain\: %sV -Storm\:_%sV=Storm\: %sV - -# ./src/main/java/mods/eln/sixnode/electricalwindsensor/ElectricalWindSensorDescriptor.java -Maximum_wind_speed_is_%sm_s=Maximum wind speed is %sm/s -Provides_an_electrical_signal\ndependant_on_wind_speed.=Provides an electrical signal\ndependant on wind speed. -You_can't_place_this_block_on_the_floor_or_the_ceiling=You can't place this block on the floor or the ceiling - -# ./src/main/java/mods/eln/sixnode/electricasensor/ElectricalSensorDescriptor.java -Can_measure_Voltage_Power_Current=Can measure Voltage/Power/Current -Measures_electrical_values_on_cables.=Measures electrical values on cables. -Measures_voltage_on_cables.=Measures voltage on cables. - -# ./src/main/java/mods/eln/sixnode/electricasensor/ElectricalSensorGui.java -Current=Current -Measured_voltage\ncorresponding\nto_0%_output=Measured voltage\ncorresponding\nto 0% output -Measured_voltage\ncorresponding\nto_100%_output=Measured voltage\ncorresponding\nto 100% output -Voltage=Voltage - -# ./src/main/java/mods/eln/sixnode/energymeter/EnergyMeterGui.java -Change_password=Change password -Counter_Mode=Counter Mode -Counts_the_energy_conducted_from\n\u00a74red\u00a7f_to_\u00a71blue\u00a7f.=Counts the energy conducted from\n\\u00a74red\\u00a7f to \\u00a71blue\\u00a7f. -Energy_counter\:_%sJ=Energy counter\: %sJ -Enter_new_energy=Enter new energy -Enter_password=Vložte heslo -Prepay_Mode=Prepay Mode -Reset_time_counter=Reset time counter -Set_energy_counter=Set energy counter -Time_counter\:=Time counter\: -Try_password=Try password -You_can_set_an_initial\namount_of_available_energy.\nWhen_the_counter_arrives_at_0\nthe_contact_will_be_opened.=You can set an initial\namount of available energy.\nWhen the counter arrives at 0\nthe contact will be opened. -is_off=je vypnuto -is_on=je zapnuto -value_in_kJ=value in kJ - -# ./src/main/java/mods/eln/sixnode/groundcable/GroundCableDescriptor.java -Can_be_used_to_set_a_point_of_an\nelectrical_network_to_0V_potential.\nFor_example_to_ground_negative_battery_contacts.=Can be used to set a point of an\nelectrical network to 0V potential.\nFor example to ground negative battery contacts. -Provides_a_zero_volt_reference.=Provides a zero volt reference. - -# ./src/main/java/mods/eln/sixnode/hub/HubDescriptor.java -Allows_crossing_cables\non_one_single_block.=Allows crossing cables\non one single block. - -# ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketDescriptor.java -Angle\:_%s°_to_%s°=Angle\: %s° to %s° -Spot_range\:_%s_blocks=Spot range\: %s blocks - -# ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketGuiDraw.java -%s_is_not_in_range!=%s is not in range\! -Cable_slot_empty=Cable slot empty -Orientation\:_%s°=Orientation\: %s° -Parallel=Paralelní -Powered_by_Lamp_Supply=Powered by Lamp Supply -Powered_by_cable=Powered by cable -Serial=Sériová -Specify_the_supply_channel=Specify the supply channel - -# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyContainer.java -Electrical_cable_slot\nBase_range_is_32_blocks.\nEach_additional_cable\nincreases_range_by_one.=Electrical cable slot\nBase range is 32 blocks.\nEach additional cable\nincreases range by one. - -# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyDescriptor.java -Supplies_all_lamps_on_the_channel.=Supplies all lamps on the channel. - -# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyGui.java -Power_channel_name=Power channel name -Wireless_channel_name=Wireless channel name - -# ./src/main/java/mods/eln/sixnode/modbusrtu/ModbusRtuGui.java -Add=Přidat -Channel_name=Název kanálu -Modbus_ID=Modbus ID -Modbus_RTU=Modbus RTU -Station_ID=ID stanice -Station_name=Název stanice -Wireless_RX=Wireless RX -Wireless_TX=Wireless TX - -# ./src/main/java/mods/eln/sixnode/powercapacitorsix/PowerCapacitorSixContainer.java -(Increases_maximum_voltage)=(Increases maximum voltage) - -# ./src/main/java/mods/eln/sixnode/powercapacitorsix/PowerCapacitorSixGui.java - -# ./src/main/java/mods/eln/sixnode/powerinductorsix/PowerInductorSixContainer.java - -# ./src/main/java/mods/eln/sixnode/powerinductorsix/PowerInductorSixGui.java - -# ./src/main/java/mods/eln/sixnode/powersocket/PowerSocketDescriptor.java -Supplies_any_device\nplugged_in_with_energy.=Supplies any device\nplugged in with energy. - -# ./src/main/java/mods/eln/sixnode/powersocket/PowerSocketGui.java -Specify_the_device_to_supply_through_this_socket.=Specify the device to supply through this socket. - -# ./src/main/java/mods/eln/sixnode/resistor/ResistorContainer.java -(Sets_resistance)=(Sets resistance) -Coal_dust_slot=Coal dust slot - -# ./src/main/java/mods/eln/sixnode/thermalcable/ThermalCableDescriptor.java -High_parallel_resistance\n_\=>_Low_power_dissipation.=High parallel resistance\n \=> Low power dissipation. -Low_serial_resistance\n_\=>_High_conductivity.=Low serial resistance\n \=> High conductivity. -Parallel_resistance\:_%sK_W=Parallel resistance\: %sK/W -Serial_resistance\:_%sK_W=Serial resistance\: %sK/W - -# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorContainer.java -Cable_slot=Cable slot - -# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorDescriptor.java -Can_measure\:=Can measure\: -Measures_temperature_of_cables.=Measures temperature of cables. -Measures_thermal_values_on_cables.=Measures thermal values on cables. -__Temperature_Power_conducted=Temperature/Power conducted - -# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorGui.java -Measured_temperature\ncorresponding\nto_0%_output=Measured temperature\ncorresponding\nto 0% output -Measured_temperature\ncorresponding\nto_100%_output=Measured temperature\ncorresponding\nto 100% output -Temperature=Temperature - -# ./src/main/java/mods/eln/sixnode/tutorialsign/TutorialSignElement.java -No_text_associated_to_this_beacon=No text associated to this beacon - -# ./src/main/java/mods/eln/sixnode/tutorialsign/TutorialSignGui.java -Set_beacon_name=Set beacon name - -# ./src/main/java/mods/eln/sixnode/wirelesssignal/rx/WirelessSignalRxGui.java - -# ./src/main/java/mods/eln/transparentnode/FuelGenerator.kt -Nominal_power\:_%s_W=Nominal power\: %s W -Nominal_voltage\:_%s_V=Nominal voltage\: %s V -Produces_electricity_using_fuel.=Produces electricity using fuel. - -# ./src/main/java/mods/eln/transparentnode/LargeRheostat.kt -Nom._Resistance\:_%s=Nom. Resistance\: %s - -# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerContainer.java -Drill_slot=Drill slot -Mining_pipe_slot=Mining pipe slot -Ore_scanner_slot=Ore scanner slot - -# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerDescriptor.java -Excavates_on_a_small_radius.\nExtracts_ore_on_a_bigger_radius\:\n10_blocks_radius_after_10_blocks_depth.=Excavates on a small radius.\nExtracts ore on a bigger radius\:\n10 blocks radius after 10 blocks depth. - -# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerGuiDraw.java -Chest_missing_on_the\nback_of_the_auto_miner!=Chest missing on the\nback of the auto miner\! -Halves_speed,_triples_power_draw=Halves speed, triples power draw -Silk_Touch_Off=Silk Touch Off -Silk_Touch_On=Silk Touch On -Silk_touch=Silk touch - -# ./src/main/java/mods/eln/transparentnode/battery/BatteryContainer.java -Overheating_protection=Overheating protection -Overvoltage_protection=Overvoltage protection - -# ./src/main/java/mods/eln/transparentnode/battery/BatteryDescriptor.java -Actual_charge\:_%s=Actual charge\: %s -Energy_capacity\:_%sJ=Energy capacity\: %sJ -_charged_at_%s=charged at %s - -# ./src/main/java/mods/eln/transparentnode/battery/BatteryGuiDraw.java -Charge=Charge -Charged=Charged -Discharge=Discharge -Energy\:=Energy\: -Energy\:_%s=Energy\: %s -Life\:=Life\: -No_charge=No charge -Power_in\:=Power in\: -Power_out\:=Power out\: - -# ./src/main/java/mods/eln/transparentnode/eggincubator/EggIncubatorContainer.java -Egg_slot=Egg slot - -# ./src/main/java/mods/eln/transparentnode/electricalantennarx/ElectricalAntennaRxDescriptor.java -Wireless_energy_receiver.=Wireless energy receiver. - -# ./src/main/java/mods/eln/transparentnode/electricalantennatx/ElectricalAntennaTxDescriptor.java -Efficiency\:_%s_up_to_%s=Efficiency\: %s up to %s -Wireless_energy_transmitter.=Wireless energy transmitter. - -# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceContainer.java -Heating_corp_slot=Heating corp slot - -# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceDescriptor.java -Similar_to_a_vanilla_furnace,\nbut_heats_with_electricity.=Similar to a vanilla furnace,\nbut heats with electricity. - -# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceGuiDraw.java -Auto_shutdown=Auto shutdown -Manual_shutdown=Manual shutdown -Set_point\:_%s°C=Set point\: %s°C - -# ./src/main/java/mods/eln/transparentnode/electricalmachine/ElectricalMachineDescriptor.java -Cost=Cost - -# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceContainer.java -Combustion_chamber_slot=Combustion chamber slot -Fuel_slot=Fuel slot - -# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceDescriptor.java -Generates_heat_when_supplied_with_fuel.=Generates heat when supplied with fuel. - -# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceGuiDraw.java -Control_gauge_at_%s=Control gauge at %s -Decline_fuel=Decline fuel -External_control=External control -Internal_control=Internal control -Take_fuel=Take fuel - -# ./src/main/java/mods/eln/transparentnode/powercapacitor/PowerCapacitorContainer.java -(Increases_maximal_voltage)=(Increases maximal voltage) - -# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelContainer.java -Solar_tracker_slot=Solar tracker slot - -# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelDescriptor.java -Can_be_geared_towards_the_sun.=Can be geared towards the sun. -Max._power\:_%sW=Max. power\: %sW -Max._voltage\:_%sV=Max. voltage\: %sV -Produces_power_from_solar_radiation.=Produces power from solar radiation. - -# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPannelGuiDraw.java -It_is_night=It is night -Solar_panel_angle\:_%s°=Solar panel angle\: %s° -Sun_angle\:_%s°=Sun angle\: %s° - -# ./src/main/java/mods/eln/transparentnode/teleporter/TeleporterGui.java -Destination_transporter=Destination transporter -Power_consumption\:=Power consumption\: -Power_consumption\:_%sW=Power consumption\: %sW -Required_energy\:_%sJ=Required energy\: %sJ -Start=Start -Transporter_name=Transporter name - -# ./src/main/java/mods/eln/transparentnode/thermaldissipatoractive/ThermalDissipatorActiveDescriptor.java -Fan_cooling_power\:_%sW=Fan cooling power\: %sW -Fan_power_consumption\:_%sW=Fan power consumption\: %sW -Fan_voltage\:_%sV=Fan voltage\: %sV - -# ./src/main/java/mods/eln/transparentnode/transformer/TransformerDescriptor.java -The_voltage_ratio_is_proportional\nto_the_cable_stacks_count_ratio.=The voltage ratio is proportional\nto the cable stacks count ratio. -Transforms_an_input_voltage_to\nan_output_voltage.=Transforms an input voltage to\nan output voltage. - -# ./src/main/java/mods/eln/transparentnode/turbine/TurbineDescriptor.java -Generates_electricity_using_heat.=Generates electricity using heat. -Temperature_difference\:_%s°C=Temperature difference\: %s°C - -# ./src/main/java/mods/eln/transparentnode/turret/TurretDescriptor.java -CAUTION\:_Cables_can_get_quite_hot!=CAUTION\: Cables can get quite hot\! -Laser_charge_power\:_%sW...%skW=Laser charge power\: %sW...%skW -Scans_for_entities_and_shoots_if_the\nentity_matches_the_configurable_filter_criteria.=Scans for entities and shoots if the\nentity matches the configurable filter criteria. -Standby_power\:_%sW=Standby power\: %sW - -# ./src/main/java/mods/eln/transparentnode/turret/TurretGui.java -Attack\:=Attack\: -Do_not_attack\:=Do not attack\: -Recharge_power\:=Recharge power\: - -# ./src/main/java/mods/eln/transparentnode/waterturbine/WaterTurbineDescriptor.java -Generates_energy_using_water_stream.=Generates energy using water stream. -No_place_for_water_turbine!=No place for water turbine\! - -# ./src/main/java/mods/eln/transparentnode/windturbine/WindTurbineDescriptor.java -Front\:_%s=Front\: %s -Generates_energy_from_wind.=Generates energy from wind. -Left_Right\:_%s=Left/Right\: %s -Up_Down\:_%s=Up/Down\: %s -Wind_area\:=Wind area\: - -# ./src/main/java/mods/eln/wiki/Data.java -Energy=Energy -Light=Light -Machine=Machine -Ore=Ore -Portable=Portable -Resource=Resource -Signal=Signal -Thermal=Thermal -Upgrade=Upgrade -Utilities=Utilities -Wiring=Wiring - -# ./src/main/java/mods/eln/wiki/Default.java -Previous=Previous - -# ./src/main/java/mods/eln/wiki/ItemDefault.java -Can_be_used_to_craft\:=Can be used to craft\: -Cannot_be_crafted!=Cannot be crafted\! -Cost_%sJ=Cost %sJ -Created_by\:=Created by\: -Is_not_a_crafting_material!=Is not a crafting material\! -Recipe\:=Recipe\: - -# Appearing in multiple source files -(Increases_capacity)=(Increases capacity) -(Increases_inductance)=(Increases inductance) -Actual\:_%s°C=Actual\: %s°C -Biggest=Biggest -Booster_slot=Booster slot -Can_create\:=Can create\: -Capacity\:_%sF=Capacity\: %sF -Charge_power\:_%sW=Charge power\: %sW -Connected=Connected -Cooling_power\:_%sW=Cooling power\: %sW -Copper_cable_slot=Copper cable slot -Dielectric_slot=Dielectric slot -Discharge_power\:_%sW=Discharge power\: %sW -Electrical_cable_slot=Electrical cable slot -Entity_filter_slot=Entity filter slot -Ferromagnetic_core_slot=Ferromagnetic core slot -Has_a_signal_output.=Has a signal output. -Inductance\:_%sH=Inductance\: %sH -Internal_resistance\:_%sΩ=Internal resistance\: %sΩ -Is_off=Is off -Is_on=Is on -Max._temperature\:_%s°C=Max. temperature\: %s°C -Measured_value\ncorresponding\nto_0%_output=Measured value\ncorresponding\nto 0% output -Measured_value\ncorresponding\nto_100%_output=Measured value\ncorresponding\nto 100% output -Nominal\:=Nominal\: -Nominal_power\:_%sW=Nominal power\: %sW -Nominal_usage\:=Nominal usage\: -Nominal_voltage\:_%sV=Nominal voltage\: %sV -Not_connected=Nepřipojeno -Not_enough_space_for_this_block=Not enough space for this block -Power=Power -Power\:_%sW=Power\: %sW -Range\:_%s_blocks=Range\: %s blocks -Redstone_slot=Redstone slot -Regulator_slot=Regulator slot -Reset=Reset -Resistance\:_%sΩ=Resistance\: %sΩ -Smallest=Smallest -Specify_the_channel=Specify the channel -Stored_energy\:_%sJ_(%s)=Stored energy\: %sJ (%s) -Temperature\:_%s°C=Temperature\: %s°C -Temperature_gauge=Temperature gauge -Thermal_isolator_slot=Thermal isolator slot -Toggle=Toggle -Toggle_switch=Toggle switch -Toggles_the_output_each_time\nan_emitter's_value_rises.\nUseful_to_allow_multiple_buttons\nto_control_the_same_light.=Toggles the output each time\nan emitter's value rises.\nUseful to allow multiple buttons\nto control the same light. -Used_to_cool_down_turbines.=Used to cool down turbines. -Uses_the_biggest\nvalue_on_the_channel.=Uses the biggest\nvalue on the channel. -Uses_the_smallest\nvalue_on_the_channel.=Uses the smallest\nvalue on the channel. -Validate=Validate -Voltage\:_%sV=Voltage\: %sV -You_can't_place_this_block_at_this_side=You can't place this block at this side +eln:# +eln: +eln:# ./src/main/java/mods/eln/Achievements.java +eln:Electrical_Age_[WIP]=Electrical Age [WIP] +eln:achievement.craft_50v_macerator=Crushing Novice +eln:achievement.craft_50v_macerator.desc=Craft a 50V Macerator +eln:achievement.open_guide=Wiki Power +eln:achievement.open_guide.desc=Open the wiki guide +eln: +eln:# ./src/main/java/mods/eln/Eln.java +eln:10A_Diode.name=10A Dioda +eln:200V_Active_Thermal_Dissipator.name=200V Active Thermal Dissipator +eln:200V_Battery_Charger.name=200V Battery Charger +eln:200V_Compressor.name=200V Compressor +eln:200V_Condensator.name=200V Kondenzátor +eln:200V_Copper_Heating_Corp.name=200V Copper Heating Corp +eln:200V_Economic_Light_Bulb.name=200V Economic Light Bulb +eln:200V_Farming_Lamp.name=200V Farming Lamp +eln:200V_Fuel_Generator.name=200V Fuel Generator +eln:200V_Incandescent_Light_Bulb.name=200V Incandescent Light Bulb +eln:200V_Iron_Heating_Corp.name=200V Iron Heating Corp +eln:200V_LED_Bulb.name=200V LED Bulb +eln:200V_Macerator.name=200V Macerator +eln:200V_Magnetizer.name=200V Magnetizer +eln:200V_Plate_Machine.name=200V Plate Machine +eln:200V_Power_Socket.name=200V Power Socket +eln:200V_Tungsten_Heating_Corp.name=200V Tungsten Heating Corp +eln:200V_Turbine.name=200V Turbine +eln:25A_Diode.name=25A Dioda +eln:50V_Battery_Charger.name=50V Battery Charger +eln:50V_Carbon_Incandescent_Light_Bulb.name=50V Carbon Incandescent Light Bulb +eln:50V_Compressor.name=50V Compressor +eln:50V_Condensator.name=50V Kondenzátor +eln:50V_Copper_Heating_Corp.name=50V Copper Heating Corp +eln:50V_Economic_Light_Bulb.name=50V Economic Light Bulb +eln:50V_Egg_Incubator.name=50V Egg Incubator +eln:50V_Farming_Lamp.name=50V Farming Lamp +eln:50V_Fuel_Generator.name=50V Fuel Generator +eln:50V_Incandescent_Light_Bulb.name=50V Incandescent Light Bulb +eln:50V_Iron_Heating_Corp.name=50V Iron Heating Corp +eln:50V_LED_Bulb.name=50V LED Bulb +eln:50V_Macerator.name=50V Macerator +eln:50V_Magnetizer.name=50V Magnetizer +eln:50V_Plate_Machine.name=50V Plate Machine +eln:50V_Power_Socket.name=50V Power Socket +eln:50V_Tungsten_Heating_Corp.name=50V Tungsten Heating Corp +eln:50V_Turbine.name=50V Turbine +eln:800V_Defence_Turret.name=800V Defence Turret +eln:AND_Chip.name=AND Chip +eln:Advanced_Chip.name=Advanced Chip +eln:Advanced_Electrical_Motor.name=Advanced Electrical Motor +eln:Advanced_Energy_Meter.name=Advanced Energy Meter +eln:Advanced_Machine_Block.name=Advanced Machine Block +eln:Advanced_Magnet.name=Advanced Magnet +eln:AllMeter.name=Universal-Meter +eln:Alloy_Dust.name=Alloy Dust +eln:Alloy_Ingot.name=Alloy Ingot +eln:Alloy_Plate.name=Alloy Plate +eln:Analog_Watch.name=Analog watch +eln:Analog_vuMeter.name=Analog Gauge +eln:Analogic_Regulator.name=Analogic Regulator +eln:Animal_Filter.name=Animal Filter +eln:Auto_Miner.name=Auto Miner +eln:Average_Electrical_Drill.name=Average Electrical Drill +eln:Average_Ferromagnetic_Core.name=Average Ferromagnetic Core +eln:Basic_Magnet.name=Basic Magnet +eln:Black_Brush.name=Black Brush +eln:Blue_Brush.name=Blue Brush +eln:Brown_Brush.name=Brown Brush +eln:Capacity_Oriented_Battery.name=Capacity Oriented Battery +eln:Cheap_Chip.name=Cheap Chip +eln:Cheap_Electrical_Drill.name=Cheap Electrical Drill +eln:Cheap_Ferromagnetic_Core.name=Cheap Ferromagnetic Core +eln:Cinnabar_Dust.name=Cinnabar Dust +eln:Cinnabar_Ore.name=Cinnabar Ore +eln:Coal_Dust.name=Coal Dust +eln:Coal_Plate.name=Coal Plate +eln:Combustion_Chamber.name=Combustion Chamber +eln:Copper_Cable.name=Copper Cable +eln:Copper_Dust.name=Copper Dust +eln:Copper_Ingot.name=Copper Ingot +eln:Copper_Ore.name=Copper Ore +eln:Copper_Plate.name=Copper Plate +eln:Copper_Thermal_Cable.name=Copper Thermal Cable +eln:Cost_Oriented_Battery.name=Cost Oriented Battery +eln:Current_Oriented_Battery.name=Current Oriented Battery +eln:Cyan_Brush.name=Cyan Brush +eln:D_Flip_Flop_Chip.name=D Flip Flop Chip +eln:Data_Logger.name=Data Logger +eln:Data_Logger_Print.name=Data Logger Print +eln:Dielectric.name=Dielectric +eln:Digital_Watch.name=Digital Watch +eln:Electrical_Anemometer_Sensor.name=Electrical Anemometer Sensor +eln:Electrical_Breaker.name=Electrical Breaker +eln:Electrical_Daylight_Sensor.name=Elektronický Senzor Světla +eln:Electrical_Entity_Sensor.name=Electrical Entity Sensor +eln:Electrical_Fire_Detector.name=Elektronický Hlásič Požáru +eln:Electrical_Furnace.name=Elektrická Pec +eln:Electrical_Light_Sensor.name=Elektrický Světelný Senzor +eln:Electrical_Motor.name=Elektrický Motor +eln:Electrical_Probe.name=Electrical Probe +eln:Electrical_Probe_Chip.name=Electrical Probe Chip +eln:Electrical_Source.name=Electrical Source +eln:Electrical_Timer.name=Electrical Timer +eln:Electrical_Weather_Sensor.name=Electrical Weather Sensor +eln:Electrical_age_wrench,\nCan_be_used_to_turn\nsmall_wall_blocks=Electrical age wrench,\nCan be used to turn\nsmall wall blocks +eln:Energy_Meter.name=Energy Meter +eln:Experimental_Transporter.name=Experimental Transporter +eln:Fast_Electrical_Drill.name=Fast Electrical Drill +eln:Ferrite_Ingot.name=Ferrite Ingot +eln:Flat_Lamp_Socket.name=Flat Lamp Socket +eln:Fluorescent_Lamp_Socket.name=Fluorescent Lamp Socket +eln:Generator.name=Generator +eln:Gold_Dust.name=Gold Dust +eln:Gold_Plate.name=Gold Plate +eln:Gray_Brush.name=Gray Brush +eln:Green_Brush.name=Green Brush +eln:Ground_Cable.name=Ground Cable +eln:High_Power_Receiver_Antenna.name=High Power Receiver Antenna +eln:High_Power_Transmitter_Antenna.name=High Power Transmitter Antenna +eln:High_Voltage_Cable.name=High Voltage Cable +eln:High_Voltage_Relay.name=High Voltage Relay +eln:High_Voltage_Switch.name=High Voltage Switch +eln:Hub.name=Hub +eln:Industrial_Data_Logger.name=Industrial Data Logger +eln:Iron_Cable.name=Iron Cable +eln:Iron_Dust.name=Iron Dust +eln:Iron_Plate.name=Iron Plate +eln:JK_Flip_Flop_Chip.name=JK Flip Flop Chip +eln:LED_vuMeter.name=LED vuMeter +eln:Lamp_Socket_A.name=Lamp Socket A +eln:Lamp_Socket_B_Projector.name=Lamp Socket B Projector +eln:Lamp_Supply.name=Lamp Supply +eln:Large_Rheostat.name=Large Rheostat +eln:Lead_Dust.name=Lead Dust +eln:Lead_Ingot.name=Lead Ingot +eln:Lead_Ore.name=Lead Ore +eln:Lead_Plate.name=Lead Plate +eln:Life_Oriented_Battery.name=Life Oriented Battery +eln:Light_Blue_Brush.name=Light Blue Brush +eln:Lime_Brush.name=Lime Brush +eln:Long_Suspended_Lamp_Socket.name=Long Suspended Lamp Socket +eln:Low_Power_Receiver_Antenna.name=Low Power Receiver Antenna +eln:Low_Power_Transmitter_Antenna.name=Low Power Transmitter Antenna +eln:Low_Voltage_Cable.name=Low Voltage Cable +eln:Low_Voltage_Relay.name=Low Voltage Relay +eln:Low_Voltage_Switch.name=Low Voltage Switch +eln:Machine_Block.name=Machine Block +eln:Machine_Booster.name=Machine Booster +eln:Magenta_Brush.name=Magenta Brush +eln:Medium_Power_Receiver_Antenna.name=Medium Power Receiver Antenna +eln:Medium_Power_Transmitter_Antenna.name=Medium Power Transmitter Antenna +eln:Medium_Voltage_Cable.name=Medium Voltage Cable +eln:Medium_Voltage_Relay.name=Medium Voltage Relay +eln:Medium_Voltage_Switch.name=Medium Voltage Switch +eln:Mercury.name=Mercury +eln:Mining_Pipe.name=Mining Pipe +eln:Modbus_RTU.name=Modbus RTU +eln:Modern_Data_Logger.name=Modern Data Logger +eln:Monster_Filter.name=Monster Filter +eln:MultiMeter.name=Multimetr +eln:NAND_Chip.name=NAND Chip +eln:NOR_Chip.name=NOR Chip +eln:NOT_Chip.name=NOT Chip +eln:Nuclear_Alarm.name=Nuclear Alarm +eln:OR_Chip.name=OR Chip +eln:On_OFF_Regulator_10_Percent.name=On/off regulator 10% +eln:On_OFF_Regulator_1_Percent.name=On/off regulator 1% +eln:Optimal_Ferromagnetic_Core.name=Optimal Ferromagnetic Core +eln:Orange_Brush.name=Orange Brush +eln:Ore_Scanner.name=Ore Scanner +eln:Oscillator_Chip.name=Oscillator Chip +eln:Overheating_Protection.name=Overheating Protection +eln:Overvoltage_Protection.name=Overvoltage Protection +eln:PAL_Chip.name=PAL Chip +eln:Pink_Brush.name=Pink Brush +eln:Player_Filter.name=Player Filter +eln:Portable_Battery.name=Portable Battery +eln:Portable_Battery_Pack.name=Portable Battery Pack +eln:Portable_Condensator.name=Portable Condensator +eln:Portable_Condensator_Pack.name=Portable Condensator Pack +eln:Portable_Electrical_Axe.name=Portable Electrical Axe +eln:Portable_Electrical_Mining_Drill.name=Portable Electrical Mining Drill +eln:Power_Capacitor.name=Power Capacitor +eln:Power_Inductor.name=Power Inductor +eln:Power_Resistor.name=Power Resistor +eln:Power_capacitor.name=Power capacitor +eln:Power_inductor.name=Power inductor +eln:Purple_Brush.name=Purple Brush +eln:Red_Brush.name=Red Brush +eln:Redstone-to-Voltage_Converter.name=Redstone-to-Voltage Converter +eln:Rheostat.name=Rheostat +eln:Robust_Lamp_Socket.name=Robust Lamp Socket +eln:Rubber.name=Guma +eln:Schmitt_Trigger_Chip.name=Schmitt Trigger Chip +eln:Sconce_Lamp_Socket.name=Sconce Lamp Socket +eln:Signal_20H_inductor.name=Signal 20H inductor +eln:Signal_Antenna.name=Signal Antenna +eln:Signal_Button.name=Signal Button +eln:Signal_Cable.name=Signal Cable +eln:Signal_Diode.name=Signal Diode +eln:Signal_Processor.name=Signal Processor +eln:Signal_Relay.name=Signal Relay +eln:Signal_Source.name=Signal Source +eln:Signal_Switch.name=Signal Switch +eln:Signal_Switch_with_LED.name=Signal Switch with LED +eln:Signal_Trimmer.name=Signal Trimmer +eln:Silicon_Dust.name=Silicon Dust +eln:Silicon_Ingot.name=Silicon Ingot +eln:Silicon_Plate.name=Silicon Plate +eln:Silver_Brush.name=Silver Brush +eln:Simple_Lamp_Socket.name=Simple Lamp Socket +eln:Single-use_Battery.name=Single-use Battery +eln:Small_200V_Copper_Heating_Corp.name=Small 200V Copper Heating Corp +eln:Small_200V_Iron_Heating_Corp.name=Small 200V Iron Heating Corp +eln:Small_200V_Tungsten_Heating_Corp.name=Small 200V Tungsten Heating Corp +eln:Small_50V_Carbon_Incandescent_Light_Bulb.name=Small 50V Carbon Incandescent Light Bulb +eln:Small_50V_Copper_Heating_Corp.name=Small 50V Copper Heating Corp +eln:Small_50V_Economic_Light_Bulb.name=Small 50V Economic Light Bulb +eln:Small_50V_Incandescent_Light_Bulb.name=Small 50V Incandescent Light Bulb +eln:Small_50V_Iron_Heating_Corp.name=Small 50V Iron Heating Corp +eln:Small_50V_Tungsten_Heating_Corp.name=Small 50V Tungsten Heating Corp +eln:Small_Active_Thermal_Dissipator.name=Small Active Thermal Dissipator +eln:Small_Flashlight.name=Small Flashlight +eln:Small_Passive_Thermal_Dissipator.name=Small Passive Thermal Dissipator +eln:Small_Rotating_Solar_Panel.name=Small Rotating Solar Panel +eln:Small_Solar_Panel.name=Small Solar Panel +eln:Solar_Tracker.name=Solar Tracker +eln:Standard_Alarm.name=Standard Alarm +eln:Steam_Turbine.name=Steam Turbine +eln:Stone_Heat_Furnace.name=Stone Heat Furnace +eln:Street_Light.name=Streetlight +eln:Suspended_Lamp_Socket.name=Suspended Lamp Socket +eln:Temperature_Probe.name=Temperature Probe +eln:Thermal_Probe.name=Thermal Probe +eln:Thermal_Probe_Chip.name=Thermal Probe Chip +eln:Thermistor.name=Thermistor +eln:ThermoMeter.name=Thermometer +eln:Transformer.name=Transformer +eln:Tree_Resin.name=Tree Resin +eln:Tree_Resin_Collector.name=Tree Resin Collector +eln:Tungsten_Cable.name=Tungsten Cable +eln:Tungsten_Dust.name=Tungsten Dust +eln:Tungsten_Ingot.name=Tungsten Ingot +eln:Tungsten_Ore.name=Tungsten Ore +eln:Tutorial_Sign.name=Tutorial Sign +eln:Very_High_Voltage_Cable.name=Very High Voltage Cable +eln:Very_High_Voltage_Relay.name=Very High Voltage Relay +eln:Very_High_Voltage_Switch.name=Very High Voltage Switch +eln:Voltage-to-Redstone_Converter.name=Voltage-to-Redstone Converter +eln:Voltage_Oriented_Battery.name=Voltage Oriented Battery +eln:Voltage_Probe.name=Voltage Probe +eln:Water_Turbine.name=Vodní Turbína +eln:Weak_50V_Battery_Charger.name=Weak 50V Battery Charger +eln:White_Brush.name=White Brush +eln:Wind_Turbine.name=Větrná Turbína +eln:Wireless_Analyser.name=Wireless Analyzer +eln:Wireless_Button.name=Bezdrátové Tlačítko +eln:Wireless_Signal_Receiver.name=Wireless Signal Receiver +eln:Wireless_Signal_Repeater.name=Wireless Signal Repeater +eln:Wireless_Signal_Transmitter.name=Wireless Signal Transmitter +eln:Wireless_Switch.name=Wireless Switch +eln:Wrench.name=Wrench +eln:X-Ray_Scanner.name=X-Ray Scanner +eln:XNOR_Chip.name=XNOR Chip +eln:XOR_Chip.name=XOR Chip +eln:Yellow_Brush.name=Yellow Brush +eln:entity.EAReplicator.name=Replicator +eln:item.Copper Axe.name\=Copper Axe +eln:item.Copper Axe.name\=Copper Axe +eln:item.Copper Axe.name\=Copper Axe +eln:item.Copper Axe.name\=Copper Axe +eln:item.Copper Axe.name\=Copper Axe +eln:item.Copper Axe.name\=Copper Axe +eln:item.Copper Axe.name\=Copper Axe +eln:item.Copper Axe.name\=Copper Axe +eln:item.Copper Axe.name\=Copper Axe +eln:item.E-Coal Boots.name\=E-Coal Boots +eln:item.E-Coal Boots.name\=E-Coal Boots +eln:item.E-Coal Boots.name\=E-Coal Boots +eln:item.E-Coal Boots.name\=E-Coal Boots +eln:itemGroup.Eln=Electrical Age +eln:mod.meta.desc=Electricity in your base\! +eln:tile.eln.ElnProbe.name=Eln Computer Probe +eln:tile.eln.EnergyConverterElnToOtherHVUBlock.name=800V Electrical Age to other energy exporter +eln:tile.eln.EnergyConverterElnToOtherLVUBlock.name=50V Electrical Age to other energy exporter +eln:tile.eln.EnergyConverterElnToOtherMVUBlock.name=200V Electrical Age to other energy exporter +eln: +eln:# ./src/main/java/mods/eln/i18n/I18N.java +eln:You_have_%s_lives_left=You have %s lives left +eln: +eln:# ./src/main/java/mods/eln/item/BrushDescriptor.java +eln:Brush_is_dry=Brush is dry +eln:Can_paint_%s_blocks=Can paint %s blocks +eln: +eln:# ./src/main/java/mods/eln/item/CombustionChamber.java +eln:Upgrade_for_the_Stone_Heat_Furnace.=Upgrade for the Stone Heat Furnace. +eln: +eln:# ./src/main/java/mods/eln/item/ElectricalDrillDescriptor.java +eln:Energy_per_operation\:_%sJ=Energy per operation\: %sJ +eln:Time_per_operation\:_%ss=Time per operation\: %ss +eln: +eln:# ./src/main/java/mods/eln/item/FerromagneticCoreDescriptor.java +eln:Cable_loss_factor\:_%s=Cable loss factor\: %s +eln: +eln:# ./src/main/java/mods/eln/item/HeatingCorpElement.java +eln: +eln:# ./src/main/java/mods/eln/item/LampDescriptor.java +eln:Bad=Bad +eln:Condition\:=Kondice +eln:End_of_life=End of life +eln:Good=Dobrý +eln:New=Nový +eln:Nominal_lifetime\:_%sh=Nominal lifetime\: %sh +eln:Technology\:_%s=Technology\: %s +eln:Used=Použitý +eln: +eln:# ./src/main/java/mods/eln/item/LampSlot.java +eln:Lamp_slot=Lamp slot +eln: +eln:# ./src/main/java/mods/eln/item/OverHeatingProtectionDescriptor.java +eln:Useful_to_prevent_overheating\nof_Batteries=Useful to prevent overheating\nof Batteries +eln: +eln:# ./src/main/java/mods/eln/item/OverVoltageProtectionDescriptor.java +eln:Useful_to_prevent_over-voltage\nof_Batteries=Useful to prevent over-voltage\nof Batteries +eln: +eln:# ./src/main/java/mods/eln/item/SolarTrackerDescriptor.java +eln:Solar_panel_upgrade=Vylepšení solárního panelu +eln: +eln:# ./src/main/java/mods/eln/item/electricalitem/BatteryItem.java +eln: +eln:# ./src/main/java/mods/eln/item/electricalitem/ElectricalLampItem.java +eln:Off=Vypnuto +eln:On=Zapnuto +eln:State\:=State\: +eln:Stored_Energy\:_%sJ_(%s)=Stored Energy\: %sJ (%s) +eln: +eln:# ./src/main/java/mods/eln/item/regulator/RegulatorSlot.java +eln: +eln:# ./src/main/java/mods/eln/misc/UtilsClient.java +eln:Hold_shift=Podržte shift +eln: +eln:# ./src/main/java/mods/eln/misc/Version.java +eln:mod.name=Electrical Age +eln: +eln:# ./src/main/java/mods/eln/node/six/SixNodeDescriptor.java +eln: +eln:# ./src/main/java/mods/eln/simplenode/energyconverter/EnergyConverterElnToOtherGui.java +eln:Input_power_is_limited_to_%sW=Input power is limited to %sW +eln: +eln:# ./src/main/java/mods/eln/sixnode/LogicGate.kt +eln:_O\:_= O\: +eln: +eln:# ./src/main/java/mods/eln/sixnode/TreeResinCollector/TreeResinCollectorDescriptor.java +eln:Produces_Tree_Resin_over\ntime_when_put_on_a_tree.=Produces Tree Resin over\ntime when put on a tree. +eln:This_block_can_only_be_placed_on_the_side_of_a_tree!=This block can only be placed on the side of a tree\! +eln: +eln:# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerContainer.java +eln:Battery_slot=Battery slot +eln: +eln:# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerDescriptor.java +eln:Can_be_used_to_recharge\nelectrical_items_like\:\nFlash_Light,_X-Ray_scanner\nand_Portable_Battery_...=Can be used to recharge\nelectrical items like\:\nFlash Light, X-Ray scanner\nand Portable Battery ... +eln: +eln:# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerGui.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/diode/DiodeDescriptor.java +eln:Electrical_current_can_only\nflow_through_the_diode\nfrom_anode_to_cathode=Electrical current can only\nflow through the diode\nfrom anode to cathode +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalalarm/ElectricalAlarmDescriptor.java +eln:= +eln:Emits_an_acoustic_alarm_if\nthe_input_signal_is_high=Emits an acoustic alarm if\nthe input signal is high +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalalarm/ElectricalAlarmGui.java +eln:Sound_is_muted=Sound is muted +eln:Sound_is_not_muted=Sound is not muted +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerContainer.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerDescriptor.java +eln:Protects_electrical_components\nOpens_contact_if\:\n__-_Voltage_exceeds_a_certain_level\n-_Current_exceeds_the_cable_limit=Protects electrical components\nOpens contact if\:\n - Voltage exceeds a certain level\n- Current exceeds the cable limit +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerGui.java +eln:Maximum_voltage_before_cutting_off=Maximum voltage before cutting off +eln:Minimum_voltage_before_cutting_off=Minimum voltage before cutting off +eln:Switch_is_off=Switch is off +eln:Switch_is_on=Switch is on +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalcable/ElectricalCableDescriptor.java +eln:A_signal_is_electrical_information\nwhich_must_be_between_0V_and_%sV=A signal is electrical information\nwhich must be between 0V and %sV +eln:Cable_is_adapted_to_conduct\nelectrical_signals.=Cable is adapted to conduct\nelectrical signals. +eln:Current\:_%sA=Current\: %sA +eln:Not_adapted_to_transport_power.=Not adapted to transport power. +eln:Save_usage\:=Save usage\: +eln:Serial_resistance\:_%sΩ=Serial resistance\: %sΩ +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerDescriptor.java +eln:It_can_store_up_to_256_points.=It can store up to 256 points. +eln:Measures_the_voltage_of_an\nelectrical_signal_and_plots\nthe_data_in_real_time.=Measures the voltage of an\nelectrical signal and plots\nthe data in real time. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerGui.java +eln:Back_to_display=Back to display +eln:Configuration=Configuration +eln:Current_[A]=Current [A] +eln:Energy_[J]=Energy [J] +eln:Percent_[-]%=Percent [-]% +eln:Power_[W]=Power [W] +eln:Print=Print +eln:Sampling_period=Sampling period +eln:Temp._[*C]=Temp. [*C] +eln:Voltage_[V]=Voltage [V] +eln:Y-axis_max=Y-axis max +eln:Y-axis_min=Y-axis min +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorContainer.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorDescriptor.java +eln:Output_voltage_increases\nif_entities_are_moving_around.=Output voltage increases\nif entities are moving around. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalfiredetector/ElectricalFireDetectorDescriptor.java +eln:Output_voltage_increases\nif_a_fire_has_been_detected.=Output voltage increases\nif a fire has been detected. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceDescriptor.java +eln:Provides_configurable_signal\nvoltage.=Provides configurable signal\nvoltage. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceGui.java +eln:Output_at_%s=Output at %s +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricallightsensor/ElectricalLightSensorDescriptor.java +eln:0V_at_night,_%sV_at_noon.=0V at night, %sV at noon. +eln:Provides_an_electrical_voltage\nin_the_presence_of_light.=Provides an electrical voltage\nin the presence of light. +eln:Provides_an_electrical_voltage\nwhich_is_proportional_to\nthe_intensity_of_daylight.=Provides an electrical voltage\nwhich is proportional to\nthe intensity of daylight. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathContainer.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathDescriptor.java +eln:Applicable_boolean_operators\:=Applicable boolean operators\: +eln:Applicable_functions\:=Applicable functions\: +eln:Applicable_mathematical_operators\:=Applicable mathematical operators\: +eln:Calculates_an_output_signal_from\n3_inputs_(A,_B,_C)_using_an_equation.=Calculates an output signal from\n3 inputs (A, B, C) using an equation. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathGui.java +eln:%s_Redstone(s)_required=%s Redstone(s) required +eln:Equation_required!=Equation required\! +eln:Inputs_are=Inputs are +eln:Invalid_equation!=Invalid equation\! +eln:Output_voltage_formula=Output voltage formula +eln:Waiting_for_completion...=Waiting for completion... +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalredstoneinput/ElectricalRedstoneInputDescriptor.java +eln:Converts_Redstone_signal\nto_an_electrical_voltage.=Converts Redstone signal\nto an electrical voltage. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalredstoneoutput/ElectricalRedstoneOutputDescriptor.java +eln:Converts_electrical_voltage\ninto_a_Redstone_signal.=Converts electrical voltage\ninto a Redstone signal. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalrelay/ElectricalRelayDescriptor.java +eln:A_relay_is_an_electrical\ncontact_that_conducts_electric\ncurrent_or_not,_depending\nthe_actual_input_signal_voltage.=A relay is an electrical\ncontact that conducts electric\ncurrent or not, depending\nthe actual input signal voltage. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalrelay/ElectricalRelayGui.java +eln:Normally_closed=Normally closed +eln:Normally_open=Normally open +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalsource/ElectricalSourceDescriptor.java +eln:Creative_block.=Creative block. +eln:Provides_an_ideal_voltage_source\nwithout_energy_or_power_limitation.=Provides an ideal voltage source\nwithout energy or power limitation. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalsource/ElectricalSourceGui.java +eln:Output_voltage=Output voltage +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalswitch/ElectricalSwitchDescriptor.java +eln:Can_break_an_electrical_circuit\ninterrupting_the_current.=Can break an electrical circuit\ninterrupting the current. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricaltimeout/ElectricalTimeoutDescriptor.java +eln:Upon_application_of_a_high_signal,\nthe_timer_maintains_the_output_high_for\na_configurable_interval._Can_be_re-triggered.=Upon application of a high signal,\nthe timer maintains the output high for\na configurable interval. Can be re-triggered. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricaltimeout/ElectricalTimeoutGui.java +eln:Set=Set +eln:The_time_interval_the\noutput_is_kept_high.=The time interval the\noutput is kept high. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalvumeter/ElectricalVuMeterDescriptor.java +eln:Displays_the_value_of_a_signal.=Displays the value of a signal. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalwatch/ElectricalWatchContainer.java +eln:Portable_battery_slot=Portable battery slot +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalweathersensor/ElectricalWeatherSensorDescriptor.java +eln:Clear\:_%sV=Clear\: %sV +eln:Provides_an_electrical_signal\ndepending_the_actual_weather.=Provides an electrical signal\ndepending the actual weather. +eln:Rain\:_%sV=Rain\: %sV +eln:Storm\:_%sV=Storm\: %sV +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalwindsensor/ElectricalWindSensorDescriptor.java +eln:Maximum_wind_speed_is_%sm_s=Maximum wind speed is %sm/s +eln:Provides_an_electrical_signal\ndependant_on_wind_speed.=Provides an electrical signal\ndependant on wind speed. +eln:You_can't_place_this_block_on_the_floor_or_the_ceiling=You can't place this block on the floor or the ceiling +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricasensor/ElectricalSensorDescriptor.java +eln:Can_measure_Voltage_Power_Current=Can measure Voltage/Power/Current +eln:Measures_electrical_values_on_cables.=Measures electrical values on cables. +eln:Measures_voltage_on_cables.=Measures voltage on cables. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricasensor/ElectricalSensorGui.java +eln:Current=Current +eln:Measured_voltage\ncorresponding\nto_0%_output=Measured voltage\ncorresponding\nto 0% output +eln:Measured_voltage\ncorresponding\nto_100%_output=Measured voltage\ncorresponding\nto 100% output +eln:Voltage=Voltage +eln: +eln:# ./src/main/java/mods/eln/sixnode/energymeter/EnergyMeterGui.java +eln:Change_password=Change password +eln:Counter_Mode=Counter Mode +eln:Counts_the_energy_conducted_from\n\u00a74red\u00a7f_to_\u00a71blue\u00a7f.=Counts the energy conducted from\n\\u00a74red\\u00a7f to \\u00a71blue\\u00a7f. +eln:Energy_counter\:_%sJ=Energy counter\: %sJ +eln:Enter_new_energy=Enter new energy +eln:Enter_password=Vložte heslo +eln:Prepay_Mode=Prepay Mode +eln:Reset_time_counter=Reset time counter +eln:Set_energy_counter=Set energy counter +eln:Time_counter\:=Time counter\: +eln:Try_password=Try password +eln:You_can_set_an_initial\namount_of_available_energy.\nWhen_the_counter_arrives_at_0\nthe_contact_will_be_opened.=You can set an initial\namount of available energy.\nWhen the counter arrives at 0\nthe contact will be opened. +eln:is_off=je vypnuto +eln:is_on=je zapnuto +eln:value_in_kJ=value in kJ +eln: +eln:# ./src/main/java/mods/eln/sixnode/groundcable/GroundCableDescriptor.java +eln:Can_be_used_to_set_a_point_of_an\nelectrical_network_to_0V_potential.\nFor_example_to_ground_negative_battery_contacts.=Can be used to set a point of an\nelectrical network to 0V potential.\nFor example to ground negative battery contacts. +eln:Provides_a_zero_volt_reference.=Provides a zero volt reference. +eln: +eln:# ./src/main/java/mods/eln/sixnode/hub/HubDescriptor.java +eln:Allows_crossing_cables\non_one_single_block.=Allows crossing cables\non one single block. +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketDescriptor.java +eln:Angle\:_%s°_to_%s°=Angle\: %s° to %s° +eln:Spot_range\:_%s_blocks=Spot range\: %s blocks +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketGuiDraw.java +eln:%s_is_not_in_range!=%s is not in range\! +eln:Cable_slot_empty=Cable slot empty +eln:Orientation\:_%s°=Orientation\: %s° +eln:Parallel=Paralelní +eln:Powered_by_Lamp_Supply=Powered by Lamp Supply +eln:Powered_by_cable=Powered by cable +eln:Serial=Sériová +eln:Specify_the_supply_channel=Specify the supply channel +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyContainer.java +eln:Electrical_cable_slot\nBase_range_is_32_blocks.\nEach_additional_cable\nincreases_range_by_one.=Electrical cable slot\nBase range is 32 blocks.\nEach additional cable\nincreases range by one. +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyDescriptor.java +eln:Supplies_all_lamps_on_the_channel.=Supplies all lamps on the channel. +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyGui.java +eln:Power_channel_name=Power channel name +eln:Wireless_channel_name=Wireless channel name +eln: +eln:# ./src/main/java/mods/eln/sixnode/modbusrtu/ModbusRtuGui.java +eln:Add=Přidat +eln:Channel_name=Název kanálu +eln:Modbus_ID=Modbus ID +eln:Modbus_RTU=Modbus RTU +eln:Station_ID=ID stanice +eln:Station_name=Název stanice +eln:Wireless_RX=Wireless RX +eln:Wireless_TX=Wireless TX +eln: +eln:# ./src/main/java/mods/eln/sixnode/powercapacitorsix/PowerCapacitorSixContainer.java +eln:(Increases_maximum_voltage)=(Increases maximum voltage) +eln: +eln:# ./src/main/java/mods/eln/sixnode/powercapacitorsix/PowerCapacitorSixGui.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/powerinductorsix/PowerInductorSixContainer.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/powerinductorsix/PowerInductorSixGui.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/powersocket/PowerSocketDescriptor.java +eln:Supplies_any_device\nplugged_in_with_energy.=Supplies any device\nplugged in with energy. +eln: +eln:# ./src/main/java/mods/eln/sixnode/powersocket/PowerSocketGui.java +eln:Specify_the_device_to_supply_through_this_socket.=Specify the device to supply through this socket. +eln: +eln:# ./src/main/java/mods/eln/sixnode/resistor/ResistorContainer.java +eln:(Sets_resistance)=(Sets resistance) +eln:Coal_dust_slot=Coal dust slot +eln: +eln:# ./src/main/java/mods/eln/sixnode/thermalcable/ThermalCableDescriptor.java +eln:High_parallel_resistance\n_\=>_Low_power_dissipation.=High parallel resistance\n \=> Low power dissipation. +eln:Low_serial_resistance\n_\=>_High_conductivity.=Low serial resistance\n \=> High conductivity. +eln:Parallel_resistance\:_%sK_W=Parallel resistance\: %sK/W +eln:Serial_resistance\:_%sK_W=Serial resistance\: %sK/W +eln: +eln:# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorContainer.java +eln:Cable_slot=Cable slot +eln: +eln:# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorDescriptor.java +eln:Can_measure\:=Can measure\: +eln:Measures_temperature_of_cables.=Measures temperature of cables. +eln:Measures_thermal_values_on_cables.=Measures thermal values on cables. +eln:__Temperature_Power_conducted=Temperature/Power conducted +eln: +eln:# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorGui.java +eln:Measured_temperature\ncorresponding\nto_0%_output=Measured temperature\ncorresponding\nto 0% output +eln:Measured_temperature\ncorresponding\nto_100%_output=Measured temperature\ncorresponding\nto 100% output +eln:Temperature=Temperature +eln: +eln:# ./src/main/java/mods/eln/sixnode/tutorialsign/TutorialSignElement.java +eln:No_text_associated_to_this_beacon=No text associated to this beacon +eln: +eln:# ./src/main/java/mods/eln/sixnode/tutorialsign/TutorialSignGui.java +eln:Set_beacon_name=Set beacon name +eln: +eln:# ./src/main/java/mods/eln/sixnode/wirelesssignal/rx/WirelessSignalRxGui.java +eln: +eln:# ./src/main/java/mods/eln/transparentnode/FuelGenerator.kt +eln:Nominal_power\:_%s_W=Nominal power\: %s W +eln:Nominal_voltage\:_%s_V=Nominal voltage\: %s V +eln:Produces_electricity_using_fuel.=Produces electricity using fuel. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/LargeRheostat.kt +eln:Nom._Resistance\:_%s=Nom. Resistance\: %s +eln: +eln:# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerContainer.java +eln:Drill_slot=Drill slot +eln:Mining_pipe_slot=Mining pipe slot +eln:Ore_scanner_slot=Ore scanner slot +eln: +eln:# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerDescriptor.java +eln:Excavates_on_a_small_radius.\nExtracts_ore_on_a_bigger_radius\:\n10_blocks_radius_after_10_blocks_depth.=Excavates on a small radius.\nExtracts ore on a bigger radius\:\n10 blocks radius after 10 blocks depth. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerGuiDraw.java +eln:Chest_missing_on_the\nback_of_the_auto_miner!=Chest missing on the\nback of the auto miner\! +eln:Halves_speed,_triples_power_draw=Halves speed, triples power draw +eln:Silk_Touch_Off=Silk Touch Off +eln:Silk_Touch_On=Silk Touch On +eln:Silk_touch=Silk touch +eln: +eln:# ./src/main/java/mods/eln/transparentnode/battery/BatteryContainer.java +eln:Overheating_protection=Overheating protection +eln:Overvoltage_protection=Overvoltage protection +eln: +eln:# ./src/main/java/mods/eln/transparentnode/battery/BatteryDescriptor.java +eln:Actual_charge\:_%s=Actual charge\: %s +eln:Energy_capacity\:_%sJ=Energy capacity\: %sJ +eln:_charged_at_%s=charged at %s +eln: +eln:# ./src/main/java/mods/eln/transparentnode/battery/BatteryGuiDraw.java +eln:Charge=Charge +eln:Charged=Charged +eln:Discharge=Discharge +eln:Energy\:=Energy\: +eln:Energy\:_%s=Energy\: %s +eln:Life\:=Life\: +eln:No_charge=No charge +eln:Power_in\:=Power in\: +eln:Power_out\:=Power out\: +eln: +eln:# ./src/main/java/mods/eln/transparentnode/eggincubator/EggIncubatorContainer.java +eln:Egg_slot=Egg slot +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalantennarx/ElectricalAntennaRxDescriptor.java +eln:Wireless_energy_receiver.=Wireless energy receiver. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalantennatx/ElectricalAntennaTxDescriptor.java +eln:Efficiency\:_%s_up_to_%s=Efficiency\: %s up to %s +eln:Wireless_energy_transmitter.=Wireless energy transmitter. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceContainer.java +eln:Heating_corp_slot=Heating corp slot +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceDescriptor.java +eln:Similar_to_a_vanilla_furnace,\nbut_heats_with_electricity.=Similar to a vanilla furnace,\nbut heats with electricity. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceGuiDraw.java +eln:Auto_shutdown=Auto shutdown +eln:Manual_shutdown=Manual shutdown +eln:Set_point\:_%s°C=Set point\: %s°C +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalmachine/ElectricalMachineDescriptor.java +eln:Cost=Cost +eln: +eln:# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceContainer.java +eln:Combustion_chamber_slot=Combustion chamber slot +eln:Fuel_slot=Fuel slot +eln: +eln:# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceDescriptor.java +eln:Generates_heat_when_supplied_with_fuel.=Generates heat when supplied with fuel. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceGuiDraw.java +eln:Control_gauge_at_%s=Control gauge at %s +eln:Decline_fuel=Decline fuel +eln:External_control=External control +eln:Internal_control=Internal control +eln:Take_fuel=Take fuel +eln: +eln:# ./src/main/java/mods/eln/transparentnode/powercapacitor/PowerCapacitorContainer.java +eln:(Increases_maximal_voltage)=(Increases maximal voltage) +eln: +eln:# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelContainer.java +eln:Solar_tracker_slot=Solar tracker slot +eln: +eln:# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelDescriptor.java +eln:Can_be_geared_towards_the_sun.=Can be geared towards the sun. +eln:Max._power\:_%sW=Max. power\: %sW +eln:Max._voltage\:_%sV=Max. voltage\: %sV +eln:Produces_power_from_solar_radiation.=Produces power from solar radiation. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPannelGuiDraw.java +eln:It_is_night=It is night +eln:Solar_panel_angle\:_%s°=Solar panel angle\: %s° +eln:Sun_angle\:_%s°=Sun angle\: %s° +eln: +eln:# ./src/main/java/mods/eln/transparentnode/teleporter/TeleporterGui.java +eln:Destination_transporter=Destination transporter +eln:Power_consumption\:=Power consumption\: +eln:Power_consumption\:_%sW=Power consumption\: %sW +eln:Required_energy\:_%sJ=Required energy\: %sJ +eln:Start=Start +eln:Transporter_name=Transporter name +eln: +eln:# ./src/main/java/mods/eln/transparentnode/thermaldissipatoractive/ThermalDissipatorActiveDescriptor.java +eln:Fan_cooling_power\:_%sW=Fan cooling power\: %sW +eln:Fan_power_consumption\:_%sW=Fan power consumption\: %sW +eln:Fan_voltage\:_%sV=Fan voltage\: %sV +eln: +eln:# ./src/main/java/mods/eln/transparentnode/transformer/TransformerDescriptor.java +eln:The_voltage_ratio_is_proportional\nto_the_cable_stacks_count_ratio.=The voltage ratio is proportional\nto the cable stacks count ratio. +eln:Transforms_an_input_voltage_to\nan_output_voltage.=Transforms an input voltage to\nan output voltage. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/turbine/TurbineDescriptor.java +eln:Generates_electricity_using_heat.=Generates electricity using heat. +eln:Temperature_difference\:_%s°C=Temperature difference\: %s°C +eln: +eln:# ./src/main/java/mods/eln/transparentnode/turret/TurretDescriptor.java +eln:CAUTION\:_Cables_can_get_quite_hot!=CAUTION\: Cables can get quite hot\! +eln:Laser_charge_power\:_%sW...%skW=Laser charge power\: %sW...%skW +eln:Scans_for_entities_and_shoots_if_the\nentity_matches_the_configurable_filter_criteria.=Scans for entities and shoots if the\nentity matches the configurable filter criteria. +eln:Standby_power\:_%sW=Standby power\: %sW +eln: +eln:# ./src/main/java/mods/eln/transparentnode/turret/TurretGui.java +eln:Attack\:=Attack\: +eln:Do_not_attack\:=Do not attack\: +eln:Recharge_power\:=Recharge power\: +eln: +eln:# ./src/main/java/mods/eln/transparentnode/waterturbine/WaterTurbineDescriptor.java +eln:Generates_energy_using_water_stream.=Generates energy using water stream. +eln:No_place_for_water_turbine!=No place for water turbine\! +eln: +eln:# ./src/main/java/mods/eln/transparentnode/windturbine/WindTurbineDescriptor.java +eln:Front\:_%s=Front\: %s +eln:Generates_energy_from_wind.=Generates energy from wind. +eln:Left_Right\:_%s=Left/Right\: %s +eln:Up_Down\:_%s=Up/Down\: %s +eln:Wind_area\:=Wind area\: +eln: +eln:# ./src/main/java/mods/eln/wiki/Data.java +eln:Energy=Energy +eln:Light=Light +eln:Machine=Machine +eln:Ore=Ore +eln:Portable=Portable +eln:Resource=Resource +eln:Signal=Signal +eln:Thermal=Thermal +eln:Upgrade=Upgrade +eln:Utilities=Utilities +eln:Wiring=Wiring +eln: +eln:# ./src/main/java/mods/eln/wiki/Default.java +eln:Previous=Previous +eln: +eln:# ./src/main/java/mods/eln/wiki/ItemDefault.java +eln:Can_be_used_to_craft\:=Can be used to craft\: +eln:Cannot_be_crafted!=Cannot be crafted\! +eln:Cost_%sJ=Cost %sJ +eln:Created_by\:=Created by\: +eln:Is_not_a_crafting_material!=Is not a crafting material\! +eln:Recipe\:=Recipe\: +eln: +eln:# Appearing in multiple source files +eln:(Increases_capacity)=(Increases capacity) +eln:(Increases_inductance)=(Increases inductance) +eln:Actual\:_%s°C=Actual\: %s°C +eln:Biggest=Biggest +eln:Booster_slot=Booster slot +eln:Can_create\:=Can create\: +eln:Capacity\:_%sF=Capacity\: %sF +eln:Charge_power\:_%sW=Charge power\: %sW +eln:Connected=Connected +eln:Cooling_power\:_%sW=Cooling power\: %sW +eln:Copper_cable_slot=Copper cable slot +eln:Dielectric_slot=Dielectric slot +eln:Discharge_power\:_%sW=Discharge power\: %sW +eln:Electrical_cable_slot=Electrical cable slot +eln:Entity_filter_slot=Entity filter slot +eln:Ferromagnetic_core_slot=Ferromagnetic core slot +eln:Has_a_signal_output.=Has a signal output. +eln:Inductance\:_%sH=Inductance\: %sH +eln:Internal_resistance\:_%sΩ=Internal resistance\: %sΩ +eln:Is_off=Is off +eln:Is_on=Is on +eln:Max._temperature\:_%s°C=Max. temperature\: %s°C +eln:Measured_value\ncorresponding\nto_0%_output=Measured value\ncorresponding\nto 0% output +eln:Measured_value\ncorresponding\nto_100%_output=Measured value\ncorresponding\nto 100% output +eln:Nominal\:=Nominal\: +eln:Nominal_power\:_%sW=Nominal power\: %sW +eln:Nominal_usage\:=Nominal usage\: +eln:Nominal_voltage\:_%sV=Nominal voltage\: %sV +eln:Not_connected=Nepřipojeno +eln:Not_enough_space_for_this_block=Not enough space for this block +eln:Power=Power +eln:Power\:_%sW=Power\: %sW +eln:Range\:_%s_blocks=Range\: %s blocks +eln:Redstone_slot=Redstone slot +eln:Regulator_slot=Regulator slot +eln:Reset=Reset +eln:Resistance\:_%sΩ=Resistance\: %sΩ +eln:Smallest=Smallest +eln:Specify_the_channel=Specify the channel +eln:Stored_energy\:_%sJ_(%s)=Stored energy\: %sJ (%s) +eln:Temperature\:_%s°C=Temperature\: %s°C +eln:Temperature_gauge=Temperature gauge +eln:Thermal_isolator_slot=Thermal isolator slot +eln:Toggle=Toggle +eln:Toggle_switch=Toggle switch +eln:Toggles_the_output_each_time\nan_emitter's_value_rises.\nUseful_to_allow_multiple_buttons\nto_control_the_same_light.=Toggles the output each time\nan emitter's value rises.\nUseful to allow multiple buttons\nto control the same light. +eln:Used_to_cool_down_turbines.=Used to cool down turbines. +eln:Uses_the_biggest\nvalue_on_the_channel.=Uses the biggest\nvalue on the channel. +eln:Uses_the_smallest\nvalue_on_the_channel.=Uses the smallest\nvalue on the channel. +eln:Validate=Validate +eln:Voltage\:_%sV=Voltage\: %sV +eln:You_can't_place_this_block_at_this_side=You can't place this block at this side diff --git a/src/main/resources/assets/eln/lang/de.lang b/src/main/resources/assets/eln/lang/de.lang index 23f907718..540731ead 100644 --- a/src/main/resources/assets/eln/lang/de.lang +++ b/src/main/resources/assets/eln/lang/de.lang @@ -1,829 +1,829 @@ -# - -# ./src/main/java/mods/eln/Achievements.java -Electrical_Age_[WIP]=Electrical Age [WIP] -achievement.craft_50v_macerator=Zerkleinerungsanfänger -achievement.craft_50v_macerator.desc=Baue einen 50V Zerkleinerer -achievement.open_guide=Wiki Kraft -achievement.open_guide.desc=Öffne das Electrical Age Wiki - -# ./src/main/java/mods/eln/Eln.java -10A_Diode.name=10A Diode -200V_Active_Thermal_Dissipator.name=200V aktiver Kühlkörper -200V_Battery_Charger.name=200V Batterieladegerät -200V_Compressor.name=200V Presse -200V_Condensator.name=200V Kondensator -200V_Copper_Heating_Corp.name=200V Heizkörper aus Kupfer -200V_Economic_Light_Bulb.name=200V Energiesparlampe -200V_Farming_Lamp.name=200V Stalllampe -200V_Fuel_Generator.name=200V Benzin-Generator -200V_Incandescent_Light_Bulb.name=200V Glühbirne -200V_Iron_Heating_Corp.name=200V Heizkörper aus Eisen -200V_LED_Bulb.name=200V LED Lampe -200V_Macerator.name=200V Zerkleinerer -200V_Magnetizer.name=200V Magnetisier-Maschine -200V_Plate_Machine.name=200V Blechpresse -200V_Power_Socket.name=200V Steckdose -200V_Tungsten_Heating_Corp.name=200V Heizkörper aus Wolfram -200V_Turbine.name=200V Turbine -25A_Diode.name=25A Diode -50V_Battery_Charger.name=50V Batterieladegerät -50V_Carbon_Incandescent_Light_Bulb.name=50V Glühbirne -50V_Compressor.name=50V Presse -50V_Condensator.name=50V Kondensator -50V_Copper_Heating_Corp.name=50V Heizkörper aus Kupfer -50V_Economic_Light_Bulb.name=50V Energiesparlampe -50V_Egg_Incubator.name=50V Eibrutkasten -50V_Farming_Lamp.name=50V Stalllampe -50V_Fuel_Generator.name=50V Benzin-Generator -50V_Incandescent_Light_Bulb.name=50V Glühbirne -50V_Iron_Heating_Corp.name=50V Heizkörper aus Eisen -50V_LED_Bulb.name=50V LED Lampe -50V_Macerator.name=50V Zerkleinerer -50V_Magnetizer.name=50V Magnetisier-Maschine -50V_Plate_Machine.name=50V Blechpresse -50V_Power_Socket.name=50V Steckdose -50V_Tungsten_Heating_Corp.name=50V Heizkörper aus Wolfram -50V_Turbine.name=50V Turbine -800V_Defence_Turret.name=800V Verteidigungsgeschützturm -AND_Chip.name=AND Mikrochip -Advanced_Chip.name=Fortschrittlicher Microchip -Advanced_Electrical_Motor.name=Fortschrittlicher Motor -Advanced_Energy_Meter.name=Fortschrittlicher Energiezähler -Advanced_Machine_Block.name=Fortschrittlicher Maschinenblock -Advanced_Magnet.name=Starker Magnet -AllMeter.name=Universalmeter -Alloy_Dust.name=Leichtmetallstaub -Alloy_Ingot.name=Leichtmetallbarren -Alloy_Plate.name=Leichtmetallplatte -Analog_Watch.name=Wanduhr -Analog_vuMeter.name=Analoge Anzeige -Analogic_Regulator.name=Analoger Regler -Animal_Filter.name=Tierfilter -Auto_Miner.name=Autonome Abbaumaschine -Average_Electrical_Drill.name=Durchschnittlicher elektrischer Bohrer -Average_Ferromagnetic_Core.name=Durchschnittlicher ferro-magnetischer Kern -Basic_Magnet.name=Einfacher Magnet -Black_Brush.name=Schwarzer Pinsel -Blue_Brush.name=Blauer Pinsel -Brown_Brush.name=Brauner Pinsel -Capacity_Oriented_Battery.name=Kapazitätsorientierte Batterie -Cheap_Chip.name=Einfacher Microchip -Cheap_Electrical_Drill.name=Einfacher elektrischer Bohrer -Cheap_Ferromagnetic_Core.name=Einfacher ferro-magnetischer Kern -Cinnabar_Dust.name=Zinnstaub -Cinnabar_Ore.name=Zinnerz -Coal_Dust.name=Kohle-Staub -Coal_Plate.name=Kohleplatte -Combustion_Chamber.name=Brennkammer -Copper_Cable.name=Kupferkabel -Copper_Dust.name=Kupferstaub -Copper_Ingot.name=Kupferbarren -Copper_Ore.name=Kupfererz -Copper_Plate.name=Kupferplatte -Copper_Thermal_Cable.name=Thermischer Leiter aus Kupfer -Cost_Oriented_Battery.name=Günstige Batterie -Current_Oriented_Battery.name=Hochstrom Batterie -Cyan_Brush.name=Zyan Pinsel -D_Flip_Flop_Chip.name=D Flip-Flop Mikrochip -Data_Logger.name=Datenlogger -Data_Logger_Print.name=Datenlogger-Ausdruck -Dielectric.name=Dielektrikum -Digital_Watch.name=Digitale Wanduhr -Electrical_Anemometer_Sensor.name=Elektrisches Anemometer -Electrical_Breaker.name=Trennschalter -Electrical_Daylight_Sensor.name=Elektrischer Tageslichtsensor -Electrical_Entity_Sensor.name=Elektrischer Präsenzdetektor -Electrical_Fire_Detector.name=Elektrischer Brandmelder -Electrical_Furnace.name=Elektrischer Ofen -Electrical_Light_Sensor.name=Elektrischer Lichtsensor -Electrical_Motor.name=Elektrischer Motor -Electrical_Probe.name=Elektrischer Sensor -Electrical_Probe_Chip.name=Elektrischer Sensor-Chip -Electrical_Source.name=Elektrische Spannungsquelle -Electrical_Timer.name=Elektrischer Timer -Electrical_Weather_Sensor.name=Elektrischer Wettersensor -Electrical_age_wrench,\nCan_be_used_to_turn\nsmall_wall_blocks=Electrical Age Schraubschlüssel\nKann benutzt werden um kleine\nWand-Blöcke zu drehen -Energy_Meter.name=Energiezähler -Experimental_Transporter.name=Experimenteller Transporter -Fast_Electrical_Drill.name=Schneller elektrischer Bohrer -Ferrite_Ingot.name=Ferritbarren -Flat_Lamp_Socket.name=Flacher Lampensockel -Fluorescent_Lamp_Socket.name=Leuchtstoffsockel -Generator.name=Generator -Gold_Dust.name=Goldstaub -Gold_Plate.name=Goldplatte -Gray_Brush.name=Grauer Pinsel -Green_Brush.name=Grüner Pinsel -Ground_Cable.name=Erdungskabel -High_Power_Receiver_Antenna.name=Empfangsantenne für hohe Leistungen -High_Power_Transmitter_Antenna.name=Sendeantenne für hohe Leistungen -High_Voltage_Cable.name=Hochspannungskabel -High_Voltage_Relay.name=Hochspannungsrelais -High_Voltage_Switch.name=Hochspannungsschalter -Hub.name=Hub -Industrial_Data_Logger.name=Industrieller Datenlogger -Iron_Cable.name=Eisenkabel -Iron_Dust.name=Eisenstaub -Iron_Plate.name=Eisenplatte -JK_Flip_Flop_Chip.name=JK Flip-Flop Mikrochip -LED_vuMeter.name=LED-Anzeige -Lamp_Socket_A.name=Lampenfassung Model A -Lamp_Socket_B_Projector.name=Spotlampe Model B -Lamp_Supply.name=Lampen-Verteilschrank -Large_Rheostat.name=Grosser Regelwiderstand -Lead_Dust.name=Bleistaub -Lead_Ingot.name=Bleibarren -Lead_Ore.name=Bleierz -Lead_Plate.name=Bleiplatte -Life_Oriented_Battery.name=Langlebige Batterie -Light_Blue_Brush.name=Hellblauer Pinsel -Lime_Brush.name=hellgrüner Pinsel -Long_Suspended_Lamp_Socket.name=Lange Hängelampe -Low_Power_Receiver_Antenna.name=Empfängerantenne für kleine Leistungen -Low_Power_Transmitter_Antenna.name=Übertragunsantenne für kleine Leistungen -Low_Voltage_Cable.name=Niederspannungskabel -Low_Voltage_Relay.name=Niederspannugsrelais -Low_Voltage_Switch.name=Niederspannungsschalter -Machine_Block.name=Maschinenblock -Machine_Booster.name=Maschinenbeschleuniger -Magenta_Brush.name=Magenta Pinsel -Medium_Power_Receiver_Antenna.name=Empfangsantenne für mittlere Leistungen -Medium_Power_Transmitter_Antenna.name=Übertragunsantenne für mittlere Leistungen -Medium_Voltage_Cable.name=Mittelspannungskabel -Medium_Voltage_Relay.name=Mittelspannungsrelais -Medium_Voltage_Switch.name=Mittelspannungsschalter -Mercury.name=Quecksilber -Mining_Pipe.name=Bohrstange -Modbus_RTU.name=Modbus RTU -Modern_Data_Logger.name=Moderner Datenlogger -Monster_Filter.name=Monsterfilter -MultiMeter.name=Multimeter -NAND_Chip.name=NAND Mikrochip -NOR_Chip.name=NOR Mikrochip -NOT_Chip.name=NOT Mikrochip -Nuclear_Alarm.name=Nuklearer Alarm -OR_Chip.name=OR Mikrochip -On_OFF_Regulator_10_Percent.name=Zweipunktregler 10% -On_OFF_Regulator_1_Percent.name=Zweipunktregler 1% -Optimal_Ferromagnetic_Core.name=Optimaler ferro-magnetischer Kern -Orange_Brush.name=Oranger Pinsel -Ore_Scanner.name=Erzdetektor -Oscillator_Chip.name=Oszillator Mikrochip -Overheating_Protection.name=Überhitzschutz -Overvoltage_Protection.name=Überspannungsschutz -PAL_Chip.name=PAL Mikrochip -Pink_Brush.name=Pinker Pinsel -Player_Filter.name=Spielerfilter -Portable_Battery.name=Tragbare Batterie -Portable_Battery_Pack.name=Tragbares Batterie-Pack -Portable_Condensator.name=Tragbarer Kondensator -Portable_Condensator_Pack.name=Tragbares Kondensator-Pack -Portable_Electrical_Axe.name=Tragbare elektrische Axt -Portable_Electrical_Mining_Drill.name=Tragbarer elektrischer Steinbohrer -Power_Capacitor.name=Leistungskondensator -Power_Inductor.name=Leistungsspule -Power_Resistor.name=Leistungswiderstand -Power_capacitor.name=Leistungskondensator -Power_inductor.name=Leistungsspule -Purple_Brush.name=Purpurner Pinsel -Red_Brush.name=Roter Pinsel -Redstone-to-Voltage_Converter.name=Redstone zu Spannung Konverter -Rheostat.name=Stellwiderstand -Robust_Lamp_Socket.name=Robuste Lampenfassung -Rubber.name=Gummi -Schmitt_Trigger_Chip.name=Schmitt-Trigger Mikrochip -Sconce_Lamp_Socket.name=Wandlampensockel -Signal_20H_inductor.name=20H Signalspule -Signal_Antenna.name=Signalantenne -Signal_Button.name=Signaltaster -Signal_Cable.name=Signalkabel -Signal_Diode.name=Signaldiode -Signal_Processor.name=Signalverabeitungseinheit -Signal_Relay.name=Signalrelais -Signal_Source.name=Signalquelle -Signal_Switch.name=Signalschalter -Signal_Switch_with_LED.name=Signalschalter mit LED -Signal_Trimmer.name=Potentiometer -Silicon_Dust.name=Silikonstaub -Silicon_Ingot.name=Silikonbarren -Silicon_Plate.name=Silikonplatte -Silver_Brush.name=Silberner Pinsel -Simple_Lamp_Socket.name=Einfache Lampenfassung -Single-use_Battery.name=Einwegbatterie -Small_200V_Copper_Heating_Corp.name=Kleiner 200V Heizkörper aus Kupfer -Small_200V_Iron_Heating_Corp.name=Kleiner 200V Heizkörper aus Eisen -Small_200V_Tungsten_Heating_Corp.name=Kleiner 200V Heizkörper aus Wolfram -Small_50V_Carbon_Incandescent_Light_Bulb.name=Kleine 50V Glühbirne -Small_50V_Copper_Heating_Corp.name=Kleiner 50V Heizkörper aus Kupfer -Small_50V_Economic_Light_Bulb.name=Kleine 50V Energiesparlampe -Small_50V_Incandescent_Light_Bulb.name=Kleine 50V Glühbirne -Small_50V_Iron_Heating_Corp.name=Kleiner 50V Heizkörper aus Eisen -Small_50V_Tungsten_Heating_Corp.name=Kleiner 50V Heizkörper aus Wolfram -Small_Active_Thermal_Dissipator.name=50V aktiver Kühlkörper -Small_Flashlight.name=Taschenlampe -Small_Passive_Thermal_Dissipator.name=Kleiner passiver Kühlkörper -Small_Rotating_Solar_Panel.name=Kleiner richtbares Solarpanel -Small_Solar_Panel.name=Kleines Solarpanel -Solar_Tracker.name=Sonnenverfolger -Standard_Alarm.name=Standardalarm -Steam_Turbine.name=Dampfturbine -Stone_Heat_Furnace.name=Steinofen -Street_Light.name=Strassenlampe -Suspended_Lamp_Socket.name=Hängelampe -Temperature_Probe.name=Temperatursensor -Thermal_Probe.name=Wärmesensor -Thermal_Probe_Chip.name=Thermischer Sensor-Chip -Thermistor.name=Heissleiter -ThermoMeter.name=Thermometer -Transformer.name=DC/DC-Wander -Tree_Resin.name=Baumharz -Tree_Resin_Collector.name=Baumharzsammler -Tungsten_Cable.name=Wollframkabel -Tungsten_Dust.name=Wolframstaub -Tungsten_Ingot.name=Wolframbarren -Tungsten_Ore.name=Wolframerz -Tutorial_Sign.name=Hinweis-Beacon -Very_High_Voltage_Cable.name=Höchstspannungskabel -Very_High_Voltage_Relay.name=Höchstspannungsrelais -Very_High_Voltage_Switch.name=Höchstspannungsschalter -Voltage-to-Redstone_Converter.name=Spannung zu Redstone Konverter -Voltage_Oriented_Battery.name=Spannungsoptimierte Batterie -Voltage_Probe.name=Spannungssensor -Water_Turbine.name=Wasserrad -Weak_50V_Battery_Charger.name=Schwaches 50V Batterieladegerät -White_Brush.name=Weisser Pinsel -Wind_Turbine.name=Windturbine -Wireless_Analyser.name=Funk-Prüfgerät -Wireless_Button.name=Funktaster -Wireless_Signal_Receiver.name=Funkempfänger -Wireless_Signal_Repeater.name=Funksignalverstärker -Wireless_Signal_Transmitter.name=Funksender -Wireless_Switch.name=Funkschalter -Wrench.name=Schraubenschlüssel -X-Ray_Scanner.name=Röntgen-Strahlen Scanner -XNOR_Chip.name=XNOR Mikrochip -XOR_Chip.name=XOR Mikrochip -Yellow_Brush.name=Gelber Pinsel -entity.EAReplicator.name=Replikator -item.Copper Kupferaxt -item.Copper Kupferaxt -item.Copper Kupferaxt -item.Copper Kupferaxt -item.Copper Kupferaxt -item.Copper Kupferaxt -item.Copper Kupferaxt -item.Copper Kupferaxt -item.Copper Kupferaxt -item.E-Coal Elektrokohlestiefel -item.E-Coal Elektrokohlestiefel -item.E-Coal Elektrokohlestiefel -item.E-Coal Elektrokohlestiefel -itemGroup.Eln=Electrical Age -mod.meta.desc=Elektrizität in deiner Welt\! -tile.eln.ElnProbe.name=Electrical Age Computerinterface -tile.eln.EnergyConverterElnToOtherHVUBlock.name=800V Electrical Age Energie-Exporter -tile.eln.EnergyConverterElnToOtherLVUBlock.name=50V Electrical Age Energie-Exporter -tile.eln.EnergyConverterElnToOtherMVUBlock.name=200V Electrical Age Energie-Exporter - -# ./src/main/java/mods/eln/i18n/I18N.java -You_have_%s_lives_left=Ihnen bleibt %s Leben - -# ./src/main/java/mods/eln/item/BrushDescriptor.java -Brush_is_dry=Pinsel ist trocken -Can_paint_%s_blocks=Kann %s Blöcke einfärben - -# ./src/main/java/mods/eln/item/CombustionChamber.java -Upgrade_for_the_Stone_Heat_Furnace.=Verbesserung für den Steinofen - -# ./src/main/java/mods/eln/item/ElectricalDrillDescriptor.java -Energy_per_operation\:_%sJ=Energie pro Operation\: %sJ -Time_per_operation\:_%ss=Zeit pro Operation\: %ss - -# ./src/main/java/mods/eln/item/FerromagneticCoreDescriptor.java -Cable_loss_factor\:_%s=Verlustfaktor\: %s - -# ./src/main/java/mods/eln/item/HeatingCorpElement.java - -# ./src/main/java/mods/eln/item/LampDescriptor.java -Bad=Schlecht -Condition\:=Zustand\: -End_of_life=Lebensende -Good=Gut -New=Neu -Nominal_lifetime\:_%sh=Normale Lebensdauer\: %sh -Technology\:_%s=Technonogie\: %s -Used=Gebraucht - -# ./src/main/java/mods/eln/item/LampSlot.java -Lamp_slot=Lampenslot - -# ./src/main/java/mods/eln/item/OverHeatingProtectionDescriptor.java -Useful_to_prevent_overheating\nof_Batteries=Nützlich um die Überhitzung\nvon Batterien zu vermeiden - -# ./src/main/java/mods/eln/item/OverVoltageProtectionDescriptor.java -Useful_to_prevent_over-voltage\nof_Batteries=Nützlich um Überspannungen\nan Batterien zu verhindern - -# ./src/main/java/mods/eln/item/SolarTrackerDescriptor.java -Solar_panel_upgrade=Solarpanelerweiterung - -# ./src/main/java/mods/eln/item/electricalitem/BatteryItem.java - -# ./src/main/java/mods/eln/item/electricalitem/ElectricalLampItem.java -Off=aus -On=ein -State\:=Zustand\: -Stored_Energy\:_%sJ_(%s)=Gespeicherte Energy %sJ (%s) - -# ./src/main/java/mods/eln/item/regulator/RegulatorSlot.java - -# ./src/main/java/mods/eln/misc/UtilsClient.java -Hold_shift=Shift drücken - -# ./src/main/java/mods/eln/misc/Version.java -mod.name=Electrical Age - -# ./src/main/java/mods/eln/node/six/SixNodeDescriptor.java - -# ./src/main/java/mods/eln/simplenode/energyconverter/EnergyConverterElnToOtherGui.java -Input_power_is_limited_to_%sW=Eingangsleistung ist auf %sW limitiert - -# ./src/main/java/mods/eln/sixnode/LogicGate.kt -_O\:_= O\: - -# ./src/main/java/mods/eln/sixnode/TreeResinCollector/TreeResinCollectorDescriptor.java -Produces_Tree_Resin_over\ntime_when_put_on_a_tree.=An einem Baum befestigt kann\ndamit Harz gewonnen werden. -This_block_can_only_be_placed_on_the_side_of_a_tree!=Dieser Block kann nur an einem Baum befestigt werden\! - -# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerContainer.java -Battery_slot=Batterieslot - -# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerDescriptor.java -Can_be_used_to_recharge\nelectrical_items_like\:\nFlash_Light,_X-Ray_scanner\nand_Portable_Battery_...=Zum Wiederaufladen von\nelektrischen Teilen wie\:\nTaschenlampe, Rönten-Scanner\nund tragabaren Batterien... - -# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerGui.java - -# ./src/main/java/mods/eln/sixnode/diode/DiodeDescriptor.java -Electrical_current_can_only\nflow_through_the_diode\nfrom_anode_to_cathode=Der elektrische Strom kann \nnur in Richtung Anode zu\nKathode fliessen - -# ./src/main/java/mods/eln/sixnode/electricalalarm/ElectricalAlarmDescriptor.java -= -Emits_an_acoustic_alarm_if\nthe_input_signal_is_high=Erzeugt einen akkustischen Alarm\nwenn das Einganssignal wahr ist - -# ./src/main/java/mods/eln/sixnode/electricalalarm/ElectricalAlarmGui.java -Sound_is_muted=Ton ist stumm -Sound_is_not_muted=Ton ist nicht stumm - -# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerContainer.java - -# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerDescriptor.java -Protects_electrical_components\nOpens_contact_if\:\n__-_Voltage_exceeds_a_certain_level\n-_Current_exceeds_the_cable_limit=Schützt elektrische Komponenten\nÖffnet Kontakt falls\:\n- Die Spannung eine Schwelle übersteigt\n- Der Strom die Kabelkapazität übersteigt - -# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerGui.java -Maximum_voltage_before_cutting_off=Maximale Spannung bevor Unterbruch -Minimum_voltage_before_cutting_off=Minimale Spannung bevor Unterbruch -Switch_is_off=Schalter is aus -Switch_is_on=Schalter ist ein - -# ./src/main/java/mods/eln/sixnode/electricalcable/ElectricalCableDescriptor.java -A_signal_is_electrical_information\nwhich_must_be_between_0V_and_%sV=Ein Signal ist eine elektrische information\nwelche zwischen 0V und %sV kodiert ist -Cable_is_adapted_to_conduct\nelectrical_signals.=Kabel ist optimiert elektrische\nSignale zu leiten -Current\:_%sA=Stromstärke\: %sA -Not_adapted_to_transport_power.=Nicht zum Transportieren von Leistung geeignet. -Save_usage\:=Sicherer Gebrauch\: -Serial_resistance\:_%sΩ=Serieller Widerstand\: %sΩ - -# ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerDescriptor.java -It_can_store_up_to_256_points.=Bis zu 256 Werte werden gespeichert. -Measures_the_voltage_of_an\nelectrical_signal_and_plots\nthe_data_in_real_time.=Misst die Spannung eines\nelektrischen Signals und\nstellt dieses in Echtzeit dar. - -# ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerGui.java -Back_to_display=Zurück zur Anzeige -Configuration=Konfiguration -Current_[A]=Strom [A] -Energy_[J]=Energie [J] -Percent_[-]%=Prozent [-]% -Power_[W]=Leistung [W] -Print=Ausdruck -Sampling_period=Abtastperiode -Temp._[*C]=Temp. [*C] -Voltage_[V]=Spannung [V] -Y-axis_max=Y-Achse max -Y-axis_min=Y-Achse min - -# ./src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorContainer.java - -# ./src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorDescriptor.java -Output_voltage_increases\nif_entities_are_moving_around.=Die Ausgangsspannung steigt\nbei Anwesenheit von Wesen an - -# ./src/main/java/mods/eln/sixnode/electricalfiredetector/ElectricalFireDetectorDescriptor.java -Output_voltage_increases\nif_a_fire_has_been_detected.=Die Ausgangsspannung steigt an\nfalls Feuer detektiert wird. - -# ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceDescriptor.java -Provides_configurable_signal\nvoltage.=Stellt eine konfigurierbare\nSignalspannung bereit. - -# ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceGui.java -Output_at_%s=Ausgang bei %s - -# ./src/main/java/mods/eln/sixnode/electricallightsensor/ElectricalLightSensorDescriptor.java -0V_at_night,_%sV_at_noon.=0V bei Nacht, %sV am Mittag. -Provides_an_electrical_voltage\nin_the_presence_of_light.=Ist Licht vorhanden, so wird eine\nelektrische Spannung geliefert. -Provides_an_electrical_voltage\nwhich_is_proportional_to\nthe_intensity_of_daylight.=Liefert eine elektrische Spannung\nwelche proportional zur Intensität\ndes Tageslicht ist - -# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathContainer.java - -# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathDescriptor.java -Applicable_boolean_operators\:=Mögliche boolsche O -Applicable_functions\:=Verwendbare Funktionen -Applicable_mathematical_operators\:=Mögliche mathematische Operationen -Calculates_an_output_signal_from\n3_inputs_(A,_B,_C)_using_an_equation.=Berechnet ein Ausgangssignal aus 3 \nEingängen (A, B, C) mit Hilfe einer Formel. - -# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathGui.java -%s_Redstone(s)_required=%s Redstone werden benötigt -Equation_required!=Formel benötigt\! -Inputs_are=Eingänge sind -Invalid_equation!=Fehlerhafte Formel\! -Output_voltage_formula=Ausgangsspannungs-Formel -Waiting_for_completion...=Warte auf beenden... - -# ./src/main/java/mods/eln/sixnode/electricalredstoneinput/ElectricalRedstoneInputDescriptor.java -Converts_Redstone_signal\nto_an_electrical_voltage.=Konvertiert ein Redstone-Signal\nzu einer elektrische Spannung. - -# ./src/main/java/mods/eln/sixnode/electricalredstoneoutput/ElectricalRedstoneOutputDescriptor.java -Converts_electrical_voltage\ninto_a_Redstone_signal.=Konvertiert eine elektrische \nSpannung zu einem Redstone-Signal. - -# ./src/main/java/mods/eln/sixnode/electricalrelay/ElectricalRelayDescriptor.java -A_relay_is_an_electrical\ncontact_that_conducts_electric\ncurrent_or_not,_depending\nthe_actual_input_signal_voltage.=Ein Relais ist ein elektrischer\nKontakt welcher Strom leitet \noder nicht, je nach der aktuell\nangelegten Signalspannung. - -# ./src/main/java/mods/eln/sixnode/electricalrelay/ElectricalRelayGui.java -Normally_closed=Öffner -Normally_open=Schliesser - -# ./src/main/java/mods/eln/sixnode/electricalsource/ElectricalSourceDescriptor.java -Creative_block.=Creativer Block. -Provides_an_ideal_voltage_source\nwithout_energy_or_power_limitation.=Repräsentiert eine ideale Spannungsqueulle\nohne Energie- oder Leistungsbegrenzung. - -# ./src/main/java/mods/eln/sixnode/electricalsource/ElectricalSourceGui.java -Output_voltage=Ausgangsspannung - -# ./src/main/java/mods/eln/sixnode/electricalswitch/ElectricalSwitchDescriptor.java -Can_break_an_electrical_circuit\ninterrupting_the_current.=Kann einen elektrischen \nStromkreis unterbrechen. - -# ./src/main/java/mods/eln/sixnode/electricaltimeout/ElectricalTimeoutDescriptor.java -Upon_application_of_a_high_signal,\nthe_timer_maintains_the_output_high_for\na_configurable_interval._Can_be_re-triggered.=Wird ein high signal angelegt, so hält\nder Timer den Ausgang für ein konfigurierbares\nInterval auf high. Kann neu ausgelöst werden. - -# ./src/main/java/mods/eln/sixnode/electricaltimeout/ElectricalTimeoutGui.java -Set=Setze -The_time_interval_the\noutput_is_kept_high.=Das Interval während dem der\nAusgang auf high gehalten wird. - -# ./src/main/java/mods/eln/sixnode/electricalvumeter/ElectricalVuMeterDescriptor.java -Displays_the_value_of_a_signal.=Zeigt den aktuellen Wert eines Signals. - -# ./src/main/java/mods/eln/sixnode/electricalwatch/ElectricalWatchContainer.java -Portable_battery_slot=Tragbare Batterie-Slot - -# ./src/main/java/mods/eln/sixnode/electricalweathersensor/ElectricalWeatherSensorDescriptor.java -Clear\:_%sV=Klar\: %sV -Provides_an_electrical_signal\ndepending_the_actual_weather.=Liefert eine elektrisches Signal\nabhängig vom aktuellen Wetter. -Rain\:_%sV=Regen\: %sV -Storm\:_%sV=Sturm\: %sV - -# ./src/main/java/mods/eln/sixnode/electricalwindsensor/ElectricalWindSensorDescriptor.java -Maximum_wind_speed_is_%sm_s=Maximale Windgeschwindigkeit ist %sm/s -Provides_an_electrical_signal\ndependant_on_wind_speed.=Liefert ein elektrisches Singal\nabhängig von der Windgeschwindigkeit. -You_can't_place_this_block_on_the_floor_or_the_ceiling=Der Block kann nicht auf dem Boden oder an der Decke platziert werden - -# ./src/main/java/mods/eln/sixnode/electricasensor/ElectricalSensorDescriptor.java -Can_measure_Voltage_Power_Current=Kann Spannung/Leistung/Strom messen -Measures_electrical_values_on_cables.=Misst elektrische Grössen an Kabeln. -Measures_voltage_on_cables.=Miss Spannung an Kabeln. - -# ./src/main/java/mods/eln/sixnode/electricasensor/ElectricalSensorGui.java -Current=Strom -Measured_voltage\ncorresponding\nto_0%_output=Gemessene Spannung\nwelcher einem Ausgangswert\nvon 0% entspricht. -Measured_voltage\ncorresponding\nto_100%_output=Gemessene Spannung\nwelcher einem Ausgangswert\nvon 100% entspricht. -Voltage=Spannung - -# ./src/main/java/mods/eln/sixnode/energymeter/EnergyMeterGui.java -Change_password=Passwort ändern -Counter_Mode=Zählermodus -Counts_the_energy_conducted_from\n\u00a74red\u00a7f_to_\u00a71blue\u00a7f.=Zählt die Energy welche von\n\\u00a74Rot\\u00a7f zu \\u00a71Blua\\u00a7f fliesst. -Energy_counter\:_%sJ=Energiezähler\: %sJ -Enter_new_energy=Neue Energie eingeben -Enter_password=Passwort eingeben -Prepay_Mode=Prepay-Modus -Reset_time_counter=Zeitzähler zurücksetzen -Set_energy_counter=Energiezähler setzen -Time_counter\:=Zeitzähler\: -Try_password=Passwort testen -You_can_set_an_initial\namount_of_available_energy.\nWhen_the_counter_arrives_at_0\nthe_contact_will_be_opened.=Die Menge verfügbarer Energie \nkann konfiguriert werden. \nSobald der Zähler 0 erreicht, wird \nder Ausgangskontakt geöffnet. -is_off=ist aus -is_on=ist ein -value_in_kJ=Wert in kJ - -# ./src/main/java/mods/eln/sixnode/groundcable/GroundCableDescriptor.java -Can_be_used_to_set_a_point_of_an\nelectrical_network_to_0V_potential.\nFor_example_to_ground_negative_battery_contacts.=Kann verwendet werden um einen Punkt \nin einem elektrischen Netzwerk auf ein \n0-Potential zu bringen. z.B. können die \nnegativen Kontakte einer Batterie geerdet werden. -Provides_a_zero_volt_reference.=Liefert eine Null-Volt-Referenz. - -# ./src/main/java/mods/eln/sixnode/hub/HubDescriptor.java -Allows_crossing_cables\non_one_single_block.=Ermöglicht das Kreuzen von\nKabeln auf einem Block. - -# ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketDescriptor.java -Angle\:_%s°_to_%s°=Winkel\: %s° bis %s° -Spot_range\:_%s_blocks=Reichweite\: %s Blöcke - -# ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketGuiDraw.java -%s_is_not_in_range!=%s ist nicht in Reichweite\! -Cable_slot_empty=Kabel-Slot leer -Orientation\:_%s°=Richtung\: %s° -Parallel=Parallel -Powered_by_Lamp_Supply=Durch Lampenverteiler gespiesen -Powered_by_cable=Durch Kabel gespiesen -Serial=Seriell -Specify_the_supply_channel=Speisekanal angeben - -# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyContainer.java -Electrical_cable_slot\nBase_range_is_32_blocks.\nEach_additional_cable\nincreases_range_by_one.=Elektrischer Kabel-Slot\nGrundreichweite ist 32 Blöcke.\nFür jedes zusätzliche Kabel wird\ndiese um einen Block erhöht. - -# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyDescriptor.java -Supplies_all_lamps_on_the_channel.=Speist alle Lampen des Kanals. - -# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyGui.java -Power_channel_name=Speisekanalname -Wireless_channel_name=Funkkanal-Name - -# ./src/main/java/mods/eln/sixnode/modbusrtu/ModbusRtuGui.java -Add=Hinzufügen -Channel_name=Kanalname -Modbus_ID=Modbus ID -Modbus_RTU=Modbus RTU -Station_ID=Stations ID -Station_name=Stationsname -Wireless_RX=Funkempfang -Wireless_TX=Funksender - -# ./src/main/java/mods/eln/sixnode/powercapacitorsix/PowerCapacitorSixContainer.java -(Increases_maximum_voltage)=(Erhöht die maximale Spannung) - -# ./src/main/java/mods/eln/sixnode/powercapacitorsix/PowerCapacitorSixGui.java - -# ./src/main/java/mods/eln/sixnode/powerinductorsix/PowerInductorSixContainer.java - -# ./src/main/java/mods/eln/sixnode/powerinductorsix/PowerInductorSixGui.java - -# ./src/main/java/mods/eln/sixnode/powersocket/PowerSocketDescriptor.java -Supplies_any_device\nplugged_in_with_energy.=Speist eingesteckte Geräte\nmit elektrischer Energie. - -# ./src/main/java/mods/eln/sixnode/powersocket/PowerSocketGui.java -Specify_the_device_to_supply_through_this_socket.=Gib an, welches Gerät an diese Steckdose angeschlossen ist. - -# ./src/main/java/mods/eln/sixnode/resistor/ResistorContainer.java -(Sets_resistance)=(Bestimmt den Widerstand) -Coal_dust_slot=Kohlestaub-Slot - -# ./src/main/java/mods/eln/sixnode/thermalcable/ThermalCableDescriptor.java -High_parallel_resistance\n_\=>_Low_power_dissipation.=Hoher Parallelwiderstand\n \=> keiner Wärmeverlust. -Low_serial_resistance\n_\=>_High_conductivity.=kleiner Seriewiderstand\n \=> gute Leitfähigkeit. -Parallel_resistance\:_%sK_W=Parallelwiderstand\: %sK/W -Serial_resistance\:_%sK_W=Seriewiderstand\: %sK/W - -# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorContainer.java -Cable_slot=Kabelslot - -# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorDescriptor.java -Can_measure\:=Misst\: -Measures_temperature_of_cables.=Misst die Temperatur von Kabeln. -Measures_thermal_values_on_cables.=Misst thermische Werte eines Kabels. -__Temperature_Power_conducted=Temperatur/Wärmeleistung - -# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorGui.java -Measured_temperature\ncorresponding\nto_0%_output=Gemessene Temperatur\nwelche einem Ausgangswert\nvon 0% entspricht -Measured_temperature\ncorresponding\nto_100%_output=Gemessene Temperatur\nwelche einem Ausgangswert\nvon 100% entspricht -Temperature=Temperatur - -# ./src/main/java/mods/eln/sixnode/tutorialsign/TutorialSignElement.java -No_text_associated_to_this_beacon=Diesem Beacon wurde kein Text zugewiesen - -# ./src/main/java/mods/eln/sixnode/tutorialsign/TutorialSignGui.java -Set_beacon_name=Beaconname setzen - -# ./src/main/java/mods/eln/sixnode/wirelesssignal/rx/WirelessSignalRxGui.java - -# ./src/main/java/mods/eln/transparentnode/FuelGenerator.kt -Nominal_power\:_%s_W=Nominale Leistung\: %s W -Nominal_voltage\:_%s_V=Nominale Spannung %s V -Produces_electricity_using_fuel.=Produziert Elektrizität mittels Treibstoff. - -# ./src/main/java/mods/eln/transparentnode/LargeRheostat.kt -Nom._Resistance\:_%s=Nom. Widerstand\: %s - -# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerContainer.java -Drill_slot=Bohrerslot -Mining_pipe_slot=Bohrstangen-Slot -Ore_scanner_slot=Erzdetektor-Slot - -# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerDescriptor.java -Excavates_on_a_small_radius.\nExtracts_ore_on_a_bigger_radius\:\n10_blocks_radius_after_10_blocks_depth.=Gräbt aus einem kleinen Loch.\nBaut aus einem grösseren Radius ab.\nDer Radius beträgt 10 Blöcke ab einer \nTiefe von einem Block. - -# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerGuiDraw.java -Chest_missing_on_the\nback_of_the_auto_miner!=Kiste auf der Rückseite der \nautonomen Abbaumaschine fehlt\! -Halves_speed,_triples_power_draw=Halbiert Geschwindigkeit, verdreifacht Leistungsaufnahme -Silk_Touch_Off=Silk Touch aus -Silk_Touch_On=Silk Touch an -Silk_touch=Silk Touch - -# ./src/main/java/mods/eln/transparentnode/battery/BatteryContainer.java -Overheating_protection=Überhitzschutz -Overvoltage_protection=Überspannungsschutz - -# ./src/main/java/mods/eln/transparentnode/battery/BatteryDescriptor.java -Actual_charge\:_%s=Aktuelle Ladung\: %s -Energy_capacity\:_%sJ=Energiekapazität\: %sJ -_charged_at_%s=geladen bei %s - -# ./src/main/java/mods/eln/transparentnode/battery/BatteryGuiDraw.java -Charge=Laden -Charged=Geladen -Discharge=Entladen -Energy\:=Energie\: -Energy\:_%s=Energie\: %s -Life\:=Leben\: -No_charge=Nicht geladen -Power_in\:=Eingangsleistung\: -Power_out\:=Ausgangsleistung\: - -# ./src/main/java/mods/eln/transparentnode/eggincubator/EggIncubatorContainer.java -Egg_slot=Eier-Slot - -# ./src/main/java/mods/eln/transparentnode/electricalantennarx/ElectricalAntennaRxDescriptor.java -Wireless_energy_receiver.=Kabelloser Energie-Empfänger - -# ./src/main/java/mods/eln/transparentnode/electricalantennatx/ElectricalAntennaTxDescriptor.java -Efficiency\:_%s_up_to_%s=Effizienz\: %s bis %s -Wireless_energy_transmitter.=Kabelloser Energie-Sender - -# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceContainer.java -Heating_corp_slot=Heizkörper Slot - -# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceDescriptor.java -Similar_to_a_vanilla_furnace,\nbut_heats_with_electricity.=Ähnlich einem "vanilla" Ofen, aber \nfunktioniert mit elektrischem Strom. - -# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceGuiDraw.java -Auto_shutdown=Automatische Abschaltung -Manual_shutdown=Manuelle Abschaltung -Set_point\:_%s°C=Sollwert\: %s°C - -# ./src/main/java/mods/eln/transparentnode/electricalmachine/ElectricalMachineDescriptor.java -Cost=Kosten - -# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceContainer.java -Combustion_chamber_slot=Brennkammer-Slot -Fuel_slot=Treibstoff-Slot - -# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceDescriptor.java -Generates_heat_when_supplied_with_fuel.=Generiert Wärme mit Hilfe von Treibstoff. - -# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceGuiDraw.java -Control_gauge_at_%s=Kontrollanzeige bei %s -Decline_fuel=Verweigere Treibstoff -External_control=Externe Kontrolle -Internal_control=Interne Kontrolle -Take_fuel=Verbrauche Treibstoff - -# ./src/main/java/mods/eln/transparentnode/powercapacitor/PowerCapacitorContainer.java -(Increases_maximal_voltage)=(Erhöht die maximale Spannung) - -# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelContainer.java -Solar_tracker_slot=Sonnenverfolger-Slot - -# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelDescriptor.java -Can_be_geared_towards_the_sun.=Kann in Richtung Sonne gerichtet werden. -Max._power\:_%sW=Max. Leisting\: %sW -Max._voltage\:_%sV=Max. Spannung\: %sV -Produces_power_from_solar_radiation.=Wandelt die Sonnenstrahlung in Energie - -# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPannelGuiDraw.java -It_is_night=Es ist Nacht -Solar_panel_angle\:_%s°=Solarpanel-Winkel\: %s° -Sun_angle\:_%s°=Sonnenwinkel\: %s° - -# ./src/main/java/mods/eln/transparentnode/teleporter/TeleporterGui.java -Destination_transporter=Zieltransporter -Power_consumption\:=Leistungsaufnahme\: -Power_consumption\:_%sW=Leistungsaufnahme\: %sW -Required_energy\:_%sJ=Benötigte Energie\: %sJ -Start=Start -Transporter_name=Transporter Name - -# ./src/main/java/mods/eln/transparentnode/thermaldissipatoractive/ThermalDissipatorActiveDescriptor.java -Fan_cooling_power\:_%sW=Lüfterkühlleistung\: %sW -Fan_power_consumption\:_%sW=Lüfterleistungsaufnahme\: %sW -Fan_voltage\:_%sV=Lüfterspannung\: %sV - -# ./src/main/java/mods/eln/transparentnode/transformer/TransformerDescriptor.java -The_voltage_ratio_is_proportional\nto_the_cable_stacks_count_ratio.=Das Spannungsverhältnis ist proportional\nzu dem Verhältnis der Anzahl Kabel. -Transforms_an_input_voltage_to\nan_output_voltage.=Transformiert eine Eingangsspannung\nzu einer Ausgangsspannung. - -# ./src/main/java/mods/eln/transparentnode/turbine/TurbineDescriptor.java -Generates_electricity_using_heat.=Generiert Elektrizität aus Wärme. -Temperature_difference\:_%s°C=Temperaturdifferenz\: %s°C - -# ./src/main/java/mods/eln/transparentnode/turret/TurretDescriptor.java -CAUTION\:_Cables_can_get_quite_hot!=ACHTUNG\: Kabel können heiss werden\! -Laser_charge_power\:_%sW...%skW=Laser Ladeleistung\: %sW...%sW -Scans_for_entities_and_shoots_if_the\nentity_matches_the_configurable_filter_criteria.=Sucht Wesen und schiesst auf diese falls\nsie dem eingesetzten Filter entsprechen -Standby_power\:_%sW=Standby Leisting\: %sW - -# ./src/main/java/mods/eln/transparentnode/turret/TurretGui.java -Attack\:=Angreifen\: -Do_not_attack\:=Nicht angreifen\: -Recharge_power\:=Nachlade-Leistung\: - -# ./src/main/java/mods/eln/transparentnode/waterturbine/WaterTurbineDescriptor.java -Generates_energy_using_water_stream.=Generiert Elektrizität aus Wasserströmung. -No_place_for_water_turbine!=Kein Platz für die Wasserturbine vorhanden\! - -# ./src/main/java/mods/eln/transparentnode/windturbine/WindTurbineDescriptor.java -Front\:_%s=Front\: %s -Generates_energy_from_wind.=Generiert Elektrizität aus Wind. -Left_Right\:_%s=Links/Rechts\: %s -Up_Down\:_%s=Auf/Ab\: %s -Wind_area\:=Windfläche\: - -# ./src/main/java/mods/eln/wiki/Data.java -Energy=Energie -Light=Licht -Machine=Maschine -Ore=Erz -Portable=Tragbar -Resource=Ressource -Signal=Signal -Thermal=Thermik -Upgrade=Verbesserung -Utilities=Utensilien -Wiring=Verkabelung - -# ./src/main/java/mods/eln/wiki/Default.java -Previous=Zurück - -# ./src/main/java/mods/eln/wiki/ItemDefault.java -Can_be_used_to_craft\:=Kann benutzt werden für den Bau von\: -Cannot_be_crafted!=Kann nicht zum bauen verwendet werden\! -Cost_%sJ=Aufwand\: %sJ -Created_by\:=Erstellt durch\: -Is_not_a_crafting_material!=Ist kein Baumaterial\! -Recipe\:=Rezept\: - -# Appearing in multiple source files -(Increases_capacity)=(Erhöht Kapazität) -(Increases_inductance)=(Erhöht Induktivität) -Actual\:_%s°C=Aktuell\: %s°C -Biggest=Grösster -Booster_slot=Beschleunigerslot -Can_create\:=Kann folgendes kreieren\: -Capacity\:_%sF=Kapazität\: %sF -Charge_power\:_%sW=Ladeleistung\: %sW -Connected=Verbunden -Cooling_power\:_%sW=Kühlleistung\: %sW -Copper_cable_slot=Kupferkabel-Slot -Dielectric_slot=Dielektrikum-Slot -Discharge_power\:_%sW=Entladeleistung\: %sW -Electrical_cable_slot=Elektrisches Kabel-Slot -Entity_filter_slot=Wesen-Filterslot -Ferromagnetic_core_slot=Ferromagnetischer Kern Slot -Has_a_signal_output.=Besitzt einen Signal-Ausgang. -Inductance\:_%sH=Induktivität\: %sH -Internal_resistance\:_%sΩ=Interner Widerstand\: %sΩ -Is_off=Ist aus -Is_on=Ist an -Max._temperature\:_%s°C=Max. Temperatur\: %s°C -Measured_value\ncorresponding\nto_0%_output=Gemessener Wert\nwelcher einem Ausgangswert\nvon 0% entspricht -Measured_value\ncorresponding\nto_100%_output=Gemessener Wert\nwelcher einem Ausgangswert\nvon 100% entspricht -Nominal\:=Nominal\: -Nominal_power\:_%sW=Nominale Leisting\: %sW -Nominal_usage\:=Nominaler Gebrauch\: -Nominal_voltage\:_%sV=Nominale Spannung\: %sV -Not_connected=Nicht verbunden -Not_enough_space_for_this_block=Nicht genug Platz für diesen Block vorhanden -Power=Leistung -Power\:_%sW=Leistung\: %sW -Range\:_%s_blocks=Reichweite\: %s Blöcke -Redstone_slot=Redstone Slot -Regulator_slot=Regulatorslot -Reset=Zurücksetzen -Resistance\:_%sΩ=Widerstand\: %sΩ -Smallest=Kleinster -Specify_the_channel=Gib den Kanal an -Stored_energy\:_%sJ_(%s)=Gespeicherte Energie\: %sJ (%s) -Temperature\:_%s°C=Temperatur\: %s°C -Temperature_gauge=Temperaturanzeige -Thermal_isolator_slot=Thermischer Isolator Slot -Toggle=Umschalten -Toggle_switch=Schalter wechseln -Toggles_the_output_each_time\nan_emitter's_value_rises.\nUseful_to_allow_multiple_buttons\nto_control_the_same_light.=Wechselt den Ausgang jedes Mal \nwenn der Wert eines Senders ansteigt.\nNützlich falls mehrere Taster die \ngleiche Lampe steuern sollen. -Used_to_cool_down_turbines.=Kann Turbinen kühlen. -Uses_the_biggest\nvalue_on_the_channel.=Benutzt den grössten\nWert auf dem Funkkanal. -Uses_the_smallest\nvalue_on_the_channel.=Benutzt den kleinsten \nWert auf dem Funkkanal. -Validate=Validieren -Voltage\:_%sV=Spannung\: %sV -You_can't_place_this_block_at_this_side=Der Block kann an dieser Seite nicht platziert werden +eln:# +eln: +eln:# ./src/main/java/mods/eln/Achievements.java +eln:Electrical_Age_[WIP]=Electrical Age [WIP] +eln:achievement.craft_50v_macerator=Zerkleinerungsanfänger +eln:achievement.craft_50v_macerator.desc=Baue einen 50V Zerkleinerer +eln:achievement.open_guide=Wiki Kraft +eln:achievement.open_guide.desc=Öffne das Electrical Age Wiki +eln: +eln:# ./src/main/java/mods/eln/Eln.java +eln:10A_Diode.name=10A Diode +eln:200V_Active_Thermal_Dissipator.name=200V aktiver Kühlkörper +eln:200V_Battery_Charger.name=200V Batterieladegerät +eln:200V_Compressor.name=200V Presse +eln:200V_Condensator.name=200V Kondensator +eln:200V_Copper_Heating_Corp.name=200V Heizkörper aus Kupfer +eln:200V_Economic_Light_Bulb.name=200V Energiesparlampe +eln:200V_Farming_Lamp.name=200V Stalllampe +eln:200V_Fuel_Generator.name=200V Benzin-Generator +eln:200V_Incandescent_Light_Bulb.name=200V Glühbirne +eln:200V_Iron_Heating_Corp.name=200V Heizkörper aus Eisen +eln:200V_LED_Bulb.name=200V LED Lampe +eln:200V_Macerator.name=200V Zerkleinerer +eln:200V_Magnetizer.name=200V Magnetisier-Maschine +eln:200V_Plate_Machine.name=200V Blechpresse +eln:200V_Power_Socket.name=200V Steckdose +eln:200V_Tungsten_Heating_Corp.name=200V Heizkörper aus Wolfram +eln:200V_Turbine.name=200V Turbine +eln:25A_Diode.name=25A Diode +eln:50V_Battery_Charger.name=50V Batterieladegerät +eln:50V_Carbon_Incandescent_Light_Bulb.name=50V Glühbirne +eln:50V_Compressor.name=50V Presse +eln:50V_Condensator.name=50V Kondensator +eln:50V_Copper_Heating_Corp.name=50V Heizkörper aus Kupfer +eln:50V_Economic_Light_Bulb.name=50V Energiesparlampe +eln:50V_Egg_Incubator.name=50V Eibrutkasten +eln:50V_Farming_Lamp.name=50V Stalllampe +eln:50V_Fuel_Generator.name=50V Benzin-Generator +eln:50V_Incandescent_Light_Bulb.name=50V Glühbirne +eln:50V_Iron_Heating_Corp.name=50V Heizkörper aus Eisen +eln:50V_LED_Bulb.name=50V LED Lampe +eln:50V_Macerator.name=50V Zerkleinerer +eln:50V_Magnetizer.name=50V Magnetisier-Maschine +eln:50V_Plate_Machine.name=50V Blechpresse +eln:50V_Power_Socket.name=50V Steckdose +eln:50V_Tungsten_Heating_Corp.name=50V Heizkörper aus Wolfram +eln:50V_Turbine.name=50V Turbine +eln:800V_Defence_Turret.name=800V Verteidigungsgeschützturm +eln:AND_Chip.name=AND Mikrochip +eln:Advanced_Chip.name=Fortschrittlicher Microchip +eln:Advanced_Electrical_Motor.name=Fortschrittlicher Motor +eln:Advanced_Energy_Meter.name=Fortschrittlicher Energiezähler +eln:Advanced_Machine_Block.name=Fortschrittlicher Maschinenblock +eln:Advanced_Magnet.name=Starker Magnet +eln:AllMeter.name=Universalmeter +eln:Alloy_Dust.name=Leichtmetallstaub +eln:Alloy_Ingot.name=Leichtmetallbarren +eln:Alloy_Plate.name=Leichtmetallplatte +eln:Analog_Watch.name=Wanduhr +eln:Analog_vuMeter.name=Analoge Anzeige +eln:Analogic_Regulator.name=Analoger Regler +eln:Animal_Filter.name=Tierfilter +eln:Auto_Miner.name=Autonome Abbaumaschine +eln:Average_Electrical_Drill.name=Durchschnittlicher elektrischer Bohrer +eln:Average_Ferromagnetic_Core.name=Durchschnittlicher ferro-magnetischer Kern +eln:Basic_Magnet.name=Einfacher Magnet +eln:Black_Brush.name=Schwarzer Pinsel +eln:Blue_Brush.name=Blauer Pinsel +eln:Brown_Brush.name=Brauner Pinsel +eln:Capacity_Oriented_Battery.name=Kapazitätsorientierte Batterie +eln:Cheap_Chip.name=Einfacher Microchip +eln:Cheap_Electrical_Drill.name=Einfacher elektrischer Bohrer +eln:Cheap_Ferromagnetic_Core.name=Einfacher ferro-magnetischer Kern +eln:Cinnabar_Dust.name=Zinnstaub +eln:Cinnabar_Ore.name=Zinnerz +eln:Coal_Dust.name=Kohle-Staub +eln:Coal_Plate.name=Kohleplatte +eln:Combustion_Chamber.name=Brennkammer +eln:Copper_Cable.name=Kupferkabel +eln:Copper_Dust.name=Kupferstaub +eln:Copper_Ingot.name=Kupferbarren +eln:Copper_Ore.name=Kupfererz +eln:Copper_Plate.name=Kupferplatte +eln:Copper_Thermal_Cable.name=Thermischer Leiter aus Kupfer +eln:Cost_Oriented_Battery.name=Günstige Batterie +eln:Current_Oriented_Battery.name=Hochstrom Batterie +eln:Cyan_Brush.name=Zyan Pinsel +eln:D_Flip_Flop_Chip.name=D Flip-Flop Mikrochip +eln:Data_Logger.name=Datenlogger +eln:Data_Logger_Print.name=Datenlogger-Ausdruck +eln:Dielectric.name=Dielektrikum +eln:Digital_Watch.name=Digitale Wanduhr +eln:Electrical_Anemometer_Sensor.name=Elektrisches Anemometer +eln:Electrical_Breaker.name=Trennschalter +eln:Electrical_Daylight_Sensor.name=Elektrischer Tageslichtsensor +eln:Electrical_Entity_Sensor.name=Elektrischer Präsenzdetektor +eln:Electrical_Fire_Detector.name=Elektrischer Brandmelder +eln:Electrical_Furnace.name=Elektrischer Ofen +eln:Electrical_Light_Sensor.name=Elektrischer Lichtsensor +eln:Electrical_Motor.name=Elektrischer Motor +eln:Electrical_Probe.name=Elektrischer Sensor +eln:Electrical_Probe_Chip.name=Elektrischer Sensor-Chip +eln:Electrical_Source.name=Elektrische Spannungsquelle +eln:Electrical_Timer.name=Elektrischer Timer +eln:Electrical_Weather_Sensor.name=Elektrischer Wettersensor +eln:Electrical_age_wrench,\nCan_be_used_to_turn\nsmall_wall_blocks=Electrical Age Schraubschlüssel\nKann benutzt werden um kleine\nWand-Blöcke zu drehen +eln:Energy_Meter.name=Energiezähler +eln:Experimental_Transporter.name=Experimenteller Transporter +eln:Fast_Electrical_Drill.name=Schneller elektrischer Bohrer +eln:Ferrite_Ingot.name=Ferritbarren +eln:Flat_Lamp_Socket.name=Flacher Lampensockel +eln:Fluorescent_Lamp_Socket.name=Leuchtstoffsockel +eln:Generator.name=Generator +eln:Gold_Dust.name=Goldstaub +eln:Gold_Plate.name=Goldplatte +eln:Gray_Brush.name=Grauer Pinsel +eln:Green_Brush.name=Grüner Pinsel +eln:Ground_Cable.name=Erdungskabel +eln:High_Power_Receiver_Antenna.name=Empfangsantenne für hohe Leistungen +eln:High_Power_Transmitter_Antenna.name=Sendeantenne für hohe Leistungen +eln:High_Voltage_Cable.name=Hochspannungskabel +eln:High_Voltage_Relay.name=Hochspannungsrelais +eln:High_Voltage_Switch.name=Hochspannungsschalter +eln:Hub.name=Hub +eln:Industrial_Data_Logger.name=Industrieller Datenlogger +eln:Iron_Cable.name=Eisenkabel +eln:Iron_Dust.name=Eisenstaub +eln:Iron_Plate.name=Eisenplatte +eln:JK_Flip_Flop_Chip.name=JK Flip-Flop Mikrochip +eln:LED_vuMeter.name=LED-Anzeige +eln:Lamp_Socket_A.name=Lampenfassung Model A +eln:Lamp_Socket_B_Projector.name=Spotlampe Model B +eln:Lamp_Supply.name=Lampen-Verteilschrank +eln:Large_Rheostat.name=Grosser Regelwiderstand +eln:Lead_Dust.name=Bleistaub +eln:Lead_Ingot.name=Bleibarren +eln:Lead_Ore.name=Bleierz +eln:Lead_Plate.name=Bleiplatte +eln:Life_Oriented_Battery.name=Langlebige Batterie +eln:Light_Blue_Brush.name=Hellblauer Pinsel +eln:Lime_Brush.name=hellgrüner Pinsel +eln:Long_Suspended_Lamp_Socket.name=Lange Hängelampe +eln:Low_Power_Receiver_Antenna.name=Empfängerantenne für kleine Leistungen +eln:Low_Power_Transmitter_Antenna.name=Übertragunsantenne für kleine Leistungen +eln:Low_Voltage_Cable.name=Niederspannungskabel +eln:Low_Voltage_Relay.name=Niederspannugsrelais +eln:Low_Voltage_Switch.name=Niederspannungsschalter +eln:Machine_Block.name=Maschinenblock +eln:Machine_Booster.name=Maschinenbeschleuniger +eln:Magenta_Brush.name=Magenta Pinsel +eln:Medium_Power_Receiver_Antenna.name=Empfangsantenne für mittlere Leistungen +eln:Medium_Power_Transmitter_Antenna.name=Übertragunsantenne für mittlere Leistungen +eln:Medium_Voltage_Cable.name=Mittelspannungskabel +eln:Medium_Voltage_Relay.name=Mittelspannungsrelais +eln:Medium_Voltage_Switch.name=Mittelspannungsschalter +eln:Mercury.name=Quecksilber +eln:Mining_Pipe.name=Bohrstange +eln:Modbus_RTU.name=Modbus RTU +eln:Modern_Data_Logger.name=Moderner Datenlogger +eln:Monster_Filter.name=Monsterfilter +eln:MultiMeter.name=Multimeter +eln:NAND_Chip.name=NAND Mikrochip +eln:NOR_Chip.name=NOR Mikrochip +eln:NOT_Chip.name=NOT Mikrochip +eln:Nuclear_Alarm.name=Nuklearer Alarm +eln:OR_Chip.name=OR Mikrochip +eln:On_OFF_Regulator_10_Percent.name=Zweipunktregler 10% +eln:On_OFF_Regulator_1_Percent.name=Zweipunktregler 1% +eln:Optimal_Ferromagnetic_Core.name=Optimaler ferro-magnetischer Kern +eln:Orange_Brush.name=Oranger Pinsel +eln:Ore_Scanner.name=Erzdetektor +eln:Oscillator_Chip.name=Oszillator Mikrochip +eln:Overheating_Protection.name=Überhitzschutz +eln:Overvoltage_Protection.name=Überspannungsschutz +eln:PAL_Chip.name=PAL Mikrochip +eln:Pink_Brush.name=Pinker Pinsel +eln:Player_Filter.name=Spielerfilter +eln:Portable_Battery.name=Tragbare Batterie +eln:Portable_Battery_Pack.name=Tragbares Batterie-Pack +eln:Portable_Condensator.name=Tragbarer Kondensator +eln:Portable_Condensator_Pack.name=Tragbares Kondensator-Pack +eln:Portable_Electrical_Axe.name=Tragbare elektrische Axt +eln:Portable_Electrical_Mining_Drill.name=Tragbarer elektrischer Steinbohrer +eln:Power_Capacitor.name=Leistungskondensator +eln:Power_Inductor.name=Leistungsspule +eln:Power_Resistor.name=Leistungswiderstand +eln:Power_capacitor.name=Leistungskondensator +eln:Power_inductor.name=Leistungsspule +eln:Purple_Brush.name=Purpurner Pinsel +eln:Red_Brush.name=Roter Pinsel +eln:Redstone-to-Voltage_Converter.name=Redstone zu Spannung Konverter +eln:Rheostat.name=Stellwiderstand +eln:Robust_Lamp_Socket.name=Robuste Lampenfassung +eln:Rubber.name=Gummi +eln:Schmitt_Trigger_Chip.name=Schmitt-Trigger Mikrochip +eln:Sconce_Lamp_Socket.name=Wandlampensockel +eln:Signal_20H_inductor.name=20H Signalspule +eln:Signal_Antenna.name=Signalantenne +eln:Signal_Button.name=Signaltaster +eln:Signal_Cable.name=Signalkabel +eln:Signal_Diode.name=Signaldiode +eln:Signal_Processor.name=Signalverabeitungseinheit +eln:Signal_Relay.name=Signalrelais +eln:Signal_Source.name=Signalquelle +eln:Signal_Switch.name=Signalschalter +eln:Signal_Switch_with_LED.name=Signalschalter mit LED +eln:Signal_Trimmer.name=Potentiometer +eln:Silicon_Dust.name=Silikonstaub +eln:Silicon_Ingot.name=Silikonbarren +eln:Silicon_Plate.name=Silikonplatte +eln:Silver_Brush.name=Silberner Pinsel +eln:Simple_Lamp_Socket.name=Einfache Lampenfassung +eln:Single-use_Battery.name=Einwegbatterie +eln:Small_200V_Copper_Heating_Corp.name=Kleiner 200V Heizkörper aus Kupfer +eln:Small_200V_Iron_Heating_Corp.name=Kleiner 200V Heizkörper aus Eisen +eln:Small_200V_Tungsten_Heating_Corp.name=Kleiner 200V Heizkörper aus Wolfram +eln:Small_50V_Carbon_Incandescent_Light_Bulb.name=Kleine 50V Glühbirne +eln:Small_50V_Copper_Heating_Corp.name=Kleiner 50V Heizkörper aus Kupfer +eln:Small_50V_Economic_Light_Bulb.name=Kleine 50V Energiesparlampe +eln:Small_50V_Incandescent_Light_Bulb.name=Kleine 50V Glühbirne +eln:Small_50V_Iron_Heating_Corp.name=Kleiner 50V Heizkörper aus Eisen +eln:Small_50V_Tungsten_Heating_Corp.name=Kleiner 50V Heizkörper aus Wolfram +eln:Small_Active_Thermal_Dissipator.name=50V aktiver Kühlkörper +eln:Small_Flashlight.name=Taschenlampe +eln:Small_Passive_Thermal_Dissipator.name=Kleiner passiver Kühlkörper +eln:Small_Rotating_Solar_Panel.name=Kleiner richtbares Solarpanel +eln:Small_Solar_Panel.name=Kleines Solarpanel +eln:Solar_Tracker.name=Sonnenverfolger +eln:Standard_Alarm.name=Standardalarm +eln:Steam_Turbine.name=Dampfturbine +eln:Stone_Heat_Furnace.name=Steinofen +eln:Street_Light.name=Strassenlampe +eln:Suspended_Lamp_Socket.name=Hängelampe +eln:Temperature_Probe.name=Temperatursensor +eln:Thermal_Probe.name=Wärmesensor +eln:Thermal_Probe_Chip.name=Thermischer Sensor-Chip +eln:Thermistor.name=Heissleiter +eln:ThermoMeter.name=Thermometer +eln:Transformer.name=DC/DC-Wander +eln:Tree_Resin.name=Baumharz +eln:Tree_Resin_Collector.name=Baumharzsammler +eln:Tungsten_Cable.name=Wollframkabel +eln:Tungsten_Dust.name=Wolframstaub +eln:Tungsten_Ingot.name=Wolframbarren +eln:Tungsten_Ore.name=Wolframerz +eln:Tutorial_Sign.name=Hinweis-Beacon +eln:Very_High_Voltage_Cable.name=Höchstspannungskabel +eln:Very_High_Voltage_Relay.name=Höchstspannungsrelais +eln:Very_High_Voltage_Switch.name=Höchstspannungsschalter +eln:Voltage-to-Redstone_Converter.name=Spannung zu Redstone Konverter +eln:Voltage_Oriented_Battery.name=Spannungsoptimierte Batterie +eln:Voltage_Probe.name=Spannungssensor +eln:Water_Turbine.name=Wasserrad +eln:Weak_50V_Battery_Charger.name=Schwaches 50V Batterieladegerät +eln:White_Brush.name=Weisser Pinsel +eln:Wind_Turbine.name=Windturbine +eln:Wireless_Analyser.name=Funk-Prüfgerät +eln:Wireless_Button.name=Funktaster +eln:Wireless_Signal_Receiver.name=Funkempfänger +eln:Wireless_Signal_Repeater.name=Funksignalverstärker +eln:Wireless_Signal_Transmitter.name=Funksender +eln:Wireless_Switch.name=Funkschalter +eln:Wrench.name=Schraubenschlüssel +eln:X-Ray_Scanner.name=Röntgen-Strahlen Scanner +eln:XNOR_Chip.name=XNOR Mikrochip +eln:XOR_Chip.name=XOR Mikrochip +eln:Yellow_Brush.name=Gelber Pinsel +eln:entity.EAReplicator.name=Replikator +eln:item.Copper Kupferaxt +eln:item.Copper Kupferaxt +eln:item.Copper Kupferaxt +eln:item.Copper Kupferaxt +eln:item.Copper Kupferaxt +eln:item.Copper Kupferaxt +eln:item.Copper Kupferaxt +eln:item.Copper Kupferaxt +eln:item.Copper Kupferaxt +eln:item.E-Coal Elektrokohlestiefel +eln:item.E-Coal Elektrokohlestiefel +eln:item.E-Coal Elektrokohlestiefel +eln:item.E-Coal Elektrokohlestiefel +eln:itemGroup.Eln=Electrical Age +eln:mod.meta.desc=Elektrizität in deiner Welt\! +eln:tile.eln.ElnProbe.name=Electrical Age Computerinterface +eln:tile.eln.EnergyConverterElnToOtherHVUBlock.name=800V Electrical Age Energie-Exporter +eln:tile.eln.EnergyConverterElnToOtherLVUBlock.name=50V Electrical Age Energie-Exporter +eln:tile.eln.EnergyConverterElnToOtherMVUBlock.name=200V Electrical Age Energie-Exporter +eln: +eln:# ./src/main/java/mods/eln/i18n/I18N.java +eln:You_have_%s_lives_left=Ihnen bleibt %s Leben +eln: +eln:# ./src/main/java/mods/eln/item/BrushDescriptor.java +eln:Brush_is_dry=Pinsel ist trocken +eln:Can_paint_%s_blocks=Kann %s Blöcke einfärben +eln: +eln:# ./src/main/java/mods/eln/item/CombustionChamber.java +eln:Upgrade_for_the_Stone_Heat_Furnace.=Verbesserung für den Steinofen +eln: +eln:# ./src/main/java/mods/eln/item/ElectricalDrillDescriptor.java +eln:Energy_per_operation\:_%sJ=Energie pro Operation\: %sJ +eln:Time_per_operation\:_%ss=Zeit pro Operation\: %ss +eln: +eln:# ./src/main/java/mods/eln/item/FerromagneticCoreDescriptor.java +eln:Cable_loss_factor\:_%s=Verlustfaktor\: %s +eln: +eln:# ./src/main/java/mods/eln/item/HeatingCorpElement.java +eln: +eln:# ./src/main/java/mods/eln/item/LampDescriptor.java +eln:Bad=Schlecht +eln:Condition\:=Zustand\: +eln:End_of_life=Lebensende +eln:Good=Gut +eln:New=Neu +eln:Nominal_lifetime\:_%sh=Normale Lebensdauer\: %sh +eln:Technology\:_%s=Technonogie\: %s +eln:Used=Gebraucht +eln: +eln:# ./src/main/java/mods/eln/item/LampSlot.java +eln:Lamp_slot=Lampenslot +eln: +eln:# ./src/main/java/mods/eln/item/OverHeatingProtectionDescriptor.java +eln:Useful_to_prevent_overheating\nof_Batteries=Nützlich um die Überhitzung\nvon Batterien zu vermeiden +eln: +eln:# ./src/main/java/mods/eln/item/OverVoltageProtectionDescriptor.java +eln:Useful_to_prevent_over-voltage\nof_Batteries=Nützlich um Überspannungen\nan Batterien zu verhindern +eln: +eln:# ./src/main/java/mods/eln/item/SolarTrackerDescriptor.java +eln:Solar_panel_upgrade=Solarpanelerweiterung +eln: +eln:# ./src/main/java/mods/eln/item/electricalitem/BatteryItem.java +eln: +eln:# ./src/main/java/mods/eln/item/electricalitem/ElectricalLampItem.java +eln:Off=aus +eln:On=ein +eln:State\:=Zustand\: +eln:Stored_Energy\:_%sJ_(%s)=Gespeicherte Energy %sJ (%s) +eln: +eln:# ./src/main/java/mods/eln/item/regulator/RegulatorSlot.java +eln: +eln:# ./src/main/java/mods/eln/misc/UtilsClient.java +eln:Hold_shift=Shift drücken +eln: +eln:# ./src/main/java/mods/eln/misc/Version.java +eln:mod.name=Electrical Age +eln: +eln:# ./src/main/java/mods/eln/node/six/SixNodeDescriptor.java +eln: +eln:# ./src/main/java/mods/eln/simplenode/energyconverter/EnergyConverterElnToOtherGui.java +eln:Input_power_is_limited_to_%sW=Eingangsleistung ist auf %sW limitiert +eln: +eln:# ./src/main/java/mods/eln/sixnode/LogicGate.kt +eln:_O\:_= O\: +eln: +eln:# ./src/main/java/mods/eln/sixnode/TreeResinCollector/TreeResinCollectorDescriptor.java +eln:Produces_Tree_Resin_over\ntime_when_put_on_a_tree.=An einem Baum befestigt kann\ndamit Harz gewonnen werden. +eln:This_block_can_only_be_placed_on_the_side_of_a_tree!=Dieser Block kann nur an einem Baum befestigt werden\! +eln: +eln:# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerContainer.java +eln:Battery_slot=Batterieslot +eln: +eln:# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerDescriptor.java +eln:Can_be_used_to_recharge\nelectrical_items_like\:\nFlash_Light,_X-Ray_scanner\nand_Portable_Battery_...=Zum Wiederaufladen von\nelektrischen Teilen wie\:\nTaschenlampe, Rönten-Scanner\nund tragabaren Batterien... +eln: +eln:# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerGui.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/diode/DiodeDescriptor.java +eln:Electrical_current_can_only\nflow_through_the_diode\nfrom_anode_to_cathode=Der elektrische Strom kann \nnur in Richtung Anode zu\nKathode fliessen +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalalarm/ElectricalAlarmDescriptor.java +eln:= +eln:Emits_an_acoustic_alarm_if\nthe_input_signal_is_high=Erzeugt einen akkustischen Alarm\nwenn das Einganssignal wahr ist +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalalarm/ElectricalAlarmGui.java +eln:Sound_is_muted=Ton ist stumm +eln:Sound_is_not_muted=Ton ist nicht stumm +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerContainer.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerDescriptor.java +eln:Protects_electrical_components\nOpens_contact_if\:\n__-_Voltage_exceeds_a_certain_level\n-_Current_exceeds_the_cable_limit=Schützt elektrische Komponenten\nÖffnet Kontakt falls\:\n- Die Spannung eine Schwelle übersteigt\n- Der Strom die Kabelkapazität übersteigt +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerGui.java +eln:Maximum_voltage_before_cutting_off=Maximale Spannung bevor Unterbruch +eln:Minimum_voltage_before_cutting_off=Minimale Spannung bevor Unterbruch +eln:Switch_is_off=Schalter is aus +eln:Switch_is_on=Schalter ist ein +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalcable/ElectricalCableDescriptor.java +eln:A_signal_is_electrical_information\nwhich_must_be_between_0V_and_%sV=Ein Signal ist eine elektrische information\nwelche zwischen 0V und %sV kodiert ist +eln:Cable_is_adapted_to_conduct\nelectrical_signals.=Kabel ist optimiert elektrische\nSignale zu leiten +eln:Current\:_%sA=Stromstärke\: %sA +eln:Not_adapted_to_transport_power.=Nicht zum Transportieren von Leistung geeignet. +eln:Save_usage\:=Sicherer Gebrauch\: +eln:Serial_resistance\:_%sΩ=Serieller Widerstand\: %sΩ +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerDescriptor.java +eln:It_can_store_up_to_256_points.=Bis zu 256 Werte werden gespeichert. +eln:Measures_the_voltage_of_an\nelectrical_signal_and_plots\nthe_data_in_real_time.=Misst die Spannung eines\nelektrischen Signals und\nstellt dieses in Echtzeit dar. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerGui.java +eln:Back_to_display=Zurück zur Anzeige +eln:Configuration=Konfiguration +eln:Current_[A]=Strom [A] +eln:Energy_[J]=Energie [J] +eln:Percent_[-]%=Prozent [-]% +eln:Power_[W]=Leistung [W] +eln:Print=Ausdruck +eln:Sampling_period=Abtastperiode +eln:Temp._[*C]=Temp. [*C] +eln:Voltage_[V]=Spannung [V] +eln:Y-axis_max=Y-Achse max +eln:Y-axis_min=Y-Achse min +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorContainer.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorDescriptor.java +eln:Output_voltage_increases\nif_entities_are_moving_around.=Die Ausgangsspannung steigt\nbei Anwesenheit von Wesen an +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalfiredetector/ElectricalFireDetectorDescriptor.java +eln:Output_voltage_increases\nif_a_fire_has_been_detected.=Die Ausgangsspannung steigt an\nfalls Feuer detektiert wird. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceDescriptor.java +eln:Provides_configurable_signal\nvoltage.=Stellt eine konfigurierbare\nSignalspannung bereit. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceGui.java +eln:Output_at_%s=Ausgang bei %s +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricallightsensor/ElectricalLightSensorDescriptor.java +eln:0V_at_night,_%sV_at_noon.=0V bei Nacht, %sV am Mittag. +eln:Provides_an_electrical_voltage\nin_the_presence_of_light.=Ist Licht vorhanden, so wird eine\nelektrische Spannung geliefert. +eln:Provides_an_electrical_voltage\nwhich_is_proportional_to\nthe_intensity_of_daylight.=Liefert eine elektrische Spannung\nwelche proportional zur Intensität\ndes Tageslicht ist +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathContainer.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathDescriptor.java +eln:Applicable_boolean_operators\:=Mögliche boolsche O +eln:Applicable_functions\:=Verwendbare Funktionen +eln:Applicable_mathematical_operators\:=Mögliche mathematische Operationen +eln:Calculates_an_output_signal_from\n3_inputs_(A,_B,_C)_using_an_equation.=Berechnet ein Ausgangssignal aus 3 \nEingängen (A, B, C) mit Hilfe einer Formel. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathGui.java +eln:%s_Redstone(s)_required=%s Redstone werden benötigt +eln:Equation_required!=Formel benötigt\! +eln:Inputs_are=Eingänge sind +eln:Invalid_equation!=Fehlerhafte Formel\! +eln:Output_voltage_formula=Ausgangsspannungs-Formel +eln:Waiting_for_completion...=Warte auf beenden... +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalredstoneinput/ElectricalRedstoneInputDescriptor.java +eln:Converts_Redstone_signal\nto_an_electrical_voltage.=Konvertiert ein Redstone-Signal\nzu einer elektrische Spannung. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalredstoneoutput/ElectricalRedstoneOutputDescriptor.java +eln:Converts_electrical_voltage\ninto_a_Redstone_signal.=Konvertiert eine elektrische \nSpannung zu einem Redstone-Signal. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalrelay/ElectricalRelayDescriptor.java +eln:A_relay_is_an_electrical\ncontact_that_conducts_electric\ncurrent_or_not,_depending\nthe_actual_input_signal_voltage.=Ein Relais ist ein elektrischer\nKontakt welcher Strom leitet \noder nicht, je nach der aktuell\nangelegten Signalspannung. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalrelay/ElectricalRelayGui.java +eln:Normally_closed=Öffner +eln:Normally_open=Schliesser +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalsource/ElectricalSourceDescriptor.java +eln:Creative_block.=Creativer Block. +eln:Provides_an_ideal_voltage_source\nwithout_energy_or_power_limitation.=Repräsentiert eine ideale Spannungsqueulle\nohne Energie- oder Leistungsbegrenzung. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalsource/ElectricalSourceGui.java +eln:Output_voltage=Ausgangsspannung +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalswitch/ElectricalSwitchDescriptor.java +eln:Can_break_an_electrical_circuit\ninterrupting_the_current.=Kann einen elektrischen \nStromkreis unterbrechen. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricaltimeout/ElectricalTimeoutDescriptor.java +eln:Upon_application_of_a_high_signal,\nthe_timer_maintains_the_output_high_for\na_configurable_interval._Can_be_re-triggered.=Wird ein high signal angelegt, so hält\nder Timer den Ausgang für ein konfigurierbares\nInterval auf high. Kann neu ausgelöst werden. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricaltimeout/ElectricalTimeoutGui.java +eln:Set=Setze +eln:The_time_interval_the\noutput_is_kept_high.=Das Interval während dem der\nAusgang auf high gehalten wird. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalvumeter/ElectricalVuMeterDescriptor.java +eln:Displays_the_value_of_a_signal.=Zeigt den aktuellen Wert eines Signals. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalwatch/ElectricalWatchContainer.java +eln:Portable_battery_slot=Tragbare Batterie-Slot +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalweathersensor/ElectricalWeatherSensorDescriptor.java +eln:Clear\:_%sV=Klar\: %sV +eln:Provides_an_electrical_signal\ndepending_the_actual_weather.=Liefert eine elektrisches Signal\nabhängig vom aktuellen Wetter. +eln:Rain\:_%sV=Regen\: %sV +eln:Storm\:_%sV=Sturm\: %sV +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalwindsensor/ElectricalWindSensorDescriptor.java +eln:Maximum_wind_speed_is_%sm_s=Maximale Windgeschwindigkeit ist %sm/s +eln:Provides_an_electrical_signal\ndependant_on_wind_speed.=Liefert ein elektrisches Singal\nabhängig von der Windgeschwindigkeit. +eln:You_can't_place_this_block_on_the_floor_or_the_ceiling=Der Block kann nicht auf dem Boden oder an der Decke platziert werden +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricasensor/ElectricalSensorDescriptor.java +eln:Can_measure_Voltage_Power_Current=Kann Spannung/Leistung/Strom messen +eln:Measures_electrical_values_on_cables.=Misst elektrische Grössen an Kabeln. +eln:Measures_voltage_on_cables.=Miss Spannung an Kabeln. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricasensor/ElectricalSensorGui.java +eln:Current=Strom +eln:Measured_voltage\ncorresponding\nto_0%_output=Gemessene Spannung\nwelcher einem Ausgangswert\nvon 0% entspricht. +eln:Measured_voltage\ncorresponding\nto_100%_output=Gemessene Spannung\nwelcher einem Ausgangswert\nvon 100% entspricht. +eln:Voltage=Spannung +eln: +eln:# ./src/main/java/mods/eln/sixnode/energymeter/EnergyMeterGui.java +eln:Change_password=Passwort ändern +eln:Counter_Mode=Zählermodus +eln:Counts_the_energy_conducted_from\n\u00a74red\u00a7f_to_\u00a71blue\u00a7f.=Zählt die Energy welche von\n\\u00a74Rot\\u00a7f zu \\u00a71Blua\\u00a7f fliesst. +eln:Energy_counter\:_%sJ=Energiezähler\: %sJ +eln:Enter_new_energy=Neue Energie eingeben +eln:Enter_password=Passwort eingeben +eln:Prepay_Mode=Prepay-Modus +eln:Reset_time_counter=Zeitzähler zurücksetzen +eln:Set_energy_counter=Energiezähler setzen +eln:Time_counter\:=Zeitzähler\: +eln:Try_password=Passwort testen +eln:You_can_set_an_initial\namount_of_available_energy.\nWhen_the_counter_arrives_at_0\nthe_contact_will_be_opened.=Die Menge verfügbarer Energie \nkann konfiguriert werden. \nSobald der Zähler 0 erreicht, wird \nder Ausgangskontakt geöffnet. +eln:is_off=ist aus +eln:is_on=ist ein +eln:value_in_kJ=Wert in kJ +eln: +eln:# ./src/main/java/mods/eln/sixnode/groundcable/GroundCableDescriptor.java +eln:Can_be_used_to_set_a_point_of_an\nelectrical_network_to_0V_potential.\nFor_example_to_ground_negative_battery_contacts.=Kann verwendet werden um einen Punkt \nin einem elektrischen Netzwerk auf ein \n0-Potential zu bringen. z.B. können die \nnegativen Kontakte einer Batterie geerdet werden. +eln:Provides_a_zero_volt_reference.=Liefert eine Null-Volt-Referenz. +eln: +eln:# ./src/main/java/mods/eln/sixnode/hub/HubDescriptor.java +eln:Allows_crossing_cables\non_one_single_block.=Ermöglicht das Kreuzen von\nKabeln auf einem Block. +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketDescriptor.java +eln:Angle\:_%s°_to_%s°=Winkel\: %s° bis %s° +eln:Spot_range\:_%s_blocks=Reichweite\: %s Blöcke +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketGuiDraw.java +eln:%s_is_not_in_range!=%s ist nicht in Reichweite\! +eln:Cable_slot_empty=Kabel-Slot leer +eln:Orientation\:_%s°=Richtung\: %s° +eln:Parallel=Parallel +eln:Powered_by_Lamp_Supply=Durch Lampenverteiler gespiesen +eln:Powered_by_cable=Durch Kabel gespiesen +eln:Serial=Seriell +eln:Specify_the_supply_channel=Speisekanal angeben +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyContainer.java +eln:Electrical_cable_slot\nBase_range_is_32_blocks.\nEach_additional_cable\nincreases_range_by_one.=Elektrischer Kabel-Slot\nGrundreichweite ist 32 Blöcke.\nFür jedes zusätzliche Kabel wird\ndiese um einen Block erhöht. +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyDescriptor.java +eln:Supplies_all_lamps_on_the_channel.=Speist alle Lampen des Kanals. +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyGui.java +eln:Power_channel_name=Speisekanalname +eln:Wireless_channel_name=Funkkanal-Name +eln: +eln:# ./src/main/java/mods/eln/sixnode/modbusrtu/ModbusRtuGui.java +eln:Add=Hinzufügen +eln:Channel_name=Kanalname +eln:Modbus_ID=Modbus ID +eln:Modbus_RTU=Modbus RTU +eln:Station_ID=Stations ID +eln:Station_name=Stationsname +eln:Wireless_RX=Funkempfang +eln:Wireless_TX=Funksender +eln: +eln:# ./src/main/java/mods/eln/sixnode/powercapacitorsix/PowerCapacitorSixContainer.java +eln:(Increases_maximum_voltage)=(Erhöht die maximale Spannung) +eln: +eln:# ./src/main/java/mods/eln/sixnode/powercapacitorsix/PowerCapacitorSixGui.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/powerinductorsix/PowerInductorSixContainer.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/powerinductorsix/PowerInductorSixGui.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/powersocket/PowerSocketDescriptor.java +eln:Supplies_any_device\nplugged_in_with_energy.=Speist eingesteckte Geräte\nmit elektrischer Energie. +eln: +eln:# ./src/main/java/mods/eln/sixnode/powersocket/PowerSocketGui.java +eln:Specify_the_device_to_supply_through_this_socket.=Gib an, welches Gerät an diese Steckdose angeschlossen ist. +eln: +eln:# ./src/main/java/mods/eln/sixnode/resistor/ResistorContainer.java +eln:(Sets_resistance)=(Bestimmt den Widerstand) +eln:Coal_dust_slot=Kohlestaub-Slot +eln: +eln:# ./src/main/java/mods/eln/sixnode/thermalcable/ThermalCableDescriptor.java +eln:High_parallel_resistance\n_\=>_Low_power_dissipation.=Hoher Parallelwiderstand\n \=> keiner Wärmeverlust. +eln:Low_serial_resistance\n_\=>_High_conductivity.=kleiner Seriewiderstand\n \=> gute Leitfähigkeit. +eln:Parallel_resistance\:_%sK_W=Parallelwiderstand\: %sK/W +eln:Serial_resistance\:_%sK_W=Seriewiderstand\: %sK/W +eln: +eln:# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorContainer.java +eln:Cable_slot=Kabelslot +eln: +eln:# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorDescriptor.java +eln:Can_measure\:=Misst\: +eln:Measures_temperature_of_cables.=Misst die Temperatur von Kabeln. +eln:Measures_thermal_values_on_cables.=Misst thermische Werte eines Kabels. +eln:__Temperature_Power_conducted=Temperatur/Wärmeleistung +eln: +eln:# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorGui.java +eln:Measured_temperature\ncorresponding\nto_0%_output=Gemessene Temperatur\nwelche einem Ausgangswert\nvon 0% entspricht +eln:Measured_temperature\ncorresponding\nto_100%_output=Gemessene Temperatur\nwelche einem Ausgangswert\nvon 100% entspricht +eln:Temperature=Temperatur +eln: +eln:# ./src/main/java/mods/eln/sixnode/tutorialsign/TutorialSignElement.java +eln:No_text_associated_to_this_beacon=Diesem Beacon wurde kein Text zugewiesen +eln: +eln:# ./src/main/java/mods/eln/sixnode/tutorialsign/TutorialSignGui.java +eln:Set_beacon_name=Beaconname setzen +eln: +eln:# ./src/main/java/mods/eln/sixnode/wirelesssignal/rx/WirelessSignalRxGui.java +eln: +eln:# ./src/main/java/mods/eln/transparentnode/FuelGenerator.kt +eln:Nominal_power\:_%s_W=Nominale Leistung\: %s W +eln:Nominal_voltage\:_%s_V=Nominale Spannung %s V +eln:Produces_electricity_using_fuel.=Produziert Elektrizität mittels Treibstoff. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/LargeRheostat.kt +eln:Nom._Resistance\:_%s=Nom. Widerstand\: %s +eln: +eln:# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerContainer.java +eln:Drill_slot=Bohrerslot +eln:Mining_pipe_slot=Bohrstangen-Slot +eln:Ore_scanner_slot=Erzdetektor-Slot +eln: +eln:# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerDescriptor.java +eln:Excavates_on_a_small_radius.\nExtracts_ore_on_a_bigger_radius\:\n10_blocks_radius_after_10_blocks_depth.=Gräbt aus einem kleinen Loch.\nBaut aus einem grösseren Radius ab.\nDer Radius beträgt 10 Blöcke ab einer \nTiefe von einem Block. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerGuiDraw.java +eln:Chest_missing_on_the\nback_of_the_auto_miner!=Kiste auf der Rückseite der \nautonomen Abbaumaschine fehlt\! +eln:Halves_speed,_triples_power_draw=Halbiert Geschwindigkeit, verdreifacht Leistungsaufnahme +eln:Silk_Touch_Off=Silk Touch aus +eln:Silk_Touch_On=Silk Touch an +eln:Silk_touch=Silk Touch +eln: +eln:# ./src/main/java/mods/eln/transparentnode/battery/BatteryContainer.java +eln:Overheating_protection=Überhitzschutz +eln:Overvoltage_protection=Überspannungsschutz +eln: +eln:# ./src/main/java/mods/eln/transparentnode/battery/BatteryDescriptor.java +eln:Actual_charge\:_%s=Aktuelle Ladung\: %s +eln:Energy_capacity\:_%sJ=Energiekapazität\: %sJ +eln:_charged_at_%s=geladen bei %s +eln: +eln:# ./src/main/java/mods/eln/transparentnode/battery/BatteryGuiDraw.java +eln:Charge=Laden +eln:Charged=Geladen +eln:Discharge=Entladen +eln:Energy\:=Energie\: +eln:Energy\:_%s=Energie\: %s +eln:Life\:=Leben\: +eln:No_charge=Nicht geladen +eln:Power_in\:=Eingangsleistung\: +eln:Power_out\:=Ausgangsleistung\: +eln: +eln:# ./src/main/java/mods/eln/transparentnode/eggincubator/EggIncubatorContainer.java +eln:Egg_slot=Eier-Slot +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalantennarx/ElectricalAntennaRxDescriptor.java +eln:Wireless_energy_receiver.=Kabelloser Energie-Empfänger +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalantennatx/ElectricalAntennaTxDescriptor.java +eln:Efficiency\:_%s_up_to_%s=Effizienz\: %s bis %s +eln:Wireless_energy_transmitter.=Kabelloser Energie-Sender +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceContainer.java +eln:Heating_corp_slot=Heizkörper Slot +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceDescriptor.java +eln:Similar_to_a_vanilla_furnace,\nbut_heats_with_electricity.=Ähnlich einem "vanilla" Ofen, aber \nfunktioniert mit elektrischem Strom. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceGuiDraw.java +eln:Auto_shutdown=Automatische Abschaltung +eln:Manual_shutdown=Manuelle Abschaltung +eln:Set_point\:_%s°C=Sollwert\: %s°C +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalmachine/ElectricalMachineDescriptor.java +eln:Cost=Kosten +eln: +eln:# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceContainer.java +eln:Combustion_chamber_slot=Brennkammer-Slot +eln:Fuel_slot=Treibstoff-Slot +eln: +eln:# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceDescriptor.java +eln:Generates_heat_when_supplied_with_fuel.=Generiert Wärme mit Hilfe von Treibstoff. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceGuiDraw.java +eln:Control_gauge_at_%s=Kontrollanzeige bei %s +eln:Decline_fuel=Verweigere Treibstoff +eln:External_control=Externe Kontrolle +eln:Internal_control=Interne Kontrolle +eln:Take_fuel=Verbrauche Treibstoff +eln: +eln:# ./src/main/java/mods/eln/transparentnode/powercapacitor/PowerCapacitorContainer.java +eln:(Increases_maximal_voltage)=(Erhöht die maximale Spannung) +eln: +eln:# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelContainer.java +eln:Solar_tracker_slot=Sonnenverfolger-Slot +eln: +eln:# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelDescriptor.java +eln:Can_be_geared_towards_the_sun.=Kann in Richtung Sonne gerichtet werden. +eln:Max._power\:_%sW=Max. Leisting\: %sW +eln:Max._voltage\:_%sV=Max. Spannung\: %sV +eln:Produces_power_from_solar_radiation.=Wandelt die Sonnenstrahlung in Energie +eln: +eln:# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPannelGuiDraw.java +eln:It_is_night=Es ist Nacht +eln:Solar_panel_angle\:_%s°=Solarpanel-Winkel\: %s° +eln:Sun_angle\:_%s°=Sonnenwinkel\: %s° +eln: +eln:# ./src/main/java/mods/eln/transparentnode/teleporter/TeleporterGui.java +eln:Destination_transporter=Zieltransporter +eln:Power_consumption\:=Leistungsaufnahme\: +eln:Power_consumption\:_%sW=Leistungsaufnahme\: %sW +eln:Required_energy\:_%sJ=Benötigte Energie\: %sJ +eln:Start=Start +eln:Transporter_name=Transporter Name +eln: +eln:# ./src/main/java/mods/eln/transparentnode/thermaldissipatoractive/ThermalDissipatorActiveDescriptor.java +eln:Fan_cooling_power\:_%sW=Lüfterkühlleistung\: %sW +eln:Fan_power_consumption\:_%sW=Lüfterleistungsaufnahme\: %sW +eln:Fan_voltage\:_%sV=Lüfterspannung\: %sV +eln: +eln:# ./src/main/java/mods/eln/transparentnode/transformer/TransformerDescriptor.java +eln:The_voltage_ratio_is_proportional\nto_the_cable_stacks_count_ratio.=Das Spannungsverhältnis ist proportional\nzu dem Verhältnis der Anzahl Kabel. +eln:Transforms_an_input_voltage_to\nan_output_voltage.=Transformiert eine Eingangsspannung\nzu einer Ausgangsspannung. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/turbine/TurbineDescriptor.java +eln:Generates_electricity_using_heat.=Generiert Elektrizität aus Wärme. +eln:Temperature_difference\:_%s°C=Temperaturdifferenz\: %s°C +eln: +eln:# ./src/main/java/mods/eln/transparentnode/turret/TurretDescriptor.java +eln:CAUTION\:_Cables_can_get_quite_hot!=ACHTUNG\: Kabel können heiss werden\! +eln:Laser_charge_power\:_%sW...%skW=Laser Ladeleistung\: %sW...%sW +eln:Scans_for_entities_and_shoots_if_the\nentity_matches_the_configurable_filter_criteria.=Sucht Wesen und schiesst auf diese falls\nsie dem eingesetzten Filter entsprechen +eln:Standby_power\:_%sW=Standby Leisting\: %sW +eln: +eln:# ./src/main/java/mods/eln/transparentnode/turret/TurretGui.java +eln:Attack\:=Angreifen\: +eln:Do_not_attack\:=Nicht angreifen\: +eln:Recharge_power\:=Nachlade-Leistung\: +eln: +eln:# ./src/main/java/mods/eln/transparentnode/waterturbine/WaterTurbineDescriptor.java +eln:Generates_energy_using_water_stream.=Generiert Elektrizität aus Wasserströmung. +eln:No_place_for_water_turbine!=Kein Platz für die Wasserturbine vorhanden\! +eln: +eln:# ./src/main/java/mods/eln/transparentnode/windturbine/WindTurbineDescriptor.java +eln:Front\:_%s=Front\: %s +eln:Generates_energy_from_wind.=Generiert Elektrizität aus Wind. +eln:Left_Right\:_%s=Links/Rechts\: %s +eln:Up_Down\:_%s=Auf/Ab\: %s +eln:Wind_area\:=Windfläche\: +eln: +eln:# ./src/main/java/mods/eln/wiki/Data.java +eln:Energy=Energie +eln:Light=Licht +eln:Machine=Maschine +eln:Ore=Erz +eln:Portable=Tragbar +eln:Resource=Ressource +eln:Signal=Signal +eln:Thermal=Thermik +eln:Upgrade=Verbesserung +eln:Utilities=Utensilien +eln:Wiring=Verkabelung +eln: +eln:# ./src/main/java/mods/eln/wiki/Default.java +eln:Previous=Zurück +eln: +eln:# ./src/main/java/mods/eln/wiki/ItemDefault.java +eln:Can_be_used_to_craft\:=Kann benutzt werden für den Bau von\: +eln:Cannot_be_crafted!=Kann nicht zum bauen verwendet werden\! +eln:Cost_%sJ=Aufwand\: %sJ +eln:Created_by\:=Erstellt durch\: +eln:Is_not_a_crafting_material!=Ist kein Baumaterial\! +eln:Recipe\:=Rezept\: +eln: +eln:# Appearing in multiple source files +eln:(Increases_capacity)=(Erhöht Kapazität) +eln:(Increases_inductance)=(Erhöht Induktivität) +eln:Actual\:_%s°C=Aktuell\: %s°C +eln:Biggest=Grösster +eln:Booster_slot=Beschleunigerslot +eln:Can_create\:=Kann folgendes kreieren\: +eln:Capacity\:_%sF=Kapazität\: %sF +eln:Charge_power\:_%sW=Ladeleistung\: %sW +eln:Connected=Verbunden +eln:Cooling_power\:_%sW=Kühlleistung\: %sW +eln:Copper_cable_slot=Kupferkabel-Slot +eln:Dielectric_slot=Dielektrikum-Slot +eln:Discharge_power\:_%sW=Entladeleistung\: %sW +eln:Electrical_cable_slot=Elektrisches Kabel-Slot +eln:Entity_filter_slot=Wesen-Filterslot +eln:Ferromagnetic_core_slot=Ferromagnetischer Kern Slot +eln:Has_a_signal_output.=Besitzt einen Signal-Ausgang. +eln:Inductance\:_%sH=Induktivität\: %sH +eln:Internal_resistance\:_%sΩ=Interner Widerstand\: %sΩ +eln:Is_off=Ist aus +eln:Is_on=Ist an +eln:Max._temperature\:_%s°C=Max. Temperatur\: %s°C +eln:Measured_value\ncorresponding\nto_0%_output=Gemessener Wert\nwelcher einem Ausgangswert\nvon 0% entspricht +eln:Measured_value\ncorresponding\nto_100%_output=Gemessener Wert\nwelcher einem Ausgangswert\nvon 100% entspricht +eln:Nominal\:=Nominal\: +eln:Nominal_power\:_%sW=Nominale Leisting\: %sW +eln:Nominal_usage\:=Nominaler Gebrauch\: +eln:Nominal_voltage\:_%sV=Nominale Spannung\: %sV +eln:Not_connected=Nicht verbunden +eln:Not_enough_space_for_this_block=Nicht genug Platz für diesen Block vorhanden +eln:Power=Leistung +eln:Power\:_%sW=Leistung\: %sW +eln:Range\:_%s_blocks=Reichweite\: %s Blöcke +eln:Redstone_slot=Redstone Slot +eln:Regulator_slot=Regulatorslot +eln:Reset=Zurücksetzen +eln:Resistance\:_%sΩ=Widerstand\: %sΩ +eln:Smallest=Kleinster +eln:Specify_the_channel=Gib den Kanal an +eln:Stored_energy\:_%sJ_(%s)=Gespeicherte Energie\: %sJ (%s) +eln:Temperature\:_%s°C=Temperatur\: %s°C +eln:Temperature_gauge=Temperaturanzeige +eln:Thermal_isolator_slot=Thermischer Isolator Slot +eln:Toggle=Umschalten +eln:Toggle_switch=Schalter wechseln +eln:Toggles_the_output_each_time\nan_emitter's_value_rises.\nUseful_to_allow_multiple_buttons\nto_control_the_same_light.=Wechselt den Ausgang jedes Mal \nwenn der Wert eines Senders ansteigt.\nNützlich falls mehrere Taster die \ngleiche Lampe steuern sollen. +eln:Used_to_cool_down_turbines.=Kann Turbinen kühlen. +eln:Uses_the_biggest\nvalue_on_the_channel.=Benutzt den grössten\nWert auf dem Funkkanal. +eln:Uses_the_smallest\nvalue_on_the_channel.=Benutzt den kleinsten \nWert auf dem Funkkanal. +eln:Validate=Validieren +eln:Voltage\:_%sV=Spannung\: %sV +eln:You_can't_place_this_block_at_this_side=Der Block kann an dieser Seite nicht platziert werden diff --git a/src/main/resources/assets/eln/lang/de_DE.lang b/src/main/resources/assets/eln/lang/de_DE.lang index 23f907718..540731ead 100644 --- a/src/main/resources/assets/eln/lang/de_DE.lang +++ b/src/main/resources/assets/eln/lang/de_DE.lang @@ -1,829 +1,829 @@ -# - -# ./src/main/java/mods/eln/Achievements.java -Electrical_Age_[WIP]=Electrical Age [WIP] -achievement.craft_50v_macerator=Zerkleinerungsanfänger -achievement.craft_50v_macerator.desc=Baue einen 50V Zerkleinerer -achievement.open_guide=Wiki Kraft -achievement.open_guide.desc=Öffne das Electrical Age Wiki - -# ./src/main/java/mods/eln/Eln.java -10A_Diode.name=10A Diode -200V_Active_Thermal_Dissipator.name=200V aktiver Kühlkörper -200V_Battery_Charger.name=200V Batterieladegerät -200V_Compressor.name=200V Presse -200V_Condensator.name=200V Kondensator -200V_Copper_Heating_Corp.name=200V Heizkörper aus Kupfer -200V_Economic_Light_Bulb.name=200V Energiesparlampe -200V_Farming_Lamp.name=200V Stalllampe -200V_Fuel_Generator.name=200V Benzin-Generator -200V_Incandescent_Light_Bulb.name=200V Glühbirne -200V_Iron_Heating_Corp.name=200V Heizkörper aus Eisen -200V_LED_Bulb.name=200V LED Lampe -200V_Macerator.name=200V Zerkleinerer -200V_Magnetizer.name=200V Magnetisier-Maschine -200V_Plate_Machine.name=200V Blechpresse -200V_Power_Socket.name=200V Steckdose -200V_Tungsten_Heating_Corp.name=200V Heizkörper aus Wolfram -200V_Turbine.name=200V Turbine -25A_Diode.name=25A Diode -50V_Battery_Charger.name=50V Batterieladegerät -50V_Carbon_Incandescent_Light_Bulb.name=50V Glühbirne -50V_Compressor.name=50V Presse -50V_Condensator.name=50V Kondensator -50V_Copper_Heating_Corp.name=50V Heizkörper aus Kupfer -50V_Economic_Light_Bulb.name=50V Energiesparlampe -50V_Egg_Incubator.name=50V Eibrutkasten -50V_Farming_Lamp.name=50V Stalllampe -50V_Fuel_Generator.name=50V Benzin-Generator -50V_Incandescent_Light_Bulb.name=50V Glühbirne -50V_Iron_Heating_Corp.name=50V Heizkörper aus Eisen -50V_LED_Bulb.name=50V LED Lampe -50V_Macerator.name=50V Zerkleinerer -50V_Magnetizer.name=50V Magnetisier-Maschine -50V_Plate_Machine.name=50V Blechpresse -50V_Power_Socket.name=50V Steckdose -50V_Tungsten_Heating_Corp.name=50V Heizkörper aus Wolfram -50V_Turbine.name=50V Turbine -800V_Defence_Turret.name=800V Verteidigungsgeschützturm -AND_Chip.name=AND Mikrochip -Advanced_Chip.name=Fortschrittlicher Microchip -Advanced_Electrical_Motor.name=Fortschrittlicher Motor -Advanced_Energy_Meter.name=Fortschrittlicher Energiezähler -Advanced_Machine_Block.name=Fortschrittlicher Maschinenblock -Advanced_Magnet.name=Starker Magnet -AllMeter.name=Universalmeter -Alloy_Dust.name=Leichtmetallstaub -Alloy_Ingot.name=Leichtmetallbarren -Alloy_Plate.name=Leichtmetallplatte -Analog_Watch.name=Wanduhr -Analog_vuMeter.name=Analoge Anzeige -Analogic_Regulator.name=Analoger Regler -Animal_Filter.name=Tierfilter -Auto_Miner.name=Autonome Abbaumaschine -Average_Electrical_Drill.name=Durchschnittlicher elektrischer Bohrer -Average_Ferromagnetic_Core.name=Durchschnittlicher ferro-magnetischer Kern -Basic_Magnet.name=Einfacher Magnet -Black_Brush.name=Schwarzer Pinsel -Blue_Brush.name=Blauer Pinsel -Brown_Brush.name=Brauner Pinsel -Capacity_Oriented_Battery.name=Kapazitätsorientierte Batterie -Cheap_Chip.name=Einfacher Microchip -Cheap_Electrical_Drill.name=Einfacher elektrischer Bohrer -Cheap_Ferromagnetic_Core.name=Einfacher ferro-magnetischer Kern -Cinnabar_Dust.name=Zinnstaub -Cinnabar_Ore.name=Zinnerz -Coal_Dust.name=Kohle-Staub -Coal_Plate.name=Kohleplatte -Combustion_Chamber.name=Brennkammer -Copper_Cable.name=Kupferkabel -Copper_Dust.name=Kupferstaub -Copper_Ingot.name=Kupferbarren -Copper_Ore.name=Kupfererz -Copper_Plate.name=Kupferplatte -Copper_Thermal_Cable.name=Thermischer Leiter aus Kupfer -Cost_Oriented_Battery.name=Günstige Batterie -Current_Oriented_Battery.name=Hochstrom Batterie -Cyan_Brush.name=Zyan Pinsel -D_Flip_Flop_Chip.name=D Flip-Flop Mikrochip -Data_Logger.name=Datenlogger -Data_Logger_Print.name=Datenlogger-Ausdruck -Dielectric.name=Dielektrikum -Digital_Watch.name=Digitale Wanduhr -Electrical_Anemometer_Sensor.name=Elektrisches Anemometer -Electrical_Breaker.name=Trennschalter -Electrical_Daylight_Sensor.name=Elektrischer Tageslichtsensor -Electrical_Entity_Sensor.name=Elektrischer Präsenzdetektor -Electrical_Fire_Detector.name=Elektrischer Brandmelder -Electrical_Furnace.name=Elektrischer Ofen -Electrical_Light_Sensor.name=Elektrischer Lichtsensor -Electrical_Motor.name=Elektrischer Motor -Electrical_Probe.name=Elektrischer Sensor -Electrical_Probe_Chip.name=Elektrischer Sensor-Chip -Electrical_Source.name=Elektrische Spannungsquelle -Electrical_Timer.name=Elektrischer Timer -Electrical_Weather_Sensor.name=Elektrischer Wettersensor -Electrical_age_wrench,\nCan_be_used_to_turn\nsmall_wall_blocks=Electrical Age Schraubschlüssel\nKann benutzt werden um kleine\nWand-Blöcke zu drehen -Energy_Meter.name=Energiezähler -Experimental_Transporter.name=Experimenteller Transporter -Fast_Electrical_Drill.name=Schneller elektrischer Bohrer -Ferrite_Ingot.name=Ferritbarren -Flat_Lamp_Socket.name=Flacher Lampensockel -Fluorescent_Lamp_Socket.name=Leuchtstoffsockel -Generator.name=Generator -Gold_Dust.name=Goldstaub -Gold_Plate.name=Goldplatte -Gray_Brush.name=Grauer Pinsel -Green_Brush.name=Grüner Pinsel -Ground_Cable.name=Erdungskabel -High_Power_Receiver_Antenna.name=Empfangsantenne für hohe Leistungen -High_Power_Transmitter_Antenna.name=Sendeantenne für hohe Leistungen -High_Voltage_Cable.name=Hochspannungskabel -High_Voltage_Relay.name=Hochspannungsrelais -High_Voltage_Switch.name=Hochspannungsschalter -Hub.name=Hub -Industrial_Data_Logger.name=Industrieller Datenlogger -Iron_Cable.name=Eisenkabel -Iron_Dust.name=Eisenstaub -Iron_Plate.name=Eisenplatte -JK_Flip_Flop_Chip.name=JK Flip-Flop Mikrochip -LED_vuMeter.name=LED-Anzeige -Lamp_Socket_A.name=Lampenfassung Model A -Lamp_Socket_B_Projector.name=Spotlampe Model B -Lamp_Supply.name=Lampen-Verteilschrank -Large_Rheostat.name=Grosser Regelwiderstand -Lead_Dust.name=Bleistaub -Lead_Ingot.name=Bleibarren -Lead_Ore.name=Bleierz -Lead_Plate.name=Bleiplatte -Life_Oriented_Battery.name=Langlebige Batterie -Light_Blue_Brush.name=Hellblauer Pinsel -Lime_Brush.name=hellgrüner Pinsel -Long_Suspended_Lamp_Socket.name=Lange Hängelampe -Low_Power_Receiver_Antenna.name=Empfängerantenne für kleine Leistungen -Low_Power_Transmitter_Antenna.name=Übertragunsantenne für kleine Leistungen -Low_Voltage_Cable.name=Niederspannungskabel -Low_Voltage_Relay.name=Niederspannugsrelais -Low_Voltage_Switch.name=Niederspannungsschalter -Machine_Block.name=Maschinenblock -Machine_Booster.name=Maschinenbeschleuniger -Magenta_Brush.name=Magenta Pinsel -Medium_Power_Receiver_Antenna.name=Empfangsantenne für mittlere Leistungen -Medium_Power_Transmitter_Antenna.name=Übertragunsantenne für mittlere Leistungen -Medium_Voltage_Cable.name=Mittelspannungskabel -Medium_Voltage_Relay.name=Mittelspannungsrelais -Medium_Voltage_Switch.name=Mittelspannungsschalter -Mercury.name=Quecksilber -Mining_Pipe.name=Bohrstange -Modbus_RTU.name=Modbus RTU -Modern_Data_Logger.name=Moderner Datenlogger -Monster_Filter.name=Monsterfilter -MultiMeter.name=Multimeter -NAND_Chip.name=NAND Mikrochip -NOR_Chip.name=NOR Mikrochip -NOT_Chip.name=NOT Mikrochip -Nuclear_Alarm.name=Nuklearer Alarm -OR_Chip.name=OR Mikrochip -On_OFF_Regulator_10_Percent.name=Zweipunktregler 10% -On_OFF_Regulator_1_Percent.name=Zweipunktregler 1% -Optimal_Ferromagnetic_Core.name=Optimaler ferro-magnetischer Kern -Orange_Brush.name=Oranger Pinsel -Ore_Scanner.name=Erzdetektor -Oscillator_Chip.name=Oszillator Mikrochip -Overheating_Protection.name=Überhitzschutz -Overvoltage_Protection.name=Überspannungsschutz -PAL_Chip.name=PAL Mikrochip -Pink_Brush.name=Pinker Pinsel -Player_Filter.name=Spielerfilter -Portable_Battery.name=Tragbare Batterie -Portable_Battery_Pack.name=Tragbares Batterie-Pack -Portable_Condensator.name=Tragbarer Kondensator -Portable_Condensator_Pack.name=Tragbares Kondensator-Pack -Portable_Electrical_Axe.name=Tragbare elektrische Axt -Portable_Electrical_Mining_Drill.name=Tragbarer elektrischer Steinbohrer -Power_Capacitor.name=Leistungskondensator -Power_Inductor.name=Leistungsspule -Power_Resistor.name=Leistungswiderstand -Power_capacitor.name=Leistungskondensator -Power_inductor.name=Leistungsspule -Purple_Brush.name=Purpurner Pinsel -Red_Brush.name=Roter Pinsel -Redstone-to-Voltage_Converter.name=Redstone zu Spannung Konverter -Rheostat.name=Stellwiderstand -Robust_Lamp_Socket.name=Robuste Lampenfassung -Rubber.name=Gummi -Schmitt_Trigger_Chip.name=Schmitt-Trigger Mikrochip -Sconce_Lamp_Socket.name=Wandlampensockel -Signal_20H_inductor.name=20H Signalspule -Signal_Antenna.name=Signalantenne -Signal_Button.name=Signaltaster -Signal_Cable.name=Signalkabel -Signal_Diode.name=Signaldiode -Signal_Processor.name=Signalverabeitungseinheit -Signal_Relay.name=Signalrelais -Signal_Source.name=Signalquelle -Signal_Switch.name=Signalschalter -Signal_Switch_with_LED.name=Signalschalter mit LED -Signal_Trimmer.name=Potentiometer -Silicon_Dust.name=Silikonstaub -Silicon_Ingot.name=Silikonbarren -Silicon_Plate.name=Silikonplatte -Silver_Brush.name=Silberner Pinsel -Simple_Lamp_Socket.name=Einfache Lampenfassung -Single-use_Battery.name=Einwegbatterie -Small_200V_Copper_Heating_Corp.name=Kleiner 200V Heizkörper aus Kupfer -Small_200V_Iron_Heating_Corp.name=Kleiner 200V Heizkörper aus Eisen -Small_200V_Tungsten_Heating_Corp.name=Kleiner 200V Heizkörper aus Wolfram -Small_50V_Carbon_Incandescent_Light_Bulb.name=Kleine 50V Glühbirne -Small_50V_Copper_Heating_Corp.name=Kleiner 50V Heizkörper aus Kupfer -Small_50V_Economic_Light_Bulb.name=Kleine 50V Energiesparlampe -Small_50V_Incandescent_Light_Bulb.name=Kleine 50V Glühbirne -Small_50V_Iron_Heating_Corp.name=Kleiner 50V Heizkörper aus Eisen -Small_50V_Tungsten_Heating_Corp.name=Kleiner 50V Heizkörper aus Wolfram -Small_Active_Thermal_Dissipator.name=50V aktiver Kühlkörper -Small_Flashlight.name=Taschenlampe -Small_Passive_Thermal_Dissipator.name=Kleiner passiver Kühlkörper -Small_Rotating_Solar_Panel.name=Kleiner richtbares Solarpanel -Small_Solar_Panel.name=Kleines Solarpanel -Solar_Tracker.name=Sonnenverfolger -Standard_Alarm.name=Standardalarm -Steam_Turbine.name=Dampfturbine -Stone_Heat_Furnace.name=Steinofen -Street_Light.name=Strassenlampe -Suspended_Lamp_Socket.name=Hängelampe -Temperature_Probe.name=Temperatursensor -Thermal_Probe.name=Wärmesensor -Thermal_Probe_Chip.name=Thermischer Sensor-Chip -Thermistor.name=Heissleiter -ThermoMeter.name=Thermometer -Transformer.name=DC/DC-Wander -Tree_Resin.name=Baumharz -Tree_Resin_Collector.name=Baumharzsammler -Tungsten_Cable.name=Wollframkabel -Tungsten_Dust.name=Wolframstaub -Tungsten_Ingot.name=Wolframbarren -Tungsten_Ore.name=Wolframerz -Tutorial_Sign.name=Hinweis-Beacon -Very_High_Voltage_Cable.name=Höchstspannungskabel -Very_High_Voltage_Relay.name=Höchstspannungsrelais -Very_High_Voltage_Switch.name=Höchstspannungsschalter -Voltage-to-Redstone_Converter.name=Spannung zu Redstone Konverter -Voltage_Oriented_Battery.name=Spannungsoptimierte Batterie -Voltage_Probe.name=Spannungssensor -Water_Turbine.name=Wasserrad -Weak_50V_Battery_Charger.name=Schwaches 50V Batterieladegerät -White_Brush.name=Weisser Pinsel -Wind_Turbine.name=Windturbine -Wireless_Analyser.name=Funk-Prüfgerät -Wireless_Button.name=Funktaster -Wireless_Signal_Receiver.name=Funkempfänger -Wireless_Signal_Repeater.name=Funksignalverstärker -Wireless_Signal_Transmitter.name=Funksender -Wireless_Switch.name=Funkschalter -Wrench.name=Schraubenschlüssel -X-Ray_Scanner.name=Röntgen-Strahlen Scanner -XNOR_Chip.name=XNOR Mikrochip -XOR_Chip.name=XOR Mikrochip -Yellow_Brush.name=Gelber Pinsel -entity.EAReplicator.name=Replikator -item.Copper Kupferaxt -item.Copper Kupferaxt -item.Copper Kupferaxt -item.Copper Kupferaxt -item.Copper Kupferaxt -item.Copper Kupferaxt -item.Copper Kupferaxt -item.Copper Kupferaxt -item.Copper Kupferaxt -item.E-Coal Elektrokohlestiefel -item.E-Coal Elektrokohlestiefel -item.E-Coal Elektrokohlestiefel -item.E-Coal Elektrokohlestiefel -itemGroup.Eln=Electrical Age -mod.meta.desc=Elektrizität in deiner Welt\! -tile.eln.ElnProbe.name=Electrical Age Computerinterface -tile.eln.EnergyConverterElnToOtherHVUBlock.name=800V Electrical Age Energie-Exporter -tile.eln.EnergyConverterElnToOtherLVUBlock.name=50V Electrical Age Energie-Exporter -tile.eln.EnergyConverterElnToOtherMVUBlock.name=200V Electrical Age Energie-Exporter - -# ./src/main/java/mods/eln/i18n/I18N.java -You_have_%s_lives_left=Ihnen bleibt %s Leben - -# ./src/main/java/mods/eln/item/BrushDescriptor.java -Brush_is_dry=Pinsel ist trocken -Can_paint_%s_blocks=Kann %s Blöcke einfärben - -# ./src/main/java/mods/eln/item/CombustionChamber.java -Upgrade_for_the_Stone_Heat_Furnace.=Verbesserung für den Steinofen - -# ./src/main/java/mods/eln/item/ElectricalDrillDescriptor.java -Energy_per_operation\:_%sJ=Energie pro Operation\: %sJ -Time_per_operation\:_%ss=Zeit pro Operation\: %ss - -# ./src/main/java/mods/eln/item/FerromagneticCoreDescriptor.java -Cable_loss_factor\:_%s=Verlustfaktor\: %s - -# ./src/main/java/mods/eln/item/HeatingCorpElement.java - -# ./src/main/java/mods/eln/item/LampDescriptor.java -Bad=Schlecht -Condition\:=Zustand\: -End_of_life=Lebensende -Good=Gut -New=Neu -Nominal_lifetime\:_%sh=Normale Lebensdauer\: %sh -Technology\:_%s=Technonogie\: %s -Used=Gebraucht - -# ./src/main/java/mods/eln/item/LampSlot.java -Lamp_slot=Lampenslot - -# ./src/main/java/mods/eln/item/OverHeatingProtectionDescriptor.java -Useful_to_prevent_overheating\nof_Batteries=Nützlich um die Überhitzung\nvon Batterien zu vermeiden - -# ./src/main/java/mods/eln/item/OverVoltageProtectionDescriptor.java -Useful_to_prevent_over-voltage\nof_Batteries=Nützlich um Überspannungen\nan Batterien zu verhindern - -# ./src/main/java/mods/eln/item/SolarTrackerDescriptor.java -Solar_panel_upgrade=Solarpanelerweiterung - -# ./src/main/java/mods/eln/item/electricalitem/BatteryItem.java - -# ./src/main/java/mods/eln/item/electricalitem/ElectricalLampItem.java -Off=aus -On=ein -State\:=Zustand\: -Stored_Energy\:_%sJ_(%s)=Gespeicherte Energy %sJ (%s) - -# ./src/main/java/mods/eln/item/regulator/RegulatorSlot.java - -# ./src/main/java/mods/eln/misc/UtilsClient.java -Hold_shift=Shift drücken - -# ./src/main/java/mods/eln/misc/Version.java -mod.name=Electrical Age - -# ./src/main/java/mods/eln/node/six/SixNodeDescriptor.java - -# ./src/main/java/mods/eln/simplenode/energyconverter/EnergyConverterElnToOtherGui.java -Input_power_is_limited_to_%sW=Eingangsleistung ist auf %sW limitiert - -# ./src/main/java/mods/eln/sixnode/LogicGate.kt -_O\:_= O\: - -# ./src/main/java/mods/eln/sixnode/TreeResinCollector/TreeResinCollectorDescriptor.java -Produces_Tree_Resin_over\ntime_when_put_on_a_tree.=An einem Baum befestigt kann\ndamit Harz gewonnen werden. -This_block_can_only_be_placed_on_the_side_of_a_tree!=Dieser Block kann nur an einem Baum befestigt werden\! - -# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerContainer.java -Battery_slot=Batterieslot - -# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerDescriptor.java -Can_be_used_to_recharge\nelectrical_items_like\:\nFlash_Light,_X-Ray_scanner\nand_Portable_Battery_...=Zum Wiederaufladen von\nelektrischen Teilen wie\:\nTaschenlampe, Rönten-Scanner\nund tragabaren Batterien... - -# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerGui.java - -# ./src/main/java/mods/eln/sixnode/diode/DiodeDescriptor.java -Electrical_current_can_only\nflow_through_the_diode\nfrom_anode_to_cathode=Der elektrische Strom kann \nnur in Richtung Anode zu\nKathode fliessen - -# ./src/main/java/mods/eln/sixnode/electricalalarm/ElectricalAlarmDescriptor.java -= -Emits_an_acoustic_alarm_if\nthe_input_signal_is_high=Erzeugt einen akkustischen Alarm\nwenn das Einganssignal wahr ist - -# ./src/main/java/mods/eln/sixnode/electricalalarm/ElectricalAlarmGui.java -Sound_is_muted=Ton ist stumm -Sound_is_not_muted=Ton ist nicht stumm - -# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerContainer.java - -# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerDescriptor.java -Protects_electrical_components\nOpens_contact_if\:\n__-_Voltage_exceeds_a_certain_level\n-_Current_exceeds_the_cable_limit=Schützt elektrische Komponenten\nÖffnet Kontakt falls\:\n- Die Spannung eine Schwelle übersteigt\n- Der Strom die Kabelkapazität übersteigt - -# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerGui.java -Maximum_voltage_before_cutting_off=Maximale Spannung bevor Unterbruch -Minimum_voltage_before_cutting_off=Minimale Spannung bevor Unterbruch -Switch_is_off=Schalter is aus -Switch_is_on=Schalter ist ein - -# ./src/main/java/mods/eln/sixnode/electricalcable/ElectricalCableDescriptor.java -A_signal_is_electrical_information\nwhich_must_be_between_0V_and_%sV=Ein Signal ist eine elektrische information\nwelche zwischen 0V und %sV kodiert ist -Cable_is_adapted_to_conduct\nelectrical_signals.=Kabel ist optimiert elektrische\nSignale zu leiten -Current\:_%sA=Stromstärke\: %sA -Not_adapted_to_transport_power.=Nicht zum Transportieren von Leistung geeignet. -Save_usage\:=Sicherer Gebrauch\: -Serial_resistance\:_%sΩ=Serieller Widerstand\: %sΩ - -# ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerDescriptor.java -It_can_store_up_to_256_points.=Bis zu 256 Werte werden gespeichert. -Measures_the_voltage_of_an\nelectrical_signal_and_plots\nthe_data_in_real_time.=Misst die Spannung eines\nelektrischen Signals und\nstellt dieses in Echtzeit dar. - -# ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerGui.java -Back_to_display=Zurück zur Anzeige -Configuration=Konfiguration -Current_[A]=Strom [A] -Energy_[J]=Energie [J] -Percent_[-]%=Prozent [-]% -Power_[W]=Leistung [W] -Print=Ausdruck -Sampling_period=Abtastperiode -Temp._[*C]=Temp. [*C] -Voltage_[V]=Spannung [V] -Y-axis_max=Y-Achse max -Y-axis_min=Y-Achse min - -# ./src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorContainer.java - -# ./src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorDescriptor.java -Output_voltage_increases\nif_entities_are_moving_around.=Die Ausgangsspannung steigt\nbei Anwesenheit von Wesen an - -# ./src/main/java/mods/eln/sixnode/electricalfiredetector/ElectricalFireDetectorDescriptor.java -Output_voltage_increases\nif_a_fire_has_been_detected.=Die Ausgangsspannung steigt an\nfalls Feuer detektiert wird. - -# ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceDescriptor.java -Provides_configurable_signal\nvoltage.=Stellt eine konfigurierbare\nSignalspannung bereit. - -# ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceGui.java -Output_at_%s=Ausgang bei %s - -# ./src/main/java/mods/eln/sixnode/electricallightsensor/ElectricalLightSensorDescriptor.java -0V_at_night,_%sV_at_noon.=0V bei Nacht, %sV am Mittag. -Provides_an_electrical_voltage\nin_the_presence_of_light.=Ist Licht vorhanden, so wird eine\nelektrische Spannung geliefert. -Provides_an_electrical_voltage\nwhich_is_proportional_to\nthe_intensity_of_daylight.=Liefert eine elektrische Spannung\nwelche proportional zur Intensität\ndes Tageslicht ist - -# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathContainer.java - -# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathDescriptor.java -Applicable_boolean_operators\:=Mögliche boolsche O -Applicable_functions\:=Verwendbare Funktionen -Applicable_mathematical_operators\:=Mögliche mathematische Operationen -Calculates_an_output_signal_from\n3_inputs_(A,_B,_C)_using_an_equation.=Berechnet ein Ausgangssignal aus 3 \nEingängen (A, B, C) mit Hilfe einer Formel. - -# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathGui.java -%s_Redstone(s)_required=%s Redstone werden benötigt -Equation_required!=Formel benötigt\! -Inputs_are=Eingänge sind -Invalid_equation!=Fehlerhafte Formel\! -Output_voltage_formula=Ausgangsspannungs-Formel -Waiting_for_completion...=Warte auf beenden... - -# ./src/main/java/mods/eln/sixnode/electricalredstoneinput/ElectricalRedstoneInputDescriptor.java -Converts_Redstone_signal\nto_an_electrical_voltage.=Konvertiert ein Redstone-Signal\nzu einer elektrische Spannung. - -# ./src/main/java/mods/eln/sixnode/electricalredstoneoutput/ElectricalRedstoneOutputDescriptor.java -Converts_electrical_voltage\ninto_a_Redstone_signal.=Konvertiert eine elektrische \nSpannung zu einem Redstone-Signal. - -# ./src/main/java/mods/eln/sixnode/electricalrelay/ElectricalRelayDescriptor.java -A_relay_is_an_electrical\ncontact_that_conducts_electric\ncurrent_or_not,_depending\nthe_actual_input_signal_voltage.=Ein Relais ist ein elektrischer\nKontakt welcher Strom leitet \noder nicht, je nach der aktuell\nangelegten Signalspannung. - -# ./src/main/java/mods/eln/sixnode/electricalrelay/ElectricalRelayGui.java -Normally_closed=Öffner -Normally_open=Schliesser - -# ./src/main/java/mods/eln/sixnode/electricalsource/ElectricalSourceDescriptor.java -Creative_block.=Creativer Block. -Provides_an_ideal_voltage_source\nwithout_energy_or_power_limitation.=Repräsentiert eine ideale Spannungsqueulle\nohne Energie- oder Leistungsbegrenzung. - -# ./src/main/java/mods/eln/sixnode/electricalsource/ElectricalSourceGui.java -Output_voltage=Ausgangsspannung - -# ./src/main/java/mods/eln/sixnode/electricalswitch/ElectricalSwitchDescriptor.java -Can_break_an_electrical_circuit\ninterrupting_the_current.=Kann einen elektrischen \nStromkreis unterbrechen. - -# ./src/main/java/mods/eln/sixnode/electricaltimeout/ElectricalTimeoutDescriptor.java -Upon_application_of_a_high_signal,\nthe_timer_maintains_the_output_high_for\na_configurable_interval._Can_be_re-triggered.=Wird ein high signal angelegt, so hält\nder Timer den Ausgang für ein konfigurierbares\nInterval auf high. Kann neu ausgelöst werden. - -# ./src/main/java/mods/eln/sixnode/electricaltimeout/ElectricalTimeoutGui.java -Set=Setze -The_time_interval_the\noutput_is_kept_high.=Das Interval während dem der\nAusgang auf high gehalten wird. - -# ./src/main/java/mods/eln/sixnode/electricalvumeter/ElectricalVuMeterDescriptor.java -Displays_the_value_of_a_signal.=Zeigt den aktuellen Wert eines Signals. - -# ./src/main/java/mods/eln/sixnode/electricalwatch/ElectricalWatchContainer.java -Portable_battery_slot=Tragbare Batterie-Slot - -# ./src/main/java/mods/eln/sixnode/electricalweathersensor/ElectricalWeatherSensorDescriptor.java -Clear\:_%sV=Klar\: %sV -Provides_an_electrical_signal\ndepending_the_actual_weather.=Liefert eine elektrisches Signal\nabhängig vom aktuellen Wetter. -Rain\:_%sV=Regen\: %sV -Storm\:_%sV=Sturm\: %sV - -# ./src/main/java/mods/eln/sixnode/electricalwindsensor/ElectricalWindSensorDescriptor.java -Maximum_wind_speed_is_%sm_s=Maximale Windgeschwindigkeit ist %sm/s -Provides_an_electrical_signal\ndependant_on_wind_speed.=Liefert ein elektrisches Singal\nabhängig von der Windgeschwindigkeit. -You_can't_place_this_block_on_the_floor_or_the_ceiling=Der Block kann nicht auf dem Boden oder an der Decke platziert werden - -# ./src/main/java/mods/eln/sixnode/electricasensor/ElectricalSensorDescriptor.java -Can_measure_Voltage_Power_Current=Kann Spannung/Leistung/Strom messen -Measures_electrical_values_on_cables.=Misst elektrische Grössen an Kabeln. -Measures_voltage_on_cables.=Miss Spannung an Kabeln. - -# ./src/main/java/mods/eln/sixnode/electricasensor/ElectricalSensorGui.java -Current=Strom -Measured_voltage\ncorresponding\nto_0%_output=Gemessene Spannung\nwelcher einem Ausgangswert\nvon 0% entspricht. -Measured_voltage\ncorresponding\nto_100%_output=Gemessene Spannung\nwelcher einem Ausgangswert\nvon 100% entspricht. -Voltage=Spannung - -# ./src/main/java/mods/eln/sixnode/energymeter/EnergyMeterGui.java -Change_password=Passwort ändern -Counter_Mode=Zählermodus -Counts_the_energy_conducted_from\n\u00a74red\u00a7f_to_\u00a71blue\u00a7f.=Zählt die Energy welche von\n\\u00a74Rot\\u00a7f zu \\u00a71Blua\\u00a7f fliesst. -Energy_counter\:_%sJ=Energiezähler\: %sJ -Enter_new_energy=Neue Energie eingeben -Enter_password=Passwort eingeben -Prepay_Mode=Prepay-Modus -Reset_time_counter=Zeitzähler zurücksetzen -Set_energy_counter=Energiezähler setzen -Time_counter\:=Zeitzähler\: -Try_password=Passwort testen -You_can_set_an_initial\namount_of_available_energy.\nWhen_the_counter_arrives_at_0\nthe_contact_will_be_opened.=Die Menge verfügbarer Energie \nkann konfiguriert werden. \nSobald der Zähler 0 erreicht, wird \nder Ausgangskontakt geöffnet. -is_off=ist aus -is_on=ist ein -value_in_kJ=Wert in kJ - -# ./src/main/java/mods/eln/sixnode/groundcable/GroundCableDescriptor.java -Can_be_used_to_set_a_point_of_an\nelectrical_network_to_0V_potential.\nFor_example_to_ground_negative_battery_contacts.=Kann verwendet werden um einen Punkt \nin einem elektrischen Netzwerk auf ein \n0-Potential zu bringen. z.B. können die \nnegativen Kontakte einer Batterie geerdet werden. -Provides_a_zero_volt_reference.=Liefert eine Null-Volt-Referenz. - -# ./src/main/java/mods/eln/sixnode/hub/HubDescriptor.java -Allows_crossing_cables\non_one_single_block.=Ermöglicht das Kreuzen von\nKabeln auf einem Block. - -# ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketDescriptor.java -Angle\:_%s°_to_%s°=Winkel\: %s° bis %s° -Spot_range\:_%s_blocks=Reichweite\: %s Blöcke - -# ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketGuiDraw.java -%s_is_not_in_range!=%s ist nicht in Reichweite\! -Cable_slot_empty=Kabel-Slot leer -Orientation\:_%s°=Richtung\: %s° -Parallel=Parallel -Powered_by_Lamp_Supply=Durch Lampenverteiler gespiesen -Powered_by_cable=Durch Kabel gespiesen -Serial=Seriell -Specify_the_supply_channel=Speisekanal angeben - -# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyContainer.java -Electrical_cable_slot\nBase_range_is_32_blocks.\nEach_additional_cable\nincreases_range_by_one.=Elektrischer Kabel-Slot\nGrundreichweite ist 32 Blöcke.\nFür jedes zusätzliche Kabel wird\ndiese um einen Block erhöht. - -# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyDescriptor.java -Supplies_all_lamps_on_the_channel.=Speist alle Lampen des Kanals. - -# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyGui.java -Power_channel_name=Speisekanalname -Wireless_channel_name=Funkkanal-Name - -# ./src/main/java/mods/eln/sixnode/modbusrtu/ModbusRtuGui.java -Add=Hinzufügen -Channel_name=Kanalname -Modbus_ID=Modbus ID -Modbus_RTU=Modbus RTU -Station_ID=Stations ID -Station_name=Stationsname -Wireless_RX=Funkempfang -Wireless_TX=Funksender - -# ./src/main/java/mods/eln/sixnode/powercapacitorsix/PowerCapacitorSixContainer.java -(Increases_maximum_voltage)=(Erhöht die maximale Spannung) - -# ./src/main/java/mods/eln/sixnode/powercapacitorsix/PowerCapacitorSixGui.java - -# ./src/main/java/mods/eln/sixnode/powerinductorsix/PowerInductorSixContainer.java - -# ./src/main/java/mods/eln/sixnode/powerinductorsix/PowerInductorSixGui.java - -# ./src/main/java/mods/eln/sixnode/powersocket/PowerSocketDescriptor.java -Supplies_any_device\nplugged_in_with_energy.=Speist eingesteckte Geräte\nmit elektrischer Energie. - -# ./src/main/java/mods/eln/sixnode/powersocket/PowerSocketGui.java -Specify_the_device_to_supply_through_this_socket.=Gib an, welches Gerät an diese Steckdose angeschlossen ist. - -# ./src/main/java/mods/eln/sixnode/resistor/ResistorContainer.java -(Sets_resistance)=(Bestimmt den Widerstand) -Coal_dust_slot=Kohlestaub-Slot - -# ./src/main/java/mods/eln/sixnode/thermalcable/ThermalCableDescriptor.java -High_parallel_resistance\n_\=>_Low_power_dissipation.=Hoher Parallelwiderstand\n \=> keiner Wärmeverlust. -Low_serial_resistance\n_\=>_High_conductivity.=kleiner Seriewiderstand\n \=> gute Leitfähigkeit. -Parallel_resistance\:_%sK_W=Parallelwiderstand\: %sK/W -Serial_resistance\:_%sK_W=Seriewiderstand\: %sK/W - -# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorContainer.java -Cable_slot=Kabelslot - -# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorDescriptor.java -Can_measure\:=Misst\: -Measures_temperature_of_cables.=Misst die Temperatur von Kabeln. -Measures_thermal_values_on_cables.=Misst thermische Werte eines Kabels. -__Temperature_Power_conducted=Temperatur/Wärmeleistung - -# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorGui.java -Measured_temperature\ncorresponding\nto_0%_output=Gemessene Temperatur\nwelche einem Ausgangswert\nvon 0% entspricht -Measured_temperature\ncorresponding\nto_100%_output=Gemessene Temperatur\nwelche einem Ausgangswert\nvon 100% entspricht -Temperature=Temperatur - -# ./src/main/java/mods/eln/sixnode/tutorialsign/TutorialSignElement.java -No_text_associated_to_this_beacon=Diesem Beacon wurde kein Text zugewiesen - -# ./src/main/java/mods/eln/sixnode/tutorialsign/TutorialSignGui.java -Set_beacon_name=Beaconname setzen - -# ./src/main/java/mods/eln/sixnode/wirelesssignal/rx/WirelessSignalRxGui.java - -# ./src/main/java/mods/eln/transparentnode/FuelGenerator.kt -Nominal_power\:_%s_W=Nominale Leistung\: %s W -Nominal_voltage\:_%s_V=Nominale Spannung %s V -Produces_electricity_using_fuel.=Produziert Elektrizität mittels Treibstoff. - -# ./src/main/java/mods/eln/transparentnode/LargeRheostat.kt -Nom._Resistance\:_%s=Nom. Widerstand\: %s - -# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerContainer.java -Drill_slot=Bohrerslot -Mining_pipe_slot=Bohrstangen-Slot -Ore_scanner_slot=Erzdetektor-Slot - -# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerDescriptor.java -Excavates_on_a_small_radius.\nExtracts_ore_on_a_bigger_radius\:\n10_blocks_radius_after_10_blocks_depth.=Gräbt aus einem kleinen Loch.\nBaut aus einem grösseren Radius ab.\nDer Radius beträgt 10 Blöcke ab einer \nTiefe von einem Block. - -# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerGuiDraw.java -Chest_missing_on_the\nback_of_the_auto_miner!=Kiste auf der Rückseite der \nautonomen Abbaumaschine fehlt\! -Halves_speed,_triples_power_draw=Halbiert Geschwindigkeit, verdreifacht Leistungsaufnahme -Silk_Touch_Off=Silk Touch aus -Silk_Touch_On=Silk Touch an -Silk_touch=Silk Touch - -# ./src/main/java/mods/eln/transparentnode/battery/BatteryContainer.java -Overheating_protection=Überhitzschutz -Overvoltage_protection=Überspannungsschutz - -# ./src/main/java/mods/eln/transparentnode/battery/BatteryDescriptor.java -Actual_charge\:_%s=Aktuelle Ladung\: %s -Energy_capacity\:_%sJ=Energiekapazität\: %sJ -_charged_at_%s=geladen bei %s - -# ./src/main/java/mods/eln/transparentnode/battery/BatteryGuiDraw.java -Charge=Laden -Charged=Geladen -Discharge=Entladen -Energy\:=Energie\: -Energy\:_%s=Energie\: %s -Life\:=Leben\: -No_charge=Nicht geladen -Power_in\:=Eingangsleistung\: -Power_out\:=Ausgangsleistung\: - -# ./src/main/java/mods/eln/transparentnode/eggincubator/EggIncubatorContainer.java -Egg_slot=Eier-Slot - -# ./src/main/java/mods/eln/transparentnode/electricalantennarx/ElectricalAntennaRxDescriptor.java -Wireless_energy_receiver.=Kabelloser Energie-Empfänger - -# ./src/main/java/mods/eln/transparentnode/electricalantennatx/ElectricalAntennaTxDescriptor.java -Efficiency\:_%s_up_to_%s=Effizienz\: %s bis %s -Wireless_energy_transmitter.=Kabelloser Energie-Sender - -# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceContainer.java -Heating_corp_slot=Heizkörper Slot - -# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceDescriptor.java -Similar_to_a_vanilla_furnace,\nbut_heats_with_electricity.=Ähnlich einem "vanilla" Ofen, aber \nfunktioniert mit elektrischem Strom. - -# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceGuiDraw.java -Auto_shutdown=Automatische Abschaltung -Manual_shutdown=Manuelle Abschaltung -Set_point\:_%s°C=Sollwert\: %s°C - -# ./src/main/java/mods/eln/transparentnode/electricalmachine/ElectricalMachineDescriptor.java -Cost=Kosten - -# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceContainer.java -Combustion_chamber_slot=Brennkammer-Slot -Fuel_slot=Treibstoff-Slot - -# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceDescriptor.java -Generates_heat_when_supplied_with_fuel.=Generiert Wärme mit Hilfe von Treibstoff. - -# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceGuiDraw.java -Control_gauge_at_%s=Kontrollanzeige bei %s -Decline_fuel=Verweigere Treibstoff -External_control=Externe Kontrolle -Internal_control=Interne Kontrolle -Take_fuel=Verbrauche Treibstoff - -# ./src/main/java/mods/eln/transparentnode/powercapacitor/PowerCapacitorContainer.java -(Increases_maximal_voltage)=(Erhöht die maximale Spannung) - -# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelContainer.java -Solar_tracker_slot=Sonnenverfolger-Slot - -# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelDescriptor.java -Can_be_geared_towards_the_sun.=Kann in Richtung Sonne gerichtet werden. -Max._power\:_%sW=Max. Leisting\: %sW -Max._voltage\:_%sV=Max. Spannung\: %sV -Produces_power_from_solar_radiation.=Wandelt die Sonnenstrahlung in Energie - -# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPannelGuiDraw.java -It_is_night=Es ist Nacht -Solar_panel_angle\:_%s°=Solarpanel-Winkel\: %s° -Sun_angle\:_%s°=Sonnenwinkel\: %s° - -# ./src/main/java/mods/eln/transparentnode/teleporter/TeleporterGui.java -Destination_transporter=Zieltransporter -Power_consumption\:=Leistungsaufnahme\: -Power_consumption\:_%sW=Leistungsaufnahme\: %sW -Required_energy\:_%sJ=Benötigte Energie\: %sJ -Start=Start -Transporter_name=Transporter Name - -# ./src/main/java/mods/eln/transparentnode/thermaldissipatoractive/ThermalDissipatorActiveDescriptor.java -Fan_cooling_power\:_%sW=Lüfterkühlleistung\: %sW -Fan_power_consumption\:_%sW=Lüfterleistungsaufnahme\: %sW -Fan_voltage\:_%sV=Lüfterspannung\: %sV - -# ./src/main/java/mods/eln/transparentnode/transformer/TransformerDescriptor.java -The_voltage_ratio_is_proportional\nto_the_cable_stacks_count_ratio.=Das Spannungsverhältnis ist proportional\nzu dem Verhältnis der Anzahl Kabel. -Transforms_an_input_voltage_to\nan_output_voltage.=Transformiert eine Eingangsspannung\nzu einer Ausgangsspannung. - -# ./src/main/java/mods/eln/transparentnode/turbine/TurbineDescriptor.java -Generates_electricity_using_heat.=Generiert Elektrizität aus Wärme. -Temperature_difference\:_%s°C=Temperaturdifferenz\: %s°C - -# ./src/main/java/mods/eln/transparentnode/turret/TurretDescriptor.java -CAUTION\:_Cables_can_get_quite_hot!=ACHTUNG\: Kabel können heiss werden\! -Laser_charge_power\:_%sW...%skW=Laser Ladeleistung\: %sW...%sW -Scans_for_entities_and_shoots_if_the\nentity_matches_the_configurable_filter_criteria.=Sucht Wesen und schiesst auf diese falls\nsie dem eingesetzten Filter entsprechen -Standby_power\:_%sW=Standby Leisting\: %sW - -# ./src/main/java/mods/eln/transparentnode/turret/TurretGui.java -Attack\:=Angreifen\: -Do_not_attack\:=Nicht angreifen\: -Recharge_power\:=Nachlade-Leistung\: - -# ./src/main/java/mods/eln/transparentnode/waterturbine/WaterTurbineDescriptor.java -Generates_energy_using_water_stream.=Generiert Elektrizität aus Wasserströmung. -No_place_for_water_turbine!=Kein Platz für die Wasserturbine vorhanden\! - -# ./src/main/java/mods/eln/transparentnode/windturbine/WindTurbineDescriptor.java -Front\:_%s=Front\: %s -Generates_energy_from_wind.=Generiert Elektrizität aus Wind. -Left_Right\:_%s=Links/Rechts\: %s -Up_Down\:_%s=Auf/Ab\: %s -Wind_area\:=Windfläche\: - -# ./src/main/java/mods/eln/wiki/Data.java -Energy=Energie -Light=Licht -Machine=Maschine -Ore=Erz -Portable=Tragbar -Resource=Ressource -Signal=Signal -Thermal=Thermik -Upgrade=Verbesserung -Utilities=Utensilien -Wiring=Verkabelung - -# ./src/main/java/mods/eln/wiki/Default.java -Previous=Zurück - -# ./src/main/java/mods/eln/wiki/ItemDefault.java -Can_be_used_to_craft\:=Kann benutzt werden für den Bau von\: -Cannot_be_crafted!=Kann nicht zum bauen verwendet werden\! -Cost_%sJ=Aufwand\: %sJ -Created_by\:=Erstellt durch\: -Is_not_a_crafting_material!=Ist kein Baumaterial\! -Recipe\:=Rezept\: - -# Appearing in multiple source files -(Increases_capacity)=(Erhöht Kapazität) -(Increases_inductance)=(Erhöht Induktivität) -Actual\:_%s°C=Aktuell\: %s°C -Biggest=Grösster -Booster_slot=Beschleunigerslot -Can_create\:=Kann folgendes kreieren\: -Capacity\:_%sF=Kapazität\: %sF -Charge_power\:_%sW=Ladeleistung\: %sW -Connected=Verbunden -Cooling_power\:_%sW=Kühlleistung\: %sW -Copper_cable_slot=Kupferkabel-Slot -Dielectric_slot=Dielektrikum-Slot -Discharge_power\:_%sW=Entladeleistung\: %sW -Electrical_cable_slot=Elektrisches Kabel-Slot -Entity_filter_slot=Wesen-Filterslot -Ferromagnetic_core_slot=Ferromagnetischer Kern Slot -Has_a_signal_output.=Besitzt einen Signal-Ausgang. -Inductance\:_%sH=Induktivität\: %sH -Internal_resistance\:_%sΩ=Interner Widerstand\: %sΩ -Is_off=Ist aus -Is_on=Ist an -Max._temperature\:_%s°C=Max. Temperatur\: %s°C -Measured_value\ncorresponding\nto_0%_output=Gemessener Wert\nwelcher einem Ausgangswert\nvon 0% entspricht -Measured_value\ncorresponding\nto_100%_output=Gemessener Wert\nwelcher einem Ausgangswert\nvon 100% entspricht -Nominal\:=Nominal\: -Nominal_power\:_%sW=Nominale Leisting\: %sW -Nominal_usage\:=Nominaler Gebrauch\: -Nominal_voltage\:_%sV=Nominale Spannung\: %sV -Not_connected=Nicht verbunden -Not_enough_space_for_this_block=Nicht genug Platz für diesen Block vorhanden -Power=Leistung -Power\:_%sW=Leistung\: %sW -Range\:_%s_blocks=Reichweite\: %s Blöcke -Redstone_slot=Redstone Slot -Regulator_slot=Regulatorslot -Reset=Zurücksetzen -Resistance\:_%sΩ=Widerstand\: %sΩ -Smallest=Kleinster -Specify_the_channel=Gib den Kanal an -Stored_energy\:_%sJ_(%s)=Gespeicherte Energie\: %sJ (%s) -Temperature\:_%s°C=Temperatur\: %s°C -Temperature_gauge=Temperaturanzeige -Thermal_isolator_slot=Thermischer Isolator Slot -Toggle=Umschalten -Toggle_switch=Schalter wechseln -Toggles_the_output_each_time\nan_emitter's_value_rises.\nUseful_to_allow_multiple_buttons\nto_control_the_same_light.=Wechselt den Ausgang jedes Mal \nwenn der Wert eines Senders ansteigt.\nNützlich falls mehrere Taster die \ngleiche Lampe steuern sollen. -Used_to_cool_down_turbines.=Kann Turbinen kühlen. -Uses_the_biggest\nvalue_on_the_channel.=Benutzt den grössten\nWert auf dem Funkkanal. -Uses_the_smallest\nvalue_on_the_channel.=Benutzt den kleinsten \nWert auf dem Funkkanal. -Validate=Validieren -Voltage\:_%sV=Spannung\: %sV -You_can't_place_this_block_at_this_side=Der Block kann an dieser Seite nicht platziert werden +eln:# +eln: +eln:# ./src/main/java/mods/eln/Achievements.java +eln:Electrical_Age_[WIP]=Electrical Age [WIP] +eln:achievement.craft_50v_macerator=Zerkleinerungsanfänger +eln:achievement.craft_50v_macerator.desc=Baue einen 50V Zerkleinerer +eln:achievement.open_guide=Wiki Kraft +eln:achievement.open_guide.desc=Öffne das Electrical Age Wiki +eln: +eln:# ./src/main/java/mods/eln/Eln.java +eln:10A_Diode.name=10A Diode +eln:200V_Active_Thermal_Dissipator.name=200V aktiver Kühlkörper +eln:200V_Battery_Charger.name=200V Batterieladegerät +eln:200V_Compressor.name=200V Presse +eln:200V_Condensator.name=200V Kondensator +eln:200V_Copper_Heating_Corp.name=200V Heizkörper aus Kupfer +eln:200V_Economic_Light_Bulb.name=200V Energiesparlampe +eln:200V_Farming_Lamp.name=200V Stalllampe +eln:200V_Fuel_Generator.name=200V Benzin-Generator +eln:200V_Incandescent_Light_Bulb.name=200V Glühbirne +eln:200V_Iron_Heating_Corp.name=200V Heizkörper aus Eisen +eln:200V_LED_Bulb.name=200V LED Lampe +eln:200V_Macerator.name=200V Zerkleinerer +eln:200V_Magnetizer.name=200V Magnetisier-Maschine +eln:200V_Plate_Machine.name=200V Blechpresse +eln:200V_Power_Socket.name=200V Steckdose +eln:200V_Tungsten_Heating_Corp.name=200V Heizkörper aus Wolfram +eln:200V_Turbine.name=200V Turbine +eln:25A_Diode.name=25A Diode +eln:50V_Battery_Charger.name=50V Batterieladegerät +eln:50V_Carbon_Incandescent_Light_Bulb.name=50V Glühbirne +eln:50V_Compressor.name=50V Presse +eln:50V_Condensator.name=50V Kondensator +eln:50V_Copper_Heating_Corp.name=50V Heizkörper aus Kupfer +eln:50V_Economic_Light_Bulb.name=50V Energiesparlampe +eln:50V_Egg_Incubator.name=50V Eibrutkasten +eln:50V_Farming_Lamp.name=50V Stalllampe +eln:50V_Fuel_Generator.name=50V Benzin-Generator +eln:50V_Incandescent_Light_Bulb.name=50V Glühbirne +eln:50V_Iron_Heating_Corp.name=50V Heizkörper aus Eisen +eln:50V_LED_Bulb.name=50V LED Lampe +eln:50V_Macerator.name=50V Zerkleinerer +eln:50V_Magnetizer.name=50V Magnetisier-Maschine +eln:50V_Plate_Machine.name=50V Blechpresse +eln:50V_Power_Socket.name=50V Steckdose +eln:50V_Tungsten_Heating_Corp.name=50V Heizkörper aus Wolfram +eln:50V_Turbine.name=50V Turbine +eln:800V_Defence_Turret.name=800V Verteidigungsgeschützturm +eln:AND_Chip.name=AND Mikrochip +eln:Advanced_Chip.name=Fortschrittlicher Microchip +eln:Advanced_Electrical_Motor.name=Fortschrittlicher Motor +eln:Advanced_Energy_Meter.name=Fortschrittlicher Energiezähler +eln:Advanced_Machine_Block.name=Fortschrittlicher Maschinenblock +eln:Advanced_Magnet.name=Starker Magnet +eln:AllMeter.name=Universalmeter +eln:Alloy_Dust.name=Leichtmetallstaub +eln:Alloy_Ingot.name=Leichtmetallbarren +eln:Alloy_Plate.name=Leichtmetallplatte +eln:Analog_Watch.name=Wanduhr +eln:Analog_vuMeter.name=Analoge Anzeige +eln:Analogic_Regulator.name=Analoger Regler +eln:Animal_Filter.name=Tierfilter +eln:Auto_Miner.name=Autonome Abbaumaschine +eln:Average_Electrical_Drill.name=Durchschnittlicher elektrischer Bohrer +eln:Average_Ferromagnetic_Core.name=Durchschnittlicher ferro-magnetischer Kern +eln:Basic_Magnet.name=Einfacher Magnet +eln:Black_Brush.name=Schwarzer Pinsel +eln:Blue_Brush.name=Blauer Pinsel +eln:Brown_Brush.name=Brauner Pinsel +eln:Capacity_Oriented_Battery.name=Kapazitätsorientierte Batterie +eln:Cheap_Chip.name=Einfacher Microchip +eln:Cheap_Electrical_Drill.name=Einfacher elektrischer Bohrer +eln:Cheap_Ferromagnetic_Core.name=Einfacher ferro-magnetischer Kern +eln:Cinnabar_Dust.name=Zinnstaub +eln:Cinnabar_Ore.name=Zinnerz +eln:Coal_Dust.name=Kohle-Staub +eln:Coal_Plate.name=Kohleplatte +eln:Combustion_Chamber.name=Brennkammer +eln:Copper_Cable.name=Kupferkabel +eln:Copper_Dust.name=Kupferstaub +eln:Copper_Ingot.name=Kupferbarren +eln:Copper_Ore.name=Kupfererz +eln:Copper_Plate.name=Kupferplatte +eln:Copper_Thermal_Cable.name=Thermischer Leiter aus Kupfer +eln:Cost_Oriented_Battery.name=Günstige Batterie +eln:Current_Oriented_Battery.name=Hochstrom Batterie +eln:Cyan_Brush.name=Zyan Pinsel +eln:D_Flip_Flop_Chip.name=D Flip-Flop Mikrochip +eln:Data_Logger.name=Datenlogger +eln:Data_Logger_Print.name=Datenlogger-Ausdruck +eln:Dielectric.name=Dielektrikum +eln:Digital_Watch.name=Digitale Wanduhr +eln:Electrical_Anemometer_Sensor.name=Elektrisches Anemometer +eln:Electrical_Breaker.name=Trennschalter +eln:Electrical_Daylight_Sensor.name=Elektrischer Tageslichtsensor +eln:Electrical_Entity_Sensor.name=Elektrischer Präsenzdetektor +eln:Electrical_Fire_Detector.name=Elektrischer Brandmelder +eln:Electrical_Furnace.name=Elektrischer Ofen +eln:Electrical_Light_Sensor.name=Elektrischer Lichtsensor +eln:Electrical_Motor.name=Elektrischer Motor +eln:Electrical_Probe.name=Elektrischer Sensor +eln:Electrical_Probe_Chip.name=Elektrischer Sensor-Chip +eln:Electrical_Source.name=Elektrische Spannungsquelle +eln:Electrical_Timer.name=Elektrischer Timer +eln:Electrical_Weather_Sensor.name=Elektrischer Wettersensor +eln:Electrical_age_wrench,\nCan_be_used_to_turn\nsmall_wall_blocks=Electrical Age Schraubschlüssel\nKann benutzt werden um kleine\nWand-Blöcke zu drehen +eln:Energy_Meter.name=Energiezähler +eln:Experimental_Transporter.name=Experimenteller Transporter +eln:Fast_Electrical_Drill.name=Schneller elektrischer Bohrer +eln:Ferrite_Ingot.name=Ferritbarren +eln:Flat_Lamp_Socket.name=Flacher Lampensockel +eln:Fluorescent_Lamp_Socket.name=Leuchtstoffsockel +eln:Generator.name=Generator +eln:Gold_Dust.name=Goldstaub +eln:Gold_Plate.name=Goldplatte +eln:Gray_Brush.name=Grauer Pinsel +eln:Green_Brush.name=Grüner Pinsel +eln:Ground_Cable.name=Erdungskabel +eln:High_Power_Receiver_Antenna.name=Empfangsantenne für hohe Leistungen +eln:High_Power_Transmitter_Antenna.name=Sendeantenne für hohe Leistungen +eln:High_Voltage_Cable.name=Hochspannungskabel +eln:High_Voltage_Relay.name=Hochspannungsrelais +eln:High_Voltage_Switch.name=Hochspannungsschalter +eln:Hub.name=Hub +eln:Industrial_Data_Logger.name=Industrieller Datenlogger +eln:Iron_Cable.name=Eisenkabel +eln:Iron_Dust.name=Eisenstaub +eln:Iron_Plate.name=Eisenplatte +eln:JK_Flip_Flop_Chip.name=JK Flip-Flop Mikrochip +eln:LED_vuMeter.name=LED-Anzeige +eln:Lamp_Socket_A.name=Lampenfassung Model A +eln:Lamp_Socket_B_Projector.name=Spotlampe Model B +eln:Lamp_Supply.name=Lampen-Verteilschrank +eln:Large_Rheostat.name=Grosser Regelwiderstand +eln:Lead_Dust.name=Bleistaub +eln:Lead_Ingot.name=Bleibarren +eln:Lead_Ore.name=Bleierz +eln:Lead_Plate.name=Bleiplatte +eln:Life_Oriented_Battery.name=Langlebige Batterie +eln:Light_Blue_Brush.name=Hellblauer Pinsel +eln:Lime_Brush.name=hellgrüner Pinsel +eln:Long_Suspended_Lamp_Socket.name=Lange Hängelampe +eln:Low_Power_Receiver_Antenna.name=Empfängerantenne für kleine Leistungen +eln:Low_Power_Transmitter_Antenna.name=Übertragunsantenne für kleine Leistungen +eln:Low_Voltage_Cable.name=Niederspannungskabel +eln:Low_Voltage_Relay.name=Niederspannugsrelais +eln:Low_Voltage_Switch.name=Niederspannungsschalter +eln:Machine_Block.name=Maschinenblock +eln:Machine_Booster.name=Maschinenbeschleuniger +eln:Magenta_Brush.name=Magenta Pinsel +eln:Medium_Power_Receiver_Antenna.name=Empfangsantenne für mittlere Leistungen +eln:Medium_Power_Transmitter_Antenna.name=Übertragunsantenne für mittlere Leistungen +eln:Medium_Voltage_Cable.name=Mittelspannungskabel +eln:Medium_Voltage_Relay.name=Mittelspannungsrelais +eln:Medium_Voltage_Switch.name=Mittelspannungsschalter +eln:Mercury.name=Quecksilber +eln:Mining_Pipe.name=Bohrstange +eln:Modbus_RTU.name=Modbus RTU +eln:Modern_Data_Logger.name=Moderner Datenlogger +eln:Monster_Filter.name=Monsterfilter +eln:MultiMeter.name=Multimeter +eln:NAND_Chip.name=NAND Mikrochip +eln:NOR_Chip.name=NOR Mikrochip +eln:NOT_Chip.name=NOT Mikrochip +eln:Nuclear_Alarm.name=Nuklearer Alarm +eln:OR_Chip.name=OR Mikrochip +eln:On_OFF_Regulator_10_Percent.name=Zweipunktregler 10% +eln:On_OFF_Regulator_1_Percent.name=Zweipunktregler 1% +eln:Optimal_Ferromagnetic_Core.name=Optimaler ferro-magnetischer Kern +eln:Orange_Brush.name=Oranger Pinsel +eln:Ore_Scanner.name=Erzdetektor +eln:Oscillator_Chip.name=Oszillator Mikrochip +eln:Overheating_Protection.name=Überhitzschutz +eln:Overvoltage_Protection.name=Überspannungsschutz +eln:PAL_Chip.name=PAL Mikrochip +eln:Pink_Brush.name=Pinker Pinsel +eln:Player_Filter.name=Spielerfilter +eln:Portable_Battery.name=Tragbare Batterie +eln:Portable_Battery_Pack.name=Tragbares Batterie-Pack +eln:Portable_Condensator.name=Tragbarer Kondensator +eln:Portable_Condensator_Pack.name=Tragbares Kondensator-Pack +eln:Portable_Electrical_Axe.name=Tragbare elektrische Axt +eln:Portable_Electrical_Mining_Drill.name=Tragbarer elektrischer Steinbohrer +eln:Power_Capacitor.name=Leistungskondensator +eln:Power_Inductor.name=Leistungsspule +eln:Power_Resistor.name=Leistungswiderstand +eln:Power_capacitor.name=Leistungskondensator +eln:Power_inductor.name=Leistungsspule +eln:Purple_Brush.name=Purpurner Pinsel +eln:Red_Brush.name=Roter Pinsel +eln:Redstone-to-Voltage_Converter.name=Redstone zu Spannung Konverter +eln:Rheostat.name=Stellwiderstand +eln:Robust_Lamp_Socket.name=Robuste Lampenfassung +eln:Rubber.name=Gummi +eln:Schmitt_Trigger_Chip.name=Schmitt-Trigger Mikrochip +eln:Sconce_Lamp_Socket.name=Wandlampensockel +eln:Signal_20H_inductor.name=20H Signalspule +eln:Signal_Antenna.name=Signalantenne +eln:Signal_Button.name=Signaltaster +eln:Signal_Cable.name=Signalkabel +eln:Signal_Diode.name=Signaldiode +eln:Signal_Processor.name=Signalverabeitungseinheit +eln:Signal_Relay.name=Signalrelais +eln:Signal_Source.name=Signalquelle +eln:Signal_Switch.name=Signalschalter +eln:Signal_Switch_with_LED.name=Signalschalter mit LED +eln:Signal_Trimmer.name=Potentiometer +eln:Silicon_Dust.name=Silikonstaub +eln:Silicon_Ingot.name=Silikonbarren +eln:Silicon_Plate.name=Silikonplatte +eln:Silver_Brush.name=Silberner Pinsel +eln:Simple_Lamp_Socket.name=Einfache Lampenfassung +eln:Single-use_Battery.name=Einwegbatterie +eln:Small_200V_Copper_Heating_Corp.name=Kleiner 200V Heizkörper aus Kupfer +eln:Small_200V_Iron_Heating_Corp.name=Kleiner 200V Heizkörper aus Eisen +eln:Small_200V_Tungsten_Heating_Corp.name=Kleiner 200V Heizkörper aus Wolfram +eln:Small_50V_Carbon_Incandescent_Light_Bulb.name=Kleine 50V Glühbirne +eln:Small_50V_Copper_Heating_Corp.name=Kleiner 50V Heizkörper aus Kupfer +eln:Small_50V_Economic_Light_Bulb.name=Kleine 50V Energiesparlampe +eln:Small_50V_Incandescent_Light_Bulb.name=Kleine 50V Glühbirne +eln:Small_50V_Iron_Heating_Corp.name=Kleiner 50V Heizkörper aus Eisen +eln:Small_50V_Tungsten_Heating_Corp.name=Kleiner 50V Heizkörper aus Wolfram +eln:Small_Active_Thermal_Dissipator.name=50V aktiver Kühlkörper +eln:Small_Flashlight.name=Taschenlampe +eln:Small_Passive_Thermal_Dissipator.name=Kleiner passiver Kühlkörper +eln:Small_Rotating_Solar_Panel.name=Kleiner richtbares Solarpanel +eln:Small_Solar_Panel.name=Kleines Solarpanel +eln:Solar_Tracker.name=Sonnenverfolger +eln:Standard_Alarm.name=Standardalarm +eln:Steam_Turbine.name=Dampfturbine +eln:Stone_Heat_Furnace.name=Steinofen +eln:Street_Light.name=Strassenlampe +eln:Suspended_Lamp_Socket.name=Hängelampe +eln:Temperature_Probe.name=Temperatursensor +eln:Thermal_Probe.name=Wärmesensor +eln:Thermal_Probe_Chip.name=Thermischer Sensor-Chip +eln:Thermistor.name=Heissleiter +eln:ThermoMeter.name=Thermometer +eln:Transformer.name=DC/DC-Wander +eln:Tree_Resin.name=Baumharz +eln:Tree_Resin_Collector.name=Baumharzsammler +eln:Tungsten_Cable.name=Wollframkabel +eln:Tungsten_Dust.name=Wolframstaub +eln:Tungsten_Ingot.name=Wolframbarren +eln:Tungsten_Ore.name=Wolframerz +eln:Tutorial_Sign.name=Hinweis-Beacon +eln:Very_High_Voltage_Cable.name=Höchstspannungskabel +eln:Very_High_Voltage_Relay.name=Höchstspannungsrelais +eln:Very_High_Voltage_Switch.name=Höchstspannungsschalter +eln:Voltage-to-Redstone_Converter.name=Spannung zu Redstone Konverter +eln:Voltage_Oriented_Battery.name=Spannungsoptimierte Batterie +eln:Voltage_Probe.name=Spannungssensor +eln:Water_Turbine.name=Wasserrad +eln:Weak_50V_Battery_Charger.name=Schwaches 50V Batterieladegerät +eln:White_Brush.name=Weisser Pinsel +eln:Wind_Turbine.name=Windturbine +eln:Wireless_Analyser.name=Funk-Prüfgerät +eln:Wireless_Button.name=Funktaster +eln:Wireless_Signal_Receiver.name=Funkempfänger +eln:Wireless_Signal_Repeater.name=Funksignalverstärker +eln:Wireless_Signal_Transmitter.name=Funksender +eln:Wireless_Switch.name=Funkschalter +eln:Wrench.name=Schraubenschlüssel +eln:X-Ray_Scanner.name=Röntgen-Strahlen Scanner +eln:XNOR_Chip.name=XNOR Mikrochip +eln:XOR_Chip.name=XOR Mikrochip +eln:Yellow_Brush.name=Gelber Pinsel +eln:entity.EAReplicator.name=Replikator +eln:item.Copper Kupferaxt +eln:item.Copper Kupferaxt +eln:item.Copper Kupferaxt +eln:item.Copper Kupferaxt +eln:item.Copper Kupferaxt +eln:item.Copper Kupferaxt +eln:item.Copper Kupferaxt +eln:item.Copper Kupferaxt +eln:item.Copper Kupferaxt +eln:item.E-Coal Elektrokohlestiefel +eln:item.E-Coal Elektrokohlestiefel +eln:item.E-Coal Elektrokohlestiefel +eln:item.E-Coal Elektrokohlestiefel +eln:itemGroup.Eln=Electrical Age +eln:mod.meta.desc=Elektrizität in deiner Welt\! +eln:tile.eln.ElnProbe.name=Electrical Age Computerinterface +eln:tile.eln.EnergyConverterElnToOtherHVUBlock.name=800V Electrical Age Energie-Exporter +eln:tile.eln.EnergyConverterElnToOtherLVUBlock.name=50V Electrical Age Energie-Exporter +eln:tile.eln.EnergyConverterElnToOtherMVUBlock.name=200V Electrical Age Energie-Exporter +eln: +eln:# ./src/main/java/mods/eln/i18n/I18N.java +eln:You_have_%s_lives_left=Ihnen bleibt %s Leben +eln: +eln:# ./src/main/java/mods/eln/item/BrushDescriptor.java +eln:Brush_is_dry=Pinsel ist trocken +eln:Can_paint_%s_blocks=Kann %s Blöcke einfärben +eln: +eln:# ./src/main/java/mods/eln/item/CombustionChamber.java +eln:Upgrade_for_the_Stone_Heat_Furnace.=Verbesserung für den Steinofen +eln: +eln:# ./src/main/java/mods/eln/item/ElectricalDrillDescriptor.java +eln:Energy_per_operation\:_%sJ=Energie pro Operation\: %sJ +eln:Time_per_operation\:_%ss=Zeit pro Operation\: %ss +eln: +eln:# ./src/main/java/mods/eln/item/FerromagneticCoreDescriptor.java +eln:Cable_loss_factor\:_%s=Verlustfaktor\: %s +eln: +eln:# ./src/main/java/mods/eln/item/HeatingCorpElement.java +eln: +eln:# ./src/main/java/mods/eln/item/LampDescriptor.java +eln:Bad=Schlecht +eln:Condition\:=Zustand\: +eln:End_of_life=Lebensende +eln:Good=Gut +eln:New=Neu +eln:Nominal_lifetime\:_%sh=Normale Lebensdauer\: %sh +eln:Technology\:_%s=Technonogie\: %s +eln:Used=Gebraucht +eln: +eln:# ./src/main/java/mods/eln/item/LampSlot.java +eln:Lamp_slot=Lampenslot +eln: +eln:# ./src/main/java/mods/eln/item/OverHeatingProtectionDescriptor.java +eln:Useful_to_prevent_overheating\nof_Batteries=Nützlich um die Überhitzung\nvon Batterien zu vermeiden +eln: +eln:# ./src/main/java/mods/eln/item/OverVoltageProtectionDescriptor.java +eln:Useful_to_prevent_over-voltage\nof_Batteries=Nützlich um Überspannungen\nan Batterien zu verhindern +eln: +eln:# ./src/main/java/mods/eln/item/SolarTrackerDescriptor.java +eln:Solar_panel_upgrade=Solarpanelerweiterung +eln: +eln:# ./src/main/java/mods/eln/item/electricalitem/BatteryItem.java +eln: +eln:# ./src/main/java/mods/eln/item/electricalitem/ElectricalLampItem.java +eln:Off=aus +eln:On=ein +eln:State\:=Zustand\: +eln:Stored_Energy\:_%sJ_(%s)=Gespeicherte Energy %sJ (%s) +eln: +eln:# ./src/main/java/mods/eln/item/regulator/RegulatorSlot.java +eln: +eln:# ./src/main/java/mods/eln/misc/UtilsClient.java +eln:Hold_shift=Shift drücken +eln: +eln:# ./src/main/java/mods/eln/misc/Version.java +eln:mod.name=Electrical Age +eln: +eln:# ./src/main/java/mods/eln/node/six/SixNodeDescriptor.java +eln: +eln:# ./src/main/java/mods/eln/simplenode/energyconverter/EnergyConverterElnToOtherGui.java +eln:Input_power_is_limited_to_%sW=Eingangsleistung ist auf %sW limitiert +eln: +eln:# ./src/main/java/mods/eln/sixnode/LogicGate.kt +eln:_O\:_= O\: +eln: +eln:# ./src/main/java/mods/eln/sixnode/TreeResinCollector/TreeResinCollectorDescriptor.java +eln:Produces_Tree_Resin_over\ntime_when_put_on_a_tree.=An einem Baum befestigt kann\ndamit Harz gewonnen werden. +eln:This_block_can_only_be_placed_on_the_side_of_a_tree!=Dieser Block kann nur an einem Baum befestigt werden\! +eln: +eln:# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerContainer.java +eln:Battery_slot=Batterieslot +eln: +eln:# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerDescriptor.java +eln:Can_be_used_to_recharge\nelectrical_items_like\:\nFlash_Light,_X-Ray_scanner\nand_Portable_Battery_...=Zum Wiederaufladen von\nelektrischen Teilen wie\:\nTaschenlampe, Rönten-Scanner\nund tragabaren Batterien... +eln: +eln:# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerGui.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/diode/DiodeDescriptor.java +eln:Electrical_current_can_only\nflow_through_the_diode\nfrom_anode_to_cathode=Der elektrische Strom kann \nnur in Richtung Anode zu\nKathode fliessen +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalalarm/ElectricalAlarmDescriptor.java +eln:= +eln:Emits_an_acoustic_alarm_if\nthe_input_signal_is_high=Erzeugt einen akkustischen Alarm\nwenn das Einganssignal wahr ist +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalalarm/ElectricalAlarmGui.java +eln:Sound_is_muted=Ton ist stumm +eln:Sound_is_not_muted=Ton ist nicht stumm +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerContainer.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerDescriptor.java +eln:Protects_electrical_components\nOpens_contact_if\:\n__-_Voltage_exceeds_a_certain_level\n-_Current_exceeds_the_cable_limit=Schützt elektrische Komponenten\nÖffnet Kontakt falls\:\n- Die Spannung eine Schwelle übersteigt\n- Der Strom die Kabelkapazität übersteigt +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerGui.java +eln:Maximum_voltage_before_cutting_off=Maximale Spannung bevor Unterbruch +eln:Minimum_voltage_before_cutting_off=Minimale Spannung bevor Unterbruch +eln:Switch_is_off=Schalter is aus +eln:Switch_is_on=Schalter ist ein +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalcable/ElectricalCableDescriptor.java +eln:A_signal_is_electrical_information\nwhich_must_be_between_0V_and_%sV=Ein Signal ist eine elektrische information\nwelche zwischen 0V und %sV kodiert ist +eln:Cable_is_adapted_to_conduct\nelectrical_signals.=Kabel ist optimiert elektrische\nSignale zu leiten +eln:Current\:_%sA=Stromstärke\: %sA +eln:Not_adapted_to_transport_power.=Nicht zum Transportieren von Leistung geeignet. +eln:Save_usage\:=Sicherer Gebrauch\: +eln:Serial_resistance\:_%sΩ=Serieller Widerstand\: %sΩ +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerDescriptor.java +eln:It_can_store_up_to_256_points.=Bis zu 256 Werte werden gespeichert. +eln:Measures_the_voltage_of_an\nelectrical_signal_and_plots\nthe_data_in_real_time.=Misst die Spannung eines\nelektrischen Signals und\nstellt dieses in Echtzeit dar. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerGui.java +eln:Back_to_display=Zurück zur Anzeige +eln:Configuration=Konfiguration +eln:Current_[A]=Strom [A] +eln:Energy_[J]=Energie [J] +eln:Percent_[-]%=Prozent [-]% +eln:Power_[W]=Leistung [W] +eln:Print=Ausdruck +eln:Sampling_period=Abtastperiode +eln:Temp._[*C]=Temp. [*C] +eln:Voltage_[V]=Spannung [V] +eln:Y-axis_max=Y-Achse max +eln:Y-axis_min=Y-Achse min +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorContainer.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorDescriptor.java +eln:Output_voltage_increases\nif_entities_are_moving_around.=Die Ausgangsspannung steigt\nbei Anwesenheit von Wesen an +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalfiredetector/ElectricalFireDetectorDescriptor.java +eln:Output_voltage_increases\nif_a_fire_has_been_detected.=Die Ausgangsspannung steigt an\nfalls Feuer detektiert wird. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceDescriptor.java +eln:Provides_configurable_signal\nvoltage.=Stellt eine konfigurierbare\nSignalspannung bereit. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceGui.java +eln:Output_at_%s=Ausgang bei %s +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricallightsensor/ElectricalLightSensorDescriptor.java +eln:0V_at_night,_%sV_at_noon.=0V bei Nacht, %sV am Mittag. +eln:Provides_an_electrical_voltage\nin_the_presence_of_light.=Ist Licht vorhanden, so wird eine\nelektrische Spannung geliefert. +eln:Provides_an_electrical_voltage\nwhich_is_proportional_to\nthe_intensity_of_daylight.=Liefert eine elektrische Spannung\nwelche proportional zur Intensität\ndes Tageslicht ist +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathContainer.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathDescriptor.java +eln:Applicable_boolean_operators\:=Mögliche boolsche O +eln:Applicable_functions\:=Verwendbare Funktionen +eln:Applicable_mathematical_operators\:=Mögliche mathematische Operationen +eln:Calculates_an_output_signal_from\n3_inputs_(A,_B,_C)_using_an_equation.=Berechnet ein Ausgangssignal aus 3 \nEingängen (A, B, C) mit Hilfe einer Formel. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathGui.java +eln:%s_Redstone(s)_required=%s Redstone werden benötigt +eln:Equation_required!=Formel benötigt\! +eln:Inputs_are=Eingänge sind +eln:Invalid_equation!=Fehlerhafte Formel\! +eln:Output_voltage_formula=Ausgangsspannungs-Formel +eln:Waiting_for_completion...=Warte auf beenden... +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalredstoneinput/ElectricalRedstoneInputDescriptor.java +eln:Converts_Redstone_signal\nto_an_electrical_voltage.=Konvertiert ein Redstone-Signal\nzu einer elektrische Spannung. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalredstoneoutput/ElectricalRedstoneOutputDescriptor.java +eln:Converts_electrical_voltage\ninto_a_Redstone_signal.=Konvertiert eine elektrische \nSpannung zu einem Redstone-Signal. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalrelay/ElectricalRelayDescriptor.java +eln:A_relay_is_an_electrical\ncontact_that_conducts_electric\ncurrent_or_not,_depending\nthe_actual_input_signal_voltage.=Ein Relais ist ein elektrischer\nKontakt welcher Strom leitet \noder nicht, je nach der aktuell\nangelegten Signalspannung. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalrelay/ElectricalRelayGui.java +eln:Normally_closed=Öffner +eln:Normally_open=Schliesser +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalsource/ElectricalSourceDescriptor.java +eln:Creative_block.=Creativer Block. +eln:Provides_an_ideal_voltage_source\nwithout_energy_or_power_limitation.=Repräsentiert eine ideale Spannungsqueulle\nohne Energie- oder Leistungsbegrenzung. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalsource/ElectricalSourceGui.java +eln:Output_voltage=Ausgangsspannung +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalswitch/ElectricalSwitchDescriptor.java +eln:Can_break_an_electrical_circuit\ninterrupting_the_current.=Kann einen elektrischen \nStromkreis unterbrechen. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricaltimeout/ElectricalTimeoutDescriptor.java +eln:Upon_application_of_a_high_signal,\nthe_timer_maintains_the_output_high_for\na_configurable_interval._Can_be_re-triggered.=Wird ein high signal angelegt, so hält\nder Timer den Ausgang für ein konfigurierbares\nInterval auf high. Kann neu ausgelöst werden. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricaltimeout/ElectricalTimeoutGui.java +eln:Set=Setze +eln:The_time_interval_the\noutput_is_kept_high.=Das Interval während dem der\nAusgang auf high gehalten wird. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalvumeter/ElectricalVuMeterDescriptor.java +eln:Displays_the_value_of_a_signal.=Zeigt den aktuellen Wert eines Signals. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalwatch/ElectricalWatchContainer.java +eln:Portable_battery_slot=Tragbare Batterie-Slot +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalweathersensor/ElectricalWeatherSensorDescriptor.java +eln:Clear\:_%sV=Klar\: %sV +eln:Provides_an_electrical_signal\ndepending_the_actual_weather.=Liefert eine elektrisches Signal\nabhängig vom aktuellen Wetter. +eln:Rain\:_%sV=Regen\: %sV +eln:Storm\:_%sV=Sturm\: %sV +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalwindsensor/ElectricalWindSensorDescriptor.java +eln:Maximum_wind_speed_is_%sm_s=Maximale Windgeschwindigkeit ist %sm/s +eln:Provides_an_electrical_signal\ndependant_on_wind_speed.=Liefert ein elektrisches Singal\nabhängig von der Windgeschwindigkeit. +eln:You_can't_place_this_block_on_the_floor_or_the_ceiling=Der Block kann nicht auf dem Boden oder an der Decke platziert werden +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricasensor/ElectricalSensorDescriptor.java +eln:Can_measure_Voltage_Power_Current=Kann Spannung/Leistung/Strom messen +eln:Measures_electrical_values_on_cables.=Misst elektrische Grössen an Kabeln. +eln:Measures_voltage_on_cables.=Miss Spannung an Kabeln. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricasensor/ElectricalSensorGui.java +eln:Current=Strom +eln:Measured_voltage\ncorresponding\nto_0%_output=Gemessene Spannung\nwelcher einem Ausgangswert\nvon 0% entspricht. +eln:Measured_voltage\ncorresponding\nto_100%_output=Gemessene Spannung\nwelcher einem Ausgangswert\nvon 100% entspricht. +eln:Voltage=Spannung +eln: +eln:# ./src/main/java/mods/eln/sixnode/energymeter/EnergyMeterGui.java +eln:Change_password=Passwort ändern +eln:Counter_Mode=Zählermodus +eln:Counts_the_energy_conducted_from\n\u00a74red\u00a7f_to_\u00a71blue\u00a7f.=Zählt die Energy welche von\n\\u00a74Rot\\u00a7f zu \\u00a71Blua\\u00a7f fliesst. +eln:Energy_counter\:_%sJ=Energiezähler\: %sJ +eln:Enter_new_energy=Neue Energie eingeben +eln:Enter_password=Passwort eingeben +eln:Prepay_Mode=Prepay-Modus +eln:Reset_time_counter=Zeitzähler zurücksetzen +eln:Set_energy_counter=Energiezähler setzen +eln:Time_counter\:=Zeitzähler\: +eln:Try_password=Passwort testen +eln:You_can_set_an_initial\namount_of_available_energy.\nWhen_the_counter_arrives_at_0\nthe_contact_will_be_opened.=Die Menge verfügbarer Energie \nkann konfiguriert werden. \nSobald der Zähler 0 erreicht, wird \nder Ausgangskontakt geöffnet. +eln:is_off=ist aus +eln:is_on=ist ein +eln:value_in_kJ=Wert in kJ +eln: +eln:# ./src/main/java/mods/eln/sixnode/groundcable/GroundCableDescriptor.java +eln:Can_be_used_to_set_a_point_of_an\nelectrical_network_to_0V_potential.\nFor_example_to_ground_negative_battery_contacts.=Kann verwendet werden um einen Punkt \nin einem elektrischen Netzwerk auf ein \n0-Potential zu bringen. z.B. können die \nnegativen Kontakte einer Batterie geerdet werden. +eln:Provides_a_zero_volt_reference.=Liefert eine Null-Volt-Referenz. +eln: +eln:# ./src/main/java/mods/eln/sixnode/hub/HubDescriptor.java +eln:Allows_crossing_cables\non_one_single_block.=Ermöglicht das Kreuzen von\nKabeln auf einem Block. +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketDescriptor.java +eln:Angle\:_%s°_to_%s°=Winkel\: %s° bis %s° +eln:Spot_range\:_%s_blocks=Reichweite\: %s Blöcke +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketGuiDraw.java +eln:%s_is_not_in_range!=%s ist nicht in Reichweite\! +eln:Cable_slot_empty=Kabel-Slot leer +eln:Orientation\:_%s°=Richtung\: %s° +eln:Parallel=Parallel +eln:Powered_by_Lamp_Supply=Durch Lampenverteiler gespiesen +eln:Powered_by_cable=Durch Kabel gespiesen +eln:Serial=Seriell +eln:Specify_the_supply_channel=Speisekanal angeben +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyContainer.java +eln:Electrical_cable_slot\nBase_range_is_32_blocks.\nEach_additional_cable\nincreases_range_by_one.=Elektrischer Kabel-Slot\nGrundreichweite ist 32 Blöcke.\nFür jedes zusätzliche Kabel wird\ndiese um einen Block erhöht. +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyDescriptor.java +eln:Supplies_all_lamps_on_the_channel.=Speist alle Lampen des Kanals. +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyGui.java +eln:Power_channel_name=Speisekanalname +eln:Wireless_channel_name=Funkkanal-Name +eln: +eln:# ./src/main/java/mods/eln/sixnode/modbusrtu/ModbusRtuGui.java +eln:Add=Hinzufügen +eln:Channel_name=Kanalname +eln:Modbus_ID=Modbus ID +eln:Modbus_RTU=Modbus RTU +eln:Station_ID=Stations ID +eln:Station_name=Stationsname +eln:Wireless_RX=Funkempfang +eln:Wireless_TX=Funksender +eln: +eln:# ./src/main/java/mods/eln/sixnode/powercapacitorsix/PowerCapacitorSixContainer.java +eln:(Increases_maximum_voltage)=(Erhöht die maximale Spannung) +eln: +eln:# ./src/main/java/mods/eln/sixnode/powercapacitorsix/PowerCapacitorSixGui.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/powerinductorsix/PowerInductorSixContainer.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/powerinductorsix/PowerInductorSixGui.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/powersocket/PowerSocketDescriptor.java +eln:Supplies_any_device\nplugged_in_with_energy.=Speist eingesteckte Geräte\nmit elektrischer Energie. +eln: +eln:# ./src/main/java/mods/eln/sixnode/powersocket/PowerSocketGui.java +eln:Specify_the_device_to_supply_through_this_socket.=Gib an, welches Gerät an diese Steckdose angeschlossen ist. +eln: +eln:# ./src/main/java/mods/eln/sixnode/resistor/ResistorContainer.java +eln:(Sets_resistance)=(Bestimmt den Widerstand) +eln:Coal_dust_slot=Kohlestaub-Slot +eln: +eln:# ./src/main/java/mods/eln/sixnode/thermalcable/ThermalCableDescriptor.java +eln:High_parallel_resistance\n_\=>_Low_power_dissipation.=Hoher Parallelwiderstand\n \=> keiner Wärmeverlust. +eln:Low_serial_resistance\n_\=>_High_conductivity.=kleiner Seriewiderstand\n \=> gute Leitfähigkeit. +eln:Parallel_resistance\:_%sK_W=Parallelwiderstand\: %sK/W +eln:Serial_resistance\:_%sK_W=Seriewiderstand\: %sK/W +eln: +eln:# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorContainer.java +eln:Cable_slot=Kabelslot +eln: +eln:# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorDescriptor.java +eln:Can_measure\:=Misst\: +eln:Measures_temperature_of_cables.=Misst die Temperatur von Kabeln. +eln:Measures_thermal_values_on_cables.=Misst thermische Werte eines Kabels. +eln:__Temperature_Power_conducted=Temperatur/Wärmeleistung +eln: +eln:# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorGui.java +eln:Measured_temperature\ncorresponding\nto_0%_output=Gemessene Temperatur\nwelche einem Ausgangswert\nvon 0% entspricht +eln:Measured_temperature\ncorresponding\nto_100%_output=Gemessene Temperatur\nwelche einem Ausgangswert\nvon 100% entspricht +eln:Temperature=Temperatur +eln: +eln:# ./src/main/java/mods/eln/sixnode/tutorialsign/TutorialSignElement.java +eln:No_text_associated_to_this_beacon=Diesem Beacon wurde kein Text zugewiesen +eln: +eln:# ./src/main/java/mods/eln/sixnode/tutorialsign/TutorialSignGui.java +eln:Set_beacon_name=Beaconname setzen +eln: +eln:# ./src/main/java/mods/eln/sixnode/wirelesssignal/rx/WirelessSignalRxGui.java +eln: +eln:# ./src/main/java/mods/eln/transparentnode/FuelGenerator.kt +eln:Nominal_power\:_%s_W=Nominale Leistung\: %s W +eln:Nominal_voltage\:_%s_V=Nominale Spannung %s V +eln:Produces_electricity_using_fuel.=Produziert Elektrizität mittels Treibstoff. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/LargeRheostat.kt +eln:Nom._Resistance\:_%s=Nom. Widerstand\: %s +eln: +eln:# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerContainer.java +eln:Drill_slot=Bohrerslot +eln:Mining_pipe_slot=Bohrstangen-Slot +eln:Ore_scanner_slot=Erzdetektor-Slot +eln: +eln:# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerDescriptor.java +eln:Excavates_on_a_small_radius.\nExtracts_ore_on_a_bigger_radius\:\n10_blocks_radius_after_10_blocks_depth.=Gräbt aus einem kleinen Loch.\nBaut aus einem grösseren Radius ab.\nDer Radius beträgt 10 Blöcke ab einer \nTiefe von einem Block. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerGuiDraw.java +eln:Chest_missing_on_the\nback_of_the_auto_miner!=Kiste auf der Rückseite der \nautonomen Abbaumaschine fehlt\! +eln:Halves_speed,_triples_power_draw=Halbiert Geschwindigkeit, verdreifacht Leistungsaufnahme +eln:Silk_Touch_Off=Silk Touch aus +eln:Silk_Touch_On=Silk Touch an +eln:Silk_touch=Silk Touch +eln: +eln:# ./src/main/java/mods/eln/transparentnode/battery/BatteryContainer.java +eln:Overheating_protection=Überhitzschutz +eln:Overvoltage_protection=Überspannungsschutz +eln: +eln:# ./src/main/java/mods/eln/transparentnode/battery/BatteryDescriptor.java +eln:Actual_charge\:_%s=Aktuelle Ladung\: %s +eln:Energy_capacity\:_%sJ=Energiekapazität\: %sJ +eln:_charged_at_%s=geladen bei %s +eln: +eln:# ./src/main/java/mods/eln/transparentnode/battery/BatteryGuiDraw.java +eln:Charge=Laden +eln:Charged=Geladen +eln:Discharge=Entladen +eln:Energy\:=Energie\: +eln:Energy\:_%s=Energie\: %s +eln:Life\:=Leben\: +eln:No_charge=Nicht geladen +eln:Power_in\:=Eingangsleistung\: +eln:Power_out\:=Ausgangsleistung\: +eln: +eln:# ./src/main/java/mods/eln/transparentnode/eggincubator/EggIncubatorContainer.java +eln:Egg_slot=Eier-Slot +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalantennarx/ElectricalAntennaRxDescriptor.java +eln:Wireless_energy_receiver.=Kabelloser Energie-Empfänger +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalantennatx/ElectricalAntennaTxDescriptor.java +eln:Efficiency\:_%s_up_to_%s=Effizienz\: %s bis %s +eln:Wireless_energy_transmitter.=Kabelloser Energie-Sender +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceContainer.java +eln:Heating_corp_slot=Heizkörper Slot +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceDescriptor.java +eln:Similar_to_a_vanilla_furnace,\nbut_heats_with_electricity.=Ähnlich einem "vanilla" Ofen, aber \nfunktioniert mit elektrischem Strom. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceGuiDraw.java +eln:Auto_shutdown=Automatische Abschaltung +eln:Manual_shutdown=Manuelle Abschaltung +eln:Set_point\:_%s°C=Sollwert\: %s°C +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalmachine/ElectricalMachineDescriptor.java +eln:Cost=Kosten +eln: +eln:# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceContainer.java +eln:Combustion_chamber_slot=Brennkammer-Slot +eln:Fuel_slot=Treibstoff-Slot +eln: +eln:# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceDescriptor.java +eln:Generates_heat_when_supplied_with_fuel.=Generiert Wärme mit Hilfe von Treibstoff. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceGuiDraw.java +eln:Control_gauge_at_%s=Kontrollanzeige bei %s +eln:Decline_fuel=Verweigere Treibstoff +eln:External_control=Externe Kontrolle +eln:Internal_control=Interne Kontrolle +eln:Take_fuel=Verbrauche Treibstoff +eln: +eln:# ./src/main/java/mods/eln/transparentnode/powercapacitor/PowerCapacitorContainer.java +eln:(Increases_maximal_voltage)=(Erhöht die maximale Spannung) +eln: +eln:# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelContainer.java +eln:Solar_tracker_slot=Sonnenverfolger-Slot +eln: +eln:# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelDescriptor.java +eln:Can_be_geared_towards_the_sun.=Kann in Richtung Sonne gerichtet werden. +eln:Max._power\:_%sW=Max. Leisting\: %sW +eln:Max._voltage\:_%sV=Max. Spannung\: %sV +eln:Produces_power_from_solar_radiation.=Wandelt die Sonnenstrahlung in Energie +eln: +eln:# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPannelGuiDraw.java +eln:It_is_night=Es ist Nacht +eln:Solar_panel_angle\:_%s°=Solarpanel-Winkel\: %s° +eln:Sun_angle\:_%s°=Sonnenwinkel\: %s° +eln: +eln:# ./src/main/java/mods/eln/transparentnode/teleporter/TeleporterGui.java +eln:Destination_transporter=Zieltransporter +eln:Power_consumption\:=Leistungsaufnahme\: +eln:Power_consumption\:_%sW=Leistungsaufnahme\: %sW +eln:Required_energy\:_%sJ=Benötigte Energie\: %sJ +eln:Start=Start +eln:Transporter_name=Transporter Name +eln: +eln:# ./src/main/java/mods/eln/transparentnode/thermaldissipatoractive/ThermalDissipatorActiveDescriptor.java +eln:Fan_cooling_power\:_%sW=Lüfterkühlleistung\: %sW +eln:Fan_power_consumption\:_%sW=Lüfterleistungsaufnahme\: %sW +eln:Fan_voltage\:_%sV=Lüfterspannung\: %sV +eln: +eln:# ./src/main/java/mods/eln/transparentnode/transformer/TransformerDescriptor.java +eln:The_voltage_ratio_is_proportional\nto_the_cable_stacks_count_ratio.=Das Spannungsverhältnis ist proportional\nzu dem Verhältnis der Anzahl Kabel. +eln:Transforms_an_input_voltage_to\nan_output_voltage.=Transformiert eine Eingangsspannung\nzu einer Ausgangsspannung. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/turbine/TurbineDescriptor.java +eln:Generates_electricity_using_heat.=Generiert Elektrizität aus Wärme. +eln:Temperature_difference\:_%s°C=Temperaturdifferenz\: %s°C +eln: +eln:# ./src/main/java/mods/eln/transparentnode/turret/TurretDescriptor.java +eln:CAUTION\:_Cables_can_get_quite_hot!=ACHTUNG\: Kabel können heiss werden\! +eln:Laser_charge_power\:_%sW...%skW=Laser Ladeleistung\: %sW...%sW +eln:Scans_for_entities_and_shoots_if_the\nentity_matches_the_configurable_filter_criteria.=Sucht Wesen und schiesst auf diese falls\nsie dem eingesetzten Filter entsprechen +eln:Standby_power\:_%sW=Standby Leisting\: %sW +eln: +eln:# ./src/main/java/mods/eln/transparentnode/turret/TurretGui.java +eln:Attack\:=Angreifen\: +eln:Do_not_attack\:=Nicht angreifen\: +eln:Recharge_power\:=Nachlade-Leistung\: +eln: +eln:# ./src/main/java/mods/eln/transparentnode/waterturbine/WaterTurbineDescriptor.java +eln:Generates_energy_using_water_stream.=Generiert Elektrizität aus Wasserströmung. +eln:No_place_for_water_turbine!=Kein Platz für die Wasserturbine vorhanden\! +eln: +eln:# ./src/main/java/mods/eln/transparentnode/windturbine/WindTurbineDescriptor.java +eln:Front\:_%s=Front\: %s +eln:Generates_energy_from_wind.=Generiert Elektrizität aus Wind. +eln:Left_Right\:_%s=Links/Rechts\: %s +eln:Up_Down\:_%s=Auf/Ab\: %s +eln:Wind_area\:=Windfläche\: +eln: +eln:# ./src/main/java/mods/eln/wiki/Data.java +eln:Energy=Energie +eln:Light=Licht +eln:Machine=Maschine +eln:Ore=Erz +eln:Portable=Tragbar +eln:Resource=Ressource +eln:Signal=Signal +eln:Thermal=Thermik +eln:Upgrade=Verbesserung +eln:Utilities=Utensilien +eln:Wiring=Verkabelung +eln: +eln:# ./src/main/java/mods/eln/wiki/Default.java +eln:Previous=Zurück +eln: +eln:# ./src/main/java/mods/eln/wiki/ItemDefault.java +eln:Can_be_used_to_craft\:=Kann benutzt werden für den Bau von\: +eln:Cannot_be_crafted!=Kann nicht zum bauen verwendet werden\! +eln:Cost_%sJ=Aufwand\: %sJ +eln:Created_by\:=Erstellt durch\: +eln:Is_not_a_crafting_material!=Ist kein Baumaterial\! +eln:Recipe\:=Rezept\: +eln: +eln:# Appearing in multiple source files +eln:(Increases_capacity)=(Erhöht Kapazität) +eln:(Increases_inductance)=(Erhöht Induktivität) +eln:Actual\:_%s°C=Aktuell\: %s°C +eln:Biggest=Grösster +eln:Booster_slot=Beschleunigerslot +eln:Can_create\:=Kann folgendes kreieren\: +eln:Capacity\:_%sF=Kapazität\: %sF +eln:Charge_power\:_%sW=Ladeleistung\: %sW +eln:Connected=Verbunden +eln:Cooling_power\:_%sW=Kühlleistung\: %sW +eln:Copper_cable_slot=Kupferkabel-Slot +eln:Dielectric_slot=Dielektrikum-Slot +eln:Discharge_power\:_%sW=Entladeleistung\: %sW +eln:Electrical_cable_slot=Elektrisches Kabel-Slot +eln:Entity_filter_slot=Wesen-Filterslot +eln:Ferromagnetic_core_slot=Ferromagnetischer Kern Slot +eln:Has_a_signal_output.=Besitzt einen Signal-Ausgang. +eln:Inductance\:_%sH=Induktivität\: %sH +eln:Internal_resistance\:_%sΩ=Interner Widerstand\: %sΩ +eln:Is_off=Ist aus +eln:Is_on=Ist an +eln:Max._temperature\:_%s°C=Max. Temperatur\: %s°C +eln:Measured_value\ncorresponding\nto_0%_output=Gemessener Wert\nwelcher einem Ausgangswert\nvon 0% entspricht +eln:Measured_value\ncorresponding\nto_100%_output=Gemessener Wert\nwelcher einem Ausgangswert\nvon 100% entspricht +eln:Nominal\:=Nominal\: +eln:Nominal_power\:_%sW=Nominale Leisting\: %sW +eln:Nominal_usage\:=Nominaler Gebrauch\: +eln:Nominal_voltage\:_%sV=Nominale Spannung\: %sV +eln:Not_connected=Nicht verbunden +eln:Not_enough_space_for_this_block=Nicht genug Platz für diesen Block vorhanden +eln:Power=Leistung +eln:Power\:_%sW=Leistung\: %sW +eln:Range\:_%s_blocks=Reichweite\: %s Blöcke +eln:Redstone_slot=Redstone Slot +eln:Regulator_slot=Regulatorslot +eln:Reset=Zurücksetzen +eln:Resistance\:_%sΩ=Widerstand\: %sΩ +eln:Smallest=Kleinster +eln:Specify_the_channel=Gib den Kanal an +eln:Stored_energy\:_%sJ_(%s)=Gespeicherte Energie\: %sJ (%s) +eln:Temperature\:_%s°C=Temperatur\: %s°C +eln:Temperature_gauge=Temperaturanzeige +eln:Thermal_isolator_slot=Thermischer Isolator Slot +eln:Toggle=Umschalten +eln:Toggle_switch=Schalter wechseln +eln:Toggles_the_output_each_time\nan_emitter's_value_rises.\nUseful_to_allow_multiple_buttons\nto_control_the_same_light.=Wechselt den Ausgang jedes Mal \nwenn der Wert eines Senders ansteigt.\nNützlich falls mehrere Taster die \ngleiche Lampe steuern sollen. +eln:Used_to_cool_down_turbines.=Kann Turbinen kühlen. +eln:Uses_the_biggest\nvalue_on_the_channel.=Benutzt den grössten\nWert auf dem Funkkanal. +eln:Uses_the_smallest\nvalue_on_the_channel.=Benutzt den kleinsten \nWert auf dem Funkkanal. +eln:Validate=Validieren +eln:Voltage\:_%sV=Spannung\: %sV +eln:You_can't_place_this_block_at_this_side=Der Block kann an dieser Seite nicht platziert werden diff --git a/src/main/resources/assets/eln/lang/el.lang b/src/main/resources/assets/eln/lang/el.lang index f4e769aa7..92e8a8d93 100644 --- a/src/main/resources/assets/eln/lang/el.lang +++ b/src/main/resources/assets/eln/lang/el.lang @@ -1,829 +1,829 @@ -# - -# ./src/main/java/mods/eln/Achievements.java -Electrical_Age_[WIP]=Electrical Age [WIP] -achievement.craft_50v_macerator=Crushing Novice -achievement.craft_50v_macerator.desc=Craft a 50V Macerator -achievement.open_guide=Wiki Power -achievement.open_guide.desc=Open the wiki guide - -# ./src/main/java/mods/eln/Eln.java -10A_Diode.name=10A Diode -200V_Active_Thermal_Dissipator.name=200V Active Thermal Dissipator -200V_Battery_Charger.name=200V Battery Charger -200V_Compressor.name=200V Compressor -200V_Condensator.name=200V Condensator -200V_Copper_Heating_Corp.name=200V Copper Heating Corp -200V_Economic_Light_Bulb.name=200V Economic Light Bulb -200V_Farming_Lamp.name=200V Farming Lamp -200V_Fuel_Generator.name=200V Fuel Generator -200V_Incandescent_Light_Bulb.name=200V Incandescent Light Bulb -200V_Iron_Heating_Corp.name=200V Iron Heating Corp -200V_LED_Bulb.name=200V LED Bulb -200V_Macerator.name=200V Macerator -200V_Magnetizer.name=200V Magnetizer -200V_Plate_Machine.name=200V Plate Machine -200V_Power_Socket.name=200V Power Socket -200V_Tungsten_Heating_Corp.name=200V Tungsten Heating Corp -200V_Turbine.name=200V Turbine -25A_Diode.name=25A Diode -50V_Battery_Charger.name=50V Battery Charger -50V_Carbon_Incandescent_Light_Bulb.name=50V Carbon Incandescent Light Bulb -50V_Compressor.name=50V Compressor -50V_Condensator.name=50V Condensator -50V_Copper_Heating_Corp.name=50V Copper Heating Corp -50V_Economic_Light_Bulb.name=50V Economic Light Bulb -50V_Egg_Incubator.name=50V Egg Incubator -50V_Farming_Lamp.name=50V Farming Lamp -50V_Fuel_Generator.name=50V Fuel Generator -50V_Incandescent_Light_Bulb.name=50V Incandescent Light Bulb -50V_Iron_Heating_Corp.name=50V Iron Heating Corp -50V_LED_Bulb.name=50V LED Bulb -50V_Macerator.name=50V Macerator -50V_Magnetizer.name=50V Magnetizer -50V_Plate_Machine.name=50V Plate Machine -50V_Power_Socket.name=50V Power Socket -50V_Tungsten_Heating_Corp.name=50V Tungsten Heating Corp -50V_Turbine.name=50V Turbine -800V_Defence_Turret.name=800V Defence Turret -AND_Chip.name=AND Chip -Advanced_Chip.name=Advanced Chip -Advanced_Electrical_Motor.name=Advanced Electrical Motor -Advanced_Energy_Meter.name=Advanced Energy Meter -Advanced_Machine_Block.name=Advanced Machine Block -Advanced_Magnet.name=Advanced Magnet -AllMeter.name=Universal-Meter -Alloy_Dust.name=Alloy Dust -Alloy_Ingot.name=Alloy Ingot -Alloy_Plate.name=Alloy Plate -Analog_Watch.name=Analog watch -Analog_vuMeter.name=Analog Gauge -Analogic_Regulator.name=Analogic Regulator -Animal_Filter.name=Animal Filter -Auto_Miner.name=Auto Miner -Average_Electrical_Drill.name=Average Electrical Drill -Average_Ferromagnetic_Core.name=Average Ferromagnetic Core -Basic_Magnet.name=Basic Magnet -Black_Brush.name=Black Brush -Blue_Brush.name=Blue Brush -Brown_Brush.name=Brown Brush -Capacity_Oriented_Battery.name=Capacity Oriented Battery -Cheap_Chip.name=Cheap Chip -Cheap_Electrical_Drill.name=Cheap Electrical Drill -Cheap_Ferromagnetic_Core.name=Cheap Ferromagnetic Core -Cinnabar_Dust.name=Cinnabar Dust -Cinnabar_Ore.name=Cinnabar Ore -Coal_Dust.name=Coal Dust -Coal_Plate.name=Coal Plate -Combustion_Chamber.name=Combustion Chamber -Copper_Cable.name=Copper Cable -Copper_Dust.name=Copper Dust -Copper_Ingot.name=Copper Ingot -Copper_Ore.name=Copper Ore -Copper_Plate.name=Copper Plate -Copper_Thermal_Cable.name=Copper Thermal Cable -Cost_Oriented_Battery.name=Cost Oriented Battery -Current_Oriented_Battery.name=Current Oriented Battery -Cyan_Brush.name=Cyan Brush -D_Flip_Flop_Chip.name=D Flip Flop Chip -Data_Logger.name=Data Logger -Data_Logger_Print.name=Data Logger Print -Dielectric.name=Dielectric -Digital_Watch.name=Digital Watch -Electrical_Anemometer_Sensor.name=Electrical Anemometer Sensor -Electrical_Breaker.name=Electrical Breaker -Electrical_Daylight_Sensor.name=Electrical Daylight Sensor -Electrical_Entity_Sensor.name=Electrical Entity Sensor -Electrical_Fire_Detector.name=Electrical Fire Detector -Electrical_Furnace.name=Electrical Furnace -Electrical_Light_Sensor.name=Electrical Light Sensor -Electrical_Motor.name=Electrical Motor -Electrical_Probe.name=Electrical Probe -Electrical_Probe_Chip.name=Electrical Probe Chip -Electrical_Source.name=Electrical Source -Electrical_Timer.name=Electrical Timer -Electrical_Weather_Sensor.name=Electrical Weather Sensor -Electrical_age_wrench,\nCan_be_used_to_turn\nsmall_wall_blocks=Electrical age wrench,\nCan be used to turn\nsmall wall blocks -Energy_Meter.name=Energy Meter -Experimental_Transporter.name=Experimental Transporter -Fast_Electrical_Drill.name=Fast Electrical Drill -Ferrite_Ingot.name=Ferrite Ingot -Flat_Lamp_Socket.name=Flat Lamp Socket -Fluorescent_Lamp_Socket.name=Fluorescent Lamp Socket -Generator.name=Generator -Gold_Dust.name=Gold Dust -Gold_Plate.name=Gold Plate -Gray_Brush.name=Gray Brush -Green_Brush.name=Green Brush -Ground_Cable.name=Ground Cable -High_Power_Receiver_Antenna.name=High Power Receiver Antenna -High_Power_Transmitter_Antenna.name=High Power Transmitter Antenna -High_Voltage_Cable.name=High Voltage Cable -High_Voltage_Relay.name=High Voltage Relay -High_Voltage_Switch.name=High Voltage Switch -Hub.name=Hub -Industrial_Data_Logger.name=Industrial Data Logger -Iron_Cable.name=Iron Cable -Iron_Dust.name=Iron Dust -Iron_Plate.name=Iron Plate -JK_Flip_Flop_Chip.name=JK Flip Flop Chip -LED_vuMeter.name=LED vuMeter -Lamp_Socket_A.name=Lamp Socket A -Lamp_Socket_B_Projector.name=Lamp Socket B Projector -Lamp_Supply.name=Lamp Supply -Large_Rheostat.name=Large Rheostat -Lead_Dust.name=Lead Dust -Lead_Ingot.name=Lead Ingot -Lead_Ore.name=Lead Ore -Lead_Plate.name=Lead Plate -Life_Oriented_Battery.name=Life Oriented Battery -Light_Blue_Brush.name=Light Blue Brush -Lime_Brush.name=Lime Brush -Long_Suspended_Lamp_Socket.name=Long Suspended Lamp Socket -Low_Power_Receiver_Antenna.name=Low Power Receiver Antenna -Low_Power_Transmitter_Antenna.name=Low Power Transmitter Antenna -Low_Voltage_Cable.name=Low Voltage Cable -Low_Voltage_Relay.name=Low Voltage Relay -Low_Voltage_Switch.name=Low Voltage Switch -Machine_Block.name=Machine Block -Machine_Booster.name=Machine Booster -Magenta_Brush.name=Magenta Brush -Medium_Power_Receiver_Antenna.name=Medium Power Receiver Antenna -Medium_Power_Transmitter_Antenna.name=Medium Power Transmitter Antenna -Medium_Voltage_Cable.name=Medium Voltage Cable -Medium_Voltage_Relay.name=Medium Voltage Relay -Medium_Voltage_Switch.name=Medium Voltage Switch -Mercury.name=Mercury -Mining_Pipe.name=Mining Pipe -Modbus_RTU.name=Modbus RTU -Modern_Data_Logger.name=Modern Data Logger -Monster_Filter.name=Monster Filter -MultiMeter.name=Multimeter -NAND_Chip.name=NAND Chip -NOR_Chip.name=NOR Chip -NOT_Chip.name=NOT Chip -Nuclear_Alarm.name=Nuclear Alarm -OR_Chip.name=OR Chip -On_OFF_Regulator_10_Percent.name=On/off regulator 10% -On_OFF_Regulator_1_Percent.name=On/off regulator 1% -Optimal_Ferromagnetic_Core.name=Optimal Ferromagnetic Core -Orange_Brush.name=Orange Brush -Ore_Scanner.name=Ore Scanner -Oscillator_Chip.name=Oscillator Chip -Overheating_Protection.name=Overheating Protection -Overvoltage_Protection.name=Overvoltage Protection -PAL_Chip.name=PAL Chip -Pink_Brush.name=Pink Brush -Player_Filter.name=Player Filter -Portable_Battery.name=Portable Battery -Portable_Battery_Pack.name=Portable Battery Pack -Portable_Condensator.name=Portable Condensator -Portable_Condensator_Pack.name=Portable Condensator Pack -Portable_Electrical_Axe.name=Portable Electrical Axe -Portable_Electrical_Mining_Drill.name=Portable Electrical Mining Drill -Power_Capacitor.name=Power Capacitor -Power_Inductor.name=Power Inductor -Power_Resistor.name=Power Resistor -Power_capacitor.name=Power capacitor -Power_inductor.name=Power inductor -Purple_Brush.name=Purple Brush -Red_Brush.name=Red Brush -Redstone-to-Voltage_Converter.name=Redstone-to-Voltage Converter -Rheostat.name=Rheostat -Robust_Lamp_Socket.name=Robust Lamp Socket -Rubber.name=Rubber -Schmitt_Trigger_Chip.name=Schmitt Trigger Chip -Sconce_Lamp_Socket.name=Sconce Lamp Socket -Signal_20H_inductor.name=Signal 20H inductor -Signal_Antenna.name=Signal Antenna -Signal_Button.name=Signal Button -Signal_Cable.name=Signal Cable -Signal_Diode.name=Signal Diode -Signal_Processor.name=Signal Processor -Signal_Relay.name=Signal Relay -Signal_Source.name=Signal Source -Signal_Switch.name=Signal Switch -Signal_Switch_with_LED.name=Signal Switch with LED -Signal_Trimmer.name=Signal Trimmer -Silicon_Dust.name=Silicon Dust -Silicon_Ingot.name=Silicon Ingot -Silicon_Plate.name=Silicon Plate -Silver_Brush.name=Silver Brush -Simple_Lamp_Socket.name=Simple Lamp Socket -Single-use_Battery.name=Single-use Battery -Small_200V_Copper_Heating_Corp.name=Small 200V Copper Heating Corp -Small_200V_Iron_Heating_Corp.name=Small 200V Iron Heating Corp -Small_200V_Tungsten_Heating_Corp.name=Small 200V Tungsten Heating Corp -Small_50V_Carbon_Incandescent_Light_Bulb.name=Small 50V Carbon Incandescent Light Bulb -Small_50V_Copper_Heating_Corp.name=Small 50V Copper Heating Corp -Small_50V_Economic_Light_Bulb.name=Small 50V Economic Light Bulb -Small_50V_Incandescent_Light_Bulb.name=Small 50V Incandescent Light Bulb -Small_50V_Iron_Heating_Corp.name=Small 50V Iron Heating Corp -Small_50V_Tungsten_Heating_Corp.name=Small 50V Tungsten Heating Corp -Small_Active_Thermal_Dissipator.name=Small Active Thermal Dissipator -Small_Flashlight.name=Small Flashlight -Small_Passive_Thermal_Dissipator.name=Small Passive Thermal Dissipator -Small_Rotating_Solar_Panel.name=Small Rotating Solar Panel -Small_Solar_Panel.name=Small Solar Panel -Solar_Tracker.name=Solar Tracker -Standard_Alarm.name=Standard Alarm -Steam_Turbine.name=Steam Turbine -Stone_Heat_Furnace.name=Stone Heat Furnace -Street_Light.name=Streetlight -Suspended_Lamp_Socket.name=Suspended Lamp Socket -Temperature_Probe.name=Temperature Probe -Thermal_Probe.name=Thermal Probe -Thermal_Probe_Chip.name=Thermal Probe Chip -Thermistor.name=Thermistor -ThermoMeter.name=Thermometer -Transformer.name=Transformer -Tree_Resin.name=Tree Resin -Tree_Resin_Collector.name=Tree Resin Collector -Tungsten_Cable.name=Tungsten Cable -Tungsten_Dust.name=Tungsten Dust -Tungsten_Ingot.name=Tungsten Ingot -Tungsten_Ore.name=Tungsten Ore -Tutorial_Sign.name=Tutorial Sign -Very_High_Voltage_Cable.name=Very High Voltage Cable -Very_High_Voltage_Relay.name=Very High Voltage Relay -Very_High_Voltage_Switch.name=Very High Voltage Switch -Voltage-to-Redstone_Converter.name=Voltage-to-Redstone Converter -Voltage_Oriented_Battery.name=Voltage Oriented Battery -Voltage_Probe.name=Voltage Probe -Water_Turbine.name=Water Turbine -Weak_50V_Battery_Charger.name=Weak 50V Battery Charger -White_Brush.name=White Brush -Wind_Turbine.name=Wind Turbine -Wireless_Analyser.name=Wireless Analyzer -Wireless_Button.name=Wireless Button -Wireless_Signal_Receiver.name=Wireless Signal Receiver -Wireless_Signal_Repeater.name=Wireless Signal Repeater -Wireless_Signal_Transmitter.name=Wireless Signal Transmitter -Wireless_Switch.name=Wireless Switch -Wrench.name=Wrench -X-Ray_Scanner.name=X-Ray Scanner -XNOR_Chip.name=XNOR Chip -XOR_Chip.name=XOR Chip -Yellow_Brush.name=Yellow Brush -entity.EAReplicator.name=Replicator -item.Copper Axe.name\=Copper Axe -item.Copper Axe.name\=Copper Axe -item.Copper Axe.name\=Copper Axe -item.Copper Axe.name\=Copper Axe -item.Copper Axe.name\=Copper Axe -item.Copper Axe.name\=Copper Axe -item.Copper Axe.name\=Copper Axe -item.Copper Axe.name\=Copper Axe -item.Copper Axe.name\=Copper Axe -item.E-Coal Boots.name\=E-Coal Boots -item.E-Coal Boots.name\=E-Coal Boots -item.E-Coal Boots.name\=E-Coal Boots -item.E-Coal Boots.name\=E-Coal Boots -itemGroup.Eln=Electrical Age -mod.meta.desc=Electricity in your base\! -tile.eln.ElnProbe.name=Eln Computer Probe -tile.eln.EnergyConverterElnToOtherHVUBlock.name=800V Electrical Age to other energy exporter -tile.eln.EnergyConverterElnToOtherLVUBlock.name=50V Electrical Age to other energy exporter -tile.eln.EnergyConverterElnToOtherMVUBlock.name=200V Electrical Age to other energy exporter - -# ./src/main/java/mods/eln/i18n/I18N.java -You_have_%s_lives_left=You have %s lives left - -# ./src/main/java/mods/eln/item/BrushDescriptor.java -Brush_is_dry=Brush is dry -Can_paint_%s_blocks=Can paint %s blocks - -# ./src/main/java/mods/eln/item/CombustionChamber.java -Upgrade_for_the_Stone_Heat_Furnace.=Upgrade for the Stone Heat Furnace. - -# ./src/main/java/mods/eln/item/ElectricalDrillDescriptor.java -Energy_per_operation\:_%sJ=Energy per operation\: %sJ -Time_per_operation\:_%ss=Time per operation\: %ss - -# ./src/main/java/mods/eln/item/FerromagneticCoreDescriptor.java -Cable_loss_factor\:_%s=Cable loss factor\: %s - -# ./src/main/java/mods/eln/item/HeatingCorpElement.java - -# ./src/main/java/mods/eln/item/LampDescriptor.java -Bad=Bad -Condition\:=Condition\: -End_of_life=End of life -Good=Good -New=New -Nominal_lifetime\:_%sh=Nominal lifetime\: %sh -Technology\:_%s=Technology\: %s -Used=Used - -# ./src/main/java/mods/eln/item/LampSlot.java -Lamp_slot=Lamp slot - -# ./src/main/java/mods/eln/item/OverHeatingProtectionDescriptor.java -Useful_to_prevent_overheating\nof_Batteries=Useful to prevent overheating\nof Batteries - -# ./src/main/java/mods/eln/item/OverVoltageProtectionDescriptor.java -Useful_to_prevent_over-voltage\nof_Batteries=Useful to prevent over-voltage\nof Batteries - -# ./src/main/java/mods/eln/item/SolarTrackerDescriptor.java -Solar_panel_upgrade=Solar panel upgrade - -# ./src/main/java/mods/eln/item/electricalitem/BatteryItem.java - -# ./src/main/java/mods/eln/item/electricalitem/ElectricalLampItem.java -Off=Off -On=On -State\:=State\: -Stored_Energy\:_%sJ_(%s)=Stored Energy\: %sJ (%s) - -# ./src/main/java/mods/eln/item/regulator/RegulatorSlot.java - -# ./src/main/java/mods/eln/misc/UtilsClient.java -Hold_shift=Hold shift - -# ./src/main/java/mods/eln/misc/Version.java -mod.name=Electrical Age - -# ./src/main/java/mods/eln/node/six/SixNodeDescriptor.java - -# ./src/main/java/mods/eln/simplenode/energyconverter/EnergyConverterElnToOtherGui.java -Input_power_is_limited_to_%sW=Input power is limited to %sW - -# ./src/main/java/mods/eln/sixnode/LogicGate.kt -_O\:_= O\: - -# ./src/main/java/mods/eln/sixnode/TreeResinCollector/TreeResinCollectorDescriptor.java -Produces_Tree_Resin_over\ntime_when_put_on_a_tree.=Produces Tree Resin over\ntime when put on a tree. -This_block_can_only_be_placed_on_the_side_of_a_tree!=This block can only be placed on the side of a tree\! - -# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerContainer.java -Battery_slot=Battery slot - -# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerDescriptor.java -Can_be_used_to_recharge\nelectrical_items_like\:\nFlash_Light,_X-Ray_scanner\nand_Portable_Battery_...=Can be used to recharge\nelectrical items like\:\nFlash Light, X-Ray scanner\nand Portable Battery ... - -# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerGui.java - -# ./src/main/java/mods/eln/sixnode/diode/DiodeDescriptor.java -Electrical_current_can_only\nflow_through_the_diode\nfrom_anode_to_cathode=Electrical current can only\nflow through the diode\nfrom anode to cathode - -# ./src/main/java/mods/eln/sixnode/electricalalarm/ElectricalAlarmDescriptor.java -= -Emits_an_acoustic_alarm_if\nthe_input_signal_is_high=Emits an acoustic alarm if\nthe input signal is high - -# ./src/main/java/mods/eln/sixnode/electricalalarm/ElectricalAlarmGui.java -Sound_is_muted=Sound is muted -Sound_is_not_muted=Sound is not muted - -# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerContainer.java - -# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerDescriptor.java -Protects_electrical_components\nOpens_contact_if\:\n__-_Voltage_exceeds_a_certain_level\n-_Current_exceeds_the_cable_limit=Protects electrical components\nOpens contact if\:\n - Voltage exceeds a certain level\n- Current exceeds the cable limit - -# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerGui.java -Maximum_voltage_before_cutting_off=Maximum voltage before cutting off -Minimum_voltage_before_cutting_off=Minimum voltage before cutting off -Switch_is_off=Switch is off -Switch_is_on=Switch is on - -# ./src/main/java/mods/eln/sixnode/electricalcable/ElectricalCableDescriptor.java -A_signal_is_electrical_information\nwhich_must_be_between_0V_and_%sV=A signal is electrical information\nwhich must be between 0V and %sV -Cable_is_adapted_to_conduct\nelectrical_signals.=Cable is adapted to conduct\nelectrical signals. -Current\:_%sA=Current\: %sA -Not_adapted_to_transport_power.=Not adapted to transport power. -Save_usage\:=Save usage\: -Serial_resistance\:_%sΩ=Serial resistance\: %sΩ - -# ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerDescriptor.java -It_can_store_up_to_256_points.=It can store up to 256 points. -Measures_the_voltage_of_an\nelectrical_signal_and_plots\nthe_data_in_real_time.=Measures the voltage of an\nelectrical signal and plots\nthe data in real time. - -# ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerGui.java -Back_to_display=Back to display -Configuration=Configuration -Current_[A]=Current [A] -Energy_[J]=Energy [J] -Percent_[-]%=Percent [-]% -Power_[W]=Power [W] -Print=Print -Sampling_period=Sampling period -Temp._[*C]=Temp. [*C] -Voltage_[V]=Voltage [V] -Y-axis_max=Y-axis max -Y-axis_min=Y-axis min - -# ./src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorContainer.java - -# ./src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorDescriptor.java -Output_voltage_increases\nif_entities_are_moving_around.=Output voltage increases\nif entities are moving around. - -# ./src/main/java/mods/eln/sixnode/electricalfiredetector/ElectricalFireDetectorDescriptor.java -Output_voltage_increases\nif_a_fire_has_been_detected.=Output voltage increases\nif a fire has been detected. - -# ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceDescriptor.java -Provides_configurable_signal\nvoltage.=Provides configurable signal\nvoltage. - -# ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceGui.java -Output_at_%s=Output at %s - -# ./src/main/java/mods/eln/sixnode/electricallightsensor/ElectricalLightSensorDescriptor.java -0V_at_night,_%sV_at_noon.=0V at night, %sV at noon. -Provides_an_electrical_voltage\nin_the_presence_of_light.=Provides an electrical voltage\nin the presence of light. -Provides_an_electrical_voltage\nwhich_is_proportional_to\nthe_intensity_of_daylight.=Provides an electrical voltage\nwhich is proportional to\nthe intensity of daylight. - -# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathContainer.java - -# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathDescriptor.java -Applicable_boolean_operators\:=Applicable boolean operators\: -Applicable_functions\:=Applicable functions\: -Applicable_mathematical_operators\:=Applicable mathematical operators\: -Calculates_an_output_signal_from\n3_inputs_(A,_B,_C)_using_an_equation.=Calculates an output signal from\n3 inputs (A, B, C) using an equation. - -# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathGui.java -%s_Redstone(s)_required=%s Redstone(s) required -Equation_required!=Equation required\! -Inputs_are=Inputs are -Invalid_equation!=Invalid equation\! -Output_voltage_formula=Output voltage formula -Waiting_for_completion...=Waiting for completion... - -# ./src/main/java/mods/eln/sixnode/electricalredstoneinput/ElectricalRedstoneInputDescriptor.java -Converts_Redstone_signal\nto_an_electrical_voltage.=Converts Redstone signal\nto an electrical voltage. - -# ./src/main/java/mods/eln/sixnode/electricalredstoneoutput/ElectricalRedstoneOutputDescriptor.java -Converts_electrical_voltage\ninto_a_Redstone_signal.=Converts electrical voltage\ninto a Redstone signal. - -# ./src/main/java/mods/eln/sixnode/electricalrelay/ElectricalRelayDescriptor.java -A_relay_is_an_electrical\ncontact_that_conducts_electric\ncurrent_or_not,_depending\nthe_actual_input_signal_voltage.=A relay is an electrical\ncontact that conducts electric\ncurrent or not, depending\nthe actual input signal voltage. - -# ./src/main/java/mods/eln/sixnode/electricalrelay/ElectricalRelayGui.java -Normally_closed=Normally closed -Normally_open=Normally open - -# ./src/main/java/mods/eln/sixnode/electricalsource/ElectricalSourceDescriptor.java -Creative_block.=Creative block. -Provides_an_ideal_voltage_source\nwithout_energy_or_power_limitation.=Provides an ideal voltage source\nwithout energy or power limitation. - -# ./src/main/java/mods/eln/sixnode/electricalsource/ElectricalSourceGui.java -Output_voltage=Output voltage - -# ./src/main/java/mods/eln/sixnode/electricalswitch/ElectricalSwitchDescriptor.java -Can_break_an_electrical_circuit\ninterrupting_the_current.=Can break an electrical circuit\ninterrupting the current. - -# ./src/main/java/mods/eln/sixnode/electricaltimeout/ElectricalTimeoutDescriptor.java -Upon_application_of_a_high_signal,\nthe_timer_maintains_the_output_high_for\na_configurable_interval._Can_be_re-triggered.=Upon application of a high signal,\nthe timer maintains the output high for\na configurable interval. Can be re-triggered. - -# ./src/main/java/mods/eln/sixnode/electricaltimeout/ElectricalTimeoutGui.java -Set=Set -The_time_interval_the\noutput_is_kept_high.=The time interval the\noutput is kept high. - -# ./src/main/java/mods/eln/sixnode/electricalvumeter/ElectricalVuMeterDescriptor.java -Displays_the_value_of_a_signal.=Displays the value of a signal. - -# ./src/main/java/mods/eln/sixnode/electricalwatch/ElectricalWatchContainer.java -Portable_battery_slot=Portable battery slot - -# ./src/main/java/mods/eln/sixnode/electricalweathersensor/ElectricalWeatherSensorDescriptor.java -Clear\:_%sV=Clear\: %sV -Provides_an_electrical_signal\ndepending_the_actual_weather.=Provides an electrical signal\ndepending the actual weather. -Rain\:_%sV=Rain\: %sV -Storm\:_%sV=Storm\: %sV - -# ./src/main/java/mods/eln/sixnode/electricalwindsensor/ElectricalWindSensorDescriptor.java -Maximum_wind_speed_is_%sm_s=Maximum wind speed is %sm/s -Provides_an_electrical_signal\ndependant_on_wind_speed.=Provides an electrical signal\ndependant on wind speed. -You_can't_place_this_block_on_the_floor_or_the_ceiling=You can't place this block on the floor or the ceiling - -# ./src/main/java/mods/eln/sixnode/electricasensor/ElectricalSensorDescriptor.java -Can_measure_Voltage_Power_Current=Can measure Voltage/Power/Current -Measures_electrical_values_on_cables.=Measures electrical values on cables. -Measures_voltage_on_cables.=Measures voltage on cables. - -# ./src/main/java/mods/eln/sixnode/electricasensor/ElectricalSensorGui.java -Current=Current -Measured_voltage\ncorresponding\nto_0%_output=Measured voltage\ncorresponding\nto 0% output -Measured_voltage\ncorresponding\nto_100%_output=Measured voltage\ncorresponding\nto 100% output -Voltage=Voltage - -# ./src/main/java/mods/eln/sixnode/energymeter/EnergyMeterGui.java -Change_password=Change password -Counter_Mode=Counter Mode -Counts_the_energy_conducted_from\n\u00a74red\u00a7f_to_\u00a71blue\u00a7f.=Counts the energy conducted from\n\\u00a74red\\u00a7f to \\u00a71blue\\u00a7f. -Energy_counter\:_%sJ=Energy counter\: %sJ -Enter_new_energy=Enter new energy -Enter_password=Enter password -Prepay_Mode=Prepay Mode -Reset_time_counter=Reset time counter -Set_energy_counter=Set energy counter -Time_counter\:=Time counter\: -Try_password=Try password -You_can_set_an_initial\namount_of_available_energy.\nWhen_the_counter_arrives_at_0\nthe_contact_will_be_opened.=You can set an initial\namount of available energy.\nWhen the counter arrives at 0\nthe contact will be opened. -is_off=is off -is_on=is on -value_in_kJ=value in kJ - -# ./src/main/java/mods/eln/sixnode/groundcable/GroundCableDescriptor.java -Can_be_used_to_set_a_point_of_an\nelectrical_network_to_0V_potential.\nFor_example_to_ground_negative_battery_contacts.=Can be used to set a point of an\nelectrical network to 0V potential.\nFor example to ground negative battery contacts. -Provides_a_zero_volt_reference.=Provides a zero volt reference. - -# ./src/main/java/mods/eln/sixnode/hub/HubDescriptor.java -Allows_crossing_cables\non_one_single_block.=Allows crossing cables\non one single block. - -# ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketDescriptor.java -Angle\:_%s°_to_%s°=Angle\: %s° to %s° -Spot_range\:_%s_blocks=Spot range\: %s blocks - -# ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketGuiDraw.java -%s_is_not_in_range!=%s is not in range\! -Cable_slot_empty=Cable slot empty -Orientation\:_%s°=Orientation\: %s° -Parallel=Parallel -Powered_by_Lamp_Supply=Powered by Lamp Supply -Powered_by_cable=Powered by cable -Serial=Serial -Specify_the_supply_channel=Specify the supply channel - -# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyContainer.java -Electrical_cable_slot\nBase_range_is_32_blocks.\nEach_additional_cable\nincreases_range_by_one.=Electrical cable slot\nBase range is 32 blocks.\nEach additional cable\nincreases range by one. - -# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyDescriptor.java -Supplies_all_lamps_on_the_channel.=Supplies all lamps on the channel. - -# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyGui.java -Power_channel_name=Power channel name -Wireless_channel_name=Wireless channel name - -# ./src/main/java/mods/eln/sixnode/modbusrtu/ModbusRtuGui.java -Add=Add -Channel_name=Channel name -Modbus_ID=Modbus ID -Modbus_RTU=Modbus RTU -Station_ID=Station ID -Station_name=Station name -Wireless_RX=Wireless RX -Wireless_TX=Wireless TX - -# ./src/main/java/mods/eln/sixnode/powercapacitorsix/PowerCapacitorSixContainer.java -(Increases_maximum_voltage)=(Increases maximum voltage) - -# ./src/main/java/mods/eln/sixnode/powercapacitorsix/PowerCapacitorSixGui.java - -# ./src/main/java/mods/eln/sixnode/powerinductorsix/PowerInductorSixContainer.java - -# ./src/main/java/mods/eln/sixnode/powerinductorsix/PowerInductorSixGui.java - -# ./src/main/java/mods/eln/sixnode/powersocket/PowerSocketDescriptor.java -Supplies_any_device\nplugged_in_with_energy.=Supplies any device\nplugged in with energy. - -# ./src/main/java/mods/eln/sixnode/powersocket/PowerSocketGui.java -Specify_the_device_to_supply_through_this_socket.=Specify the device to supply through this socket. - -# ./src/main/java/mods/eln/sixnode/resistor/ResistorContainer.java -(Sets_resistance)=(Sets resistance) -Coal_dust_slot=Coal dust slot - -# ./src/main/java/mods/eln/sixnode/thermalcable/ThermalCableDescriptor.java -High_parallel_resistance\n_\=>_Low_power_dissipation.=High parallel resistance\n \=> Low power dissipation. -Low_serial_resistance\n_\=>_High_conductivity.=Low serial resistance\n \=> High conductivity. -Parallel_resistance\:_%sK_W=Parallel resistance\: %sK/W -Serial_resistance\:_%sK_W=Serial resistance\: %sK/W - -# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorContainer.java -Cable_slot=Cable slot - -# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorDescriptor.java -Can_measure\:=Can measure\: -Measures_temperature_of_cables.=Measures temperature of cables. -Measures_thermal_values_on_cables.=Measures thermal values on cables. -__Temperature_Power_conducted=Temperature/Power conducted - -# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorGui.java -Measured_temperature\ncorresponding\nto_0%_output=Measured temperature\ncorresponding\nto 0% output -Measured_temperature\ncorresponding\nto_100%_output=Measured temperature\ncorresponding\nto 100% output -Temperature=Temperature - -# ./src/main/java/mods/eln/sixnode/tutorialsign/TutorialSignElement.java -No_text_associated_to_this_beacon=No text associated to this beacon - -# ./src/main/java/mods/eln/sixnode/tutorialsign/TutorialSignGui.java -Set_beacon_name=Set beacon name - -# ./src/main/java/mods/eln/sixnode/wirelesssignal/rx/WirelessSignalRxGui.java - -# ./src/main/java/mods/eln/transparentnode/FuelGenerator.kt -Nominal_power\:_%s_W=Nominal power\: %s W -Nominal_voltage\:_%s_V=Nominal voltage\: %s V -Produces_electricity_using_fuel.=Produces electricity using fuel. - -# ./src/main/java/mods/eln/transparentnode/LargeRheostat.kt -Nom._Resistance\:_%s=Nom. Resistance\: %s - -# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerContainer.java -Drill_slot=Drill slot -Mining_pipe_slot=Mining pipe slot -Ore_scanner_slot=Ore scanner slot - -# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerDescriptor.java -Excavates_on_a_small_radius.\nExtracts_ore_on_a_bigger_radius\:\n10_blocks_radius_after_10_blocks_depth.=Excavates on a small radius.\nExtracts ore on a bigger radius\:\n10 blocks radius after 10 blocks depth. - -# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerGuiDraw.java -Chest_missing_on_the\nback_of_the_auto_miner!=Chest missing on the\nback of the auto miner\! -Halves_speed,_triples_power_draw=Halves speed, triples power draw -Silk_Touch_Off=Silk Touch Off -Silk_Touch_On=Silk Touch On -Silk_touch=Silk touch - -# ./src/main/java/mods/eln/transparentnode/battery/BatteryContainer.java -Overheating_protection=Overheating protection -Overvoltage_protection=Overvoltage protection - -# ./src/main/java/mods/eln/transparentnode/battery/BatteryDescriptor.java -Actual_charge\:_%s=Actual charge\: %s -Energy_capacity\:_%sJ=Energy capacity\: %sJ -_charged_at_%s=charged at %s - -# ./src/main/java/mods/eln/transparentnode/battery/BatteryGuiDraw.java -Charge=Charge -Charged=Charged -Discharge=Discharge -Energy\:=Energy\: -Energy\:_%s=Energy\: %s -Life\:=Life\: -No_charge=No charge -Power_in\:=Power in\: -Power_out\:=Power out\: - -# ./src/main/java/mods/eln/transparentnode/eggincubator/EggIncubatorContainer.java -Egg_slot=Egg slot - -# ./src/main/java/mods/eln/transparentnode/electricalantennarx/ElectricalAntennaRxDescriptor.java -Wireless_energy_receiver.=Wireless energy receiver. - -# ./src/main/java/mods/eln/transparentnode/electricalantennatx/ElectricalAntennaTxDescriptor.java -Efficiency\:_%s_up_to_%s=Efficiency\: %s up to %s -Wireless_energy_transmitter.=Wireless energy transmitter. - -# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceContainer.java -Heating_corp_slot=Heating corp slot - -# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceDescriptor.java -Similar_to_a_vanilla_furnace,\nbut_heats_with_electricity.=Similar to a vanilla furnace,\nbut heats with electricity. - -# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceGuiDraw.java -Auto_shutdown=Auto shutdown -Manual_shutdown=Manual shutdown -Set_point\:_%s°C=Set point\: %s°C - -# ./src/main/java/mods/eln/transparentnode/electricalmachine/ElectricalMachineDescriptor.java -Cost=Cost - -# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceContainer.java -Combustion_chamber_slot=Combustion chamber slot -Fuel_slot=Fuel slot - -# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceDescriptor.java -Generates_heat_when_supplied_with_fuel.=Generates heat when supplied with fuel. - -# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceGuiDraw.java -Control_gauge_at_%s=Control gauge at %s -Decline_fuel=Decline fuel -External_control=External control -Internal_control=Internal control -Take_fuel=Take fuel - -# ./src/main/java/mods/eln/transparentnode/powercapacitor/PowerCapacitorContainer.java -(Increases_maximal_voltage)=(Increases maximal voltage) - -# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelContainer.java -Solar_tracker_slot=Solar tracker slot - -# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelDescriptor.java -Can_be_geared_towards_the_sun.=Can be geared towards the sun. -Max._power\:_%sW=Max. power\: %sW -Max._voltage\:_%sV=Max. voltage\: %sV -Produces_power_from_solar_radiation.=Produces power from solar radiation. - -# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPannelGuiDraw.java -It_is_night=It is night -Solar_panel_angle\:_%s°=Solar panel angle\: %s° -Sun_angle\:_%s°=Sun angle\: %s° - -# ./src/main/java/mods/eln/transparentnode/teleporter/TeleporterGui.java -Destination_transporter=Destination transporter -Power_consumption\:=Power consumption\: -Power_consumption\:_%sW=Power consumption\: %sW -Required_energy\:_%sJ=Required energy\: %sJ -Start=Start -Transporter_name=Transporter name - -# ./src/main/java/mods/eln/transparentnode/thermaldissipatoractive/ThermalDissipatorActiveDescriptor.java -Fan_cooling_power\:_%sW=Fan cooling power\: %sW -Fan_power_consumption\:_%sW=Fan power consumption\: %sW -Fan_voltage\:_%sV=Fan voltage\: %sV - -# ./src/main/java/mods/eln/transparentnode/transformer/TransformerDescriptor.java -The_voltage_ratio_is_proportional\nto_the_cable_stacks_count_ratio.=The voltage ratio is proportional\nto the cable stacks count ratio. -Transforms_an_input_voltage_to\nan_output_voltage.=Transforms an input voltage to\nan output voltage. - -# ./src/main/java/mods/eln/transparentnode/turbine/TurbineDescriptor.java -Generates_electricity_using_heat.=Generates electricity using heat. -Temperature_difference\:_%s°C=Temperature difference\: %s°C - -# ./src/main/java/mods/eln/transparentnode/turret/TurretDescriptor.java -CAUTION\:_Cables_can_get_quite_hot!=CAUTION\: Cables can get quite hot\! -Laser_charge_power\:_%sW...%skW=Laser charge power\: %sW...%skW -Scans_for_entities_and_shoots_if_the\nentity_matches_the_configurable_filter_criteria.=Scans for entities and shoots if the\nentity matches the configurable filter criteria. -Standby_power\:_%sW=Standby power\: %sW - -# ./src/main/java/mods/eln/transparentnode/turret/TurretGui.java -Attack\:=Attack\: -Do_not_attack\:=Do not attack\: -Recharge_power\:=Recharge power\: - -# ./src/main/java/mods/eln/transparentnode/waterturbine/WaterTurbineDescriptor.java -Generates_energy_using_water_stream.=Generates energy using water stream. -No_place_for_water_turbine!=No place for water turbine\! - -# ./src/main/java/mods/eln/transparentnode/windturbine/WindTurbineDescriptor.java -Front\:_%s=Front\: %s -Generates_energy_from_wind.=Generates energy from wind. -Left_Right\:_%s=Left/Right\: %s -Up_Down\:_%s=Up/Down\: %s -Wind_area\:=Wind area\: - -# ./src/main/java/mods/eln/wiki/Data.java -Energy=Energy -Light=Light -Machine=Machine -Ore=Ore -Portable=Portable -Resource=Resource -Signal=Signal -Thermal=Thermal -Upgrade=Upgrade -Utilities=Utilities -Wiring=Wiring - -# ./src/main/java/mods/eln/wiki/Default.java -Previous=Previous - -# ./src/main/java/mods/eln/wiki/ItemDefault.java -Can_be_used_to_craft\:=Can be used to craft\: -Cannot_be_crafted!=Cannot be crafted\! -Cost_%sJ=Cost %sJ -Created_by\:=Created by\: -Is_not_a_crafting_material!=Is not a crafting material\! -Recipe\:=Recipe\: - -# Appearing in multiple source files -(Increases_capacity)=(Increases capacity) -(Increases_inductance)=(Increases inductance) -Actual\:_%s°C=Actual\: %s°C -Biggest=Biggest -Booster_slot=Booster slot -Can_create\:=Can create\: -Capacity\:_%sF=Capacity\: %sF -Charge_power\:_%sW=Charge power\: %sW -Connected=Connected -Cooling_power\:_%sW=Cooling power\: %sW -Copper_cable_slot=Copper cable slot -Dielectric_slot=Dielectric slot -Discharge_power\:_%sW=Discharge power\: %sW -Electrical_cable_slot=Electrical cable slot -Entity_filter_slot=Entity filter slot -Ferromagnetic_core_slot=Ferromagnetic core slot -Has_a_signal_output.=Has a signal output. -Inductance\:_%sH=Inductance\: %sH -Internal_resistance\:_%sΩ=Internal resistance\: %sΩ -Is_off=Is off -Is_on=Is on -Max._temperature\:_%s°C=Max. temperature\: %s°C -Measured_value\ncorresponding\nto_0%_output=Measured value\ncorresponding\nto 0% output -Measured_value\ncorresponding\nto_100%_output=Measured value\ncorresponding\nto 100% output -Nominal\:=Nominal\: -Nominal_power\:_%sW=Nominal power\: %sW -Nominal_usage\:=Nominal usage\: -Nominal_voltage\:_%sV=Nominal voltage\: %sV -Not_connected=Not connected -Not_enough_space_for_this_block=Not enough space for this block -Power=Power -Power\:_%sW=Power\: %sW -Range\:_%s_blocks=Range\: %s blocks -Redstone_slot=Redstone slot -Regulator_slot=Regulator slot -Reset=Reset -Resistance\:_%sΩ=Resistance\: %sΩ -Smallest=Smallest -Specify_the_channel=Specify the channel -Stored_energy\:_%sJ_(%s)=Stored energy\: %sJ (%s) -Temperature\:_%s°C=Temperature\: %s°C -Temperature_gauge=Temperature gauge -Thermal_isolator_slot=Thermal isolator slot -Toggle=Toggle -Toggle_switch=Toggle switch -Toggles_the_output_each_time\nan_emitter's_value_rises.\nUseful_to_allow_multiple_buttons\nto_control_the_same_light.=Toggles the output each time\nan emitter's value rises.\nUseful to allow multiple buttons\nto control the same light. -Used_to_cool_down_turbines.=Used to cool down turbines. -Uses_the_biggest\nvalue_on_the_channel.=Uses the biggest\nvalue on the channel. -Uses_the_smallest\nvalue_on_the_channel.=Uses the smallest\nvalue on the channel. -Validate=Validate -Voltage\:_%sV=Voltage\: %sV -You_can't_place_this_block_at_this_side=You can't place this block at this side +eln:# +eln: +eln:# ./src/main/java/mods/eln/Achievements.java +eln:Electrical_Age_[WIP]=Electrical Age [WIP] +eln:achievement.craft_50v_macerator=Crushing Novice +eln:achievement.craft_50v_macerator.desc=Craft a 50V Macerator +eln:achievement.open_guide=Wiki Power +eln:achievement.open_guide.desc=Open the wiki guide +eln: +eln:# ./src/main/java/mods/eln/Eln.java +eln:10A_Diode.name=10A Diode +eln:200V_Active_Thermal_Dissipator.name=200V Active Thermal Dissipator +eln:200V_Battery_Charger.name=200V Battery Charger +eln:200V_Compressor.name=200V Compressor +eln:200V_Condensator.name=200V Condensator +eln:200V_Copper_Heating_Corp.name=200V Copper Heating Corp +eln:200V_Economic_Light_Bulb.name=200V Economic Light Bulb +eln:200V_Farming_Lamp.name=200V Farming Lamp +eln:200V_Fuel_Generator.name=200V Fuel Generator +eln:200V_Incandescent_Light_Bulb.name=200V Incandescent Light Bulb +eln:200V_Iron_Heating_Corp.name=200V Iron Heating Corp +eln:200V_LED_Bulb.name=200V LED Bulb +eln:200V_Macerator.name=200V Macerator +eln:200V_Magnetizer.name=200V Magnetizer +eln:200V_Plate_Machine.name=200V Plate Machine +eln:200V_Power_Socket.name=200V Power Socket +eln:200V_Tungsten_Heating_Corp.name=200V Tungsten Heating Corp +eln:200V_Turbine.name=200V Turbine +eln:25A_Diode.name=25A Diode +eln:50V_Battery_Charger.name=50V Battery Charger +eln:50V_Carbon_Incandescent_Light_Bulb.name=50V Carbon Incandescent Light Bulb +eln:50V_Compressor.name=50V Compressor +eln:50V_Condensator.name=50V Condensator +eln:50V_Copper_Heating_Corp.name=50V Copper Heating Corp +eln:50V_Economic_Light_Bulb.name=50V Economic Light Bulb +eln:50V_Egg_Incubator.name=50V Egg Incubator +eln:50V_Farming_Lamp.name=50V Farming Lamp +eln:50V_Fuel_Generator.name=50V Fuel Generator +eln:50V_Incandescent_Light_Bulb.name=50V Incandescent Light Bulb +eln:50V_Iron_Heating_Corp.name=50V Iron Heating Corp +eln:50V_LED_Bulb.name=50V LED Bulb +eln:50V_Macerator.name=50V Macerator +eln:50V_Magnetizer.name=50V Magnetizer +eln:50V_Plate_Machine.name=50V Plate Machine +eln:50V_Power_Socket.name=50V Power Socket +eln:50V_Tungsten_Heating_Corp.name=50V Tungsten Heating Corp +eln:50V_Turbine.name=50V Turbine +eln:800V_Defence_Turret.name=800V Defence Turret +eln:AND_Chip.name=AND Chip +eln:Advanced_Chip.name=Advanced Chip +eln:Advanced_Electrical_Motor.name=Advanced Electrical Motor +eln:Advanced_Energy_Meter.name=Advanced Energy Meter +eln:Advanced_Machine_Block.name=Advanced Machine Block +eln:Advanced_Magnet.name=Advanced Magnet +eln:AllMeter.name=Universal-Meter +eln:Alloy_Dust.name=Alloy Dust +eln:Alloy_Ingot.name=Alloy Ingot +eln:Alloy_Plate.name=Alloy Plate +eln:Analog_Watch.name=Analog watch +eln:Analog_vuMeter.name=Analog Gauge +eln:Analogic_Regulator.name=Analogic Regulator +eln:Animal_Filter.name=Animal Filter +eln:Auto_Miner.name=Auto Miner +eln:Average_Electrical_Drill.name=Average Electrical Drill +eln:Average_Ferromagnetic_Core.name=Average Ferromagnetic Core +eln:Basic_Magnet.name=Basic Magnet +eln:Black_Brush.name=Black Brush +eln:Blue_Brush.name=Blue Brush +eln:Brown_Brush.name=Brown Brush +eln:Capacity_Oriented_Battery.name=Capacity Oriented Battery +eln:Cheap_Chip.name=Cheap Chip +eln:Cheap_Electrical_Drill.name=Cheap Electrical Drill +eln:Cheap_Ferromagnetic_Core.name=Cheap Ferromagnetic Core +eln:Cinnabar_Dust.name=Cinnabar Dust +eln:Cinnabar_Ore.name=Cinnabar Ore +eln:Coal_Dust.name=Coal Dust +eln:Coal_Plate.name=Coal Plate +eln:Combustion_Chamber.name=Combustion Chamber +eln:Copper_Cable.name=Copper Cable +eln:Copper_Dust.name=Copper Dust +eln:Copper_Ingot.name=Copper Ingot +eln:Copper_Ore.name=Copper Ore +eln:Copper_Plate.name=Copper Plate +eln:Copper_Thermal_Cable.name=Copper Thermal Cable +eln:Cost_Oriented_Battery.name=Cost Oriented Battery +eln:Current_Oriented_Battery.name=Current Oriented Battery +eln:Cyan_Brush.name=Cyan Brush +eln:D_Flip_Flop_Chip.name=D Flip Flop Chip +eln:Data_Logger.name=Data Logger +eln:Data_Logger_Print.name=Data Logger Print +eln:Dielectric.name=Dielectric +eln:Digital_Watch.name=Digital Watch +eln:Electrical_Anemometer_Sensor.name=Electrical Anemometer Sensor +eln:Electrical_Breaker.name=Electrical Breaker +eln:Electrical_Daylight_Sensor.name=Electrical Daylight Sensor +eln:Electrical_Entity_Sensor.name=Electrical Entity Sensor +eln:Electrical_Fire_Detector.name=Electrical Fire Detector +eln:Electrical_Furnace.name=Electrical Furnace +eln:Electrical_Light_Sensor.name=Electrical Light Sensor +eln:Electrical_Motor.name=Electrical Motor +eln:Electrical_Probe.name=Electrical Probe +eln:Electrical_Probe_Chip.name=Electrical Probe Chip +eln:Electrical_Source.name=Electrical Source +eln:Electrical_Timer.name=Electrical Timer +eln:Electrical_Weather_Sensor.name=Electrical Weather Sensor +eln:Electrical_age_wrench,\nCan_be_used_to_turn\nsmall_wall_blocks=Electrical age wrench,\nCan be used to turn\nsmall wall blocks +eln:Energy_Meter.name=Energy Meter +eln:Experimental_Transporter.name=Experimental Transporter +eln:Fast_Electrical_Drill.name=Fast Electrical Drill +eln:Ferrite_Ingot.name=Ferrite Ingot +eln:Flat_Lamp_Socket.name=Flat Lamp Socket +eln:Fluorescent_Lamp_Socket.name=Fluorescent Lamp Socket +eln:Generator.name=Generator +eln:Gold_Dust.name=Gold Dust +eln:Gold_Plate.name=Gold Plate +eln:Gray_Brush.name=Gray Brush +eln:Green_Brush.name=Green Brush +eln:Ground_Cable.name=Ground Cable +eln:High_Power_Receiver_Antenna.name=High Power Receiver Antenna +eln:High_Power_Transmitter_Antenna.name=High Power Transmitter Antenna +eln:High_Voltage_Cable.name=High Voltage Cable +eln:High_Voltage_Relay.name=High Voltage Relay +eln:High_Voltage_Switch.name=High Voltage Switch +eln:Hub.name=Hub +eln:Industrial_Data_Logger.name=Industrial Data Logger +eln:Iron_Cable.name=Iron Cable +eln:Iron_Dust.name=Iron Dust +eln:Iron_Plate.name=Iron Plate +eln:JK_Flip_Flop_Chip.name=JK Flip Flop Chip +eln:LED_vuMeter.name=LED vuMeter +eln:Lamp_Socket_A.name=Lamp Socket A +eln:Lamp_Socket_B_Projector.name=Lamp Socket B Projector +eln:Lamp_Supply.name=Lamp Supply +eln:Large_Rheostat.name=Large Rheostat +eln:Lead_Dust.name=Lead Dust +eln:Lead_Ingot.name=Lead Ingot +eln:Lead_Ore.name=Lead Ore +eln:Lead_Plate.name=Lead Plate +eln:Life_Oriented_Battery.name=Life Oriented Battery +eln:Light_Blue_Brush.name=Light Blue Brush +eln:Lime_Brush.name=Lime Brush +eln:Long_Suspended_Lamp_Socket.name=Long Suspended Lamp Socket +eln:Low_Power_Receiver_Antenna.name=Low Power Receiver Antenna +eln:Low_Power_Transmitter_Antenna.name=Low Power Transmitter Antenna +eln:Low_Voltage_Cable.name=Low Voltage Cable +eln:Low_Voltage_Relay.name=Low Voltage Relay +eln:Low_Voltage_Switch.name=Low Voltage Switch +eln:Machine_Block.name=Machine Block +eln:Machine_Booster.name=Machine Booster +eln:Magenta_Brush.name=Magenta Brush +eln:Medium_Power_Receiver_Antenna.name=Medium Power Receiver Antenna +eln:Medium_Power_Transmitter_Antenna.name=Medium Power Transmitter Antenna +eln:Medium_Voltage_Cable.name=Medium Voltage Cable +eln:Medium_Voltage_Relay.name=Medium Voltage Relay +eln:Medium_Voltage_Switch.name=Medium Voltage Switch +eln:Mercury.name=Mercury +eln:Mining_Pipe.name=Mining Pipe +eln:Modbus_RTU.name=Modbus RTU +eln:Modern_Data_Logger.name=Modern Data Logger +eln:Monster_Filter.name=Monster Filter +eln:MultiMeter.name=Multimeter +eln:NAND_Chip.name=NAND Chip +eln:NOR_Chip.name=NOR Chip +eln:NOT_Chip.name=NOT Chip +eln:Nuclear_Alarm.name=Nuclear Alarm +eln:OR_Chip.name=OR Chip +eln:On_OFF_Regulator_10_Percent.name=On/off regulator 10% +eln:On_OFF_Regulator_1_Percent.name=On/off regulator 1% +eln:Optimal_Ferromagnetic_Core.name=Optimal Ferromagnetic Core +eln:Orange_Brush.name=Orange Brush +eln:Ore_Scanner.name=Ore Scanner +eln:Oscillator_Chip.name=Oscillator Chip +eln:Overheating_Protection.name=Overheating Protection +eln:Overvoltage_Protection.name=Overvoltage Protection +eln:PAL_Chip.name=PAL Chip +eln:Pink_Brush.name=Pink Brush +eln:Player_Filter.name=Player Filter +eln:Portable_Battery.name=Portable Battery +eln:Portable_Battery_Pack.name=Portable Battery Pack +eln:Portable_Condensator.name=Portable Condensator +eln:Portable_Condensator_Pack.name=Portable Condensator Pack +eln:Portable_Electrical_Axe.name=Portable Electrical Axe +eln:Portable_Electrical_Mining_Drill.name=Portable Electrical Mining Drill +eln:Power_Capacitor.name=Power Capacitor +eln:Power_Inductor.name=Power Inductor +eln:Power_Resistor.name=Power Resistor +eln:Power_capacitor.name=Power capacitor +eln:Power_inductor.name=Power inductor +eln:Purple_Brush.name=Purple Brush +eln:Red_Brush.name=Red Brush +eln:Redstone-to-Voltage_Converter.name=Redstone-to-Voltage Converter +eln:Rheostat.name=Rheostat +eln:Robust_Lamp_Socket.name=Robust Lamp Socket +eln:Rubber.name=Rubber +eln:Schmitt_Trigger_Chip.name=Schmitt Trigger Chip +eln:Sconce_Lamp_Socket.name=Sconce Lamp Socket +eln:Signal_20H_inductor.name=Signal 20H inductor +eln:Signal_Antenna.name=Signal Antenna +eln:Signal_Button.name=Signal Button +eln:Signal_Cable.name=Signal Cable +eln:Signal_Diode.name=Signal Diode +eln:Signal_Processor.name=Signal Processor +eln:Signal_Relay.name=Signal Relay +eln:Signal_Source.name=Signal Source +eln:Signal_Switch.name=Signal Switch +eln:Signal_Switch_with_LED.name=Signal Switch with LED +eln:Signal_Trimmer.name=Signal Trimmer +eln:Silicon_Dust.name=Silicon Dust +eln:Silicon_Ingot.name=Silicon Ingot +eln:Silicon_Plate.name=Silicon Plate +eln:Silver_Brush.name=Silver Brush +eln:Simple_Lamp_Socket.name=Simple Lamp Socket +eln:Single-use_Battery.name=Single-use Battery +eln:Small_200V_Copper_Heating_Corp.name=Small 200V Copper Heating Corp +eln:Small_200V_Iron_Heating_Corp.name=Small 200V Iron Heating Corp +eln:Small_200V_Tungsten_Heating_Corp.name=Small 200V Tungsten Heating Corp +eln:Small_50V_Carbon_Incandescent_Light_Bulb.name=Small 50V Carbon Incandescent Light Bulb +eln:Small_50V_Copper_Heating_Corp.name=Small 50V Copper Heating Corp +eln:Small_50V_Economic_Light_Bulb.name=Small 50V Economic Light Bulb +eln:Small_50V_Incandescent_Light_Bulb.name=Small 50V Incandescent Light Bulb +eln:Small_50V_Iron_Heating_Corp.name=Small 50V Iron Heating Corp +eln:Small_50V_Tungsten_Heating_Corp.name=Small 50V Tungsten Heating Corp +eln:Small_Active_Thermal_Dissipator.name=Small Active Thermal Dissipator +eln:Small_Flashlight.name=Small Flashlight +eln:Small_Passive_Thermal_Dissipator.name=Small Passive Thermal Dissipator +eln:Small_Rotating_Solar_Panel.name=Small Rotating Solar Panel +eln:Small_Solar_Panel.name=Small Solar Panel +eln:Solar_Tracker.name=Solar Tracker +eln:Standard_Alarm.name=Standard Alarm +eln:Steam_Turbine.name=Steam Turbine +eln:Stone_Heat_Furnace.name=Stone Heat Furnace +eln:Street_Light.name=Streetlight +eln:Suspended_Lamp_Socket.name=Suspended Lamp Socket +eln:Temperature_Probe.name=Temperature Probe +eln:Thermal_Probe.name=Thermal Probe +eln:Thermal_Probe_Chip.name=Thermal Probe Chip +eln:Thermistor.name=Thermistor +eln:ThermoMeter.name=Thermometer +eln:Transformer.name=Transformer +eln:Tree_Resin.name=Tree Resin +eln:Tree_Resin_Collector.name=Tree Resin Collector +eln:Tungsten_Cable.name=Tungsten Cable +eln:Tungsten_Dust.name=Tungsten Dust +eln:Tungsten_Ingot.name=Tungsten Ingot +eln:Tungsten_Ore.name=Tungsten Ore +eln:Tutorial_Sign.name=Tutorial Sign +eln:Very_High_Voltage_Cable.name=Very High Voltage Cable +eln:Very_High_Voltage_Relay.name=Very High Voltage Relay +eln:Very_High_Voltage_Switch.name=Very High Voltage Switch +eln:Voltage-to-Redstone_Converter.name=Voltage-to-Redstone Converter +eln:Voltage_Oriented_Battery.name=Voltage Oriented Battery +eln:Voltage_Probe.name=Voltage Probe +eln:Water_Turbine.name=Water Turbine +eln:Weak_50V_Battery_Charger.name=Weak 50V Battery Charger +eln:White_Brush.name=White Brush +eln:Wind_Turbine.name=Wind Turbine +eln:Wireless_Analyser.name=Wireless Analyzer +eln:Wireless_Button.name=Wireless Button +eln:Wireless_Signal_Receiver.name=Wireless Signal Receiver +eln:Wireless_Signal_Repeater.name=Wireless Signal Repeater +eln:Wireless_Signal_Transmitter.name=Wireless Signal Transmitter +eln:Wireless_Switch.name=Wireless Switch +eln:Wrench.name=Wrench +eln:X-Ray_Scanner.name=X-Ray Scanner +eln:XNOR_Chip.name=XNOR Chip +eln:XOR_Chip.name=XOR Chip +eln:Yellow_Brush.name=Yellow Brush +eln:entity.EAReplicator.name=Replicator +eln:item.Copper Axe.name\=Copper Axe +eln:item.Copper Axe.name\=Copper Axe +eln:item.Copper Axe.name\=Copper Axe +eln:item.Copper Axe.name\=Copper Axe +eln:item.Copper Axe.name\=Copper Axe +eln:item.Copper Axe.name\=Copper Axe +eln:item.Copper Axe.name\=Copper Axe +eln:item.Copper Axe.name\=Copper Axe +eln:item.Copper Axe.name\=Copper Axe +eln:item.E-Coal Boots.name\=E-Coal Boots +eln:item.E-Coal Boots.name\=E-Coal Boots +eln:item.E-Coal Boots.name\=E-Coal Boots +eln:item.E-Coal Boots.name\=E-Coal Boots +eln:itemGroup.Eln=Electrical Age +eln:mod.meta.desc=Electricity in your base\! +eln:tile.eln.ElnProbe.name=Eln Computer Probe +eln:tile.eln.EnergyConverterElnToOtherHVUBlock.name=800V Electrical Age to other energy exporter +eln:tile.eln.EnergyConverterElnToOtherLVUBlock.name=50V Electrical Age to other energy exporter +eln:tile.eln.EnergyConverterElnToOtherMVUBlock.name=200V Electrical Age to other energy exporter +eln: +eln:# ./src/main/java/mods/eln/i18n/I18N.java +eln:You_have_%s_lives_left=You have %s lives left +eln: +eln:# ./src/main/java/mods/eln/item/BrushDescriptor.java +eln:Brush_is_dry=Brush is dry +eln:Can_paint_%s_blocks=Can paint %s blocks +eln: +eln:# ./src/main/java/mods/eln/item/CombustionChamber.java +eln:Upgrade_for_the_Stone_Heat_Furnace.=Upgrade for the Stone Heat Furnace. +eln: +eln:# ./src/main/java/mods/eln/item/ElectricalDrillDescriptor.java +eln:Energy_per_operation\:_%sJ=Energy per operation\: %sJ +eln:Time_per_operation\:_%ss=Time per operation\: %ss +eln: +eln:# ./src/main/java/mods/eln/item/FerromagneticCoreDescriptor.java +eln:Cable_loss_factor\:_%s=Cable loss factor\: %s +eln: +eln:# ./src/main/java/mods/eln/item/HeatingCorpElement.java +eln: +eln:# ./src/main/java/mods/eln/item/LampDescriptor.java +eln:Bad=Bad +eln:Condition\:=Condition\: +eln:End_of_life=End of life +eln:Good=Good +eln:New=New +eln:Nominal_lifetime\:_%sh=Nominal lifetime\: %sh +eln:Technology\:_%s=Technology\: %s +eln:Used=Used +eln: +eln:# ./src/main/java/mods/eln/item/LampSlot.java +eln:Lamp_slot=Lamp slot +eln: +eln:# ./src/main/java/mods/eln/item/OverHeatingProtectionDescriptor.java +eln:Useful_to_prevent_overheating\nof_Batteries=Useful to prevent overheating\nof Batteries +eln: +eln:# ./src/main/java/mods/eln/item/OverVoltageProtectionDescriptor.java +eln:Useful_to_prevent_over-voltage\nof_Batteries=Useful to prevent over-voltage\nof Batteries +eln: +eln:# ./src/main/java/mods/eln/item/SolarTrackerDescriptor.java +eln:Solar_panel_upgrade=Solar panel upgrade +eln: +eln:# ./src/main/java/mods/eln/item/electricalitem/BatteryItem.java +eln: +eln:# ./src/main/java/mods/eln/item/electricalitem/ElectricalLampItem.java +eln:Off=Off +eln:On=On +eln:State\:=State\: +eln:Stored_Energy\:_%sJ_(%s)=Stored Energy\: %sJ (%s) +eln: +eln:# ./src/main/java/mods/eln/item/regulator/RegulatorSlot.java +eln: +eln:# ./src/main/java/mods/eln/misc/UtilsClient.java +eln:Hold_shift=Hold shift +eln: +eln:# ./src/main/java/mods/eln/misc/Version.java +eln:mod.name=Electrical Age +eln: +eln:# ./src/main/java/mods/eln/node/six/SixNodeDescriptor.java +eln: +eln:# ./src/main/java/mods/eln/simplenode/energyconverter/EnergyConverterElnToOtherGui.java +eln:Input_power_is_limited_to_%sW=Input power is limited to %sW +eln: +eln:# ./src/main/java/mods/eln/sixnode/LogicGate.kt +eln:_O\:_= O\: +eln: +eln:# ./src/main/java/mods/eln/sixnode/TreeResinCollector/TreeResinCollectorDescriptor.java +eln:Produces_Tree_Resin_over\ntime_when_put_on_a_tree.=Produces Tree Resin over\ntime when put on a tree. +eln:This_block_can_only_be_placed_on_the_side_of_a_tree!=This block can only be placed on the side of a tree\! +eln: +eln:# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerContainer.java +eln:Battery_slot=Battery slot +eln: +eln:# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerDescriptor.java +eln:Can_be_used_to_recharge\nelectrical_items_like\:\nFlash_Light,_X-Ray_scanner\nand_Portable_Battery_...=Can be used to recharge\nelectrical items like\:\nFlash Light, X-Ray scanner\nand Portable Battery ... +eln: +eln:# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerGui.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/diode/DiodeDescriptor.java +eln:Electrical_current_can_only\nflow_through_the_diode\nfrom_anode_to_cathode=Electrical current can only\nflow through the diode\nfrom anode to cathode +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalalarm/ElectricalAlarmDescriptor.java +eln:= +eln:Emits_an_acoustic_alarm_if\nthe_input_signal_is_high=Emits an acoustic alarm if\nthe input signal is high +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalalarm/ElectricalAlarmGui.java +eln:Sound_is_muted=Sound is muted +eln:Sound_is_not_muted=Sound is not muted +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerContainer.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerDescriptor.java +eln:Protects_electrical_components\nOpens_contact_if\:\n__-_Voltage_exceeds_a_certain_level\n-_Current_exceeds_the_cable_limit=Protects electrical components\nOpens contact if\:\n - Voltage exceeds a certain level\n- Current exceeds the cable limit +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerGui.java +eln:Maximum_voltage_before_cutting_off=Maximum voltage before cutting off +eln:Minimum_voltage_before_cutting_off=Minimum voltage before cutting off +eln:Switch_is_off=Switch is off +eln:Switch_is_on=Switch is on +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalcable/ElectricalCableDescriptor.java +eln:A_signal_is_electrical_information\nwhich_must_be_between_0V_and_%sV=A signal is electrical information\nwhich must be between 0V and %sV +eln:Cable_is_adapted_to_conduct\nelectrical_signals.=Cable is adapted to conduct\nelectrical signals. +eln:Current\:_%sA=Current\: %sA +eln:Not_adapted_to_transport_power.=Not adapted to transport power. +eln:Save_usage\:=Save usage\: +eln:Serial_resistance\:_%sΩ=Serial resistance\: %sΩ +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerDescriptor.java +eln:It_can_store_up_to_256_points.=It can store up to 256 points. +eln:Measures_the_voltage_of_an\nelectrical_signal_and_plots\nthe_data_in_real_time.=Measures the voltage of an\nelectrical signal and plots\nthe data in real time. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerGui.java +eln:Back_to_display=Back to display +eln:Configuration=Configuration +eln:Current_[A]=Current [A] +eln:Energy_[J]=Energy [J] +eln:Percent_[-]%=Percent [-]% +eln:Power_[W]=Power [W] +eln:Print=Print +eln:Sampling_period=Sampling period +eln:Temp._[*C]=Temp. [*C] +eln:Voltage_[V]=Voltage [V] +eln:Y-axis_max=Y-axis max +eln:Y-axis_min=Y-axis min +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorContainer.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorDescriptor.java +eln:Output_voltage_increases\nif_entities_are_moving_around.=Output voltage increases\nif entities are moving around. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalfiredetector/ElectricalFireDetectorDescriptor.java +eln:Output_voltage_increases\nif_a_fire_has_been_detected.=Output voltage increases\nif a fire has been detected. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceDescriptor.java +eln:Provides_configurable_signal\nvoltage.=Provides configurable signal\nvoltage. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceGui.java +eln:Output_at_%s=Output at %s +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricallightsensor/ElectricalLightSensorDescriptor.java +eln:0V_at_night,_%sV_at_noon.=0V at night, %sV at noon. +eln:Provides_an_electrical_voltage\nin_the_presence_of_light.=Provides an electrical voltage\nin the presence of light. +eln:Provides_an_electrical_voltage\nwhich_is_proportional_to\nthe_intensity_of_daylight.=Provides an electrical voltage\nwhich is proportional to\nthe intensity of daylight. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathContainer.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathDescriptor.java +eln:Applicable_boolean_operators\:=Applicable boolean operators\: +eln:Applicable_functions\:=Applicable functions\: +eln:Applicable_mathematical_operators\:=Applicable mathematical operators\: +eln:Calculates_an_output_signal_from\n3_inputs_(A,_B,_C)_using_an_equation.=Calculates an output signal from\n3 inputs (A, B, C) using an equation. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathGui.java +eln:%s_Redstone(s)_required=%s Redstone(s) required +eln:Equation_required!=Equation required\! +eln:Inputs_are=Inputs are +eln:Invalid_equation!=Invalid equation\! +eln:Output_voltage_formula=Output voltage formula +eln:Waiting_for_completion...=Waiting for completion... +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalredstoneinput/ElectricalRedstoneInputDescriptor.java +eln:Converts_Redstone_signal\nto_an_electrical_voltage.=Converts Redstone signal\nto an electrical voltage. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalredstoneoutput/ElectricalRedstoneOutputDescriptor.java +eln:Converts_electrical_voltage\ninto_a_Redstone_signal.=Converts electrical voltage\ninto a Redstone signal. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalrelay/ElectricalRelayDescriptor.java +eln:A_relay_is_an_electrical\ncontact_that_conducts_electric\ncurrent_or_not,_depending\nthe_actual_input_signal_voltage.=A relay is an electrical\ncontact that conducts electric\ncurrent or not, depending\nthe actual input signal voltage. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalrelay/ElectricalRelayGui.java +eln:Normally_closed=Normally closed +eln:Normally_open=Normally open +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalsource/ElectricalSourceDescriptor.java +eln:Creative_block.=Creative block. +eln:Provides_an_ideal_voltage_source\nwithout_energy_or_power_limitation.=Provides an ideal voltage source\nwithout energy or power limitation. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalsource/ElectricalSourceGui.java +eln:Output_voltage=Output voltage +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalswitch/ElectricalSwitchDescriptor.java +eln:Can_break_an_electrical_circuit\ninterrupting_the_current.=Can break an electrical circuit\ninterrupting the current. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricaltimeout/ElectricalTimeoutDescriptor.java +eln:Upon_application_of_a_high_signal,\nthe_timer_maintains_the_output_high_for\na_configurable_interval._Can_be_re-triggered.=Upon application of a high signal,\nthe timer maintains the output high for\na configurable interval. Can be re-triggered. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricaltimeout/ElectricalTimeoutGui.java +eln:Set=Set +eln:The_time_interval_the\noutput_is_kept_high.=The time interval the\noutput is kept high. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalvumeter/ElectricalVuMeterDescriptor.java +eln:Displays_the_value_of_a_signal.=Displays the value of a signal. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalwatch/ElectricalWatchContainer.java +eln:Portable_battery_slot=Portable battery slot +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalweathersensor/ElectricalWeatherSensorDescriptor.java +eln:Clear\:_%sV=Clear\: %sV +eln:Provides_an_electrical_signal\ndepending_the_actual_weather.=Provides an electrical signal\ndepending the actual weather. +eln:Rain\:_%sV=Rain\: %sV +eln:Storm\:_%sV=Storm\: %sV +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalwindsensor/ElectricalWindSensorDescriptor.java +eln:Maximum_wind_speed_is_%sm_s=Maximum wind speed is %sm/s +eln:Provides_an_electrical_signal\ndependant_on_wind_speed.=Provides an electrical signal\ndependant on wind speed. +eln:You_can't_place_this_block_on_the_floor_or_the_ceiling=You can't place this block on the floor or the ceiling +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricasensor/ElectricalSensorDescriptor.java +eln:Can_measure_Voltage_Power_Current=Can measure Voltage/Power/Current +eln:Measures_electrical_values_on_cables.=Measures electrical values on cables. +eln:Measures_voltage_on_cables.=Measures voltage on cables. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricasensor/ElectricalSensorGui.java +eln:Current=Current +eln:Measured_voltage\ncorresponding\nto_0%_output=Measured voltage\ncorresponding\nto 0% output +eln:Measured_voltage\ncorresponding\nto_100%_output=Measured voltage\ncorresponding\nto 100% output +eln:Voltage=Voltage +eln: +eln:# ./src/main/java/mods/eln/sixnode/energymeter/EnergyMeterGui.java +eln:Change_password=Change password +eln:Counter_Mode=Counter Mode +eln:Counts_the_energy_conducted_from\n\u00a74red\u00a7f_to_\u00a71blue\u00a7f.=Counts the energy conducted from\n\\u00a74red\\u00a7f to \\u00a71blue\\u00a7f. +eln:Energy_counter\:_%sJ=Energy counter\: %sJ +eln:Enter_new_energy=Enter new energy +eln:Enter_password=Enter password +eln:Prepay_Mode=Prepay Mode +eln:Reset_time_counter=Reset time counter +eln:Set_energy_counter=Set energy counter +eln:Time_counter\:=Time counter\: +eln:Try_password=Try password +eln:You_can_set_an_initial\namount_of_available_energy.\nWhen_the_counter_arrives_at_0\nthe_contact_will_be_opened.=You can set an initial\namount of available energy.\nWhen the counter arrives at 0\nthe contact will be opened. +eln:is_off=is off +eln:is_on=is on +eln:value_in_kJ=value in kJ +eln: +eln:# ./src/main/java/mods/eln/sixnode/groundcable/GroundCableDescriptor.java +eln:Can_be_used_to_set_a_point_of_an\nelectrical_network_to_0V_potential.\nFor_example_to_ground_negative_battery_contacts.=Can be used to set a point of an\nelectrical network to 0V potential.\nFor example to ground negative battery contacts. +eln:Provides_a_zero_volt_reference.=Provides a zero volt reference. +eln: +eln:# ./src/main/java/mods/eln/sixnode/hub/HubDescriptor.java +eln:Allows_crossing_cables\non_one_single_block.=Allows crossing cables\non one single block. +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketDescriptor.java +eln:Angle\:_%s°_to_%s°=Angle\: %s° to %s° +eln:Spot_range\:_%s_blocks=Spot range\: %s blocks +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketGuiDraw.java +eln:%s_is_not_in_range!=%s is not in range\! +eln:Cable_slot_empty=Cable slot empty +eln:Orientation\:_%s°=Orientation\: %s° +eln:Parallel=Parallel +eln:Powered_by_Lamp_Supply=Powered by Lamp Supply +eln:Powered_by_cable=Powered by cable +eln:Serial=Serial +eln:Specify_the_supply_channel=Specify the supply channel +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyContainer.java +eln:Electrical_cable_slot\nBase_range_is_32_blocks.\nEach_additional_cable\nincreases_range_by_one.=Electrical cable slot\nBase range is 32 blocks.\nEach additional cable\nincreases range by one. +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyDescriptor.java +eln:Supplies_all_lamps_on_the_channel.=Supplies all lamps on the channel. +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyGui.java +eln:Power_channel_name=Power channel name +eln:Wireless_channel_name=Wireless channel name +eln: +eln:# ./src/main/java/mods/eln/sixnode/modbusrtu/ModbusRtuGui.java +eln:Add=Add +eln:Channel_name=Channel name +eln:Modbus_ID=Modbus ID +eln:Modbus_RTU=Modbus RTU +eln:Station_ID=Station ID +eln:Station_name=Station name +eln:Wireless_RX=Wireless RX +eln:Wireless_TX=Wireless TX +eln: +eln:# ./src/main/java/mods/eln/sixnode/powercapacitorsix/PowerCapacitorSixContainer.java +eln:(Increases_maximum_voltage)=(Increases maximum voltage) +eln: +eln:# ./src/main/java/mods/eln/sixnode/powercapacitorsix/PowerCapacitorSixGui.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/powerinductorsix/PowerInductorSixContainer.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/powerinductorsix/PowerInductorSixGui.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/powersocket/PowerSocketDescriptor.java +eln:Supplies_any_device\nplugged_in_with_energy.=Supplies any device\nplugged in with energy. +eln: +eln:# ./src/main/java/mods/eln/sixnode/powersocket/PowerSocketGui.java +eln:Specify_the_device_to_supply_through_this_socket.=Specify the device to supply through this socket. +eln: +eln:# ./src/main/java/mods/eln/sixnode/resistor/ResistorContainer.java +eln:(Sets_resistance)=(Sets resistance) +eln:Coal_dust_slot=Coal dust slot +eln: +eln:# ./src/main/java/mods/eln/sixnode/thermalcable/ThermalCableDescriptor.java +eln:High_parallel_resistance\n_\=>_Low_power_dissipation.=High parallel resistance\n \=> Low power dissipation. +eln:Low_serial_resistance\n_\=>_High_conductivity.=Low serial resistance\n \=> High conductivity. +eln:Parallel_resistance\:_%sK_W=Parallel resistance\: %sK/W +eln:Serial_resistance\:_%sK_W=Serial resistance\: %sK/W +eln: +eln:# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorContainer.java +eln:Cable_slot=Cable slot +eln: +eln:# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorDescriptor.java +eln:Can_measure\:=Can measure\: +eln:Measures_temperature_of_cables.=Measures temperature of cables. +eln:Measures_thermal_values_on_cables.=Measures thermal values on cables. +eln:__Temperature_Power_conducted=Temperature/Power conducted +eln: +eln:# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorGui.java +eln:Measured_temperature\ncorresponding\nto_0%_output=Measured temperature\ncorresponding\nto 0% output +eln:Measured_temperature\ncorresponding\nto_100%_output=Measured temperature\ncorresponding\nto 100% output +eln:Temperature=Temperature +eln: +eln:# ./src/main/java/mods/eln/sixnode/tutorialsign/TutorialSignElement.java +eln:No_text_associated_to_this_beacon=No text associated to this beacon +eln: +eln:# ./src/main/java/mods/eln/sixnode/tutorialsign/TutorialSignGui.java +eln:Set_beacon_name=Set beacon name +eln: +eln:# ./src/main/java/mods/eln/sixnode/wirelesssignal/rx/WirelessSignalRxGui.java +eln: +eln:# ./src/main/java/mods/eln/transparentnode/FuelGenerator.kt +eln:Nominal_power\:_%s_W=Nominal power\: %s W +eln:Nominal_voltage\:_%s_V=Nominal voltage\: %s V +eln:Produces_electricity_using_fuel.=Produces electricity using fuel. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/LargeRheostat.kt +eln:Nom._Resistance\:_%s=Nom. Resistance\: %s +eln: +eln:# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerContainer.java +eln:Drill_slot=Drill slot +eln:Mining_pipe_slot=Mining pipe slot +eln:Ore_scanner_slot=Ore scanner slot +eln: +eln:# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerDescriptor.java +eln:Excavates_on_a_small_radius.\nExtracts_ore_on_a_bigger_radius\:\n10_blocks_radius_after_10_blocks_depth.=Excavates on a small radius.\nExtracts ore on a bigger radius\:\n10 blocks radius after 10 blocks depth. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerGuiDraw.java +eln:Chest_missing_on_the\nback_of_the_auto_miner!=Chest missing on the\nback of the auto miner\! +eln:Halves_speed,_triples_power_draw=Halves speed, triples power draw +eln:Silk_Touch_Off=Silk Touch Off +eln:Silk_Touch_On=Silk Touch On +eln:Silk_touch=Silk touch +eln: +eln:# ./src/main/java/mods/eln/transparentnode/battery/BatteryContainer.java +eln:Overheating_protection=Overheating protection +eln:Overvoltage_protection=Overvoltage protection +eln: +eln:# ./src/main/java/mods/eln/transparentnode/battery/BatteryDescriptor.java +eln:Actual_charge\:_%s=Actual charge\: %s +eln:Energy_capacity\:_%sJ=Energy capacity\: %sJ +eln:_charged_at_%s=charged at %s +eln: +eln:# ./src/main/java/mods/eln/transparentnode/battery/BatteryGuiDraw.java +eln:Charge=Charge +eln:Charged=Charged +eln:Discharge=Discharge +eln:Energy\:=Energy\: +eln:Energy\:_%s=Energy\: %s +eln:Life\:=Life\: +eln:No_charge=No charge +eln:Power_in\:=Power in\: +eln:Power_out\:=Power out\: +eln: +eln:# ./src/main/java/mods/eln/transparentnode/eggincubator/EggIncubatorContainer.java +eln:Egg_slot=Egg slot +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalantennarx/ElectricalAntennaRxDescriptor.java +eln:Wireless_energy_receiver.=Wireless energy receiver. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalantennatx/ElectricalAntennaTxDescriptor.java +eln:Efficiency\:_%s_up_to_%s=Efficiency\: %s up to %s +eln:Wireless_energy_transmitter.=Wireless energy transmitter. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceContainer.java +eln:Heating_corp_slot=Heating corp slot +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceDescriptor.java +eln:Similar_to_a_vanilla_furnace,\nbut_heats_with_electricity.=Similar to a vanilla furnace,\nbut heats with electricity. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceGuiDraw.java +eln:Auto_shutdown=Auto shutdown +eln:Manual_shutdown=Manual shutdown +eln:Set_point\:_%s°C=Set point\: %s°C +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalmachine/ElectricalMachineDescriptor.java +eln:Cost=Cost +eln: +eln:# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceContainer.java +eln:Combustion_chamber_slot=Combustion chamber slot +eln:Fuel_slot=Fuel slot +eln: +eln:# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceDescriptor.java +eln:Generates_heat_when_supplied_with_fuel.=Generates heat when supplied with fuel. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceGuiDraw.java +eln:Control_gauge_at_%s=Control gauge at %s +eln:Decline_fuel=Decline fuel +eln:External_control=External control +eln:Internal_control=Internal control +eln:Take_fuel=Take fuel +eln: +eln:# ./src/main/java/mods/eln/transparentnode/powercapacitor/PowerCapacitorContainer.java +eln:(Increases_maximal_voltage)=(Increases maximal voltage) +eln: +eln:# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelContainer.java +eln:Solar_tracker_slot=Solar tracker slot +eln: +eln:# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelDescriptor.java +eln:Can_be_geared_towards_the_sun.=Can be geared towards the sun. +eln:Max._power\:_%sW=Max. power\: %sW +eln:Max._voltage\:_%sV=Max. voltage\: %sV +eln:Produces_power_from_solar_radiation.=Produces power from solar radiation. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPannelGuiDraw.java +eln:It_is_night=It is night +eln:Solar_panel_angle\:_%s°=Solar panel angle\: %s° +eln:Sun_angle\:_%s°=Sun angle\: %s° +eln: +eln:# ./src/main/java/mods/eln/transparentnode/teleporter/TeleporterGui.java +eln:Destination_transporter=Destination transporter +eln:Power_consumption\:=Power consumption\: +eln:Power_consumption\:_%sW=Power consumption\: %sW +eln:Required_energy\:_%sJ=Required energy\: %sJ +eln:Start=Start +eln:Transporter_name=Transporter name +eln: +eln:# ./src/main/java/mods/eln/transparentnode/thermaldissipatoractive/ThermalDissipatorActiveDescriptor.java +eln:Fan_cooling_power\:_%sW=Fan cooling power\: %sW +eln:Fan_power_consumption\:_%sW=Fan power consumption\: %sW +eln:Fan_voltage\:_%sV=Fan voltage\: %sV +eln: +eln:# ./src/main/java/mods/eln/transparentnode/transformer/TransformerDescriptor.java +eln:The_voltage_ratio_is_proportional\nto_the_cable_stacks_count_ratio.=The voltage ratio is proportional\nto the cable stacks count ratio. +eln:Transforms_an_input_voltage_to\nan_output_voltage.=Transforms an input voltage to\nan output voltage. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/turbine/TurbineDescriptor.java +eln:Generates_electricity_using_heat.=Generates electricity using heat. +eln:Temperature_difference\:_%s°C=Temperature difference\: %s°C +eln: +eln:# ./src/main/java/mods/eln/transparentnode/turret/TurretDescriptor.java +eln:CAUTION\:_Cables_can_get_quite_hot!=CAUTION\: Cables can get quite hot\! +eln:Laser_charge_power\:_%sW...%skW=Laser charge power\: %sW...%skW +eln:Scans_for_entities_and_shoots_if_the\nentity_matches_the_configurable_filter_criteria.=Scans for entities and shoots if the\nentity matches the configurable filter criteria. +eln:Standby_power\:_%sW=Standby power\: %sW +eln: +eln:# ./src/main/java/mods/eln/transparentnode/turret/TurretGui.java +eln:Attack\:=Attack\: +eln:Do_not_attack\:=Do not attack\: +eln:Recharge_power\:=Recharge power\: +eln: +eln:# ./src/main/java/mods/eln/transparentnode/waterturbine/WaterTurbineDescriptor.java +eln:Generates_energy_using_water_stream.=Generates energy using water stream. +eln:No_place_for_water_turbine!=No place for water turbine\! +eln: +eln:# ./src/main/java/mods/eln/transparentnode/windturbine/WindTurbineDescriptor.java +eln:Front\:_%s=Front\: %s +eln:Generates_energy_from_wind.=Generates energy from wind. +eln:Left_Right\:_%s=Left/Right\: %s +eln:Up_Down\:_%s=Up/Down\: %s +eln:Wind_area\:=Wind area\: +eln: +eln:# ./src/main/java/mods/eln/wiki/Data.java +eln:Energy=Energy +eln:Light=Light +eln:Machine=Machine +eln:Ore=Ore +eln:Portable=Portable +eln:Resource=Resource +eln:Signal=Signal +eln:Thermal=Thermal +eln:Upgrade=Upgrade +eln:Utilities=Utilities +eln:Wiring=Wiring +eln: +eln:# ./src/main/java/mods/eln/wiki/Default.java +eln:Previous=Previous +eln: +eln:# ./src/main/java/mods/eln/wiki/ItemDefault.java +eln:Can_be_used_to_craft\:=Can be used to craft\: +eln:Cannot_be_crafted!=Cannot be crafted\! +eln:Cost_%sJ=Cost %sJ +eln:Created_by\:=Created by\: +eln:Is_not_a_crafting_material!=Is not a crafting material\! +eln:Recipe\:=Recipe\: +eln: +eln:# Appearing in multiple source files +eln:(Increases_capacity)=(Increases capacity) +eln:(Increases_inductance)=(Increases inductance) +eln:Actual\:_%s°C=Actual\: %s°C +eln:Biggest=Biggest +eln:Booster_slot=Booster slot +eln:Can_create\:=Can create\: +eln:Capacity\:_%sF=Capacity\: %sF +eln:Charge_power\:_%sW=Charge power\: %sW +eln:Connected=Connected +eln:Cooling_power\:_%sW=Cooling power\: %sW +eln:Copper_cable_slot=Copper cable slot +eln:Dielectric_slot=Dielectric slot +eln:Discharge_power\:_%sW=Discharge power\: %sW +eln:Electrical_cable_slot=Electrical cable slot +eln:Entity_filter_slot=Entity filter slot +eln:Ferromagnetic_core_slot=Ferromagnetic core slot +eln:Has_a_signal_output.=Has a signal output. +eln:Inductance\:_%sH=Inductance\: %sH +eln:Internal_resistance\:_%sΩ=Internal resistance\: %sΩ +eln:Is_off=Is off +eln:Is_on=Is on +eln:Max._temperature\:_%s°C=Max. temperature\: %s°C +eln:Measured_value\ncorresponding\nto_0%_output=Measured value\ncorresponding\nto 0% output +eln:Measured_value\ncorresponding\nto_100%_output=Measured value\ncorresponding\nto 100% output +eln:Nominal\:=Nominal\: +eln:Nominal_power\:_%sW=Nominal power\: %sW +eln:Nominal_usage\:=Nominal usage\: +eln:Nominal_voltage\:_%sV=Nominal voltage\: %sV +eln:Not_connected=Not connected +eln:Not_enough_space_for_this_block=Not enough space for this block +eln:Power=Power +eln:Power\:_%sW=Power\: %sW +eln:Range\:_%s_blocks=Range\: %s blocks +eln:Redstone_slot=Redstone slot +eln:Regulator_slot=Regulator slot +eln:Reset=Reset +eln:Resistance\:_%sΩ=Resistance\: %sΩ +eln:Smallest=Smallest +eln:Specify_the_channel=Specify the channel +eln:Stored_energy\:_%sJ_(%s)=Stored energy\: %sJ (%s) +eln:Temperature\:_%s°C=Temperature\: %s°C +eln:Temperature_gauge=Temperature gauge +eln:Thermal_isolator_slot=Thermal isolator slot +eln:Toggle=Toggle +eln:Toggle_switch=Toggle switch +eln:Toggles_the_output_each_time\nan_emitter's_value_rises.\nUseful_to_allow_multiple_buttons\nto_control_the_same_light.=Toggles the output each time\nan emitter's value rises.\nUseful to allow multiple buttons\nto control the same light. +eln:Used_to_cool_down_turbines.=Used to cool down turbines. +eln:Uses_the_biggest\nvalue_on_the_channel.=Uses the biggest\nvalue on the channel. +eln:Uses_the_smallest\nvalue_on_the_channel.=Uses the smallest\nvalue on the channel. +eln:Validate=Validate +eln:Voltage\:_%sV=Voltage\: %sV +eln:You_can't_place_this_block_at_this_side=You can't place this block at this side diff --git a/src/main/resources/assets/eln/lang/el_GR.lang b/src/main/resources/assets/eln/lang/el_GR.lang index f4e769aa7..92e8a8d93 100644 --- a/src/main/resources/assets/eln/lang/el_GR.lang +++ b/src/main/resources/assets/eln/lang/el_GR.lang @@ -1,829 +1,829 @@ -# - -# ./src/main/java/mods/eln/Achievements.java -Electrical_Age_[WIP]=Electrical Age [WIP] -achievement.craft_50v_macerator=Crushing Novice -achievement.craft_50v_macerator.desc=Craft a 50V Macerator -achievement.open_guide=Wiki Power -achievement.open_guide.desc=Open the wiki guide - -# ./src/main/java/mods/eln/Eln.java -10A_Diode.name=10A Diode -200V_Active_Thermal_Dissipator.name=200V Active Thermal Dissipator -200V_Battery_Charger.name=200V Battery Charger -200V_Compressor.name=200V Compressor -200V_Condensator.name=200V Condensator -200V_Copper_Heating_Corp.name=200V Copper Heating Corp -200V_Economic_Light_Bulb.name=200V Economic Light Bulb -200V_Farming_Lamp.name=200V Farming Lamp -200V_Fuel_Generator.name=200V Fuel Generator -200V_Incandescent_Light_Bulb.name=200V Incandescent Light Bulb -200V_Iron_Heating_Corp.name=200V Iron Heating Corp -200V_LED_Bulb.name=200V LED Bulb -200V_Macerator.name=200V Macerator -200V_Magnetizer.name=200V Magnetizer -200V_Plate_Machine.name=200V Plate Machine -200V_Power_Socket.name=200V Power Socket -200V_Tungsten_Heating_Corp.name=200V Tungsten Heating Corp -200V_Turbine.name=200V Turbine -25A_Diode.name=25A Diode -50V_Battery_Charger.name=50V Battery Charger -50V_Carbon_Incandescent_Light_Bulb.name=50V Carbon Incandescent Light Bulb -50V_Compressor.name=50V Compressor -50V_Condensator.name=50V Condensator -50V_Copper_Heating_Corp.name=50V Copper Heating Corp -50V_Economic_Light_Bulb.name=50V Economic Light Bulb -50V_Egg_Incubator.name=50V Egg Incubator -50V_Farming_Lamp.name=50V Farming Lamp -50V_Fuel_Generator.name=50V Fuel Generator -50V_Incandescent_Light_Bulb.name=50V Incandescent Light Bulb -50V_Iron_Heating_Corp.name=50V Iron Heating Corp -50V_LED_Bulb.name=50V LED Bulb -50V_Macerator.name=50V Macerator -50V_Magnetizer.name=50V Magnetizer -50V_Plate_Machine.name=50V Plate Machine -50V_Power_Socket.name=50V Power Socket -50V_Tungsten_Heating_Corp.name=50V Tungsten Heating Corp -50V_Turbine.name=50V Turbine -800V_Defence_Turret.name=800V Defence Turret -AND_Chip.name=AND Chip -Advanced_Chip.name=Advanced Chip -Advanced_Electrical_Motor.name=Advanced Electrical Motor -Advanced_Energy_Meter.name=Advanced Energy Meter -Advanced_Machine_Block.name=Advanced Machine Block -Advanced_Magnet.name=Advanced Magnet -AllMeter.name=Universal-Meter -Alloy_Dust.name=Alloy Dust -Alloy_Ingot.name=Alloy Ingot -Alloy_Plate.name=Alloy Plate -Analog_Watch.name=Analog watch -Analog_vuMeter.name=Analog Gauge -Analogic_Regulator.name=Analogic Regulator -Animal_Filter.name=Animal Filter -Auto_Miner.name=Auto Miner -Average_Electrical_Drill.name=Average Electrical Drill -Average_Ferromagnetic_Core.name=Average Ferromagnetic Core -Basic_Magnet.name=Basic Magnet -Black_Brush.name=Black Brush -Blue_Brush.name=Blue Brush -Brown_Brush.name=Brown Brush -Capacity_Oriented_Battery.name=Capacity Oriented Battery -Cheap_Chip.name=Cheap Chip -Cheap_Electrical_Drill.name=Cheap Electrical Drill -Cheap_Ferromagnetic_Core.name=Cheap Ferromagnetic Core -Cinnabar_Dust.name=Cinnabar Dust -Cinnabar_Ore.name=Cinnabar Ore -Coal_Dust.name=Coal Dust -Coal_Plate.name=Coal Plate -Combustion_Chamber.name=Combustion Chamber -Copper_Cable.name=Copper Cable -Copper_Dust.name=Copper Dust -Copper_Ingot.name=Copper Ingot -Copper_Ore.name=Copper Ore -Copper_Plate.name=Copper Plate -Copper_Thermal_Cable.name=Copper Thermal Cable -Cost_Oriented_Battery.name=Cost Oriented Battery -Current_Oriented_Battery.name=Current Oriented Battery -Cyan_Brush.name=Cyan Brush -D_Flip_Flop_Chip.name=D Flip Flop Chip -Data_Logger.name=Data Logger -Data_Logger_Print.name=Data Logger Print -Dielectric.name=Dielectric -Digital_Watch.name=Digital Watch -Electrical_Anemometer_Sensor.name=Electrical Anemometer Sensor -Electrical_Breaker.name=Electrical Breaker -Electrical_Daylight_Sensor.name=Electrical Daylight Sensor -Electrical_Entity_Sensor.name=Electrical Entity Sensor -Electrical_Fire_Detector.name=Electrical Fire Detector -Electrical_Furnace.name=Electrical Furnace -Electrical_Light_Sensor.name=Electrical Light Sensor -Electrical_Motor.name=Electrical Motor -Electrical_Probe.name=Electrical Probe -Electrical_Probe_Chip.name=Electrical Probe Chip -Electrical_Source.name=Electrical Source -Electrical_Timer.name=Electrical Timer -Electrical_Weather_Sensor.name=Electrical Weather Sensor -Electrical_age_wrench,\nCan_be_used_to_turn\nsmall_wall_blocks=Electrical age wrench,\nCan be used to turn\nsmall wall blocks -Energy_Meter.name=Energy Meter -Experimental_Transporter.name=Experimental Transporter -Fast_Electrical_Drill.name=Fast Electrical Drill -Ferrite_Ingot.name=Ferrite Ingot -Flat_Lamp_Socket.name=Flat Lamp Socket -Fluorescent_Lamp_Socket.name=Fluorescent Lamp Socket -Generator.name=Generator -Gold_Dust.name=Gold Dust -Gold_Plate.name=Gold Plate -Gray_Brush.name=Gray Brush -Green_Brush.name=Green Brush -Ground_Cable.name=Ground Cable -High_Power_Receiver_Antenna.name=High Power Receiver Antenna -High_Power_Transmitter_Antenna.name=High Power Transmitter Antenna -High_Voltage_Cable.name=High Voltage Cable -High_Voltage_Relay.name=High Voltage Relay -High_Voltage_Switch.name=High Voltage Switch -Hub.name=Hub -Industrial_Data_Logger.name=Industrial Data Logger -Iron_Cable.name=Iron Cable -Iron_Dust.name=Iron Dust -Iron_Plate.name=Iron Plate -JK_Flip_Flop_Chip.name=JK Flip Flop Chip -LED_vuMeter.name=LED vuMeter -Lamp_Socket_A.name=Lamp Socket A -Lamp_Socket_B_Projector.name=Lamp Socket B Projector -Lamp_Supply.name=Lamp Supply -Large_Rheostat.name=Large Rheostat -Lead_Dust.name=Lead Dust -Lead_Ingot.name=Lead Ingot -Lead_Ore.name=Lead Ore -Lead_Plate.name=Lead Plate -Life_Oriented_Battery.name=Life Oriented Battery -Light_Blue_Brush.name=Light Blue Brush -Lime_Brush.name=Lime Brush -Long_Suspended_Lamp_Socket.name=Long Suspended Lamp Socket -Low_Power_Receiver_Antenna.name=Low Power Receiver Antenna -Low_Power_Transmitter_Antenna.name=Low Power Transmitter Antenna -Low_Voltage_Cable.name=Low Voltage Cable -Low_Voltage_Relay.name=Low Voltage Relay -Low_Voltage_Switch.name=Low Voltage Switch -Machine_Block.name=Machine Block -Machine_Booster.name=Machine Booster -Magenta_Brush.name=Magenta Brush -Medium_Power_Receiver_Antenna.name=Medium Power Receiver Antenna -Medium_Power_Transmitter_Antenna.name=Medium Power Transmitter Antenna -Medium_Voltage_Cable.name=Medium Voltage Cable -Medium_Voltage_Relay.name=Medium Voltage Relay -Medium_Voltage_Switch.name=Medium Voltage Switch -Mercury.name=Mercury -Mining_Pipe.name=Mining Pipe -Modbus_RTU.name=Modbus RTU -Modern_Data_Logger.name=Modern Data Logger -Monster_Filter.name=Monster Filter -MultiMeter.name=Multimeter -NAND_Chip.name=NAND Chip -NOR_Chip.name=NOR Chip -NOT_Chip.name=NOT Chip -Nuclear_Alarm.name=Nuclear Alarm -OR_Chip.name=OR Chip -On_OFF_Regulator_10_Percent.name=On/off regulator 10% -On_OFF_Regulator_1_Percent.name=On/off regulator 1% -Optimal_Ferromagnetic_Core.name=Optimal Ferromagnetic Core -Orange_Brush.name=Orange Brush -Ore_Scanner.name=Ore Scanner -Oscillator_Chip.name=Oscillator Chip -Overheating_Protection.name=Overheating Protection -Overvoltage_Protection.name=Overvoltage Protection -PAL_Chip.name=PAL Chip -Pink_Brush.name=Pink Brush -Player_Filter.name=Player Filter -Portable_Battery.name=Portable Battery -Portable_Battery_Pack.name=Portable Battery Pack -Portable_Condensator.name=Portable Condensator -Portable_Condensator_Pack.name=Portable Condensator Pack -Portable_Electrical_Axe.name=Portable Electrical Axe -Portable_Electrical_Mining_Drill.name=Portable Electrical Mining Drill -Power_Capacitor.name=Power Capacitor -Power_Inductor.name=Power Inductor -Power_Resistor.name=Power Resistor -Power_capacitor.name=Power capacitor -Power_inductor.name=Power inductor -Purple_Brush.name=Purple Brush -Red_Brush.name=Red Brush -Redstone-to-Voltage_Converter.name=Redstone-to-Voltage Converter -Rheostat.name=Rheostat -Robust_Lamp_Socket.name=Robust Lamp Socket -Rubber.name=Rubber -Schmitt_Trigger_Chip.name=Schmitt Trigger Chip -Sconce_Lamp_Socket.name=Sconce Lamp Socket -Signal_20H_inductor.name=Signal 20H inductor -Signal_Antenna.name=Signal Antenna -Signal_Button.name=Signal Button -Signal_Cable.name=Signal Cable -Signal_Diode.name=Signal Diode -Signal_Processor.name=Signal Processor -Signal_Relay.name=Signal Relay -Signal_Source.name=Signal Source -Signal_Switch.name=Signal Switch -Signal_Switch_with_LED.name=Signal Switch with LED -Signal_Trimmer.name=Signal Trimmer -Silicon_Dust.name=Silicon Dust -Silicon_Ingot.name=Silicon Ingot -Silicon_Plate.name=Silicon Plate -Silver_Brush.name=Silver Brush -Simple_Lamp_Socket.name=Simple Lamp Socket -Single-use_Battery.name=Single-use Battery -Small_200V_Copper_Heating_Corp.name=Small 200V Copper Heating Corp -Small_200V_Iron_Heating_Corp.name=Small 200V Iron Heating Corp -Small_200V_Tungsten_Heating_Corp.name=Small 200V Tungsten Heating Corp -Small_50V_Carbon_Incandescent_Light_Bulb.name=Small 50V Carbon Incandescent Light Bulb -Small_50V_Copper_Heating_Corp.name=Small 50V Copper Heating Corp -Small_50V_Economic_Light_Bulb.name=Small 50V Economic Light Bulb -Small_50V_Incandescent_Light_Bulb.name=Small 50V Incandescent Light Bulb -Small_50V_Iron_Heating_Corp.name=Small 50V Iron Heating Corp -Small_50V_Tungsten_Heating_Corp.name=Small 50V Tungsten Heating Corp -Small_Active_Thermal_Dissipator.name=Small Active Thermal Dissipator -Small_Flashlight.name=Small Flashlight -Small_Passive_Thermal_Dissipator.name=Small Passive Thermal Dissipator -Small_Rotating_Solar_Panel.name=Small Rotating Solar Panel -Small_Solar_Panel.name=Small Solar Panel -Solar_Tracker.name=Solar Tracker -Standard_Alarm.name=Standard Alarm -Steam_Turbine.name=Steam Turbine -Stone_Heat_Furnace.name=Stone Heat Furnace -Street_Light.name=Streetlight -Suspended_Lamp_Socket.name=Suspended Lamp Socket -Temperature_Probe.name=Temperature Probe -Thermal_Probe.name=Thermal Probe -Thermal_Probe_Chip.name=Thermal Probe Chip -Thermistor.name=Thermistor -ThermoMeter.name=Thermometer -Transformer.name=Transformer -Tree_Resin.name=Tree Resin -Tree_Resin_Collector.name=Tree Resin Collector -Tungsten_Cable.name=Tungsten Cable -Tungsten_Dust.name=Tungsten Dust -Tungsten_Ingot.name=Tungsten Ingot -Tungsten_Ore.name=Tungsten Ore -Tutorial_Sign.name=Tutorial Sign -Very_High_Voltage_Cable.name=Very High Voltage Cable -Very_High_Voltage_Relay.name=Very High Voltage Relay -Very_High_Voltage_Switch.name=Very High Voltage Switch -Voltage-to-Redstone_Converter.name=Voltage-to-Redstone Converter -Voltage_Oriented_Battery.name=Voltage Oriented Battery -Voltage_Probe.name=Voltage Probe -Water_Turbine.name=Water Turbine -Weak_50V_Battery_Charger.name=Weak 50V Battery Charger -White_Brush.name=White Brush -Wind_Turbine.name=Wind Turbine -Wireless_Analyser.name=Wireless Analyzer -Wireless_Button.name=Wireless Button -Wireless_Signal_Receiver.name=Wireless Signal Receiver -Wireless_Signal_Repeater.name=Wireless Signal Repeater -Wireless_Signal_Transmitter.name=Wireless Signal Transmitter -Wireless_Switch.name=Wireless Switch -Wrench.name=Wrench -X-Ray_Scanner.name=X-Ray Scanner -XNOR_Chip.name=XNOR Chip -XOR_Chip.name=XOR Chip -Yellow_Brush.name=Yellow Brush -entity.EAReplicator.name=Replicator -item.Copper Axe.name\=Copper Axe -item.Copper Axe.name\=Copper Axe -item.Copper Axe.name\=Copper Axe -item.Copper Axe.name\=Copper Axe -item.Copper Axe.name\=Copper Axe -item.Copper Axe.name\=Copper Axe -item.Copper Axe.name\=Copper Axe -item.Copper Axe.name\=Copper Axe -item.Copper Axe.name\=Copper Axe -item.E-Coal Boots.name\=E-Coal Boots -item.E-Coal Boots.name\=E-Coal Boots -item.E-Coal Boots.name\=E-Coal Boots -item.E-Coal Boots.name\=E-Coal Boots -itemGroup.Eln=Electrical Age -mod.meta.desc=Electricity in your base\! -tile.eln.ElnProbe.name=Eln Computer Probe -tile.eln.EnergyConverterElnToOtherHVUBlock.name=800V Electrical Age to other energy exporter -tile.eln.EnergyConverterElnToOtherLVUBlock.name=50V Electrical Age to other energy exporter -tile.eln.EnergyConverterElnToOtherMVUBlock.name=200V Electrical Age to other energy exporter - -# ./src/main/java/mods/eln/i18n/I18N.java -You_have_%s_lives_left=You have %s lives left - -# ./src/main/java/mods/eln/item/BrushDescriptor.java -Brush_is_dry=Brush is dry -Can_paint_%s_blocks=Can paint %s blocks - -# ./src/main/java/mods/eln/item/CombustionChamber.java -Upgrade_for_the_Stone_Heat_Furnace.=Upgrade for the Stone Heat Furnace. - -# ./src/main/java/mods/eln/item/ElectricalDrillDescriptor.java -Energy_per_operation\:_%sJ=Energy per operation\: %sJ -Time_per_operation\:_%ss=Time per operation\: %ss - -# ./src/main/java/mods/eln/item/FerromagneticCoreDescriptor.java -Cable_loss_factor\:_%s=Cable loss factor\: %s - -# ./src/main/java/mods/eln/item/HeatingCorpElement.java - -# ./src/main/java/mods/eln/item/LampDescriptor.java -Bad=Bad -Condition\:=Condition\: -End_of_life=End of life -Good=Good -New=New -Nominal_lifetime\:_%sh=Nominal lifetime\: %sh -Technology\:_%s=Technology\: %s -Used=Used - -# ./src/main/java/mods/eln/item/LampSlot.java -Lamp_slot=Lamp slot - -# ./src/main/java/mods/eln/item/OverHeatingProtectionDescriptor.java -Useful_to_prevent_overheating\nof_Batteries=Useful to prevent overheating\nof Batteries - -# ./src/main/java/mods/eln/item/OverVoltageProtectionDescriptor.java -Useful_to_prevent_over-voltage\nof_Batteries=Useful to prevent over-voltage\nof Batteries - -# ./src/main/java/mods/eln/item/SolarTrackerDescriptor.java -Solar_panel_upgrade=Solar panel upgrade - -# ./src/main/java/mods/eln/item/electricalitem/BatteryItem.java - -# ./src/main/java/mods/eln/item/electricalitem/ElectricalLampItem.java -Off=Off -On=On -State\:=State\: -Stored_Energy\:_%sJ_(%s)=Stored Energy\: %sJ (%s) - -# ./src/main/java/mods/eln/item/regulator/RegulatorSlot.java - -# ./src/main/java/mods/eln/misc/UtilsClient.java -Hold_shift=Hold shift - -# ./src/main/java/mods/eln/misc/Version.java -mod.name=Electrical Age - -# ./src/main/java/mods/eln/node/six/SixNodeDescriptor.java - -# ./src/main/java/mods/eln/simplenode/energyconverter/EnergyConverterElnToOtherGui.java -Input_power_is_limited_to_%sW=Input power is limited to %sW - -# ./src/main/java/mods/eln/sixnode/LogicGate.kt -_O\:_= O\: - -# ./src/main/java/mods/eln/sixnode/TreeResinCollector/TreeResinCollectorDescriptor.java -Produces_Tree_Resin_over\ntime_when_put_on_a_tree.=Produces Tree Resin over\ntime when put on a tree. -This_block_can_only_be_placed_on_the_side_of_a_tree!=This block can only be placed on the side of a tree\! - -# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerContainer.java -Battery_slot=Battery slot - -# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerDescriptor.java -Can_be_used_to_recharge\nelectrical_items_like\:\nFlash_Light,_X-Ray_scanner\nand_Portable_Battery_...=Can be used to recharge\nelectrical items like\:\nFlash Light, X-Ray scanner\nand Portable Battery ... - -# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerGui.java - -# ./src/main/java/mods/eln/sixnode/diode/DiodeDescriptor.java -Electrical_current_can_only\nflow_through_the_diode\nfrom_anode_to_cathode=Electrical current can only\nflow through the diode\nfrom anode to cathode - -# ./src/main/java/mods/eln/sixnode/electricalalarm/ElectricalAlarmDescriptor.java -= -Emits_an_acoustic_alarm_if\nthe_input_signal_is_high=Emits an acoustic alarm if\nthe input signal is high - -# ./src/main/java/mods/eln/sixnode/electricalalarm/ElectricalAlarmGui.java -Sound_is_muted=Sound is muted -Sound_is_not_muted=Sound is not muted - -# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerContainer.java - -# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerDescriptor.java -Protects_electrical_components\nOpens_contact_if\:\n__-_Voltage_exceeds_a_certain_level\n-_Current_exceeds_the_cable_limit=Protects electrical components\nOpens contact if\:\n - Voltage exceeds a certain level\n- Current exceeds the cable limit - -# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerGui.java -Maximum_voltage_before_cutting_off=Maximum voltage before cutting off -Minimum_voltage_before_cutting_off=Minimum voltage before cutting off -Switch_is_off=Switch is off -Switch_is_on=Switch is on - -# ./src/main/java/mods/eln/sixnode/electricalcable/ElectricalCableDescriptor.java -A_signal_is_electrical_information\nwhich_must_be_between_0V_and_%sV=A signal is electrical information\nwhich must be between 0V and %sV -Cable_is_adapted_to_conduct\nelectrical_signals.=Cable is adapted to conduct\nelectrical signals. -Current\:_%sA=Current\: %sA -Not_adapted_to_transport_power.=Not adapted to transport power. -Save_usage\:=Save usage\: -Serial_resistance\:_%sΩ=Serial resistance\: %sΩ - -# ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerDescriptor.java -It_can_store_up_to_256_points.=It can store up to 256 points. -Measures_the_voltage_of_an\nelectrical_signal_and_plots\nthe_data_in_real_time.=Measures the voltage of an\nelectrical signal and plots\nthe data in real time. - -# ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerGui.java -Back_to_display=Back to display -Configuration=Configuration -Current_[A]=Current [A] -Energy_[J]=Energy [J] -Percent_[-]%=Percent [-]% -Power_[W]=Power [W] -Print=Print -Sampling_period=Sampling period -Temp._[*C]=Temp. [*C] -Voltage_[V]=Voltage [V] -Y-axis_max=Y-axis max -Y-axis_min=Y-axis min - -# ./src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorContainer.java - -# ./src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorDescriptor.java -Output_voltage_increases\nif_entities_are_moving_around.=Output voltage increases\nif entities are moving around. - -# ./src/main/java/mods/eln/sixnode/electricalfiredetector/ElectricalFireDetectorDescriptor.java -Output_voltage_increases\nif_a_fire_has_been_detected.=Output voltage increases\nif a fire has been detected. - -# ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceDescriptor.java -Provides_configurable_signal\nvoltage.=Provides configurable signal\nvoltage. - -# ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceGui.java -Output_at_%s=Output at %s - -# ./src/main/java/mods/eln/sixnode/electricallightsensor/ElectricalLightSensorDescriptor.java -0V_at_night,_%sV_at_noon.=0V at night, %sV at noon. -Provides_an_electrical_voltage\nin_the_presence_of_light.=Provides an electrical voltage\nin the presence of light. -Provides_an_electrical_voltage\nwhich_is_proportional_to\nthe_intensity_of_daylight.=Provides an electrical voltage\nwhich is proportional to\nthe intensity of daylight. - -# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathContainer.java - -# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathDescriptor.java -Applicable_boolean_operators\:=Applicable boolean operators\: -Applicable_functions\:=Applicable functions\: -Applicable_mathematical_operators\:=Applicable mathematical operators\: -Calculates_an_output_signal_from\n3_inputs_(A,_B,_C)_using_an_equation.=Calculates an output signal from\n3 inputs (A, B, C) using an equation. - -# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathGui.java -%s_Redstone(s)_required=%s Redstone(s) required -Equation_required!=Equation required\! -Inputs_are=Inputs are -Invalid_equation!=Invalid equation\! -Output_voltage_formula=Output voltage formula -Waiting_for_completion...=Waiting for completion... - -# ./src/main/java/mods/eln/sixnode/electricalredstoneinput/ElectricalRedstoneInputDescriptor.java -Converts_Redstone_signal\nto_an_electrical_voltage.=Converts Redstone signal\nto an electrical voltage. - -# ./src/main/java/mods/eln/sixnode/electricalredstoneoutput/ElectricalRedstoneOutputDescriptor.java -Converts_electrical_voltage\ninto_a_Redstone_signal.=Converts electrical voltage\ninto a Redstone signal. - -# ./src/main/java/mods/eln/sixnode/electricalrelay/ElectricalRelayDescriptor.java -A_relay_is_an_electrical\ncontact_that_conducts_electric\ncurrent_or_not,_depending\nthe_actual_input_signal_voltage.=A relay is an electrical\ncontact that conducts electric\ncurrent or not, depending\nthe actual input signal voltage. - -# ./src/main/java/mods/eln/sixnode/electricalrelay/ElectricalRelayGui.java -Normally_closed=Normally closed -Normally_open=Normally open - -# ./src/main/java/mods/eln/sixnode/electricalsource/ElectricalSourceDescriptor.java -Creative_block.=Creative block. -Provides_an_ideal_voltage_source\nwithout_energy_or_power_limitation.=Provides an ideal voltage source\nwithout energy or power limitation. - -# ./src/main/java/mods/eln/sixnode/electricalsource/ElectricalSourceGui.java -Output_voltage=Output voltage - -# ./src/main/java/mods/eln/sixnode/electricalswitch/ElectricalSwitchDescriptor.java -Can_break_an_electrical_circuit\ninterrupting_the_current.=Can break an electrical circuit\ninterrupting the current. - -# ./src/main/java/mods/eln/sixnode/electricaltimeout/ElectricalTimeoutDescriptor.java -Upon_application_of_a_high_signal,\nthe_timer_maintains_the_output_high_for\na_configurable_interval._Can_be_re-triggered.=Upon application of a high signal,\nthe timer maintains the output high for\na configurable interval. Can be re-triggered. - -# ./src/main/java/mods/eln/sixnode/electricaltimeout/ElectricalTimeoutGui.java -Set=Set -The_time_interval_the\noutput_is_kept_high.=The time interval the\noutput is kept high. - -# ./src/main/java/mods/eln/sixnode/electricalvumeter/ElectricalVuMeterDescriptor.java -Displays_the_value_of_a_signal.=Displays the value of a signal. - -# ./src/main/java/mods/eln/sixnode/electricalwatch/ElectricalWatchContainer.java -Portable_battery_slot=Portable battery slot - -# ./src/main/java/mods/eln/sixnode/electricalweathersensor/ElectricalWeatherSensorDescriptor.java -Clear\:_%sV=Clear\: %sV -Provides_an_electrical_signal\ndepending_the_actual_weather.=Provides an electrical signal\ndepending the actual weather. -Rain\:_%sV=Rain\: %sV -Storm\:_%sV=Storm\: %sV - -# ./src/main/java/mods/eln/sixnode/electricalwindsensor/ElectricalWindSensorDescriptor.java -Maximum_wind_speed_is_%sm_s=Maximum wind speed is %sm/s -Provides_an_electrical_signal\ndependant_on_wind_speed.=Provides an electrical signal\ndependant on wind speed. -You_can't_place_this_block_on_the_floor_or_the_ceiling=You can't place this block on the floor or the ceiling - -# ./src/main/java/mods/eln/sixnode/electricasensor/ElectricalSensorDescriptor.java -Can_measure_Voltage_Power_Current=Can measure Voltage/Power/Current -Measures_electrical_values_on_cables.=Measures electrical values on cables. -Measures_voltage_on_cables.=Measures voltage on cables. - -# ./src/main/java/mods/eln/sixnode/electricasensor/ElectricalSensorGui.java -Current=Current -Measured_voltage\ncorresponding\nto_0%_output=Measured voltage\ncorresponding\nto 0% output -Measured_voltage\ncorresponding\nto_100%_output=Measured voltage\ncorresponding\nto 100% output -Voltage=Voltage - -# ./src/main/java/mods/eln/sixnode/energymeter/EnergyMeterGui.java -Change_password=Change password -Counter_Mode=Counter Mode -Counts_the_energy_conducted_from\n\u00a74red\u00a7f_to_\u00a71blue\u00a7f.=Counts the energy conducted from\n\\u00a74red\\u00a7f to \\u00a71blue\\u00a7f. -Energy_counter\:_%sJ=Energy counter\: %sJ -Enter_new_energy=Enter new energy -Enter_password=Enter password -Prepay_Mode=Prepay Mode -Reset_time_counter=Reset time counter -Set_energy_counter=Set energy counter -Time_counter\:=Time counter\: -Try_password=Try password -You_can_set_an_initial\namount_of_available_energy.\nWhen_the_counter_arrives_at_0\nthe_contact_will_be_opened.=You can set an initial\namount of available energy.\nWhen the counter arrives at 0\nthe contact will be opened. -is_off=is off -is_on=is on -value_in_kJ=value in kJ - -# ./src/main/java/mods/eln/sixnode/groundcable/GroundCableDescriptor.java -Can_be_used_to_set_a_point_of_an\nelectrical_network_to_0V_potential.\nFor_example_to_ground_negative_battery_contacts.=Can be used to set a point of an\nelectrical network to 0V potential.\nFor example to ground negative battery contacts. -Provides_a_zero_volt_reference.=Provides a zero volt reference. - -# ./src/main/java/mods/eln/sixnode/hub/HubDescriptor.java -Allows_crossing_cables\non_one_single_block.=Allows crossing cables\non one single block. - -# ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketDescriptor.java -Angle\:_%s°_to_%s°=Angle\: %s° to %s° -Spot_range\:_%s_blocks=Spot range\: %s blocks - -# ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketGuiDraw.java -%s_is_not_in_range!=%s is not in range\! -Cable_slot_empty=Cable slot empty -Orientation\:_%s°=Orientation\: %s° -Parallel=Parallel -Powered_by_Lamp_Supply=Powered by Lamp Supply -Powered_by_cable=Powered by cable -Serial=Serial -Specify_the_supply_channel=Specify the supply channel - -# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyContainer.java -Electrical_cable_slot\nBase_range_is_32_blocks.\nEach_additional_cable\nincreases_range_by_one.=Electrical cable slot\nBase range is 32 blocks.\nEach additional cable\nincreases range by one. - -# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyDescriptor.java -Supplies_all_lamps_on_the_channel.=Supplies all lamps on the channel. - -# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyGui.java -Power_channel_name=Power channel name -Wireless_channel_name=Wireless channel name - -# ./src/main/java/mods/eln/sixnode/modbusrtu/ModbusRtuGui.java -Add=Add -Channel_name=Channel name -Modbus_ID=Modbus ID -Modbus_RTU=Modbus RTU -Station_ID=Station ID -Station_name=Station name -Wireless_RX=Wireless RX -Wireless_TX=Wireless TX - -# ./src/main/java/mods/eln/sixnode/powercapacitorsix/PowerCapacitorSixContainer.java -(Increases_maximum_voltage)=(Increases maximum voltage) - -# ./src/main/java/mods/eln/sixnode/powercapacitorsix/PowerCapacitorSixGui.java - -# ./src/main/java/mods/eln/sixnode/powerinductorsix/PowerInductorSixContainer.java - -# ./src/main/java/mods/eln/sixnode/powerinductorsix/PowerInductorSixGui.java - -# ./src/main/java/mods/eln/sixnode/powersocket/PowerSocketDescriptor.java -Supplies_any_device\nplugged_in_with_energy.=Supplies any device\nplugged in with energy. - -# ./src/main/java/mods/eln/sixnode/powersocket/PowerSocketGui.java -Specify_the_device_to_supply_through_this_socket.=Specify the device to supply through this socket. - -# ./src/main/java/mods/eln/sixnode/resistor/ResistorContainer.java -(Sets_resistance)=(Sets resistance) -Coal_dust_slot=Coal dust slot - -# ./src/main/java/mods/eln/sixnode/thermalcable/ThermalCableDescriptor.java -High_parallel_resistance\n_\=>_Low_power_dissipation.=High parallel resistance\n \=> Low power dissipation. -Low_serial_resistance\n_\=>_High_conductivity.=Low serial resistance\n \=> High conductivity. -Parallel_resistance\:_%sK_W=Parallel resistance\: %sK/W -Serial_resistance\:_%sK_W=Serial resistance\: %sK/W - -# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorContainer.java -Cable_slot=Cable slot - -# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorDescriptor.java -Can_measure\:=Can measure\: -Measures_temperature_of_cables.=Measures temperature of cables. -Measures_thermal_values_on_cables.=Measures thermal values on cables. -__Temperature_Power_conducted=Temperature/Power conducted - -# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorGui.java -Measured_temperature\ncorresponding\nto_0%_output=Measured temperature\ncorresponding\nto 0% output -Measured_temperature\ncorresponding\nto_100%_output=Measured temperature\ncorresponding\nto 100% output -Temperature=Temperature - -# ./src/main/java/mods/eln/sixnode/tutorialsign/TutorialSignElement.java -No_text_associated_to_this_beacon=No text associated to this beacon - -# ./src/main/java/mods/eln/sixnode/tutorialsign/TutorialSignGui.java -Set_beacon_name=Set beacon name - -# ./src/main/java/mods/eln/sixnode/wirelesssignal/rx/WirelessSignalRxGui.java - -# ./src/main/java/mods/eln/transparentnode/FuelGenerator.kt -Nominal_power\:_%s_W=Nominal power\: %s W -Nominal_voltage\:_%s_V=Nominal voltage\: %s V -Produces_electricity_using_fuel.=Produces electricity using fuel. - -# ./src/main/java/mods/eln/transparentnode/LargeRheostat.kt -Nom._Resistance\:_%s=Nom. Resistance\: %s - -# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerContainer.java -Drill_slot=Drill slot -Mining_pipe_slot=Mining pipe slot -Ore_scanner_slot=Ore scanner slot - -# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerDescriptor.java -Excavates_on_a_small_radius.\nExtracts_ore_on_a_bigger_radius\:\n10_blocks_radius_after_10_blocks_depth.=Excavates on a small radius.\nExtracts ore on a bigger radius\:\n10 blocks radius after 10 blocks depth. - -# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerGuiDraw.java -Chest_missing_on_the\nback_of_the_auto_miner!=Chest missing on the\nback of the auto miner\! -Halves_speed,_triples_power_draw=Halves speed, triples power draw -Silk_Touch_Off=Silk Touch Off -Silk_Touch_On=Silk Touch On -Silk_touch=Silk touch - -# ./src/main/java/mods/eln/transparentnode/battery/BatteryContainer.java -Overheating_protection=Overheating protection -Overvoltage_protection=Overvoltage protection - -# ./src/main/java/mods/eln/transparentnode/battery/BatteryDescriptor.java -Actual_charge\:_%s=Actual charge\: %s -Energy_capacity\:_%sJ=Energy capacity\: %sJ -_charged_at_%s=charged at %s - -# ./src/main/java/mods/eln/transparentnode/battery/BatteryGuiDraw.java -Charge=Charge -Charged=Charged -Discharge=Discharge -Energy\:=Energy\: -Energy\:_%s=Energy\: %s -Life\:=Life\: -No_charge=No charge -Power_in\:=Power in\: -Power_out\:=Power out\: - -# ./src/main/java/mods/eln/transparentnode/eggincubator/EggIncubatorContainer.java -Egg_slot=Egg slot - -# ./src/main/java/mods/eln/transparentnode/electricalantennarx/ElectricalAntennaRxDescriptor.java -Wireless_energy_receiver.=Wireless energy receiver. - -# ./src/main/java/mods/eln/transparentnode/electricalantennatx/ElectricalAntennaTxDescriptor.java -Efficiency\:_%s_up_to_%s=Efficiency\: %s up to %s -Wireless_energy_transmitter.=Wireless energy transmitter. - -# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceContainer.java -Heating_corp_slot=Heating corp slot - -# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceDescriptor.java -Similar_to_a_vanilla_furnace,\nbut_heats_with_electricity.=Similar to a vanilla furnace,\nbut heats with electricity. - -# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceGuiDraw.java -Auto_shutdown=Auto shutdown -Manual_shutdown=Manual shutdown -Set_point\:_%s°C=Set point\: %s°C - -# ./src/main/java/mods/eln/transparentnode/electricalmachine/ElectricalMachineDescriptor.java -Cost=Cost - -# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceContainer.java -Combustion_chamber_slot=Combustion chamber slot -Fuel_slot=Fuel slot - -# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceDescriptor.java -Generates_heat_when_supplied_with_fuel.=Generates heat when supplied with fuel. - -# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceGuiDraw.java -Control_gauge_at_%s=Control gauge at %s -Decline_fuel=Decline fuel -External_control=External control -Internal_control=Internal control -Take_fuel=Take fuel - -# ./src/main/java/mods/eln/transparentnode/powercapacitor/PowerCapacitorContainer.java -(Increases_maximal_voltage)=(Increases maximal voltage) - -# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelContainer.java -Solar_tracker_slot=Solar tracker slot - -# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelDescriptor.java -Can_be_geared_towards_the_sun.=Can be geared towards the sun. -Max._power\:_%sW=Max. power\: %sW -Max._voltage\:_%sV=Max. voltage\: %sV -Produces_power_from_solar_radiation.=Produces power from solar radiation. - -# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPannelGuiDraw.java -It_is_night=It is night -Solar_panel_angle\:_%s°=Solar panel angle\: %s° -Sun_angle\:_%s°=Sun angle\: %s° - -# ./src/main/java/mods/eln/transparentnode/teleporter/TeleporterGui.java -Destination_transporter=Destination transporter -Power_consumption\:=Power consumption\: -Power_consumption\:_%sW=Power consumption\: %sW -Required_energy\:_%sJ=Required energy\: %sJ -Start=Start -Transporter_name=Transporter name - -# ./src/main/java/mods/eln/transparentnode/thermaldissipatoractive/ThermalDissipatorActiveDescriptor.java -Fan_cooling_power\:_%sW=Fan cooling power\: %sW -Fan_power_consumption\:_%sW=Fan power consumption\: %sW -Fan_voltage\:_%sV=Fan voltage\: %sV - -# ./src/main/java/mods/eln/transparentnode/transformer/TransformerDescriptor.java -The_voltage_ratio_is_proportional\nto_the_cable_stacks_count_ratio.=The voltage ratio is proportional\nto the cable stacks count ratio. -Transforms_an_input_voltage_to\nan_output_voltage.=Transforms an input voltage to\nan output voltage. - -# ./src/main/java/mods/eln/transparentnode/turbine/TurbineDescriptor.java -Generates_electricity_using_heat.=Generates electricity using heat. -Temperature_difference\:_%s°C=Temperature difference\: %s°C - -# ./src/main/java/mods/eln/transparentnode/turret/TurretDescriptor.java -CAUTION\:_Cables_can_get_quite_hot!=CAUTION\: Cables can get quite hot\! -Laser_charge_power\:_%sW...%skW=Laser charge power\: %sW...%skW -Scans_for_entities_and_shoots_if_the\nentity_matches_the_configurable_filter_criteria.=Scans for entities and shoots if the\nentity matches the configurable filter criteria. -Standby_power\:_%sW=Standby power\: %sW - -# ./src/main/java/mods/eln/transparentnode/turret/TurretGui.java -Attack\:=Attack\: -Do_not_attack\:=Do not attack\: -Recharge_power\:=Recharge power\: - -# ./src/main/java/mods/eln/transparentnode/waterturbine/WaterTurbineDescriptor.java -Generates_energy_using_water_stream.=Generates energy using water stream. -No_place_for_water_turbine!=No place for water turbine\! - -# ./src/main/java/mods/eln/transparentnode/windturbine/WindTurbineDescriptor.java -Front\:_%s=Front\: %s -Generates_energy_from_wind.=Generates energy from wind. -Left_Right\:_%s=Left/Right\: %s -Up_Down\:_%s=Up/Down\: %s -Wind_area\:=Wind area\: - -# ./src/main/java/mods/eln/wiki/Data.java -Energy=Energy -Light=Light -Machine=Machine -Ore=Ore -Portable=Portable -Resource=Resource -Signal=Signal -Thermal=Thermal -Upgrade=Upgrade -Utilities=Utilities -Wiring=Wiring - -# ./src/main/java/mods/eln/wiki/Default.java -Previous=Previous - -# ./src/main/java/mods/eln/wiki/ItemDefault.java -Can_be_used_to_craft\:=Can be used to craft\: -Cannot_be_crafted!=Cannot be crafted\! -Cost_%sJ=Cost %sJ -Created_by\:=Created by\: -Is_not_a_crafting_material!=Is not a crafting material\! -Recipe\:=Recipe\: - -# Appearing in multiple source files -(Increases_capacity)=(Increases capacity) -(Increases_inductance)=(Increases inductance) -Actual\:_%s°C=Actual\: %s°C -Biggest=Biggest -Booster_slot=Booster slot -Can_create\:=Can create\: -Capacity\:_%sF=Capacity\: %sF -Charge_power\:_%sW=Charge power\: %sW -Connected=Connected -Cooling_power\:_%sW=Cooling power\: %sW -Copper_cable_slot=Copper cable slot -Dielectric_slot=Dielectric slot -Discharge_power\:_%sW=Discharge power\: %sW -Electrical_cable_slot=Electrical cable slot -Entity_filter_slot=Entity filter slot -Ferromagnetic_core_slot=Ferromagnetic core slot -Has_a_signal_output.=Has a signal output. -Inductance\:_%sH=Inductance\: %sH -Internal_resistance\:_%sΩ=Internal resistance\: %sΩ -Is_off=Is off -Is_on=Is on -Max._temperature\:_%s°C=Max. temperature\: %s°C -Measured_value\ncorresponding\nto_0%_output=Measured value\ncorresponding\nto 0% output -Measured_value\ncorresponding\nto_100%_output=Measured value\ncorresponding\nto 100% output -Nominal\:=Nominal\: -Nominal_power\:_%sW=Nominal power\: %sW -Nominal_usage\:=Nominal usage\: -Nominal_voltage\:_%sV=Nominal voltage\: %sV -Not_connected=Not connected -Not_enough_space_for_this_block=Not enough space for this block -Power=Power -Power\:_%sW=Power\: %sW -Range\:_%s_blocks=Range\: %s blocks -Redstone_slot=Redstone slot -Regulator_slot=Regulator slot -Reset=Reset -Resistance\:_%sΩ=Resistance\: %sΩ -Smallest=Smallest -Specify_the_channel=Specify the channel -Stored_energy\:_%sJ_(%s)=Stored energy\: %sJ (%s) -Temperature\:_%s°C=Temperature\: %s°C -Temperature_gauge=Temperature gauge -Thermal_isolator_slot=Thermal isolator slot -Toggle=Toggle -Toggle_switch=Toggle switch -Toggles_the_output_each_time\nan_emitter's_value_rises.\nUseful_to_allow_multiple_buttons\nto_control_the_same_light.=Toggles the output each time\nan emitter's value rises.\nUseful to allow multiple buttons\nto control the same light. -Used_to_cool_down_turbines.=Used to cool down turbines. -Uses_the_biggest\nvalue_on_the_channel.=Uses the biggest\nvalue on the channel. -Uses_the_smallest\nvalue_on_the_channel.=Uses the smallest\nvalue on the channel. -Validate=Validate -Voltage\:_%sV=Voltage\: %sV -You_can't_place_this_block_at_this_side=You can't place this block at this side +eln:# +eln: +eln:# ./src/main/java/mods/eln/Achievements.java +eln:Electrical_Age_[WIP]=Electrical Age [WIP] +eln:achievement.craft_50v_macerator=Crushing Novice +eln:achievement.craft_50v_macerator.desc=Craft a 50V Macerator +eln:achievement.open_guide=Wiki Power +eln:achievement.open_guide.desc=Open the wiki guide +eln: +eln:# ./src/main/java/mods/eln/Eln.java +eln:10A_Diode.name=10A Diode +eln:200V_Active_Thermal_Dissipator.name=200V Active Thermal Dissipator +eln:200V_Battery_Charger.name=200V Battery Charger +eln:200V_Compressor.name=200V Compressor +eln:200V_Condensator.name=200V Condensator +eln:200V_Copper_Heating_Corp.name=200V Copper Heating Corp +eln:200V_Economic_Light_Bulb.name=200V Economic Light Bulb +eln:200V_Farming_Lamp.name=200V Farming Lamp +eln:200V_Fuel_Generator.name=200V Fuel Generator +eln:200V_Incandescent_Light_Bulb.name=200V Incandescent Light Bulb +eln:200V_Iron_Heating_Corp.name=200V Iron Heating Corp +eln:200V_LED_Bulb.name=200V LED Bulb +eln:200V_Macerator.name=200V Macerator +eln:200V_Magnetizer.name=200V Magnetizer +eln:200V_Plate_Machine.name=200V Plate Machine +eln:200V_Power_Socket.name=200V Power Socket +eln:200V_Tungsten_Heating_Corp.name=200V Tungsten Heating Corp +eln:200V_Turbine.name=200V Turbine +eln:25A_Diode.name=25A Diode +eln:50V_Battery_Charger.name=50V Battery Charger +eln:50V_Carbon_Incandescent_Light_Bulb.name=50V Carbon Incandescent Light Bulb +eln:50V_Compressor.name=50V Compressor +eln:50V_Condensator.name=50V Condensator +eln:50V_Copper_Heating_Corp.name=50V Copper Heating Corp +eln:50V_Economic_Light_Bulb.name=50V Economic Light Bulb +eln:50V_Egg_Incubator.name=50V Egg Incubator +eln:50V_Farming_Lamp.name=50V Farming Lamp +eln:50V_Fuel_Generator.name=50V Fuel Generator +eln:50V_Incandescent_Light_Bulb.name=50V Incandescent Light Bulb +eln:50V_Iron_Heating_Corp.name=50V Iron Heating Corp +eln:50V_LED_Bulb.name=50V LED Bulb +eln:50V_Macerator.name=50V Macerator +eln:50V_Magnetizer.name=50V Magnetizer +eln:50V_Plate_Machine.name=50V Plate Machine +eln:50V_Power_Socket.name=50V Power Socket +eln:50V_Tungsten_Heating_Corp.name=50V Tungsten Heating Corp +eln:50V_Turbine.name=50V Turbine +eln:800V_Defence_Turret.name=800V Defence Turret +eln:AND_Chip.name=AND Chip +eln:Advanced_Chip.name=Advanced Chip +eln:Advanced_Electrical_Motor.name=Advanced Electrical Motor +eln:Advanced_Energy_Meter.name=Advanced Energy Meter +eln:Advanced_Machine_Block.name=Advanced Machine Block +eln:Advanced_Magnet.name=Advanced Magnet +eln:AllMeter.name=Universal-Meter +eln:Alloy_Dust.name=Alloy Dust +eln:Alloy_Ingot.name=Alloy Ingot +eln:Alloy_Plate.name=Alloy Plate +eln:Analog_Watch.name=Analog watch +eln:Analog_vuMeter.name=Analog Gauge +eln:Analogic_Regulator.name=Analogic Regulator +eln:Animal_Filter.name=Animal Filter +eln:Auto_Miner.name=Auto Miner +eln:Average_Electrical_Drill.name=Average Electrical Drill +eln:Average_Ferromagnetic_Core.name=Average Ferromagnetic Core +eln:Basic_Magnet.name=Basic Magnet +eln:Black_Brush.name=Black Brush +eln:Blue_Brush.name=Blue Brush +eln:Brown_Brush.name=Brown Brush +eln:Capacity_Oriented_Battery.name=Capacity Oriented Battery +eln:Cheap_Chip.name=Cheap Chip +eln:Cheap_Electrical_Drill.name=Cheap Electrical Drill +eln:Cheap_Ferromagnetic_Core.name=Cheap Ferromagnetic Core +eln:Cinnabar_Dust.name=Cinnabar Dust +eln:Cinnabar_Ore.name=Cinnabar Ore +eln:Coal_Dust.name=Coal Dust +eln:Coal_Plate.name=Coal Plate +eln:Combustion_Chamber.name=Combustion Chamber +eln:Copper_Cable.name=Copper Cable +eln:Copper_Dust.name=Copper Dust +eln:Copper_Ingot.name=Copper Ingot +eln:Copper_Ore.name=Copper Ore +eln:Copper_Plate.name=Copper Plate +eln:Copper_Thermal_Cable.name=Copper Thermal Cable +eln:Cost_Oriented_Battery.name=Cost Oriented Battery +eln:Current_Oriented_Battery.name=Current Oriented Battery +eln:Cyan_Brush.name=Cyan Brush +eln:D_Flip_Flop_Chip.name=D Flip Flop Chip +eln:Data_Logger.name=Data Logger +eln:Data_Logger_Print.name=Data Logger Print +eln:Dielectric.name=Dielectric +eln:Digital_Watch.name=Digital Watch +eln:Electrical_Anemometer_Sensor.name=Electrical Anemometer Sensor +eln:Electrical_Breaker.name=Electrical Breaker +eln:Electrical_Daylight_Sensor.name=Electrical Daylight Sensor +eln:Electrical_Entity_Sensor.name=Electrical Entity Sensor +eln:Electrical_Fire_Detector.name=Electrical Fire Detector +eln:Electrical_Furnace.name=Electrical Furnace +eln:Electrical_Light_Sensor.name=Electrical Light Sensor +eln:Electrical_Motor.name=Electrical Motor +eln:Electrical_Probe.name=Electrical Probe +eln:Electrical_Probe_Chip.name=Electrical Probe Chip +eln:Electrical_Source.name=Electrical Source +eln:Electrical_Timer.name=Electrical Timer +eln:Electrical_Weather_Sensor.name=Electrical Weather Sensor +eln:Electrical_age_wrench,\nCan_be_used_to_turn\nsmall_wall_blocks=Electrical age wrench,\nCan be used to turn\nsmall wall blocks +eln:Energy_Meter.name=Energy Meter +eln:Experimental_Transporter.name=Experimental Transporter +eln:Fast_Electrical_Drill.name=Fast Electrical Drill +eln:Ferrite_Ingot.name=Ferrite Ingot +eln:Flat_Lamp_Socket.name=Flat Lamp Socket +eln:Fluorescent_Lamp_Socket.name=Fluorescent Lamp Socket +eln:Generator.name=Generator +eln:Gold_Dust.name=Gold Dust +eln:Gold_Plate.name=Gold Plate +eln:Gray_Brush.name=Gray Brush +eln:Green_Brush.name=Green Brush +eln:Ground_Cable.name=Ground Cable +eln:High_Power_Receiver_Antenna.name=High Power Receiver Antenna +eln:High_Power_Transmitter_Antenna.name=High Power Transmitter Antenna +eln:High_Voltage_Cable.name=High Voltage Cable +eln:High_Voltage_Relay.name=High Voltage Relay +eln:High_Voltage_Switch.name=High Voltage Switch +eln:Hub.name=Hub +eln:Industrial_Data_Logger.name=Industrial Data Logger +eln:Iron_Cable.name=Iron Cable +eln:Iron_Dust.name=Iron Dust +eln:Iron_Plate.name=Iron Plate +eln:JK_Flip_Flop_Chip.name=JK Flip Flop Chip +eln:LED_vuMeter.name=LED vuMeter +eln:Lamp_Socket_A.name=Lamp Socket A +eln:Lamp_Socket_B_Projector.name=Lamp Socket B Projector +eln:Lamp_Supply.name=Lamp Supply +eln:Large_Rheostat.name=Large Rheostat +eln:Lead_Dust.name=Lead Dust +eln:Lead_Ingot.name=Lead Ingot +eln:Lead_Ore.name=Lead Ore +eln:Lead_Plate.name=Lead Plate +eln:Life_Oriented_Battery.name=Life Oriented Battery +eln:Light_Blue_Brush.name=Light Blue Brush +eln:Lime_Brush.name=Lime Brush +eln:Long_Suspended_Lamp_Socket.name=Long Suspended Lamp Socket +eln:Low_Power_Receiver_Antenna.name=Low Power Receiver Antenna +eln:Low_Power_Transmitter_Antenna.name=Low Power Transmitter Antenna +eln:Low_Voltage_Cable.name=Low Voltage Cable +eln:Low_Voltage_Relay.name=Low Voltage Relay +eln:Low_Voltage_Switch.name=Low Voltage Switch +eln:Machine_Block.name=Machine Block +eln:Machine_Booster.name=Machine Booster +eln:Magenta_Brush.name=Magenta Brush +eln:Medium_Power_Receiver_Antenna.name=Medium Power Receiver Antenna +eln:Medium_Power_Transmitter_Antenna.name=Medium Power Transmitter Antenna +eln:Medium_Voltage_Cable.name=Medium Voltage Cable +eln:Medium_Voltage_Relay.name=Medium Voltage Relay +eln:Medium_Voltage_Switch.name=Medium Voltage Switch +eln:Mercury.name=Mercury +eln:Mining_Pipe.name=Mining Pipe +eln:Modbus_RTU.name=Modbus RTU +eln:Modern_Data_Logger.name=Modern Data Logger +eln:Monster_Filter.name=Monster Filter +eln:MultiMeter.name=Multimeter +eln:NAND_Chip.name=NAND Chip +eln:NOR_Chip.name=NOR Chip +eln:NOT_Chip.name=NOT Chip +eln:Nuclear_Alarm.name=Nuclear Alarm +eln:OR_Chip.name=OR Chip +eln:On_OFF_Regulator_10_Percent.name=On/off regulator 10% +eln:On_OFF_Regulator_1_Percent.name=On/off regulator 1% +eln:Optimal_Ferromagnetic_Core.name=Optimal Ferromagnetic Core +eln:Orange_Brush.name=Orange Brush +eln:Ore_Scanner.name=Ore Scanner +eln:Oscillator_Chip.name=Oscillator Chip +eln:Overheating_Protection.name=Overheating Protection +eln:Overvoltage_Protection.name=Overvoltage Protection +eln:PAL_Chip.name=PAL Chip +eln:Pink_Brush.name=Pink Brush +eln:Player_Filter.name=Player Filter +eln:Portable_Battery.name=Portable Battery +eln:Portable_Battery_Pack.name=Portable Battery Pack +eln:Portable_Condensator.name=Portable Condensator +eln:Portable_Condensator_Pack.name=Portable Condensator Pack +eln:Portable_Electrical_Axe.name=Portable Electrical Axe +eln:Portable_Electrical_Mining_Drill.name=Portable Electrical Mining Drill +eln:Power_Capacitor.name=Power Capacitor +eln:Power_Inductor.name=Power Inductor +eln:Power_Resistor.name=Power Resistor +eln:Power_capacitor.name=Power capacitor +eln:Power_inductor.name=Power inductor +eln:Purple_Brush.name=Purple Brush +eln:Red_Brush.name=Red Brush +eln:Redstone-to-Voltage_Converter.name=Redstone-to-Voltage Converter +eln:Rheostat.name=Rheostat +eln:Robust_Lamp_Socket.name=Robust Lamp Socket +eln:Rubber.name=Rubber +eln:Schmitt_Trigger_Chip.name=Schmitt Trigger Chip +eln:Sconce_Lamp_Socket.name=Sconce Lamp Socket +eln:Signal_20H_inductor.name=Signal 20H inductor +eln:Signal_Antenna.name=Signal Antenna +eln:Signal_Button.name=Signal Button +eln:Signal_Cable.name=Signal Cable +eln:Signal_Diode.name=Signal Diode +eln:Signal_Processor.name=Signal Processor +eln:Signal_Relay.name=Signal Relay +eln:Signal_Source.name=Signal Source +eln:Signal_Switch.name=Signal Switch +eln:Signal_Switch_with_LED.name=Signal Switch with LED +eln:Signal_Trimmer.name=Signal Trimmer +eln:Silicon_Dust.name=Silicon Dust +eln:Silicon_Ingot.name=Silicon Ingot +eln:Silicon_Plate.name=Silicon Plate +eln:Silver_Brush.name=Silver Brush +eln:Simple_Lamp_Socket.name=Simple Lamp Socket +eln:Single-use_Battery.name=Single-use Battery +eln:Small_200V_Copper_Heating_Corp.name=Small 200V Copper Heating Corp +eln:Small_200V_Iron_Heating_Corp.name=Small 200V Iron Heating Corp +eln:Small_200V_Tungsten_Heating_Corp.name=Small 200V Tungsten Heating Corp +eln:Small_50V_Carbon_Incandescent_Light_Bulb.name=Small 50V Carbon Incandescent Light Bulb +eln:Small_50V_Copper_Heating_Corp.name=Small 50V Copper Heating Corp +eln:Small_50V_Economic_Light_Bulb.name=Small 50V Economic Light Bulb +eln:Small_50V_Incandescent_Light_Bulb.name=Small 50V Incandescent Light Bulb +eln:Small_50V_Iron_Heating_Corp.name=Small 50V Iron Heating Corp +eln:Small_50V_Tungsten_Heating_Corp.name=Small 50V Tungsten Heating Corp +eln:Small_Active_Thermal_Dissipator.name=Small Active Thermal Dissipator +eln:Small_Flashlight.name=Small Flashlight +eln:Small_Passive_Thermal_Dissipator.name=Small Passive Thermal Dissipator +eln:Small_Rotating_Solar_Panel.name=Small Rotating Solar Panel +eln:Small_Solar_Panel.name=Small Solar Panel +eln:Solar_Tracker.name=Solar Tracker +eln:Standard_Alarm.name=Standard Alarm +eln:Steam_Turbine.name=Steam Turbine +eln:Stone_Heat_Furnace.name=Stone Heat Furnace +eln:Street_Light.name=Streetlight +eln:Suspended_Lamp_Socket.name=Suspended Lamp Socket +eln:Temperature_Probe.name=Temperature Probe +eln:Thermal_Probe.name=Thermal Probe +eln:Thermal_Probe_Chip.name=Thermal Probe Chip +eln:Thermistor.name=Thermistor +eln:ThermoMeter.name=Thermometer +eln:Transformer.name=Transformer +eln:Tree_Resin.name=Tree Resin +eln:Tree_Resin_Collector.name=Tree Resin Collector +eln:Tungsten_Cable.name=Tungsten Cable +eln:Tungsten_Dust.name=Tungsten Dust +eln:Tungsten_Ingot.name=Tungsten Ingot +eln:Tungsten_Ore.name=Tungsten Ore +eln:Tutorial_Sign.name=Tutorial Sign +eln:Very_High_Voltage_Cable.name=Very High Voltage Cable +eln:Very_High_Voltage_Relay.name=Very High Voltage Relay +eln:Very_High_Voltage_Switch.name=Very High Voltage Switch +eln:Voltage-to-Redstone_Converter.name=Voltage-to-Redstone Converter +eln:Voltage_Oriented_Battery.name=Voltage Oriented Battery +eln:Voltage_Probe.name=Voltage Probe +eln:Water_Turbine.name=Water Turbine +eln:Weak_50V_Battery_Charger.name=Weak 50V Battery Charger +eln:White_Brush.name=White Brush +eln:Wind_Turbine.name=Wind Turbine +eln:Wireless_Analyser.name=Wireless Analyzer +eln:Wireless_Button.name=Wireless Button +eln:Wireless_Signal_Receiver.name=Wireless Signal Receiver +eln:Wireless_Signal_Repeater.name=Wireless Signal Repeater +eln:Wireless_Signal_Transmitter.name=Wireless Signal Transmitter +eln:Wireless_Switch.name=Wireless Switch +eln:Wrench.name=Wrench +eln:X-Ray_Scanner.name=X-Ray Scanner +eln:XNOR_Chip.name=XNOR Chip +eln:XOR_Chip.name=XOR Chip +eln:Yellow_Brush.name=Yellow Brush +eln:entity.EAReplicator.name=Replicator +eln:item.Copper Axe.name\=Copper Axe +eln:item.Copper Axe.name\=Copper Axe +eln:item.Copper Axe.name\=Copper Axe +eln:item.Copper Axe.name\=Copper Axe +eln:item.Copper Axe.name\=Copper Axe +eln:item.Copper Axe.name\=Copper Axe +eln:item.Copper Axe.name\=Copper Axe +eln:item.Copper Axe.name\=Copper Axe +eln:item.Copper Axe.name\=Copper Axe +eln:item.E-Coal Boots.name\=E-Coal Boots +eln:item.E-Coal Boots.name\=E-Coal Boots +eln:item.E-Coal Boots.name\=E-Coal Boots +eln:item.E-Coal Boots.name\=E-Coal Boots +eln:itemGroup.Eln=Electrical Age +eln:mod.meta.desc=Electricity in your base\! +eln:tile.eln.ElnProbe.name=Eln Computer Probe +eln:tile.eln.EnergyConverterElnToOtherHVUBlock.name=800V Electrical Age to other energy exporter +eln:tile.eln.EnergyConverterElnToOtherLVUBlock.name=50V Electrical Age to other energy exporter +eln:tile.eln.EnergyConverterElnToOtherMVUBlock.name=200V Electrical Age to other energy exporter +eln: +eln:# ./src/main/java/mods/eln/i18n/I18N.java +eln:You_have_%s_lives_left=You have %s lives left +eln: +eln:# ./src/main/java/mods/eln/item/BrushDescriptor.java +eln:Brush_is_dry=Brush is dry +eln:Can_paint_%s_blocks=Can paint %s blocks +eln: +eln:# ./src/main/java/mods/eln/item/CombustionChamber.java +eln:Upgrade_for_the_Stone_Heat_Furnace.=Upgrade for the Stone Heat Furnace. +eln: +eln:# ./src/main/java/mods/eln/item/ElectricalDrillDescriptor.java +eln:Energy_per_operation\:_%sJ=Energy per operation\: %sJ +eln:Time_per_operation\:_%ss=Time per operation\: %ss +eln: +eln:# ./src/main/java/mods/eln/item/FerromagneticCoreDescriptor.java +eln:Cable_loss_factor\:_%s=Cable loss factor\: %s +eln: +eln:# ./src/main/java/mods/eln/item/HeatingCorpElement.java +eln: +eln:# ./src/main/java/mods/eln/item/LampDescriptor.java +eln:Bad=Bad +eln:Condition\:=Condition\: +eln:End_of_life=End of life +eln:Good=Good +eln:New=New +eln:Nominal_lifetime\:_%sh=Nominal lifetime\: %sh +eln:Technology\:_%s=Technology\: %s +eln:Used=Used +eln: +eln:# ./src/main/java/mods/eln/item/LampSlot.java +eln:Lamp_slot=Lamp slot +eln: +eln:# ./src/main/java/mods/eln/item/OverHeatingProtectionDescriptor.java +eln:Useful_to_prevent_overheating\nof_Batteries=Useful to prevent overheating\nof Batteries +eln: +eln:# ./src/main/java/mods/eln/item/OverVoltageProtectionDescriptor.java +eln:Useful_to_prevent_over-voltage\nof_Batteries=Useful to prevent over-voltage\nof Batteries +eln: +eln:# ./src/main/java/mods/eln/item/SolarTrackerDescriptor.java +eln:Solar_panel_upgrade=Solar panel upgrade +eln: +eln:# ./src/main/java/mods/eln/item/electricalitem/BatteryItem.java +eln: +eln:# ./src/main/java/mods/eln/item/electricalitem/ElectricalLampItem.java +eln:Off=Off +eln:On=On +eln:State\:=State\: +eln:Stored_Energy\:_%sJ_(%s)=Stored Energy\: %sJ (%s) +eln: +eln:# ./src/main/java/mods/eln/item/regulator/RegulatorSlot.java +eln: +eln:# ./src/main/java/mods/eln/misc/UtilsClient.java +eln:Hold_shift=Hold shift +eln: +eln:# ./src/main/java/mods/eln/misc/Version.java +eln:mod.name=Electrical Age +eln: +eln:# ./src/main/java/mods/eln/node/six/SixNodeDescriptor.java +eln: +eln:# ./src/main/java/mods/eln/simplenode/energyconverter/EnergyConverterElnToOtherGui.java +eln:Input_power_is_limited_to_%sW=Input power is limited to %sW +eln: +eln:# ./src/main/java/mods/eln/sixnode/LogicGate.kt +eln:_O\:_= O\: +eln: +eln:# ./src/main/java/mods/eln/sixnode/TreeResinCollector/TreeResinCollectorDescriptor.java +eln:Produces_Tree_Resin_over\ntime_when_put_on_a_tree.=Produces Tree Resin over\ntime when put on a tree. +eln:This_block_can_only_be_placed_on_the_side_of_a_tree!=This block can only be placed on the side of a tree\! +eln: +eln:# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerContainer.java +eln:Battery_slot=Battery slot +eln: +eln:# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerDescriptor.java +eln:Can_be_used_to_recharge\nelectrical_items_like\:\nFlash_Light,_X-Ray_scanner\nand_Portable_Battery_...=Can be used to recharge\nelectrical items like\:\nFlash Light, X-Ray scanner\nand Portable Battery ... +eln: +eln:# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerGui.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/diode/DiodeDescriptor.java +eln:Electrical_current_can_only\nflow_through_the_diode\nfrom_anode_to_cathode=Electrical current can only\nflow through the diode\nfrom anode to cathode +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalalarm/ElectricalAlarmDescriptor.java +eln:= +eln:Emits_an_acoustic_alarm_if\nthe_input_signal_is_high=Emits an acoustic alarm if\nthe input signal is high +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalalarm/ElectricalAlarmGui.java +eln:Sound_is_muted=Sound is muted +eln:Sound_is_not_muted=Sound is not muted +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerContainer.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerDescriptor.java +eln:Protects_electrical_components\nOpens_contact_if\:\n__-_Voltage_exceeds_a_certain_level\n-_Current_exceeds_the_cable_limit=Protects electrical components\nOpens contact if\:\n - Voltage exceeds a certain level\n- Current exceeds the cable limit +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerGui.java +eln:Maximum_voltage_before_cutting_off=Maximum voltage before cutting off +eln:Minimum_voltage_before_cutting_off=Minimum voltage before cutting off +eln:Switch_is_off=Switch is off +eln:Switch_is_on=Switch is on +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalcable/ElectricalCableDescriptor.java +eln:A_signal_is_electrical_information\nwhich_must_be_between_0V_and_%sV=A signal is electrical information\nwhich must be between 0V and %sV +eln:Cable_is_adapted_to_conduct\nelectrical_signals.=Cable is adapted to conduct\nelectrical signals. +eln:Current\:_%sA=Current\: %sA +eln:Not_adapted_to_transport_power.=Not adapted to transport power. +eln:Save_usage\:=Save usage\: +eln:Serial_resistance\:_%sΩ=Serial resistance\: %sΩ +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerDescriptor.java +eln:It_can_store_up_to_256_points.=It can store up to 256 points. +eln:Measures_the_voltage_of_an\nelectrical_signal_and_plots\nthe_data_in_real_time.=Measures the voltage of an\nelectrical signal and plots\nthe data in real time. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerGui.java +eln:Back_to_display=Back to display +eln:Configuration=Configuration +eln:Current_[A]=Current [A] +eln:Energy_[J]=Energy [J] +eln:Percent_[-]%=Percent [-]% +eln:Power_[W]=Power [W] +eln:Print=Print +eln:Sampling_period=Sampling period +eln:Temp._[*C]=Temp. [*C] +eln:Voltage_[V]=Voltage [V] +eln:Y-axis_max=Y-axis max +eln:Y-axis_min=Y-axis min +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorContainer.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorDescriptor.java +eln:Output_voltage_increases\nif_entities_are_moving_around.=Output voltage increases\nif entities are moving around. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalfiredetector/ElectricalFireDetectorDescriptor.java +eln:Output_voltage_increases\nif_a_fire_has_been_detected.=Output voltage increases\nif a fire has been detected. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceDescriptor.java +eln:Provides_configurable_signal\nvoltage.=Provides configurable signal\nvoltage. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceGui.java +eln:Output_at_%s=Output at %s +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricallightsensor/ElectricalLightSensorDescriptor.java +eln:0V_at_night,_%sV_at_noon.=0V at night, %sV at noon. +eln:Provides_an_electrical_voltage\nin_the_presence_of_light.=Provides an electrical voltage\nin the presence of light. +eln:Provides_an_electrical_voltage\nwhich_is_proportional_to\nthe_intensity_of_daylight.=Provides an electrical voltage\nwhich is proportional to\nthe intensity of daylight. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathContainer.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathDescriptor.java +eln:Applicable_boolean_operators\:=Applicable boolean operators\: +eln:Applicable_functions\:=Applicable functions\: +eln:Applicable_mathematical_operators\:=Applicable mathematical operators\: +eln:Calculates_an_output_signal_from\n3_inputs_(A,_B,_C)_using_an_equation.=Calculates an output signal from\n3 inputs (A, B, C) using an equation. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathGui.java +eln:%s_Redstone(s)_required=%s Redstone(s) required +eln:Equation_required!=Equation required\! +eln:Inputs_are=Inputs are +eln:Invalid_equation!=Invalid equation\! +eln:Output_voltage_formula=Output voltage formula +eln:Waiting_for_completion...=Waiting for completion... +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalredstoneinput/ElectricalRedstoneInputDescriptor.java +eln:Converts_Redstone_signal\nto_an_electrical_voltage.=Converts Redstone signal\nto an electrical voltage. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalredstoneoutput/ElectricalRedstoneOutputDescriptor.java +eln:Converts_electrical_voltage\ninto_a_Redstone_signal.=Converts electrical voltage\ninto a Redstone signal. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalrelay/ElectricalRelayDescriptor.java +eln:A_relay_is_an_electrical\ncontact_that_conducts_electric\ncurrent_or_not,_depending\nthe_actual_input_signal_voltage.=A relay is an electrical\ncontact that conducts electric\ncurrent or not, depending\nthe actual input signal voltage. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalrelay/ElectricalRelayGui.java +eln:Normally_closed=Normally closed +eln:Normally_open=Normally open +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalsource/ElectricalSourceDescriptor.java +eln:Creative_block.=Creative block. +eln:Provides_an_ideal_voltage_source\nwithout_energy_or_power_limitation.=Provides an ideal voltage source\nwithout energy or power limitation. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalsource/ElectricalSourceGui.java +eln:Output_voltage=Output voltage +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalswitch/ElectricalSwitchDescriptor.java +eln:Can_break_an_electrical_circuit\ninterrupting_the_current.=Can break an electrical circuit\ninterrupting the current. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricaltimeout/ElectricalTimeoutDescriptor.java +eln:Upon_application_of_a_high_signal,\nthe_timer_maintains_the_output_high_for\na_configurable_interval._Can_be_re-triggered.=Upon application of a high signal,\nthe timer maintains the output high for\na configurable interval. Can be re-triggered. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricaltimeout/ElectricalTimeoutGui.java +eln:Set=Set +eln:The_time_interval_the\noutput_is_kept_high.=The time interval the\noutput is kept high. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalvumeter/ElectricalVuMeterDescriptor.java +eln:Displays_the_value_of_a_signal.=Displays the value of a signal. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalwatch/ElectricalWatchContainer.java +eln:Portable_battery_slot=Portable battery slot +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalweathersensor/ElectricalWeatherSensorDescriptor.java +eln:Clear\:_%sV=Clear\: %sV +eln:Provides_an_electrical_signal\ndepending_the_actual_weather.=Provides an electrical signal\ndepending the actual weather. +eln:Rain\:_%sV=Rain\: %sV +eln:Storm\:_%sV=Storm\: %sV +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalwindsensor/ElectricalWindSensorDescriptor.java +eln:Maximum_wind_speed_is_%sm_s=Maximum wind speed is %sm/s +eln:Provides_an_electrical_signal\ndependant_on_wind_speed.=Provides an electrical signal\ndependant on wind speed. +eln:You_can't_place_this_block_on_the_floor_or_the_ceiling=You can't place this block on the floor or the ceiling +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricasensor/ElectricalSensorDescriptor.java +eln:Can_measure_Voltage_Power_Current=Can measure Voltage/Power/Current +eln:Measures_electrical_values_on_cables.=Measures electrical values on cables. +eln:Measures_voltage_on_cables.=Measures voltage on cables. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricasensor/ElectricalSensorGui.java +eln:Current=Current +eln:Measured_voltage\ncorresponding\nto_0%_output=Measured voltage\ncorresponding\nto 0% output +eln:Measured_voltage\ncorresponding\nto_100%_output=Measured voltage\ncorresponding\nto 100% output +eln:Voltage=Voltage +eln: +eln:# ./src/main/java/mods/eln/sixnode/energymeter/EnergyMeterGui.java +eln:Change_password=Change password +eln:Counter_Mode=Counter Mode +eln:Counts_the_energy_conducted_from\n\u00a74red\u00a7f_to_\u00a71blue\u00a7f.=Counts the energy conducted from\n\\u00a74red\\u00a7f to \\u00a71blue\\u00a7f. +eln:Energy_counter\:_%sJ=Energy counter\: %sJ +eln:Enter_new_energy=Enter new energy +eln:Enter_password=Enter password +eln:Prepay_Mode=Prepay Mode +eln:Reset_time_counter=Reset time counter +eln:Set_energy_counter=Set energy counter +eln:Time_counter\:=Time counter\: +eln:Try_password=Try password +eln:You_can_set_an_initial\namount_of_available_energy.\nWhen_the_counter_arrives_at_0\nthe_contact_will_be_opened.=You can set an initial\namount of available energy.\nWhen the counter arrives at 0\nthe contact will be opened. +eln:is_off=is off +eln:is_on=is on +eln:value_in_kJ=value in kJ +eln: +eln:# ./src/main/java/mods/eln/sixnode/groundcable/GroundCableDescriptor.java +eln:Can_be_used_to_set_a_point_of_an\nelectrical_network_to_0V_potential.\nFor_example_to_ground_negative_battery_contacts.=Can be used to set a point of an\nelectrical network to 0V potential.\nFor example to ground negative battery contacts. +eln:Provides_a_zero_volt_reference.=Provides a zero volt reference. +eln: +eln:# ./src/main/java/mods/eln/sixnode/hub/HubDescriptor.java +eln:Allows_crossing_cables\non_one_single_block.=Allows crossing cables\non one single block. +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketDescriptor.java +eln:Angle\:_%s°_to_%s°=Angle\: %s° to %s° +eln:Spot_range\:_%s_blocks=Spot range\: %s blocks +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketGuiDraw.java +eln:%s_is_not_in_range!=%s is not in range\! +eln:Cable_slot_empty=Cable slot empty +eln:Orientation\:_%s°=Orientation\: %s° +eln:Parallel=Parallel +eln:Powered_by_Lamp_Supply=Powered by Lamp Supply +eln:Powered_by_cable=Powered by cable +eln:Serial=Serial +eln:Specify_the_supply_channel=Specify the supply channel +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyContainer.java +eln:Electrical_cable_slot\nBase_range_is_32_blocks.\nEach_additional_cable\nincreases_range_by_one.=Electrical cable slot\nBase range is 32 blocks.\nEach additional cable\nincreases range by one. +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyDescriptor.java +eln:Supplies_all_lamps_on_the_channel.=Supplies all lamps on the channel. +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyGui.java +eln:Power_channel_name=Power channel name +eln:Wireless_channel_name=Wireless channel name +eln: +eln:# ./src/main/java/mods/eln/sixnode/modbusrtu/ModbusRtuGui.java +eln:Add=Add +eln:Channel_name=Channel name +eln:Modbus_ID=Modbus ID +eln:Modbus_RTU=Modbus RTU +eln:Station_ID=Station ID +eln:Station_name=Station name +eln:Wireless_RX=Wireless RX +eln:Wireless_TX=Wireless TX +eln: +eln:# ./src/main/java/mods/eln/sixnode/powercapacitorsix/PowerCapacitorSixContainer.java +eln:(Increases_maximum_voltage)=(Increases maximum voltage) +eln: +eln:# ./src/main/java/mods/eln/sixnode/powercapacitorsix/PowerCapacitorSixGui.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/powerinductorsix/PowerInductorSixContainer.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/powerinductorsix/PowerInductorSixGui.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/powersocket/PowerSocketDescriptor.java +eln:Supplies_any_device\nplugged_in_with_energy.=Supplies any device\nplugged in with energy. +eln: +eln:# ./src/main/java/mods/eln/sixnode/powersocket/PowerSocketGui.java +eln:Specify_the_device_to_supply_through_this_socket.=Specify the device to supply through this socket. +eln: +eln:# ./src/main/java/mods/eln/sixnode/resistor/ResistorContainer.java +eln:(Sets_resistance)=(Sets resistance) +eln:Coal_dust_slot=Coal dust slot +eln: +eln:# ./src/main/java/mods/eln/sixnode/thermalcable/ThermalCableDescriptor.java +eln:High_parallel_resistance\n_\=>_Low_power_dissipation.=High parallel resistance\n \=> Low power dissipation. +eln:Low_serial_resistance\n_\=>_High_conductivity.=Low serial resistance\n \=> High conductivity. +eln:Parallel_resistance\:_%sK_W=Parallel resistance\: %sK/W +eln:Serial_resistance\:_%sK_W=Serial resistance\: %sK/W +eln: +eln:# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorContainer.java +eln:Cable_slot=Cable slot +eln: +eln:# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorDescriptor.java +eln:Can_measure\:=Can measure\: +eln:Measures_temperature_of_cables.=Measures temperature of cables. +eln:Measures_thermal_values_on_cables.=Measures thermal values on cables. +eln:__Temperature_Power_conducted=Temperature/Power conducted +eln: +eln:# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorGui.java +eln:Measured_temperature\ncorresponding\nto_0%_output=Measured temperature\ncorresponding\nto 0% output +eln:Measured_temperature\ncorresponding\nto_100%_output=Measured temperature\ncorresponding\nto 100% output +eln:Temperature=Temperature +eln: +eln:# ./src/main/java/mods/eln/sixnode/tutorialsign/TutorialSignElement.java +eln:No_text_associated_to_this_beacon=No text associated to this beacon +eln: +eln:# ./src/main/java/mods/eln/sixnode/tutorialsign/TutorialSignGui.java +eln:Set_beacon_name=Set beacon name +eln: +eln:# ./src/main/java/mods/eln/sixnode/wirelesssignal/rx/WirelessSignalRxGui.java +eln: +eln:# ./src/main/java/mods/eln/transparentnode/FuelGenerator.kt +eln:Nominal_power\:_%s_W=Nominal power\: %s W +eln:Nominal_voltage\:_%s_V=Nominal voltage\: %s V +eln:Produces_electricity_using_fuel.=Produces electricity using fuel. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/LargeRheostat.kt +eln:Nom._Resistance\:_%s=Nom. Resistance\: %s +eln: +eln:# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerContainer.java +eln:Drill_slot=Drill slot +eln:Mining_pipe_slot=Mining pipe slot +eln:Ore_scanner_slot=Ore scanner slot +eln: +eln:# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerDescriptor.java +eln:Excavates_on_a_small_radius.\nExtracts_ore_on_a_bigger_radius\:\n10_blocks_radius_after_10_blocks_depth.=Excavates on a small radius.\nExtracts ore on a bigger radius\:\n10 blocks radius after 10 blocks depth. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerGuiDraw.java +eln:Chest_missing_on_the\nback_of_the_auto_miner!=Chest missing on the\nback of the auto miner\! +eln:Halves_speed,_triples_power_draw=Halves speed, triples power draw +eln:Silk_Touch_Off=Silk Touch Off +eln:Silk_Touch_On=Silk Touch On +eln:Silk_touch=Silk touch +eln: +eln:# ./src/main/java/mods/eln/transparentnode/battery/BatteryContainer.java +eln:Overheating_protection=Overheating protection +eln:Overvoltage_protection=Overvoltage protection +eln: +eln:# ./src/main/java/mods/eln/transparentnode/battery/BatteryDescriptor.java +eln:Actual_charge\:_%s=Actual charge\: %s +eln:Energy_capacity\:_%sJ=Energy capacity\: %sJ +eln:_charged_at_%s=charged at %s +eln: +eln:# ./src/main/java/mods/eln/transparentnode/battery/BatteryGuiDraw.java +eln:Charge=Charge +eln:Charged=Charged +eln:Discharge=Discharge +eln:Energy\:=Energy\: +eln:Energy\:_%s=Energy\: %s +eln:Life\:=Life\: +eln:No_charge=No charge +eln:Power_in\:=Power in\: +eln:Power_out\:=Power out\: +eln: +eln:# ./src/main/java/mods/eln/transparentnode/eggincubator/EggIncubatorContainer.java +eln:Egg_slot=Egg slot +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalantennarx/ElectricalAntennaRxDescriptor.java +eln:Wireless_energy_receiver.=Wireless energy receiver. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalantennatx/ElectricalAntennaTxDescriptor.java +eln:Efficiency\:_%s_up_to_%s=Efficiency\: %s up to %s +eln:Wireless_energy_transmitter.=Wireless energy transmitter. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceContainer.java +eln:Heating_corp_slot=Heating corp slot +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceDescriptor.java +eln:Similar_to_a_vanilla_furnace,\nbut_heats_with_electricity.=Similar to a vanilla furnace,\nbut heats with electricity. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceGuiDraw.java +eln:Auto_shutdown=Auto shutdown +eln:Manual_shutdown=Manual shutdown +eln:Set_point\:_%s°C=Set point\: %s°C +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalmachine/ElectricalMachineDescriptor.java +eln:Cost=Cost +eln: +eln:# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceContainer.java +eln:Combustion_chamber_slot=Combustion chamber slot +eln:Fuel_slot=Fuel slot +eln: +eln:# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceDescriptor.java +eln:Generates_heat_when_supplied_with_fuel.=Generates heat when supplied with fuel. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceGuiDraw.java +eln:Control_gauge_at_%s=Control gauge at %s +eln:Decline_fuel=Decline fuel +eln:External_control=External control +eln:Internal_control=Internal control +eln:Take_fuel=Take fuel +eln: +eln:# ./src/main/java/mods/eln/transparentnode/powercapacitor/PowerCapacitorContainer.java +eln:(Increases_maximal_voltage)=(Increases maximal voltage) +eln: +eln:# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelContainer.java +eln:Solar_tracker_slot=Solar tracker slot +eln: +eln:# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelDescriptor.java +eln:Can_be_geared_towards_the_sun.=Can be geared towards the sun. +eln:Max._power\:_%sW=Max. power\: %sW +eln:Max._voltage\:_%sV=Max. voltage\: %sV +eln:Produces_power_from_solar_radiation.=Produces power from solar radiation. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPannelGuiDraw.java +eln:It_is_night=It is night +eln:Solar_panel_angle\:_%s°=Solar panel angle\: %s° +eln:Sun_angle\:_%s°=Sun angle\: %s° +eln: +eln:# ./src/main/java/mods/eln/transparentnode/teleporter/TeleporterGui.java +eln:Destination_transporter=Destination transporter +eln:Power_consumption\:=Power consumption\: +eln:Power_consumption\:_%sW=Power consumption\: %sW +eln:Required_energy\:_%sJ=Required energy\: %sJ +eln:Start=Start +eln:Transporter_name=Transporter name +eln: +eln:# ./src/main/java/mods/eln/transparentnode/thermaldissipatoractive/ThermalDissipatorActiveDescriptor.java +eln:Fan_cooling_power\:_%sW=Fan cooling power\: %sW +eln:Fan_power_consumption\:_%sW=Fan power consumption\: %sW +eln:Fan_voltage\:_%sV=Fan voltage\: %sV +eln: +eln:# ./src/main/java/mods/eln/transparentnode/transformer/TransformerDescriptor.java +eln:The_voltage_ratio_is_proportional\nto_the_cable_stacks_count_ratio.=The voltage ratio is proportional\nto the cable stacks count ratio. +eln:Transforms_an_input_voltage_to\nan_output_voltage.=Transforms an input voltage to\nan output voltage. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/turbine/TurbineDescriptor.java +eln:Generates_electricity_using_heat.=Generates electricity using heat. +eln:Temperature_difference\:_%s°C=Temperature difference\: %s°C +eln: +eln:# ./src/main/java/mods/eln/transparentnode/turret/TurretDescriptor.java +eln:CAUTION\:_Cables_can_get_quite_hot!=CAUTION\: Cables can get quite hot\! +eln:Laser_charge_power\:_%sW...%skW=Laser charge power\: %sW...%skW +eln:Scans_for_entities_and_shoots_if_the\nentity_matches_the_configurable_filter_criteria.=Scans for entities and shoots if the\nentity matches the configurable filter criteria. +eln:Standby_power\:_%sW=Standby power\: %sW +eln: +eln:# ./src/main/java/mods/eln/transparentnode/turret/TurretGui.java +eln:Attack\:=Attack\: +eln:Do_not_attack\:=Do not attack\: +eln:Recharge_power\:=Recharge power\: +eln: +eln:# ./src/main/java/mods/eln/transparentnode/waterturbine/WaterTurbineDescriptor.java +eln:Generates_energy_using_water_stream.=Generates energy using water stream. +eln:No_place_for_water_turbine!=No place for water turbine\! +eln: +eln:# ./src/main/java/mods/eln/transparentnode/windturbine/WindTurbineDescriptor.java +eln:Front\:_%s=Front\: %s +eln:Generates_energy_from_wind.=Generates energy from wind. +eln:Left_Right\:_%s=Left/Right\: %s +eln:Up_Down\:_%s=Up/Down\: %s +eln:Wind_area\:=Wind area\: +eln: +eln:# ./src/main/java/mods/eln/wiki/Data.java +eln:Energy=Energy +eln:Light=Light +eln:Machine=Machine +eln:Ore=Ore +eln:Portable=Portable +eln:Resource=Resource +eln:Signal=Signal +eln:Thermal=Thermal +eln:Upgrade=Upgrade +eln:Utilities=Utilities +eln:Wiring=Wiring +eln: +eln:# ./src/main/java/mods/eln/wiki/Default.java +eln:Previous=Previous +eln: +eln:# ./src/main/java/mods/eln/wiki/ItemDefault.java +eln:Can_be_used_to_craft\:=Can be used to craft\: +eln:Cannot_be_crafted!=Cannot be crafted\! +eln:Cost_%sJ=Cost %sJ +eln:Created_by\:=Created by\: +eln:Is_not_a_crafting_material!=Is not a crafting material\! +eln:Recipe\:=Recipe\: +eln: +eln:# Appearing in multiple source files +eln:(Increases_capacity)=(Increases capacity) +eln:(Increases_inductance)=(Increases inductance) +eln:Actual\:_%s°C=Actual\: %s°C +eln:Biggest=Biggest +eln:Booster_slot=Booster slot +eln:Can_create\:=Can create\: +eln:Capacity\:_%sF=Capacity\: %sF +eln:Charge_power\:_%sW=Charge power\: %sW +eln:Connected=Connected +eln:Cooling_power\:_%sW=Cooling power\: %sW +eln:Copper_cable_slot=Copper cable slot +eln:Dielectric_slot=Dielectric slot +eln:Discharge_power\:_%sW=Discharge power\: %sW +eln:Electrical_cable_slot=Electrical cable slot +eln:Entity_filter_slot=Entity filter slot +eln:Ferromagnetic_core_slot=Ferromagnetic core slot +eln:Has_a_signal_output.=Has a signal output. +eln:Inductance\:_%sH=Inductance\: %sH +eln:Internal_resistance\:_%sΩ=Internal resistance\: %sΩ +eln:Is_off=Is off +eln:Is_on=Is on +eln:Max._temperature\:_%s°C=Max. temperature\: %s°C +eln:Measured_value\ncorresponding\nto_0%_output=Measured value\ncorresponding\nto 0% output +eln:Measured_value\ncorresponding\nto_100%_output=Measured value\ncorresponding\nto 100% output +eln:Nominal\:=Nominal\: +eln:Nominal_power\:_%sW=Nominal power\: %sW +eln:Nominal_usage\:=Nominal usage\: +eln:Nominal_voltage\:_%sV=Nominal voltage\: %sV +eln:Not_connected=Not connected +eln:Not_enough_space_for_this_block=Not enough space for this block +eln:Power=Power +eln:Power\:_%sW=Power\: %sW +eln:Range\:_%s_blocks=Range\: %s blocks +eln:Redstone_slot=Redstone slot +eln:Regulator_slot=Regulator slot +eln:Reset=Reset +eln:Resistance\:_%sΩ=Resistance\: %sΩ +eln:Smallest=Smallest +eln:Specify_the_channel=Specify the channel +eln:Stored_energy\:_%sJ_(%s)=Stored energy\: %sJ (%s) +eln:Temperature\:_%s°C=Temperature\: %s°C +eln:Temperature_gauge=Temperature gauge +eln:Thermal_isolator_slot=Thermal isolator slot +eln:Toggle=Toggle +eln:Toggle_switch=Toggle switch +eln:Toggles_the_output_each_time\nan_emitter's_value_rises.\nUseful_to_allow_multiple_buttons\nto_control_the_same_light.=Toggles the output each time\nan emitter's value rises.\nUseful to allow multiple buttons\nto control the same light. +eln:Used_to_cool_down_turbines.=Used to cool down turbines. +eln:Uses_the_biggest\nvalue_on_the_channel.=Uses the biggest\nvalue on the channel. +eln:Uses_the_smallest\nvalue_on_the_channel.=Uses the smallest\nvalue on the channel. +eln:Validate=Validate +eln:Voltage\:_%sV=Voltage\: %sV +eln:You_can't_place_this_block_at_this_side=You can't place this block at this side diff --git a/src/main/resources/assets/eln/lang/en.lang b/src/main/resources/assets/eln/lang/en.lang index f4e769aa7..92e8a8d93 100644 --- a/src/main/resources/assets/eln/lang/en.lang +++ b/src/main/resources/assets/eln/lang/en.lang @@ -1,829 +1,829 @@ -# - -# ./src/main/java/mods/eln/Achievements.java -Electrical_Age_[WIP]=Electrical Age [WIP] -achievement.craft_50v_macerator=Crushing Novice -achievement.craft_50v_macerator.desc=Craft a 50V Macerator -achievement.open_guide=Wiki Power -achievement.open_guide.desc=Open the wiki guide - -# ./src/main/java/mods/eln/Eln.java -10A_Diode.name=10A Diode -200V_Active_Thermal_Dissipator.name=200V Active Thermal Dissipator -200V_Battery_Charger.name=200V Battery Charger -200V_Compressor.name=200V Compressor -200V_Condensator.name=200V Condensator -200V_Copper_Heating_Corp.name=200V Copper Heating Corp -200V_Economic_Light_Bulb.name=200V Economic Light Bulb -200V_Farming_Lamp.name=200V Farming Lamp -200V_Fuel_Generator.name=200V Fuel Generator -200V_Incandescent_Light_Bulb.name=200V Incandescent Light Bulb -200V_Iron_Heating_Corp.name=200V Iron Heating Corp -200V_LED_Bulb.name=200V LED Bulb -200V_Macerator.name=200V Macerator -200V_Magnetizer.name=200V Magnetizer -200V_Plate_Machine.name=200V Plate Machine -200V_Power_Socket.name=200V Power Socket -200V_Tungsten_Heating_Corp.name=200V Tungsten Heating Corp -200V_Turbine.name=200V Turbine -25A_Diode.name=25A Diode -50V_Battery_Charger.name=50V Battery Charger -50V_Carbon_Incandescent_Light_Bulb.name=50V Carbon Incandescent Light Bulb -50V_Compressor.name=50V Compressor -50V_Condensator.name=50V Condensator -50V_Copper_Heating_Corp.name=50V Copper Heating Corp -50V_Economic_Light_Bulb.name=50V Economic Light Bulb -50V_Egg_Incubator.name=50V Egg Incubator -50V_Farming_Lamp.name=50V Farming Lamp -50V_Fuel_Generator.name=50V Fuel Generator -50V_Incandescent_Light_Bulb.name=50V Incandescent Light Bulb -50V_Iron_Heating_Corp.name=50V Iron Heating Corp -50V_LED_Bulb.name=50V LED Bulb -50V_Macerator.name=50V Macerator -50V_Magnetizer.name=50V Magnetizer -50V_Plate_Machine.name=50V Plate Machine -50V_Power_Socket.name=50V Power Socket -50V_Tungsten_Heating_Corp.name=50V Tungsten Heating Corp -50V_Turbine.name=50V Turbine -800V_Defence_Turret.name=800V Defence Turret -AND_Chip.name=AND Chip -Advanced_Chip.name=Advanced Chip -Advanced_Electrical_Motor.name=Advanced Electrical Motor -Advanced_Energy_Meter.name=Advanced Energy Meter -Advanced_Machine_Block.name=Advanced Machine Block -Advanced_Magnet.name=Advanced Magnet -AllMeter.name=Universal-Meter -Alloy_Dust.name=Alloy Dust -Alloy_Ingot.name=Alloy Ingot -Alloy_Plate.name=Alloy Plate -Analog_Watch.name=Analog watch -Analog_vuMeter.name=Analog Gauge -Analogic_Regulator.name=Analogic Regulator -Animal_Filter.name=Animal Filter -Auto_Miner.name=Auto Miner -Average_Electrical_Drill.name=Average Electrical Drill -Average_Ferromagnetic_Core.name=Average Ferromagnetic Core -Basic_Magnet.name=Basic Magnet -Black_Brush.name=Black Brush -Blue_Brush.name=Blue Brush -Brown_Brush.name=Brown Brush -Capacity_Oriented_Battery.name=Capacity Oriented Battery -Cheap_Chip.name=Cheap Chip -Cheap_Electrical_Drill.name=Cheap Electrical Drill -Cheap_Ferromagnetic_Core.name=Cheap Ferromagnetic Core -Cinnabar_Dust.name=Cinnabar Dust -Cinnabar_Ore.name=Cinnabar Ore -Coal_Dust.name=Coal Dust -Coal_Plate.name=Coal Plate -Combustion_Chamber.name=Combustion Chamber -Copper_Cable.name=Copper Cable -Copper_Dust.name=Copper Dust -Copper_Ingot.name=Copper Ingot -Copper_Ore.name=Copper Ore -Copper_Plate.name=Copper Plate -Copper_Thermal_Cable.name=Copper Thermal Cable -Cost_Oriented_Battery.name=Cost Oriented Battery -Current_Oriented_Battery.name=Current Oriented Battery -Cyan_Brush.name=Cyan Brush -D_Flip_Flop_Chip.name=D Flip Flop Chip -Data_Logger.name=Data Logger -Data_Logger_Print.name=Data Logger Print -Dielectric.name=Dielectric -Digital_Watch.name=Digital Watch -Electrical_Anemometer_Sensor.name=Electrical Anemometer Sensor -Electrical_Breaker.name=Electrical Breaker -Electrical_Daylight_Sensor.name=Electrical Daylight Sensor -Electrical_Entity_Sensor.name=Electrical Entity Sensor -Electrical_Fire_Detector.name=Electrical Fire Detector -Electrical_Furnace.name=Electrical Furnace -Electrical_Light_Sensor.name=Electrical Light Sensor -Electrical_Motor.name=Electrical Motor -Electrical_Probe.name=Electrical Probe -Electrical_Probe_Chip.name=Electrical Probe Chip -Electrical_Source.name=Electrical Source -Electrical_Timer.name=Electrical Timer -Electrical_Weather_Sensor.name=Electrical Weather Sensor -Electrical_age_wrench,\nCan_be_used_to_turn\nsmall_wall_blocks=Electrical age wrench,\nCan be used to turn\nsmall wall blocks -Energy_Meter.name=Energy Meter -Experimental_Transporter.name=Experimental Transporter -Fast_Electrical_Drill.name=Fast Electrical Drill -Ferrite_Ingot.name=Ferrite Ingot -Flat_Lamp_Socket.name=Flat Lamp Socket -Fluorescent_Lamp_Socket.name=Fluorescent Lamp Socket -Generator.name=Generator -Gold_Dust.name=Gold Dust -Gold_Plate.name=Gold Plate -Gray_Brush.name=Gray Brush -Green_Brush.name=Green Brush -Ground_Cable.name=Ground Cable -High_Power_Receiver_Antenna.name=High Power Receiver Antenna -High_Power_Transmitter_Antenna.name=High Power Transmitter Antenna -High_Voltage_Cable.name=High Voltage Cable -High_Voltage_Relay.name=High Voltage Relay -High_Voltage_Switch.name=High Voltage Switch -Hub.name=Hub -Industrial_Data_Logger.name=Industrial Data Logger -Iron_Cable.name=Iron Cable -Iron_Dust.name=Iron Dust -Iron_Plate.name=Iron Plate -JK_Flip_Flop_Chip.name=JK Flip Flop Chip -LED_vuMeter.name=LED vuMeter -Lamp_Socket_A.name=Lamp Socket A -Lamp_Socket_B_Projector.name=Lamp Socket B Projector -Lamp_Supply.name=Lamp Supply -Large_Rheostat.name=Large Rheostat -Lead_Dust.name=Lead Dust -Lead_Ingot.name=Lead Ingot -Lead_Ore.name=Lead Ore -Lead_Plate.name=Lead Plate -Life_Oriented_Battery.name=Life Oriented Battery -Light_Blue_Brush.name=Light Blue Brush -Lime_Brush.name=Lime Brush -Long_Suspended_Lamp_Socket.name=Long Suspended Lamp Socket -Low_Power_Receiver_Antenna.name=Low Power Receiver Antenna -Low_Power_Transmitter_Antenna.name=Low Power Transmitter Antenna -Low_Voltage_Cable.name=Low Voltage Cable -Low_Voltage_Relay.name=Low Voltage Relay -Low_Voltage_Switch.name=Low Voltage Switch -Machine_Block.name=Machine Block -Machine_Booster.name=Machine Booster -Magenta_Brush.name=Magenta Brush -Medium_Power_Receiver_Antenna.name=Medium Power Receiver Antenna -Medium_Power_Transmitter_Antenna.name=Medium Power Transmitter Antenna -Medium_Voltage_Cable.name=Medium Voltage Cable -Medium_Voltage_Relay.name=Medium Voltage Relay -Medium_Voltage_Switch.name=Medium Voltage Switch -Mercury.name=Mercury -Mining_Pipe.name=Mining Pipe -Modbus_RTU.name=Modbus RTU -Modern_Data_Logger.name=Modern Data Logger -Monster_Filter.name=Monster Filter -MultiMeter.name=Multimeter -NAND_Chip.name=NAND Chip -NOR_Chip.name=NOR Chip -NOT_Chip.name=NOT Chip -Nuclear_Alarm.name=Nuclear Alarm -OR_Chip.name=OR Chip -On_OFF_Regulator_10_Percent.name=On/off regulator 10% -On_OFF_Regulator_1_Percent.name=On/off regulator 1% -Optimal_Ferromagnetic_Core.name=Optimal Ferromagnetic Core -Orange_Brush.name=Orange Brush -Ore_Scanner.name=Ore Scanner -Oscillator_Chip.name=Oscillator Chip -Overheating_Protection.name=Overheating Protection -Overvoltage_Protection.name=Overvoltage Protection -PAL_Chip.name=PAL Chip -Pink_Brush.name=Pink Brush -Player_Filter.name=Player Filter -Portable_Battery.name=Portable Battery -Portable_Battery_Pack.name=Portable Battery Pack -Portable_Condensator.name=Portable Condensator -Portable_Condensator_Pack.name=Portable Condensator Pack -Portable_Electrical_Axe.name=Portable Electrical Axe -Portable_Electrical_Mining_Drill.name=Portable Electrical Mining Drill -Power_Capacitor.name=Power Capacitor -Power_Inductor.name=Power Inductor -Power_Resistor.name=Power Resistor -Power_capacitor.name=Power capacitor -Power_inductor.name=Power inductor -Purple_Brush.name=Purple Brush -Red_Brush.name=Red Brush -Redstone-to-Voltage_Converter.name=Redstone-to-Voltage Converter -Rheostat.name=Rheostat -Robust_Lamp_Socket.name=Robust Lamp Socket -Rubber.name=Rubber -Schmitt_Trigger_Chip.name=Schmitt Trigger Chip -Sconce_Lamp_Socket.name=Sconce Lamp Socket -Signal_20H_inductor.name=Signal 20H inductor -Signal_Antenna.name=Signal Antenna -Signal_Button.name=Signal Button -Signal_Cable.name=Signal Cable -Signal_Diode.name=Signal Diode -Signal_Processor.name=Signal Processor -Signal_Relay.name=Signal Relay -Signal_Source.name=Signal Source -Signal_Switch.name=Signal Switch -Signal_Switch_with_LED.name=Signal Switch with LED -Signal_Trimmer.name=Signal Trimmer -Silicon_Dust.name=Silicon Dust -Silicon_Ingot.name=Silicon Ingot -Silicon_Plate.name=Silicon Plate -Silver_Brush.name=Silver Brush -Simple_Lamp_Socket.name=Simple Lamp Socket -Single-use_Battery.name=Single-use Battery -Small_200V_Copper_Heating_Corp.name=Small 200V Copper Heating Corp -Small_200V_Iron_Heating_Corp.name=Small 200V Iron Heating Corp -Small_200V_Tungsten_Heating_Corp.name=Small 200V Tungsten Heating Corp -Small_50V_Carbon_Incandescent_Light_Bulb.name=Small 50V Carbon Incandescent Light Bulb -Small_50V_Copper_Heating_Corp.name=Small 50V Copper Heating Corp -Small_50V_Economic_Light_Bulb.name=Small 50V Economic Light Bulb -Small_50V_Incandescent_Light_Bulb.name=Small 50V Incandescent Light Bulb -Small_50V_Iron_Heating_Corp.name=Small 50V Iron Heating Corp -Small_50V_Tungsten_Heating_Corp.name=Small 50V Tungsten Heating Corp -Small_Active_Thermal_Dissipator.name=Small Active Thermal Dissipator -Small_Flashlight.name=Small Flashlight -Small_Passive_Thermal_Dissipator.name=Small Passive Thermal Dissipator -Small_Rotating_Solar_Panel.name=Small Rotating Solar Panel -Small_Solar_Panel.name=Small Solar Panel -Solar_Tracker.name=Solar Tracker -Standard_Alarm.name=Standard Alarm -Steam_Turbine.name=Steam Turbine -Stone_Heat_Furnace.name=Stone Heat Furnace -Street_Light.name=Streetlight -Suspended_Lamp_Socket.name=Suspended Lamp Socket -Temperature_Probe.name=Temperature Probe -Thermal_Probe.name=Thermal Probe -Thermal_Probe_Chip.name=Thermal Probe Chip -Thermistor.name=Thermistor -ThermoMeter.name=Thermometer -Transformer.name=Transformer -Tree_Resin.name=Tree Resin -Tree_Resin_Collector.name=Tree Resin Collector -Tungsten_Cable.name=Tungsten Cable -Tungsten_Dust.name=Tungsten Dust -Tungsten_Ingot.name=Tungsten Ingot -Tungsten_Ore.name=Tungsten Ore -Tutorial_Sign.name=Tutorial Sign -Very_High_Voltage_Cable.name=Very High Voltage Cable -Very_High_Voltage_Relay.name=Very High Voltage Relay -Very_High_Voltage_Switch.name=Very High Voltage Switch -Voltage-to-Redstone_Converter.name=Voltage-to-Redstone Converter -Voltage_Oriented_Battery.name=Voltage Oriented Battery -Voltage_Probe.name=Voltage Probe -Water_Turbine.name=Water Turbine -Weak_50V_Battery_Charger.name=Weak 50V Battery Charger -White_Brush.name=White Brush -Wind_Turbine.name=Wind Turbine -Wireless_Analyser.name=Wireless Analyzer -Wireless_Button.name=Wireless Button -Wireless_Signal_Receiver.name=Wireless Signal Receiver -Wireless_Signal_Repeater.name=Wireless Signal Repeater -Wireless_Signal_Transmitter.name=Wireless Signal Transmitter -Wireless_Switch.name=Wireless Switch -Wrench.name=Wrench -X-Ray_Scanner.name=X-Ray Scanner -XNOR_Chip.name=XNOR Chip -XOR_Chip.name=XOR Chip -Yellow_Brush.name=Yellow Brush -entity.EAReplicator.name=Replicator -item.Copper Axe.name\=Copper Axe -item.Copper Axe.name\=Copper Axe -item.Copper Axe.name\=Copper Axe -item.Copper Axe.name\=Copper Axe -item.Copper Axe.name\=Copper Axe -item.Copper Axe.name\=Copper Axe -item.Copper Axe.name\=Copper Axe -item.Copper Axe.name\=Copper Axe -item.Copper Axe.name\=Copper Axe -item.E-Coal Boots.name\=E-Coal Boots -item.E-Coal Boots.name\=E-Coal Boots -item.E-Coal Boots.name\=E-Coal Boots -item.E-Coal Boots.name\=E-Coal Boots -itemGroup.Eln=Electrical Age -mod.meta.desc=Electricity in your base\! -tile.eln.ElnProbe.name=Eln Computer Probe -tile.eln.EnergyConverterElnToOtherHVUBlock.name=800V Electrical Age to other energy exporter -tile.eln.EnergyConverterElnToOtherLVUBlock.name=50V Electrical Age to other energy exporter -tile.eln.EnergyConverterElnToOtherMVUBlock.name=200V Electrical Age to other energy exporter - -# ./src/main/java/mods/eln/i18n/I18N.java -You_have_%s_lives_left=You have %s lives left - -# ./src/main/java/mods/eln/item/BrushDescriptor.java -Brush_is_dry=Brush is dry -Can_paint_%s_blocks=Can paint %s blocks - -# ./src/main/java/mods/eln/item/CombustionChamber.java -Upgrade_for_the_Stone_Heat_Furnace.=Upgrade for the Stone Heat Furnace. - -# ./src/main/java/mods/eln/item/ElectricalDrillDescriptor.java -Energy_per_operation\:_%sJ=Energy per operation\: %sJ -Time_per_operation\:_%ss=Time per operation\: %ss - -# ./src/main/java/mods/eln/item/FerromagneticCoreDescriptor.java -Cable_loss_factor\:_%s=Cable loss factor\: %s - -# ./src/main/java/mods/eln/item/HeatingCorpElement.java - -# ./src/main/java/mods/eln/item/LampDescriptor.java -Bad=Bad -Condition\:=Condition\: -End_of_life=End of life -Good=Good -New=New -Nominal_lifetime\:_%sh=Nominal lifetime\: %sh -Technology\:_%s=Technology\: %s -Used=Used - -# ./src/main/java/mods/eln/item/LampSlot.java -Lamp_slot=Lamp slot - -# ./src/main/java/mods/eln/item/OverHeatingProtectionDescriptor.java -Useful_to_prevent_overheating\nof_Batteries=Useful to prevent overheating\nof Batteries - -# ./src/main/java/mods/eln/item/OverVoltageProtectionDescriptor.java -Useful_to_prevent_over-voltage\nof_Batteries=Useful to prevent over-voltage\nof Batteries - -# ./src/main/java/mods/eln/item/SolarTrackerDescriptor.java -Solar_panel_upgrade=Solar panel upgrade - -# ./src/main/java/mods/eln/item/electricalitem/BatteryItem.java - -# ./src/main/java/mods/eln/item/electricalitem/ElectricalLampItem.java -Off=Off -On=On -State\:=State\: -Stored_Energy\:_%sJ_(%s)=Stored Energy\: %sJ (%s) - -# ./src/main/java/mods/eln/item/regulator/RegulatorSlot.java - -# ./src/main/java/mods/eln/misc/UtilsClient.java -Hold_shift=Hold shift - -# ./src/main/java/mods/eln/misc/Version.java -mod.name=Electrical Age - -# ./src/main/java/mods/eln/node/six/SixNodeDescriptor.java - -# ./src/main/java/mods/eln/simplenode/energyconverter/EnergyConverterElnToOtherGui.java -Input_power_is_limited_to_%sW=Input power is limited to %sW - -# ./src/main/java/mods/eln/sixnode/LogicGate.kt -_O\:_= O\: - -# ./src/main/java/mods/eln/sixnode/TreeResinCollector/TreeResinCollectorDescriptor.java -Produces_Tree_Resin_over\ntime_when_put_on_a_tree.=Produces Tree Resin over\ntime when put on a tree. -This_block_can_only_be_placed_on_the_side_of_a_tree!=This block can only be placed on the side of a tree\! - -# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerContainer.java -Battery_slot=Battery slot - -# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerDescriptor.java -Can_be_used_to_recharge\nelectrical_items_like\:\nFlash_Light,_X-Ray_scanner\nand_Portable_Battery_...=Can be used to recharge\nelectrical items like\:\nFlash Light, X-Ray scanner\nand Portable Battery ... - -# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerGui.java - -# ./src/main/java/mods/eln/sixnode/diode/DiodeDescriptor.java -Electrical_current_can_only\nflow_through_the_diode\nfrom_anode_to_cathode=Electrical current can only\nflow through the diode\nfrom anode to cathode - -# ./src/main/java/mods/eln/sixnode/electricalalarm/ElectricalAlarmDescriptor.java -= -Emits_an_acoustic_alarm_if\nthe_input_signal_is_high=Emits an acoustic alarm if\nthe input signal is high - -# ./src/main/java/mods/eln/sixnode/electricalalarm/ElectricalAlarmGui.java -Sound_is_muted=Sound is muted -Sound_is_not_muted=Sound is not muted - -# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerContainer.java - -# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerDescriptor.java -Protects_electrical_components\nOpens_contact_if\:\n__-_Voltage_exceeds_a_certain_level\n-_Current_exceeds_the_cable_limit=Protects electrical components\nOpens contact if\:\n - Voltage exceeds a certain level\n- Current exceeds the cable limit - -# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerGui.java -Maximum_voltage_before_cutting_off=Maximum voltage before cutting off -Minimum_voltage_before_cutting_off=Minimum voltage before cutting off -Switch_is_off=Switch is off -Switch_is_on=Switch is on - -# ./src/main/java/mods/eln/sixnode/electricalcable/ElectricalCableDescriptor.java -A_signal_is_electrical_information\nwhich_must_be_between_0V_and_%sV=A signal is electrical information\nwhich must be between 0V and %sV -Cable_is_adapted_to_conduct\nelectrical_signals.=Cable is adapted to conduct\nelectrical signals. -Current\:_%sA=Current\: %sA -Not_adapted_to_transport_power.=Not adapted to transport power. -Save_usage\:=Save usage\: -Serial_resistance\:_%sΩ=Serial resistance\: %sΩ - -# ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerDescriptor.java -It_can_store_up_to_256_points.=It can store up to 256 points. -Measures_the_voltage_of_an\nelectrical_signal_and_plots\nthe_data_in_real_time.=Measures the voltage of an\nelectrical signal and plots\nthe data in real time. - -# ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerGui.java -Back_to_display=Back to display -Configuration=Configuration -Current_[A]=Current [A] -Energy_[J]=Energy [J] -Percent_[-]%=Percent [-]% -Power_[W]=Power [W] -Print=Print -Sampling_period=Sampling period -Temp._[*C]=Temp. [*C] -Voltage_[V]=Voltage [V] -Y-axis_max=Y-axis max -Y-axis_min=Y-axis min - -# ./src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorContainer.java - -# ./src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorDescriptor.java -Output_voltage_increases\nif_entities_are_moving_around.=Output voltage increases\nif entities are moving around. - -# ./src/main/java/mods/eln/sixnode/electricalfiredetector/ElectricalFireDetectorDescriptor.java -Output_voltage_increases\nif_a_fire_has_been_detected.=Output voltage increases\nif a fire has been detected. - -# ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceDescriptor.java -Provides_configurable_signal\nvoltage.=Provides configurable signal\nvoltage. - -# ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceGui.java -Output_at_%s=Output at %s - -# ./src/main/java/mods/eln/sixnode/electricallightsensor/ElectricalLightSensorDescriptor.java -0V_at_night,_%sV_at_noon.=0V at night, %sV at noon. -Provides_an_electrical_voltage\nin_the_presence_of_light.=Provides an electrical voltage\nin the presence of light. -Provides_an_electrical_voltage\nwhich_is_proportional_to\nthe_intensity_of_daylight.=Provides an electrical voltage\nwhich is proportional to\nthe intensity of daylight. - -# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathContainer.java - -# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathDescriptor.java -Applicable_boolean_operators\:=Applicable boolean operators\: -Applicable_functions\:=Applicable functions\: -Applicable_mathematical_operators\:=Applicable mathematical operators\: -Calculates_an_output_signal_from\n3_inputs_(A,_B,_C)_using_an_equation.=Calculates an output signal from\n3 inputs (A, B, C) using an equation. - -# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathGui.java -%s_Redstone(s)_required=%s Redstone(s) required -Equation_required!=Equation required\! -Inputs_are=Inputs are -Invalid_equation!=Invalid equation\! -Output_voltage_formula=Output voltage formula -Waiting_for_completion...=Waiting for completion... - -# ./src/main/java/mods/eln/sixnode/electricalredstoneinput/ElectricalRedstoneInputDescriptor.java -Converts_Redstone_signal\nto_an_electrical_voltage.=Converts Redstone signal\nto an electrical voltage. - -# ./src/main/java/mods/eln/sixnode/electricalredstoneoutput/ElectricalRedstoneOutputDescriptor.java -Converts_electrical_voltage\ninto_a_Redstone_signal.=Converts electrical voltage\ninto a Redstone signal. - -# ./src/main/java/mods/eln/sixnode/electricalrelay/ElectricalRelayDescriptor.java -A_relay_is_an_electrical\ncontact_that_conducts_electric\ncurrent_or_not,_depending\nthe_actual_input_signal_voltage.=A relay is an electrical\ncontact that conducts electric\ncurrent or not, depending\nthe actual input signal voltage. - -# ./src/main/java/mods/eln/sixnode/electricalrelay/ElectricalRelayGui.java -Normally_closed=Normally closed -Normally_open=Normally open - -# ./src/main/java/mods/eln/sixnode/electricalsource/ElectricalSourceDescriptor.java -Creative_block.=Creative block. -Provides_an_ideal_voltage_source\nwithout_energy_or_power_limitation.=Provides an ideal voltage source\nwithout energy or power limitation. - -# ./src/main/java/mods/eln/sixnode/electricalsource/ElectricalSourceGui.java -Output_voltage=Output voltage - -# ./src/main/java/mods/eln/sixnode/electricalswitch/ElectricalSwitchDescriptor.java -Can_break_an_electrical_circuit\ninterrupting_the_current.=Can break an electrical circuit\ninterrupting the current. - -# ./src/main/java/mods/eln/sixnode/electricaltimeout/ElectricalTimeoutDescriptor.java -Upon_application_of_a_high_signal,\nthe_timer_maintains_the_output_high_for\na_configurable_interval._Can_be_re-triggered.=Upon application of a high signal,\nthe timer maintains the output high for\na configurable interval. Can be re-triggered. - -# ./src/main/java/mods/eln/sixnode/electricaltimeout/ElectricalTimeoutGui.java -Set=Set -The_time_interval_the\noutput_is_kept_high.=The time interval the\noutput is kept high. - -# ./src/main/java/mods/eln/sixnode/electricalvumeter/ElectricalVuMeterDescriptor.java -Displays_the_value_of_a_signal.=Displays the value of a signal. - -# ./src/main/java/mods/eln/sixnode/electricalwatch/ElectricalWatchContainer.java -Portable_battery_slot=Portable battery slot - -# ./src/main/java/mods/eln/sixnode/electricalweathersensor/ElectricalWeatherSensorDescriptor.java -Clear\:_%sV=Clear\: %sV -Provides_an_electrical_signal\ndepending_the_actual_weather.=Provides an electrical signal\ndepending the actual weather. -Rain\:_%sV=Rain\: %sV -Storm\:_%sV=Storm\: %sV - -# ./src/main/java/mods/eln/sixnode/electricalwindsensor/ElectricalWindSensorDescriptor.java -Maximum_wind_speed_is_%sm_s=Maximum wind speed is %sm/s -Provides_an_electrical_signal\ndependant_on_wind_speed.=Provides an electrical signal\ndependant on wind speed. -You_can't_place_this_block_on_the_floor_or_the_ceiling=You can't place this block on the floor or the ceiling - -# ./src/main/java/mods/eln/sixnode/electricasensor/ElectricalSensorDescriptor.java -Can_measure_Voltage_Power_Current=Can measure Voltage/Power/Current -Measures_electrical_values_on_cables.=Measures electrical values on cables. -Measures_voltage_on_cables.=Measures voltage on cables. - -# ./src/main/java/mods/eln/sixnode/electricasensor/ElectricalSensorGui.java -Current=Current -Measured_voltage\ncorresponding\nto_0%_output=Measured voltage\ncorresponding\nto 0% output -Measured_voltage\ncorresponding\nto_100%_output=Measured voltage\ncorresponding\nto 100% output -Voltage=Voltage - -# ./src/main/java/mods/eln/sixnode/energymeter/EnergyMeterGui.java -Change_password=Change password -Counter_Mode=Counter Mode -Counts_the_energy_conducted_from\n\u00a74red\u00a7f_to_\u00a71blue\u00a7f.=Counts the energy conducted from\n\\u00a74red\\u00a7f to \\u00a71blue\\u00a7f. -Energy_counter\:_%sJ=Energy counter\: %sJ -Enter_new_energy=Enter new energy -Enter_password=Enter password -Prepay_Mode=Prepay Mode -Reset_time_counter=Reset time counter -Set_energy_counter=Set energy counter -Time_counter\:=Time counter\: -Try_password=Try password -You_can_set_an_initial\namount_of_available_energy.\nWhen_the_counter_arrives_at_0\nthe_contact_will_be_opened.=You can set an initial\namount of available energy.\nWhen the counter arrives at 0\nthe contact will be opened. -is_off=is off -is_on=is on -value_in_kJ=value in kJ - -# ./src/main/java/mods/eln/sixnode/groundcable/GroundCableDescriptor.java -Can_be_used_to_set_a_point_of_an\nelectrical_network_to_0V_potential.\nFor_example_to_ground_negative_battery_contacts.=Can be used to set a point of an\nelectrical network to 0V potential.\nFor example to ground negative battery contacts. -Provides_a_zero_volt_reference.=Provides a zero volt reference. - -# ./src/main/java/mods/eln/sixnode/hub/HubDescriptor.java -Allows_crossing_cables\non_one_single_block.=Allows crossing cables\non one single block. - -# ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketDescriptor.java -Angle\:_%s°_to_%s°=Angle\: %s° to %s° -Spot_range\:_%s_blocks=Spot range\: %s blocks - -# ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketGuiDraw.java -%s_is_not_in_range!=%s is not in range\! -Cable_slot_empty=Cable slot empty -Orientation\:_%s°=Orientation\: %s° -Parallel=Parallel -Powered_by_Lamp_Supply=Powered by Lamp Supply -Powered_by_cable=Powered by cable -Serial=Serial -Specify_the_supply_channel=Specify the supply channel - -# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyContainer.java -Electrical_cable_slot\nBase_range_is_32_blocks.\nEach_additional_cable\nincreases_range_by_one.=Electrical cable slot\nBase range is 32 blocks.\nEach additional cable\nincreases range by one. - -# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyDescriptor.java -Supplies_all_lamps_on_the_channel.=Supplies all lamps on the channel. - -# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyGui.java -Power_channel_name=Power channel name -Wireless_channel_name=Wireless channel name - -# ./src/main/java/mods/eln/sixnode/modbusrtu/ModbusRtuGui.java -Add=Add -Channel_name=Channel name -Modbus_ID=Modbus ID -Modbus_RTU=Modbus RTU -Station_ID=Station ID -Station_name=Station name -Wireless_RX=Wireless RX -Wireless_TX=Wireless TX - -# ./src/main/java/mods/eln/sixnode/powercapacitorsix/PowerCapacitorSixContainer.java -(Increases_maximum_voltage)=(Increases maximum voltage) - -# ./src/main/java/mods/eln/sixnode/powercapacitorsix/PowerCapacitorSixGui.java - -# ./src/main/java/mods/eln/sixnode/powerinductorsix/PowerInductorSixContainer.java - -# ./src/main/java/mods/eln/sixnode/powerinductorsix/PowerInductorSixGui.java - -# ./src/main/java/mods/eln/sixnode/powersocket/PowerSocketDescriptor.java -Supplies_any_device\nplugged_in_with_energy.=Supplies any device\nplugged in with energy. - -# ./src/main/java/mods/eln/sixnode/powersocket/PowerSocketGui.java -Specify_the_device_to_supply_through_this_socket.=Specify the device to supply through this socket. - -# ./src/main/java/mods/eln/sixnode/resistor/ResistorContainer.java -(Sets_resistance)=(Sets resistance) -Coal_dust_slot=Coal dust slot - -# ./src/main/java/mods/eln/sixnode/thermalcable/ThermalCableDescriptor.java -High_parallel_resistance\n_\=>_Low_power_dissipation.=High parallel resistance\n \=> Low power dissipation. -Low_serial_resistance\n_\=>_High_conductivity.=Low serial resistance\n \=> High conductivity. -Parallel_resistance\:_%sK_W=Parallel resistance\: %sK/W -Serial_resistance\:_%sK_W=Serial resistance\: %sK/W - -# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorContainer.java -Cable_slot=Cable slot - -# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorDescriptor.java -Can_measure\:=Can measure\: -Measures_temperature_of_cables.=Measures temperature of cables. -Measures_thermal_values_on_cables.=Measures thermal values on cables. -__Temperature_Power_conducted=Temperature/Power conducted - -# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorGui.java -Measured_temperature\ncorresponding\nto_0%_output=Measured temperature\ncorresponding\nto 0% output -Measured_temperature\ncorresponding\nto_100%_output=Measured temperature\ncorresponding\nto 100% output -Temperature=Temperature - -# ./src/main/java/mods/eln/sixnode/tutorialsign/TutorialSignElement.java -No_text_associated_to_this_beacon=No text associated to this beacon - -# ./src/main/java/mods/eln/sixnode/tutorialsign/TutorialSignGui.java -Set_beacon_name=Set beacon name - -# ./src/main/java/mods/eln/sixnode/wirelesssignal/rx/WirelessSignalRxGui.java - -# ./src/main/java/mods/eln/transparentnode/FuelGenerator.kt -Nominal_power\:_%s_W=Nominal power\: %s W -Nominal_voltage\:_%s_V=Nominal voltage\: %s V -Produces_electricity_using_fuel.=Produces electricity using fuel. - -# ./src/main/java/mods/eln/transparentnode/LargeRheostat.kt -Nom._Resistance\:_%s=Nom. Resistance\: %s - -# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerContainer.java -Drill_slot=Drill slot -Mining_pipe_slot=Mining pipe slot -Ore_scanner_slot=Ore scanner slot - -# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerDescriptor.java -Excavates_on_a_small_radius.\nExtracts_ore_on_a_bigger_radius\:\n10_blocks_radius_after_10_blocks_depth.=Excavates on a small radius.\nExtracts ore on a bigger radius\:\n10 blocks radius after 10 blocks depth. - -# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerGuiDraw.java -Chest_missing_on_the\nback_of_the_auto_miner!=Chest missing on the\nback of the auto miner\! -Halves_speed,_triples_power_draw=Halves speed, triples power draw -Silk_Touch_Off=Silk Touch Off -Silk_Touch_On=Silk Touch On -Silk_touch=Silk touch - -# ./src/main/java/mods/eln/transparentnode/battery/BatteryContainer.java -Overheating_protection=Overheating protection -Overvoltage_protection=Overvoltage protection - -# ./src/main/java/mods/eln/transparentnode/battery/BatteryDescriptor.java -Actual_charge\:_%s=Actual charge\: %s -Energy_capacity\:_%sJ=Energy capacity\: %sJ -_charged_at_%s=charged at %s - -# ./src/main/java/mods/eln/transparentnode/battery/BatteryGuiDraw.java -Charge=Charge -Charged=Charged -Discharge=Discharge -Energy\:=Energy\: -Energy\:_%s=Energy\: %s -Life\:=Life\: -No_charge=No charge -Power_in\:=Power in\: -Power_out\:=Power out\: - -# ./src/main/java/mods/eln/transparentnode/eggincubator/EggIncubatorContainer.java -Egg_slot=Egg slot - -# ./src/main/java/mods/eln/transparentnode/electricalantennarx/ElectricalAntennaRxDescriptor.java -Wireless_energy_receiver.=Wireless energy receiver. - -# ./src/main/java/mods/eln/transparentnode/electricalantennatx/ElectricalAntennaTxDescriptor.java -Efficiency\:_%s_up_to_%s=Efficiency\: %s up to %s -Wireless_energy_transmitter.=Wireless energy transmitter. - -# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceContainer.java -Heating_corp_slot=Heating corp slot - -# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceDescriptor.java -Similar_to_a_vanilla_furnace,\nbut_heats_with_electricity.=Similar to a vanilla furnace,\nbut heats with electricity. - -# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceGuiDraw.java -Auto_shutdown=Auto shutdown -Manual_shutdown=Manual shutdown -Set_point\:_%s°C=Set point\: %s°C - -# ./src/main/java/mods/eln/transparentnode/electricalmachine/ElectricalMachineDescriptor.java -Cost=Cost - -# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceContainer.java -Combustion_chamber_slot=Combustion chamber slot -Fuel_slot=Fuel slot - -# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceDescriptor.java -Generates_heat_when_supplied_with_fuel.=Generates heat when supplied with fuel. - -# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceGuiDraw.java -Control_gauge_at_%s=Control gauge at %s -Decline_fuel=Decline fuel -External_control=External control -Internal_control=Internal control -Take_fuel=Take fuel - -# ./src/main/java/mods/eln/transparentnode/powercapacitor/PowerCapacitorContainer.java -(Increases_maximal_voltage)=(Increases maximal voltage) - -# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelContainer.java -Solar_tracker_slot=Solar tracker slot - -# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelDescriptor.java -Can_be_geared_towards_the_sun.=Can be geared towards the sun. -Max._power\:_%sW=Max. power\: %sW -Max._voltage\:_%sV=Max. voltage\: %sV -Produces_power_from_solar_radiation.=Produces power from solar radiation. - -# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPannelGuiDraw.java -It_is_night=It is night -Solar_panel_angle\:_%s°=Solar panel angle\: %s° -Sun_angle\:_%s°=Sun angle\: %s° - -# ./src/main/java/mods/eln/transparentnode/teleporter/TeleporterGui.java -Destination_transporter=Destination transporter -Power_consumption\:=Power consumption\: -Power_consumption\:_%sW=Power consumption\: %sW -Required_energy\:_%sJ=Required energy\: %sJ -Start=Start -Transporter_name=Transporter name - -# ./src/main/java/mods/eln/transparentnode/thermaldissipatoractive/ThermalDissipatorActiveDescriptor.java -Fan_cooling_power\:_%sW=Fan cooling power\: %sW -Fan_power_consumption\:_%sW=Fan power consumption\: %sW -Fan_voltage\:_%sV=Fan voltage\: %sV - -# ./src/main/java/mods/eln/transparentnode/transformer/TransformerDescriptor.java -The_voltage_ratio_is_proportional\nto_the_cable_stacks_count_ratio.=The voltage ratio is proportional\nto the cable stacks count ratio. -Transforms_an_input_voltage_to\nan_output_voltage.=Transforms an input voltage to\nan output voltage. - -# ./src/main/java/mods/eln/transparentnode/turbine/TurbineDescriptor.java -Generates_electricity_using_heat.=Generates electricity using heat. -Temperature_difference\:_%s°C=Temperature difference\: %s°C - -# ./src/main/java/mods/eln/transparentnode/turret/TurretDescriptor.java -CAUTION\:_Cables_can_get_quite_hot!=CAUTION\: Cables can get quite hot\! -Laser_charge_power\:_%sW...%skW=Laser charge power\: %sW...%skW -Scans_for_entities_and_shoots_if_the\nentity_matches_the_configurable_filter_criteria.=Scans for entities and shoots if the\nentity matches the configurable filter criteria. -Standby_power\:_%sW=Standby power\: %sW - -# ./src/main/java/mods/eln/transparentnode/turret/TurretGui.java -Attack\:=Attack\: -Do_not_attack\:=Do not attack\: -Recharge_power\:=Recharge power\: - -# ./src/main/java/mods/eln/transparentnode/waterturbine/WaterTurbineDescriptor.java -Generates_energy_using_water_stream.=Generates energy using water stream. -No_place_for_water_turbine!=No place for water turbine\! - -# ./src/main/java/mods/eln/transparentnode/windturbine/WindTurbineDescriptor.java -Front\:_%s=Front\: %s -Generates_energy_from_wind.=Generates energy from wind. -Left_Right\:_%s=Left/Right\: %s -Up_Down\:_%s=Up/Down\: %s -Wind_area\:=Wind area\: - -# ./src/main/java/mods/eln/wiki/Data.java -Energy=Energy -Light=Light -Machine=Machine -Ore=Ore -Portable=Portable -Resource=Resource -Signal=Signal -Thermal=Thermal -Upgrade=Upgrade -Utilities=Utilities -Wiring=Wiring - -# ./src/main/java/mods/eln/wiki/Default.java -Previous=Previous - -# ./src/main/java/mods/eln/wiki/ItemDefault.java -Can_be_used_to_craft\:=Can be used to craft\: -Cannot_be_crafted!=Cannot be crafted\! -Cost_%sJ=Cost %sJ -Created_by\:=Created by\: -Is_not_a_crafting_material!=Is not a crafting material\! -Recipe\:=Recipe\: - -# Appearing in multiple source files -(Increases_capacity)=(Increases capacity) -(Increases_inductance)=(Increases inductance) -Actual\:_%s°C=Actual\: %s°C -Biggest=Biggest -Booster_slot=Booster slot -Can_create\:=Can create\: -Capacity\:_%sF=Capacity\: %sF -Charge_power\:_%sW=Charge power\: %sW -Connected=Connected -Cooling_power\:_%sW=Cooling power\: %sW -Copper_cable_slot=Copper cable slot -Dielectric_slot=Dielectric slot -Discharge_power\:_%sW=Discharge power\: %sW -Electrical_cable_slot=Electrical cable slot -Entity_filter_slot=Entity filter slot -Ferromagnetic_core_slot=Ferromagnetic core slot -Has_a_signal_output.=Has a signal output. -Inductance\:_%sH=Inductance\: %sH -Internal_resistance\:_%sΩ=Internal resistance\: %sΩ -Is_off=Is off -Is_on=Is on -Max._temperature\:_%s°C=Max. temperature\: %s°C -Measured_value\ncorresponding\nto_0%_output=Measured value\ncorresponding\nto 0% output -Measured_value\ncorresponding\nto_100%_output=Measured value\ncorresponding\nto 100% output -Nominal\:=Nominal\: -Nominal_power\:_%sW=Nominal power\: %sW -Nominal_usage\:=Nominal usage\: -Nominal_voltage\:_%sV=Nominal voltage\: %sV -Not_connected=Not connected -Not_enough_space_for_this_block=Not enough space for this block -Power=Power -Power\:_%sW=Power\: %sW -Range\:_%s_blocks=Range\: %s blocks -Redstone_slot=Redstone slot -Regulator_slot=Regulator slot -Reset=Reset -Resistance\:_%sΩ=Resistance\: %sΩ -Smallest=Smallest -Specify_the_channel=Specify the channel -Stored_energy\:_%sJ_(%s)=Stored energy\: %sJ (%s) -Temperature\:_%s°C=Temperature\: %s°C -Temperature_gauge=Temperature gauge -Thermal_isolator_slot=Thermal isolator slot -Toggle=Toggle -Toggle_switch=Toggle switch -Toggles_the_output_each_time\nan_emitter's_value_rises.\nUseful_to_allow_multiple_buttons\nto_control_the_same_light.=Toggles the output each time\nan emitter's value rises.\nUseful to allow multiple buttons\nto control the same light. -Used_to_cool_down_turbines.=Used to cool down turbines. -Uses_the_biggest\nvalue_on_the_channel.=Uses the biggest\nvalue on the channel. -Uses_the_smallest\nvalue_on_the_channel.=Uses the smallest\nvalue on the channel. -Validate=Validate -Voltage\:_%sV=Voltage\: %sV -You_can't_place_this_block_at_this_side=You can't place this block at this side +eln:# +eln: +eln:# ./src/main/java/mods/eln/Achievements.java +eln:Electrical_Age_[WIP]=Electrical Age [WIP] +eln:achievement.craft_50v_macerator=Crushing Novice +eln:achievement.craft_50v_macerator.desc=Craft a 50V Macerator +eln:achievement.open_guide=Wiki Power +eln:achievement.open_guide.desc=Open the wiki guide +eln: +eln:# ./src/main/java/mods/eln/Eln.java +eln:10A_Diode.name=10A Diode +eln:200V_Active_Thermal_Dissipator.name=200V Active Thermal Dissipator +eln:200V_Battery_Charger.name=200V Battery Charger +eln:200V_Compressor.name=200V Compressor +eln:200V_Condensator.name=200V Condensator +eln:200V_Copper_Heating_Corp.name=200V Copper Heating Corp +eln:200V_Economic_Light_Bulb.name=200V Economic Light Bulb +eln:200V_Farming_Lamp.name=200V Farming Lamp +eln:200V_Fuel_Generator.name=200V Fuel Generator +eln:200V_Incandescent_Light_Bulb.name=200V Incandescent Light Bulb +eln:200V_Iron_Heating_Corp.name=200V Iron Heating Corp +eln:200V_LED_Bulb.name=200V LED Bulb +eln:200V_Macerator.name=200V Macerator +eln:200V_Magnetizer.name=200V Magnetizer +eln:200V_Plate_Machine.name=200V Plate Machine +eln:200V_Power_Socket.name=200V Power Socket +eln:200V_Tungsten_Heating_Corp.name=200V Tungsten Heating Corp +eln:200V_Turbine.name=200V Turbine +eln:25A_Diode.name=25A Diode +eln:50V_Battery_Charger.name=50V Battery Charger +eln:50V_Carbon_Incandescent_Light_Bulb.name=50V Carbon Incandescent Light Bulb +eln:50V_Compressor.name=50V Compressor +eln:50V_Condensator.name=50V Condensator +eln:50V_Copper_Heating_Corp.name=50V Copper Heating Corp +eln:50V_Economic_Light_Bulb.name=50V Economic Light Bulb +eln:50V_Egg_Incubator.name=50V Egg Incubator +eln:50V_Farming_Lamp.name=50V Farming Lamp +eln:50V_Fuel_Generator.name=50V Fuel Generator +eln:50V_Incandescent_Light_Bulb.name=50V Incandescent Light Bulb +eln:50V_Iron_Heating_Corp.name=50V Iron Heating Corp +eln:50V_LED_Bulb.name=50V LED Bulb +eln:50V_Macerator.name=50V Macerator +eln:50V_Magnetizer.name=50V Magnetizer +eln:50V_Plate_Machine.name=50V Plate Machine +eln:50V_Power_Socket.name=50V Power Socket +eln:50V_Tungsten_Heating_Corp.name=50V Tungsten Heating Corp +eln:50V_Turbine.name=50V Turbine +eln:800V_Defence_Turret.name=800V Defence Turret +eln:AND_Chip.name=AND Chip +eln:Advanced_Chip.name=Advanced Chip +eln:Advanced_Electrical_Motor.name=Advanced Electrical Motor +eln:Advanced_Energy_Meter.name=Advanced Energy Meter +eln:Advanced_Machine_Block.name=Advanced Machine Block +eln:Advanced_Magnet.name=Advanced Magnet +eln:AllMeter.name=Universal-Meter +eln:Alloy_Dust.name=Alloy Dust +eln:Alloy_Ingot.name=Alloy Ingot +eln:Alloy_Plate.name=Alloy Plate +eln:Analog_Watch.name=Analog watch +eln:Analog_vuMeter.name=Analog Gauge +eln:Analogic_Regulator.name=Analogic Regulator +eln:Animal_Filter.name=Animal Filter +eln:Auto_Miner.name=Auto Miner +eln:Average_Electrical_Drill.name=Average Electrical Drill +eln:Average_Ferromagnetic_Core.name=Average Ferromagnetic Core +eln:Basic_Magnet.name=Basic Magnet +eln:Black_Brush.name=Black Brush +eln:Blue_Brush.name=Blue Brush +eln:Brown_Brush.name=Brown Brush +eln:Capacity_Oriented_Battery.name=Capacity Oriented Battery +eln:Cheap_Chip.name=Cheap Chip +eln:Cheap_Electrical_Drill.name=Cheap Electrical Drill +eln:Cheap_Ferromagnetic_Core.name=Cheap Ferromagnetic Core +eln:Cinnabar_Dust.name=Cinnabar Dust +eln:Cinnabar_Ore.name=Cinnabar Ore +eln:Coal_Dust.name=Coal Dust +eln:Coal_Plate.name=Coal Plate +eln:Combustion_Chamber.name=Combustion Chamber +eln:Copper_Cable.name=Copper Cable +eln:Copper_Dust.name=Copper Dust +eln:Copper_Ingot.name=Copper Ingot +eln:Copper_Ore.name=Copper Ore +eln:Copper_Plate.name=Copper Plate +eln:Copper_Thermal_Cable.name=Copper Thermal Cable +eln:Cost_Oriented_Battery.name=Cost Oriented Battery +eln:Current_Oriented_Battery.name=Current Oriented Battery +eln:Cyan_Brush.name=Cyan Brush +eln:D_Flip_Flop_Chip.name=D Flip Flop Chip +eln:Data_Logger.name=Data Logger +eln:Data_Logger_Print.name=Data Logger Print +eln:Dielectric.name=Dielectric +eln:Digital_Watch.name=Digital Watch +eln:Electrical_Anemometer_Sensor.name=Electrical Anemometer Sensor +eln:Electrical_Breaker.name=Electrical Breaker +eln:Electrical_Daylight_Sensor.name=Electrical Daylight Sensor +eln:Electrical_Entity_Sensor.name=Electrical Entity Sensor +eln:Electrical_Fire_Detector.name=Electrical Fire Detector +eln:Electrical_Furnace.name=Electrical Furnace +eln:Electrical_Light_Sensor.name=Electrical Light Sensor +eln:Electrical_Motor.name=Electrical Motor +eln:Electrical_Probe.name=Electrical Probe +eln:Electrical_Probe_Chip.name=Electrical Probe Chip +eln:Electrical_Source.name=Electrical Source +eln:Electrical_Timer.name=Electrical Timer +eln:Electrical_Weather_Sensor.name=Electrical Weather Sensor +eln:Electrical_age_wrench,\nCan_be_used_to_turn\nsmall_wall_blocks=Electrical age wrench,\nCan be used to turn\nsmall wall blocks +eln:Energy_Meter.name=Energy Meter +eln:Experimental_Transporter.name=Experimental Transporter +eln:Fast_Electrical_Drill.name=Fast Electrical Drill +eln:Ferrite_Ingot.name=Ferrite Ingot +eln:Flat_Lamp_Socket.name=Flat Lamp Socket +eln:Fluorescent_Lamp_Socket.name=Fluorescent Lamp Socket +eln:Generator.name=Generator +eln:Gold_Dust.name=Gold Dust +eln:Gold_Plate.name=Gold Plate +eln:Gray_Brush.name=Gray Brush +eln:Green_Brush.name=Green Brush +eln:Ground_Cable.name=Ground Cable +eln:High_Power_Receiver_Antenna.name=High Power Receiver Antenna +eln:High_Power_Transmitter_Antenna.name=High Power Transmitter Antenna +eln:High_Voltage_Cable.name=High Voltage Cable +eln:High_Voltage_Relay.name=High Voltage Relay +eln:High_Voltage_Switch.name=High Voltage Switch +eln:Hub.name=Hub +eln:Industrial_Data_Logger.name=Industrial Data Logger +eln:Iron_Cable.name=Iron Cable +eln:Iron_Dust.name=Iron Dust +eln:Iron_Plate.name=Iron Plate +eln:JK_Flip_Flop_Chip.name=JK Flip Flop Chip +eln:LED_vuMeter.name=LED vuMeter +eln:Lamp_Socket_A.name=Lamp Socket A +eln:Lamp_Socket_B_Projector.name=Lamp Socket B Projector +eln:Lamp_Supply.name=Lamp Supply +eln:Large_Rheostat.name=Large Rheostat +eln:Lead_Dust.name=Lead Dust +eln:Lead_Ingot.name=Lead Ingot +eln:Lead_Ore.name=Lead Ore +eln:Lead_Plate.name=Lead Plate +eln:Life_Oriented_Battery.name=Life Oriented Battery +eln:Light_Blue_Brush.name=Light Blue Brush +eln:Lime_Brush.name=Lime Brush +eln:Long_Suspended_Lamp_Socket.name=Long Suspended Lamp Socket +eln:Low_Power_Receiver_Antenna.name=Low Power Receiver Antenna +eln:Low_Power_Transmitter_Antenna.name=Low Power Transmitter Antenna +eln:Low_Voltage_Cable.name=Low Voltage Cable +eln:Low_Voltage_Relay.name=Low Voltage Relay +eln:Low_Voltage_Switch.name=Low Voltage Switch +eln:Machine_Block.name=Machine Block +eln:Machine_Booster.name=Machine Booster +eln:Magenta_Brush.name=Magenta Brush +eln:Medium_Power_Receiver_Antenna.name=Medium Power Receiver Antenna +eln:Medium_Power_Transmitter_Antenna.name=Medium Power Transmitter Antenna +eln:Medium_Voltage_Cable.name=Medium Voltage Cable +eln:Medium_Voltage_Relay.name=Medium Voltage Relay +eln:Medium_Voltage_Switch.name=Medium Voltage Switch +eln:Mercury.name=Mercury +eln:Mining_Pipe.name=Mining Pipe +eln:Modbus_RTU.name=Modbus RTU +eln:Modern_Data_Logger.name=Modern Data Logger +eln:Monster_Filter.name=Monster Filter +eln:MultiMeter.name=Multimeter +eln:NAND_Chip.name=NAND Chip +eln:NOR_Chip.name=NOR Chip +eln:NOT_Chip.name=NOT Chip +eln:Nuclear_Alarm.name=Nuclear Alarm +eln:OR_Chip.name=OR Chip +eln:On_OFF_Regulator_10_Percent.name=On/off regulator 10% +eln:On_OFF_Regulator_1_Percent.name=On/off regulator 1% +eln:Optimal_Ferromagnetic_Core.name=Optimal Ferromagnetic Core +eln:Orange_Brush.name=Orange Brush +eln:Ore_Scanner.name=Ore Scanner +eln:Oscillator_Chip.name=Oscillator Chip +eln:Overheating_Protection.name=Overheating Protection +eln:Overvoltage_Protection.name=Overvoltage Protection +eln:PAL_Chip.name=PAL Chip +eln:Pink_Brush.name=Pink Brush +eln:Player_Filter.name=Player Filter +eln:Portable_Battery.name=Portable Battery +eln:Portable_Battery_Pack.name=Portable Battery Pack +eln:Portable_Condensator.name=Portable Condensator +eln:Portable_Condensator_Pack.name=Portable Condensator Pack +eln:Portable_Electrical_Axe.name=Portable Electrical Axe +eln:Portable_Electrical_Mining_Drill.name=Portable Electrical Mining Drill +eln:Power_Capacitor.name=Power Capacitor +eln:Power_Inductor.name=Power Inductor +eln:Power_Resistor.name=Power Resistor +eln:Power_capacitor.name=Power capacitor +eln:Power_inductor.name=Power inductor +eln:Purple_Brush.name=Purple Brush +eln:Red_Brush.name=Red Brush +eln:Redstone-to-Voltage_Converter.name=Redstone-to-Voltage Converter +eln:Rheostat.name=Rheostat +eln:Robust_Lamp_Socket.name=Robust Lamp Socket +eln:Rubber.name=Rubber +eln:Schmitt_Trigger_Chip.name=Schmitt Trigger Chip +eln:Sconce_Lamp_Socket.name=Sconce Lamp Socket +eln:Signal_20H_inductor.name=Signal 20H inductor +eln:Signal_Antenna.name=Signal Antenna +eln:Signal_Button.name=Signal Button +eln:Signal_Cable.name=Signal Cable +eln:Signal_Diode.name=Signal Diode +eln:Signal_Processor.name=Signal Processor +eln:Signal_Relay.name=Signal Relay +eln:Signal_Source.name=Signal Source +eln:Signal_Switch.name=Signal Switch +eln:Signal_Switch_with_LED.name=Signal Switch with LED +eln:Signal_Trimmer.name=Signal Trimmer +eln:Silicon_Dust.name=Silicon Dust +eln:Silicon_Ingot.name=Silicon Ingot +eln:Silicon_Plate.name=Silicon Plate +eln:Silver_Brush.name=Silver Brush +eln:Simple_Lamp_Socket.name=Simple Lamp Socket +eln:Single-use_Battery.name=Single-use Battery +eln:Small_200V_Copper_Heating_Corp.name=Small 200V Copper Heating Corp +eln:Small_200V_Iron_Heating_Corp.name=Small 200V Iron Heating Corp +eln:Small_200V_Tungsten_Heating_Corp.name=Small 200V Tungsten Heating Corp +eln:Small_50V_Carbon_Incandescent_Light_Bulb.name=Small 50V Carbon Incandescent Light Bulb +eln:Small_50V_Copper_Heating_Corp.name=Small 50V Copper Heating Corp +eln:Small_50V_Economic_Light_Bulb.name=Small 50V Economic Light Bulb +eln:Small_50V_Incandescent_Light_Bulb.name=Small 50V Incandescent Light Bulb +eln:Small_50V_Iron_Heating_Corp.name=Small 50V Iron Heating Corp +eln:Small_50V_Tungsten_Heating_Corp.name=Small 50V Tungsten Heating Corp +eln:Small_Active_Thermal_Dissipator.name=Small Active Thermal Dissipator +eln:Small_Flashlight.name=Small Flashlight +eln:Small_Passive_Thermal_Dissipator.name=Small Passive Thermal Dissipator +eln:Small_Rotating_Solar_Panel.name=Small Rotating Solar Panel +eln:Small_Solar_Panel.name=Small Solar Panel +eln:Solar_Tracker.name=Solar Tracker +eln:Standard_Alarm.name=Standard Alarm +eln:Steam_Turbine.name=Steam Turbine +eln:Stone_Heat_Furnace.name=Stone Heat Furnace +eln:Street_Light.name=Streetlight +eln:Suspended_Lamp_Socket.name=Suspended Lamp Socket +eln:Temperature_Probe.name=Temperature Probe +eln:Thermal_Probe.name=Thermal Probe +eln:Thermal_Probe_Chip.name=Thermal Probe Chip +eln:Thermistor.name=Thermistor +eln:ThermoMeter.name=Thermometer +eln:Transformer.name=Transformer +eln:Tree_Resin.name=Tree Resin +eln:Tree_Resin_Collector.name=Tree Resin Collector +eln:Tungsten_Cable.name=Tungsten Cable +eln:Tungsten_Dust.name=Tungsten Dust +eln:Tungsten_Ingot.name=Tungsten Ingot +eln:Tungsten_Ore.name=Tungsten Ore +eln:Tutorial_Sign.name=Tutorial Sign +eln:Very_High_Voltage_Cable.name=Very High Voltage Cable +eln:Very_High_Voltage_Relay.name=Very High Voltage Relay +eln:Very_High_Voltage_Switch.name=Very High Voltage Switch +eln:Voltage-to-Redstone_Converter.name=Voltage-to-Redstone Converter +eln:Voltage_Oriented_Battery.name=Voltage Oriented Battery +eln:Voltage_Probe.name=Voltage Probe +eln:Water_Turbine.name=Water Turbine +eln:Weak_50V_Battery_Charger.name=Weak 50V Battery Charger +eln:White_Brush.name=White Brush +eln:Wind_Turbine.name=Wind Turbine +eln:Wireless_Analyser.name=Wireless Analyzer +eln:Wireless_Button.name=Wireless Button +eln:Wireless_Signal_Receiver.name=Wireless Signal Receiver +eln:Wireless_Signal_Repeater.name=Wireless Signal Repeater +eln:Wireless_Signal_Transmitter.name=Wireless Signal Transmitter +eln:Wireless_Switch.name=Wireless Switch +eln:Wrench.name=Wrench +eln:X-Ray_Scanner.name=X-Ray Scanner +eln:XNOR_Chip.name=XNOR Chip +eln:XOR_Chip.name=XOR Chip +eln:Yellow_Brush.name=Yellow Brush +eln:entity.EAReplicator.name=Replicator +eln:item.Copper Axe.name\=Copper Axe +eln:item.Copper Axe.name\=Copper Axe +eln:item.Copper Axe.name\=Copper Axe +eln:item.Copper Axe.name\=Copper Axe +eln:item.Copper Axe.name\=Copper Axe +eln:item.Copper Axe.name\=Copper Axe +eln:item.Copper Axe.name\=Copper Axe +eln:item.Copper Axe.name\=Copper Axe +eln:item.Copper Axe.name\=Copper Axe +eln:item.E-Coal Boots.name\=E-Coal Boots +eln:item.E-Coal Boots.name\=E-Coal Boots +eln:item.E-Coal Boots.name\=E-Coal Boots +eln:item.E-Coal Boots.name\=E-Coal Boots +eln:itemGroup.Eln=Electrical Age +eln:mod.meta.desc=Electricity in your base\! +eln:tile.eln.ElnProbe.name=Eln Computer Probe +eln:tile.eln.EnergyConverterElnToOtherHVUBlock.name=800V Electrical Age to other energy exporter +eln:tile.eln.EnergyConverterElnToOtherLVUBlock.name=50V Electrical Age to other energy exporter +eln:tile.eln.EnergyConverterElnToOtherMVUBlock.name=200V Electrical Age to other energy exporter +eln: +eln:# ./src/main/java/mods/eln/i18n/I18N.java +eln:You_have_%s_lives_left=You have %s lives left +eln: +eln:# ./src/main/java/mods/eln/item/BrushDescriptor.java +eln:Brush_is_dry=Brush is dry +eln:Can_paint_%s_blocks=Can paint %s blocks +eln: +eln:# ./src/main/java/mods/eln/item/CombustionChamber.java +eln:Upgrade_for_the_Stone_Heat_Furnace.=Upgrade for the Stone Heat Furnace. +eln: +eln:# ./src/main/java/mods/eln/item/ElectricalDrillDescriptor.java +eln:Energy_per_operation\:_%sJ=Energy per operation\: %sJ +eln:Time_per_operation\:_%ss=Time per operation\: %ss +eln: +eln:# ./src/main/java/mods/eln/item/FerromagneticCoreDescriptor.java +eln:Cable_loss_factor\:_%s=Cable loss factor\: %s +eln: +eln:# ./src/main/java/mods/eln/item/HeatingCorpElement.java +eln: +eln:# ./src/main/java/mods/eln/item/LampDescriptor.java +eln:Bad=Bad +eln:Condition\:=Condition\: +eln:End_of_life=End of life +eln:Good=Good +eln:New=New +eln:Nominal_lifetime\:_%sh=Nominal lifetime\: %sh +eln:Technology\:_%s=Technology\: %s +eln:Used=Used +eln: +eln:# ./src/main/java/mods/eln/item/LampSlot.java +eln:Lamp_slot=Lamp slot +eln: +eln:# ./src/main/java/mods/eln/item/OverHeatingProtectionDescriptor.java +eln:Useful_to_prevent_overheating\nof_Batteries=Useful to prevent overheating\nof Batteries +eln: +eln:# ./src/main/java/mods/eln/item/OverVoltageProtectionDescriptor.java +eln:Useful_to_prevent_over-voltage\nof_Batteries=Useful to prevent over-voltage\nof Batteries +eln: +eln:# ./src/main/java/mods/eln/item/SolarTrackerDescriptor.java +eln:Solar_panel_upgrade=Solar panel upgrade +eln: +eln:# ./src/main/java/mods/eln/item/electricalitem/BatteryItem.java +eln: +eln:# ./src/main/java/mods/eln/item/electricalitem/ElectricalLampItem.java +eln:Off=Off +eln:On=On +eln:State\:=State\: +eln:Stored_Energy\:_%sJ_(%s)=Stored Energy\: %sJ (%s) +eln: +eln:# ./src/main/java/mods/eln/item/regulator/RegulatorSlot.java +eln: +eln:# ./src/main/java/mods/eln/misc/UtilsClient.java +eln:Hold_shift=Hold shift +eln: +eln:# ./src/main/java/mods/eln/misc/Version.java +eln:mod.name=Electrical Age +eln: +eln:# ./src/main/java/mods/eln/node/six/SixNodeDescriptor.java +eln: +eln:# ./src/main/java/mods/eln/simplenode/energyconverter/EnergyConverterElnToOtherGui.java +eln:Input_power_is_limited_to_%sW=Input power is limited to %sW +eln: +eln:# ./src/main/java/mods/eln/sixnode/LogicGate.kt +eln:_O\:_= O\: +eln: +eln:# ./src/main/java/mods/eln/sixnode/TreeResinCollector/TreeResinCollectorDescriptor.java +eln:Produces_Tree_Resin_over\ntime_when_put_on_a_tree.=Produces Tree Resin over\ntime when put on a tree. +eln:This_block_can_only_be_placed_on_the_side_of_a_tree!=This block can only be placed on the side of a tree\! +eln: +eln:# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerContainer.java +eln:Battery_slot=Battery slot +eln: +eln:# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerDescriptor.java +eln:Can_be_used_to_recharge\nelectrical_items_like\:\nFlash_Light,_X-Ray_scanner\nand_Portable_Battery_...=Can be used to recharge\nelectrical items like\:\nFlash Light, X-Ray scanner\nand Portable Battery ... +eln: +eln:# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerGui.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/diode/DiodeDescriptor.java +eln:Electrical_current_can_only\nflow_through_the_diode\nfrom_anode_to_cathode=Electrical current can only\nflow through the diode\nfrom anode to cathode +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalalarm/ElectricalAlarmDescriptor.java +eln:= +eln:Emits_an_acoustic_alarm_if\nthe_input_signal_is_high=Emits an acoustic alarm if\nthe input signal is high +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalalarm/ElectricalAlarmGui.java +eln:Sound_is_muted=Sound is muted +eln:Sound_is_not_muted=Sound is not muted +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerContainer.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerDescriptor.java +eln:Protects_electrical_components\nOpens_contact_if\:\n__-_Voltage_exceeds_a_certain_level\n-_Current_exceeds_the_cable_limit=Protects electrical components\nOpens contact if\:\n - Voltage exceeds a certain level\n- Current exceeds the cable limit +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerGui.java +eln:Maximum_voltage_before_cutting_off=Maximum voltage before cutting off +eln:Minimum_voltage_before_cutting_off=Minimum voltage before cutting off +eln:Switch_is_off=Switch is off +eln:Switch_is_on=Switch is on +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalcable/ElectricalCableDescriptor.java +eln:A_signal_is_electrical_information\nwhich_must_be_between_0V_and_%sV=A signal is electrical information\nwhich must be between 0V and %sV +eln:Cable_is_adapted_to_conduct\nelectrical_signals.=Cable is adapted to conduct\nelectrical signals. +eln:Current\:_%sA=Current\: %sA +eln:Not_adapted_to_transport_power.=Not adapted to transport power. +eln:Save_usage\:=Save usage\: +eln:Serial_resistance\:_%sΩ=Serial resistance\: %sΩ +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerDescriptor.java +eln:It_can_store_up_to_256_points.=It can store up to 256 points. +eln:Measures_the_voltage_of_an\nelectrical_signal_and_plots\nthe_data_in_real_time.=Measures the voltage of an\nelectrical signal and plots\nthe data in real time. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerGui.java +eln:Back_to_display=Back to display +eln:Configuration=Configuration +eln:Current_[A]=Current [A] +eln:Energy_[J]=Energy [J] +eln:Percent_[-]%=Percent [-]% +eln:Power_[W]=Power [W] +eln:Print=Print +eln:Sampling_period=Sampling period +eln:Temp._[*C]=Temp. [*C] +eln:Voltage_[V]=Voltage [V] +eln:Y-axis_max=Y-axis max +eln:Y-axis_min=Y-axis min +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorContainer.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorDescriptor.java +eln:Output_voltage_increases\nif_entities_are_moving_around.=Output voltage increases\nif entities are moving around. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalfiredetector/ElectricalFireDetectorDescriptor.java +eln:Output_voltage_increases\nif_a_fire_has_been_detected.=Output voltage increases\nif a fire has been detected. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceDescriptor.java +eln:Provides_configurable_signal\nvoltage.=Provides configurable signal\nvoltage. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceGui.java +eln:Output_at_%s=Output at %s +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricallightsensor/ElectricalLightSensorDescriptor.java +eln:0V_at_night,_%sV_at_noon.=0V at night, %sV at noon. +eln:Provides_an_electrical_voltage\nin_the_presence_of_light.=Provides an electrical voltage\nin the presence of light. +eln:Provides_an_electrical_voltage\nwhich_is_proportional_to\nthe_intensity_of_daylight.=Provides an electrical voltage\nwhich is proportional to\nthe intensity of daylight. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathContainer.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathDescriptor.java +eln:Applicable_boolean_operators\:=Applicable boolean operators\: +eln:Applicable_functions\:=Applicable functions\: +eln:Applicable_mathematical_operators\:=Applicable mathematical operators\: +eln:Calculates_an_output_signal_from\n3_inputs_(A,_B,_C)_using_an_equation.=Calculates an output signal from\n3 inputs (A, B, C) using an equation. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathGui.java +eln:%s_Redstone(s)_required=%s Redstone(s) required +eln:Equation_required!=Equation required\! +eln:Inputs_are=Inputs are +eln:Invalid_equation!=Invalid equation\! +eln:Output_voltage_formula=Output voltage formula +eln:Waiting_for_completion...=Waiting for completion... +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalredstoneinput/ElectricalRedstoneInputDescriptor.java +eln:Converts_Redstone_signal\nto_an_electrical_voltage.=Converts Redstone signal\nto an electrical voltage. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalredstoneoutput/ElectricalRedstoneOutputDescriptor.java +eln:Converts_electrical_voltage\ninto_a_Redstone_signal.=Converts electrical voltage\ninto a Redstone signal. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalrelay/ElectricalRelayDescriptor.java +eln:A_relay_is_an_electrical\ncontact_that_conducts_electric\ncurrent_or_not,_depending\nthe_actual_input_signal_voltage.=A relay is an electrical\ncontact that conducts electric\ncurrent or not, depending\nthe actual input signal voltage. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalrelay/ElectricalRelayGui.java +eln:Normally_closed=Normally closed +eln:Normally_open=Normally open +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalsource/ElectricalSourceDescriptor.java +eln:Creative_block.=Creative block. +eln:Provides_an_ideal_voltage_source\nwithout_energy_or_power_limitation.=Provides an ideal voltage source\nwithout energy or power limitation. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalsource/ElectricalSourceGui.java +eln:Output_voltage=Output voltage +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalswitch/ElectricalSwitchDescriptor.java +eln:Can_break_an_electrical_circuit\ninterrupting_the_current.=Can break an electrical circuit\ninterrupting the current. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricaltimeout/ElectricalTimeoutDescriptor.java +eln:Upon_application_of_a_high_signal,\nthe_timer_maintains_the_output_high_for\na_configurable_interval._Can_be_re-triggered.=Upon application of a high signal,\nthe timer maintains the output high for\na configurable interval. Can be re-triggered. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricaltimeout/ElectricalTimeoutGui.java +eln:Set=Set +eln:The_time_interval_the\noutput_is_kept_high.=The time interval the\noutput is kept high. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalvumeter/ElectricalVuMeterDescriptor.java +eln:Displays_the_value_of_a_signal.=Displays the value of a signal. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalwatch/ElectricalWatchContainer.java +eln:Portable_battery_slot=Portable battery slot +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalweathersensor/ElectricalWeatherSensorDescriptor.java +eln:Clear\:_%sV=Clear\: %sV +eln:Provides_an_electrical_signal\ndepending_the_actual_weather.=Provides an electrical signal\ndepending the actual weather. +eln:Rain\:_%sV=Rain\: %sV +eln:Storm\:_%sV=Storm\: %sV +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalwindsensor/ElectricalWindSensorDescriptor.java +eln:Maximum_wind_speed_is_%sm_s=Maximum wind speed is %sm/s +eln:Provides_an_electrical_signal\ndependant_on_wind_speed.=Provides an electrical signal\ndependant on wind speed. +eln:You_can't_place_this_block_on_the_floor_or_the_ceiling=You can't place this block on the floor or the ceiling +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricasensor/ElectricalSensorDescriptor.java +eln:Can_measure_Voltage_Power_Current=Can measure Voltage/Power/Current +eln:Measures_electrical_values_on_cables.=Measures electrical values on cables. +eln:Measures_voltage_on_cables.=Measures voltage on cables. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricasensor/ElectricalSensorGui.java +eln:Current=Current +eln:Measured_voltage\ncorresponding\nto_0%_output=Measured voltage\ncorresponding\nto 0% output +eln:Measured_voltage\ncorresponding\nto_100%_output=Measured voltage\ncorresponding\nto 100% output +eln:Voltage=Voltage +eln: +eln:# ./src/main/java/mods/eln/sixnode/energymeter/EnergyMeterGui.java +eln:Change_password=Change password +eln:Counter_Mode=Counter Mode +eln:Counts_the_energy_conducted_from\n\u00a74red\u00a7f_to_\u00a71blue\u00a7f.=Counts the energy conducted from\n\\u00a74red\\u00a7f to \\u00a71blue\\u00a7f. +eln:Energy_counter\:_%sJ=Energy counter\: %sJ +eln:Enter_new_energy=Enter new energy +eln:Enter_password=Enter password +eln:Prepay_Mode=Prepay Mode +eln:Reset_time_counter=Reset time counter +eln:Set_energy_counter=Set energy counter +eln:Time_counter\:=Time counter\: +eln:Try_password=Try password +eln:You_can_set_an_initial\namount_of_available_energy.\nWhen_the_counter_arrives_at_0\nthe_contact_will_be_opened.=You can set an initial\namount of available energy.\nWhen the counter arrives at 0\nthe contact will be opened. +eln:is_off=is off +eln:is_on=is on +eln:value_in_kJ=value in kJ +eln: +eln:# ./src/main/java/mods/eln/sixnode/groundcable/GroundCableDescriptor.java +eln:Can_be_used_to_set_a_point_of_an\nelectrical_network_to_0V_potential.\nFor_example_to_ground_negative_battery_contacts.=Can be used to set a point of an\nelectrical network to 0V potential.\nFor example to ground negative battery contacts. +eln:Provides_a_zero_volt_reference.=Provides a zero volt reference. +eln: +eln:# ./src/main/java/mods/eln/sixnode/hub/HubDescriptor.java +eln:Allows_crossing_cables\non_one_single_block.=Allows crossing cables\non one single block. +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketDescriptor.java +eln:Angle\:_%s°_to_%s°=Angle\: %s° to %s° +eln:Spot_range\:_%s_blocks=Spot range\: %s blocks +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketGuiDraw.java +eln:%s_is_not_in_range!=%s is not in range\! +eln:Cable_slot_empty=Cable slot empty +eln:Orientation\:_%s°=Orientation\: %s° +eln:Parallel=Parallel +eln:Powered_by_Lamp_Supply=Powered by Lamp Supply +eln:Powered_by_cable=Powered by cable +eln:Serial=Serial +eln:Specify_the_supply_channel=Specify the supply channel +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyContainer.java +eln:Electrical_cable_slot\nBase_range_is_32_blocks.\nEach_additional_cable\nincreases_range_by_one.=Electrical cable slot\nBase range is 32 blocks.\nEach additional cable\nincreases range by one. +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyDescriptor.java +eln:Supplies_all_lamps_on_the_channel.=Supplies all lamps on the channel. +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyGui.java +eln:Power_channel_name=Power channel name +eln:Wireless_channel_name=Wireless channel name +eln: +eln:# ./src/main/java/mods/eln/sixnode/modbusrtu/ModbusRtuGui.java +eln:Add=Add +eln:Channel_name=Channel name +eln:Modbus_ID=Modbus ID +eln:Modbus_RTU=Modbus RTU +eln:Station_ID=Station ID +eln:Station_name=Station name +eln:Wireless_RX=Wireless RX +eln:Wireless_TX=Wireless TX +eln: +eln:# ./src/main/java/mods/eln/sixnode/powercapacitorsix/PowerCapacitorSixContainer.java +eln:(Increases_maximum_voltage)=(Increases maximum voltage) +eln: +eln:# ./src/main/java/mods/eln/sixnode/powercapacitorsix/PowerCapacitorSixGui.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/powerinductorsix/PowerInductorSixContainer.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/powerinductorsix/PowerInductorSixGui.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/powersocket/PowerSocketDescriptor.java +eln:Supplies_any_device\nplugged_in_with_energy.=Supplies any device\nplugged in with energy. +eln: +eln:# ./src/main/java/mods/eln/sixnode/powersocket/PowerSocketGui.java +eln:Specify_the_device_to_supply_through_this_socket.=Specify the device to supply through this socket. +eln: +eln:# ./src/main/java/mods/eln/sixnode/resistor/ResistorContainer.java +eln:(Sets_resistance)=(Sets resistance) +eln:Coal_dust_slot=Coal dust slot +eln: +eln:# ./src/main/java/mods/eln/sixnode/thermalcable/ThermalCableDescriptor.java +eln:High_parallel_resistance\n_\=>_Low_power_dissipation.=High parallel resistance\n \=> Low power dissipation. +eln:Low_serial_resistance\n_\=>_High_conductivity.=Low serial resistance\n \=> High conductivity. +eln:Parallel_resistance\:_%sK_W=Parallel resistance\: %sK/W +eln:Serial_resistance\:_%sK_W=Serial resistance\: %sK/W +eln: +eln:# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorContainer.java +eln:Cable_slot=Cable slot +eln: +eln:# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorDescriptor.java +eln:Can_measure\:=Can measure\: +eln:Measures_temperature_of_cables.=Measures temperature of cables. +eln:Measures_thermal_values_on_cables.=Measures thermal values on cables. +eln:__Temperature_Power_conducted=Temperature/Power conducted +eln: +eln:# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorGui.java +eln:Measured_temperature\ncorresponding\nto_0%_output=Measured temperature\ncorresponding\nto 0% output +eln:Measured_temperature\ncorresponding\nto_100%_output=Measured temperature\ncorresponding\nto 100% output +eln:Temperature=Temperature +eln: +eln:# ./src/main/java/mods/eln/sixnode/tutorialsign/TutorialSignElement.java +eln:No_text_associated_to_this_beacon=No text associated to this beacon +eln: +eln:# ./src/main/java/mods/eln/sixnode/tutorialsign/TutorialSignGui.java +eln:Set_beacon_name=Set beacon name +eln: +eln:# ./src/main/java/mods/eln/sixnode/wirelesssignal/rx/WirelessSignalRxGui.java +eln: +eln:# ./src/main/java/mods/eln/transparentnode/FuelGenerator.kt +eln:Nominal_power\:_%s_W=Nominal power\: %s W +eln:Nominal_voltage\:_%s_V=Nominal voltage\: %s V +eln:Produces_electricity_using_fuel.=Produces electricity using fuel. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/LargeRheostat.kt +eln:Nom._Resistance\:_%s=Nom. Resistance\: %s +eln: +eln:# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerContainer.java +eln:Drill_slot=Drill slot +eln:Mining_pipe_slot=Mining pipe slot +eln:Ore_scanner_slot=Ore scanner slot +eln: +eln:# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerDescriptor.java +eln:Excavates_on_a_small_radius.\nExtracts_ore_on_a_bigger_radius\:\n10_blocks_radius_after_10_blocks_depth.=Excavates on a small radius.\nExtracts ore on a bigger radius\:\n10 blocks radius after 10 blocks depth. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerGuiDraw.java +eln:Chest_missing_on_the\nback_of_the_auto_miner!=Chest missing on the\nback of the auto miner\! +eln:Halves_speed,_triples_power_draw=Halves speed, triples power draw +eln:Silk_Touch_Off=Silk Touch Off +eln:Silk_Touch_On=Silk Touch On +eln:Silk_touch=Silk touch +eln: +eln:# ./src/main/java/mods/eln/transparentnode/battery/BatteryContainer.java +eln:Overheating_protection=Overheating protection +eln:Overvoltage_protection=Overvoltage protection +eln: +eln:# ./src/main/java/mods/eln/transparentnode/battery/BatteryDescriptor.java +eln:Actual_charge\:_%s=Actual charge\: %s +eln:Energy_capacity\:_%sJ=Energy capacity\: %sJ +eln:_charged_at_%s=charged at %s +eln: +eln:# ./src/main/java/mods/eln/transparentnode/battery/BatteryGuiDraw.java +eln:Charge=Charge +eln:Charged=Charged +eln:Discharge=Discharge +eln:Energy\:=Energy\: +eln:Energy\:_%s=Energy\: %s +eln:Life\:=Life\: +eln:No_charge=No charge +eln:Power_in\:=Power in\: +eln:Power_out\:=Power out\: +eln: +eln:# ./src/main/java/mods/eln/transparentnode/eggincubator/EggIncubatorContainer.java +eln:Egg_slot=Egg slot +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalantennarx/ElectricalAntennaRxDescriptor.java +eln:Wireless_energy_receiver.=Wireless energy receiver. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalantennatx/ElectricalAntennaTxDescriptor.java +eln:Efficiency\:_%s_up_to_%s=Efficiency\: %s up to %s +eln:Wireless_energy_transmitter.=Wireless energy transmitter. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceContainer.java +eln:Heating_corp_slot=Heating corp slot +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceDescriptor.java +eln:Similar_to_a_vanilla_furnace,\nbut_heats_with_electricity.=Similar to a vanilla furnace,\nbut heats with electricity. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceGuiDraw.java +eln:Auto_shutdown=Auto shutdown +eln:Manual_shutdown=Manual shutdown +eln:Set_point\:_%s°C=Set point\: %s°C +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalmachine/ElectricalMachineDescriptor.java +eln:Cost=Cost +eln: +eln:# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceContainer.java +eln:Combustion_chamber_slot=Combustion chamber slot +eln:Fuel_slot=Fuel slot +eln: +eln:# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceDescriptor.java +eln:Generates_heat_when_supplied_with_fuel.=Generates heat when supplied with fuel. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceGuiDraw.java +eln:Control_gauge_at_%s=Control gauge at %s +eln:Decline_fuel=Decline fuel +eln:External_control=External control +eln:Internal_control=Internal control +eln:Take_fuel=Take fuel +eln: +eln:# ./src/main/java/mods/eln/transparentnode/powercapacitor/PowerCapacitorContainer.java +eln:(Increases_maximal_voltage)=(Increases maximal voltage) +eln: +eln:# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelContainer.java +eln:Solar_tracker_slot=Solar tracker slot +eln: +eln:# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelDescriptor.java +eln:Can_be_geared_towards_the_sun.=Can be geared towards the sun. +eln:Max._power\:_%sW=Max. power\: %sW +eln:Max._voltage\:_%sV=Max. voltage\: %sV +eln:Produces_power_from_solar_radiation.=Produces power from solar radiation. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPannelGuiDraw.java +eln:It_is_night=It is night +eln:Solar_panel_angle\:_%s°=Solar panel angle\: %s° +eln:Sun_angle\:_%s°=Sun angle\: %s° +eln: +eln:# ./src/main/java/mods/eln/transparentnode/teleporter/TeleporterGui.java +eln:Destination_transporter=Destination transporter +eln:Power_consumption\:=Power consumption\: +eln:Power_consumption\:_%sW=Power consumption\: %sW +eln:Required_energy\:_%sJ=Required energy\: %sJ +eln:Start=Start +eln:Transporter_name=Transporter name +eln: +eln:# ./src/main/java/mods/eln/transparentnode/thermaldissipatoractive/ThermalDissipatorActiveDescriptor.java +eln:Fan_cooling_power\:_%sW=Fan cooling power\: %sW +eln:Fan_power_consumption\:_%sW=Fan power consumption\: %sW +eln:Fan_voltage\:_%sV=Fan voltage\: %sV +eln: +eln:# ./src/main/java/mods/eln/transparentnode/transformer/TransformerDescriptor.java +eln:The_voltage_ratio_is_proportional\nto_the_cable_stacks_count_ratio.=The voltage ratio is proportional\nto the cable stacks count ratio. +eln:Transforms_an_input_voltage_to\nan_output_voltage.=Transforms an input voltage to\nan output voltage. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/turbine/TurbineDescriptor.java +eln:Generates_electricity_using_heat.=Generates electricity using heat. +eln:Temperature_difference\:_%s°C=Temperature difference\: %s°C +eln: +eln:# ./src/main/java/mods/eln/transparentnode/turret/TurretDescriptor.java +eln:CAUTION\:_Cables_can_get_quite_hot!=CAUTION\: Cables can get quite hot\! +eln:Laser_charge_power\:_%sW...%skW=Laser charge power\: %sW...%skW +eln:Scans_for_entities_and_shoots_if_the\nentity_matches_the_configurable_filter_criteria.=Scans for entities and shoots if the\nentity matches the configurable filter criteria. +eln:Standby_power\:_%sW=Standby power\: %sW +eln: +eln:# ./src/main/java/mods/eln/transparentnode/turret/TurretGui.java +eln:Attack\:=Attack\: +eln:Do_not_attack\:=Do not attack\: +eln:Recharge_power\:=Recharge power\: +eln: +eln:# ./src/main/java/mods/eln/transparentnode/waterturbine/WaterTurbineDescriptor.java +eln:Generates_energy_using_water_stream.=Generates energy using water stream. +eln:No_place_for_water_turbine!=No place for water turbine\! +eln: +eln:# ./src/main/java/mods/eln/transparentnode/windturbine/WindTurbineDescriptor.java +eln:Front\:_%s=Front\: %s +eln:Generates_energy_from_wind.=Generates energy from wind. +eln:Left_Right\:_%s=Left/Right\: %s +eln:Up_Down\:_%s=Up/Down\: %s +eln:Wind_area\:=Wind area\: +eln: +eln:# ./src/main/java/mods/eln/wiki/Data.java +eln:Energy=Energy +eln:Light=Light +eln:Machine=Machine +eln:Ore=Ore +eln:Portable=Portable +eln:Resource=Resource +eln:Signal=Signal +eln:Thermal=Thermal +eln:Upgrade=Upgrade +eln:Utilities=Utilities +eln:Wiring=Wiring +eln: +eln:# ./src/main/java/mods/eln/wiki/Default.java +eln:Previous=Previous +eln: +eln:# ./src/main/java/mods/eln/wiki/ItemDefault.java +eln:Can_be_used_to_craft\:=Can be used to craft\: +eln:Cannot_be_crafted!=Cannot be crafted\! +eln:Cost_%sJ=Cost %sJ +eln:Created_by\:=Created by\: +eln:Is_not_a_crafting_material!=Is not a crafting material\! +eln:Recipe\:=Recipe\: +eln: +eln:# Appearing in multiple source files +eln:(Increases_capacity)=(Increases capacity) +eln:(Increases_inductance)=(Increases inductance) +eln:Actual\:_%s°C=Actual\: %s°C +eln:Biggest=Biggest +eln:Booster_slot=Booster slot +eln:Can_create\:=Can create\: +eln:Capacity\:_%sF=Capacity\: %sF +eln:Charge_power\:_%sW=Charge power\: %sW +eln:Connected=Connected +eln:Cooling_power\:_%sW=Cooling power\: %sW +eln:Copper_cable_slot=Copper cable slot +eln:Dielectric_slot=Dielectric slot +eln:Discharge_power\:_%sW=Discharge power\: %sW +eln:Electrical_cable_slot=Electrical cable slot +eln:Entity_filter_slot=Entity filter slot +eln:Ferromagnetic_core_slot=Ferromagnetic core slot +eln:Has_a_signal_output.=Has a signal output. +eln:Inductance\:_%sH=Inductance\: %sH +eln:Internal_resistance\:_%sΩ=Internal resistance\: %sΩ +eln:Is_off=Is off +eln:Is_on=Is on +eln:Max._temperature\:_%s°C=Max. temperature\: %s°C +eln:Measured_value\ncorresponding\nto_0%_output=Measured value\ncorresponding\nto 0% output +eln:Measured_value\ncorresponding\nto_100%_output=Measured value\ncorresponding\nto 100% output +eln:Nominal\:=Nominal\: +eln:Nominal_power\:_%sW=Nominal power\: %sW +eln:Nominal_usage\:=Nominal usage\: +eln:Nominal_voltage\:_%sV=Nominal voltage\: %sV +eln:Not_connected=Not connected +eln:Not_enough_space_for_this_block=Not enough space for this block +eln:Power=Power +eln:Power\:_%sW=Power\: %sW +eln:Range\:_%s_blocks=Range\: %s blocks +eln:Redstone_slot=Redstone slot +eln:Regulator_slot=Regulator slot +eln:Reset=Reset +eln:Resistance\:_%sΩ=Resistance\: %sΩ +eln:Smallest=Smallest +eln:Specify_the_channel=Specify the channel +eln:Stored_energy\:_%sJ_(%s)=Stored energy\: %sJ (%s) +eln:Temperature\:_%s°C=Temperature\: %s°C +eln:Temperature_gauge=Temperature gauge +eln:Thermal_isolator_slot=Thermal isolator slot +eln:Toggle=Toggle +eln:Toggle_switch=Toggle switch +eln:Toggles_the_output_each_time\nan_emitter's_value_rises.\nUseful_to_allow_multiple_buttons\nto_control_the_same_light.=Toggles the output each time\nan emitter's value rises.\nUseful to allow multiple buttons\nto control the same light. +eln:Used_to_cool_down_turbines.=Used to cool down turbines. +eln:Uses_the_biggest\nvalue_on_the_channel.=Uses the biggest\nvalue on the channel. +eln:Uses_the_smallest\nvalue_on_the_channel.=Uses the smallest\nvalue on the channel. +eln:Validate=Validate +eln:Voltage\:_%sV=Voltage\: %sV +eln:You_can't_place_this_block_at_this_side=You can't place this block at this side diff --git a/src/main/resources/assets/eln/lang/en_CA.lang b/src/main/resources/assets/eln/lang/en_CA.lang index f4e769aa7..92e8a8d93 100644 --- a/src/main/resources/assets/eln/lang/en_CA.lang +++ b/src/main/resources/assets/eln/lang/en_CA.lang @@ -1,829 +1,829 @@ -# - -# ./src/main/java/mods/eln/Achievements.java -Electrical_Age_[WIP]=Electrical Age [WIP] -achievement.craft_50v_macerator=Crushing Novice -achievement.craft_50v_macerator.desc=Craft a 50V Macerator -achievement.open_guide=Wiki Power -achievement.open_guide.desc=Open the wiki guide - -# ./src/main/java/mods/eln/Eln.java -10A_Diode.name=10A Diode -200V_Active_Thermal_Dissipator.name=200V Active Thermal Dissipator -200V_Battery_Charger.name=200V Battery Charger -200V_Compressor.name=200V Compressor -200V_Condensator.name=200V Condensator -200V_Copper_Heating_Corp.name=200V Copper Heating Corp -200V_Economic_Light_Bulb.name=200V Economic Light Bulb -200V_Farming_Lamp.name=200V Farming Lamp -200V_Fuel_Generator.name=200V Fuel Generator -200V_Incandescent_Light_Bulb.name=200V Incandescent Light Bulb -200V_Iron_Heating_Corp.name=200V Iron Heating Corp -200V_LED_Bulb.name=200V LED Bulb -200V_Macerator.name=200V Macerator -200V_Magnetizer.name=200V Magnetizer -200V_Plate_Machine.name=200V Plate Machine -200V_Power_Socket.name=200V Power Socket -200V_Tungsten_Heating_Corp.name=200V Tungsten Heating Corp -200V_Turbine.name=200V Turbine -25A_Diode.name=25A Diode -50V_Battery_Charger.name=50V Battery Charger -50V_Carbon_Incandescent_Light_Bulb.name=50V Carbon Incandescent Light Bulb -50V_Compressor.name=50V Compressor -50V_Condensator.name=50V Condensator -50V_Copper_Heating_Corp.name=50V Copper Heating Corp -50V_Economic_Light_Bulb.name=50V Economic Light Bulb -50V_Egg_Incubator.name=50V Egg Incubator -50V_Farming_Lamp.name=50V Farming Lamp -50V_Fuel_Generator.name=50V Fuel Generator -50V_Incandescent_Light_Bulb.name=50V Incandescent Light Bulb -50V_Iron_Heating_Corp.name=50V Iron Heating Corp -50V_LED_Bulb.name=50V LED Bulb -50V_Macerator.name=50V Macerator -50V_Magnetizer.name=50V Magnetizer -50V_Plate_Machine.name=50V Plate Machine -50V_Power_Socket.name=50V Power Socket -50V_Tungsten_Heating_Corp.name=50V Tungsten Heating Corp -50V_Turbine.name=50V Turbine -800V_Defence_Turret.name=800V Defence Turret -AND_Chip.name=AND Chip -Advanced_Chip.name=Advanced Chip -Advanced_Electrical_Motor.name=Advanced Electrical Motor -Advanced_Energy_Meter.name=Advanced Energy Meter -Advanced_Machine_Block.name=Advanced Machine Block -Advanced_Magnet.name=Advanced Magnet -AllMeter.name=Universal-Meter -Alloy_Dust.name=Alloy Dust -Alloy_Ingot.name=Alloy Ingot -Alloy_Plate.name=Alloy Plate -Analog_Watch.name=Analog watch -Analog_vuMeter.name=Analog Gauge -Analogic_Regulator.name=Analogic Regulator -Animal_Filter.name=Animal Filter -Auto_Miner.name=Auto Miner -Average_Electrical_Drill.name=Average Electrical Drill -Average_Ferromagnetic_Core.name=Average Ferromagnetic Core -Basic_Magnet.name=Basic Magnet -Black_Brush.name=Black Brush -Blue_Brush.name=Blue Brush -Brown_Brush.name=Brown Brush -Capacity_Oriented_Battery.name=Capacity Oriented Battery -Cheap_Chip.name=Cheap Chip -Cheap_Electrical_Drill.name=Cheap Electrical Drill -Cheap_Ferromagnetic_Core.name=Cheap Ferromagnetic Core -Cinnabar_Dust.name=Cinnabar Dust -Cinnabar_Ore.name=Cinnabar Ore -Coal_Dust.name=Coal Dust -Coal_Plate.name=Coal Plate -Combustion_Chamber.name=Combustion Chamber -Copper_Cable.name=Copper Cable -Copper_Dust.name=Copper Dust -Copper_Ingot.name=Copper Ingot -Copper_Ore.name=Copper Ore -Copper_Plate.name=Copper Plate -Copper_Thermal_Cable.name=Copper Thermal Cable -Cost_Oriented_Battery.name=Cost Oriented Battery -Current_Oriented_Battery.name=Current Oriented Battery -Cyan_Brush.name=Cyan Brush -D_Flip_Flop_Chip.name=D Flip Flop Chip -Data_Logger.name=Data Logger -Data_Logger_Print.name=Data Logger Print -Dielectric.name=Dielectric -Digital_Watch.name=Digital Watch -Electrical_Anemometer_Sensor.name=Electrical Anemometer Sensor -Electrical_Breaker.name=Electrical Breaker -Electrical_Daylight_Sensor.name=Electrical Daylight Sensor -Electrical_Entity_Sensor.name=Electrical Entity Sensor -Electrical_Fire_Detector.name=Electrical Fire Detector -Electrical_Furnace.name=Electrical Furnace -Electrical_Light_Sensor.name=Electrical Light Sensor -Electrical_Motor.name=Electrical Motor -Electrical_Probe.name=Electrical Probe -Electrical_Probe_Chip.name=Electrical Probe Chip -Electrical_Source.name=Electrical Source -Electrical_Timer.name=Electrical Timer -Electrical_Weather_Sensor.name=Electrical Weather Sensor -Electrical_age_wrench,\nCan_be_used_to_turn\nsmall_wall_blocks=Electrical age wrench,\nCan be used to turn\nsmall wall blocks -Energy_Meter.name=Energy Meter -Experimental_Transporter.name=Experimental Transporter -Fast_Electrical_Drill.name=Fast Electrical Drill -Ferrite_Ingot.name=Ferrite Ingot -Flat_Lamp_Socket.name=Flat Lamp Socket -Fluorescent_Lamp_Socket.name=Fluorescent Lamp Socket -Generator.name=Generator -Gold_Dust.name=Gold Dust -Gold_Plate.name=Gold Plate -Gray_Brush.name=Gray Brush -Green_Brush.name=Green Brush -Ground_Cable.name=Ground Cable -High_Power_Receiver_Antenna.name=High Power Receiver Antenna -High_Power_Transmitter_Antenna.name=High Power Transmitter Antenna -High_Voltage_Cable.name=High Voltage Cable -High_Voltage_Relay.name=High Voltage Relay -High_Voltage_Switch.name=High Voltage Switch -Hub.name=Hub -Industrial_Data_Logger.name=Industrial Data Logger -Iron_Cable.name=Iron Cable -Iron_Dust.name=Iron Dust -Iron_Plate.name=Iron Plate -JK_Flip_Flop_Chip.name=JK Flip Flop Chip -LED_vuMeter.name=LED vuMeter -Lamp_Socket_A.name=Lamp Socket A -Lamp_Socket_B_Projector.name=Lamp Socket B Projector -Lamp_Supply.name=Lamp Supply -Large_Rheostat.name=Large Rheostat -Lead_Dust.name=Lead Dust -Lead_Ingot.name=Lead Ingot -Lead_Ore.name=Lead Ore -Lead_Plate.name=Lead Plate -Life_Oriented_Battery.name=Life Oriented Battery -Light_Blue_Brush.name=Light Blue Brush -Lime_Brush.name=Lime Brush -Long_Suspended_Lamp_Socket.name=Long Suspended Lamp Socket -Low_Power_Receiver_Antenna.name=Low Power Receiver Antenna -Low_Power_Transmitter_Antenna.name=Low Power Transmitter Antenna -Low_Voltage_Cable.name=Low Voltage Cable -Low_Voltage_Relay.name=Low Voltage Relay -Low_Voltage_Switch.name=Low Voltage Switch -Machine_Block.name=Machine Block -Machine_Booster.name=Machine Booster -Magenta_Brush.name=Magenta Brush -Medium_Power_Receiver_Antenna.name=Medium Power Receiver Antenna -Medium_Power_Transmitter_Antenna.name=Medium Power Transmitter Antenna -Medium_Voltage_Cable.name=Medium Voltage Cable -Medium_Voltage_Relay.name=Medium Voltage Relay -Medium_Voltage_Switch.name=Medium Voltage Switch -Mercury.name=Mercury -Mining_Pipe.name=Mining Pipe -Modbus_RTU.name=Modbus RTU -Modern_Data_Logger.name=Modern Data Logger -Monster_Filter.name=Monster Filter -MultiMeter.name=Multimeter -NAND_Chip.name=NAND Chip -NOR_Chip.name=NOR Chip -NOT_Chip.name=NOT Chip -Nuclear_Alarm.name=Nuclear Alarm -OR_Chip.name=OR Chip -On_OFF_Regulator_10_Percent.name=On/off regulator 10% -On_OFF_Regulator_1_Percent.name=On/off regulator 1% -Optimal_Ferromagnetic_Core.name=Optimal Ferromagnetic Core -Orange_Brush.name=Orange Brush -Ore_Scanner.name=Ore Scanner -Oscillator_Chip.name=Oscillator Chip -Overheating_Protection.name=Overheating Protection -Overvoltage_Protection.name=Overvoltage Protection -PAL_Chip.name=PAL Chip -Pink_Brush.name=Pink Brush -Player_Filter.name=Player Filter -Portable_Battery.name=Portable Battery -Portable_Battery_Pack.name=Portable Battery Pack -Portable_Condensator.name=Portable Condensator -Portable_Condensator_Pack.name=Portable Condensator Pack -Portable_Electrical_Axe.name=Portable Electrical Axe -Portable_Electrical_Mining_Drill.name=Portable Electrical Mining Drill -Power_Capacitor.name=Power Capacitor -Power_Inductor.name=Power Inductor -Power_Resistor.name=Power Resistor -Power_capacitor.name=Power capacitor -Power_inductor.name=Power inductor -Purple_Brush.name=Purple Brush -Red_Brush.name=Red Brush -Redstone-to-Voltage_Converter.name=Redstone-to-Voltage Converter -Rheostat.name=Rheostat -Robust_Lamp_Socket.name=Robust Lamp Socket -Rubber.name=Rubber -Schmitt_Trigger_Chip.name=Schmitt Trigger Chip -Sconce_Lamp_Socket.name=Sconce Lamp Socket -Signal_20H_inductor.name=Signal 20H inductor -Signal_Antenna.name=Signal Antenna -Signal_Button.name=Signal Button -Signal_Cable.name=Signal Cable -Signal_Diode.name=Signal Diode -Signal_Processor.name=Signal Processor -Signal_Relay.name=Signal Relay -Signal_Source.name=Signal Source -Signal_Switch.name=Signal Switch -Signal_Switch_with_LED.name=Signal Switch with LED -Signal_Trimmer.name=Signal Trimmer -Silicon_Dust.name=Silicon Dust -Silicon_Ingot.name=Silicon Ingot -Silicon_Plate.name=Silicon Plate -Silver_Brush.name=Silver Brush -Simple_Lamp_Socket.name=Simple Lamp Socket -Single-use_Battery.name=Single-use Battery -Small_200V_Copper_Heating_Corp.name=Small 200V Copper Heating Corp -Small_200V_Iron_Heating_Corp.name=Small 200V Iron Heating Corp -Small_200V_Tungsten_Heating_Corp.name=Small 200V Tungsten Heating Corp -Small_50V_Carbon_Incandescent_Light_Bulb.name=Small 50V Carbon Incandescent Light Bulb -Small_50V_Copper_Heating_Corp.name=Small 50V Copper Heating Corp -Small_50V_Economic_Light_Bulb.name=Small 50V Economic Light Bulb -Small_50V_Incandescent_Light_Bulb.name=Small 50V Incandescent Light Bulb -Small_50V_Iron_Heating_Corp.name=Small 50V Iron Heating Corp -Small_50V_Tungsten_Heating_Corp.name=Small 50V Tungsten Heating Corp -Small_Active_Thermal_Dissipator.name=Small Active Thermal Dissipator -Small_Flashlight.name=Small Flashlight -Small_Passive_Thermal_Dissipator.name=Small Passive Thermal Dissipator -Small_Rotating_Solar_Panel.name=Small Rotating Solar Panel -Small_Solar_Panel.name=Small Solar Panel -Solar_Tracker.name=Solar Tracker -Standard_Alarm.name=Standard Alarm -Steam_Turbine.name=Steam Turbine -Stone_Heat_Furnace.name=Stone Heat Furnace -Street_Light.name=Streetlight -Suspended_Lamp_Socket.name=Suspended Lamp Socket -Temperature_Probe.name=Temperature Probe -Thermal_Probe.name=Thermal Probe -Thermal_Probe_Chip.name=Thermal Probe Chip -Thermistor.name=Thermistor -ThermoMeter.name=Thermometer -Transformer.name=Transformer -Tree_Resin.name=Tree Resin -Tree_Resin_Collector.name=Tree Resin Collector -Tungsten_Cable.name=Tungsten Cable -Tungsten_Dust.name=Tungsten Dust -Tungsten_Ingot.name=Tungsten Ingot -Tungsten_Ore.name=Tungsten Ore -Tutorial_Sign.name=Tutorial Sign -Very_High_Voltage_Cable.name=Very High Voltage Cable -Very_High_Voltage_Relay.name=Very High Voltage Relay -Very_High_Voltage_Switch.name=Very High Voltage Switch -Voltage-to-Redstone_Converter.name=Voltage-to-Redstone Converter -Voltage_Oriented_Battery.name=Voltage Oriented Battery -Voltage_Probe.name=Voltage Probe -Water_Turbine.name=Water Turbine -Weak_50V_Battery_Charger.name=Weak 50V Battery Charger -White_Brush.name=White Brush -Wind_Turbine.name=Wind Turbine -Wireless_Analyser.name=Wireless Analyzer -Wireless_Button.name=Wireless Button -Wireless_Signal_Receiver.name=Wireless Signal Receiver -Wireless_Signal_Repeater.name=Wireless Signal Repeater -Wireless_Signal_Transmitter.name=Wireless Signal Transmitter -Wireless_Switch.name=Wireless Switch -Wrench.name=Wrench -X-Ray_Scanner.name=X-Ray Scanner -XNOR_Chip.name=XNOR Chip -XOR_Chip.name=XOR Chip -Yellow_Brush.name=Yellow Brush -entity.EAReplicator.name=Replicator -item.Copper Axe.name\=Copper Axe -item.Copper Axe.name\=Copper Axe -item.Copper Axe.name\=Copper Axe -item.Copper Axe.name\=Copper Axe -item.Copper Axe.name\=Copper Axe -item.Copper Axe.name\=Copper Axe -item.Copper Axe.name\=Copper Axe -item.Copper Axe.name\=Copper Axe -item.Copper Axe.name\=Copper Axe -item.E-Coal Boots.name\=E-Coal Boots -item.E-Coal Boots.name\=E-Coal Boots -item.E-Coal Boots.name\=E-Coal Boots -item.E-Coal Boots.name\=E-Coal Boots -itemGroup.Eln=Electrical Age -mod.meta.desc=Electricity in your base\! -tile.eln.ElnProbe.name=Eln Computer Probe -tile.eln.EnergyConverterElnToOtherHVUBlock.name=800V Electrical Age to other energy exporter -tile.eln.EnergyConverterElnToOtherLVUBlock.name=50V Electrical Age to other energy exporter -tile.eln.EnergyConverterElnToOtherMVUBlock.name=200V Electrical Age to other energy exporter - -# ./src/main/java/mods/eln/i18n/I18N.java -You_have_%s_lives_left=You have %s lives left - -# ./src/main/java/mods/eln/item/BrushDescriptor.java -Brush_is_dry=Brush is dry -Can_paint_%s_blocks=Can paint %s blocks - -# ./src/main/java/mods/eln/item/CombustionChamber.java -Upgrade_for_the_Stone_Heat_Furnace.=Upgrade for the Stone Heat Furnace. - -# ./src/main/java/mods/eln/item/ElectricalDrillDescriptor.java -Energy_per_operation\:_%sJ=Energy per operation\: %sJ -Time_per_operation\:_%ss=Time per operation\: %ss - -# ./src/main/java/mods/eln/item/FerromagneticCoreDescriptor.java -Cable_loss_factor\:_%s=Cable loss factor\: %s - -# ./src/main/java/mods/eln/item/HeatingCorpElement.java - -# ./src/main/java/mods/eln/item/LampDescriptor.java -Bad=Bad -Condition\:=Condition\: -End_of_life=End of life -Good=Good -New=New -Nominal_lifetime\:_%sh=Nominal lifetime\: %sh -Technology\:_%s=Technology\: %s -Used=Used - -# ./src/main/java/mods/eln/item/LampSlot.java -Lamp_slot=Lamp slot - -# ./src/main/java/mods/eln/item/OverHeatingProtectionDescriptor.java -Useful_to_prevent_overheating\nof_Batteries=Useful to prevent overheating\nof Batteries - -# ./src/main/java/mods/eln/item/OverVoltageProtectionDescriptor.java -Useful_to_prevent_over-voltage\nof_Batteries=Useful to prevent over-voltage\nof Batteries - -# ./src/main/java/mods/eln/item/SolarTrackerDescriptor.java -Solar_panel_upgrade=Solar panel upgrade - -# ./src/main/java/mods/eln/item/electricalitem/BatteryItem.java - -# ./src/main/java/mods/eln/item/electricalitem/ElectricalLampItem.java -Off=Off -On=On -State\:=State\: -Stored_Energy\:_%sJ_(%s)=Stored Energy\: %sJ (%s) - -# ./src/main/java/mods/eln/item/regulator/RegulatorSlot.java - -# ./src/main/java/mods/eln/misc/UtilsClient.java -Hold_shift=Hold shift - -# ./src/main/java/mods/eln/misc/Version.java -mod.name=Electrical Age - -# ./src/main/java/mods/eln/node/six/SixNodeDescriptor.java - -# ./src/main/java/mods/eln/simplenode/energyconverter/EnergyConverterElnToOtherGui.java -Input_power_is_limited_to_%sW=Input power is limited to %sW - -# ./src/main/java/mods/eln/sixnode/LogicGate.kt -_O\:_= O\: - -# ./src/main/java/mods/eln/sixnode/TreeResinCollector/TreeResinCollectorDescriptor.java -Produces_Tree_Resin_over\ntime_when_put_on_a_tree.=Produces Tree Resin over\ntime when put on a tree. -This_block_can_only_be_placed_on_the_side_of_a_tree!=This block can only be placed on the side of a tree\! - -# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerContainer.java -Battery_slot=Battery slot - -# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerDescriptor.java -Can_be_used_to_recharge\nelectrical_items_like\:\nFlash_Light,_X-Ray_scanner\nand_Portable_Battery_...=Can be used to recharge\nelectrical items like\:\nFlash Light, X-Ray scanner\nand Portable Battery ... - -# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerGui.java - -# ./src/main/java/mods/eln/sixnode/diode/DiodeDescriptor.java -Electrical_current_can_only\nflow_through_the_diode\nfrom_anode_to_cathode=Electrical current can only\nflow through the diode\nfrom anode to cathode - -# ./src/main/java/mods/eln/sixnode/electricalalarm/ElectricalAlarmDescriptor.java -= -Emits_an_acoustic_alarm_if\nthe_input_signal_is_high=Emits an acoustic alarm if\nthe input signal is high - -# ./src/main/java/mods/eln/sixnode/electricalalarm/ElectricalAlarmGui.java -Sound_is_muted=Sound is muted -Sound_is_not_muted=Sound is not muted - -# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerContainer.java - -# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerDescriptor.java -Protects_electrical_components\nOpens_contact_if\:\n__-_Voltage_exceeds_a_certain_level\n-_Current_exceeds_the_cable_limit=Protects electrical components\nOpens contact if\:\n - Voltage exceeds a certain level\n- Current exceeds the cable limit - -# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerGui.java -Maximum_voltage_before_cutting_off=Maximum voltage before cutting off -Minimum_voltage_before_cutting_off=Minimum voltage before cutting off -Switch_is_off=Switch is off -Switch_is_on=Switch is on - -# ./src/main/java/mods/eln/sixnode/electricalcable/ElectricalCableDescriptor.java -A_signal_is_electrical_information\nwhich_must_be_between_0V_and_%sV=A signal is electrical information\nwhich must be between 0V and %sV -Cable_is_adapted_to_conduct\nelectrical_signals.=Cable is adapted to conduct\nelectrical signals. -Current\:_%sA=Current\: %sA -Not_adapted_to_transport_power.=Not adapted to transport power. -Save_usage\:=Save usage\: -Serial_resistance\:_%sΩ=Serial resistance\: %sΩ - -# ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerDescriptor.java -It_can_store_up_to_256_points.=It can store up to 256 points. -Measures_the_voltage_of_an\nelectrical_signal_and_plots\nthe_data_in_real_time.=Measures the voltage of an\nelectrical signal and plots\nthe data in real time. - -# ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerGui.java -Back_to_display=Back to display -Configuration=Configuration -Current_[A]=Current [A] -Energy_[J]=Energy [J] -Percent_[-]%=Percent [-]% -Power_[W]=Power [W] -Print=Print -Sampling_period=Sampling period -Temp._[*C]=Temp. [*C] -Voltage_[V]=Voltage [V] -Y-axis_max=Y-axis max -Y-axis_min=Y-axis min - -# ./src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorContainer.java - -# ./src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorDescriptor.java -Output_voltage_increases\nif_entities_are_moving_around.=Output voltage increases\nif entities are moving around. - -# ./src/main/java/mods/eln/sixnode/electricalfiredetector/ElectricalFireDetectorDescriptor.java -Output_voltage_increases\nif_a_fire_has_been_detected.=Output voltage increases\nif a fire has been detected. - -# ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceDescriptor.java -Provides_configurable_signal\nvoltage.=Provides configurable signal\nvoltage. - -# ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceGui.java -Output_at_%s=Output at %s - -# ./src/main/java/mods/eln/sixnode/electricallightsensor/ElectricalLightSensorDescriptor.java -0V_at_night,_%sV_at_noon.=0V at night, %sV at noon. -Provides_an_electrical_voltage\nin_the_presence_of_light.=Provides an electrical voltage\nin the presence of light. -Provides_an_electrical_voltage\nwhich_is_proportional_to\nthe_intensity_of_daylight.=Provides an electrical voltage\nwhich is proportional to\nthe intensity of daylight. - -# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathContainer.java - -# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathDescriptor.java -Applicable_boolean_operators\:=Applicable boolean operators\: -Applicable_functions\:=Applicable functions\: -Applicable_mathematical_operators\:=Applicable mathematical operators\: -Calculates_an_output_signal_from\n3_inputs_(A,_B,_C)_using_an_equation.=Calculates an output signal from\n3 inputs (A, B, C) using an equation. - -# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathGui.java -%s_Redstone(s)_required=%s Redstone(s) required -Equation_required!=Equation required\! -Inputs_are=Inputs are -Invalid_equation!=Invalid equation\! -Output_voltage_formula=Output voltage formula -Waiting_for_completion...=Waiting for completion... - -# ./src/main/java/mods/eln/sixnode/electricalredstoneinput/ElectricalRedstoneInputDescriptor.java -Converts_Redstone_signal\nto_an_electrical_voltage.=Converts Redstone signal\nto an electrical voltage. - -# ./src/main/java/mods/eln/sixnode/electricalredstoneoutput/ElectricalRedstoneOutputDescriptor.java -Converts_electrical_voltage\ninto_a_Redstone_signal.=Converts electrical voltage\ninto a Redstone signal. - -# ./src/main/java/mods/eln/sixnode/electricalrelay/ElectricalRelayDescriptor.java -A_relay_is_an_electrical\ncontact_that_conducts_electric\ncurrent_or_not,_depending\nthe_actual_input_signal_voltage.=A relay is an electrical\ncontact that conducts electric\ncurrent or not, depending\nthe actual input signal voltage. - -# ./src/main/java/mods/eln/sixnode/electricalrelay/ElectricalRelayGui.java -Normally_closed=Normally closed -Normally_open=Normally open - -# ./src/main/java/mods/eln/sixnode/electricalsource/ElectricalSourceDescriptor.java -Creative_block.=Creative block. -Provides_an_ideal_voltage_source\nwithout_energy_or_power_limitation.=Provides an ideal voltage source\nwithout energy or power limitation. - -# ./src/main/java/mods/eln/sixnode/electricalsource/ElectricalSourceGui.java -Output_voltage=Output voltage - -# ./src/main/java/mods/eln/sixnode/electricalswitch/ElectricalSwitchDescriptor.java -Can_break_an_electrical_circuit\ninterrupting_the_current.=Can break an electrical circuit\ninterrupting the current. - -# ./src/main/java/mods/eln/sixnode/electricaltimeout/ElectricalTimeoutDescriptor.java -Upon_application_of_a_high_signal,\nthe_timer_maintains_the_output_high_for\na_configurable_interval._Can_be_re-triggered.=Upon application of a high signal,\nthe timer maintains the output high for\na configurable interval. Can be re-triggered. - -# ./src/main/java/mods/eln/sixnode/electricaltimeout/ElectricalTimeoutGui.java -Set=Set -The_time_interval_the\noutput_is_kept_high.=The time interval the\noutput is kept high. - -# ./src/main/java/mods/eln/sixnode/electricalvumeter/ElectricalVuMeterDescriptor.java -Displays_the_value_of_a_signal.=Displays the value of a signal. - -# ./src/main/java/mods/eln/sixnode/electricalwatch/ElectricalWatchContainer.java -Portable_battery_slot=Portable battery slot - -# ./src/main/java/mods/eln/sixnode/electricalweathersensor/ElectricalWeatherSensorDescriptor.java -Clear\:_%sV=Clear\: %sV -Provides_an_electrical_signal\ndepending_the_actual_weather.=Provides an electrical signal\ndepending the actual weather. -Rain\:_%sV=Rain\: %sV -Storm\:_%sV=Storm\: %sV - -# ./src/main/java/mods/eln/sixnode/electricalwindsensor/ElectricalWindSensorDescriptor.java -Maximum_wind_speed_is_%sm_s=Maximum wind speed is %sm/s -Provides_an_electrical_signal\ndependant_on_wind_speed.=Provides an electrical signal\ndependant on wind speed. -You_can't_place_this_block_on_the_floor_or_the_ceiling=You can't place this block on the floor or the ceiling - -# ./src/main/java/mods/eln/sixnode/electricasensor/ElectricalSensorDescriptor.java -Can_measure_Voltage_Power_Current=Can measure Voltage/Power/Current -Measures_electrical_values_on_cables.=Measures electrical values on cables. -Measures_voltage_on_cables.=Measures voltage on cables. - -# ./src/main/java/mods/eln/sixnode/electricasensor/ElectricalSensorGui.java -Current=Current -Measured_voltage\ncorresponding\nto_0%_output=Measured voltage\ncorresponding\nto 0% output -Measured_voltage\ncorresponding\nto_100%_output=Measured voltage\ncorresponding\nto 100% output -Voltage=Voltage - -# ./src/main/java/mods/eln/sixnode/energymeter/EnergyMeterGui.java -Change_password=Change password -Counter_Mode=Counter Mode -Counts_the_energy_conducted_from\n\u00a74red\u00a7f_to_\u00a71blue\u00a7f.=Counts the energy conducted from\n\\u00a74red\\u00a7f to \\u00a71blue\\u00a7f. -Energy_counter\:_%sJ=Energy counter\: %sJ -Enter_new_energy=Enter new energy -Enter_password=Enter password -Prepay_Mode=Prepay Mode -Reset_time_counter=Reset time counter -Set_energy_counter=Set energy counter -Time_counter\:=Time counter\: -Try_password=Try password -You_can_set_an_initial\namount_of_available_energy.\nWhen_the_counter_arrives_at_0\nthe_contact_will_be_opened.=You can set an initial\namount of available energy.\nWhen the counter arrives at 0\nthe contact will be opened. -is_off=is off -is_on=is on -value_in_kJ=value in kJ - -# ./src/main/java/mods/eln/sixnode/groundcable/GroundCableDescriptor.java -Can_be_used_to_set_a_point_of_an\nelectrical_network_to_0V_potential.\nFor_example_to_ground_negative_battery_contacts.=Can be used to set a point of an\nelectrical network to 0V potential.\nFor example to ground negative battery contacts. -Provides_a_zero_volt_reference.=Provides a zero volt reference. - -# ./src/main/java/mods/eln/sixnode/hub/HubDescriptor.java -Allows_crossing_cables\non_one_single_block.=Allows crossing cables\non one single block. - -# ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketDescriptor.java -Angle\:_%s°_to_%s°=Angle\: %s° to %s° -Spot_range\:_%s_blocks=Spot range\: %s blocks - -# ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketGuiDraw.java -%s_is_not_in_range!=%s is not in range\! -Cable_slot_empty=Cable slot empty -Orientation\:_%s°=Orientation\: %s° -Parallel=Parallel -Powered_by_Lamp_Supply=Powered by Lamp Supply -Powered_by_cable=Powered by cable -Serial=Serial -Specify_the_supply_channel=Specify the supply channel - -# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyContainer.java -Electrical_cable_slot\nBase_range_is_32_blocks.\nEach_additional_cable\nincreases_range_by_one.=Electrical cable slot\nBase range is 32 blocks.\nEach additional cable\nincreases range by one. - -# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyDescriptor.java -Supplies_all_lamps_on_the_channel.=Supplies all lamps on the channel. - -# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyGui.java -Power_channel_name=Power channel name -Wireless_channel_name=Wireless channel name - -# ./src/main/java/mods/eln/sixnode/modbusrtu/ModbusRtuGui.java -Add=Add -Channel_name=Channel name -Modbus_ID=Modbus ID -Modbus_RTU=Modbus RTU -Station_ID=Station ID -Station_name=Station name -Wireless_RX=Wireless RX -Wireless_TX=Wireless TX - -# ./src/main/java/mods/eln/sixnode/powercapacitorsix/PowerCapacitorSixContainer.java -(Increases_maximum_voltage)=(Increases maximum voltage) - -# ./src/main/java/mods/eln/sixnode/powercapacitorsix/PowerCapacitorSixGui.java - -# ./src/main/java/mods/eln/sixnode/powerinductorsix/PowerInductorSixContainer.java - -# ./src/main/java/mods/eln/sixnode/powerinductorsix/PowerInductorSixGui.java - -# ./src/main/java/mods/eln/sixnode/powersocket/PowerSocketDescriptor.java -Supplies_any_device\nplugged_in_with_energy.=Supplies any device\nplugged in with energy. - -# ./src/main/java/mods/eln/sixnode/powersocket/PowerSocketGui.java -Specify_the_device_to_supply_through_this_socket.=Specify the device to supply through this socket. - -# ./src/main/java/mods/eln/sixnode/resistor/ResistorContainer.java -(Sets_resistance)=(Sets resistance) -Coal_dust_slot=Coal dust slot - -# ./src/main/java/mods/eln/sixnode/thermalcable/ThermalCableDescriptor.java -High_parallel_resistance\n_\=>_Low_power_dissipation.=High parallel resistance\n \=> Low power dissipation. -Low_serial_resistance\n_\=>_High_conductivity.=Low serial resistance\n \=> High conductivity. -Parallel_resistance\:_%sK_W=Parallel resistance\: %sK/W -Serial_resistance\:_%sK_W=Serial resistance\: %sK/W - -# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorContainer.java -Cable_slot=Cable slot - -# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorDescriptor.java -Can_measure\:=Can measure\: -Measures_temperature_of_cables.=Measures temperature of cables. -Measures_thermal_values_on_cables.=Measures thermal values on cables. -__Temperature_Power_conducted=Temperature/Power conducted - -# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorGui.java -Measured_temperature\ncorresponding\nto_0%_output=Measured temperature\ncorresponding\nto 0% output -Measured_temperature\ncorresponding\nto_100%_output=Measured temperature\ncorresponding\nto 100% output -Temperature=Temperature - -# ./src/main/java/mods/eln/sixnode/tutorialsign/TutorialSignElement.java -No_text_associated_to_this_beacon=No text associated to this beacon - -# ./src/main/java/mods/eln/sixnode/tutorialsign/TutorialSignGui.java -Set_beacon_name=Set beacon name - -# ./src/main/java/mods/eln/sixnode/wirelesssignal/rx/WirelessSignalRxGui.java - -# ./src/main/java/mods/eln/transparentnode/FuelGenerator.kt -Nominal_power\:_%s_W=Nominal power\: %s W -Nominal_voltage\:_%s_V=Nominal voltage\: %s V -Produces_electricity_using_fuel.=Produces electricity using fuel. - -# ./src/main/java/mods/eln/transparentnode/LargeRheostat.kt -Nom._Resistance\:_%s=Nom. Resistance\: %s - -# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerContainer.java -Drill_slot=Drill slot -Mining_pipe_slot=Mining pipe slot -Ore_scanner_slot=Ore scanner slot - -# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerDescriptor.java -Excavates_on_a_small_radius.\nExtracts_ore_on_a_bigger_radius\:\n10_blocks_radius_after_10_blocks_depth.=Excavates on a small radius.\nExtracts ore on a bigger radius\:\n10 blocks radius after 10 blocks depth. - -# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerGuiDraw.java -Chest_missing_on_the\nback_of_the_auto_miner!=Chest missing on the\nback of the auto miner\! -Halves_speed,_triples_power_draw=Halves speed, triples power draw -Silk_Touch_Off=Silk Touch Off -Silk_Touch_On=Silk Touch On -Silk_touch=Silk touch - -# ./src/main/java/mods/eln/transparentnode/battery/BatteryContainer.java -Overheating_protection=Overheating protection -Overvoltage_protection=Overvoltage protection - -# ./src/main/java/mods/eln/transparentnode/battery/BatteryDescriptor.java -Actual_charge\:_%s=Actual charge\: %s -Energy_capacity\:_%sJ=Energy capacity\: %sJ -_charged_at_%s=charged at %s - -# ./src/main/java/mods/eln/transparentnode/battery/BatteryGuiDraw.java -Charge=Charge -Charged=Charged -Discharge=Discharge -Energy\:=Energy\: -Energy\:_%s=Energy\: %s -Life\:=Life\: -No_charge=No charge -Power_in\:=Power in\: -Power_out\:=Power out\: - -# ./src/main/java/mods/eln/transparentnode/eggincubator/EggIncubatorContainer.java -Egg_slot=Egg slot - -# ./src/main/java/mods/eln/transparentnode/electricalantennarx/ElectricalAntennaRxDescriptor.java -Wireless_energy_receiver.=Wireless energy receiver. - -# ./src/main/java/mods/eln/transparentnode/electricalantennatx/ElectricalAntennaTxDescriptor.java -Efficiency\:_%s_up_to_%s=Efficiency\: %s up to %s -Wireless_energy_transmitter.=Wireless energy transmitter. - -# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceContainer.java -Heating_corp_slot=Heating corp slot - -# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceDescriptor.java -Similar_to_a_vanilla_furnace,\nbut_heats_with_electricity.=Similar to a vanilla furnace,\nbut heats with electricity. - -# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceGuiDraw.java -Auto_shutdown=Auto shutdown -Manual_shutdown=Manual shutdown -Set_point\:_%s°C=Set point\: %s°C - -# ./src/main/java/mods/eln/transparentnode/electricalmachine/ElectricalMachineDescriptor.java -Cost=Cost - -# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceContainer.java -Combustion_chamber_slot=Combustion chamber slot -Fuel_slot=Fuel slot - -# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceDescriptor.java -Generates_heat_when_supplied_with_fuel.=Generates heat when supplied with fuel. - -# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceGuiDraw.java -Control_gauge_at_%s=Control gauge at %s -Decline_fuel=Decline fuel -External_control=External control -Internal_control=Internal control -Take_fuel=Take fuel - -# ./src/main/java/mods/eln/transparentnode/powercapacitor/PowerCapacitorContainer.java -(Increases_maximal_voltage)=(Increases maximal voltage) - -# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelContainer.java -Solar_tracker_slot=Solar tracker slot - -# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelDescriptor.java -Can_be_geared_towards_the_sun.=Can be geared towards the sun. -Max._power\:_%sW=Max. power\: %sW -Max._voltage\:_%sV=Max. voltage\: %sV -Produces_power_from_solar_radiation.=Produces power from solar radiation. - -# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPannelGuiDraw.java -It_is_night=It is night -Solar_panel_angle\:_%s°=Solar panel angle\: %s° -Sun_angle\:_%s°=Sun angle\: %s° - -# ./src/main/java/mods/eln/transparentnode/teleporter/TeleporterGui.java -Destination_transporter=Destination transporter -Power_consumption\:=Power consumption\: -Power_consumption\:_%sW=Power consumption\: %sW -Required_energy\:_%sJ=Required energy\: %sJ -Start=Start -Transporter_name=Transporter name - -# ./src/main/java/mods/eln/transparentnode/thermaldissipatoractive/ThermalDissipatorActiveDescriptor.java -Fan_cooling_power\:_%sW=Fan cooling power\: %sW -Fan_power_consumption\:_%sW=Fan power consumption\: %sW -Fan_voltage\:_%sV=Fan voltage\: %sV - -# ./src/main/java/mods/eln/transparentnode/transformer/TransformerDescriptor.java -The_voltage_ratio_is_proportional\nto_the_cable_stacks_count_ratio.=The voltage ratio is proportional\nto the cable stacks count ratio. -Transforms_an_input_voltage_to\nan_output_voltage.=Transforms an input voltage to\nan output voltage. - -# ./src/main/java/mods/eln/transparentnode/turbine/TurbineDescriptor.java -Generates_electricity_using_heat.=Generates electricity using heat. -Temperature_difference\:_%s°C=Temperature difference\: %s°C - -# ./src/main/java/mods/eln/transparentnode/turret/TurretDescriptor.java -CAUTION\:_Cables_can_get_quite_hot!=CAUTION\: Cables can get quite hot\! -Laser_charge_power\:_%sW...%skW=Laser charge power\: %sW...%skW -Scans_for_entities_and_shoots_if_the\nentity_matches_the_configurable_filter_criteria.=Scans for entities and shoots if the\nentity matches the configurable filter criteria. -Standby_power\:_%sW=Standby power\: %sW - -# ./src/main/java/mods/eln/transparentnode/turret/TurretGui.java -Attack\:=Attack\: -Do_not_attack\:=Do not attack\: -Recharge_power\:=Recharge power\: - -# ./src/main/java/mods/eln/transparentnode/waterturbine/WaterTurbineDescriptor.java -Generates_energy_using_water_stream.=Generates energy using water stream. -No_place_for_water_turbine!=No place for water turbine\! - -# ./src/main/java/mods/eln/transparentnode/windturbine/WindTurbineDescriptor.java -Front\:_%s=Front\: %s -Generates_energy_from_wind.=Generates energy from wind. -Left_Right\:_%s=Left/Right\: %s -Up_Down\:_%s=Up/Down\: %s -Wind_area\:=Wind area\: - -# ./src/main/java/mods/eln/wiki/Data.java -Energy=Energy -Light=Light -Machine=Machine -Ore=Ore -Portable=Portable -Resource=Resource -Signal=Signal -Thermal=Thermal -Upgrade=Upgrade -Utilities=Utilities -Wiring=Wiring - -# ./src/main/java/mods/eln/wiki/Default.java -Previous=Previous - -# ./src/main/java/mods/eln/wiki/ItemDefault.java -Can_be_used_to_craft\:=Can be used to craft\: -Cannot_be_crafted!=Cannot be crafted\! -Cost_%sJ=Cost %sJ -Created_by\:=Created by\: -Is_not_a_crafting_material!=Is not a crafting material\! -Recipe\:=Recipe\: - -# Appearing in multiple source files -(Increases_capacity)=(Increases capacity) -(Increases_inductance)=(Increases inductance) -Actual\:_%s°C=Actual\: %s°C -Biggest=Biggest -Booster_slot=Booster slot -Can_create\:=Can create\: -Capacity\:_%sF=Capacity\: %sF -Charge_power\:_%sW=Charge power\: %sW -Connected=Connected -Cooling_power\:_%sW=Cooling power\: %sW -Copper_cable_slot=Copper cable slot -Dielectric_slot=Dielectric slot -Discharge_power\:_%sW=Discharge power\: %sW -Electrical_cable_slot=Electrical cable slot -Entity_filter_slot=Entity filter slot -Ferromagnetic_core_slot=Ferromagnetic core slot -Has_a_signal_output.=Has a signal output. -Inductance\:_%sH=Inductance\: %sH -Internal_resistance\:_%sΩ=Internal resistance\: %sΩ -Is_off=Is off -Is_on=Is on -Max._temperature\:_%s°C=Max. temperature\: %s°C -Measured_value\ncorresponding\nto_0%_output=Measured value\ncorresponding\nto 0% output -Measured_value\ncorresponding\nto_100%_output=Measured value\ncorresponding\nto 100% output -Nominal\:=Nominal\: -Nominal_power\:_%sW=Nominal power\: %sW -Nominal_usage\:=Nominal usage\: -Nominal_voltage\:_%sV=Nominal voltage\: %sV -Not_connected=Not connected -Not_enough_space_for_this_block=Not enough space for this block -Power=Power -Power\:_%sW=Power\: %sW -Range\:_%s_blocks=Range\: %s blocks -Redstone_slot=Redstone slot -Regulator_slot=Regulator slot -Reset=Reset -Resistance\:_%sΩ=Resistance\: %sΩ -Smallest=Smallest -Specify_the_channel=Specify the channel -Stored_energy\:_%sJ_(%s)=Stored energy\: %sJ (%s) -Temperature\:_%s°C=Temperature\: %s°C -Temperature_gauge=Temperature gauge -Thermal_isolator_slot=Thermal isolator slot -Toggle=Toggle -Toggle_switch=Toggle switch -Toggles_the_output_each_time\nan_emitter's_value_rises.\nUseful_to_allow_multiple_buttons\nto_control_the_same_light.=Toggles the output each time\nan emitter's value rises.\nUseful to allow multiple buttons\nto control the same light. -Used_to_cool_down_turbines.=Used to cool down turbines. -Uses_the_biggest\nvalue_on_the_channel.=Uses the biggest\nvalue on the channel. -Uses_the_smallest\nvalue_on_the_channel.=Uses the smallest\nvalue on the channel. -Validate=Validate -Voltage\:_%sV=Voltage\: %sV -You_can't_place_this_block_at_this_side=You can't place this block at this side +eln:# +eln: +eln:# ./src/main/java/mods/eln/Achievements.java +eln:Electrical_Age_[WIP]=Electrical Age [WIP] +eln:achievement.craft_50v_macerator=Crushing Novice +eln:achievement.craft_50v_macerator.desc=Craft a 50V Macerator +eln:achievement.open_guide=Wiki Power +eln:achievement.open_guide.desc=Open the wiki guide +eln: +eln:# ./src/main/java/mods/eln/Eln.java +eln:10A_Diode.name=10A Diode +eln:200V_Active_Thermal_Dissipator.name=200V Active Thermal Dissipator +eln:200V_Battery_Charger.name=200V Battery Charger +eln:200V_Compressor.name=200V Compressor +eln:200V_Condensator.name=200V Condensator +eln:200V_Copper_Heating_Corp.name=200V Copper Heating Corp +eln:200V_Economic_Light_Bulb.name=200V Economic Light Bulb +eln:200V_Farming_Lamp.name=200V Farming Lamp +eln:200V_Fuel_Generator.name=200V Fuel Generator +eln:200V_Incandescent_Light_Bulb.name=200V Incandescent Light Bulb +eln:200V_Iron_Heating_Corp.name=200V Iron Heating Corp +eln:200V_LED_Bulb.name=200V LED Bulb +eln:200V_Macerator.name=200V Macerator +eln:200V_Magnetizer.name=200V Magnetizer +eln:200V_Plate_Machine.name=200V Plate Machine +eln:200V_Power_Socket.name=200V Power Socket +eln:200V_Tungsten_Heating_Corp.name=200V Tungsten Heating Corp +eln:200V_Turbine.name=200V Turbine +eln:25A_Diode.name=25A Diode +eln:50V_Battery_Charger.name=50V Battery Charger +eln:50V_Carbon_Incandescent_Light_Bulb.name=50V Carbon Incandescent Light Bulb +eln:50V_Compressor.name=50V Compressor +eln:50V_Condensator.name=50V Condensator +eln:50V_Copper_Heating_Corp.name=50V Copper Heating Corp +eln:50V_Economic_Light_Bulb.name=50V Economic Light Bulb +eln:50V_Egg_Incubator.name=50V Egg Incubator +eln:50V_Farming_Lamp.name=50V Farming Lamp +eln:50V_Fuel_Generator.name=50V Fuel Generator +eln:50V_Incandescent_Light_Bulb.name=50V Incandescent Light Bulb +eln:50V_Iron_Heating_Corp.name=50V Iron Heating Corp +eln:50V_LED_Bulb.name=50V LED Bulb +eln:50V_Macerator.name=50V Macerator +eln:50V_Magnetizer.name=50V Magnetizer +eln:50V_Plate_Machine.name=50V Plate Machine +eln:50V_Power_Socket.name=50V Power Socket +eln:50V_Tungsten_Heating_Corp.name=50V Tungsten Heating Corp +eln:50V_Turbine.name=50V Turbine +eln:800V_Defence_Turret.name=800V Defence Turret +eln:AND_Chip.name=AND Chip +eln:Advanced_Chip.name=Advanced Chip +eln:Advanced_Electrical_Motor.name=Advanced Electrical Motor +eln:Advanced_Energy_Meter.name=Advanced Energy Meter +eln:Advanced_Machine_Block.name=Advanced Machine Block +eln:Advanced_Magnet.name=Advanced Magnet +eln:AllMeter.name=Universal-Meter +eln:Alloy_Dust.name=Alloy Dust +eln:Alloy_Ingot.name=Alloy Ingot +eln:Alloy_Plate.name=Alloy Plate +eln:Analog_Watch.name=Analog watch +eln:Analog_vuMeter.name=Analog Gauge +eln:Analogic_Regulator.name=Analogic Regulator +eln:Animal_Filter.name=Animal Filter +eln:Auto_Miner.name=Auto Miner +eln:Average_Electrical_Drill.name=Average Electrical Drill +eln:Average_Ferromagnetic_Core.name=Average Ferromagnetic Core +eln:Basic_Magnet.name=Basic Magnet +eln:Black_Brush.name=Black Brush +eln:Blue_Brush.name=Blue Brush +eln:Brown_Brush.name=Brown Brush +eln:Capacity_Oriented_Battery.name=Capacity Oriented Battery +eln:Cheap_Chip.name=Cheap Chip +eln:Cheap_Electrical_Drill.name=Cheap Electrical Drill +eln:Cheap_Ferromagnetic_Core.name=Cheap Ferromagnetic Core +eln:Cinnabar_Dust.name=Cinnabar Dust +eln:Cinnabar_Ore.name=Cinnabar Ore +eln:Coal_Dust.name=Coal Dust +eln:Coal_Plate.name=Coal Plate +eln:Combustion_Chamber.name=Combustion Chamber +eln:Copper_Cable.name=Copper Cable +eln:Copper_Dust.name=Copper Dust +eln:Copper_Ingot.name=Copper Ingot +eln:Copper_Ore.name=Copper Ore +eln:Copper_Plate.name=Copper Plate +eln:Copper_Thermal_Cable.name=Copper Thermal Cable +eln:Cost_Oriented_Battery.name=Cost Oriented Battery +eln:Current_Oriented_Battery.name=Current Oriented Battery +eln:Cyan_Brush.name=Cyan Brush +eln:D_Flip_Flop_Chip.name=D Flip Flop Chip +eln:Data_Logger.name=Data Logger +eln:Data_Logger_Print.name=Data Logger Print +eln:Dielectric.name=Dielectric +eln:Digital_Watch.name=Digital Watch +eln:Electrical_Anemometer_Sensor.name=Electrical Anemometer Sensor +eln:Electrical_Breaker.name=Electrical Breaker +eln:Electrical_Daylight_Sensor.name=Electrical Daylight Sensor +eln:Electrical_Entity_Sensor.name=Electrical Entity Sensor +eln:Electrical_Fire_Detector.name=Electrical Fire Detector +eln:Electrical_Furnace.name=Electrical Furnace +eln:Electrical_Light_Sensor.name=Electrical Light Sensor +eln:Electrical_Motor.name=Electrical Motor +eln:Electrical_Probe.name=Electrical Probe +eln:Electrical_Probe_Chip.name=Electrical Probe Chip +eln:Electrical_Source.name=Electrical Source +eln:Electrical_Timer.name=Electrical Timer +eln:Electrical_Weather_Sensor.name=Electrical Weather Sensor +eln:Electrical_age_wrench,\nCan_be_used_to_turn\nsmall_wall_blocks=Electrical age wrench,\nCan be used to turn\nsmall wall blocks +eln:Energy_Meter.name=Energy Meter +eln:Experimental_Transporter.name=Experimental Transporter +eln:Fast_Electrical_Drill.name=Fast Electrical Drill +eln:Ferrite_Ingot.name=Ferrite Ingot +eln:Flat_Lamp_Socket.name=Flat Lamp Socket +eln:Fluorescent_Lamp_Socket.name=Fluorescent Lamp Socket +eln:Generator.name=Generator +eln:Gold_Dust.name=Gold Dust +eln:Gold_Plate.name=Gold Plate +eln:Gray_Brush.name=Gray Brush +eln:Green_Brush.name=Green Brush +eln:Ground_Cable.name=Ground Cable +eln:High_Power_Receiver_Antenna.name=High Power Receiver Antenna +eln:High_Power_Transmitter_Antenna.name=High Power Transmitter Antenna +eln:High_Voltage_Cable.name=High Voltage Cable +eln:High_Voltage_Relay.name=High Voltage Relay +eln:High_Voltage_Switch.name=High Voltage Switch +eln:Hub.name=Hub +eln:Industrial_Data_Logger.name=Industrial Data Logger +eln:Iron_Cable.name=Iron Cable +eln:Iron_Dust.name=Iron Dust +eln:Iron_Plate.name=Iron Plate +eln:JK_Flip_Flop_Chip.name=JK Flip Flop Chip +eln:LED_vuMeter.name=LED vuMeter +eln:Lamp_Socket_A.name=Lamp Socket A +eln:Lamp_Socket_B_Projector.name=Lamp Socket B Projector +eln:Lamp_Supply.name=Lamp Supply +eln:Large_Rheostat.name=Large Rheostat +eln:Lead_Dust.name=Lead Dust +eln:Lead_Ingot.name=Lead Ingot +eln:Lead_Ore.name=Lead Ore +eln:Lead_Plate.name=Lead Plate +eln:Life_Oriented_Battery.name=Life Oriented Battery +eln:Light_Blue_Brush.name=Light Blue Brush +eln:Lime_Brush.name=Lime Brush +eln:Long_Suspended_Lamp_Socket.name=Long Suspended Lamp Socket +eln:Low_Power_Receiver_Antenna.name=Low Power Receiver Antenna +eln:Low_Power_Transmitter_Antenna.name=Low Power Transmitter Antenna +eln:Low_Voltage_Cable.name=Low Voltage Cable +eln:Low_Voltage_Relay.name=Low Voltage Relay +eln:Low_Voltage_Switch.name=Low Voltage Switch +eln:Machine_Block.name=Machine Block +eln:Machine_Booster.name=Machine Booster +eln:Magenta_Brush.name=Magenta Brush +eln:Medium_Power_Receiver_Antenna.name=Medium Power Receiver Antenna +eln:Medium_Power_Transmitter_Antenna.name=Medium Power Transmitter Antenna +eln:Medium_Voltage_Cable.name=Medium Voltage Cable +eln:Medium_Voltage_Relay.name=Medium Voltage Relay +eln:Medium_Voltage_Switch.name=Medium Voltage Switch +eln:Mercury.name=Mercury +eln:Mining_Pipe.name=Mining Pipe +eln:Modbus_RTU.name=Modbus RTU +eln:Modern_Data_Logger.name=Modern Data Logger +eln:Monster_Filter.name=Monster Filter +eln:MultiMeter.name=Multimeter +eln:NAND_Chip.name=NAND Chip +eln:NOR_Chip.name=NOR Chip +eln:NOT_Chip.name=NOT Chip +eln:Nuclear_Alarm.name=Nuclear Alarm +eln:OR_Chip.name=OR Chip +eln:On_OFF_Regulator_10_Percent.name=On/off regulator 10% +eln:On_OFF_Regulator_1_Percent.name=On/off regulator 1% +eln:Optimal_Ferromagnetic_Core.name=Optimal Ferromagnetic Core +eln:Orange_Brush.name=Orange Brush +eln:Ore_Scanner.name=Ore Scanner +eln:Oscillator_Chip.name=Oscillator Chip +eln:Overheating_Protection.name=Overheating Protection +eln:Overvoltage_Protection.name=Overvoltage Protection +eln:PAL_Chip.name=PAL Chip +eln:Pink_Brush.name=Pink Brush +eln:Player_Filter.name=Player Filter +eln:Portable_Battery.name=Portable Battery +eln:Portable_Battery_Pack.name=Portable Battery Pack +eln:Portable_Condensator.name=Portable Condensator +eln:Portable_Condensator_Pack.name=Portable Condensator Pack +eln:Portable_Electrical_Axe.name=Portable Electrical Axe +eln:Portable_Electrical_Mining_Drill.name=Portable Electrical Mining Drill +eln:Power_Capacitor.name=Power Capacitor +eln:Power_Inductor.name=Power Inductor +eln:Power_Resistor.name=Power Resistor +eln:Power_capacitor.name=Power capacitor +eln:Power_inductor.name=Power inductor +eln:Purple_Brush.name=Purple Brush +eln:Red_Brush.name=Red Brush +eln:Redstone-to-Voltage_Converter.name=Redstone-to-Voltage Converter +eln:Rheostat.name=Rheostat +eln:Robust_Lamp_Socket.name=Robust Lamp Socket +eln:Rubber.name=Rubber +eln:Schmitt_Trigger_Chip.name=Schmitt Trigger Chip +eln:Sconce_Lamp_Socket.name=Sconce Lamp Socket +eln:Signal_20H_inductor.name=Signal 20H inductor +eln:Signal_Antenna.name=Signal Antenna +eln:Signal_Button.name=Signal Button +eln:Signal_Cable.name=Signal Cable +eln:Signal_Diode.name=Signal Diode +eln:Signal_Processor.name=Signal Processor +eln:Signal_Relay.name=Signal Relay +eln:Signal_Source.name=Signal Source +eln:Signal_Switch.name=Signal Switch +eln:Signal_Switch_with_LED.name=Signal Switch with LED +eln:Signal_Trimmer.name=Signal Trimmer +eln:Silicon_Dust.name=Silicon Dust +eln:Silicon_Ingot.name=Silicon Ingot +eln:Silicon_Plate.name=Silicon Plate +eln:Silver_Brush.name=Silver Brush +eln:Simple_Lamp_Socket.name=Simple Lamp Socket +eln:Single-use_Battery.name=Single-use Battery +eln:Small_200V_Copper_Heating_Corp.name=Small 200V Copper Heating Corp +eln:Small_200V_Iron_Heating_Corp.name=Small 200V Iron Heating Corp +eln:Small_200V_Tungsten_Heating_Corp.name=Small 200V Tungsten Heating Corp +eln:Small_50V_Carbon_Incandescent_Light_Bulb.name=Small 50V Carbon Incandescent Light Bulb +eln:Small_50V_Copper_Heating_Corp.name=Small 50V Copper Heating Corp +eln:Small_50V_Economic_Light_Bulb.name=Small 50V Economic Light Bulb +eln:Small_50V_Incandescent_Light_Bulb.name=Small 50V Incandescent Light Bulb +eln:Small_50V_Iron_Heating_Corp.name=Small 50V Iron Heating Corp +eln:Small_50V_Tungsten_Heating_Corp.name=Small 50V Tungsten Heating Corp +eln:Small_Active_Thermal_Dissipator.name=Small Active Thermal Dissipator +eln:Small_Flashlight.name=Small Flashlight +eln:Small_Passive_Thermal_Dissipator.name=Small Passive Thermal Dissipator +eln:Small_Rotating_Solar_Panel.name=Small Rotating Solar Panel +eln:Small_Solar_Panel.name=Small Solar Panel +eln:Solar_Tracker.name=Solar Tracker +eln:Standard_Alarm.name=Standard Alarm +eln:Steam_Turbine.name=Steam Turbine +eln:Stone_Heat_Furnace.name=Stone Heat Furnace +eln:Street_Light.name=Streetlight +eln:Suspended_Lamp_Socket.name=Suspended Lamp Socket +eln:Temperature_Probe.name=Temperature Probe +eln:Thermal_Probe.name=Thermal Probe +eln:Thermal_Probe_Chip.name=Thermal Probe Chip +eln:Thermistor.name=Thermistor +eln:ThermoMeter.name=Thermometer +eln:Transformer.name=Transformer +eln:Tree_Resin.name=Tree Resin +eln:Tree_Resin_Collector.name=Tree Resin Collector +eln:Tungsten_Cable.name=Tungsten Cable +eln:Tungsten_Dust.name=Tungsten Dust +eln:Tungsten_Ingot.name=Tungsten Ingot +eln:Tungsten_Ore.name=Tungsten Ore +eln:Tutorial_Sign.name=Tutorial Sign +eln:Very_High_Voltage_Cable.name=Very High Voltage Cable +eln:Very_High_Voltage_Relay.name=Very High Voltage Relay +eln:Very_High_Voltage_Switch.name=Very High Voltage Switch +eln:Voltage-to-Redstone_Converter.name=Voltage-to-Redstone Converter +eln:Voltage_Oriented_Battery.name=Voltage Oriented Battery +eln:Voltage_Probe.name=Voltage Probe +eln:Water_Turbine.name=Water Turbine +eln:Weak_50V_Battery_Charger.name=Weak 50V Battery Charger +eln:White_Brush.name=White Brush +eln:Wind_Turbine.name=Wind Turbine +eln:Wireless_Analyser.name=Wireless Analyzer +eln:Wireless_Button.name=Wireless Button +eln:Wireless_Signal_Receiver.name=Wireless Signal Receiver +eln:Wireless_Signal_Repeater.name=Wireless Signal Repeater +eln:Wireless_Signal_Transmitter.name=Wireless Signal Transmitter +eln:Wireless_Switch.name=Wireless Switch +eln:Wrench.name=Wrench +eln:X-Ray_Scanner.name=X-Ray Scanner +eln:XNOR_Chip.name=XNOR Chip +eln:XOR_Chip.name=XOR Chip +eln:Yellow_Brush.name=Yellow Brush +eln:entity.EAReplicator.name=Replicator +eln:item.Copper Axe.name\=Copper Axe +eln:item.Copper Axe.name\=Copper Axe +eln:item.Copper Axe.name\=Copper Axe +eln:item.Copper Axe.name\=Copper Axe +eln:item.Copper Axe.name\=Copper Axe +eln:item.Copper Axe.name\=Copper Axe +eln:item.Copper Axe.name\=Copper Axe +eln:item.Copper Axe.name\=Copper Axe +eln:item.Copper Axe.name\=Copper Axe +eln:item.E-Coal Boots.name\=E-Coal Boots +eln:item.E-Coal Boots.name\=E-Coal Boots +eln:item.E-Coal Boots.name\=E-Coal Boots +eln:item.E-Coal Boots.name\=E-Coal Boots +eln:itemGroup.Eln=Electrical Age +eln:mod.meta.desc=Electricity in your base\! +eln:tile.eln.ElnProbe.name=Eln Computer Probe +eln:tile.eln.EnergyConverterElnToOtherHVUBlock.name=800V Electrical Age to other energy exporter +eln:tile.eln.EnergyConverterElnToOtherLVUBlock.name=50V Electrical Age to other energy exporter +eln:tile.eln.EnergyConverterElnToOtherMVUBlock.name=200V Electrical Age to other energy exporter +eln: +eln:# ./src/main/java/mods/eln/i18n/I18N.java +eln:You_have_%s_lives_left=You have %s lives left +eln: +eln:# ./src/main/java/mods/eln/item/BrushDescriptor.java +eln:Brush_is_dry=Brush is dry +eln:Can_paint_%s_blocks=Can paint %s blocks +eln: +eln:# ./src/main/java/mods/eln/item/CombustionChamber.java +eln:Upgrade_for_the_Stone_Heat_Furnace.=Upgrade for the Stone Heat Furnace. +eln: +eln:# ./src/main/java/mods/eln/item/ElectricalDrillDescriptor.java +eln:Energy_per_operation\:_%sJ=Energy per operation\: %sJ +eln:Time_per_operation\:_%ss=Time per operation\: %ss +eln: +eln:# ./src/main/java/mods/eln/item/FerromagneticCoreDescriptor.java +eln:Cable_loss_factor\:_%s=Cable loss factor\: %s +eln: +eln:# ./src/main/java/mods/eln/item/HeatingCorpElement.java +eln: +eln:# ./src/main/java/mods/eln/item/LampDescriptor.java +eln:Bad=Bad +eln:Condition\:=Condition\: +eln:End_of_life=End of life +eln:Good=Good +eln:New=New +eln:Nominal_lifetime\:_%sh=Nominal lifetime\: %sh +eln:Technology\:_%s=Technology\: %s +eln:Used=Used +eln: +eln:# ./src/main/java/mods/eln/item/LampSlot.java +eln:Lamp_slot=Lamp slot +eln: +eln:# ./src/main/java/mods/eln/item/OverHeatingProtectionDescriptor.java +eln:Useful_to_prevent_overheating\nof_Batteries=Useful to prevent overheating\nof Batteries +eln: +eln:# ./src/main/java/mods/eln/item/OverVoltageProtectionDescriptor.java +eln:Useful_to_prevent_over-voltage\nof_Batteries=Useful to prevent over-voltage\nof Batteries +eln: +eln:# ./src/main/java/mods/eln/item/SolarTrackerDescriptor.java +eln:Solar_panel_upgrade=Solar panel upgrade +eln: +eln:# ./src/main/java/mods/eln/item/electricalitem/BatteryItem.java +eln: +eln:# ./src/main/java/mods/eln/item/electricalitem/ElectricalLampItem.java +eln:Off=Off +eln:On=On +eln:State\:=State\: +eln:Stored_Energy\:_%sJ_(%s)=Stored Energy\: %sJ (%s) +eln: +eln:# ./src/main/java/mods/eln/item/regulator/RegulatorSlot.java +eln: +eln:# ./src/main/java/mods/eln/misc/UtilsClient.java +eln:Hold_shift=Hold shift +eln: +eln:# ./src/main/java/mods/eln/misc/Version.java +eln:mod.name=Electrical Age +eln: +eln:# ./src/main/java/mods/eln/node/six/SixNodeDescriptor.java +eln: +eln:# ./src/main/java/mods/eln/simplenode/energyconverter/EnergyConverterElnToOtherGui.java +eln:Input_power_is_limited_to_%sW=Input power is limited to %sW +eln: +eln:# ./src/main/java/mods/eln/sixnode/LogicGate.kt +eln:_O\:_= O\: +eln: +eln:# ./src/main/java/mods/eln/sixnode/TreeResinCollector/TreeResinCollectorDescriptor.java +eln:Produces_Tree_Resin_over\ntime_when_put_on_a_tree.=Produces Tree Resin over\ntime when put on a tree. +eln:This_block_can_only_be_placed_on_the_side_of_a_tree!=This block can only be placed on the side of a tree\! +eln: +eln:# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerContainer.java +eln:Battery_slot=Battery slot +eln: +eln:# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerDescriptor.java +eln:Can_be_used_to_recharge\nelectrical_items_like\:\nFlash_Light,_X-Ray_scanner\nand_Portable_Battery_...=Can be used to recharge\nelectrical items like\:\nFlash Light, X-Ray scanner\nand Portable Battery ... +eln: +eln:# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerGui.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/diode/DiodeDescriptor.java +eln:Electrical_current_can_only\nflow_through_the_diode\nfrom_anode_to_cathode=Electrical current can only\nflow through the diode\nfrom anode to cathode +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalalarm/ElectricalAlarmDescriptor.java +eln:= +eln:Emits_an_acoustic_alarm_if\nthe_input_signal_is_high=Emits an acoustic alarm if\nthe input signal is high +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalalarm/ElectricalAlarmGui.java +eln:Sound_is_muted=Sound is muted +eln:Sound_is_not_muted=Sound is not muted +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerContainer.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerDescriptor.java +eln:Protects_electrical_components\nOpens_contact_if\:\n__-_Voltage_exceeds_a_certain_level\n-_Current_exceeds_the_cable_limit=Protects electrical components\nOpens contact if\:\n - Voltage exceeds a certain level\n- Current exceeds the cable limit +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerGui.java +eln:Maximum_voltage_before_cutting_off=Maximum voltage before cutting off +eln:Minimum_voltage_before_cutting_off=Minimum voltage before cutting off +eln:Switch_is_off=Switch is off +eln:Switch_is_on=Switch is on +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalcable/ElectricalCableDescriptor.java +eln:A_signal_is_electrical_information\nwhich_must_be_between_0V_and_%sV=A signal is electrical information\nwhich must be between 0V and %sV +eln:Cable_is_adapted_to_conduct\nelectrical_signals.=Cable is adapted to conduct\nelectrical signals. +eln:Current\:_%sA=Current\: %sA +eln:Not_adapted_to_transport_power.=Not adapted to transport power. +eln:Save_usage\:=Save usage\: +eln:Serial_resistance\:_%sΩ=Serial resistance\: %sΩ +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerDescriptor.java +eln:It_can_store_up_to_256_points.=It can store up to 256 points. +eln:Measures_the_voltage_of_an\nelectrical_signal_and_plots\nthe_data_in_real_time.=Measures the voltage of an\nelectrical signal and plots\nthe data in real time. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerGui.java +eln:Back_to_display=Back to display +eln:Configuration=Configuration +eln:Current_[A]=Current [A] +eln:Energy_[J]=Energy [J] +eln:Percent_[-]%=Percent [-]% +eln:Power_[W]=Power [W] +eln:Print=Print +eln:Sampling_period=Sampling period +eln:Temp._[*C]=Temp. [*C] +eln:Voltage_[V]=Voltage [V] +eln:Y-axis_max=Y-axis max +eln:Y-axis_min=Y-axis min +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorContainer.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorDescriptor.java +eln:Output_voltage_increases\nif_entities_are_moving_around.=Output voltage increases\nif entities are moving around. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalfiredetector/ElectricalFireDetectorDescriptor.java +eln:Output_voltage_increases\nif_a_fire_has_been_detected.=Output voltage increases\nif a fire has been detected. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceDescriptor.java +eln:Provides_configurable_signal\nvoltage.=Provides configurable signal\nvoltage. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceGui.java +eln:Output_at_%s=Output at %s +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricallightsensor/ElectricalLightSensorDescriptor.java +eln:0V_at_night,_%sV_at_noon.=0V at night, %sV at noon. +eln:Provides_an_electrical_voltage\nin_the_presence_of_light.=Provides an electrical voltage\nin the presence of light. +eln:Provides_an_electrical_voltage\nwhich_is_proportional_to\nthe_intensity_of_daylight.=Provides an electrical voltage\nwhich is proportional to\nthe intensity of daylight. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathContainer.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathDescriptor.java +eln:Applicable_boolean_operators\:=Applicable boolean operators\: +eln:Applicable_functions\:=Applicable functions\: +eln:Applicable_mathematical_operators\:=Applicable mathematical operators\: +eln:Calculates_an_output_signal_from\n3_inputs_(A,_B,_C)_using_an_equation.=Calculates an output signal from\n3 inputs (A, B, C) using an equation. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathGui.java +eln:%s_Redstone(s)_required=%s Redstone(s) required +eln:Equation_required!=Equation required\! +eln:Inputs_are=Inputs are +eln:Invalid_equation!=Invalid equation\! +eln:Output_voltage_formula=Output voltage formula +eln:Waiting_for_completion...=Waiting for completion... +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalredstoneinput/ElectricalRedstoneInputDescriptor.java +eln:Converts_Redstone_signal\nto_an_electrical_voltage.=Converts Redstone signal\nto an electrical voltage. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalredstoneoutput/ElectricalRedstoneOutputDescriptor.java +eln:Converts_electrical_voltage\ninto_a_Redstone_signal.=Converts electrical voltage\ninto a Redstone signal. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalrelay/ElectricalRelayDescriptor.java +eln:A_relay_is_an_electrical\ncontact_that_conducts_electric\ncurrent_or_not,_depending\nthe_actual_input_signal_voltage.=A relay is an electrical\ncontact that conducts electric\ncurrent or not, depending\nthe actual input signal voltage. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalrelay/ElectricalRelayGui.java +eln:Normally_closed=Normally closed +eln:Normally_open=Normally open +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalsource/ElectricalSourceDescriptor.java +eln:Creative_block.=Creative block. +eln:Provides_an_ideal_voltage_source\nwithout_energy_or_power_limitation.=Provides an ideal voltage source\nwithout energy or power limitation. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalsource/ElectricalSourceGui.java +eln:Output_voltage=Output voltage +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalswitch/ElectricalSwitchDescriptor.java +eln:Can_break_an_electrical_circuit\ninterrupting_the_current.=Can break an electrical circuit\ninterrupting the current. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricaltimeout/ElectricalTimeoutDescriptor.java +eln:Upon_application_of_a_high_signal,\nthe_timer_maintains_the_output_high_for\na_configurable_interval._Can_be_re-triggered.=Upon application of a high signal,\nthe timer maintains the output high for\na configurable interval. Can be re-triggered. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricaltimeout/ElectricalTimeoutGui.java +eln:Set=Set +eln:The_time_interval_the\noutput_is_kept_high.=The time interval the\noutput is kept high. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalvumeter/ElectricalVuMeterDescriptor.java +eln:Displays_the_value_of_a_signal.=Displays the value of a signal. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalwatch/ElectricalWatchContainer.java +eln:Portable_battery_slot=Portable battery slot +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalweathersensor/ElectricalWeatherSensorDescriptor.java +eln:Clear\:_%sV=Clear\: %sV +eln:Provides_an_electrical_signal\ndepending_the_actual_weather.=Provides an electrical signal\ndepending the actual weather. +eln:Rain\:_%sV=Rain\: %sV +eln:Storm\:_%sV=Storm\: %sV +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalwindsensor/ElectricalWindSensorDescriptor.java +eln:Maximum_wind_speed_is_%sm_s=Maximum wind speed is %sm/s +eln:Provides_an_electrical_signal\ndependant_on_wind_speed.=Provides an electrical signal\ndependant on wind speed. +eln:You_can't_place_this_block_on_the_floor_or_the_ceiling=You can't place this block on the floor or the ceiling +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricasensor/ElectricalSensorDescriptor.java +eln:Can_measure_Voltage_Power_Current=Can measure Voltage/Power/Current +eln:Measures_electrical_values_on_cables.=Measures electrical values on cables. +eln:Measures_voltage_on_cables.=Measures voltage on cables. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricasensor/ElectricalSensorGui.java +eln:Current=Current +eln:Measured_voltage\ncorresponding\nto_0%_output=Measured voltage\ncorresponding\nto 0% output +eln:Measured_voltage\ncorresponding\nto_100%_output=Measured voltage\ncorresponding\nto 100% output +eln:Voltage=Voltage +eln: +eln:# ./src/main/java/mods/eln/sixnode/energymeter/EnergyMeterGui.java +eln:Change_password=Change password +eln:Counter_Mode=Counter Mode +eln:Counts_the_energy_conducted_from\n\u00a74red\u00a7f_to_\u00a71blue\u00a7f.=Counts the energy conducted from\n\\u00a74red\\u00a7f to \\u00a71blue\\u00a7f. +eln:Energy_counter\:_%sJ=Energy counter\: %sJ +eln:Enter_new_energy=Enter new energy +eln:Enter_password=Enter password +eln:Prepay_Mode=Prepay Mode +eln:Reset_time_counter=Reset time counter +eln:Set_energy_counter=Set energy counter +eln:Time_counter\:=Time counter\: +eln:Try_password=Try password +eln:You_can_set_an_initial\namount_of_available_energy.\nWhen_the_counter_arrives_at_0\nthe_contact_will_be_opened.=You can set an initial\namount of available energy.\nWhen the counter arrives at 0\nthe contact will be opened. +eln:is_off=is off +eln:is_on=is on +eln:value_in_kJ=value in kJ +eln: +eln:# ./src/main/java/mods/eln/sixnode/groundcable/GroundCableDescriptor.java +eln:Can_be_used_to_set_a_point_of_an\nelectrical_network_to_0V_potential.\nFor_example_to_ground_negative_battery_contacts.=Can be used to set a point of an\nelectrical network to 0V potential.\nFor example to ground negative battery contacts. +eln:Provides_a_zero_volt_reference.=Provides a zero volt reference. +eln: +eln:# ./src/main/java/mods/eln/sixnode/hub/HubDescriptor.java +eln:Allows_crossing_cables\non_one_single_block.=Allows crossing cables\non one single block. +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketDescriptor.java +eln:Angle\:_%s°_to_%s°=Angle\: %s° to %s° +eln:Spot_range\:_%s_blocks=Spot range\: %s blocks +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketGuiDraw.java +eln:%s_is_not_in_range!=%s is not in range\! +eln:Cable_slot_empty=Cable slot empty +eln:Orientation\:_%s°=Orientation\: %s° +eln:Parallel=Parallel +eln:Powered_by_Lamp_Supply=Powered by Lamp Supply +eln:Powered_by_cable=Powered by cable +eln:Serial=Serial +eln:Specify_the_supply_channel=Specify the supply channel +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyContainer.java +eln:Electrical_cable_slot\nBase_range_is_32_blocks.\nEach_additional_cable\nincreases_range_by_one.=Electrical cable slot\nBase range is 32 blocks.\nEach additional cable\nincreases range by one. +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyDescriptor.java +eln:Supplies_all_lamps_on_the_channel.=Supplies all lamps on the channel. +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyGui.java +eln:Power_channel_name=Power channel name +eln:Wireless_channel_name=Wireless channel name +eln: +eln:# ./src/main/java/mods/eln/sixnode/modbusrtu/ModbusRtuGui.java +eln:Add=Add +eln:Channel_name=Channel name +eln:Modbus_ID=Modbus ID +eln:Modbus_RTU=Modbus RTU +eln:Station_ID=Station ID +eln:Station_name=Station name +eln:Wireless_RX=Wireless RX +eln:Wireless_TX=Wireless TX +eln: +eln:# ./src/main/java/mods/eln/sixnode/powercapacitorsix/PowerCapacitorSixContainer.java +eln:(Increases_maximum_voltage)=(Increases maximum voltage) +eln: +eln:# ./src/main/java/mods/eln/sixnode/powercapacitorsix/PowerCapacitorSixGui.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/powerinductorsix/PowerInductorSixContainer.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/powerinductorsix/PowerInductorSixGui.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/powersocket/PowerSocketDescriptor.java +eln:Supplies_any_device\nplugged_in_with_energy.=Supplies any device\nplugged in with energy. +eln: +eln:# ./src/main/java/mods/eln/sixnode/powersocket/PowerSocketGui.java +eln:Specify_the_device_to_supply_through_this_socket.=Specify the device to supply through this socket. +eln: +eln:# ./src/main/java/mods/eln/sixnode/resistor/ResistorContainer.java +eln:(Sets_resistance)=(Sets resistance) +eln:Coal_dust_slot=Coal dust slot +eln: +eln:# ./src/main/java/mods/eln/sixnode/thermalcable/ThermalCableDescriptor.java +eln:High_parallel_resistance\n_\=>_Low_power_dissipation.=High parallel resistance\n \=> Low power dissipation. +eln:Low_serial_resistance\n_\=>_High_conductivity.=Low serial resistance\n \=> High conductivity. +eln:Parallel_resistance\:_%sK_W=Parallel resistance\: %sK/W +eln:Serial_resistance\:_%sK_W=Serial resistance\: %sK/W +eln: +eln:# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorContainer.java +eln:Cable_slot=Cable slot +eln: +eln:# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorDescriptor.java +eln:Can_measure\:=Can measure\: +eln:Measures_temperature_of_cables.=Measures temperature of cables. +eln:Measures_thermal_values_on_cables.=Measures thermal values on cables. +eln:__Temperature_Power_conducted=Temperature/Power conducted +eln: +eln:# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorGui.java +eln:Measured_temperature\ncorresponding\nto_0%_output=Measured temperature\ncorresponding\nto 0% output +eln:Measured_temperature\ncorresponding\nto_100%_output=Measured temperature\ncorresponding\nto 100% output +eln:Temperature=Temperature +eln: +eln:# ./src/main/java/mods/eln/sixnode/tutorialsign/TutorialSignElement.java +eln:No_text_associated_to_this_beacon=No text associated to this beacon +eln: +eln:# ./src/main/java/mods/eln/sixnode/tutorialsign/TutorialSignGui.java +eln:Set_beacon_name=Set beacon name +eln: +eln:# ./src/main/java/mods/eln/sixnode/wirelesssignal/rx/WirelessSignalRxGui.java +eln: +eln:# ./src/main/java/mods/eln/transparentnode/FuelGenerator.kt +eln:Nominal_power\:_%s_W=Nominal power\: %s W +eln:Nominal_voltage\:_%s_V=Nominal voltage\: %s V +eln:Produces_electricity_using_fuel.=Produces electricity using fuel. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/LargeRheostat.kt +eln:Nom._Resistance\:_%s=Nom. Resistance\: %s +eln: +eln:# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerContainer.java +eln:Drill_slot=Drill slot +eln:Mining_pipe_slot=Mining pipe slot +eln:Ore_scanner_slot=Ore scanner slot +eln: +eln:# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerDescriptor.java +eln:Excavates_on_a_small_radius.\nExtracts_ore_on_a_bigger_radius\:\n10_blocks_radius_after_10_blocks_depth.=Excavates on a small radius.\nExtracts ore on a bigger radius\:\n10 blocks radius after 10 blocks depth. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerGuiDraw.java +eln:Chest_missing_on_the\nback_of_the_auto_miner!=Chest missing on the\nback of the auto miner\! +eln:Halves_speed,_triples_power_draw=Halves speed, triples power draw +eln:Silk_Touch_Off=Silk Touch Off +eln:Silk_Touch_On=Silk Touch On +eln:Silk_touch=Silk touch +eln: +eln:# ./src/main/java/mods/eln/transparentnode/battery/BatteryContainer.java +eln:Overheating_protection=Overheating protection +eln:Overvoltage_protection=Overvoltage protection +eln: +eln:# ./src/main/java/mods/eln/transparentnode/battery/BatteryDescriptor.java +eln:Actual_charge\:_%s=Actual charge\: %s +eln:Energy_capacity\:_%sJ=Energy capacity\: %sJ +eln:_charged_at_%s=charged at %s +eln: +eln:# ./src/main/java/mods/eln/transparentnode/battery/BatteryGuiDraw.java +eln:Charge=Charge +eln:Charged=Charged +eln:Discharge=Discharge +eln:Energy\:=Energy\: +eln:Energy\:_%s=Energy\: %s +eln:Life\:=Life\: +eln:No_charge=No charge +eln:Power_in\:=Power in\: +eln:Power_out\:=Power out\: +eln: +eln:# ./src/main/java/mods/eln/transparentnode/eggincubator/EggIncubatorContainer.java +eln:Egg_slot=Egg slot +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalantennarx/ElectricalAntennaRxDescriptor.java +eln:Wireless_energy_receiver.=Wireless energy receiver. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalantennatx/ElectricalAntennaTxDescriptor.java +eln:Efficiency\:_%s_up_to_%s=Efficiency\: %s up to %s +eln:Wireless_energy_transmitter.=Wireless energy transmitter. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceContainer.java +eln:Heating_corp_slot=Heating corp slot +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceDescriptor.java +eln:Similar_to_a_vanilla_furnace,\nbut_heats_with_electricity.=Similar to a vanilla furnace,\nbut heats with electricity. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceGuiDraw.java +eln:Auto_shutdown=Auto shutdown +eln:Manual_shutdown=Manual shutdown +eln:Set_point\:_%s°C=Set point\: %s°C +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalmachine/ElectricalMachineDescriptor.java +eln:Cost=Cost +eln: +eln:# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceContainer.java +eln:Combustion_chamber_slot=Combustion chamber slot +eln:Fuel_slot=Fuel slot +eln: +eln:# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceDescriptor.java +eln:Generates_heat_when_supplied_with_fuel.=Generates heat when supplied with fuel. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceGuiDraw.java +eln:Control_gauge_at_%s=Control gauge at %s +eln:Decline_fuel=Decline fuel +eln:External_control=External control +eln:Internal_control=Internal control +eln:Take_fuel=Take fuel +eln: +eln:# ./src/main/java/mods/eln/transparentnode/powercapacitor/PowerCapacitorContainer.java +eln:(Increases_maximal_voltage)=(Increases maximal voltage) +eln: +eln:# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelContainer.java +eln:Solar_tracker_slot=Solar tracker slot +eln: +eln:# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelDescriptor.java +eln:Can_be_geared_towards_the_sun.=Can be geared towards the sun. +eln:Max._power\:_%sW=Max. power\: %sW +eln:Max._voltage\:_%sV=Max. voltage\: %sV +eln:Produces_power_from_solar_radiation.=Produces power from solar radiation. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPannelGuiDraw.java +eln:It_is_night=It is night +eln:Solar_panel_angle\:_%s°=Solar panel angle\: %s° +eln:Sun_angle\:_%s°=Sun angle\: %s° +eln: +eln:# ./src/main/java/mods/eln/transparentnode/teleporter/TeleporterGui.java +eln:Destination_transporter=Destination transporter +eln:Power_consumption\:=Power consumption\: +eln:Power_consumption\:_%sW=Power consumption\: %sW +eln:Required_energy\:_%sJ=Required energy\: %sJ +eln:Start=Start +eln:Transporter_name=Transporter name +eln: +eln:# ./src/main/java/mods/eln/transparentnode/thermaldissipatoractive/ThermalDissipatorActiveDescriptor.java +eln:Fan_cooling_power\:_%sW=Fan cooling power\: %sW +eln:Fan_power_consumption\:_%sW=Fan power consumption\: %sW +eln:Fan_voltage\:_%sV=Fan voltage\: %sV +eln: +eln:# ./src/main/java/mods/eln/transparentnode/transformer/TransformerDescriptor.java +eln:The_voltage_ratio_is_proportional\nto_the_cable_stacks_count_ratio.=The voltage ratio is proportional\nto the cable stacks count ratio. +eln:Transforms_an_input_voltage_to\nan_output_voltage.=Transforms an input voltage to\nan output voltage. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/turbine/TurbineDescriptor.java +eln:Generates_electricity_using_heat.=Generates electricity using heat. +eln:Temperature_difference\:_%s°C=Temperature difference\: %s°C +eln: +eln:# ./src/main/java/mods/eln/transparentnode/turret/TurretDescriptor.java +eln:CAUTION\:_Cables_can_get_quite_hot!=CAUTION\: Cables can get quite hot\! +eln:Laser_charge_power\:_%sW...%skW=Laser charge power\: %sW...%skW +eln:Scans_for_entities_and_shoots_if_the\nentity_matches_the_configurable_filter_criteria.=Scans for entities and shoots if the\nentity matches the configurable filter criteria. +eln:Standby_power\:_%sW=Standby power\: %sW +eln: +eln:# ./src/main/java/mods/eln/transparentnode/turret/TurretGui.java +eln:Attack\:=Attack\: +eln:Do_not_attack\:=Do not attack\: +eln:Recharge_power\:=Recharge power\: +eln: +eln:# ./src/main/java/mods/eln/transparentnode/waterturbine/WaterTurbineDescriptor.java +eln:Generates_energy_using_water_stream.=Generates energy using water stream. +eln:No_place_for_water_turbine!=No place for water turbine\! +eln: +eln:# ./src/main/java/mods/eln/transparentnode/windturbine/WindTurbineDescriptor.java +eln:Front\:_%s=Front\: %s +eln:Generates_energy_from_wind.=Generates energy from wind. +eln:Left_Right\:_%s=Left/Right\: %s +eln:Up_Down\:_%s=Up/Down\: %s +eln:Wind_area\:=Wind area\: +eln: +eln:# ./src/main/java/mods/eln/wiki/Data.java +eln:Energy=Energy +eln:Light=Light +eln:Machine=Machine +eln:Ore=Ore +eln:Portable=Portable +eln:Resource=Resource +eln:Signal=Signal +eln:Thermal=Thermal +eln:Upgrade=Upgrade +eln:Utilities=Utilities +eln:Wiring=Wiring +eln: +eln:# ./src/main/java/mods/eln/wiki/Default.java +eln:Previous=Previous +eln: +eln:# ./src/main/java/mods/eln/wiki/ItemDefault.java +eln:Can_be_used_to_craft\:=Can be used to craft\: +eln:Cannot_be_crafted!=Cannot be crafted\! +eln:Cost_%sJ=Cost %sJ +eln:Created_by\:=Created by\: +eln:Is_not_a_crafting_material!=Is not a crafting material\! +eln:Recipe\:=Recipe\: +eln: +eln:# Appearing in multiple source files +eln:(Increases_capacity)=(Increases capacity) +eln:(Increases_inductance)=(Increases inductance) +eln:Actual\:_%s°C=Actual\: %s°C +eln:Biggest=Biggest +eln:Booster_slot=Booster slot +eln:Can_create\:=Can create\: +eln:Capacity\:_%sF=Capacity\: %sF +eln:Charge_power\:_%sW=Charge power\: %sW +eln:Connected=Connected +eln:Cooling_power\:_%sW=Cooling power\: %sW +eln:Copper_cable_slot=Copper cable slot +eln:Dielectric_slot=Dielectric slot +eln:Discharge_power\:_%sW=Discharge power\: %sW +eln:Electrical_cable_slot=Electrical cable slot +eln:Entity_filter_slot=Entity filter slot +eln:Ferromagnetic_core_slot=Ferromagnetic core slot +eln:Has_a_signal_output.=Has a signal output. +eln:Inductance\:_%sH=Inductance\: %sH +eln:Internal_resistance\:_%sΩ=Internal resistance\: %sΩ +eln:Is_off=Is off +eln:Is_on=Is on +eln:Max._temperature\:_%s°C=Max. temperature\: %s°C +eln:Measured_value\ncorresponding\nto_0%_output=Measured value\ncorresponding\nto 0% output +eln:Measured_value\ncorresponding\nto_100%_output=Measured value\ncorresponding\nto 100% output +eln:Nominal\:=Nominal\: +eln:Nominal_power\:_%sW=Nominal power\: %sW +eln:Nominal_usage\:=Nominal usage\: +eln:Nominal_voltage\:_%sV=Nominal voltage\: %sV +eln:Not_connected=Not connected +eln:Not_enough_space_for_this_block=Not enough space for this block +eln:Power=Power +eln:Power\:_%sW=Power\: %sW +eln:Range\:_%s_blocks=Range\: %s blocks +eln:Redstone_slot=Redstone slot +eln:Regulator_slot=Regulator slot +eln:Reset=Reset +eln:Resistance\:_%sΩ=Resistance\: %sΩ +eln:Smallest=Smallest +eln:Specify_the_channel=Specify the channel +eln:Stored_energy\:_%sJ_(%s)=Stored energy\: %sJ (%s) +eln:Temperature\:_%s°C=Temperature\: %s°C +eln:Temperature_gauge=Temperature gauge +eln:Thermal_isolator_slot=Thermal isolator slot +eln:Toggle=Toggle +eln:Toggle_switch=Toggle switch +eln:Toggles_the_output_each_time\nan_emitter's_value_rises.\nUseful_to_allow_multiple_buttons\nto_control_the_same_light.=Toggles the output each time\nan emitter's value rises.\nUseful to allow multiple buttons\nto control the same light. +eln:Used_to_cool_down_turbines.=Used to cool down turbines. +eln:Uses_the_biggest\nvalue_on_the_channel.=Uses the biggest\nvalue on the channel. +eln:Uses_the_smallest\nvalue_on_the_channel.=Uses the smallest\nvalue on the channel. +eln:Validate=Validate +eln:Voltage\:_%sV=Voltage\: %sV +eln:You_can't_place_this_block_at_this_side=You can't place this block at this side diff --git a/src/main/resources/assets/eln/lang/en_US.lang b/src/main/resources/assets/eln/lang/en_US.lang index 225d1a86b..bf06059dc 100644 --- a/src/main/resources/assets/eln/lang/en_US.lang +++ b/src/main/resources/assets/eln/lang/en_US.lang @@ -1,1089 +1,1089 @@ -# - -# ./src/main/java/mods/eln/Achievements.java -Electrical_Age_[WIP]=Electrical Age [WIP] -achievement.craft_50v_macerator=Crushing Novice -achievement.craft_50v_macerator.desc=Craft a 50V Macerator -achievement.open_guide=Wiki Power -achievement.open_guide.desc=Open the wiki guide - -# ./src/main/java/mods/eln/Eln.java -10A_Diode.name=10A Diode -200V_Active_Thermal_Dissipator.name=200V Active Thermal Dissipator -200V_Battery_Charger.name=200V Battery Charger -200V_Compressor.name=200V Compressor -200V_Condensator.name=200V Capacitor -200V_Copper_Heating_Corp.name=200V Copper Heating Corp -200V_Economic_Light_Bulb.name=200V Economic Light Bulb -200V_Emergency_Lamp.name=200V Emergency Lamp -200V_Farming_Lamp.name=200V Farming Lamp -200V_Fuel_Generator.name=200V Fuel Generator -200V_Incandescent_Light_Bulb.name=200V Incandescent Light Bulb -200V_Iron_Heating_Corp.name=200V Iron Heating Corp -200V_LED_Bulb.name=200V LED Bulb -200V_Macerator.name=200V Macerator -200V_Magnetizer.name=200V Magnetizer -200V_Plate_Machine.name=200V Plate Machine -200V_Power_Socket.name=200V Power Socket -200V_Tungsten_Heating_Corp.name=200V Tungsten Heating Corp -200V_Turbine.name=200V Turbine -25A_Diode.name=25A Diode -2x3_Rotating_Solar_Panel.name=2x3 Rotating Solar Panel -2x3_Solar_Panel.name=2x3 Solar Panel -50V_Battery_Charger.name=50V Battery Charger -50V_Carbon_Incandescent_Light_Bulb.name=50V Carbon Incandescent Light Bulb -50V_Compressor.name=50V Compressor -50V_Condensator.name=50V Capacitor -50V_Copper_Heating_Corp.name=50V Copper Heating Corp -50V_Economic_Light_Bulb.name=50V Economic Light Bulb -50V_Egg_Incubator.name=50V Egg Incubator -50V_Emergency_Lamp.name=50V Emergency Lamp -50V_Farming_Lamp.name=50V Farming Lamp -50V_Fuel_Generator.name=50V Fuel Generator -50V_Incandescent_Light_Bulb.name=50V Incandescent Light Bulb -50V_Iron_Heating_Corp.name=50V Iron Heating Corp -50V_LED_Bulb.name=50V LED Bulb -50V_Macerator.name=50V Macerator -50V_Magnetizer.name=50V Magnetizer -50V_Plate_Machine.name=50V Plate Machine -50V_Power_Socket.name=50V Power Socket -50V_Tungsten_Heating_Corp.name=50V Tungsten Heating Corp -50V_Turbine.name=50V Turbine -800V_Defence_Turret.name=800V Defence Turret -AND_Chip.name=AND Chip -Advanced_Chip.name=Advanced Chip -Advanced_Electrical_Motor.name=Advanced Electrical Motor -Advanced_Energy_Meter.name=Advanced Energy Meter -Advanced_Machine_Block.name=Advanced Machine Block -Advanced_Magnet.name=Advanced Magnet -AllMeter.name=Universal-Meter -Alloy_Dust.name=Alloy Dust -Alloy_Ingot.name=Alloy Ingot -Alloy_Plate.name=Alloy Plate -Amplifier.name=Amplifier -Analog_Watch.name=Analog watch -Analog_vuMeter.name=Analog Gauge -Analogic_Regulator.name=Analogic Regulator -Animal_Filter.name=Animal Filter -Auto_Miner.name=Auto Miner -Average_Electrical_Drill.name=Average Electrical Drill -Average_Ferromagnetic_Core.name=Average Ferromagnetic Core -Basic_Magnet.name=Basic Magnet -Big_Fuel_Burner.name=Big Fuel Burner -Black_Brush.name=Black Brush -Blown_Lead_Fuse.name=Blown Lead Fuse -Blue_Brush.name=Blue Brush -Brown_Brush.name=Brown Brush -Capacity_Oriented_Battery.name=Capacity Oriented Battery -Casing.name=Casing -Cheap_Chip.name=Cheap Chip -Cheap_Electrical_Drill.name=Cheap Electrical Drill -Cheap_Ferromagnetic_Core.name=Cheap Ferromagnetic Core -Cinnabar_Dust.name=Cinnabar Dust -Cinnabar_Ore.name=Cinnabar Ore -Coal_Dust.name=Coal Dust -Coal_Plate.name=Coal Plate -Combustion_Chamber.name=Combustion Chamber -Configurable_summing_unit.name=Configurable summing unit -Copper_Cable.name=Copper Cable -Copper_Dust.name=Copper Dust -Copper_Ingot.name=Copper Ingot -Copper_Ore.name=Copper Ore -Copper_Plate.name=Copper Plate -Copper_Thermal_Cable.name=Copper Thermal Cable -Cost_Oriented_Battery.name=Cost Oriented Battery -Current_Oriented_Battery.name=Current Oriented Battery -Cyan_Brush.name=Cyan Brush -DC-DC_Converter.name=DC-DC Converter -D_Flip_Flop_Chip.name=D Flip Flop Chip -Data_Logger.name=Data Logger -Data_Logger_Print.name=Data Logger Print -Dielectric.name=Dielectric -Digital_Watch.name=Digital Watch -Electrical_Anemometer_Sensor.name=Electrical Anemometer Sensor -Electrical_Breaker.name=Electrical Breaker -Electrical_Daylight_Sensor.name=Electrical Daylight Sensor -Electrical_Entity_Sensor.name=Electrical Entity Sensor -Electrical_Fire_Buzzer.name=Electrical Fire Buzzer -Electrical_Fire_Detector.name=Electrical Fire Detector -Electrical_Furnace.name=Electrical Furnace -Electrical_Fuse_Holder.name=Electrical Fuse Holder -Electrical_Light_Sensor.name=Electrical Light Sensor -Electrical_Motor.name=Electrical Motor -Electrical_Probe.name=Electrical Probe -Electrical_Probe_Chip.name=Electrical Probe Chip -Electrical_Source.name=Electrical Source -Electrical_Timer.name=Electrical Timer -Electrical_Weather_Sensor.name=Electrical Weather Sensor -Electrical_age_wrench,\nCan_be_used_to_turn\nsmall_wall_blocks=Electrical age wrench,\nCan be used to turn\nsmall wall blocks -Energy_Meter.name=Energy Meter -Experimental_Transporter.name=Experimental Transporter -Fast_Electrical_Drill.name=Fast Electrical Drill -Ferrite_Ingot.name=Ferrite Ingot -Flat_Lamp_Socket.name=Flat Lamp Socket -Fluorescent_Lamp_Socket.name=Fluorescent Lamp Socket -Flywheel.name=Flywheel -Fuel_Heat_Furnace.name=Fuel Heat Furnace -Gas_Turbine.name=Gas Turbine -Generator.name=Generator -Gold_Dust.name=Gold Dust -Gold_Plate.name=Gold Plate -Gray_Brush.name=Gray Brush -Green_Brush.name=Green Brush -Ground_Cable.name=Ground Cable -High_Power_Receiver_Antenna.name=High Power Receiver Antenna -High_Power_Transmitter_Antenna.name=High Power Transmitter Antenna -High_Voltage_Cable.name=High Voltage Cable -High_Voltage_Relay.name=High Voltage Relay -High_Voltage_Switch.name=High Voltage Switch -Hub.name=Hub -Industrial_Data_Logger.name=Industrial Data Logger -Iron_Cable.name=Iron Cable -Iron_Dust.name=Iron Dust -Iron_Plate.name=Iron Plate -JK_Flip_Flop_Chip.name=JK Flip Flop Chip -Joint.name=Joint -Joint_hub.name=Joint hub -LED_vuMeter.name=LED vuMeter -Lamp_Socket_A.name=Lamp Socket A -Lamp_Socket_B_Projector.name=Lamp Socket B Projector -Lamp_Supply.name=Lamp Supply -Large_Rheostat.name=Large Rheostat -Lead_Dust.name=Lead Dust -Lead_Fuse_for_high_voltage_cables.name=Lead Fuse for high voltage cables -Lead_Fuse_for_low_voltage_cables.name=Lead Fuse for low voltage cables -Lead_Fuse_for_medium_voltage_cables.name=Lead Fuse for medium voltage cables -Lead_Fuse_for_very_high_voltage_cables.name=Lead Fuse for very high voltage cables -Lead_Ingot.name=Lead Ingot -Lead_Ore.name=Lead Ore -Lead_Plate.name=Lead Plate -Life_Oriented_Battery.name=Life Oriented Battery -Light_Blue_Brush.name=Light Blue Brush -Lime_Brush.name=Lime Brush -Long_Suspended_Lamp_Socket.name=Long Suspended Lamp Socket -Low_Power_Receiver_Antenna.name=Low Power Receiver Antenna -Low_Power_Transmitter_Antenna.name=Low Power Transmitter Antenna -Low_Voltage_Cable.name=Low Voltage Cable -Low_Voltage_Relay.name=Low Voltage Relay -Low_Voltage_Switch.name=Low Voltage Switch -Lowpass_filter.name=Lowpass filter -Machine_Block.name=Machine Block -Machine_Booster.name=Machine Booster -Magenta_Brush.name=Magenta Brush -Medium_Fuel_Burner.name=Medium Fuel Burner -Medium_Power_Receiver_Antenna.name=Medium Power Receiver Antenna -Medium_Power_Transmitter_Antenna.name=Medium Power Transmitter Antenna -Medium_Voltage_Cable.name=Medium Voltage Cable -Medium_Voltage_Relay.name=Medium Voltage Relay -Medium_Voltage_Switch.name=Medium Voltage Switch -Mercury.name=Mercury -Mining_Pipe.name=Mining Pipe -Modbus_RTU.name=Modbus RTU -Modern_Data_Logger.name=Modern Data Logger -Monster_Filter.name=Monster Filter -MultiMeter.name=Multimeter -NAND_Chip.name=NAND Chip -NOR_Chip.name=NOR Chip -NOT_Chip.name=NOT Chip -Nuclear_Alarm.name=Nuclear Alarm -OR_Chip.name=OR Chip -On_OFF_Regulator_10_Percent.name=On/off regulator 10% -On_OFF_Regulator_1_Percent.name=On/off regulator 1% -OpAmp.name=OpAmp -Optimal_Ferromagnetic_Core.name=Optimal Ferromagnetic Core -Orange_Brush.name=Orange Brush -Ore_Scanner.name=Ore Scanner -Oscillator_Chip.name=Oscillator Chip -Overheating_Protection.name=Overheating Protection -Overvoltage_Protection.name=Overvoltage Protection -PAL_Chip.name=PAL Chip -PID_Regulator.name=PID Regulator -Pink_Brush.name=Pink Brush -Player_Filter.name=Player Filter -Portable_Battery.name=Portable Battery -Portable_Battery_Pack.name=Portable Battery Pack -Portable_Condensator.name=Portable Capacitor -Portable_Condensator_Pack.name=Portable Capacitor Pack -Portable_Electrical_Axe.name=Portable Electrical Axe -Portable_Electrical_Mining_Drill.name=Portable Electrical Mining Drill -Power_Capacitor.name=Power Capacitor -Power_Inductor.name=Power Inductor -Power_Resistor.name=Power Resistor -Power_capacitor.name=Power capacitor -Power_inductor.name=Power inductor -Purple_Brush.name=Purple Brush -Red_Brush.name=Red Brush -Redstone-to-Voltage_Converter.name=Redstone-to-Voltage Converter -Rheostat.name=Rheostat -Robust_Lamp_Socket.name=Robust Lamp Socket -Rubber.name=Rubber -Sample_and_hold.name=Sample and hold -Scanner.name=Scanner -Schmitt_Trigger_Chip.name=Schmitt Trigger Chip -Sconce_Lamp_Socket.name=Sconce Lamp Socket -Signal_20H_inductor.name=Signal 20H inductor -Signal_Antenna.name=Signal Antenna -Signal_Button.name=Signal Button -Signal_Cable.name=Signal Cable -Signal_Diode.name=Signal Diode -Signal_Processor.name=Signal Processor -Signal_Relay.name=Signal Relay -Signal_Source.name=Signal Source -Signal_Switch.name=Signal Switch -Signal_Switch_with_LED.name=Signal Switch with LED -Signal_Trimmer.name=Signal Trimmer -Silicon_Dust.name=Silicon Dust -Silicon_Ingot.name=Silicon Ingot -Silicon_Plate.name=Silicon Plate -Silver_Brush.name=Silver Brush -Simple_Lamp_Socket.name=Simple Lamp Socket -Single-use_Battery.name=Single-use Battery -Small_200V_Copper_Heating_Corp.name=Small 200V Copper Heating Corp -Small_200V_Iron_Heating_Corp.name=Small 200V Iron Heating Corp -Small_200V_Tungsten_Heating_Corp.name=Small 200V Tungsten Heating Corp -Small_50V_Carbon_Incandescent_Light_Bulb.name=Small 50V Carbon Incandescent Light Bulb -Small_50V_Copper_Heating_Corp.name=Small 50V Copper Heating Corp -Small_50V_Economic_Light_Bulb.name=Small 50V Economic Light Bulb -Small_50V_Incandescent_Light_Bulb.name=Small 50V Incandescent Light Bulb -Small_50V_Iron_Heating_Corp.name=Small 50V Iron Heating Corp -Small_50V_Tungsten_Heating_Corp.name=Small 50V Tungsten Heating Corp -Small_Active_Thermal_Dissipator.name=Small Active Thermal Dissipator -Small_Flashlight.name=Small Flashlight -Small_Fuel_Burner.name=Small Fuel Burner -Small_Passive_Thermal_Dissipator.name=Small Passive Thermal Dissipator -Small_Rotating_Solar_Panel.name=Small Rotating Solar Panel -Small_Solar_Panel.name=Small Solar Panel -Solar_Tracker.name=Solar Tracker -Standard_Alarm.name=Standard Alarm -Steam_Turbine.name=Steam Turbine -Stone_Heat_Furnace.name=Stone Heat Furnace -Street_Light.name=Streetlight -Suspended_Lamp_Socket.name=Suspended Lamp Socket -Tachometer.name=Tachometer -Temperature_Probe.name=Temperature Probe -Thermal_Probe.name=Thermal Probe -Thermal_Probe_Chip.name=Thermal Probe Chip -Thermistor.name=Thermistor -Thermometer.name=Thermometer -Tree_Resin.name=Tree Resin -Tree_Resin_Collector.name=Tree Resin Collector -Tungsten_Cable.name=Tungsten Cable -Tungsten_Dust.name=Tungsten Dust -Tungsten_Ingot.name=Tungsten Ingot -Tungsten_Ore.name=Tungsten Ore -Tutorial_Sign.name=Tutorial Sign -Very_High_Voltage_Cable.name=Very High Voltage Cable -Very_High_Voltage_Relay.name=Very High Voltage Relay -Very_High_Voltage_Switch.name=Very High Voltage Switch -Voltage-to-Redstone_Converter.name=Voltage-to-Redstone Converter -Voltage_Oriented_Battery.name=Voltage Oriented Battery -Voltage_Probe.name=Voltage Probe -Voltage_controlled_amplifier.name=Voltage controlled amplifier -Voltage_controlled_sawtooth_oscillator.name=Voltage controlled sawtooth oscillator -Voltage_controlled_sine_oscillator.name=Voltage controlled sine oscillator -Water_Turbine.name=Water Turbine -Weak_50V_Battery_Charger.name=Weak 50V Battery Charger -White_Brush.name=White Brush -Wind_Turbine.name=Wind Turbine -Wireless_Analyser.name=Wireless Analyzer -Wireless_Button.name=Wireless Button -Wireless_Signal_Receiver.name=Wireless Signal Receiver -Wireless_Signal_Repeater.name=Wireless Signal Repeater -Wireless_Signal_Transmitter.name=Wireless Signal Transmitter -Wireless_Switch.name=Wireless Switch -Wrench.name=Wrench -X-Ray_Scanner.name=X-Ray Scanner -XNOR_Chip.name=XNOR Chip -XOR_Chip.name=XOR Chip -Yellow_Brush.name=Yellow Brush -entity.EAReplicator.name=Replicator -item.Copper Axe.name=Copper Axe -item.Copper Boots.name=Copper Boots -item.Copper Chestplate.name=Copper Chestplate -item.Copper Helmet.name=Copper Helmet -item.Copper Hoe.name=Copper Hoe -item.Copper Leggings.name=Copper Leggings -item.Copper Pickaxe.name=Copper Pickaxe -item.Copper Shovel.name=Copper Shovel -item.Copper Sword.name=Copper Sword -item.E-Coal Boots.name=E-Coal Boots -item.E-Coal Chestplate.name=E-Coal Chestplate -item.E-Coal Helmet.name=E-Coal Helmet -item.E-Coal Leggings.name=E-Coal Leggings -itemGroup.Eln=Electrical Age -mod.meta.desc=Electricity in your base! -tile.eln.ElnProbe.name=Eln Computer Probe -tile.eln.EnergyConverterElnToOtherHVUBlock.name=800V Electrical Age to other energy exporter -tile.eln.EnergyConverterElnToOtherLVUBlock.name=50V Electrical Age to other energy exporter -tile.eln.EnergyConverterElnToOtherMVUBlock.name=200V Electrical Age to other energy exporter - -# ./src/main/java/mods/eln/i18n/I18N.java -You_have_%s_lives_left=You have %s lives left - -# ./src/main/java/mods/eln/item/BrushDescriptor.kt -Brush_is_dry=Brush is dry -Can_paint_%s_blocks=Can paint %s blocks - -# ./src/main/java/mods/eln/item/CaseItemDescriptor.kt -Can_be_used_to_encase_EA_items_that_support_it=Can be used to encase EA items that support it - -# ./src/main/java/mods/eln/item/CombustionChamber.java -Upgrade_for_the_Stone_Heat_Furnace.=Upgrade for the Stone Heat Furnace. - -# ./src/main/java/mods/eln/item/ElectricalDrillDescriptor.java -Energy_per_operation\:_%sJ=Energy per operation: %sJ -Time_per_operation\:_%sh=Time per operation: %sh - -# ./src/main/java/mods/eln/item/FerromagneticCoreDescriptor.java -Cable_loss_factor\:_%s=Cable loss factor: %s - -# ./src/main/java/mods/eln/item/FuelBurnerDescriptor.kt -Burn_unit_for_the_gas_heat_furnace.=Burn unit for the gas heat furnace. -Produced_heat_power\:_=Produced heat power: - -# ./src/main/java/mods/eln/item/HeatingCorpElement.java - -# ./src/main/java/mods/eln/item/LampDescriptor.java -Bad=Bad -Condition\:=Condition: -End_of_life=End of life -Good=Good -New=New -Nominal_lifetime\:_%sh=Nominal lifetime: %sh -Technology\:_%s=Technology: %s -Used=Used - -# ./src/main/java/mods/eln/item/LampSlot.java -Lamp_slot=Lamp slot - -# ./src/main/java/mods/eln/item/OverHeatingProtectionDescriptor.java -Useful_to_prevent_overheating\nof_Batteries=Useful to prevent overheating\nof Batteries - -# ./src/main/java/mods/eln/item/OverVoltageProtectionDescriptor.java -Useful_to_prevent_over-voltage\nof_Batteries=Useful to prevent over-voltage\nof Batteries - -# ./src/main/java/mods/eln/item/SolarTrackerDescriptor.java -Solar_panel_upgrade=Solar panel upgrade - -# ./src/main/java/mods/eln/item/electricalitem/BatteryItem.java - -# ./src/main/java/mods/eln/item/electricalitem/ElectricalLampItem.java -State\:=State: -Stored_Energy\:_%sJ_(%s)=Stored Energy: %sJ (%s) - -# ./src/main/java/mods/eln/item/regulator/RegulatorSlot.java - -# ./src/main/java/mods/eln/mechanical/Tachometer.kt -Rads_s_corresponding\nto_0%_output=Rads/s corresponding\nto 0% output -Rads_s_corresponding\nto_100%_output=Rads/s corresponding\nto 100% output - -# ./src/main/java/mods/eln/misc/UtilsClient.java -Hold_shift=Hold shift - -# ./src/main/java/mods/eln/misc/Version.java -mod.name=Electrical Age - -# ./src/main/java/mods/eln/node/six/SixNodeDescriptor.java - -# ./src/main/java/mods/eln/simplenode/energyconverter/EnergyConverterElnToOtherGui.java -Input_power_is_limited_to_%sW=Input power is limited to %sW - -# ./src/main/java/mods/eln/sixnode/AnalogChips.kt -A_voltage-controlled_amplifier_(VCA)\nis_an_electronic_amplifier_that_varies\nits_gain_depending_on_the_control_voltage.=A voltage-controlled amplifier (VCA)\nis an electronic amplifier that varies\nits gain depending on the control voltage. -A_voltage-controlled_oscillator_or_VCO_is\nan_electronic_oscillator_whose_oscillation\nfrequency_is_controlled_by_a_voltage_input.=A voltage-controlled oscillator or VCO is\nan electronic oscillator whose oscillation\nfrequency is controlled by a voltage input. -An_amplifier_increases_the_voltage\nof_an_input_signal_by_a_configurable\ngain_and_outputs_that_voltage.=An amplifier increases the voltage\nof an input signal by a configurable\ngain and outputs that voltage. -Cut-off_frequency_%s_Hz=Cut-off frequency %s Hz -Gain=Gain -Gain_for_input_\u00a713=Gain for input \u00a713 -Gain_for_input_\u00a722=Gain for input \u00a722 -Gain_for_input_\u00a741=Gain for input \u00a741 -Lowpass_filter_-_Passes_signals_with_a\nfrequency_lower_than_a_certain_cutoff_frequency\nand_attenuates_signals_with_frequencies_higher\nthan_the_cutoff_frequency.=Lowpass filter - Passes signals with a\nfrequency lower than a certain cutoff frequency\nand attenuates signals with frequencies higher\nthan the cutoff frequency. -Operational_Amplifier_-_DC_coupled\nhigh-gain_voltage_amplifier_with\ndifferential_input._Can_be_used_to\ncompare_voltages_or_as_configurable_amplifier.=Operational Amplifier - DC coupled\nhigh-gain voltage amplifier with\ndifferential input. Can be used to\ncompare voltages or as configurable amplifier. -Params=Params -Proportional–integral–derivative_controller._A_PID\ncontroller_continuously_calculates_an_error_value_as\nthe_difference_between_a_desired_setpoint_and_a_measured\nprocess_variable_and_applies_a_correction_based_on\nproportional,_integral,_and_derivative_terms.=Proportional–integral–derivative controller. A PID\ncontroller continuously calculates an error value as\nthe difference between a desired setpoint and a measured\nprocess variable and applies a correction based on\nproportional, integral, and derivative terms. -Samples_the_voltage_of_a_varying_analog_signal_when\nthe_clock_input_changes_from_0_to_1_and_holds_its\noutput_voltage_at_a_constant_level_until_next_clock_pulse.\nYou_can_see_it_as_an_analog_D-Flipflop.=Samples the voltage of a varying analog signal when\nthe clock input changes from 0 to 1 and holds its\noutput voltage at a constant level until next clock pulse.\nYou can see it as an analog D-Flipflop. -The_summing_unit_outputs_the_sum_of\nthe_three_weighted_inputs.The\ngain_for_each_input_can_be_configured.=The summing unit outputs the sum of\nthe three weighted inputs.The\ngain for each input can be configured. - -# ./src/main/java/mods/eln/sixnode/ElectricalFuse.kt -Protects_electrical_components.\nFuse_melts_if_current_exceeds_the\nfuse_limit=Protects electrical components.\nFuse melts if current exceeds the\nfuse limit - -# ./src/main/java/mods/eln/sixnode/EmergencyLamp.kt - -# ./src/main/java/mods/eln/sixnode/LogicGate.kt -A_Programmable_Array_Logic_(PAL)_is_a_programmable\nlogic_device_semiconductors_used_to__implement_any_logic\nfunction_in_only_one_digital_circuit._The_function_is\nstateless,_which_means_that_no_intermediate_state_is_saved.=A Programmable Array Logic (PAL) is a programmable\nlogic device semiconductors used to implement any logic\nfunction in only one digital circuit. The function is\nstateless, which means that no intermediate state is saved. -If_the_input_J_is_1_(high)_and_K_is_0_(low)\nduring_a_clock_pulse,_the_output_becomes_1_(high).\nIf_J_is_0_(low)_and_K_is_1_(high)_during_the_pulse,\nthe_output_becomes_0_(low)._If_both_inputs_are_0_(low)\nduring_the_clock_pulse,_the_state_is_maintained._If_both\ninputs_are_1_(high)_the_input_is_toggled_if_a_rising_edge\nwas_detected_at_the_clock_input.=If the input J is 1 (high) and K is 0 (low)\nduring a clock pulse, the output becomes 1 (high).\nIf J is 0 (low) and K is 1 (high) during the pulse,\nthe output becomes 0 (low). If both inputs are 0 (low)\nduring the clock pulse, the state is maintained. If both\ninputs are 1 (high) the input is toggled if a rising edge\nwas detected at the clock input. -If_the_input_voltage_is_lower_than_10V,_the\noutput_is_0_(low),_if_the_output_is_bigger_or\nequal_to_30V,_the_output_will_be_1_(high)._For\nall_voltages_in_between,_the_output_does_not_change.=If the input voltage is lower than 10V, the\noutput is 0 (low), if the output is bigger or\nequal to 30V, the output will be 1 (high). For\nall voltages in between, the output does not change. -Implements_an_exclusive_or.\nAn_output_of_1_(high)_results_if_one_or\nall_three_inputs_to_the_gate_are_1_(high).=Implements an exclusive or.\nAn output of 1 (high) results if one or\nall three inputs to the gate are 1 (high). -Implements_logical_conjunction.\nA_1_(high)_output_results_only_if_all_of\nthe_three_inputs_to_the_AND_gate_are_1_(high).=Implements logical conjunction.\nA 1 (high) output results only if all of\nthe three inputs to the AND gate are 1 (high). -Implements_logical_disjunction.\nA_1_(high)_output_results_if_at_least\none_input_to_the_gate_is_1_(high).=Implements logical disjunction.\nA 1 (high) output results if at least\none input to the gate is 1 (high). -Inverts_the_input_signal.\nOutputs_a_voltage_representing_the\nopposite_logic-level_to_its_input.=Inverts the input signal.\nOutputs a voltage representing the\nopposite logic-level to its input. -Its_output_is_complement_(inverted)\nto_that_of_the_AND_gate.=Its output is complement (inverted)\nto that of the AND gate. -Its_output_is_complement_(inverted)\nto_that_of_the_OR_gate.=Its output is complement (inverted)\nto that of the OR gate. -Its_output_is_complement_(inverted)\nto_that_of_the_XOR_gate.=Its output is complement (inverted)\nto that of the XOR gate. -Outputs_a_rectangular_signal_which's_frequency\ndepends_to_the_input_voltage._The_higher_the\ninput_voltage_-_the_higher_the_frequency.=Outputs a rectangular signal which's frequency\ndepends to the input voltage. The higher the\ninput voltage - the higher the frequency. -The_D_flip-flop_captures_the_value\nof_the_D-input_at_a_rising_edge\nportion_of_the_clock_cycle.=The D flip-flop captures the value\nof the D-input at a rising edge\nportion of the clock cycle. -UNDEF=UNDEF - -# ./src/main/java/mods/eln/sixnode/Scanner.kt --_For_inventories,_outputs_either_total_fill_or_fraction_of_slots_with_any_items.=- For inventories, outputs either total fill or fraction of slots with any items. --_For_tanks,_outputs_fill_percentage.=- For tanks, outputs fill percentage. -Otherwise_behaves_as_a_vanilla_comparator.=Otherwise behaves as a vanilla comparator. -Right-click_to_change_mode.=Right-click to change mode. -Scans_blocks_to_produce_signals.=Scans blocks to produce signals. - -# ./src/main/java/mods/eln/sixnode/TreeResinCollector/TreeResinCollectorDescriptor.java -Produces_Tree_Resin_over\ntime_when_put_on_a_tree.=Produces Tree Resin over\ntime when put on a tree. -This_block_can_only_be_placed_on_the_side_of_a_tree!=This block can only be placed on the side of a tree! - -# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerContainer.java -Battery_slot=Battery slot - -# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerDescriptor.java -Can_be_used_to_recharge\nelectrical_items_like\:\nFlash_Light,_X-Ray_scanner\nand_Portable_Battery_...=Can be used to recharge\nelectrical items like:\nFlash Light, X-Ray scanner\nand Portable Battery ... - -# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerElement.java -Charge_Current=Charge Current - -# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerGui.java - -# ./src/main/java/mods/eln/sixnode/diode/DiodeDescriptor.java -Electrical_current_can_only\nflow_through_the_diode\nfrom_anode_to_cathode=Electrical current can only\nflow through the diode\nfrom anode to cathode - -# ./src/main/java/mods/eln/sixnode/diode/DiodeElement.java -Forward_Voltage=Forward Voltage - -# ./src/main/java/mods/eln/sixnode/electricalalarm/ElectricalAlarmDescriptor.java -Emits_an_acoustic_alarm_if\nthe_input_signal_is_high=Emits an acoustic alarm if\nthe input signal is high - -# ./src/main/java/mods/eln/sixnode/electricalalarm/ElectricalAlarmElement.java -Engaged=Engaged -Input_Voltage=Input Voltage - -# ./src/main/java/mods/eln/sixnode/electricalalarm/ElectricalAlarmGui.java -Sound_is_muted=Sound is muted -Sound_is_not_muted=Sound is not muted - -# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerContainer.java - -# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerDescriptor.java -Protects_electrical_components\nOpens_contact_if\:\n__-_Voltage_exceeds_a_certain_level\n-_Current_exceeds_the_cable_limit=Protects electrical components\nOpens contact if:\n - Voltage exceeds a certain level\n- Current exceeds the cable limit - -# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerElement.java -Contact=Contact - -# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerGui.java -Maximum_voltage_before_cutting_off=Maximum voltage before cutting off -Minimum_voltage_before_cutting_off=Minimum voltage before cutting off -Switch_is_off=Switch is off -Switch_is_on=Switch is on - -# ./src/main/java/mods/eln/sixnode/electricalcable/ElectricalCableDescriptor.java -A_signal_is_electrical_information\nwhich_must_be_between_0V_and_%s=A signal is electrical information\nwhich must be between 0V and %s -Cable_is_adapted_to_conduct\nelectrical_signals.=Cable is adapted to conduct\nelectrical signals. -Current\:_%sA=Current: %sA -Not_adapted_to_transport_power.=Not adapted to transport power. -Save_usage\:=Save usage: -Serial_resistance\:_%s\u2126=Serial resistance: %s\u2126 - -# ./src/main/java/mods/eln/sixnode/electricalcable/ElectricalCableElement.java -Signal_Voltage=Signal Voltage - -# ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerDescriptor.java -It_can_store_up_to_256_points.=It can store up to 256 points. -Measures_the_voltage_of_an\nelectrical_signal_and_plots\nthe_data_in_real_time.=Measures the voltage of an\nelectrical signal and plots\nthe data in real time. - -# ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerElement.java - -# ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerGui.java -Back_to_display=Back to display -Configuration=Configuration -Current_[A]=Current [A] -Energy_[J]=Energy [J] -Percent_[-]%=Percent [-]% -Power_[W]=Power [W] -Print=Print -Sampling_period=Sampling period -Temp._[*C]=Temp. [*C] -Voltage_[V]=Voltage [V] -Y-axis_max=Y-axis max -Y-axis_min=Y-axis min - -# ./src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorContainer.java - -# ./src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorDescriptor.java -Output_voltage_increases\nif_entities_are_moving_around.=Output voltage increases\nif entities are moving around. - -# ./src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorElement.java -Entity_present=Entity present - -# ./src/main/java/mods/eln/sixnode/electricalfiredetector/ElectricalFireDetectorContainer.kt - -# ./src/main/java/mods/eln/sixnode/electricalfiredetector/ElectricalFireDetectorDescriptor.java -Battery_powered_buzzer_\nactivated_in_presence_of_fire.=Battery powered buzzer \nactivated in presence of fire. -Output_voltage_increases\nif_a_fire_has_been_detected.=Output voltage increases\nif a fire has been detected. - -# ./src/main/java/mods/eln/sixnode/electricalfiredetector/ElectricalFireDetectorElement.java -Fire_detected\:_=Fire detected: -Fire_present=Fire present - -# ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceDescriptor.java -Provides_configurable_signal\nvoltage.=Provides configurable signal\nvoltage. - -# ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceGui.java -Output_at_%s=Output at %s - -# ./src/main/java/mods/eln/sixnode/electricallightsensor/ElectricalLightSensorDescriptor.java -0V_at_night,_%sV_at_noon.=0V at night, %sV at noon. -Provides_an_electrical_voltage\nin_the_presence_of_light.=Provides an electrical voltage\nin the presence of light. -Provides_an_electrical_voltage\nwhich_is_proportional_to\nthe_intensity_of_daylight.=Provides an electrical voltage\nwhich is proportional to\nthe intensity of daylight. - -# ./src/main/java/mods/eln/sixnode/electricallightsensor/ElectricalLightSensorElement.java -Light_level=Light level - -# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathContainer.java - -# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathDescriptor.java -Applicable_boolean_operators\:=Applicable boolean operators: -Applicable_functions\:=Applicable functions: -Applicable_mathematical_operators\:=Applicable mathematical operators: -Calculates_an_output_signal_from\n3_inputs_(A,_B,_C)_using_an_equation.=Calculates an output signal from\n3 inputs (A, B, C) using an equation. - -# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathElement.java -Equation=Equation -Input_voltages=Input voltages - -# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathGui.java -%s_Redstone(s)_required=%s Redstone(s) required -Equation_required!=Equation required! -Inputs_are=Inputs are -Invalid_equation!=Invalid equation! -Output_voltage_formula=Output voltage formula -Waiting_for_completion...=Waiting for completion... - -# ./src/main/java/mods/eln/sixnode/electricalredstoneinput/ElectricalRedstoneInputDescriptor.java -Converts_Redstone_signal\nto_an_electrical_voltage.=Converts Redstone signal\nto an electrical voltage. - -# ./src/main/java/mods/eln/sixnode/electricalredstoneinput/ElectricalRedstoneInputElement.java - -# ./src/main/java/mods/eln/sixnode/electricalredstoneoutput/ElectricalRedstoneOutputDescriptor.java -Converts_electrical_voltage\ninto_a_Redstone_signal.=Converts electrical voltage\ninto a Redstone signal. - -# ./src/main/java/mods/eln/sixnode/electricalredstoneoutput/ElectricalRedstoneOutputElement.java - -# ./src/main/java/mods/eln/sixnode/electricalrelay/ElectricalRelayDescriptor.java -A_relay_is_an_electrical\ncontact_that_conducts_electric\ncurrent_or_not,_depending\nthe_actual_input_signal_voltage.=A relay is an electrical\ncontact that conducts electric\ncurrent or not, depending\nthe actual input signal voltage. - -# ./src/main/java/mods/eln/sixnode/electricalrelay/ElectricalRelayElement.java -Default_position=Default position - -# ./src/main/java/mods/eln/sixnode/electricalrelay/ElectricalRelayGui.java -Normally_closed=Normally closed -Normally_open=Normally open - -# ./src/main/java/mods/eln/sixnode/electricalsensor/ElectricalSensorDescriptor.java -Can_measure_Voltage_Power_Current=Can measure Voltage/Power/Current -Measures_electrical_values_on_cables.=Measures electrical values on cables. -Measures_voltage_on_cables.=Measures voltage on cables. - -# ./src/main/java/mods/eln/sixnode/electricalsensor/ElectricalSensorElement.java -Measured_current=Measured current -Measured_power=Measured power -Measured_voltage=Measured voltage - -# ./src/main/java/mods/eln/sixnode/electricalsensor/ElectricalSensorGui.java -Measured_voltage\ncorresponding\nto_0%_output=Measured voltage\ncorresponding\nto 0% output -Measured_voltage\ncorresponding\nto_100%_output=Measured voltage\ncorresponding\nto 100% output - -# ./src/main/java/mods/eln/sixnode/electricalsource/ElectricalSourceDescriptor.java -Creative_block.=Creative block. -Provides_an_ideal_voltage_source\nwithout_energy_or_power_limitation.=Provides an ideal voltage source\nwithout energy or power limitation. - -# ./src/main/java/mods/eln/sixnode/electricalswitch/ElectricalSwitchDescriptor.java -Can_break_an_electrical_circuit\ninterrupting_the_current.=Can break an electrical circuit\ninterrupting the current. - -# ./src/main/java/mods/eln/sixnode/electricaltimeout/ElectricalTimeoutDescriptor.java -Upon_application_of_a_high_signal,\nthe_timer_maintains_the_output_high_for\na_configurable_interval._Can_be_re-triggered.=Upon application of a high signal,\nthe timer maintains the output high for\na configurable interval. Can be re-triggered. - -# ./src/main/java/mods/eln/sixnode/electricaltimeout/ElectricalTimeoutElement.java -Output=Output -Remaining=Remaining - -# ./src/main/java/mods/eln/sixnode/electricaltimeout/ElectricalTimeoutGui.java -Set=Set -The_time_interval_the\noutput_is_kept_high.=The time interval the\noutput is kept high. - -# ./src/main/java/mods/eln/sixnode/electricalvumeter/ElectricalVuMeterDescriptor.java -Displays_the_value_of_a_signal.=Displays the value of a signal. - -# ./src/main/java/mods/eln/sixnode/electricalweathersensor/ElectricalWeatherSensorDescriptor.java -Clear\:_%sV=Clear: %sV -Provides_an_electrical_signal\ndepending_the_actual_weather.=Provides an electrical signal\ndepending the actual weather. -Rain\:_%sV=Rain: %sV -Storm\:_%sV=Storm: %sV - -# ./src/main/java/mods/eln/sixnode/electricalwindsensor/ElectricalWindSensorDescriptor.java -Maximum_wind_speed_is_%sm_s=Maximum wind speed is %sm/s -Provides_an_electrical_signal\ndependant_on_wind_speed.=Provides an electrical signal\ndependant on wind speed. -You_can't_place_this_block_on_the_floor_or_the_ceiling=You can't place this block on the floor or the ceiling - -# ./src/main/java/mods/eln/sixnode/energymeter/EnergyMeterElement.java -Counter=Counter -Energy_left=Energy left -Mode=Mode -Prepay=Prepay - -# ./src/main/java/mods/eln/sixnode/energymeter/EnergyMeterGui.java -Change_password=Change password -Counter_Mode=Counter Mode -Counts_the_energy_conducted_from\n\u00a74red\u00a7f_to_\u00a71blue\u00a7f.=Counts the energy conducted from\n\u00a74red\u00a7f to \u00a71blue\u00a7f. -Energy_counter\:_%sJ=Energy counter: %sJ -Enter_new_energy=Enter new energy -Enter_password=Enter password -Prepay_Mode=Prepay Mode -Reset_time_counter=Reset time counter -Set_energy_counter=Set energy counter -Time_counter\:=Time counter: -Try_password=Try password -You_can_set_an_initial\namount_of_available_energy.\nWhen_the_counter_arrives_at_0\nthe_contact_will_be_opened.=You can set an initial\namount of available energy.\nWhen the counter arrives at 0\nthe contact will be opened. -is_off=is off -is_on=is on -value_in_kJ=value in kJ - -# ./src/main/java/mods/eln/sixnode/groundcable/GroundCableDescriptor.java -Can_be_used_to_set_a_point_of_an\nelectrical_network_to_0V_potential.\nFor_example_to_ground_negative_battery_contacts.=Can be used to set a point of an\nelectrical network to 0V potential.\nFor example to ground negative battery contacts. -Provides_a_zero_volt_reference.=Provides a zero volt reference. - -# ./src/main/java/mods/eln/sixnode/hub/HubDescriptor.java -Allows_crossing_cables\non_one_single_block.=Allows crossing cables\non one single block. - -# ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketDescriptor.java -Angle\:_%s°_to_%s°=Angle: %s° to %s° -Spot_range\:_%s_blocks=Spot range: %s blocks - -# ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketElement.java -Bulb=Bulb - -# ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketGuiDraw.java -Cable_slot_empty=Cable slot empty -Orientation\:_%s°=Orientation: %s° -Parallel=Parallel -Serial=Serial - -# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyContainer.java -Electrical_cable_slot\nBase_range_is_32_blocks.\nEach_additional_cable\nincreases_range_by_one.=Electrical cable slot\nBase range is 32 blocks.\nEach additional cable\nincreases range by one. - -# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyDescriptor.java -Supplies_all_lamps_on_the_channel.=Supplies all lamps on the channel. - -# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyElement.java -Total_power=Total power - -# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyGui.java -Power_channel_name=Power channel name -Wireless_channel_name=Wireless channel name - -# ./src/main/java/mods/eln/sixnode/modbusrtu/ModbusRtuElement.java -Modbus_TCP=Modbus TCP -Modbus_Unit_ID=Modbus Unit ID -Modbus_is_disabled,_enable_it_in_Eln.cfg=Modbus is disabled, enable it in Eln.cfg - -# ./src/main/java/mods/eln/sixnode/modbusrtu/ModbusRtuGui.java -Add=Add -Channel_name=Channel name -Modbus_ID=Modbus ID -Modbus_RTU=Modbus RTU -Station_ID=Station ID -Station_name=Station name -Wireless_RX=Wireless RX -Wireless_TX=Wireless TX - -# ./src/main/java/mods/eln/sixnode/powercapacitorsix/PowerCapacitorSixContainer.java -(Increases_maximum_voltage)=(Increases maximum voltage) - -# ./src/main/java/mods/eln/sixnode/powercapacitorsix/PowerCapacitorSixElement.java -Capacity=Capacity - -# ./src/main/java/mods/eln/sixnode/powercapacitorsix/PowerCapacitorSixGui.java - -# ./src/main/java/mods/eln/sixnode/powerinductorsix/PowerInductorSixContainer.java - -# ./src/main/java/mods/eln/sixnode/powerinductorsix/PowerInductorSixElement.java -Inductance=Inductance - -# ./src/main/java/mods/eln/sixnode/powerinductorsix/PowerInductorSixGui.java - -# ./src/main/java/mods/eln/sixnode/powersocket/PowerSocketDescriptor.java -Supplies_any_device\nplugged_in_with_energy.=Supplies any device\nplugged in with energy. - -# ./src/main/java/mods/eln/sixnode/powersocket/PowerSocketGui.java -Specify_the_device_to_supply_through_this_socket.=Specify the device to supply through this socket. - -# ./src/main/java/mods/eln/sixnode/resistor/ResistorContainer.java -(Sets_resistance)=(Sets resistance) -Coal_dust_slot=Coal dust slot - -# ./src/main/java/mods/eln/sixnode/resistor/ResistorElement.java - -# ./src/main/java/mods/eln/sixnode/thermalcable/ThermalCableDescriptor.java -High_parallel_resistance\n_\=>_Low_power_dissipation.=High parallel resistance\n => Low power dissipation. -Low_serial_resistance\n_\=>_High_conductivity.=Low serial resistance\n => High conductivity. -Parallel_resistance\:_%sK_W=Parallel resistance: %sK/W -Serial_resistance\:_%sK_W=Serial resistance: %sK/W - -# ./src/main/java/mods/eln/sixnode/thermalcable/ThermalCableElement.java -Thermic_power=Thermic power - -# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorContainer.java -Cable_slot=Cable slot - -# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorDescriptor.java -Can_measure\:=Can measure: -Measures_temperature_of_cables.=Measures temperature of cables. -Measures_thermal_values_on_cables.=Measures thermal values on cables. -__Temperature_Power_conducted=Temperature/Power conducted - -# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorElement.java -Measured_temperature=Measured temperature -Measured_thermal_power=Measured thermal power - -# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorGui.java -Measured_temperature\ncorresponding\nto_0%_output=Measured temperature\ncorresponding\nto 0% output -Measured_temperature\ncorresponding\nto_100%_output=Measured temperature\ncorresponding\nto 100% output - -# ./src/main/java/mods/eln/sixnode/tutorialsign/TutorialSignElement.java -No_text_associated_to_this_beacon=No text associated to this beacon - -# ./src/main/java/mods/eln/sixnode/tutorialsign/TutorialSignGui.java -Set_beacon_name=Set beacon name - -# ./src/main/java/mods/eln/sixnode/wirelesssignal/rx/WirelessSignalRxGui.java - -# ./src/main/java/mods/eln/transparentnode/FuelGenerator.kt -Fuel_level=Fuel level -Nominal_power\:_%s_W=Nominal power: %s W -Nominal_voltage\:_%s_V=Nominal voltage: %s V -Produces_electricity_using_gasoline.=Produces electricity using gasoline. -State=State - -# ./src/main/java/mods/eln/transparentnode/FuelHeatFurnace.kt -Actual\:_%s=Actual: %s -Analog_regulator_slot=Analog regulator slot -Control_value_at_%s=Control value at %s -Fuel_burner_slot=Fuel burner slot -Furnace_is_off=Furnace is off -Furnace_is_on=Furnace is on -Heat_Power\:_%s=Heat Power: %s -Set_point\:_%s=Set point: %s -__Max._temperature\:_= Max. temperature: - -# ./src/main/java/mods/eln/transparentnode/LargeRheostat.kt -Nom._Resistance\:_%s=Nom. Resistance: %s -Power_loss=Power loss - -# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerContainer.java -Drill_slot=Drill slot -Mining_pipe_slot=Mining pipe slot -Ore_scanner_slot=Ore scanner slot - -# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerDescriptor.java -Excavates_on_a_small_radius.\nExtracts_ore_on_a_bigger_radius\:\n10_blocks_radius_after_10_blocks_depth.=Excavates on a small radius.\nExtracts ore on a bigger radius:\n10 blocks radius after 10 blocks depth. - -# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerElement.java -Depth=Depth -Silk_touch=Silk touch - -# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerGuiDraw.java -Chest_missing_on_the\nback_of_the_auto_miner!=Chest missing on the\nback of the auto miner! -Halves_speed,_triples_power_draw=Halves speed, triples power draw -Silk_Touch=Silk Touch - -# ./src/main/java/mods/eln/transparentnode/battery/BatteryContainer.java -Overheating_protection=Overheating protection -Overvoltage_protection=Overvoltage protection - -# ./src/main/java/mods/eln/transparentnode/battery/BatteryDescriptor.java -Actual_charge\:_=Actual charge: -Energy_capacity\:_=Energy capacity: -Internal_resistance\:_=Internal resistance: -Life_\:_=Life : -Nominal_power\:_=Nominal power: -Nominal_voltage\:_=Nominal voltage: -_charged_at_=charged at - -# ./src/main/java/mods/eln/transparentnode/battery/BatteryGuiDraw.java -Charged=Charged -Discharge=Discharge -Energy\:=Energy: -Energy\:_%s=Energy: %s -Life\:=Life: -No_charge=No charge -Power_in\:=Power in: -Power_out\:=Power out: - -# ./src/main/java/mods/eln/transparentnode/eggincubator/EggIncubatorContainer.java -Egg_slot=Egg slot - -# ./src/main/java/mods/eln/transparentnode/eggincubator/EggIncubatorElement.java -Has_egg=Has egg - -# ./src/main/java/mods/eln/transparentnode/electricalantennarx/ElectricalAntennaRxDescriptor.java -Wireless_energy_receiver.=Wireless energy receiver. - -# ./src/main/java/mods/eln/transparentnode/electricalantennarx/ElectricalAntennaRxElement.java -Effective_power=Effective power -Power_received=Power received -Receiving=Receiving - -# ./src/main/java/mods/eln/transparentnode/electricalantennatx/ElectricalAntennaTxDescriptor.java -Efficiency\:_%s_up_to_%s=Efficiency: %s up to %s -Wireless_energy_transmitter.=Wireless energy transmitter. - -# ./src/main/java/mods/eln/transparentnode/electricalantennatx/ElectricalAntennaTxElement.java -Efficiency=Efficiency -Transmitting=Transmitting - -# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceContainer.java -Heating_corp_slot=Heating corp slot - -# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceDescriptor.java -Similar_to_a_vanilla_furnace,\nbut_heats_with_electricity.=Similar to a vanilla furnace,\nbut heats with electricity. - -# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceElement.java -Heating_element=Heating element - -# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceGuiDraw.java -Auto_shutdown=Auto shutdown -Manual_shutdown=Manual shutdown -Set_point\:_%s°C=Set point: %s°C - -# ./src/main/java/mods/eln/transparentnode/electricalmachine/ElectricalMachineDescriptor.java -Cost=Cost -Nominal_voltage\:_%1V$=Nominal voltage: %1V$ - -# ./src/main/java/mods/eln/transparentnode/electricalmachine/ElectricalMachineElement.java -Power_provided=Power provided - -# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceContainer.java -Combustion_chamber_slot=Combustion chamber slot -Fuel_slot=Fuel slot - -# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceElement.java -Set_temperature=Set temperature - -# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceGuiDraw.java -Control_gauge_at_%s=Control gauge at %s -Decline_fuel=Decline fuel -Take_fuel=Take fuel - -# ./src/main/java/mods/eln/transparentnode/powercapacitor/PowerCapacitorContainer.java -(Increases_maximal_voltage)=(Increases maximal voltage) - -# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelContainer.java -Solar_tracker_slot=Solar tracker slot - -# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelDescriptor.java -Can_be_geared_towards_the_sun.=Can be geared towards the sun. -Max._power\:_%sW=Max. power: %sW -Max._voltage\:_%sV=Max. voltage: %sV -Produces_power_from_solar_radiation.=Produces power from solar radiation. - -# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelElement.java -Panel_angle=Panel angle -Producing_energy=Producing energy -Sun_angle=Sun angle - -# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPannelGuiDraw.java -It_is_night=It is night -Solar_panel_angle\:_%s°=Solar panel angle: %s° -Sun_angle\:_%s°=Sun angle: %s° - -# ./src/main/java/mods/eln/transparentnode/teleporter/TeleporterElement.java -Destination=Destination -Distance=Distance -Required_energy=Required energy - -# ./src/main/java/mods/eln/transparentnode/teleporter/TeleporterGui.java -Destination_transporter=Destination transporter -Power_consumption\:=Power consumption: -Power_consumption\:_%sW=Power consumption: %sW -Required_energy\:_%sJ=Required energy: %sJ -Start=Start -Transporter_name=Transporter name - -# ./src/main/java/mods/eln/transparentnode/thermaldissipatoractive/ThermalDissipatorActiveDescriptor.java -Fan_cooling_power\:_%sW=Fan cooling power: %sW -Fan_power_consumption\:_%sW=Fan power consumption: %sW -Fan_voltage\:_%sV=Fan voltage: %sV - -# ./src/main/java/mods/eln/transparentnode/thermaldissipatoractive/ThermalDissipatorActiveElement.java - -# ./src/main/java/mods/eln/transparentnode/transformer/TransformerContainer.java -Casing_slot=Casing slot - -# ./src/main/java/mods/eln/transparentnode/transformer/TransformerDescriptor.java -The_voltage_ratio_is_proportional\nto_the_cable_stacks_count_ratio.=The voltage ratio is proportional\nto the cable stacks count ratio. -Transforms_an_input_voltage_to\nan_output_voltage.=Transforms an input voltage to\nan output voltage. - -# ./src/main/java/mods/eln/transparentnode/transformer/TransformerElement.java -Core_factor=Core factor -Isolated=Isolated -Ratio=Ratio - -# ./src/main/java/mods/eln/transparentnode/turbine/TurbineDescriptor.java -Generates_electricity_using_heat.=Generates electricity using heat. -Temperature_difference\:_%s°C=Temperature difference: %s°C - -# ./src/main/java/mods/eln/transparentnode/turbine/TurbineElement.java -Nominal=Nominal - -# ./src/main/java/mods/eln/transparentnode/turret/TurretDescriptor.java -CAUTION\:_Cables_can_get_quite_hot!=CAUTION: Cables can get quite hot! -Laser_charge_power\:_%sW...%skW=Laser charge power: %sW...%skW -Scans_for_entities_and_shoots_if_the\nentity_matches_the_configurable_filter_criteria.=Scans for entities and shoots if the\nentity matches the configurable filter criteria. -Standby_power\:_%sW=Standby power: %sW - -# ./src/main/java/mods/eln/transparentnode/turret/TurretElement.java -??=?? -Charge_level=Charge level -Shoot_=Shoot -Shoot_everything=Shoot everything -Shoot_nothing=Shoot nothing -Target=Target -animals=animals -monsters=monsters -players=players - -# ./src/main/java/mods/eln/transparentnode/turret/TurretGui.java -Attack\:=Attack: -Do_not_attack\:=Do not attack: -Recharge_power\:=Recharge power: - -# ./src/main/java/mods/eln/transparentnode/waterturbine/WaterTurbineDescriptor.java -Generates_energy_using_water_stream.=Generates energy using water stream. -No_place_for_water_turbine!=No place for water turbine! - -# ./src/main/java/mods/eln/transparentnode/waterturbine/WaterTurbineElement.java - -# ./src/main/java/mods/eln/transparentnode/windturbine/WindTurbineDescriptor.java -Front\:_%s=Front: %s -Generates_energy_from_wind.=Generates energy from wind. -Left_Right\:_%s=Left/Right: %s -Up_Down\:_%s=Up/Down: %s -Wind_area\:=Wind area: - -# ./src/main/java/mods/eln/wiki/Data.java -Light=Light -Machine=Machine -Ore=Ore -Portable=Portable -Resource=Resource -Signal=Signal -Thermal=Thermal -Upgrade=Upgrade -Utilities=Utilities -Wiring=Wiring - -# ./src/main/java/mods/eln/wiki/Default.java -Previous=Previous - -# ./src/main/java/mods/eln/wiki/ItemDefault.java -Can_be_used_to_craft\:=Can be used to craft: -Cannot_be_crafted!=Cannot be crafted! -Cost_%sJ=Cost %sJ -Created_by\:=Created by: -Is_not_a_crafting_material!=Is not a crafting material! -Recipe\:=Recipe: - -# Appearing in multiple source files -%s_is_not_in_range!=%s is not in range! -(Increases_capacity)=(Increases capacity) -(Increases_inductance)=(Increases inductance) -Actual\:_%s°C=Actual: %s°C -Battery_level=Battery level -Biggest=Biggest -Booster_slot=Booster slot -Can_create\:=Can create: -Capacity\:_%sF=Capacity: %sF -Channel=Channel -Charge=Charge -Charge_power=Charge power -Charge_power\:_%sW=Charge power: %sW -Closed=Closed -Connected=Connected -Cooling_power\:_%sW=Cooling power: %sW -Copper_cable_slot=Copper cable slot -Current=Current -Dielectric_slot=Dielectric slot -Discharge_power\:_%sW=Discharge power: %sW -Electrical_cable_slot=Electrical cable slot -Energy=Energy -Entity_filter_slot=Entity filter slot -External_control=External control -Ferromagnetic_core_slot=Ferromagnetic core slot -Generated_power=Generated power -Generates_heat_when_supplied_with_fuel.=Generates heat when supplied with fuel. -Generating=Generating -Has_a_signal_output.=Has a signal output. -Inductance\:_%sH=Inductance: %sH -Input=Input -Input_voltage=Input voltage -Internal_control=Internal control -Internal_resistance\:_%s\u2126=Internal resistance: %s\u2126 -Is_off=Is off -Is_on=Is on -Life=Life -Max._temperature\:_%s°C=Max. temperature: %s°C -Measured_value\ncorresponding\nto_0%_output=Measured value\ncorresponding\nto 0% output -Measured_value\ncorresponding\nto_100%_output=Measured value\ncorresponding\nto 100% output -No=No -Nominal\:=Nominal: -Nominal_power\:_%sW=Nominal power: %sW -Nominal_usage\:=Nominal usage: -Nominal_voltage\:_%sV=Nominal voltage: %sV -None=None -Not_connected=Not connected -Not_enough_space_for_this_block=Not enough space for this block -OFF=OFF -ON=ON -Off=Off -On=On -Open=Open -Output_voltage=Output voltage -Portable_battery_slot=Portable battery slot -Position=Position -Power=Power -Power\:_%sW=Power: %sW -Power_consumption=Power consumption -Powered_by_Lamp_Supply=Powered by Lamp Supply -Powered_by_cable=Powered by cable -Produced_power=Produced power -Range\:_%s_blocks=Range: %s blocks -Redstone_slot=Redstone slot -Redstone_value=Redstone value -Regulator_slot=Regulator slot -Reset=Reset -Resistance=Resistance -Resistance\:_%s\u2126=Resistance: %s\u2126 -Smallest=Smallest -Specify_the_channel=Specify the channel -Specify_the_supply_channel=Specify the supply channel -Stored_energy\:_%sJ_(%s)=Stored energy: %sJ (%s) -Temperature=Temperature -Temperature\:_%s°C=Temperature: %s°C -Temperature_gauge=Temperature gauge -Thermal_isolator_slot=Thermal isolator slot -Thermal_power=Thermal power -Toggle=Toggle -Toggle_switch=Toggle switch -Toggles_the_output_each_time\nan_emitter's_value_rises.\nUseful_to_allow_multiple_buttons\nto_control_the_same_light.=Toggles the output each time\nan emitter's value rises.\nUseful to allow multiple buttons\nto control the same light. -Used_to_cool_down_turbines.=Used to cool down turbines. -Uses_the_biggest\nvalue_on_the_channel.=Uses the biggest\nvalue on the channel. -Uses_the_smallest\nvalue_on_the_channel.=Uses the smallest\nvalue on the channel. -Validate=Validate -Voltage=Voltage -Voltage\:_%sV=Voltage: %sV -Voltage_drop=Voltage drop -Voltages=Voltages -Yes=Yes -You_can't_place_this_block_at_this_side=You can't place this block at this side -_O\:_= O: +eln:# +eln: +eln:# ./src/main/java/mods/eln/Achievements.java +eln:Electrical_Age_[WIP]=Electrical Age [WIP] +eln:achievement.craft_50v_macerator=Crushing Novice +eln:achievement.craft_50v_macerator.desc=Craft a 50V Macerator +eln:achievement.open_guide=Wiki Power +eln:achievement.open_guide.desc=Open the wiki guide +eln: +eln:# ./src/main/java/mods/eln/Eln.java +eln:10A_Diode.name=10A Diode +eln:200V_Active_Thermal_Dissipator.name=200V Active Thermal Dissipator +eln:200V_Battery_Charger.name=200V Battery Charger +eln:200V_Compressor.name=200V Compressor +eln:200V_Condensator.name=200V Capacitor +eln:200V_Copper_Heating_Corp.name=200V Copper Heating Corp +eln:200V_Economic_Light_Bulb.name=200V Economic Light Bulb +eln:200V_Emergency_Lamp.name=200V Emergency Lamp +eln:200V_Farming_Lamp.name=200V Farming Lamp +eln:200V_Fuel_Generator.name=200V Fuel Generator +eln:200V_Incandescent_Light_Bulb.name=200V Incandescent Light Bulb +eln:200V_Iron_Heating_Corp.name=200V Iron Heating Corp +eln:200V_LED_Bulb.name=200V LED Bulb +eln:200V_Macerator.name=200V Macerator +eln:200V_Magnetizer.name=200V Magnetizer +eln:200V_Plate_Machine.name=200V Plate Machine +eln:200V_Power_Socket.name=200V Power Socket +eln:200V_Tungsten_Heating_Corp.name=200V Tungsten Heating Corp +eln:200V_Turbine.name=200V Turbine +eln:25A_Diode.name=25A Diode +eln:2x3_Rotating_Solar_Panel.name=2x3 Rotating Solar Panel +eln:2x3_Solar_Panel.name=2x3 Solar Panel +eln:50V_Battery_Charger.name=50V Battery Charger +eln:50V_Carbon_Incandescent_Light_Bulb.name=50V Carbon Incandescent Light Bulb +eln:50V_Compressor.name=50V Compressor +eln:50V_Condensator.name=50V Capacitor +eln:50V_Copper_Heating_Corp.name=50V Copper Heating Corp +eln:50V_Economic_Light_Bulb.name=50V Economic Light Bulb +eln:50V_Egg_Incubator.name=50V Egg Incubator +eln:50V_Emergency_Lamp.name=50V Emergency Lamp +eln:50V_Farming_Lamp.name=50V Farming Lamp +eln:50V_Fuel_Generator.name=50V Fuel Generator +eln:50V_Incandescent_Light_Bulb.name=50V Incandescent Light Bulb +eln:50V_Iron_Heating_Corp.name=50V Iron Heating Corp +eln:50V_LED_Bulb.name=50V LED Bulb +eln:50V_Macerator.name=50V Macerator +eln:50V_Magnetizer.name=50V Magnetizer +eln:50V_Plate_Machine.name=50V Plate Machine +eln:50V_Power_Socket.name=50V Power Socket +eln:50V_Tungsten_Heating_Corp.name=50V Tungsten Heating Corp +eln:50V_Turbine.name=50V Turbine +eln:800V_Defence_Turret.name=800V Defence Turret +eln:AND_Chip.name=AND Chip +eln:Advanced_Chip.name=Advanced Chip +eln:Advanced_Electrical_Motor.name=Advanced Electrical Motor +eln:Advanced_Energy_Meter.name=Advanced Energy Meter +eln:Advanced_Machine_Block.name=Advanced Machine Block +eln:Advanced_Magnet.name=Advanced Magnet +eln:AllMeter.name=Universal-Meter +eln:Alloy_Dust.name=Alloy Dust +eln:Alloy_Ingot.name=Alloy Ingot +eln:Alloy_Plate.name=Alloy Plate +eln:Amplifier.name=Amplifier +eln:Analog_Watch.name=Analog watch +eln:Analog_vuMeter.name=Analog Gauge +eln:Analogic_Regulator.name=Analogic Regulator +eln:Animal_Filter.name=Animal Filter +eln:Auto_Miner.name=Auto Miner +eln:Average_Electrical_Drill.name=Average Electrical Drill +eln:Average_Ferromagnetic_Core.name=Average Ferromagnetic Core +eln:Basic_Magnet.name=Basic Magnet +eln:Big_Fuel_Burner.name=Big Fuel Burner +eln:Black_Brush.name=Black Brush +eln:Blown_Lead_Fuse.name=Blown Lead Fuse +eln:Blue_Brush.name=Blue Brush +eln:Brown_Brush.name=Brown Brush +eln:Capacity_Oriented_Battery.name=Capacity Oriented Battery +eln:Casing.name=Casing +eln:Cheap_Chip.name=Cheap Chip +eln:Cheap_Electrical_Drill.name=Cheap Electrical Drill +eln:Cheap_Ferromagnetic_Core.name=Cheap Ferromagnetic Core +eln:Cinnabar_Dust.name=Cinnabar Dust +eln:Cinnabar_Ore.name=Cinnabar Ore +eln:Coal_Dust.name=Coal Dust +eln:Coal_Plate.name=Coal Plate +eln:Combustion_Chamber.name=Combustion Chamber +eln:Configurable_summing_unit.name=Configurable summing unit +eln:Copper_Cable.name=Copper Cable +eln:Copper_Dust.name=Copper Dust +eln:Copper_Ingot.name=Copper Ingot +eln:Copper_Ore.name=Copper Ore +eln:Copper_Plate.name=Copper Plate +eln:Copper_Thermal_Cable.name=Copper Thermal Cable +eln:Cost_Oriented_Battery.name=Cost Oriented Battery +eln:Current_Oriented_Battery.name=Current Oriented Battery +eln:Cyan_Brush.name=Cyan Brush +eln:DC-DC_Converter.name=DC-DC Converter +eln:D_Flip_Flop_Chip.name=D Flip Flop Chip +eln:Data_Logger.name=Data Logger +eln:Data_Logger_Print.name=Data Logger Print +eln:Dielectric.name=Dielectric +eln:Digital_Watch.name=Digital Watch +eln:Electrical_Anemometer_Sensor.name=Electrical Anemometer Sensor +eln:Electrical_Breaker.name=Electrical Breaker +eln:Electrical_Daylight_Sensor.name=Electrical Daylight Sensor +eln:Electrical_Entity_Sensor.name=Electrical Entity Sensor +eln:Electrical_Fire_Buzzer.name=Electrical Fire Buzzer +eln:Electrical_Fire_Detector.name=Electrical Fire Detector +eln:Electrical_Furnace.name=Electrical Furnace +eln:Electrical_Fuse_Holder.name=Electrical Fuse Holder +eln:Electrical_Light_Sensor.name=Electrical Light Sensor +eln:Electrical_Motor.name=Electrical Motor +eln:Electrical_Probe.name=Electrical Probe +eln:Electrical_Probe_Chip.name=Electrical Probe Chip +eln:Electrical_Source.name=Electrical Source +eln:Electrical_Timer.name=Electrical Timer +eln:Electrical_Weather_Sensor.name=Electrical Weather Sensor +eln:Electrical_age_wrench,\nCan_be_used_to_turn\nsmall_wall_blocks=Electrical age wrench,\nCan be used to turn\nsmall wall blocks +eln:Energy_Meter.name=Energy Meter +eln:Experimental_Transporter.name=Experimental Transporter +eln:Fast_Electrical_Drill.name=Fast Electrical Drill +eln:Ferrite_Ingot.name=Ferrite Ingot +eln:Flat_Lamp_Socket.name=Flat Lamp Socket +eln:Fluorescent_Lamp_Socket.name=Fluorescent Lamp Socket +eln:Flywheel.name=Flywheel +eln:Fuel_Heat_Furnace.name=Fuel Heat Furnace +eln:Gas_Turbine.name=Gas Turbine +eln:Generator.name=Generator +eln:Gold_Dust.name=Gold Dust +eln:Gold_Plate.name=Gold Plate +eln:Gray_Brush.name=Gray Brush +eln:Green_Brush.name=Green Brush +eln:Ground_Cable.name=Ground Cable +eln:High_Power_Receiver_Antenna.name=High Power Receiver Antenna +eln:High_Power_Transmitter_Antenna.name=High Power Transmitter Antenna +eln:High_Voltage_Cable.name=High Voltage Cable +eln:High_Voltage_Relay.name=High Voltage Relay +eln:High_Voltage_Switch.name=High Voltage Switch +eln:Hub.name=Hub +eln:Industrial_Data_Logger.name=Industrial Data Logger +eln:Iron_Cable.name=Iron Cable +eln:Iron_Dust.name=Iron Dust +eln:Iron_Plate.name=Iron Plate +eln:JK_Flip_Flop_Chip.name=JK Flip Flop Chip +eln:Joint.name=Joint +eln:Joint_hub.name=Joint hub +eln:LED_vuMeter.name=LED vuMeter +eln:Lamp_Socket_A.name=Lamp Socket A +eln:Lamp_Socket_B_Projector.name=Lamp Socket B Projector +eln:Lamp_Supply.name=Lamp Supply +eln:Large_Rheostat.name=Large Rheostat +eln:Lead_Dust.name=Lead Dust +eln:Lead_Fuse_for_high_voltage_cables.name=Lead Fuse for high voltage cables +eln:Lead_Fuse_for_low_voltage_cables.name=Lead Fuse for low voltage cables +eln:Lead_Fuse_for_medium_voltage_cables.name=Lead Fuse for medium voltage cables +eln:Lead_Fuse_for_very_high_voltage_cables.name=Lead Fuse for very high voltage cables +eln:Lead_Ingot.name=Lead Ingot +eln:Lead_Ore.name=Lead Ore +eln:Lead_Plate.name=Lead Plate +eln:Life_Oriented_Battery.name=Life Oriented Battery +eln:Light_Blue_Brush.name=Light Blue Brush +eln:Lime_Brush.name=Lime Brush +eln:Long_Suspended_Lamp_Socket.name=Long Suspended Lamp Socket +eln:Low_Power_Receiver_Antenna.name=Low Power Receiver Antenna +eln:Low_Power_Transmitter_Antenna.name=Low Power Transmitter Antenna +eln:Low_Voltage_Cable.name=Low Voltage Cable +eln:Low_Voltage_Relay.name=Low Voltage Relay +eln:Low_Voltage_Switch.name=Low Voltage Switch +eln:Lowpass_filter.name=Lowpass filter +eln:Machine_Block.name=Machine Block +eln:Machine_Booster.name=Machine Booster +eln:Magenta_Brush.name=Magenta Brush +eln:Medium_Fuel_Burner.name=Medium Fuel Burner +eln:Medium_Power_Receiver_Antenna.name=Medium Power Receiver Antenna +eln:Medium_Power_Transmitter_Antenna.name=Medium Power Transmitter Antenna +eln:Medium_Voltage_Cable.name=Medium Voltage Cable +eln:Medium_Voltage_Relay.name=Medium Voltage Relay +eln:Medium_Voltage_Switch.name=Medium Voltage Switch +eln:Mercury.name=Mercury +eln:Mining_Pipe.name=Mining Pipe +eln:Modbus_RTU.name=Modbus RTU +eln:Modern_Data_Logger.name=Modern Data Logger +eln:Monster_Filter.name=Monster Filter +eln:MultiMeter.name=Multimeter +eln:NAND_Chip.name=NAND Chip +eln:NOR_Chip.name=NOR Chip +eln:NOT_Chip.name=NOT Chip +eln:Nuclear_Alarm.name=Nuclear Alarm +eln:OR_Chip.name=OR Chip +eln:On_OFF_Regulator_10_Percent.name=On/off regulator 10% +eln:On_OFF_Regulator_1_Percent.name=On/off regulator 1% +eln:OpAmp.name=OpAmp +eln:Optimal_Ferromagnetic_Core.name=Optimal Ferromagnetic Core +eln:Orange_Brush.name=Orange Brush +eln:Ore_Scanner.name=Ore Scanner +eln:Oscillator_Chip.name=Oscillator Chip +eln:Overheating_Protection.name=Overheating Protection +eln:Overvoltage_Protection.name=Overvoltage Protection +eln:PAL_Chip.name=PAL Chip +eln:PID_Regulator.name=PID Regulator +eln:Pink_Brush.name=Pink Brush +eln:Player_Filter.name=Player Filter +eln:Portable_Battery.name=Portable Battery +eln:Portable_Battery_Pack.name=Portable Battery Pack +eln:Portable_Condensator.name=Portable Capacitor +eln:Portable_Condensator_Pack.name=Portable Capacitor Pack +eln:Portable_Electrical_Axe.name=Portable Electrical Axe +eln:Portable_Electrical_Mining_Drill.name=Portable Electrical Mining Drill +eln:Power_Capacitor.name=Power Capacitor +eln:Power_Inductor.name=Power Inductor +eln:Power_Resistor.name=Power Resistor +eln:Power_capacitor.name=Power capacitor +eln:Power_inductor.name=Power inductor +eln:Purple_Brush.name=Purple Brush +eln:Red_Brush.name=Red Brush +eln:Redstone-to-Voltage_Converter.name=Redstone-to-Voltage Converter +eln:Rheostat.name=Rheostat +eln:Robust_Lamp_Socket.name=Robust Lamp Socket +eln:Rubber.name=Rubber +eln:Sample_and_hold.name=Sample and hold +eln:Scanner.name=Scanner +eln:Schmitt_Trigger_Chip.name=Schmitt Trigger Chip +eln:Sconce_Lamp_Socket.name=Sconce Lamp Socket +eln:Signal_20H_inductor.name=Signal 20H inductor +eln:Signal_Antenna.name=Signal Antenna +eln:Signal_Button.name=Signal Button +eln:Signal_Cable.name=Signal Cable +eln:Signal_Diode.name=Signal Diode +eln:Signal_Processor.name=Signal Processor +eln:Signal_Relay.name=Signal Relay +eln:Signal_Source.name=Signal Source +eln:Signal_Switch.name=Signal Switch +eln:Signal_Switch_with_LED.name=Signal Switch with LED +eln:Signal_Trimmer.name=Signal Trimmer +eln:Silicon_Dust.name=Silicon Dust +eln:Silicon_Ingot.name=Silicon Ingot +eln:Silicon_Plate.name=Silicon Plate +eln:Silver_Brush.name=Silver Brush +eln:Simple_Lamp_Socket.name=Simple Lamp Socket +eln:Single-use_Battery.name=Single-use Battery +eln:Small_200V_Copper_Heating_Corp.name=Small 200V Copper Heating Corp +eln:Small_200V_Iron_Heating_Corp.name=Small 200V Iron Heating Corp +eln:Small_200V_Tungsten_Heating_Corp.name=Small 200V Tungsten Heating Corp +eln:Small_50V_Carbon_Incandescent_Light_Bulb.name=Small 50V Carbon Incandescent Light Bulb +eln:Small_50V_Copper_Heating_Corp.name=Small 50V Copper Heating Corp +eln:Small_50V_Economic_Light_Bulb.name=Small 50V Economic Light Bulb +eln:Small_50V_Incandescent_Light_Bulb.name=Small 50V Incandescent Light Bulb +eln:Small_50V_Iron_Heating_Corp.name=Small 50V Iron Heating Corp +eln:Small_50V_Tungsten_Heating_Corp.name=Small 50V Tungsten Heating Corp +eln:Small_Active_Thermal_Dissipator.name=Small Active Thermal Dissipator +eln:Small_Flashlight.name=Small Flashlight +eln:Small_Fuel_Burner.name=Small Fuel Burner +eln:Small_Passive_Thermal_Dissipator.name=Small Passive Thermal Dissipator +eln:Small_Rotating_Solar_Panel.name=Small Rotating Solar Panel +eln:Small_Solar_Panel.name=Small Solar Panel +eln:Solar_Tracker.name=Solar Tracker +eln:Standard_Alarm.name=Standard Alarm +eln:Steam_Turbine.name=Steam Turbine +eln:Stone_Heat_Furnace.name=Stone Heat Furnace +eln:Street_Light.name=Streetlight +eln:Suspended_Lamp_Socket.name=Suspended Lamp Socket +eln:Tachometer.name=Tachometer +eln:Temperature_Probe.name=Temperature Probe +eln:Thermal_Probe.name=Thermal Probe +eln:Thermal_Probe_Chip.name=Thermal Probe Chip +eln:Thermistor.name=Thermistor +eln:Thermometer.name=Thermometer +eln:Tree_Resin.name=Tree Resin +eln:Tree_Resin_Collector.name=Tree Resin Collector +eln:Tungsten_Cable.name=Tungsten Cable +eln:Tungsten_Dust.name=Tungsten Dust +eln:Tungsten_Ingot.name=Tungsten Ingot +eln:Tungsten_Ore.name=Tungsten Ore +eln:Tutorial_Sign.name=Tutorial Sign +eln:Very_High_Voltage_Cable.name=Very High Voltage Cable +eln:Very_High_Voltage_Relay.name=Very High Voltage Relay +eln:Very_High_Voltage_Switch.name=Very High Voltage Switch +eln:Voltage-to-Redstone_Converter.name=Voltage-to-Redstone Converter +eln:Voltage_Oriented_Battery.name=Voltage Oriented Battery +eln:Voltage_Probe.name=Voltage Probe +eln:Voltage_controlled_amplifier.name=Voltage controlled amplifier +eln:Voltage_controlled_sawtooth_oscillator.name=Voltage controlled sawtooth oscillator +eln:Voltage_controlled_sine_oscillator.name=Voltage controlled sine oscillator +eln:Water_Turbine.name=Water Turbine +eln:Weak_50V_Battery_Charger.name=Weak 50V Battery Charger +eln:White_Brush.name=White Brush +eln:Wind_Turbine.name=Wind Turbine +eln:Wireless_Analyser.name=Wireless Analyzer +eln:Wireless_Button.name=Wireless Button +eln:Wireless_Signal_Receiver.name=Wireless Signal Receiver +eln:Wireless_Signal_Repeater.name=Wireless Signal Repeater +eln:Wireless_Signal_Transmitter.name=Wireless Signal Transmitter +eln:Wireless_Switch.name=Wireless Switch +eln:Wrench.name=Wrench +eln:X-Ray_Scanner.name=X-Ray Scanner +eln:XNOR_Chip.name=XNOR Chip +eln:XOR_Chip.name=XOR Chip +eln:Yellow_Brush.name=Yellow Brush +eln:entity.EAReplicator.name=Replicator +eln:item.Copper Axe.name=Copper Axe +eln:item.Copper Boots.name=Copper Boots +eln:item.Copper Chestplate.name=Copper Chestplate +eln:item.Copper Helmet.name=Copper Helmet +eln:item.Copper Hoe.name=Copper Hoe +eln:item.Copper Leggings.name=Copper Leggings +eln:item.Copper Pickaxe.name=Copper Pickaxe +eln:item.Copper Shovel.name=Copper Shovel +eln:item.Copper Sword.name=Copper Sword +eln:item.E-Coal Boots.name=E-Coal Boots +eln:item.E-Coal Chestplate.name=E-Coal Chestplate +eln:item.E-Coal Helmet.name=E-Coal Helmet +eln:item.E-Coal Leggings.name=E-Coal Leggings +eln:itemGroup.Eln=Electrical Age +eln:mod.meta.desc=Electricity in your base! +eln:tile.eln.ElnProbe.name=Eln Computer Probe +eln:tile.eln.EnergyConverterElnToOtherHVUBlock.name=800V Electrical Age to other energy exporter +eln:tile.eln.EnergyConverterElnToOtherLVUBlock.name=50V Electrical Age to other energy exporter +eln:tile.eln.EnergyConverterElnToOtherMVUBlock.name=200V Electrical Age to other energy exporter +eln: +eln:# ./src/main/java/mods/eln/i18n/I18N.java +eln:You_have_%s_lives_left=You have %s lives left +eln: +eln:# ./src/main/java/mods/eln/item/BrushDescriptor.kt +eln:Brush_is_dry=Brush is dry +eln:Can_paint_%s_blocks=Can paint %s blocks +eln: +eln:# ./src/main/java/mods/eln/item/CaseItemDescriptor.kt +eln:Can_be_used_to_encase_EA_items_that_support_it=Can be used to encase EA items that support it +eln: +eln:# ./src/main/java/mods/eln/item/CombustionChamber.java +eln:Upgrade_for_the_Stone_Heat_Furnace.=Upgrade for the Stone Heat Furnace. +eln: +eln:# ./src/main/java/mods/eln/item/ElectricalDrillDescriptor.java +eln:Energy_per_operation\:_%sJ=Energy per operation: %sJ +eln:Time_per_operation\:_%sh=Time per operation: %sh +eln: +eln:# ./src/main/java/mods/eln/item/FerromagneticCoreDescriptor.java +eln:Cable_loss_factor\:_%s=Cable loss factor: %s +eln: +eln:# ./src/main/java/mods/eln/item/FuelBurnerDescriptor.kt +eln:Burn_unit_for_the_gas_heat_furnace.=Burn unit for the gas heat furnace. +eln:Produced_heat_power\:_=Produced heat power: +eln: +eln:# ./src/main/java/mods/eln/item/HeatingCorpElement.java +eln: +eln:# ./src/main/java/mods/eln/item/LampDescriptor.java +eln:Bad=Bad +eln:Condition\:=Condition: +eln:End_of_life=End of life +eln:Good=Good +eln:New=New +eln:Nominal_lifetime\:_%sh=Nominal lifetime: %sh +eln:Technology\:_%s=Technology: %s +eln:Used=Used +eln: +eln:# ./src/main/java/mods/eln/item/LampSlot.java +eln:Lamp_slot=Lamp slot +eln: +eln:# ./src/main/java/mods/eln/item/OverHeatingProtectionDescriptor.java +eln:Useful_to_prevent_overheating\nof_Batteries=Useful to prevent overheating\nof Batteries +eln: +eln:# ./src/main/java/mods/eln/item/OverVoltageProtectionDescriptor.java +eln:Useful_to_prevent_over-voltage\nof_Batteries=Useful to prevent over-voltage\nof Batteries +eln: +eln:# ./src/main/java/mods/eln/item/SolarTrackerDescriptor.java +eln:Solar_panel_upgrade=Solar panel upgrade +eln: +eln:# ./src/main/java/mods/eln/item/electricalitem/BatteryItem.java +eln: +eln:# ./src/main/java/mods/eln/item/electricalitem/ElectricalLampItem.java +eln:State\:=State: +eln:Stored_Energy\:_%sJ_(%s)=Stored Energy: %sJ (%s) +eln: +eln:# ./src/main/java/mods/eln/item/regulator/RegulatorSlot.java +eln: +eln:# ./src/main/java/mods/eln/mechanical/Tachometer.kt +eln:Rads_s_corresponding\nto_0%_output=Rads/s corresponding\nto 0% output +eln:Rads_s_corresponding\nto_100%_output=Rads/s corresponding\nto 100% output +eln: +eln:# ./src/main/java/mods/eln/misc/UtilsClient.java +eln:Hold_shift=Hold shift +eln: +eln:# ./src/main/java/mods/eln/misc/Version.java +eln:mod.name=Electrical Age +eln: +eln:# ./src/main/java/mods/eln/node/six/SixNodeDescriptor.java +eln: +eln:# ./src/main/java/mods/eln/simplenode/energyconverter/EnergyConverterElnToOtherGui.java +eln:Input_power_is_limited_to_%sW=Input power is limited to %sW +eln: +eln:# ./src/main/java/mods/eln/sixnode/AnalogChips.kt +eln:A_voltage-controlled_amplifier_(VCA)\nis_an_electronic_amplifier_that_varies\nits_gain_depending_on_the_control_voltage.=A voltage-controlled amplifier (VCA)\nis an electronic amplifier that varies\nits gain depending on the control voltage. +eln:A_voltage-controlled_oscillator_or_VCO_is\nan_electronic_oscillator_whose_oscillation\nfrequency_is_controlled_by_a_voltage_input.=A voltage-controlled oscillator or VCO is\nan electronic oscillator whose oscillation\nfrequency is controlled by a voltage input. +eln:An_amplifier_increases_the_voltage\nof_an_input_signal_by_a_configurable\ngain_and_outputs_that_voltage.=An amplifier increases the voltage\nof an input signal by a configurable\ngain and outputs that voltage. +eln:Cut-off_frequency_%s_Hz=Cut-off frequency %s Hz +eln:Gain=Gain +eln:Gain_for_input_\u00a713=Gain for input \u00a713 +eln:Gain_for_input_\u00a722=Gain for input \u00a722 +eln:Gain_for_input_\u00a741=Gain for input \u00a741 +eln:Lowpass_filter_-_Passes_signals_with_a\nfrequency_lower_than_a_certain_cutoff_frequency\nand_attenuates_signals_with_frequencies_higher\nthan_the_cutoff_frequency.=Lowpass filter - Passes signals with a\nfrequency lower than a certain cutoff frequency\nand attenuates signals with frequencies higher\nthan the cutoff frequency. +eln:Operational_Amplifier_-_DC_coupled\nhigh-gain_voltage_amplifier_with\ndifferential_input._Can_be_used_to\ncompare_voltages_or_as_configurable_amplifier.=Operational Amplifier - DC coupled\nhigh-gain voltage amplifier with\ndifferential input. Can be used to\ncompare voltages or as configurable amplifier. +eln:Params=Params +eln:Proportional–integral–derivative_controller._A_PID\ncontroller_continuously_calculates_an_error_value_as\nthe_difference_between_a_desired_setpoint_and_a_measured\nprocess_variable_and_applies_a_correction_based_on\nproportional,_integral,_and_derivative_terms.=Proportional–integral–derivative controller. A PID\ncontroller continuously calculates an error value as\nthe difference between a desired setpoint and a measured\nprocess variable and applies a correction based on\nproportional, integral, and derivative terms. +eln:Samples_the_voltage_of_a_varying_analog_signal_when\nthe_clock_input_changes_from_0_to_1_and_holds_its\noutput_voltage_at_a_constant_level_until_next_clock_pulse.\nYou_can_see_it_as_an_analog_D-Flipflop.=Samples the voltage of a varying analog signal when\nthe clock input changes from 0 to 1 and holds its\noutput voltage at a constant level until next clock pulse.\nYou can see it as an analog D-Flipflop. +eln:The_summing_unit_outputs_the_sum_of\nthe_three_weighted_inputs.The\ngain_for_each_input_can_be_configured.=The summing unit outputs the sum of\nthe three weighted inputs.The\ngain for each input can be configured. +eln: +eln:# ./src/main/java/mods/eln/sixnode/ElectricalFuse.kt +eln:Protects_electrical_components.\nFuse_melts_if_current_exceeds_the\nfuse_limit=Protects electrical components.\nFuse melts if current exceeds the\nfuse limit +eln: +eln:# ./src/main/java/mods/eln/sixnode/EmergencyLamp.kt +eln: +eln:# ./src/main/java/mods/eln/sixnode/LogicGate.kt +eln:A_Programmable_Array_Logic_(PAL)_is_a_programmable\nlogic_device_semiconductors_used_to__implement_any_logic\nfunction_in_only_one_digital_circuit._The_function_is\nstateless,_which_means_that_no_intermediate_state_is_saved.=A Programmable Array Logic (PAL) is a programmable\nlogic device semiconductors used to implement any logic\nfunction in only one digital circuit. The function is\nstateless, which means that no intermediate state is saved. +eln:If_the_input_J_is_1_(high)_and_K_is_0_(low)\nduring_a_clock_pulse,_the_output_becomes_1_(high).\nIf_J_is_0_(low)_and_K_is_1_(high)_during_the_pulse,\nthe_output_becomes_0_(low)._If_both_inputs_are_0_(low)\nduring_the_clock_pulse,_the_state_is_maintained._If_both\ninputs_are_1_(high)_the_input_is_toggled_if_a_rising_edge\nwas_detected_at_the_clock_input.=If the input J is 1 (high) and K is 0 (low)\nduring a clock pulse, the output becomes 1 (high).\nIf J is 0 (low) and K is 1 (high) during the pulse,\nthe output becomes 0 (low). If both inputs are 0 (low)\nduring the clock pulse, the state is maintained. If both\ninputs are 1 (high) the input is toggled if a rising edge\nwas detected at the clock input. +eln:If_the_input_voltage_is_lower_than_10V,_the\noutput_is_0_(low),_if_the_output_is_bigger_or\nequal_to_30V,_the_output_will_be_1_(high)._For\nall_voltages_in_between,_the_output_does_not_change.=If the input voltage is lower than 10V, the\noutput is 0 (low), if the output is bigger or\nequal to 30V, the output will be 1 (high). For\nall voltages in between, the output does not change. +eln:Implements_an_exclusive_or.\nAn_output_of_1_(high)_results_if_one_or\nall_three_inputs_to_the_gate_are_1_(high).=Implements an exclusive or.\nAn output of 1 (high) results if one or\nall three inputs to the gate are 1 (high). +eln:Implements_logical_conjunction.\nA_1_(high)_output_results_only_if_all_of\nthe_three_inputs_to_the_AND_gate_are_1_(high).=Implements logical conjunction.\nA 1 (high) output results only if all of\nthe three inputs to the AND gate are 1 (high). +eln:Implements_logical_disjunction.\nA_1_(high)_output_results_if_at_least\none_input_to_the_gate_is_1_(high).=Implements logical disjunction.\nA 1 (high) output results if at least\none input to the gate is 1 (high). +eln:Inverts_the_input_signal.\nOutputs_a_voltage_representing_the\nopposite_logic-level_to_its_input.=Inverts the input signal.\nOutputs a voltage representing the\nopposite logic-level to its input. +eln:Its_output_is_complement_(inverted)\nto_that_of_the_AND_gate.=Its output is complement (inverted)\nto that of the AND gate. +eln:Its_output_is_complement_(inverted)\nto_that_of_the_OR_gate.=Its output is complement (inverted)\nto that of the OR gate. +eln:Its_output_is_complement_(inverted)\nto_that_of_the_XOR_gate.=Its output is complement (inverted)\nto that of the XOR gate. +eln:Outputs_a_rectangular_signal_which's_frequency\ndepends_to_the_input_voltage._The_higher_the\ninput_voltage_-_the_higher_the_frequency.=Outputs a rectangular signal which's frequency\ndepends to the input voltage. The higher the\ninput voltage - the higher the frequency. +eln:The_D_flip-flop_captures_the_value\nof_the_D-input_at_a_rising_edge\nportion_of_the_clock_cycle.=The D flip-flop captures the value\nof the D-input at a rising edge\nportion of the clock cycle. +eln:UNDEF=UNDEF +eln: +eln:# ./src/main/java/mods/eln/sixnode/Scanner.kt +eln:-_For_inventories,_outputs_either_total_fill_or_fraction_of_slots_with_any_items.=- For inventories, outputs either total fill or fraction of slots with any items. +eln:-_For_tanks,_outputs_fill_percentage.=- For tanks, outputs fill percentage. +eln:Otherwise_behaves_as_a_vanilla_comparator.=Otherwise behaves as a vanilla comparator. +eln:Right-click_to_change_mode.=Right-click to change mode. +eln:Scans_blocks_to_produce_signals.=Scans blocks to produce signals. +eln: +eln:# ./src/main/java/mods/eln/sixnode/TreeResinCollector/TreeResinCollectorDescriptor.java +eln:Produces_Tree_Resin_over\ntime_when_put_on_a_tree.=Produces Tree Resin over\ntime when put on a tree. +eln:This_block_can_only_be_placed_on_the_side_of_a_tree!=This block can only be placed on the side of a tree! +eln: +eln:# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerContainer.java +eln:Battery_slot=Battery slot +eln: +eln:# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerDescriptor.java +eln:Can_be_used_to_recharge\nelectrical_items_like\:\nFlash_Light,_X-Ray_scanner\nand_Portable_Battery_...=Can be used to recharge\nelectrical items like:\nFlash Light, X-Ray scanner\nand Portable Battery ... +eln: +eln:# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerElement.java +eln:Charge_Current=Charge Current +eln: +eln:# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerGui.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/diode/DiodeDescriptor.java +eln:Electrical_current_can_only\nflow_through_the_diode\nfrom_anode_to_cathode=Electrical current can only\nflow through the diode\nfrom anode to cathode +eln: +eln:# ./src/main/java/mods/eln/sixnode/diode/DiodeElement.java +eln:Forward_Voltage=Forward Voltage +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalalarm/ElectricalAlarmDescriptor.java +eln:Emits_an_acoustic_alarm_if\nthe_input_signal_is_high=Emits an acoustic alarm if\nthe input signal is high +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalalarm/ElectricalAlarmElement.java +eln:Engaged=Engaged +eln:Input_Voltage=Input Voltage +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalalarm/ElectricalAlarmGui.java +eln:Sound_is_muted=Sound is muted +eln:Sound_is_not_muted=Sound is not muted +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerContainer.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerDescriptor.java +eln:Protects_electrical_components\nOpens_contact_if\:\n__-_Voltage_exceeds_a_certain_level\n-_Current_exceeds_the_cable_limit=Protects electrical components\nOpens contact if:\n - Voltage exceeds a certain level\n- Current exceeds the cable limit +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerElement.java +eln:Contact=Contact +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerGui.java +eln:Maximum_voltage_before_cutting_off=Maximum voltage before cutting off +eln:Minimum_voltage_before_cutting_off=Minimum voltage before cutting off +eln:Switch_is_off=Switch is off +eln:Switch_is_on=Switch is on +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalcable/ElectricalCableDescriptor.java +eln:A_signal_is_electrical_information\nwhich_must_be_between_0V_and_%s=A signal is electrical information\nwhich must be between 0V and %s +eln:Cable_is_adapted_to_conduct\nelectrical_signals.=Cable is adapted to conduct\nelectrical signals. +eln:Current\:_%sA=Current: %sA +eln:Not_adapted_to_transport_power.=Not adapted to transport power. +eln:Save_usage\:=Save usage: +eln:Serial_resistance\:_%s\u2126=Serial resistance: %s\u2126 +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalcable/ElectricalCableElement.java +eln:Signal_Voltage=Signal Voltage +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerDescriptor.java +eln:It_can_store_up_to_256_points.=It can store up to 256 points. +eln:Measures_the_voltage_of_an\nelectrical_signal_and_plots\nthe_data_in_real_time.=Measures the voltage of an\nelectrical signal and plots\nthe data in real time. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerElement.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerGui.java +eln:Back_to_display=Back to display +eln:Configuration=Configuration +eln:Current_[A]=Current [A] +eln:Energy_[J]=Energy [J] +eln:Percent_[-]%=Percent [-]% +eln:Power_[W]=Power [W] +eln:Print=Print +eln:Sampling_period=Sampling period +eln:Temp._[*C]=Temp. [*C] +eln:Voltage_[V]=Voltage [V] +eln:Y-axis_max=Y-axis max +eln:Y-axis_min=Y-axis min +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorContainer.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorDescriptor.java +eln:Output_voltage_increases\nif_entities_are_moving_around.=Output voltage increases\nif entities are moving around. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorElement.java +eln:Entity_present=Entity present +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalfiredetector/ElectricalFireDetectorContainer.kt +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalfiredetector/ElectricalFireDetectorDescriptor.java +eln:Battery_powered_buzzer_\nactivated_in_presence_of_fire.=Battery powered buzzer \nactivated in presence of fire. +eln:Output_voltage_increases\nif_a_fire_has_been_detected.=Output voltage increases\nif a fire has been detected. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalfiredetector/ElectricalFireDetectorElement.java +eln:Fire_detected\:_=Fire detected: +eln:Fire_present=Fire present +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceDescriptor.java +eln:Provides_configurable_signal\nvoltage.=Provides configurable signal\nvoltage. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceGui.java +eln:Output_at_%s=Output at %s +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricallightsensor/ElectricalLightSensorDescriptor.java +eln:0V_at_night,_%sV_at_noon.=0V at night, %sV at noon. +eln:Provides_an_electrical_voltage\nin_the_presence_of_light.=Provides an electrical voltage\nin the presence of light. +eln:Provides_an_electrical_voltage\nwhich_is_proportional_to\nthe_intensity_of_daylight.=Provides an electrical voltage\nwhich is proportional to\nthe intensity of daylight. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricallightsensor/ElectricalLightSensorElement.java +eln:Light_level=Light level +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathContainer.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathDescriptor.java +eln:Applicable_boolean_operators\:=Applicable boolean operators: +eln:Applicable_functions\:=Applicable functions: +eln:Applicable_mathematical_operators\:=Applicable mathematical operators: +eln:Calculates_an_output_signal_from\n3_inputs_(A,_B,_C)_using_an_equation.=Calculates an output signal from\n3 inputs (A, B, C) using an equation. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathElement.java +eln:Equation=Equation +eln:Input_voltages=Input voltages +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathGui.java +eln:%s_Redstone(s)_required=%s Redstone(s) required +eln:Equation_required!=Equation required! +eln:Inputs_are=Inputs are +eln:Invalid_equation!=Invalid equation! +eln:Output_voltage_formula=Output voltage formula +eln:Waiting_for_completion...=Waiting for completion... +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalredstoneinput/ElectricalRedstoneInputDescriptor.java +eln:Converts_Redstone_signal\nto_an_electrical_voltage.=Converts Redstone signal\nto an electrical voltage. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalredstoneinput/ElectricalRedstoneInputElement.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalredstoneoutput/ElectricalRedstoneOutputDescriptor.java +eln:Converts_electrical_voltage\ninto_a_Redstone_signal.=Converts electrical voltage\ninto a Redstone signal. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalredstoneoutput/ElectricalRedstoneOutputElement.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalrelay/ElectricalRelayDescriptor.java +eln:A_relay_is_an_electrical\ncontact_that_conducts_electric\ncurrent_or_not,_depending\nthe_actual_input_signal_voltage.=A relay is an electrical\ncontact that conducts electric\ncurrent or not, depending\nthe actual input signal voltage. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalrelay/ElectricalRelayElement.java +eln:Default_position=Default position +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalrelay/ElectricalRelayGui.java +eln:Normally_closed=Normally closed +eln:Normally_open=Normally open +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalsensor/ElectricalSensorDescriptor.java +eln:Can_measure_Voltage_Power_Current=Can measure Voltage/Power/Current +eln:Measures_electrical_values_on_cables.=Measures electrical values on cables. +eln:Measures_voltage_on_cables.=Measures voltage on cables. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalsensor/ElectricalSensorElement.java +eln:Measured_current=Measured current +eln:Measured_power=Measured power +eln:Measured_voltage=Measured voltage +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalsensor/ElectricalSensorGui.java +eln:Measured_voltage\ncorresponding\nto_0%_output=Measured voltage\ncorresponding\nto 0% output +eln:Measured_voltage\ncorresponding\nto_100%_output=Measured voltage\ncorresponding\nto 100% output +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalsource/ElectricalSourceDescriptor.java +eln:Creative_block.=Creative block. +eln:Provides_an_ideal_voltage_source\nwithout_energy_or_power_limitation.=Provides an ideal voltage source\nwithout energy or power limitation. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalswitch/ElectricalSwitchDescriptor.java +eln:Can_break_an_electrical_circuit\ninterrupting_the_current.=Can break an electrical circuit\ninterrupting the current. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricaltimeout/ElectricalTimeoutDescriptor.java +eln:Upon_application_of_a_high_signal,\nthe_timer_maintains_the_output_high_for\na_configurable_interval._Can_be_re-triggered.=Upon application of a high signal,\nthe timer maintains the output high for\na configurable interval. Can be re-triggered. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricaltimeout/ElectricalTimeoutElement.java +eln:Output=Output +eln:Remaining=Remaining +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricaltimeout/ElectricalTimeoutGui.java +eln:Set=Set +eln:The_time_interval_the\noutput_is_kept_high.=The time interval the\noutput is kept high. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalvumeter/ElectricalVuMeterDescriptor.java +eln:Displays_the_value_of_a_signal.=Displays the value of a signal. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalweathersensor/ElectricalWeatherSensorDescriptor.java +eln:Clear\:_%sV=Clear: %sV +eln:Provides_an_electrical_signal\ndepending_the_actual_weather.=Provides an electrical signal\ndepending the actual weather. +eln:Rain\:_%sV=Rain: %sV +eln:Storm\:_%sV=Storm: %sV +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalwindsensor/ElectricalWindSensorDescriptor.java +eln:Maximum_wind_speed_is_%sm_s=Maximum wind speed is %sm/s +eln:Provides_an_electrical_signal\ndependant_on_wind_speed.=Provides an electrical signal\ndependant on wind speed. +eln:You_can't_place_this_block_on_the_floor_or_the_ceiling=You can't place this block on the floor or the ceiling +eln: +eln:# ./src/main/java/mods/eln/sixnode/energymeter/EnergyMeterElement.java +eln:Counter=Counter +eln:Energy_left=Energy left +eln:Mode=Mode +eln:Prepay=Prepay +eln: +eln:# ./src/main/java/mods/eln/sixnode/energymeter/EnergyMeterGui.java +eln:Change_password=Change password +eln:Counter_Mode=Counter Mode +eln:Counts_the_energy_conducted_from\n\u00a74red\u00a7f_to_\u00a71blue\u00a7f.=Counts the energy conducted from\n\u00a74red\u00a7f to \u00a71blue\u00a7f. +eln:Energy_counter\:_%sJ=Energy counter: %sJ +eln:Enter_new_energy=Enter new energy +eln:Enter_password=Enter password +eln:Prepay_Mode=Prepay Mode +eln:Reset_time_counter=Reset time counter +eln:Set_energy_counter=Set energy counter +eln:Time_counter\:=Time counter: +eln:Try_password=Try password +eln:You_can_set_an_initial\namount_of_available_energy.\nWhen_the_counter_arrives_at_0\nthe_contact_will_be_opened.=You can set an initial\namount of available energy.\nWhen the counter arrives at 0\nthe contact will be opened. +eln:is_off=is off +eln:is_on=is on +eln:value_in_kJ=value in kJ +eln: +eln:# ./src/main/java/mods/eln/sixnode/groundcable/GroundCableDescriptor.java +eln:Can_be_used_to_set_a_point_of_an\nelectrical_network_to_0V_potential.\nFor_example_to_ground_negative_battery_contacts.=Can be used to set a point of an\nelectrical network to 0V potential.\nFor example to ground negative battery contacts. +eln:Provides_a_zero_volt_reference.=Provides a zero volt reference. +eln: +eln:# ./src/main/java/mods/eln/sixnode/hub/HubDescriptor.java +eln:Allows_crossing_cables\non_one_single_block.=Allows crossing cables\non one single block. +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketDescriptor.java +eln:Angle\:_%s°_to_%s°=Angle: %s° to %s° +eln:Spot_range\:_%s_blocks=Spot range: %s blocks +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketElement.java +eln:Bulb=Bulb +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketGuiDraw.java +eln:Cable_slot_empty=Cable slot empty +eln:Orientation\:_%s°=Orientation: %s° +eln:Parallel=Parallel +eln:Serial=Serial +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyContainer.java +eln:Electrical_cable_slot\nBase_range_is_32_blocks.\nEach_additional_cable\nincreases_range_by_one.=Electrical cable slot\nBase range is 32 blocks.\nEach additional cable\nincreases range by one. +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyDescriptor.java +eln:Supplies_all_lamps_on_the_channel.=Supplies all lamps on the channel. +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyElement.java +eln:Total_power=Total power +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyGui.java +eln:Power_channel_name=Power channel name +eln:Wireless_channel_name=Wireless channel name +eln: +eln:# ./src/main/java/mods/eln/sixnode/modbusrtu/ModbusRtuElement.java +eln:Modbus_TCP=Modbus TCP +eln:Modbus_Unit_ID=Modbus Unit ID +eln:Modbus_is_disabled,_enable_it_in_Eln.cfg=Modbus is disabled, enable it in Eln.cfg +eln: +eln:# ./src/main/java/mods/eln/sixnode/modbusrtu/ModbusRtuGui.java +eln:Add=Add +eln:Channel_name=Channel name +eln:Modbus_ID=Modbus ID +eln:Modbus_RTU=Modbus RTU +eln:Station_ID=Station ID +eln:Station_name=Station name +eln:Wireless_RX=Wireless RX +eln:Wireless_TX=Wireless TX +eln: +eln:# ./src/main/java/mods/eln/sixnode/powercapacitorsix/PowerCapacitorSixContainer.java +eln:(Increases_maximum_voltage)=(Increases maximum voltage) +eln: +eln:# ./src/main/java/mods/eln/sixnode/powercapacitorsix/PowerCapacitorSixElement.java +eln:Capacity=Capacity +eln: +eln:# ./src/main/java/mods/eln/sixnode/powercapacitorsix/PowerCapacitorSixGui.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/powerinductorsix/PowerInductorSixContainer.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/powerinductorsix/PowerInductorSixElement.java +eln:Inductance=Inductance +eln: +eln:# ./src/main/java/mods/eln/sixnode/powerinductorsix/PowerInductorSixGui.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/powersocket/PowerSocketDescriptor.java +eln:Supplies_any_device\nplugged_in_with_energy.=Supplies any device\nplugged in with energy. +eln: +eln:# ./src/main/java/mods/eln/sixnode/powersocket/PowerSocketGui.java +eln:Specify_the_device_to_supply_through_this_socket.=Specify the device to supply through this socket. +eln: +eln:# ./src/main/java/mods/eln/sixnode/resistor/ResistorContainer.java +eln:(Sets_resistance)=(Sets resistance) +eln:Coal_dust_slot=Coal dust slot +eln: +eln:# ./src/main/java/mods/eln/sixnode/resistor/ResistorElement.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/thermalcable/ThermalCableDescriptor.java +eln:High_parallel_resistance\n_\=>_Low_power_dissipation.=High parallel resistance\n => Low power dissipation. +eln:Low_serial_resistance\n_\=>_High_conductivity.=Low serial resistance\n => High conductivity. +eln:Parallel_resistance\:_%sK_W=Parallel resistance: %sK/W +eln:Serial_resistance\:_%sK_W=Serial resistance: %sK/W +eln: +eln:# ./src/main/java/mods/eln/sixnode/thermalcable/ThermalCableElement.java +eln:Thermic_power=Thermic power +eln: +eln:# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorContainer.java +eln:Cable_slot=Cable slot +eln: +eln:# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorDescriptor.java +eln:Can_measure\:=Can measure: +eln:Measures_temperature_of_cables.=Measures temperature of cables. +eln:Measures_thermal_values_on_cables.=Measures thermal values on cables. +eln:__Temperature_Power_conducted=Temperature/Power conducted +eln: +eln:# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorElement.java +eln:Measured_temperature=Measured temperature +eln:Measured_thermal_power=Measured thermal power +eln: +eln:# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorGui.java +eln:Measured_temperature\ncorresponding\nto_0%_output=Measured temperature\ncorresponding\nto 0% output +eln:Measured_temperature\ncorresponding\nto_100%_output=Measured temperature\ncorresponding\nto 100% output +eln: +eln:# ./src/main/java/mods/eln/sixnode/tutorialsign/TutorialSignElement.java +eln:No_text_associated_to_this_beacon=No text associated to this beacon +eln: +eln:# ./src/main/java/mods/eln/sixnode/tutorialsign/TutorialSignGui.java +eln:Set_beacon_name=Set beacon name +eln: +eln:# ./src/main/java/mods/eln/sixnode/wirelesssignal/rx/WirelessSignalRxGui.java +eln: +eln:# ./src/main/java/mods/eln/transparentnode/FuelGenerator.kt +eln:Fuel_level=Fuel level +eln:Nominal_power\:_%s_W=Nominal power: %s W +eln:Nominal_voltage\:_%s_V=Nominal voltage: %s V +eln:Produces_electricity_using_gasoline.=Produces electricity using gasoline. +eln:State=State +eln: +eln:# ./src/main/java/mods/eln/transparentnode/FuelHeatFurnace.kt +eln:Actual\:_%s=Actual: %s +eln:Analog_regulator_slot=Analog regulator slot +eln:Control_value_at_%s=Control value at %s +eln:Fuel_burner_slot=Fuel burner slot +eln:Furnace_is_off=Furnace is off +eln:Furnace_is_on=Furnace is on +eln:Heat_Power\:_%s=Heat Power: %s +eln:Set_point\:_%s=Set point: %s +eln:__Max._temperature\:_= Max. temperature: +eln: +eln:# ./src/main/java/mods/eln/transparentnode/LargeRheostat.kt +eln:Nom._Resistance\:_%s=Nom. Resistance: %s +eln:Power_loss=Power loss +eln: +eln:# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerContainer.java +eln:Drill_slot=Drill slot +eln:Mining_pipe_slot=Mining pipe slot +eln:Ore_scanner_slot=Ore scanner slot +eln: +eln:# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerDescriptor.java +eln:Excavates_on_a_small_radius.\nExtracts_ore_on_a_bigger_radius\:\n10_blocks_radius_after_10_blocks_depth.=Excavates on a small radius.\nExtracts ore on a bigger radius:\n10 blocks radius after 10 blocks depth. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerElement.java +eln:Depth=Depth +eln:Silk_touch=Silk touch +eln: +eln:# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerGuiDraw.java +eln:Chest_missing_on_the\nback_of_the_auto_miner!=Chest missing on the\nback of the auto miner! +eln:Halves_speed,_triples_power_draw=Halves speed, triples power draw +eln:Silk_Touch=Silk Touch +eln: +eln:# ./src/main/java/mods/eln/transparentnode/battery/BatteryContainer.java +eln:Overheating_protection=Overheating protection +eln:Overvoltage_protection=Overvoltage protection +eln: +eln:# ./src/main/java/mods/eln/transparentnode/battery/BatteryDescriptor.java +eln:Actual_charge\:_=Actual charge: +eln:Energy_capacity\:_=Energy capacity: +eln:Internal_resistance\:_=Internal resistance: +eln:Life_\:_=Life : +eln:Nominal_power\:_=Nominal power: +eln:Nominal_voltage\:_=Nominal voltage: +eln:_charged_at_=charged at +eln: +eln:# ./src/main/java/mods/eln/transparentnode/battery/BatteryGuiDraw.java +eln:Charged=Charged +eln:Discharge=Discharge +eln:Energy\:=Energy: +eln:Energy\:_%s=Energy: %s +eln:Life\:=Life: +eln:No_charge=No charge +eln:Power_in\:=Power in: +eln:Power_out\:=Power out: +eln: +eln:# ./src/main/java/mods/eln/transparentnode/eggincubator/EggIncubatorContainer.java +eln:Egg_slot=Egg slot +eln: +eln:# ./src/main/java/mods/eln/transparentnode/eggincubator/EggIncubatorElement.java +eln:Has_egg=Has egg +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalantennarx/ElectricalAntennaRxDescriptor.java +eln:Wireless_energy_receiver.=Wireless energy receiver. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalantennarx/ElectricalAntennaRxElement.java +eln:Effective_power=Effective power +eln:Power_received=Power received +eln:Receiving=Receiving +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalantennatx/ElectricalAntennaTxDescriptor.java +eln:Efficiency\:_%s_up_to_%s=Efficiency: %s up to %s +eln:Wireless_energy_transmitter.=Wireless energy transmitter. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalantennatx/ElectricalAntennaTxElement.java +eln:Efficiency=Efficiency +eln:Transmitting=Transmitting +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceContainer.java +eln:Heating_corp_slot=Heating corp slot +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceDescriptor.java +eln:Similar_to_a_vanilla_furnace,\nbut_heats_with_electricity.=Similar to a vanilla furnace,\nbut heats with electricity. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceElement.java +eln:Heating_element=Heating element +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceGuiDraw.java +eln:Auto_shutdown=Auto shutdown +eln:Manual_shutdown=Manual shutdown +eln:Set_point\:_%s°C=Set point: %s°C +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalmachine/ElectricalMachineDescriptor.java +eln:Cost=Cost +eln:Nominal_voltage\:_%1V$=Nominal voltage: %1V$ +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalmachine/ElectricalMachineElement.java +eln:Power_provided=Power provided +eln: +eln:# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceContainer.java +eln:Combustion_chamber_slot=Combustion chamber slot +eln:Fuel_slot=Fuel slot +eln: +eln:# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceElement.java +eln:Set_temperature=Set temperature +eln: +eln:# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceGuiDraw.java +eln:Control_gauge_at_%s=Control gauge at %s +eln:Decline_fuel=Decline fuel +eln:Take_fuel=Take fuel +eln: +eln:# ./src/main/java/mods/eln/transparentnode/powercapacitor/PowerCapacitorContainer.java +eln:(Increases_maximal_voltage)=(Increases maximal voltage) +eln: +eln:# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelContainer.java +eln:Solar_tracker_slot=Solar tracker slot +eln: +eln:# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelDescriptor.java +eln:Can_be_geared_towards_the_sun.=Can be geared towards the sun. +eln:Max._power\:_%sW=Max. power: %sW +eln:Max._voltage\:_%sV=Max. voltage: %sV +eln:Produces_power_from_solar_radiation.=Produces power from solar radiation. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelElement.java +eln:Panel_angle=Panel angle +eln:Producing_energy=Producing energy +eln:Sun_angle=Sun angle +eln: +eln:# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPannelGuiDraw.java +eln:It_is_night=It is night +eln:Solar_panel_angle\:_%s°=Solar panel angle: %s° +eln:Sun_angle\:_%s°=Sun angle: %s° +eln: +eln:# ./src/main/java/mods/eln/transparentnode/teleporter/TeleporterElement.java +eln:Destination=Destination +eln:Distance=Distance +eln:Required_energy=Required energy +eln: +eln:# ./src/main/java/mods/eln/transparentnode/teleporter/TeleporterGui.java +eln:Destination_transporter=Destination transporter +eln:Power_consumption\:=Power consumption: +eln:Power_consumption\:_%sW=Power consumption: %sW +eln:Required_energy\:_%sJ=Required energy: %sJ +eln:Start=Start +eln:Transporter_name=Transporter name +eln: +eln:# ./src/main/java/mods/eln/transparentnode/thermaldissipatoractive/ThermalDissipatorActiveDescriptor.java +eln:Fan_cooling_power\:_%sW=Fan cooling power: %sW +eln:Fan_power_consumption\:_%sW=Fan power consumption: %sW +eln:Fan_voltage\:_%sV=Fan voltage: %sV +eln: +eln:# ./src/main/java/mods/eln/transparentnode/thermaldissipatoractive/ThermalDissipatorActiveElement.java +eln: +eln:# ./src/main/java/mods/eln/transparentnode/transformer/TransformerContainer.java +eln:Casing_slot=Casing slot +eln: +eln:# ./src/main/java/mods/eln/transparentnode/transformer/TransformerDescriptor.java +eln:The_voltage_ratio_is_proportional\nto_the_cable_stacks_count_ratio.=The voltage ratio is proportional\nto the cable stacks count ratio. +eln:Transforms_an_input_voltage_to\nan_output_voltage.=Transforms an input voltage to\nan output voltage. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/transformer/TransformerElement.java +eln:Core_factor=Core factor +eln:Isolated=Isolated +eln:Ratio=Ratio +eln: +eln:# ./src/main/java/mods/eln/transparentnode/turbine/TurbineDescriptor.java +eln:Generates_electricity_using_heat.=Generates electricity using heat. +eln:Temperature_difference\:_%s°C=Temperature difference: %s°C +eln: +eln:# ./src/main/java/mods/eln/transparentnode/turbine/TurbineElement.java +eln:Nominal=Nominal +eln: +eln:# ./src/main/java/mods/eln/transparentnode/turret/TurretDescriptor.java +eln:CAUTION\:_Cables_can_get_quite_hot!=CAUTION: Cables can get quite hot! +eln:Laser_charge_power\:_%sW...%skW=Laser charge power: %sW...%skW +eln:Scans_for_entities_and_shoots_if_the\nentity_matches_the_configurable_filter_criteria.=Scans for entities and shoots if the\nentity matches the configurable filter criteria. +eln:Standby_power\:_%sW=Standby power: %sW +eln: +eln:# ./src/main/java/mods/eln/transparentnode/turret/TurretElement.java +eln:??=?? +eln:Charge_level=Charge level +eln:Shoot_=Shoot +eln:Shoot_everything=Shoot everything +eln:Shoot_nothing=Shoot nothing +eln:Target=Target +eln:animals=animals +eln:monsters=monsters +eln:players=players +eln: +eln:# ./src/main/java/mods/eln/transparentnode/turret/TurretGui.java +eln:Attack\:=Attack: +eln:Do_not_attack\:=Do not attack: +eln:Recharge_power\:=Recharge power: +eln: +eln:# ./src/main/java/mods/eln/transparentnode/waterturbine/WaterTurbineDescriptor.java +eln:Generates_energy_using_water_stream.=Generates energy using water stream. +eln:No_place_for_water_turbine!=No place for water turbine! +eln: +eln:# ./src/main/java/mods/eln/transparentnode/waterturbine/WaterTurbineElement.java +eln: +eln:# ./src/main/java/mods/eln/transparentnode/windturbine/WindTurbineDescriptor.java +eln:Front\:_%s=Front: %s +eln:Generates_energy_from_wind.=Generates energy from wind. +eln:Left_Right\:_%s=Left/Right: %s +eln:Up_Down\:_%s=Up/Down: %s +eln:Wind_area\:=Wind area: +eln: +eln:# ./src/main/java/mods/eln/wiki/Data.java +eln:Light=Light +eln:Machine=Machine +eln:Ore=Ore +eln:Portable=Portable +eln:Resource=Resource +eln:Signal=Signal +eln:Thermal=Thermal +eln:Upgrade=Upgrade +eln:Utilities=Utilities +eln:Wiring=Wiring +eln: +eln:# ./src/main/java/mods/eln/wiki/Default.java +eln:Previous=Previous +eln: +eln:# ./src/main/java/mods/eln/wiki/ItemDefault.java +eln:Can_be_used_to_craft\:=Can be used to craft: +eln:Cannot_be_crafted!=Cannot be crafted! +eln:Cost_%sJ=Cost %sJ +eln:Created_by\:=Created by: +eln:Is_not_a_crafting_material!=Is not a crafting material! +eln:Recipe\:=Recipe: +eln: +eln:# Appearing in multiple source files +eln:%s_is_not_in_range!=%s is not in range! +eln:(Increases_capacity)=(Increases capacity) +eln:(Increases_inductance)=(Increases inductance) +eln:Actual\:_%s°C=Actual: %s°C +eln:Battery_level=Battery level +eln:Biggest=Biggest +eln:Booster_slot=Booster slot +eln:Can_create\:=Can create: +eln:Capacity\:_%sF=Capacity: %sF +eln:Channel=Channel +eln:Charge=Charge +eln:Charge_power=Charge power +eln:Charge_power\:_%sW=Charge power: %sW +eln:Closed=Closed +eln:Connected=Connected +eln:Cooling_power\:_%sW=Cooling power: %sW +eln:Copper_cable_slot=Copper cable slot +eln:Current=Current +eln:Dielectric_slot=Dielectric slot +eln:Discharge_power\:_%sW=Discharge power: %sW +eln:Electrical_cable_slot=Electrical cable slot +eln:Energy=Energy +eln:Entity_filter_slot=Entity filter slot +eln:External_control=External control +eln:Ferromagnetic_core_slot=Ferromagnetic core slot +eln:Generated_power=Generated power +eln:Generates_heat_when_supplied_with_fuel.=Generates heat when supplied with fuel. +eln:Generating=Generating +eln:Has_a_signal_output.=Has a signal output. +eln:Inductance\:_%sH=Inductance: %sH +eln:Input=Input +eln:Input_voltage=Input voltage +eln:Internal_control=Internal control +eln:Internal_resistance\:_%s\u2126=Internal resistance: %s\u2126 +eln:Is_off=Is off +eln:Is_on=Is on +eln:Life=Life +eln:Max._temperature\:_%s°C=Max. temperature: %s°C +eln:Measured_value\ncorresponding\nto_0%_output=Measured value\ncorresponding\nto 0% output +eln:Measured_value\ncorresponding\nto_100%_output=Measured value\ncorresponding\nto 100% output +eln:No=No +eln:Nominal\:=Nominal: +eln:Nominal_power\:_%sW=Nominal power: %sW +eln:Nominal_usage\:=Nominal usage: +eln:Nominal_voltage\:_%sV=Nominal voltage: %sV +eln:None=None +eln:Not_connected=Not connected +eln:Not_enough_space_for_this_block=Not enough space for this block +eln:OFF=OFF +eln:ON=ON +eln:Off=Off +eln:On=On +eln:Open=Open +eln:Output_voltage=Output voltage +eln:Portable_battery_slot=Portable battery slot +eln:Position=Position +eln:Power=Power +eln:Power\:_%sW=Power: %sW +eln:Power_consumption=Power consumption +eln:Powered_by_Lamp_Supply=Powered by Lamp Supply +eln:Powered_by_cable=Powered by cable +eln:Produced_power=Produced power +eln:Range\:_%s_blocks=Range: %s blocks +eln:Redstone_slot=Redstone slot +eln:Redstone_value=Redstone value +eln:Regulator_slot=Regulator slot +eln:Reset=Reset +eln:Resistance=Resistance +eln:Resistance\:_%s\u2126=Resistance: %s\u2126 +eln:Smallest=Smallest +eln:Specify_the_channel=Specify the channel +eln:Specify_the_supply_channel=Specify the supply channel +eln:Stored_energy\:_%sJ_(%s)=Stored energy: %sJ (%s) +eln:Temperature=Temperature +eln:Temperature\:_%s°C=Temperature: %s°C +eln:Temperature_gauge=Temperature gauge +eln:Thermal_isolator_slot=Thermal isolator slot +eln:Thermal_power=Thermal power +eln:Toggle=Toggle +eln:Toggle_switch=Toggle switch +eln:Toggles_the_output_each_time\nan_emitter's_value_rises.\nUseful_to_allow_multiple_buttons\nto_control_the_same_light.=Toggles the output each time\nan emitter's value rises.\nUseful to allow multiple buttons\nto control the same light. +eln:Used_to_cool_down_turbines.=Used to cool down turbines. +eln:Uses_the_biggest\nvalue_on_the_channel.=Uses the biggest\nvalue on the channel. +eln:Uses_the_smallest\nvalue_on_the_channel.=Uses the smallest\nvalue on the channel. +eln:Validate=Validate +eln:Voltage=Voltage +eln:Voltage\:_%sV=Voltage: %sV +eln:Voltage_drop=Voltage drop +eln:Voltages=Voltages +eln:Yes=Yes +eln:You_can't_place_this_block_at_this_side=You can't place this block at this side +eln:_O\:_= O: diff --git a/src/main/resources/assets/eln/lang/es.lang b/src/main/resources/assets/eln/lang/es.lang index ab67bb06b..8e697750e 100644 --- a/src/main/resources/assets/eln/lang/es.lang +++ b/src/main/resources/assets/eln/lang/es.lang @@ -1,829 +1,829 @@ -# - -# ./src/main/java/mods/eln/Achievements.java -Electrical_Age_[WIP]=Edad eléctrica [WIP] -achievement.craft_50v_macerator=Crushing Novice -achievement.craft_50v_macerator.desc=Craftea un macerador de 50V -achievement.open_guide=Abrir la guía -achievement.open_guide.desc=Abrir la guía desde el escritorio - -# ./src/main/java/mods/eln/Eln.java -10A_Diode.name=10A Diodo -200V_Active_Thermal_Dissipator.name=200V Disipador térmico activo -200V_Battery_Charger.name=200V Cargador de batería -200V_Compressor.name=200V Compresor -200V_Condensator.name=200V Condensador -200V_Copper_Heating_Corp.name=200V Generador de calor de Cobre -200V_Economic_Light_Bulb.name=200V Bombilla económica -200V_Farming_Lamp.name=200V Lámpara agrícola -200V_Fuel_Generator.name=200V Fuel Generator -200V_Incandescent_Light_Bulb.name=200V Bombilla incandescente -200V_Iron_Heating_Corp.name=200V Generador de calor de Hierro -200V_LED_Bulb.name=200V LED Bulb -200V_Macerator.name=200V Macerador -200V_Magnetizer.name=200V Magnetizador -200V_Plate_Machine.name=200V Placa de la máquina -200V_Power_Socket.name=200V Toma de corriente -200V_Tungsten_Heating_Corp.name=200V Generador de calor de Tungsteno -200V_Turbine.name=200V Turbina -25A_Diode.name=25A Diodo -50V_Battery_Charger.name=50V Cargador de batería -50V_Carbon_Incandescent_Light_Bulb.name=50V Bombilla incandescente -50V_Compressor.name=50V Compresor -50V_Condensator.name=50V Condensador -50V_Copper_Heating_Corp.name=50V Generador de calor de Cobre -50V_Economic_Light_Bulb.name=50V Bombilla económica -50V_Egg_Incubator.name=50V Incubadora de huevo -50V_Farming_Lamp.name=50V Lámpara agrícola -50V_Fuel_Generator.name=50V Fuel Generator -50V_Incandescent_Light_Bulb.name=50V Bombilla incandescente -50V_Iron_Heating_Corp.name=50V Generador de calor de Hierro -50V_LED_Bulb.name=50V LED Bulb -50V_Macerator.name=50V Macerador -50V_Magnetizer.name=50V Magnetizador -50V_Plate_Machine.name=50V Lámina de máquina -50V_Power_Socket.name=50V Toma de corriente -50V_Tungsten_Heating_Corp.name=50V Generador de calor de Tungsteno -50V_Turbine.name=50V Turbina -800V_Defence_Turret.name=800V Defensa torreta -AND_Chip.name=AND Chip -Advanced_Chip.name=Chip avanzado -Advanced_Electrical_Motor.name=Motor de calor avanzado -Advanced_Energy_Meter.name=Medidor de energía avanzada -Advanced_Machine_Block.name=Bloque mecánico avanzado -Advanced_Magnet.name=Imán avanzado -AllMeter.name=Polímetro universal -Alloy_Dust.name=Polvo de aleación -Alloy_Ingot.name=Polvo de lingotes -Alloy_Plate.name=Polvo de lámina -Analog_Watch.name=Reloj analógico -Analog_vuMeter.name=Indicador analógico -Analogic_Regulator.name=Regulador analógico -Animal_Filter.name=Filtro de animales -Auto_Miner.name=Minador automático -Average_Electrical_Drill.name=Taladro eléctrico medio -Average_Ferromagnetic_Core.name=Núcleo Ferromagnético medio -Basic_Magnet.name=Imán básico -Black_Brush.name=Pincel negro -Blue_Brush.name=Pincel azul -Brown_Brush.name=Pincel marrón -Capacity_Oriented_Battery.name=Cargador de batería -Cheap_Chip.name=Chip malo -Cheap_Electrical_Drill.name=Martillo eléctrico malo -Cheap_Ferromagnetic_Core.name=Nucleo Ferromagnético malo -Cinnabar_Dust.name=Polvo de Cinabrio -Cinnabar_Ore.name=Mena de Cinabrio -Coal_Dust.name=Polvo de Carbón -Coal_Plate.name=Lámina de Carbón -Combustion_Chamber.name=Cámara de combustión -Copper_Cable.name=Cable de Cobre -Copper_Dust.name=Polvo de Cobre -Copper_Ingot.name=Lingote de Cobre -Copper_Ore.name=Mena de Cobre -Copper_Plate.name=Lámina de Cobre -Copper_Thermal_Cable.name=Cable térmico de Cobre -Cost_Oriented_Battery.name=Cargador de batería -Current_Oriented_Battery.name=Cargador de batería funcional -Cyan_Brush.name=Pincel cián -D_Flip_Flop_Chip.name=D Flip Flop Chip -Data_Logger.name=Datos registrados -Data_Logger_Print.name=Impresora -Dielectric.name=Dieléctrico -Digital_Watch.name=Reloj digital -Electrical_Anemometer_Sensor.name=Anemómetro eléctrico -Electrical_Breaker.name=Interruptor eléctrico -Electrical_Daylight_Sensor.name=Sensor de luz natural eléctrico -Electrical_Entity_Sensor.name=Sensor de entidades eléctrico -Electrical_Fire_Detector.name=Detector de fuego eléctrico -Electrical_Furnace.name=Horno eléctrico -Electrical_Light_Sensor.name=Sensor eléctrico de luz -Electrical_Motor.name=Motor eléctrico -Electrical_Probe.name=Sonda eléctrica -Electrical_Probe_Chip.name=Chip de sonda eléctrica -Electrical_Source.name=Fuente eléctrica -Electrical_Timer.name=Minutero eléctrico -Electrical_Weather_Sensor.name=Sensor del clima eléctrico -Electrical_age_wrench,\nCan_be_used_to_turn\nsmall_wall_blocks=Interruptor eléctrico,\nLo puedes usar para encender\npequeñas paredes de bloques -Energy_Meter.name=Medidor de energía -Experimental_Transporter.name=Transportador experimental -Fast_Electrical_Drill.name=Taladro rápido eléctrico -Ferrite_Ingot.name=Lingote de Ferrita -Flat_Lamp_Socket.name=Enchufe de lámpara plano -Fluorescent_Lamp_Socket.name=Enchufe de lámpara fluorescente -Generator.name=Generator -Gold_Dust.name=Polvo de Oro -Gold_Plate.name=Láminas de Oro -Gray_Brush.name=Pincel gris -Green_Brush.name=Pincel verde -Ground_Cable.name=Toma de tierra -High_Power_Receiver_Antenna.name=Antena receptora de alta potencia -High_Power_Transmitter_Antenna.name=Antena transmisora de alta potencia -High_Voltage_Cable.name=Cable de alto voltaje -High_Voltage_Relay.name=Relé de alto voltaje -High_Voltage_Switch.name=Interruptor de alto voltaje -Hub.name=Hub -Industrial_Data_Logger.name=Pantalla industrial de datos -Iron_Cable.name=Cable de Hierro -Iron_Dust.name=Polvo de Hierro -Iron_Plate.name=Lámina de Hierro -JK_Flip_Flop_Chip.name=JK Flip Flop Chip -LED_vuMeter.name=Indicador de volumen de LED -Lamp_Socket_A.name=Lámpara -Lamp_Socket_B_Projector.name=Portalámparas -Lamp_Supply.name=Suministro de lámpara -Large_Rheostat.name=Large Rheostat -Lead_Dust.name=Polvo de Plomo -Lead_Ingot.name=Lingote de Plomo -Lead_Ore.name=Mena de Plomo -Lead_Plate.name=Lámina de Plomo -Life_Oriented_Battery.name=Nivel de bateria -Light_Blue_Brush.name=Pincel de luz azul -Lime_Brush.name=Pincel lima -Long_Suspended_Lamp_Socket.name=Encufe de lámpara larga suspendida -Low_Power_Receiver_Antenna.name=Antena receptora de baja potencia -Low_Power_Transmitter_Antenna.name=Antena transmisora de baja potencia -Low_Voltage_Cable.name=Cable de baja tensión -Low_Voltage_Relay.name=Relé de baja tensión -Low_Voltage_Switch.name=Interruptor de baja tensión -Machine_Block.name=Bloque de la maquina -Machine_Booster.name=Mejora de maquina -Magenta_Brush.name=Pincel magenta -Medium_Power_Receiver_Antenna.name=Antena receptora de media potencia -Medium_Power_Transmitter_Antenna.name=Antena transmisora de media potencia -Medium_Voltage_Cable.name=Cable de medio voltaje -Medium_Voltage_Relay.name=Relé de medio voltaje -Medium_Voltage_Switch.name=Enchufe de medio voltaje -Mercury.name=Mercurio -Mining_Pipe.name=Tubo de la mineria -Modbus_RTU.name=Modbus RTU -Modern_Data_Logger.name=Pantalla mejorada -Monster_Filter.name=Filtro de mounstros -MultiMeter.name=Multímetro -NAND_Chip.name=NAND Chip -NOR_Chip.name=NOR Chip -NOT_Chip.name=NOT Chip -Nuclear_Alarm.name=Alarma nuclear -OR_Chip.name=OR Chip -On_OFF_Regulator_10_Percent.name=Encendido/Apagado regulador 10% -On_OFF_Regulator_1_Percent.name=Encendido/Apagado regulador 1% -Optimal_Ferromagnetic_Core.name=Núcleo ferromagnético óptimo -Orange_Brush.name=Pincel naranja -Ore_Scanner.name=Escaner de minerales -Oscillator_Chip.name=Oscillator Chip -Overheating_Protection.name=Protección contra sobrecalentamientos -Overvoltage_Protection.name=Protección contra sobrevoltaje -PAL_Chip.name=PAL Chip -Pink_Brush.name=Pincel rosa -Player_Filter.name=Filtro de jugador -Portable_Battery.name=Batería Portátil -Portable_Battery_Pack.name=Pack de baterías portátil -Portable_Condensator.name=Condensador portátil -Portable_Condensator_Pack.name=Pack de condensador portátil -Portable_Electrical_Axe.name=Hacha eléctrica portátil -Portable_Electrical_Mining_Drill.name=Taladro de minería eléctrico portátil -Power_Capacitor.name=Condensador de potencia -Power_Inductor.name=Inductor de potencia -Power_Resistor.name=Resistencia de potencia -Power_capacitor.name=Condensador de potencia -Power_inductor.name=Inductor de potencia -Purple_Brush.name=Pincel violeta -Red_Brush.name=Pincel rojo -Redstone-to-Voltage_Converter.name=Convertidor de Redstone a voltios -Rheostat.name=Reóstato -Robust_Lamp_Socket.name=Portalámparas robusto -Rubber.name=Caucho -Schmitt_Trigger_Chip.name=Schmitt Trigger Chip -Sconce_Lamp_Socket.name=Enchufe de candelabro de pared -Signal_20H_inductor.name=Inductor de señal de 20H -Signal_Antenna.name=Señal de Antena -Signal_Button.name=Señal de Botón -Signal_Cable.name=Señal de Cable -Signal_Diode.name=Señal de Diodo -Signal_Processor.name=Porcesador de señal -Signal_Relay.name=Señal de Relé -Signal_Source.name=Señal de Fuente -Signal_Switch.name=Señal de Encendido -Signal_Switch_with_LED.name=Señal de encendido con LED -Signal_Trimmer.name=Señal de recorte -Silicon_Dust.name=Polvo de Silicio -Silicon_Ingot.name=Lingote de Silicio -Silicon_Plate.name=Lámina de Silicio -Silver_Brush.name=Pincel de Plata -Simple_Lamp_Socket.name=Lámpara simple -Single-use_Battery.name=Batería de un solo uso -Small_200V_Copper_Heating_Corp.name=Calefactor pequeño de Cobre de 200V -Small_200V_Iron_Heating_Corp.name=Calefactor pequeño de Hierro de 200V -Small_200V_Tungsten_Heating_Corp.name=Calefactor pequeño de Tungsteno de 200V -Small_50V_Carbon_Incandescent_Light_Bulb.name=Bulbo de luz incandescente de Carbón pequeño de 50V -Small_50V_Copper_Heating_Corp.name=Calefactor de Cobre pequeño de 50V -Small_50V_Economic_Light_Bulb.name=Bulbo de luz económica pequeño de 50V -Small_50V_Incandescent_Light_Bulb.name=Bulbo de luz incandescente pequeño de 50V -Small_50V_Iron_Heating_Corp.name=Calefactor pequeño de Hierro de 50V -Small_50V_Tungsten_Heating_Corp.name=Calefactor pequeño de Tungsteno 50V -Small_Active_Thermal_Dissipator.name=Disipador pequeño térmico activo -Small_Flashlight.name=Linterna pequeña -Small_Passive_Thermal_Dissipator.name=Disipador pequeño térmico -Small_Rotating_Solar_Panel.name=Panel solar pequeño rotatorio -Small_Solar_Panel.name=Panel solar pequeño -Solar_Tracker.name=Rastreadora solar -Standard_Alarm.name=Alarma estándar -Steam_Turbine.name=Steam Turbine -Stone_Heat_Furnace.name=Horno de calor de Piedra -Street_Light.name=Luz de calle -Suspended_Lamp_Socket.name=Lampara aérea -Temperature_Probe.name=Sonda de temperatura -Thermal_Probe.name=Sonda térmica -Thermal_Probe_Chip.name=Chip de sonda Térmica -Thermistor.name=Termistor -ThermoMeter.name=Termómetro -Transformer.name=Transformador -Tree_Resin.name=Resina -Tree_Resin_Collector.name=Colector de Resina -Tungsten_Cable.name=Cable de Tungsteno -Tungsten_Dust.name=Polvo de Tungsteno -Tungsten_Ingot.name=Lingote de Tungsteno -Tungsten_Ore.name=Mena de Tungsteno -Tutorial_Sign.name=Señal tutorial -Very_High_Voltage_Cable.name=Cable de muy alta tensión -Very_High_Voltage_Relay.name=Relé de muy alta tensión -Very_High_Voltage_Switch.name=Enchufe de muy alta tensión -Voltage-to-Redstone_Converter.name=Convertidor de Redstone a voltios -Voltage_Oriented_Battery.name=Batería de voltios -Voltage_Probe.name=Sonda de voltaje -Water_Turbine.name=Turbina de agua -Weak_50V_Battery_Charger.name=Cargador de batería débil de 50V -White_Brush.name=Pincel blanco -Wind_Turbine.name=Turbina de viento -Wireless_Analyser.name=Analizador inalámbrico -Wireless_Button.name=Boton inalámbrico -Wireless_Signal_Receiver.name=Receptor de señal inalámbrico -Wireless_Signal_Repeater.name=Repetidor de señal inalámbrico -Wireless_Signal_Transmitter.name=Transmisor de señal inalámbrico -Wireless_Switch.name=Interruptor inalámbrico -Wrench.name=Llave inglesa -X-Ray_Scanner.name=Escaner de Rayos X -XNOR_Chip.name=XNOR Chip -XOR_Chip.name=XOR Chip -Yellow_Brush.name=Pincel amarillo -entity.EAReplicator.name=Replicador -item.Copper Axe.name\=Hacha de Cobre -item.Copper Axe.name\=Hacha de Cobre -item.Copper Axe.name\=Hacha de Cobre -item.Copper Axe.name\=Hacha de Cobre -item.Copper Axe.name\=Hacha de Cobre -item.Copper Axe.name\=Hacha de Cobre -item.Copper Axe.name\=Hacha de Cobre -item.Copper Axe.name\=Hacha de Cobre -item.Copper Axe.name\=Hacha de Cobre -item.E-Coal Boots.name\=Botas de Carbón -item.E-Coal Boots.name\=Botas de Carbón -item.E-Coal Boots.name\=Botas de Carbón -item.E-Coal Boots.name\=Botas de Carbón -itemGroup.Eln=Edad eléctrica -mod.meta.desc=Electricidad en tu base\! -tile.eln.ElnProbe.name=Sonda ordenador Eln -tile.eln.EnergyConverterElnToOtherHVUBlock.name=800V Edad eléctrica a otro exportador de energía -tile.eln.EnergyConverterElnToOtherLVUBlock.name=50V Edad eléctrica a otro exportador de energía -tile.eln.EnergyConverterElnToOtherMVUBlock.name=200V Edad eléctrica a otro exportador de energía - -# ./src/main/java/mods/eln/i18n/I18N.java -You_have_%s_lives_left=Te queda el %s de vida - -# ./src/main/java/mods/eln/item/BrushDescriptor.java -Brush_is_dry=El cepillo está seca -Can_paint_%s_blocks=Puedes pintar %s bloques - -# ./src/main/java/mods/eln/item/CombustionChamber.java -Upgrade_for_the_Stone_Heat_Furnace.=Mejora para el horno de calor de piedra. - -# ./src/main/java/mods/eln/item/ElectricalDrillDescriptor.java -Energy_per_operation\:_%sJ=Energía por operación\: %sJ -Time_per_operation\:_%ss=Tiempo por operación\: %ss - -# ./src/main/java/mods/eln/item/FerromagneticCoreDescriptor.java -Cable_loss_factor\:_%s=Factor de pérdida del cable\: %s - -# ./src/main/java/mods/eln/item/HeatingCorpElement.java - -# ./src/main/java/mods/eln/item/LampDescriptor.java -Bad=Malo -Condition\:=Condición\: -End_of_life=Fin de la vida -Good=Bueno -New=Nuevo -Nominal_lifetime\:_%sh=Vida útil nominal\: %sh -Technology\:_%s=Tecnología\: %s -Used=Uso - -# ./src/main/java/mods/eln/item/LampSlot.java -Lamp_slot=Ranura de lámpara - -# ./src/main/java/mods/eln/item/OverHeatingProtectionDescriptor.java -Useful_to_prevent_overheating\nof_Batteries=Útil para prevenir sobrecalentamiento\nde las baterías - -# ./src/main/java/mods/eln/item/OverVoltageProtectionDescriptor.java -Useful_to_prevent_over-voltage\nof_Batteries=Útil para prevenir sobrecarga\nde las baterías - -# ./src/main/java/mods/eln/item/SolarTrackerDescriptor.java -Solar_panel_upgrade=Mejora del panel solar - -# ./src/main/java/mods/eln/item/electricalitem/BatteryItem.java - -# ./src/main/java/mods/eln/item/electricalitem/ElectricalLampItem.java -Off=Apagado -On=Encendido -State\:=Estado\: -Stored_Energy\:_%sJ_(%s)=Energía almacenada\: %sJ (%s) - -# ./src/main/java/mods/eln/item/regulator/RegulatorSlot.java - -# ./src/main/java/mods/eln/misc/UtilsClient.java -Hold_shift=Aguantar shift - -# ./src/main/java/mods/eln/misc/Version.java -mod.name=Edad eléctrica - -# ./src/main/java/mods/eln/node/six/SixNodeDescriptor.java - -# ./src/main/java/mods/eln/simplenode/energyconverter/EnergyConverterElnToOtherGui.java -Input_power_is_limited_to_%sW=La entrada de poder está limitada a %sW - -# ./src/main/java/mods/eln/sixnode/LogicGate.kt -_O\:_= O\: - -# ./src/main/java/mods/eln/sixnode/TreeResinCollector/TreeResinCollectorDescriptor.java -Produces_Tree_Resin_over\ntime_when_put_on_a_tree.=Produce resina de árbol sobre\ntiempo cuando está colocado en un árbol. -This_block_can_only_be_placed_on_the_side_of_a_tree!=This block can only be placed on the side of a tree\! - -# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerContainer.java -Battery_slot=Espacio de batería - -# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerDescriptor.java -Can_be_used_to_recharge\nelectrical_items_like\:\nFlash_Light,_X-Ray_scanner\nand_Portable_Battery_...=Puede ser usado para recargar\nartículos eléctricos con\:\nflash de luz, escáner de rayos X \\ y batería portátil - -# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerGui.java - -# ./src/main/java/mods/eln/sixnode/diode/DiodeDescriptor.java -Electrical_current_can_only\nflow_through_the_diode\nfrom_anode_to_cathode=La corriente eléctrica sólo puede\nfluir a través del diodo\ndesde el anodo al catodo. - -# ./src/main/java/mods/eln/sixnode/electricalalarm/ElectricalAlarmDescriptor.java -= -Emits_an_acoustic_alarm_if\nthe_input_signal_is_high=Emite una alarma acústica\nla señal de entrada es alta. - -# ./src/main/java/mods/eln/sixnode/electricalalarm/ElectricalAlarmGui.java -Sound_is_muted=Sonido silenciado. -Sound_is_not_muted=Sonido dessilenciado. - -# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerContainer.java - -# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerDescriptor.java -Protects_electrical_components\nOpens_contact_if\:\n__-_Voltage_exceeds_a_certain_level\n-_Current_exceeds_the_cable_limit=Componentes de protección eléctrica\nabren contactos si\:\n -\n- la corriente excede el límite del cable. - -# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerGui.java -Maximum_voltage_before_cutting_off=Tensión máxima antes de cortar -Minimum_voltage_before_cutting_off=Tensión mínima antes de cortar -Switch_is_off=El interruptor está desactivado. -Switch_is_on=El interruptor está activado - -# ./src/main/java/mods/eln/sixnode/electricalcable/ElectricalCableDescriptor.java -A_signal_is_electrical_information\nwhich_must_be_between_0V_and_%sV=Una señal es la información eléctrica\nque debe ser entre 0V y %sV -Cable_is_adapted_to_conduct\nelectrical_signals.=El cable está adaptado para conducir\nseñales eléctricas. -Current\:_%sA=Corriente\: %sA -Not_adapted_to_transport_power.=No adaptado para el transporte de energía. -Save_usage\:=Guardar el uso\: -Serial_resistance\:_%sΩ=La resistencia en serie\: %sΩ - -# ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerDescriptor.java -It_can_store_up_to_256_points.=Es capaz de almacenar hasta 256 puntos -Measures_the_voltage_of_an\nelectrical_signal_and_plots\nthe_data_in_real_time.=Mide la tensión de una\nseñal eléctrica y parcelas\nlos datos en tiempo real. - -# ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerGui.java -Back_to_display=Volver a mostrar -Configuration=Configuración -Current_[A]=Corriente [A] -Energy_[J]=Energía [J] -Percent_[-]%=Porciento [-]% -Power_[W]=Potencia [W] -Print=Impresión -Sampling_period=Periodo de muestra -Temp._[*C]=Temp. [*C] -Voltage_[V]=Voltaje [V] -Y-axis_max=Y-eje máximo -Y-axis_min=Y-eje mínimo - -# ./src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorContainer.java - -# ./src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorDescriptor.java -Output_voltage_increases\nif_entities_are_moving_around.=Aumenta la tensión de salida\nsi las entidades están moviendo. - -# ./src/main/java/mods/eln/sixnode/electricalfiredetector/ElectricalFireDetectorDescriptor.java -Output_voltage_increases\nif_a_fire_has_been_detected.=Aumenta la tensión de salida\nsi se ha detectado un incendio. - -# ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceDescriptor.java -Provides_configurable_signal\nvoltage.=Proporciona señal configurable\nvoltaje. - -# ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceGui.java -Output_at_%s=La producción en %s - -# ./src/main/java/mods/eln/sixnode/electricallightsensor/ElectricalLightSensorDescriptor.java -0V_at_night,_%sV_at_noon.=0V a la noche, %sV al mediodía. -Provides_an_electrical_voltage\nin_the_presence_of_light.=Proporciona una tensión eléctrica\nen presencia de la luz. -Provides_an_electrical_voltage\nwhich_is_proportional_to\nthe_intensity_of_daylight.=Proporciona una tensión eléctrica\nque es proporcional a\nla intensidad de la luz del día. - -# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathContainer.java - -# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathDescriptor.java -Applicable_boolean_operators\:=Operadores booleanos aplicables\: -Applicable_functions\:=Funciones aplicables\: -Applicable_mathematical_operators\:=Operadores matemáticos aplicables\: -Calculates_an_output_signal_from\n3_inputs_(A,_B,_C)_using_an_equation.=Calcula una señal de salida\nde 3 entradas (A, B, C) utilizando una ecuación. - -# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathGui.java -%s_Redstone(s)_required=%s Redstone(s) requerida -Equation_required!=Ecuación requerida\! -Inputs_are=Las entradas son -Invalid_equation!=Ecuación inválida\! -Output_voltage_formula=Fórmula de tensión de salida -Waiting_for_completion...=A la espera de la finalización... - -# ./src/main/java/mods/eln/sixnode/electricalredstoneinput/ElectricalRedstoneInputDescriptor.java -Converts_Redstone_signal\nto_an_electrical_voltage.=Convierte la señal de Redstone\na una tensión eléctrica. - -# ./src/main/java/mods/eln/sixnode/electricalredstoneoutput/ElectricalRedstoneOutputDescriptor.java -Converts_electrical_voltage\ninto_a_Redstone_signal.=Convierte la tensión eléctrica\nen una señal de Redstone. - -# ./src/main/java/mods/eln/sixnode/electricalrelay/ElectricalRelayDescriptor.java -A_relay_is_an_electrical\ncontact_that_conducts_electric\ncurrent_or_not,_depending\nthe_actual_input_signal_voltage.=Un relé es un \ncontacto que conduce electricidad\nactualmente o no, dependiendo\ndel voltaje de la señal de entrada real. - -# ./src/main/java/mods/eln/sixnode/electricalrelay/ElectricalRelayGui.java -Normally_closed=Normalmente cerrado -Normally_open=Normalmente abierto - -# ./src/main/java/mods/eln/sixnode/electricalsource/ElectricalSourceDescriptor.java -Creative_block.=Bloque creativo. -Provides_an_ideal_voltage_source\nwithout_energy_or_power_limitation.=Proporciona una fuente ideal de voltaje\nsin energía y sin limitación de potencia. - -# ./src/main/java/mods/eln/sixnode/electricalsource/ElectricalSourceGui.java -Output_voltage=Tensión de salida - -# ./src/main/java/mods/eln/sixnode/electricalswitch/ElectricalSwitchDescriptor.java -Can_break_an_electrical_circuit\ninterrupting_the_current.=Puede romper un circuito eléctrico\ninterrumpiendo la corriente. - -# ./src/main/java/mods/eln/sixnode/electricaltimeout/ElectricalTimeoutDescriptor.java -Upon_application_of_a_high_signal,\nthe_timer_maintains_the_output_high_for\na_configurable_interval._Can_be_re-triggered.=Tras la aplicación de una señal de alto,\nel temporizador mantiene el alto rendimiento de\nun intervalo configurable. Puede ser re-activado. - -# ./src/main/java/mods/eln/sixnode/electricaltimeout/ElectricalTimeoutGui.java -Set=Set -The_time_interval_the\noutput_is_kept_high.=En el intervalo de tiempo,\nla salida se mantiene alta. - -# ./src/main/java/mods/eln/sixnode/electricalvumeter/ElectricalVuMeterDescriptor.java -Displays_the_value_of_a_signal.=Muestra el valor de una señal. - -# ./src/main/java/mods/eln/sixnode/electricalwatch/ElectricalWatchContainer.java -Portable_battery_slot=Ranura de la batería portátil - -# ./src/main/java/mods/eln/sixnode/electricalweathersensor/ElectricalWeatherSensorDescriptor.java -Clear\:_%sV=Clear\: %sV -Provides_an_electrical_signal\ndepending_the_actual_weather.=Proporciona una señal eléctrica\nen función del tiempo real. -Rain\:_%sV=Rain\: %sV -Storm\:_%sV=Storm\: %sV - -# ./src/main/java/mods/eln/sixnode/electricalwindsensor/ElectricalWindSensorDescriptor.java -Maximum_wind_speed_is_%sm_s=Velocidad máxima del viento es %sm/s -Provides_an_electrical_signal\ndependant_on_wind_speed.=Proporciona una señal eléctrica\nque depende de la velocidad del viento. -You_can't_place_this_block_on_the_floor_or_the_ceiling=You can't place this block on the floor or the ceiling - -# ./src/main/java/mods/eln/sixnode/electricasensor/ElectricalSensorDescriptor.java -Can_measure_Voltage_Power_Current=Puede medir tensión / potencia / corriente -Measures_electrical_values_on_cables.=Mide valores eléctricos en los cables. -Measures_voltage_on_cables.=Mide la tensión en los cables. - -# ./src/main/java/mods/eln/sixnode/electricasensor/ElectricalSensorGui.java -Current=Current -Measured_voltage\ncorresponding\nto_0%_output=Tensión medida\ncorrespondiente\na la salida de 0%. -Measured_voltage\ncorresponding\nto_100%_output=Tensión medida\ncorrespondiente\na la salida 100%. -Voltage=Voltaje - -# ./src/main/java/mods/eln/sixnode/energymeter/EnergyMeterGui.java -Change_password=Cambiar contraseña -Counter_Mode=Modo de contador -Counts_the_energy_conducted_from\n\u00a74red\u00a7f_to_\u00a71blue\u00a7f.=Que cuenta la energía conducida desde\n\\u00a74rojo\\u00a7f a \\u00a71azul\\u00a7f. -Energy_counter\:_%sJ=Contador de energía\: %sJ -Enter_new_energy=Introducir nueva energía -Enter_password=Escribir contraseña -Prepay_Mode=Modo prepago -Reset_time_counter=Contador de tiempo de reposición -Set_energy_counter=Establecer contador de energía -Time_counter\:=Contador de tiempo\: -Try_password=Probar contraseña -You_can_set_an_initial\namount_of_available_energy.\nWhen_the_counter_arrives_at_0\nthe_contact_will_be_opened.=Se puede establecer una primera\ncantidad de energía disponible.\nCuando el contador llega a 0\nse abre el contacto. -is_off=Está apagado. -is_on=Está encendido. -value_in_kJ=Valor en kJ - -# ./src/main/java/mods/eln/sixnode/groundcable/GroundCableDescriptor.java -Can_be_used_to_set_a_point_of_an\nelectrical_network_to_0V_potential.\nFor_example_to_ground_negative_battery_contacts.=Puede ser utilizado para establecer un punto \nde una la red eléctrica al potencial de 0V.\nPor ejemplo para conectar a tierra los contactos negativos de la batería. -Provides_a_zero_volt_reference.=Proporciona una referencia de cero voltios. - -# ./src/main/java/mods/eln/sixnode/hub/HubDescriptor.java -Allows_crossing_cables\non_one_single_block.=Permite cables de cruce\nen un solo bloque. - -# ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketDescriptor.java -Angle\:_%s°_to_%s°=Ángulo\: %s° to %s° -Spot_range\:_%s_blocks=Rango de la localización\: %s bloques - -# ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketGuiDraw.java -%s_is_not_in_range!=%s is not in range\! -Cable_slot_empty=Cable con espacio vacío -Orientation\:_%s°=Orientación\: %s° -Parallel=Paralelo -Powered_by_Lamp_Supply=Encendido con lámpara -Powered_by_cable=Encendido con cable -Serial=Serial -Specify_the_supply_channel=Específico para un canal secundario - -# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyContainer.java -Electrical_cable_slot\nBase_range_is_32_blocks.\nEach_additional_cable\nincreases_range_by_one.=Una ranura del cable electrico.\nTiene una base de 32 bloques.\nCada cable adicional\nincrementa la base por uno. - -# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyDescriptor.java -Supplies_all_lamps_on_the_channel.=Suministra todas las lámparas en el canal. - -# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyGui.java -Power_channel_name=Nombre del canal de alimentación -Wireless_channel_name=Nombre del canal inalámbrico - -# ./src/main/java/mods/eln/sixnode/modbusrtu/ModbusRtuGui.java -Add=Añadir -Channel_name=Nobre del canal -Modbus_ID=Modbus ID -Modbus_RTU=Modbus RTU -Station_ID=ID de estación -Station_name=Nombre de estación. -Wireless_RX=Wireless RX -Wireless_TX=Wireless TX - -# ./src/main/java/mods/eln/sixnode/powercapacitorsix/PowerCapacitorSixContainer.java -(Increases_maximum_voltage)=(Aumenta la tensión máxima) - -# ./src/main/java/mods/eln/sixnode/powercapacitorsix/PowerCapacitorSixGui.java - -# ./src/main/java/mods/eln/sixnode/powerinductorsix/PowerInductorSixContainer.java - -# ./src/main/java/mods/eln/sixnode/powerinductorsix/PowerInductorSixGui.java - -# ./src/main/java/mods/eln/sixnode/powersocket/PowerSocketDescriptor.java -Supplies_any_device\nplugged_in_with_energy.=Suministra cualquier dispositivo\nenchufado con la energía. - -# ./src/main/java/mods/eln/sixnode/powersocket/PowerSocketGui.java -Specify_the_device_to_supply_through_this_socket.=Especifique el dispositivo para el suministro a través de esta toma. - -# ./src/main/java/mods/eln/sixnode/resistor/ResistorContainer.java -(Sets_resistance)=(Sets resistance) -Coal_dust_slot=Coal dust slot - -# ./src/main/java/mods/eln/sixnode/thermalcable/ThermalCableDescriptor.java -High_parallel_resistance\n_\=>_Low_power_dissipation.=Resistencia paralela alta\n \=> Bajo poder disipación. -Low_serial_resistance\n_\=>_High_conductivity.=Baja resistencia de serie\n\=> Alta conductividad. -Parallel_resistance\:_%sK_W=Resistencia paralela\: %sK/W -Serial_resistance\:_%sK_W=Resistencia de serie\: %sK/W - -# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorContainer.java -Cable_slot=Ranura para cable - -# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorDescriptor.java -Can_measure\:=Puede medir\: -Measures_temperature_of_cables.=Medidas de temperatura de cables. -Measures_thermal_values_on_cables.=Medidas de valores térmicos en los cables. -__Temperature_Power_conducted=Temperatura / Energía llevado a cabo - -# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorGui.java -Measured_temperature\ncorresponding\nto_0%_output=Temperatura medida\ncorrespondiente\na la salida 0% -Measured_temperature\ncorresponding\nto_100%_output=Temperatura medida\ncorrespondiente\na la salida 100% -Temperature=Temperatura - -# ./src/main/java/mods/eln/sixnode/tutorialsign/TutorialSignElement.java -No_text_associated_to_this_beacon=No hay texto asociado a este beacon - -# ./src/main/java/mods/eln/sixnode/tutorialsign/TutorialSignGui.java -Set_beacon_name=Nombre del conjunto de beacon - -# ./src/main/java/mods/eln/sixnode/wirelesssignal/rx/WirelessSignalRxGui.java - -# ./src/main/java/mods/eln/transparentnode/FuelGenerator.kt -Nominal_power\:_%s_W=Nominal power\: %s W -Nominal_voltage\:_%s_V=Nominal voltage\: %s V -Produces_electricity_using_fuel.=Produce electricidad usando combustible. - -# ./src/main/java/mods/eln/transparentnode/LargeRheostat.kt -Nom._Resistance\:_%s=Nom. Resistance\: %s - -# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerContainer.java -Drill_slot=Ranura del taladro -Mining_pipe_slot=Ranura de tubería de minería -Ore_scanner_slot=Ranura de escáner de mineral - -# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerDescriptor.java -Excavates_on_a_small_radius.\nExtracts_ore_on_a_bigger_radius\:\n10_blocks_radius_after_10_blocks_depth.=Excavates on a small radius.\nExtracts ore on a bigger radius\:\n10 blocks radius after 10 blocks depth. - -# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerGuiDraw.java -Chest_missing_on_the\nback_of_the_auto_miner!=Chest missing on the\nback of the auto miner\! -Halves_speed,_triples_power_draw=Halves speed, triples power draw -Silk_Touch_Off=Silk Touch Off -Silk_Touch_On=Silk Touch On -Silk_touch=Silk touch - -# ./src/main/java/mods/eln/transparentnode/battery/BatteryContainer.java -Overheating_protection=Overheating protection -Overvoltage_protection=Overvoltage protection - -# ./src/main/java/mods/eln/transparentnode/battery/BatteryDescriptor.java -Actual_charge\:_%s=Carga actual\: %s -Energy_capacity\:_%sJ=Capacidad de energía\: %sJ -_charged_at_%s=Cargado hasta %s - -# ./src/main/java/mods/eln/transparentnode/battery/BatteryGuiDraw.java -Charge=Carga -Charged=Cargado -Discharge=Descargado -Energy\:=Energía\: -Energy\:_%s=Energía\: %s -Life\:=Vida\: -No_charge=Sin carga -Power_in\:=Potencia dentro\: -Power_out\:=Potencia fuera\: - -# ./src/main/java/mods/eln/transparentnode/eggincubator/EggIncubatorContainer.java -Egg_slot=Ranura del huevo - -# ./src/main/java/mods/eln/transparentnode/electricalantennarx/ElectricalAntennaRxDescriptor.java -Wireless_energy_receiver.=Receptor de energía inalámbrica. - -# ./src/main/java/mods/eln/transparentnode/electricalantennatx/ElectricalAntennaTxDescriptor.java -Efficiency\:_%s_up_to_%s=Eficiencia\: %s hasta %s -Wireless_energy_transmitter.=Transmisor de energía inalámbrica. - -# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceContainer.java -Heating_corp_slot=Ranura de calefacción - -# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceDescriptor.java -Similar_to_a_vanilla_furnace,\nbut_heats_with_electricity.=Similar a un horno\npero calienta con electricidad. - -# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceGuiDraw.java -Auto_shutdown=Apagado automático -Manual_shutdown=Cierre manual -Set_point\:_%s°C=Punto fijo\: %s°C - -# ./src/main/java/mods/eln/transparentnode/electricalmachine/ElectricalMachineDescriptor.java -Cost=Coste - -# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceContainer.java -Combustion_chamber_slot=Ranura cámara de combustión -Fuel_slot=Ranura de combustible - -# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceDescriptor.java -Generates_heat_when_supplied_with_fuel.=Genera calor como fuente de combustible. - -# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceGuiDraw.java -Control_gauge_at_%s=Control de medida a %s -Decline_fuel=Eliminar combustible -External_control=Control externo -Internal_control=Control interno -Take_fuel=Coger combustible - -# ./src/main/java/mods/eln/transparentnode/powercapacitor/PowerCapacitorContainer.java -(Increases_maximal_voltage)=(Tensión máxima aumentada) - -# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelContainer.java -Solar_tracker_slot=Ranura del rastreador solar - -# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelDescriptor.java -Can_be_geared_towards_the_sun.=Puede ser orientada hacia el sol. -Max._power\:_%sW=Potencia máxima\: %sW -Max._voltage\:_%sV=Voltaje máximo\: %sV -Produces_power_from_solar_radiation.=Produce energía de la radiación solar. - -# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPannelGuiDraw.java -It_is_night=Es de noche -Solar_panel_angle\:_%s°=Angulo del panel solar\: %s° -Sun_angle\:_%s°=El ángulo del sol\: %s° - -# ./src/main/java/mods/eln/transparentnode/teleporter/TeleporterGui.java -Destination_transporter=Destino transportador -Power_consumption\:=Consumo de energía\: -Power_consumption\:_%sW=Consumo de energía\: %sW -Required_energy\:_%sJ=Requiere energía\: %sJ -Start=Comenzar -Transporter_name=Nombre del transportador - -# ./src/main/java/mods/eln/transparentnode/thermaldissipatoractive/ThermalDissipatorActiveDescriptor.java -Fan_cooling_power\:_%sW=Potencia del ventilador de refrigeración\: %sW -Fan_power_consumption\:_%sW=Consumo de energía del ventilador\: %sW -Fan_voltage\:_%sV=Voltaje del ventilador\: %sV - -# ./src/main/java/mods/eln/transparentnode/transformer/TransformerDescriptor.java -The_voltage_ratio_is_proportional\nto_the_cable_stacks_count_ratio.=La relación de voltaje es proporcional\nal cable. -Transforms_an_input_voltage_to\nan_output_voltage.=Transforma una tensión de entrada de\nuna tensión de salida. - -# ./src/main/java/mods/eln/transparentnode/turbine/TurbineDescriptor.java -Generates_electricity_using_heat.=Genera electricidad por la temperatura. -Temperature_difference\:_%s°C=Temperaturas diferentes\: %s°C - -# ./src/main/java/mods/eln/transparentnode/turret/TurretDescriptor.java -CAUTION\:_Cables_can_get_quite_hot!=Precaución\: Los cables pueden llegar a estar muy calientes\! -Laser_charge_power\:_%sW...%skW=Laser cargado\: %sW...%skW -Scans_for_entities_and_shoots_if_the\nentity_matches_the_configurable_filter_criteria.=Analiza en busca de las entidades y los brotes de la\nentidad que coincide con los criterios del filtro configurables. -Standby_power\:_%sW=Energía de reserva\: %sW - -# ./src/main/java/mods/eln/transparentnode/turret/TurretGui.java -Attack\:=Atacar\: -Do_not_attack\:=No atacar\: -Recharge_power\:=Potencia recargada\: - -# ./src/main/java/mods/eln/transparentnode/waterturbine/WaterTurbineDescriptor.java -Generates_energy_using_water_stream.=Genera energía por la corriente del agua. -No_place_for_water_turbine!=No place for water turbine\! - -# ./src/main/java/mods/eln/transparentnode/windturbine/WindTurbineDescriptor.java -Front\:_%s=En frente\: %s -Generates_energy_from_wind.=Genera energía por el viento. -Left_Right\:_%s=Izquierda/Derecha\: %s -Up_Down\:_%s=Arriba/Abajo\: %s -Wind_area\:=Área de viento\: - -# ./src/main/java/mods/eln/wiki/Data.java -Energy=Energía -Light=Luz -Machine=Máquina -Ore=Mena -Portable=Portable -Resource=Recurso -Signal=Señal -Thermal=Térmico -Upgrade=Actualización -Utilities=Utilidades -Wiring=Cables - -# ./src/main/java/mods/eln/wiki/Default.java -Previous=Previo - -# ./src/main/java/mods/eln/wiki/ItemDefault.java -Can_be_used_to_craft\:=Se puede utilizar para craftear\: -Cannot_be_crafted!=No se puede craftear\! -Cost_%sJ=Cuesta %sJ -Created_by\:=Creado por\:\: -Is_not_a_crafting_material!=No es un material crafteable\! -Recipe\:=Receta\: - -# Appearing in multiple source files -(Increases_capacity)=(Incrementa la capacidad) -(Increases_inductance)=(Aumenta la Inductancia) -Actual\:_%s°C=Real\: %s°C -Biggest=Más grande -Booster_slot=Aumento de espacio -Can_create\:=Puede crear\: -Capacity\:_%sF=Capacidad\: %sF -Charge_power\:_%sW=Potencia cargada\: %sW -Connected=Conectado -Cooling_power\:_%sW=Potencia de refrigeración\: %sW -Copper_cable_slot=Ranura para cable de cobre -Dielectric_slot=Espacio del dialéctrico -Discharge_power\:_%sW=Potencia descargada\: %sW -Electrical_cable_slot=Ranura para cable eléctrico -Entity_filter_slot=Ranura para filtro de entidad -Ferromagnetic_core_slot=Ranura núcleo ferromagnético -Has_a_signal_output.=Tiene una salida de señal -Inductance\:_%sH=Inductancia\: %sH -Internal_resistance\:_%sΩ=Resistencia interna\: %sΩ -Is_off=Está apagado -Is_on=Está en -Max._temperature\:_%s°C=Temperatura máxima\: %s°C -Measured_value\ncorresponding\nto_0%_output=Valor medido\ncorrespondiente\na la salida 0% -Measured_value\ncorresponding\nto_100%_output=Valor medido\ncorrespondiente\na la salida 100% -Nominal\:=Nominal\: -Nominal_power\:_%sW=Poder nominal\: %sW -Nominal_usage\:=Uso nominal\: -Nominal_voltage\:_%sV=Voltaje nominal\: %sV -Not_connected=No conectado -Not_enough_space_for_this_block=No hay suficiente espacio para este bloque -Power=Poder -Power\:_%sW=Poder\: %sW -Range\:_%s_blocks=Puedes pintar %s bloques -Redstone_slot=Ranura de redstone -Regulator_slot=Ranura reguladora -Reset=Reiniciar -Resistance\:_%sΩ=Resistencia\: %sΩ -Smallest=Pequeñísimo -Specify_the_channel=Especifique el canal -Stored_energy\:_%sJ_(%s)=Energía almacenada\: %sJ (%s) -Temperature\:_%s°C=Temperatura\: %s°C -Temperature_gauge=Indicador de temperatura -Thermal_isolator_slot=Ranura de aislante térmico -Toggle=Palanca -Toggle_switch=Interruptor de palanca -Toggles_the_output_each_time\nan_emitter's_value_rises.\nUseful_to_allow_multiple_buttons\nto_control_the_same_light.=Alterna la salida cada vez que\nun valor emisor se eleva.\nÚtil para permitir varios botones\npara controlar la misma luz. -Used_to_cool_down_turbines.=Usado para enfriar las turbinas. -Uses_the_biggest\nvalue_on_the_channel.=Utiliza el mayor\nvalor en el canal. -Uses_the_smallest\nvalue_on_the_channel.=Utiliza el menor\nvalor en el canal. -Validate=Validar -Voltage\:_%sV=Voltaje\: %sV -You_can't_place_this_block_at_this_side=No se puede colocar este bloque en este lado +eln:# +eln: +eln:# ./src/main/java/mods/eln/Achievements.java +eln:Electrical_Age_[WIP]=Edad eléctrica [WIP] +eln:achievement.craft_50v_macerator=Crushing Novice +eln:achievement.craft_50v_macerator.desc=Craftea un macerador de 50V +eln:achievement.open_guide=Abrir la guía +eln:achievement.open_guide.desc=Abrir la guía desde el escritorio +eln: +eln:# ./src/main/java/mods/eln/Eln.java +eln:10A_Diode.name=10A Diodo +eln:200V_Active_Thermal_Dissipator.name=200V Disipador térmico activo +eln:200V_Battery_Charger.name=200V Cargador de batería +eln:200V_Compressor.name=200V Compresor +eln:200V_Condensator.name=200V Condensador +eln:200V_Copper_Heating_Corp.name=200V Generador de calor de Cobre +eln:200V_Economic_Light_Bulb.name=200V Bombilla económica +eln:200V_Farming_Lamp.name=200V Lámpara agrícola +eln:200V_Fuel_Generator.name=200V Fuel Generator +eln:200V_Incandescent_Light_Bulb.name=200V Bombilla incandescente +eln:200V_Iron_Heating_Corp.name=200V Generador de calor de Hierro +eln:200V_LED_Bulb.name=200V LED Bulb +eln:200V_Macerator.name=200V Macerador +eln:200V_Magnetizer.name=200V Magnetizador +eln:200V_Plate_Machine.name=200V Placa de la máquina +eln:200V_Power_Socket.name=200V Toma de corriente +eln:200V_Tungsten_Heating_Corp.name=200V Generador de calor de Tungsteno +eln:200V_Turbine.name=200V Turbina +eln:25A_Diode.name=25A Diodo +eln:50V_Battery_Charger.name=50V Cargador de batería +eln:50V_Carbon_Incandescent_Light_Bulb.name=50V Bombilla incandescente +eln:50V_Compressor.name=50V Compresor +eln:50V_Condensator.name=50V Condensador +eln:50V_Copper_Heating_Corp.name=50V Generador de calor de Cobre +eln:50V_Economic_Light_Bulb.name=50V Bombilla económica +eln:50V_Egg_Incubator.name=50V Incubadora de huevo +eln:50V_Farming_Lamp.name=50V Lámpara agrícola +eln:50V_Fuel_Generator.name=50V Fuel Generator +eln:50V_Incandescent_Light_Bulb.name=50V Bombilla incandescente +eln:50V_Iron_Heating_Corp.name=50V Generador de calor de Hierro +eln:50V_LED_Bulb.name=50V LED Bulb +eln:50V_Macerator.name=50V Macerador +eln:50V_Magnetizer.name=50V Magnetizador +eln:50V_Plate_Machine.name=50V Lámina de máquina +eln:50V_Power_Socket.name=50V Toma de corriente +eln:50V_Tungsten_Heating_Corp.name=50V Generador de calor de Tungsteno +eln:50V_Turbine.name=50V Turbina +eln:800V_Defence_Turret.name=800V Defensa torreta +eln:AND_Chip.name=AND Chip +eln:Advanced_Chip.name=Chip avanzado +eln:Advanced_Electrical_Motor.name=Motor de calor avanzado +eln:Advanced_Energy_Meter.name=Medidor de energía avanzada +eln:Advanced_Machine_Block.name=Bloque mecánico avanzado +eln:Advanced_Magnet.name=Imán avanzado +eln:AllMeter.name=Polímetro universal +eln:Alloy_Dust.name=Polvo de aleación +eln:Alloy_Ingot.name=Polvo de lingotes +eln:Alloy_Plate.name=Polvo de lámina +eln:Analog_Watch.name=Reloj analógico +eln:Analog_vuMeter.name=Indicador analógico +eln:Analogic_Regulator.name=Regulador analógico +eln:Animal_Filter.name=Filtro de animales +eln:Auto_Miner.name=Minador automático +eln:Average_Electrical_Drill.name=Taladro eléctrico medio +eln:Average_Ferromagnetic_Core.name=Núcleo Ferromagnético medio +eln:Basic_Magnet.name=Imán básico +eln:Black_Brush.name=Pincel negro +eln:Blue_Brush.name=Pincel azul +eln:Brown_Brush.name=Pincel marrón +eln:Capacity_Oriented_Battery.name=Cargador de batería +eln:Cheap_Chip.name=Chip malo +eln:Cheap_Electrical_Drill.name=Martillo eléctrico malo +eln:Cheap_Ferromagnetic_Core.name=Nucleo Ferromagnético malo +eln:Cinnabar_Dust.name=Polvo de Cinabrio +eln:Cinnabar_Ore.name=Mena de Cinabrio +eln:Coal_Dust.name=Polvo de Carbón +eln:Coal_Plate.name=Lámina de Carbón +eln:Combustion_Chamber.name=Cámara de combustión +eln:Copper_Cable.name=Cable de Cobre +eln:Copper_Dust.name=Polvo de Cobre +eln:Copper_Ingot.name=Lingote de Cobre +eln:Copper_Ore.name=Mena de Cobre +eln:Copper_Plate.name=Lámina de Cobre +eln:Copper_Thermal_Cable.name=Cable térmico de Cobre +eln:Cost_Oriented_Battery.name=Cargador de batería +eln:Current_Oriented_Battery.name=Cargador de batería funcional +eln:Cyan_Brush.name=Pincel cián +eln:D_Flip_Flop_Chip.name=D Flip Flop Chip +eln:Data_Logger.name=Datos registrados +eln:Data_Logger_Print.name=Impresora +eln:Dielectric.name=Dieléctrico +eln:Digital_Watch.name=Reloj digital +eln:Electrical_Anemometer_Sensor.name=Anemómetro eléctrico +eln:Electrical_Breaker.name=Interruptor eléctrico +eln:Electrical_Daylight_Sensor.name=Sensor de luz natural eléctrico +eln:Electrical_Entity_Sensor.name=Sensor de entidades eléctrico +eln:Electrical_Fire_Detector.name=Detector de fuego eléctrico +eln:Electrical_Furnace.name=Horno eléctrico +eln:Electrical_Light_Sensor.name=Sensor eléctrico de luz +eln:Electrical_Motor.name=Motor eléctrico +eln:Electrical_Probe.name=Sonda eléctrica +eln:Electrical_Probe_Chip.name=Chip de sonda eléctrica +eln:Electrical_Source.name=Fuente eléctrica +eln:Electrical_Timer.name=Minutero eléctrico +eln:Electrical_Weather_Sensor.name=Sensor del clima eléctrico +eln:Electrical_age_wrench,\nCan_be_used_to_turn\nsmall_wall_blocks=Interruptor eléctrico,\nLo puedes usar para encender\npequeñas paredes de bloques +eln:Energy_Meter.name=Medidor de energía +eln:Experimental_Transporter.name=Transportador experimental +eln:Fast_Electrical_Drill.name=Taladro rápido eléctrico +eln:Ferrite_Ingot.name=Lingote de Ferrita +eln:Flat_Lamp_Socket.name=Enchufe de lámpara plano +eln:Fluorescent_Lamp_Socket.name=Enchufe de lámpara fluorescente +eln:Generator.name=Generator +eln:Gold_Dust.name=Polvo de Oro +eln:Gold_Plate.name=Láminas de Oro +eln:Gray_Brush.name=Pincel gris +eln:Green_Brush.name=Pincel verde +eln:Ground_Cable.name=Toma de tierra +eln:High_Power_Receiver_Antenna.name=Antena receptora de alta potencia +eln:High_Power_Transmitter_Antenna.name=Antena transmisora de alta potencia +eln:High_Voltage_Cable.name=Cable de alto voltaje +eln:High_Voltage_Relay.name=Relé de alto voltaje +eln:High_Voltage_Switch.name=Interruptor de alto voltaje +eln:Hub.name=Hub +eln:Industrial_Data_Logger.name=Pantalla industrial de datos +eln:Iron_Cable.name=Cable de Hierro +eln:Iron_Dust.name=Polvo de Hierro +eln:Iron_Plate.name=Lámina de Hierro +eln:JK_Flip_Flop_Chip.name=JK Flip Flop Chip +eln:LED_vuMeter.name=Indicador de volumen de LED +eln:Lamp_Socket_A.name=Lámpara +eln:Lamp_Socket_B_Projector.name=Portalámparas +eln:Lamp_Supply.name=Suministro de lámpara +eln:Large_Rheostat.name=Large Rheostat +eln:Lead_Dust.name=Polvo de Plomo +eln:Lead_Ingot.name=Lingote de Plomo +eln:Lead_Ore.name=Mena de Plomo +eln:Lead_Plate.name=Lámina de Plomo +eln:Life_Oriented_Battery.name=Nivel de bateria +eln:Light_Blue_Brush.name=Pincel de luz azul +eln:Lime_Brush.name=Pincel lima +eln:Long_Suspended_Lamp_Socket.name=Encufe de lámpara larga suspendida +eln:Low_Power_Receiver_Antenna.name=Antena receptora de baja potencia +eln:Low_Power_Transmitter_Antenna.name=Antena transmisora de baja potencia +eln:Low_Voltage_Cable.name=Cable de baja tensión +eln:Low_Voltage_Relay.name=Relé de baja tensión +eln:Low_Voltage_Switch.name=Interruptor de baja tensión +eln:Machine_Block.name=Bloque de la maquina +eln:Machine_Booster.name=Mejora de maquina +eln:Magenta_Brush.name=Pincel magenta +eln:Medium_Power_Receiver_Antenna.name=Antena receptora de media potencia +eln:Medium_Power_Transmitter_Antenna.name=Antena transmisora de media potencia +eln:Medium_Voltage_Cable.name=Cable de medio voltaje +eln:Medium_Voltage_Relay.name=Relé de medio voltaje +eln:Medium_Voltage_Switch.name=Enchufe de medio voltaje +eln:Mercury.name=Mercurio +eln:Mining_Pipe.name=Tubo de la mineria +eln:Modbus_RTU.name=Modbus RTU +eln:Modern_Data_Logger.name=Pantalla mejorada +eln:Monster_Filter.name=Filtro de mounstros +eln:MultiMeter.name=Multímetro +eln:NAND_Chip.name=NAND Chip +eln:NOR_Chip.name=NOR Chip +eln:NOT_Chip.name=NOT Chip +eln:Nuclear_Alarm.name=Alarma nuclear +eln:OR_Chip.name=OR Chip +eln:On_OFF_Regulator_10_Percent.name=Encendido/Apagado regulador 10% +eln:On_OFF_Regulator_1_Percent.name=Encendido/Apagado regulador 1% +eln:Optimal_Ferromagnetic_Core.name=Núcleo ferromagnético óptimo +eln:Orange_Brush.name=Pincel naranja +eln:Ore_Scanner.name=Escaner de minerales +eln:Oscillator_Chip.name=Oscillator Chip +eln:Overheating_Protection.name=Protección contra sobrecalentamientos +eln:Overvoltage_Protection.name=Protección contra sobrevoltaje +eln:PAL_Chip.name=PAL Chip +eln:Pink_Brush.name=Pincel rosa +eln:Player_Filter.name=Filtro de jugador +eln:Portable_Battery.name=Batería Portátil +eln:Portable_Battery_Pack.name=Pack de baterías portátil +eln:Portable_Condensator.name=Condensador portátil +eln:Portable_Condensator_Pack.name=Pack de condensador portátil +eln:Portable_Electrical_Axe.name=Hacha eléctrica portátil +eln:Portable_Electrical_Mining_Drill.name=Taladro de minería eléctrico portátil +eln:Power_Capacitor.name=Condensador de potencia +eln:Power_Inductor.name=Inductor de potencia +eln:Power_Resistor.name=Resistencia de potencia +eln:Power_capacitor.name=Condensador de potencia +eln:Power_inductor.name=Inductor de potencia +eln:Purple_Brush.name=Pincel violeta +eln:Red_Brush.name=Pincel rojo +eln:Redstone-to-Voltage_Converter.name=Convertidor de Redstone a voltios +eln:Rheostat.name=Reóstato +eln:Robust_Lamp_Socket.name=Portalámparas robusto +eln:Rubber.name=Caucho +eln:Schmitt_Trigger_Chip.name=Schmitt Trigger Chip +eln:Sconce_Lamp_Socket.name=Enchufe de candelabro de pared +eln:Signal_20H_inductor.name=Inductor de señal de 20H +eln:Signal_Antenna.name=Señal de Antena +eln:Signal_Button.name=Señal de Botón +eln:Signal_Cable.name=Señal de Cable +eln:Signal_Diode.name=Señal de Diodo +eln:Signal_Processor.name=Porcesador de señal +eln:Signal_Relay.name=Señal de Relé +eln:Signal_Source.name=Señal de Fuente +eln:Signal_Switch.name=Señal de Encendido +eln:Signal_Switch_with_LED.name=Señal de encendido con LED +eln:Signal_Trimmer.name=Señal de recorte +eln:Silicon_Dust.name=Polvo de Silicio +eln:Silicon_Ingot.name=Lingote de Silicio +eln:Silicon_Plate.name=Lámina de Silicio +eln:Silver_Brush.name=Pincel de Plata +eln:Simple_Lamp_Socket.name=Lámpara simple +eln:Single-use_Battery.name=Batería de un solo uso +eln:Small_200V_Copper_Heating_Corp.name=Calefactor pequeño de Cobre de 200V +eln:Small_200V_Iron_Heating_Corp.name=Calefactor pequeño de Hierro de 200V +eln:Small_200V_Tungsten_Heating_Corp.name=Calefactor pequeño de Tungsteno de 200V +eln:Small_50V_Carbon_Incandescent_Light_Bulb.name=Bulbo de luz incandescente de Carbón pequeño de 50V +eln:Small_50V_Copper_Heating_Corp.name=Calefactor de Cobre pequeño de 50V +eln:Small_50V_Economic_Light_Bulb.name=Bulbo de luz económica pequeño de 50V +eln:Small_50V_Incandescent_Light_Bulb.name=Bulbo de luz incandescente pequeño de 50V +eln:Small_50V_Iron_Heating_Corp.name=Calefactor pequeño de Hierro de 50V +eln:Small_50V_Tungsten_Heating_Corp.name=Calefactor pequeño de Tungsteno 50V +eln:Small_Active_Thermal_Dissipator.name=Disipador pequeño térmico activo +eln:Small_Flashlight.name=Linterna pequeña +eln:Small_Passive_Thermal_Dissipator.name=Disipador pequeño térmico +eln:Small_Rotating_Solar_Panel.name=Panel solar pequeño rotatorio +eln:Small_Solar_Panel.name=Panel solar pequeño +eln:Solar_Tracker.name=Rastreadora solar +eln:Standard_Alarm.name=Alarma estándar +eln:Steam_Turbine.name=Steam Turbine +eln:Stone_Heat_Furnace.name=Horno de calor de Piedra +eln:Street_Light.name=Luz de calle +eln:Suspended_Lamp_Socket.name=Lampara aérea +eln:Temperature_Probe.name=Sonda de temperatura +eln:Thermal_Probe.name=Sonda térmica +eln:Thermal_Probe_Chip.name=Chip de sonda Térmica +eln:Thermistor.name=Termistor +eln:ThermoMeter.name=Termómetro +eln:Transformer.name=Transformador +eln:Tree_Resin.name=Resina +eln:Tree_Resin_Collector.name=Colector de Resina +eln:Tungsten_Cable.name=Cable de Tungsteno +eln:Tungsten_Dust.name=Polvo de Tungsteno +eln:Tungsten_Ingot.name=Lingote de Tungsteno +eln:Tungsten_Ore.name=Mena de Tungsteno +eln:Tutorial_Sign.name=Señal tutorial +eln:Very_High_Voltage_Cable.name=Cable de muy alta tensión +eln:Very_High_Voltage_Relay.name=Relé de muy alta tensión +eln:Very_High_Voltage_Switch.name=Enchufe de muy alta tensión +eln:Voltage-to-Redstone_Converter.name=Convertidor de Redstone a voltios +eln:Voltage_Oriented_Battery.name=Batería de voltios +eln:Voltage_Probe.name=Sonda de voltaje +eln:Water_Turbine.name=Turbina de agua +eln:Weak_50V_Battery_Charger.name=Cargador de batería débil de 50V +eln:White_Brush.name=Pincel blanco +eln:Wind_Turbine.name=Turbina de viento +eln:Wireless_Analyser.name=Analizador inalámbrico +eln:Wireless_Button.name=Boton inalámbrico +eln:Wireless_Signal_Receiver.name=Receptor de señal inalámbrico +eln:Wireless_Signal_Repeater.name=Repetidor de señal inalámbrico +eln:Wireless_Signal_Transmitter.name=Transmisor de señal inalámbrico +eln:Wireless_Switch.name=Interruptor inalámbrico +eln:Wrench.name=Llave inglesa +eln:X-Ray_Scanner.name=Escaner de Rayos X +eln:XNOR_Chip.name=XNOR Chip +eln:XOR_Chip.name=XOR Chip +eln:Yellow_Brush.name=Pincel amarillo +eln:entity.EAReplicator.name=Replicador +eln:item.Copper Axe.name\=Hacha de Cobre +eln:item.Copper Axe.name\=Hacha de Cobre +eln:item.Copper Axe.name\=Hacha de Cobre +eln:item.Copper Axe.name\=Hacha de Cobre +eln:item.Copper Axe.name\=Hacha de Cobre +eln:item.Copper Axe.name\=Hacha de Cobre +eln:item.Copper Axe.name\=Hacha de Cobre +eln:item.Copper Axe.name\=Hacha de Cobre +eln:item.Copper Axe.name\=Hacha de Cobre +eln:item.E-Coal Boots.name\=Botas de Carbón +eln:item.E-Coal Boots.name\=Botas de Carbón +eln:item.E-Coal Boots.name\=Botas de Carbón +eln:item.E-Coal Boots.name\=Botas de Carbón +eln:itemGroup.Eln=Edad eléctrica +eln:mod.meta.desc=Electricidad en tu base\! +eln:tile.eln.ElnProbe.name=Sonda ordenador Eln +eln:tile.eln.EnergyConverterElnToOtherHVUBlock.name=800V Edad eléctrica a otro exportador de energía +eln:tile.eln.EnergyConverterElnToOtherLVUBlock.name=50V Edad eléctrica a otro exportador de energía +eln:tile.eln.EnergyConverterElnToOtherMVUBlock.name=200V Edad eléctrica a otro exportador de energía +eln: +eln:# ./src/main/java/mods/eln/i18n/I18N.java +eln:You_have_%s_lives_left=Te queda el %s de vida +eln: +eln:# ./src/main/java/mods/eln/item/BrushDescriptor.java +eln:Brush_is_dry=El cepillo está seca +eln:Can_paint_%s_blocks=Puedes pintar %s bloques +eln: +eln:# ./src/main/java/mods/eln/item/CombustionChamber.java +eln:Upgrade_for_the_Stone_Heat_Furnace.=Mejora para el horno de calor de piedra. +eln: +eln:# ./src/main/java/mods/eln/item/ElectricalDrillDescriptor.java +eln:Energy_per_operation\:_%sJ=Energía por operación\: %sJ +eln:Time_per_operation\:_%ss=Tiempo por operación\: %ss +eln: +eln:# ./src/main/java/mods/eln/item/FerromagneticCoreDescriptor.java +eln:Cable_loss_factor\:_%s=Factor de pérdida del cable\: %s +eln: +eln:# ./src/main/java/mods/eln/item/HeatingCorpElement.java +eln: +eln:# ./src/main/java/mods/eln/item/LampDescriptor.java +eln:Bad=Malo +eln:Condition\:=Condición\: +eln:End_of_life=Fin de la vida +eln:Good=Bueno +eln:New=Nuevo +eln:Nominal_lifetime\:_%sh=Vida útil nominal\: %sh +eln:Technology\:_%s=Tecnología\: %s +eln:Used=Uso +eln: +eln:# ./src/main/java/mods/eln/item/LampSlot.java +eln:Lamp_slot=Ranura de lámpara +eln: +eln:# ./src/main/java/mods/eln/item/OverHeatingProtectionDescriptor.java +eln:Useful_to_prevent_overheating\nof_Batteries=Útil para prevenir sobrecalentamiento\nde las baterías +eln: +eln:# ./src/main/java/mods/eln/item/OverVoltageProtectionDescriptor.java +eln:Useful_to_prevent_over-voltage\nof_Batteries=Útil para prevenir sobrecarga\nde las baterías +eln: +eln:# ./src/main/java/mods/eln/item/SolarTrackerDescriptor.java +eln:Solar_panel_upgrade=Mejora del panel solar +eln: +eln:# ./src/main/java/mods/eln/item/electricalitem/BatteryItem.java +eln: +eln:# ./src/main/java/mods/eln/item/electricalitem/ElectricalLampItem.java +eln:Off=Apagado +eln:On=Encendido +eln:State\:=Estado\: +eln:Stored_Energy\:_%sJ_(%s)=Energía almacenada\: %sJ (%s) +eln: +eln:# ./src/main/java/mods/eln/item/regulator/RegulatorSlot.java +eln: +eln:# ./src/main/java/mods/eln/misc/UtilsClient.java +eln:Hold_shift=Aguantar shift +eln: +eln:# ./src/main/java/mods/eln/misc/Version.java +eln:mod.name=Edad eléctrica +eln: +eln:# ./src/main/java/mods/eln/node/six/SixNodeDescriptor.java +eln: +eln:# ./src/main/java/mods/eln/simplenode/energyconverter/EnergyConverterElnToOtherGui.java +eln:Input_power_is_limited_to_%sW=La entrada de poder está limitada a %sW +eln: +eln:# ./src/main/java/mods/eln/sixnode/LogicGate.kt +eln:_O\:_= O\: +eln: +eln:# ./src/main/java/mods/eln/sixnode/TreeResinCollector/TreeResinCollectorDescriptor.java +eln:Produces_Tree_Resin_over\ntime_when_put_on_a_tree.=Produce resina de árbol sobre\ntiempo cuando está colocado en un árbol. +eln:This_block_can_only_be_placed_on_the_side_of_a_tree!=This block can only be placed on the side of a tree\! +eln: +eln:# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerContainer.java +eln:Battery_slot=Espacio de batería +eln: +eln:# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerDescriptor.java +eln:Can_be_used_to_recharge\nelectrical_items_like\:\nFlash_Light,_X-Ray_scanner\nand_Portable_Battery_...=Puede ser usado para recargar\nartículos eléctricos con\:\nflash de luz, escáner de rayos X \\ y batería portátil +eln: +eln:# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerGui.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/diode/DiodeDescriptor.java +eln:Electrical_current_can_only\nflow_through_the_diode\nfrom_anode_to_cathode=La corriente eléctrica sólo puede\nfluir a través del diodo\ndesde el anodo al catodo. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalalarm/ElectricalAlarmDescriptor.java +eln:= +eln:Emits_an_acoustic_alarm_if\nthe_input_signal_is_high=Emite una alarma acústica\nla señal de entrada es alta. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalalarm/ElectricalAlarmGui.java +eln:Sound_is_muted=Sonido silenciado. +eln:Sound_is_not_muted=Sonido dessilenciado. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerContainer.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerDescriptor.java +eln:Protects_electrical_components\nOpens_contact_if\:\n__-_Voltage_exceeds_a_certain_level\n-_Current_exceeds_the_cable_limit=Componentes de protección eléctrica\nabren contactos si\:\n -\n- la corriente excede el límite del cable. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerGui.java +eln:Maximum_voltage_before_cutting_off=Tensión máxima antes de cortar +eln:Minimum_voltage_before_cutting_off=Tensión mínima antes de cortar +eln:Switch_is_off=El interruptor está desactivado. +eln:Switch_is_on=El interruptor está activado +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalcable/ElectricalCableDescriptor.java +eln:A_signal_is_electrical_information\nwhich_must_be_between_0V_and_%sV=Una señal es la información eléctrica\nque debe ser entre 0V y %sV +eln:Cable_is_adapted_to_conduct\nelectrical_signals.=El cable está adaptado para conducir\nseñales eléctricas. +eln:Current\:_%sA=Corriente\: %sA +eln:Not_adapted_to_transport_power.=No adaptado para el transporte de energía. +eln:Save_usage\:=Guardar el uso\: +eln:Serial_resistance\:_%sΩ=La resistencia en serie\: %sΩ +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerDescriptor.java +eln:It_can_store_up_to_256_points.=Es capaz de almacenar hasta 256 puntos +eln:Measures_the_voltage_of_an\nelectrical_signal_and_plots\nthe_data_in_real_time.=Mide la tensión de una\nseñal eléctrica y parcelas\nlos datos en tiempo real. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerGui.java +eln:Back_to_display=Volver a mostrar +eln:Configuration=Configuración +eln:Current_[A]=Corriente [A] +eln:Energy_[J]=Energía [J] +eln:Percent_[-]%=Porciento [-]% +eln:Power_[W]=Potencia [W] +eln:Print=Impresión +eln:Sampling_period=Periodo de muestra +eln:Temp._[*C]=Temp. [*C] +eln:Voltage_[V]=Voltaje [V] +eln:Y-axis_max=Y-eje máximo +eln:Y-axis_min=Y-eje mínimo +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorContainer.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorDescriptor.java +eln:Output_voltage_increases\nif_entities_are_moving_around.=Aumenta la tensión de salida\nsi las entidades están moviendo. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalfiredetector/ElectricalFireDetectorDescriptor.java +eln:Output_voltage_increases\nif_a_fire_has_been_detected.=Aumenta la tensión de salida\nsi se ha detectado un incendio. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceDescriptor.java +eln:Provides_configurable_signal\nvoltage.=Proporciona señal configurable\nvoltaje. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceGui.java +eln:Output_at_%s=La producción en %s +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricallightsensor/ElectricalLightSensorDescriptor.java +eln:0V_at_night,_%sV_at_noon.=0V a la noche, %sV al mediodía. +eln:Provides_an_electrical_voltage\nin_the_presence_of_light.=Proporciona una tensión eléctrica\nen presencia de la luz. +eln:Provides_an_electrical_voltage\nwhich_is_proportional_to\nthe_intensity_of_daylight.=Proporciona una tensión eléctrica\nque es proporcional a\nla intensidad de la luz del día. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathContainer.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathDescriptor.java +eln:Applicable_boolean_operators\:=Operadores booleanos aplicables\: +eln:Applicable_functions\:=Funciones aplicables\: +eln:Applicable_mathematical_operators\:=Operadores matemáticos aplicables\: +eln:Calculates_an_output_signal_from\n3_inputs_(A,_B,_C)_using_an_equation.=Calcula una señal de salida\nde 3 entradas (A, B, C) utilizando una ecuación. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathGui.java +eln:%s_Redstone(s)_required=%s Redstone(s) requerida +eln:Equation_required!=Ecuación requerida\! +eln:Inputs_are=Las entradas son +eln:Invalid_equation!=Ecuación inválida\! +eln:Output_voltage_formula=Fórmula de tensión de salida +eln:Waiting_for_completion...=A la espera de la finalización... +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalredstoneinput/ElectricalRedstoneInputDescriptor.java +eln:Converts_Redstone_signal\nto_an_electrical_voltage.=Convierte la señal de Redstone\na una tensión eléctrica. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalredstoneoutput/ElectricalRedstoneOutputDescriptor.java +eln:Converts_electrical_voltage\ninto_a_Redstone_signal.=Convierte la tensión eléctrica\nen una señal de Redstone. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalrelay/ElectricalRelayDescriptor.java +eln:A_relay_is_an_electrical\ncontact_that_conducts_electric\ncurrent_or_not,_depending\nthe_actual_input_signal_voltage.=Un relé es un \ncontacto que conduce electricidad\nactualmente o no, dependiendo\ndel voltaje de la señal de entrada real. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalrelay/ElectricalRelayGui.java +eln:Normally_closed=Normalmente cerrado +eln:Normally_open=Normalmente abierto +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalsource/ElectricalSourceDescriptor.java +eln:Creative_block.=Bloque creativo. +eln:Provides_an_ideal_voltage_source\nwithout_energy_or_power_limitation.=Proporciona una fuente ideal de voltaje\nsin energía y sin limitación de potencia. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalsource/ElectricalSourceGui.java +eln:Output_voltage=Tensión de salida +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalswitch/ElectricalSwitchDescriptor.java +eln:Can_break_an_electrical_circuit\ninterrupting_the_current.=Puede romper un circuito eléctrico\ninterrumpiendo la corriente. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricaltimeout/ElectricalTimeoutDescriptor.java +eln:Upon_application_of_a_high_signal,\nthe_timer_maintains_the_output_high_for\na_configurable_interval._Can_be_re-triggered.=Tras la aplicación de una señal de alto,\nel temporizador mantiene el alto rendimiento de\nun intervalo configurable. Puede ser re-activado. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricaltimeout/ElectricalTimeoutGui.java +eln:Set=Set +eln:The_time_interval_the\noutput_is_kept_high.=En el intervalo de tiempo,\nla salida se mantiene alta. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalvumeter/ElectricalVuMeterDescriptor.java +eln:Displays_the_value_of_a_signal.=Muestra el valor de una señal. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalwatch/ElectricalWatchContainer.java +eln:Portable_battery_slot=Ranura de la batería portátil +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalweathersensor/ElectricalWeatherSensorDescriptor.java +eln:Clear\:_%sV=Clear\: %sV +eln:Provides_an_electrical_signal\ndepending_the_actual_weather.=Proporciona una señal eléctrica\nen función del tiempo real. +eln:Rain\:_%sV=Rain\: %sV +eln:Storm\:_%sV=Storm\: %sV +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalwindsensor/ElectricalWindSensorDescriptor.java +eln:Maximum_wind_speed_is_%sm_s=Velocidad máxima del viento es %sm/s +eln:Provides_an_electrical_signal\ndependant_on_wind_speed.=Proporciona una señal eléctrica\nque depende de la velocidad del viento. +eln:You_can't_place_this_block_on_the_floor_or_the_ceiling=You can't place this block on the floor or the ceiling +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricasensor/ElectricalSensorDescriptor.java +eln:Can_measure_Voltage_Power_Current=Puede medir tensión / potencia / corriente +eln:Measures_electrical_values_on_cables.=Mide valores eléctricos en los cables. +eln:Measures_voltage_on_cables.=Mide la tensión en los cables. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricasensor/ElectricalSensorGui.java +eln:Current=Current +eln:Measured_voltage\ncorresponding\nto_0%_output=Tensión medida\ncorrespondiente\na la salida de 0%. +eln:Measured_voltage\ncorresponding\nto_100%_output=Tensión medida\ncorrespondiente\na la salida 100%. +eln:Voltage=Voltaje +eln: +eln:# ./src/main/java/mods/eln/sixnode/energymeter/EnergyMeterGui.java +eln:Change_password=Cambiar contraseña +eln:Counter_Mode=Modo de contador +eln:Counts_the_energy_conducted_from\n\u00a74red\u00a7f_to_\u00a71blue\u00a7f.=Que cuenta la energía conducida desde\n\\u00a74rojo\\u00a7f a \\u00a71azul\\u00a7f. +eln:Energy_counter\:_%sJ=Contador de energía\: %sJ +eln:Enter_new_energy=Introducir nueva energía +eln:Enter_password=Escribir contraseña +eln:Prepay_Mode=Modo prepago +eln:Reset_time_counter=Contador de tiempo de reposición +eln:Set_energy_counter=Establecer contador de energía +eln:Time_counter\:=Contador de tiempo\: +eln:Try_password=Probar contraseña +eln:You_can_set_an_initial\namount_of_available_energy.\nWhen_the_counter_arrives_at_0\nthe_contact_will_be_opened.=Se puede establecer una primera\ncantidad de energía disponible.\nCuando el contador llega a 0\nse abre el contacto. +eln:is_off=Está apagado. +eln:is_on=Está encendido. +eln:value_in_kJ=Valor en kJ +eln: +eln:# ./src/main/java/mods/eln/sixnode/groundcable/GroundCableDescriptor.java +eln:Can_be_used_to_set_a_point_of_an\nelectrical_network_to_0V_potential.\nFor_example_to_ground_negative_battery_contacts.=Puede ser utilizado para establecer un punto \nde una la red eléctrica al potencial de 0V.\nPor ejemplo para conectar a tierra los contactos negativos de la batería. +eln:Provides_a_zero_volt_reference.=Proporciona una referencia de cero voltios. +eln: +eln:# ./src/main/java/mods/eln/sixnode/hub/HubDescriptor.java +eln:Allows_crossing_cables\non_one_single_block.=Permite cables de cruce\nen un solo bloque. +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketDescriptor.java +eln:Angle\:_%s°_to_%s°=Ángulo\: %s° to %s° +eln:Spot_range\:_%s_blocks=Rango de la localización\: %s bloques +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketGuiDraw.java +eln:%s_is_not_in_range!=%s is not in range\! +eln:Cable_slot_empty=Cable con espacio vacío +eln:Orientation\:_%s°=Orientación\: %s° +eln:Parallel=Paralelo +eln:Powered_by_Lamp_Supply=Encendido con lámpara +eln:Powered_by_cable=Encendido con cable +eln:Serial=Serial +eln:Specify_the_supply_channel=Específico para un canal secundario +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyContainer.java +eln:Electrical_cable_slot\nBase_range_is_32_blocks.\nEach_additional_cable\nincreases_range_by_one.=Una ranura del cable electrico.\nTiene una base de 32 bloques.\nCada cable adicional\nincrementa la base por uno. +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyDescriptor.java +eln:Supplies_all_lamps_on_the_channel.=Suministra todas las lámparas en el canal. +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyGui.java +eln:Power_channel_name=Nombre del canal de alimentación +eln:Wireless_channel_name=Nombre del canal inalámbrico +eln: +eln:# ./src/main/java/mods/eln/sixnode/modbusrtu/ModbusRtuGui.java +eln:Add=Añadir +eln:Channel_name=Nobre del canal +eln:Modbus_ID=Modbus ID +eln:Modbus_RTU=Modbus RTU +eln:Station_ID=ID de estación +eln:Station_name=Nombre de estación. +eln:Wireless_RX=Wireless RX +eln:Wireless_TX=Wireless TX +eln: +eln:# ./src/main/java/mods/eln/sixnode/powercapacitorsix/PowerCapacitorSixContainer.java +eln:(Increases_maximum_voltage)=(Aumenta la tensión máxima) +eln: +eln:# ./src/main/java/mods/eln/sixnode/powercapacitorsix/PowerCapacitorSixGui.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/powerinductorsix/PowerInductorSixContainer.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/powerinductorsix/PowerInductorSixGui.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/powersocket/PowerSocketDescriptor.java +eln:Supplies_any_device\nplugged_in_with_energy.=Suministra cualquier dispositivo\nenchufado con la energía. +eln: +eln:# ./src/main/java/mods/eln/sixnode/powersocket/PowerSocketGui.java +eln:Specify_the_device_to_supply_through_this_socket.=Especifique el dispositivo para el suministro a través de esta toma. +eln: +eln:# ./src/main/java/mods/eln/sixnode/resistor/ResistorContainer.java +eln:(Sets_resistance)=(Sets resistance) +eln:Coal_dust_slot=Coal dust slot +eln: +eln:# ./src/main/java/mods/eln/sixnode/thermalcable/ThermalCableDescriptor.java +eln:High_parallel_resistance\n_\=>_Low_power_dissipation.=Resistencia paralela alta\n \=> Bajo poder disipación. +eln:Low_serial_resistance\n_\=>_High_conductivity.=Baja resistencia de serie\n\=> Alta conductividad. +eln:Parallel_resistance\:_%sK_W=Resistencia paralela\: %sK/W +eln:Serial_resistance\:_%sK_W=Resistencia de serie\: %sK/W +eln: +eln:# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorContainer.java +eln:Cable_slot=Ranura para cable +eln: +eln:# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorDescriptor.java +eln:Can_measure\:=Puede medir\: +eln:Measures_temperature_of_cables.=Medidas de temperatura de cables. +eln:Measures_thermal_values_on_cables.=Medidas de valores térmicos en los cables. +eln:__Temperature_Power_conducted=Temperatura / Energía llevado a cabo +eln: +eln:# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorGui.java +eln:Measured_temperature\ncorresponding\nto_0%_output=Temperatura medida\ncorrespondiente\na la salida 0% +eln:Measured_temperature\ncorresponding\nto_100%_output=Temperatura medida\ncorrespondiente\na la salida 100% +eln:Temperature=Temperatura +eln: +eln:# ./src/main/java/mods/eln/sixnode/tutorialsign/TutorialSignElement.java +eln:No_text_associated_to_this_beacon=No hay texto asociado a este beacon +eln: +eln:# ./src/main/java/mods/eln/sixnode/tutorialsign/TutorialSignGui.java +eln:Set_beacon_name=Nombre del conjunto de beacon +eln: +eln:# ./src/main/java/mods/eln/sixnode/wirelesssignal/rx/WirelessSignalRxGui.java +eln: +eln:# ./src/main/java/mods/eln/transparentnode/FuelGenerator.kt +eln:Nominal_power\:_%s_W=Nominal power\: %s W +eln:Nominal_voltage\:_%s_V=Nominal voltage\: %s V +eln:Produces_electricity_using_fuel.=Produce electricidad usando combustible. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/LargeRheostat.kt +eln:Nom._Resistance\:_%s=Nom. Resistance\: %s +eln: +eln:# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerContainer.java +eln:Drill_slot=Ranura del taladro +eln:Mining_pipe_slot=Ranura de tubería de minería +eln:Ore_scanner_slot=Ranura de escáner de mineral +eln: +eln:# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerDescriptor.java +eln:Excavates_on_a_small_radius.\nExtracts_ore_on_a_bigger_radius\:\n10_blocks_radius_after_10_blocks_depth.=Excavates on a small radius.\nExtracts ore on a bigger radius\:\n10 blocks radius after 10 blocks depth. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerGuiDraw.java +eln:Chest_missing_on_the\nback_of_the_auto_miner!=Chest missing on the\nback of the auto miner\! +eln:Halves_speed,_triples_power_draw=Halves speed, triples power draw +eln:Silk_Touch_Off=Silk Touch Off +eln:Silk_Touch_On=Silk Touch On +eln:Silk_touch=Silk touch +eln: +eln:# ./src/main/java/mods/eln/transparentnode/battery/BatteryContainer.java +eln:Overheating_protection=Overheating protection +eln:Overvoltage_protection=Overvoltage protection +eln: +eln:# ./src/main/java/mods/eln/transparentnode/battery/BatteryDescriptor.java +eln:Actual_charge\:_%s=Carga actual\: %s +eln:Energy_capacity\:_%sJ=Capacidad de energía\: %sJ +eln:_charged_at_%s=Cargado hasta %s +eln: +eln:# ./src/main/java/mods/eln/transparentnode/battery/BatteryGuiDraw.java +eln:Charge=Carga +eln:Charged=Cargado +eln:Discharge=Descargado +eln:Energy\:=Energía\: +eln:Energy\:_%s=Energía\: %s +eln:Life\:=Vida\: +eln:No_charge=Sin carga +eln:Power_in\:=Potencia dentro\: +eln:Power_out\:=Potencia fuera\: +eln: +eln:# ./src/main/java/mods/eln/transparentnode/eggincubator/EggIncubatorContainer.java +eln:Egg_slot=Ranura del huevo +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalantennarx/ElectricalAntennaRxDescriptor.java +eln:Wireless_energy_receiver.=Receptor de energía inalámbrica. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalantennatx/ElectricalAntennaTxDescriptor.java +eln:Efficiency\:_%s_up_to_%s=Eficiencia\: %s hasta %s +eln:Wireless_energy_transmitter.=Transmisor de energía inalámbrica. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceContainer.java +eln:Heating_corp_slot=Ranura de calefacción +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceDescriptor.java +eln:Similar_to_a_vanilla_furnace,\nbut_heats_with_electricity.=Similar a un horno\npero calienta con electricidad. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceGuiDraw.java +eln:Auto_shutdown=Apagado automático +eln:Manual_shutdown=Cierre manual +eln:Set_point\:_%s°C=Punto fijo\: %s°C +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalmachine/ElectricalMachineDescriptor.java +eln:Cost=Coste +eln: +eln:# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceContainer.java +eln:Combustion_chamber_slot=Ranura cámara de combustión +eln:Fuel_slot=Ranura de combustible +eln: +eln:# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceDescriptor.java +eln:Generates_heat_when_supplied_with_fuel.=Genera calor como fuente de combustible. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceGuiDraw.java +eln:Control_gauge_at_%s=Control de medida a %s +eln:Decline_fuel=Eliminar combustible +eln:External_control=Control externo +eln:Internal_control=Control interno +eln:Take_fuel=Coger combustible +eln: +eln:# ./src/main/java/mods/eln/transparentnode/powercapacitor/PowerCapacitorContainer.java +eln:(Increases_maximal_voltage)=(Tensión máxima aumentada) +eln: +eln:# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelContainer.java +eln:Solar_tracker_slot=Ranura del rastreador solar +eln: +eln:# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelDescriptor.java +eln:Can_be_geared_towards_the_sun.=Puede ser orientada hacia el sol. +eln:Max._power\:_%sW=Potencia máxima\: %sW +eln:Max._voltage\:_%sV=Voltaje máximo\: %sV +eln:Produces_power_from_solar_radiation.=Produce energía de la radiación solar. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPannelGuiDraw.java +eln:It_is_night=Es de noche +eln:Solar_panel_angle\:_%s°=Angulo del panel solar\: %s° +eln:Sun_angle\:_%s°=El ángulo del sol\: %s° +eln: +eln:# ./src/main/java/mods/eln/transparentnode/teleporter/TeleporterGui.java +eln:Destination_transporter=Destino transportador +eln:Power_consumption\:=Consumo de energía\: +eln:Power_consumption\:_%sW=Consumo de energía\: %sW +eln:Required_energy\:_%sJ=Requiere energía\: %sJ +eln:Start=Comenzar +eln:Transporter_name=Nombre del transportador +eln: +eln:# ./src/main/java/mods/eln/transparentnode/thermaldissipatoractive/ThermalDissipatorActiveDescriptor.java +eln:Fan_cooling_power\:_%sW=Potencia del ventilador de refrigeración\: %sW +eln:Fan_power_consumption\:_%sW=Consumo de energía del ventilador\: %sW +eln:Fan_voltage\:_%sV=Voltaje del ventilador\: %sV +eln: +eln:# ./src/main/java/mods/eln/transparentnode/transformer/TransformerDescriptor.java +eln:The_voltage_ratio_is_proportional\nto_the_cable_stacks_count_ratio.=La relación de voltaje es proporcional\nal cable. +eln:Transforms_an_input_voltage_to\nan_output_voltage.=Transforma una tensión de entrada de\nuna tensión de salida. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/turbine/TurbineDescriptor.java +eln:Generates_electricity_using_heat.=Genera electricidad por la temperatura. +eln:Temperature_difference\:_%s°C=Temperaturas diferentes\: %s°C +eln: +eln:# ./src/main/java/mods/eln/transparentnode/turret/TurretDescriptor.java +eln:CAUTION\:_Cables_can_get_quite_hot!=Precaución\: Los cables pueden llegar a estar muy calientes\! +eln:Laser_charge_power\:_%sW...%skW=Laser cargado\: %sW...%skW +eln:Scans_for_entities_and_shoots_if_the\nentity_matches_the_configurable_filter_criteria.=Analiza en busca de las entidades y los brotes de la\nentidad que coincide con los criterios del filtro configurables. +eln:Standby_power\:_%sW=Energía de reserva\: %sW +eln: +eln:# ./src/main/java/mods/eln/transparentnode/turret/TurretGui.java +eln:Attack\:=Atacar\: +eln:Do_not_attack\:=No atacar\: +eln:Recharge_power\:=Potencia recargada\: +eln: +eln:# ./src/main/java/mods/eln/transparentnode/waterturbine/WaterTurbineDescriptor.java +eln:Generates_energy_using_water_stream.=Genera energía por la corriente del agua. +eln:No_place_for_water_turbine!=No place for water turbine\! +eln: +eln:# ./src/main/java/mods/eln/transparentnode/windturbine/WindTurbineDescriptor.java +eln:Front\:_%s=En frente\: %s +eln:Generates_energy_from_wind.=Genera energía por el viento. +eln:Left_Right\:_%s=Izquierda/Derecha\: %s +eln:Up_Down\:_%s=Arriba/Abajo\: %s +eln:Wind_area\:=Área de viento\: +eln: +eln:# ./src/main/java/mods/eln/wiki/Data.java +eln:Energy=Energía +eln:Light=Luz +eln:Machine=Máquina +eln:Ore=Mena +eln:Portable=Portable +eln:Resource=Recurso +eln:Signal=Señal +eln:Thermal=Térmico +eln:Upgrade=Actualización +eln:Utilities=Utilidades +eln:Wiring=Cables +eln: +eln:# ./src/main/java/mods/eln/wiki/Default.java +eln:Previous=Previo +eln: +eln:# ./src/main/java/mods/eln/wiki/ItemDefault.java +eln:Can_be_used_to_craft\:=Se puede utilizar para craftear\: +eln:Cannot_be_crafted!=No se puede craftear\! +eln:Cost_%sJ=Cuesta %sJ +eln:Created_by\:=Creado por\:\: +eln:Is_not_a_crafting_material!=No es un material crafteable\! +eln:Recipe\:=Receta\: +eln: +eln:# Appearing in multiple source files +eln:(Increases_capacity)=(Incrementa la capacidad) +eln:(Increases_inductance)=(Aumenta la Inductancia) +eln:Actual\:_%s°C=Real\: %s°C +eln:Biggest=Más grande +eln:Booster_slot=Aumento de espacio +eln:Can_create\:=Puede crear\: +eln:Capacity\:_%sF=Capacidad\: %sF +eln:Charge_power\:_%sW=Potencia cargada\: %sW +eln:Connected=Conectado +eln:Cooling_power\:_%sW=Potencia de refrigeración\: %sW +eln:Copper_cable_slot=Ranura para cable de cobre +eln:Dielectric_slot=Espacio del dialéctrico +eln:Discharge_power\:_%sW=Potencia descargada\: %sW +eln:Electrical_cable_slot=Ranura para cable eléctrico +eln:Entity_filter_slot=Ranura para filtro de entidad +eln:Ferromagnetic_core_slot=Ranura núcleo ferromagnético +eln:Has_a_signal_output.=Tiene una salida de señal +eln:Inductance\:_%sH=Inductancia\: %sH +eln:Internal_resistance\:_%sΩ=Resistencia interna\: %sΩ +eln:Is_off=Está apagado +eln:Is_on=Está en +eln:Max._temperature\:_%s°C=Temperatura máxima\: %s°C +eln:Measured_value\ncorresponding\nto_0%_output=Valor medido\ncorrespondiente\na la salida 0% +eln:Measured_value\ncorresponding\nto_100%_output=Valor medido\ncorrespondiente\na la salida 100% +eln:Nominal\:=Nominal\: +eln:Nominal_power\:_%sW=Poder nominal\: %sW +eln:Nominal_usage\:=Uso nominal\: +eln:Nominal_voltage\:_%sV=Voltaje nominal\: %sV +eln:Not_connected=No conectado +eln:Not_enough_space_for_this_block=No hay suficiente espacio para este bloque +eln:Power=Poder +eln:Power\:_%sW=Poder\: %sW +eln:Range\:_%s_blocks=Puedes pintar %s bloques +eln:Redstone_slot=Ranura de redstone +eln:Regulator_slot=Ranura reguladora +eln:Reset=Reiniciar +eln:Resistance\:_%sΩ=Resistencia\: %sΩ +eln:Smallest=Pequeñísimo +eln:Specify_the_channel=Especifique el canal +eln:Stored_energy\:_%sJ_(%s)=Energía almacenada\: %sJ (%s) +eln:Temperature\:_%s°C=Temperatura\: %s°C +eln:Temperature_gauge=Indicador de temperatura +eln:Thermal_isolator_slot=Ranura de aislante térmico +eln:Toggle=Palanca +eln:Toggle_switch=Interruptor de palanca +eln:Toggles_the_output_each_time\nan_emitter's_value_rises.\nUseful_to_allow_multiple_buttons\nto_control_the_same_light.=Alterna la salida cada vez que\nun valor emisor se eleva.\nÚtil para permitir varios botones\npara controlar la misma luz. +eln:Used_to_cool_down_turbines.=Usado para enfriar las turbinas. +eln:Uses_the_biggest\nvalue_on_the_channel.=Utiliza el mayor\nvalor en el canal. +eln:Uses_the_smallest\nvalue_on_the_channel.=Utiliza el menor\nvalor en el canal. +eln:Validate=Validar +eln:Voltage\:_%sV=Voltaje\: %sV +eln:You_can't_place_this_block_at_this_side=No se puede colocar este bloque en este lado diff --git a/src/main/resources/assets/eln/lang/es_419.lang b/src/main/resources/assets/eln/lang/es_419.lang index ab67bb06b..8e697750e 100644 --- a/src/main/resources/assets/eln/lang/es_419.lang +++ b/src/main/resources/assets/eln/lang/es_419.lang @@ -1,829 +1,829 @@ -# - -# ./src/main/java/mods/eln/Achievements.java -Electrical_Age_[WIP]=Edad eléctrica [WIP] -achievement.craft_50v_macerator=Crushing Novice -achievement.craft_50v_macerator.desc=Craftea un macerador de 50V -achievement.open_guide=Abrir la guía -achievement.open_guide.desc=Abrir la guía desde el escritorio - -# ./src/main/java/mods/eln/Eln.java -10A_Diode.name=10A Diodo -200V_Active_Thermal_Dissipator.name=200V Disipador térmico activo -200V_Battery_Charger.name=200V Cargador de batería -200V_Compressor.name=200V Compresor -200V_Condensator.name=200V Condensador -200V_Copper_Heating_Corp.name=200V Generador de calor de Cobre -200V_Economic_Light_Bulb.name=200V Bombilla económica -200V_Farming_Lamp.name=200V Lámpara agrícola -200V_Fuel_Generator.name=200V Fuel Generator -200V_Incandescent_Light_Bulb.name=200V Bombilla incandescente -200V_Iron_Heating_Corp.name=200V Generador de calor de Hierro -200V_LED_Bulb.name=200V LED Bulb -200V_Macerator.name=200V Macerador -200V_Magnetizer.name=200V Magnetizador -200V_Plate_Machine.name=200V Placa de la máquina -200V_Power_Socket.name=200V Toma de corriente -200V_Tungsten_Heating_Corp.name=200V Generador de calor de Tungsteno -200V_Turbine.name=200V Turbina -25A_Diode.name=25A Diodo -50V_Battery_Charger.name=50V Cargador de batería -50V_Carbon_Incandescent_Light_Bulb.name=50V Bombilla incandescente -50V_Compressor.name=50V Compresor -50V_Condensator.name=50V Condensador -50V_Copper_Heating_Corp.name=50V Generador de calor de Cobre -50V_Economic_Light_Bulb.name=50V Bombilla económica -50V_Egg_Incubator.name=50V Incubadora de huevo -50V_Farming_Lamp.name=50V Lámpara agrícola -50V_Fuel_Generator.name=50V Fuel Generator -50V_Incandescent_Light_Bulb.name=50V Bombilla incandescente -50V_Iron_Heating_Corp.name=50V Generador de calor de Hierro -50V_LED_Bulb.name=50V LED Bulb -50V_Macerator.name=50V Macerador -50V_Magnetizer.name=50V Magnetizador -50V_Plate_Machine.name=50V Lámina de máquina -50V_Power_Socket.name=50V Toma de corriente -50V_Tungsten_Heating_Corp.name=50V Generador de calor de Tungsteno -50V_Turbine.name=50V Turbina -800V_Defence_Turret.name=800V Defensa torreta -AND_Chip.name=AND Chip -Advanced_Chip.name=Chip avanzado -Advanced_Electrical_Motor.name=Motor de calor avanzado -Advanced_Energy_Meter.name=Medidor de energía avanzada -Advanced_Machine_Block.name=Bloque mecánico avanzado -Advanced_Magnet.name=Imán avanzado -AllMeter.name=Polímetro universal -Alloy_Dust.name=Polvo de aleación -Alloy_Ingot.name=Polvo de lingotes -Alloy_Plate.name=Polvo de lámina -Analog_Watch.name=Reloj analógico -Analog_vuMeter.name=Indicador analógico -Analogic_Regulator.name=Regulador analógico -Animal_Filter.name=Filtro de animales -Auto_Miner.name=Minador automático -Average_Electrical_Drill.name=Taladro eléctrico medio -Average_Ferromagnetic_Core.name=Núcleo Ferromagnético medio -Basic_Magnet.name=Imán básico -Black_Brush.name=Pincel negro -Blue_Brush.name=Pincel azul -Brown_Brush.name=Pincel marrón -Capacity_Oriented_Battery.name=Cargador de batería -Cheap_Chip.name=Chip malo -Cheap_Electrical_Drill.name=Martillo eléctrico malo -Cheap_Ferromagnetic_Core.name=Nucleo Ferromagnético malo -Cinnabar_Dust.name=Polvo de Cinabrio -Cinnabar_Ore.name=Mena de Cinabrio -Coal_Dust.name=Polvo de Carbón -Coal_Plate.name=Lámina de Carbón -Combustion_Chamber.name=Cámara de combustión -Copper_Cable.name=Cable de Cobre -Copper_Dust.name=Polvo de Cobre -Copper_Ingot.name=Lingote de Cobre -Copper_Ore.name=Mena de Cobre -Copper_Plate.name=Lámina de Cobre -Copper_Thermal_Cable.name=Cable térmico de Cobre -Cost_Oriented_Battery.name=Cargador de batería -Current_Oriented_Battery.name=Cargador de batería funcional -Cyan_Brush.name=Pincel cián -D_Flip_Flop_Chip.name=D Flip Flop Chip -Data_Logger.name=Datos registrados -Data_Logger_Print.name=Impresora -Dielectric.name=Dieléctrico -Digital_Watch.name=Reloj digital -Electrical_Anemometer_Sensor.name=Anemómetro eléctrico -Electrical_Breaker.name=Interruptor eléctrico -Electrical_Daylight_Sensor.name=Sensor de luz natural eléctrico -Electrical_Entity_Sensor.name=Sensor de entidades eléctrico -Electrical_Fire_Detector.name=Detector de fuego eléctrico -Electrical_Furnace.name=Horno eléctrico -Electrical_Light_Sensor.name=Sensor eléctrico de luz -Electrical_Motor.name=Motor eléctrico -Electrical_Probe.name=Sonda eléctrica -Electrical_Probe_Chip.name=Chip de sonda eléctrica -Electrical_Source.name=Fuente eléctrica -Electrical_Timer.name=Minutero eléctrico -Electrical_Weather_Sensor.name=Sensor del clima eléctrico -Electrical_age_wrench,\nCan_be_used_to_turn\nsmall_wall_blocks=Interruptor eléctrico,\nLo puedes usar para encender\npequeñas paredes de bloques -Energy_Meter.name=Medidor de energía -Experimental_Transporter.name=Transportador experimental -Fast_Electrical_Drill.name=Taladro rápido eléctrico -Ferrite_Ingot.name=Lingote de Ferrita -Flat_Lamp_Socket.name=Enchufe de lámpara plano -Fluorescent_Lamp_Socket.name=Enchufe de lámpara fluorescente -Generator.name=Generator -Gold_Dust.name=Polvo de Oro -Gold_Plate.name=Láminas de Oro -Gray_Brush.name=Pincel gris -Green_Brush.name=Pincel verde -Ground_Cable.name=Toma de tierra -High_Power_Receiver_Antenna.name=Antena receptora de alta potencia -High_Power_Transmitter_Antenna.name=Antena transmisora de alta potencia -High_Voltage_Cable.name=Cable de alto voltaje -High_Voltage_Relay.name=Relé de alto voltaje -High_Voltage_Switch.name=Interruptor de alto voltaje -Hub.name=Hub -Industrial_Data_Logger.name=Pantalla industrial de datos -Iron_Cable.name=Cable de Hierro -Iron_Dust.name=Polvo de Hierro -Iron_Plate.name=Lámina de Hierro -JK_Flip_Flop_Chip.name=JK Flip Flop Chip -LED_vuMeter.name=Indicador de volumen de LED -Lamp_Socket_A.name=Lámpara -Lamp_Socket_B_Projector.name=Portalámparas -Lamp_Supply.name=Suministro de lámpara -Large_Rheostat.name=Large Rheostat -Lead_Dust.name=Polvo de Plomo -Lead_Ingot.name=Lingote de Plomo -Lead_Ore.name=Mena de Plomo -Lead_Plate.name=Lámina de Plomo -Life_Oriented_Battery.name=Nivel de bateria -Light_Blue_Brush.name=Pincel de luz azul -Lime_Brush.name=Pincel lima -Long_Suspended_Lamp_Socket.name=Encufe de lámpara larga suspendida -Low_Power_Receiver_Antenna.name=Antena receptora de baja potencia -Low_Power_Transmitter_Antenna.name=Antena transmisora de baja potencia -Low_Voltage_Cable.name=Cable de baja tensión -Low_Voltage_Relay.name=Relé de baja tensión -Low_Voltage_Switch.name=Interruptor de baja tensión -Machine_Block.name=Bloque de la maquina -Machine_Booster.name=Mejora de maquina -Magenta_Brush.name=Pincel magenta -Medium_Power_Receiver_Antenna.name=Antena receptora de media potencia -Medium_Power_Transmitter_Antenna.name=Antena transmisora de media potencia -Medium_Voltage_Cable.name=Cable de medio voltaje -Medium_Voltage_Relay.name=Relé de medio voltaje -Medium_Voltage_Switch.name=Enchufe de medio voltaje -Mercury.name=Mercurio -Mining_Pipe.name=Tubo de la mineria -Modbus_RTU.name=Modbus RTU -Modern_Data_Logger.name=Pantalla mejorada -Monster_Filter.name=Filtro de mounstros -MultiMeter.name=Multímetro -NAND_Chip.name=NAND Chip -NOR_Chip.name=NOR Chip -NOT_Chip.name=NOT Chip -Nuclear_Alarm.name=Alarma nuclear -OR_Chip.name=OR Chip -On_OFF_Regulator_10_Percent.name=Encendido/Apagado regulador 10% -On_OFF_Regulator_1_Percent.name=Encendido/Apagado regulador 1% -Optimal_Ferromagnetic_Core.name=Núcleo ferromagnético óptimo -Orange_Brush.name=Pincel naranja -Ore_Scanner.name=Escaner de minerales -Oscillator_Chip.name=Oscillator Chip -Overheating_Protection.name=Protección contra sobrecalentamientos -Overvoltage_Protection.name=Protección contra sobrevoltaje -PAL_Chip.name=PAL Chip -Pink_Brush.name=Pincel rosa -Player_Filter.name=Filtro de jugador -Portable_Battery.name=Batería Portátil -Portable_Battery_Pack.name=Pack de baterías portátil -Portable_Condensator.name=Condensador portátil -Portable_Condensator_Pack.name=Pack de condensador portátil -Portable_Electrical_Axe.name=Hacha eléctrica portátil -Portable_Electrical_Mining_Drill.name=Taladro de minería eléctrico portátil -Power_Capacitor.name=Condensador de potencia -Power_Inductor.name=Inductor de potencia -Power_Resistor.name=Resistencia de potencia -Power_capacitor.name=Condensador de potencia -Power_inductor.name=Inductor de potencia -Purple_Brush.name=Pincel violeta -Red_Brush.name=Pincel rojo -Redstone-to-Voltage_Converter.name=Convertidor de Redstone a voltios -Rheostat.name=Reóstato -Robust_Lamp_Socket.name=Portalámparas robusto -Rubber.name=Caucho -Schmitt_Trigger_Chip.name=Schmitt Trigger Chip -Sconce_Lamp_Socket.name=Enchufe de candelabro de pared -Signal_20H_inductor.name=Inductor de señal de 20H -Signal_Antenna.name=Señal de Antena -Signal_Button.name=Señal de Botón -Signal_Cable.name=Señal de Cable -Signal_Diode.name=Señal de Diodo -Signal_Processor.name=Porcesador de señal -Signal_Relay.name=Señal de Relé -Signal_Source.name=Señal de Fuente -Signal_Switch.name=Señal de Encendido -Signal_Switch_with_LED.name=Señal de encendido con LED -Signal_Trimmer.name=Señal de recorte -Silicon_Dust.name=Polvo de Silicio -Silicon_Ingot.name=Lingote de Silicio -Silicon_Plate.name=Lámina de Silicio -Silver_Brush.name=Pincel de Plata -Simple_Lamp_Socket.name=Lámpara simple -Single-use_Battery.name=Batería de un solo uso -Small_200V_Copper_Heating_Corp.name=Calefactor pequeño de Cobre de 200V -Small_200V_Iron_Heating_Corp.name=Calefactor pequeño de Hierro de 200V -Small_200V_Tungsten_Heating_Corp.name=Calefactor pequeño de Tungsteno de 200V -Small_50V_Carbon_Incandescent_Light_Bulb.name=Bulbo de luz incandescente de Carbón pequeño de 50V -Small_50V_Copper_Heating_Corp.name=Calefactor de Cobre pequeño de 50V -Small_50V_Economic_Light_Bulb.name=Bulbo de luz económica pequeño de 50V -Small_50V_Incandescent_Light_Bulb.name=Bulbo de luz incandescente pequeño de 50V -Small_50V_Iron_Heating_Corp.name=Calefactor pequeño de Hierro de 50V -Small_50V_Tungsten_Heating_Corp.name=Calefactor pequeño de Tungsteno 50V -Small_Active_Thermal_Dissipator.name=Disipador pequeño térmico activo -Small_Flashlight.name=Linterna pequeña -Small_Passive_Thermal_Dissipator.name=Disipador pequeño térmico -Small_Rotating_Solar_Panel.name=Panel solar pequeño rotatorio -Small_Solar_Panel.name=Panel solar pequeño -Solar_Tracker.name=Rastreadora solar -Standard_Alarm.name=Alarma estándar -Steam_Turbine.name=Steam Turbine -Stone_Heat_Furnace.name=Horno de calor de Piedra -Street_Light.name=Luz de calle -Suspended_Lamp_Socket.name=Lampara aérea -Temperature_Probe.name=Sonda de temperatura -Thermal_Probe.name=Sonda térmica -Thermal_Probe_Chip.name=Chip de sonda Térmica -Thermistor.name=Termistor -ThermoMeter.name=Termómetro -Transformer.name=Transformador -Tree_Resin.name=Resina -Tree_Resin_Collector.name=Colector de Resina -Tungsten_Cable.name=Cable de Tungsteno -Tungsten_Dust.name=Polvo de Tungsteno -Tungsten_Ingot.name=Lingote de Tungsteno -Tungsten_Ore.name=Mena de Tungsteno -Tutorial_Sign.name=Señal tutorial -Very_High_Voltage_Cable.name=Cable de muy alta tensión -Very_High_Voltage_Relay.name=Relé de muy alta tensión -Very_High_Voltage_Switch.name=Enchufe de muy alta tensión -Voltage-to-Redstone_Converter.name=Convertidor de Redstone a voltios -Voltage_Oriented_Battery.name=Batería de voltios -Voltage_Probe.name=Sonda de voltaje -Water_Turbine.name=Turbina de agua -Weak_50V_Battery_Charger.name=Cargador de batería débil de 50V -White_Brush.name=Pincel blanco -Wind_Turbine.name=Turbina de viento -Wireless_Analyser.name=Analizador inalámbrico -Wireless_Button.name=Boton inalámbrico -Wireless_Signal_Receiver.name=Receptor de señal inalámbrico -Wireless_Signal_Repeater.name=Repetidor de señal inalámbrico -Wireless_Signal_Transmitter.name=Transmisor de señal inalámbrico -Wireless_Switch.name=Interruptor inalámbrico -Wrench.name=Llave inglesa -X-Ray_Scanner.name=Escaner de Rayos X -XNOR_Chip.name=XNOR Chip -XOR_Chip.name=XOR Chip -Yellow_Brush.name=Pincel amarillo -entity.EAReplicator.name=Replicador -item.Copper Axe.name\=Hacha de Cobre -item.Copper Axe.name\=Hacha de Cobre -item.Copper Axe.name\=Hacha de Cobre -item.Copper Axe.name\=Hacha de Cobre -item.Copper Axe.name\=Hacha de Cobre -item.Copper Axe.name\=Hacha de Cobre -item.Copper Axe.name\=Hacha de Cobre -item.Copper Axe.name\=Hacha de Cobre -item.Copper Axe.name\=Hacha de Cobre -item.E-Coal Boots.name\=Botas de Carbón -item.E-Coal Boots.name\=Botas de Carbón -item.E-Coal Boots.name\=Botas de Carbón -item.E-Coal Boots.name\=Botas de Carbón -itemGroup.Eln=Edad eléctrica -mod.meta.desc=Electricidad en tu base\! -tile.eln.ElnProbe.name=Sonda ordenador Eln -tile.eln.EnergyConverterElnToOtherHVUBlock.name=800V Edad eléctrica a otro exportador de energía -tile.eln.EnergyConverterElnToOtherLVUBlock.name=50V Edad eléctrica a otro exportador de energía -tile.eln.EnergyConverterElnToOtherMVUBlock.name=200V Edad eléctrica a otro exportador de energía - -# ./src/main/java/mods/eln/i18n/I18N.java -You_have_%s_lives_left=Te queda el %s de vida - -# ./src/main/java/mods/eln/item/BrushDescriptor.java -Brush_is_dry=El cepillo está seca -Can_paint_%s_blocks=Puedes pintar %s bloques - -# ./src/main/java/mods/eln/item/CombustionChamber.java -Upgrade_for_the_Stone_Heat_Furnace.=Mejora para el horno de calor de piedra. - -# ./src/main/java/mods/eln/item/ElectricalDrillDescriptor.java -Energy_per_operation\:_%sJ=Energía por operación\: %sJ -Time_per_operation\:_%ss=Tiempo por operación\: %ss - -# ./src/main/java/mods/eln/item/FerromagneticCoreDescriptor.java -Cable_loss_factor\:_%s=Factor de pérdida del cable\: %s - -# ./src/main/java/mods/eln/item/HeatingCorpElement.java - -# ./src/main/java/mods/eln/item/LampDescriptor.java -Bad=Malo -Condition\:=Condición\: -End_of_life=Fin de la vida -Good=Bueno -New=Nuevo -Nominal_lifetime\:_%sh=Vida útil nominal\: %sh -Technology\:_%s=Tecnología\: %s -Used=Uso - -# ./src/main/java/mods/eln/item/LampSlot.java -Lamp_slot=Ranura de lámpara - -# ./src/main/java/mods/eln/item/OverHeatingProtectionDescriptor.java -Useful_to_prevent_overheating\nof_Batteries=Útil para prevenir sobrecalentamiento\nde las baterías - -# ./src/main/java/mods/eln/item/OverVoltageProtectionDescriptor.java -Useful_to_prevent_over-voltage\nof_Batteries=Útil para prevenir sobrecarga\nde las baterías - -# ./src/main/java/mods/eln/item/SolarTrackerDescriptor.java -Solar_panel_upgrade=Mejora del panel solar - -# ./src/main/java/mods/eln/item/electricalitem/BatteryItem.java - -# ./src/main/java/mods/eln/item/electricalitem/ElectricalLampItem.java -Off=Apagado -On=Encendido -State\:=Estado\: -Stored_Energy\:_%sJ_(%s)=Energía almacenada\: %sJ (%s) - -# ./src/main/java/mods/eln/item/regulator/RegulatorSlot.java - -# ./src/main/java/mods/eln/misc/UtilsClient.java -Hold_shift=Aguantar shift - -# ./src/main/java/mods/eln/misc/Version.java -mod.name=Edad eléctrica - -# ./src/main/java/mods/eln/node/six/SixNodeDescriptor.java - -# ./src/main/java/mods/eln/simplenode/energyconverter/EnergyConverterElnToOtherGui.java -Input_power_is_limited_to_%sW=La entrada de poder está limitada a %sW - -# ./src/main/java/mods/eln/sixnode/LogicGate.kt -_O\:_= O\: - -# ./src/main/java/mods/eln/sixnode/TreeResinCollector/TreeResinCollectorDescriptor.java -Produces_Tree_Resin_over\ntime_when_put_on_a_tree.=Produce resina de árbol sobre\ntiempo cuando está colocado en un árbol. -This_block_can_only_be_placed_on_the_side_of_a_tree!=This block can only be placed on the side of a tree\! - -# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerContainer.java -Battery_slot=Espacio de batería - -# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerDescriptor.java -Can_be_used_to_recharge\nelectrical_items_like\:\nFlash_Light,_X-Ray_scanner\nand_Portable_Battery_...=Puede ser usado para recargar\nartículos eléctricos con\:\nflash de luz, escáner de rayos X \\ y batería portátil - -# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerGui.java - -# ./src/main/java/mods/eln/sixnode/diode/DiodeDescriptor.java -Electrical_current_can_only\nflow_through_the_diode\nfrom_anode_to_cathode=La corriente eléctrica sólo puede\nfluir a través del diodo\ndesde el anodo al catodo. - -# ./src/main/java/mods/eln/sixnode/electricalalarm/ElectricalAlarmDescriptor.java -= -Emits_an_acoustic_alarm_if\nthe_input_signal_is_high=Emite una alarma acústica\nla señal de entrada es alta. - -# ./src/main/java/mods/eln/sixnode/electricalalarm/ElectricalAlarmGui.java -Sound_is_muted=Sonido silenciado. -Sound_is_not_muted=Sonido dessilenciado. - -# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerContainer.java - -# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerDescriptor.java -Protects_electrical_components\nOpens_contact_if\:\n__-_Voltage_exceeds_a_certain_level\n-_Current_exceeds_the_cable_limit=Componentes de protección eléctrica\nabren contactos si\:\n -\n- la corriente excede el límite del cable. - -# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerGui.java -Maximum_voltage_before_cutting_off=Tensión máxima antes de cortar -Minimum_voltage_before_cutting_off=Tensión mínima antes de cortar -Switch_is_off=El interruptor está desactivado. -Switch_is_on=El interruptor está activado - -# ./src/main/java/mods/eln/sixnode/electricalcable/ElectricalCableDescriptor.java -A_signal_is_electrical_information\nwhich_must_be_between_0V_and_%sV=Una señal es la información eléctrica\nque debe ser entre 0V y %sV -Cable_is_adapted_to_conduct\nelectrical_signals.=El cable está adaptado para conducir\nseñales eléctricas. -Current\:_%sA=Corriente\: %sA -Not_adapted_to_transport_power.=No adaptado para el transporte de energía. -Save_usage\:=Guardar el uso\: -Serial_resistance\:_%sΩ=La resistencia en serie\: %sΩ - -# ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerDescriptor.java -It_can_store_up_to_256_points.=Es capaz de almacenar hasta 256 puntos -Measures_the_voltage_of_an\nelectrical_signal_and_plots\nthe_data_in_real_time.=Mide la tensión de una\nseñal eléctrica y parcelas\nlos datos en tiempo real. - -# ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerGui.java -Back_to_display=Volver a mostrar -Configuration=Configuración -Current_[A]=Corriente [A] -Energy_[J]=Energía [J] -Percent_[-]%=Porciento [-]% -Power_[W]=Potencia [W] -Print=Impresión -Sampling_period=Periodo de muestra -Temp._[*C]=Temp. [*C] -Voltage_[V]=Voltaje [V] -Y-axis_max=Y-eje máximo -Y-axis_min=Y-eje mínimo - -# ./src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorContainer.java - -# ./src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorDescriptor.java -Output_voltage_increases\nif_entities_are_moving_around.=Aumenta la tensión de salida\nsi las entidades están moviendo. - -# ./src/main/java/mods/eln/sixnode/electricalfiredetector/ElectricalFireDetectorDescriptor.java -Output_voltage_increases\nif_a_fire_has_been_detected.=Aumenta la tensión de salida\nsi se ha detectado un incendio. - -# ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceDescriptor.java -Provides_configurable_signal\nvoltage.=Proporciona señal configurable\nvoltaje. - -# ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceGui.java -Output_at_%s=La producción en %s - -# ./src/main/java/mods/eln/sixnode/electricallightsensor/ElectricalLightSensorDescriptor.java -0V_at_night,_%sV_at_noon.=0V a la noche, %sV al mediodía. -Provides_an_electrical_voltage\nin_the_presence_of_light.=Proporciona una tensión eléctrica\nen presencia de la luz. -Provides_an_electrical_voltage\nwhich_is_proportional_to\nthe_intensity_of_daylight.=Proporciona una tensión eléctrica\nque es proporcional a\nla intensidad de la luz del día. - -# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathContainer.java - -# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathDescriptor.java -Applicable_boolean_operators\:=Operadores booleanos aplicables\: -Applicable_functions\:=Funciones aplicables\: -Applicable_mathematical_operators\:=Operadores matemáticos aplicables\: -Calculates_an_output_signal_from\n3_inputs_(A,_B,_C)_using_an_equation.=Calcula una señal de salida\nde 3 entradas (A, B, C) utilizando una ecuación. - -# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathGui.java -%s_Redstone(s)_required=%s Redstone(s) requerida -Equation_required!=Ecuación requerida\! -Inputs_are=Las entradas son -Invalid_equation!=Ecuación inválida\! -Output_voltage_formula=Fórmula de tensión de salida -Waiting_for_completion...=A la espera de la finalización... - -# ./src/main/java/mods/eln/sixnode/electricalredstoneinput/ElectricalRedstoneInputDescriptor.java -Converts_Redstone_signal\nto_an_electrical_voltage.=Convierte la señal de Redstone\na una tensión eléctrica. - -# ./src/main/java/mods/eln/sixnode/electricalredstoneoutput/ElectricalRedstoneOutputDescriptor.java -Converts_electrical_voltage\ninto_a_Redstone_signal.=Convierte la tensión eléctrica\nen una señal de Redstone. - -# ./src/main/java/mods/eln/sixnode/electricalrelay/ElectricalRelayDescriptor.java -A_relay_is_an_electrical\ncontact_that_conducts_electric\ncurrent_or_not,_depending\nthe_actual_input_signal_voltage.=Un relé es un \ncontacto que conduce electricidad\nactualmente o no, dependiendo\ndel voltaje de la señal de entrada real. - -# ./src/main/java/mods/eln/sixnode/electricalrelay/ElectricalRelayGui.java -Normally_closed=Normalmente cerrado -Normally_open=Normalmente abierto - -# ./src/main/java/mods/eln/sixnode/electricalsource/ElectricalSourceDescriptor.java -Creative_block.=Bloque creativo. -Provides_an_ideal_voltage_source\nwithout_energy_or_power_limitation.=Proporciona una fuente ideal de voltaje\nsin energía y sin limitación de potencia. - -# ./src/main/java/mods/eln/sixnode/electricalsource/ElectricalSourceGui.java -Output_voltage=Tensión de salida - -# ./src/main/java/mods/eln/sixnode/electricalswitch/ElectricalSwitchDescriptor.java -Can_break_an_electrical_circuit\ninterrupting_the_current.=Puede romper un circuito eléctrico\ninterrumpiendo la corriente. - -# ./src/main/java/mods/eln/sixnode/electricaltimeout/ElectricalTimeoutDescriptor.java -Upon_application_of_a_high_signal,\nthe_timer_maintains_the_output_high_for\na_configurable_interval._Can_be_re-triggered.=Tras la aplicación de una señal de alto,\nel temporizador mantiene el alto rendimiento de\nun intervalo configurable. Puede ser re-activado. - -# ./src/main/java/mods/eln/sixnode/electricaltimeout/ElectricalTimeoutGui.java -Set=Set -The_time_interval_the\noutput_is_kept_high.=En el intervalo de tiempo,\nla salida se mantiene alta. - -# ./src/main/java/mods/eln/sixnode/electricalvumeter/ElectricalVuMeterDescriptor.java -Displays_the_value_of_a_signal.=Muestra el valor de una señal. - -# ./src/main/java/mods/eln/sixnode/electricalwatch/ElectricalWatchContainer.java -Portable_battery_slot=Ranura de la batería portátil - -# ./src/main/java/mods/eln/sixnode/electricalweathersensor/ElectricalWeatherSensorDescriptor.java -Clear\:_%sV=Clear\: %sV -Provides_an_electrical_signal\ndepending_the_actual_weather.=Proporciona una señal eléctrica\nen función del tiempo real. -Rain\:_%sV=Rain\: %sV -Storm\:_%sV=Storm\: %sV - -# ./src/main/java/mods/eln/sixnode/electricalwindsensor/ElectricalWindSensorDescriptor.java -Maximum_wind_speed_is_%sm_s=Velocidad máxima del viento es %sm/s -Provides_an_electrical_signal\ndependant_on_wind_speed.=Proporciona una señal eléctrica\nque depende de la velocidad del viento. -You_can't_place_this_block_on_the_floor_or_the_ceiling=You can't place this block on the floor or the ceiling - -# ./src/main/java/mods/eln/sixnode/electricasensor/ElectricalSensorDescriptor.java -Can_measure_Voltage_Power_Current=Puede medir tensión / potencia / corriente -Measures_electrical_values_on_cables.=Mide valores eléctricos en los cables. -Measures_voltage_on_cables.=Mide la tensión en los cables. - -# ./src/main/java/mods/eln/sixnode/electricasensor/ElectricalSensorGui.java -Current=Current -Measured_voltage\ncorresponding\nto_0%_output=Tensión medida\ncorrespondiente\na la salida de 0%. -Measured_voltage\ncorresponding\nto_100%_output=Tensión medida\ncorrespondiente\na la salida 100%. -Voltage=Voltaje - -# ./src/main/java/mods/eln/sixnode/energymeter/EnergyMeterGui.java -Change_password=Cambiar contraseña -Counter_Mode=Modo de contador -Counts_the_energy_conducted_from\n\u00a74red\u00a7f_to_\u00a71blue\u00a7f.=Que cuenta la energía conducida desde\n\\u00a74rojo\\u00a7f a \\u00a71azul\\u00a7f. -Energy_counter\:_%sJ=Contador de energía\: %sJ -Enter_new_energy=Introducir nueva energía -Enter_password=Escribir contraseña -Prepay_Mode=Modo prepago -Reset_time_counter=Contador de tiempo de reposición -Set_energy_counter=Establecer contador de energía -Time_counter\:=Contador de tiempo\: -Try_password=Probar contraseña -You_can_set_an_initial\namount_of_available_energy.\nWhen_the_counter_arrives_at_0\nthe_contact_will_be_opened.=Se puede establecer una primera\ncantidad de energía disponible.\nCuando el contador llega a 0\nse abre el contacto. -is_off=Está apagado. -is_on=Está encendido. -value_in_kJ=Valor en kJ - -# ./src/main/java/mods/eln/sixnode/groundcable/GroundCableDescriptor.java -Can_be_used_to_set_a_point_of_an\nelectrical_network_to_0V_potential.\nFor_example_to_ground_negative_battery_contacts.=Puede ser utilizado para establecer un punto \nde una la red eléctrica al potencial de 0V.\nPor ejemplo para conectar a tierra los contactos negativos de la batería. -Provides_a_zero_volt_reference.=Proporciona una referencia de cero voltios. - -# ./src/main/java/mods/eln/sixnode/hub/HubDescriptor.java -Allows_crossing_cables\non_one_single_block.=Permite cables de cruce\nen un solo bloque. - -# ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketDescriptor.java -Angle\:_%s°_to_%s°=Ángulo\: %s° to %s° -Spot_range\:_%s_blocks=Rango de la localización\: %s bloques - -# ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketGuiDraw.java -%s_is_not_in_range!=%s is not in range\! -Cable_slot_empty=Cable con espacio vacío -Orientation\:_%s°=Orientación\: %s° -Parallel=Paralelo -Powered_by_Lamp_Supply=Encendido con lámpara -Powered_by_cable=Encendido con cable -Serial=Serial -Specify_the_supply_channel=Específico para un canal secundario - -# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyContainer.java -Electrical_cable_slot\nBase_range_is_32_blocks.\nEach_additional_cable\nincreases_range_by_one.=Una ranura del cable electrico.\nTiene una base de 32 bloques.\nCada cable adicional\nincrementa la base por uno. - -# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyDescriptor.java -Supplies_all_lamps_on_the_channel.=Suministra todas las lámparas en el canal. - -# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyGui.java -Power_channel_name=Nombre del canal de alimentación -Wireless_channel_name=Nombre del canal inalámbrico - -# ./src/main/java/mods/eln/sixnode/modbusrtu/ModbusRtuGui.java -Add=Añadir -Channel_name=Nobre del canal -Modbus_ID=Modbus ID -Modbus_RTU=Modbus RTU -Station_ID=ID de estación -Station_name=Nombre de estación. -Wireless_RX=Wireless RX -Wireless_TX=Wireless TX - -# ./src/main/java/mods/eln/sixnode/powercapacitorsix/PowerCapacitorSixContainer.java -(Increases_maximum_voltage)=(Aumenta la tensión máxima) - -# ./src/main/java/mods/eln/sixnode/powercapacitorsix/PowerCapacitorSixGui.java - -# ./src/main/java/mods/eln/sixnode/powerinductorsix/PowerInductorSixContainer.java - -# ./src/main/java/mods/eln/sixnode/powerinductorsix/PowerInductorSixGui.java - -# ./src/main/java/mods/eln/sixnode/powersocket/PowerSocketDescriptor.java -Supplies_any_device\nplugged_in_with_energy.=Suministra cualquier dispositivo\nenchufado con la energía. - -# ./src/main/java/mods/eln/sixnode/powersocket/PowerSocketGui.java -Specify_the_device_to_supply_through_this_socket.=Especifique el dispositivo para el suministro a través de esta toma. - -# ./src/main/java/mods/eln/sixnode/resistor/ResistorContainer.java -(Sets_resistance)=(Sets resistance) -Coal_dust_slot=Coal dust slot - -# ./src/main/java/mods/eln/sixnode/thermalcable/ThermalCableDescriptor.java -High_parallel_resistance\n_\=>_Low_power_dissipation.=Resistencia paralela alta\n \=> Bajo poder disipación. -Low_serial_resistance\n_\=>_High_conductivity.=Baja resistencia de serie\n\=> Alta conductividad. -Parallel_resistance\:_%sK_W=Resistencia paralela\: %sK/W -Serial_resistance\:_%sK_W=Resistencia de serie\: %sK/W - -# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorContainer.java -Cable_slot=Ranura para cable - -# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorDescriptor.java -Can_measure\:=Puede medir\: -Measures_temperature_of_cables.=Medidas de temperatura de cables. -Measures_thermal_values_on_cables.=Medidas de valores térmicos en los cables. -__Temperature_Power_conducted=Temperatura / Energía llevado a cabo - -# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorGui.java -Measured_temperature\ncorresponding\nto_0%_output=Temperatura medida\ncorrespondiente\na la salida 0% -Measured_temperature\ncorresponding\nto_100%_output=Temperatura medida\ncorrespondiente\na la salida 100% -Temperature=Temperatura - -# ./src/main/java/mods/eln/sixnode/tutorialsign/TutorialSignElement.java -No_text_associated_to_this_beacon=No hay texto asociado a este beacon - -# ./src/main/java/mods/eln/sixnode/tutorialsign/TutorialSignGui.java -Set_beacon_name=Nombre del conjunto de beacon - -# ./src/main/java/mods/eln/sixnode/wirelesssignal/rx/WirelessSignalRxGui.java - -# ./src/main/java/mods/eln/transparentnode/FuelGenerator.kt -Nominal_power\:_%s_W=Nominal power\: %s W -Nominal_voltage\:_%s_V=Nominal voltage\: %s V -Produces_electricity_using_fuel.=Produce electricidad usando combustible. - -# ./src/main/java/mods/eln/transparentnode/LargeRheostat.kt -Nom._Resistance\:_%s=Nom. Resistance\: %s - -# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerContainer.java -Drill_slot=Ranura del taladro -Mining_pipe_slot=Ranura de tubería de minería -Ore_scanner_slot=Ranura de escáner de mineral - -# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerDescriptor.java -Excavates_on_a_small_radius.\nExtracts_ore_on_a_bigger_radius\:\n10_blocks_radius_after_10_blocks_depth.=Excavates on a small radius.\nExtracts ore on a bigger radius\:\n10 blocks radius after 10 blocks depth. - -# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerGuiDraw.java -Chest_missing_on_the\nback_of_the_auto_miner!=Chest missing on the\nback of the auto miner\! -Halves_speed,_triples_power_draw=Halves speed, triples power draw -Silk_Touch_Off=Silk Touch Off -Silk_Touch_On=Silk Touch On -Silk_touch=Silk touch - -# ./src/main/java/mods/eln/transparentnode/battery/BatteryContainer.java -Overheating_protection=Overheating protection -Overvoltage_protection=Overvoltage protection - -# ./src/main/java/mods/eln/transparentnode/battery/BatteryDescriptor.java -Actual_charge\:_%s=Carga actual\: %s -Energy_capacity\:_%sJ=Capacidad de energía\: %sJ -_charged_at_%s=Cargado hasta %s - -# ./src/main/java/mods/eln/transparentnode/battery/BatteryGuiDraw.java -Charge=Carga -Charged=Cargado -Discharge=Descargado -Energy\:=Energía\: -Energy\:_%s=Energía\: %s -Life\:=Vida\: -No_charge=Sin carga -Power_in\:=Potencia dentro\: -Power_out\:=Potencia fuera\: - -# ./src/main/java/mods/eln/transparentnode/eggincubator/EggIncubatorContainer.java -Egg_slot=Ranura del huevo - -# ./src/main/java/mods/eln/transparentnode/electricalantennarx/ElectricalAntennaRxDescriptor.java -Wireless_energy_receiver.=Receptor de energía inalámbrica. - -# ./src/main/java/mods/eln/transparentnode/electricalantennatx/ElectricalAntennaTxDescriptor.java -Efficiency\:_%s_up_to_%s=Eficiencia\: %s hasta %s -Wireless_energy_transmitter.=Transmisor de energía inalámbrica. - -# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceContainer.java -Heating_corp_slot=Ranura de calefacción - -# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceDescriptor.java -Similar_to_a_vanilla_furnace,\nbut_heats_with_electricity.=Similar a un horno\npero calienta con electricidad. - -# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceGuiDraw.java -Auto_shutdown=Apagado automático -Manual_shutdown=Cierre manual -Set_point\:_%s°C=Punto fijo\: %s°C - -# ./src/main/java/mods/eln/transparentnode/electricalmachine/ElectricalMachineDescriptor.java -Cost=Coste - -# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceContainer.java -Combustion_chamber_slot=Ranura cámara de combustión -Fuel_slot=Ranura de combustible - -# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceDescriptor.java -Generates_heat_when_supplied_with_fuel.=Genera calor como fuente de combustible. - -# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceGuiDraw.java -Control_gauge_at_%s=Control de medida a %s -Decline_fuel=Eliminar combustible -External_control=Control externo -Internal_control=Control interno -Take_fuel=Coger combustible - -# ./src/main/java/mods/eln/transparentnode/powercapacitor/PowerCapacitorContainer.java -(Increases_maximal_voltage)=(Tensión máxima aumentada) - -# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelContainer.java -Solar_tracker_slot=Ranura del rastreador solar - -# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelDescriptor.java -Can_be_geared_towards_the_sun.=Puede ser orientada hacia el sol. -Max._power\:_%sW=Potencia máxima\: %sW -Max._voltage\:_%sV=Voltaje máximo\: %sV -Produces_power_from_solar_radiation.=Produce energía de la radiación solar. - -# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPannelGuiDraw.java -It_is_night=Es de noche -Solar_panel_angle\:_%s°=Angulo del panel solar\: %s° -Sun_angle\:_%s°=El ángulo del sol\: %s° - -# ./src/main/java/mods/eln/transparentnode/teleporter/TeleporterGui.java -Destination_transporter=Destino transportador -Power_consumption\:=Consumo de energía\: -Power_consumption\:_%sW=Consumo de energía\: %sW -Required_energy\:_%sJ=Requiere energía\: %sJ -Start=Comenzar -Transporter_name=Nombre del transportador - -# ./src/main/java/mods/eln/transparentnode/thermaldissipatoractive/ThermalDissipatorActiveDescriptor.java -Fan_cooling_power\:_%sW=Potencia del ventilador de refrigeración\: %sW -Fan_power_consumption\:_%sW=Consumo de energía del ventilador\: %sW -Fan_voltage\:_%sV=Voltaje del ventilador\: %sV - -# ./src/main/java/mods/eln/transparentnode/transformer/TransformerDescriptor.java -The_voltage_ratio_is_proportional\nto_the_cable_stacks_count_ratio.=La relación de voltaje es proporcional\nal cable. -Transforms_an_input_voltage_to\nan_output_voltage.=Transforma una tensión de entrada de\nuna tensión de salida. - -# ./src/main/java/mods/eln/transparentnode/turbine/TurbineDescriptor.java -Generates_electricity_using_heat.=Genera electricidad por la temperatura. -Temperature_difference\:_%s°C=Temperaturas diferentes\: %s°C - -# ./src/main/java/mods/eln/transparentnode/turret/TurretDescriptor.java -CAUTION\:_Cables_can_get_quite_hot!=Precaución\: Los cables pueden llegar a estar muy calientes\! -Laser_charge_power\:_%sW...%skW=Laser cargado\: %sW...%skW -Scans_for_entities_and_shoots_if_the\nentity_matches_the_configurable_filter_criteria.=Analiza en busca de las entidades y los brotes de la\nentidad que coincide con los criterios del filtro configurables. -Standby_power\:_%sW=Energía de reserva\: %sW - -# ./src/main/java/mods/eln/transparentnode/turret/TurretGui.java -Attack\:=Atacar\: -Do_not_attack\:=No atacar\: -Recharge_power\:=Potencia recargada\: - -# ./src/main/java/mods/eln/transparentnode/waterturbine/WaterTurbineDescriptor.java -Generates_energy_using_water_stream.=Genera energía por la corriente del agua. -No_place_for_water_turbine!=No place for water turbine\! - -# ./src/main/java/mods/eln/transparentnode/windturbine/WindTurbineDescriptor.java -Front\:_%s=En frente\: %s -Generates_energy_from_wind.=Genera energía por el viento. -Left_Right\:_%s=Izquierda/Derecha\: %s -Up_Down\:_%s=Arriba/Abajo\: %s -Wind_area\:=Área de viento\: - -# ./src/main/java/mods/eln/wiki/Data.java -Energy=Energía -Light=Luz -Machine=Máquina -Ore=Mena -Portable=Portable -Resource=Recurso -Signal=Señal -Thermal=Térmico -Upgrade=Actualización -Utilities=Utilidades -Wiring=Cables - -# ./src/main/java/mods/eln/wiki/Default.java -Previous=Previo - -# ./src/main/java/mods/eln/wiki/ItemDefault.java -Can_be_used_to_craft\:=Se puede utilizar para craftear\: -Cannot_be_crafted!=No se puede craftear\! -Cost_%sJ=Cuesta %sJ -Created_by\:=Creado por\:\: -Is_not_a_crafting_material!=No es un material crafteable\! -Recipe\:=Receta\: - -# Appearing in multiple source files -(Increases_capacity)=(Incrementa la capacidad) -(Increases_inductance)=(Aumenta la Inductancia) -Actual\:_%s°C=Real\: %s°C -Biggest=Más grande -Booster_slot=Aumento de espacio -Can_create\:=Puede crear\: -Capacity\:_%sF=Capacidad\: %sF -Charge_power\:_%sW=Potencia cargada\: %sW -Connected=Conectado -Cooling_power\:_%sW=Potencia de refrigeración\: %sW -Copper_cable_slot=Ranura para cable de cobre -Dielectric_slot=Espacio del dialéctrico -Discharge_power\:_%sW=Potencia descargada\: %sW -Electrical_cable_slot=Ranura para cable eléctrico -Entity_filter_slot=Ranura para filtro de entidad -Ferromagnetic_core_slot=Ranura núcleo ferromagnético -Has_a_signal_output.=Tiene una salida de señal -Inductance\:_%sH=Inductancia\: %sH -Internal_resistance\:_%sΩ=Resistencia interna\: %sΩ -Is_off=Está apagado -Is_on=Está en -Max._temperature\:_%s°C=Temperatura máxima\: %s°C -Measured_value\ncorresponding\nto_0%_output=Valor medido\ncorrespondiente\na la salida 0% -Measured_value\ncorresponding\nto_100%_output=Valor medido\ncorrespondiente\na la salida 100% -Nominal\:=Nominal\: -Nominal_power\:_%sW=Poder nominal\: %sW -Nominal_usage\:=Uso nominal\: -Nominal_voltage\:_%sV=Voltaje nominal\: %sV -Not_connected=No conectado -Not_enough_space_for_this_block=No hay suficiente espacio para este bloque -Power=Poder -Power\:_%sW=Poder\: %sW -Range\:_%s_blocks=Puedes pintar %s bloques -Redstone_slot=Ranura de redstone -Regulator_slot=Ranura reguladora -Reset=Reiniciar -Resistance\:_%sΩ=Resistencia\: %sΩ -Smallest=Pequeñísimo -Specify_the_channel=Especifique el canal -Stored_energy\:_%sJ_(%s)=Energía almacenada\: %sJ (%s) -Temperature\:_%s°C=Temperatura\: %s°C -Temperature_gauge=Indicador de temperatura -Thermal_isolator_slot=Ranura de aislante térmico -Toggle=Palanca -Toggle_switch=Interruptor de palanca -Toggles_the_output_each_time\nan_emitter's_value_rises.\nUseful_to_allow_multiple_buttons\nto_control_the_same_light.=Alterna la salida cada vez que\nun valor emisor se eleva.\nÚtil para permitir varios botones\npara controlar la misma luz. -Used_to_cool_down_turbines.=Usado para enfriar las turbinas. -Uses_the_biggest\nvalue_on_the_channel.=Utiliza el mayor\nvalor en el canal. -Uses_the_smallest\nvalue_on_the_channel.=Utiliza el menor\nvalor en el canal. -Validate=Validar -Voltage\:_%sV=Voltaje\: %sV -You_can't_place_this_block_at_this_side=No se puede colocar este bloque en este lado +eln:# +eln: +eln:# ./src/main/java/mods/eln/Achievements.java +eln:Electrical_Age_[WIP]=Edad eléctrica [WIP] +eln:achievement.craft_50v_macerator=Crushing Novice +eln:achievement.craft_50v_macerator.desc=Craftea un macerador de 50V +eln:achievement.open_guide=Abrir la guía +eln:achievement.open_guide.desc=Abrir la guía desde el escritorio +eln: +eln:# ./src/main/java/mods/eln/Eln.java +eln:10A_Diode.name=10A Diodo +eln:200V_Active_Thermal_Dissipator.name=200V Disipador térmico activo +eln:200V_Battery_Charger.name=200V Cargador de batería +eln:200V_Compressor.name=200V Compresor +eln:200V_Condensator.name=200V Condensador +eln:200V_Copper_Heating_Corp.name=200V Generador de calor de Cobre +eln:200V_Economic_Light_Bulb.name=200V Bombilla económica +eln:200V_Farming_Lamp.name=200V Lámpara agrícola +eln:200V_Fuel_Generator.name=200V Fuel Generator +eln:200V_Incandescent_Light_Bulb.name=200V Bombilla incandescente +eln:200V_Iron_Heating_Corp.name=200V Generador de calor de Hierro +eln:200V_LED_Bulb.name=200V LED Bulb +eln:200V_Macerator.name=200V Macerador +eln:200V_Magnetizer.name=200V Magnetizador +eln:200V_Plate_Machine.name=200V Placa de la máquina +eln:200V_Power_Socket.name=200V Toma de corriente +eln:200V_Tungsten_Heating_Corp.name=200V Generador de calor de Tungsteno +eln:200V_Turbine.name=200V Turbina +eln:25A_Diode.name=25A Diodo +eln:50V_Battery_Charger.name=50V Cargador de batería +eln:50V_Carbon_Incandescent_Light_Bulb.name=50V Bombilla incandescente +eln:50V_Compressor.name=50V Compresor +eln:50V_Condensator.name=50V Condensador +eln:50V_Copper_Heating_Corp.name=50V Generador de calor de Cobre +eln:50V_Economic_Light_Bulb.name=50V Bombilla económica +eln:50V_Egg_Incubator.name=50V Incubadora de huevo +eln:50V_Farming_Lamp.name=50V Lámpara agrícola +eln:50V_Fuel_Generator.name=50V Fuel Generator +eln:50V_Incandescent_Light_Bulb.name=50V Bombilla incandescente +eln:50V_Iron_Heating_Corp.name=50V Generador de calor de Hierro +eln:50V_LED_Bulb.name=50V LED Bulb +eln:50V_Macerator.name=50V Macerador +eln:50V_Magnetizer.name=50V Magnetizador +eln:50V_Plate_Machine.name=50V Lámina de máquina +eln:50V_Power_Socket.name=50V Toma de corriente +eln:50V_Tungsten_Heating_Corp.name=50V Generador de calor de Tungsteno +eln:50V_Turbine.name=50V Turbina +eln:800V_Defence_Turret.name=800V Defensa torreta +eln:AND_Chip.name=AND Chip +eln:Advanced_Chip.name=Chip avanzado +eln:Advanced_Electrical_Motor.name=Motor de calor avanzado +eln:Advanced_Energy_Meter.name=Medidor de energía avanzada +eln:Advanced_Machine_Block.name=Bloque mecánico avanzado +eln:Advanced_Magnet.name=Imán avanzado +eln:AllMeter.name=Polímetro universal +eln:Alloy_Dust.name=Polvo de aleación +eln:Alloy_Ingot.name=Polvo de lingotes +eln:Alloy_Plate.name=Polvo de lámina +eln:Analog_Watch.name=Reloj analógico +eln:Analog_vuMeter.name=Indicador analógico +eln:Analogic_Regulator.name=Regulador analógico +eln:Animal_Filter.name=Filtro de animales +eln:Auto_Miner.name=Minador automático +eln:Average_Electrical_Drill.name=Taladro eléctrico medio +eln:Average_Ferromagnetic_Core.name=Núcleo Ferromagnético medio +eln:Basic_Magnet.name=Imán básico +eln:Black_Brush.name=Pincel negro +eln:Blue_Brush.name=Pincel azul +eln:Brown_Brush.name=Pincel marrón +eln:Capacity_Oriented_Battery.name=Cargador de batería +eln:Cheap_Chip.name=Chip malo +eln:Cheap_Electrical_Drill.name=Martillo eléctrico malo +eln:Cheap_Ferromagnetic_Core.name=Nucleo Ferromagnético malo +eln:Cinnabar_Dust.name=Polvo de Cinabrio +eln:Cinnabar_Ore.name=Mena de Cinabrio +eln:Coal_Dust.name=Polvo de Carbón +eln:Coal_Plate.name=Lámina de Carbón +eln:Combustion_Chamber.name=Cámara de combustión +eln:Copper_Cable.name=Cable de Cobre +eln:Copper_Dust.name=Polvo de Cobre +eln:Copper_Ingot.name=Lingote de Cobre +eln:Copper_Ore.name=Mena de Cobre +eln:Copper_Plate.name=Lámina de Cobre +eln:Copper_Thermal_Cable.name=Cable térmico de Cobre +eln:Cost_Oriented_Battery.name=Cargador de batería +eln:Current_Oriented_Battery.name=Cargador de batería funcional +eln:Cyan_Brush.name=Pincel cián +eln:D_Flip_Flop_Chip.name=D Flip Flop Chip +eln:Data_Logger.name=Datos registrados +eln:Data_Logger_Print.name=Impresora +eln:Dielectric.name=Dieléctrico +eln:Digital_Watch.name=Reloj digital +eln:Electrical_Anemometer_Sensor.name=Anemómetro eléctrico +eln:Electrical_Breaker.name=Interruptor eléctrico +eln:Electrical_Daylight_Sensor.name=Sensor de luz natural eléctrico +eln:Electrical_Entity_Sensor.name=Sensor de entidades eléctrico +eln:Electrical_Fire_Detector.name=Detector de fuego eléctrico +eln:Electrical_Furnace.name=Horno eléctrico +eln:Electrical_Light_Sensor.name=Sensor eléctrico de luz +eln:Electrical_Motor.name=Motor eléctrico +eln:Electrical_Probe.name=Sonda eléctrica +eln:Electrical_Probe_Chip.name=Chip de sonda eléctrica +eln:Electrical_Source.name=Fuente eléctrica +eln:Electrical_Timer.name=Minutero eléctrico +eln:Electrical_Weather_Sensor.name=Sensor del clima eléctrico +eln:Electrical_age_wrench,\nCan_be_used_to_turn\nsmall_wall_blocks=Interruptor eléctrico,\nLo puedes usar para encender\npequeñas paredes de bloques +eln:Energy_Meter.name=Medidor de energía +eln:Experimental_Transporter.name=Transportador experimental +eln:Fast_Electrical_Drill.name=Taladro rápido eléctrico +eln:Ferrite_Ingot.name=Lingote de Ferrita +eln:Flat_Lamp_Socket.name=Enchufe de lámpara plano +eln:Fluorescent_Lamp_Socket.name=Enchufe de lámpara fluorescente +eln:Generator.name=Generator +eln:Gold_Dust.name=Polvo de Oro +eln:Gold_Plate.name=Láminas de Oro +eln:Gray_Brush.name=Pincel gris +eln:Green_Brush.name=Pincel verde +eln:Ground_Cable.name=Toma de tierra +eln:High_Power_Receiver_Antenna.name=Antena receptora de alta potencia +eln:High_Power_Transmitter_Antenna.name=Antena transmisora de alta potencia +eln:High_Voltage_Cable.name=Cable de alto voltaje +eln:High_Voltage_Relay.name=Relé de alto voltaje +eln:High_Voltage_Switch.name=Interruptor de alto voltaje +eln:Hub.name=Hub +eln:Industrial_Data_Logger.name=Pantalla industrial de datos +eln:Iron_Cable.name=Cable de Hierro +eln:Iron_Dust.name=Polvo de Hierro +eln:Iron_Plate.name=Lámina de Hierro +eln:JK_Flip_Flop_Chip.name=JK Flip Flop Chip +eln:LED_vuMeter.name=Indicador de volumen de LED +eln:Lamp_Socket_A.name=Lámpara +eln:Lamp_Socket_B_Projector.name=Portalámparas +eln:Lamp_Supply.name=Suministro de lámpara +eln:Large_Rheostat.name=Large Rheostat +eln:Lead_Dust.name=Polvo de Plomo +eln:Lead_Ingot.name=Lingote de Plomo +eln:Lead_Ore.name=Mena de Plomo +eln:Lead_Plate.name=Lámina de Plomo +eln:Life_Oriented_Battery.name=Nivel de bateria +eln:Light_Blue_Brush.name=Pincel de luz azul +eln:Lime_Brush.name=Pincel lima +eln:Long_Suspended_Lamp_Socket.name=Encufe de lámpara larga suspendida +eln:Low_Power_Receiver_Antenna.name=Antena receptora de baja potencia +eln:Low_Power_Transmitter_Antenna.name=Antena transmisora de baja potencia +eln:Low_Voltage_Cable.name=Cable de baja tensión +eln:Low_Voltage_Relay.name=Relé de baja tensión +eln:Low_Voltage_Switch.name=Interruptor de baja tensión +eln:Machine_Block.name=Bloque de la maquina +eln:Machine_Booster.name=Mejora de maquina +eln:Magenta_Brush.name=Pincel magenta +eln:Medium_Power_Receiver_Antenna.name=Antena receptora de media potencia +eln:Medium_Power_Transmitter_Antenna.name=Antena transmisora de media potencia +eln:Medium_Voltage_Cable.name=Cable de medio voltaje +eln:Medium_Voltage_Relay.name=Relé de medio voltaje +eln:Medium_Voltage_Switch.name=Enchufe de medio voltaje +eln:Mercury.name=Mercurio +eln:Mining_Pipe.name=Tubo de la mineria +eln:Modbus_RTU.name=Modbus RTU +eln:Modern_Data_Logger.name=Pantalla mejorada +eln:Monster_Filter.name=Filtro de mounstros +eln:MultiMeter.name=Multímetro +eln:NAND_Chip.name=NAND Chip +eln:NOR_Chip.name=NOR Chip +eln:NOT_Chip.name=NOT Chip +eln:Nuclear_Alarm.name=Alarma nuclear +eln:OR_Chip.name=OR Chip +eln:On_OFF_Regulator_10_Percent.name=Encendido/Apagado regulador 10% +eln:On_OFF_Regulator_1_Percent.name=Encendido/Apagado regulador 1% +eln:Optimal_Ferromagnetic_Core.name=Núcleo ferromagnético óptimo +eln:Orange_Brush.name=Pincel naranja +eln:Ore_Scanner.name=Escaner de minerales +eln:Oscillator_Chip.name=Oscillator Chip +eln:Overheating_Protection.name=Protección contra sobrecalentamientos +eln:Overvoltage_Protection.name=Protección contra sobrevoltaje +eln:PAL_Chip.name=PAL Chip +eln:Pink_Brush.name=Pincel rosa +eln:Player_Filter.name=Filtro de jugador +eln:Portable_Battery.name=Batería Portátil +eln:Portable_Battery_Pack.name=Pack de baterías portátil +eln:Portable_Condensator.name=Condensador portátil +eln:Portable_Condensator_Pack.name=Pack de condensador portátil +eln:Portable_Electrical_Axe.name=Hacha eléctrica portátil +eln:Portable_Electrical_Mining_Drill.name=Taladro de minería eléctrico portátil +eln:Power_Capacitor.name=Condensador de potencia +eln:Power_Inductor.name=Inductor de potencia +eln:Power_Resistor.name=Resistencia de potencia +eln:Power_capacitor.name=Condensador de potencia +eln:Power_inductor.name=Inductor de potencia +eln:Purple_Brush.name=Pincel violeta +eln:Red_Brush.name=Pincel rojo +eln:Redstone-to-Voltage_Converter.name=Convertidor de Redstone a voltios +eln:Rheostat.name=Reóstato +eln:Robust_Lamp_Socket.name=Portalámparas robusto +eln:Rubber.name=Caucho +eln:Schmitt_Trigger_Chip.name=Schmitt Trigger Chip +eln:Sconce_Lamp_Socket.name=Enchufe de candelabro de pared +eln:Signal_20H_inductor.name=Inductor de señal de 20H +eln:Signal_Antenna.name=Señal de Antena +eln:Signal_Button.name=Señal de Botón +eln:Signal_Cable.name=Señal de Cable +eln:Signal_Diode.name=Señal de Diodo +eln:Signal_Processor.name=Porcesador de señal +eln:Signal_Relay.name=Señal de Relé +eln:Signal_Source.name=Señal de Fuente +eln:Signal_Switch.name=Señal de Encendido +eln:Signal_Switch_with_LED.name=Señal de encendido con LED +eln:Signal_Trimmer.name=Señal de recorte +eln:Silicon_Dust.name=Polvo de Silicio +eln:Silicon_Ingot.name=Lingote de Silicio +eln:Silicon_Plate.name=Lámina de Silicio +eln:Silver_Brush.name=Pincel de Plata +eln:Simple_Lamp_Socket.name=Lámpara simple +eln:Single-use_Battery.name=Batería de un solo uso +eln:Small_200V_Copper_Heating_Corp.name=Calefactor pequeño de Cobre de 200V +eln:Small_200V_Iron_Heating_Corp.name=Calefactor pequeño de Hierro de 200V +eln:Small_200V_Tungsten_Heating_Corp.name=Calefactor pequeño de Tungsteno de 200V +eln:Small_50V_Carbon_Incandescent_Light_Bulb.name=Bulbo de luz incandescente de Carbón pequeño de 50V +eln:Small_50V_Copper_Heating_Corp.name=Calefactor de Cobre pequeño de 50V +eln:Small_50V_Economic_Light_Bulb.name=Bulbo de luz económica pequeño de 50V +eln:Small_50V_Incandescent_Light_Bulb.name=Bulbo de luz incandescente pequeño de 50V +eln:Small_50V_Iron_Heating_Corp.name=Calefactor pequeño de Hierro de 50V +eln:Small_50V_Tungsten_Heating_Corp.name=Calefactor pequeño de Tungsteno 50V +eln:Small_Active_Thermal_Dissipator.name=Disipador pequeño térmico activo +eln:Small_Flashlight.name=Linterna pequeña +eln:Small_Passive_Thermal_Dissipator.name=Disipador pequeño térmico +eln:Small_Rotating_Solar_Panel.name=Panel solar pequeño rotatorio +eln:Small_Solar_Panel.name=Panel solar pequeño +eln:Solar_Tracker.name=Rastreadora solar +eln:Standard_Alarm.name=Alarma estándar +eln:Steam_Turbine.name=Steam Turbine +eln:Stone_Heat_Furnace.name=Horno de calor de Piedra +eln:Street_Light.name=Luz de calle +eln:Suspended_Lamp_Socket.name=Lampara aérea +eln:Temperature_Probe.name=Sonda de temperatura +eln:Thermal_Probe.name=Sonda térmica +eln:Thermal_Probe_Chip.name=Chip de sonda Térmica +eln:Thermistor.name=Termistor +eln:ThermoMeter.name=Termómetro +eln:Transformer.name=Transformador +eln:Tree_Resin.name=Resina +eln:Tree_Resin_Collector.name=Colector de Resina +eln:Tungsten_Cable.name=Cable de Tungsteno +eln:Tungsten_Dust.name=Polvo de Tungsteno +eln:Tungsten_Ingot.name=Lingote de Tungsteno +eln:Tungsten_Ore.name=Mena de Tungsteno +eln:Tutorial_Sign.name=Señal tutorial +eln:Very_High_Voltage_Cable.name=Cable de muy alta tensión +eln:Very_High_Voltage_Relay.name=Relé de muy alta tensión +eln:Very_High_Voltage_Switch.name=Enchufe de muy alta tensión +eln:Voltage-to-Redstone_Converter.name=Convertidor de Redstone a voltios +eln:Voltage_Oriented_Battery.name=Batería de voltios +eln:Voltage_Probe.name=Sonda de voltaje +eln:Water_Turbine.name=Turbina de agua +eln:Weak_50V_Battery_Charger.name=Cargador de batería débil de 50V +eln:White_Brush.name=Pincel blanco +eln:Wind_Turbine.name=Turbina de viento +eln:Wireless_Analyser.name=Analizador inalámbrico +eln:Wireless_Button.name=Boton inalámbrico +eln:Wireless_Signal_Receiver.name=Receptor de señal inalámbrico +eln:Wireless_Signal_Repeater.name=Repetidor de señal inalámbrico +eln:Wireless_Signal_Transmitter.name=Transmisor de señal inalámbrico +eln:Wireless_Switch.name=Interruptor inalámbrico +eln:Wrench.name=Llave inglesa +eln:X-Ray_Scanner.name=Escaner de Rayos X +eln:XNOR_Chip.name=XNOR Chip +eln:XOR_Chip.name=XOR Chip +eln:Yellow_Brush.name=Pincel amarillo +eln:entity.EAReplicator.name=Replicador +eln:item.Copper Axe.name\=Hacha de Cobre +eln:item.Copper Axe.name\=Hacha de Cobre +eln:item.Copper Axe.name\=Hacha de Cobre +eln:item.Copper Axe.name\=Hacha de Cobre +eln:item.Copper Axe.name\=Hacha de Cobre +eln:item.Copper Axe.name\=Hacha de Cobre +eln:item.Copper Axe.name\=Hacha de Cobre +eln:item.Copper Axe.name\=Hacha de Cobre +eln:item.Copper Axe.name\=Hacha de Cobre +eln:item.E-Coal Boots.name\=Botas de Carbón +eln:item.E-Coal Boots.name\=Botas de Carbón +eln:item.E-Coal Boots.name\=Botas de Carbón +eln:item.E-Coal Boots.name\=Botas de Carbón +eln:itemGroup.Eln=Edad eléctrica +eln:mod.meta.desc=Electricidad en tu base\! +eln:tile.eln.ElnProbe.name=Sonda ordenador Eln +eln:tile.eln.EnergyConverterElnToOtherHVUBlock.name=800V Edad eléctrica a otro exportador de energía +eln:tile.eln.EnergyConverterElnToOtherLVUBlock.name=50V Edad eléctrica a otro exportador de energía +eln:tile.eln.EnergyConverterElnToOtherMVUBlock.name=200V Edad eléctrica a otro exportador de energía +eln: +eln:# ./src/main/java/mods/eln/i18n/I18N.java +eln:You_have_%s_lives_left=Te queda el %s de vida +eln: +eln:# ./src/main/java/mods/eln/item/BrushDescriptor.java +eln:Brush_is_dry=El cepillo está seca +eln:Can_paint_%s_blocks=Puedes pintar %s bloques +eln: +eln:# ./src/main/java/mods/eln/item/CombustionChamber.java +eln:Upgrade_for_the_Stone_Heat_Furnace.=Mejora para el horno de calor de piedra. +eln: +eln:# ./src/main/java/mods/eln/item/ElectricalDrillDescriptor.java +eln:Energy_per_operation\:_%sJ=Energía por operación\: %sJ +eln:Time_per_operation\:_%ss=Tiempo por operación\: %ss +eln: +eln:# ./src/main/java/mods/eln/item/FerromagneticCoreDescriptor.java +eln:Cable_loss_factor\:_%s=Factor de pérdida del cable\: %s +eln: +eln:# ./src/main/java/mods/eln/item/HeatingCorpElement.java +eln: +eln:# ./src/main/java/mods/eln/item/LampDescriptor.java +eln:Bad=Malo +eln:Condition\:=Condición\: +eln:End_of_life=Fin de la vida +eln:Good=Bueno +eln:New=Nuevo +eln:Nominal_lifetime\:_%sh=Vida útil nominal\: %sh +eln:Technology\:_%s=Tecnología\: %s +eln:Used=Uso +eln: +eln:# ./src/main/java/mods/eln/item/LampSlot.java +eln:Lamp_slot=Ranura de lámpara +eln: +eln:# ./src/main/java/mods/eln/item/OverHeatingProtectionDescriptor.java +eln:Useful_to_prevent_overheating\nof_Batteries=Útil para prevenir sobrecalentamiento\nde las baterías +eln: +eln:# ./src/main/java/mods/eln/item/OverVoltageProtectionDescriptor.java +eln:Useful_to_prevent_over-voltage\nof_Batteries=Útil para prevenir sobrecarga\nde las baterías +eln: +eln:# ./src/main/java/mods/eln/item/SolarTrackerDescriptor.java +eln:Solar_panel_upgrade=Mejora del panel solar +eln: +eln:# ./src/main/java/mods/eln/item/electricalitem/BatteryItem.java +eln: +eln:# ./src/main/java/mods/eln/item/electricalitem/ElectricalLampItem.java +eln:Off=Apagado +eln:On=Encendido +eln:State\:=Estado\: +eln:Stored_Energy\:_%sJ_(%s)=Energía almacenada\: %sJ (%s) +eln: +eln:# ./src/main/java/mods/eln/item/regulator/RegulatorSlot.java +eln: +eln:# ./src/main/java/mods/eln/misc/UtilsClient.java +eln:Hold_shift=Aguantar shift +eln: +eln:# ./src/main/java/mods/eln/misc/Version.java +eln:mod.name=Edad eléctrica +eln: +eln:# ./src/main/java/mods/eln/node/six/SixNodeDescriptor.java +eln: +eln:# ./src/main/java/mods/eln/simplenode/energyconverter/EnergyConverterElnToOtherGui.java +eln:Input_power_is_limited_to_%sW=La entrada de poder está limitada a %sW +eln: +eln:# ./src/main/java/mods/eln/sixnode/LogicGate.kt +eln:_O\:_= O\: +eln: +eln:# ./src/main/java/mods/eln/sixnode/TreeResinCollector/TreeResinCollectorDescriptor.java +eln:Produces_Tree_Resin_over\ntime_when_put_on_a_tree.=Produce resina de árbol sobre\ntiempo cuando está colocado en un árbol. +eln:This_block_can_only_be_placed_on_the_side_of_a_tree!=This block can only be placed on the side of a tree\! +eln: +eln:# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerContainer.java +eln:Battery_slot=Espacio de batería +eln: +eln:# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerDescriptor.java +eln:Can_be_used_to_recharge\nelectrical_items_like\:\nFlash_Light,_X-Ray_scanner\nand_Portable_Battery_...=Puede ser usado para recargar\nartículos eléctricos con\:\nflash de luz, escáner de rayos X \\ y batería portátil +eln: +eln:# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerGui.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/diode/DiodeDescriptor.java +eln:Electrical_current_can_only\nflow_through_the_diode\nfrom_anode_to_cathode=La corriente eléctrica sólo puede\nfluir a través del diodo\ndesde el anodo al catodo. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalalarm/ElectricalAlarmDescriptor.java +eln:= +eln:Emits_an_acoustic_alarm_if\nthe_input_signal_is_high=Emite una alarma acústica\nla señal de entrada es alta. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalalarm/ElectricalAlarmGui.java +eln:Sound_is_muted=Sonido silenciado. +eln:Sound_is_not_muted=Sonido dessilenciado. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerContainer.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerDescriptor.java +eln:Protects_electrical_components\nOpens_contact_if\:\n__-_Voltage_exceeds_a_certain_level\n-_Current_exceeds_the_cable_limit=Componentes de protección eléctrica\nabren contactos si\:\n -\n- la corriente excede el límite del cable. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerGui.java +eln:Maximum_voltage_before_cutting_off=Tensión máxima antes de cortar +eln:Minimum_voltage_before_cutting_off=Tensión mínima antes de cortar +eln:Switch_is_off=El interruptor está desactivado. +eln:Switch_is_on=El interruptor está activado +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalcable/ElectricalCableDescriptor.java +eln:A_signal_is_electrical_information\nwhich_must_be_between_0V_and_%sV=Una señal es la información eléctrica\nque debe ser entre 0V y %sV +eln:Cable_is_adapted_to_conduct\nelectrical_signals.=El cable está adaptado para conducir\nseñales eléctricas. +eln:Current\:_%sA=Corriente\: %sA +eln:Not_adapted_to_transport_power.=No adaptado para el transporte de energía. +eln:Save_usage\:=Guardar el uso\: +eln:Serial_resistance\:_%sΩ=La resistencia en serie\: %sΩ +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerDescriptor.java +eln:It_can_store_up_to_256_points.=Es capaz de almacenar hasta 256 puntos +eln:Measures_the_voltage_of_an\nelectrical_signal_and_plots\nthe_data_in_real_time.=Mide la tensión de una\nseñal eléctrica y parcelas\nlos datos en tiempo real. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerGui.java +eln:Back_to_display=Volver a mostrar +eln:Configuration=Configuración +eln:Current_[A]=Corriente [A] +eln:Energy_[J]=Energía [J] +eln:Percent_[-]%=Porciento [-]% +eln:Power_[W]=Potencia [W] +eln:Print=Impresión +eln:Sampling_period=Periodo de muestra +eln:Temp._[*C]=Temp. [*C] +eln:Voltage_[V]=Voltaje [V] +eln:Y-axis_max=Y-eje máximo +eln:Y-axis_min=Y-eje mínimo +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorContainer.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorDescriptor.java +eln:Output_voltage_increases\nif_entities_are_moving_around.=Aumenta la tensión de salida\nsi las entidades están moviendo. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalfiredetector/ElectricalFireDetectorDescriptor.java +eln:Output_voltage_increases\nif_a_fire_has_been_detected.=Aumenta la tensión de salida\nsi se ha detectado un incendio. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceDescriptor.java +eln:Provides_configurable_signal\nvoltage.=Proporciona señal configurable\nvoltaje. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceGui.java +eln:Output_at_%s=La producción en %s +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricallightsensor/ElectricalLightSensorDescriptor.java +eln:0V_at_night,_%sV_at_noon.=0V a la noche, %sV al mediodía. +eln:Provides_an_electrical_voltage\nin_the_presence_of_light.=Proporciona una tensión eléctrica\nen presencia de la luz. +eln:Provides_an_electrical_voltage\nwhich_is_proportional_to\nthe_intensity_of_daylight.=Proporciona una tensión eléctrica\nque es proporcional a\nla intensidad de la luz del día. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathContainer.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathDescriptor.java +eln:Applicable_boolean_operators\:=Operadores booleanos aplicables\: +eln:Applicable_functions\:=Funciones aplicables\: +eln:Applicable_mathematical_operators\:=Operadores matemáticos aplicables\: +eln:Calculates_an_output_signal_from\n3_inputs_(A,_B,_C)_using_an_equation.=Calcula una señal de salida\nde 3 entradas (A, B, C) utilizando una ecuación. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathGui.java +eln:%s_Redstone(s)_required=%s Redstone(s) requerida +eln:Equation_required!=Ecuación requerida\! +eln:Inputs_are=Las entradas son +eln:Invalid_equation!=Ecuación inválida\! +eln:Output_voltage_formula=Fórmula de tensión de salida +eln:Waiting_for_completion...=A la espera de la finalización... +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalredstoneinput/ElectricalRedstoneInputDescriptor.java +eln:Converts_Redstone_signal\nto_an_electrical_voltage.=Convierte la señal de Redstone\na una tensión eléctrica. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalredstoneoutput/ElectricalRedstoneOutputDescriptor.java +eln:Converts_electrical_voltage\ninto_a_Redstone_signal.=Convierte la tensión eléctrica\nen una señal de Redstone. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalrelay/ElectricalRelayDescriptor.java +eln:A_relay_is_an_electrical\ncontact_that_conducts_electric\ncurrent_or_not,_depending\nthe_actual_input_signal_voltage.=Un relé es un \ncontacto que conduce electricidad\nactualmente o no, dependiendo\ndel voltaje de la señal de entrada real. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalrelay/ElectricalRelayGui.java +eln:Normally_closed=Normalmente cerrado +eln:Normally_open=Normalmente abierto +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalsource/ElectricalSourceDescriptor.java +eln:Creative_block.=Bloque creativo. +eln:Provides_an_ideal_voltage_source\nwithout_energy_or_power_limitation.=Proporciona una fuente ideal de voltaje\nsin energía y sin limitación de potencia. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalsource/ElectricalSourceGui.java +eln:Output_voltage=Tensión de salida +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalswitch/ElectricalSwitchDescriptor.java +eln:Can_break_an_electrical_circuit\ninterrupting_the_current.=Puede romper un circuito eléctrico\ninterrumpiendo la corriente. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricaltimeout/ElectricalTimeoutDescriptor.java +eln:Upon_application_of_a_high_signal,\nthe_timer_maintains_the_output_high_for\na_configurable_interval._Can_be_re-triggered.=Tras la aplicación de una señal de alto,\nel temporizador mantiene el alto rendimiento de\nun intervalo configurable. Puede ser re-activado. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricaltimeout/ElectricalTimeoutGui.java +eln:Set=Set +eln:The_time_interval_the\noutput_is_kept_high.=En el intervalo de tiempo,\nla salida se mantiene alta. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalvumeter/ElectricalVuMeterDescriptor.java +eln:Displays_the_value_of_a_signal.=Muestra el valor de una señal. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalwatch/ElectricalWatchContainer.java +eln:Portable_battery_slot=Ranura de la batería portátil +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalweathersensor/ElectricalWeatherSensorDescriptor.java +eln:Clear\:_%sV=Clear\: %sV +eln:Provides_an_electrical_signal\ndepending_the_actual_weather.=Proporciona una señal eléctrica\nen función del tiempo real. +eln:Rain\:_%sV=Rain\: %sV +eln:Storm\:_%sV=Storm\: %sV +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalwindsensor/ElectricalWindSensorDescriptor.java +eln:Maximum_wind_speed_is_%sm_s=Velocidad máxima del viento es %sm/s +eln:Provides_an_electrical_signal\ndependant_on_wind_speed.=Proporciona una señal eléctrica\nque depende de la velocidad del viento. +eln:You_can't_place_this_block_on_the_floor_or_the_ceiling=You can't place this block on the floor or the ceiling +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricasensor/ElectricalSensorDescriptor.java +eln:Can_measure_Voltage_Power_Current=Puede medir tensión / potencia / corriente +eln:Measures_electrical_values_on_cables.=Mide valores eléctricos en los cables. +eln:Measures_voltage_on_cables.=Mide la tensión en los cables. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricasensor/ElectricalSensorGui.java +eln:Current=Current +eln:Measured_voltage\ncorresponding\nto_0%_output=Tensión medida\ncorrespondiente\na la salida de 0%. +eln:Measured_voltage\ncorresponding\nto_100%_output=Tensión medida\ncorrespondiente\na la salida 100%. +eln:Voltage=Voltaje +eln: +eln:# ./src/main/java/mods/eln/sixnode/energymeter/EnergyMeterGui.java +eln:Change_password=Cambiar contraseña +eln:Counter_Mode=Modo de contador +eln:Counts_the_energy_conducted_from\n\u00a74red\u00a7f_to_\u00a71blue\u00a7f.=Que cuenta la energía conducida desde\n\\u00a74rojo\\u00a7f a \\u00a71azul\\u00a7f. +eln:Energy_counter\:_%sJ=Contador de energía\: %sJ +eln:Enter_new_energy=Introducir nueva energía +eln:Enter_password=Escribir contraseña +eln:Prepay_Mode=Modo prepago +eln:Reset_time_counter=Contador de tiempo de reposición +eln:Set_energy_counter=Establecer contador de energía +eln:Time_counter\:=Contador de tiempo\: +eln:Try_password=Probar contraseña +eln:You_can_set_an_initial\namount_of_available_energy.\nWhen_the_counter_arrives_at_0\nthe_contact_will_be_opened.=Se puede establecer una primera\ncantidad de energía disponible.\nCuando el contador llega a 0\nse abre el contacto. +eln:is_off=Está apagado. +eln:is_on=Está encendido. +eln:value_in_kJ=Valor en kJ +eln: +eln:# ./src/main/java/mods/eln/sixnode/groundcable/GroundCableDescriptor.java +eln:Can_be_used_to_set_a_point_of_an\nelectrical_network_to_0V_potential.\nFor_example_to_ground_negative_battery_contacts.=Puede ser utilizado para establecer un punto \nde una la red eléctrica al potencial de 0V.\nPor ejemplo para conectar a tierra los contactos negativos de la batería. +eln:Provides_a_zero_volt_reference.=Proporciona una referencia de cero voltios. +eln: +eln:# ./src/main/java/mods/eln/sixnode/hub/HubDescriptor.java +eln:Allows_crossing_cables\non_one_single_block.=Permite cables de cruce\nen un solo bloque. +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketDescriptor.java +eln:Angle\:_%s°_to_%s°=Ángulo\: %s° to %s° +eln:Spot_range\:_%s_blocks=Rango de la localización\: %s bloques +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketGuiDraw.java +eln:%s_is_not_in_range!=%s is not in range\! +eln:Cable_slot_empty=Cable con espacio vacío +eln:Orientation\:_%s°=Orientación\: %s° +eln:Parallel=Paralelo +eln:Powered_by_Lamp_Supply=Encendido con lámpara +eln:Powered_by_cable=Encendido con cable +eln:Serial=Serial +eln:Specify_the_supply_channel=Específico para un canal secundario +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyContainer.java +eln:Electrical_cable_slot\nBase_range_is_32_blocks.\nEach_additional_cable\nincreases_range_by_one.=Una ranura del cable electrico.\nTiene una base de 32 bloques.\nCada cable adicional\nincrementa la base por uno. +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyDescriptor.java +eln:Supplies_all_lamps_on_the_channel.=Suministra todas las lámparas en el canal. +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyGui.java +eln:Power_channel_name=Nombre del canal de alimentación +eln:Wireless_channel_name=Nombre del canal inalámbrico +eln: +eln:# ./src/main/java/mods/eln/sixnode/modbusrtu/ModbusRtuGui.java +eln:Add=Añadir +eln:Channel_name=Nobre del canal +eln:Modbus_ID=Modbus ID +eln:Modbus_RTU=Modbus RTU +eln:Station_ID=ID de estación +eln:Station_name=Nombre de estación. +eln:Wireless_RX=Wireless RX +eln:Wireless_TX=Wireless TX +eln: +eln:# ./src/main/java/mods/eln/sixnode/powercapacitorsix/PowerCapacitorSixContainer.java +eln:(Increases_maximum_voltage)=(Aumenta la tensión máxima) +eln: +eln:# ./src/main/java/mods/eln/sixnode/powercapacitorsix/PowerCapacitorSixGui.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/powerinductorsix/PowerInductorSixContainer.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/powerinductorsix/PowerInductorSixGui.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/powersocket/PowerSocketDescriptor.java +eln:Supplies_any_device\nplugged_in_with_energy.=Suministra cualquier dispositivo\nenchufado con la energía. +eln: +eln:# ./src/main/java/mods/eln/sixnode/powersocket/PowerSocketGui.java +eln:Specify_the_device_to_supply_through_this_socket.=Especifique el dispositivo para el suministro a través de esta toma. +eln: +eln:# ./src/main/java/mods/eln/sixnode/resistor/ResistorContainer.java +eln:(Sets_resistance)=(Sets resistance) +eln:Coal_dust_slot=Coal dust slot +eln: +eln:# ./src/main/java/mods/eln/sixnode/thermalcable/ThermalCableDescriptor.java +eln:High_parallel_resistance\n_\=>_Low_power_dissipation.=Resistencia paralela alta\n \=> Bajo poder disipación. +eln:Low_serial_resistance\n_\=>_High_conductivity.=Baja resistencia de serie\n\=> Alta conductividad. +eln:Parallel_resistance\:_%sK_W=Resistencia paralela\: %sK/W +eln:Serial_resistance\:_%sK_W=Resistencia de serie\: %sK/W +eln: +eln:# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorContainer.java +eln:Cable_slot=Ranura para cable +eln: +eln:# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorDescriptor.java +eln:Can_measure\:=Puede medir\: +eln:Measures_temperature_of_cables.=Medidas de temperatura de cables. +eln:Measures_thermal_values_on_cables.=Medidas de valores térmicos en los cables. +eln:__Temperature_Power_conducted=Temperatura / Energía llevado a cabo +eln: +eln:# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorGui.java +eln:Measured_temperature\ncorresponding\nto_0%_output=Temperatura medida\ncorrespondiente\na la salida 0% +eln:Measured_temperature\ncorresponding\nto_100%_output=Temperatura medida\ncorrespondiente\na la salida 100% +eln:Temperature=Temperatura +eln: +eln:# ./src/main/java/mods/eln/sixnode/tutorialsign/TutorialSignElement.java +eln:No_text_associated_to_this_beacon=No hay texto asociado a este beacon +eln: +eln:# ./src/main/java/mods/eln/sixnode/tutorialsign/TutorialSignGui.java +eln:Set_beacon_name=Nombre del conjunto de beacon +eln: +eln:# ./src/main/java/mods/eln/sixnode/wirelesssignal/rx/WirelessSignalRxGui.java +eln: +eln:# ./src/main/java/mods/eln/transparentnode/FuelGenerator.kt +eln:Nominal_power\:_%s_W=Nominal power\: %s W +eln:Nominal_voltage\:_%s_V=Nominal voltage\: %s V +eln:Produces_electricity_using_fuel.=Produce electricidad usando combustible. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/LargeRheostat.kt +eln:Nom._Resistance\:_%s=Nom. Resistance\: %s +eln: +eln:# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerContainer.java +eln:Drill_slot=Ranura del taladro +eln:Mining_pipe_slot=Ranura de tubería de minería +eln:Ore_scanner_slot=Ranura de escáner de mineral +eln: +eln:# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerDescriptor.java +eln:Excavates_on_a_small_radius.\nExtracts_ore_on_a_bigger_radius\:\n10_blocks_radius_after_10_blocks_depth.=Excavates on a small radius.\nExtracts ore on a bigger radius\:\n10 blocks radius after 10 blocks depth. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerGuiDraw.java +eln:Chest_missing_on_the\nback_of_the_auto_miner!=Chest missing on the\nback of the auto miner\! +eln:Halves_speed,_triples_power_draw=Halves speed, triples power draw +eln:Silk_Touch_Off=Silk Touch Off +eln:Silk_Touch_On=Silk Touch On +eln:Silk_touch=Silk touch +eln: +eln:# ./src/main/java/mods/eln/transparentnode/battery/BatteryContainer.java +eln:Overheating_protection=Overheating protection +eln:Overvoltage_protection=Overvoltage protection +eln: +eln:# ./src/main/java/mods/eln/transparentnode/battery/BatteryDescriptor.java +eln:Actual_charge\:_%s=Carga actual\: %s +eln:Energy_capacity\:_%sJ=Capacidad de energía\: %sJ +eln:_charged_at_%s=Cargado hasta %s +eln: +eln:# ./src/main/java/mods/eln/transparentnode/battery/BatteryGuiDraw.java +eln:Charge=Carga +eln:Charged=Cargado +eln:Discharge=Descargado +eln:Energy\:=Energía\: +eln:Energy\:_%s=Energía\: %s +eln:Life\:=Vida\: +eln:No_charge=Sin carga +eln:Power_in\:=Potencia dentro\: +eln:Power_out\:=Potencia fuera\: +eln: +eln:# ./src/main/java/mods/eln/transparentnode/eggincubator/EggIncubatorContainer.java +eln:Egg_slot=Ranura del huevo +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalantennarx/ElectricalAntennaRxDescriptor.java +eln:Wireless_energy_receiver.=Receptor de energía inalámbrica. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalantennatx/ElectricalAntennaTxDescriptor.java +eln:Efficiency\:_%s_up_to_%s=Eficiencia\: %s hasta %s +eln:Wireless_energy_transmitter.=Transmisor de energía inalámbrica. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceContainer.java +eln:Heating_corp_slot=Ranura de calefacción +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceDescriptor.java +eln:Similar_to_a_vanilla_furnace,\nbut_heats_with_electricity.=Similar a un horno\npero calienta con electricidad. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceGuiDraw.java +eln:Auto_shutdown=Apagado automático +eln:Manual_shutdown=Cierre manual +eln:Set_point\:_%s°C=Punto fijo\: %s°C +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalmachine/ElectricalMachineDescriptor.java +eln:Cost=Coste +eln: +eln:# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceContainer.java +eln:Combustion_chamber_slot=Ranura cámara de combustión +eln:Fuel_slot=Ranura de combustible +eln: +eln:# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceDescriptor.java +eln:Generates_heat_when_supplied_with_fuel.=Genera calor como fuente de combustible. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceGuiDraw.java +eln:Control_gauge_at_%s=Control de medida a %s +eln:Decline_fuel=Eliminar combustible +eln:External_control=Control externo +eln:Internal_control=Control interno +eln:Take_fuel=Coger combustible +eln: +eln:# ./src/main/java/mods/eln/transparentnode/powercapacitor/PowerCapacitorContainer.java +eln:(Increases_maximal_voltage)=(Tensión máxima aumentada) +eln: +eln:# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelContainer.java +eln:Solar_tracker_slot=Ranura del rastreador solar +eln: +eln:# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelDescriptor.java +eln:Can_be_geared_towards_the_sun.=Puede ser orientada hacia el sol. +eln:Max._power\:_%sW=Potencia máxima\: %sW +eln:Max._voltage\:_%sV=Voltaje máximo\: %sV +eln:Produces_power_from_solar_radiation.=Produce energía de la radiación solar. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPannelGuiDraw.java +eln:It_is_night=Es de noche +eln:Solar_panel_angle\:_%s°=Angulo del panel solar\: %s° +eln:Sun_angle\:_%s°=El ángulo del sol\: %s° +eln: +eln:# ./src/main/java/mods/eln/transparentnode/teleporter/TeleporterGui.java +eln:Destination_transporter=Destino transportador +eln:Power_consumption\:=Consumo de energía\: +eln:Power_consumption\:_%sW=Consumo de energía\: %sW +eln:Required_energy\:_%sJ=Requiere energía\: %sJ +eln:Start=Comenzar +eln:Transporter_name=Nombre del transportador +eln: +eln:# ./src/main/java/mods/eln/transparentnode/thermaldissipatoractive/ThermalDissipatorActiveDescriptor.java +eln:Fan_cooling_power\:_%sW=Potencia del ventilador de refrigeración\: %sW +eln:Fan_power_consumption\:_%sW=Consumo de energía del ventilador\: %sW +eln:Fan_voltage\:_%sV=Voltaje del ventilador\: %sV +eln: +eln:# ./src/main/java/mods/eln/transparentnode/transformer/TransformerDescriptor.java +eln:The_voltage_ratio_is_proportional\nto_the_cable_stacks_count_ratio.=La relación de voltaje es proporcional\nal cable. +eln:Transforms_an_input_voltage_to\nan_output_voltage.=Transforma una tensión de entrada de\nuna tensión de salida. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/turbine/TurbineDescriptor.java +eln:Generates_electricity_using_heat.=Genera electricidad por la temperatura. +eln:Temperature_difference\:_%s°C=Temperaturas diferentes\: %s°C +eln: +eln:# ./src/main/java/mods/eln/transparentnode/turret/TurretDescriptor.java +eln:CAUTION\:_Cables_can_get_quite_hot!=Precaución\: Los cables pueden llegar a estar muy calientes\! +eln:Laser_charge_power\:_%sW...%skW=Laser cargado\: %sW...%skW +eln:Scans_for_entities_and_shoots_if_the\nentity_matches_the_configurable_filter_criteria.=Analiza en busca de las entidades y los brotes de la\nentidad que coincide con los criterios del filtro configurables. +eln:Standby_power\:_%sW=Energía de reserva\: %sW +eln: +eln:# ./src/main/java/mods/eln/transparentnode/turret/TurretGui.java +eln:Attack\:=Atacar\: +eln:Do_not_attack\:=No atacar\: +eln:Recharge_power\:=Potencia recargada\: +eln: +eln:# ./src/main/java/mods/eln/transparentnode/waterturbine/WaterTurbineDescriptor.java +eln:Generates_energy_using_water_stream.=Genera energía por la corriente del agua. +eln:No_place_for_water_turbine!=No place for water turbine\! +eln: +eln:# ./src/main/java/mods/eln/transparentnode/windturbine/WindTurbineDescriptor.java +eln:Front\:_%s=En frente\: %s +eln:Generates_energy_from_wind.=Genera energía por el viento. +eln:Left_Right\:_%s=Izquierda/Derecha\: %s +eln:Up_Down\:_%s=Arriba/Abajo\: %s +eln:Wind_area\:=Área de viento\: +eln: +eln:# ./src/main/java/mods/eln/wiki/Data.java +eln:Energy=Energía +eln:Light=Luz +eln:Machine=Máquina +eln:Ore=Mena +eln:Portable=Portable +eln:Resource=Recurso +eln:Signal=Señal +eln:Thermal=Térmico +eln:Upgrade=Actualización +eln:Utilities=Utilidades +eln:Wiring=Cables +eln: +eln:# ./src/main/java/mods/eln/wiki/Default.java +eln:Previous=Previo +eln: +eln:# ./src/main/java/mods/eln/wiki/ItemDefault.java +eln:Can_be_used_to_craft\:=Se puede utilizar para craftear\: +eln:Cannot_be_crafted!=No se puede craftear\! +eln:Cost_%sJ=Cuesta %sJ +eln:Created_by\:=Creado por\:\: +eln:Is_not_a_crafting_material!=No es un material crafteable\! +eln:Recipe\:=Receta\: +eln: +eln:# Appearing in multiple source files +eln:(Increases_capacity)=(Incrementa la capacidad) +eln:(Increases_inductance)=(Aumenta la Inductancia) +eln:Actual\:_%s°C=Real\: %s°C +eln:Biggest=Más grande +eln:Booster_slot=Aumento de espacio +eln:Can_create\:=Puede crear\: +eln:Capacity\:_%sF=Capacidad\: %sF +eln:Charge_power\:_%sW=Potencia cargada\: %sW +eln:Connected=Conectado +eln:Cooling_power\:_%sW=Potencia de refrigeración\: %sW +eln:Copper_cable_slot=Ranura para cable de cobre +eln:Dielectric_slot=Espacio del dialéctrico +eln:Discharge_power\:_%sW=Potencia descargada\: %sW +eln:Electrical_cable_slot=Ranura para cable eléctrico +eln:Entity_filter_slot=Ranura para filtro de entidad +eln:Ferromagnetic_core_slot=Ranura núcleo ferromagnético +eln:Has_a_signal_output.=Tiene una salida de señal +eln:Inductance\:_%sH=Inductancia\: %sH +eln:Internal_resistance\:_%sΩ=Resistencia interna\: %sΩ +eln:Is_off=Está apagado +eln:Is_on=Está en +eln:Max._temperature\:_%s°C=Temperatura máxima\: %s°C +eln:Measured_value\ncorresponding\nto_0%_output=Valor medido\ncorrespondiente\na la salida 0% +eln:Measured_value\ncorresponding\nto_100%_output=Valor medido\ncorrespondiente\na la salida 100% +eln:Nominal\:=Nominal\: +eln:Nominal_power\:_%sW=Poder nominal\: %sW +eln:Nominal_usage\:=Uso nominal\: +eln:Nominal_voltage\:_%sV=Voltaje nominal\: %sV +eln:Not_connected=No conectado +eln:Not_enough_space_for_this_block=No hay suficiente espacio para este bloque +eln:Power=Poder +eln:Power\:_%sW=Poder\: %sW +eln:Range\:_%s_blocks=Puedes pintar %s bloques +eln:Redstone_slot=Ranura de redstone +eln:Regulator_slot=Ranura reguladora +eln:Reset=Reiniciar +eln:Resistance\:_%sΩ=Resistencia\: %sΩ +eln:Smallest=Pequeñísimo +eln:Specify_the_channel=Especifique el canal +eln:Stored_energy\:_%sJ_(%s)=Energía almacenada\: %sJ (%s) +eln:Temperature\:_%s°C=Temperatura\: %s°C +eln:Temperature_gauge=Indicador de temperatura +eln:Thermal_isolator_slot=Ranura de aislante térmico +eln:Toggle=Palanca +eln:Toggle_switch=Interruptor de palanca +eln:Toggles_the_output_each_time\nan_emitter's_value_rises.\nUseful_to_allow_multiple_buttons\nto_control_the_same_light.=Alterna la salida cada vez que\nun valor emisor se eleva.\nÚtil para permitir varios botones\npara controlar la misma luz. +eln:Used_to_cool_down_turbines.=Usado para enfriar las turbinas. +eln:Uses_the_biggest\nvalue_on_the_channel.=Utiliza el mayor\nvalor en el canal. +eln:Uses_the_smallest\nvalue_on_the_channel.=Utiliza el menor\nvalor en el canal. +eln:Validate=Validar +eln:Voltage\:_%sV=Voltaje\: %sV +eln:You_can't_place_this_block_at_this_side=No se puede colocar este bloque en este lado diff --git a/src/main/resources/assets/eln/lang/es_AR.lang b/src/main/resources/assets/eln/lang/es_AR.lang index ab67bb06b..8e697750e 100644 --- a/src/main/resources/assets/eln/lang/es_AR.lang +++ b/src/main/resources/assets/eln/lang/es_AR.lang @@ -1,829 +1,829 @@ -# - -# ./src/main/java/mods/eln/Achievements.java -Electrical_Age_[WIP]=Edad eléctrica [WIP] -achievement.craft_50v_macerator=Crushing Novice -achievement.craft_50v_macerator.desc=Craftea un macerador de 50V -achievement.open_guide=Abrir la guía -achievement.open_guide.desc=Abrir la guía desde el escritorio - -# ./src/main/java/mods/eln/Eln.java -10A_Diode.name=10A Diodo -200V_Active_Thermal_Dissipator.name=200V Disipador térmico activo -200V_Battery_Charger.name=200V Cargador de batería -200V_Compressor.name=200V Compresor -200V_Condensator.name=200V Condensador -200V_Copper_Heating_Corp.name=200V Generador de calor de Cobre -200V_Economic_Light_Bulb.name=200V Bombilla económica -200V_Farming_Lamp.name=200V Lámpara agrícola -200V_Fuel_Generator.name=200V Fuel Generator -200V_Incandescent_Light_Bulb.name=200V Bombilla incandescente -200V_Iron_Heating_Corp.name=200V Generador de calor de Hierro -200V_LED_Bulb.name=200V LED Bulb -200V_Macerator.name=200V Macerador -200V_Magnetizer.name=200V Magnetizador -200V_Plate_Machine.name=200V Placa de la máquina -200V_Power_Socket.name=200V Toma de corriente -200V_Tungsten_Heating_Corp.name=200V Generador de calor de Tungsteno -200V_Turbine.name=200V Turbina -25A_Diode.name=25A Diodo -50V_Battery_Charger.name=50V Cargador de batería -50V_Carbon_Incandescent_Light_Bulb.name=50V Bombilla incandescente -50V_Compressor.name=50V Compresor -50V_Condensator.name=50V Condensador -50V_Copper_Heating_Corp.name=50V Generador de calor de Cobre -50V_Economic_Light_Bulb.name=50V Bombilla económica -50V_Egg_Incubator.name=50V Incubadora de huevo -50V_Farming_Lamp.name=50V Lámpara agrícola -50V_Fuel_Generator.name=50V Fuel Generator -50V_Incandescent_Light_Bulb.name=50V Bombilla incandescente -50V_Iron_Heating_Corp.name=50V Generador de calor de Hierro -50V_LED_Bulb.name=50V LED Bulb -50V_Macerator.name=50V Macerador -50V_Magnetizer.name=50V Magnetizador -50V_Plate_Machine.name=50V Lámina de máquina -50V_Power_Socket.name=50V Toma de corriente -50V_Tungsten_Heating_Corp.name=50V Generador de calor de Tungsteno -50V_Turbine.name=50V Turbina -800V_Defence_Turret.name=800V Defensa torreta -AND_Chip.name=AND Chip -Advanced_Chip.name=Chip avanzado -Advanced_Electrical_Motor.name=Motor de calor avanzado -Advanced_Energy_Meter.name=Medidor de energía avanzada -Advanced_Machine_Block.name=Bloque mecánico avanzado -Advanced_Magnet.name=Imán avanzado -AllMeter.name=Polímetro universal -Alloy_Dust.name=Polvo de aleación -Alloy_Ingot.name=Polvo de lingotes -Alloy_Plate.name=Polvo de lámina -Analog_Watch.name=Reloj analógico -Analog_vuMeter.name=Indicador analógico -Analogic_Regulator.name=Regulador analógico -Animal_Filter.name=Filtro de animales -Auto_Miner.name=Minador automático -Average_Electrical_Drill.name=Taladro eléctrico medio -Average_Ferromagnetic_Core.name=Núcleo Ferromagnético medio -Basic_Magnet.name=Imán básico -Black_Brush.name=Pincel negro -Blue_Brush.name=Pincel azul -Brown_Brush.name=Pincel marrón -Capacity_Oriented_Battery.name=Cargador de batería -Cheap_Chip.name=Chip malo -Cheap_Electrical_Drill.name=Martillo eléctrico malo -Cheap_Ferromagnetic_Core.name=Nucleo Ferromagnético malo -Cinnabar_Dust.name=Polvo de Cinabrio -Cinnabar_Ore.name=Mena de Cinabrio -Coal_Dust.name=Polvo de Carbón -Coal_Plate.name=Lámina de Carbón -Combustion_Chamber.name=Cámara de combustión -Copper_Cable.name=Cable de Cobre -Copper_Dust.name=Polvo de Cobre -Copper_Ingot.name=Lingote de Cobre -Copper_Ore.name=Mena de Cobre -Copper_Plate.name=Lámina de Cobre -Copper_Thermal_Cable.name=Cable térmico de Cobre -Cost_Oriented_Battery.name=Cargador de batería -Current_Oriented_Battery.name=Cargador de batería funcional -Cyan_Brush.name=Pincel cián -D_Flip_Flop_Chip.name=D Flip Flop Chip -Data_Logger.name=Datos registrados -Data_Logger_Print.name=Impresora -Dielectric.name=Dieléctrico -Digital_Watch.name=Reloj digital -Electrical_Anemometer_Sensor.name=Anemómetro eléctrico -Electrical_Breaker.name=Interruptor eléctrico -Electrical_Daylight_Sensor.name=Sensor de luz natural eléctrico -Electrical_Entity_Sensor.name=Sensor de entidades eléctrico -Electrical_Fire_Detector.name=Detector de fuego eléctrico -Electrical_Furnace.name=Horno eléctrico -Electrical_Light_Sensor.name=Sensor eléctrico de luz -Electrical_Motor.name=Motor eléctrico -Electrical_Probe.name=Sonda eléctrica -Electrical_Probe_Chip.name=Chip de sonda eléctrica -Electrical_Source.name=Fuente eléctrica -Electrical_Timer.name=Minutero eléctrico -Electrical_Weather_Sensor.name=Sensor del clima eléctrico -Electrical_age_wrench,\nCan_be_used_to_turn\nsmall_wall_blocks=Interruptor eléctrico,\nLo puedes usar para encender\npequeñas paredes de bloques -Energy_Meter.name=Medidor de energía -Experimental_Transporter.name=Transportador experimental -Fast_Electrical_Drill.name=Taladro rápido eléctrico -Ferrite_Ingot.name=Lingote de Ferrita -Flat_Lamp_Socket.name=Enchufe de lámpara plano -Fluorescent_Lamp_Socket.name=Enchufe de lámpara fluorescente -Generator.name=Generator -Gold_Dust.name=Polvo de Oro -Gold_Plate.name=Láminas de Oro -Gray_Brush.name=Pincel gris -Green_Brush.name=Pincel verde -Ground_Cable.name=Toma de tierra -High_Power_Receiver_Antenna.name=Antena receptora de alta potencia -High_Power_Transmitter_Antenna.name=Antena transmisora de alta potencia -High_Voltage_Cable.name=Cable de alto voltaje -High_Voltage_Relay.name=Relé de alto voltaje -High_Voltage_Switch.name=Interruptor de alto voltaje -Hub.name=Hub -Industrial_Data_Logger.name=Pantalla industrial de datos -Iron_Cable.name=Cable de Hierro -Iron_Dust.name=Polvo de Hierro -Iron_Plate.name=Lámina de Hierro -JK_Flip_Flop_Chip.name=JK Flip Flop Chip -LED_vuMeter.name=Indicador de volumen de LED -Lamp_Socket_A.name=Lámpara -Lamp_Socket_B_Projector.name=Portalámparas -Lamp_Supply.name=Suministro de lámpara -Large_Rheostat.name=Large Rheostat -Lead_Dust.name=Polvo de Plomo -Lead_Ingot.name=Lingote de Plomo -Lead_Ore.name=Mena de Plomo -Lead_Plate.name=Lámina de Plomo -Life_Oriented_Battery.name=Nivel de bateria -Light_Blue_Brush.name=Pincel de luz azul -Lime_Brush.name=Pincel lima -Long_Suspended_Lamp_Socket.name=Encufe de lámpara larga suspendida -Low_Power_Receiver_Antenna.name=Antena receptora de baja potencia -Low_Power_Transmitter_Antenna.name=Antena transmisora de baja potencia -Low_Voltage_Cable.name=Cable de baja tensión -Low_Voltage_Relay.name=Relé de baja tensión -Low_Voltage_Switch.name=Interruptor de baja tensión -Machine_Block.name=Bloque de la maquina -Machine_Booster.name=Mejora de maquina -Magenta_Brush.name=Pincel magenta -Medium_Power_Receiver_Antenna.name=Antena receptora de media potencia -Medium_Power_Transmitter_Antenna.name=Antena transmisora de media potencia -Medium_Voltage_Cable.name=Cable de medio voltaje -Medium_Voltage_Relay.name=Relé de medio voltaje -Medium_Voltage_Switch.name=Enchufe de medio voltaje -Mercury.name=Mercurio -Mining_Pipe.name=Tubo de la mineria -Modbus_RTU.name=Modbus RTU -Modern_Data_Logger.name=Pantalla mejorada -Monster_Filter.name=Filtro de mounstros -MultiMeter.name=Multímetro -NAND_Chip.name=NAND Chip -NOR_Chip.name=NOR Chip -NOT_Chip.name=NOT Chip -Nuclear_Alarm.name=Alarma nuclear -OR_Chip.name=OR Chip -On_OFF_Regulator_10_Percent.name=Encendido/Apagado regulador 10% -On_OFF_Regulator_1_Percent.name=Encendido/Apagado regulador 1% -Optimal_Ferromagnetic_Core.name=Núcleo ferromagnético óptimo -Orange_Brush.name=Pincel naranja -Ore_Scanner.name=Escaner de minerales -Oscillator_Chip.name=Oscillator Chip -Overheating_Protection.name=Protección contra sobrecalentamientos -Overvoltage_Protection.name=Protección contra sobrevoltaje -PAL_Chip.name=PAL Chip -Pink_Brush.name=Pincel rosa -Player_Filter.name=Filtro de jugador -Portable_Battery.name=Batería Portátil -Portable_Battery_Pack.name=Pack de baterías portátil -Portable_Condensator.name=Condensador portátil -Portable_Condensator_Pack.name=Pack de condensador portátil -Portable_Electrical_Axe.name=Hacha eléctrica portátil -Portable_Electrical_Mining_Drill.name=Taladro de minería eléctrico portátil -Power_Capacitor.name=Condensador de potencia -Power_Inductor.name=Inductor de potencia -Power_Resistor.name=Resistencia de potencia -Power_capacitor.name=Condensador de potencia -Power_inductor.name=Inductor de potencia -Purple_Brush.name=Pincel violeta -Red_Brush.name=Pincel rojo -Redstone-to-Voltage_Converter.name=Convertidor de Redstone a voltios -Rheostat.name=Reóstato -Robust_Lamp_Socket.name=Portalámparas robusto -Rubber.name=Caucho -Schmitt_Trigger_Chip.name=Schmitt Trigger Chip -Sconce_Lamp_Socket.name=Enchufe de candelabro de pared -Signal_20H_inductor.name=Inductor de señal de 20H -Signal_Antenna.name=Señal de Antena -Signal_Button.name=Señal de Botón -Signal_Cable.name=Señal de Cable -Signal_Diode.name=Señal de Diodo -Signal_Processor.name=Porcesador de señal -Signal_Relay.name=Señal de Relé -Signal_Source.name=Señal de Fuente -Signal_Switch.name=Señal de Encendido -Signal_Switch_with_LED.name=Señal de encendido con LED -Signal_Trimmer.name=Señal de recorte -Silicon_Dust.name=Polvo de Silicio -Silicon_Ingot.name=Lingote de Silicio -Silicon_Plate.name=Lámina de Silicio -Silver_Brush.name=Pincel de Plata -Simple_Lamp_Socket.name=Lámpara simple -Single-use_Battery.name=Batería de un solo uso -Small_200V_Copper_Heating_Corp.name=Calefactor pequeño de Cobre de 200V -Small_200V_Iron_Heating_Corp.name=Calefactor pequeño de Hierro de 200V -Small_200V_Tungsten_Heating_Corp.name=Calefactor pequeño de Tungsteno de 200V -Small_50V_Carbon_Incandescent_Light_Bulb.name=Bulbo de luz incandescente de Carbón pequeño de 50V -Small_50V_Copper_Heating_Corp.name=Calefactor de Cobre pequeño de 50V -Small_50V_Economic_Light_Bulb.name=Bulbo de luz económica pequeño de 50V -Small_50V_Incandescent_Light_Bulb.name=Bulbo de luz incandescente pequeño de 50V -Small_50V_Iron_Heating_Corp.name=Calefactor pequeño de Hierro de 50V -Small_50V_Tungsten_Heating_Corp.name=Calefactor pequeño de Tungsteno 50V -Small_Active_Thermal_Dissipator.name=Disipador pequeño térmico activo -Small_Flashlight.name=Linterna pequeña -Small_Passive_Thermal_Dissipator.name=Disipador pequeño térmico -Small_Rotating_Solar_Panel.name=Panel solar pequeño rotatorio -Small_Solar_Panel.name=Panel solar pequeño -Solar_Tracker.name=Rastreadora solar -Standard_Alarm.name=Alarma estándar -Steam_Turbine.name=Steam Turbine -Stone_Heat_Furnace.name=Horno de calor de Piedra -Street_Light.name=Luz de calle -Suspended_Lamp_Socket.name=Lampara aérea -Temperature_Probe.name=Sonda de temperatura -Thermal_Probe.name=Sonda térmica -Thermal_Probe_Chip.name=Chip de sonda Térmica -Thermistor.name=Termistor -ThermoMeter.name=Termómetro -Transformer.name=Transformador -Tree_Resin.name=Resina -Tree_Resin_Collector.name=Colector de Resina -Tungsten_Cable.name=Cable de Tungsteno -Tungsten_Dust.name=Polvo de Tungsteno -Tungsten_Ingot.name=Lingote de Tungsteno -Tungsten_Ore.name=Mena de Tungsteno -Tutorial_Sign.name=Señal tutorial -Very_High_Voltage_Cable.name=Cable de muy alta tensión -Very_High_Voltage_Relay.name=Relé de muy alta tensión -Very_High_Voltage_Switch.name=Enchufe de muy alta tensión -Voltage-to-Redstone_Converter.name=Convertidor de Redstone a voltios -Voltage_Oriented_Battery.name=Batería de voltios -Voltage_Probe.name=Sonda de voltaje -Water_Turbine.name=Turbina de agua -Weak_50V_Battery_Charger.name=Cargador de batería débil de 50V -White_Brush.name=Pincel blanco -Wind_Turbine.name=Turbina de viento -Wireless_Analyser.name=Analizador inalámbrico -Wireless_Button.name=Boton inalámbrico -Wireless_Signal_Receiver.name=Receptor de señal inalámbrico -Wireless_Signal_Repeater.name=Repetidor de señal inalámbrico -Wireless_Signal_Transmitter.name=Transmisor de señal inalámbrico -Wireless_Switch.name=Interruptor inalámbrico -Wrench.name=Llave inglesa -X-Ray_Scanner.name=Escaner de Rayos X -XNOR_Chip.name=XNOR Chip -XOR_Chip.name=XOR Chip -Yellow_Brush.name=Pincel amarillo -entity.EAReplicator.name=Replicador -item.Copper Axe.name\=Hacha de Cobre -item.Copper Axe.name\=Hacha de Cobre -item.Copper Axe.name\=Hacha de Cobre -item.Copper Axe.name\=Hacha de Cobre -item.Copper Axe.name\=Hacha de Cobre -item.Copper Axe.name\=Hacha de Cobre -item.Copper Axe.name\=Hacha de Cobre -item.Copper Axe.name\=Hacha de Cobre -item.Copper Axe.name\=Hacha de Cobre -item.E-Coal Boots.name\=Botas de Carbón -item.E-Coal Boots.name\=Botas de Carbón -item.E-Coal Boots.name\=Botas de Carbón -item.E-Coal Boots.name\=Botas de Carbón -itemGroup.Eln=Edad eléctrica -mod.meta.desc=Electricidad en tu base\! -tile.eln.ElnProbe.name=Sonda ordenador Eln -tile.eln.EnergyConverterElnToOtherHVUBlock.name=800V Edad eléctrica a otro exportador de energía -tile.eln.EnergyConverterElnToOtherLVUBlock.name=50V Edad eléctrica a otro exportador de energía -tile.eln.EnergyConverterElnToOtherMVUBlock.name=200V Edad eléctrica a otro exportador de energía - -# ./src/main/java/mods/eln/i18n/I18N.java -You_have_%s_lives_left=Te queda el %s de vida - -# ./src/main/java/mods/eln/item/BrushDescriptor.java -Brush_is_dry=El cepillo está seca -Can_paint_%s_blocks=Puedes pintar %s bloques - -# ./src/main/java/mods/eln/item/CombustionChamber.java -Upgrade_for_the_Stone_Heat_Furnace.=Mejora para el horno de calor de piedra. - -# ./src/main/java/mods/eln/item/ElectricalDrillDescriptor.java -Energy_per_operation\:_%sJ=Energía por operación\: %sJ -Time_per_operation\:_%ss=Tiempo por operación\: %ss - -# ./src/main/java/mods/eln/item/FerromagneticCoreDescriptor.java -Cable_loss_factor\:_%s=Factor de pérdida del cable\: %s - -# ./src/main/java/mods/eln/item/HeatingCorpElement.java - -# ./src/main/java/mods/eln/item/LampDescriptor.java -Bad=Malo -Condition\:=Condición\: -End_of_life=Fin de la vida -Good=Bueno -New=Nuevo -Nominal_lifetime\:_%sh=Vida útil nominal\: %sh -Technology\:_%s=Tecnología\: %s -Used=Uso - -# ./src/main/java/mods/eln/item/LampSlot.java -Lamp_slot=Ranura de lámpara - -# ./src/main/java/mods/eln/item/OverHeatingProtectionDescriptor.java -Useful_to_prevent_overheating\nof_Batteries=Útil para prevenir sobrecalentamiento\nde las baterías - -# ./src/main/java/mods/eln/item/OverVoltageProtectionDescriptor.java -Useful_to_prevent_over-voltage\nof_Batteries=Útil para prevenir sobrecarga\nde las baterías - -# ./src/main/java/mods/eln/item/SolarTrackerDescriptor.java -Solar_panel_upgrade=Mejora del panel solar - -# ./src/main/java/mods/eln/item/electricalitem/BatteryItem.java - -# ./src/main/java/mods/eln/item/electricalitem/ElectricalLampItem.java -Off=Apagado -On=Encendido -State\:=Estado\: -Stored_Energy\:_%sJ_(%s)=Energía almacenada\: %sJ (%s) - -# ./src/main/java/mods/eln/item/regulator/RegulatorSlot.java - -# ./src/main/java/mods/eln/misc/UtilsClient.java -Hold_shift=Aguantar shift - -# ./src/main/java/mods/eln/misc/Version.java -mod.name=Edad eléctrica - -# ./src/main/java/mods/eln/node/six/SixNodeDescriptor.java - -# ./src/main/java/mods/eln/simplenode/energyconverter/EnergyConverterElnToOtherGui.java -Input_power_is_limited_to_%sW=La entrada de poder está limitada a %sW - -# ./src/main/java/mods/eln/sixnode/LogicGate.kt -_O\:_= O\: - -# ./src/main/java/mods/eln/sixnode/TreeResinCollector/TreeResinCollectorDescriptor.java -Produces_Tree_Resin_over\ntime_when_put_on_a_tree.=Produce resina de árbol sobre\ntiempo cuando está colocado en un árbol. -This_block_can_only_be_placed_on_the_side_of_a_tree!=This block can only be placed on the side of a tree\! - -# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerContainer.java -Battery_slot=Espacio de batería - -# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerDescriptor.java -Can_be_used_to_recharge\nelectrical_items_like\:\nFlash_Light,_X-Ray_scanner\nand_Portable_Battery_...=Puede ser usado para recargar\nartículos eléctricos con\:\nflash de luz, escáner de rayos X \\ y batería portátil - -# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerGui.java - -# ./src/main/java/mods/eln/sixnode/diode/DiodeDescriptor.java -Electrical_current_can_only\nflow_through_the_diode\nfrom_anode_to_cathode=La corriente eléctrica sólo puede\nfluir a través del diodo\ndesde el anodo al catodo. - -# ./src/main/java/mods/eln/sixnode/electricalalarm/ElectricalAlarmDescriptor.java -= -Emits_an_acoustic_alarm_if\nthe_input_signal_is_high=Emite una alarma acústica\nla señal de entrada es alta. - -# ./src/main/java/mods/eln/sixnode/electricalalarm/ElectricalAlarmGui.java -Sound_is_muted=Sonido silenciado. -Sound_is_not_muted=Sonido dessilenciado. - -# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerContainer.java - -# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerDescriptor.java -Protects_electrical_components\nOpens_contact_if\:\n__-_Voltage_exceeds_a_certain_level\n-_Current_exceeds_the_cable_limit=Componentes de protección eléctrica\nabren contactos si\:\n -\n- la corriente excede el límite del cable. - -# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerGui.java -Maximum_voltage_before_cutting_off=Tensión máxima antes de cortar -Minimum_voltage_before_cutting_off=Tensión mínima antes de cortar -Switch_is_off=El interruptor está desactivado. -Switch_is_on=El interruptor está activado - -# ./src/main/java/mods/eln/sixnode/electricalcable/ElectricalCableDescriptor.java -A_signal_is_electrical_information\nwhich_must_be_between_0V_and_%sV=Una señal es la información eléctrica\nque debe ser entre 0V y %sV -Cable_is_adapted_to_conduct\nelectrical_signals.=El cable está adaptado para conducir\nseñales eléctricas. -Current\:_%sA=Corriente\: %sA -Not_adapted_to_transport_power.=No adaptado para el transporte de energía. -Save_usage\:=Guardar el uso\: -Serial_resistance\:_%sΩ=La resistencia en serie\: %sΩ - -# ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerDescriptor.java -It_can_store_up_to_256_points.=Es capaz de almacenar hasta 256 puntos -Measures_the_voltage_of_an\nelectrical_signal_and_plots\nthe_data_in_real_time.=Mide la tensión de una\nseñal eléctrica y parcelas\nlos datos en tiempo real. - -# ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerGui.java -Back_to_display=Volver a mostrar -Configuration=Configuración -Current_[A]=Corriente [A] -Energy_[J]=Energía [J] -Percent_[-]%=Porciento [-]% -Power_[W]=Potencia [W] -Print=Impresión -Sampling_period=Periodo de muestra -Temp._[*C]=Temp. [*C] -Voltage_[V]=Voltaje [V] -Y-axis_max=Y-eje máximo -Y-axis_min=Y-eje mínimo - -# ./src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorContainer.java - -# ./src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorDescriptor.java -Output_voltage_increases\nif_entities_are_moving_around.=Aumenta la tensión de salida\nsi las entidades están moviendo. - -# ./src/main/java/mods/eln/sixnode/electricalfiredetector/ElectricalFireDetectorDescriptor.java -Output_voltage_increases\nif_a_fire_has_been_detected.=Aumenta la tensión de salida\nsi se ha detectado un incendio. - -# ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceDescriptor.java -Provides_configurable_signal\nvoltage.=Proporciona señal configurable\nvoltaje. - -# ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceGui.java -Output_at_%s=La producción en %s - -# ./src/main/java/mods/eln/sixnode/electricallightsensor/ElectricalLightSensorDescriptor.java -0V_at_night,_%sV_at_noon.=0V a la noche, %sV al mediodía. -Provides_an_electrical_voltage\nin_the_presence_of_light.=Proporciona una tensión eléctrica\nen presencia de la luz. -Provides_an_electrical_voltage\nwhich_is_proportional_to\nthe_intensity_of_daylight.=Proporciona una tensión eléctrica\nque es proporcional a\nla intensidad de la luz del día. - -# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathContainer.java - -# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathDescriptor.java -Applicable_boolean_operators\:=Operadores booleanos aplicables\: -Applicable_functions\:=Funciones aplicables\: -Applicable_mathematical_operators\:=Operadores matemáticos aplicables\: -Calculates_an_output_signal_from\n3_inputs_(A,_B,_C)_using_an_equation.=Calcula una señal de salida\nde 3 entradas (A, B, C) utilizando una ecuación. - -# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathGui.java -%s_Redstone(s)_required=%s Redstone(s) requerida -Equation_required!=Ecuación requerida\! -Inputs_are=Las entradas son -Invalid_equation!=Ecuación inválida\! -Output_voltage_formula=Fórmula de tensión de salida -Waiting_for_completion...=A la espera de la finalización... - -# ./src/main/java/mods/eln/sixnode/electricalredstoneinput/ElectricalRedstoneInputDescriptor.java -Converts_Redstone_signal\nto_an_electrical_voltage.=Convierte la señal de Redstone\na una tensión eléctrica. - -# ./src/main/java/mods/eln/sixnode/electricalredstoneoutput/ElectricalRedstoneOutputDescriptor.java -Converts_electrical_voltage\ninto_a_Redstone_signal.=Convierte la tensión eléctrica\nen una señal de Redstone. - -# ./src/main/java/mods/eln/sixnode/electricalrelay/ElectricalRelayDescriptor.java -A_relay_is_an_electrical\ncontact_that_conducts_electric\ncurrent_or_not,_depending\nthe_actual_input_signal_voltage.=Un relé es un \ncontacto que conduce electricidad\nactualmente o no, dependiendo\ndel voltaje de la señal de entrada real. - -# ./src/main/java/mods/eln/sixnode/electricalrelay/ElectricalRelayGui.java -Normally_closed=Normalmente cerrado -Normally_open=Normalmente abierto - -# ./src/main/java/mods/eln/sixnode/electricalsource/ElectricalSourceDescriptor.java -Creative_block.=Bloque creativo. -Provides_an_ideal_voltage_source\nwithout_energy_or_power_limitation.=Proporciona una fuente ideal de voltaje\nsin energía y sin limitación de potencia. - -# ./src/main/java/mods/eln/sixnode/electricalsource/ElectricalSourceGui.java -Output_voltage=Tensión de salida - -# ./src/main/java/mods/eln/sixnode/electricalswitch/ElectricalSwitchDescriptor.java -Can_break_an_electrical_circuit\ninterrupting_the_current.=Puede romper un circuito eléctrico\ninterrumpiendo la corriente. - -# ./src/main/java/mods/eln/sixnode/electricaltimeout/ElectricalTimeoutDescriptor.java -Upon_application_of_a_high_signal,\nthe_timer_maintains_the_output_high_for\na_configurable_interval._Can_be_re-triggered.=Tras la aplicación de una señal de alto,\nel temporizador mantiene el alto rendimiento de\nun intervalo configurable. Puede ser re-activado. - -# ./src/main/java/mods/eln/sixnode/electricaltimeout/ElectricalTimeoutGui.java -Set=Set -The_time_interval_the\noutput_is_kept_high.=En el intervalo de tiempo,\nla salida se mantiene alta. - -# ./src/main/java/mods/eln/sixnode/electricalvumeter/ElectricalVuMeterDescriptor.java -Displays_the_value_of_a_signal.=Muestra el valor de una señal. - -# ./src/main/java/mods/eln/sixnode/electricalwatch/ElectricalWatchContainer.java -Portable_battery_slot=Ranura de la batería portátil - -# ./src/main/java/mods/eln/sixnode/electricalweathersensor/ElectricalWeatherSensorDescriptor.java -Clear\:_%sV=Clear\: %sV -Provides_an_electrical_signal\ndepending_the_actual_weather.=Proporciona una señal eléctrica\nen función del tiempo real. -Rain\:_%sV=Rain\: %sV -Storm\:_%sV=Storm\: %sV - -# ./src/main/java/mods/eln/sixnode/electricalwindsensor/ElectricalWindSensorDescriptor.java -Maximum_wind_speed_is_%sm_s=Velocidad máxima del viento es %sm/s -Provides_an_electrical_signal\ndependant_on_wind_speed.=Proporciona una señal eléctrica\nque depende de la velocidad del viento. -You_can't_place_this_block_on_the_floor_or_the_ceiling=You can't place this block on the floor or the ceiling - -# ./src/main/java/mods/eln/sixnode/electricasensor/ElectricalSensorDescriptor.java -Can_measure_Voltage_Power_Current=Puede medir tensión / potencia / corriente -Measures_electrical_values_on_cables.=Mide valores eléctricos en los cables. -Measures_voltage_on_cables.=Mide la tensión en los cables. - -# ./src/main/java/mods/eln/sixnode/electricasensor/ElectricalSensorGui.java -Current=Current -Measured_voltage\ncorresponding\nto_0%_output=Tensión medida\ncorrespondiente\na la salida de 0%. -Measured_voltage\ncorresponding\nto_100%_output=Tensión medida\ncorrespondiente\na la salida 100%. -Voltage=Voltaje - -# ./src/main/java/mods/eln/sixnode/energymeter/EnergyMeterGui.java -Change_password=Cambiar contraseña -Counter_Mode=Modo de contador -Counts_the_energy_conducted_from\n\u00a74red\u00a7f_to_\u00a71blue\u00a7f.=Que cuenta la energía conducida desde\n\\u00a74rojo\\u00a7f a \\u00a71azul\\u00a7f. -Energy_counter\:_%sJ=Contador de energía\: %sJ -Enter_new_energy=Introducir nueva energía -Enter_password=Escribir contraseña -Prepay_Mode=Modo prepago -Reset_time_counter=Contador de tiempo de reposición -Set_energy_counter=Establecer contador de energía -Time_counter\:=Contador de tiempo\: -Try_password=Probar contraseña -You_can_set_an_initial\namount_of_available_energy.\nWhen_the_counter_arrives_at_0\nthe_contact_will_be_opened.=Se puede establecer una primera\ncantidad de energía disponible.\nCuando el contador llega a 0\nse abre el contacto. -is_off=Está apagado. -is_on=Está encendido. -value_in_kJ=Valor en kJ - -# ./src/main/java/mods/eln/sixnode/groundcable/GroundCableDescriptor.java -Can_be_used_to_set_a_point_of_an\nelectrical_network_to_0V_potential.\nFor_example_to_ground_negative_battery_contacts.=Puede ser utilizado para establecer un punto \nde una la red eléctrica al potencial de 0V.\nPor ejemplo para conectar a tierra los contactos negativos de la batería. -Provides_a_zero_volt_reference.=Proporciona una referencia de cero voltios. - -# ./src/main/java/mods/eln/sixnode/hub/HubDescriptor.java -Allows_crossing_cables\non_one_single_block.=Permite cables de cruce\nen un solo bloque. - -# ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketDescriptor.java -Angle\:_%s°_to_%s°=Ángulo\: %s° to %s° -Spot_range\:_%s_blocks=Rango de la localización\: %s bloques - -# ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketGuiDraw.java -%s_is_not_in_range!=%s is not in range\! -Cable_slot_empty=Cable con espacio vacío -Orientation\:_%s°=Orientación\: %s° -Parallel=Paralelo -Powered_by_Lamp_Supply=Encendido con lámpara -Powered_by_cable=Encendido con cable -Serial=Serial -Specify_the_supply_channel=Específico para un canal secundario - -# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyContainer.java -Electrical_cable_slot\nBase_range_is_32_blocks.\nEach_additional_cable\nincreases_range_by_one.=Una ranura del cable electrico.\nTiene una base de 32 bloques.\nCada cable adicional\nincrementa la base por uno. - -# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyDescriptor.java -Supplies_all_lamps_on_the_channel.=Suministra todas las lámparas en el canal. - -# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyGui.java -Power_channel_name=Nombre del canal de alimentación -Wireless_channel_name=Nombre del canal inalámbrico - -# ./src/main/java/mods/eln/sixnode/modbusrtu/ModbusRtuGui.java -Add=Añadir -Channel_name=Nobre del canal -Modbus_ID=Modbus ID -Modbus_RTU=Modbus RTU -Station_ID=ID de estación -Station_name=Nombre de estación. -Wireless_RX=Wireless RX -Wireless_TX=Wireless TX - -# ./src/main/java/mods/eln/sixnode/powercapacitorsix/PowerCapacitorSixContainer.java -(Increases_maximum_voltage)=(Aumenta la tensión máxima) - -# ./src/main/java/mods/eln/sixnode/powercapacitorsix/PowerCapacitorSixGui.java - -# ./src/main/java/mods/eln/sixnode/powerinductorsix/PowerInductorSixContainer.java - -# ./src/main/java/mods/eln/sixnode/powerinductorsix/PowerInductorSixGui.java - -# ./src/main/java/mods/eln/sixnode/powersocket/PowerSocketDescriptor.java -Supplies_any_device\nplugged_in_with_energy.=Suministra cualquier dispositivo\nenchufado con la energía. - -# ./src/main/java/mods/eln/sixnode/powersocket/PowerSocketGui.java -Specify_the_device_to_supply_through_this_socket.=Especifique el dispositivo para el suministro a través de esta toma. - -# ./src/main/java/mods/eln/sixnode/resistor/ResistorContainer.java -(Sets_resistance)=(Sets resistance) -Coal_dust_slot=Coal dust slot - -# ./src/main/java/mods/eln/sixnode/thermalcable/ThermalCableDescriptor.java -High_parallel_resistance\n_\=>_Low_power_dissipation.=Resistencia paralela alta\n \=> Bajo poder disipación. -Low_serial_resistance\n_\=>_High_conductivity.=Baja resistencia de serie\n\=> Alta conductividad. -Parallel_resistance\:_%sK_W=Resistencia paralela\: %sK/W -Serial_resistance\:_%sK_W=Resistencia de serie\: %sK/W - -# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorContainer.java -Cable_slot=Ranura para cable - -# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorDescriptor.java -Can_measure\:=Puede medir\: -Measures_temperature_of_cables.=Medidas de temperatura de cables. -Measures_thermal_values_on_cables.=Medidas de valores térmicos en los cables. -__Temperature_Power_conducted=Temperatura / Energía llevado a cabo - -# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorGui.java -Measured_temperature\ncorresponding\nto_0%_output=Temperatura medida\ncorrespondiente\na la salida 0% -Measured_temperature\ncorresponding\nto_100%_output=Temperatura medida\ncorrespondiente\na la salida 100% -Temperature=Temperatura - -# ./src/main/java/mods/eln/sixnode/tutorialsign/TutorialSignElement.java -No_text_associated_to_this_beacon=No hay texto asociado a este beacon - -# ./src/main/java/mods/eln/sixnode/tutorialsign/TutorialSignGui.java -Set_beacon_name=Nombre del conjunto de beacon - -# ./src/main/java/mods/eln/sixnode/wirelesssignal/rx/WirelessSignalRxGui.java - -# ./src/main/java/mods/eln/transparentnode/FuelGenerator.kt -Nominal_power\:_%s_W=Nominal power\: %s W -Nominal_voltage\:_%s_V=Nominal voltage\: %s V -Produces_electricity_using_fuel.=Produce electricidad usando combustible. - -# ./src/main/java/mods/eln/transparentnode/LargeRheostat.kt -Nom._Resistance\:_%s=Nom. Resistance\: %s - -# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerContainer.java -Drill_slot=Ranura del taladro -Mining_pipe_slot=Ranura de tubería de minería -Ore_scanner_slot=Ranura de escáner de mineral - -# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerDescriptor.java -Excavates_on_a_small_radius.\nExtracts_ore_on_a_bigger_radius\:\n10_blocks_radius_after_10_blocks_depth.=Excavates on a small radius.\nExtracts ore on a bigger radius\:\n10 blocks radius after 10 blocks depth. - -# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerGuiDraw.java -Chest_missing_on_the\nback_of_the_auto_miner!=Chest missing on the\nback of the auto miner\! -Halves_speed,_triples_power_draw=Halves speed, triples power draw -Silk_Touch_Off=Silk Touch Off -Silk_Touch_On=Silk Touch On -Silk_touch=Silk touch - -# ./src/main/java/mods/eln/transparentnode/battery/BatteryContainer.java -Overheating_protection=Overheating protection -Overvoltage_protection=Overvoltage protection - -# ./src/main/java/mods/eln/transparentnode/battery/BatteryDescriptor.java -Actual_charge\:_%s=Carga actual\: %s -Energy_capacity\:_%sJ=Capacidad de energía\: %sJ -_charged_at_%s=Cargado hasta %s - -# ./src/main/java/mods/eln/transparentnode/battery/BatteryGuiDraw.java -Charge=Carga -Charged=Cargado -Discharge=Descargado -Energy\:=Energía\: -Energy\:_%s=Energía\: %s -Life\:=Vida\: -No_charge=Sin carga -Power_in\:=Potencia dentro\: -Power_out\:=Potencia fuera\: - -# ./src/main/java/mods/eln/transparentnode/eggincubator/EggIncubatorContainer.java -Egg_slot=Ranura del huevo - -# ./src/main/java/mods/eln/transparentnode/electricalantennarx/ElectricalAntennaRxDescriptor.java -Wireless_energy_receiver.=Receptor de energía inalámbrica. - -# ./src/main/java/mods/eln/transparentnode/electricalantennatx/ElectricalAntennaTxDescriptor.java -Efficiency\:_%s_up_to_%s=Eficiencia\: %s hasta %s -Wireless_energy_transmitter.=Transmisor de energía inalámbrica. - -# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceContainer.java -Heating_corp_slot=Ranura de calefacción - -# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceDescriptor.java -Similar_to_a_vanilla_furnace,\nbut_heats_with_electricity.=Similar a un horno\npero calienta con electricidad. - -# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceGuiDraw.java -Auto_shutdown=Apagado automático -Manual_shutdown=Cierre manual -Set_point\:_%s°C=Punto fijo\: %s°C - -# ./src/main/java/mods/eln/transparentnode/electricalmachine/ElectricalMachineDescriptor.java -Cost=Coste - -# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceContainer.java -Combustion_chamber_slot=Ranura cámara de combustión -Fuel_slot=Ranura de combustible - -# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceDescriptor.java -Generates_heat_when_supplied_with_fuel.=Genera calor como fuente de combustible. - -# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceGuiDraw.java -Control_gauge_at_%s=Control de medida a %s -Decline_fuel=Eliminar combustible -External_control=Control externo -Internal_control=Control interno -Take_fuel=Coger combustible - -# ./src/main/java/mods/eln/transparentnode/powercapacitor/PowerCapacitorContainer.java -(Increases_maximal_voltage)=(Tensión máxima aumentada) - -# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelContainer.java -Solar_tracker_slot=Ranura del rastreador solar - -# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelDescriptor.java -Can_be_geared_towards_the_sun.=Puede ser orientada hacia el sol. -Max._power\:_%sW=Potencia máxima\: %sW -Max._voltage\:_%sV=Voltaje máximo\: %sV -Produces_power_from_solar_radiation.=Produce energía de la radiación solar. - -# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPannelGuiDraw.java -It_is_night=Es de noche -Solar_panel_angle\:_%s°=Angulo del panel solar\: %s° -Sun_angle\:_%s°=El ángulo del sol\: %s° - -# ./src/main/java/mods/eln/transparentnode/teleporter/TeleporterGui.java -Destination_transporter=Destino transportador -Power_consumption\:=Consumo de energía\: -Power_consumption\:_%sW=Consumo de energía\: %sW -Required_energy\:_%sJ=Requiere energía\: %sJ -Start=Comenzar -Transporter_name=Nombre del transportador - -# ./src/main/java/mods/eln/transparentnode/thermaldissipatoractive/ThermalDissipatorActiveDescriptor.java -Fan_cooling_power\:_%sW=Potencia del ventilador de refrigeración\: %sW -Fan_power_consumption\:_%sW=Consumo de energía del ventilador\: %sW -Fan_voltage\:_%sV=Voltaje del ventilador\: %sV - -# ./src/main/java/mods/eln/transparentnode/transformer/TransformerDescriptor.java -The_voltage_ratio_is_proportional\nto_the_cable_stacks_count_ratio.=La relación de voltaje es proporcional\nal cable. -Transforms_an_input_voltage_to\nan_output_voltage.=Transforma una tensión de entrada de\nuna tensión de salida. - -# ./src/main/java/mods/eln/transparentnode/turbine/TurbineDescriptor.java -Generates_electricity_using_heat.=Genera electricidad por la temperatura. -Temperature_difference\:_%s°C=Temperaturas diferentes\: %s°C - -# ./src/main/java/mods/eln/transparentnode/turret/TurretDescriptor.java -CAUTION\:_Cables_can_get_quite_hot!=Precaución\: Los cables pueden llegar a estar muy calientes\! -Laser_charge_power\:_%sW...%skW=Laser cargado\: %sW...%skW -Scans_for_entities_and_shoots_if_the\nentity_matches_the_configurable_filter_criteria.=Analiza en busca de las entidades y los brotes de la\nentidad que coincide con los criterios del filtro configurables. -Standby_power\:_%sW=Energía de reserva\: %sW - -# ./src/main/java/mods/eln/transparentnode/turret/TurretGui.java -Attack\:=Atacar\: -Do_not_attack\:=No atacar\: -Recharge_power\:=Potencia recargada\: - -# ./src/main/java/mods/eln/transparentnode/waterturbine/WaterTurbineDescriptor.java -Generates_energy_using_water_stream.=Genera energía por la corriente del agua. -No_place_for_water_turbine!=No place for water turbine\! - -# ./src/main/java/mods/eln/transparentnode/windturbine/WindTurbineDescriptor.java -Front\:_%s=En frente\: %s -Generates_energy_from_wind.=Genera energía por el viento. -Left_Right\:_%s=Izquierda/Derecha\: %s -Up_Down\:_%s=Arriba/Abajo\: %s -Wind_area\:=Área de viento\: - -# ./src/main/java/mods/eln/wiki/Data.java -Energy=Energía -Light=Luz -Machine=Máquina -Ore=Mena -Portable=Portable -Resource=Recurso -Signal=Señal -Thermal=Térmico -Upgrade=Actualización -Utilities=Utilidades -Wiring=Cables - -# ./src/main/java/mods/eln/wiki/Default.java -Previous=Previo - -# ./src/main/java/mods/eln/wiki/ItemDefault.java -Can_be_used_to_craft\:=Se puede utilizar para craftear\: -Cannot_be_crafted!=No se puede craftear\! -Cost_%sJ=Cuesta %sJ -Created_by\:=Creado por\:\: -Is_not_a_crafting_material!=No es un material crafteable\! -Recipe\:=Receta\: - -# Appearing in multiple source files -(Increases_capacity)=(Incrementa la capacidad) -(Increases_inductance)=(Aumenta la Inductancia) -Actual\:_%s°C=Real\: %s°C -Biggest=Más grande -Booster_slot=Aumento de espacio -Can_create\:=Puede crear\: -Capacity\:_%sF=Capacidad\: %sF -Charge_power\:_%sW=Potencia cargada\: %sW -Connected=Conectado -Cooling_power\:_%sW=Potencia de refrigeración\: %sW -Copper_cable_slot=Ranura para cable de cobre -Dielectric_slot=Espacio del dialéctrico -Discharge_power\:_%sW=Potencia descargada\: %sW -Electrical_cable_slot=Ranura para cable eléctrico -Entity_filter_slot=Ranura para filtro de entidad -Ferromagnetic_core_slot=Ranura núcleo ferromagnético -Has_a_signal_output.=Tiene una salida de señal -Inductance\:_%sH=Inductancia\: %sH -Internal_resistance\:_%sΩ=Resistencia interna\: %sΩ -Is_off=Está apagado -Is_on=Está en -Max._temperature\:_%s°C=Temperatura máxima\: %s°C -Measured_value\ncorresponding\nto_0%_output=Valor medido\ncorrespondiente\na la salida 0% -Measured_value\ncorresponding\nto_100%_output=Valor medido\ncorrespondiente\na la salida 100% -Nominal\:=Nominal\: -Nominal_power\:_%sW=Poder nominal\: %sW -Nominal_usage\:=Uso nominal\: -Nominal_voltage\:_%sV=Voltaje nominal\: %sV -Not_connected=No conectado -Not_enough_space_for_this_block=No hay suficiente espacio para este bloque -Power=Poder -Power\:_%sW=Poder\: %sW -Range\:_%s_blocks=Puedes pintar %s bloques -Redstone_slot=Ranura de redstone -Regulator_slot=Ranura reguladora -Reset=Reiniciar -Resistance\:_%sΩ=Resistencia\: %sΩ -Smallest=Pequeñísimo -Specify_the_channel=Especifique el canal -Stored_energy\:_%sJ_(%s)=Energía almacenada\: %sJ (%s) -Temperature\:_%s°C=Temperatura\: %s°C -Temperature_gauge=Indicador de temperatura -Thermal_isolator_slot=Ranura de aislante térmico -Toggle=Palanca -Toggle_switch=Interruptor de palanca -Toggles_the_output_each_time\nan_emitter's_value_rises.\nUseful_to_allow_multiple_buttons\nto_control_the_same_light.=Alterna la salida cada vez que\nun valor emisor se eleva.\nÚtil para permitir varios botones\npara controlar la misma luz. -Used_to_cool_down_turbines.=Usado para enfriar las turbinas. -Uses_the_biggest\nvalue_on_the_channel.=Utiliza el mayor\nvalor en el canal. -Uses_the_smallest\nvalue_on_the_channel.=Utiliza el menor\nvalor en el canal. -Validate=Validar -Voltage\:_%sV=Voltaje\: %sV -You_can't_place_this_block_at_this_side=No se puede colocar este bloque en este lado +eln:# +eln: +eln:# ./src/main/java/mods/eln/Achievements.java +eln:Electrical_Age_[WIP]=Edad eléctrica [WIP] +eln:achievement.craft_50v_macerator=Crushing Novice +eln:achievement.craft_50v_macerator.desc=Craftea un macerador de 50V +eln:achievement.open_guide=Abrir la guía +eln:achievement.open_guide.desc=Abrir la guía desde el escritorio +eln: +eln:# ./src/main/java/mods/eln/Eln.java +eln:10A_Diode.name=10A Diodo +eln:200V_Active_Thermal_Dissipator.name=200V Disipador térmico activo +eln:200V_Battery_Charger.name=200V Cargador de batería +eln:200V_Compressor.name=200V Compresor +eln:200V_Condensator.name=200V Condensador +eln:200V_Copper_Heating_Corp.name=200V Generador de calor de Cobre +eln:200V_Economic_Light_Bulb.name=200V Bombilla económica +eln:200V_Farming_Lamp.name=200V Lámpara agrícola +eln:200V_Fuel_Generator.name=200V Fuel Generator +eln:200V_Incandescent_Light_Bulb.name=200V Bombilla incandescente +eln:200V_Iron_Heating_Corp.name=200V Generador de calor de Hierro +eln:200V_LED_Bulb.name=200V LED Bulb +eln:200V_Macerator.name=200V Macerador +eln:200V_Magnetizer.name=200V Magnetizador +eln:200V_Plate_Machine.name=200V Placa de la máquina +eln:200V_Power_Socket.name=200V Toma de corriente +eln:200V_Tungsten_Heating_Corp.name=200V Generador de calor de Tungsteno +eln:200V_Turbine.name=200V Turbina +eln:25A_Diode.name=25A Diodo +eln:50V_Battery_Charger.name=50V Cargador de batería +eln:50V_Carbon_Incandescent_Light_Bulb.name=50V Bombilla incandescente +eln:50V_Compressor.name=50V Compresor +eln:50V_Condensator.name=50V Condensador +eln:50V_Copper_Heating_Corp.name=50V Generador de calor de Cobre +eln:50V_Economic_Light_Bulb.name=50V Bombilla económica +eln:50V_Egg_Incubator.name=50V Incubadora de huevo +eln:50V_Farming_Lamp.name=50V Lámpara agrícola +eln:50V_Fuel_Generator.name=50V Fuel Generator +eln:50V_Incandescent_Light_Bulb.name=50V Bombilla incandescente +eln:50V_Iron_Heating_Corp.name=50V Generador de calor de Hierro +eln:50V_LED_Bulb.name=50V LED Bulb +eln:50V_Macerator.name=50V Macerador +eln:50V_Magnetizer.name=50V Magnetizador +eln:50V_Plate_Machine.name=50V Lámina de máquina +eln:50V_Power_Socket.name=50V Toma de corriente +eln:50V_Tungsten_Heating_Corp.name=50V Generador de calor de Tungsteno +eln:50V_Turbine.name=50V Turbina +eln:800V_Defence_Turret.name=800V Defensa torreta +eln:AND_Chip.name=AND Chip +eln:Advanced_Chip.name=Chip avanzado +eln:Advanced_Electrical_Motor.name=Motor de calor avanzado +eln:Advanced_Energy_Meter.name=Medidor de energía avanzada +eln:Advanced_Machine_Block.name=Bloque mecánico avanzado +eln:Advanced_Magnet.name=Imán avanzado +eln:AllMeter.name=Polímetro universal +eln:Alloy_Dust.name=Polvo de aleación +eln:Alloy_Ingot.name=Polvo de lingotes +eln:Alloy_Plate.name=Polvo de lámina +eln:Analog_Watch.name=Reloj analógico +eln:Analog_vuMeter.name=Indicador analógico +eln:Analogic_Regulator.name=Regulador analógico +eln:Animal_Filter.name=Filtro de animales +eln:Auto_Miner.name=Minador automático +eln:Average_Electrical_Drill.name=Taladro eléctrico medio +eln:Average_Ferromagnetic_Core.name=Núcleo Ferromagnético medio +eln:Basic_Magnet.name=Imán básico +eln:Black_Brush.name=Pincel negro +eln:Blue_Brush.name=Pincel azul +eln:Brown_Brush.name=Pincel marrón +eln:Capacity_Oriented_Battery.name=Cargador de batería +eln:Cheap_Chip.name=Chip malo +eln:Cheap_Electrical_Drill.name=Martillo eléctrico malo +eln:Cheap_Ferromagnetic_Core.name=Nucleo Ferromagnético malo +eln:Cinnabar_Dust.name=Polvo de Cinabrio +eln:Cinnabar_Ore.name=Mena de Cinabrio +eln:Coal_Dust.name=Polvo de Carbón +eln:Coal_Plate.name=Lámina de Carbón +eln:Combustion_Chamber.name=Cámara de combustión +eln:Copper_Cable.name=Cable de Cobre +eln:Copper_Dust.name=Polvo de Cobre +eln:Copper_Ingot.name=Lingote de Cobre +eln:Copper_Ore.name=Mena de Cobre +eln:Copper_Plate.name=Lámina de Cobre +eln:Copper_Thermal_Cable.name=Cable térmico de Cobre +eln:Cost_Oriented_Battery.name=Cargador de batería +eln:Current_Oriented_Battery.name=Cargador de batería funcional +eln:Cyan_Brush.name=Pincel cián +eln:D_Flip_Flop_Chip.name=D Flip Flop Chip +eln:Data_Logger.name=Datos registrados +eln:Data_Logger_Print.name=Impresora +eln:Dielectric.name=Dieléctrico +eln:Digital_Watch.name=Reloj digital +eln:Electrical_Anemometer_Sensor.name=Anemómetro eléctrico +eln:Electrical_Breaker.name=Interruptor eléctrico +eln:Electrical_Daylight_Sensor.name=Sensor de luz natural eléctrico +eln:Electrical_Entity_Sensor.name=Sensor de entidades eléctrico +eln:Electrical_Fire_Detector.name=Detector de fuego eléctrico +eln:Electrical_Furnace.name=Horno eléctrico +eln:Electrical_Light_Sensor.name=Sensor eléctrico de luz +eln:Electrical_Motor.name=Motor eléctrico +eln:Electrical_Probe.name=Sonda eléctrica +eln:Electrical_Probe_Chip.name=Chip de sonda eléctrica +eln:Electrical_Source.name=Fuente eléctrica +eln:Electrical_Timer.name=Minutero eléctrico +eln:Electrical_Weather_Sensor.name=Sensor del clima eléctrico +eln:Electrical_age_wrench,\nCan_be_used_to_turn\nsmall_wall_blocks=Interruptor eléctrico,\nLo puedes usar para encender\npequeñas paredes de bloques +eln:Energy_Meter.name=Medidor de energía +eln:Experimental_Transporter.name=Transportador experimental +eln:Fast_Electrical_Drill.name=Taladro rápido eléctrico +eln:Ferrite_Ingot.name=Lingote de Ferrita +eln:Flat_Lamp_Socket.name=Enchufe de lámpara plano +eln:Fluorescent_Lamp_Socket.name=Enchufe de lámpara fluorescente +eln:Generator.name=Generator +eln:Gold_Dust.name=Polvo de Oro +eln:Gold_Plate.name=Láminas de Oro +eln:Gray_Brush.name=Pincel gris +eln:Green_Brush.name=Pincel verde +eln:Ground_Cable.name=Toma de tierra +eln:High_Power_Receiver_Antenna.name=Antena receptora de alta potencia +eln:High_Power_Transmitter_Antenna.name=Antena transmisora de alta potencia +eln:High_Voltage_Cable.name=Cable de alto voltaje +eln:High_Voltage_Relay.name=Relé de alto voltaje +eln:High_Voltage_Switch.name=Interruptor de alto voltaje +eln:Hub.name=Hub +eln:Industrial_Data_Logger.name=Pantalla industrial de datos +eln:Iron_Cable.name=Cable de Hierro +eln:Iron_Dust.name=Polvo de Hierro +eln:Iron_Plate.name=Lámina de Hierro +eln:JK_Flip_Flop_Chip.name=JK Flip Flop Chip +eln:LED_vuMeter.name=Indicador de volumen de LED +eln:Lamp_Socket_A.name=Lámpara +eln:Lamp_Socket_B_Projector.name=Portalámparas +eln:Lamp_Supply.name=Suministro de lámpara +eln:Large_Rheostat.name=Large Rheostat +eln:Lead_Dust.name=Polvo de Plomo +eln:Lead_Ingot.name=Lingote de Plomo +eln:Lead_Ore.name=Mena de Plomo +eln:Lead_Plate.name=Lámina de Plomo +eln:Life_Oriented_Battery.name=Nivel de bateria +eln:Light_Blue_Brush.name=Pincel de luz azul +eln:Lime_Brush.name=Pincel lima +eln:Long_Suspended_Lamp_Socket.name=Encufe de lámpara larga suspendida +eln:Low_Power_Receiver_Antenna.name=Antena receptora de baja potencia +eln:Low_Power_Transmitter_Antenna.name=Antena transmisora de baja potencia +eln:Low_Voltage_Cable.name=Cable de baja tensión +eln:Low_Voltage_Relay.name=Relé de baja tensión +eln:Low_Voltage_Switch.name=Interruptor de baja tensión +eln:Machine_Block.name=Bloque de la maquina +eln:Machine_Booster.name=Mejora de maquina +eln:Magenta_Brush.name=Pincel magenta +eln:Medium_Power_Receiver_Antenna.name=Antena receptora de media potencia +eln:Medium_Power_Transmitter_Antenna.name=Antena transmisora de media potencia +eln:Medium_Voltage_Cable.name=Cable de medio voltaje +eln:Medium_Voltage_Relay.name=Relé de medio voltaje +eln:Medium_Voltage_Switch.name=Enchufe de medio voltaje +eln:Mercury.name=Mercurio +eln:Mining_Pipe.name=Tubo de la mineria +eln:Modbus_RTU.name=Modbus RTU +eln:Modern_Data_Logger.name=Pantalla mejorada +eln:Monster_Filter.name=Filtro de mounstros +eln:MultiMeter.name=Multímetro +eln:NAND_Chip.name=NAND Chip +eln:NOR_Chip.name=NOR Chip +eln:NOT_Chip.name=NOT Chip +eln:Nuclear_Alarm.name=Alarma nuclear +eln:OR_Chip.name=OR Chip +eln:On_OFF_Regulator_10_Percent.name=Encendido/Apagado regulador 10% +eln:On_OFF_Regulator_1_Percent.name=Encendido/Apagado regulador 1% +eln:Optimal_Ferromagnetic_Core.name=Núcleo ferromagnético óptimo +eln:Orange_Brush.name=Pincel naranja +eln:Ore_Scanner.name=Escaner de minerales +eln:Oscillator_Chip.name=Oscillator Chip +eln:Overheating_Protection.name=Protección contra sobrecalentamientos +eln:Overvoltage_Protection.name=Protección contra sobrevoltaje +eln:PAL_Chip.name=PAL Chip +eln:Pink_Brush.name=Pincel rosa +eln:Player_Filter.name=Filtro de jugador +eln:Portable_Battery.name=Batería Portátil +eln:Portable_Battery_Pack.name=Pack de baterías portátil +eln:Portable_Condensator.name=Condensador portátil +eln:Portable_Condensator_Pack.name=Pack de condensador portátil +eln:Portable_Electrical_Axe.name=Hacha eléctrica portátil +eln:Portable_Electrical_Mining_Drill.name=Taladro de minería eléctrico portátil +eln:Power_Capacitor.name=Condensador de potencia +eln:Power_Inductor.name=Inductor de potencia +eln:Power_Resistor.name=Resistencia de potencia +eln:Power_capacitor.name=Condensador de potencia +eln:Power_inductor.name=Inductor de potencia +eln:Purple_Brush.name=Pincel violeta +eln:Red_Brush.name=Pincel rojo +eln:Redstone-to-Voltage_Converter.name=Convertidor de Redstone a voltios +eln:Rheostat.name=Reóstato +eln:Robust_Lamp_Socket.name=Portalámparas robusto +eln:Rubber.name=Caucho +eln:Schmitt_Trigger_Chip.name=Schmitt Trigger Chip +eln:Sconce_Lamp_Socket.name=Enchufe de candelabro de pared +eln:Signal_20H_inductor.name=Inductor de señal de 20H +eln:Signal_Antenna.name=Señal de Antena +eln:Signal_Button.name=Señal de Botón +eln:Signal_Cable.name=Señal de Cable +eln:Signal_Diode.name=Señal de Diodo +eln:Signal_Processor.name=Porcesador de señal +eln:Signal_Relay.name=Señal de Relé +eln:Signal_Source.name=Señal de Fuente +eln:Signal_Switch.name=Señal de Encendido +eln:Signal_Switch_with_LED.name=Señal de encendido con LED +eln:Signal_Trimmer.name=Señal de recorte +eln:Silicon_Dust.name=Polvo de Silicio +eln:Silicon_Ingot.name=Lingote de Silicio +eln:Silicon_Plate.name=Lámina de Silicio +eln:Silver_Brush.name=Pincel de Plata +eln:Simple_Lamp_Socket.name=Lámpara simple +eln:Single-use_Battery.name=Batería de un solo uso +eln:Small_200V_Copper_Heating_Corp.name=Calefactor pequeño de Cobre de 200V +eln:Small_200V_Iron_Heating_Corp.name=Calefactor pequeño de Hierro de 200V +eln:Small_200V_Tungsten_Heating_Corp.name=Calefactor pequeño de Tungsteno de 200V +eln:Small_50V_Carbon_Incandescent_Light_Bulb.name=Bulbo de luz incandescente de Carbón pequeño de 50V +eln:Small_50V_Copper_Heating_Corp.name=Calefactor de Cobre pequeño de 50V +eln:Small_50V_Economic_Light_Bulb.name=Bulbo de luz económica pequeño de 50V +eln:Small_50V_Incandescent_Light_Bulb.name=Bulbo de luz incandescente pequeño de 50V +eln:Small_50V_Iron_Heating_Corp.name=Calefactor pequeño de Hierro de 50V +eln:Small_50V_Tungsten_Heating_Corp.name=Calefactor pequeño de Tungsteno 50V +eln:Small_Active_Thermal_Dissipator.name=Disipador pequeño térmico activo +eln:Small_Flashlight.name=Linterna pequeña +eln:Small_Passive_Thermal_Dissipator.name=Disipador pequeño térmico +eln:Small_Rotating_Solar_Panel.name=Panel solar pequeño rotatorio +eln:Small_Solar_Panel.name=Panel solar pequeño +eln:Solar_Tracker.name=Rastreadora solar +eln:Standard_Alarm.name=Alarma estándar +eln:Steam_Turbine.name=Steam Turbine +eln:Stone_Heat_Furnace.name=Horno de calor de Piedra +eln:Street_Light.name=Luz de calle +eln:Suspended_Lamp_Socket.name=Lampara aérea +eln:Temperature_Probe.name=Sonda de temperatura +eln:Thermal_Probe.name=Sonda térmica +eln:Thermal_Probe_Chip.name=Chip de sonda Térmica +eln:Thermistor.name=Termistor +eln:ThermoMeter.name=Termómetro +eln:Transformer.name=Transformador +eln:Tree_Resin.name=Resina +eln:Tree_Resin_Collector.name=Colector de Resina +eln:Tungsten_Cable.name=Cable de Tungsteno +eln:Tungsten_Dust.name=Polvo de Tungsteno +eln:Tungsten_Ingot.name=Lingote de Tungsteno +eln:Tungsten_Ore.name=Mena de Tungsteno +eln:Tutorial_Sign.name=Señal tutorial +eln:Very_High_Voltage_Cable.name=Cable de muy alta tensión +eln:Very_High_Voltage_Relay.name=Relé de muy alta tensión +eln:Very_High_Voltage_Switch.name=Enchufe de muy alta tensión +eln:Voltage-to-Redstone_Converter.name=Convertidor de Redstone a voltios +eln:Voltage_Oriented_Battery.name=Batería de voltios +eln:Voltage_Probe.name=Sonda de voltaje +eln:Water_Turbine.name=Turbina de agua +eln:Weak_50V_Battery_Charger.name=Cargador de batería débil de 50V +eln:White_Brush.name=Pincel blanco +eln:Wind_Turbine.name=Turbina de viento +eln:Wireless_Analyser.name=Analizador inalámbrico +eln:Wireless_Button.name=Boton inalámbrico +eln:Wireless_Signal_Receiver.name=Receptor de señal inalámbrico +eln:Wireless_Signal_Repeater.name=Repetidor de señal inalámbrico +eln:Wireless_Signal_Transmitter.name=Transmisor de señal inalámbrico +eln:Wireless_Switch.name=Interruptor inalámbrico +eln:Wrench.name=Llave inglesa +eln:X-Ray_Scanner.name=Escaner de Rayos X +eln:XNOR_Chip.name=XNOR Chip +eln:XOR_Chip.name=XOR Chip +eln:Yellow_Brush.name=Pincel amarillo +eln:entity.EAReplicator.name=Replicador +eln:item.Copper Axe.name\=Hacha de Cobre +eln:item.Copper Axe.name\=Hacha de Cobre +eln:item.Copper Axe.name\=Hacha de Cobre +eln:item.Copper Axe.name\=Hacha de Cobre +eln:item.Copper Axe.name\=Hacha de Cobre +eln:item.Copper Axe.name\=Hacha de Cobre +eln:item.Copper Axe.name\=Hacha de Cobre +eln:item.Copper Axe.name\=Hacha de Cobre +eln:item.Copper Axe.name\=Hacha de Cobre +eln:item.E-Coal Boots.name\=Botas de Carbón +eln:item.E-Coal Boots.name\=Botas de Carbón +eln:item.E-Coal Boots.name\=Botas de Carbón +eln:item.E-Coal Boots.name\=Botas de Carbón +eln:itemGroup.Eln=Edad eléctrica +eln:mod.meta.desc=Electricidad en tu base\! +eln:tile.eln.ElnProbe.name=Sonda ordenador Eln +eln:tile.eln.EnergyConverterElnToOtherHVUBlock.name=800V Edad eléctrica a otro exportador de energía +eln:tile.eln.EnergyConverterElnToOtherLVUBlock.name=50V Edad eléctrica a otro exportador de energía +eln:tile.eln.EnergyConverterElnToOtherMVUBlock.name=200V Edad eléctrica a otro exportador de energía +eln: +eln:# ./src/main/java/mods/eln/i18n/I18N.java +eln:You_have_%s_lives_left=Te queda el %s de vida +eln: +eln:# ./src/main/java/mods/eln/item/BrushDescriptor.java +eln:Brush_is_dry=El cepillo está seca +eln:Can_paint_%s_blocks=Puedes pintar %s bloques +eln: +eln:# ./src/main/java/mods/eln/item/CombustionChamber.java +eln:Upgrade_for_the_Stone_Heat_Furnace.=Mejora para el horno de calor de piedra. +eln: +eln:# ./src/main/java/mods/eln/item/ElectricalDrillDescriptor.java +eln:Energy_per_operation\:_%sJ=Energía por operación\: %sJ +eln:Time_per_operation\:_%ss=Tiempo por operación\: %ss +eln: +eln:# ./src/main/java/mods/eln/item/FerromagneticCoreDescriptor.java +eln:Cable_loss_factor\:_%s=Factor de pérdida del cable\: %s +eln: +eln:# ./src/main/java/mods/eln/item/HeatingCorpElement.java +eln: +eln:# ./src/main/java/mods/eln/item/LampDescriptor.java +eln:Bad=Malo +eln:Condition\:=Condición\: +eln:End_of_life=Fin de la vida +eln:Good=Bueno +eln:New=Nuevo +eln:Nominal_lifetime\:_%sh=Vida útil nominal\: %sh +eln:Technology\:_%s=Tecnología\: %s +eln:Used=Uso +eln: +eln:# ./src/main/java/mods/eln/item/LampSlot.java +eln:Lamp_slot=Ranura de lámpara +eln: +eln:# ./src/main/java/mods/eln/item/OverHeatingProtectionDescriptor.java +eln:Useful_to_prevent_overheating\nof_Batteries=Útil para prevenir sobrecalentamiento\nde las baterías +eln: +eln:# ./src/main/java/mods/eln/item/OverVoltageProtectionDescriptor.java +eln:Useful_to_prevent_over-voltage\nof_Batteries=Útil para prevenir sobrecarga\nde las baterías +eln: +eln:# ./src/main/java/mods/eln/item/SolarTrackerDescriptor.java +eln:Solar_panel_upgrade=Mejora del panel solar +eln: +eln:# ./src/main/java/mods/eln/item/electricalitem/BatteryItem.java +eln: +eln:# ./src/main/java/mods/eln/item/electricalitem/ElectricalLampItem.java +eln:Off=Apagado +eln:On=Encendido +eln:State\:=Estado\: +eln:Stored_Energy\:_%sJ_(%s)=Energía almacenada\: %sJ (%s) +eln: +eln:# ./src/main/java/mods/eln/item/regulator/RegulatorSlot.java +eln: +eln:# ./src/main/java/mods/eln/misc/UtilsClient.java +eln:Hold_shift=Aguantar shift +eln: +eln:# ./src/main/java/mods/eln/misc/Version.java +eln:mod.name=Edad eléctrica +eln: +eln:# ./src/main/java/mods/eln/node/six/SixNodeDescriptor.java +eln: +eln:# ./src/main/java/mods/eln/simplenode/energyconverter/EnergyConverterElnToOtherGui.java +eln:Input_power_is_limited_to_%sW=La entrada de poder está limitada a %sW +eln: +eln:# ./src/main/java/mods/eln/sixnode/LogicGate.kt +eln:_O\:_= O\: +eln: +eln:# ./src/main/java/mods/eln/sixnode/TreeResinCollector/TreeResinCollectorDescriptor.java +eln:Produces_Tree_Resin_over\ntime_when_put_on_a_tree.=Produce resina de árbol sobre\ntiempo cuando está colocado en un árbol. +eln:This_block_can_only_be_placed_on_the_side_of_a_tree!=This block can only be placed on the side of a tree\! +eln: +eln:# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerContainer.java +eln:Battery_slot=Espacio de batería +eln: +eln:# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerDescriptor.java +eln:Can_be_used_to_recharge\nelectrical_items_like\:\nFlash_Light,_X-Ray_scanner\nand_Portable_Battery_...=Puede ser usado para recargar\nartículos eléctricos con\:\nflash de luz, escáner de rayos X \\ y batería portátil +eln: +eln:# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerGui.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/diode/DiodeDescriptor.java +eln:Electrical_current_can_only\nflow_through_the_diode\nfrom_anode_to_cathode=La corriente eléctrica sólo puede\nfluir a través del diodo\ndesde el anodo al catodo. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalalarm/ElectricalAlarmDescriptor.java +eln:= +eln:Emits_an_acoustic_alarm_if\nthe_input_signal_is_high=Emite una alarma acústica\nla señal de entrada es alta. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalalarm/ElectricalAlarmGui.java +eln:Sound_is_muted=Sonido silenciado. +eln:Sound_is_not_muted=Sonido dessilenciado. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerContainer.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerDescriptor.java +eln:Protects_electrical_components\nOpens_contact_if\:\n__-_Voltage_exceeds_a_certain_level\n-_Current_exceeds_the_cable_limit=Componentes de protección eléctrica\nabren contactos si\:\n -\n- la corriente excede el límite del cable. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerGui.java +eln:Maximum_voltage_before_cutting_off=Tensión máxima antes de cortar +eln:Minimum_voltage_before_cutting_off=Tensión mínima antes de cortar +eln:Switch_is_off=El interruptor está desactivado. +eln:Switch_is_on=El interruptor está activado +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalcable/ElectricalCableDescriptor.java +eln:A_signal_is_electrical_information\nwhich_must_be_between_0V_and_%sV=Una señal es la información eléctrica\nque debe ser entre 0V y %sV +eln:Cable_is_adapted_to_conduct\nelectrical_signals.=El cable está adaptado para conducir\nseñales eléctricas. +eln:Current\:_%sA=Corriente\: %sA +eln:Not_adapted_to_transport_power.=No adaptado para el transporte de energía. +eln:Save_usage\:=Guardar el uso\: +eln:Serial_resistance\:_%sΩ=La resistencia en serie\: %sΩ +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerDescriptor.java +eln:It_can_store_up_to_256_points.=Es capaz de almacenar hasta 256 puntos +eln:Measures_the_voltage_of_an\nelectrical_signal_and_plots\nthe_data_in_real_time.=Mide la tensión de una\nseñal eléctrica y parcelas\nlos datos en tiempo real. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerGui.java +eln:Back_to_display=Volver a mostrar +eln:Configuration=Configuración +eln:Current_[A]=Corriente [A] +eln:Energy_[J]=Energía [J] +eln:Percent_[-]%=Porciento [-]% +eln:Power_[W]=Potencia [W] +eln:Print=Impresión +eln:Sampling_period=Periodo de muestra +eln:Temp._[*C]=Temp. [*C] +eln:Voltage_[V]=Voltaje [V] +eln:Y-axis_max=Y-eje máximo +eln:Y-axis_min=Y-eje mínimo +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorContainer.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorDescriptor.java +eln:Output_voltage_increases\nif_entities_are_moving_around.=Aumenta la tensión de salida\nsi las entidades están moviendo. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalfiredetector/ElectricalFireDetectorDescriptor.java +eln:Output_voltage_increases\nif_a_fire_has_been_detected.=Aumenta la tensión de salida\nsi se ha detectado un incendio. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceDescriptor.java +eln:Provides_configurable_signal\nvoltage.=Proporciona señal configurable\nvoltaje. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceGui.java +eln:Output_at_%s=La producción en %s +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricallightsensor/ElectricalLightSensorDescriptor.java +eln:0V_at_night,_%sV_at_noon.=0V a la noche, %sV al mediodía. +eln:Provides_an_electrical_voltage\nin_the_presence_of_light.=Proporciona una tensión eléctrica\nen presencia de la luz. +eln:Provides_an_electrical_voltage\nwhich_is_proportional_to\nthe_intensity_of_daylight.=Proporciona una tensión eléctrica\nque es proporcional a\nla intensidad de la luz del día. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathContainer.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathDescriptor.java +eln:Applicable_boolean_operators\:=Operadores booleanos aplicables\: +eln:Applicable_functions\:=Funciones aplicables\: +eln:Applicable_mathematical_operators\:=Operadores matemáticos aplicables\: +eln:Calculates_an_output_signal_from\n3_inputs_(A,_B,_C)_using_an_equation.=Calcula una señal de salida\nde 3 entradas (A, B, C) utilizando una ecuación. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathGui.java +eln:%s_Redstone(s)_required=%s Redstone(s) requerida +eln:Equation_required!=Ecuación requerida\! +eln:Inputs_are=Las entradas son +eln:Invalid_equation!=Ecuación inválida\! +eln:Output_voltage_formula=Fórmula de tensión de salida +eln:Waiting_for_completion...=A la espera de la finalización... +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalredstoneinput/ElectricalRedstoneInputDescriptor.java +eln:Converts_Redstone_signal\nto_an_electrical_voltage.=Convierte la señal de Redstone\na una tensión eléctrica. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalredstoneoutput/ElectricalRedstoneOutputDescriptor.java +eln:Converts_electrical_voltage\ninto_a_Redstone_signal.=Convierte la tensión eléctrica\nen una señal de Redstone. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalrelay/ElectricalRelayDescriptor.java +eln:A_relay_is_an_electrical\ncontact_that_conducts_electric\ncurrent_or_not,_depending\nthe_actual_input_signal_voltage.=Un relé es un \ncontacto que conduce electricidad\nactualmente o no, dependiendo\ndel voltaje de la señal de entrada real. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalrelay/ElectricalRelayGui.java +eln:Normally_closed=Normalmente cerrado +eln:Normally_open=Normalmente abierto +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalsource/ElectricalSourceDescriptor.java +eln:Creative_block.=Bloque creativo. +eln:Provides_an_ideal_voltage_source\nwithout_energy_or_power_limitation.=Proporciona una fuente ideal de voltaje\nsin energía y sin limitación de potencia. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalsource/ElectricalSourceGui.java +eln:Output_voltage=Tensión de salida +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalswitch/ElectricalSwitchDescriptor.java +eln:Can_break_an_electrical_circuit\ninterrupting_the_current.=Puede romper un circuito eléctrico\ninterrumpiendo la corriente. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricaltimeout/ElectricalTimeoutDescriptor.java +eln:Upon_application_of_a_high_signal,\nthe_timer_maintains_the_output_high_for\na_configurable_interval._Can_be_re-triggered.=Tras la aplicación de una señal de alto,\nel temporizador mantiene el alto rendimiento de\nun intervalo configurable. Puede ser re-activado. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricaltimeout/ElectricalTimeoutGui.java +eln:Set=Set +eln:The_time_interval_the\noutput_is_kept_high.=En el intervalo de tiempo,\nla salida se mantiene alta. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalvumeter/ElectricalVuMeterDescriptor.java +eln:Displays_the_value_of_a_signal.=Muestra el valor de una señal. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalwatch/ElectricalWatchContainer.java +eln:Portable_battery_slot=Ranura de la batería portátil +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalweathersensor/ElectricalWeatherSensorDescriptor.java +eln:Clear\:_%sV=Clear\: %sV +eln:Provides_an_electrical_signal\ndepending_the_actual_weather.=Proporciona una señal eléctrica\nen función del tiempo real. +eln:Rain\:_%sV=Rain\: %sV +eln:Storm\:_%sV=Storm\: %sV +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalwindsensor/ElectricalWindSensorDescriptor.java +eln:Maximum_wind_speed_is_%sm_s=Velocidad máxima del viento es %sm/s +eln:Provides_an_electrical_signal\ndependant_on_wind_speed.=Proporciona una señal eléctrica\nque depende de la velocidad del viento. +eln:You_can't_place_this_block_on_the_floor_or_the_ceiling=You can't place this block on the floor or the ceiling +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricasensor/ElectricalSensorDescriptor.java +eln:Can_measure_Voltage_Power_Current=Puede medir tensión / potencia / corriente +eln:Measures_electrical_values_on_cables.=Mide valores eléctricos en los cables. +eln:Measures_voltage_on_cables.=Mide la tensión en los cables. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricasensor/ElectricalSensorGui.java +eln:Current=Current +eln:Measured_voltage\ncorresponding\nto_0%_output=Tensión medida\ncorrespondiente\na la salida de 0%. +eln:Measured_voltage\ncorresponding\nto_100%_output=Tensión medida\ncorrespondiente\na la salida 100%. +eln:Voltage=Voltaje +eln: +eln:# ./src/main/java/mods/eln/sixnode/energymeter/EnergyMeterGui.java +eln:Change_password=Cambiar contraseña +eln:Counter_Mode=Modo de contador +eln:Counts_the_energy_conducted_from\n\u00a74red\u00a7f_to_\u00a71blue\u00a7f.=Que cuenta la energía conducida desde\n\\u00a74rojo\\u00a7f a \\u00a71azul\\u00a7f. +eln:Energy_counter\:_%sJ=Contador de energía\: %sJ +eln:Enter_new_energy=Introducir nueva energía +eln:Enter_password=Escribir contraseña +eln:Prepay_Mode=Modo prepago +eln:Reset_time_counter=Contador de tiempo de reposición +eln:Set_energy_counter=Establecer contador de energía +eln:Time_counter\:=Contador de tiempo\: +eln:Try_password=Probar contraseña +eln:You_can_set_an_initial\namount_of_available_energy.\nWhen_the_counter_arrives_at_0\nthe_contact_will_be_opened.=Se puede establecer una primera\ncantidad de energía disponible.\nCuando el contador llega a 0\nse abre el contacto. +eln:is_off=Está apagado. +eln:is_on=Está encendido. +eln:value_in_kJ=Valor en kJ +eln: +eln:# ./src/main/java/mods/eln/sixnode/groundcable/GroundCableDescriptor.java +eln:Can_be_used_to_set_a_point_of_an\nelectrical_network_to_0V_potential.\nFor_example_to_ground_negative_battery_contacts.=Puede ser utilizado para establecer un punto \nde una la red eléctrica al potencial de 0V.\nPor ejemplo para conectar a tierra los contactos negativos de la batería. +eln:Provides_a_zero_volt_reference.=Proporciona una referencia de cero voltios. +eln: +eln:# ./src/main/java/mods/eln/sixnode/hub/HubDescriptor.java +eln:Allows_crossing_cables\non_one_single_block.=Permite cables de cruce\nen un solo bloque. +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketDescriptor.java +eln:Angle\:_%s°_to_%s°=Ángulo\: %s° to %s° +eln:Spot_range\:_%s_blocks=Rango de la localización\: %s bloques +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketGuiDraw.java +eln:%s_is_not_in_range!=%s is not in range\! +eln:Cable_slot_empty=Cable con espacio vacío +eln:Orientation\:_%s°=Orientación\: %s° +eln:Parallel=Paralelo +eln:Powered_by_Lamp_Supply=Encendido con lámpara +eln:Powered_by_cable=Encendido con cable +eln:Serial=Serial +eln:Specify_the_supply_channel=Específico para un canal secundario +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyContainer.java +eln:Electrical_cable_slot\nBase_range_is_32_blocks.\nEach_additional_cable\nincreases_range_by_one.=Una ranura del cable electrico.\nTiene una base de 32 bloques.\nCada cable adicional\nincrementa la base por uno. +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyDescriptor.java +eln:Supplies_all_lamps_on_the_channel.=Suministra todas las lámparas en el canal. +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyGui.java +eln:Power_channel_name=Nombre del canal de alimentación +eln:Wireless_channel_name=Nombre del canal inalámbrico +eln: +eln:# ./src/main/java/mods/eln/sixnode/modbusrtu/ModbusRtuGui.java +eln:Add=Añadir +eln:Channel_name=Nobre del canal +eln:Modbus_ID=Modbus ID +eln:Modbus_RTU=Modbus RTU +eln:Station_ID=ID de estación +eln:Station_name=Nombre de estación. +eln:Wireless_RX=Wireless RX +eln:Wireless_TX=Wireless TX +eln: +eln:# ./src/main/java/mods/eln/sixnode/powercapacitorsix/PowerCapacitorSixContainer.java +eln:(Increases_maximum_voltage)=(Aumenta la tensión máxima) +eln: +eln:# ./src/main/java/mods/eln/sixnode/powercapacitorsix/PowerCapacitorSixGui.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/powerinductorsix/PowerInductorSixContainer.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/powerinductorsix/PowerInductorSixGui.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/powersocket/PowerSocketDescriptor.java +eln:Supplies_any_device\nplugged_in_with_energy.=Suministra cualquier dispositivo\nenchufado con la energía. +eln: +eln:# ./src/main/java/mods/eln/sixnode/powersocket/PowerSocketGui.java +eln:Specify_the_device_to_supply_through_this_socket.=Especifique el dispositivo para el suministro a través de esta toma. +eln: +eln:# ./src/main/java/mods/eln/sixnode/resistor/ResistorContainer.java +eln:(Sets_resistance)=(Sets resistance) +eln:Coal_dust_slot=Coal dust slot +eln: +eln:# ./src/main/java/mods/eln/sixnode/thermalcable/ThermalCableDescriptor.java +eln:High_parallel_resistance\n_\=>_Low_power_dissipation.=Resistencia paralela alta\n \=> Bajo poder disipación. +eln:Low_serial_resistance\n_\=>_High_conductivity.=Baja resistencia de serie\n\=> Alta conductividad. +eln:Parallel_resistance\:_%sK_W=Resistencia paralela\: %sK/W +eln:Serial_resistance\:_%sK_W=Resistencia de serie\: %sK/W +eln: +eln:# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorContainer.java +eln:Cable_slot=Ranura para cable +eln: +eln:# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorDescriptor.java +eln:Can_measure\:=Puede medir\: +eln:Measures_temperature_of_cables.=Medidas de temperatura de cables. +eln:Measures_thermal_values_on_cables.=Medidas de valores térmicos en los cables. +eln:__Temperature_Power_conducted=Temperatura / Energía llevado a cabo +eln: +eln:# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorGui.java +eln:Measured_temperature\ncorresponding\nto_0%_output=Temperatura medida\ncorrespondiente\na la salida 0% +eln:Measured_temperature\ncorresponding\nto_100%_output=Temperatura medida\ncorrespondiente\na la salida 100% +eln:Temperature=Temperatura +eln: +eln:# ./src/main/java/mods/eln/sixnode/tutorialsign/TutorialSignElement.java +eln:No_text_associated_to_this_beacon=No hay texto asociado a este beacon +eln: +eln:# ./src/main/java/mods/eln/sixnode/tutorialsign/TutorialSignGui.java +eln:Set_beacon_name=Nombre del conjunto de beacon +eln: +eln:# ./src/main/java/mods/eln/sixnode/wirelesssignal/rx/WirelessSignalRxGui.java +eln: +eln:# ./src/main/java/mods/eln/transparentnode/FuelGenerator.kt +eln:Nominal_power\:_%s_W=Nominal power\: %s W +eln:Nominal_voltage\:_%s_V=Nominal voltage\: %s V +eln:Produces_electricity_using_fuel.=Produce electricidad usando combustible. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/LargeRheostat.kt +eln:Nom._Resistance\:_%s=Nom. Resistance\: %s +eln: +eln:# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerContainer.java +eln:Drill_slot=Ranura del taladro +eln:Mining_pipe_slot=Ranura de tubería de minería +eln:Ore_scanner_slot=Ranura de escáner de mineral +eln: +eln:# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerDescriptor.java +eln:Excavates_on_a_small_radius.\nExtracts_ore_on_a_bigger_radius\:\n10_blocks_radius_after_10_blocks_depth.=Excavates on a small radius.\nExtracts ore on a bigger radius\:\n10 blocks radius after 10 blocks depth. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerGuiDraw.java +eln:Chest_missing_on_the\nback_of_the_auto_miner!=Chest missing on the\nback of the auto miner\! +eln:Halves_speed,_triples_power_draw=Halves speed, triples power draw +eln:Silk_Touch_Off=Silk Touch Off +eln:Silk_Touch_On=Silk Touch On +eln:Silk_touch=Silk touch +eln: +eln:# ./src/main/java/mods/eln/transparentnode/battery/BatteryContainer.java +eln:Overheating_protection=Overheating protection +eln:Overvoltage_protection=Overvoltage protection +eln: +eln:# ./src/main/java/mods/eln/transparentnode/battery/BatteryDescriptor.java +eln:Actual_charge\:_%s=Carga actual\: %s +eln:Energy_capacity\:_%sJ=Capacidad de energía\: %sJ +eln:_charged_at_%s=Cargado hasta %s +eln: +eln:# ./src/main/java/mods/eln/transparentnode/battery/BatteryGuiDraw.java +eln:Charge=Carga +eln:Charged=Cargado +eln:Discharge=Descargado +eln:Energy\:=Energía\: +eln:Energy\:_%s=Energía\: %s +eln:Life\:=Vida\: +eln:No_charge=Sin carga +eln:Power_in\:=Potencia dentro\: +eln:Power_out\:=Potencia fuera\: +eln: +eln:# ./src/main/java/mods/eln/transparentnode/eggincubator/EggIncubatorContainer.java +eln:Egg_slot=Ranura del huevo +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalantennarx/ElectricalAntennaRxDescriptor.java +eln:Wireless_energy_receiver.=Receptor de energía inalámbrica. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalantennatx/ElectricalAntennaTxDescriptor.java +eln:Efficiency\:_%s_up_to_%s=Eficiencia\: %s hasta %s +eln:Wireless_energy_transmitter.=Transmisor de energía inalámbrica. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceContainer.java +eln:Heating_corp_slot=Ranura de calefacción +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceDescriptor.java +eln:Similar_to_a_vanilla_furnace,\nbut_heats_with_electricity.=Similar a un horno\npero calienta con electricidad. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceGuiDraw.java +eln:Auto_shutdown=Apagado automático +eln:Manual_shutdown=Cierre manual +eln:Set_point\:_%s°C=Punto fijo\: %s°C +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalmachine/ElectricalMachineDescriptor.java +eln:Cost=Coste +eln: +eln:# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceContainer.java +eln:Combustion_chamber_slot=Ranura cámara de combustión +eln:Fuel_slot=Ranura de combustible +eln: +eln:# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceDescriptor.java +eln:Generates_heat_when_supplied_with_fuel.=Genera calor como fuente de combustible. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceGuiDraw.java +eln:Control_gauge_at_%s=Control de medida a %s +eln:Decline_fuel=Eliminar combustible +eln:External_control=Control externo +eln:Internal_control=Control interno +eln:Take_fuel=Coger combustible +eln: +eln:# ./src/main/java/mods/eln/transparentnode/powercapacitor/PowerCapacitorContainer.java +eln:(Increases_maximal_voltage)=(Tensión máxima aumentada) +eln: +eln:# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelContainer.java +eln:Solar_tracker_slot=Ranura del rastreador solar +eln: +eln:# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelDescriptor.java +eln:Can_be_geared_towards_the_sun.=Puede ser orientada hacia el sol. +eln:Max._power\:_%sW=Potencia máxima\: %sW +eln:Max._voltage\:_%sV=Voltaje máximo\: %sV +eln:Produces_power_from_solar_radiation.=Produce energía de la radiación solar. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPannelGuiDraw.java +eln:It_is_night=Es de noche +eln:Solar_panel_angle\:_%s°=Angulo del panel solar\: %s° +eln:Sun_angle\:_%s°=El ángulo del sol\: %s° +eln: +eln:# ./src/main/java/mods/eln/transparentnode/teleporter/TeleporterGui.java +eln:Destination_transporter=Destino transportador +eln:Power_consumption\:=Consumo de energía\: +eln:Power_consumption\:_%sW=Consumo de energía\: %sW +eln:Required_energy\:_%sJ=Requiere energía\: %sJ +eln:Start=Comenzar +eln:Transporter_name=Nombre del transportador +eln: +eln:# ./src/main/java/mods/eln/transparentnode/thermaldissipatoractive/ThermalDissipatorActiveDescriptor.java +eln:Fan_cooling_power\:_%sW=Potencia del ventilador de refrigeración\: %sW +eln:Fan_power_consumption\:_%sW=Consumo de energía del ventilador\: %sW +eln:Fan_voltage\:_%sV=Voltaje del ventilador\: %sV +eln: +eln:# ./src/main/java/mods/eln/transparentnode/transformer/TransformerDescriptor.java +eln:The_voltage_ratio_is_proportional\nto_the_cable_stacks_count_ratio.=La relación de voltaje es proporcional\nal cable. +eln:Transforms_an_input_voltage_to\nan_output_voltage.=Transforma una tensión de entrada de\nuna tensión de salida. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/turbine/TurbineDescriptor.java +eln:Generates_electricity_using_heat.=Genera electricidad por la temperatura. +eln:Temperature_difference\:_%s°C=Temperaturas diferentes\: %s°C +eln: +eln:# ./src/main/java/mods/eln/transparentnode/turret/TurretDescriptor.java +eln:CAUTION\:_Cables_can_get_quite_hot!=Precaución\: Los cables pueden llegar a estar muy calientes\! +eln:Laser_charge_power\:_%sW...%skW=Laser cargado\: %sW...%skW +eln:Scans_for_entities_and_shoots_if_the\nentity_matches_the_configurable_filter_criteria.=Analiza en busca de las entidades y los brotes de la\nentidad que coincide con los criterios del filtro configurables. +eln:Standby_power\:_%sW=Energía de reserva\: %sW +eln: +eln:# ./src/main/java/mods/eln/transparentnode/turret/TurretGui.java +eln:Attack\:=Atacar\: +eln:Do_not_attack\:=No atacar\: +eln:Recharge_power\:=Potencia recargada\: +eln: +eln:# ./src/main/java/mods/eln/transparentnode/waterturbine/WaterTurbineDescriptor.java +eln:Generates_energy_using_water_stream.=Genera energía por la corriente del agua. +eln:No_place_for_water_turbine!=No place for water turbine\! +eln: +eln:# ./src/main/java/mods/eln/transparentnode/windturbine/WindTurbineDescriptor.java +eln:Front\:_%s=En frente\: %s +eln:Generates_energy_from_wind.=Genera energía por el viento. +eln:Left_Right\:_%s=Izquierda/Derecha\: %s +eln:Up_Down\:_%s=Arriba/Abajo\: %s +eln:Wind_area\:=Área de viento\: +eln: +eln:# ./src/main/java/mods/eln/wiki/Data.java +eln:Energy=Energía +eln:Light=Luz +eln:Machine=Máquina +eln:Ore=Mena +eln:Portable=Portable +eln:Resource=Recurso +eln:Signal=Señal +eln:Thermal=Térmico +eln:Upgrade=Actualización +eln:Utilities=Utilidades +eln:Wiring=Cables +eln: +eln:# ./src/main/java/mods/eln/wiki/Default.java +eln:Previous=Previo +eln: +eln:# ./src/main/java/mods/eln/wiki/ItemDefault.java +eln:Can_be_used_to_craft\:=Se puede utilizar para craftear\: +eln:Cannot_be_crafted!=No se puede craftear\! +eln:Cost_%sJ=Cuesta %sJ +eln:Created_by\:=Creado por\:\: +eln:Is_not_a_crafting_material!=No es un material crafteable\! +eln:Recipe\:=Receta\: +eln: +eln:# Appearing in multiple source files +eln:(Increases_capacity)=(Incrementa la capacidad) +eln:(Increases_inductance)=(Aumenta la Inductancia) +eln:Actual\:_%s°C=Real\: %s°C +eln:Biggest=Más grande +eln:Booster_slot=Aumento de espacio +eln:Can_create\:=Puede crear\: +eln:Capacity\:_%sF=Capacidad\: %sF +eln:Charge_power\:_%sW=Potencia cargada\: %sW +eln:Connected=Conectado +eln:Cooling_power\:_%sW=Potencia de refrigeración\: %sW +eln:Copper_cable_slot=Ranura para cable de cobre +eln:Dielectric_slot=Espacio del dialéctrico +eln:Discharge_power\:_%sW=Potencia descargada\: %sW +eln:Electrical_cable_slot=Ranura para cable eléctrico +eln:Entity_filter_slot=Ranura para filtro de entidad +eln:Ferromagnetic_core_slot=Ranura núcleo ferromagnético +eln:Has_a_signal_output.=Tiene una salida de señal +eln:Inductance\:_%sH=Inductancia\: %sH +eln:Internal_resistance\:_%sΩ=Resistencia interna\: %sΩ +eln:Is_off=Está apagado +eln:Is_on=Está en +eln:Max._temperature\:_%s°C=Temperatura máxima\: %s°C +eln:Measured_value\ncorresponding\nto_0%_output=Valor medido\ncorrespondiente\na la salida 0% +eln:Measured_value\ncorresponding\nto_100%_output=Valor medido\ncorrespondiente\na la salida 100% +eln:Nominal\:=Nominal\: +eln:Nominal_power\:_%sW=Poder nominal\: %sW +eln:Nominal_usage\:=Uso nominal\: +eln:Nominal_voltage\:_%sV=Voltaje nominal\: %sV +eln:Not_connected=No conectado +eln:Not_enough_space_for_this_block=No hay suficiente espacio para este bloque +eln:Power=Poder +eln:Power\:_%sW=Poder\: %sW +eln:Range\:_%s_blocks=Puedes pintar %s bloques +eln:Redstone_slot=Ranura de redstone +eln:Regulator_slot=Ranura reguladora +eln:Reset=Reiniciar +eln:Resistance\:_%sΩ=Resistencia\: %sΩ +eln:Smallest=Pequeñísimo +eln:Specify_the_channel=Especifique el canal +eln:Stored_energy\:_%sJ_(%s)=Energía almacenada\: %sJ (%s) +eln:Temperature\:_%s°C=Temperatura\: %s°C +eln:Temperature_gauge=Indicador de temperatura +eln:Thermal_isolator_slot=Ranura de aislante térmico +eln:Toggle=Palanca +eln:Toggle_switch=Interruptor de palanca +eln:Toggles_the_output_each_time\nan_emitter's_value_rises.\nUseful_to_allow_multiple_buttons\nto_control_the_same_light.=Alterna la salida cada vez que\nun valor emisor se eleva.\nÚtil para permitir varios botones\npara controlar la misma luz. +eln:Used_to_cool_down_turbines.=Usado para enfriar las turbinas. +eln:Uses_the_biggest\nvalue_on_the_channel.=Utiliza el mayor\nvalor en el canal. +eln:Uses_the_smallest\nvalue_on_the_channel.=Utiliza el menor\nvalor en el canal. +eln:Validate=Validar +eln:Voltage\:_%sV=Voltaje\: %sV +eln:You_can't_place_this_block_at_this_side=No se puede colocar este bloque en este lado diff --git a/src/main/resources/assets/eln/lang/fr.lang b/src/main/resources/assets/eln/lang/fr.lang index 97de00099..e7ceb70c2 100644 --- a/src/main/resources/assets/eln/lang/fr.lang +++ b/src/main/resources/assets/eln/lang/fr.lang @@ -1,829 +1,829 @@ -# - -# ./src/main/java/mods/eln/Achievements.java -Electrical_Age_[WIP]=L'ère de l’électricité [travail en cours... ] -achievement.craft_50v_macerator=Novice -achievement.craft_50v_macerator.desc=Créer un macérateur 50V -achievement.open_guide=Wiki Power -achievement.open_guide.desc=Ouvrir le guide wiki - -# ./src/main/java/mods/eln/Eln.java -10A_Diode.name=Diode 10A -200V_Active_Thermal_Dissipator.name=Dissipateur thermique actif 200V -200V_Battery_Charger.name=Chargeur de batterie 200V -200V_Compressor.name=Compresseur 200V -200V_Condensator.name=Condensateur 200V -200V_Copper_Heating_Corp.name=Corps de Chauffe en Cuivre 200V -200V_Economic_Light_Bulb.name=Ampoule économique 200V -200V_Farming_Lamp.name=Lampe de culture 200V -200V_Fuel_Generator.name=Générateur à essence 200V -200V_Incandescent_Light_Bulb.name=Ampoule à incandescence 200V -200V_Iron_Heating_Corp.name=Corps de Chauffe en Fer 200V -200V_LED_Bulb.name=Ampoule LED 200V -200V_Macerator.name=Macérateur 200V -200V_Magnetizer.name=Magnétiseur 200V -200V_Plate_Machine.name=Applatisseur 200V -200V_Power_Socket.name=Prise électrique 200V -200V_Tungsten_Heating_Corp.name=Corps de Chauffe en Tungstène 200V -200V_Turbine.name=Turbine 200V -25A_Diode.name=Diode 25A -50V_Battery_Charger.name=Chargeur de batterie 50V -50V_Carbon_Incandescent_Light_Bulb.name=Ampoule incandescente au charbon 50V -50V_Compressor.name=Compresseur 50V -50V_Condensator.name=Condensateur 50V -50V_Copper_Heating_Corp.name=Corps de Chauffe en Cuivre 50V -50V_Economic_Light_Bulb.name=Ampoule économique 50V -50V_Egg_Incubator.name=Incubateur d’œufs 50V -50V_Farming_Lamp.name=Lampe de culture 50V -50V_Fuel_Generator.name=Générateur à essence 50V -50V_Incandescent_Light_Bulb.name=Ampoule à incandescence 50V -50V_Iron_Heating_Corp.name=Corps de Chauffe en Fer 50V -50V_LED_Bulb.name=Ampoule LED 50V -50V_Macerator.name=Macérateur 50V -50V_Magnetizer.name=Magnétiseur 50V -50V_Plate_Machine.name=Aplatisseur 50V -50V_Power_Socket.name=Prise électrique 50V -50V_Tungsten_Heating_Corp.name=Corps de Chauffe en Tungstène 50V -50V_Turbine.name=Turbine 50V -800V_Defence_Turret.name=Tourelle de défense 800V -AND_Chip.name=Porte logique ET -Advanced_Chip.name=Puce avancée -Advanced_Electrical_Motor.name=Moteur électrique avancé -Advanced_Energy_Meter.name=Compteur d'énergie avancé -Advanced_Machine_Block.name=Bloc de machine avancé -Advanced_Magnet.name=Aimant avancé -AllMeter.name=Multimètre -Alloy_Dust.name=Poudre d'alliage -Alloy_Ingot.name=Lingot d'alliage -Alloy_Plate.name=Plaque d'alliage -Analog_Watch.name=Horloge -Analog_vuMeter.name=Jauge analogique -Analogic_Regulator.name=Régulateur analogique -Animal_Filter.name=Filtre d'animaux -Auto_Miner.name=Mineur automatique -Average_Electrical_Drill.name=Tête de forage normale -Average_Ferromagnetic_Core.name=Noyau Ferromagnétique Moyen -Basic_Magnet.name=Aimant basique -Black_Brush.name=Brosse noire -Blue_Brush.name=Brosse bleue -Brown_Brush.name=Brosse marron -Capacity_Oriented_Battery.name=Batterie à capacité élevée -Cheap_Chip.name=Puce bon marché -Cheap_Electrical_Drill.name=Tête de forage bon marché -Cheap_Ferromagnetic_Core.name=Noyau Ferromagnétique Bon Marché -Cinnabar_Dust.name=Poudre de cinabre -Cinnabar_Ore.name=Minerai de cinabre -Coal_Dust.name=Charbon -Coal_Plate.name=Plaque de charbon -Combustion_Chamber.name=Chambre de combustion -Copper_Cable.name=Câble en cuive -Copper_Dust.name=Poudre de cuivre -Copper_Ingot.name=Lingot de cuivre -Copper_Ore.name=Minerai de cuivre -Copper_Plate.name=Plaque de cuivre -Copper_Thermal_Cable.name=Câble thermique en cuivre -Cost_Oriented_Battery.name=Batterie à faible coût -Current_Oriented_Battery.name=Batterie à courant élevé -Cyan_Brush.name=Brosse Cyan -D_Flip_Flop_Chip.name=Bascule D -Data_Logger.name=Enregistreur de données -Data_Logger_Print.name=Imprimante pour enregistreur de données -Dielectric.name=Diélectrique -Digital_Watch.name=Horloge digitale -Electrical_Anemometer_Sensor.name=Anémomètre Électrique -Electrical_Breaker.name=Disjoncteur éléctrique -Electrical_Daylight_Sensor.name=Capteur de jour -Electrical_Entity_Sensor.name=Capteur de luminosité -Electrical_Fire_Detector.name=Capteur de feu -Electrical_Furnace.name=Four électrique -Electrical_Light_Sensor.name=Capteur de luminosité -Electrical_Motor.name=Moteur électrique -Electrical_Probe.name=Sonde électrique -Electrical_Probe_Chip.name=Puce pour Sonde Électrique -Electrical_Source.name=Source électrique -Electrical_Timer.name=Horloge électrique -Electrical_Weather_Sensor.name=Station météo électrique -Electrical_age_wrench,\nCan_be_used_to_turn\nsmall_wall_blocks=Clef à molette d'Electrical Age,\npeut être utilisée pour\ntourner des petits blocs muraux -Energy_Meter.name=Compteur d'énergie -Experimental_Transporter.name=Téléporteur expérimental -Fast_Electrical_Drill.name=Tête de forage rapide -Ferrite_Ingot.name=Lingot de ferrite -Flat_Lamp_Socket.name=Douille de lampe plate -Fluorescent_Lamp_Socket.name=Douille de lampe fluorescente -Generator.name=Générateur -Gold_Dust.name=Poussière d'or -Gold_Plate.name=Plaque en or -Gray_Brush.name=Brosse grise -Green_Brush.name=Brosse verte -Ground_Cable.name=Prise de terre -High_Power_Receiver_Antenna.name=Antenne de récéption longue portée -High_Power_Transmitter_Antenna.name=Antenne de transmition longue portée -High_Voltage_Cable.name=Câble électrique à haute tension -High_Voltage_Relay.name=Relais à haute tension -High_Voltage_Switch.name=Interrupteur à haute tension -Hub.name=Pivot\n -Industrial_Data_Logger.name=Enregistreur de données industriel -Iron_Cable.name=Câble en fer -Iron_Dust.name=Poussière de fer -Iron_Plate.name=Plaque de fer -JK_Flip_Flop_Chip.name=Bascule JK -LED_vuMeter.name=vuMètre LED -Lamp_Socket_A.name=Douille de lampe A -Lamp_Socket_B_Projector.name=Douille de lampe B Projectrice -Lamp_Supply.name=Alimentation de lampe -Large_Rheostat.name=Large Rheostat -Lead_Dust.name=Poudre de plomb -Lead_Ingot.name=Lingot de plomb -Lead_Ore.name=Minerai de plomb -Lead_Plate.name=Plaque de plomb -Life_Oriented_Battery.name=Batterie à durée de vie élevée -Light_Blue_Brush.name=Pinceau bleu clair -Lime_Brush.name=Pinceau couleur citron -Long_Suspended_Lamp_Socket.name=Douille de lampe suspendue (long) -Low_Power_Receiver_Antenna.name=Antenne de réception courte portée -Low_Power_Transmitter_Antenna.name=Antenne de transmission courte portée -Low_Voltage_Cable.name=Câble électrique à basse tension -Low_Voltage_Relay.name=Relais basse tension -Low_Voltage_Switch.name=Interrupteur basse tension -Machine_Block.name=Bloc de machine -Machine_Booster.name=Booster de machine -Magenta_Brush.name=Pinceau magenta -Medium_Power_Receiver_Antenna.name=Antenne de réception moyenne portée -Medium_Power_Transmitter_Antenna.name=Antenne de transmition moyenne portée -Medium_Voltage_Cable.name=Câble électrique à tension moyenne -Medium_Voltage_Relay.name=Relais moyenne tension -Medium_Voltage_Switch.name=Interrupteur à moyenne tension -Mercury.name=Mercure -Mining_Pipe.name=Tuyau minier -Modbus_RTU.name=Modbus RTU -Modern_Data_Logger.name=Enregistreur de données moderne -Monster_Filter.name=Filtre de monstre -MultiMeter.name=Multimètre -NAND_Chip.name=Porte logique NON-ET -NOR_Chip.name=Porte logique NON-OU -NOT_Chip.name=Porte logique NON -Nuclear_Alarm.name=Alarme nucléaire -OR_Chip.name=Porte logique OU -On_OFF_Regulator_10_Percent.name=Régulateur on/off 10% -On_OFF_Regulator_1_Percent.name=On/off regulator 1% -Optimal_Ferromagnetic_Core.name=Noyau Ferromagnétique Optimal -Orange_Brush.name=Pinceau orange -Ore_Scanner.name=Analyseur de minerai -Oscillator_Chip.name=Oscillateur -Overheating_Protection.name=Protection contre la surchauffe -Overvoltage_Protection.name=Protection contre le survoltage -PAL_Chip.name=Puce PAL -Pink_Brush.name=Pinceau rose -Player_Filter.name=Filtre de joueur -Portable_Battery.name=Batterie portable -Portable_Battery_Pack.name=Batteries portables -Portable_Condensator.name=Condensateur portable -Portable_Condensator_Pack.name=Condensateurs portables -Portable_Electrical_Axe.name=Pioche éléctrique portable -Portable_Electrical_Mining_Drill.name=Foreuse électrique portable -Power_Capacitor.name=Condensateur de puissance -Power_Inductor.name=Inducteur de Puissance -Power_Resistor.name=Résistance de puissance -Power_capacitor.name=Condensateur de puissance -Power_inductor.name=Inducteur de Puissance -Purple_Brush.name=Pinceau violet -Red_Brush.name=Pinceau rouge -Redstone-to-Voltage_Converter.name=Convertisseur tension-redstone -Rheostat.name=Rhéostat -Robust_Lamp_Socket.name=Solide Douille de Lampe -Rubber.name=Caoutchouc -Schmitt_Trigger_Chip.name=Bascule de Schmitt -Sconce_Lamp_Socket.name=Douille de Lampe de Chandelier -Signal_20H_inductor.name=Inductance 20H pour signaux -Signal_Antenna.name=Antenne de signal -Signal_Button.name=Bouton de signal -Signal_Cable.name=Câble électrique pour signaux -Signal_Diode.name=Diode pour signaux -Signal_Processor.name=Processeur de signaux -Signal_Relay.name=Relais de signaux -Signal_Source.name=Signal source -Signal_Switch.name=Interrupteur pour signaux -Signal_Switch_with_LED.name=Interrupteur pour signaux avec LED -Signal_Trimmer.name=Jauge de signal -Silicon_Dust.name=Poudre de silicium -Silicon_Ingot.name=Lingot de silicium -Silicon_Plate.name=Plaque de silicium -Silver_Brush.name=Pinceau couleur argent -Simple_Lamp_Socket.name=Douille de lampe simple -Single-use_Battery.name=Batterie à usage unique -Small_200V_Copper_Heating_Corp.name=Petit Corps de Chauffe en Cuivre 200V -Small_200V_Iron_Heating_Corp.name=Petit Corps de Chauffe en Fer 200V -Small_200V_Tungsten_Heating_Corp.name=Petit Corps de Chauffe en Tungstène 200V -Small_50V_Carbon_Incandescent_Light_Bulb.name=Petite Ampoule Incandescente Au Charbon 50V -Small_50V_Copper_Heating_Corp.name=Petit Corps de Chauffe en Cuivre 50V -Small_50V_Economic_Light_Bulb.name=Petite ampoule économique 50V -Small_50V_Incandescent_Light_Bulb.name=Petite ampoule à incandescence 50V -Small_50V_Iron_Heating_Corp.name=Petit Corps de Chauffe en Fer 50V -Small_50V_Tungsten_Heating_Corp.name=Petit Corps de Chauffe en Tungstène 50V -Small_Active_Thermal_Dissipator.name=Petit dissipateur thermique actif -Small_Flashlight.name=Lampe de poche -Small_Passive_Thermal_Dissipator.name=Petit dissipateur thermique passif -Small_Rotating_Solar_Panel.name=Petit panneau solaire rotatif -Small_Solar_Panel.name=Petit panneau solaire -Solar_Tracker.name=Pisteur solaire -Standard_Alarm.name=Alarme standard -Steam_Turbine.name=Turbine à vapeur -Stone_Heat_Furnace.name=Four de chauffe en pierre -Street_Light.name=Lampadaire -Suspended_Lamp_Socket.name=Douille de Lampe Suspendue -Temperature_Probe.name=Sonde de température -Thermal_Probe.name=Sonde de température -Thermal_Probe_Chip.name=Puce pour Sonde de Température -Thermistor.name=Thermistance -ThermoMeter.name=Thermomètre -Transformer.name=Transformateur -Tree_Resin.name=Résine d'arbre -Tree_Resin_Collector.name=Collecteur de résine d'arbre -Tungsten_Cable.name=Câble électrique au tungsten -Tungsten_Dust.name=Poudre de tungstène -Tungsten_Ingot.name=Lingot de tungstène -Tungsten_Ore.name=Minerai de tungstène -Tutorial_Sign.name=Panneau de tutoriel -Very_High_Voltage_Cable.name=Câble électrique à très haute tension -Very_High_Voltage_Relay.name=Relais à très haute tension -Very_High_Voltage_Switch.name=Interrupteur à très haute tension -Voltage-to-Redstone_Converter.name=Convertisseur tension-redstone -Voltage_Oriented_Battery.name=Batterie à tension élevée -Voltage_Probe.name=Sonde de tension -Water_Turbine.name=Turbine à eau -Weak_50V_Battery_Charger.name=Chargeur de batterie 50V faible -White_Brush.name=Pinceau blanc -Wind_Turbine.name=Éolienne -Wireless_Analyser.name=Analyseur sans fil -Wireless_Button.name=Bouton sans fil -Wireless_Signal_Receiver.name=Recepteur de signal sans-fil -Wireless_Signal_Repeater.name=Répéteur sans fil -Wireless_Signal_Transmitter.name=Transmetteur de signal sans-fil -Wireless_Switch.name=Interrupteur sans fil -Wrench.name=Clé à molette -X-Ray_Scanner.name=Scanner à rayons X -XNOR_Chip.name=Port logique OU exclusif -XOR_Chip.name=Porte logique OU exclusif -Yellow_Brush.name=Pinceau jaune -entity.EAReplicator.name=Duplicateur -item.Copper Pioche en Cuivre -item.Copper Pioche en Cuivre -item.Copper Pioche en Cuivre -item.Copper Pioche en Cuivre -item.Copper Pioche en Cuivre -item.Copper Pioche en Cuivre -item.Copper Pioche en Cuivre -item.Copper Pioche en Cuivre -item.Copper Pioche en Cuivre -item.E-Coal Botte de E-charbon -item.E-Coal Botte de E-charbon -item.E-Coal Botte de E-charbon -item.E-Coal Botte de E-charbon -itemGroup.Eln=Electrical Age -mod.meta.desc=Electricité présente dans votre base \! -tile.eln.ElnProbe.name=Sonde Eln pour Ordinateur -tile.eln.EnergyConverterElnToOtherHVUBlock.name=Convertisseur 800V d'EA vers une autre énergie -tile.eln.EnergyConverterElnToOtherLVUBlock.name=Convertisseur 50V d'EA vers une autre énergie -tile.eln.EnergyConverterElnToOtherMVUBlock.name=Convertisseur 200V d'EA vers une autre énergie - -# ./src/main/java/mods/eln/i18n/I18N.java -You_have_%s_lives_left=Il vous reste encore %s vies - -# ./src/main/java/mods/eln/item/BrushDescriptor.java -Brush_is_dry=Votre brosse est sèche -Can_paint_%s_blocks=Peut peindre %s blocks - -# ./src/main/java/mods/eln/item/CombustionChamber.java -Upgrade_for_the_Stone_Heat_Furnace.=Amélioration pour le four de chauffe en pierre - -# ./src/main/java/mods/eln/item/ElectricalDrillDescriptor.java -Energy_per_operation\:_%sJ=Energie par opération \: %sJ -Time_per_operation\:_%ss=Temps par opération \: %ss - -# ./src/main/java/mods/eln/item/FerromagneticCoreDescriptor.java -Cable_loss_factor\:_%s=Facteur de perte du câble \: %s - -# ./src/main/java/mods/eln/item/HeatingCorpElement.java - -# ./src/main/java/mods/eln/item/LampDescriptor.java -Bad=Mauvais -Condition\:=Conditions \: -End_of_life=Fin de vie -Good=Bon -New=Nouveau -Nominal_lifetime\:_%sh=Durée de vie nominale \: %sh -Technology\:_%s=Technologie \: %s -Used=Utilisé - -# ./src/main/java/mods/eln/item/LampSlot.java -Lamp_slot=Emplacement pour une lampe - -# ./src/main/java/mods/eln/item/OverHeatingProtectionDescriptor.java -Useful_to_prevent_overheating\nof_Batteries=Utile pour prévenir une\nsurchauffe des batteries - -# ./src/main/java/mods/eln/item/OverVoltageProtectionDescriptor.java -Useful_to_prevent_over-voltage\nof_Batteries=Utile pour prévenir d'une\nsurtension des batteries - -# ./src/main/java/mods/eln/item/SolarTrackerDescriptor.java -Solar_panel_upgrade=Amélioration du panneau solaire - -# ./src/main/java/mods/eln/item/electricalitem/BatteryItem.java - -# ./src/main/java/mods/eln/item/electricalitem/ElectricalLampItem.java -Off=Off -On=On -State\:=Etat \: -Stored_Energy\:_%sJ_(%s)=Energie stockée \: %sJ (%s) - -# ./src/main/java/mods/eln/item/regulator/RegulatorSlot.java - -# ./src/main/java/mods/eln/misc/UtilsClient.java -Hold_shift=Maintenir la touche shift - -# ./src/main/java/mods/eln/misc/Version.java -mod.name=Electrical Age - -# ./src/main/java/mods/eln/node/six/SixNodeDescriptor.java - -# ./src/main/java/mods/eln/simplenode/energyconverter/EnergyConverterElnToOtherGui.java -Input_power_is_limited_to_%sW=La tension d'entrée est limitée à %sW - -# ./src/main/java/mods/eln/sixnode/LogicGate.kt -_O\:_= Sortie \: - -# ./src/main/java/mods/eln/sixnode/TreeResinCollector/TreeResinCollectorDescriptor.java -Produces_Tree_Resin_over\ntime_when_put_on_a_tree.=Produit de la Résine d'arbre\nune fois mis sur un arbre -This_block_can_only_be_placed_on_the_side_of_a_tree!=Ce bloc peut seulement être placé à côté d'un arbre - -# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerContainer.java -Battery_slot=Emplacement pour une batterie - -# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerDescriptor.java -Can_be_used_to_recharge\nelectrical_items_like\:\nFlash_Light,_X-Ray_scanner\nand_Portable_Battery_...=Peut être utilisé pour\nrecharger des objects \nélectriques comme \:\nlampe de poche, scanner à rayons X\net batterie portable - -# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerGui.java - -# ./src/main/java/mods/eln/sixnode/diode/DiodeDescriptor.java -Electrical_current_can_only\nflow_through_the_diode\nfrom_anode_to_cathode=Le courant électrique ne\npeut circuler que dans un sens\nde l'anode à la cathode - -# ./src/main/java/mods/eln/sixnode/electricalalarm/ElectricalAlarmDescriptor.java -= -Emits_an_acoustic_alarm_if\nthe_input_signal_is_high=Émet une alarme acoustique si\nle signal d'entrée est élevé - -# ./src/main/java/mods/eln/sixnode/electricalalarm/ElectricalAlarmGui.java -Sound_is_muted=Le son est me en sourdine -Sound_is_not_muted=Le son n´est pas me en sourdine - -# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerContainer.java - -# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerDescriptor.java -Protects_electrical_components\nOpens_contact_if\:\n__-_Voltage_exceeds_a_certain_level\n-_Current_exceeds_the_cable_limit=Protège les composants électriques\nouvre le contact si \:\n- le voltage excède un certain niveau\n- le courant excède la limite du câble - -# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerGui.java -Maximum_voltage_before_cutting_off=Tension maximale avant coupure -Minimum_voltage_before_cutting_off=Tension minimale avant coupure -Switch_is_off=L'interrupteur est éteint -Switch_is_on=L'interrupteur est allumé - -# ./src/main/java/mods/eln/sixnode/electricalcable/ElectricalCableDescriptor.java -A_signal_is_electrical_information\nwhich_must_be_between_0V_and_%sV=un signal est de l'information électrique\nqui doit être entre 0V et %sV. -Cable_is_adapted_to_conduct\nelectrical_signals.=Le câble est adapté pour\nconduire un signal électrique. -Current\:_%sA=Courant\: %sA -Not_adapted_to_transport_power.=Pas adapté pour transporter de la puissance. -Save_usage\:=Utilisation sécuritaire\: -Serial_resistance\:_%sΩ=Résistance série \: %sΩ - -# ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerDescriptor.java -It_can_store_up_to_256_points.=Il peut sauver jusqu'à 256 points. -Measures_the_voltage_of_an\nelectrical_signal_and_plots\nthe_data_in_real_time.=Mesure la tension d'un\nsignal électrique et trace\nles donnés en temps réel. - -# ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerGui.java -Back_to_display=Retour à l'affichage -Configuration=Paramétrage -Current_[A]=Courant [A] -Energy_[J]=Energie [J] -Percent_[-]%=Pourcentage [-]% -Power_[W]=Puissance [W] -Print=Imprimer -Sampling_period=Période d’échantillonnage -Temp._[*C]=Température [*C] -Voltage_[V]=Tension [V] -Y-axis_max=Max. axe Y -Y-axis_min=Min. axe Y - -# ./src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorContainer.java - -# ./src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorDescriptor.java -Output_voltage_increases\nif_entities_are_moving_around.=La tension de sortie augmente\nsi une entité se déplace autour. - -# ./src/main/java/mods/eln/sixnode/electricalfiredetector/ElectricalFireDetectorDescriptor.java -Output_voltage_increases\nif_a_fire_has_been_detected.=La tension de sortie augmente\nsi du feu a été détecté. - -# ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceDescriptor.java -Provides_configurable_signal\nvoltage.=le voltage est configurable - -# ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceGui.java -Output_at_%s=Sortie de %s - -# ./src/main/java/mods/eln/sixnode/electricallightsensor/ElectricalLightSensorDescriptor.java -0V_at_night,_%sV_at_noon.=0V la nuit, %sV le midi. -Provides_an_electrical_voltage\nin_the_presence_of_light.=Fournit une tension électrique\nen présence de lumière. -Provides_an_electrical_voltage\nwhich_is_proportional_to\nthe_intensity_of_daylight.=Produit un voltage\nqui est proportionnel\nà l'intensité de la lumière du jour - -# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathContainer.java - -# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathDescriptor.java -Applicable_boolean_operators\:=S'applique aux opérateurs booléens \: -Applicable_functions\:=Fonctions disponibles \: -Applicable_mathematical_operators\:=S'applique aux opérateurs mathématiques \: -Calculates_an_output_signal_from\n3_inputs_(A,_B,_C)_using_an_equation.=Calcul le signal de sortie en fonction des\n3 entrés (A, B, C) en utilisant une équation. - -# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathGui.java -%s_Redstone(s)_required=%s Redstone(s) requis -Equation_required!=Équation requise\! -Inputs_are=L'entrée est -Invalid_equation!=Équation invalide\! -Output_voltage_formula=Formule de la tension de sortie -Waiting_for_completion...=En attente de complétion... - -# ./src/main/java/mods/eln/sixnode/electricalredstoneinput/ElectricalRedstoneInputDescriptor.java -Converts_Redstone_signal\nto_an_electrical_voltage.=Convertit un signal Redstone\nen une tension électrique. - -# ./src/main/java/mods/eln/sixnode/electricalredstoneoutput/ElectricalRedstoneOutputDescriptor.java -Converts_electrical_voltage\ninto_a_Redstone_signal.=Convertit une tension électrique\nen un signal Redstone. - -# ./src/main/java/mods/eln/sixnode/electricalrelay/ElectricalRelayDescriptor.java -A_relay_is_an_electrical\ncontact_that_conducts_electric\ncurrent_or_not,_depending\nthe_actual_input_signal_voltage.=Un relai est un contact\nélectrique qui conduit ou non\nle courant en fonction\nde la tension en entrée. - -# ./src/main/java/mods/eln/sixnode/electricalrelay/ElectricalRelayGui.java -Normally_closed=Fermé par défaut -Normally_open=Ouvert par défaut - -# ./src/main/java/mods/eln/sixnode/electricalsource/ElectricalSourceDescriptor.java -Creative_block.=Bloc créatif. -Provides_an_ideal_voltage_source\nwithout_energy_or_power_limitation.=Fournit une source de tension idéale\nsans limite d'énergie ou de puissance. - -# ./src/main/java/mods/eln/sixnode/electricalsource/ElectricalSourceGui.java -Output_voltage=Tension de sortie - -# ./src/main/java/mods/eln/sixnode/electricalswitch/ElectricalSwitchDescriptor.java -Can_break_an_electrical_circuit\ninterrupting_the_current.=Peut briser un circuit électrique\nInterrompt le courant - -# ./src/main/java/mods/eln/sixnode/electricaltimeout/ElectricalTimeoutDescriptor.java -Upon_application_of_a_high_signal,\nthe_timer_maintains_the_output_high_for\na_configurable_interval._Can_be_re-triggered.=Lorsqu'un signal haut est appliqué,\nle minuteur maintient la sortie haute pendant\nun intervalle configurable. Peut être activé plusieurs fois. - -# ./src/main/java/mods/eln/sixnode/electricaltimeout/ElectricalTimeoutGui.java -Set=Fixer -The_time_interval_the\noutput_is_kept_high.=L'intervalle de temps durant lequel\nla sortie est dans l'état haut. - -# ./src/main/java/mods/eln/sixnode/electricalvumeter/ElectricalVuMeterDescriptor.java -Displays_the_value_of_a_signal.=Affichage la valeur du signal - -# ./src/main/java/mods/eln/sixnode/electricalwatch/ElectricalWatchContainer.java -Portable_battery_slot=Emplacement pour batterie portable - -# ./src/main/java/mods/eln/sixnode/electricalweathersensor/ElectricalWeatherSensorDescriptor.java -Clear\:_%sV=Nettoyage \: %sV -Provides_an_electrical_signal\ndepending_the_actual_weather.=Fournit une tension électrique selon la température -Rain\:_%sV=Pluie \: %sV -Storm\:_%sV=Orage \: %sV - -# ./src/main/java/mods/eln/sixnode/electricalwindsensor/ElectricalWindSensorDescriptor.java -Maximum_wind_speed_is_%sm_s=La vitesse maximale du vent est %sm/s -Provides_an_electrical_signal\ndependant_on_wind_speed.=Fournit une tension électrique\ndépendant de la vitesse du vent -You_can't_place_this_block_on_the_floor_or_the_ceiling=Vous ne pouvez pas placer ce bloc sur le sol ou au plafond - -# ./src/main/java/mods/eln/sixnode/electricasensor/ElectricalSensorDescriptor.java -Can_measure_Voltage_Power_Current=Peut mesurer une tension/une puissance/un courant -Measures_electrical_values_on_cables.=Mesure les valeurs électriques des câbles. -Measures_voltage_on_cables.=Mesure la tension des câbles. - -# ./src/main/java/mods/eln/sixnode/electricasensor/ElectricalSensorGui.java -Current=Courant -Measured_voltage\ncorresponding\nto_0%_output=Mesure le voltage\ncorrespondant\nà 0% de la sortie -Measured_voltage\ncorresponding\nto_100%_output=Mesure le voltage\ncorrespondant\nà 100% de la sortie -Voltage=Tension - -# ./src/main/java/mods/eln/sixnode/energymeter/EnergyMeterGui.java -Change_password=Changer le mot de passe -Counter_Mode=Mode Compteur -Counts_the_energy_conducted_from\n\u00a74red\u00a7f_to_\u00a71blue\u00a7f.=Compte l'énergie conduit par\n\\u00a74red\\u00a7f à \\u00a71blue\\u00a7f -Energy_counter\:_%sJ=Compteur d'énergie \: %sJ -Enter_new_energy=Entrez une nouvelle énergie -Enter_password=Entrez le mot de passe -Prepay_Mode=Mode Prépayé -Reset_time_counter=Mettre à zéro le compteur de temps -Set_energy_counter=Régler le compteur d'énergie -Time_counter\:=Compteur de temps \: -Try_password=Essayer un mot de passe -You_can_set_an_initial\namount_of_available_energy.\nWhen_the_counter_arrives_at_0\nthe_contact_will_be_opened.=Vous pouvez régler une quantité\ninitiale d'énergie disponible.\nQuand le compteur arrive à 0\nle contact sera ouvert. -is_off=Éteint -is_on=Allumé -value_in_kJ=Valeur en kJ - -# ./src/main/java/mods/eln/sixnode/groundcable/GroundCableDescriptor.java -Can_be_used_to_set_a_point_of_an\nelectrical_network_to_0V_potential.\nFor_example_to_ground_negative_battery_contacts.=Peut être utilisé pour mettre un point\ndu réseau électrique au potentiel 0V.\nPar exemple pour mettre à la terre la borne moins d'une batterie. -Provides_a_zero_volt_reference.=Fournit une référence de tension de 0 volt. - -# ./src/main/java/mods/eln/sixnode/hub/HubDescriptor.java -Allows_crossing_cables\non_one_single_block.=Permet aux câbles de se croiser\nsur un seul bloc - -# ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketDescriptor.java -Angle\:_%s°_to_%s°=Angle\: %s° à %s° -Spot_range\:_%s_blocks=Portée\: %s blocks - -# ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketGuiDraw.java -%s_is_not_in_range!=%s n'est pas à portée -Cable_slot_empty=Logement vide pour le câble -Orientation\:_%s°=Orientation \: %s° -Parallel=Parallèle -Powered_by_Lamp_Supply=Alimentée par une alimentation de lampe -Powered_by_cable=Alimenté par câble -Serial=En série -Specify_the_supply_channel=Spécifier le canal d'alimentation - -# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyContainer.java -Electrical_cable_slot\nBase_range_is_32_blocks.\nEach_additional_cable\nincreases_range_by_one.=Emplacement de câble électrique\nLa portée de base est 32 bloc\nChaque câble additionnel\nAugmente la portée de un - -# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyDescriptor.java -Supplies_all_lamps_on_the_channel.=Alimente toutes les lampes sur le canal. - -# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyGui.java -Power_channel_name=Nom de la chaîne du courant -Wireless_channel_name=Nom de la chaîne sans-fil - -# ./src/main/java/mods/eln/sixnode/modbusrtu/ModbusRtuGui.java -Add=Ajouter -Channel_name=Nom de la chaîne -Modbus_ID=Identifiant de Modbus -Modbus_RTU=Modbus RTU -Station_ID=Identifiant de Station -Station_name=Nom de station -Wireless_RX=RX sans fil -Wireless_TX=TX sans fil - -# ./src/main/java/mods/eln/sixnode/powercapacitorsix/PowerCapacitorSixContainer.java -(Increases_maximum_voltage)=(Augmente la tension maximale) - -# ./src/main/java/mods/eln/sixnode/powercapacitorsix/PowerCapacitorSixGui.java - -# ./src/main/java/mods/eln/sixnode/powerinductorsix/PowerInductorSixContainer.java - -# ./src/main/java/mods/eln/sixnode/powerinductorsix/PowerInductorSixGui.java - -# ./src/main/java/mods/eln/sixnode/powersocket/PowerSocketDescriptor.java -Supplies_any_device\nplugged_in_with_energy.=Alimente n'importe quel\nappareil branché en énergie. - -# ./src/main/java/mods/eln/sixnode/powersocket/PowerSocketGui.java -Specify_the_device_to_supply_through_this_socket.=Spécifiez le périphérique à alimenter à travers cette prise. - -# ./src/main/java/mods/eln/sixnode/resistor/ResistorContainer.java -(Sets_resistance)=(Paramètre de résistance) -Coal_dust_slot=Fente pour la poussière de charbon - -# ./src/main/java/mods/eln/sixnode/thermalcable/ThermalCableDescriptor.java -High_parallel_resistance\n_\=>_Low_power_dissipation.=Forte résistance en parallèle\n\=> Faible dissipation de puissance -Low_serial_resistance\n_\=>_High_conductivity.=faible résistance \=> bonne conductibilité -Parallel_resistance\:_%sK_W=Résistance en parallèle \: %sK/W -Serial_resistance\:_%sK_W=Résistance série \: %sK/W - -# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorContainer.java -Cable_slot=Fente pour le câble - -# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorDescriptor.java -Can_measure\:=Peut mesurer \: -Measures_temperature_of_cables.=Mesure la température des câbles. -Measures_thermal_values_on_cables.=Mesure la valeur de la température\nsur les câbles -__Temperature_Power_conducted=Température / Puissance - -# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorGui.java -Measured_temperature\ncorresponding\nto_0%_output=Mesure la température\ncorrespondant\nà 0% de la sortie -Measured_temperature\ncorresponding\nto_100%_output=Mesure la température\ncorrespondant\nà 100% de la sortie -Temperature=Température - -# ./src/main/java/mods/eln/sixnode/tutorialsign/TutorialSignElement.java -No_text_associated_to_this_beacon=Pas de texte associé à cette balise - -# ./src/main/java/mods/eln/sixnode/tutorialsign/TutorialSignGui.java -Set_beacon_name=Nom de beacon \: - -# ./src/main/java/mods/eln/sixnode/wirelesssignal/rx/WirelessSignalRxGui.java - -# ./src/main/java/mods/eln/transparentnode/FuelGenerator.kt -Nominal_power\:_%s_W=Puissance nominale \: %s W -Nominal_voltage\:_%s_V=Tension nominale \: %s V -Produces_electricity_using_fuel.=Produit de l’électricité à partir d'essence. - -# ./src/main/java/mods/eln/transparentnode/LargeRheostat.kt -Nom._Resistance\:_%s=Résistance nom. \: %s - -# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerContainer.java -Drill_slot=Emplacement de la tête de forage -Mining_pipe_slot=Emplacement pour un tuyau minier -Ore_scanner_slot=Emplacement pour un analyseur de minerai - -# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerDescriptor.java -Excavates_on_a_small_radius.\nExtracts_ore_on_a_bigger_radius\:\n10_blocks_radius_after_10_blocks_depth.=Creuse dans un faible rayon.\nExtrait les minerais dans un plus grand rayon \:\nRayon de 10 blocs après 10 blocs de profondeur. - -# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerGuiDraw.java -Chest_missing_on_the\nback_of_the_auto_miner!=Il manque un coffre\nen arrière de l'auto miner -Halves_speed,_triples_power_draw=Moitié de la vitesse, puissance triple -Silk_Touch_Off=Silk Touch Off -Silk_Touch_On=Silk Touch On -Silk_touch=Silk touch - -# ./src/main/java/mods/eln/transparentnode/battery/BatteryContainer.java -Overheating_protection=Protection anti-surchauffe -Overvoltage_protection=Protection anti-surtension - -# ./src/main/java/mods/eln/transparentnode/battery/BatteryDescriptor.java -Actual_charge\:_%s=Charge actuelle\: %s -Energy_capacity\:_%sJ=Capacité énergétique \: %sJ -_charged_at_%s=chargé à %s - -# ./src/main/java/mods/eln/transparentnode/battery/BatteryGuiDraw.java -Charge=Charge -Charged=Chargé -Discharge=Décharge -Energy\:=Energie \: -Energy\:_%s=Energie \: %s -Life\:=Vie \: -No_charge=Pas de charge -Power_in\:=Puissance d'entrée \: -Power_out\:=Puissance de sortie \: - -# ./src/main/java/mods/eln/transparentnode/eggincubator/EggIncubatorContainer.java -Egg_slot=Fente pour les œufs - -# ./src/main/java/mods/eln/transparentnode/electricalantennarx/ElectricalAntennaRxDescriptor.java -Wireless_energy_receiver.=Récepteur d'énergie sans fil - -# ./src/main/java/mods/eln/transparentnode/electricalantennatx/ElectricalAntennaTxDescriptor.java -Efficiency\:_%s_up_to_%s=Efficacité \: de %s à %s -Wireless_energy_transmitter.=Emetteur d'énergie sans fil - -# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceContainer.java -Heating_corp_slot=Emplacement pour Corps de Chauffe - -# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceDescriptor.java -Similar_to_a_vanilla_furnace,\nbut_heats_with_electricity.=semblable au four vanilla\nmais cuit avec de l'électricité - -# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceGuiDraw.java -Auto_shutdown=Arrêt automatique -Manual_shutdown=Arrêt manuel -Set_point\:_%s°C=Consigne \: %s°C - -# ./src/main/java/mods/eln/transparentnode/electricalmachine/ElectricalMachineDescriptor.java -Cost=Prix - -# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceContainer.java -Combustion_chamber_slot=Fente vers la chambre de combustion -Fuel_slot=Emplacement à pétrole - -# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceDescriptor.java -Generates_heat_when_supplied_with_fuel.=Génère de la chaleur lorsqu'il est alimenté en carburant. - -# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceGuiDraw.java -Control_gauge_at_%s=Jauge de contrôle à %s -Decline_fuel=Refuse carburant -External_control=Contrôle externe -Internal_control=Contrôle interne -Take_fuel=Mettez le carburant - -# ./src/main/java/mods/eln/transparentnode/powercapacitor/PowerCapacitorContainer.java -(Increases_maximal_voltage)=(Augmente le voltage maximal) - -# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelContainer.java -Solar_tracker_slot=Traceur de soleil - -# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelDescriptor.java -Can_be_geared_towards_the_sun.=Peut-être orienté vers le soleil. -Max._power\:_%sW=Énergie maximum \: %sW -Max._voltage\:_%sV=Voltage maximum \: %sV -Produces_power_from_solar_radiation.=Produit de l'énergie avec le soleil. - -# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPannelGuiDraw.java -It_is_night=C'est la nuit -Solar_panel_angle\:_%s°=Angle du panneau solaire \: %s° -Sun_angle\:_%s°=Angle du soleil \: %s° - -# ./src/main/java/mods/eln/transparentnode/teleporter/TeleporterGui.java -Destination_transporter=Destination du téléporteur -Power_consumption\:=Consommation électrique \: -Power_consumption\:_%sW=Consommation électrique \: %sW -Required_energy\:_%sJ=Energie demandée\: %sJ -Start=Début -Transporter_name=Nom du transporteur - -# ./src/main/java/mods/eln/transparentnode/thermaldissipatoractive/ThermalDissipatorActiveDescriptor.java -Fan_cooling_power\:_%sW=Puissance de refroidissement du ventilateur \: %sW -Fan_power_consumption\:_%sW=Consommation du ventilateur \: %sW -Fan_voltage\:_%sV=Tension du ventilateur \: %sV - -# ./src/main/java/mods/eln/transparentnode/transformer/TransformerDescriptor.java -The_voltage_ratio_is_proportional\nto_the_cable_stacks_count_ratio.=Le ratio de tension est proportionnel\nau ratio du nombre de câbles empilés. -Transforms_an_input_voltage_to\nan_output_voltage.=Transforme une tension d'entrée en tension de sortie. - -# ./src/main/java/mods/eln/transparentnode/turbine/TurbineDescriptor.java -Generates_electricity_using_heat.=Génère de l'électricité en utilisant la chaleur . -Temperature_difference\:_%s°C=Différence de température\: %s°C - -# ./src/main/java/mods/eln/transparentnode/turret/TurretDescriptor.java -CAUTION\:_Cables_can_get_quite_hot!=Attention \! Les câbles peuvent devenir chaud \! -Laser_charge_power\:_%sW...%skW=Charge de l'énergie du laser \: %sW...%skW -Scans_for_entities_and_shoots_if_the\nentity_matches_the_configurable_filter_criteria.=Scan les entités et tire si \nl'entité est la même que celle configurer -Standby_power\:_%sW=Puissance en veille \: %sW - -# ./src/main/java/mods/eln/transparentnode/turret/TurretGui.java -Attack\:=Attaquer \: -Do_not_attack\:=Ne pas attaquer \: -Recharge_power\:=Puissance de rechargement - -# ./src/main/java/mods/eln/transparentnode/waterturbine/WaterTurbineDescriptor.java -Generates_energy_using_water_stream.=Génère de l'énergie grâce au courant de l'eau. -No_place_for_water_turbine!=Pas de place pour une turbine à eau \! - -# ./src/main/java/mods/eln/transparentnode/windturbine/WindTurbineDescriptor.java -Front\:_%s=Face \: %s -Generates_energy_from_wind.=Génère de l'énergie avec le vent. -Left_Right\:_%s=Gauche/Droite \: %s -Up_Down\:_%s=Haut/Bas \: %s -Wind_area\:=Zone de vent \: - -# ./src/main/java/mods/eln/wiki/Data.java -Energy=Energie -Light=Lumière -Machine=Machine -Ore=Minerai -Portable=Portable -Resource=Ressource -Signal=Signal -Thermal=Thermique -Upgrade=Amélioration -Utilities=Utilitaires -Wiring=Cablage - -# ./src/main/java/mods/eln/wiki/Default.java -Previous=Précédent - -# ./src/main/java/mods/eln/wiki/ItemDefault.java -Can_be_used_to_craft\:=Peut-être utilisé pour fabriquer \: -Cannot_be_crafted!=Impossible de fabriquer ceci \! -Cost_%sJ=Coût %sJ -Created_by\:=Créé par \: -Is_not_a_crafting_material!=N'est pas un matériau de fabrication -Recipe\:=Recette \: - -# Appearing in multiple source files -(Increases_capacity)=(augmente la capacité) -(Increases_inductance)=(Augmente l'inductance) -Actual\:_%s°C=Actuelle \: %s°C -Biggest=Plus grand -Booster_slot=Emplacement pour un booster -Can_create\:=Peut créer \: -Capacity\:_%sF=Capacité \: %sF -Charge_power\:_%sW=Puissance de charge \: %sW -Connected=Connecté -Cooling_power\:_%sW=Puissance de refroidissement \: %sW -Copper_cable_slot=Emplacement pour un câble en cuivre -Dielectric_slot=Emplacement diélectrique -Discharge_power\:_%sW=Puissance de décharge \: %sW -Electrical_cable_slot=Emplacement pour câble électrique -Entity_filter_slot=Emplacement pour filtre à entités -Ferromagnetic_core_slot=Emplacement pour noyau ferromagnétique -Has_a_signal_output.=Dispose d'un signal de sortie. -Inductance\:_%sH=inductance \: %sH -Internal_resistance\:_%sΩ=Résistance interne \: %sΩ -Is_off=C'est éteint -Is_on=C'est allumé -Max._temperature\:_%s°C=Temperature max \: %s°C -Measured_value\ncorresponding\nto_0%_output=Mesure la valeur\ncorrespondant\nà 0% de la sortie -Measured_value\ncorresponding\nto_100%_output=Mesure la valeur\ncorrespondant\nà 100% de la sortie -Nominal\:=Nominale \: -Nominal_power\:_%sW=Puissance nominale \: %sW -Nominal_usage\:=Utilisation nominale \: -Nominal_voltage\:_%sV=Tension nominale\: %sV -Not_connected=Pas connecté -Not_enough_space_for_this_block=Pas assez d'espace pour ce bloc -Power=Énergie -Power\:_%sW=Puissance\: %sW -Range\:_%s_blocks=Portée\: %s blocks -Redstone_slot=Emplacement pour Redstone -Regulator_slot=Emplacement pour le régulateur -Reset=Réinitialiser -Resistance\:_%sΩ=Résistance\: %sΩ -Smallest=Plus petit -Specify_the_channel=Spécifier le canal -Stored_energy\:_%sJ_(%s)=Energie stockée \: %sJ (%s) -Temperature\:_%s°C=Température\: %s°C -Temperature_gauge=Gauge de température -Thermal_isolator_slot=Emplacement pour Isolateur Thermique -Toggle=Basculer -Toggle_switch=Interrupteur à bascule -Toggles_the_output_each_time\nan_emitter's_value_rises.\nUseful_to_allow_multiple_buttons\nto_control_the_same_light.=Bascule la valeur de la sortie chaque fois\nque la valeur de l'émetteur augmente.\nUtile pour permettre à plusieurs boutons\nde contrôler la même lampe. -Used_to_cool_down_turbines.=Utilisé pour refroidir les turbines. -Uses_the_biggest\nvalue_on_the_channel.=Utilise la plus grande valeur\nsur la chaîne -Uses_the_smallest\nvalue_on_the_channel.=Utilise la plus petite valeur\nsur la chaîne -Validate=Valider -Voltage\:_%sV=Tension \: %sV -You_can't_place_this_block_at_this_side=Vous ne pouvez pas poser de bloc sur ce côté +eln:# +eln: +eln:# ./src/main/java/mods/eln/Achievements.java +eln:Electrical_Age_[WIP]=L'ère de l’électricité [travail en cours... ] +eln:achievement.craft_50v_macerator=Novice +eln:achievement.craft_50v_macerator.desc=Créer un macérateur 50V +eln:achievement.open_guide=Wiki Power +eln:achievement.open_guide.desc=Ouvrir le guide wiki +eln: +eln:# ./src/main/java/mods/eln/Eln.java +eln:10A_Diode.name=Diode 10A +eln:200V_Active_Thermal_Dissipator.name=Dissipateur thermique actif 200V +eln:200V_Battery_Charger.name=Chargeur de batterie 200V +eln:200V_Compressor.name=Compresseur 200V +eln:200V_Condensator.name=Condensateur 200V +eln:200V_Copper_Heating_Corp.name=Corps de Chauffe en Cuivre 200V +eln:200V_Economic_Light_Bulb.name=Ampoule économique 200V +eln:200V_Farming_Lamp.name=Lampe de culture 200V +eln:200V_Fuel_Generator.name=Générateur à essence 200V +eln:200V_Incandescent_Light_Bulb.name=Ampoule à incandescence 200V +eln:200V_Iron_Heating_Corp.name=Corps de Chauffe en Fer 200V +eln:200V_LED_Bulb.name=Ampoule LED 200V +eln:200V_Macerator.name=Macérateur 200V +eln:200V_Magnetizer.name=Magnétiseur 200V +eln:200V_Plate_Machine.name=Applatisseur 200V +eln:200V_Power_Socket.name=Prise électrique 200V +eln:200V_Tungsten_Heating_Corp.name=Corps de Chauffe en Tungstène 200V +eln:200V_Turbine.name=Turbine 200V +eln:25A_Diode.name=Diode 25A +eln:50V_Battery_Charger.name=Chargeur de batterie 50V +eln:50V_Carbon_Incandescent_Light_Bulb.name=Ampoule incandescente au charbon 50V +eln:50V_Compressor.name=Compresseur 50V +eln:50V_Condensator.name=Condensateur 50V +eln:50V_Copper_Heating_Corp.name=Corps de Chauffe en Cuivre 50V +eln:50V_Economic_Light_Bulb.name=Ampoule économique 50V +eln:50V_Egg_Incubator.name=Incubateur d’œufs 50V +eln:50V_Farming_Lamp.name=Lampe de culture 50V +eln:50V_Fuel_Generator.name=Générateur à essence 50V +eln:50V_Incandescent_Light_Bulb.name=Ampoule à incandescence 50V +eln:50V_Iron_Heating_Corp.name=Corps de Chauffe en Fer 50V +eln:50V_LED_Bulb.name=Ampoule LED 50V +eln:50V_Macerator.name=Macérateur 50V +eln:50V_Magnetizer.name=Magnétiseur 50V +eln:50V_Plate_Machine.name=Aplatisseur 50V +eln:50V_Power_Socket.name=Prise électrique 50V +eln:50V_Tungsten_Heating_Corp.name=Corps de Chauffe en Tungstène 50V +eln:50V_Turbine.name=Turbine 50V +eln:800V_Defence_Turret.name=Tourelle de défense 800V +eln:AND_Chip.name=Porte logique ET +eln:Advanced_Chip.name=Puce avancée +eln:Advanced_Electrical_Motor.name=Moteur électrique avancé +eln:Advanced_Energy_Meter.name=Compteur d'énergie avancé +eln:Advanced_Machine_Block.name=Bloc de machine avancé +eln:Advanced_Magnet.name=Aimant avancé +eln:AllMeter.name=Multimètre +eln:Alloy_Dust.name=Poudre d'alliage +eln:Alloy_Ingot.name=Lingot d'alliage +eln:Alloy_Plate.name=Plaque d'alliage +eln:Analog_Watch.name=Horloge +eln:Analog_vuMeter.name=Jauge analogique +eln:Analogic_Regulator.name=Régulateur analogique +eln:Animal_Filter.name=Filtre d'animaux +eln:Auto_Miner.name=Mineur automatique +eln:Average_Electrical_Drill.name=Tête de forage normale +eln:Average_Ferromagnetic_Core.name=Noyau Ferromagnétique Moyen +eln:Basic_Magnet.name=Aimant basique +eln:Black_Brush.name=Brosse noire +eln:Blue_Brush.name=Brosse bleue +eln:Brown_Brush.name=Brosse marron +eln:Capacity_Oriented_Battery.name=Batterie à capacité élevée +eln:Cheap_Chip.name=Puce bon marché +eln:Cheap_Electrical_Drill.name=Tête de forage bon marché +eln:Cheap_Ferromagnetic_Core.name=Noyau Ferromagnétique Bon Marché +eln:Cinnabar_Dust.name=Poudre de cinabre +eln:Cinnabar_Ore.name=Minerai de cinabre +eln:Coal_Dust.name=Charbon +eln:Coal_Plate.name=Plaque de charbon +eln:Combustion_Chamber.name=Chambre de combustion +eln:Copper_Cable.name=Câble en cuive +eln:Copper_Dust.name=Poudre de cuivre +eln:Copper_Ingot.name=Lingot de cuivre +eln:Copper_Ore.name=Minerai de cuivre +eln:Copper_Plate.name=Plaque de cuivre +eln:Copper_Thermal_Cable.name=Câble thermique en cuivre +eln:Cost_Oriented_Battery.name=Batterie à faible coût +eln:Current_Oriented_Battery.name=Batterie à courant élevé +eln:Cyan_Brush.name=Brosse Cyan +eln:D_Flip_Flop_Chip.name=Bascule D +eln:Data_Logger.name=Enregistreur de données +eln:Data_Logger_Print.name=Imprimante pour enregistreur de données +eln:Dielectric.name=Diélectrique +eln:Digital_Watch.name=Horloge digitale +eln:Electrical_Anemometer_Sensor.name=Anémomètre Électrique +eln:Electrical_Breaker.name=Disjoncteur éléctrique +eln:Electrical_Daylight_Sensor.name=Capteur de jour +eln:Electrical_Entity_Sensor.name=Capteur de luminosité +eln:Electrical_Fire_Detector.name=Capteur de feu +eln:Electrical_Furnace.name=Four électrique +eln:Electrical_Light_Sensor.name=Capteur de luminosité +eln:Electrical_Motor.name=Moteur électrique +eln:Electrical_Probe.name=Sonde électrique +eln:Electrical_Probe_Chip.name=Puce pour Sonde Électrique +eln:Electrical_Source.name=Source électrique +eln:Electrical_Timer.name=Horloge électrique +eln:Electrical_Weather_Sensor.name=Station météo électrique +eln:Electrical_age_wrench,\nCan_be_used_to_turn\nsmall_wall_blocks=Clef à molette d'Electrical Age,\npeut être utilisée pour\ntourner des petits blocs muraux +eln:Energy_Meter.name=Compteur d'énergie +eln:Experimental_Transporter.name=Téléporteur expérimental +eln:Fast_Electrical_Drill.name=Tête de forage rapide +eln:Ferrite_Ingot.name=Lingot de ferrite +eln:Flat_Lamp_Socket.name=Douille de lampe plate +eln:Fluorescent_Lamp_Socket.name=Douille de lampe fluorescente +eln:Generator.name=Générateur +eln:Gold_Dust.name=Poussière d'or +eln:Gold_Plate.name=Plaque en or +eln:Gray_Brush.name=Brosse grise +eln:Green_Brush.name=Brosse verte +eln:Ground_Cable.name=Prise de terre +eln:High_Power_Receiver_Antenna.name=Antenne de récéption longue portée +eln:High_Power_Transmitter_Antenna.name=Antenne de transmition longue portée +eln:High_Voltage_Cable.name=Câble électrique à haute tension +eln:High_Voltage_Relay.name=Relais à haute tension +eln:High_Voltage_Switch.name=Interrupteur à haute tension +eln:Hub.name=Pivot\n +eln:Industrial_Data_Logger.name=Enregistreur de données industriel +eln:Iron_Cable.name=Câble en fer +eln:Iron_Dust.name=Poussière de fer +eln:Iron_Plate.name=Plaque de fer +eln:JK_Flip_Flop_Chip.name=Bascule JK +eln:LED_vuMeter.name=vuMètre LED +eln:Lamp_Socket_A.name=Douille de lampe A +eln:Lamp_Socket_B_Projector.name=Douille de lampe B Projectrice +eln:Lamp_Supply.name=Alimentation de lampe +eln:Large_Rheostat.name=Large Rheostat +eln:Lead_Dust.name=Poudre de plomb +eln:Lead_Ingot.name=Lingot de plomb +eln:Lead_Ore.name=Minerai de plomb +eln:Lead_Plate.name=Plaque de plomb +eln:Life_Oriented_Battery.name=Batterie à durée de vie élevée +eln:Light_Blue_Brush.name=Pinceau bleu clair +eln:Lime_Brush.name=Pinceau couleur citron +eln:Long_Suspended_Lamp_Socket.name=Douille de lampe suspendue (long) +eln:Low_Power_Receiver_Antenna.name=Antenne de réception courte portée +eln:Low_Power_Transmitter_Antenna.name=Antenne de transmission courte portée +eln:Low_Voltage_Cable.name=Câble électrique à basse tension +eln:Low_Voltage_Relay.name=Relais basse tension +eln:Low_Voltage_Switch.name=Interrupteur basse tension +eln:Machine_Block.name=Bloc de machine +eln:Machine_Booster.name=Booster de machine +eln:Magenta_Brush.name=Pinceau magenta +eln:Medium_Power_Receiver_Antenna.name=Antenne de réception moyenne portée +eln:Medium_Power_Transmitter_Antenna.name=Antenne de transmition moyenne portée +eln:Medium_Voltage_Cable.name=Câble électrique à tension moyenne +eln:Medium_Voltage_Relay.name=Relais moyenne tension +eln:Medium_Voltage_Switch.name=Interrupteur à moyenne tension +eln:Mercury.name=Mercure +eln:Mining_Pipe.name=Tuyau minier +eln:Modbus_RTU.name=Modbus RTU +eln:Modern_Data_Logger.name=Enregistreur de données moderne +eln:Monster_Filter.name=Filtre de monstre +eln:MultiMeter.name=Multimètre +eln:NAND_Chip.name=Porte logique NON-ET +eln:NOR_Chip.name=Porte logique NON-OU +eln:NOT_Chip.name=Porte logique NON +eln:Nuclear_Alarm.name=Alarme nucléaire +eln:OR_Chip.name=Porte logique OU +eln:On_OFF_Regulator_10_Percent.name=Régulateur on/off 10% +eln:On_OFF_Regulator_1_Percent.name=On/off regulator 1% +eln:Optimal_Ferromagnetic_Core.name=Noyau Ferromagnétique Optimal +eln:Orange_Brush.name=Pinceau orange +eln:Ore_Scanner.name=Analyseur de minerai +eln:Oscillator_Chip.name=Oscillateur +eln:Overheating_Protection.name=Protection contre la surchauffe +eln:Overvoltage_Protection.name=Protection contre le survoltage +eln:PAL_Chip.name=Puce PAL +eln:Pink_Brush.name=Pinceau rose +eln:Player_Filter.name=Filtre de joueur +eln:Portable_Battery.name=Batterie portable +eln:Portable_Battery_Pack.name=Batteries portables +eln:Portable_Condensator.name=Condensateur portable +eln:Portable_Condensator_Pack.name=Condensateurs portables +eln:Portable_Electrical_Axe.name=Pioche éléctrique portable +eln:Portable_Electrical_Mining_Drill.name=Foreuse électrique portable +eln:Power_Capacitor.name=Condensateur de puissance +eln:Power_Inductor.name=Inducteur de Puissance +eln:Power_Resistor.name=Résistance de puissance +eln:Power_capacitor.name=Condensateur de puissance +eln:Power_inductor.name=Inducteur de Puissance +eln:Purple_Brush.name=Pinceau violet +eln:Red_Brush.name=Pinceau rouge +eln:Redstone-to-Voltage_Converter.name=Convertisseur tension-redstone +eln:Rheostat.name=Rhéostat +eln:Robust_Lamp_Socket.name=Solide Douille de Lampe +eln:Rubber.name=Caoutchouc +eln:Schmitt_Trigger_Chip.name=Bascule de Schmitt +eln:Sconce_Lamp_Socket.name=Douille de Lampe de Chandelier +eln:Signal_20H_inductor.name=Inductance 20H pour signaux +eln:Signal_Antenna.name=Antenne de signal +eln:Signal_Button.name=Bouton de signal +eln:Signal_Cable.name=Câble électrique pour signaux +eln:Signal_Diode.name=Diode pour signaux +eln:Signal_Processor.name=Processeur de signaux +eln:Signal_Relay.name=Relais de signaux +eln:Signal_Source.name=Signal source +eln:Signal_Switch.name=Interrupteur pour signaux +eln:Signal_Switch_with_LED.name=Interrupteur pour signaux avec LED +eln:Signal_Trimmer.name=Jauge de signal +eln:Silicon_Dust.name=Poudre de silicium +eln:Silicon_Ingot.name=Lingot de silicium +eln:Silicon_Plate.name=Plaque de silicium +eln:Silver_Brush.name=Pinceau couleur argent +eln:Simple_Lamp_Socket.name=Douille de lampe simple +eln:Single-use_Battery.name=Batterie à usage unique +eln:Small_200V_Copper_Heating_Corp.name=Petit Corps de Chauffe en Cuivre 200V +eln:Small_200V_Iron_Heating_Corp.name=Petit Corps de Chauffe en Fer 200V +eln:Small_200V_Tungsten_Heating_Corp.name=Petit Corps de Chauffe en Tungstène 200V +eln:Small_50V_Carbon_Incandescent_Light_Bulb.name=Petite Ampoule Incandescente Au Charbon 50V +eln:Small_50V_Copper_Heating_Corp.name=Petit Corps de Chauffe en Cuivre 50V +eln:Small_50V_Economic_Light_Bulb.name=Petite ampoule économique 50V +eln:Small_50V_Incandescent_Light_Bulb.name=Petite ampoule à incandescence 50V +eln:Small_50V_Iron_Heating_Corp.name=Petit Corps de Chauffe en Fer 50V +eln:Small_50V_Tungsten_Heating_Corp.name=Petit Corps de Chauffe en Tungstène 50V +eln:Small_Active_Thermal_Dissipator.name=Petit dissipateur thermique actif +eln:Small_Flashlight.name=Lampe de poche +eln:Small_Passive_Thermal_Dissipator.name=Petit dissipateur thermique passif +eln:Small_Rotating_Solar_Panel.name=Petit panneau solaire rotatif +eln:Small_Solar_Panel.name=Petit panneau solaire +eln:Solar_Tracker.name=Pisteur solaire +eln:Standard_Alarm.name=Alarme standard +eln:Steam_Turbine.name=Turbine à vapeur +eln:Stone_Heat_Furnace.name=Four de chauffe en pierre +eln:Street_Light.name=Lampadaire +eln:Suspended_Lamp_Socket.name=Douille de Lampe Suspendue +eln:Temperature_Probe.name=Sonde de température +eln:Thermal_Probe.name=Sonde de température +eln:Thermal_Probe_Chip.name=Puce pour Sonde de Température +eln:Thermistor.name=Thermistance +eln:ThermoMeter.name=Thermomètre +eln:Transformer.name=Transformateur +eln:Tree_Resin.name=Résine d'arbre +eln:Tree_Resin_Collector.name=Collecteur de résine d'arbre +eln:Tungsten_Cable.name=Câble électrique au tungsten +eln:Tungsten_Dust.name=Poudre de tungstène +eln:Tungsten_Ingot.name=Lingot de tungstène +eln:Tungsten_Ore.name=Minerai de tungstène +eln:Tutorial_Sign.name=Panneau de tutoriel +eln:Very_High_Voltage_Cable.name=Câble électrique à très haute tension +eln:Very_High_Voltage_Relay.name=Relais à très haute tension +eln:Very_High_Voltage_Switch.name=Interrupteur à très haute tension +eln:Voltage-to-Redstone_Converter.name=Convertisseur tension-redstone +eln:Voltage_Oriented_Battery.name=Batterie à tension élevée +eln:Voltage_Probe.name=Sonde de tension +eln:Water_Turbine.name=Turbine à eau +eln:Weak_50V_Battery_Charger.name=Chargeur de batterie 50V faible +eln:White_Brush.name=Pinceau blanc +eln:Wind_Turbine.name=Éolienne +eln:Wireless_Analyser.name=Analyseur sans fil +eln:Wireless_Button.name=Bouton sans fil +eln:Wireless_Signal_Receiver.name=Recepteur de signal sans-fil +eln:Wireless_Signal_Repeater.name=Répéteur sans fil +eln:Wireless_Signal_Transmitter.name=Transmetteur de signal sans-fil +eln:Wireless_Switch.name=Interrupteur sans fil +eln:Wrench.name=Clé à molette +eln:X-Ray_Scanner.name=Scanner à rayons X +eln:XNOR_Chip.name=Port logique OU exclusif +eln:XOR_Chip.name=Porte logique OU exclusif +eln:Yellow_Brush.name=Pinceau jaune +eln:entity.EAReplicator.name=Duplicateur +eln:item.Copper Pioche en Cuivre +eln:item.Copper Pioche en Cuivre +eln:item.Copper Pioche en Cuivre +eln:item.Copper Pioche en Cuivre +eln:item.Copper Pioche en Cuivre +eln:item.Copper Pioche en Cuivre +eln:item.Copper Pioche en Cuivre +eln:item.Copper Pioche en Cuivre +eln:item.Copper Pioche en Cuivre +eln:item.E-Coal Botte de E-charbon +eln:item.E-Coal Botte de E-charbon +eln:item.E-Coal Botte de E-charbon +eln:item.E-Coal Botte de E-charbon +eln:itemGroup.Eln=Electrical Age +eln:mod.meta.desc=Electricité présente dans votre base \! +eln:tile.eln.ElnProbe.name=Sonde Eln pour Ordinateur +eln:tile.eln.EnergyConverterElnToOtherHVUBlock.name=Convertisseur 800V d'EA vers une autre énergie +eln:tile.eln.EnergyConverterElnToOtherLVUBlock.name=Convertisseur 50V d'EA vers une autre énergie +eln:tile.eln.EnergyConverterElnToOtherMVUBlock.name=Convertisseur 200V d'EA vers une autre énergie +eln: +eln:# ./src/main/java/mods/eln/i18n/I18N.java +eln:You_have_%s_lives_left=Il vous reste encore %s vies +eln: +eln:# ./src/main/java/mods/eln/item/BrushDescriptor.java +eln:Brush_is_dry=Votre brosse est sèche +eln:Can_paint_%s_blocks=Peut peindre %s blocks +eln: +eln:# ./src/main/java/mods/eln/item/CombustionChamber.java +eln:Upgrade_for_the_Stone_Heat_Furnace.=Amélioration pour le four de chauffe en pierre +eln: +eln:# ./src/main/java/mods/eln/item/ElectricalDrillDescriptor.java +eln:Energy_per_operation\:_%sJ=Energie par opération \: %sJ +eln:Time_per_operation\:_%ss=Temps par opération \: %ss +eln: +eln:# ./src/main/java/mods/eln/item/FerromagneticCoreDescriptor.java +eln:Cable_loss_factor\:_%s=Facteur de perte du câble \: %s +eln: +eln:# ./src/main/java/mods/eln/item/HeatingCorpElement.java +eln: +eln:# ./src/main/java/mods/eln/item/LampDescriptor.java +eln:Bad=Mauvais +eln:Condition\:=Conditions \: +eln:End_of_life=Fin de vie +eln:Good=Bon +eln:New=Nouveau +eln:Nominal_lifetime\:_%sh=Durée de vie nominale \: %sh +eln:Technology\:_%s=Technologie \: %s +eln:Used=Utilisé +eln: +eln:# ./src/main/java/mods/eln/item/LampSlot.java +eln:Lamp_slot=Emplacement pour une lampe +eln: +eln:# ./src/main/java/mods/eln/item/OverHeatingProtectionDescriptor.java +eln:Useful_to_prevent_overheating\nof_Batteries=Utile pour prévenir une\nsurchauffe des batteries +eln: +eln:# ./src/main/java/mods/eln/item/OverVoltageProtectionDescriptor.java +eln:Useful_to_prevent_over-voltage\nof_Batteries=Utile pour prévenir d'une\nsurtension des batteries +eln: +eln:# ./src/main/java/mods/eln/item/SolarTrackerDescriptor.java +eln:Solar_panel_upgrade=Amélioration du panneau solaire +eln: +eln:# ./src/main/java/mods/eln/item/electricalitem/BatteryItem.java +eln: +eln:# ./src/main/java/mods/eln/item/electricalitem/ElectricalLampItem.java +eln:Off=Off +eln:On=On +eln:State\:=Etat \: +eln:Stored_Energy\:_%sJ_(%s)=Energie stockée \: %sJ (%s) +eln: +eln:# ./src/main/java/mods/eln/item/regulator/RegulatorSlot.java +eln: +eln:# ./src/main/java/mods/eln/misc/UtilsClient.java +eln:Hold_shift=Maintenir la touche shift +eln: +eln:# ./src/main/java/mods/eln/misc/Version.java +eln:mod.name=Electrical Age +eln: +eln:# ./src/main/java/mods/eln/node/six/SixNodeDescriptor.java +eln: +eln:# ./src/main/java/mods/eln/simplenode/energyconverter/EnergyConverterElnToOtherGui.java +eln:Input_power_is_limited_to_%sW=La tension d'entrée est limitée à %sW +eln: +eln:# ./src/main/java/mods/eln/sixnode/LogicGate.kt +eln:_O\:_= Sortie \: +eln: +eln:# ./src/main/java/mods/eln/sixnode/TreeResinCollector/TreeResinCollectorDescriptor.java +eln:Produces_Tree_Resin_over\ntime_when_put_on_a_tree.=Produit de la Résine d'arbre\nune fois mis sur un arbre +eln:This_block_can_only_be_placed_on_the_side_of_a_tree!=Ce bloc peut seulement être placé à côté d'un arbre +eln: +eln:# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerContainer.java +eln:Battery_slot=Emplacement pour une batterie +eln: +eln:# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerDescriptor.java +eln:Can_be_used_to_recharge\nelectrical_items_like\:\nFlash_Light,_X-Ray_scanner\nand_Portable_Battery_...=Peut être utilisé pour\nrecharger des objects \nélectriques comme \:\nlampe de poche, scanner à rayons X\net batterie portable +eln: +eln:# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerGui.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/diode/DiodeDescriptor.java +eln:Electrical_current_can_only\nflow_through_the_diode\nfrom_anode_to_cathode=Le courant électrique ne\npeut circuler que dans un sens\nde l'anode à la cathode +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalalarm/ElectricalAlarmDescriptor.java +eln:= +eln:Emits_an_acoustic_alarm_if\nthe_input_signal_is_high=Émet une alarme acoustique si\nle signal d'entrée est élevé +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalalarm/ElectricalAlarmGui.java +eln:Sound_is_muted=Le son est me en sourdine +eln:Sound_is_not_muted=Le son n´est pas me en sourdine +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerContainer.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerDescriptor.java +eln:Protects_electrical_components\nOpens_contact_if\:\n__-_Voltage_exceeds_a_certain_level\n-_Current_exceeds_the_cable_limit=Protège les composants électriques\nouvre le contact si \:\n- le voltage excède un certain niveau\n- le courant excède la limite du câble +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerGui.java +eln:Maximum_voltage_before_cutting_off=Tension maximale avant coupure +eln:Minimum_voltage_before_cutting_off=Tension minimale avant coupure +eln:Switch_is_off=L'interrupteur est éteint +eln:Switch_is_on=L'interrupteur est allumé +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalcable/ElectricalCableDescriptor.java +eln:A_signal_is_electrical_information\nwhich_must_be_between_0V_and_%sV=un signal est de l'information électrique\nqui doit être entre 0V et %sV. +eln:Cable_is_adapted_to_conduct\nelectrical_signals.=Le câble est adapté pour\nconduire un signal électrique. +eln:Current\:_%sA=Courant\: %sA +eln:Not_adapted_to_transport_power.=Pas adapté pour transporter de la puissance. +eln:Save_usage\:=Utilisation sécuritaire\: +eln:Serial_resistance\:_%sΩ=Résistance série \: %sΩ +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerDescriptor.java +eln:It_can_store_up_to_256_points.=Il peut sauver jusqu'à 256 points. +eln:Measures_the_voltage_of_an\nelectrical_signal_and_plots\nthe_data_in_real_time.=Mesure la tension d'un\nsignal électrique et trace\nles donnés en temps réel. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerGui.java +eln:Back_to_display=Retour à l'affichage +eln:Configuration=Paramétrage +eln:Current_[A]=Courant [A] +eln:Energy_[J]=Energie [J] +eln:Percent_[-]%=Pourcentage [-]% +eln:Power_[W]=Puissance [W] +eln:Print=Imprimer +eln:Sampling_period=Période d’échantillonnage +eln:Temp._[*C]=Température [*C] +eln:Voltage_[V]=Tension [V] +eln:Y-axis_max=Max. axe Y +eln:Y-axis_min=Min. axe Y +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorContainer.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorDescriptor.java +eln:Output_voltage_increases\nif_entities_are_moving_around.=La tension de sortie augmente\nsi une entité se déplace autour. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalfiredetector/ElectricalFireDetectorDescriptor.java +eln:Output_voltage_increases\nif_a_fire_has_been_detected.=La tension de sortie augmente\nsi du feu a été détecté. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceDescriptor.java +eln:Provides_configurable_signal\nvoltage.=le voltage est configurable +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceGui.java +eln:Output_at_%s=Sortie de %s +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricallightsensor/ElectricalLightSensorDescriptor.java +eln:0V_at_night,_%sV_at_noon.=0V la nuit, %sV le midi. +eln:Provides_an_electrical_voltage\nin_the_presence_of_light.=Fournit une tension électrique\nen présence de lumière. +eln:Provides_an_electrical_voltage\nwhich_is_proportional_to\nthe_intensity_of_daylight.=Produit un voltage\nqui est proportionnel\nà l'intensité de la lumière du jour +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathContainer.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathDescriptor.java +eln:Applicable_boolean_operators\:=S'applique aux opérateurs booléens \: +eln:Applicable_functions\:=Fonctions disponibles \: +eln:Applicable_mathematical_operators\:=S'applique aux opérateurs mathématiques \: +eln:Calculates_an_output_signal_from\n3_inputs_(A,_B,_C)_using_an_equation.=Calcul le signal de sortie en fonction des\n3 entrés (A, B, C) en utilisant une équation. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathGui.java +eln:%s_Redstone(s)_required=%s Redstone(s) requis +eln:Equation_required!=Équation requise\! +eln:Inputs_are=L'entrée est +eln:Invalid_equation!=Équation invalide\! +eln:Output_voltage_formula=Formule de la tension de sortie +eln:Waiting_for_completion...=En attente de complétion... +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalredstoneinput/ElectricalRedstoneInputDescriptor.java +eln:Converts_Redstone_signal\nto_an_electrical_voltage.=Convertit un signal Redstone\nen une tension électrique. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalredstoneoutput/ElectricalRedstoneOutputDescriptor.java +eln:Converts_electrical_voltage\ninto_a_Redstone_signal.=Convertit une tension électrique\nen un signal Redstone. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalrelay/ElectricalRelayDescriptor.java +eln:A_relay_is_an_electrical\ncontact_that_conducts_electric\ncurrent_or_not,_depending\nthe_actual_input_signal_voltage.=Un relai est un contact\nélectrique qui conduit ou non\nle courant en fonction\nde la tension en entrée. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalrelay/ElectricalRelayGui.java +eln:Normally_closed=Fermé par défaut +eln:Normally_open=Ouvert par défaut +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalsource/ElectricalSourceDescriptor.java +eln:Creative_block.=Bloc créatif. +eln:Provides_an_ideal_voltage_source\nwithout_energy_or_power_limitation.=Fournit une source de tension idéale\nsans limite d'énergie ou de puissance. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalsource/ElectricalSourceGui.java +eln:Output_voltage=Tension de sortie +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalswitch/ElectricalSwitchDescriptor.java +eln:Can_break_an_electrical_circuit\ninterrupting_the_current.=Peut briser un circuit électrique\nInterrompt le courant +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricaltimeout/ElectricalTimeoutDescriptor.java +eln:Upon_application_of_a_high_signal,\nthe_timer_maintains_the_output_high_for\na_configurable_interval._Can_be_re-triggered.=Lorsqu'un signal haut est appliqué,\nle minuteur maintient la sortie haute pendant\nun intervalle configurable. Peut être activé plusieurs fois. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricaltimeout/ElectricalTimeoutGui.java +eln:Set=Fixer +eln:The_time_interval_the\noutput_is_kept_high.=L'intervalle de temps durant lequel\nla sortie est dans l'état haut. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalvumeter/ElectricalVuMeterDescriptor.java +eln:Displays_the_value_of_a_signal.=Affichage la valeur du signal +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalwatch/ElectricalWatchContainer.java +eln:Portable_battery_slot=Emplacement pour batterie portable +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalweathersensor/ElectricalWeatherSensorDescriptor.java +eln:Clear\:_%sV=Nettoyage \: %sV +eln:Provides_an_electrical_signal\ndepending_the_actual_weather.=Fournit une tension électrique selon la température +eln:Rain\:_%sV=Pluie \: %sV +eln:Storm\:_%sV=Orage \: %sV +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalwindsensor/ElectricalWindSensorDescriptor.java +eln:Maximum_wind_speed_is_%sm_s=La vitesse maximale du vent est %sm/s +eln:Provides_an_electrical_signal\ndependant_on_wind_speed.=Fournit une tension électrique\ndépendant de la vitesse du vent +eln:You_can't_place_this_block_on_the_floor_or_the_ceiling=Vous ne pouvez pas placer ce bloc sur le sol ou au plafond +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricasensor/ElectricalSensorDescriptor.java +eln:Can_measure_Voltage_Power_Current=Peut mesurer une tension/une puissance/un courant +eln:Measures_electrical_values_on_cables.=Mesure les valeurs électriques des câbles. +eln:Measures_voltage_on_cables.=Mesure la tension des câbles. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricasensor/ElectricalSensorGui.java +eln:Current=Courant +eln:Measured_voltage\ncorresponding\nto_0%_output=Mesure le voltage\ncorrespondant\nà 0% de la sortie +eln:Measured_voltage\ncorresponding\nto_100%_output=Mesure le voltage\ncorrespondant\nà 100% de la sortie +eln:Voltage=Tension +eln: +eln:# ./src/main/java/mods/eln/sixnode/energymeter/EnergyMeterGui.java +eln:Change_password=Changer le mot de passe +eln:Counter_Mode=Mode Compteur +eln:Counts_the_energy_conducted_from\n\u00a74red\u00a7f_to_\u00a71blue\u00a7f.=Compte l'énergie conduit par\n\\u00a74red\\u00a7f à \\u00a71blue\\u00a7f +eln:Energy_counter\:_%sJ=Compteur d'énergie \: %sJ +eln:Enter_new_energy=Entrez une nouvelle énergie +eln:Enter_password=Entrez le mot de passe +eln:Prepay_Mode=Mode Prépayé +eln:Reset_time_counter=Mettre à zéro le compteur de temps +eln:Set_energy_counter=Régler le compteur d'énergie +eln:Time_counter\:=Compteur de temps \: +eln:Try_password=Essayer un mot de passe +eln:You_can_set_an_initial\namount_of_available_energy.\nWhen_the_counter_arrives_at_0\nthe_contact_will_be_opened.=Vous pouvez régler une quantité\ninitiale d'énergie disponible.\nQuand le compteur arrive à 0\nle contact sera ouvert. +eln:is_off=Éteint +eln:is_on=Allumé +eln:value_in_kJ=Valeur en kJ +eln: +eln:# ./src/main/java/mods/eln/sixnode/groundcable/GroundCableDescriptor.java +eln:Can_be_used_to_set_a_point_of_an\nelectrical_network_to_0V_potential.\nFor_example_to_ground_negative_battery_contacts.=Peut être utilisé pour mettre un point\ndu réseau électrique au potentiel 0V.\nPar exemple pour mettre à la terre la borne moins d'une batterie. +eln:Provides_a_zero_volt_reference.=Fournit une référence de tension de 0 volt. +eln: +eln:# ./src/main/java/mods/eln/sixnode/hub/HubDescriptor.java +eln:Allows_crossing_cables\non_one_single_block.=Permet aux câbles de se croiser\nsur un seul bloc +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketDescriptor.java +eln:Angle\:_%s°_to_%s°=Angle\: %s° à %s° +eln:Spot_range\:_%s_blocks=Portée\: %s blocks +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketGuiDraw.java +eln:%s_is_not_in_range!=%s n'est pas à portée +eln:Cable_slot_empty=Logement vide pour le câble +eln:Orientation\:_%s°=Orientation \: %s° +eln:Parallel=Parallèle +eln:Powered_by_Lamp_Supply=Alimentée par une alimentation de lampe +eln:Powered_by_cable=Alimenté par câble +eln:Serial=En série +eln:Specify_the_supply_channel=Spécifier le canal d'alimentation +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyContainer.java +eln:Electrical_cable_slot\nBase_range_is_32_blocks.\nEach_additional_cable\nincreases_range_by_one.=Emplacement de câble électrique\nLa portée de base est 32 bloc\nChaque câble additionnel\nAugmente la portée de un +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyDescriptor.java +eln:Supplies_all_lamps_on_the_channel.=Alimente toutes les lampes sur le canal. +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyGui.java +eln:Power_channel_name=Nom de la chaîne du courant +eln:Wireless_channel_name=Nom de la chaîne sans-fil +eln: +eln:# ./src/main/java/mods/eln/sixnode/modbusrtu/ModbusRtuGui.java +eln:Add=Ajouter +eln:Channel_name=Nom de la chaîne +eln:Modbus_ID=Identifiant de Modbus +eln:Modbus_RTU=Modbus RTU +eln:Station_ID=Identifiant de Station +eln:Station_name=Nom de station +eln:Wireless_RX=RX sans fil +eln:Wireless_TX=TX sans fil +eln: +eln:# ./src/main/java/mods/eln/sixnode/powercapacitorsix/PowerCapacitorSixContainer.java +eln:(Increases_maximum_voltage)=(Augmente la tension maximale) +eln: +eln:# ./src/main/java/mods/eln/sixnode/powercapacitorsix/PowerCapacitorSixGui.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/powerinductorsix/PowerInductorSixContainer.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/powerinductorsix/PowerInductorSixGui.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/powersocket/PowerSocketDescriptor.java +eln:Supplies_any_device\nplugged_in_with_energy.=Alimente n'importe quel\nappareil branché en énergie. +eln: +eln:# ./src/main/java/mods/eln/sixnode/powersocket/PowerSocketGui.java +eln:Specify_the_device_to_supply_through_this_socket.=Spécifiez le périphérique à alimenter à travers cette prise. +eln: +eln:# ./src/main/java/mods/eln/sixnode/resistor/ResistorContainer.java +eln:(Sets_resistance)=(Paramètre de résistance) +eln:Coal_dust_slot=Fente pour la poussière de charbon +eln: +eln:# ./src/main/java/mods/eln/sixnode/thermalcable/ThermalCableDescriptor.java +eln:High_parallel_resistance\n_\=>_Low_power_dissipation.=Forte résistance en parallèle\n\=> Faible dissipation de puissance +eln:Low_serial_resistance\n_\=>_High_conductivity.=faible résistance \=> bonne conductibilité +eln:Parallel_resistance\:_%sK_W=Résistance en parallèle \: %sK/W +eln:Serial_resistance\:_%sK_W=Résistance série \: %sK/W +eln: +eln:# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorContainer.java +eln:Cable_slot=Fente pour le câble +eln: +eln:# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorDescriptor.java +eln:Can_measure\:=Peut mesurer \: +eln:Measures_temperature_of_cables.=Mesure la température des câbles. +eln:Measures_thermal_values_on_cables.=Mesure la valeur de la température\nsur les câbles +eln:__Temperature_Power_conducted=Température / Puissance +eln: +eln:# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorGui.java +eln:Measured_temperature\ncorresponding\nto_0%_output=Mesure la température\ncorrespondant\nà 0% de la sortie +eln:Measured_temperature\ncorresponding\nto_100%_output=Mesure la température\ncorrespondant\nà 100% de la sortie +eln:Temperature=Température +eln: +eln:# ./src/main/java/mods/eln/sixnode/tutorialsign/TutorialSignElement.java +eln:No_text_associated_to_this_beacon=Pas de texte associé à cette balise +eln: +eln:# ./src/main/java/mods/eln/sixnode/tutorialsign/TutorialSignGui.java +eln:Set_beacon_name=Nom de beacon \: +eln: +eln:# ./src/main/java/mods/eln/sixnode/wirelesssignal/rx/WirelessSignalRxGui.java +eln: +eln:# ./src/main/java/mods/eln/transparentnode/FuelGenerator.kt +eln:Nominal_power\:_%s_W=Puissance nominale \: %s W +eln:Nominal_voltage\:_%s_V=Tension nominale \: %s V +eln:Produces_electricity_using_fuel.=Produit de l’électricité à partir d'essence. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/LargeRheostat.kt +eln:Nom._Resistance\:_%s=Résistance nom. \: %s +eln: +eln:# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerContainer.java +eln:Drill_slot=Emplacement de la tête de forage +eln:Mining_pipe_slot=Emplacement pour un tuyau minier +eln:Ore_scanner_slot=Emplacement pour un analyseur de minerai +eln: +eln:# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerDescriptor.java +eln:Excavates_on_a_small_radius.\nExtracts_ore_on_a_bigger_radius\:\n10_blocks_radius_after_10_blocks_depth.=Creuse dans un faible rayon.\nExtrait les minerais dans un plus grand rayon \:\nRayon de 10 blocs après 10 blocs de profondeur. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerGuiDraw.java +eln:Chest_missing_on_the\nback_of_the_auto_miner!=Il manque un coffre\nen arrière de l'auto miner +eln:Halves_speed,_triples_power_draw=Moitié de la vitesse, puissance triple +eln:Silk_Touch_Off=Silk Touch Off +eln:Silk_Touch_On=Silk Touch On +eln:Silk_touch=Silk touch +eln: +eln:# ./src/main/java/mods/eln/transparentnode/battery/BatteryContainer.java +eln:Overheating_protection=Protection anti-surchauffe +eln:Overvoltage_protection=Protection anti-surtension +eln: +eln:# ./src/main/java/mods/eln/transparentnode/battery/BatteryDescriptor.java +eln:Actual_charge\:_%s=Charge actuelle\: %s +eln:Energy_capacity\:_%sJ=Capacité énergétique \: %sJ +eln:_charged_at_%s=chargé à %s +eln: +eln:# ./src/main/java/mods/eln/transparentnode/battery/BatteryGuiDraw.java +eln:Charge=Charge +eln:Charged=Chargé +eln:Discharge=Décharge +eln:Energy\:=Energie \: +eln:Energy\:_%s=Energie \: %s +eln:Life\:=Vie \: +eln:No_charge=Pas de charge +eln:Power_in\:=Puissance d'entrée \: +eln:Power_out\:=Puissance de sortie \: +eln: +eln:# ./src/main/java/mods/eln/transparentnode/eggincubator/EggIncubatorContainer.java +eln:Egg_slot=Fente pour les œufs +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalantennarx/ElectricalAntennaRxDescriptor.java +eln:Wireless_energy_receiver.=Récepteur d'énergie sans fil +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalantennatx/ElectricalAntennaTxDescriptor.java +eln:Efficiency\:_%s_up_to_%s=Efficacité \: de %s à %s +eln:Wireless_energy_transmitter.=Emetteur d'énergie sans fil +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceContainer.java +eln:Heating_corp_slot=Emplacement pour Corps de Chauffe +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceDescriptor.java +eln:Similar_to_a_vanilla_furnace,\nbut_heats_with_electricity.=semblable au four vanilla\nmais cuit avec de l'électricité +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceGuiDraw.java +eln:Auto_shutdown=Arrêt automatique +eln:Manual_shutdown=Arrêt manuel +eln:Set_point\:_%s°C=Consigne \: %s°C +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalmachine/ElectricalMachineDescriptor.java +eln:Cost=Prix +eln: +eln:# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceContainer.java +eln:Combustion_chamber_slot=Fente vers la chambre de combustion +eln:Fuel_slot=Emplacement à pétrole +eln: +eln:# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceDescriptor.java +eln:Generates_heat_when_supplied_with_fuel.=Génère de la chaleur lorsqu'il est alimenté en carburant. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceGuiDraw.java +eln:Control_gauge_at_%s=Jauge de contrôle à %s +eln:Decline_fuel=Refuse carburant +eln:External_control=Contrôle externe +eln:Internal_control=Contrôle interne +eln:Take_fuel=Mettez le carburant +eln: +eln:# ./src/main/java/mods/eln/transparentnode/powercapacitor/PowerCapacitorContainer.java +eln:(Increases_maximal_voltage)=(Augmente le voltage maximal) +eln: +eln:# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelContainer.java +eln:Solar_tracker_slot=Traceur de soleil +eln: +eln:# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelDescriptor.java +eln:Can_be_geared_towards_the_sun.=Peut-être orienté vers le soleil. +eln:Max._power\:_%sW=Énergie maximum \: %sW +eln:Max._voltage\:_%sV=Voltage maximum \: %sV +eln:Produces_power_from_solar_radiation.=Produit de l'énergie avec le soleil. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPannelGuiDraw.java +eln:It_is_night=C'est la nuit +eln:Solar_panel_angle\:_%s°=Angle du panneau solaire \: %s° +eln:Sun_angle\:_%s°=Angle du soleil \: %s° +eln: +eln:# ./src/main/java/mods/eln/transparentnode/teleporter/TeleporterGui.java +eln:Destination_transporter=Destination du téléporteur +eln:Power_consumption\:=Consommation électrique \: +eln:Power_consumption\:_%sW=Consommation électrique \: %sW +eln:Required_energy\:_%sJ=Energie demandée\: %sJ +eln:Start=Début +eln:Transporter_name=Nom du transporteur +eln: +eln:# ./src/main/java/mods/eln/transparentnode/thermaldissipatoractive/ThermalDissipatorActiveDescriptor.java +eln:Fan_cooling_power\:_%sW=Puissance de refroidissement du ventilateur \: %sW +eln:Fan_power_consumption\:_%sW=Consommation du ventilateur \: %sW +eln:Fan_voltage\:_%sV=Tension du ventilateur \: %sV +eln: +eln:# ./src/main/java/mods/eln/transparentnode/transformer/TransformerDescriptor.java +eln:The_voltage_ratio_is_proportional\nto_the_cable_stacks_count_ratio.=Le ratio de tension est proportionnel\nau ratio du nombre de câbles empilés. +eln:Transforms_an_input_voltage_to\nan_output_voltage.=Transforme une tension d'entrée en tension de sortie. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/turbine/TurbineDescriptor.java +eln:Generates_electricity_using_heat.=Génère de l'électricité en utilisant la chaleur . +eln:Temperature_difference\:_%s°C=Différence de température\: %s°C +eln: +eln:# ./src/main/java/mods/eln/transparentnode/turret/TurretDescriptor.java +eln:CAUTION\:_Cables_can_get_quite_hot!=Attention \! Les câbles peuvent devenir chaud \! +eln:Laser_charge_power\:_%sW...%skW=Charge de l'énergie du laser \: %sW...%skW +eln:Scans_for_entities_and_shoots_if_the\nentity_matches_the_configurable_filter_criteria.=Scan les entités et tire si \nl'entité est la même que celle configurer +eln:Standby_power\:_%sW=Puissance en veille \: %sW +eln: +eln:# ./src/main/java/mods/eln/transparentnode/turret/TurretGui.java +eln:Attack\:=Attaquer \: +eln:Do_not_attack\:=Ne pas attaquer \: +eln:Recharge_power\:=Puissance de rechargement +eln: +eln:# ./src/main/java/mods/eln/transparentnode/waterturbine/WaterTurbineDescriptor.java +eln:Generates_energy_using_water_stream.=Génère de l'énergie grâce au courant de l'eau. +eln:No_place_for_water_turbine!=Pas de place pour une turbine à eau \! +eln: +eln:# ./src/main/java/mods/eln/transparentnode/windturbine/WindTurbineDescriptor.java +eln:Front\:_%s=Face \: %s +eln:Generates_energy_from_wind.=Génère de l'énergie avec le vent. +eln:Left_Right\:_%s=Gauche/Droite \: %s +eln:Up_Down\:_%s=Haut/Bas \: %s +eln:Wind_area\:=Zone de vent \: +eln: +eln:# ./src/main/java/mods/eln/wiki/Data.java +eln:Energy=Energie +eln:Light=Lumière +eln:Machine=Machine +eln:Ore=Minerai +eln:Portable=Portable +eln:Resource=Ressource +eln:Signal=Signal +eln:Thermal=Thermique +eln:Upgrade=Amélioration +eln:Utilities=Utilitaires +eln:Wiring=Cablage +eln: +eln:# ./src/main/java/mods/eln/wiki/Default.java +eln:Previous=Précédent +eln: +eln:# ./src/main/java/mods/eln/wiki/ItemDefault.java +eln:Can_be_used_to_craft\:=Peut-être utilisé pour fabriquer \: +eln:Cannot_be_crafted!=Impossible de fabriquer ceci \! +eln:Cost_%sJ=Coût %sJ +eln:Created_by\:=Créé par \: +eln:Is_not_a_crafting_material!=N'est pas un matériau de fabrication +eln:Recipe\:=Recette \: +eln: +eln:# Appearing in multiple source files +eln:(Increases_capacity)=(augmente la capacité) +eln:(Increases_inductance)=(Augmente l'inductance) +eln:Actual\:_%s°C=Actuelle \: %s°C +eln:Biggest=Plus grand +eln:Booster_slot=Emplacement pour un booster +eln:Can_create\:=Peut créer \: +eln:Capacity\:_%sF=Capacité \: %sF +eln:Charge_power\:_%sW=Puissance de charge \: %sW +eln:Connected=Connecté +eln:Cooling_power\:_%sW=Puissance de refroidissement \: %sW +eln:Copper_cable_slot=Emplacement pour un câble en cuivre +eln:Dielectric_slot=Emplacement diélectrique +eln:Discharge_power\:_%sW=Puissance de décharge \: %sW +eln:Electrical_cable_slot=Emplacement pour câble électrique +eln:Entity_filter_slot=Emplacement pour filtre à entités +eln:Ferromagnetic_core_slot=Emplacement pour noyau ferromagnétique +eln:Has_a_signal_output.=Dispose d'un signal de sortie. +eln:Inductance\:_%sH=inductance \: %sH +eln:Internal_resistance\:_%sΩ=Résistance interne \: %sΩ +eln:Is_off=C'est éteint +eln:Is_on=C'est allumé +eln:Max._temperature\:_%s°C=Temperature max \: %s°C +eln:Measured_value\ncorresponding\nto_0%_output=Mesure la valeur\ncorrespondant\nà 0% de la sortie +eln:Measured_value\ncorresponding\nto_100%_output=Mesure la valeur\ncorrespondant\nà 100% de la sortie +eln:Nominal\:=Nominale \: +eln:Nominal_power\:_%sW=Puissance nominale \: %sW +eln:Nominal_usage\:=Utilisation nominale \: +eln:Nominal_voltage\:_%sV=Tension nominale\: %sV +eln:Not_connected=Pas connecté +eln:Not_enough_space_for_this_block=Pas assez d'espace pour ce bloc +eln:Power=Énergie +eln:Power\:_%sW=Puissance\: %sW +eln:Range\:_%s_blocks=Portée\: %s blocks +eln:Redstone_slot=Emplacement pour Redstone +eln:Regulator_slot=Emplacement pour le régulateur +eln:Reset=Réinitialiser +eln:Resistance\:_%sΩ=Résistance\: %sΩ +eln:Smallest=Plus petit +eln:Specify_the_channel=Spécifier le canal +eln:Stored_energy\:_%sJ_(%s)=Energie stockée \: %sJ (%s) +eln:Temperature\:_%s°C=Température\: %s°C +eln:Temperature_gauge=Gauge de température +eln:Thermal_isolator_slot=Emplacement pour Isolateur Thermique +eln:Toggle=Basculer +eln:Toggle_switch=Interrupteur à bascule +eln:Toggles_the_output_each_time\nan_emitter's_value_rises.\nUseful_to_allow_multiple_buttons\nto_control_the_same_light.=Bascule la valeur de la sortie chaque fois\nque la valeur de l'émetteur augmente.\nUtile pour permettre à plusieurs boutons\nde contrôler la même lampe. +eln:Used_to_cool_down_turbines.=Utilisé pour refroidir les turbines. +eln:Uses_the_biggest\nvalue_on_the_channel.=Utilise la plus grande valeur\nsur la chaîne +eln:Uses_the_smallest\nvalue_on_the_channel.=Utilise la plus petite valeur\nsur la chaîne +eln:Validate=Valider +eln:Voltage\:_%sV=Tension \: %sV +eln:You_can't_place_this_block_at_this_side=Vous ne pouvez pas poser de bloc sur ce côté diff --git a/src/main/resources/assets/eln/lang/fr_CA.lang b/src/main/resources/assets/eln/lang/fr_CA.lang index 97de00099..e7ceb70c2 100644 --- a/src/main/resources/assets/eln/lang/fr_CA.lang +++ b/src/main/resources/assets/eln/lang/fr_CA.lang @@ -1,829 +1,829 @@ -# - -# ./src/main/java/mods/eln/Achievements.java -Electrical_Age_[WIP]=L'ère de l’électricité [travail en cours... ] -achievement.craft_50v_macerator=Novice -achievement.craft_50v_macerator.desc=Créer un macérateur 50V -achievement.open_guide=Wiki Power -achievement.open_guide.desc=Ouvrir le guide wiki - -# ./src/main/java/mods/eln/Eln.java -10A_Diode.name=Diode 10A -200V_Active_Thermal_Dissipator.name=Dissipateur thermique actif 200V -200V_Battery_Charger.name=Chargeur de batterie 200V -200V_Compressor.name=Compresseur 200V -200V_Condensator.name=Condensateur 200V -200V_Copper_Heating_Corp.name=Corps de Chauffe en Cuivre 200V -200V_Economic_Light_Bulb.name=Ampoule économique 200V -200V_Farming_Lamp.name=Lampe de culture 200V -200V_Fuel_Generator.name=Générateur à essence 200V -200V_Incandescent_Light_Bulb.name=Ampoule à incandescence 200V -200V_Iron_Heating_Corp.name=Corps de Chauffe en Fer 200V -200V_LED_Bulb.name=Ampoule LED 200V -200V_Macerator.name=Macérateur 200V -200V_Magnetizer.name=Magnétiseur 200V -200V_Plate_Machine.name=Applatisseur 200V -200V_Power_Socket.name=Prise électrique 200V -200V_Tungsten_Heating_Corp.name=Corps de Chauffe en Tungstène 200V -200V_Turbine.name=Turbine 200V -25A_Diode.name=Diode 25A -50V_Battery_Charger.name=Chargeur de batterie 50V -50V_Carbon_Incandescent_Light_Bulb.name=Ampoule incandescente au charbon 50V -50V_Compressor.name=Compresseur 50V -50V_Condensator.name=Condensateur 50V -50V_Copper_Heating_Corp.name=Corps de Chauffe en Cuivre 50V -50V_Economic_Light_Bulb.name=Ampoule économique 50V -50V_Egg_Incubator.name=Incubateur d’œufs 50V -50V_Farming_Lamp.name=Lampe de culture 50V -50V_Fuel_Generator.name=Générateur à essence 50V -50V_Incandescent_Light_Bulb.name=Ampoule à incandescence 50V -50V_Iron_Heating_Corp.name=Corps de Chauffe en Fer 50V -50V_LED_Bulb.name=Ampoule LED 50V -50V_Macerator.name=Macérateur 50V -50V_Magnetizer.name=Magnétiseur 50V -50V_Plate_Machine.name=Aplatisseur 50V -50V_Power_Socket.name=Prise électrique 50V -50V_Tungsten_Heating_Corp.name=Corps de Chauffe en Tungstène 50V -50V_Turbine.name=Turbine 50V -800V_Defence_Turret.name=Tourelle de défense 800V -AND_Chip.name=Porte logique ET -Advanced_Chip.name=Puce avancée -Advanced_Electrical_Motor.name=Moteur électrique avancé -Advanced_Energy_Meter.name=Compteur d'énergie avancé -Advanced_Machine_Block.name=Bloc de machine avancé -Advanced_Magnet.name=Aimant avancé -AllMeter.name=Multimètre -Alloy_Dust.name=Poudre d'alliage -Alloy_Ingot.name=Lingot d'alliage -Alloy_Plate.name=Plaque d'alliage -Analog_Watch.name=Horloge -Analog_vuMeter.name=Jauge analogique -Analogic_Regulator.name=Régulateur analogique -Animal_Filter.name=Filtre d'animaux -Auto_Miner.name=Mineur automatique -Average_Electrical_Drill.name=Tête de forage normale -Average_Ferromagnetic_Core.name=Noyau Ferromagnétique Moyen -Basic_Magnet.name=Aimant basique -Black_Brush.name=Brosse noire -Blue_Brush.name=Brosse bleue -Brown_Brush.name=Brosse marron -Capacity_Oriented_Battery.name=Batterie à capacité élevée -Cheap_Chip.name=Puce bon marché -Cheap_Electrical_Drill.name=Tête de forage bon marché -Cheap_Ferromagnetic_Core.name=Noyau Ferromagnétique Bon Marché -Cinnabar_Dust.name=Poudre de cinabre -Cinnabar_Ore.name=Minerai de cinabre -Coal_Dust.name=Charbon -Coal_Plate.name=Plaque de charbon -Combustion_Chamber.name=Chambre de combustion -Copper_Cable.name=Câble en cuive -Copper_Dust.name=Poudre de cuivre -Copper_Ingot.name=Lingot de cuivre -Copper_Ore.name=Minerai de cuivre -Copper_Plate.name=Plaque de cuivre -Copper_Thermal_Cable.name=Câble thermique en cuivre -Cost_Oriented_Battery.name=Batterie à faible coût -Current_Oriented_Battery.name=Batterie à courant élevé -Cyan_Brush.name=Brosse Cyan -D_Flip_Flop_Chip.name=Bascule D -Data_Logger.name=Enregistreur de données -Data_Logger_Print.name=Imprimante pour enregistreur de données -Dielectric.name=Diélectrique -Digital_Watch.name=Horloge digitale -Electrical_Anemometer_Sensor.name=Anémomètre Électrique -Electrical_Breaker.name=Disjoncteur éléctrique -Electrical_Daylight_Sensor.name=Capteur de jour -Electrical_Entity_Sensor.name=Capteur de luminosité -Electrical_Fire_Detector.name=Capteur de feu -Electrical_Furnace.name=Four électrique -Electrical_Light_Sensor.name=Capteur de luminosité -Electrical_Motor.name=Moteur électrique -Electrical_Probe.name=Sonde électrique -Electrical_Probe_Chip.name=Puce pour Sonde Électrique -Electrical_Source.name=Source électrique -Electrical_Timer.name=Horloge électrique -Electrical_Weather_Sensor.name=Station météo électrique -Electrical_age_wrench,\nCan_be_used_to_turn\nsmall_wall_blocks=Clef à molette d'Electrical Age,\npeut être utilisée pour\ntourner des petits blocs muraux -Energy_Meter.name=Compteur d'énergie -Experimental_Transporter.name=Téléporteur expérimental -Fast_Electrical_Drill.name=Tête de forage rapide -Ferrite_Ingot.name=Lingot de ferrite -Flat_Lamp_Socket.name=Douille de lampe plate -Fluorescent_Lamp_Socket.name=Douille de lampe fluorescente -Generator.name=Générateur -Gold_Dust.name=Poussière d'or -Gold_Plate.name=Plaque en or -Gray_Brush.name=Brosse grise -Green_Brush.name=Brosse verte -Ground_Cable.name=Prise de terre -High_Power_Receiver_Antenna.name=Antenne de récéption longue portée -High_Power_Transmitter_Antenna.name=Antenne de transmition longue portée -High_Voltage_Cable.name=Câble électrique à haute tension -High_Voltage_Relay.name=Relais à haute tension -High_Voltage_Switch.name=Interrupteur à haute tension -Hub.name=Pivot\n -Industrial_Data_Logger.name=Enregistreur de données industriel -Iron_Cable.name=Câble en fer -Iron_Dust.name=Poussière de fer -Iron_Plate.name=Plaque de fer -JK_Flip_Flop_Chip.name=Bascule JK -LED_vuMeter.name=vuMètre LED -Lamp_Socket_A.name=Douille de lampe A -Lamp_Socket_B_Projector.name=Douille de lampe B Projectrice -Lamp_Supply.name=Alimentation de lampe -Large_Rheostat.name=Large Rheostat -Lead_Dust.name=Poudre de plomb -Lead_Ingot.name=Lingot de plomb -Lead_Ore.name=Minerai de plomb -Lead_Plate.name=Plaque de plomb -Life_Oriented_Battery.name=Batterie à durée de vie élevée -Light_Blue_Brush.name=Pinceau bleu clair -Lime_Brush.name=Pinceau couleur citron -Long_Suspended_Lamp_Socket.name=Douille de lampe suspendue (long) -Low_Power_Receiver_Antenna.name=Antenne de réception courte portée -Low_Power_Transmitter_Antenna.name=Antenne de transmission courte portée -Low_Voltage_Cable.name=Câble électrique à basse tension -Low_Voltage_Relay.name=Relais basse tension -Low_Voltage_Switch.name=Interrupteur basse tension -Machine_Block.name=Bloc de machine -Machine_Booster.name=Booster de machine -Magenta_Brush.name=Pinceau magenta -Medium_Power_Receiver_Antenna.name=Antenne de réception moyenne portée -Medium_Power_Transmitter_Antenna.name=Antenne de transmition moyenne portée -Medium_Voltage_Cable.name=Câble électrique à tension moyenne -Medium_Voltage_Relay.name=Relais moyenne tension -Medium_Voltage_Switch.name=Interrupteur à moyenne tension -Mercury.name=Mercure -Mining_Pipe.name=Tuyau minier -Modbus_RTU.name=Modbus RTU -Modern_Data_Logger.name=Enregistreur de données moderne -Monster_Filter.name=Filtre de monstre -MultiMeter.name=Multimètre -NAND_Chip.name=Porte logique NON-ET -NOR_Chip.name=Porte logique NON-OU -NOT_Chip.name=Porte logique NON -Nuclear_Alarm.name=Alarme nucléaire -OR_Chip.name=Porte logique OU -On_OFF_Regulator_10_Percent.name=Régulateur on/off 10% -On_OFF_Regulator_1_Percent.name=On/off regulator 1% -Optimal_Ferromagnetic_Core.name=Noyau Ferromagnétique Optimal -Orange_Brush.name=Pinceau orange -Ore_Scanner.name=Analyseur de minerai -Oscillator_Chip.name=Oscillateur -Overheating_Protection.name=Protection contre la surchauffe -Overvoltage_Protection.name=Protection contre le survoltage -PAL_Chip.name=Puce PAL -Pink_Brush.name=Pinceau rose -Player_Filter.name=Filtre de joueur -Portable_Battery.name=Batterie portable -Portable_Battery_Pack.name=Batteries portables -Portable_Condensator.name=Condensateur portable -Portable_Condensator_Pack.name=Condensateurs portables -Portable_Electrical_Axe.name=Pioche éléctrique portable -Portable_Electrical_Mining_Drill.name=Foreuse électrique portable -Power_Capacitor.name=Condensateur de puissance -Power_Inductor.name=Inducteur de Puissance -Power_Resistor.name=Résistance de puissance -Power_capacitor.name=Condensateur de puissance -Power_inductor.name=Inducteur de Puissance -Purple_Brush.name=Pinceau violet -Red_Brush.name=Pinceau rouge -Redstone-to-Voltage_Converter.name=Convertisseur tension-redstone -Rheostat.name=Rhéostat -Robust_Lamp_Socket.name=Solide Douille de Lampe -Rubber.name=Caoutchouc -Schmitt_Trigger_Chip.name=Bascule de Schmitt -Sconce_Lamp_Socket.name=Douille de Lampe de Chandelier -Signal_20H_inductor.name=Inductance 20H pour signaux -Signal_Antenna.name=Antenne de signal -Signal_Button.name=Bouton de signal -Signal_Cable.name=Câble électrique pour signaux -Signal_Diode.name=Diode pour signaux -Signal_Processor.name=Processeur de signaux -Signal_Relay.name=Relais de signaux -Signal_Source.name=Signal source -Signal_Switch.name=Interrupteur pour signaux -Signal_Switch_with_LED.name=Interrupteur pour signaux avec LED -Signal_Trimmer.name=Jauge de signal -Silicon_Dust.name=Poudre de silicium -Silicon_Ingot.name=Lingot de silicium -Silicon_Plate.name=Plaque de silicium -Silver_Brush.name=Pinceau couleur argent -Simple_Lamp_Socket.name=Douille de lampe simple -Single-use_Battery.name=Batterie à usage unique -Small_200V_Copper_Heating_Corp.name=Petit Corps de Chauffe en Cuivre 200V -Small_200V_Iron_Heating_Corp.name=Petit Corps de Chauffe en Fer 200V -Small_200V_Tungsten_Heating_Corp.name=Petit Corps de Chauffe en Tungstène 200V -Small_50V_Carbon_Incandescent_Light_Bulb.name=Petite Ampoule Incandescente Au Charbon 50V -Small_50V_Copper_Heating_Corp.name=Petit Corps de Chauffe en Cuivre 50V -Small_50V_Economic_Light_Bulb.name=Petite ampoule économique 50V -Small_50V_Incandescent_Light_Bulb.name=Petite ampoule à incandescence 50V -Small_50V_Iron_Heating_Corp.name=Petit Corps de Chauffe en Fer 50V -Small_50V_Tungsten_Heating_Corp.name=Petit Corps de Chauffe en Tungstène 50V -Small_Active_Thermal_Dissipator.name=Petit dissipateur thermique actif -Small_Flashlight.name=Lampe de poche -Small_Passive_Thermal_Dissipator.name=Petit dissipateur thermique passif -Small_Rotating_Solar_Panel.name=Petit panneau solaire rotatif -Small_Solar_Panel.name=Petit panneau solaire -Solar_Tracker.name=Pisteur solaire -Standard_Alarm.name=Alarme standard -Steam_Turbine.name=Turbine à vapeur -Stone_Heat_Furnace.name=Four de chauffe en pierre -Street_Light.name=Lampadaire -Suspended_Lamp_Socket.name=Douille de Lampe Suspendue -Temperature_Probe.name=Sonde de température -Thermal_Probe.name=Sonde de température -Thermal_Probe_Chip.name=Puce pour Sonde de Température -Thermistor.name=Thermistance -ThermoMeter.name=Thermomètre -Transformer.name=Transformateur -Tree_Resin.name=Résine d'arbre -Tree_Resin_Collector.name=Collecteur de résine d'arbre -Tungsten_Cable.name=Câble électrique au tungsten -Tungsten_Dust.name=Poudre de tungstène -Tungsten_Ingot.name=Lingot de tungstène -Tungsten_Ore.name=Minerai de tungstène -Tutorial_Sign.name=Panneau de tutoriel -Very_High_Voltage_Cable.name=Câble électrique à très haute tension -Very_High_Voltage_Relay.name=Relais à très haute tension -Very_High_Voltage_Switch.name=Interrupteur à très haute tension -Voltage-to-Redstone_Converter.name=Convertisseur tension-redstone -Voltage_Oriented_Battery.name=Batterie à tension élevée -Voltage_Probe.name=Sonde de tension -Water_Turbine.name=Turbine à eau -Weak_50V_Battery_Charger.name=Chargeur de batterie 50V faible -White_Brush.name=Pinceau blanc -Wind_Turbine.name=Éolienne -Wireless_Analyser.name=Analyseur sans fil -Wireless_Button.name=Bouton sans fil -Wireless_Signal_Receiver.name=Recepteur de signal sans-fil -Wireless_Signal_Repeater.name=Répéteur sans fil -Wireless_Signal_Transmitter.name=Transmetteur de signal sans-fil -Wireless_Switch.name=Interrupteur sans fil -Wrench.name=Clé à molette -X-Ray_Scanner.name=Scanner à rayons X -XNOR_Chip.name=Port logique OU exclusif -XOR_Chip.name=Porte logique OU exclusif -Yellow_Brush.name=Pinceau jaune -entity.EAReplicator.name=Duplicateur -item.Copper Pioche en Cuivre -item.Copper Pioche en Cuivre -item.Copper Pioche en Cuivre -item.Copper Pioche en Cuivre -item.Copper Pioche en Cuivre -item.Copper Pioche en Cuivre -item.Copper Pioche en Cuivre -item.Copper Pioche en Cuivre -item.Copper Pioche en Cuivre -item.E-Coal Botte de E-charbon -item.E-Coal Botte de E-charbon -item.E-Coal Botte de E-charbon -item.E-Coal Botte de E-charbon -itemGroup.Eln=Electrical Age -mod.meta.desc=Electricité présente dans votre base \! -tile.eln.ElnProbe.name=Sonde Eln pour Ordinateur -tile.eln.EnergyConverterElnToOtherHVUBlock.name=Convertisseur 800V d'EA vers une autre énergie -tile.eln.EnergyConverterElnToOtherLVUBlock.name=Convertisseur 50V d'EA vers une autre énergie -tile.eln.EnergyConverterElnToOtherMVUBlock.name=Convertisseur 200V d'EA vers une autre énergie - -# ./src/main/java/mods/eln/i18n/I18N.java -You_have_%s_lives_left=Il vous reste encore %s vies - -# ./src/main/java/mods/eln/item/BrushDescriptor.java -Brush_is_dry=Votre brosse est sèche -Can_paint_%s_blocks=Peut peindre %s blocks - -# ./src/main/java/mods/eln/item/CombustionChamber.java -Upgrade_for_the_Stone_Heat_Furnace.=Amélioration pour le four de chauffe en pierre - -# ./src/main/java/mods/eln/item/ElectricalDrillDescriptor.java -Energy_per_operation\:_%sJ=Energie par opération \: %sJ -Time_per_operation\:_%ss=Temps par opération \: %ss - -# ./src/main/java/mods/eln/item/FerromagneticCoreDescriptor.java -Cable_loss_factor\:_%s=Facteur de perte du câble \: %s - -# ./src/main/java/mods/eln/item/HeatingCorpElement.java - -# ./src/main/java/mods/eln/item/LampDescriptor.java -Bad=Mauvais -Condition\:=Conditions \: -End_of_life=Fin de vie -Good=Bon -New=Nouveau -Nominal_lifetime\:_%sh=Durée de vie nominale \: %sh -Technology\:_%s=Technologie \: %s -Used=Utilisé - -# ./src/main/java/mods/eln/item/LampSlot.java -Lamp_slot=Emplacement pour une lampe - -# ./src/main/java/mods/eln/item/OverHeatingProtectionDescriptor.java -Useful_to_prevent_overheating\nof_Batteries=Utile pour prévenir une\nsurchauffe des batteries - -# ./src/main/java/mods/eln/item/OverVoltageProtectionDescriptor.java -Useful_to_prevent_over-voltage\nof_Batteries=Utile pour prévenir d'une\nsurtension des batteries - -# ./src/main/java/mods/eln/item/SolarTrackerDescriptor.java -Solar_panel_upgrade=Amélioration du panneau solaire - -# ./src/main/java/mods/eln/item/electricalitem/BatteryItem.java - -# ./src/main/java/mods/eln/item/electricalitem/ElectricalLampItem.java -Off=Off -On=On -State\:=Etat \: -Stored_Energy\:_%sJ_(%s)=Energie stockée \: %sJ (%s) - -# ./src/main/java/mods/eln/item/regulator/RegulatorSlot.java - -# ./src/main/java/mods/eln/misc/UtilsClient.java -Hold_shift=Maintenir la touche shift - -# ./src/main/java/mods/eln/misc/Version.java -mod.name=Electrical Age - -# ./src/main/java/mods/eln/node/six/SixNodeDescriptor.java - -# ./src/main/java/mods/eln/simplenode/energyconverter/EnergyConverterElnToOtherGui.java -Input_power_is_limited_to_%sW=La tension d'entrée est limitée à %sW - -# ./src/main/java/mods/eln/sixnode/LogicGate.kt -_O\:_= Sortie \: - -# ./src/main/java/mods/eln/sixnode/TreeResinCollector/TreeResinCollectorDescriptor.java -Produces_Tree_Resin_over\ntime_when_put_on_a_tree.=Produit de la Résine d'arbre\nune fois mis sur un arbre -This_block_can_only_be_placed_on_the_side_of_a_tree!=Ce bloc peut seulement être placé à côté d'un arbre - -# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerContainer.java -Battery_slot=Emplacement pour une batterie - -# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerDescriptor.java -Can_be_used_to_recharge\nelectrical_items_like\:\nFlash_Light,_X-Ray_scanner\nand_Portable_Battery_...=Peut être utilisé pour\nrecharger des objects \nélectriques comme \:\nlampe de poche, scanner à rayons X\net batterie portable - -# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerGui.java - -# ./src/main/java/mods/eln/sixnode/diode/DiodeDescriptor.java -Electrical_current_can_only\nflow_through_the_diode\nfrom_anode_to_cathode=Le courant électrique ne\npeut circuler que dans un sens\nde l'anode à la cathode - -# ./src/main/java/mods/eln/sixnode/electricalalarm/ElectricalAlarmDescriptor.java -= -Emits_an_acoustic_alarm_if\nthe_input_signal_is_high=Émet une alarme acoustique si\nle signal d'entrée est élevé - -# ./src/main/java/mods/eln/sixnode/electricalalarm/ElectricalAlarmGui.java -Sound_is_muted=Le son est me en sourdine -Sound_is_not_muted=Le son n´est pas me en sourdine - -# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerContainer.java - -# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerDescriptor.java -Protects_electrical_components\nOpens_contact_if\:\n__-_Voltage_exceeds_a_certain_level\n-_Current_exceeds_the_cable_limit=Protège les composants électriques\nouvre le contact si \:\n- le voltage excède un certain niveau\n- le courant excède la limite du câble - -# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerGui.java -Maximum_voltage_before_cutting_off=Tension maximale avant coupure -Minimum_voltage_before_cutting_off=Tension minimale avant coupure -Switch_is_off=L'interrupteur est éteint -Switch_is_on=L'interrupteur est allumé - -# ./src/main/java/mods/eln/sixnode/electricalcable/ElectricalCableDescriptor.java -A_signal_is_electrical_information\nwhich_must_be_between_0V_and_%sV=un signal est de l'information électrique\nqui doit être entre 0V et %sV. -Cable_is_adapted_to_conduct\nelectrical_signals.=Le câble est adapté pour\nconduire un signal électrique. -Current\:_%sA=Courant\: %sA -Not_adapted_to_transport_power.=Pas adapté pour transporter de la puissance. -Save_usage\:=Utilisation sécuritaire\: -Serial_resistance\:_%sΩ=Résistance série \: %sΩ - -# ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerDescriptor.java -It_can_store_up_to_256_points.=Il peut sauver jusqu'à 256 points. -Measures_the_voltage_of_an\nelectrical_signal_and_plots\nthe_data_in_real_time.=Mesure la tension d'un\nsignal électrique et trace\nles donnés en temps réel. - -# ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerGui.java -Back_to_display=Retour à l'affichage -Configuration=Paramétrage -Current_[A]=Courant [A] -Energy_[J]=Energie [J] -Percent_[-]%=Pourcentage [-]% -Power_[W]=Puissance [W] -Print=Imprimer -Sampling_period=Période d’échantillonnage -Temp._[*C]=Température [*C] -Voltage_[V]=Tension [V] -Y-axis_max=Max. axe Y -Y-axis_min=Min. axe Y - -# ./src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorContainer.java - -# ./src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorDescriptor.java -Output_voltage_increases\nif_entities_are_moving_around.=La tension de sortie augmente\nsi une entité se déplace autour. - -# ./src/main/java/mods/eln/sixnode/electricalfiredetector/ElectricalFireDetectorDescriptor.java -Output_voltage_increases\nif_a_fire_has_been_detected.=La tension de sortie augmente\nsi du feu a été détecté. - -# ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceDescriptor.java -Provides_configurable_signal\nvoltage.=le voltage est configurable - -# ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceGui.java -Output_at_%s=Sortie de %s - -# ./src/main/java/mods/eln/sixnode/electricallightsensor/ElectricalLightSensorDescriptor.java -0V_at_night,_%sV_at_noon.=0V la nuit, %sV le midi. -Provides_an_electrical_voltage\nin_the_presence_of_light.=Fournit une tension électrique\nen présence de lumière. -Provides_an_electrical_voltage\nwhich_is_proportional_to\nthe_intensity_of_daylight.=Produit un voltage\nqui est proportionnel\nà l'intensité de la lumière du jour - -# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathContainer.java - -# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathDescriptor.java -Applicable_boolean_operators\:=S'applique aux opérateurs booléens \: -Applicable_functions\:=Fonctions disponibles \: -Applicable_mathematical_operators\:=S'applique aux opérateurs mathématiques \: -Calculates_an_output_signal_from\n3_inputs_(A,_B,_C)_using_an_equation.=Calcul le signal de sortie en fonction des\n3 entrés (A, B, C) en utilisant une équation. - -# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathGui.java -%s_Redstone(s)_required=%s Redstone(s) requis -Equation_required!=Équation requise\! -Inputs_are=L'entrée est -Invalid_equation!=Équation invalide\! -Output_voltage_formula=Formule de la tension de sortie -Waiting_for_completion...=En attente de complétion... - -# ./src/main/java/mods/eln/sixnode/electricalredstoneinput/ElectricalRedstoneInputDescriptor.java -Converts_Redstone_signal\nto_an_electrical_voltage.=Convertit un signal Redstone\nen une tension électrique. - -# ./src/main/java/mods/eln/sixnode/electricalredstoneoutput/ElectricalRedstoneOutputDescriptor.java -Converts_electrical_voltage\ninto_a_Redstone_signal.=Convertit une tension électrique\nen un signal Redstone. - -# ./src/main/java/mods/eln/sixnode/electricalrelay/ElectricalRelayDescriptor.java -A_relay_is_an_electrical\ncontact_that_conducts_electric\ncurrent_or_not,_depending\nthe_actual_input_signal_voltage.=Un relai est un contact\nélectrique qui conduit ou non\nle courant en fonction\nde la tension en entrée. - -# ./src/main/java/mods/eln/sixnode/electricalrelay/ElectricalRelayGui.java -Normally_closed=Fermé par défaut -Normally_open=Ouvert par défaut - -# ./src/main/java/mods/eln/sixnode/electricalsource/ElectricalSourceDescriptor.java -Creative_block.=Bloc créatif. -Provides_an_ideal_voltage_source\nwithout_energy_or_power_limitation.=Fournit une source de tension idéale\nsans limite d'énergie ou de puissance. - -# ./src/main/java/mods/eln/sixnode/electricalsource/ElectricalSourceGui.java -Output_voltage=Tension de sortie - -# ./src/main/java/mods/eln/sixnode/electricalswitch/ElectricalSwitchDescriptor.java -Can_break_an_electrical_circuit\ninterrupting_the_current.=Peut briser un circuit électrique\nInterrompt le courant - -# ./src/main/java/mods/eln/sixnode/electricaltimeout/ElectricalTimeoutDescriptor.java -Upon_application_of_a_high_signal,\nthe_timer_maintains_the_output_high_for\na_configurable_interval._Can_be_re-triggered.=Lorsqu'un signal haut est appliqué,\nle minuteur maintient la sortie haute pendant\nun intervalle configurable. Peut être activé plusieurs fois. - -# ./src/main/java/mods/eln/sixnode/electricaltimeout/ElectricalTimeoutGui.java -Set=Fixer -The_time_interval_the\noutput_is_kept_high.=L'intervalle de temps durant lequel\nla sortie est dans l'état haut. - -# ./src/main/java/mods/eln/sixnode/electricalvumeter/ElectricalVuMeterDescriptor.java -Displays_the_value_of_a_signal.=Affichage la valeur du signal - -# ./src/main/java/mods/eln/sixnode/electricalwatch/ElectricalWatchContainer.java -Portable_battery_slot=Emplacement pour batterie portable - -# ./src/main/java/mods/eln/sixnode/electricalweathersensor/ElectricalWeatherSensorDescriptor.java -Clear\:_%sV=Nettoyage \: %sV -Provides_an_electrical_signal\ndepending_the_actual_weather.=Fournit une tension électrique selon la température -Rain\:_%sV=Pluie \: %sV -Storm\:_%sV=Orage \: %sV - -# ./src/main/java/mods/eln/sixnode/electricalwindsensor/ElectricalWindSensorDescriptor.java -Maximum_wind_speed_is_%sm_s=La vitesse maximale du vent est %sm/s -Provides_an_electrical_signal\ndependant_on_wind_speed.=Fournit une tension électrique\ndépendant de la vitesse du vent -You_can't_place_this_block_on_the_floor_or_the_ceiling=Vous ne pouvez pas placer ce bloc sur le sol ou au plafond - -# ./src/main/java/mods/eln/sixnode/electricasensor/ElectricalSensorDescriptor.java -Can_measure_Voltage_Power_Current=Peut mesurer une tension/une puissance/un courant -Measures_electrical_values_on_cables.=Mesure les valeurs électriques des câbles. -Measures_voltage_on_cables.=Mesure la tension des câbles. - -# ./src/main/java/mods/eln/sixnode/electricasensor/ElectricalSensorGui.java -Current=Courant -Measured_voltage\ncorresponding\nto_0%_output=Mesure le voltage\ncorrespondant\nà 0% de la sortie -Measured_voltage\ncorresponding\nto_100%_output=Mesure le voltage\ncorrespondant\nà 100% de la sortie -Voltage=Tension - -# ./src/main/java/mods/eln/sixnode/energymeter/EnergyMeterGui.java -Change_password=Changer le mot de passe -Counter_Mode=Mode Compteur -Counts_the_energy_conducted_from\n\u00a74red\u00a7f_to_\u00a71blue\u00a7f.=Compte l'énergie conduit par\n\\u00a74red\\u00a7f à \\u00a71blue\\u00a7f -Energy_counter\:_%sJ=Compteur d'énergie \: %sJ -Enter_new_energy=Entrez une nouvelle énergie -Enter_password=Entrez le mot de passe -Prepay_Mode=Mode Prépayé -Reset_time_counter=Mettre à zéro le compteur de temps -Set_energy_counter=Régler le compteur d'énergie -Time_counter\:=Compteur de temps \: -Try_password=Essayer un mot de passe -You_can_set_an_initial\namount_of_available_energy.\nWhen_the_counter_arrives_at_0\nthe_contact_will_be_opened.=Vous pouvez régler une quantité\ninitiale d'énergie disponible.\nQuand le compteur arrive à 0\nle contact sera ouvert. -is_off=Éteint -is_on=Allumé -value_in_kJ=Valeur en kJ - -# ./src/main/java/mods/eln/sixnode/groundcable/GroundCableDescriptor.java -Can_be_used_to_set_a_point_of_an\nelectrical_network_to_0V_potential.\nFor_example_to_ground_negative_battery_contacts.=Peut être utilisé pour mettre un point\ndu réseau électrique au potentiel 0V.\nPar exemple pour mettre à la terre la borne moins d'une batterie. -Provides_a_zero_volt_reference.=Fournit une référence de tension de 0 volt. - -# ./src/main/java/mods/eln/sixnode/hub/HubDescriptor.java -Allows_crossing_cables\non_one_single_block.=Permet aux câbles de se croiser\nsur un seul bloc - -# ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketDescriptor.java -Angle\:_%s°_to_%s°=Angle\: %s° à %s° -Spot_range\:_%s_blocks=Portée\: %s blocks - -# ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketGuiDraw.java -%s_is_not_in_range!=%s n'est pas à portée -Cable_slot_empty=Logement vide pour le câble -Orientation\:_%s°=Orientation \: %s° -Parallel=Parallèle -Powered_by_Lamp_Supply=Alimentée par une alimentation de lampe -Powered_by_cable=Alimenté par câble -Serial=En série -Specify_the_supply_channel=Spécifier le canal d'alimentation - -# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyContainer.java -Electrical_cable_slot\nBase_range_is_32_blocks.\nEach_additional_cable\nincreases_range_by_one.=Emplacement de câble électrique\nLa portée de base est 32 bloc\nChaque câble additionnel\nAugmente la portée de un - -# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyDescriptor.java -Supplies_all_lamps_on_the_channel.=Alimente toutes les lampes sur le canal. - -# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyGui.java -Power_channel_name=Nom de la chaîne du courant -Wireless_channel_name=Nom de la chaîne sans-fil - -# ./src/main/java/mods/eln/sixnode/modbusrtu/ModbusRtuGui.java -Add=Ajouter -Channel_name=Nom de la chaîne -Modbus_ID=Identifiant de Modbus -Modbus_RTU=Modbus RTU -Station_ID=Identifiant de Station -Station_name=Nom de station -Wireless_RX=RX sans fil -Wireless_TX=TX sans fil - -# ./src/main/java/mods/eln/sixnode/powercapacitorsix/PowerCapacitorSixContainer.java -(Increases_maximum_voltage)=(Augmente la tension maximale) - -# ./src/main/java/mods/eln/sixnode/powercapacitorsix/PowerCapacitorSixGui.java - -# ./src/main/java/mods/eln/sixnode/powerinductorsix/PowerInductorSixContainer.java - -# ./src/main/java/mods/eln/sixnode/powerinductorsix/PowerInductorSixGui.java - -# ./src/main/java/mods/eln/sixnode/powersocket/PowerSocketDescriptor.java -Supplies_any_device\nplugged_in_with_energy.=Alimente n'importe quel\nappareil branché en énergie. - -# ./src/main/java/mods/eln/sixnode/powersocket/PowerSocketGui.java -Specify_the_device_to_supply_through_this_socket.=Spécifiez le périphérique à alimenter à travers cette prise. - -# ./src/main/java/mods/eln/sixnode/resistor/ResistorContainer.java -(Sets_resistance)=(Paramètre de résistance) -Coal_dust_slot=Fente pour la poussière de charbon - -# ./src/main/java/mods/eln/sixnode/thermalcable/ThermalCableDescriptor.java -High_parallel_resistance\n_\=>_Low_power_dissipation.=Forte résistance en parallèle\n\=> Faible dissipation de puissance -Low_serial_resistance\n_\=>_High_conductivity.=faible résistance \=> bonne conductibilité -Parallel_resistance\:_%sK_W=Résistance en parallèle \: %sK/W -Serial_resistance\:_%sK_W=Résistance série \: %sK/W - -# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorContainer.java -Cable_slot=Fente pour le câble - -# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorDescriptor.java -Can_measure\:=Peut mesurer \: -Measures_temperature_of_cables.=Mesure la température des câbles. -Measures_thermal_values_on_cables.=Mesure la valeur de la température\nsur les câbles -__Temperature_Power_conducted=Température / Puissance - -# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorGui.java -Measured_temperature\ncorresponding\nto_0%_output=Mesure la température\ncorrespondant\nà 0% de la sortie -Measured_temperature\ncorresponding\nto_100%_output=Mesure la température\ncorrespondant\nà 100% de la sortie -Temperature=Température - -# ./src/main/java/mods/eln/sixnode/tutorialsign/TutorialSignElement.java -No_text_associated_to_this_beacon=Pas de texte associé à cette balise - -# ./src/main/java/mods/eln/sixnode/tutorialsign/TutorialSignGui.java -Set_beacon_name=Nom de beacon \: - -# ./src/main/java/mods/eln/sixnode/wirelesssignal/rx/WirelessSignalRxGui.java - -# ./src/main/java/mods/eln/transparentnode/FuelGenerator.kt -Nominal_power\:_%s_W=Puissance nominale \: %s W -Nominal_voltage\:_%s_V=Tension nominale \: %s V -Produces_electricity_using_fuel.=Produit de l’électricité à partir d'essence. - -# ./src/main/java/mods/eln/transparentnode/LargeRheostat.kt -Nom._Resistance\:_%s=Résistance nom. \: %s - -# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerContainer.java -Drill_slot=Emplacement de la tête de forage -Mining_pipe_slot=Emplacement pour un tuyau minier -Ore_scanner_slot=Emplacement pour un analyseur de minerai - -# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerDescriptor.java -Excavates_on_a_small_radius.\nExtracts_ore_on_a_bigger_radius\:\n10_blocks_radius_after_10_blocks_depth.=Creuse dans un faible rayon.\nExtrait les minerais dans un plus grand rayon \:\nRayon de 10 blocs après 10 blocs de profondeur. - -# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerGuiDraw.java -Chest_missing_on_the\nback_of_the_auto_miner!=Il manque un coffre\nen arrière de l'auto miner -Halves_speed,_triples_power_draw=Moitié de la vitesse, puissance triple -Silk_Touch_Off=Silk Touch Off -Silk_Touch_On=Silk Touch On -Silk_touch=Silk touch - -# ./src/main/java/mods/eln/transparentnode/battery/BatteryContainer.java -Overheating_protection=Protection anti-surchauffe -Overvoltage_protection=Protection anti-surtension - -# ./src/main/java/mods/eln/transparentnode/battery/BatteryDescriptor.java -Actual_charge\:_%s=Charge actuelle\: %s -Energy_capacity\:_%sJ=Capacité énergétique \: %sJ -_charged_at_%s=chargé à %s - -# ./src/main/java/mods/eln/transparentnode/battery/BatteryGuiDraw.java -Charge=Charge -Charged=Chargé -Discharge=Décharge -Energy\:=Energie \: -Energy\:_%s=Energie \: %s -Life\:=Vie \: -No_charge=Pas de charge -Power_in\:=Puissance d'entrée \: -Power_out\:=Puissance de sortie \: - -# ./src/main/java/mods/eln/transparentnode/eggincubator/EggIncubatorContainer.java -Egg_slot=Fente pour les œufs - -# ./src/main/java/mods/eln/transparentnode/electricalantennarx/ElectricalAntennaRxDescriptor.java -Wireless_energy_receiver.=Récepteur d'énergie sans fil - -# ./src/main/java/mods/eln/transparentnode/electricalantennatx/ElectricalAntennaTxDescriptor.java -Efficiency\:_%s_up_to_%s=Efficacité \: de %s à %s -Wireless_energy_transmitter.=Emetteur d'énergie sans fil - -# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceContainer.java -Heating_corp_slot=Emplacement pour Corps de Chauffe - -# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceDescriptor.java -Similar_to_a_vanilla_furnace,\nbut_heats_with_electricity.=semblable au four vanilla\nmais cuit avec de l'électricité - -# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceGuiDraw.java -Auto_shutdown=Arrêt automatique -Manual_shutdown=Arrêt manuel -Set_point\:_%s°C=Consigne \: %s°C - -# ./src/main/java/mods/eln/transparentnode/electricalmachine/ElectricalMachineDescriptor.java -Cost=Prix - -# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceContainer.java -Combustion_chamber_slot=Fente vers la chambre de combustion -Fuel_slot=Emplacement à pétrole - -# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceDescriptor.java -Generates_heat_when_supplied_with_fuel.=Génère de la chaleur lorsqu'il est alimenté en carburant. - -# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceGuiDraw.java -Control_gauge_at_%s=Jauge de contrôle à %s -Decline_fuel=Refuse carburant -External_control=Contrôle externe -Internal_control=Contrôle interne -Take_fuel=Mettez le carburant - -# ./src/main/java/mods/eln/transparentnode/powercapacitor/PowerCapacitorContainer.java -(Increases_maximal_voltage)=(Augmente le voltage maximal) - -# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelContainer.java -Solar_tracker_slot=Traceur de soleil - -# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelDescriptor.java -Can_be_geared_towards_the_sun.=Peut-être orienté vers le soleil. -Max._power\:_%sW=Énergie maximum \: %sW -Max._voltage\:_%sV=Voltage maximum \: %sV -Produces_power_from_solar_radiation.=Produit de l'énergie avec le soleil. - -# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPannelGuiDraw.java -It_is_night=C'est la nuit -Solar_panel_angle\:_%s°=Angle du panneau solaire \: %s° -Sun_angle\:_%s°=Angle du soleil \: %s° - -# ./src/main/java/mods/eln/transparentnode/teleporter/TeleporterGui.java -Destination_transporter=Destination du téléporteur -Power_consumption\:=Consommation électrique \: -Power_consumption\:_%sW=Consommation électrique \: %sW -Required_energy\:_%sJ=Energie demandée\: %sJ -Start=Début -Transporter_name=Nom du transporteur - -# ./src/main/java/mods/eln/transparentnode/thermaldissipatoractive/ThermalDissipatorActiveDescriptor.java -Fan_cooling_power\:_%sW=Puissance de refroidissement du ventilateur \: %sW -Fan_power_consumption\:_%sW=Consommation du ventilateur \: %sW -Fan_voltage\:_%sV=Tension du ventilateur \: %sV - -# ./src/main/java/mods/eln/transparentnode/transformer/TransformerDescriptor.java -The_voltage_ratio_is_proportional\nto_the_cable_stacks_count_ratio.=Le ratio de tension est proportionnel\nau ratio du nombre de câbles empilés. -Transforms_an_input_voltage_to\nan_output_voltage.=Transforme une tension d'entrée en tension de sortie. - -# ./src/main/java/mods/eln/transparentnode/turbine/TurbineDescriptor.java -Generates_electricity_using_heat.=Génère de l'électricité en utilisant la chaleur . -Temperature_difference\:_%s°C=Différence de température\: %s°C - -# ./src/main/java/mods/eln/transparentnode/turret/TurretDescriptor.java -CAUTION\:_Cables_can_get_quite_hot!=Attention \! Les câbles peuvent devenir chaud \! -Laser_charge_power\:_%sW...%skW=Charge de l'énergie du laser \: %sW...%skW -Scans_for_entities_and_shoots_if_the\nentity_matches_the_configurable_filter_criteria.=Scan les entités et tire si \nl'entité est la même que celle configurer -Standby_power\:_%sW=Puissance en veille \: %sW - -# ./src/main/java/mods/eln/transparentnode/turret/TurretGui.java -Attack\:=Attaquer \: -Do_not_attack\:=Ne pas attaquer \: -Recharge_power\:=Puissance de rechargement - -# ./src/main/java/mods/eln/transparentnode/waterturbine/WaterTurbineDescriptor.java -Generates_energy_using_water_stream.=Génère de l'énergie grâce au courant de l'eau. -No_place_for_water_turbine!=Pas de place pour une turbine à eau \! - -# ./src/main/java/mods/eln/transparentnode/windturbine/WindTurbineDescriptor.java -Front\:_%s=Face \: %s -Generates_energy_from_wind.=Génère de l'énergie avec le vent. -Left_Right\:_%s=Gauche/Droite \: %s -Up_Down\:_%s=Haut/Bas \: %s -Wind_area\:=Zone de vent \: - -# ./src/main/java/mods/eln/wiki/Data.java -Energy=Energie -Light=Lumière -Machine=Machine -Ore=Minerai -Portable=Portable -Resource=Ressource -Signal=Signal -Thermal=Thermique -Upgrade=Amélioration -Utilities=Utilitaires -Wiring=Cablage - -# ./src/main/java/mods/eln/wiki/Default.java -Previous=Précédent - -# ./src/main/java/mods/eln/wiki/ItemDefault.java -Can_be_used_to_craft\:=Peut-être utilisé pour fabriquer \: -Cannot_be_crafted!=Impossible de fabriquer ceci \! -Cost_%sJ=Coût %sJ -Created_by\:=Créé par \: -Is_not_a_crafting_material!=N'est pas un matériau de fabrication -Recipe\:=Recette \: - -# Appearing in multiple source files -(Increases_capacity)=(augmente la capacité) -(Increases_inductance)=(Augmente l'inductance) -Actual\:_%s°C=Actuelle \: %s°C -Biggest=Plus grand -Booster_slot=Emplacement pour un booster -Can_create\:=Peut créer \: -Capacity\:_%sF=Capacité \: %sF -Charge_power\:_%sW=Puissance de charge \: %sW -Connected=Connecté -Cooling_power\:_%sW=Puissance de refroidissement \: %sW -Copper_cable_slot=Emplacement pour un câble en cuivre -Dielectric_slot=Emplacement diélectrique -Discharge_power\:_%sW=Puissance de décharge \: %sW -Electrical_cable_slot=Emplacement pour câble électrique -Entity_filter_slot=Emplacement pour filtre à entités -Ferromagnetic_core_slot=Emplacement pour noyau ferromagnétique -Has_a_signal_output.=Dispose d'un signal de sortie. -Inductance\:_%sH=inductance \: %sH -Internal_resistance\:_%sΩ=Résistance interne \: %sΩ -Is_off=C'est éteint -Is_on=C'est allumé -Max._temperature\:_%s°C=Temperature max \: %s°C -Measured_value\ncorresponding\nto_0%_output=Mesure la valeur\ncorrespondant\nà 0% de la sortie -Measured_value\ncorresponding\nto_100%_output=Mesure la valeur\ncorrespondant\nà 100% de la sortie -Nominal\:=Nominale \: -Nominal_power\:_%sW=Puissance nominale \: %sW -Nominal_usage\:=Utilisation nominale \: -Nominal_voltage\:_%sV=Tension nominale\: %sV -Not_connected=Pas connecté -Not_enough_space_for_this_block=Pas assez d'espace pour ce bloc -Power=Énergie -Power\:_%sW=Puissance\: %sW -Range\:_%s_blocks=Portée\: %s blocks -Redstone_slot=Emplacement pour Redstone -Regulator_slot=Emplacement pour le régulateur -Reset=Réinitialiser -Resistance\:_%sΩ=Résistance\: %sΩ -Smallest=Plus petit -Specify_the_channel=Spécifier le canal -Stored_energy\:_%sJ_(%s)=Energie stockée \: %sJ (%s) -Temperature\:_%s°C=Température\: %s°C -Temperature_gauge=Gauge de température -Thermal_isolator_slot=Emplacement pour Isolateur Thermique -Toggle=Basculer -Toggle_switch=Interrupteur à bascule -Toggles_the_output_each_time\nan_emitter's_value_rises.\nUseful_to_allow_multiple_buttons\nto_control_the_same_light.=Bascule la valeur de la sortie chaque fois\nque la valeur de l'émetteur augmente.\nUtile pour permettre à plusieurs boutons\nde contrôler la même lampe. -Used_to_cool_down_turbines.=Utilisé pour refroidir les turbines. -Uses_the_biggest\nvalue_on_the_channel.=Utilise la plus grande valeur\nsur la chaîne -Uses_the_smallest\nvalue_on_the_channel.=Utilise la plus petite valeur\nsur la chaîne -Validate=Valider -Voltage\:_%sV=Tension \: %sV -You_can't_place_this_block_at_this_side=Vous ne pouvez pas poser de bloc sur ce côté +eln:# +eln: +eln:# ./src/main/java/mods/eln/Achievements.java +eln:Electrical_Age_[WIP]=L'ère de l’électricité [travail en cours... ] +eln:achievement.craft_50v_macerator=Novice +eln:achievement.craft_50v_macerator.desc=Créer un macérateur 50V +eln:achievement.open_guide=Wiki Power +eln:achievement.open_guide.desc=Ouvrir le guide wiki +eln: +eln:# ./src/main/java/mods/eln/Eln.java +eln:10A_Diode.name=Diode 10A +eln:200V_Active_Thermal_Dissipator.name=Dissipateur thermique actif 200V +eln:200V_Battery_Charger.name=Chargeur de batterie 200V +eln:200V_Compressor.name=Compresseur 200V +eln:200V_Condensator.name=Condensateur 200V +eln:200V_Copper_Heating_Corp.name=Corps de Chauffe en Cuivre 200V +eln:200V_Economic_Light_Bulb.name=Ampoule économique 200V +eln:200V_Farming_Lamp.name=Lampe de culture 200V +eln:200V_Fuel_Generator.name=Générateur à essence 200V +eln:200V_Incandescent_Light_Bulb.name=Ampoule à incandescence 200V +eln:200V_Iron_Heating_Corp.name=Corps de Chauffe en Fer 200V +eln:200V_LED_Bulb.name=Ampoule LED 200V +eln:200V_Macerator.name=Macérateur 200V +eln:200V_Magnetizer.name=Magnétiseur 200V +eln:200V_Plate_Machine.name=Applatisseur 200V +eln:200V_Power_Socket.name=Prise électrique 200V +eln:200V_Tungsten_Heating_Corp.name=Corps de Chauffe en Tungstène 200V +eln:200V_Turbine.name=Turbine 200V +eln:25A_Diode.name=Diode 25A +eln:50V_Battery_Charger.name=Chargeur de batterie 50V +eln:50V_Carbon_Incandescent_Light_Bulb.name=Ampoule incandescente au charbon 50V +eln:50V_Compressor.name=Compresseur 50V +eln:50V_Condensator.name=Condensateur 50V +eln:50V_Copper_Heating_Corp.name=Corps de Chauffe en Cuivre 50V +eln:50V_Economic_Light_Bulb.name=Ampoule économique 50V +eln:50V_Egg_Incubator.name=Incubateur d’œufs 50V +eln:50V_Farming_Lamp.name=Lampe de culture 50V +eln:50V_Fuel_Generator.name=Générateur à essence 50V +eln:50V_Incandescent_Light_Bulb.name=Ampoule à incandescence 50V +eln:50V_Iron_Heating_Corp.name=Corps de Chauffe en Fer 50V +eln:50V_LED_Bulb.name=Ampoule LED 50V +eln:50V_Macerator.name=Macérateur 50V +eln:50V_Magnetizer.name=Magnétiseur 50V +eln:50V_Plate_Machine.name=Aplatisseur 50V +eln:50V_Power_Socket.name=Prise électrique 50V +eln:50V_Tungsten_Heating_Corp.name=Corps de Chauffe en Tungstène 50V +eln:50V_Turbine.name=Turbine 50V +eln:800V_Defence_Turret.name=Tourelle de défense 800V +eln:AND_Chip.name=Porte logique ET +eln:Advanced_Chip.name=Puce avancée +eln:Advanced_Electrical_Motor.name=Moteur électrique avancé +eln:Advanced_Energy_Meter.name=Compteur d'énergie avancé +eln:Advanced_Machine_Block.name=Bloc de machine avancé +eln:Advanced_Magnet.name=Aimant avancé +eln:AllMeter.name=Multimètre +eln:Alloy_Dust.name=Poudre d'alliage +eln:Alloy_Ingot.name=Lingot d'alliage +eln:Alloy_Plate.name=Plaque d'alliage +eln:Analog_Watch.name=Horloge +eln:Analog_vuMeter.name=Jauge analogique +eln:Analogic_Regulator.name=Régulateur analogique +eln:Animal_Filter.name=Filtre d'animaux +eln:Auto_Miner.name=Mineur automatique +eln:Average_Electrical_Drill.name=Tête de forage normale +eln:Average_Ferromagnetic_Core.name=Noyau Ferromagnétique Moyen +eln:Basic_Magnet.name=Aimant basique +eln:Black_Brush.name=Brosse noire +eln:Blue_Brush.name=Brosse bleue +eln:Brown_Brush.name=Brosse marron +eln:Capacity_Oriented_Battery.name=Batterie à capacité élevée +eln:Cheap_Chip.name=Puce bon marché +eln:Cheap_Electrical_Drill.name=Tête de forage bon marché +eln:Cheap_Ferromagnetic_Core.name=Noyau Ferromagnétique Bon Marché +eln:Cinnabar_Dust.name=Poudre de cinabre +eln:Cinnabar_Ore.name=Minerai de cinabre +eln:Coal_Dust.name=Charbon +eln:Coal_Plate.name=Plaque de charbon +eln:Combustion_Chamber.name=Chambre de combustion +eln:Copper_Cable.name=Câble en cuive +eln:Copper_Dust.name=Poudre de cuivre +eln:Copper_Ingot.name=Lingot de cuivre +eln:Copper_Ore.name=Minerai de cuivre +eln:Copper_Plate.name=Plaque de cuivre +eln:Copper_Thermal_Cable.name=Câble thermique en cuivre +eln:Cost_Oriented_Battery.name=Batterie à faible coût +eln:Current_Oriented_Battery.name=Batterie à courant élevé +eln:Cyan_Brush.name=Brosse Cyan +eln:D_Flip_Flop_Chip.name=Bascule D +eln:Data_Logger.name=Enregistreur de données +eln:Data_Logger_Print.name=Imprimante pour enregistreur de données +eln:Dielectric.name=Diélectrique +eln:Digital_Watch.name=Horloge digitale +eln:Electrical_Anemometer_Sensor.name=Anémomètre Électrique +eln:Electrical_Breaker.name=Disjoncteur éléctrique +eln:Electrical_Daylight_Sensor.name=Capteur de jour +eln:Electrical_Entity_Sensor.name=Capteur de luminosité +eln:Electrical_Fire_Detector.name=Capteur de feu +eln:Electrical_Furnace.name=Four électrique +eln:Electrical_Light_Sensor.name=Capteur de luminosité +eln:Electrical_Motor.name=Moteur électrique +eln:Electrical_Probe.name=Sonde électrique +eln:Electrical_Probe_Chip.name=Puce pour Sonde Électrique +eln:Electrical_Source.name=Source électrique +eln:Electrical_Timer.name=Horloge électrique +eln:Electrical_Weather_Sensor.name=Station météo électrique +eln:Electrical_age_wrench,\nCan_be_used_to_turn\nsmall_wall_blocks=Clef à molette d'Electrical Age,\npeut être utilisée pour\ntourner des petits blocs muraux +eln:Energy_Meter.name=Compteur d'énergie +eln:Experimental_Transporter.name=Téléporteur expérimental +eln:Fast_Electrical_Drill.name=Tête de forage rapide +eln:Ferrite_Ingot.name=Lingot de ferrite +eln:Flat_Lamp_Socket.name=Douille de lampe plate +eln:Fluorescent_Lamp_Socket.name=Douille de lampe fluorescente +eln:Generator.name=Générateur +eln:Gold_Dust.name=Poussière d'or +eln:Gold_Plate.name=Plaque en or +eln:Gray_Brush.name=Brosse grise +eln:Green_Brush.name=Brosse verte +eln:Ground_Cable.name=Prise de terre +eln:High_Power_Receiver_Antenna.name=Antenne de récéption longue portée +eln:High_Power_Transmitter_Antenna.name=Antenne de transmition longue portée +eln:High_Voltage_Cable.name=Câble électrique à haute tension +eln:High_Voltage_Relay.name=Relais à haute tension +eln:High_Voltage_Switch.name=Interrupteur à haute tension +eln:Hub.name=Pivot\n +eln:Industrial_Data_Logger.name=Enregistreur de données industriel +eln:Iron_Cable.name=Câble en fer +eln:Iron_Dust.name=Poussière de fer +eln:Iron_Plate.name=Plaque de fer +eln:JK_Flip_Flop_Chip.name=Bascule JK +eln:LED_vuMeter.name=vuMètre LED +eln:Lamp_Socket_A.name=Douille de lampe A +eln:Lamp_Socket_B_Projector.name=Douille de lampe B Projectrice +eln:Lamp_Supply.name=Alimentation de lampe +eln:Large_Rheostat.name=Large Rheostat +eln:Lead_Dust.name=Poudre de plomb +eln:Lead_Ingot.name=Lingot de plomb +eln:Lead_Ore.name=Minerai de plomb +eln:Lead_Plate.name=Plaque de plomb +eln:Life_Oriented_Battery.name=Batterie à durée de vie élevée +eln:Light_Blue_Brush.name=Pinceau bleu clair +eln:Lime_Brush.name=Pinceau couleur citron +eln:Long_Suspended_Lamp_Socket.name=Douille de lampe suspendue (long) +eln:Low_Power_Receiver_Antenna.name=Antenne de réception courte portée +eln:Low_Power_Transmitter_Antenna.name=Antenne de transmission courte portée +eln:Low_Voltage_Cable.name=Câble électrique à basse tension +eln:Low_Voltage_Relay.name=Relais basse tension +eln:Low_Voltage_Switch.name=Interrupteur basse tension +eln:Machine_Block.name=Bloc de machine +eln:Machine_Booster.name=Booster de machine +eln:Magenta_Brush.name=Pinceau magenta +eln:Medium_Power_Receiver_Antenna.name=Antenne de réception moyenne portée +eln:Medium_Power_Transmitter_Antenna.name=Antenne de transmition moyenne portée +eln:Medium_Voltage_Cable.name=Câble électrique à tension moyenne +eln:Medium_Voltage_Relay.name=Relais moyenne tension +eln:Medium_Voltage_Switch.name=Interrupteur à moyenne tension +eln:Mercury.name=Mercure +eln:Mining_Pipe.name=Tuyau minier +eln:Modbus_RTU.name=Modbus RTU +eln:Modern_Data_Logger.name=Enregistreur de données moderne +eln:Monster_Filter.name=Filtre de monstre +eln:MultiMeter.name=Multimètre +eln:NAND_Chip.name=Porte logique NON-ET +eln:NOR_Chip.name=Porte logique NON-OU +eln:NOT_Chip.name=Porte logique NON +eln:Nuclear_Alarm.name=Alarme nucléaire +eln:OR_Chip.name=Porte logique OU +eln:On_OFF_Regulator_10_Percent.name=Régulateur on/off 10% +eln:On_OFF_Regulator_1_Percent.name=On/off regulator 1% +eln:Optimal_Ferromagnetic_Core.name=Noyau Ferromagnétique Optimal +eln:Orange_Brush.name=Pinceau orange +eln:Ore_Scanner.name=Analyseur de minerai +eln:Oscillator_Chip.name=Oscillateur +eln:Overheating_Protection.name=Protection contre la surchauffe +eln:Overvoltage_Protection.name=Protection contre le survoltage +eln:PAL_Chip.name=Puce PAL +eln:Pink_Brush.name=Pinceau rose +eln:Player_Filter.name=Filtre de joueur +eln:Portable_Battery.name=Batterie portable +eln:Portable_Battery_Pack.name=Batteries portables +eln:Portable_Condensator.name=Condensateur portable +eln:Portable_Condensator_Pack.name=Condensateurs portables +eln:Portable_Electrical_Axe.name=Pioche éléctrique portable +eln:Portable_Electrical_Mining_Drill.name=Foreuse électrique portable +eln:Power_Capacitor.name=Condensateur de puissance +eln:Power_Inductor.name=Inducteur de Puissance +eln:Power_Resistor.name=Résistance de puissance +eln:Power_capacitor.name=Condensateur de puissance +eln:Power_inductor.name=Inducteur de Puissance +eln:Purple_Brush.name=Pinceau violet +eln:Red_Brush.name=Pinceau rouge +eln:Redstone-to-Voltage_Converter.name=Convertisseur tension-redstone +eln:Rheostat.name=Rhéostat +eln:Robust_Lamp_Socket.name=Solide Douille de Lampe +eln:Rubber.name=Caoutchouc +eln:Schmitt_Trigger_Chip.name=Bascule de Schmitt +eln:Sconce_Lamp_Socket.name=Douille de Lampe de Chandelier +eln:Signal_20H_inductor.name=Inductance 20H pour signaux +eln:Signal_Antenna.name=Antenne de signal +eln:Signal_Button.name=Bouton de signal +eln:Signal_Cable.name=Câble électrique pour signaux +eln:Signal_Diode.name=Diode pour signaux +eln:Signal_Processor.name=Processeur de signaux +eln:Signal_Relay.name=Relais de signaux +eln:Signal_Source.name=Signal source +eln:Signal_Switch.name=Interrupteur pour signaux +eln:Signal_Switch_with_LED.name=Interrupteur pour signaux avec LED +eln:Signal_Trimmer.name=Jauge de signal +eln:Silicon_Dust.name=Poudre de silicium +eln:Silicon_Ingot.name=Lingot de silicium +eln:Silicon_Plate.name=Plaque de silicium +eln:Silver_Brush.name=Pinceau couleur argent +eln:Simple_Lamp_Socket.name=Douille de lampe simple +eln:Single-use_Battery.name=Batterie à usage unique +eln:Small_200V_Copper_Heating_Corp.name=Petit Corps de Chauffe en Cuivre 200V +eln:Small_200V_Iron_Heating_Corp.name=Petit Corps de Chauffe en Fer 200V +eln:Small_200V_Tungsten_Heating_Corp.name=Petit Corps de Chauffe en Tungstène 200V +eln:Small_50V_Carbon_Incandescent_Light_Bulb.name=Petite Ampoule Incandescente Au Charbon 50V +eln:Small_50V_Copper_Heating_Corp.name=Petit Corps de Chauffe en Cuivre 50V +eln:Small_50V_Economic_Light_Bulb.name=Petite ampoule économique 50V +eln:Small_50V_Incandescent_Light_Bulb.name=Petite ampoule à incandescence 50V +eln:Small_50V_Iron_Heating_Corp.name=Petit Corps de Chauffe en Fer 50V +eln:Small_50V_Tungsten_Heating_Corp.name=Petit Corps de Chauffe en Tungstène 50V +eln:Small_Active_Thermal_Dissipator.name=Petit dissipateur thermique actif +eln:Small_Flashlight.name=Lampe de poche +eln:Small_Passive_Thermal_Dissipator.name=Petit dissipateur thermique passif +eln:Small_Rotating_Solar_Panel.name=Petit panneau solaire rotatif +eln:Small_Solar_Panel.name=Petit panneau solaire +eln:Solar_Tracker.name=Pisteur solaire +eln:Standard_Alarm.name=Alarme standard +eln:Steam_Turbine.name=Turbine à vapeur +eln:Stone_Heat_Furnace.name=Four de chauffe en pierre +eln:Street_Light.name=Lampadaire +eln:Suspended_Lamp_Socket.name=Douille de Lampe Suspendue +eln:Temperature_Probe.name=Sonde de température +eln:Thermal_Probe.name=Sonde de température +eln:Thermal_Probe_Chip.name=Puce pour Sonde de Température +eln:Thermistor.name=Thermistance +eln:ThermoMeter.name=Thermomètre +eln:Transformer.name=Transformateur +eln:Tree_Resin.name=Résine d'arbre +eln:Tree_Resin_Collector.name=Collecteur de résine d'arbre +eln:Tungsten_Cable.name=Câble électrique au tungsten +eln:Tungsten_Dust.name=Poudre de tungstène +eln:Tungsten_Ingot.name=Lingot de tungstène +eln:Tungsten_Ore.name=Minerai de tungstène +eln:Tutorial_Sign.name=Panneau de tutoriel +eln:Very_High_Voltage_Cable.name=Câble électrique à très haute tension +eln:Very_High_Voltage_Relay.name=Relais à très haute tension +eln:Very_High_Voltage_Switch.name=Interrupteur à très haute tension +eln:Voltage-to-Redstone_Converter.name=Convertisseur tension-redstone +eln:Voltage_Oriented_Battery.name=Batterie à tension élevée +eln:Voltage_Probe.name=Sonde de tension +eln:Water_Turbine.name=Turbine à eau +eln:Weak_50V_Battery_Charger.name=Chargeur de batterie 50V faible +eln:White_Brush.name=Pinceau blanc +eln:Wind_Turbine.name=Éolienne +eln:Wireless_Analyser.name=Analyseur sans fil +eln:Wireless_Button.name=Bouton sans fil +eln:Wireless_Signal_Receiver.name=Recepteur de signal sans-fil +eln:Wireless_Signal_Repeater.name=Répéteur sans fil +eln:Wireless_Signal_Transmitter.name=Transmetteur de signal sans-fil +eln:Wireless_Switch.name=Interrupteur sans fil +eln:Wrench.name=Clé à molette +eln:X-Ray_Scanner.name=Scanner à rayons X +eln:XNOR_Chip.name=Port logique OU exclusif +eln:XOR_Chip.name=Porte logique OU exclusif +eln:Yellow_Brush.name=Pinceau jaune +eln:entity.EAReplicator.name=Duplicateur +eln:item.Copper Pioche en Cuivre +eln:item.Copper Pioche en Cuivre +eln:item.Copper Pioche en Cuivre +eln:item.Copper Pioche en Cuivre +eln:item.Copper Pioche en Cuivre +eln:item.Copper Pioche en Cuivre +eln:item.Copper Pioche en Cuivre +eln:item.Copper Pioche en Cuivre +eln:item.Copper Pioche en Cuivre +eln:item.E-Coal Botte de E-charbon +eln:item.E-Coal Botte de E-charbon +eln:item.E-Coal Botte de E-charbon +eln:item.E-Coal Botte de E-charbon +eln:itemGroup.Eln=Electrical Age +eln:mod.meta.desc=Electricité présente dans votre base \! +eln:tile.eln.ElnProbe.name=Sonde Eln pour Ordinateur +eln:tile.eln.EnergyConverterElnToOtherHVUBlock.name=Convertisseur 800V d'EA vers une autre énergie +eln:tile.eln.EnergyConverterElnToOtherLVUBlock.name=Convertisseur 50V d'EA vers une autre énergie +eln:tile.eln.EnergyConverterElnToOtherMVUBlock.name=Convertisseur 200V d'EA vers une autre énergie +eln: +eln:# ./src/main/java/mods/eln/i18n/I18N.java +eln:You_have_%s_lives_left=Il vous reste encore %s vies +eln: +eln:# ./src/main/java/mods/eln/item/BrushDescriptor.java +eln:Brush_is_dry=Votre brosse est sèche +eln:Can_paint_%s_blocks=Peut peindre %s blocks +eln: +eln:# ./src/main/java/mods/eln/item/CombustionChamber.java +eln:Upgrade_for_the_Stone_Heat_Furnace.=Amélioration pour le four de chauffe en pierre +eln: +eln:# ./src/main/java/mods/eln/item/ElectricalDrillDescriptor.java +eln:Energy_per_operation\:_%sJ=Energie par opération \: %sJ +eln:Time_per_operation\:_%ss=Temps par opération \: %ss +eln: +eln:# ./src/main/java/mods/eln/item/FerromagneticCoreDescriptor.java +eln:Cable_loss_factor\:_%s=Facteur de perte du câble \: %s +eln: +eln:# ./src/main/java/mods/eln/item/HeatingCorpElement.java +eln: +eln:# ./src/main/java/mods/eln/item/LampDescriptor.java +eln:Bad=Mauvais +eln:Condition\:=Conditions \: +eln:End_of_life=Fin de vie +eln:Good=Bon +eln:New=Nouveau +eln:Nominal_lifetime\:_%sh=Durée de vie nominale \: %sh +eln:Technology\:_%s=Technologie \: %s +eln:Used=Utilisé +eln: +eln:# ./src/main/java/mods/eln/item/LampSlot.java +eln:Lamp_slot=Emplacement pour une lampe +eln: +eln:# ./src/main/java/mods/eln/item/OverHeatingProtectionDescriptor.java +eln:Useful_to_prevent_overheating\nof_Batteries=Utile pour prévenir une\nsurchauffe des batteries +eln: +eln:# ./src/main/java/mods/eln/item/OverVoltageProtectionDescriptor.java +eln:Useful_to_prevent_over-voltage\nof_Batteries=Utile pour prévenir d'une\nsurtension des batteries +eln: +eln:# ./src/main/java/mods/eln/item/SolarTrackerDescriptor.java +eln:Solar_panel_upgrade=Amélioration du panneau solaire +eln: +eln:# ./src/main/java/mods/eln/item/electricalitem/BatteryItem.java +eln: +eln:# ./src/main/java/mods/eln/item/electricalitem/ElectricalLampItem.java +eln:Off=Off +eln:On=On +eln:State\:=Etat \: +eln:Stored_Energy\:_%sJ_(%s)=Energie stockée \: %sJ (%s) +eln: +eln:# ./src/main/java/mods/eln/item/regulator/RegulatorSlot.java +eln: +eln:# ./src/main/java/mods/eln/misc/UtilsClient.java +eln:Hold_shift=Maintenir la touche shift +eln: +eln:# ./src/main/java/mods/eln/misc/Version.java +eln:mod.name=Electrical Age +eln: +eln:# ./src/main/java/mods/eln/node/six/SixNodeDescriptor.java +eln: +eln:# ./src/main/java/mods/eln/simplenode/energyconverter/EnergyConverterElnToOtherGui.java +eln:Input_power_is_limited_to_%sW=La tension d'entrée est limitée à %sW +eln: +eln:# ./src/main/java/mods/eln/sixnode/LogicGate.kt +eln:_O\:_= Sortie \: +eln: +eln:# ./src/main/java/mods/eln/sixnode/TreeResinCollector/TreeResinCollectorDescriptor.java +eln:Produces_Tree_Resin_over\ntime_when_put_on_a_tree.=Produit de la Résine d'arbre\nune fois mis sur un arbre +eln:This_block_can_only_be_placed_on_the_side_of_a_tree!=Ce bloc peut seulement être placé à côté d'un arbre +eln: +eln:# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerContainer.java +eln:Battery_slot=Emplacement pour une batterie +eln: +eln:# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerDescriptor.java +eln:Can_be_used_to_recharge\nelectrical_items_like\:\nFlash_Light,_X-Ray_scanner\nand_Portable_Battery_...=Peut être utilisé pour\nrecharger des objects \nélectriques comme \:\nlampe de poche, scanner à rayons X\net batterie portable +eln: +eln:# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerGui.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/diode/DiodeDescriptor.java +eln:Electrical_current_can_only\nflow_through_the_diode\nfrom_anode_to_cathode=Le courant électrique ne\npeut circuler que dans un sens\nde l'anode à la cathode +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalalarm/ElectricalAlarmDescriptor.java +eln:= +eln:Emits_an_acoustic_alarm_if\nthe_input_signal_is_high=Émet une alarme acoustique si\nle signal d'entrée est élevé +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalalarm/ElectricalAlarmGui.java +eln:Sound_is_muted=Le son est me en sourdine +eln:Sound_is_not_muted=Le son n´est pas me en sourdine +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerContainer.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerDescriptor.java +eln:Protects_electrical_components\nOpens_contact_if\:\n__-_Voltage_exceeds_a_certain_level\n-_Current_exceeds_the_cable_limit=Protège les composants électriques\nouvre le contact si \:\n- le voltage excède un certain niveau\n- le courant excède la limite du câble +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerGui.java +eln:Maximum_voltage_before_cutting_off=Tension maximale avant coupure +eln:Minimum_voltage_before_cutting_off=Tension minimale avant coupure +eln:Switch_is_off=L'interrupteur est éteint +eln:Switch_is_on=L'interrupteur est allumé +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalcable/ElectricalCableDescriptor.java +eln:A_signal_is_electrical_information\nwhich_must_be_between_0V_and_%sV=un signal est de l'information électrique\nqui doit être entre 0V et %sV. +eln:Cable_is_adapted_to_conduct\nelectrical_signals.=Le câble est adapté pour\nconduire un signal électrique. +eln:Current\:_%sA=Courant\: %sA +eln:Not_adapted_to_transport_power.=Pas adapté pour transporter de la puissance. +eln:Save_usage\:=Utilisation sécuritaire\: +eln:Serial_resistance\:_%sΩ=Résistance série \: %sΩ +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerDescriptor.java +eln:It_can_store_up_to_256_points.=Il peut sauver jusqu'à 256 points. +eln:Measures_the_voltage_of_an\nelectrical_signal_and_plots\nthe_data_in_real_time.=Mesure la tension d'un\nsignal électrique et trace\nles donnés en temps réel. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerGui.java +eln:Back_to_display=Retour à l'affichage +eln:Configuration=Paramétrage +eln:Current_[A]=Courant [A] +eln:Energy_[J]=Energie [J] +eln:Percent_[-]%=Pourcentage [-]% +eln:Power_[W]=Puissance [W] +eln:Print=Imprimer +eln:Sampling_period=Période d’échantillonnage +eln:Temp._[*C]=Température [*C] +eln:Voltage_[V]=Tension [V] +eln:Y-axis_max=Max. axe Y +eln:Y-axis_min=Min. axe Y +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorContainer.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorDescriptor.java +eln:Output_voltage_increases\nif_entities_are_moving_around.=La tension de sortie augmente\nsi une entité se déplace autour. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalfiredetector/ElectricalFireDetectorDescriptor.java +eln:Output_voltage_increases\nif_a_fire_has_been_detected.=La tension de sortie augmente\nsi du feu a été détecté. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceDescriptor.java +eln:Provides_configurable_signal\nvoltage.=le voltage est configurable +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceGui.java +eln:Output_at_%s=Sortie de %s +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricallightsensor/ElectricalLightSensorDescriptor.java +eln:0V_at_night,_%sV_at_noon.=0V la nuit, %sV le midi. +eln:Provides_an_electrical_voltage\nin_the_presence_of_light.=Fournit une tension électrique\nen présence de lumière. +eln:Provides_an_electrical_voltage\nwhich_is_proportional_to\nthe_intensity_of_daylight.=Produit un voltage\nqui est proportionnel\nà l'intensité de la lumière du jour +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathContainer.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathDescriptor.java +eln:Applicable_boolean_operators\:=S'applique aux opérateurs booléens \: +eln:Applicable_functions\:=Fonctions disponibles \: +eln:Applicable_mathematical_operators\:=S'applique aux opérateurs mathématiques \: +eln:Calculates_an_output_signal_from\n3_inputs_(A,_B,_C)_using_an_equation.=Calcul le signal de sortie en fonction des\n3 entrés (A, B, C) en utilisant une équation. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathGui.java +eln:%s_Redstone(s)_required=%s Redstone(s) requis +eln:Equation_required!=Équation requise\! +eln:Inputs_are=L'entrée est +eln:Invalid_equation!=Équation invalide\! +eln:Output_voltage_formula=Formule de la tension de sortie +eln:Waiting_for_completion...=En attente de complétion... +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalredstoneinput/ElectricalRedstoneInputDescriptor.java +eln:Converts_Redstone_signal\nto_an_electrical_voltage.=Convertit un signal Redstone\nen une tension électrique. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalredstoneoutput/ElectricalRedstoneOutputDescriptor.java +eln:Converts_electrical_voltage\ninto_a_Redstone_signal.=Convertit une tension électrique\nen un signal Redstone. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalrelay/ElectricalRelayDescriptor.java +eln:A_relay_is_an_electrical\ncontact_that_conducts_electric\ncurrent_or_not,_depending\nthe_actual_input_signal_voltage.=Un relai est un contact\nélectrique qui conduit ou non\nle courant en fonction\nde la tension en entrée. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalrelay/ElectricalRelayGui.java +eln:Normally_closed=Fermé par défaut +eln:Normally_open=Ouvert par défaut +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalsource/ElectricalSourceDescriptor.java +eln:Creative_block.=Bloc créatif. +eln:Provides_an_ideal_voltage_source\nwithout_energy_or_power_limitation.=Fournit une source de tension idéale\nsans limite d'énergie ou de puissance. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalsource/ElectricalSourceGui.java +eln:Output_voltage=Tension de sortie +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalswitch/ElectricalSwitchDescriptor.java +eln:Can_break_an_electrical_circuit\ninterrupting_the_current.=Peut briser un circuit électrique\nInterrompt le courant +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricaltimeout/ElectricalTimeoutDescriptor.java +eln:Upon_application_of_a_high_signal,\nthe_timer_maintains_the_output_high_for\na_configurable_interval._Can_be_re-triggered.=Lorsqu'un signal haut est appliqué,\nle minuteur maintient la sortie haute pendant\nun intervalle configurable. Peut être activé plusieurs fois. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricaltimeout/ElectricalTimeoutGui.java +eln:Set=Fixer +eln:The_time_interval_the\noutput_is_kept_high.=L'intervalle de temps durant lequel\nla sortie est dans l'état haut. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalvumeter/ElectricalVuMeterDescriptor.java +eln:Displays_the_value_of_a_signal.=Affichage la valeur du signal +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalwatch/ElectricalWatchContainer.java +eln:Portable_battery_slot=Emplacement pour batterie portable +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalweathersensor/ElectricalWeatherSensorDescriptor.java +eln:Clear\:_%sV=Nettoyage \: %sV +eln:Provides_an_electrical_signal\ndepending_the_actual_weather.=Fournit une tension électrique selon la température +eln:Rain\:_%sV=Pluie \: %sV +eln:Storm\:_%sV=Orage \: %sV +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalwindsensor/ElectricalWindSensorDescriptor.java +eln:Maximum_wind_speed_is_%sm_s=La vitesse maximale du vent est %sm/s +eln:Provides_an_electrical_signal\ndependant_on_wind_speed.=Fournit une tension électrique\ndépendant de la vitesse du vent +eln:You_can't_place_this_block_on_the_floor_or_the_ceiling=Vous ne pouvez pas placer ce bloc sur le sol ou au plafond +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricasensor/ElectricalSensorDescriptor.java +eln:Can_measure_Voltage_Power_Current=Peut mesurer une tension/une puissance/un courant +eln:Measures_electrical_values_on_cables.=Mesure les valeurs électriques des câbles. +eln:Measures_voltage_on_cables.=Mesure la tension des câbles. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricasensor/ElectricalSensorGui.java +eln:Current=Courant +eln:Measured_voltage\ncorresponding\nto_0%_output=Mesure le voltage\ncorrespondant\nà 0% de la sortie +eln:Measured_voltage\ncorresponding\nto_100%_output=Mesure le voltage\ncorrespondant\nà 100% de la sortie +eln:Voltage=Tension +eln: +eln:# ./src/main/java/mods/eln/sixnode/energymeter/EnergyMeterGui.java +eln:Change_password=Changer le mot de passe +eln:Counter_Mode=Mode Compteur +eln:Counts_the_energy_conducted_from\n\u00a74red\u00a7f_to_\u00a71blue\u00a7f.=Compte l'énergie conduit par\n\\u00a74red\\u00a7f à \\u00a71blue\\u00a7f +eln:Energy_counter\:_%sJ=Compteur d'énergie \: %sJ +eln:Enter_new_energy=Entrez une nouvelle énergie +eln:Enter_password=Entrez le mot de passe +eln:Prepay_Mode=Mode Prépayé +eln:Reset_time_counter=Mettre à zéro le compteur de temps +eln:Set_energy_counter=Régler le compteur d'énergie +eln:Time_counter\:=Compteur de temps \: +eln:Try_password=Essayer un mot de passe +eln:You_can_set_an_initial\namount_of_available_energy.\nWhen_the_counter_arrives_at_0\nthe_contact_will_be_opened.=Vous pouvez régler une quantité\ninitiale d'énergie disponible.\nQuand le compteur arrive à 0\nle contact sera ouvert. +eln:is_off=Éteint +eln:is_on=Allumé +eln:value_in_kJ=Valeur en kJ +eln: +eln:# ./src/main/java/mods/eln/sixnode/groundcable/GroundCableDescriptor.java +eln:Can_be_used_to_set_a_point_of_an\nelectrical_network_to_0V_potential.\nFor_example_to_ground_negative_battery_contacts.=Peut être utilisé pour mettre un point\ndu réseau électrique au potentiel 0V.\nPar exemple pour mettre à la terre la borne moins d'une batterie. +eln:Provides_a_zero_volt_reference.=Fournit une référence de tension de 0 volt. +eln: +eln:# ./src/main/java/mods/eln/sixnode/hub/HubDescriptor.java +eln:Allows_crossing_cables\non_one_single_block.=Permet aux câbles de se croiser\nsur un seul bloc +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketDescriptor.java +eln:Angle\:_%s°_to_%s°=Angle\: %s° à %s° +eln:Spot_range\:_%s_blocks=Portée\: %s blocks +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketGuiDraw.java +eln:%s_is_not_in_range!=%s n'est pas à portée +eln:Cable_slot_empty=Logement vide pour le câble +eln:Orientation\:_%s°=Orientation \: %s° +eln:Parallel=Parallèle +eln:Powered_by_Lamp_Supply=Alimentée par une alimentation de lampe +eln:Powered_by_cable=Alimenté par câble +eln:Serial=En série +eln:Specify_the_supply_channel=Spécifier le canal d'alimentation +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyContainer.java +eln:Electrical_cable_slot\nBase_range_is_32_blocks.\nEach_additional_cable\nincreases_range_by_one.=Emplacement de câble électrique\nLa portée de base est 32 bloc\nChaque câble additionnel\nAugmente la portée de un +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyDescriptor.java +eln:Supplies_all_lamps_on_the_channel.=Alimente toutes les lampes sur le canal. +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyGui.java +eln:Power_channel_name=Nom de la chaîne du courant +eln:Wireless_channel_name=Nom de la chaîne sans-fil +eln: +eln:# ./src/main/java/mods/eln/sixnode/modbusrtu/ModbusRtuGui.java +eln:Add=Ajouter +eln:Channel_name=Nom de la chaîne +eln:Modbus_ID=Identifiant de Modbus +eln:Modbus_RTU=Modbus RTU +eln:Station_ID=Identifiant de Station +eln:Station_name=Nom de station +eln:Wireless_RX=RX sans fil +eln:Wireless_TX=TX sans fil +eln: +eln:# ./src/main/java/mods/eln/sixnode/powercapacitorsix/PowerCapacitorSixContainer.java +eln:(Increases_maximum_voltage)=(Augmente la tension maximale) +eln: +eln:# ./src/main/java/mods/eln/sixnode/powercapacitorsix/PowerCapacitorSixGui.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/powerinductorsix/PowerInductorSixContainer.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/powerinductorsix/PowerInductorSixGui.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/powersocket/PowerSocketDescriptor.java +eln:Supplies_any_device\nplugged_in_with_energy.=Alimente n'importe quel\nappareil branché en énergie. +eln: +eln:# ./src/main/java/mods/eln/sixnode/powersocket/PowerSocketGui.java +eln:Specify_the_device_to_supply_through_this_socket.=Spécifiez le périphérique à alimenter à travers cette prise. +eln: +eln:# ./src/main/java/mods/eln/sixnode/resistor/ResistorContainer.java +eln:(Sets_resistance)=(Paramètre de résistance) +eln:Coal_dust_slot=Fente pour la poussière de charbon +eln: +eln:# ./src/main/java/mods/eln/sixnode/thermalcable/ThermalCableDescriptor.java +eln:High_parallel_resistance\n_\=>_Low_power_dissipation.=Forte résistance en parallèle\n\=> Faible dissipation de puissance +eln:Low_serial_resistance\n_\=>_High_conductivity.=faible résistance \=> bonne conductibilité +eln:Parallel_resistance\:_%sK_W=Résistance en parallèle \: %sK/W +eln:Serial_resistance\:_%sK_W=Résistance série \: %sK/W +eln: +eln:# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorContainer.java +eln:Cable_slot=Fente pour le câble +eln: +eln:# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorDescriptor.java +eln:Can_measure\:=Peut mesurer \: +eln:Measures_temperature_of_cables.=Mesure la température des câbles. +eln:Measures_thermal_values_on_cables.=Mesure la valeur de la température\nsur les câbles +eln:__Temperature_Power_conducted=Température / Puissance +eln: +eln:# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorGui.java +eln:Measured_temperature\ncorresponding\nto_0%_output=Mesure la température\ncorrespondant\nà 0% de la sortie +eln:Measured_temperature\ncorresponding\nto_100%_output=Mesure la température\ncorrespondant\nà 100% de la sortie +eln:Temperature=Température +eln: +eln:# ./src/main/java/mods/eln/sixnode/tutorialsign/TutorialSignElement.java +eln:No_text_associated_to_this_beacon=Pas de texte associé à cette balise +eln: +eln:# ./src/main/java/mods/eln/sixnode/tutorialsign/TutorialSignGui.java +eln:Set_beacon_name=Nom de beacon \: +eln: +eln:# ./src/main/java/mods/eln/sixnode/wirelesssignal/rx/WirelessSignalRxGui.java +eln: +eln:# ./src/main/java/mods/eln/transparentnode/FuelGenerator.kt +eln:Nominal_power\:_%s_W=Puissance nominale \: %s W +eln:Nominal_voltage\:_%s_V=Tension nominale \: %s V +eln:Produces_electricity_using_fuel.=Produit de l’électricité à partir d'essence. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/LargeRheostat.kt +eln:Nom._Resistance\:_%s=Résistance nom. \: %s +eln: +eln:# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerContainer.java +eln:Drill_slot=Emplacement de la tête de forage +eln:Mining_pipe_slot=Emplacement pour un tuyau minier +eln:Ore_scanner_slot=Emplacement pour un analyseur de minerai +eln: +eln:# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerDescriptor.java +eln:Excavates_on_a_small_radius.\nExtracts_ore_on_a_bigger_radius\:\n10_blocks_radius_after_10_blocks_depth.=Creuse dans un faible rayon.\nExtrait les minerais dans un plus grand rayon \:\nRayon de 10 blocs après 10 blocs de profondeur. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerGuiDraw.java +eln:Chest_missing_on_the\nback_of_the_auto_miner!=Il manque un coffre\nen arrière de l'auto miner +eln:Halves_speed,_triples_power_draw=Moitié de la vitesse, puissance triple +eln:Silk_Touch_Off=Silk Touch Off +eln:Silk_Touch_On=Silk Touch On +eln:Silk_touch=Silk touch +eln: +eln:# ./src/main/java/mods/eln/transparentnode/battery/BatteryContainer.java +eln:Overheating_protection=Protection anti-surchauffe +eln:Overvoltage_protection=Protection anti-surtension +eln: +eln:# ./src/main/java/mods/eln/transparentnode/battery/BatteryDescriptor.java +eln:Actual_charge\:_%s=Charge actuelle\: %s +eln:Energy_capacity\:_%sJ=Capacité énergétique \: %sJ +eln:_charged_at_%s=chargé à %s +eln: +eln:# ./src/main/java/mods/eln/transparentnode/battery/BatteryGuiDraw.java +eln:Charge=Charge +eln:Charged=Chargé +eln:Discharge=Décharge +eln:Energy\:=Energie \: +eln:Energy\:_%s=Energie \: %s +eln:Life\:=Vie \: +eln:No_charge=Pas de charge +eln:Power_in\:=Puissance d'entrée \: +eln:Power_out\:=Puissance de sortie \: +eln: +eln:# ./src/main/java/mods/eln/transparentnode/eggincubator/EggIncubatorContainer.java +eln:Egg_slot=Fente pour les œufs +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalantennarx/ElectricalAntennaRxDescriptor.java +eln:Wireless_energy_receiver.=Récepteur d'énergie sans fil +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalantennatx/ElectricalAntennaTxDescriptor.java +eln:Efficiency\:_%s_up_to_%s=Efficacité \: de %s à %s +eln:Wireless_energy_transmitter.=Emetteur d'énergie sans fil +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceContainer.java +eln:Heating_corp_slot=Emplacement pour Corps de Chauffe +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceDescriptor.java +eln:Similar_to_a_vanilla_furnace,\nbut_heats_with_electricity.=semblable au four vanilla\nmais cuit avec de l'électricité +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceGuiDraw.java +eln:Auto_shutdown=Arrêt automatique +eln:Manual_shutdown=Arrêt manuel +eln:Set_point\:_%s°C=Consigne \: %s°C +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalmachine/ElectricalMachineDescriptor.java +eln:Cost=Prix +eln: +eln:# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceContainer.java +eln:Combustion_chamber_slot=Fente vers la chambre de combustion +eln:Fuel_slot=Emplacement à pétrole +eln: +eln:# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceDescriptor.java +eln:Generates_heat_when_supplied_with_fuel.=Génère de la chaleur lorsqu'il est alimenté en carburant. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceGuiDraw.java +eln:Control_gauge_at_%s=Jauge de contrôle à %s +eln:Decline_fuel=Refuse carburant +eln:External_control=Contrôle externe +eln:Internal_control=Contrôle interne +eln:Take_fuel=Mettez le carburant +eln: +eln:# ./src/main/java/mods/eln/transparentnode/powercapacitor/PowerCapacitorContainer.java +eln:(Increases_maximal_voltage)=(Augmente le voltage maximal) +eln: +eln:# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelContainer.java +eln:Solar_tracker_slot=Traceur de soleil +eln: +eln:# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelDescriptor.java +eln:Can_be_geared_towards_the_sun.=Peut-être orienté vers le soleil. +eln:Max._power\:_%sW=Énergie maximum \: %sW +eln:Max._voltage\:_%sV=Voltage maximum \: %sV +eln:Produces_power_from_solar_radiation.=Produit de l'énergie avec le soleil. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPannelGuiDraw.java +eln:It_is_night=C'est la nuit +eln:Solar_panel_angle\:_%s°=Angle du panneau solaire \: %s° +eln:Sun_angle\:_%s°=Angle du soleil \: %s° +eln: +eln:# ./src/main/java/mods/eln/transparentnode/teleporter/TeleporterGui.java +eln:Destination_transporter=Destination du téléporteur +eln:Power_consumption\:=Consommation électrique \: +eln:Power_consumption\:_%sW=Consommation électrique \: %sW +eln:Required_energy\:_%sJ=Energie demandée\: %sJ +eln:Start=Début +eln:Transporter_name=Nom du transporteur +eln: +eln:# ./src/main/java/mods/eln/transparentnode/thermaldissipatoractive/ThermalDissipatorActiveDescriptor.java +eln:Fan_cooling_power\:_%sW=Puissance de refroidissement du ventilateur \: %sW +eln:Fan_power_consumption\:_%sW=Consommation du ventilateur \: %sW +eln:Fan_voltage\:_%sV=Tension du ventilateur \: %sV +eln: +eln:# ./src/main/java/mods/eln/transparentnode/transformer/TransformerDescriptor.java +eln:The_voltage_ratio_is_proportional\nto_the_cable_stacks_count_ratio.=Le ratio de tension est proportionnel\nau ratio du nombre de câbles empilés. +eln:Transforms_an_input_voltage_to\nan_output_voltage.=Transforme une tension d'entrée en tension de sortie. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/turbine/TurbineDescriptor.java +eln:Generates_electricity_using_heat.=Génère de l'électricité en utilisant la chaleur . +eln:Temperature_difference\:_%s°C=Différence de température\: %s°C +eln: +eln:# ./src/main/java/mods/eln/transparentnode/turret/TurretDescriptor.java +eln:CAUTION\:_Cables_can_get_quite_hot!=Attention \! Les câbles peuvent devenir chaud \! +eln:Laser_charge_power\:_%sW...%skW=Charge de l'énergie du laser \: %sW...%skW +eln:Scans_for_entities_and_shoots_if_the\nentity_matches_the_configurable_filter_criteria.=Scan les entités et tire si \nl'entité est la même que celle configurer +eln:Standby_power\:_%sW=Puissance en veille \: %sW +eln: +eln:# ./src/main/java/mods/eln/transparentnode/turret/TurretGui.java +eln:Attack\:=Attaquer \: +eln:Do_not_attack\:=Ne pas attaquer \: +eln:Recharge_power\:=Puissance de rechargement +eln: +eln:# ./src/main/java/mods/eln/transparentnode/waterturbine/WaterTurbineDescriptor.java +eln:Generates_energy_using_water_stream.=Génère de l'énergie grâce au courant de l'eau. +eln:No_place_for_water_turbine!=Pas de place pour une turbine à eau \! +eln: +eln:# ./src/main/java/mods/eln/transparentnode/windturbine/WindTurbineDescriptor.java +eln:Front\:_%s=Face \: %s +eln:Generates_energy_from_wind.=Génère de l'énergie avec le vent. +eln:Left_Right\:_%s=Gauche/Droite \: %s +eln:Up_Down\:_%s=Haut/Bas \: %s +eln:Wind_area\:=Zone de vent \: +eln: +eln:# ./src/main/java/mods/eln/wiki/Data.java +eln:Energy=Energie +eln:Light=Lumière +eln:Machine=Machine +eln:Ore=Minerai +eln:Portable=Portable +eln:Resource=Ressource +eln:Signal=Signal +eln:Thermal=Thermique +eln:Upgrade=Amélioration +eln:Utilities=Utilitaires +eln:Wiring=Cablage +eln: +eln:# ./src/main/java/mods/eln/wiki/Default.java +eln:Previous=Précédent +eln: +eln:# ./src/main/java/mods/eln/wiki/ItemDefault.java +eln:Can_be_used_to_craft\:=Peut-être utilisé pour fabriquer \: +eln:Cannot_be_crafted!=Impossible de fabriquer ceci \! +eln:Cost_%sJ=Coût %sJ +eln:Created_by\:=Créé par \: +eln:Is_not_a_crafting_material!=N'est pas un matériau de fabrication +eln:Recipe\:=Recette \: +eln: +eln:# Appearing in multiple source files +eln:(Increases_capacity)=(augmente la capacité) +eln:(Increases_inductance)=(Augmente l'inductance) +eln:Actual\:_%s°C=Actuelle \: %s°C +eln:Biggest=Plus grand +eln:Booster_slot=Emplacement pour un booster +eln:Can_create\:=Peut créer \: +eln:Capacity\:_%sF=Capacité \: %sF +eln:Charge_power\:_%sW=Puissance de charge \: %sW +eln:Connected=Connecté +eln:Cooling_power\:_%sW=Puissance de refroidissement \: %sW +eln:Copper_cable_slot=Emplacement pour un câble en cuivre +eln:Dielectric_slot=Emplacement diélectrique +eln:Discharge_power\:_%sW=Puissance de décharge \: %sW +eln:Electrical_cable_slot=Emplacement pour câble électrique +eln:Entity_filter_slot=Emplacement pour filtre à entités +eln:Ferromagnetic_core_slot=Emplacement pour noyau ferromagnétique +eln:Has_a_signal_output.=Dispose d'un signal de sortie. +eln:Inductance\:_%sH=inductance \: %sH +eln:Internal_resistance\:_%sΩ=Résistance interne \: %sΩ +eln:Is_off=C'est éteint +eln:Is_on=C'est allumé +eln:Max._temperature\:_%s°C=Temperature max \: %s°C +eln:Measured_value\ncorresponding\nto_0%_output=Mesure la valeur\ncorrespondant\nà 0% de la sortie +eln:Measured_value\ncorresponding\nto_100%_output=Mesure la valeur\ncorrespondant\nà 100% de la sortie +eln:Nominal\:=Nominale \: +eln:Nominal_power\:_%sW=Puissance nominale \: %sW +eln:Nominal_usage\:=Utilisation nominale \: +eln:Nominal_voltage\:_%sV=Tension nominale\: %sV +eln:Not_connected=Pas connecté +eln:Not_enough_space_for_this_block=Pas assez d'espace pour ce bloc +eln:Power=Énergie +eln:Power\:_%sW=Puissance\: %sW +eln:Range\:_%s_blocks=Portée\: %s blocks +eln:Redstone_slot=Emplacement pour Redstone +eln:Regulator_slot=Emplacement pour le régulateur +eln:Reset=Réinitialiser +eln:Resistance\:_%sΩ=Résistance\: %sΩ +eln:Smallest=Plus petit +eln:Specify_the_channel=Spécifier le canal +eln:Stored_energy\:_%sJ_(%s)=Energie stockée \: %sJ (%s) +eln:Temperature\:_%s°C=Température\: %s°C +eln:Temperature_gauge=Gauge de température +eln:Thermal_isolator_slot=Emplacement pour Isolateur Thermique +eln:Toggle=Basculer +eln:Toggle_switch=Interrupteur à bascule +eln:Toggles_the_output_each_time\nan_emitter's_value_rises.\nUseful_to_allow_multiple_buttons\nto_control_the_same_light.=Bascule la valeur de la sortie chaque fois\nque la valeur de l'émetteur augmente.\nUtile pour permettre à plusieurs boutons\nde contrôler la même lampe. +eln:Used_to_cool_down_turbines.=Utilisé pour refroidir les turbines. +eln:Uses_the_biggest\nvalue_on_the_channel.=Utilise la plus grande valeur\nsur la chaîne +eln:Uses_the_smallest\nvalue_on_the_channel.=Utilise la plus petite valeur\nsur la chaîne +eln:Validate=Valider +eln:Voltage\:_%sV=Tension \: %sV +eln:You_can't_place_this_block_at_this_side=Vous ne pouvez pas poser de bloc sur ce côté diff --git a/src/main/resources/assets/eln/lang/fr_FR.lang b/src/main/resources/assets/eln/lang/fr_FR.lang index 97de00099..e7ceb70c2 100644 --- a/src/main/resources/assets/eln/lang/fr_FR.lang +++ b/src/main/resources/assets/eln/lang/fr_FR.lang @@ -1,829 +1,829 @@ -# - -# ./src/main/java/mods/eln/Achievements.java -Electrical_Age_[WIP]=L'ère de l’électricité [travail en cours... ] -achievement.craft_50v_macerator=Novice -achievement.craft_50v_macerator.desc=Créer un macérateur 50V -achievement.open_guide=Wiki Power -achievement.open_guide.desc=Ouvrir le guide wiki - -# ./src/main/java/mods/eln/Eln.java -10A_Diode.name=Diode 10A -200V_Active_Thermal_Dissipator.name=Dissipateur thermique actif 200V -200V_Battery_Charger.name=Chargeur de batterie 200V -200V_Compressor.name=Compresseur 200V -200V_Condensator.name=Condensateur 200V -200V_Copper_Heating_Corp.name=Corps de Chauffe en Cuivre 200V -200V_Economic_Light_Bulb.name=Ampoule économique 200V -200V_Farming_Lamp.name=Lampe de culture 200V -200V_Fuel_Generator.name=Générateur à essence 200V -200V_Incandescent_Light_Bulb.name=Ampoule à incandescence 200V -200V_Iron_Heating_Corp.name=Corps de Chauffe en Fer 200V -200V_LED_Bulb.name=Ampoule LED 200V -200V_Macerator.name=Macérateur 200V -200V_Magnetizer.name=Magnétiseur 200V -200V_Plate_Machine.name=Applatisseur 200V -200V_Power_Socket.name=Prise électrique 200V -200V_Tungsten_Heating_Corp.name=Corps de Chauffe en Tungstène 200V -200V_Turbine.name=Turbine 200V -25A_Diode.name=Diode 25A -50V_Battery_Charger.name=Chargeur de batterie 50V -50V_Carbon_Incandescent_Light_Bulb.name=Ampoule incandescente au charbon 50V -50V_Compressor.name=Compresseur 50V -50V_Condensator.name=Condensateur 50V -50V_Copper_Heating_Corp.name=Corps de Chauffe en Cuivre 50V -50V_Economic_Light_Bulb.name=Ampoule économique 50V -50V_Egg_Incubator.name=Incubateur d’œufs 50V -50V_Farming_Lamp.name=Lampe de culture 50V -50V_Fuel_Generator.name=Générateur à essence 50V -50V_Incandescent_Light_Bulb.name=Ampoule à incandescence 50V -50V_Iron_Heating_Corp.name=Corps de Chauffe en Fer 50V -50V_LED_Bulb.name=Ampoule LED 50V -50V_Macerator.name=Macérateur 50V -50V_Magnetizer.name=Magnétiseur 50V -50V_Plate_Machine.name=Aplatisseur 50V -50V_Power_Socket.name=Prise électrique 50V -50V_Tungsten_Heating_Corp.name=Corps de Chauffe en Tungstène 50V -50V_Turbine.name=Turbine 50V -800V_Defence_Turret.name=Tourelle de défense 800V -AND_Chip.name=Porte logique ET -Advanced_Chip.name=Puce avancée -Advanced_Electrical_Motor.name=Moteur électrique avancé -Advanced_Energy_Meter.name=Compteur d'énergie avancé -Advanced_Machine_Block.name=Bloc de machine avancé -Advanced_Magnet.name=Aimant avancé -AllMeter.name=Multimètre -Alloy_Dust.name=Poudre d'alliage -Alloy_Ingot.name=Lingot d'alliage -Alloy_Plate.name=Plaque d'alliage -Analog_Watch.name=Horloge -Analog_vuMeter.name=Jauge analogique -Analogic_Regulator.name=Régulateur analogique -Animal_Filter.name=Filtre d'animaux -Auto_Miner.name=Mineur automatique -Average_Electrical_Drill.name=Tête de forage normale -Average_Ferromagnetic_Core.name=Noyau Ferromagnétique Moyen -Basic_Magnet.name=Aimant basique -Black_Brush.name=Brosse noire -Blue_Brush.name=Brosse bleue -Brown_Brush.name=Brosse marron -Capacity_Oriented_Battery.name=Batterie à capacité élevée -Cheap_Chip.name=Puce bon marché -Cheap_Electrical_Drill.name=Tête de forage bon marché -Cheap_Ferromagnetic_Core.name=Noyau Ferromagnétique Bon Marché -Cinnabar_Dust.name=Poudre de cinabre -Cinnabar_Ore.name=Minerai de cinabre -Coal_Dust.name=Charbon -Coal_Plate.name=Plaque de charbon -Combustion_Chamber.name=Chambre de combustion -Copper_Cable.name=Câble en cuive -Copper_Dust.name=Poudre de cuivre -Copper_Ingot.name=Lingot de cuivre -Copper_Ore.name=Minerai de cuivre -Copper_Plate.name=Plaque de cuivre -Copper_Thermal_Cable.name=Câble thermique en cuivre -Cost_Oriented_Battery.name=Batterie à faible coût -Current_Oriented_Battery.name=Batterie à courant élevé -Cyan_Brush.name=Brosse Cyan -D_Flip_Flop_Chip.name=Bascule D -Data_Logger.name=Enregistreur de données -Data_Logger_Print.name=Imprimante pour enregistreur de données -Dielectric.name=Diélectrique -Digital_Watch.name=Horloge digitale -Electrical_Anemometer_Sensor.name=Anémomètre Électrique -Electrical_Breaker.name=Disjoncteur éléctrique -Electrical_Daylight_Sensor.name=Capteur de jour -Electrical_Entity_Sensor.name=Capteur de luminosité -Electrical_Fire_Detector.name=Capteur de feu -Electrical_Furnace.name=Four électrique -Electrical_Light_Sensor.name=Capteur de luminosité -Electrical_Motor.name=Moteur électrique -Electrical_Probe.name=Sonde électrique -Electrical_Probe_Chip.name=Puce pour Sonde Électrique -Electrical_Source.name=Source électrique -Electrical_Timer.name=Horloge électrique -Electrical_Weather_Sensor.name=Station météo électrique -Electrical_age_wrench,\nCan_be_used_to_turn\nsmall_wall_blocks=Clef à molette d'Electrical Age,\npeut être utilisée pour\ntourner des petits blocs muraux -Energy_Meter.name=Compteur d'énergie -Experimental_Transporter.name=Téléporteur expérimental -Fast_Electrical_Drill.name=Tête de forage rapide -Ferrite_Ingot.name=Lingot de ferrite -Flat_Lamp_Socket.name=Douille de lampe plate -Fluorescent_Lamp_Socket.name=Douille de lampe fluorescente -Generator.name=Générateur -Gold_Dust.name=Poussière d'or -Gold_Plate.name=Plaque en or -Gray_Brush.name=Brosse grise -Green_Brush.name=Brosse verte -Ground_Cable.name=Prise de terre -High_Power_Receiver_Antenna.name=Antenne de récéption longue portée -High_Power_Transmitter_Antenna.name=Antenne de transmition longue portée -High_Voltage_Cable.name=Câble électrique à haute tension -High_Voltage_Relay.name=Relais à haute tension -High_Voltage_Switch.name=Interrupteur à haute tension -Hub.name=Pivot\n -Industrial_Data_Logger.name=Enregistreur de données industriel -Iron_Cable.name=Câble en fer -Iron_Dust.name=Poussière de fer -Iron_Plate.name=Plaque de fer -JK_Flip_Flop_Chip.name=Bascule JK -LED_vuMeter.name=vuMètre LED -Lamp_Socket_A.name=Douille de lampe A -Lamp_Socket_B_Projector.name=Douille de lampe B Projectrice -Lamp_Supply.name=Alimentation de lampe -Large_Rheostat.name=Large Rheostat -Lead_Dust.name=Poudre de plomb -Lead_Ingot.name=Lingot de plomb -Lead_Ore.name=Minerai de plomb -Lead_Plate.name=Plaque de plomb -Life_Oriented_Battery.name=Batterie à durée de vie élevée -Light_Blue_Brush.name=Pinceau bleu clair -Lime_Brush.name=Pinceau couleur citron -Long_Suspended_Lamp_Socket.name=Douille de lampe suspendue (long) -Low_Power_Receiver_Antenna.name=Antenne de réception courte portée -Low_Power_Transmitter_Antenna.name=Antenne de transmission courte portée -Low_Voltage_Cable.name=Câble électrique à basse tension -Low_Voltage_Relay.name=Relais basse tension -Low_Voltage_Switch.name=Interrupteur basse tension -Machine_Block.name=Bloc de machine -Machine_Booster.name=Booster de machine -Magenta_Brush.name=Pinceau magenta -Medium_Power_Receiver_Antenna.name=Antenne de réception moyenne portée -Medium_Power_Transmitter_Antenna.name=Antenne de transmition moyenne portée -Medium_Voltage_Cable.name=Câble électrique à tension moyenne -Medium_Voltage_Relay.name=Relais moyenne tension -Medium_Voltage_Switch.name=Interrupteur à moyenne tension -Mercury.name=Mercure -Mining_Pipe.name=Tuyau minier -Modbus_RTU.name=Modbus RTU -Modern_Data_Logger.name=Enregistreur de données moderne -Monster_Filter.name=Filtre de monstre -MultiMeter.name=Multimètre -NAND_Chip.name=Porte logique NON-ET -NOR_Chip.name=Porte logique NON-OU -NOT_Chip.name=Porte logique NON -Nuclear_Alarm.name=Alarme nucléaire -OR_Chip.name=Porte logique OU -On_OFF_Regulator_10_Percent.name=Régulateur on/off 10% -On_OFF_Regulator_1_Percent.name=On/off regulator 1% -Optimal_Ferromagnetic_Core.name=Noyau Ferromagnétique Optimal -Orange_Brush.name=Pinceau orange -Ore_Scanner.name=Analyseur de minerai -Oscillator_Chip.name=Oscillateur -Overheating_Protection.name=Protection contre la surchauffe -Overvoltage_Protection.name=Protection contre le survoltage -PAL_Chip.name=Puce PAL -Pink_Brush.name=Pinceau rose -Player_Filter.name=Filtre de joueur -Portable_Battery.name=Batterie portable -Portable_Battery_Pack.name=Batteries portables -Portable_Condensator.name=Condensateur portable -Portable_Condensator_Pack.name=Condensateurs portables -Portable_Electrical_Axe.name=Pioche éléctrique portable -Portable_Electrical_Mining_Drill.name=Foreuse électrique portable -Power_Capacitor.name=Condensateur de puissance -Power_Inductor.name=Inducteur de Puissance -Power_Resistor.name=Résistance de puissance -Power_capacitor.name=Condensateur de puissance -Power_inductor.name=Inducteur de Puissance -Purple_Brush.name=Pinceau violet -Red_Brush.name=Pinceau rouge -Redstone-to-Voltage_Converter.name=Convertisseur tension-redstone -Rheostat.name=Rhéostat -Robust_Lamp_Socket.name=Solide Douille de Lampe -Rubber.name=Caoutchouc -Schmitt_Trigger_Chip.name=Bascule de Schmitt -Sconce_Lamp_Socket.name=Douille de Lampe de Chandelier -Signal_20H_inductor.name=Inductance 20H pour signaux -Signal_Antenna.name=Antenne de signal -Signal_Button.name=Bouton de signal -Signal_Cable.name=Câble électrique pour signaux -Signal_Diode.name=Diode pour signaux -Signal_Processor.name=Processeur de signaux -Signal_Relay.name=Relais de signaux -Signal_Source.name=Signal source -Signal_Switch.name=Interrupteur pour signaux -Signal_Switch_with_LED.name=Interrupteur pour signaux avec LED -Signal_Trimmer.name=Jauge de signal -Silicon_Dust.name=Poudre de silicium -Silicon_Ingot.name=Lingot de silicium -Silicon_Plate.name=Plaque de silicium -Silver_Brush.name=Pinceau couleur argent -Simple_Lamp_Socket.name=Douille de lampe simple -Single-use_Battery.name=Batterie à usage unique -Small_200V_Copper_Heating_Corp.name=Petit Corps de Chauffe en Cuivre 200V -Small_200V_Iron_Heating_Corp.name=Petit Corps de Chauffe en Fer 200V -Small_200V_Tungsten_Heating_Corp.name=Petit Corps de Chauffe en Tungstène 200V -Small_50V_Carbon_Incandescent_Light_Bulb.name=Petite Ampoule Incandescente Au Charbon 50V -Small_50V_Copper_Heating_Corp.name=Petit Corps de Chauffe en Cuivre 50V -Small_50V_Economic_Light_Bulb.name=Petite ampoule économique 50V -Small_50V_Incandescent_Light_Bulb.name=Petite ampoule à incandescence 50V -Small_50V_Iron_Heating_Corp.name=Petit Corps de Chauffe en Fer 50V -Small_50V_Tungsten_Heating_Corp.name=Petit Corps de Chauffe en Tungstène 50V -Small_Active_Thermal_Dissipator.name=Petit dissipateur thermique actif -Small_Flashlight.name=Lampe de poche -Small_Passive_Thermal_Dissipator.name=Petit dissipateur thermique passif -Small_Rotating_Solar_Panel.name=Petit panneau solaire rotatif -Small_Solar_Panel.name=Petit panneau solaire -Solar_Tracker.name=Pisteur solaire -Standard_Alarm.name=Alarme standard -Steam_Turbine.name=Turbine à vapeur -Stone_Heat_Furnace.name=Four de chauffe en pierre -Street_Light.name=Lampadaire -Suspended_Lamp_Socket.name=Douille de Lampe Suspendue -Temperature_Probe.name=Sonde de température -Thermal_Probe.name=Sonde de température -Thermal_Probe_Chip.name=Puce pour Sonde de Température -Thermistor.name=Thermistance -ThermoMeter.name=Thermomètre -Transformer.name=Transformateur -Tree_Resin.name=Résine d'arbre -Tree_Resin_Collector.name=Collecteur de résine d'arbre -Tungsten_Cable.name=Câble électrique au tungsten -Tungsten_Dust.name=Poudre de tungstène -Tungsten_Ingot.name=Lingot de tungstène -Tungsten_Ore.name=Minerai de tungstène -Tutorial_Sign.name=Panneau de tutoriel -Very_High_Voltage_Cable.name=Câble électrique à très haute tension -Very_High_Voltage_Relay.name=Relais à très haute tension -Very_High_Voltage_Switch.name=Interrupteur à très haute tension -Voltage-to-Redstone_Converter.name=Convertisseur tension-redstone -Voltage_Oriented_Battery.name=Batterie à tension élevée -Voltage_Probe.name=Sonde de tension -Water_Turbine.name=Turbine à eau -Weak_50V_Battery_Charger.name=Chargeur de batterie 50V faible -White_Brush.name=Pinceau blanc -Wind_Turbine.name=Éolienne -Wireless_Analyser.name=Analyseur sans fil -Wireless_Button.name=Bouton sans fil -Wireless_Signal_Receiver.name=Recepteur de signal sans-fil -Wireless_Signal_Repeater.name=Répéteur sans fil -Wireless_Signal_Transmitter.name=Transmetteur de signal sans-fil -Wireless_Switch.name=Interrupteur sans fil -Wrench.name=Clé à molette -X-Ray_Scanner.name=Scanner à rayons X -XNOR_Chip.name=Port logique OU exclusif -XOR_Chip.name=Porte logique OU exclusif -Yellow_Brush.name=Pinceau jaune -entity.EAReplicator.name=Duplicateur -item.Copper Pioche en Cuivre -item.Copper Pioche en Cuivre -item.Copper Pioche en Cuivre -item.Copper Pioche en Cuivre -item.Copper Pioche en Cuivre -item.Copper Pioche en Cuivre -item.Copper Pioche en Cuivre -item.Copper Pioche en Cuivre -item.Copper Pioche en Cuivre -item.E-Coal Botte de E-charbon -item.E-Coal Botte de E-charbon -item.E-Coal Botte de E-charbon -item.E-Coal Botte de E-charbon -itemGroup.Eln=Electrical Age -mod.meta.desc=Electricité présente dans votre base \! -tile.eln.ElnProbe.name=Sonde Eln pour Ordinateur -tile.eln.EnergyConverterElnToOtherHVUBlock.name=Convertisseur 800V d'EA vers une autre énergie -tile.eln.EnergyConverterElnToOtherLVUBlock.name=Convertisseur 50V d'EA vers une autre énergie -tile.eln.EnergyConverterElnToOtherMVUBlock.name=Convertisseur 200V d'EA vers une autre énergie - -# ./src/main/java/mods/eln/i18n/I18N.java -You_have_%s_lives_left=Il vous reste encore %s vies - -# ./src/main/java/mods/eln/item/BrushDescriptor.java -Brush_is_dry=Votre brosse est sèche -Can_paint_%s_blocks=Peut peindre %s blocks - -# ./src/main/java/mods/eln/item/CombustionChamber.java -Upgrade_for_the_Stone_Heat_Furnace.=Amélioration pour le four de chauffe en pierre - -# ./src/main/java/mods/eln/item/ElectricalDrillDescriptor.java -Energy_per_operation\:_%sJ=Energie par opération \: %sJ -Time_per_operation\:_%ss=Temps par opération \: %ss - -# ./src/main/java/mods/eln/item/FerromagneticCoreDescriptor.java -Cable_loss_factor\:_%s=Facteur de perte du câble \: %s - -# ./src/main/java/mods/eln/item/HeatingCorpElement.java - -# ./src/main/java/mods/eln/item/LampDescriptor.java -Bad=Mauvais -Condition\:=Conditions \: -End_of_life=Fin de vie -Good=Bon -New=Nouveau -Nominal_lifetime\:_%sh=Durée de vie nominale \: %sh -Technology\:_%s=Technologie \: %s -Used=Utilisé - -# ./src/main/java/mods/eln/item/LampSlot.java -Lamp_slot=Emplacement pour une lampe - -# ./src/main/java/mods/eln/item/OverHeatingProtectionDescriptor.java -Useful_to_prevent_overheating\nof_Batteries=Utile pour prévenir une\nsurchauffe des batteries - -# ./src/main/java/mods/eln/item/OverVoltageProtectionDescriptor.java -Useful_to_prevent_over-voltage\nof_Batteries=Utile pour prévenir d'une\nsurtension des batteries - -# ./src/main/java/mods/eln/item/SolarTrackerDescriptor.java -Solar_panel_upgrade=Amélioration du panneau solaire - -# ./src/main/java/mods/eln/item/electricalitem/BatteryItem.java - -# ./src/main/java/mods/eln/item/electricalitem/ElectricalLampItem.java -Off=Off -On=On -State\:=Etat \: -Stored_Energy\:_%sJ_(%s)=Energie stockée \: %sJ (%s) - -# ./src/main/java/mods/eln/item/regulator/RegulatorSlot.java - -# ./src/main/java/mods/eln/misc/UtilsClient.java -Hold_shift=Maintenir la touche shift - -# ./src/main/java/mods/eln/misc/Version.java -mod.name=Electrical Age - -# ./src/main/java/mods/eln/node/six/SixNodeDescriptor.java - -# ./src/main/java/mods/eln/simplenode/energyconverter/EnergyConverterElnToOtherGui.java -Input_power_is_limited_to_%sW=La tension d'entrée est limitée à %sW - -# ./src/main/java/mods/eln/sixnode/LogicGate.kt -_O\:_= Sortie \: - -# ./src/main/java/mods/eln/sixnode/TreeResinCollector/TreeResinCollectorDescriptor.java -Produces_Tree_Resin_over\ntime_when_put_on_a_tree.=Produit de la Résine d'arbre\nune fois mis sur un arbre -This_block_can_only_be_placed_on_the_side_of_a_tree!=Ce bloc peut seulement être placé à côté d'un arbre - -# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerContainer.java -Battery_slot=Emplacement pour une batterie - -# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerDescriptor.java -Can_be_used_to_recharge\nelectrical_items_like\:\nFlash_Light,_X-Ray_scanner\nand_Portable_Battery_...=Peut être utilisé pour\nrecharger des objects \nélectriques comme \:\nlampe de poche, scanner à rayons X\net batterie portable - -# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerGui.java - -# ./src/main/java/mods/eln/sixnode/diode/DiodeDescriptor.java -Electrical_current_can_only\nflow_through_the_diode\nfrom_anode_to_cathode=Le courant électrique ne\npeut circuler que dans un sens\nde l'anode à la cathode - -# ./src/main/java/mods/eln/sixnode/electricalalarm/ElectricalAlarmDescriptor.java -= -Emits_an_acoustic_alarm_if\nthe_input_signal_is_high=Émet une alarme acoustique si\nle signal d'entrée est élevé - -# ./src/main/java/mods/eln/sixnode/electricalalarm/ElectricalAlarmGui.java -Sound_is_muted=Le son est me en sourdine -Sound_is_not_muted=Le son n´est pas me en sourdine - -# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerContainer.java - -# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerDescriptor.java -Protects_electrical_components\nOpens_contact_if\:\n__-_Voltage_exceeds_a_certain_level\n-_Current_exceeds_the_cable_limit=Protège les composants électriques\nouvre le contact si \:\n- le voltage excède un certain niveau\n- le courant excède la limite du câble - -# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerGui.java -Maximum_voltage_before_cutting_off=Tension maximale avant coupure -Minimum_voltage_before_cutting_off=Tension minimale avant coupure -Switch_is_off=L'interrupteur est éteint -Switch_is_on=L'interrupteur est allumé - -# ./src/main/java/mods/eln/sixnode/electricalcable/ElectricalCableDescriptor.java -A_signal_is_electrical_information\nwhich_must_be_between_0V_and_%sV=un signal est de l'information électrique\nqui doit être entre 0V et %sV. -Cable_is_adapted_to_conduct\nelectrical_signals.=Le câble est adapté pour\nconduire un signal électrique. -Current\:_%sA=Courant\: %sA -Not_adapted_to_transport_power.=Pas adapté pour transporter de la puissance. -Save_usage\:=Utilisation sécuritaire\: -Serial_resistance\:_%sΩ=Résistance série \: %sΩ - -# ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerDescriptor.java -It_can_store_up_to_256_points.=Il peut sauver jusqu'à 256 points. -Measures_the_voltage_of_an\nelectrical_signal_and_plots\nthe_data_in_real_time.=Mesure la tension d'un\nsignal électrique et trace\nles donnés en temps réel. - -# ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerGui.java -Back_to_display=Retour à l'affichage -Configuration=Paramétrage -Current_[A]=Courant [A] -Energy_[J]=Energie [J] -Percent_[-]%=Pourcentage [-]% -Power_[W]=Puissance [W] -Print=Imprimer -Sampling_period=Période d’échantillonnage -Temp._[*C]=Température [*C] -Voltage_[V]=Tension [V] -Y-axis_max=Max. axe Y -Y-axis_min=Min. axe Y - -# ./src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorContainer.java - -# ./src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorDescriptor.java -Output_voltage_increases\nif_entities_are_moving_around.=La tension de sortie augmente\nsi une entité se déplace autour. - -# ./src/main/java/mods/eln/sixnode/electricalfiredetector/ElectricalFireDetectorDescriptor.java -Output_voltage_increases\nif_a_fire_has_been_detected.=La tension de sortie augmente\nsi du feu a été détecté. - -# ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceDescriptor.java -Provides_configurable_signal\nvoltage.=le voltage est configurable - -# ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceGui.java -Output_at_%s=Sortie de %s - -# ./src/main/java/mods/eln/sixnode/electricallightsensor/ElectricalLightSensorDescriptor.java -0V_at_night,_%sV_at_noon.=0V la nuit, %sV le midi. -Provides_an_electrical_voltage\nin_the_presence_of_light.=Fournit une tension électrique\nen présence de lumière. -Provides_an_electrical_voltage\nwhich_is_proportional_to\nthe_intensity_of_daylight.=Produit un voltage\nqui est proportionnel\nà l'intensité de la lumière du jour - -# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathContainer.java - -# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathDescriptor.java -Applicable_boolean_operators\:=S'applique aux opérateurs booléens \: -Applicable_functions\:=Fonctions disponibles \: -Applicable_mathematical_operators\:=S'applique aux opérateurs mathématiques \: -Calculates_an_output_signal_from\n3_inputs_(A,_B,_C)_using_an_equation.=Calcul le signal de sortie en fonction des\n3 entrés (A, B, C) en utilisant une équation. - -# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathGui.java -%s_Redstone(s)_required=%s Redstone(s) requis -Equation_required!=Équation requise\! -Inputs_are=L'entrée est -Invalid_equation!=Équation invalide\! -Output_voltage_formula=Formule de la tension de sortie -Waiting_for_completion...=En attente de complétion... - -# ./src/main/java/mods/eln/sixnode/electricalredstoneinput/ElectricalRedstoneInputDescriptor.java -Converts_Redstone_signal\nto_an_electrical_voltage.=Convertit un signal Redstone\nen une tension électrique. - -# ./src/main/java/mods/eln/sixnode/electricalredstoneoutput/ElectricalRedstoneOutputDescriptor.java -Converts_electrical_voltage\ninto_a_Redstone_signal.=Convertit une tension électrique\nen un signal Redstone. - -# ./src/main/java/mods/eln/sixnode/electricalrelay/ElectricalRelayDescriptor.java -A_relay_is_an_electrical\ncontact_that_conducts_electric\ncurrent_or_not,_depending\nthe_actual_input_signal_voltage.=Un relai est un contact\nélectrique qui conduit ou non\nle courant en fonction\nde la tension en entrée. - -# ./src/main/java/mods/eln/sixnode/electricalrelay/ElectricalRelayGui.java -Normally_closed=Fermé par défaut -Normally_open=Ouvert par défaut - -# ./src/main/java/mods/eln/sixnode/electricalsource/ElectricalSourceDescriptor.java -Creative_block.=Bloc créatif. -Provides_an_ideal_voltage_source\nwithout_energy_or_power_limitation.=Fournit une source de tension idéale\nsans limite d'énergie ou de puissance. - -# ./src/main/java/mods/eln/sixnode/electricalsource/ElectricalSourceGui.java -Output_voltage=Tension de sortie - -# ./src/main/java/mods/eln/sixnode/electricalswitch/ElectricalSwitchDescriptor.java -Can_break_an_electrical_circuit\ninterrupting_the_current.=Peut briser un circuit électrique\nInterrompt le courant - -# ./src/main/java/mods/eln/sixnode/electricaltimeout/ElectricalTimeoutDescriptor.java -Upon_application_of_a_high_signal,\nthe_timer_maintains_the_output_high_for\na_configurable_interval._Can_be_re-triggered.=Lorsqu'un signal haut est appliqué,\nle minuteur maintient la sortie haute pendant\nun intervalle configurable. Peut être activé plusieurs fois. - -# ./src/main/java/mods/eln/sixnode/electricaltimeout/ElectricalTimeoutGui.java -Set=Fixer -The_time_interval_the\noutput_is_kept_high.=L'intervalle de temps durant lequel\nla sortie est dans l'état haut. - -# ./src/main/java/mods/eln/sixnode/electricalvumeter/ElectricalVuMeterDescriptor.java -Displays_the_value_of_a_signal.=Affichage la valeur du signal - -# ./src/main/java/mods/eln/sixnode/electricalwatch/ElectricalWatchContainer.java -Portable_battery_slot=Emplacement pour batterie portable - -# ./src/main/java/mods/eln/sixnode/electricalweathersensor/ElectricalWeatherSensorDescriptor.java -Clear\:_%sV=Nettoyage \: %sV -Provides_an_electrical_signal\ndepending_the_actual_weather.=Fournit une tension électrique selon la température -Rain\:_%sV=Pluie \: %sV -Storm\:_%sV=Orage \: %sV - -# ./src/main/java/mods/eln/sixnode/electricalwindsensor/ElectricalWindSensorDescriptor.java -Maximum_wind_speed_is_%sm_s=La vitesse maximale du vent est %sm/s -Provides_an_electrical_signal\ndependant_on_wind_speed.=Fournit une tension électrique\ndépendant de la vitesse du vent -You_can't_place_this_block_on_the_floor_or_the_ceiling=Vous ne pouvez pas placer ce bloc sur le sol ou au plafond - -# ./src/main/java/mods/eln/sixnode/electricasensor/ElectricalSensorDescriptor.java -Can_measure_Voltage_Power_Current=Peut mesurer une tension/une puissance/un courant -Measures_electrical_values_on_cables.=Mesure les valeurs électriques des câbles. -Measures_voltage_on_cables.=Mesure la tension des câbles. - -# ./src/main/java/mods/eln/sixnode/electricasensor/ElectricalSensorGui.java -Current=Courant -Measured_voltage\ncorresponding\nto_0%_output=Mesure le voltage\ncorrespondant\nà 0% de la sortie -Measured_voltage\ncorresponding\nto_100%_output=Mesure le voltage\ncorrespondant\nà 100% de la sortie -Voltage=Tension - -# ./src/main/java/mods/eln/sixnode/energymeter/EnergyMeterGui.java -Change_password=Changer le mot de passe -Counter_Mode=Mode Compteur -Counts_the_energy_conducted_from\n\u00a74red\u00a7f_to_\u00a71blue\u00a7f.=Compte l'énergie conduit par\n\\u00a74red\\u00a7f à \\u00a71blue\\u00a7f -Energy_counter\:_%sJ=Compteur d'énergie \: %sJ -Enter_new_energy=Entrez une nouvelle énergie -Enter_password=Entrez le mot de passe -Prepay_Mode=Mode Prépayé -Reset_time_counter=Mettre à zéro le compteur de temps -Set_energy_counter=Régler le compteur d'énergie -Time_counter\:=Compteur de temps \: -Try_password=Essayer un mot de passe -You_can_set_an_initial\namount_of_available_energy.\nWhen_the_counter_arrives_at_0\nthe_contact_will_be_opened.=Vous pouvez régler une quantité\ninitiale d'énergie disponible.\nQuand le compteur arrive à 0\nle contact sera ouvert. -is_off=Éteint -is_on=Allumé -value_in_kJ=Valeur en kJ - -# ./src/main/java/mods/eln/sixnode/groundcable/GroundCableDescriptor.java -Can_be_used_to_set_a_point_of_an\nelectrical_network_to_0V_potential.\nFor_example_to_ground_negative_battery_contacts.=Peut être utilisé pour mettre un point\ndu réseau électrique au potentiel 0V.\nPar exemple pour mettre à la terre la borne moins d'une batterie. -Provides_a_zero_volt_reference.=Fournit une référence de tension de 0 volt. - -# ./src/main/java/mods/eln/sixnode/hub/HubDescriptor.java -Allows_crossing_cables\non_one_single_block.=Permet aux câbles de se croiser\nsur un seul bloc - -# ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketDescriptor.java -Angle\:_%s°_to_%s°=Angle\: %s° à %s° -Spot_range\:_%s_blocks=Portée\: %s blocks - -# ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketGuiDraw.java -%s_is_not_in_range!=%s n'est pas à portée -Cable_slot_empty=Logement vide pour le câble -Orientation\:_%s°=Orientation \: %s° -Parallel=Parallèle -Powered_by_Lamp_Supply=Alimentée par une alimentation de lampe -Powered_by_cable=Alimenté par câble -Serial=En série -Specify_the_supply_channel=Spécifier le canal d'alimentation - -# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyContainer.java -Electrical_cable_slot\nBase_range_is_32_blocks.\nEach_additional_cable\nincreases_range_by_one.=Emplacement de câble électrique\nLa portée de base est 32 bloc\nChaque câble additionnel\nAugmente la portée de un - -# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyDescriptor.java -Supplies_all_lamps_on_the_channel.=Alimente toutes les lampes sur le canal. - -# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyGui.java -Power_channel_name=Nom de la chaîne du courant -Wireless_channel_name=Nom de la chaîne sans-fil - -# ./src/main/java/mods/eln/sixnode/modbusrtu/ModbusRtuGui.java -Add=Ajouter -Channel_name=Nom de la chaîne -Modbus_ID=Identifiant de Modbus -Modbus_RTU=Modbus RTU -Station_ID=Identifiant de Station -Station_name=Nom de station -Wireless_RX=RX sans fil -Wireless_TX=TX sans fil - -# ./src/main/java/mods/eln/sixnode/powercapacitorsix/PowerCapacitorSixContainer.java -(Increases_maximum_voltage)=(Augmente la tension maximale) - -# ./src/main/java/mods/eln/sixnode/powercapacitorsix/PowerCapacitorSixGui.java - -# ./src/main/java/mods/eln/sixnode/powerinductorsix/PowerInductorSixContainer.java - -# ./src/main/java/mods/eln/sixnode/powerinductorsix/PowerInductorSixGui.java - -# ./src/main/java/mods/eln/sixnode/powersocket/PowerSocketDescriptor.java -Supplies_any_device\nplugged_in_with_energy.=Alimente n'importe quel\nappareil branché en énergie. - -# ./src/main/java/mods/eln/sixnode/powersocket/PowerSocketGui.java -Specify_the_device_to_supply_through_this_socket.=Spécifiez le périphérique à alimenter à travers cette prise. - -# ./src/main/java/mods/eln/sixnode/resistor/ResistorContainer.java -(Sets_resistance)=(Paramètre de résistance) -Coal_dust_slot=Fente pour la poussière de charbon - -# ./src/main/java/mods/eln/sixnode/thermalcable/ThermalCableDescriptor.java -High_parallel_resistance\n_\=>_Low_power_dissipation.=Forte résistance en parallèle\n\=> Faible dissipation de puissance -Low_serial_resistance\n_\=>_High_conductivity.=faible résistance \=> bonne conductibilité -Parallel_resistance\:_%sK_W=Résistance en parallèle \: %sK/W -Serial_resistance\:_%sK_W=Résistance série \: %sK/W - -# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorContainer.java -Cable_slot=Fente pour le câble - -# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorDescriptor.java -Can_measure\:=Peut mesurer \: -Measures_temperature_of_cables.=Mesure la température des câbles. -Measures_thermal_values_on_cables.=Mesure la valeur de la température\nsur les câbles -__Temperature_Power_conducted=Température / Puissance - -# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorGui.java -Measured_temperature\ncorresponding\nto_0%_output=Mesure la température\ncorrespondant\nà 0% de la sortie -Measured_temperature\ncorresponding\nto_100%_output=Mesure la température\ncorrespondant\nà 100% de la sortie -Temperature=Température - -# ./src/main/java/mods/eln/sixnode/tutorialsign/TutorialSignElement.java -No_text_associated_to_this_beacon=Pas de texte associé à cette balise - -# ./src/main/java/mods/eln/sixnode/tutorialsign/TutorialSignGui.java -Set_beacon_name=Nom de beacon \: - -# ./src/main/java/mods/eln/sixnode/wirelesssignal/rx/WirelessSignalRxGui.java - -# ./src/main/java/mods/eln/transparentnode/FuelGenerator.kt -Nominal_power\:_%s_W=Puissance nominale \: %s W -Nominal_voltage\:_%s_V=Tension nominale \: %s V -Produces_electricity_using_fuel.=Produit de l’électricité à partir d'essence. - -# ./src/main/java/mods/eln/transparentnode/LargeRheostat.kt -Nom._Resistance\:_%s=Résistance nom. \: %s - -# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerContainer.java -Drill_slot=Emplacement de la tête de forage -Mining_pipe_slot=Emplacement pour un tuyau minier -Ore_scanner_slot=Emplacement pour un analyseur de minerai - -# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerDescriptor.java -Excavates_on_a_small_radius.\nExtracts_ore_on_a_bigger_radius\:\n10_blocks_radius_after_10_blocks_depth.=Creuse dans un faible rayon.\nExtrait les minerais dans un plus grand rayon \:\nRayon de 10 blocs après 10 blocs de profondeur. - -# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerGuiDraw.java -Chest_missing_on_the\nback_of_the_auto_miner!=Il manque un coffre\nen arrière de l'auto miner -Halves_speed,_triples_power_draw=Moitié de la vitesse, puissance triple -Silk_Touch_Off=Silk Touch Off -Silk_Touch_On=Silk Touch On -Silk_touch=Silk touch - -# ./src/main/java/mods/eln/transparentnode/battery/BatteryContainer.java -Overheating_protection=Protection anti-surchauffe -Overvoltage_protection=Protection anti-surtension - -# ./src/main/java/mods/eln/transparentnode/battery/BatteryDescriptor.java -Actual_charge\:_%s=Charge actuelle\: %s -Energy_capacity\:_%sJ=Capacité énergétique \: %sJ -_charged_at_%s=chargé à %s - -# ./src/main/java/mods/eln/transparentnode/battery/BatteryGuiDraw.java -Charge=Charge -Charged=Chargé -Discharge=Décharge -Energy\:=Energie \: -Energy\:_%s=Energie \: %s -Life\:=Vie \: -No_charge=Pas de charge -Power_in\:=Puissance d'entrée \: -Power_out\:=Puissance de sortie \: - -# ./src/main/java/mods/eln/transparentnode/eggincubator/EggIncubatorContainer.java -Egg_slot=Fente pour les œufs - -# ./src/main/java/mods/eln/transparentnode/electricalantennarx/ElectricalAntennaRxDescriptor.java -Wireless_energy_receiver.=Récepteur d'énergie sans fil - -# ./src/main/java/mods/eln/transparentnode/electricalantennatx/ElectricalAntennaTxDescriptor.java -Efficiency\:_%s_up_to_%s=Efficacité \: de %s à %s -Wireless_energy_transmitter.=Emetteur d'énergie sans fil - -# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceContainer.java -Heating_corp_slot=Emplacement pour Corps de Chauffe - -# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceDescriptor.java -Similar_to_a_vanilla_furnace,\nbut_heats_with_electricity.=semblable au four vanilla\nmais cuit avec de l'électricité - -# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceGuiDraw.java -Auto_shutdown=Arrêt automatique -Manual_shutdown=Arrêt manuel -Set_point\:_%s°C=Consigne \: %s°C - -# ./src/main/java/mods/eln/transparentnode/electricalmachine/ElectricalMachineDescriptor.java -Cost=Prix - -# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceContainer.java -Combustion_chamber_slot=Fente vers la chambre de combustion -Fuel_slot=Emplacement à pétrole - -# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceDescriptor.java -Generates_heat_when_supplied_with_fuel.=Génère de la chaleur lorsqu'il est alimenté en carburant. - -# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceGuiDraw.java -Control_gauge_at_%s=Jauge de contrôle à %s -Decline_fuel=Refuse carburant -External_control=Contrôle externe -Internal_control=Contrôle interne -Take_fuel=Mettez le carburant - -# ./src/main/java/mods/eln/transparentnode/powercapacitor/PowerCapacitorContainer.java -(Increases_maximal_voltage)=(Augmente le voltage maximal) - -# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelContainer.java -Solar_tracker_slot=Traceur de soleil - -# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelDescriptor.java -Can_be_geared_towards_the_sun.=Peut-être orienté vers le soleil. -Max._power\:_%sW=Énergie maximum \: %sW -Max._voltage\:_%sV=Voltage maximum \: %sV -Produces_power_from_solar_radiation.=Produit de l'énergie avec le soleil. - -# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPannelGuiDraw.java -It_is_night=C'est la nuit -Solar_panel_angle\:_%s°=Angle du panneau solaire \: %s° -Sun_angle\:_%s°=Angle du soleil \: %s° - -# ./src/main/java/mods/eln/transparentnode/teleporter/TeleporterGui.java -Destination_transporter=Destination du téléporteur -Power_consumption\:=Consommation électrique \: -Power_consumption\:_%sW=Consommation électrique \: %sW -Required_energy\:_%sJ=Energie demandée\: %sJ -Start=Début -Transporter_name=Nom du transporteur - -# ./src/main/java/mods/eln/transparentnode/thermaldissipatoractive/ThermalDissipatorActiveDescriptor.java -Fan_cooling_power\:_%sW=Puissance de refroidissement du ventilateur \: %sW -Fan_power_consumption\:_%sW=Consommation du ventilateur \: %sW -Fan_voltage\:_%sV=Tension du ventilateur \: %sV - -# ./src/main/java/mods/eln/transparentnode/transformer/TransformerDescriptor.java -The_voltage_ratio_is_proportional\nto_the_cable_stacks_count_ratio.=Le ratio de tension est proportionnel\nau ratio du nombre de câbles empilés. -Transforms_an_input_voltage_to\nan_output_voltage.=Transforme une tension d'entrée en tension de sortie. - -# ./src/main/java/mods/eln/transparentnode/turbine/TurbineDescriptor.java -Generates_electricity_using_heat.=Génère de l'électricité en utilisant la chaleur . -Temperature_difference\:_%s°C=Différence de température\: %s°C - -# ./src/main/java/mods/eln/transparentnode/turret/TurretDescriptor.java -CAUTION\:_Cables_can_get_quite_hot!=Attention \! Les câbles peuvent devenir chaud \! -Laser_charge_power\:_%sW...%skW=Charge de l'énergie du laser \: %sW...%skW -Scans_for_entities_and_shoots_if_the\nentity_matches_the_configurable_filter_criteria.=Scan les entités et tire si \nl'entité est la même que celle configurer -Standby_power\:_%sW=Puissance en veille \: %sW - -# ./src/main/java/mods/eln/transparentnode/turret/TurretGui.java -Attack\:=Attaquer \: -Do_not_attack\:=Ne pas attaquer \: -Recharge_power\:=Puissance de rechargement - -# ./src/main/java/mods/eln/transparentnode/waterturbine/WaterTurbineDescriptor.java -Generates_energy_using_water_stream.=Génère de l'énergie grâce au courant de l'eau. -No_place_for_water_turbine!=Pas de place pour une turbine à eau \! - -# ./src/main/java/mods/eln/transparentnode/windturbine/WindTurbineDescriptor.java -Front\:_%s=Face \: %s -Generates_energy_from_wind.=Génère de l'énergie avec le vent. -Left_Right\:_%s=Gauche/Droite \: %s -Up_Down\:_%s=Haut/Bas \: %s -Wind_area\:=Zone de vent \: - -# ./src/main/java/mods/eln/wiki/Data.java -Energy=Energie -Light=Lumière -Machine=Machine -Ore=Minerai -Portable=Portable -Resource=Ressource -Signal=Signal -Thermal=Thermique -Upgrade=Amélioration -Utilities=Utilitaires -Wiring=Cablage - -# ./src/main/java/mods/eln/wiki/Default.java -Previous=Précédent - -# ./src/main/java/mods/eln/wiki/ItemDefault.java -Can_be_used_to_craft\:=Peut-être utilisé pour fabriquer \: -Cannot_be_crafted!=Impossible de fabriquer ceci \! -Cost_%sJ=Coût %sJ -Created_by\:=Créé par \: -Is_not_a_crafting_material!=N'est pas un matériau de fabrication -Recipe\:=Recette \: - -# Appearing in multiple source files -(Increases_capacity)=(augmente la capacité) -(Increases_inductance)=(Augmente l'inductance) -Actual\:_%s°C=Actuelle \: %s°C -Biggest=Plus grand -Booster_slot=Emplacement pour un booster -Can_create\:=Peut créer \: -Capacity\:_%sF=Capacité \: %sF -Charge_power\:_%sW=Puissance de charge \: %sW -Connected=Connecté -Cooling_power\:_%sW=Puissance de refroidissement \: %sW -Copper_cable_slot=Emplacement pour un câble en cuivre -Dielectric_slot=Emplacement diélectrique -Discharge_power\:_%sW=Puissance de décharge \: %sW -Electrical_cable_slot=Emplacement pour câble électrique -Entity_filter_slot=Emplacement pour filtre à entités -Ferromagnetic_core_slot=Emplacement pour noyau ferromagnétique -Has_a_signal_output.=Dispose d'un signal de sortie. -Inductance\:_%sH=inductance \: %sH -Internal_resistance\:_%sΩ=Résistance interne \: %sΩ -Is_off=C'est éteint -Is_on=C'est allumé -Max._temperature\:_%s°C=Temperature max \: %s°C -Measured_value\ncorresponding\nto_0%_output=Mesure la valeur\ncorrespondant\nà 0% de la sortie -Measured_value\ncorresponding\nto_100%_output=Mesure la valeur\ncorrespondant\nà 100% de la sortie -Nominal\:=Nominale \: -Nominal_power\:_%sW=Puissance nominale \: %sW -Nominal_usage\:=Utilisation nominale \: -Nominal_voltage\:_%sV=Tension nominale\: %sV -Not_connected=Pas connecté -Not_enough_space_for_this_block=Pas assez d'espace pour ce bloc -Power=Énergie -Power\:_%sW=Puissance\: %sW -Range\:_%s_blocks=Portée\: %s blocks -Redstone_slot=Emplacement pour Redstone -Regulator_slot=Emplacement pour le régulateur -Reset=Réinitialiser -Resistance\:_%sΩ=Résistance\: %sΩ -Smallest=Plus petit -Specify_the_channel=Spécifier le canal -Stored_energy\:_%sJ_(%s)=Energie stockée \: %sJ (%s) -Temperature\:_%s°C=Température\: %s°C -Temperature_gauge=Gauge de température -Thermal_isolator_slot=Emplacement pour Isolateur Thermique -Toggle=Basculer -Toggle_switch=Interrupteur à bascule -Toggles_the_output_each_time\nan_emitter's_value_rises.\nUseful_to_allow_multiple_buttons\nto_control_the_same_light.=Bascule la valeur de la sortie chaque fois\nque la valeur de l'émetteur augmente.\nUtile pour permettre à plusieurs boutons\nde contrôler la même lampe. -Used_to_cool_down_turbines.=Utilisé pour refroidir les turbines. -Uses_the_biggest\nvalue_on_the_channel.=Utilise la plus grande valeur\nsur la chaîne -Uses_the_smallest\nvalue_on_the_channel.=Utilise la plus petite valeur\nsur la chaîne -Validate=Valider -Voltage\:_%sV=Tension \: %sV -You_can't_place_this_block_at_this_side=Vous ne pouvez pas poser de bloc sur ce côté +eln:# +eln: +eln:# ./src/main/java/mods/eln/Achievements.java +eln:Electrical_Age_[WIP]=L'ère de l’électricité [travail en cours... ] +eln:achievement.craft_50v_macerator=Novice +eln:achievement.craft_50v_macerator.desc=Créer un macérateur 50V +eln:achievement.open_guide=Wiki Power +eln:achievement.open_guide.desc=Ouvrir le guide wiki +eln: +eln:# ./src/main/java/mods/eln/Eln.java +eln:10A_Diode.name=Diode 10A +eln:200V_Active_Thermal_Dissipator.name=Dissipateur thermique actif 200V +eln:200V_Battery_Charger.name=Chargeur de batterie 200V +eln:200V_Compressor.name=Compresseur 200V +eln:200V_Condensator.name=Condensateur 200V +eln:200V_Copper_Heating_Corp.name=Corps de Chauffe en Cuivre 200V +eln:200V_Economic_Light_Bulb.name=Ampoule économique 200V +eln:200V_Farming_Lamp.name=Lampe de culture 200V +eln:200V_Fuel_Generator.name=Générateur à essence 200V +eln:200V_Incandescent_Light_Bulb.name=Ampoule à incandescence 200V +eln:200V_Iron_Heating_Corp.name=Corps de Chauffe en Fer 200V +eln:200V_LED_Bulb.name=Ampoule LED 200V +eln:200V_Macerator.name=Macérateur 200V +eln:200V_Magnetizer.name=Magnétiseur 200V +eln:200V_Plate_Machine.name=Applatisseur 200V +eln:200V_Power_Socket.name=Prise électrique 200V +eln:200V_Tungsten_Heating_Corp.name=Corps de Chauffe en Tungstène 200V +eln:200V_Turbine.name=Turbine 200V +eln:25A_Diode.name=Diode 25A +eln:50V_Battery_Charger.name=Chargeur de batterie 50V +eln:50V_Carbon_Incandescent_Light_Bulb.name=Ampoule incandescente au charbon 50V +eln:50V_Compressor.name=Compresseur 50V +eln:50V_Condensator.name=Condensateur 50V +eln:50V_Copper_Heating_Corp.name=Corps de Chauffe en Cuivre 50V +eln:50V_Economic_Light_Bulb.name=Ampoule économique 50V +eln:50V_Egg_Incubator.name=Incubateur d’œufs 50V +eln:50V_Farming_Lamp.name=Lampe de culture 50V +eln:50V_Fuel_Generator.name=Générateur à essence 50V +eln:50V_Incandescent_Light_Bulb.name=Ampoule à incandescence 50V +eln:50V_Iron_Heating_Corp.name=Corps de Chauffe en Fer 50V +eln:50V_LED_Bulb.name=Ampoule LED 50V +eln:50V_Macerator.name=Macérateur 50V +eln:50V_Magnetizer.name=Magnétiseur 50V +eln:50V_Plate_Machine.name=Aplatisseur 50V +eln:50V_Power_Socket.name=Prise électrique 50V +eln:50V_Tungsten_Heating_Corp.name=Corps de Chauffe en Tungstène 50V +eln:50V_Turbine.name=Turbine 50V +eln:800V_Defence_Turret.name=Tourelle de défense 800V +eln:AND_Chip.name=Porte logique ET +eln:Advanced_Chip.name=Puce avancée +eln:Advanced_Electrical_Motor.name=Moteur électrique avancé +eln:Advanced_Energy_Meter.name=Compteur d'énergie avancé +eln:Advanced_Machine_Block.name=Bloc de machine avancé +eln:Advanced_Magnet.name=Aimant avancé +eln:AllMeter.name=Multimètre +eln:Alloy_Dust.name=Poudre d'alliage +eln:Alloy_Ingot.name=Lingot d'alliage +eln:Alloy_Plate.name=Plaque d'alliage +eln:Analog_Watch.name=Horloge +eln:Analog_vuMeter.name=Jauge analogique +eln:Analogic_Regulator.name=Régulateur analogique +eln:Animal_Filter.name=Filtre d'animaux +eln:Auto_Miner.name=Mineur automatique +eln:Average_Electrical_Drill.name=Tête de forage normale +eln:Average_Ferromagnetic_Core.name=Noyau Ferromagnétique Moyen +eln:Basic_Magnet.name=Aimant basique +eln:Black_Brush.name=Brosse noire +eln:Blue_Brush.name=Brosse bleue +eln:Brown_Brush.name=Brosse marron +eln:Capacity_Oriented_Battery.name=Batterie à capacité élevée +eln:Cheap_Chip.name=Puce bon marché +eln:Cheap_Electrical_Drill.name=Tête de forage bon marché +eln:Cheap_Ferromagnetic_Core.name=Noyau Ferromagnétique Bon Marché +eln:Cinnabar_Dust.name=Poudre de cinabre +eln:Cinnabar_Ore.name=Minerai de cinabre +eln:Coal_Dust.name=Charbon +eln:Coal_Plate.name=Plaque de charbon +eln:Combustion_Chamber.name=Chambre de combustion +eln:Copper_Cable.name=Câble en cuive +eln:Copper_Dust.name=Poudre de cuivre +eln:Copper_Ingot.name=Lingot de cuivre +eln:Copper_Ore.name=Minerai de cuivre +eln:Copper_Plate.name=Plaque de cuivre +eln:Copper_Thermal_Cable.name=Câble thermique en cuivre +eln:Cost_Oriented_Battery.name=Batterie à faible coût +eln:Current_Oriented_Battery.name=Batterie à courant élevé +eln:Cyan_Brush.name=Brosse Cyan +eln:D_Flip_Flop_Chip.name=Bascule D +eln:Data_Logger.name=Enregistreur de données +eln:Data_Logger_Print.name=Imprimante pour enregistreur de données +eln:Dielectric.name=Diélectrique +eln:Digital_Watch.name=Horloge digitale +eln:Electrical_Anemometer_Sensor.name=Anémomètre Électrique +eln:Electrical_Breaker.name=Disjoncteur éléctrique +eln:Electrical_Daylight_Sensor.name=Capteur de jour +eln:Electrical_Entity_Sensor.name=Capteur de luminosité +eln:Electrical_Fire_Detector.name=Capteur de feu +eln:Electrical_Furnace.name=Four électrique +eln:Electrical_Light_Sensor.name=Capteur de luminosité +eln:Electrical_Motor.name=Moteur électrique +eln:Electrical_Probe.name=Sonde électrique +eln:Electrical_Probe_Chip.name=Puce pour Sonde Électrique +eln:Electrical_Source.name=Source électrique +eln:Electrical_Timer.name=Horloge électrique +eln:Electrical_Weather_Sensor.name=Station météo électrique +eln:Electrical_age_wrench,\nCan_be_used_to_turn\nsmall_wall_blocks=Clef à molette d'Electrical Age,\npeut être utilisée pour\ntourner des petits blocs muraux +eln:Energy_Meter.name=Compteur d'énergie +eln:Experimental_Transporter.name=Téléporteur expérimental +eln:Fast_Electrical_Drill.name=Tête de forage rapide +eln:Ferrite_Ingot.name=Lingot de ferrite +eln:Flat_Lamp_Socket.name=Douille de lampe plate +eln:Fluorescent_Lamp_Socket.name=Douille de lampe fluorescente +eln:Generator.name=Générateur +eln:Gold_Dust.name=Poussière d'or +eln:Gold_Plate.name=Plaque en or +eln:Gray_Brush.name=Brosse grise +eln:Green_Brush.name=Brosse verte +eln:Ground_Cable.name=Prise de terre +eln:High_Power_Receiver_Antenna.name=Antenne de récéption longue portée +eln:High_Power_Transmitter_Antenna.name=Antenne de transmition longue portée +eln:High_Voltage_Cable.name=Câble électrique à haute tension +eln:High_Voltage_Relay.name=Relais à haute tension +eln:High_Voltage_Switch.name=Interrupteur à haute tension +eln:Hub.name=Pivot\n +eln:Industrial_Data_Logger.name=Enregistreur de données industriel +eln:Iron_Cable.name=Câble en fer +eln:Iron_Dust.name=Poussière de fer +eln:Iron_Plate.name=Plaque de fer +eln:JK_Flip_Flop_Chip.name=Bascule JK +eln:LED_vuMeter.name=vuMètre LED +eln:Lamp_Socket_A.name=Douille de lampe A +eln:Lamp_Socket_B_Projector.name=Douille de lampe B Projectrice +eln:Lamp_Supply.name=Alimentation de lampe +eln:Large_Rheostat.name=Large Rheostat +eln:Lead_Dust.name=Poudre de plomb +eln:Lead_Ingot.name=Lingot de plomb +eln:Lead_Ore.name=Minerai de plomb +eln:Lead_Plate.name=Plaque de plomb +eln:Life_Oriented_Battery.name=Batterie à durée de vie élevée +eln:Light_Blue_Brush.name=Pinceau bleu clair +eln:Lime_Brush.name=Pinceau couleur citron +eln:Long_Suspended_Lamp_Socket.name=Douille de lampe suspendue (long) +eln:Low_Power_Receiver_Antenna.name=Antenne de réception courte portée +eln:Low_Power_Transmitter_Antenna.name=Antenne de transmission courte portée +eln:Low_Voltage_Cable.name=Câble électrique à basse tension +eln:Low_Voltage_Relay.name=Relais basse tension +eln:Low_Voltage_Switch.name=Interrupteur basse tension +eln:Machine_Block.name=Bloc de machine +eln:Machine_Booster.name=Booster de machine +eln:Magenta_Brush.name=Pinceau magenta +eln:Medium_Power_Receiver_Antenna.name=Antenne de réception moyenne portée +eln:Medium_Power_Transmitter_Antenna.name=Antenne de transmition moyenne portée +eln:Medium_Voltage_Cable.name=Câble électrique à tension moyenne +eln:Medium_Voltage_Relay.name=Relais moyenne tension +eln:Medium_Voltage_Switch.name=Interrupteur à moyenne tension +eln:Mercury.name=Mercure +eln:Mining_Pipe.name=Tuyau minier +eln:Modbus_RTU.name=Modbus RTU +eln:Modern_Data_Logger.name=Enregistreur de données moderne +eln:Monster_Filter.name=Filtre de monstre +eln:MultiMeter.name=Multimètre +eln:NAND_Chip.name=Porte logique NON-ET +eln:NOR_Chip.name=Porte logique NON-OU +eln:NOT_Chip.name=Porte logique NON +eln:Nuclear_Alarm.name=Alarme nucléaire +eln:OR_Chip.name=Porte logique OU +eln:On_OFF_Regulator_10_Percent.name=Régulateur on/off 10% +eln:On_OFF_Regulator_1_Percent.name=On/off regulator 1% +eln:Optimal_Ferromagnetic_Core.name=Noyau Ferromagnétique Optimal +eln:Orange_Brush.name=Pinceau orange +eln:Ore_Scanner.name=Analyseur de minerai +eln:Oscillator_Chip.name=Oscillateur +eln:Overheating_Protection.name=Protection contre la surchauffe +eln:Overvoltage_Protection.name=Protection contre le survoltage +eln:PAL_Chip.name=Puce PAL +eln:Pink_Brush.name=Pinceau rose +eln:Player_Filter.name=Filtre de joueur +eln:Portable_Battery.name=Batterie portable +eln:Portable_Battery_Pack.name=Batteries portables +eln:Portable_Condensator.name=Condensateur portable +eln:Portable_Condensator_Pack.name=Condensateurs portables +eln:Portable_Electrical_Axe.name=Pioche éléctrique portable +eln:Portable_Electrical_Mining_Drill.name=Foreuse électrique portable +eln:Power_Capacitor.name=Condensateur de puissance +eln:Power_Inductor.name=Inducteur de Puissance +eln:Power_Resistor.name=Résistance de puissance +eln:Power_capacitor.name=Condensateur de puissance +eln:Power_inductor.name=Inducteur de Puissance +eln:Purple_Brush.name=Pinceau violet +eln:Red_Brush.name=Pinceau rouge +eln:Redstone-to-Voltage_Converter.name=Convertisseur tension-redstone +eln:Rheostat.name=Rhéostat +eln:Robust_Lamp_Socket.name=Solide Douille de Lampe +eln:Rubber.name=Caoutchouc +eln:Schmitt_Trigger_Chip.name=Bascule de Schmitt +eln:Sconce_Lamp_Socket.name=Douille de Lampe de Chandelier +eln:Signal_20H_inductor.name=Inductance 20H pour signaux +eln:Signal_Antenna.name=Antenne de signal +eln:Signal_Button.name=Bouton de signal +eln:Signal_Cable.name=Câble électrique pour signaux +eln:Signal_Diode.name=Diode pour signaux +eln:Signal_Processor.name=Processeur de signaux +eln:Signal_Relay.name=Relais de signaux +eln:Signal_Source.name=Signal source +eln:Signal_Switch.name=Interrupteur pour signaux +eln:Signal_Switch_with_LED.name=Interrupteur pour signaux avec LED +eln:Signal_Trimmer.name=Jauge de signal +eln:Silicon_Dust.name=Poudre de silicium +eln:Silicon_Ingot.name=Lingot de silicium +eln:Silicon_Plate.name=Plaque de silicium +eln:Silver_Brush.name=Pinceau couleur argent +eln:Simple_Lamp_Socket.name=Douille de lampe simple +eln:Single-use_Battery.name=Batterie à usage unique +eln:Small_200V_Copper_Heating_Corp.name=Petit Corps de Chauffe en Cuivre 200V +eln:Small_200V_Iron_Heating_Corp.name=Petit Corps de Chauffe en Fer 200V +eln:Small_200V_Tungsten_Heating_Corp.name=Petit Corps de Chauffe en Tungstène 200V +eln:Small_50V_Carbon_Incandescent_Light_Bulb.name=Petite Ampoule Incandescente Au Charbon 50V +eln:Small_50V_Copper_Heating_Corp.name=Petit Corps de Chauffe en Cuivre 50V +eln:Small_50V_Economic_Light_Bulb.name=Petite ampoule économique 50V +eln:Small_50V_Incandescent_Light_Bulb.name=Petite ampoule à incandescence 50V +eln:Small_50V_Iron_Heating_Corp.name=Petit Corps de Chauffe en Fer 50V +eln:Small_50V_Tungsten_Heating_Corp.name=Petit Corps de Chauffe en Tungstène 50V +eln:Small_Active_Thermal_Dissipator.name=Petit dissipateur thermique actif +eln:Small_Flashlight.name=Lampe de poche +eln:Small_Passive_Thermal_Dissipator.name=Petit dissipateur thermique passif +eln:Small_Rotating_Solar_Panel.name=Petit panneau solaire rotatif +eln:Small_Solar_Panel.name=Petit panneau solaire +eln:Solar_Tracker.name=Pisteur solaire +eln:Standard_Alarm.name=Alarme standard +eln:Steam_Turbine.name=Turbine à vapeur +eln:Stone_Heat_Furnace.name=Four de chauffe en pierre +eln:Street_Light.name=Lampadaire +eln:Suspended_Lamp_Socket.name=Douille de Lampe Suspendue +eln:Temperature_Probe.name=Sonde de température +eln:Thermal_Probe.name=Sonde de température +eln:Thermal_Probe_Chip.name=Puce pour Sonde de Température +eln:Thermistor.name=Thermistance +eln:ThermoMeter.name=Thermomètre +eln:Transformer.name=Transformateur +eln:Tree_Resin.name=Résine d'arbre +eln:Tree_Resin_Collector.name=Collecteur de résine d'arbre +eln:Tungsten_Cable.name=Câble électrique au tungsten +eln:Tungsten_Dust.name=Poudre de tungstène +eln:Tungsten_Ingot.name=Lingot de tungstène +eln:Tungsten_Ore.name=Minerai de tungstène +eln:Tutorial_Sign.name=Panneau de tutoriel +eln:Very_High_Voltage_Cable.name=Câble électrique à très haute tension +eln:Very_High_Voltage_Relay.name=Relais à très haute tension +eln:Very_High_Voltage_Switch.name=Interrupteur à très haute tension +eln:Voltage-to-Redstone_Converter.name=Convertisseur tension-redstone +eln:Voltage_Oriented_Battery.name=Batterie à tension élevée +eln:Voltage_Probe.name=Sonde de tension +eln:Water_Turbine.name=Turbine à eau +eln:Weak_50V_Battery_Charger.name=Chargeur de batterie 50V faible +eln:White_Brush.name=Pinceau blanc +eln:Wind_Turbine.name=Éolienne +eln:Wireless_Analyser.name=Analyseur sans fil +eln:Wireless_Button.name=Bouton sans fil +eln:Wireless_Signal_Receiver.name=Recepteur de signal sans-fil +eln:Wireless_Signal_Repeater.name=Répéteur sans fil +eln:Wireless_Signal_Transmitter.name=Transmetteur de signal sans-fil +eln:Wireless_Switch.name=Interrupteur sans fil +eln:Wrench.name=Clé à molette +eln:X-Ray_Scanner.name=Scanner à rayons X +eln:XNOR_Chip.name=Port logique OU exclusif +eln:XOR_Chip.name=Porte logique OU exclusif +eln:Yellow_Brush.name=Pinceau jaune +eln:entity.EAReplicator.name=Duplicateur +eln:item.Copper Pioche en Cuivre +eln:item.Copper Pioche en Cuivre +eln:item.Copper Pioche en Cuivre +eln:item.Copper Pioche en Cuivre +eln:item.Copper Pioche en Cuivre +eln:item.Copper Pioche en Cuivre +eln:item.Copper Pioche en Cuivre +eln:item.Copper Pioche en Cuivre +eln:item.Copper Pioche en Cuivre +eln:item.E-Coal Botte de E-charbon +eln:item.E-Coal Botte de E-charbon +eln:item.E-Coal Botte de E-charbon +eln:item.E-Coal Botte de E-charbon +eln:itemGroup.Eln=Electrical Age +eln:mod.meta.desc=Electricité présente dans votre base \! +eln:tile.eln.ElnProbe.name=Sonde Eln pour Ordinateur +eln:tile.eln.EnergyConverterElnToOtherHVUBlock.name=Convertisseur 800V d'EA vers une autre énergie +eln:tile.eln.EnergyConverterElnToOtherLVUBlock.name=Convertisseur 50V d'EA vers une autre énergie +eln:tile.eln.EnergyConverterElnToOtherMVUBlock.name=Convertisseur 200V d'EA vers une autre énergie +eln: +eln:# ./src/main/java/mods/eln/i18n/I18N.java +eln:You_have_%s_lives_left=Il vous reste encore %s vies +eln: +eln:# ./src/main/java/mods/eln/item/BrushDescriptor.java +eln:Brush_is_dry=Votre brosse est sèche +eln:Can_paint_%s_blocks=Peut peindre %s blocks +eln: +eln:# ./src/main/java/mods/eln/item/CombustionChamber.java +eln:Upgrade_for_the_Stone_Heat_Furnace.=Amélioration pour le four de chauffe en pierre +eln: +eln:# ./src/main/java/mods/eln/item/ElectricalDrillDescriptor.java +eln:Energy_per_operation\:_%sJ=Energie par opération \: %sJ +eln:Time_per_operation\:_%ss=Temps par opération \: %ss +eln: +eln:# ./src/main/java/mods/eln/item/FerromagneticCoreDescriptor.java +eln:Cable_loss_factor\:_%s=Facteur de perte du câble \: %s +eln: +eln:# ./src/main/java/mods/eln/item/HeatingCorpElement.java +eln: +eln:# ./src/main/java/mods/eln/item/LampDescriptor.java +eln:Bad=Mauvais +eln:Condition\:=Conditions \: +eln:End_of_life=Fin de vie +eln:Good=Bon +eln:New=Nouveau +eln:Nominal_lifetime\:_%sh=Durée de vie nominale \: %sh +eln:Technology\:_%s=Technologie \: %s +eln:Used=Utilisé +eln: +eln:# ./src/main/java/mods/eln/item/LampSlot.java +eln:Lamp_slot=Emplacement pour une lampe +eln: +eln:# ./src/main/java/mods/eln/item/OverHeatingProtectionDescriptor.java +eln:Useful_to_prevent_overheating\nof_Batteries=Utile pour prévenir une\nsurchauffe des batteries +eln: +eln:# ./src/main/java/mods/eln/item/OverVoltageProtectionDescriptor.java +eln:Useful_to_prevent_over-voltage\nof_Batteries=Utile pour prévenir d'une\nsurtension des batteries +eln: +eln:# ./src/main/java/mods/eln/item/SolarTrackerDescriptor.java +eln:Solar_panel_upgrade=Amélioration du panneau solaire +eln: +eln:# ./src/main/java/mods/eln/item/electricalitem/BatteryItem.java +eln: +eln:# ./src/main/java/mods/eln/item/electricalitem/ElectricalLampItem.java +eln:Off=Off +eln:On=On +eln:State\:=Etat \: +eln:Stored_Energy\:_%sJ_(%s)=Energie stockée \: %sJ (%s) +eln: +eln:# ./src/main/java/mods/eln/item/regulator/RegulatorSlot.java +eln: +eln:# ./src/main/java/mods/eln/misc/UtilsClient.java +eln:Hold_shift=Maintenir la touche shift +eln: +eln:# ./src/main/java/mods/eln/misc/Version.java +eln:mod.name=Electrical Age +eln: +eln:# ./src/main/java/mods/eln/node/six/SixNodeDescriptor.java +eln: +eln:# ./src/main/java/mods/eln/simplenode/energyconverter/EnergyConverterElnToOtherGui.java +eln:Input_power_is_limited_to_%sW=La tension d'entrée est limitée à %sW +eln: +eln:# ./src/main/java/mods/eln/sixnode/LogicGate.kt +eln:_O\:_= Sortie \: +eln: +eln:# ./src/main/java/mods/eln/sixnode/TreeResinCollector/TreeResinCollectorDescriptor.java +eln:Produces_Tree_Resin_over\ntime_when_put_on_a_tree.=Produit de la Résine d'arbre\nune fois mis sur un arbre +eln:This_block_can_only_be_placed_on_the_side_of_a_tree!=Ce bloc peut seulement être placé à côté d'un arbre +eln: +eln:# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerContainer.java +eln:Battery_slot=Emplacement pour une batterie +eln: +eln:# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerDescriptor.java +eln:Can_be_used_to_recharge\nelectrical_items_like\:\nFlash_Light,_X-Ray_scanner\nand_Portable_Battery_...=Peut être utilisé pour\nrecharger des objects \nélectriques comme \:\nlampe de poche, scanner à rayons X\net batterie portable +eln: +eln:# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerGui.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/diode/DiodeDescriptor.java +eln:Electrical_current_can_only\nflow_through_the_diode\nfrom_anode_to_cathode=Le courant électrique ne\npeut circuler que dans un sens\nde l'anode à la cathode +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalalarm/ElectricalAlarmDescriptor.java +eln:= +eln:Emits_an_acoustic_alarm_if\nthe_input_signal_is_high=Émet une alarme acoustique si\nle signal d'entrée est élevé +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalalarm/ElectricalAlarmGui.java +eln:Sound_is_muted=Le son est me en sourdine +eln:Sound_is_not_muted=Le son n´est pas me en sourdine +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerContainer.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerDescriptor.java +eln:Protects_electrical_components\nOpens_contact_if\:\n__-_Voltage_exceeds_a_certain_level\n-_Current_exceeds_the_cable_limit=Protège les composants électriques\nouvre le contact si \:\n- le voltage excède un certain niveau\n- le courant excède la limite du câble +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerGui.java +eln:Maximum_voltage_before_cutting_off=Tension maximale avant coupure +eln:Minimum_voltage_before_cutting_off=Tension minimale avant coupure +eln:Switch_is_off=L'interrupteur est éteint +eln:Switch_is_on=L'interrupteur est allumé +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalcable/ElectricalCableDescriptor.java +eln:A_signal_is_electrical_information\nwhich_must_be_between_0V_and_%sV=un signal est de l'information électrique\nqui doit être entre 0V et %sV. +eln:Cable_is_adapted_to_conduct\nelectrical_signals.=Le câble est adapté pour\nconduire un signal électrique. +eln:Current\:_%sA=Courant\: %sA +eln:Not_adapted_to_transport_power.=Pas adapté pour transporter de la puissance. +eln:Save_usage\:=Utilisation sécuritaire\: +eln:Serial_resistance\:_%sΩ=Résistance série \: %sΩ +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerDescriptor.java +eln:It_can_store_up_to_256_points.=Il peut sauver jusqu'à 256 points. +eln:Measures_the_voltage_of_an\nelectrical_signal_and_plots\nthe_data_in_real_time.=Mesure la tension d'un\nsignal électrique et trace\nles donnés en temps réel. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerGui.java +eln:Back_to_display=Retour à l'affichage +eln:Configuration=Paramétrage +eln:Current_[A]=Courant [A] +eln:Energy_[J]=Energie [J] +eln:Percent_[-]%=Pourcentage [-]% +eln:Power_[W]=Puissance [W] +eln:Print=Imprimer +eln:Sampling_period=Période d’échantillonnage +eln:Temp._[*C]=Température [*C] +eln:Voltage_[V]=Tension [V] +eln:Y-axis_max=Max. axe Y +eln:Y-axis_min=Min. axe Y +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorContainer.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorDescriptor.java +eln:Output_voltage_increases\nif_entities_are_moving_around.=La tension de sortie augmente\nsi une entité se déplace autour. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalfiredetector/ElectricalFireDetectorDescriptor.java +eln:Output_voltage_increases\nif_a_fire_has_been_detected.=La tension de sortie augmente\nsi du feu a été détecté. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceDescriptor.java +eln:Provides_configurable_signal\nvoltage.=le voltage est configurable +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceGui.java +eln:Output_at_%s=Sortie de %s +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricallightsensor/ElectricalLightSensorDescriptor.java +eln:0V_at_night,_%sV_at_noon.=0V la nuit, %sV le midi. +eln:Provides_an_electrical_voltage\nin_the_presence_of_light.=Fournit une tension électrique\nen présence de lumière. +eln:Provides_an_electrical_voltage\nwhich_is_proportional_to\nthe_intensity_of_daylight.=Produit un voltage\nqui est proportionnel\nà l'intensité de la lumière du jour +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathContainer.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathDescriptor.java +eln:Applicable_boolean_operators\:=S'applique aux opérateurs booléens \: +eln:Applicable_functions\:=Fonctions disponibles \: +eln:Applicable_mathematical_operators\:=S'applique aux opérateurs mathématiques \: +eln:Calculates_an_output_signal_from\n3_inputs_(A,_B,_C)_using_an_equation.=Calcul le signal de sortie en fonction des\n3 entrés (A, B, C) en utilisant une équation. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathGui.java +eln:%s_Redstone(s)_required=%s Redstone(s) requis +eln:Equation_required!=Équation requise\! +eln:Inputs_are=L'entrée est +eln:Invalid_equation!=Équation invalide\! +eln:Output_voltage_formula=Formule de la tension de sortie +eln:Waiting_for_completion...=En attente de complétion... +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalredstoneinput/ElectricalRedstoneInputDescriptor.java +eln:Converts_Redstone_signal\nto_an_electrical_voltage.=Convertit un signal Redstone\nen une tension électrique. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalredstoneoutput/ElectricalRedstoneOutputDescriptor.java +eln:Converts_electrical_voltage\ninto_a_Redstone_signal.=Convertit une tension électrique\nen un signal Redstone. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalrelay/ElectricalRelayDescriptor.java +eln:A_relay_is_an_electrical\ncontact_that_conducts_electric\ncurrent_or_not,_depending\nthe_actual_input_signal_voltage.=Un relai est un contact\nélectrique qui conduit ou non\nle courant en fonction\nde la tension en entrée. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalrelay/ElectricalRelayGui.java +eln:Normally_closed=Fermé par défaut +eln:Normally_open=Ouvert par défaut +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalsource/ElectricalSourceDescriptor.java +eln:Creative_block.=Bloc créatif. +eln:Provides_an_ideal_voltage_source\nwithout_energy_or_power_limitation.=Fournit une source de tension idéale\nsans limite d'énergie ou de puissance. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalsource/ElectricalSourceGui.java +eln:Output_voltage=Tension de sortie +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalswitch/ElectricalSwitchDescriptor.java +eln:Can_break_an_electrical_circuit\ninterrupting_the_current.=Peut briser un circuit électrique\nInterrompt le courant +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricaltimeout/ElectricalTimeoutDescriptor.java +eln:Upon_application_of_a_high_signal,\nthe_timer_maintains_the_output_high_for\na_configurable_interval._Can_be_re-triggered.=Lorsqu'un signal haut est appliqué,\nle minuteur maintient la sortie haute pendant\nun intervalle configurable. Peut être activé plusieurs fois. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricaltimeout/ElectricalTimeoutGui.java +eln:Set=Fixer +eln:The_time_interval_the\noutput_is_kept_high.=L'intervalle de temps durant lequel\nla sortie est dans l'état haut. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalvumeter/ElectricalVuMeterDescriptor.java +eln:Displays_the_value_of_a_signal.=Affichage la valeur du signal +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalwatch/ElectricalWatchContainer.java +eln:Portable_battery_slot=Emplacement pour batterie portable +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalweathersensor/ElectricalWeatherSensorDescriptor.java +eln:Clear\:_%sV=Nettoyage \: %sV +eln:Provides_an_electrical_signal\ndepending_the_actual_weather.=Fournit une tension électrique selon la température +eln:Rain\:_%sV=Pluie \: %sV +eln:Storm\:_%sV=Orage \: %sV +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalwindsensor/ElectricalWindSensorDescriptor.java +eln:Maximum_wind_speed_is_%sm_s=La vitesse maximale du vent est %sm/s +eln:Provides_an_electrical_signal\ndependant_on_wind_speed.=Fournit une tension électrique\ndépendant de la vitesse du vent +eln:You_can't_place_this_block_on_the_floor_or_the_ceiling=Vous ne pouvez pas placer ce bloc sur le sol ou au plafond +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricasensor/ElectricalSensorDescriptor.java +eln:Can_measure_Voltage_Power_Current=Peut mesurer une tension/une puissance/un courant +eln:Measures_electrical_values_on_cables.=Mesure les valeurs électriques des câbles. +eln:Measures_voltage_on_cables.=Mesure la tension des câbles. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricasensor/ElectricalSensorGui.java +eln:Current=Courant +eln:Measured_voltage\ncorresponding\nto_0%_output=Mesure le voltage\ncorrespondant\nà 0% de la sortie +eln:Measured_voltage\ncorresponding\nto_100%_output=Mesure le voltage\ncorrespondant\nà 100% de la sortie +eln:Voltage=Tension +eln: +eln:# ./src/main/java/mods/eln/sixnode/energymeter/EnergyMeterGui.java +eln:Change_password=Changer le mot de passe +eln:Counter_Mode=Mode Compteur +eln:Counts_the_energy_conducted_from\n\u00a74red\u00a7f_to_\u00a71blue\u00a7f.=Compte l'énergie conduit par\n\\u00a74red\\u00a7f à \\u00a71blue\\u00a7f +eln:Energy_counter\:_%sJ=Compteur d'énergie \: %sJ +eln:Enter_new_energy=Entrez une nouvelle énergie +eln:Enter_password=Entrez le mot de passe +eln:Prepay_Mode=Mode Prépayé +eln:Reset_time_counter=Mettre à zéro le compteur de temps +eln:Set_energy_counter=Régler le compteur d'énergie +eln:Time_counter\:=Compteur de temps \: +eln:Try_password=Essayer un mot de passe +eln:You_can_set_an_initial\namount_of_available_energy.\nWhen_the_counter_arrives_at_0\nthe_contact_will_be_opened.=Vous pouvez régler une quantité\ninitiale d'énergie disponible.\nQuand le compteur arrive à 0\nle contact sera ouvert. +eln:is_off=Éteint +eln:is_on=Allumé +eln:value_in_kJ=Valeur en kJ +eln: +eln:# ./src/main/java/mods/eln/sixnode/groundcable/GroundCableDescriptor.java +eln:Can_be_used_to_set_a_point_of_an\nelectrical_network_to_0V_potential.\nFor_example_to_ground_negative_battery_contacts.=Peut être utilisé pour mettre un point\ndu réseau électrique au potentiel 0V.\nPar exemple pour mettre à la terre la borne moins d'une batterie. +eln:Provides_a_zero_volt_reference.=Fournit une référence de tension de 0 volt. +eln: +eln:# ./src/main/java/mods/eln/sixnode/hub/HubDescriptor.java +eln:Allows_crossing_cables\non_one_single_block.=Permet aux câbles de se croiser\nsur un seul bloc +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketDescriptor.java +eln:Angle\:_%s°_to_%s°=Angle\: %s° à %s° +eln:Spot_range\:_%s_blocks=Portée\: %s blocks +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketGuiDraw.java +eln:%s_is_not_in_range!=%s n'est pas à portée +eln:Cable_slot_empty=Logement vide pour le câble +eln:Orientation\:_%s°=Orientation \: %s° +eln:Parallel=Parallèle +eln:Powered_by_Lamp_Supply=Alimentée par une alimentation de lampe +eln:Powered_by_cable=Alimenté par câble +eln:Serial=En série +eln:Specify_the_supply_channel=Spécifier le canal d'alimentation +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyContainer.java +eln:Electrical_cable_slot\nBase_range_is_32_blocks.\nEach_additional_cable\nincreases_range_by_one.=Emplacement de câble électrique\nLa portée de base est 32 bloc\nChaque câble additionnel\nAugmente la portée de un +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyDescriptor.java +eln:Supplies_all_lamps_on_the_channel.=Alimente toutes les lampes sur le canal. +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyGui.java +eln:Power_channel_name=Nom de la chaîne du courant +eln:Wireless_channel_name=Nom de la chaîne sans-fil +eln: +eln:# ./src/main/java/mods/eln/sixnode/modbusrtu/ModbusRtuGui.java +eln:Add=Ajouter +eln:Channel_name=Nom de la chaîne +eln:Modbus_ID=Identifiant de Modbus +eln:Modbus_RTU=Modbus RTU +eln:Station_ID=Identifiant de Station +eln:Station_name=Nom de station +eln:Wireless_RX=RX sans fil +eln:Wireless_TX=TX sans fil +eln: +eln:# ./src/main/java/mods/eln/sixnode/powercapacitorsix/PowerCapacitorSixContainer.java +eln:(Increases_maximum_voltage)=(Augmente la tension maximale) +eln: +eln:# ./src/main/java/mods/eln/sixnode/powercapacitorsix/PowerCapacitorSixGui.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/powerinductorsix/PowerInductorSixContainer.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/powerinductorsix/PowerInductorSixGui.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/powersocket/PowerSocketDescriptor.java +eln:Supplies_any_device\nplugged_in_with_energy.=Alimente n'importe quel\nappareil branché en énergie. +eln: +eln:# ./src/main/java/mods/eln/sixnode/powersocket/PowerSocketGui.java +eln:Specify_the_device_to_supply_through_this_socket.=Spécifiez le périphérique à alimenter à travers cette prise. +eln: +eln:# ./src/main/java/mods/eln/sixnode/resistor/ResistorContainer.java +eln:(Sets_resistance)=(Paramètre de résistance) +eln:Coal_dust_slot=Fente pour la poussière de charbon +eln: +eln:# ./src/main/java/mods/eln/sixnode/thermalcable/ThermalCableDescriptor.java +eln:High_parallel_resistance\n_\=>_Low_power_dissipation.=Forte résistance en parallèle\n\=> Faible dissipation de puissance +eln:Low_serial_resistance\n_\=>_High_conductivity.=faible résistance \=> bonne conductibilité +eln:Parallel_resistance\:_%sK_W=Résistance en parallèle \: %sK/W +eln:Serial_resistance\:_%sK_W=Résistance série \: %sK/W +eln: +eln:# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorContainer.java +eln:Cable_slot=Fente pour le câble +eln: +eln:# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorDescriptor.java +eln:Can_measure\:=Peut mesurer \: +eln:Measures_temperature_of_cables.=Mesure la température des câbles. +eln:Measures_thermal_values_on_cables.=Mesure la valeur de la température\nsur les câbles +eln:__Temperature_Power_conducted=Température / Puissance +eln: +eln:# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorGui.java +eln:Measured_temperature\ncorresponding\nto_0%_output=Mesure la température\ncorrespondant\nà 0% de la sortie +eln:Measured_temperature\ncorresponding\nto_100%_output=Mesure la température\ncorrespondant\nà 100% de la sortie +eln:Temperature=Température +eln: +eln:# ./src/main/java/mods/eln/sixnode/tutorialsign/TutorialSignElement.java +eln:No_text_associated_to_this_beacon=Pas de texte associé à cette balise +eln: +eln:# ./src/main/java/mods/eln/sixnode/tutorialsign/TutorialSignGui.java +eln:Set_beacon_name=Nom de beacon \: +eln: +eln:# ./src/main/java/mods/eln/sixnode/wirelesssignal/rx/WirelessSignalRxGui.java +eln: +eln:# ./src/main/java/mods/eln/transparentnode/FuelGenerator.kt +eln:Nominal_power\:_%s_W=Puissance nominale \: %s W +eln:Nominal_voltage\:_%s_V=Tension nominale \: %s V +eln:Produces_electricity_using_fuel.=Produit de l’électricité à partir d'essence. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/LargeRheostat.kt +eln:Nom._Resistance\:_%s=Résistance nom. \: %s +eln: +eln:# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerContainer.java +eln:Drill_slot=Emplacement de la tête de forage +eln:Mining_pipe_slot=Emplacement pour un tuyau minier +eln:Ore_scanner_slot=Emplacement pour un analyseur de minerai +eln: +eln:# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerDescriptor.java +eln:Excavates_on_a_small_radius.\nExtracts_ore_on_a_bigger_radius\:\n10_blocks_radius_after_10_blocks_depth.=Creuse dans un faible rayon.\nExtrait les minerais dans un plus grand rayon \:\nRayon de 10 blocs après 10 blocs de profondeur. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerGuiDraw.java +eln:Chest_missing_on_the\nback_of_the_auto_miner!=Il manque un coffre\nen arrière de l'auto miner +eln:Halves_speed,_triples_power_draw=Moitié de la vitesse, puissance triple +eln:Silk_Touch_Off=Silk Touch Off +eln:Silk_Touch_On=Silk Touch On +eln:Silk_touch=Silk touch +eln: +eln:# ./src/main/java/mods/eln/transparentnode/battery/BatteryContainer.java +eln:Overheating_protection=Protection anti-surchauffe +eln:Overvoltage_protection=Protection anti-surtension +eln: +eln:# ./src/main/java/mods/eln/transparentnode/battery/BatteryDescriptor.java +eln:Actual_charge\:_%s=Charge actuelle\: %s +eln:Energy_capacity\:_%sJ=Capacité énergétique \: %sJ +eln:_charged_at_%s=chargé à %s +eln: +eln:# ./src/main/java/mods/eln/transparentnode/battery/BatteryGuiDraw.java +eln:Charge=Charge +eln:Charged=Chargé +eln:Discharge=Décharge +eln:Energy\:=Energie \: +eln:Energy\:_%s=Energie \: %s +eln:Life\:=Vie \: +eln:No_charge=Pas de charge +eln:Power_in\:=Puissance d'entrée \: +eln:Power_out\:=Puissance de sortie \: +eln: +eln:# ./src/main/java/mods/eln/transparentnode/eggincubator/EggIncubatorContainer.java +eln:Egg_slot=Fente pour les œufs +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalantennarx/ElectricalAntennaRxDescriptor.java +eln:Wireless_energy_receiver.=Récepteur d'énergie sans fil +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalantennatx/ElectricalAntennaTxDescriptor.java +eln:Efficiency\:_%s_up_to_%s=Efficacité \: de %s à %s +eln:Wireless_energy_transmitter.=Emetteur d'énergie sans fil +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceContainer.java +eln:Heating_corp_slot=Emplacement pour Corps de Chauffe +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceDescriptor.java +eln:Similar_to_a_vanilla_furnace,\nbut_heats_with_electricity.=semblable au four vanilla\nmais cuit avec de l'électricité +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceGuiDraw.java +eln:Auto_shutdown=Arrêt automatique +eln:Manual_shutdown=Arrêt manuel +eln:Set_point\:_%s°C=Consigne \: %s°C +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalmachine/ElectricalMachineDescriptor.java +eln:Cost=Prix +eln: +eln:# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceContainer.java +eln:Combustion_chamber_slot=Fente vers la chambre de combustion +eln:Fuel_slot=Emplacement à pétrole +eln: +eln:# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceDescriptor.java +eln:Generates_heat_when_supplied_with_fuel.=Génère de la chaleur lorsqu'il est alimenté en carburant. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceGuiDraw.java +eln:Control_gauge_at_%s=Jauge de contrôle à %s +eln:Decline_fuel=Refuse carburant +eln:External_control=Contrôle externe +eln:Internal_control=Contrôle interne +eln:Take_fuel=Mettez le carburant +eln: +eln:# ./src/main/java/mods/eln/transparentnode/powercapacitor/PowerCapacitorContainer.java +eln:(Increases_maximal_voltage)=(Augmente le voltage maximal) +eln: +eln:# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelContainer.java +eln:Solar_tracker_slot=Traceur de soleil +eln: +eln:# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelDescriptor.java +eln:Can_be_geared_towards_the_sun.=Peut-être orienté vers le soleil. +eln:Max._power\:_%sW=Énergie maximum \: %sW +eln:Max._voltage\:_%sV=Voltage maximum \: %sV +eln:Produces_power_from_solar_radiation.=Produit de l'énergie avec le soleil. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPannelGuiDraw.java +eln:It_is_night=C'est la nuit +eln:Solar_panel_angle\:_%s°=Angle du panneau solaire \: %s° +eln:Sun_angle\:_%s°=Angle du soleil \: %s° +eln: +eln:# ./src/main/java/mods/eln/transparentnode/teleporter/TeleporterGui.java +eln:Destination_transporter=Destination du téléporteur +eln:Power_consumption\:=Consommation électrique \: +eln:Power_consumption\:_%sW=Consommation électrique \: %sW +eln:Required_energy\:_%sJ=Energie demandée\: %sJ +eln:Start=Début +eln:Transporter_name=Nom du transporteur +eln: +eln:# ./src/main/java/mods/eln/transparentnode/thermaldissipatoractive/ThermalDissipatorActiveDescriptor.java +eln:Fan_cooling_power\:_%sW=Puissance de refroidissement du ventilateur \: %sW +eln:Fan_power_consumption\:_%sW=Consommation du ventilateur \: %sW +eln:Fan_voltage\:_%sV=Tension du ventilateur \: %sV +eln: +eln:# ./src/main/java/mods/eln/transparentnode/transformer/TransformerDescriptor.java +eln:The_voltage_ratio_is_proportional\nto_the_cable_stacks_count_ratio.=Le ratio de tension est proportionnel\nau ratio du nombre de câbles empilés. +eln:Transforms_an_input_voltage_to\nan_output_voltage.=Transforme une tension d'entrée en tension de sortie. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/turbine/TurbineDescriptor.java +eln:Generates_electricity_using_heat.=Génère de l'électricité en utilisant la chaleur . +eln:Temperature_difference\:_%s°C=Différence de température\: %s°C +eln: +eln:# ./src/main/java/mods/eln/transparentnode/turret/TurretDescriptor.java +eln:CAUTION\:_Cables_can_get_quite_hot!=Attention \! Les câbles peuvent devenir chaud \! +eln:Laser_charge_power\:_%sW...%skW=Charge de l'énergie du laser \: %sW...%skW +eln:Scans_for_entities_and_shoots_if_the\nentity_matches_the_configurable_filter_criteria.=Scan les entités et tire si \nl'entité est la même que celle configurer +eln:Standby_power\:_%sW=Puissance en veille \: %sW +eln: +eln:# ./src/main/java/mods/eln/transparentnode/turret/TurretGui.java +eln:Attack\:=Attaquer \: +eln:Do_not_attack\:=Ne pas attaquer \: +eln:Recharge_power\:=Puissance de rechargement +eln: +eln:# ./src/main/java/mods/eln/transparentnode/waterturbine/WaterTurbineDescriptor.java +eln:Generates_energy_using_water_stream.=Génère de l'énergie grâce au courant de l'eau. +eln:No_place_for_water_turbine!=Pas de place pour une turbine à eau \! +eln: +eln:# ./src/main/java/mods/eln/transparentnode/windturbine/WindTurbineDescriptor.java +eln:Front\:_%s=Face \: %s +eln:Generates_energy_from_wind.=Génère de l'énergie avec le vent. +eln:Left_Right\:_%s=Gauche/Droite \: %s +eln:Up_Down\:_%s=Haut/Bas \: %s +eln:Wind_area\:=Zone de vent \: +eln: +eln:# ./src/main/java/mods/eln/wiki/Data.java +eln:Energy=Energie +eln:Light=Lumière +eln:Machine=Machine +eln:Ore=Minerai +eln:Portable=Portable +eln:Resource=Ressource +eln:Signal=Signal +eln:Thermal=Thermique +eln:Upgrade=Amélioration +eln:Utilities=Utilitaires +eln:Wiring=Cablage +eln: +eln:# ./src/main/java/mods/eln/wiki/Default.java +eln:Previous=Précédent +eln: +eln:# ./src/main/java/mods/eln/wiki/ItemDefault.java +eln:Can_be_used_to_craft\:=Peut-être utilisé pour fabriquer \: +eln:Cannot_be_crafted!=Impossible de fabriquer ceci \! +eln:Cost_%sJ=Coût %sJ +eln:Created_by\:=Créé par \: +eln:Is_not_a_crafting_material!=N'est pas un matériau de fabrication +eln:Recipe\:=Recette \: +eln: +eln:# Appearing in multiple source files +eln:(Increases_capacity)=(augmente la capacité) +eln:(Increases_inductance)=(Augmente l'inductance) +eln:Actual\:_%s°C=Actuelle \: %s°C +eln:Biggest=Plus grand +eln:Booster_slot=Emplacement pour un booster +eln:Can_create\:=Peut créer \: +eln:Capacity\:_%sF=Capacité \: %sF +eln:Charge_power\:_%sW=Puissance de charge \: %sW +eln:Connected=Connecté +eln:Cooling_power\:_%sW=Puissance de refroidissement \: %sW +eln:Copper_cable_slot=Emplacement pour un câble en cuivre +eln:Dielectric_slot=Emplacement diélectrique +eln:Discharge_power\:_%sW=Puissance de décharge \: %sW +eln:Electrical_cable_slot=Emplacement pour câble électrique +eln:Entity_filter_slot=Emplacement pour filtre à entités +eln:Ferromagnetic_core_slot=Emplacement pour noyau ferromagnétique +eln:Has_a_signal_output.=Dispose d'un signal de sortie. +eln:Inductance\:_%sH=inductance \: %sH +eln:Internal_resistance\:_%sΩ=Résistance interne \: %sΩ +eln:Is_off=C'est éteint +eln:Is_on=C'est allumé +eln:Max._temperature\:_%s°C=Temperature max \: %s°C +eln:Measured_value\ncorresponding\nto_0%_output=Mesure la valeur\ncorrespondant\nà 0% de la sortie +eln:Measured_value\ncorresponding\nto_100%_output=Mesure la valeur\ncorrespondant\nà 100% de la sortie +eln:Nominal\:=Nominale \: +eln:Nominal_power\:_%sW=Puissance nominale \: %sW +eln:Nominal_usage\:=Utilisation nominale \: +eln:Nominal_voltage\:_%sV=Tension nominale\: %sV +eln:Not_connected=Pas connecté +eln:Not_enough_space_for_this_block=Pas assez d'espace pour ce bloc +eln:Power=Énergie +eln:Power\:_%sW=Puissance\: %sW +eln:Range\:_%s_blocks=Portée\: %s blocks +eln:Redstone_slot=Emplacement pour Redstone +eln:Regulator_slot=Emplacement pour le régulateur +eln:Reset=Réinitialiser +eln:Resistance\:_%sΩ=Résistance\: %sΩ +eln:Smallest=Plus petit +eln:Specify_the_channel=Spécifier le canal +eln:Stored_energy\:_%sJ_(%s)=Energie stockée \: %sJ (%s) +eln:Temperature\:_%s°C=Température\: %s°C +eln:Temperature_gauge=Gauge de température +eln:Thermal_isolator_slot=Emplacement pour Isolateur Thermique +eln:Toggle=Basculer +eln:Toggle_switch=Interrupteur à bascule +eln:Toggles_the_output_each_time\nan_emitter's_value_rises.\nUseful_to_allow_multiple_buttons\nto_control_the_same_light.=Bascule la valeur de la sortie chaque fois\nque la valeur de l'émetteur augmente.\nUtile pour permettre à plusieurs boutons\nde contrôler la même lampe. +eln:Used_to_cool_down_turbines.=Utilisé pour refroidir les turbines. +eln:Uses_the_biggest\nvalue_on_the_channel.=Utilise la plus grande valeur\nsur la chaîne +eln:Uses_the_smallest\nvalue_on_the_channel.=Utilise la plus petite valeur\nsur la chaîne +eln:Validate=Valider +eln:Voltage\:_%sV=Tension \: %sV +eln:You_can't_place_this_block_at_this_side=Vous ne pouvez pas poser de bloc sur ce côté diff --git a/src/main/resources/assets/eln/lang/hr.lang b/src/main/resources/assets/eln/lang/hr.lang index f4e769aa7..92e8a8d93 100644 --- a/src/main/resources/assets/eln/lang/hr.lang +++ b/src/main/resources/assets/eln/lang/hr.lang @@ -1,829 +1,829 @@ -# - -# ./src/main/java/mods/eln/Achievements.java -Electrical_Age_[WIP]=Electrical Age [WIP] -achievement.craft_50v_macerator=Crushing Novice -achievement.craft_50v_macerator.desc=Craft a 50V Macerator -achievement.open_guide=Wiki Power -achievement.open_guide.desc=Open the wiki guide - -# ./src/main/java/mods/eln/Eln.java -10A_Diode.name=10A Diode -200V_Active_Thermal_Dissipator.name=200V Active Thermal Dissipator -200V_Battery_Charger.name=200V Battery Charger -200V_Compressor.name=200V Compressor -200V_Condensator.name=200V Condensator -200V_Copper_Heating_Corp.name=200V Copper Heating Corp -200V_Economic_Light_Bulb.name=200V Economic Light Bulb -200V_Farming_Lamp.name=200V Farming Lamp -200V_Fuel_Generator.name=200V Fuel Generator -200V_Incandescent_Light_Bulb.name=200V Incandescent Light Bulb -200V_Iron_Heating_Corp.name=200V Iron Heating Corp -200V_LED_Bulb.name=200V LED Bulb -200V_Macerator.name=200V Macerator -200V_Magnetizer.name=200V Magnetizer -200V_Plate_Machine.name=200V Plate Machine -200V_Power_Socket.name=200V Power Socket -200V_Tungsten_Heating_Corp.name=200V Tungsten Heating Corp -200V_Turbine.name=200V Turbine -25A_Diode.name=25A Diode -50V_Battery_Charger.name=50V Battery Charger -50V_Carbon_Incandescent_Light_Bulb.name=50V Carbon Incandescent Light Bulb -50V_Compressor.name=50V Compressor -50V_Condensator.name=50V Condensator -50V_Copper_Heating_Corp.name=50V Copper Heating Corp -50V_Economic_Light_Bulb.name=50V Economic Light Bulb -50V_Egg_Incubator.name=50V Egg Incubator -50V_Farming_Lamp.name=50V Farming Lamp -50V_Fuel_Generator.name=50V Fuel Generator -50V_Incandescent_Light_Bulb.name=50V Incandescent Light Bulb -50V_Iron_Heating_Corp.name=50V Iron Heating Corp -50V_LED_Bulb.name=50V LED Bulb -50V_Macerator.name=50V Macerator -50V_Magnetizer.name=50V Magnetizer -50V_Plate_Machine.name=50V Plate Machine -50V_Power_Socket.name=50V Power Socket -50V_Tungsten_Heating_Corp.name=50V Tungsten Heating Corp -50V_Turbine.name=50V Turbine -800V_Defence_Turret.name=800V Defence Turret -AND_Chip.name=AND Chip -Advanced_Chip.name=Advanced Chip -Advanced_Electrical_Motor.name=Advanced Electrical Motor -Advanced_Energy_Meter.name=Advanced Energy Meter -Advanced_Machine_Block.name=Advanced Machine Block -Advanced_Magnet.name=Advanced Magnet -AllMeter.name=Universal-Meter -Alloy_Dust.name=Alloy Dust -Alloy_Ingot.name=Alloy Ingot -Alloy_Plate.name=Alloy Plate -Analog_Watch.name=Analog watch -Analog_vuMeter.name=Analog Gauge -Analogic_Regulator.name=Analogic Regulator -Animal_Filter.name=Animal Filter -Auto_Miner.name=Auto Miner -Average_Electrical_Drill.name=Average Electrical Drill -Average_Ferromagnetic_Core.name=Average Ferromagnetic Core -Basic_Magnet.name=Basic Magnet -Black_Brush.name=Black Brush -Blue_Brush.name=Blue Brush -Brown_Brush.name=Brown Brush -Capacity_Oriented_Battery.name=Capacity Oriented Battery -Cheap_Chip.name=Cheap Chip -Cheap_Electrical_Drill.name=Cheap Electrical Drill -Cheap_Ferromagnetic_Core.name=Cheap Ferromagnetic Core -Cinnabar_Dust.name=Cinnabar Dust -Cinnabar_Ore.name=Cinnabar Ore -Coal_Dust.name=Coal Dust -Coal_Plate.name=Coal Plate -Combustion_Chamber.name=Combustion Chamber -Copper_Cable.name=Copper Cable -Copper_Dust.name=Copper Dust -Copper_Ingot.name=Copper Ingot -Copper_Ore.name=Copper Ore -Copper_Plate.name=Copper Plate -Copper_Thermal_Cable.name=Copper Thermal Cable -Cost_Oriented_Battery.name=Cost Oriented Battery -Current_Oriented_Battery.name=Current Oriented Battery -Cyan_Brush.name=Cyan Brush -D_Flip_Flop_Chip.name=D Flip Flop Chip -Data_Logger.name=Data Logger -Data_Logger_Print.name=Data Logger Print -Dielectric.name=Dielectric -Digital_Watch.name=Digital Watch -Electrical_Anemometer_Sensor.name=Electrical Anemometer Sensor -Electrical_Breaker.name=Electrical Breaker -Electrical_Daylight_Sensor.name=Electrical Daylight Sensor -Electrical_Entity_Sensor.name=Electrical Entity Sensor -Electrical_Fire_Detector.name=Electrical Fire Detector -Electrical_Furnace.name=Electrical Furnace -Electrical_Light_Sensor.name=Electrical Light Sensor -Electrical_Motor.name=Electrical Motor -Electrical_Probe.name=Electrical Probe -Electrical_Probe_Chip.name=Electrical Probe Chip -Electrical_Source.name=Electrical Source -Electrical_Timer.name=Electrical Timer -Electrical_Weather_Sensor.name=Electrical Weather Sensor -Electrical_age_wrench,\nCan_be_used_to_turn\nsmall_wall_blocks=Electrical age wrench,\nCan be used to turn\nsmall wall blocks -Energy_Meter.name=Energy Meter -Experimental_Transporter.name=Experimental Transporter -Fast_Electrical_Drill.name=Fast Electrical Drill -Ferrite_Ingot.name=Ferrite Ingot -Flat_Lamp_Socket.name=Flat Lamp Socket -Fluorescent_Lamp_Socket.name=Fluorescent Lamp Socket -Generator.name=Generator -Gold_Dust.name=Gold Dust -Gold_Plate.name=Gold Plate -Gray_Brush.name=Gray Brush -Green_Brush.name=Green Brush -Ground_Cable.name=Ground Cable -High_Power_Receiver_Antenna.name=High Power Receiver Antenna -High_Power_Transmitter_Antenna.name=High Power Transmitter Antenna -High_Voltage_Cable.name=High Voltage Cable -High_Voltage_Relay.name=High Voltage Relay -High_Voltage_Switch.name=High Voltage Switch -Hub.name=Hub -Industrial_Data_Logger.name=Industrial Data Logger -Iron_Cable.name=Iron Cable -Iron_Dust.name=Iron Dust -Iron_Plate.name=Iron Plate -JK_Flip_Flop_Chip.name=JK Flip Flop Chip -LED_vuMeter.name=LED vuMeter -Lamp_Socket_A.name=Lamp Socket A -Lamp_Socket_B_Projector.name=Lamp Socket B Projector -Lamp_Supply.name=Lamp Supply -Large_Rheostat.name=Large Rheostat -Lead_Dust.name=Lead Dust -Lead_Ingot.name=Lead Ingot -Lead_Ore.name=Lead Ore -Lead_Plate.name=Lead Plate -Life_Oriented_Battery.name=Life Oriented Battery -Light_Blue_Brush.name=Light Blue Brush -Lime_Brush.name=Lime Brush -Long_Suspended_Lamp_Socket.name=Long Suspended Lamp Socket -Low_Power_Receiver_Antenna.name=Low Power Receiver Antenna -Low_Power_Transmitter_Antenna.name=Low Power Transmitter Antenna -Low_Voltage_Cable.name=Low Voltage Cable -Low_Voltage_Relay.name=Low Voltage Relay -Low_Voltage_Switch.name=Low Voltage Switch -Machine_Block.name=Machine Block -Machine_Booster.name=Machine Booster -Magenta_Brush.name=Magenta Brush -Medium_Power_Receiver_Antenna.name=Medium Power Receiver Antenna -Medium_Power_Transmitter_Antenna.name=Medium Power Transmitter Antenna -Medium_Voltage_Cable.name=Medium Voltage Cable -Medium_Voltage_Relay.name=Medium Voltage Relay -Medium_Voltage_Switch.name=Medium Voltage Switch -Mercury.name=Mercury -Mining_Pipe.name=Mining Pipe -Modbus_RTU.name=Modbus RTU -Modern_Data_Logger.name=Modern Data Logger -Monster_Filter.name=Monster Filter -MultiMeter.name=Multimeter -NAND_Chip.name=NAND Chip -NOR_Chip.name=NOR Chip -NOT_Chip.name=NOT Chip -Nuclear_Alarm.name=Nuclear Alarm -OR_Chip.name=OR Chip -On_OFF_Regulator_10_Percent.name=On/off regulator 10% -On_OFF_Regulator_1_Percent.name=On/off regulator 1% -Optimal_Ferromagnetic_Core.name=Optimal Ferromagnetic Core -Orange_Brush.name=Orange Brush -Ore_Scanner.name=Ore Scanner -Oscillator_Chip.name=Oscillator Chip -Overheating_Protection.name=Overheating Protection -Overvoltage_Protection.name=Overvoltage Protection -PAL_Chip.name=PAL Chip -Pink_Brush.name=Pink Brush -Player_Filter.name=Player Filter -Portable_Battery.name=Portable Battery -Portable_Battery_Pack.name=Portable Battery Pack -Portable_Condensator.name=Portable Condensator -Portable_Condensator_Pack.name=Portable Condensator Pack -Portable_Electrical_Axe.name=Portable Electrical Axe -Portable_Electrical_Mining_Drill.name=Portable Electrical Mining Drill -Power_Capacitor.name=Power Capacitor -Power_Inductor.name=Power Inductor -Power_Resistor.name=Power Resistor -Power_capacitor.name=Power capacitor -Power_inductor.name=Power inductor -Purple_Brush.name=Purple Brush -Red_Brush.name=Red Brush -Redstone-to-Voltage_Converter.name=Redstone-to-Voltage Converter -Rheostat.name=Rheostat -Robust_Lamp_Socket.name=Robust Lamp Socket -Rubber.name=Rubber -Schmitt_Trigger_Chip.name=Schmitt Trigger Chip -Sconce_Lamp_Socket.name=Sconce Lamp Socket -Signal_20H_inductor.name=Signal 20H inductor -Signal_Antenna.name=Signal Antenna -Signal_Button.name=Signal Button -Signal_Cable.name=Signal Cable -Signal_Diode.name=Signal Diode -Signal_Processor.name=Signal Processor -Signal_Relay.name=Signal Relay -Signal_Source.name=Signal Source -Signal_Switch.name=Signal Switch -Signal_Switch_with_LED.name=Signal Switch with LED -Signal_Trimmer.name=Signal Trimmer -Silicon_Dust.name=Silicon Dust -Silicon_Ingot.name=Silicon Ingot -Silicon_Plate.name=Silicon Plate -Silver_Brush.name=Silver Brush -Simple_Lamp_Socket.name=Simple Lamp Socket -Single-use_Battery.name=Single-use Battery -Small_200V_Copper_Heating_Corp.name=Small 200V Copper Heating Corp -Small_200V_Iron_Heating_Corp.name=Small 200V Iron Heating Corp -Small_200V_Tungsten_Heating_Corp.name=Small 200V Tungsten Heating Corp -Small_50V_Carbon_Incandescent_Light_Bulb.name=Small 50V Carbon Incandescent Light Bulb -Small_50V_Copper_Heating_Corp.name=Small 50V Copper Heating Corp -Small_50V_Economic_Light_Bulb.name=Small 50V Economic Light Bulb -Small_50V_Incandescent_Light_Bulb.name=Small 50V Incandescent Light Bulb -Small_50V_Iron_Heating_Corp.name=Small 50V Iron Heating Corp -Small_50V_Tungsten_Heating_Corp.name=Small 50V Tungsten Heating Corp -Small_Active_Thermal_Dissipator.name=Small Active Thermal Dissipator -Small_Flashlight.name=Small Flashlight -Small_Passive_Thermal_Dissipator.name=Small Passive Thermal Dissipator -Small_Rotating_Solar_Panel.name=Small Rotating Solar Panel -Small_Solar_Panel.name=Small Solar Panel -Solar_Tracker.name=Solar Tracker -Standard_Alarm.name=Standard Alarm -Steam_Turbine.name=Steam Turbine -Stone_Heat_Furnace.name=Stone Heat Furnace -Street_Light.name=Streetlight -Suspended_Lamp_Socket.name=Suspended Lamp Socket -Temperature_Probe.name=Temperature Probe -Thermal_Probe.name=Thermal Probe -Thermal_Probe_Chip.name=Thermal Probe Chip -Thermistor.name=Thermistor -ThermoMeter.name=Thermometer -Transformer.name=Transformer -Tree_Resin.name=Tree Resin -Tree_Resin_Collector.name=Tree Resin Collector -Tungsten_Cable.name=Tungsten Cable -Tungsten_Dust.name=Tungsten Dust -Tungsten_Ingot.name=Tungsten Ingot -Tungsten_Ore.name=Tungsten Ore -Tutorial_Sign.name=Tutorial Sign -Very_High_Voltage_Cable.name=Very High Voltage Cable -Very_High_Voltage_Relay.name=Very High Voltage Relay -Very_High_Voltage_Switch.name=Very High Voltage Switch -Voltage-to-Redstone_Converter.name=Voltage-to-Redstone Converter -Voltage_Oriented_Battery.name=Voltage Oriented Battery -Voltage_Probe.name=Voltage Probe -Water_Turbine.name=Water Turbine -Weak_50V_Battery_Charger.name=Weak 50V Battery Charger -White_Brush.name=White Brush -Wind_Turbine.name=Wind Turbine -Wireless_Analyser.name=Wireless Analyzer -Wireless_Button.name=Wireless Button -Wireless_Signal_Receiver.name=Wireless Signal Receiver -Wireless_Signal_Repeater.name=Wireless Signal Repeater -Wireless_Signal_Transmitter.name=Wireless Signal Transmitter -Wireless_Switch.name=Wireless Switch -Wrench.name=Wrench -X-Ray_Scanner.name=X-Ray Scanner -XNOR_Chip.name=XNOR Chip -XOR_Chip.name=XOR Chip -Yellow_Brush.name=Yellow Brush -entity.EAReplicator.name=Replicator -item.Copper Axe.name\=Copper Axe -item.Copper Axe.name\=Copper Axe -item.Copper Axe.name\=Copper Axe -item.Copper Axe.name\=Copper Axe -item.Copper Axe.name\=Copper Axe -item.Copper Axe.name\=Copper Axe -item.Copper Axe.name\=Copper Axe -item.Copper Axe.name\=Copper Axe -item.Copper Axe.name\=Copper Axe -item.E-Coal Boots.name\=E-Coal Boots -item.E-Coal Boots.name\=E-Coal Boots -item.E-Coal Boots.name\=E-Coal Boots -item.E-Coal Boots.name\=E-Coal Boots -itemGroup.Eln=Electrical Age -mod.meta.desc=Electricity in your base\! -tile.eln.ElnProbe.name=Eln Computer Probe -tile.eln.EnergyConverterElnToOtherHVUBlock.name=800V Electrical Age to other energy exporter -tile.eln.EnergyConverterElnToOtherLVUBlock.name=50V Electrical Age to other energy exporter -tile.eln.EnergyConverterElnToOtherMVUBlock.name=200V Electrical Age to other energy exporter - -# ./src/main/java/mods/eln/i18n/I18N.java -You_have_%s_lives_left=You have %s lives left - -# ./src/main/java/mods/eln/item/BrushDescriptor.java -Brush_is_dry=Brush is dry -Can_paint_%s_blocks=Can paint %s blocks - -# ./src/main/java/mods/eln/item/CombustionChamber.java -Upgrade_for_the_Stone_Heat_Furnace.=Upgrade for the Stone Heat Furnace. - -# ./src/main/java/mods/eln/item/ElectricalDrillDescriptor.java -Energy_per_operation\:_%sJ=Energy per operation\: %sJ -Time_per_operation\:_%ss=Time per operation\: %ss - -# ./src/main/java/mods/eln/item/FerromagneticCoreDescriptor.java -Cable_loss_factor\:_%s=Cable loss factor\: %s - -# ./src/main/java/mods/eln/item/HeatingCorpElement.java - -# ./src/main/java/mods/eln/item/LampDescriptor.java -Bad=Bad -Condition\:=Condition\: -End_of_life=End of life -Good=Good -New=New -Nominal_lifetime\:_%sh=Nominal lifetime\: %sh -Technology\:_%s=Technology\: %s -Used=Used - -# ./src/main/java/mods/eln/item/LampSlot.java -Lamp_slot=Lamp slot - -# ./src/main/java/mods/eln/item/OverHeatingProtectionDescriptor.java -Useful_to_prevent_overheating\nof_Batteries=Useful to prevent overheating\nof Batteries - -# ./src/main/java/mods/eln/item/OverVoltageProtectionDescriptor.java -Useful_to_prevent_over-voltage\nof_Batteries=Useful to prevent over-voltage\nof Batteries - -# ./src/main/java/mods/eln/item/SolarTrackerDescriptor.java -Solar_panel_upgrade=Solar panel upgrade - -# ./src/main/java/mods/eln/item/electricalitem/BatteryItem.java - -# ./src/main/java/mods/eln/item/electricalitem/ElectricalLampItem.java -Off=Off -On=On -State\:=State\: -Stored_Energy\:_%sJ_(%s)=Stored Energy\: %sJ (%s) - -# ./src/main/java/mods/eln/item/regulator/RegulatorSlot.java - -# ./src/main/java/mods/eln/misc/UtilsClient.java -Hold_shift=Hold shift - -# ./src/main/java/mods/eln/misc/Version.java -mod.name=Electrical Age - -# ./src/main/java/mods/eln/node/six/SixNodeDescriptor.java - -# ./src/main/java/mods/eln/simplenode/energyconverter/EnergyConverterElnToOtherGui.java -Input_power_is_limited_to_%sW=Input power is limited to %sW - -# ./src/main/java/mods/eln/sixnode/LogicGate.kt -_O\:_= O\: - -# ./src/main/java/mods/eln/sixnode/TreeResinCollector/TreeResinCollectorDescriptor.java -Produces_Tree_Resin_over\ntime_when_put_on_a_tree.=Produces Tree Resin over\ntime when put on a tree. -This_block_can_only_be_placed_on_the_side_of_a_tree!=This block can only be placed on the side of a tree\! - -# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerContainer.java -Battery_slot=Battery slot - -# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerDescriptor.java -Can_be_used_to_recharge\nelectrical_items_like\:\nFlash_Light,_X-Ray_scanner\nand_Portable_Battery_...=Can be used to recharge\nelectrical items like\:\nFlash Light, X-Ray scanner\nand Portable Battery ... - -# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerGui.java - -# ./src/main/java/mods/eln/sixnode/diode/DiodeDescriptor.java -Electrical_current_can_only\nflow_through_the_diode\nfrom_anode_to_cathode=Electrical current can only\nflow through the diode\nfrom anode to cathode - -# ./src/main/java/mods/eln/sixnode/electricalalarm/ElectricalAlarmDescriptor.java -= -Emits_an_acoustic_alarm_if\nthe_input_signal_is_high=Emits an acoustic alarm if\nthe input signal is high - -# ./src/main/java/mods/eln/sixnode/electricalalarm/ElectricalAlarmGui.java -Sound_is_muted=Sound is muted -Sound_is_not_muted=Sound is not muted - -# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerContainer.java - -# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerDescriptor.java -Protects_electrical_components\nOpens_contact_if\:\n__-_Voltage_exceeds_a_certain_level\n-_Current_exceeds_the_cable_limit=Protects electrical components\nOpens contact if\:\n - Voltage exceeds a certain level\n- Current exceeds the cable limit - -# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerGui.java -Maximum_voltage_before_cutting_off=Maximum voltage before cutting off -Minimum_voltage_before_cutting_off=Minimum voltage before cutting off -Switch_is_off=Switch is off -Switch_is_on=Switch is on - -# ./src/main/java/mods/eln/sixnode/electricalcable/ElectricalCableDescriptor.java -A_signal_is_electrical_information\nwhich_must_be_between_0V_and_%sV=A signal is electrical information\nwhich must be between 0V and %sV -Cable_is_adapted_to_conduct\nelectrical_signals.=Cable is adapted to conduct\nelectrical signals. -Current\:_%sA=Current\: %sA -Not_adapted_to_transport_power.=Not adapted to transport power. -Save_usage\:=Save usage\: -Serial_resistance\:_%sΩ=Serial resistance\: %sΩ - -# ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerDescriptor.java -It_can_store_up_to_256_points.=It can store up to 256 points. -Measures_the_voltage_of_an\nelectrical_signal_and_plots\nthe_data_in_real_time.=Measures the voltage of an\nelectrical signal and plots\nthe data in real time. - -# ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerGui.java -Back_to_display=Back to display -Configuration=Configuration -Current_[A]=Current [A] -Energy_[J]=Energy [J] -Percent_[-]%=Percent [-]% -Power_[W]=Power [W] -Print=Print -Sampling_period=Sampling period -Temp._[*C]=Temp. [*C] -Voltage_[V]=Voltage [V] -Y-axis_max=Y-axis max -Y-axis_min=Y-axis min - -# ./src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorContainer.java - -# ./src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorDescriptor.java -Output_voltage_increases\nif_entities_are_moving_around.=Output voltage increases\nif entities are moving around. - -# ./src/main/java/mods/eln/sixnode/electricalfiredetector/ElectricalFireDetectorDescriptor.java -Output_voltage_increases\nif_a_fire_has_been_detected.=Output voltage increases\nif a fire has been detected. - -# ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceDescriptor.java -Provides_configurable_signal\nvoltage.=Provides configurable signal\nvoltage. - -# ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceGui.java -Output_at_%s=Output at %s - -# ./src/main/java/mods/eln/sixnode/electricallightsensor/ElectricalLightSensorDescriptor.java -0V_at_night,_%sV_at_noon.=0V at night, %sV at noon. -Provides_an_electrical_voltage\nin_the_presence_of_light.=Provides an electrical voltage\nin the presence of light. -Provides_an_electrical_voltage\nwhich_is_proportional_to\nthe_intensity_of_daylight.=Provides an electrical voltage\nwhich is proportional to\nthe intensity of daylight. - -# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathContainer.java - -# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathDescriptor.java -Applicable_boolean_operators\:=Applicable boolean operators\: -Applicable_functions\:=Applicable functions\: -Applicable_mathematical_operators\:=Applicable mathematical operators\: -Calculates_an_output_signal_from\n3_inputs_(A,_B,_C)_using_an_equation.=Calculates an output signal from\n3 inputs (A, B, C) using an equation. - -# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathGui.java -%s_Redstone(s)_required=%s Redstone(s) required -Equation_required!=Equation required\! -Inputs_are=Inputs are -Invalid_equation!=Invalid equation\! -Output_voltage_formula=Output voltage formula -Waiting_for_completion...=Waiting for completion... - -# ./src/main/java/mods/eln/sixnode/electricalredstoneinput/ElectricalRedstoneInputDescriptor.java -Converts_Redstone_signal\nto_an_electrical_voltage.=Converts Redstone signal\nto an electrical voltage. - -# ./src/main/java/mods/eln/sixnode/electricalredstoneoutput/ElectricalRedstoneOutputDescriptor.java -Converts_electrical_voltage\ninto_a_Redstone_signal.=Converts electrical voltage\ninto a Redstone signal. - -# ./src/main/java/mods/eln/sixnode/electricalrelay/ElectricalRelayDescriptor.java -A_relay_is_an_electrical\ncontact_that_conducts_electric\ncurrent_or_not,_depending\nthe_actual_input_signal_voltage.=A relay is an electrical\ncontact that conducts electric\ncurrent or not, depending\nthe actual input signal voltage. - -# ./src/main/java/mods/eln/sixnode/electricalrelay/ElectricalRelayGui.java -Normally_closed=Normally closed -Normally_open=Normally open - -# ./src/main/java/mods/eln/sixnode/electricalsource/ElectricalSourceDescriptor.java -Creative_block.=Creative block. -Provides_an_ideal_voltage_source\nwithout_energy_or_power_limitation.=Provides an ideal voltage source\nwithout energy or power limitation. - -# ./src/main/java/mods/eln/sixnode/electricalsource/ElectricalSourceGui.java -Output_voltage=Output voltage - -# ./src/main/java/mods/eln/sixnode/electricalswitch/ElectricalSwitchDescriptor.java -Can_break_an_electrical_circuit\ninterrupting_the_current.=Can break an electrical circuit\ninterrupting the current. - -# ./src/main/java/mods/eln/sixnode/electricaltimeout/ElectricalTimeoutDescriptor.java -Upon_application_of_a_high_signal,\nthe_timer_maintains_the_output_high_for\na_configurable_interval._Can_be_re-triggered.=Upon application of a high signal,\nthe timer maintains the output high for\na configurable interval. Can be re-triggered. - -# ./src/main/java/mods/eln/sixnode/electricaltimeout/ElectricalTimeoutGui.java -Set=Set -The_time_interval_the\noutput_is_kept_high.=The time interval the\noutput is kept high. - -# ./src/main/java/mods/eln/sixnode/electricalvumeter/ElectricalVuMeterDescriptor.java -Displays_the_value_of_a_signal.=Displays the value of a signal. - -# ./src/main/java/mods/eln/sixnode/electricalwatch/ElectricalWatchContainer.java -Portable_battery_slot=Portable battery slot - -# ./src/main/java/mods/eln/sixnode/electricalweathersensor/ElectricalWeatherSensorDescriptor.java -Clear\:_%sV=Clear\: %sV -Provides_an_electrical_signal\ndepending_the_actual_weather.=Provides an electrical signal\ndepending the actual weather. -Rain\:_%sV=Rain\: %sV -Storm\:_%sV=Storm\: %sV - -# ./src/main/java/mods/eln/sixnode/electricalwindsensor/ElectricalWindSensorDescriptor.java -Maximum_wind_speed_is_%sm_s=Maximum wind speed is %sm/s -Provides_an_electrical_signal\ndependant_on_wind_speed.=Provides an electrical signal\ndependant on wind speed. -You_can't_place_this_block_on_the_floor_or_the_ceiling=You can't place this block on the floor or the ceiling - -# ./src/main/java/mods/eln/sixnode/electricasensor/ElectricalSensorDescriptor.java -Can_measure_Voltage_Power_Current=Can measure Voltage/Power/Current -Measures_electrical_values_on_cables.=Measures electrical values on cables. -Measures_voltage_on_cables.=Measures voltage on cables. - -# ./src/main/java/mods/eln/sixnode/electricasensor/ElectricalSensorGui.java -Current=Current -Measured_voltage\ncorresponding\nto_0%_output=Measured voltage\ncorresponding\nto 0% output -Measured_voltage\ncorresponding\nto_100%_output=Measured voltage\ncorresponding\nto 100% output -Voltage=Voltage - -# ./src/main/java/mods/eln/sixnode/energymeter/EnergyMeterGui.java -Change_password=Change password -Counter_Mode=Counter Mode -Counts_the_energy_conducted_from\n\u00a74red\u00a7f_to_\u00a71blue\u00a7f.=Counts the energy conducted from\n\\u00a74red\\u00a7f to \\u00a71blue\\u00a7f. -Energy_counter\:_%sJ=Energy counter\: %sJ -Enter_new_energy=Enter new energy -Enter_password=Enter password -Prepay_Mode=Prepay Mode -Reset_time_counter=Reset time counter -Set_energy_counter=Set energy counter -Time_counter\:=Time counter\: -Try_password=Try password -You_can_set_an_initial\namount_of_available_energy.\nWhen_the_counter_arrives_at_0\nthe_contact_will_be_opened.=You can set an initial\namount of available energy.\nWhen the counter arrives at 0\nthe contact will be opened. -is_off=is off -is_on=is on -value_in_kJ=value in kJ - -# ./src/main/java/mods/eln/sixnode/groundcable/GroundCableDescriptor.java -Can_be_used_to_set_a_point_of_an\nelectrical_network_to_0V_potential.\nFor_example_to_ground_negative_battery_contacts.=Can be used to set a point of an\nelectrical network to 0V potential.\nFor example to ground negative battery contacts. -Provides_a_zero_volt_reference.=Provides a zero volt reference. - -# ./src/main/java/mods/eln/sixnode/hub/HubDescriptor.java -Allows_crossing_cables\non_one_single_block.=Allows crossing cables\non one single block. - -# ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketDescriptor.java -Angle\:_%s°_to_%s°=Angle\: %s° to %s° -Spot_range\:_%s_blocks=Spot range\: %s blocks - -# ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketGuiDraw.java -%s_is_not_in_range!=%s is not in range\! -Cable_slot_empty=Cable slot empty -Orientation\:_%s°=Orientation\: %s° -Parallel=Parallel -Powered_by_Lamp_Supply=Powered by Lamp Supply -Powered_by_cable=Powered by cable -Serial=Serial -Specify_the_supply_channel=Specify the supply channel - -# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyContainer.java -Electrical_cable_slot\nBase_range_is_32_blocks.\nEach_additional_cable\nincreases_range_by_one.=Electrical cable slot\nBase range is 32 blocks.\nEach additional cable\nincreases range by one. - -# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyDescriptor.java -Supplies_all_lamps_on_the_channel.=Supplies all lamps on the channel. - -# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyGui.java -Power_channel_name=Power channel name -Wireless_channel_name=Wireless channel name - -# ./src/main/java/mods/eln/sixnode/modbusrtu/ModbusRtuGui.java -Add=Add -Channel_name=Channel name -Modbus_ID=Modbus ID -Modbus_RTU=Modbus RTU -Station_ID=Station ID -Station_name=Station name -Wireless_RX=Wireless RX -Wireless_TX=Wireless TX - -# ./src/main/java/mods/eln/sixnode/powercapacitorsix/PowerCapacitorSixContainer.java -(Increases_maximum_voltage)=(Increases maximum voltage) - -# ./src/main/java/mods/eln/sixnode/powercapacitorsix/PowerCapacitorSixGui.java - -# ./src/main/java/mods/eln/sixnode/powerinductorsix/PowerInductorSixContainer.java - -# ./src/main/java/mods/eln/sixnode/powerinductorsix/PowerInductorSixGui.java - -# ./src/main/java/mods/eln/sixnode/powersocket/PowerSocketDescriptor.java -Supplies_any_device\nplugged_in_with_energy.=Supplies any device\nplugged in with energy. - -# ./src/main/java/mods/eln/sixnode/powersocket/PowerSocketGui.java -Specify_the_device_to_supply_through_this_socket.=Specify the device to supply through this socket. - -# ./src/main/java/mods/eln/sixnode/resistor/ResistorContainer.java -(Sets_resistance)=(Sets resistance) -Coal_dust_slot=Coal dust slot - -# ./src/main/java/mods/eln/sixnode/thermalcable/ThermalCableDescriptor.java -High_parallel_resistance\n_\=>_Low_power_dissipation.=High parallel resistance\n \=> Low power dissipation. -Low_serial_resistance\n_\=>_High_conductivity.=Low serial resistance\n \=> High conductivity. -Parallel_resistance\:_%sK_W=Parallel resistance\: %sK/W -Serial_resistance\:_%sK_W=Serial resistance\: %sK/W - -# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorContainer.java -Cable_slot=Cable slot - -# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorDescriptor.java -Can_measure\:=Can measure\: -Measures_temperature_of_cables.=Measures temperature of cables. -Measures_thermal_values_on_cables.=Measures thermal values on cables. -__Temperature_Power_conducted=Temperature/Power conducted - -# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorGui.java -Measured_temperature\ncorresponding\nto_0%_output=Measured temperature\ncorresponding\nto 0% output -Measured_temperature\ncorresponding\nto_100%_output=Measured temperature\ncorresponding\nto 100% output -Temperature=Temperature - -# ./src/main/java/mods/eln/sixnode/tutorialsign/TutorialSignElement.java -No_text_associated_to_this_beacon=No text associated to this beacon - -# ./src/main/java/mods/eln/sixnode/tutorialsign/TutorialSignGui.java -Set_beacon_name=Set beacon name - -# ./src/main/java/mods/eln/sixnode/wirelesssignal/rx/WirelessSignalRxGui.java - -# ./src/main/java/mods/eln/transparentnode/FuelGenerator.kt -Nominal_power\:_%s_W=Nominal power\: %s W -Nominal_voltage\:_%s_V=Nominal voltage\: %s V -Produces_electricity_using_fuel.=Produces electricity using fuel. - -# ./src/main/java/mods/eln/transparentnode/LargeRheostat.kt -Nom._Resistance\:_%s=Nom. Resistance\: %s - -# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerContainer.java -Drill_slot=Drill slot -Mining_pipe_slot=Mining pipe slot -Ore_scanner_slot=Ore scanner slot - -# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerDescriptor.java -Excavates_on_a_small_radius.\nExtracts_ore_on_a_bigger_radius\:\n10_blocks_radius_after_10_blocks_depth.=Excavates on a small radius.\nExtracts ore on a bigger radius\:\n10 blocks radius after 10 blocks depth. - -# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerGuiDraw.java -Chest_missing_on_the\nback_of_the_auto_miner!=Chest missing on the\nback of the auto miner\! -Halves_speed,_triples_power_draw=Halves speed, triples power draw -Silk_Touch_Off=Silk Touch Off -Silk_Touch_On=Silk Touch On -Silk_touch=Silk touch - -# ./src/main/java/mods/eln/transparentnode/battery/BatteryContainer.java -Overheating_protection=Overheating protection -Overvoltage_protection=Overvoltage protection - -# ./src/main/java/mods/eln/transparentnode/battery/BatteryDescriptor.java -Actual_charge\:_%s=Actual charge\: %s -Energy_capacity\:_%sJ=Energy capacity\: %sJ -_charged_at_%s=charged at %s - -# ./src/main/java/mods/eln/transparentnode/battery/BatteryGuiDraw.java -Charge=Charge -Charged=Charged -Discharge=Discharge -Energy\:=Energy\: -Energy\:_%s=Energy\: %s -Life\:=Life\: -No_charge=No charge -Power_in\:=Power in\: -Power_out\:=Power out\: - -# ./src/main/java/mods/eln/transparentnode/eggincubator/EggIncubatorContainer.java -Egg_slot=Egg slot - -# ./src/main/java/mods/eln/transparentnode/electricalantennarx/ElectricalAntennaRxDescriptor.java -Wireless_energy_receiver.=Wireless energy receiver. - -# ./src/main/java/mods/eln/transparentnode/electricalantennatx/ElectricalAntennaTxDescriptor.java -Efficiency\:_%s_up_to_%s=Efficiency\: %s up to %s -Wireless_energy_transmitter.=Wireless energy transmitter. - -# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceContainer.java -Heating_corp_slot=Heating corp slot - -# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceDescriptor.java -Similar_to_a_vanilla_furnace,\nbut_heats_with_electricity.=Similar to a vanilla furnace,\nbut heats with electricity. - -# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceGuiDraw.java -Auto_shutdown=Auto shutdown -Manual_shutdown=Manual shutdown -Set_point\:_%s°C=Set point\: %s°C - -# ./src/main/java/mods/eln/transparentnode/electricalmachine/ElectricalMachineDescriptor.java -Cost=Cost - -# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceContainer.java -Combustion_chamber_slot=Combustion chamber slot -Fuel_slot=Fuel slot - -# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceDescriptor.java -Generates_heat_when_supplied_with_fuel.=Generates heat when supplied with fuel. - -# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceGuiDraw.java -Control_gauge_at_%s=Control gauge at %s -Decline_fuel=Decline fuel -External_control=External control -Internal_control=Internal control -Take_fuel=Take fuel - -# ./src/main/java/mods/eln/transparentnode/powercapacitor/PowerCapacitorContainer.java -(Increases_maximal_voltage)=(Increases maximal voltage) - -# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelContainer.java -Solar_tracker_slot=Solar tracker slot - -# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelDescriptor.java -Can_be_geared_towards_the_sun.=Can be geared towards the sun. -Max._power\:_%sW=Max. power\: %sW -Max._voltage\:_%sV=Max. voltage\: %sV -Produces_power_from_solar_radiation.=Produces power from solar radiation. - -# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPannelGuiDraw.java -It_is_night=It is night -Solar_panel_angle\:_%s°=Solar panel angle\: %s° -Sun_angle\:_%s°=Sun angle\: %s° - -# ./src/main/java/mods/eln/transparentnode/teleporter/TeleporterGui.java -Destination_transporter=Destination transporter -Power_consumption\:=Power consumption\: -Power_consumption\:_%sW=Power consumption\: %sW -Required_energy\:_%sJ=Required energy\: %sJ -Start=Start -Transporter_name=Transporter name - -# ./src/main/java/mods/eln/transparentnode/thermaldissipatoractive/ThermalDissipatorActiveDescriptor.java -Fan_cooling_power\:_%sW=Fan cooling power\: %sW -Fan_power_consumption\:_%sW=Fan power consumption\: %sW -Fan_voltage\:_%sV=Fan voltage\: %sV - -# ./src/main/java/mods/eln/transparentnode/transformer/TransformerDescriptor.java -The_voltage_ratio_is_proportional\nto_the_cable_stacks_count_ratio.=The voltage ratio is proportional\nto the cable stacks count ratio. -Transforms_an_input_voltage_to\nan_output_voltage.=Transforms an input voltage to\nan output voltage. - -# ./src/main/java/mods/eln/transparentnode/turbine/TurbineDescriptor.java -Generates_electricity_using_heat.=Generates electricity using heat. -Temperature_difference\:_%s°C=Temperature difference\: %s°C - -# ./src/main/java/mods/eln/transparentnode/turret/TurretDescriptor.java -CAUTION\:_Cables_can_get_quite_hot!=CAUTION\: Cables can get quite hot\! -Laser_charge_power\:_%sW...%skW=Laser charge power\: %sW...%skW -Scans_for_entities_and_shoots_if_the\nentity_matches_the_configurable_filter_criteria.=Scans for entities and shoots if the\nentity matches the configurable filter criteria. -Standby_power\:_%sW=Standby power\: %sW - -# ./src/main/java/mods/eln/transparentnode/turret/TurretGui.java -Attack\:=Attack\: -Do_not_attack\:=Do not attack\: -Recharge_power\:=Recharge power\: - -# ./src/main/java/mods/eln/transparentnode/waterturbine/WaterTurbineDescriptor.java -Generates_energy_using_water_stream.=Generates energy using water stream. -No_place_for_water_turbine!=No place for water turbine\! - -# ./src/main/java/mods/eln/transparentnode/windturbine/WindTurbineDescriptor.java -Front\:_%s=Front\: %s -Generates_energy_from_wind.=Generates energy from wind. -Left_Right\:_%s=Left/Right\: %s -Up_Down\:_%s=Up/Down\: %s -Wind_area\:=Wind area\: - -# ./src/main/java/mods/eln/wiki/Data.java -Energy=Energy -Light=Light -Machine=Machine -Ore=Ore -Portable=Portable -Resource=Resource -Signal=Signal -Thermal=Thermal -Upgrade=Upgrade -Utilities=Utilities -Wiring=Wiring - -# ./src/main/java/mods/eln/wiki/Default.java -Previous=Previous - -# ./src/main/java/mods/eln/wiki/ItemDefault.java -Can_be_used_to_craft\:=Can be used to craft\: -Cannot_be_crafted!=Cannot be crafted\! -Cost_%sJ=Cost %sJ -Created_by\:=Created by\: -Is_not_a_crafting_material!=Is not a crafting material\! -Recipe\:=Recipe\: - -# Appearing in multiple source files -(Increases_capacity)=(Increases capacity) -(Increases_inductance)=(Increases inductance) -Actual\:_%s°C=Actual\: %s°C -Biggest=Biggest -Booster_slot=Booster slot -Can_create\:=Can create\: -Capacity\:_%sF=Capacity\: %sF -Charge_power\:_%sW=Charge power\: %sW -Connected=Connected -Cooling_power\:_%sW=Cooling power\: %sW -Copper_cable_slot=Copper cable slot -Dielectric_slot=Dielectric slot -Discharge_power\:_%sW=Discharge power\: %sW -Electrical_cable_slot=Electrical cable slot -Entity_filter_slot=Entity filter slot -Ferromagnetic_core_slot=Ferromagnetic core slot -Has_a_signal_output.=Has a signal output. -Inductance\:_%sH=Inductance\: %sH -Internal_resistance\:_%sΩ=Internal resistance\: %sΩ -Is_off=Is off -Is_on=Is on -Max._temperature\:_%s°C=Max. temperature\: %s°C -Measured_value\ncorresponding\nto_0%_output=Measured value\ncorresponding\nto 0% output -Measured_value\ncorresponding\nto_100%_output=Measured value\ncorresponding\nto 100% output -Nominal\:=Nominal\: -Nominal_power\:_%sW=Nominal power\: %sW -Nominal_usage\:=Nominal usage\: -Nominal_voltage\:_%sV=Nominal voltage\: %sV -Not_connected=Not connected -Not_enough_space_for_this_block=Not enough space for this block -Power=Power -Power\:_%sW=Power\: %sW -Range\:_%s_blocks=Range\: %s blocks -Redstone_slot=Redstone slot -Regulator_slot=Regulator slot -Reset=Reset -Resistance\:_%sΩ=Resistance\: %sΩ -Smallest=Smallest -Specify_the_channel=Specify the channel -Stored_energy\:_%sJ_(%s)=Stored energy\: %sJ (%s) -Temperature\:_%s°C=Temperature\: %s°C -Temperature_gauge=Temperature gauge -Thermal_isolator_slot=Thermal isolator slot -Toggle=Toggle -Toggle_switch=Toggle switch -Toggles_the_output_each_time\nan_emitter's_value_rises.\nUseful_to_allow_multiple_buttons\nto_control_the_same_light.=Toggles the output each time\nan emitter's value rises.\nUseful to allow multiple buttons\nto control the same light. -Used_to_cool_down_turbines.=Used to cool down turbines. -Uses_the_biggest\nvalue_on_the_channel.=Uses the biggest\nvalue on the channel. -Uses_the_smallest\nvalue_on_the_channel.=Uses the smallest\nvalue on the channel. -Validate=Validate -Voltage\:_%sV=Voltage\: %sV -You_can't_place_this_block_at_this_side=You can't place this block at this side +eln:# +eln: +eln:# ./src/main/java/mods/eln/Achievements.java +eln:Electrical_Age_[WIP]=Electrical Age [WIP] +eln:achievement.craft_50v_macerator=Crushing Novice +eln:achievement.craft_50v_macerator.desc=Craft a 50V Macerator +eln:achievement.open_guide=Wiki Power +eln:achievement.open_guide.desc=Open the wiki guide +eln: +eln:# ./src/main/java/mods/eln/Eln.java +eln:10A_Diode.name=10A Diode +eln:200V_Active_Thermal_Dissipator.name=200V Active Thermal Dissipator +eln:200V_Battery_Charger.name=200V Battery Charger +eln:200V_Compressor.name=200V Compressor +eln:200V_Condensator.name=200V Condensator +eln:200V_Copper_Heating_Corp.name=200V Copper Heating Corp +eln:200V_Economic_Light_Bulb.name=200V Economic Light Bulb +eln:200V_Farming_Lamp.name=200V Farming Lamp +eln:200V_Fuel_Generator.name=200V Fuel Generator +eln:200V_Incandescent_Light_Bulb.name=200V Incandescent Light Bulb +eln:200V_Iron_Heating_Corp.name=200V Iron Heating Corp +eln:200V_LED_Bulb.name=200V LED Bulb +eln:200V_Macerator.name=200V Macerator +eln:200V_Magnetizer.name=200V Magnetizer +eln:200V_Plate_Machine.name=200V Plate Machine +eln:200V_Power_Socket.name=200V Power Socket +eln:200V_Tungsten_Heating_Corp.name=200V Tungsten Heating Corp +eln:200V_Turbine.name=200V Turbine +eln:25A_Diode.name=25A Diode +eln:50V_Battery_Charger.name=50V Battery Charger +eln:50V_Carbon_Incandescent_Light_Bulb.name=50V Carbon Incandescent Light Bulb +eln:50V_Compressor.name=50V Compressor +eln:50V_Condensator.name=50V Condensator +eln:50V_Copper_Heating_Corp.name=50V Copper Heating Corp +eln:50V_Economic_Light_Bulb.name=50V Economic Light Bulb +eln:50V_Egg_Incubator.name=50V Egg Incubator +eln:50V_Farming_Lamp.name=50V Farming Lamp +eln:50V_Fuel_Generator.name=50V Fuel Generator +eln:50V_Incandescent_Light_Bulb.name=50V Incandescent Light Bulb +eln:50V_Iron_Heating_Corp.name=50V Iron Heating Corp +eln:50V_LED_Bulb.name=50V LED Bulb +eln:50V_Macerator.name=50V Macerator +eln:50V_Magnetizer.name=50V Magnetizer +eln:50V_Plate_Machine.name=50V Plate Machine +eln:50V_Power_Socket.name=50V Power Socket +eln:50V_Tungsten_Heating_Corp.name=50V Tungsten Heating Corp +eln:50V_Turbine.name=50V Turbine +eln:800V_Defence_Turret.name=800V Defence Turret +eln:AND_Chip.name=AND Chip +eln:Advanced_Chip.name=Advanced Chip +eln:Advanced_Electrical_Motor.name=Advanced Electrical Motor +eln:Advanced_Energy_Meter.name=Advanced Energy Meter +eln:Advanced_Machine_Block.name=Advanced Machine Block +eln:Advanced_Magnet.name=Advanced Magnet +eln:AllMeter.name=Universal-Meter +eln:Alloy_Dust.name=Alloy Dust +eln:Alloy_Ingot.name=Alloy Ingot +eln:Alloy_Plate.name=Alloy Plate +eln:Analog_Watch.name=Analog watch +eln:Analog_vuMeter.name=Analog Gauge +eln:Analogic_Regulator.name=Analogic Regulator +eln:Animal_Filter.name=Animal Filter +eln:Auto_Miner.name=Auto Miner +eln:Average_Electrical_Drill.name=Average Electrical Drill +eln:Average_Ferromagnetic_Core.name=Average Ferromagnetic Core +eln:Basic_Magnet.name=Basic Magnet +eln:Black_Brush.name=Black Brush +eln:Blue_Brush.name=Blue Brush +eln:Brown_Brush.name=Brown Brush +eln:Capacity_Oriented_Battery.name=Capacity Oriented Battery +eln:Cheap_Chip.name=Cheap Chip +eln:Cheap_Electrical_Drill.name=Cheap Electrical Drill +eln:Cheap_Ferromagnetic_Core.name=Cheap Ferromagnetic Core +eln:Cinnabar_Dust.name=Cinnabar Dust +eln:Cinnabar_Ore.name=Cinnabar Ore +eln:Coal_Dust.name=Coal Dust +eln:Coal_Plate.name=Coal Plate +eln:Combustion_Chamber.name=Combustion Chamber +eln:Copper_Cable.name=Copper Cable +eln:Copper_Dust.name=Copper Dust +eln:Copper_Ingot.name=Copper Ingot +eln:Copper_Ore.name=Copper Ore +eln:Copper_Plate.name=Copper Plate +eln:Copper_Thermal_Cable.name=Copper Thermal Cable +eln:Cost_Oriented_Battery.name=Cost Oriented Battery +eln:Current_Oriented_Battery.name=Current Oriented Battery +eln:Cyan_Brush.name=Cyan Brush +eln:D_Flip_Flop_Chip.name=D Flip Flop Chip +eln:Data_Logger.name=Data Logger +eln:Data_Logger_Print.name=Data Logger Print +eln:Dielectric.name=Dielectric +eln:Digital_Watch.name=Digital Watch +eln:Electrical_Anemometer_Sensor.name=Electrical Anemometer Sensor +eln:Electrical_Breaker.name=Electrical Breaker +eln:Electrical_Daylight_Sensor.name=Electrical Daylight Sensor +eln:Electrical_Entity_Sensor.name=Electrical Entity Sensor +eln:Electrical_Fire_Detector.name=Electrical Fire Detector +eln:Electrical_Furnace.name=Electrical Furnace +eln:Electrical_Light_Sensor.name=Electrical Light Sensor +eln:Electrical_Motor.name=Electrical Motor +eln:Electrical_Probe.name=Electrical Probe +eln:Electrical_Probe_Chip.name=Electrical Probe Chip +eln:Electrical_Source.name=Electrical Source +eln:Electrical_Timer.name=Electrical Timer +eln:Electrical_Weather_Sensor.name=Electrical Weather Sensor +eln:Electrical_age_wrench,\nCan_be_used_to_turn\nsmall_wall_blocks=Electrical age wrench,\nCan be used to turn\nsmall wall blocks +eln:Energy_Meter.name=Energy Meter +eln:Experimental_Transporter.name=Experimental Transporter +eln:Fast_Electrical_Drill.name=Fast Electrical Drill +eln:Ferrite_Ingot.name=Ferrite Ingot +eln:Flat_Lamp_Socket.name=Flat Lamp Socket +eln:Fluorescent_Lamp_Socket.name=Fluorescent Lamp Socket +eln:Generator.name=Generator +eln:Gold_Dust.name=Gold Dust +eln:Gold_Plate.name=Gold Plate +eln:Gray_Brush.name=Gray Brush +eln:Green_Brush.name=Green Brush +eln:Ground_Cable.name=Ground Cable +eln:High_Power_Receiver_Antenna.name=High Power Receiver Antenna +eln:High_Power_Transmitter_Antenna.name=High Power Transmitter Antenna +eln:High_Voltage_Cable.name=High Voltage Cable +eln:High_Voltage_Relay.name=High Voltage Relay +eln:High_Voltage_Switch.name=High Voltage Switch +eln:Hub.name=Hub +eln:Industrial_Data_Logger.name=Industrial Data Logger +eln:Iron_Cable.name=Iron Cable +eln:Iron_Dust.name=Iron Dust +eln:Iron_Plate.name=Iron Plate +eln:JK_Flip_Flop_Chip.name=JK Flip Flop Chip +eln:LED_vuMeter.name=LED vuMeter +eln:Lamp_Socket_A.name=Lamp Socket A +eln:Lamp_Socket_B_Projector.name=Lamp Socket B Projector +eln:Lamp_Supply.name=Lamp Supply +eln:Large_Rheostat.name=Large Rheostat +eln:Lead_Dust.name=Lead Dust +eln:Lead_Ingot.name=Lead Ingot +eln:Lead_Ore.name=Lead Ore +eln:Lead_Plate.name=Lead Plate +eln:Life_Oriented_Battery.name=Life Oriented Battery +eln:Light_Blue_Brush.name=Light Blue Brush +eln:Lime_Brush.name=Lime Brush +eln:Long_Suspended_Lamp_Socket.name=Long Suspended Lamp Socket +eln:Low_Power_Receiver_Antenna.name=Low Power Receiver Antenna +eln:Low_Power_Transmitter_Antenna.name=Low Power Transmitter Antenna +eln:Low_Voltage_Cable.name=Low Voltage Cable +eln:Low_Voltage_Relay.name=Low Voltage Relay +eln:Low_Voltage_Switch.name=Low Voltage Switch +eln:Machine_Block.name=Machine Block +eln:Machine_Booster.name=Machine Booster +eln:Magenta_Brush.name=Magenta Brush +eln:Medium_Power_Receiver_Antenna.name=Medium Power Receiver Antenna +eln:Medium_Power_Transmitter_Antenna.name=Medium Power Transmitter Antenna +eln:Medium_Voltage_Cable.name=Medium Voltage Cable +eln:Medium_Voltage_Relay.name=Medium Voltage Relay +eln:Medium_Voltage_Switch.name=Medium Voltage Switch +eln:Mercury.name=Mercury +eln:Mining_Pipe.name=Mining Pipe +eln:Modbus_RTU.name=Modbus RTU +eln:Modern_Data_Logger.name=Modern Data Logger +eln:Monster_Filter.name=Monster Filter +eln:MultiMeter.name=Multimeter +eln:NAND_Chip.name=NAND Chip +eln:NOR_Chip.name=NOR Chip +eln:NOT_Chip.name=NOT Chip +eln:Nuclear_Alarm.name=Nuclear Alarm +eln:OR_Chip.name=OR Chip +eln:On_OFF_Regulator_10_Percent.name=On/off regulator 10% +eln:On_OFF_Regulator_1_Percent.name=On/off regulator 1% +eln:Optimal_Ferromagnetic_Core.name=Optimal Ferromagnetic Core +eln:Orange_Brush.name=Orange Brush +eln:Ore_Scanner.name=Ore Scanner +eln:Oscillator_Chip.name=Oscillator Chip +eln:Overheating_Protection.name=Overheating Protection +eln:Overvoltage_Protection.name=Overvoltage Protection +eln:PAL_Chip.name=PAL Chip +eln:Pink_Brush.name=Pink Brush +eln:Player_Filter.name=Player Filter +eln:Portable_Battery.name=Portable Battery +eln:Portable_Battery_Pack.name=Portable Battery Pack +eln:Portable_Condensator.name=Portable Condensator +eln:Portable_Condensator_Pack.name=Portable Condensator Pack +eln:Portable_Electrical_Axe.name=Portable Electrical Axe +eln:Portable_Electrical_Mining_Drill.name=Portable Electrical Mining Drill +eln:Power_Capacitor.name=Power Capacitor +eln:Power_Inductor.name=Power Inductor +eln:Power_Resistor.name=Power Resistor +eln:Power_capacitor.name=Power capacitor +eln:Power_inductor.name=Power inductor +eln:Purple_Brush.name=Purple Brush +eln:Red_Brush.name=Red Brush +eln:Redstone-to-Voltage_Converter.name=Redstone-to-Voltage Converter +eln:Rheostat.name=Rheostat +eln:Robust_Lamp_Socket.name=Robust Lamp Socket +eln:Rubber.name=Rubber +eln:Schmitt_Trigger_Chip.name=Schmitt Trigger Chip +eln:Sconce_Lamp_Socket.name=Sconce Lamp Socket +eln:Signal_20H_inductor.name=Signal 20H inductor +eln:Signal_Antenna.name=Signal Antenna +eln:Signal_Button.name=Signal Button +eln:Signal_Cable.name=Signal Cable +eln:Signal_Diode.name=Signal Diode +eln:Signal_Processor.name=Signal Processor +eln:Signal_Relay.name=Signal Relay +eln:Signal_Source.name=Signal Source +eln:Signal_Switch.name=Signal Switch +eln:Signal_Switch_with_LED.name=Signal Switch with LED +eln:Signal_Trimmer.name=Signal Trimmer +eln:Silicon_Dust.name=Silicon Dust +eln:Silicon_Ingot.name=Silicon Ingot +eln:Silicon_Plate.name=Silicon Plate +eln:Silver_Brush.name=Silver Brush +eln:Simple_Lamp_Socket.name=Simple Lamp Socket +eln:Single-use_Battery.name=Single-use Battery +eln:Small_200V_Copper_Heating_Corp.name=Small 200V Copper Heating Corp +eln:Small_200V_Iron_Heating_Corp.name=Small 200V Iron Heating Corp +eln:Small_200V_Tungsten_Heating_Corp.name=Small 200V Tungsten Heating Corp +eln:Small_50V_Carbon_Incandescent_Light_Bulb.name=Small 50V Carbon Incandescent Light Bulb +eln:Small_50V_Copper_Heating_Corp.name=Small 50V Copper Heating Corp +eln:Small_50V_Economic_Light_Bulb.name=Small 50V Economic Light Bulb +eln:Small_50V_Incandescent_Light_Bulb.name=Small 50V Incandescent Light Bulb +eln:Small_50V_Iron_Heating_Corp.name=Small 50V Iron Heating Corp +eln:Small_50V_Tungsten_Heating_Corp.name=Small 50V Tungsten Heating Corp +eln:Small_Active_Thermal_Dissipator.name=Small Active Thermal Dissipator +eln:Small_Flashlight.name=Small Flashlight +eln:Small_Passive_Thermal_Dissipator.name=Small Passive Thermal Dissipator +eln:Small_Rotating_Solar_Panel.name=Small Rotating Solar Panel +eln:Small_Solar_Panel.name=Small Solar Panel +eln:Solar_Tracker.name=Solar Tracker +eln:Standard_Alarm.name=Standard Alarm +eln:Steam_Turbine.name=Steam Turbine +eln:Stone_Heat_Furnace.name=Stone Heat Furnace +eln:Street_Light.name=Streetlight +eln:Suspended_Lamp_Socket.name=Suspended Lamp Socket +eln:Temperature_Probe.name=Temperature Probe +eln:Thermal_Probe.name=Thermal Probe +eln:Thermal_Probe_Chip.name=Thermal Probe Chip +eln:Thermistor.name=Thermistor +eln:ThermoMeter.name=Thermometer +eln:Transformer.name=Transformer +eln:Tree_Resin.name=Tree Resin +eln:Tree_Resin_Collector.name=Tree Resin Collector +eln:Tungsten_Cable.name=Tungsten Cable +eln:Tungsten_Dust.name=Tungsten Dust +eln:Tungsten_Ingot.name=Tungsten Ingot +eln:Tungsten_Ore.name=Tungsten Ore +eln:Tutorial_Sign.name=Tutorial Sign +eln:Very_High_Voltage_Cable.name=Very High Voltage Cable +eln:Very_High_Voltage_Relay.name=Very High Voltage Relay +eln:Very_High_Voltage_Switch.name=Very High Voltage Switch +eln:Voltage-to-Redstone_Converter.name=Voltage-to-Redstone Converter +eln:Voltage_Oriented_Battery.name=Voltage Oriented Battery +eln:Voltage_Probe.name=Voltage Probe +eln:Water_Turbine.name=Water Turbine +eln:Weak_50V_Battery_Charger.name=Weak 50V Battery Charger +eln:White_Brush.name=White Brush +eln:Wind_Turbine.name=Wind Turbine +eln:Wireless_Analyser.name=Wireless Analyzer +eln:Wireless_Button.name=Wireless Button +eln:Wireless_Signal_Receiver.name=Wireless Signal Receiver +eln:Wireless_Signal_Repeater.name=Wireless Signal Repeater +eln:Wireless_Signal_Transmitter.name=Wireless Signal Transmitter +eln:Wireless_Switch.name=Wireless Switch +eln:Wrench.name=Wrench +eln:X-Ray_Scanner.name=X-Ray Scanner +eln:XNOR_Chip.name=XNOR Chip +eln:XOR_Chip.name=XOR Chip +eln:Yellow_Brush.name=Yellow Brush +eln:entity.EAReplicator.name=Replicator +eln:item.Copper Axe.name\=Copper Axe +eln:item.Copper Axe.name\=Copper Axe +eln:item.Copper Axe.name\=Copper Axe +eln:item.Copper Axe.name\=Copper Axe +eln:item.Copper Axe.name\=Copper Axe +eln:item.Copper Axe.name\=Copper Axe +eln:item.Copper Axe.name\=Copper Axe +eln:item.Copper Axe.name\=Copper Axe +eln:item.Copper Axe.name\=Copper Axe +eln:item.E-Coal Boots.name\=E-Coal Boots +eln:item.E-Coal Boots.name\=E-Coal Boots +eln:item.E-Coal Boots.name\=E-Coal Boots +eln:item.E-Coal Boots.name\=E-Coal Boots +eln:itemGroup.Eln=Electrical Age +eln:mod.meta.desc=Electricity in your base\! +eln:tile.eln.ElnProbe.name=Eln Computer Probe +eln:tile.eln.EnergyConverterElnToOtherHVUBlock.name=800V Electrical Age to other energy exporter +eln:tile.eln.EnergyConverterElnToOtherLVUBlock.name=50V Electrical Age to other energy exporter +eln:tile.eln.EnergyConverterElnToOtherMVUBlock.name=200V Electrical Age to other energy exporter +eln: +eln:# ./src/main/java/mods/eln/i18n/I18N.java +eln:You_have_%s_lives_left=You have %s lives left +eln: +eln:# ./src/main/java/mods/eln/item/BrushDescriptor.java +eln:Brush_is_dry=Brush is dry +eln:Can_paint_%s_blocks=Can paint %s blocks +eln: +eln:# ./src/main/java/mods/eln/item/CombustionChamber.java +eln:Upgrade_for_the_Stone_Heat_Furnace.=Upgrade for the Stone Heat Furnace. +eln: +eln:# ./src/main/java/mods/eln/item/ElectricalDrillDescriptor.java +eln:Energy_per_operation\:_%sJ=Energy per operation\: %sJ +eln:Time_per_operation\:_%ss=Time per operation\: %ss +eln: +eln:# ./src/main/java/mods/eln/item/FerromagneticCoreDescriptor.java +eln:Cable_loss_factor\:_%s=Cable loss factor\: %s +eln: +eln:# ./src/main/java/mods/eln/item/HeatingCorpElement.java +eln: +eln:# ./src/main/java/mods/eln/item/LampDescriptor.java +eln:Bad=Bad +eln:Condition\:=Condition\: +eln:End_of_life=End of life +eln:Good=Good +eln:New=New +eln:Nominal_lifetime\:_%sh=Nominal lifetime\: %sh +eln:Technology\:_%s=Technology\: %s +eln:Used=Used +eln: +eln:# ./src/main/java/mods/eln/item/LampSlot.java +eln:Lamp_slot=Lamp slot +eln: +eln:# ./src/main/java/mods/eln/item/OverHeatingProtectionDescriptor.java +eln:Useful_to_prevent_overheating\nof_Batteries=Useful to prevent overheating\nof Batteries +eln: +eln:# ./src/main/java/mods/eln/item/OverVoltageProtectionDescriptor.java +eln:Useful_to_prevent_over-voltage\nof_Batteries=Useful to prevent over-voltage\nof Batteries +eln: +eln:# ./src/main/java/mods/eln/item/SolarTrackerDescriptor.java +eln:Solar_panel_upgrade=Solar panel upgrade +eln: +eln:# ./src/main/java/mods/eln/item/electricalitem/BatteryItem.java +eln: +eln:# ./src/main/java/mods/eln/item/electricalitem/ElectricalLampItem.java +eln:Off=Off +eln:On=On +eln:State\:=State\: +eln:Stored_Energy\:_%sJ_(%s)=Stored Energy\: %sJ (%s) +eln: +eln:# ./src/main/java/mods/eln/item/regulator/RegulatorSlot.java +eln: +eln:# ./src/main/java/mods/eln/misc/UtilsClient.java +eln:Hold_shift=Hold shift +eln: +eln:# ./src/main/java/mods/eln/misc/Version.java +eln:mod.name=Electrical Age +eln: +eln:# ./src/main/java/mods/eln/node/six/SixNodeDescriptor.java +eln: +eln:# ./src/main/java/mods/eln/simplenode/energyconverter/EnergyConverterElnToOtherGui.java +eln:Input_power_is_limited_to_%sW=Input power is limited to %sW +eln: +eln:# ./src/main/java/mods/eln/sixnode/LogicGate.kt +eln:_O\:_= O\: +eln: +eln:# ./src/main/java/mods/eln/sixnode/TreeResinCollector/TreeResinCollectorDescriptor.java +eln:Produces_Tree_Resin_over\ntime_when_put_on_a_tree.=Produces Tree Resin over\ntime when put on a tree. +eln:This_block_can_only_be_placed_on_the_side_of_a_tree!=This block can only be placed on the side of a tree\! +eln: +eln:# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerContainer.java +eln:Battery_slot=Battery slot +eln: +eln:# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerDescriptor.java +eln:Can_be_used_to_recharge\nelectrical_items_like\:\nFlash_Light,_X-Ray_scanner\nand_Portable_Battery_...=Can be used to recharge\nelectrical items like\:\nFlash Light, X-Ray scanner\nand Portable Battery ... +eln: +eln:# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerGui.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/diode/DiodeDescriptor.java +eln:Electrical_current_can_only\nflow_through_the_diode\nfrom_anode_to_cathode=Electrical current can only\nflow through the diode\nfrom anode to cathode +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalalarm/ElectricalAlarmDescriptor.java +eln:= +eln:Emits_an_acoustic_alarm_if\nthe_input_signal_is_high=Emits an acoustic alarm if\nthe input signal is high +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalalarm/ElectricalAlarmGui.java +eln:Sound_is_muted=Sound is muted +eln:Sound_is_not_muted=Sound is not muted +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerContainer.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerDescriptor.java +eln:Protects_electrical_components\nOpens_contact_if\:\n__-_Voltage_exceeds_a_certain_level\n-_Current_exceeds_the_cable_limit=Protects electrical components\nOpens contact if\:\n - Voltage exceeds a certain level\n- Current exceeds the cable limit +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerGui.java +eln:Maximum_voltage_before_cutting_off=Maximum voltage before cutting off +eln:Minimum_voltage_before_cutting_off=Minimum voltage before cutting off +eln:Switch_is_off=Switch is off +eln:Switch_is_on=Switch is on +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalcable/ElectricalCableDescriptor.java +eln:A_signal_is_electrical_information\nwhich_must_be_between_0V_and_%sV=A signal is electrical information\nwhich must be between 0V and %sV +eln:Cable_is_adapted_to_conduct\nelectrical_signals.=Cable is adapted to conduct\nelectrical signals. +eln:Current\:_%sA=Current\: %sA +eln:Not_adapted_to_transport_power.=Not adapted to transport power. +eln:Save_usage\:=Save usage\: +eln:Serial_resistance\:_%sΩ=Serial resistance\: %sΩ +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerDescriptor.java +eln:It_can_store_up_to_256_points.=It can store up to 256 points. +eln:Measures_the_voltage_of_an\nelectrical_signal_and_plots\nthe_data_in_real_time.=Measures the voltage of an\nelectrical signal and plots\nthe data in real time. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerGui.java +eln:Back_to_display=Back to display +eln:Configuration=Configuration +eln:Current_[A]=Current [A] +eln:Energy_[J]=Energy [J] +eln:Percent_[-]%=Percent [-]% +eln:Power_[W]=Power [W] +eln:Print=Print +eln:Sampling_period=Sampling period +eln:Temp._[*C]=Temp. [*C] +eln:Voltage_[V]=Voltage [V] +eln:Y-axis_max=Y-axis max +eln:Y-axis_min=Y-axis min +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorContainer.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorDescriptor.java +eln:Output_voltage_increases\nif_entities_are_moving_around.=Output voltage increases\nif entities are moving around. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalfiredetector/ElectricalFireDetectorDescriptor.java +eln:Output_voltage_increases\nif_a_fire_has_been_detected.=Output voltage increases\nif a fire has been detected. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceDescriptor.java +eln:Provides_configurable_signal\nvoltage.=Provides configurable signal\nvoltage. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceGui.java +eln:Output_at_%s=Output at %s +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricallightsensor/ElectricalLightSensorDescriptor.java +eln:0V_at_night,_%sV_at_noon.=0V at night, %sV at noon. +eln:Provides_an_electrical_voltage\nin_the_presence_of_light.=Provides an electrical voltage\nin the presence of light. +eln:Provides_an_electrical_voltage\nwhich_is_proportional_to\nthe_intensity_of_daylight.=Provides an electrical voltage\nwhich is proportional to\nthe intensity of daylight. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathContainer.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathDescriptor.java +eln:Applicable_boolean_operators\:=Applicable boolean operators\: +eln:Applicable_functions\:=Applicable functions\: +eln:Applicable_mathematical_operators\:=Applicable mathematical operators\: +eln:Calculates_an_output_signal_from\n3_inputs_(A,_B,_C)_using_an_equation.=Calculates an output signal from\n3 inputs (A, B, C) using an equation. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathGui.java +eln:%s_Redstone(s)_required=%s Redstone(s) required +eln:Equation_required!=Equation required\! +eln:Inputs_are=Inputs are +eln:Invalid_equation!=Invalid equation\! +eln:Output_voltage_formula=Output voltage formula +eln:Waiting_for_completion...=Waiting for completion... +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalredstoneinput/ElectricalRedstoneInputDescriptor.java +eln:Converts_Redstone_signal\nto_an_electrical_voltage.=Converts Redstone signal\nto an electrical voltage. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalredstoneoutput/ElectricalRedstoneOutputDescriptor.java +eln:Converts_electrical_voltage\ninto_a_Redstone_signal.=Converts electrical voltage\ninto a Redstone signal. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalrelay/ElectricalRelayDescriptor.java +eln:A_relay_is_an_electrical\ncontact_that_conducts_electric\ncurrent_or_not,_depending\nthe_actual_input_signal_voltage.=A relay is an electrical\ncontact that conducts electric\ncurrent or not, depending\nthe actual input signal voltage. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalrelay/ElectricalRelayGui.java +eln:Normally_closed=Normally closed +eln:Normally_open=Normally open +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalsource/ElectricalSourceDescriptor.java +eln:Creative_block.=Creative block. +eln:Provides_an_ideal_voltage_source\nwithout_energy_or_power_limitation.=Provides an ideal voltage source\nwithout energy or power limitation. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalsource/ElectricalSourceGui.java +eln:Output_voltage=Output voltage +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalswitch/ElectricalSwitchDescriptor.java +eln:Can_break_an_electrical_circuit\ninterrupting_the_current.=Can break an electrical circuit\ninterrupting the current. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricaltimeout/ElectricalTimeoutDescriptor.java +eln:Upon_application_of_a_high_signal,\nthe_timer_maintains_the_output_high_for\na_configurable_interval._Can_be_re-triggered.=Upon application of a high signal,\nthe timer maintains the output high for\na configurable interval. Can be re-triggered. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricaltimeout/ElectricalTimeoutGui.java +eln:Set=Set +eln:The_time_interval_the\noutput_is_kept_high.=The time interval the\noutput is kept high. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalvumeter/ElectricalVuMeterDescriptor.java +eln:Displays_the_value_of_a_signal.=Displays the value of a signal. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalwatch/ElectricalWatchContainer.java +eln:Portable_battery_slot=Portable battery slot +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalweathersensor/ElectricalWeatherSensorDescriptor.java +eln:Clear\:_%sV=Clear\: %sV +eln:Provides_an_electrical_signal\ndepending_the_actual_weather.=Provides an electrical signal\ndepending the actual weather. +eln:Rain\:_%sV=Rain\: %sV +eln:Storm\:_%sV=Storm\: %sV +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalwindsensor/ElectricalWindSensorDescriptor.java +eln:Maximum_wind_speed_is_%sm_s=Maximum wind speed is %sm/s +eln:Provides_an_electrical_signal\ndependant_on_wind_speed.=Provides an electrical signal\ndependant on wind speed. +eln:You_can't_place_this_block_on_the_floor_or_the_ceiling=You can't place this block on the floor or the ceiling +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricasensor/ElectricalSensorDescriptor.java +eln:Can_measure_Voltage_Power_Current=Can measure Voltage/Power/Current +eln:Measures_electrical_values_on_cables.=Measures electrical values on cables. +eln:Measures_voltage_on_cables.=Measures voltage on cables. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricasensor/ElectricalSensorGui.java +eln:Current=Current +eln:Measured_voltage\ncorresponding\nto_0%_output=Measured voltage\ncorresponding\nto 0% output +eln:Measured_voltage\ncorresponding\nto_100%_output=Measured voltage\ncorresponding\nto 100% output +eln:Voltage=Voltage +eln: +eln:# ./src/main/java/mods/eln/sixnode/energymeter/EnergyMeterGui.java +eln:Change_password=Change password +eln:Counter_Mode=Counter Mode +eln:Counts_the_energy_conducted_from\n\u00a74red\u00a7f_to_\u00a71blue\u00a7f.=Counts the energy conducted from\n\\u00a74red\\u00a7f to \\u00a71blue\\u00a7f. +eln:Energy_counter\:_%sJ=Energy counter\: %sJ +eln:Enter_new_energy=Enter new energy +eln:Enter_password=Enter password +eln:Prepay_Mode=Prepay Mode +eln:Reset_time_counter=Reset time counter +eln:Set_energy_counter=Set energy counter +eln:Time_counter\:=Time counter\: +eln:Try_password=Try password +eln:You_can_set_an_initial\namount_of_available_energy.\nWhen_the_counter_arrives_at_0\nthe_contact_will_be_opened.=You can set an initial\namount of available energy.\nWhen the counter arrives at 0\nthe contact will be opened. +eln:is_off=is off +eln:is_on=is on +eln:value_in_kJ=value in kJ +eln: +eln:# ./src/main/java/mods/eln/sixnode/groundcable/GroundCableDescriptor.java +eln:Can_be_used_to_set_a_point_of_an\nelectrical_network_to_0V_potential.\nFor_example_to_ground_negative_battery_contacts.=Can be used to set a point of an\nelectrical network to 0V potential.\nFor example to ground negative battery contacts. +eln:Provides_a_zero_volt_reference.=Provides a zero volt reference. +eln: +eln:# ./src/main/java/mods/eln/sixnode/hub/HubDescriptor.java +eln:Allows_crossing_cables\non_one_single_block.=Allows crossing cables\non one single block. +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketDescriptor.java +eln:Angle\:_%s°_to_%s°=Angle\: %s° to %s° +eln:Spot_range\:_%s_blocks=Spot range\: %s blocks +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketGuiDraw.java +eln:%s_is_not_in_range!=%s is not in range\! +eln:Cable_slot_empty=Cable slot empty +eln:Orientation\:_%s°=Orientation\: %s° +eln:Parallel=Parallel +eln:Powered_by_Lamp_Supply=Powered by Lamp Supply +eln:Powered_by_cable=Powered by cable +eln:Serial=Serial +eln:Specify_the_supply_channel=Specify the supply channel +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyContainer.java +eln:Electrical_cable_slot\nBase_range_is_32_blocks.\nEach_additional_cable\nincreases_range_by_one.=Electrical cable slot\nBase range is 32 blocks.\nEach additional cable\nincreases range by one. +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyDescriptor.java +eln:Supplies_all_lamps_on_the_channel.=Supplies all lamps on the channel. +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyGui.java +eln:Power_channel_name=Power channel name +eln:Wireless_channel_name=Wireless channel name +eln: +eln:# ./src/main/java/mods/eln/sixnode/modbusrtu/ModbusRtuGui.java +eln:Add=Add +eln:Channel_name=Channel name +eln:Modbus_ID=Modbus ID +eln:Modbus_RTU=Modbus RTU +eln:Station_ID=Station ID +eln:Station_name=Station name +eln:Wireless_RX=Wireless RX +eln:Wireless_TX=Wireless TX +eln: +eln:# ./src/main/java/mods/eln/sixnode/powercapacitorsix/PowerCapacitorSixContainer.java +eln:(Increases_maximum_voltage)=(Increases maximum voltage) +eln: +eln:# ./src/main/java/mods/eln/sixnode/powercapacitorsix/PowerCapacitorSixGui.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/powerinductorsix/PowerInductorSixContainer.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/powerinductorsix/PowerInductorSixGui.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/powersocket/PowerSocketDescriptor.java +eln:Supplies_any_device\nplugged_in_with_energy.=Supplies any device\nplugged in with energy. +eln: +eln:# ./src/main/java/mods/eln/sixnode/powersocket/PowerSocketGui.java +eln:Specify_the_device_to_supply_through_this_socket.=Specify the device to supply through this socket. +eln: +eln:# ./src/main/java/mods/eln/sixnode/resistor/ResistorContainer.java +eln:(Sets_resistance)=(Sets resistance) +eln:Coal_dust_slot=Coal dust slot +eln: +eln:# ./src/main/java/mods/eln/sixnode/thermalcable/ThermalCableDescriptor.java +eln:High_parallel_resistance\n_\=>_Low_power_dissipation.=High parallel resistance\n \=> Low power dissipation. +eln:Low_serial_resistance\n_\=>_High_conductivity.=Low serial resistance\n \=> High conductivity. +eln:Parallel_resistance\:_%sK_W=Parallel resistance\: %sK/W +eln:Serial_resistance\:_%sK_W=Serial resistance\: %sK/W +eln: +eln:# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorContainer.java +eln:Cable_slot=Cable slot +eln: +eln:# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorDescriptor.java +eln:Can_measure\:=Can measure\: +eln:Measures_temperature_of_cables.=Measures temperature of cables. +eln:Measures_thermal_values_on_cables.=Measures thermal values on cables. +eln:__Temperature_Power_conducted=Temperature/Power conducted +eln: +eln:# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorGui.java +eln:Measured_temperature\ncorresponding\nto_0%_output=Measured temperature\ncorresponding\nto 0% output +eln:Measured_temperature\ncorresponding\nto_100%_output=Measured temperature\ncorresponding\nto 100% output +eln:Temperature=Temperature +eln: +eln:# ./src/main/java/mods/eln/sixnode/tutorialsign/TutorialSignElement.java +eln:No_text_associated_to_this_beacon=No text associated to this beacon +eln: +eln:# ./src/main/java/mods/eln/sixnode/tutorialsign/TutorialSignGui.java +eln:Set_beacon_name=Set beacon name +eln: +eln:# ./src/main/java/mods/eln/sixnode/wirelesssignal/rx/WirelessSignalRxGui.java +eln: +eln:# ./src/main/java/mods/eln/transparentnode/FuelGenerator.kt +eln:Nominal_power\:_%s_W=Nominal power\: %s W +eln:Nominal_voltage\:_%s_V=Nominal voltage\: %s V +eln:Produces_electricity_using_fuel.=Produces electricity using fuel. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/LargeRheostat.kt +eln:Nom._Resistance\:_%s=Nom. Resistance\: %s +eln: +eln:# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerContainer.java +eln:Drill_slot=Drill slot +eln:Mining_pipe_slot=Mining pipe slot +eln:Ore_scanner_slot=Ore scanner slot +eln: +eln:# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerDescriptor.java +eln:Excavates_on_a_small_radius.\nExtracts_ore_on_a_bigger_radius\:\n10_blocks_radius_after_10_blocks_depth.=Excavates on a small radius.\nExtracts ore on a bigger radius\:\n10 blocks radius after 10 blocks depth. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerGuiDraw.java +eln:Chest_missing_on_the\nback_of_the_auto_miner!=Chest missing on the\nback of the auto miner\! +eln:Halves_speed,_triples_power_draw=Halves speed, triples power draw +eln:Silk_Touch_Off=Silk Touch Off +eln:Silk_Touch_On=Silk Touch On +eln:Silk_touch=Silk touch +eln: +eln:# ./src/main/java/mods/eln/transparentnode/battery/BatteryContainer.java +eln:Overheating_protection=Overheating protection +eln:Overvoltage_protection=Overvoltage protection +eln: +eln:# ./src/main/java/mods/eln/transparentnode/battery/BatteryDescriptor.java +eln:Actual_charge\:_%s=Actual charge\: %s +eln:Energy_capacity\:_%sJ=Energy capacity\: %sJ +eln:_charged_at_%s=charged at %s +eln: +eln:# ./src/main/java/mods/eln/transparentnode/battery/BatteryGuiDraw.java +eln:Charge=Charge +eln:Charged=Charged +eln:Discharge=Discharge +eln:Energy\:=Energy\: +eln:Energy\:_%s=Energy\: %s +eln:Life\:=Life\: +eln:No_charge=No charge +eln:Power_in\:=Power in\: +eln:Power_out\:=Power out\: +eln: +eln:# ./src/main/java/mods/eln/transparentnode/eggincubator/EggIncubatorContainer.java +eln:Egg_slot=Egg slot +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalantennarx/ElectricalAntennaRxDescriptor.java +eln:Wireless_energy_receiver.=Wireless energy receiver. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalantennatx/ElectricalAntennaTxDescriptor.java +eln:Efficiency\:_%s_up_to_%s=Efficiency\: %s up to %s +eln:Wireless_energy_transmitter.=Wireless energy transmitter. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceContainer.java +eln:Heating_corp_slot=Heating corp slot +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceDescriptor.java +eln:Similar_to_a_vanilla_furnace,\nbut_heats_with_electricity.=Similar to a vanilla furnace,\nbut heats with electricity. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceGuiDraw.java +eln:Auto_shutdown=Auto shutdown +eln:Manual_shutdown=Manual shutdown +eln:Set_point\:_%s°C=Set point\: %s°C +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalmachine/ElectricalMachineDescriptor.java +eln:Cost=Cost +eln: +eln:# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceContainer.java +eln:Combustion_chamber_slot=Combustion chamber slot +eln:Fuel_slot=Fuel slot +eln: +eln:# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceDescriptor.java +eln:Generates_heat_when_supplied_with_fuel.=Generates heat when supplied with fuel. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceGuiDraw.java +eln:Control_gauge_at_%s=Control gauge at %s +eln:Decline_fuel=Decline fuel +eln:External_control=External control +eln:Internal_control=Internal control +eln:Take_fuel=Take fuel +eln: +eln:# ./src/main/java/mods/eln/transparentnode/powercapacitor/PowerCapacitorContainer.java +eln:(Increases_maximal_voltage)=(Increases maximal voltage) +eln: +eln:# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelContainer.java +eln:Solar_tracker_slot=Solar tracker slot +eln: +eln:# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelDescriptor.java +eln:Can_be_geared_towards_the_sun.=Can be geared towards the sun. +eln:Max._power\:_%sW=Max. power\: %sW +eln:Max._voltage\:_%sV=Max. voltage\: %sV +eln:Produces_power_from_solar_radiation.=Produces power from solar radiation. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPannelGuiDraw.java +eln:It_is_night=It is night +eln:Solar_panel_angle\:_%s°=Solar panel angle\: %s° +eln:Sun_angle\:_%s°=Sun angle\: %s° +eln: +eln:# ./src/main/java/mods/eln/transparentnode/teleporter/TeleporterGui.java +eln:Destination_transporter=Destination transporter +eln:Power_consumption\:=Power consumption\: +eln:Power_consumption\:_%sW=Power consumption\: %sW +eln:Required_energy\:_%sJ=Required energy\: %sJ +eln:Start=Start +eln:Transporter_name=Transporter name +eln: +eln:# ./src/main/java/mods/eln/transparentnode/thermaldissipatoractive/ThermalDissipatorActiveDescriptor.java +eln:Fan_cooling_power\:_%sW=Fan cooling power\: %sW +eln:Fan_power_consumption\:_%sW=Fan power consumption\: %sW +eln:Fan_voltage\:_%sV=Fan voltage\: %sV +eln: +eln:# ./src/main/java/mods/eln/transparentnode/transformer/TransformerDescriptor.java +eln:The_voltage_ratio_is_proportional\nto_the_cable_stacks_count_ratio.=The voltage ratio is proportional\nto the cable stacks count ratio. +eln:Transforms_an_input_voltage_to\nan_output_voltage.=Transforms an input voltage to\nan output voltage. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/turbine/TurbineDescriptor.java +eln:Generates_electricity_using_heat.=Generates electricity using heat. +eln:Temperature_difference\:_%s°C=Temperature difference\: %s°C +eln: +eln:# ./src/main/java/mods/eln/transparentnode/turret/TurretDescriptor.java +eln:CAUTION\:_Cables_can_get_quite_hot!=CAUTION\: Cables can get quite hot\! +eln:Laser_charge_power\:_%sW...%skW=Laser charge power\: %sW...%skW +eln:Scans_for_entities_and_shoots_if_the\nentity_matches_the_configurable_filter_criteria.=Scans for entities and shoots if the\nentity matches the configurable filter criteria. +eln:Standby_power\:_%sW=Standby power\: %sW +eln: +eln:# ./src/main/java/mods/eln/transparentnode/turret/TurretGui.java +eln:Attack\:=Attack\: +eln:Do_not_attack\:=Do not attack\: +eln:Recharge_power\:=Recharge power\: +eln: +eln:# ./src/main/java/mods/eln/transparentnode/waterturbine/WaterTurbineDescriptor.java +eln:Generates_energy_using_water_stream.=Generates energy using water stream. +eln:No_place_for_water_turbine!=No place for water turbine\! +eln: +eln:# ./src/main/java/mods/eln/transparentnode/windturbine/WindTurbineDescriptor.java +eln:Front\:_%s=Front\: %s +eln:Generates_energy_from_wind.=Generates energy from wind. +eln:Left_Right\:_%s=Left/Right\: %s +eln:Up_Down\:_%s=Up/Down\: %s +eln:Wind_area\:=Wind area\: +eln: +eln:# ./src/main/java/mods/eln/wiki/Data.java +eln:Energy=Energy +eln:Light=Light +eln:Machine=Machine +eln:Ore=Ore +eln:Portable=Portable +eln:Resource=Resource +eln:Signal=Signal +eln:Thermal=Thermal +eln:Upgrade=Upgrade +eln:Utilities=Utilities +eln:Wiring=Wiring +eln: +eln:# ./src/main/java/mods/eln/wiki/Default.java +eln:Previous=Previous +eln: +eln:# ./src/main/java/mods/eln/wiki/ItemDefault.java +eln:Can_be_used_to_craft\:=Can be used to craft\: +eln:Cannot_be_crafted!=Cannot be crafted\! +eln:Cost_%sJ=Cost %sJ +eln:Created_by\:=Created by\: +eln:Is_not_a_crafting_material!=Is not a crafting material\! +eln:Recipe\:=Recipe\: +eln: +eln:# Appearing in multiple source files +eln:(Increases_capacity)=(Increases capacity) +eln:(Increases_inductance)=(Increases inductance) +eln:Actual\:_%s°C=Actual\: %s°C +eln:Biggest=Biggest +eln:Booster_slot=Booster slot +eln:Can_create\:=Can create\: +eln:Capacity\:_%sF=Capacity\: %sF +eln:Charge_power\:_%sW=Charge power\: %sW +eln:Connected=Connected +eln:Cooling_power\:_%sW=Cooling power\: %sW +eln:Copper_cable_slot=Copper cable slot +eln:Dielectric_slot=Dielectric slot +eln:Discharge_power\:_%sW=Discharge power\: %sW +eln:Electrical_cable_slot=Electrical cable slot +eln:Entity_filter_slot=Entity filter slot +eln:Ferromagnetic_core_slot=Ferromagnetic core slot +eln:Has_a_signal_output.=Has a signal output. +eln:Inductance\:_%sH=Inductance\: %sH +eln:Internal_resistance\:_%sΩ=Internal resistance\: %sΩ +eln:Is_off=Is off +eln:Is_on=Is on +eln:Max._temperature\:_%s°C=Max. temperature\: %s°C +eln:Measured_value\ncorresponding\nto_0%_output=Measured value\ncorresponding\nto 0% output +eln:Measured_value\ncorresponding\nto_100%_output=Measured value\ncorresponding\nto 100% output +eln:Nominal\:=Nominal\: +eln:Nominal_power\:_%sW=Nominal power\: %sW +eln:Nominal_usage\:=Nominal usage\: +eln:Nominal_voltage\:_%sV=Nominal voltage\: %sV +eln:Not_connected=Not connected +eln:Not_enough_space_for_this_block=Not enough space for this block +eln:Power=Power +eln:Power\:_%sW=Power\: %sW +eln:Range\:_%s_blocks=Range\: %s blocks +eln:Redstone_slot=Redstone slot +eln:Regulator_slot=Regulator slot +eln:Reset=Reset +eln:Resistance\:_%sΩ=Resistance\: %sΩ +eln:Smallest=Smallest +eln:Specify_the_channel=Specify the channel +eln:Stored_energy\:_%sJ_(%s)=Stored energy\: %sJ (%s) +eln:Temperature\:_%s°C=Temperature\: %s°C +eln:Temperature_gauge=Temperature gauge +eln:Thermal_isolator_slot=Thermal isolator slot +eln:Toggle=Toggle +eln:Toggle_switch=Toggle switch +eln:Toggles_the_output_each_time\nan_emitter's_value_rises.\nUseful_to_allow_multiple_buttons\nto_control_the_same_light.=Toggles the output each time\nan emitter's value rises.\nUseful to allow multiple buttons\nto control the same light. +eln:Used_to_cool_down_turbines.=Used to cool down turbines. +eln:Uses_the_biggest\nvalue_on_the_channel.=Uses the biggest\nvalue on the channel. +eln:Uses_the_smallest\nvalue_on_the_channel.=Uses the smallest\nvalue on the channel. +eln:Validate=Validate +eln:Voltage\:_%sV=Voltage\: %sV +eln:You_can't_place_this_block_at_this_side=You can't place this block at this side diff --git a/src/main/resources/assets/eln/lang/id.lang b/src/main/resources/assets/eln/lang/id.lang index f4e769aa7..92e8a8d93 100644 --- a/src/main/resources/assets/eln/lang/id.lang +++ b/src/main/resources/assets/eln/lang/id.lang @@ -1,829 +1,829 @@ -# - -# ./src/main/java/mods/eln/Achievements.java -Electrical_Age_[WIP]=Electrical Age [WIP] -achievement.craft_50v_macerator=Crushing Novice -achievement.craft_50v_macerator.desc=Craft a 50V Macerator -achievement.open_guide=Wiki Power -achievement.open_guide.desc=Open the wiki guide - -# ./src/main/java/mods/eln/Eln.java -10A_Diode.name=10A Diode -200V_Active_Thermal_Dissipator.name=200V Active Thermal Dissipator -200V_Battery_Charger.name=200V Battery Charger -200V_Compressor.name=200V Compressor -200V_Condensator.name=200V Condensator -200V_Copper_Heating_Corp.name=200V Copper Heating Corp -200V_Economic_Light_Bulb.name=200V Economic Light Bulb -200V_Farming_Lamp.name=200V Farming Lamp -200V_Fuel_Generator.name=200V Fuel Generator -200V_Incandescent_Light_Bulb.name=200V Incandescent Light Bulb -200V_Iron_Heating_Corp.name=200V Iron Heating Corp -200V_LED_Bulb.name=200V LED Bulb -200V_Macerator.name=200V Macerator -200V_Magnetizer.name=200V Magnetizer -200V_Plate_Machine.name=200V Plate Machine -200V_Power_Socket.name=200V Power Socket -200V_Tungsten_Heating_Corp.name=200V Tungsten Heating Corp -200V_Turbine.name=200V Turbine -25A_Diode.name=25A Diode -50V_Battery_Charger.name=50V Battery Charger -50V_Carbon_Incandescent_Light_Bulb.name=50V Carbon Incandescent Light Bulb -50V_Compressor.name=50V Compressor -50V_Condensator.name=50V Condensator -50V_Copper_Heating_Corp.name=50V Copper Heating Corp -50V_Economic_Light_Bulb.name=50V Economic Light Bulb -50V_Egg_Incubator.name=50V Egg Incubator -50V_Farming_Lamp.name=50V Farming Lamp -50V_Fuel_Generator.name=50V Fuel Generator -50V_Incandescent_Light_Bulb.name=50V Incandescent Light Bulb -50V_Iron_Heating_Corp.name=50V Iron Heating Corp -50V_LED_Bulb.name=50V LED Bulb -50V_Macerator.name=50V Macerator -50V_Magnetizer.name=50V Magnetizer -50V_Plate_Machine.name=50V Plate Machine -50V_Power_Socket.name=50V Power Socket -50V_Tungsten_Heating_Corp.name=50V Tungsten Heating Corp -50V_Turbine.name=50V Turbine -800V_Defence_Turret.name=800V Defence Turret -AND_Chip.name=AND Chip -Advanced_Chip.name=Advanced Chip -Advanced_Electrical_Motor.name=Advanced Electrical Motor -Advanced_Energy_Meter.name=Advanced Energy Meter -Advanced_Machine_Block.name=Advanced Machine Block -Advanced_Magnet.name=Advanced Magnet -AllMeter.name=Universal-Meter -Alloy_Dust.name=Alloy Dust -Alloy_Ingot.name=Alloy Ingot -Alloy_Plate.name=Alloy Plate -Analog_Watch.name=Analog watch -Analog_vuMeter.name=Analog Gauge -Analogic_Regulator.name=Analogic Regulator -Animal_Filter.name=Animal Filter -Auto_Miner.name=Auto Miner -Average_Electrical_Drill.name=Average Electrical Drill -Average_Ferromagnetic_Core.name=Average Ferromagnetic Core -Basic_Magnet.name=Basic Magnet -Black_Brush.name=Black Brush -Blue_Brush.name=Blue Brush -Brown_Brush.name=Brown Brush -Capacity_Oriented_Battery.name=Capacity Oriented Battery -Cheap_Chip.name=Cheap Chip -Cheap_Electrical_Drill.name=Cheap Electrical Drill -Cheap_Ferromagnetic_Core.name=Cheap Ferromagnetic Core -Cinnabar_Dust.name=Cinnabar Dust -Cinnabar_Ore.name=Cinnabar Ore -Coal_Dust.name=Coal Dust -Coal_Plate.name=Coal Plate -Combustion_Chamber.name=Combustion Chamber -Copper_Cable.name=Copper Cable -Copper_Dust.name=Copper Dust -Copper_Ingot.name=Copper Ingot -Copper_Ore.name=Copper Ore -Copper_Plate.name=Copper Plate -Copper_Thermal_Cable.name=Copper Thermal Cable -Cost_Oriented_Battery.name=Cost Oriented Battery -Current_Oriented_Battery.name=Current Oriented Battery -Cyan_Brush.name=Cyan Brush -D_Flip_Flop_Chip.name=D Flip Flop Chip -Data_Logger.name=Data Logger -Data_Logger_Print.name=Data Logger Print -Dielectric.name=Dielectric -Digital_Watch.name=Digital Watch -Electrical_Anemometer_Sensor.name=Electrical Anemometer Sensor -Electrical_Breaker.name=Electrical Breaker -Electrical_Daylight_Sensor.name=Electrical Daylight Sensor -Electrical_Entity_Sensor.name=Electrical Entity Sensor -Electrical_Fire_Detector.name=Electrical Fire Detector -Electrical_Furnace.name=Electrical Furnace -Electrical_Light_Sensor.name=Electrical Light Sensor -Electrical_Motor.name=Electrical Motor -Electrical_Probe.name=Electrical Probe -Electrical_Probe_Chip.name=Electrical Probe Chip -Electrical_Source.name=Electrical Source -Electrical_Timer.name=Electrical Timer -Electrical_Weather_Sensor.name=Electrical Weather Sensor -Electrical_age_wrench,\nCan_be_used_to_turn\nsmall_wall_blocks=Electrical age wrench,\nCan be used to turn\nsmall wall blocks -Energy_Meter.name=Energy Meter -Experimental_Transporter.name=Experimental Transporter -Fast_Electrical_Drill.name=Fast Electrical Drill -Ferrite_Ingot.name=Ferrite Ingot -Flat_Lamp_Socket.name=Flat Lamp Socket -Fluorescent_Lamp_Socket.name=Fluorescent Lamp Socket -Generator.name=Generator -Gold_Dust.name=Gold Dust -Gold_Plate.name=Gold Plate -Gray_Brush.name=Gray Brush -Green_Brush.name=Green Brush -Ground_Cable.name=Ground Cable -High_Power_Receiver_Antenna.name=High Power Receiver Antenna -High_Power_Transmitter_Antenna.name=High Power Transmitter Antenna -High_Voltage_Cable.name=High Voltage Cable -High_Voltage_Relay.name=High Voltage Relay -High_Voltage_Switch.name=High Voltage Switch -Hub.name=Hub -Industrial_Data_Logger.name=Industrial Data Logger -Iron_Cable.name=Iron Cable -Iron_Dust.name=Iron Dust -Iron_Plate.name=Iron Plate -JK_Flip_Flop_Chip.name=JK Flip Flop Chip -LED_vuMeter.name=LED vuMeter -Lamp_Socket_A.name=Lamp Socket A -Lamp_Socket_B_Projector.name=Lamp Socket B Projector -Lamp_Supply.name=Lamp Supply -Large_Rheostat.name=Large Rheostat -Lead_Dust.name=Lead Dust -Lead_Ingot.name=Lead Ingot -Lead_Ore.name=Lead Ore -Lead_Plate.name=Lead Plate -Life_Oriented_Battery.name=Life Oriented Battery -Light_Blue_Brush.name=Light Blue Brush -Lime_Brush.name=Lime Brush -Long_Suspended_Lamp_Socket.name=Long Suspended Lamp Socket -Low_Power_Receiver_Antenna.name=Low Power Receiver Antenna -Low_Power_Transmitter_Antenna.name=Low Power Transmitter Antenna -Low_Voltage_Cable.name=Low Voltage Cable -Low_Voltage_Relay.name=Low Voltage Relay -Low_Voltage_Switch.name=Low Voltage Switch -Machine_Block.name=Machine Block -Machine_Booster.name=Machine Booster -Magenta_Brush.name=Magenta Brush -Medium_Power_Receiver_Antenna.name=Medium Power Receiver Antenna -Medium_Power_Transmitter_Antenna.name=Medium Power Transmitter Antenna -Medium_Voltage_Cable.name=Medium Voltage Cable -Medium_Voltage_Relay.name=Medium Voltage Relay -Medium_Voltage_Switch.name=Medium Voltage Switch -Mercury.name=Mercury -Mining_Pipe.name=Mining Pipe -Modbus_RTU.name=Modbus RTU -Modern_Data_Logger.name=Modern Data Logger -Monster_Filter.name=Monster Filter -MultiMeter.name=Multimeter -NAND_Chip.name=NAND Chip -NOR_Chip.name=NOR Chip -NOT_Chip.name=NOT Chip -Nuclear_Alarm.name=Nuclear Alarm -OR_Chip.name=OR Chip -On_OFF_Regulator_10_Percent.name=On/off regulator 10% -On_OFF_Regulator_1_Percent.name=On/off regulator 1% -Optimal_Ferromagnetic_Core.name=Optimal Ferromagnetic Core -Orange_Brush.name=Orange Brush -Ore_Scanner.name=Ore Scanner -Oscillator_Chip.name=Oscillator Chip -Overheating_Protection.name=Overheating Protection -Overvoltage_Protection.name=Overvoltage Protection -PAL_Chip.name=PAL Chip -Pink_Brush.name=Pink Brush -Player_Filter.name=Player Filter -Portable_Battery.name=Portable Battery -Portable_Battery_Pack.name=Portable Battery Pack -Portable_Condensator.name=Portable Condensator -Portable_Condensator_Pack.name=Portable Condensator Pack -Portable_Electrical_Axe.name=Portable Electrical Axe -Portable_Electrical_Mining_Drill.name=Portable Electrical Mining Drill -Power_Capacitor.name=Power Capacitor -Power_Inductor.name=Power Inductor -Power_Resistor.name=Power Resistor -Power_capacitor.name=Power capacitor -Power_inductor.name=Power inductor -Purple_Brush.name=Purple Brush -Red_Brush.name=Red Brush -Redstone-to-Voltage_Converter.name=Redstone-to-Voltage Converter -Rheostat.name=Rheostat -Robust_Lamp_Socket.name=Robust Lamp Socket -Rubber.name=Rubber -Schmitt_Trigger_Chip.name=Schmitt Trigger Chip -Sconce_Lamp_Socket.name=Sconce Lamp Socket -Signal_20H_inductor.name=Signal 20H inductor -Signal_Antenna.name=Signal Antenna -Signal_Button.name=Signal Button -Signal_Cable.name=Signal Cable -Signal_Diode.name=Signal Diode -Signal_Processor.name=Signal Processor -Signal_Relay.name=Signal Relay -Signal_Source.name=Signal Source -Signal_Switch.name=Signal Switch -Signal_Switch_with_LED.name=Signal Switch with LED -Signal_Trimmer.name=Signal Trimmer -Silicon_Dust.name=Silicon Dust -Silicon_Ingot.name=Silicon Ingot -Silicon_Plate.name=Silicon Plate -Silver_Brush.name=Silver Brush -Simple_Lamp_Socket.name=Simple Lamp Socket -Single-use_Battery.name=Single-use Battery -Small_200V_Copper_Heating_Corp.name=Small 200V Copper Heating Corp -Small_200V_Iron_Heating_Corp.name=Small 200V Iron Heating Corp -Small_200V_Tungsten_Heating_Corp.name=Small 200V Tungsten Heating Corp -Small_50V_Carbon_Incandescent_Light_Bulb.name=Small 50V Carbon Incandescent Light Bulb -Small_50V_Copper_Heating_Corp.name=Small 50V Copper Heating Corp -Small_50V_Economic_Light_Bulb.name=Small 50V Economic Light Bulb -Small_50V_Incandescent_Light_Bulb.name=Small 50V Incandescent Light Bulb -Small_50V_Iron_Heating_Corp.name=Small 50V Iron Heating Corp -Small_50V_Tungsten_Heating_Corp.name=Small 50V Tungsten Heating Corp -Small_Active_Thermal_Dissipator.name=Small Active Thermal Dissipator -Small_Flashlight.name=Small Flashlight -Small_Passive_Thermal_Dissipator.name=Small Passive Thermal Dissipator -Small_Rotating_Solar_Panel.name=Small Rotating Solar Panel -Small_Solar_Panel.name=Small Solar Panel -Solar_Tracker.name=Solar Tracker -Standard_Alarm.name=Standard Alarm -Steam_Turbine.name=Steam Turbine -Stone_Heat_Furnace.name=Stone Heat Furnace -Street_Light.name=Streetlight -Suspended_Lamp_Socket.name=Suspended Lamp Socket -Temperature_Probe.name=Temperature Probe -Thermal_Probe.name=Thermal Probe -Thermal_Probe_Chip.name=Thermal Probe Chip -Thermistor.name=Thermistor -ThermoMeter.name=Thermometer -Transformer.name=Transformer -Tree_Resin.name=Tree Resin -Tree_Resin_Collector.name=Tree Resin Collector -Tungsten_Cable.name=Tungsten Cable -Tungsten_Dust.name=Tungsten Dust -Tungsten_Ingot.name=Tungsten Ingot -Tungsten_Ore.name=Tungsten Ore -Tutorial_Sign.name=Tutorial Sign -Very_High_Voltage_Cable.name=Very High Voltage Cable -Very_High_Voltage_Relay.name=Very High Voltage Relay -Very_High_Voltage_Switch.name=Very High Voltage Switch -Voltage-to-Redstone_Converter.name=Voltage-to-Redstone Converter -Voltage_Oriented_Battery.name=Voltage Oriented Battery -Voltage_Probe.name=Voltage Probe -Water_Turbine.name=Water Turbine -Weak_50V_Battery_Charger.name=Weak 50V Battery Charger -White_Brush.name=White Brush -Wind_Turbine.name=Wind Turbine -Wireless_Analyser.name=Wireless Analyzer -Wireless_Button.name=Wireless Button -Wireless_Signal_Receiver.name=Wireless Signal Receiver -Wireless_Signal_Repeater.name=Wireless Signal Repeater -Wireless_Signal_Transmitter.name=Wireless Signal Transmitter -Wireless_Switch.name=Wireless Switch -Wrench.name=Wrench -X-Ray_Scanner.name=X-Ray Scanner -XNOR_Chip.name=XNOR Chip -XOR_Chip.name=XOR Chip -Yellow_Brush.name=Yellow Brush -entity.EAReplicator.name=Replicator -item.Copper Axe.name\=Copper Axe -item.Copper Axe.name\=Copper Axe -item.Copper Axe.name\=Copper Axe -item.Copper Axe.name\=Copper Axe -item.Copper Axe.name\=Copper Axe -item.Copper Axe.name\=Copper Axe -item.Copper Axe.name\=Copper Axe -item.Copper Axe.name\=Copper Axe -item.Copper Axe.name\=Copper Axe -item.E-Coal Boots.name\=E-Coal Boots -item.E-Coal Boots.name\=E-Coal Boots -item.E-Coal Boots.name\=E-Coal Boots -item.E-Coal Boots.name\=E-Coal Boots -itemGroup.Eln=Electrical Age -mod.meta.desc=Electricity in your base\! -tile.eln.ElnProbe.name=Eln Computer Probe -tile.eln.EnergyConverterElnToOtherHVUBlock.name=800V Electrical Age to other energy exporter -tile.eln.EnergyConverterElnToOtherLVUBlock.name=50V Electrical Age to other energy exporter -tile.eln.EnergyConverterElnToOtherMVUBlock.name=200V Electrical Age to other energy exporter - -# ./src/main/java/mods/eln/i18n/I18N.java -You_have_%s_lives_left=You have %s lives left - -# ./src/main/java/mods/eln/item/BrushDescriptor.java -Brush_is_dry=Brush is dry -Can_paint_%s_blocks=Can paint %s blocks - -# ./src/main/java/mods/eln/item/CombustionChamber.java -Upgrade_for_the_Stone_Heat_Furnace.=Upgrade for the Stone Heat Furnace. - -# ./src/main/java/mods/eln/item/ElectricalDrillDescriptor.java -Energy_per_operation\:_%sJ=Energy per operation\: %sJ -Time_per_operation\:_%ss=Time per operation\: %ss - -# ./src/main/java/mods/eln/item/FerromagneticCoreDescriptor.java -Cable_loss_factor\:_%s=Cable loss factor\: %s - -# ./src/main/java/mods/eln/item/HeatingCorpElement.java - -# ./src/main/java/mods/eln/item/LampDescriptor.java -Bad=Bad -Condition\:=Condition\: -End_of_life=End of life -Good=Good -New=New -Nominal_lifetime\:_%sh=Nominal lifetime\: %sh -Technology\:_%s=Technology\: %s -Used=Used - -# ./src/main/java/mods/eln/item/LampSlot.java -Lamp_slot=Lamp slot - -# ./src/main/java/mods/eln/item/OverHeatingProtectionDescriptor.java -Useful_to_prevent_overheating\nof_Batteries=Useful to prevent overheating\nof Batteries - -# ./src/main/java/mods/eln/item/OverVoltageProtectionDescriptor.java -Useful_to_prevent_over-voltage\nof_Batteries=Useful to prevent over-voltage\nof Batteries - -# ./src/main/java/mods/eln/item/SolarTrackerDescriptor.java -Solar_panel_upgrade=Solar panel upgrade - -# ./src/main/java/mods/eln/item/electricalitem/BatteryItem.java - -# ./src/main/java/mods/eln/item/electricalitem/ElectricalLampItem.java -Off=Off -On=On -State\:=State\: -Stored_Energy\:_%sJ_(%s)=Stored Energy\: %sJ (%s) - -# ./src/main/java/mods/eln/item/regulator/RegulatorSlot.java - -# ./src/main/java/mods/eln/misc/UtilsClient.java -Hold_shift=Hold shift - -# ./src/main/java/mods/eln/misc/Version.java -mod.name=Electrical Age - -# ./src/main/java/mods/eln/node/six/SixNodeDescriptor.java - -# ./src/main/java/mods/eln/simplenode/energyconverter/EnergyConverterElnToOtherGui.java -Input_power_is_limited_to_%sW=Input power is limited to %sW - -# ./src/main/java/mods/eln/sixnode/LogicGate.kt -_O\:_= O\: - -# ./src/main/java/mods/eln/sixnode/TreeResinCollector/TreeResinCollectorDescriptor.java -Produces_Tree_Resin_over\ntime_when_put_on_a_tree.=Produces Tree Resin over\ntime when put on a tree. -This_block_can_only_be_placed_on_the_side_of_a_tree!=This block can only be placed on the side of a tree\! - -# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerContainer.java -Battery_slot=Battery slot - -# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerDescriptor.java -Can_be_used_to_recharge\nelectrical_items_like\:\nFlash_Light,_X-Ray_scanner\nand_Portable_Battery_...=Can be used to recharge\nelectrical items like\:\nFlash Light, X-Ray scanner\nand Portable Battery ... - -# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerGui.java - -# ./src/main/java/mods/eln/sixnode/diode/DiodeDescriptor.java -Electrical_current_can_only\nflow_through_the_diode\nfrom_anode_to_cathode=Electrical current can only\nflow through the diode\nfrom anode to cathode - -# ./src/main/java/mods/eln/sixnode/electricalalarm/ElectricalAlarmDescriptor.java -= -Emits_an_acoustic_alarm_if\nthe_input_signal_is_high=Emits an acoustic alarm if\nthe input signal is high - -# ./src/main/java/mods/eln/sixnode/electricalalarm/ElectricalAlarmGui.java -Sound_is_muted=Sound is muted -Sound_is_not_muted=Sound is not muted - -# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerContainer.java - -# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerDescriptor.java -Protects_electrical_components\nOpens_contact_if\:\n__-_Voltage_exceeds_a_certain_level\n-_Current_exceeds_the_cable_limit=Protects electrical components\nOpens contact if\:\n - Voltage exceeds a certain level\n- Current exceeds the cable limit - -# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerGui.java -Maximum_voltage_before_cutting_off=Maximum voltage before cutting off -Minimum_voltage_before_cutting_off=Minimum voltage before cutting off -Switch_is_off=Switch is off -Switch_is_on=Switch is on - -# ./src/main/java/mods/eln/sixnode/electricalcable/ElectricalCableDescriptor.java -A_signal_is_electrical_information\nwhich_must_be_between_0V_and_%sV=A signal is electrical information\nwhich must be between 0V and %sV -Cable_is_adapted_to_conduct\nelectrical_signals.=Cable is adapted to conduct\nelectrical signals. -Current\:_%sA=Current\: %sA -Not_adapted_to_transport_power.=Not adapted to transport power. -Save_usage\:=Save usage\: -Serial_resistance\:_%sΩ=Serial resistance\: %sΩ - -# ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerDescriptor.java -It_can_store_up_to_256_points.=It can store up to 256 points. -Measures_the_voltage_of_an\nelectrical_signal_and_plots\nthe_data_in_real_time.=Measures the voltage of an\nelectrical signal and plots\nthe data in real time. - -# ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerGui.java -Back_to_display=Back to display -Configuration=Configuration -Current_[A]=Current [A] -Energy_[J]=Energy [J] -Percent_[-]%=Percent [-]% -Power_[W]=Power [W] -Print=Print -Sampling_period=Sampling period -Temp._[*C]=Temp. [*C] -Voltage_[V]=Voltage [V] -Y-axis_max=Y-axis max -Y-axis_min=Y-axis min - -# ./src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorContainer.java - -# ./src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorDescriptor.java -Output_voltage_increases\nif_entities_are_moving_around.=Output voltage increases\nif entities are moving around. - -# ./src/main/java/mods/eln/sixnode/electricalfiredetector/ElectricalFireDetectorDescriptor.java -Output_voltage_increases\nif_a_fire_has_been_detected.=Output voltage increases\nif a fire has been detected. - -# ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceDescriptor.java -Provides_configurable_signal\nvoltage.=Provides configurable signal\nvoltage. - -# ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceGui.java -Output_at_%s=Output at %s - -# ./src/main/java/mods/eln/sixnode/electricallightsensor/ElectricalLightSensorDescriptor.java -0V_at_night,_%sV_at_noon.=0V at night, %sV at noon. -Provides_an_electrical_voltage\nin_the_presence_of_light.=Provides an electrical voltage\nin the presence of light. -Provides_an_electrical_voltage\nwhich_is_proportional_to\nthe_intensity_of_daylight.=Provides an electrical voltage\nwhich is proportional to\nthe intensity of daylight. - -# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathContainer.java - -# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathDescriptor.java -Applicable_boolean_operators\:=Applicable boolean operators\: -Applicable_functions\:=Applicable functions\: -Applicable_mathematical_operators\:=Applicable mathematical operators\: -Calculates_an_output_signal_from\n3_inputs_(A,_B,_C)_using_an_equation.=Calculates an output signal from\n3 inputs (A, B, C) using an equation. - -# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathGui.java -%s_Redstone(s)_required=%s Redstone(s) required -Equation_required!=Equation required\! -Inputs_are=Inputs are -Invalid_equation!=Invalid equation\! -Output_voltage_formula=Output voltage formula -Waiting_for_completion...=Waiting for completion... - -# ./src/main/java/mods/eln/sixnode/electricalredstoneinput/ElectricalRedstoneInputDescriptor.java -Converts_Redstone_signal\nto_an_electrical_voltage.=Converts Redstone signal\nto an electrical voltage. - -# ./src/main/java/mods/eln/sixnode/electricalredstoneoutput/ElectricalRedstoneOutputDescriptor.java -Converts_electrical_voltage\ninto_a_Redstone_signal.=Converts electrical voltage\ninto a Redstone signal. - -# ./src/main/java/mods/eln/sixnode/electricalrelay/ElectricalRelayDescriptor.java -A_relay_is_an_electrical\ncontact_that_conducts_electric\ncurrent_or_not,_depending\nthe_actual_input_signal_voltage.=A relay is an electrical\ncontact that conducts electric\ncurrent or not, depending\nthe actual input signal voltage. - -# ./src/main/java/mods/eln/sixnode/electricalrelay/ElectricalRelayGui.java -Normally_closed=Normally closed -Normally_open=Normally open - -# ./src/main/java/mods/eln/sixnode/electricalsource/ElectricalSourceDescriptor.java -Creative_block.=Creative block. -Provides_an_ideal_voltage_source\nwithout_energy_or_power_limitation.=Provides an ideal voltage source\nwithout energy or power limitation. - -# ./src/main/java/mods/eln/sixnode/electricalsource/ElectricalSourceGui.java -Output_voltage=Output voltage - -# ./src/main/java/mods/eln/sixnode/electricalswitch/ElectricalSwitchDescriptor.java -Can_break_an_electrical_circuit\ninterrupting_the_current.=Can break an electrical circuit\ninterrupting the current. - -# ./src/main/java/mods/eln/sixnode/electricaltimeout/ElectricalTimeoutDescriptor.java -Upon_application_of_a_high_signal,\nthe_timer_maintains_the_output_high_for\na_configurable_interval._Can_be_re-triggered.=Upon application of a high signal,\nthe timer maintains the output high for\na configurable interval. Can be re-triggered. - -# ./src/main/java/mods/eln/sixnode/electricaltimeout/ElectricalTimeoutGui.java -Set=Set -The_time_interval_the\noutput_is_kept_high.=The time interval the\noutput is kept high. - -# ./src/main/java/mods/eln/sixnode/electricalvumeter/ElectricalVuMeterDescriptor.java -Displays_the_value_of_a_signal.=Displays the value of a signal. - -# ./src/main/java/mods/eln/sixnode/electricalwatch/ElectricalWatchContainer.java -Portable_battery_slot=Portable battery slot - -# ./src/main/java/mods/eln/sixnode/electricalweathersensor/ElectricalWeatherSensorDescriptor.java -Clear\:_%sV=Clear\: %sV -Provides_an_electrical_signal\ndepending_the_actual_weather.=Provides an electrical signal\ndepending the actual weather. -Rain\:_%sV=Rain\: %sV -Storm\:_%sV=Storm\: %sV - -# ./src/main/java/mods/eln/sixnode/electricalwindsensor/ElectricalWindSensorDescriptor.java -Maximum_wind_speed_is_%sm_s=Maximum wind speed is %sm/s -Provides_an_electrical_signal\ndependant_on_wind_speed.=Provides an electrical signal\ndependant on wind speed. -You_can't_place_this_block_on_the_floor_or_the_ceiling=You can't place this block on the floor or the ceiling - -# ./src/main/java/mods/eln/sixnode/electricasensor/ElectricalSensorDescriptor.java -Can_measure_Voltage_Power_Current=Can measure Voltage/Power/Current -Measures_electrical_values_on_cables.=Measures electrical values on cables. -Measures_voltage_on_cables.=Measures voltage on cables. - -# ./src/main/java/mods/eln/sixnode/electricasensor/ElectricalSensorGui.java -Current=Current -Measured_voltage\ncorresponding\nto_0%_output=Measured voltage\ncorresponding\nto 0% output -Measured_voltage\ncorresponding\nto_100%_output=Measured voltage\ncorresponding\nto 100% output -Voltage=Voltage - -# ./src/main/java/mods/eln/sixnode/energymeter/EnergyMeterGui.java -Change_password=Change password -Counter_Mode=Counter Mode -Counts_the_energy_conducted_from\n\u00a74red\u00a7f_to_\u00a71blue\u00a7f.=Counts the energy conducted from\n\\u00a74red\\u00a7f to \\u00a71blue\\u00a7f. -Energy_counter\:_%sJ=Energy counter\: %sJ -Enter_new_energy=Enter new energy -Enter_password=Enter password -Prepay_Mode=Prepay Mode -Reset_time_counter=Reset time counter -Set_energy_counter=Set energy counter -Time_counter\:=Time counter\: -Try_password=Try password -You_can_set_an_initial\namount_of_available_energy.\nWhen_the_counter_arrives_at_0\nthe_contact_will_be_opened.=You can set an initial\namount of available energy.\nWhen the counter arrives at 0\nthe contact will be opened. -is_off=is off -is_on=is on -value_in_kJ=value in kJ - -# ./src/main/java/mods/eln/sixnode/groundcable/GroundCableDescriptor.java -Can_be_used_to_set_a_point_of_an\nelectrical_network_to_0V_potential.\nFor_example_to_ground_negative_battery_contacts.=Can be used to set a point of an\nelectrical network to 0V potential.\nFor example to ground negative battery contacts. -Provides_a_zero_volt_reference.=Provides a zero volt reference. - -# ./src/main/java/mods/eln/sixnode/hub/HubDescriptor.java -Allows_crossing_cables\non_one_single_block.=Allows crossing cables\non one single block. - -# ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketDescriptor.java -Angle\:_%s°_to_%s°=Angle\: %s° to %s° -Spot_range\:_%s_blocks=Spot range\: %s blocks - -# ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketGuiDraw.java -%s_is_not_in_range!=%s is not in range\! -Cable_slot_empty=Cable slot empty -Orientation\:_%s°=Orientation\: %s° -Parallel=Parallel -Powered_by_Lamp_Supply=Powered by Lamp Supply -Powered_by_cable=Powered by cable -Serial=Serial -Specify_the_supply_channel=Specify the supply channel - -# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyContainer.java -Electrical_cable_slot\nBase_range_is_32_blocks.\nEach_additional_cable\nincreases_range_by_one.=Electrical cable slot\nBase range is 32 blocks.\nEach additional cable\nincreases range by one. - -# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyDescriptor.java -Supplies_all_lamps_on_the_channel.=Supplies all lamps on the channel. - -# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyGui.java -Power_channel_name=Power channel name -Wireless_channel_name=Wireless channel name - -# ./src/main/java/mods/eln/sixnode/modbusrtu/ModbusRtuGui.java -Add=Add -Channel_name=Channel name -Modbus_ID=Modbus ID -Modbus_RTU=Modbus RTU -Station_ID=Station ID -Station_name=Station name -Wireless_RX=Wireless RX -Wireless_TX=Wireless TX - -# ./src/main/java/mods/eln/sixnode/powercapacitorsix/PowerCapacitorSixContainer.java -(Increases_maximum_voltage)=(Increases maximum voltage) - -# ./src/main/java/mods/eln/sixnode/powercapacitorsix/PowerCapacitorSixGui.java - -# ./src/main/java/mods/eln/sixnode/powerinductorsix/PowerInductorSixContainer.java - -# ./src/main/java/mods/eln/sixnode/powerinductorsix/PowerInductorSixGui.java - -# ./src/main/java/mods/eln/sixnode/powersocket/PowerSocketDescriptor.java -Supplies_any_device\nplugged_in_with_energy.=Supplies any device\nplugged in with energy. - -# ./src/main/java/mods/eln/sixnode/powersocket/PowerSocketGui.java -Specify_the_device_to_supply_through_this_socket.=Specify the device to supply through this socket. - -# ./src/main/java/mods/eln/sixnode/resistor/ResistorContainer.java -(Sets_resistance)=(Sets resistance) -Coal_dust_slot=Coal dust slot - -# ./src/main/java/mods/eln/sixnode/thermalcable/ThermalCableDescriptor.java -High_parallel_resistance\n_\=>_Low_power_dissipation.=High parallel resistance\n \=> Low power dissipation. -Low_serial_resistance\n_\=>_High_conductivity.=Low serial resistance\n \=> High conductivity. -Parallel_resistance\:_%sK_W=Parallel resistance\: %sK/W -Serial_resistance\:_%sK_W=Serial resistance\: %sK/W - -# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorContainer.java -Cable_slot=Cable slot - -# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorDescriptor.java -Can_measure\:=Can measure\: -Measures_temperature_of_cables.=Measures temperature of cables. -Measures_thermal_values_on_cables.=Measures thermal values on cables. -__Temperature_Power_conducted=Temperature/Power conducted - -# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorGui.java -Measured_temperature\ncorresponding\nto_0%_output=Measured temperature\ncorresponding\nto 0% output -Measured_temperature\ncorresponding\nto_100%_output=Measured temperature\ncorresponding\nto 100% output -Temperature=Temperature - -# ./src/main/java/mods/eln/sixnode/tutorialsign/TutorialSignElement.java -No_text_associated_to_this_beacon=No text associated to this beacon - -# ./src/main/java/mods/eln/sixnode/tutorialsign/TutorialSignGui.java -Set_beacon_name=Set beacon name - -# ./src/main/java/mods/eln/sixnode/wirelesssignal/rx/WirelessSignalRxGui.java - -# ./src/main/java/mods/eln/transparentnode/FuelGenerator.kt -Nominal_power\:_%s_W=Nominal power\: %s W -Nominal_voltage\:_%s_V=Nominal voltage\: %s V -Produces_electricity_using_fuel.=Produces electricity using fuel. - -# ./src/main/java/mods/eln/transparentnode/LargeRheostat.kt -Nom._Resistance\:_%s=Nom. Resistance\: %s - -# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerContainer.java -Drill_slot=Drill slot -Mining_pipe_slot=Mining pipe slot -Ore_scanner_slot=Ore scanner slot - -# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerDescriptor.java -Excavates_on_a_small_radius.\nExtracts_ore_on_a_bigger_radius\:\n10_blocks_radius_after_10_blocks_depth.=Excavates on a small radius.\nExtracts ore on a bigger radius\:\n10 blocks radius after 10 blocks depth. - -# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerGuiDraw.java -Chest_missing_on_the\nback_of_the_auto_miner!=Chest missing on the\nback of the auto miner\! -Halves_speed,_triples_power_draw=Halves speed, triples power draw -Silk_Touch_Off=Silk Touch Off -Silk_Touch_On=Silk Touch On -Silk_touch=Silk touch - -# ./src/main/java/mods/eln/transparentnode/battery/BatteryContainer.java -Overheating_protection=Overheating protection -Overvoltage_protection=Overvoltage protection - -# ./src/main/java/mods/eln/transparentnode/battery/BatteryDescriptor.java -Actual_charge\:_%s=Actual charge\: %s -Energy_capacity\:_%sJ=Energy capacity\: %sJ -_charged_at_%s=charged at %s - -# ./src/main/java/mods/eln/transparentnode/battery/BatteryGuiDraw.java -Charge=Charge -Charged=Charged -Discharge=Discharge -Energy\:=Energy\: -Energy\:_%s=Energy\: %s -Life\:=Life\: -No_charge=No charge -Power_in\:=Power in\: -Power_out\:=Power out\: - -# ./src/main/java/mods/eln/transparentnode/eggincubator/EggIncubatorContainer.java -Egg_slot=Egg slot - -# ./src/main/java/mods/eln/transparentnode/electricalantennarx/ElectricalAntennaRxDescriptor.java -Wireless_energy_receiver.=Wireless energy receiver. - -# ./src/main/java/mods/eln/transparentnode/electricalantennatx/ElectricalAntennaTxDescriptor.java -Efficiency\:_%s_up_to_%s=Efficiency\: %s up to %s -Wireless_energy_transmitter.=Wireless energy transmitter. - -# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceContainer.java -Heating_corp_slot=Heating corp slot - -# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceDescriptor.java -Similar_to_a_vanilla_furnace,\nbut_heats_with_electricity.=Similar to a vanilla furnace,\nbut heats with electricity. - -# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceGuiDraw.java -Auto_shutdown=Auto shutdown -Manual_shutdown=Manual shutdown -Set_point\:_%s°C=Set point\: %s°C - -# ./src/main/java/mods/eln/transparentnode/electricalmachine/ElectricalMachineDescriptor.java -Cost=Cost - -# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceContainer.java -Combustion_chamber_slot=Combustion chamber slot -Fuel_slot=Fuel slot - -# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceDescriptor.java -Generates_heat_when_supplied_with_fuel.=Generates heat when supplied with fuel. - -# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceGuiDraw.java -Control_gauge_at_%s=Control gauge at %s -Decline_fuel=Decline fuel -External_control=External control -Internal_control=Internal control -Take_fuel=Take fuel - -# ./src/main/java/mods/eln/transparentnode/powercapacitor/PowerCapacitorContainer.java -(Increases_maximal_voltage)=(Increases maximal voltage) - -# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelContainer.java -Solar_tracker_slot=Solar tracker slot - -# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelDescriptor.java -Can_be_geared_towards_the_sun.=Can be geared towards the sun. -Max._power\:_%sW=Max. power\: %sW -Max._voltage\:_%sV=Max. voltage\: %sV -Produces_power_from_solar_radiation.=Produces power from solar radiation. - -# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPannelGuiDraw.java -It_is_night=It is night -Solar_panel_angle\:_%s°=Solar panel angle\: %s° -Sun_angle\:_%s°=Sun angle\: %s° - -# ./src/main/java/mods/eln/transparentnode/teleporter/TeleporterGui.java -Destination_transporter=Destination transporter -Power_consumption\:=Power consumption\: -Power_consumption\:_%sW=Power consumption\: %sW -Required_energy\:_%sJ=Required energy\: %sJ -Start=Start -Transporter_name=Transporter name - -# ./src/main/java/mods/eln/transparentnode/thermaldissipatoractive/ThermalDissipatorActiveDescriptor.java -Fan_cooling_power\:_%sW=Fan cooling power\: %sW -Fan_power_consumption\:_%sW=Fan power consumption\: %sW -Fan_voltage\:_%sV=Fan voltage\: %sV - -# ./src/main/java/mods/eln/transparentnode/transformer/TransformerDescriptor.java -The_voltage_ratio_is_proportional\nto_the_cable_stacks_count_ratio.=The voltage ratio is proportional\nto the cable stacks count ratio. -Transforms_an_input_voltage_to\nan_output_voltage.=Transforms an input voltage to\nan output voltage. - -# ./src/main/java/mods/eln/transparentnode/turbine/TurbineDescriptor.java -Generates_electricity_using_heat.=Generates electricity using heat. -Temperature_difference\:_%s°C=Temperature difference\: %s°C - -# ./src/main/java/mods/eln/transparentnode/turret/TurretDescriptor.java -CAUTION\:_Cables_can_get_quite_hot!=CAUTION\: Cables can get quite hot\! -Laser_charge_power\:_%sW...%skW=Laser charge power\: %sW...%skW -Scans_for_entities_and_shoots_if_the\nentity_matches_the_configurable_filter_criteria.=Scans for entities and shoots if the\nentity matches the configurable filter criteria. -Standby_power\:_%sW=Standby power\: %sW - -# ./src/main/java/mods/eln/transparentnode/turret/TurretGui.java -Attack\:=Attack\: -Do_not_attack\:=Do not attack\: -Recharge_power\:=Recharge power\: - -# ./src/main/java/mods/eln/transparentnode/waterturbine/WaterTurbineDescriptor.java -Generates_energy_using_water_stream.=Generates energy using water stream. -No_place_for_water_turbine!=No place for water turbine\! - -# ./src/main/java/mods/eln/transparentnode/windturbine/WindTurbineDescriptor.java -Front\:_%s=Front\: %s -Generates_energy_from_wind.=Generates energy from wind. -Left_Right\:_%s=Left/Right\: %s -Up_Down\:_%s=Up/Down\: %s -Wind_area\:=Wind area\: - -# ./src/main/java/mods/eln/wiki/Data.java -Energy=Energy -Light=Light -Machine=Machine -Ore=Ore -Portable=Portable -Resource=Resource -Signal=Signal -Thermal=Thermal -Upgrade=Upgrade -Utilities=Utilities -Wiring=Wiring - -# ./src/main/java/mods/eln/wiki/Default.java -Previous=Previous - -# ./src/main/java/mods/eln/wiki/ItemDefault.java -Can_be_used_to_craft\:=Can be used to craft\: -Cannot_be_crafted!=Cannot be crafted\! -Cost_%sJ=Cost %sJ -Created_by\:=Created by\: -Is_not_a_crafting_material!=Is not a crafting material\! -Recipe\:=Recipe\: - -# Appearing in multiple source files -(Increases_capacity)=(Increases capacity) -(Increases_inductance)=(Increases inductance) -Actual\:_%s°C=Actual\: %s°C -Biggest=Biggest -Booster_slot=Booster slot -Can_create\:=Can create\: -Capacity\:_%sF=Capacity\: %sF -Charge_power\:_%sW=Charge power\: %sW -Connected=Connected -Cooling_power\:_%sW=Cooling power\: %sW -Copper_cable_slot=Copper cable slot -Dielectric_slot=Dielectric slot -Discharge_power\:_%sW=Discharge power\: %sW -Electrical_cable_slot=Electrical cable slot -Entity_filter_slot=Entity filter slot -Ferromagnetic_core_slot=Ferromagnetic core slot -Has_a_signal_output.=Has a signal output. -Inductance\:_%sH=Inductance\: %sH -Internal_resistance\:_%sΩ=Internal resistance\: %sΩ -Is_off=Is off -Is_on=Is on -Max._temperature\:_%s°C=Max. temperature\: %s°C -Measured_value\ncorresponding\nto_0%_output=Measured value\ncorresponding\nto 0% output -Measured_value\ncorresponding\nto_100%_output=Measured value\ncorresponding\nto 100% output -Nominal\:=Nominal\: -Nominal_power\:_%sW=Nominal power\: %sW -Nominal_usage\:=Nominal usage\: -Nominal_voltage\:_%sV=Nominal voltage\: %sV -Not_connected=Not connected -Not_enough_space_for_this_block=Not enough space for this block -Power=Power -Power\:_%sW=Power\: %sW -Range\:_%s_blocks=Range\: %s blocks -Redstone_slot=Redstone slot -Regulator_slot=Regulator slot -Reset=Reset -Resistance\:_%sΩ=Resistance\: %sΩ -Smallest=Smallest -Specify_the_channel=Specify the channel -Stored_energy\:_%sJ_(%s)=Stored energy\: %sJ (%s) -Temperature\:_%s°C=Temperature\: %s°C -Temperature_gauge=Temperature gauge -Thermal_isolator_slot=Thermal isolator slot -Toggle=Toggle -Toggle_switch=Toggle switch -Toggles_the_output_each_time\nan_emitter's_value_rises.\nUseful_to_allow_multiple_buttons\nto_control_the_same_light.=Toggles the output each time\nan emitter's value rises.\nUseful to allow multiple buttons\nto control the same light. -Used_to_cool_down_turbines.=Used to cool down turbines. -Uses_the_biggest\nvalue_on_the_channel.=Uses the biggest\nvalue on the channel. -Uses_the_smallest\nvalue_on_the_channel.=Uses the smallest\nvalue on the channel. -Validate=Validate -Voltage\:_%sV=Voltage\: %sV -You_can't_place_this_block_at_this_side=You can't place this block at this side +eln:# +eln: +eln:# ./src/main/java/mods/eln/Achievements.java +eln:Electrical_Age_[WIP]=Electrical Age [WIP] +eln:achievement.craft_50v_macerator=Crushing Novice +eln:achievement.craft_50v_macerator.desc=Craft a 50V Macerator +eln:achievement.open_guide=Wiki Power +eln:achievement.open_guide.desc=Open the wiki guide +eln: +eln:# ./src/main/java/mods/eln/Eln.java +eln:10A_Diode.name=10A Diode +eln:200V_Active_Thermal_Dissipator.name=200V Active Thermal Dissipator +eln:200V_Battery_Charger.name=200V Battery Charger +eln:200V_Compressor.name=200V Compressor +eln:200V_Condensator.name=200V Condensator +eln:200V_Copper_Heating_Corp.name=200V Copper Heating Corp +eln:200V_Economic_Light_Bulb.name=200V Economic Light Bulb +eln:200V_Farming_Lamp.name=200V Farming Lamp +eln:200V_Fuel_Generator.name=200V Fuel Generator +eln:200V_Incandescent_Light_Bulb.name=200V Incandescent Light Bulb +eln:200V_Iron_Heating_Corp.name=200V Iron Heating Corp +eln:200V_LED_Bulb.name=200V LED Bulb +eln:200V_Macerator.name=200V Macerator +eln:200V_Magnetizer.name=200V Magnetizer +eln:200V_Plate_Machine.name=200V Plate Machine +eln:200V_Power_Socket.name=200V Power Socket +eln:200V_Tungsten_Heating_Corp.name=200V Tungsten Heating Corp +eln:200V_Turbine.name=200V Turbine +eln:25A_Diode.name=25A Diode +eln:50V_Battery_Charger.name=50V Battery Charger +eln:50V_Carbon_Incandescent_Light_Bulb.name=50V Carbon Incandescent Light Bulb +eln:50V_Compressor.name=50V Compressor +eln:50V_Condensator.name=50V Condensator +eln:50V_Copper_Heating_Corp.name=50V Copper Heating Corp +eln:50V_Economic_Light_Bulb.name=50V Economic Light Bulb +eln:50V_Egg_Incubator.name=50V Egg Incubator +eln:50V_Farming_Lamp.name=50V Farming Lamp +eln:50V_Fuel_Generator.name=50V Fuel Generator +eln:50V_Incandescent_Light_Bulb.name=50V Incandescent Light Bulb +eln:50V_Iron_Heating_Corp.name=50V Iron Heating Corp +eln:50V_LED_Bulb.name=50V LED Bulb +eln:50V_Macerator.name=50V Macerator +eln:50V_Magnetizer.name=50V Magnetizer +eln:50V_Plate_Machine.name=50V Plate Machine +eln:50V_Power_Socket.name=50V Power Socket +eln:50V_Tungsten_Heating_Corp.name=50V Tungsten Heating Corp +eln:50V_Turbine.name=50V Turbine +eln:800V_Defence_Turret.name=800V Defence Turret +eln:AND_Chip.name=AND Chip +eln:Advanced_Chip.name=Advanced Chip +eln:Advanced_Electrical_Motor.name=Advanced Electrical Motor +eln:Advanced_Energy_Meter.name=Advanced Energy Meter +eln:Advanced_Machine_Block.name=Advanced Machine Block +eln:Advanced_Magnet.name=Advanced Magnet +eln:AllMeter.name=Universal-Meter +eln:Alloy_Dust.name=Alloy Dust +eln:Alloy_Ingot.name=Alloy Ingot +eln:Alloy_Plate.name=Alloy Plate +eln:Analog_Watch.name=Analog watch +eln:Analog_vuMeter.name=Analog Gauge +eln:Analogic_Regulator.name=Analogic Regulator +eln:Animal_Filter.name=Animal Filter +eln:Auto_Miner.name=Auto Miner +eln:Average_Electrical_Drill.name=Average Electrical Drill +eln:Average_Ferromagnetic_Core.name=Average Ferromagnetic Core +eln:Basic_Magnet.name=Basic Magnet +eln:Black_Brush.name=Black Brush +eln:Blue_Brush.name=Blue Brush +eln:Brown_Brush.name=Brown Brush +eln:Capacity_Oriented_Battery.name=Capacity Oriented Battery +eln:Cheap_Chip.name=Cheap Chip +eln:Cheap_Electrical_Drill.name=Cheap Electrical Drill +eln:Cheap_Ferromagnetic_Core.name=Cheap Ferromagnetic Core +eln:Cinnabar_Dust.name=Cinnabar Dust +eln:Cinnabar_Ore.name=Cinnabar Ore +eln:Coal_Dust.name=Coal Dust +eln:Coal_Plate.name=Coal Plate +eln:Combustion_Chamber.name=Combustion Chamber +eln:Copper_Cable.name=Copper Cable +eln:Copper_Dust.name=Copper Dust +eln:Copper_Ingot.name=Copper Ingot +eln:Copper_Ore.name=Copper Ore +eln:Copper_Plate.name=Copper Plate +eln:Copper_Thermal_Cable.name=Copper Thermal Cable +eln:Cost_Oriented_Battery.name=Cost Oriented Battery +eln:Current_Oriented_Battery.name=Current Oriented Battery +eln:Cyan_Brush.name=Cyan Brush +eln:D_Flip_Flop_Chip.name=D Flip Flop Chip +eln:Data_Logger.name=Data Logger +eln:Data_Logger_Print.name=Data Logger Print +eln:Dielectric.name=Dielectric +eln:Digital_Watch.name=Digital Watch +eln:Electrical_Anemometer_Sensor.name=Electrical Anemometer Sensor +eln:Electrical_Breaker.name=Electrical Breaker +eln:Electrical_Daylight_Sensor.name=Electrical Daylight Sensor +eln:Electrical_Entity_Sensor.name=Electrical Entity Sensor +eln:Electrical_Fire_Detector.name=Electrical Fire Detector +eln:Electrical_Furnace.name=Electrical Furnace +eln:Electrical_Light_Sensor.name=Electrical Light Sensor +eln:Electrical_Motor.name=Electrical Motor +eln:Electrical_Probe.name=Electrical Probe +eln:Electrical_Probe_Chip.name=Electrical Probe Chip +eln:Electrical_Source.name=Electrical Source +eln:Electrical_Timer.name=Electrical Timer +eln:Electrical_Weather_Sensor.name=Electrical Weather Sensor +eln:Electrical_age_wrench,\nCan_be_used_to_turn\nsmall_wall_blocks=Electrical age wrench,\nCan be used to turn\nsmall wall blocks +eln:Energy_Meter.name=Energy Meter +eln:Experimental_Transporter.name=Experimental Transporter +eln:Fast_Electrical_Drill.name=Fast Electrical Drill +eln:Ferrite_Ingot.name=Ferrite Ingot +eln:Flat_Lamp_Socket.name=Flat Lamp Socket +eln:Fluorescent_Lamp_Socket.name=Fluorescent Lamp Socket +eln:Generator.name=Generator +eln:Gold_Dust.name=Gold Dust +eln:Gold_Plate.name=Gold Plate +eln:Gray_Brush.name=Gray Brush +eln:Green_Brush.name=Green Brush +eln:Ground_Cable.name=Ground Cable +eln:High_Power_Receiver_Antenna.name=High Power Receiver Antenna +eln:High_Power_Transmitter_Antenna.name=High Power Transmitter Antenna +eln:High_Voltage_Cable.name=High Voltage Cable +eln:High_Voltage_Relay.name=High Voltage Relay +eln:High_Voltage_Switch.name=High Voltage Switch +eln:Hub.name=Hub +eln:Industrial_Data_Logger.name=Industrial Data Logger +eln:Iron_Cable.name=Iron Cable +eln:Iron_Dust.name=Iron Dust +eln:Iron_Plate.name=Iron Plate +eln:JK_Flip_Flop_Chip.name=JK Flip Flop Chip +eln:LED_vuMeter.name=LED vuMeter +eln:Lamp_Socket_A.name=Lamp Socket A +eln:Lamp_Socket_B_Projector.name=Lamp Socket B Projector +eln:Lamp_Supply.name=Lamp Supply +eln:Large_Rheostat.name=Large Rheostat +eln:Lead_Dust.name=Lead Dust +eln:Lead_Ingot.name=Lead Ingot +eln:Lead_Ore.name=Lead Ore +eln:Lead_Plate.name=Lead Plate +eln:Life_Oriented_Battery.name=Life Oriented Battery +eln:Light_Blue_Brush.name=Light Blue Brush +eln:Lime_Brush.name=Lime Brush +eln:Long_Suspended_Lamp_Socket.name=Long Suspended Lamp Socket +eln:Low_Power_Receiver_Antenna.name=Low Power Receiver Antenna +eln:Low_Power_Transmitter_Antenna.name=Low Power Transmitter Antenna +eln:Low_Voltage_Cable.name=Low Voltage Cable +eln:Low_Voltage_Relay.name=Low Voltage Relay +eln:Low_Voltage_Switch.name=Low Voltage Switch +eln:Machine_Block.name=Machine Block +eln:Machine_Booster.name=Machine Booster +eln:Magenta_Brush.name=Magenta Brush +eln:Medium_Power_Receiver_Antenna.name=Medium Power Receiver Antenna +eln:Medium_Power_Transmitter_Antenna.name=Medium Power Transmitter Antenna +eln:Medium_Voltage_Cable.name=Medium Voltage Cable +eln:Medium_Voltage_Relay.name=Medium Voltage Relay +eln:Medium_Voltage_Switch.name=Medium Voltage Switch +eln:Mercury.name=Mercury +eln:Mining_Pipe.name=Mining Pipe +eln:Modbus_RTU.name=Modbus RTU +eln:Modern_Data_Logger.name=Modern Data Logger +eln:Monster_Filter.name=Monster Filter +eln:MultiMeter.name=Multimeter +eln:NAND_Chip.name=NAND Chip +eln:NOR_Chip.name=NOR Chip +eln:NOT_Chip.name=NOT Chip +eln:Nuclear_Alarm.name=Nuclear Alarm +eln:OR_Chip.name=OR Chip +eln:On_OFF_Regulator_10_Percent.name=On/off regulator 10% +eln:On_OFF_Regulator_1_Percent.name=On/off regulator 1% +eln:Optimal_Ferromagnetic_Core.name=Optimal Ferromagnetic Core +eln:Orange_Brush.name=Orange Brush +eln:Ore_Scanner.name=Ore Scanner +eln:Oscillator_Chip.name=Oscillator Chip +eln:Overheating_Protection.name=Overheating Protection +eln:Overvoltage_Protection.name=Overvoltage Protection +eln:PAL_Chip.name=PAL Chip +eln:Pink_Brush.name=Pink Brush +eln:Player_Filter.name=Player Filter +eln:Portable_Battery.name=Portable Battery +eln:Portable_Battery_Pack.name=Portable Battery Pack +eln:Portable_Condensator.name=Portable Condensator +eln:Portable_Condensator_Pack.name=Portable Condensator Pack +eln:Portable_Electrical_Axe.name=Portable Electrical Axe +eln:Portable_Electrical_Mining_Drill.name=Portable Electrical Mining Drill +eln:Power_Capacitor.name=Power Capacitor +eln:Power_Inductor.name=Power Inductor +eln:Power_Resistor.name=Power Resistor +eln:Power_capacitor.name=Power capacitor +eln:Power_inductor.name=Power inductor +eln:Purple_Brush.name=Purple Brush +eln:Red_Brush.name=Red Brush +eln:Redstone-to-Voltage_Converter.name=Redstone-to-Voltage Converter +eln:Rheostat.name=Rheostat +eln:Robust_Lamp_Socket.name=Robust Lamp Socket +eln:Rubber.name=Rubber +eln:Schmitt_Trigger_Chip.name=Schmitt Trigger Chip +eln:Sconce_Lamp_Socket.name=Sconce Lamp Socket +eln:Signal_20H_inductor.name=Signal 20H inductor +eln:Signal_Antenna.name=Signal Antenna +eln:Signal_Button.name=Signal Button +eln:Signal_Cable.name=Signal Cable +eln:Signal_Diode.name=Signal Diode +eln:Signal_Processor.name=Signal Processor +eln:Signal_Relay.name=Signal Relay +eln:Signal_Source.name=Signal Source +eln:Signal_Switch.name=Signal Switch +eln:Signal_Switch_with_LED.name=Signal Switch with LED +eln:Signal_Trimmer.name=Signal Trimmer +eln:Silicon_Dust.name=Silicon Dust +eln:Silicon_Ingot.name=Silicon Ingot +eln:Silicon_Plate.name=Silicon Plate +eln:Silver_Brush.name=Silver Brush +eln:Simple_Lamp_Socket.name=Simple Lamp Socket +eln:Single-use_Battery.name=Single-use Battery +eln:Small_200V_Copper_Heating_Corp.name=Small 200V Copper Heating Corp +eln:Small_200V_Iron_Heating_Corp.name=Small 200V Iron Heating Corp +eln:Small_200V_Tungsten_Heating_Corp.name=Small 200V Tungsten Heating Corp +eln:Small_50V_Carbon_Incandescent_Light_Bulb.name=Small 50V Carbon Incandescent Light Bulb +eln:Small_50V_Copper_Heating_Corp.name=Small 50V Copper Heating Corp +eln:Small_50V_Economic_Light_Bulb.name=Small 50V Economic Light Bulb +eln:Small_50V_Incandescent_Light_Bulb.name=Small 50V Incandescent Light Bulb +eln:Small_50V_Iron_Heating_Corp.name=Small 50V Iron Heating Corp +eln:Small_50V_Tungsten_Heating_Corp.name=Small 50V Tungsten Heating Corp +eln:Small_Active_Thermal_Dissipator.name=Small Active Thermal Dissipator +eln:Small_Flashlight.name=Small Flashlight +eln:Small_Passive_Thermal_Dissipator.name=Small Passive Thermal Dissipator +eln:Small_Rotating_Solar_Panel.name=Small Rotating Solar Panel +eln:Small_Solar_Panel.name=Small Solar Panel +eln:Solar_Tracker.name=Solar Tracker +eln:Standard_Alarm.name=Standard Alarm +eln:Steam_Turbine.name=Steam Turbine +eln:Stone_Heat_Furnace.name=Stone Heat Furnace +eln:Street_Light.name=Streetlight +eln:Suspended_Lamp_Socket.name=Suspended Lamp Socket +eln:Temperature_Probe.name=Temperature Probe +eln:Thermal_Probe.name=Thermal Probe +eln:Thermal_Probe_Chip.name=Thermal Probe Chip +eln:Thermistor.name=Thermistor +eln:ThermoMeter.name=Thermometer +eln:Transformer.name=Transformer +eln:Tree_Resin.name=Tree Resin +eln:Tree_Resin_Collector.name=Tree Resin Collector +eln:Tungsten_Cable.name=Tungsten Cable +eln:Tungsten_Dust.name=Tungsten Dust +eln:Tungsten_Ingot.name=Tungsten Ingot +eln:Tungsten_Ore.name=Tungsten Ore +eln:Tutorial_Sign.name=Tutorial Sign +eln:Very_High_Voltage_Cable.name=Very High Voltage Cable +eln:Very_High_Voltage_Relay.name=Very High Voltage Relay +eln:Very_High_Voltage_Switch.name=Very High Voltage Switch +eln:Voltage-to-Redstone_Converter.name=Voltage-to-Redstone Converter +eln:Voltage_Oriented_Battery.name=Voltage Oriented Battery +eln:Voltage_Probe.name=Voltage Probe +eln:Water_Turbine.name=Water Turbine +eln:Weak_50V_Battery_Charger.name=Weak 50V Battery Charger +eln:White_Brush.name=White Brush +eln:Wind_Turbine.name=Wind Turbine +eln:Wireless_Analyser.name=Wireless Analyzer +eln:Wireless_Button.name=Wireless Button +eln:Wireless_Signal_Receiver.name=Wireless Signal Receiver +eln:Wireless_Signal_Repeater.name=Wireless Signal Repeater +eln:Wireless_Signal_Transmitter.name=Wireless Signal Transmitter +eln:Wireless_Switch.name=Wireless Switch +eln:Wrench.name=Wrench +eln:X-Ray_Scanner.name=X-Ray Scanner +eln:XNOR_Chip.name=XNOR Chip +eln:XOR_Chip.name=XOR Chip +eln:Yellow_Brush.name=Yellow Brush +eln:entity.EAReplicator.name=Replicator +eln:item.Copper Axe.name\=Copper Axe +eln:item.Copper Axe.name\=Copper Axe +eln:item.Copper Axe.name\=Copper Axe +eln:item.Copper Axe.name\=Copper Axe +eln:item.Copper Axe.name\=Copper Axe +eln:item.Copper Axe.name\=Copper Axe +eln:item.Copper Axe.name\=Copper Axe +eln:item.Copper Axe.name\=Copper Axe +eln:item.Copper Axe.name\=Copper Axe +eln:item.E-Coal Boots.name\=E-Coal Boots +eln:item.E-Coal Boots.name\=E-Coal Boots +eln:item.E-Coal Boots.name\=E-Coal Boots +eln:item.E-Coal Boots.name\=E-Coal Boots +eln:itemGroup.Eln=Electrical Age +eln:mod.meta.desc=Electricity in your base\! +eln:tile.eln.ElnProbe.name=Eln Computer Probe +eln:tile.eln.EnergyConverterElnToOtherHVUBlock.name=800V Electrical Age to other energy exporter +eln:tile.eln.EnergyConverterElnToOtherLVUBlock.name=50V Electrical Age to other energy exporter +eln:tile.eln.EnergyConverterElnToOtherMVUBlock.name=200V Electrical Age to other energy exporter +eln: +eln:# ./src/main/java/mods/eln/i18n/I18N.java +eln:You_have_%s_lives_left=You have %s lives left +eln: +eln:# ./src/main/java/mods/eln/item/BrushDescriptor.java +eln:Brush_is_dry=Brush is dry +eln:Can_paint_%s_blocks=Can paint %s blocks +eln: +eln:# ./src/main/java/mods/eln/item/CombustionChamber.java +eln:Upgrade_for_the_Stone_Heat_Furnace.=Upgrade for the Stone Heat Furnace. +eln: +eln:# ./src/main/java/mods/eln/item/ElectricalDrillDescriptor.java +eln:Energy_per_operation\:_%sJ=Energy per operation\: %sJ +eln:Time_per_operation\:_%ss=Time per operation\: %ss +eln: +eln:# ./src/main/java/mods/eln/item/FerromagneticCoreDescriptor.java +eln:Cable_loss_factor\:_%s=Cable loss factor\: %s +eln: +eln:# ./src/main/java/mods/eln/item/HeatingCorpElement.java +eln: +eln:# ./src/main/java/mods/eln/item/LampDescriptor.java +eln:Bad=Bad +eln:Condition\:=Condition\: +eln:End_of_life=End of life +eln:Good=Good +eln:New=New +eln:Nominal_lifetime\:_%sh=Nominal lifetime\: %sh +eln:Technology\:_%s=Technology\: %s +eln:Used=Used +eln: +eln:# ./src/main/java/mods/eln/item/LampSlot.java +eln:Lamp_slot=Lamp slot +eln: +eln:# ./src/main/java/mods/eln/item/OverHeatingProtectionDescriptor.java +eln:Useful_to_prevent_overheating\nof_Batteries=Useful to prevent overheating\nof Batteries +eln: +eln:# ./src/main/java/mods/eln/item/OverVoltageProtectionDescriptor.java +eln:Useful_to_prevent_over-voltage\nof_Batteries=Useful to prevent over-voltage\nof Batteries +eln: +eln:# ./src/main/java/mods/eln/item/SolarTrackerDescriptor.java +eln:Solar_panel_upgrade=Solar panel upgrade +eln: +eln:# ./src/main/java/mods/eln/item/electricalitem/BatteryItem.java +eln: +eln:# ./src/main/java/mods/eln/item/electricalitem/ElectricalLampItem.java +eln:Off=Off +eln:On=On +eln:State\:=State\: +eln:Stored_Energy\:_%sJ_(%s)=Stored Energy\: %sJ (%s) +eln: +eln:# ./src/main/java/mods/eln/item/regulator/RegulatorSlot.java +eln: +eln:# ./src/main/java/mods/eln/misc/UtilsClient.java +eln:Hold_shift=Hold shift +eln: +eln:# ./src/main/java/mods/eln/misc/Version.java +eln:mod.name=Electrical Age +eln: +eln:# ./src/main/java/mods/eln/node/six/SixNodeDescriptor.java +eln: +eln:# ./src/main/java/mods/eln/simplenode/energyconverter/EnergyConverterElnToOtherGui.java +eln:Input_power_is_limited_to_%sW=Input power is limited to %sW +eln: +eln:# ./src/main/java/mods/eln/sixnode/LogicGate.kt +eln:_O\:_= O\: +eln: +eln:# ./src/main/java/mods/eln/sixnode/TreeResinCollector/TreeResinCollectorDescriptor.java +eln:Produces_Tree_Resin_over\ntime_when_put_on_a_tree.=Produces Tree Resin over\ntime when put on a tree. +eln:This_block_can_only_be_placed_on_the_side_of_a_tree!=This block can only be placed on the side of a tree\! +eln: +eln:# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerContainer.java +eln:Battery_slot=Battery slot +eln: +eln:# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerDescriptor.java +eln:Can_be_used_to_recharge\nelectrical_items_like\:\nFlash_Light,_X-Ray_scanner\nand_Portable_Battery_...=Can be used to recharge\nelectrical items like\:\nFlash Light, X-Ray scanner\nand Portable Battery ... +eln: +eln:# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerGui.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/diode/DiodeDescriptor.java +eln:Electrical_current_can_only\nflow_through_the_diode\nfrom_anode_to_cathode=Electrical current can only\nflow through the diode\nfrom anode to cathode +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalalarm/ElectricalAlarmDescriptor.java +eln:= +eln:Emits_an_acoustic_alarm_if\nthe_input_signal_is_high=Emits an acoustic alarm if\nthe input signal is high +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalalarm/ElectricalAlarmGui.java +eln:Sound_is_muted=Sound is muted +eln:Sound_is_not_muted=Sound is not muted +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerContainer.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerDescriptor.java +eln:Protects_electrical_components\nOpens_contact_if\:\n__-_Voltage_exceeds_a_certain_level\n-_Current_exceeds_the_cable_limit=Protects electrical components\nOpens contact if\:\n - Voltage exceeds a certain level\n- Current exceeds the cable limit +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerGui.java +eln:Maximum_voltage_before_cutting_off=Maximum voltage before cutting off +eln:Minimum_voltage_before_cutting_off=Minimum voltage before cutting off +eln:Switch_is_off=Switch is off +eln:Switch_is_on=Switch is on +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalcable/ElectricalCableDescriptor.java +eln:A_signal_is_electrical_information\nwhich_must_be_between_0V_and_%sV=A signal is electrical information\nwhich must be between 0V and %sV +eln:Cable_is_adapted_to_conduct\nelectrical_signals.=Cable is adapted to conduct\nelectrical signals. +eln:Current\:_%sA=Current\: %sA +eln:Not_adapted_to_transport_power.=Not adapted to transport power. +eln:Save_usage\:=Save usage\: +eln:Serial_resistance\:_%sΩ=Serial resistance\: %sΩ +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerDescriptor.java +eln:It_can_store_up_to_256_points.=It can store up to 256 points. +eln:Measures_the_voltage_of_an\nelectrical_signal_and_plots\nthe_data_in_real_time.=Measures the voltage of an\nelectrical signal and plots\nthe data in real time. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerGui.java +eln:Back_to_display=Back to display +eln:Configuration=Configuration +eln:Current_[A]=Current [A] +eln:Energy_[J]=Energy [J] +eln:Percent_[-]%=Percent [-]% +eln:Power_[W]=Power [W] +eln:Print=Print +eln:Sampling_period=Sampling period +eln:Temp._[*C]=Temp. [*C] +eln:Voltage_[V]=Voltage [V] +eln:Y-axis_max=Y-axis max +eln:Y-axis_min=Y-axis min +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorContainer.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorDescriptor.java +eln:Output_voltage_increases\nif_entities_are_moving_around.=Output voltage increases\nif entities are moving around. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalfiredetector/ElectricalFireDetectorDescriptor.java +eln:Output_voltage_increases\nif_a_fire_has_been_detected.=Output voltage increases\nif a fire has been detected. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceDescriptor.java +eln:Provides_configurable_signal\nvoltage.=Provides configurable signal\nvoltage. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceGui.java +eln:Output_at_%s=Output at %s +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricallightsensor/ElectricalLightSensorDescriptor.java +eln:0V_at_night,_%sV_at_noon.=0V at night, %sV at noon. +eln:Provides_an_electrical_voltage\nin_the_presence_of_light.=Provides an electrical voltage\nin the presence of light. +eln:Provides_an_electrical_voltage\nwhich_is_proportional_to\nthe_intensity_of_daylight.=Provides an electrical voltage\nwhich is proportional to\nthe intensity of daylight. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathContainer.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathDescriptor.java +eln:Applicable_boolean_operators\:=Applicable boolean operators\: +eln:Applicable_functions\:=Applicable functions\: +eln:Applicable_mathematical_operators\:=Applicable mathematical operators\: +eln:Calculates_an_output_signal_from\n3_inputs_(A,_B,_C)_using_an_equation.=Calculates an output signal from\n3 inputs (A, B, C) using an equation. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathGui.java +eln:%s_Redstone(s)_required=%s Redstone(s) required +eln:Equation_required!=Equation required\! +eln:Inputs_are=Inputs are +eln:Invalid_equation!=Invalid equation\! +eln:Output_voltage_formula=Output voltage formula +eln:Waiting_for_completion...=Waiting for completion... +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalredstoneinput/ElectricalRedstoneInputDescriptor.java +eln:Converts_Redstone_signal\nto_an_electrical_voltage.=Converts Redstone signal\nto an electrical voltage. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalredstoneoutput/ElectricalRedstoneOutputDescriptor.java +eln:Converts_electrical_voltage\ninto_a_Redstone_signal.=Converts electrical voltage\ninto a Redstone signal. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalrelay/ElectricalRelayDescriptor.java +eln:A_relay_is_an_electrical\ncontact_that_conducts_electric\ncurrent_or_not,_depending\nthe_actual_input_signal_voltage.=A relay is an electrical\ncontact that conducts electric\ncurrent or not, depending\nthe actual input signal voltage. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalrelay/ElectricalRelayGui.java +eln:Normally_closed=Normally closed +eln:Normally_open=Normally open +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalsource/ElectricalSourceDescriptor.java +eln:Creative_block.=Creative block. +eln:Provides_an_ideal_voltage_source\nwithout_energy_or_power_limitation.=Provides an ideal voltage source\nwithout energy or power limitation. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalsource/ElectricalSourceGui.java +eln:Output_voltage=Output voltage +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalswitch/ElectricalSwitchDescriptor.java +eln:Can_break_an_electrical_circuit\ninterrupting_the_current.=Can break an electrical circuit\ninterrupting the current. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricaltimeout/ElectricalTimeoutDescriptor.java +eln:Upon_application_of_a_high_signal,\nthe_timer_maintains_the_output_high_for\na_configurable_interval._Can_be_re-triggered.=Upon application of a high signal,\nthe timer maintains the output high for\na configurable interval. Can be re-triggered. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricaltimeout/ElectricalTimeoutGui.java +eln:Set=Set +eln:The_time_interval_the\noutput_is_kept_high.=The time interval the\noutput is kept high. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalvumeter/ElectricalVuMeterDescriptor.java +eln:Displays_the_value_of_a_signal.=Displays the value of a signal. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalwatch/ElectricalWatchContainer.java +eln:Portable_battery_slot=Portable battery slot +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalweathersensor/ElectricalWeatherSensorDescriptor.java +eln:Clear\:_%sV=Clear\: %sV +eln:Provides_an_electrical_signal\ndepending_the_actual_weather.=Provides an electrical signal\ndepending the actual weather. +eln:Rain\:_%sV=Rain\: %sV +eln:Storm\:_%sV=Storm\: %sV +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalwindsensor/ElectricalWindSensorDescriptor.java +eln:Maximum_wind_speed_is_%sm_s=Maximum wind speed is %sm/s +eln:Provides_an_electrical_signal\ndependant_on_wind_speed.=Provides an electrical signal\ndependant on wind speed. +eln:You_can't_place_this_block_on_the_floor_or_the_ceiling=You can't place this block on the floor or the ceiling +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricasensor/ElectricalSensorDescriptor.java +eln:Can_measure_Voltage_Power_Current=Can measure Voltage/Power/Current +eln:Measures_electrical_values_on_cables.=Measures electrical values on cables. +eln:Measures_voltage_on_cables.=Measures voltage on cables. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricasensor/ElectricalSensorGui.java +eln:Current=Current +eln:Measured_voltage\ncorresponding\nto_0%_output=Measured voltage\ncorresponding\nto 0% output +eln:Measured_voltage\ncorresponding\nto_100%_output=Measured voltage\ncorresponding\nto 100% output +eln:Voltage=Voltage +eln: +eln:# ./src/main/java/mods/eln/sixnode/energymeter/EnergyMeterGui.java +eln:Change_password=Change password +eln:Counter_Mode=Counter Mode +eln:Counts_the_energy_conducted_from\n\u00a74red\u00a7f_to_\u00a71blue\u00a7f.=Counts the energy conducted from\n\\u00a74red\\u00a7f to \\u00a71blue\\u00a7f. +eln:Energy_counter\:_%sJ=Energy counter\: %sJ +eln:Enter_new_energy=Enter new energy +eln:Enter_password=Enter password +eln:Prepay_Mode=Prepay Mode +eln:Reset_time_counter=Reset time counter +eln:Set_energy_counter=Set energy counter +eln:Time_counter\:=Time counter\: +eln:Try_password=Try password +eln:You_can_set_an_initial\namount_of_available_energy.\nWhen_the_counter_arrives_at_0\nthe_contact_will_be_opened.=You can set an initial\namount of available energy.\nWhen the counter arrives at 0\nthe contact will be opened. +eln:is_off=is off +eln:is_on=is on +eln:value_in_kJ=value in kJ +eln: +eln:# ./src/main/java/mods/eln/sixnode/groundcable/GroundCableDescriptor.java +eln:Can_be_used_to_set_a_point_of_an\nelectrical_network_to_0V_potential.\nFor_example_to_ground_negative_battery_contacts.=Can be used to set a point of an\nelectrical network to 0V potential.\nFor example to ground negative battery contacts. +eln:Provides_a_zero_volt_reference.=Provides a zero volt reference. +eln: +eln:# ./src/main/java/mods/eln/sixnode/hub/HubDescriptor.java +eln:Allows_crossing_cables\non_one_single_block.=Allows crossing cables\non one single block. +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketDescriptor.java +eln:Angle\:_%s°_to_%s°=Angle\: %s° to %s° +eln:Spot_range\:_%s_blocks=Spot range\: %s blocks +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketGuiDraw.java +eln:%s_is_not_in_range!=%s is not in range\! +eln:Cable_slot_empty=Cable slot empty +eln:Orientation\:_%s°=Orientation\: %s° +eln:Parallel=Parallel +eln:Powered_by_Lamp_Supply=Powered by Lamp Supply +eln:Powered_by_cable=Powered by cable +eln:Serial=Serial +eln:Specify_the_supply_channel=Specify the supply channel +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyContainer.java +eln:Electrical_cable_slot\nBase_range_is_32_blocks.\nEach_additional_cable\nincreases_range_by_one.=Electrical cable slot\nBase range is 32 blocks.\nEach additional cable\nincreases range by one. +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyDescriptor.java +eln:Supplies_all_lamps_on_the_channel.=Supplies all lamps on the channel. +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyGui.java +eln:Power_channel_name=Power channel name +eln:Wireless_channel_name=Wireless channel name +eln: +eln:# ./src/main/java/mods/eln/sixnode/modbusrtu/ModbusRtuGui.java +eln:Add=Add +eln:Channel_name=Channel name +eln:Modbus_ID=Modbus ID +eln:Modbus_RTU=Modbus RTU +eln:Station_ID=Station ID +eln:Station_name=Station name +eln:Wireless_RX=Wireless RX +eln:Wireless_TX=Wireless TX +eln: +eln:# ./src/main/java/mods/eln/sixnode/powercapacitorsix/PowerCapacitorSixContainer.java +eln:(Increases_maximum_voltage)=(Increases maximum voltage) +eln: +eln:# ./src/main/java/mods/eln/sixnode/powercapacitorsix/PowerCapacitorSixGui.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/powerinductorsix/PowerInductorSixContainer.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/powerinductorsix/PowerInductorSixGui.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/powersocket/PowerSocketDescriptor.java +eln:Supplies_any_device\nplugged_in_with_energy.=Supplies any device\nplugged in with energy. +eln: +eln:# ./src/main/java/mods/eln/sixnode/powersocket/PowerSocketGui.java +eln:Specify_the_device_to_supply_through_this_socket.=Specify the device to supply through this socket. +eln: +eln:# ./src/main/java/mods/eln/sixnode/resistor/ResistorContainer.java +eln:(Sets_resistance)=(Sets resistance) +eln:Coal_dust_slot=Coal dust slot +eln: +eln:# ./src/main/java/mods/eln/sixnode/thermalcable/ThermalCableDescriptor.java +eln:High_parallel_resistance\n_\=>_Low_power_dissipation.=High parallel resistance\n \=> Low power dissipation. +eln:Low_serial_resistance\n_\=>_High_conductivity.=Low serial resistance\n \=> High conductivity. +eln:Parallel_resistance\:_%sK_W=Parallel resistance\: %sK/W +eln:Serial_resistance\:_%sK_W=Serial resistance\: %sK/W +eln: +eln:# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorContainer.java +eln:Cable_slot=Cable slot +eln: +eln:# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorDescriptor.java +eln:Can_measure\:=Can measure\: +eln:Measures_temperature_of_cables.=Measures temperature of cables. +eln:Measures_thermal_values_on_cables.=Measures thermal values on cables. +eln:__Temperature_Power_conducted=Temperature/Power conducted +eln: +eln:# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorGui.java +eln:Measured_temperature\ncorresponding\nto_0%_output=Measured temperature\ncorresponding\nto 0% output +eln:Measured_temperature\ncorresponding\nto_100%_output=Measured temperature\ncorresponding\nto 100% output +eln:Temperature=Temperature +eln: +eln:# ./src/main/java/mods/eln/sixnode/tutorialsign/TutorialSignElement.java +eln:No_text_associated_to_this_beacon=No text associated to this beacon +eln: +eln:# ./src/main/java/mods/eln/sixnode/tutorialsign/TutorialSignGui.java +eln:Set_beacon_name=Set beacon name +eln: +eln:# ./src/main/java/mods/eln/sixnode/wirelesssignal/rx/WirelessSignalRxGui.java +eln: +eln:# ./src/main/java/mods/eln/transparentnode/FuelGenerator.kt +eln:Nominal_power\:_%s_W=Nominal power\: %s W +eln:Nominal_voltage\:_%s_V=Nominal voltage\: %s V +eln:Produces_electricity_using_fuel.=Produces electricity using fuel. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/LargeRheostat.kt +eln:Nom._Resistance\:_%s=Nom. Resistance\: %s +eln: +eln:# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerContainer.java +eln:Drill_slot=Drill slot +eln:Mining_pipe_slot=Mining pipe slot +eln:Ore_scanner_slot=Ore scanner slot +eln: +eln:# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerDescriptor.java +eln:Excavates_on_a_small_radius.\nExtracts_ore_on_a_bigger_radius\:\n10_blocks_radius_after_10_blocks_depth.=Excavates on a small radius.\nExtracts ore on a bigger radius\:\n10 blocks radius after 10 blocks depth. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerGuiDraw.java +eln:Chest_missing_on_the\nback_of_the_auto_miner!=Chest missing on the\nback of the auto miner\! +eln:Halves_speed,_triples_power_draw=Halves speed, triples power draw +eln:Silk_Touch_Off=Silk Touch Off +eln:Silk_Touch_On=Silk Touch On +eln:Silk_touch=Silk touch +eln: +eln:# ./src/main/java/mods/eln/transparentnode/battery/BatteryContainer.java +eln:Overheating_protection=Overheating protection +eln:Overvoltage_protection=Overvoltage protection +eln: +eln:# ./src/main/java/mods/eln/transparentnode/battery/BatteryDescriptor.java +eln:Actual_charge\:_%s=Actual charge\: %s +eln:Energy_capacity\:_%sJ=Energy capacity\: %sJ +eln:_charged_at_%s=charged at %s +eln: +eln:# ./src/main/java/mods/eln/transparentnode/battery/BatteryGuiDraw.java +eln:Charge=Charge +eln:Charged=Charged +eln:Discharge=Discharge +eln:Energy\:=Energy\: +eln:Energy\:_%s=Energy\: %s +eln:Life\:=Life\: +eln:No_charge=No charge +eln:Power_in\:=Power in\: +eln:Power_out\:=Power out\: +eln: +eln:# ./src/main/java/mods/eln/transparentnode/eggincubator/EggIncubatorContainer.java +eln:Egg_slot=Egg slot +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalantennarx/ElectricalAntennaRxDescriptor.java +eln:Wireless_energy_receiver.=Wireless energy receiver. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalantennatx/ElectricalAntennaTxDescriptor.java +eln:Efficiency\:_%s_up_to_%s=Efficiency\: %s up to %s +eln:Wireless_energy_transmitter.=Wireless energy transmitter. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceContainer.java +eln:Heating_corp_slot=Heating corp slot +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceDescriptor.java +eln:Similar_to_a_vanilla_furnace,\nbut_heats_with_electricity.=Similar to a vanilla furnace,\nbut heats with electricity. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceGuiDraw.java +eln:Auto_shutdown=Auto shutdown +eln:Manual_shutdown=Manual shutdown +eln:Set_point\:_%s°C=Set point\: %s°C +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalmachine/ElectricalMachineDescriptor.java +eln:Cost=Cost +eln: +eln:# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceContainer.java +eln:Combustion_chamber_slot=Combustion chamber slot +eln:Fuel_slot=Fuel slot +eln: +eln:# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceDescriptor.java +eln:Generates_heat_when_supplied_with_fuel.=Generates heat when supplied with fuel. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceGuiDraw.java +eln:Control_gauge_at_%s=Control gauge at %s +eln:Decline_fuel=Decline fuel +eln:External_control=External control +eln:Internal_control=Internal control +eln:Take_fuel=Take fuel +eln: +eln:# ./src/main/java/mods/eln/transparentnode/powercapacitor/PowerCapacitorContainer.java +eln:(Increases_maximal_voltage)=(Increases maximal voltage) +eln: +eln:# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelContainer.java +eln:Solar_tracker_slot=Solar tracker slot +eln: +eln:# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelDescriptor.java +eln:Can_be_geared_towards_the_sun.=Can be geared towards the sun. +eln:Max._power\:_%sW=Max. power\: %sW +eln:Max._voltage\:_%sV=Max. voltage\: %sV +eln:Produces_power_from_solar_radiation.=Produces power from solar radiation. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPannelGuiDraw.java +eln:It_is_night=It is night +eln:Solar_panel_angle\:_%s°=Solar panel angle\: %s° +eln:Sun_angle\:_%s°=Sun angle\: %s° +eln: +eln:# ./src/main/java/mods/eln/transparentnode/teleporter/TeleporterGui.java +eln:Destination_transporter=Destination transporter +eln:Power_consumption\:=Power consumption\: +eln:Power_consumption\:_%sW=Power consumption\: %sW +eln:Required_energy\:_%sJ=Required energy\: %sJ +eln:Start=Start +eln:Transporter_name=Transporter name +eln: +eln:# ./src/main/java/mods/eln/transparentnode/thermaldissipatoractive/ThermalDissipatorActiveDescriptor.java +eln:Fan_cooling_power\:_%sW=Fan cooling power\: %sW +eln:Fan_power_consumption\:_%sW=Fan power consumption\: %sW +eln:Fan_voltage\:_%sV=Fan voltage\: %sV +eln: +eln:# ./src/main/java/mods/eln/transparentnode/transformer/TransformerDescriptor.java +eln:The_voltage_ratio_is_proportional\nto_the_cable_stacks_count_ratio.=The voltage ratio is proportional\nto the cable stacks count ratio. +eln:Transforms_an_input_voltage_to\nan_output_voltage.=Transforms an input voltage to\nan output voltage. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/turbine/TurbineDescriptor.java +eln:Generates_electricity_using_heat.=Generates electricity using heat. +eln:Temperature_difference\:_%s°C=Temperature difference\: %s°C +eln: +eln:# ./src/main/java/mods/eln/transparentnode/turret/TurretDescriptor.java +eln:CAUTION\:_Cables_can_get_quite_hot!=CAUTION\: Cables can get quite hot\! +eln:Laser_charge_power\:_%sW...%skW=Laser charge power\: %sW...%skW +eln:Scans_for_entities_and_shoots_if_the\nentity_matches_the_configurable_filter_criteria.=Scans for entities and shoots if the\nentity matches the configurable filter criteria. +eln:Standby_power\:_%sW=Standby power\: %sW +eln: +eln:# ./src/main/java/mods/eln/transparentnode/turret/TurretGui.java +eln:Attack\:=Attack\: +eln:Do_not_attack\:=Do not attack\: +eln:Recharge_power\:=Recharge power\: +eln: +eln:# ./src/main/java/mods/eln/transparentnode/waterturbine/WaterTurbineDescriptor.java +eln:Generates_energy_using_water_stream.=Generates energy using water stream. +eln:No_place_for_water_turbine!=No place for water turbine\! +eln: +eln:# ./src/main/java/mods/eln/transparentnode/windturbine/WindTurbineDescriptor.java +eln:Front\:_%s=Front\: %s +eln:Generates_energy_from_wind.=Generates energy from wind. +eln:Left_Right\:_%s=Left/Right\: %s +eln:Up_Down\:_%s=Up/Down\: %s +eln:Wind_area\:=Wind area\: +eln: +eln:# ./src/main/java/mods/eln/wiki/Data.java +eln:Energy=Energy +eln:Light=Light +eln:Machine=Machine +eln:Ore=Ore +eln:Portable=Portable +eln:Resource=Resource +eln:Signal=Signal +eln:Thermal=Thermal +eln:Upgrade=Upgrade +eln:Utilities=Utilities +eln:Wiring=Wiring +eln: +eln:# ./src/main/java/mods/eln/wiki/Default.java +eln:Previous=Previous +eln: +eln:# ./src/main/java/mods/eln/wiki/ItemDefault.java +eln:Can_be_used_to_craft\:=Can be used to craft\: +eln:Cannot_be_crafted!=Cannot be crafted\! +eln:Cost_%sJ=Cost %sJ +eln:Created_by\:=Created by\: +eln:Is_not_a_crafting_material!=Is not a crafting material\! +eln:Recipe\:=Recipe\: +eln: +eln:# Appearing in multiple source files +eln:(Increases_capacity)=(Increases capacity) +eln:(Increases_inductance)=(Increases inductance) +eln:Actual\:_%s°C=Actual\: %s°C +eln:Biggest=Biggest +eln:Booster_slot=Booster slot +eln:Can_create\:=Can create\: +eln:Capacity\:_%sF=Capacity\: %sF +eln:Charge_power\:_%sW=Charge power\: %sW +eln:Connected=Connected +eln:Cooling_power\:_%sW=Cooling power\: %sW +eln:Copper_cable_slot=Copper cable slot +eln:Dielectric_slot=Dielectric slot +eln:Discharge_power\:_%sW=Discharge power\: %sW +eln:Electrical_cable_slot=Electrical cable slot +eln:Entity_filter_slot=Entity filter slot +eln:Ferromagnetic_core_slot=Ferromagnetic core slot +eln:Has_a_signal_output.=Has a signal output. +eln:Inductance\:_%sH=Inductance\: %sH +eln:Internal_resistance\:_%sΩ=Internal resistance\: %sΩ +eln:Is_off=Is off +eln:Is_on=Is on +eln:Max._temperature\:_%s°C=Max. temperature\: %s°C +eln:Measured_value\ncorresponding\nto_0%_output=Measured value\ncorresponding\nto 0% output +eln:Measured_value\ncorresponding\nto_100%_output=Measured value\ncorresponding\nto 100% output +eln:Nominal\:=Nominal\: +eln:Nominal_power\:_%sW=Nominal power\: %sW +eln:Nominal_usage\:=Nominal usage\: +eln:Nominal_voltage\:_%sV=Nominal voltage\: %sV +eln:Not_connected=Not connected +eln:Not_enough_space_for_this_block=Not enough space for this block +eln:Power=Power +eln:Power\:_%sW=Power\: %sW +eln:Range\:_%s_blocks=Range\: %s blocks +eln:Redstone_slot=Redstone slot +eln:Regulator_slot=Regulator slot +eln:Reset=Reset +eln:Resistance\:_%sΩ=Resistance\: %sΩ +eln:Smallest=Smallest +eln:Specify_the_channel=Specify the channel +eln:Stored_energy\:_%sJ_(%s)=Stored energy\: %sJ (%s) +eln:Temperature\:_%s°C=Temperature\: %s°C +eln:Temperature_gauge=Temperature gauge +eln:Thermal_isolator_slot=Thermal isolator slot +eln:Toggle=Toggle +eln:Toggle_switch=Toggle switch +eln:Toggles_the_output_each_time\nan_emitter's_value_rises.\nUseful_to_allow_multiple_buttons\nto_control_the_same_light.=Toggles the output each time\nan emitter's value rises.\nUseful to allow multiple buttons\nto control the same light. +eln:Used_to_cool_down_turbines.=Used to cool down turbines. +eln:Uses_the_biggest\nvalue_on_the_channel.=Uses the biggest\nvalue on the channel. +eln:Uses_the_smallest\nvalue_on_the_channel.=Uses the smallest\nvalue on the channel. +eln:Validate=Validate +eln:Voltage\:_%sV=Voltage\: %sV +eln:You_can't_place_this_block_at_this_side=You can't place this block at this side diff --git a/src/main/resources/assets/eln/lang/it.lang b/src/main/resources/assets/eln/lang/it.lang index 81d1aa8e9..bbb60c494 100644 --- a/src/main/resources/assets/eln/lang/it.lang +++ b/src/main/resources/assets/eln/lang/it.lang @@ -1,829 +1,829 @@ -# - -# ./src/main/java/mods/eln/Achievements.java -Electrical_Age_[WIP]=Età Elettrica [WIP] -achievement.craft_50v_macerator=Novizio della frantumazione -achievement.craft_50v_macerator.desc=Crafta un Maceratore 50V -achievement.open_guide=Potenza Wiki -achievement.open_guide.desc=Apri la guida wiki - -# ./src/main/java/mods/eln/Eln.java -10A_Diode.name=Diodo 10A -200V_Active_Thermal_Dissipator.name=Dissipatore Termico Attivo 200V -200V_Battery_Charger.name=Caricabatterie 200V -200V_Compressor.name=Compressore 200V -200V_Condensator.name=Condensatore 200V -200V_Copper_Heating_Corp.name=Corpo Riscaldante in Rame 200V -200V_Economic_Light_Bulb.name=Lampadina Economica 200V -200V_Farming_Lamp.name=Lampada Da Coltivazione 200V -200V_Fuel_Generator.name=Generatore a Carburante 200V -200V_Incandescent_Light_Bulb.name=Lampadina ad Incandescenza 200V -200V_Iron_Heating_Corp.name=Corpo Riscaldante in Ferro 200V -200V_LED_Bulb.name=Lampadina LED 200V -200V_Macerator.name=Maceratore 200V -200V_Magnetizer.name=Magnetizzatore 200V -200V_Plate_Machine.name=Macchina per Piastre 200V -200V_Power_Socket.name=Presa Elettrica 200V -200V_Tungsten_Heating_Corp.name=Corpo Riscaldante in Tungsteno 200V -200V_Turbine.name=Turbina 200V -25A_Diode.name=Diodo 25A -50V_Battery_Charger.name=Caricabatterie 50V -50V_Carbon_Incandescent_Light_Bulb.name=Lampadina ad Incandescenza al Carbonio 50V -50V_Compressor.name=Compressore 50V -50V_Condensator.name=Condensatore 50V -50V_Copper_Heating_Corp.name=Corpo Riscaldante in Rame 50V -50V_Economic_Light_Bulb.name=Lampadina Economica 50V -50V_Egg_Incubator.name=Incubatrice per Uova 50V -50V_Farming_Lamp.name=Lampada Da Coltivazione 50V -50V_Fuel_Generator.name=Generatore a Carburante 50V -50V_Incandescent_Light_Bulb.name=Lampadina ad Incandescenza 50V -50V_Iron_Heating_Corp.name=Corpo Riscaldante in Ferro 50V -50V_LED_Bulb.name=Lampadina LED 50V -50V_Macerator.name=Maceratore 50V -50V_Magnetizer.name=Magnetizzatore 50V -50V_Plate_Machine.name=Macchina per Piastre 50V -50V_Power_Socket.name=Presa Elettrica 50V -50V_Tungsten_Heating_Corp.name=Corpo Riscaldante in Tungsteno 50V -50V_Turbine.name=Turbina 50V -800V_Defence_Turret.name=Torretta Difensiva 800V -AND_Chip.name=Chip AND -Advanced_Chip.name=Chip Avanzato -Advanced_Electrical_Motor.name=Motore Elettrico Avanzato -Advanced_Energy_Meter.name=Contatore d'Energia Avanzato -Advanced_Machine_Block.name=Blocco Macchina Avanzato -Advanced_Magnet.name=Magnete Avanzato -AllMeter.name=Multimetro -Alloy_Dust.name=Polvere di Lega -Alloy_Ingot.name=Lingotto di Lega -Alloy_Plate.name=Piastra di Lega -Analog_Watch.name=Orologio Analogico -Analog_vuMeter.name=Misuratore Analogico -Analogic_Regulator.name=Regolatore Analogico -Animal_Filter.name=Filtro per Animali -Auto_Miner.name=Minatore Automatico -Average_Electrical_Drill.name=Trapano Elettrico Medio -Average_Ferromagnetic_Core.name=Nucleo Ferromagnetico Medio -Basic_Magnet.name=Magnete Basico -Black_Brush.name=Pennello Nero -Blue_Brush.name=Pennello Blu -Brown_Brush.name=Pennello Marrone -Capacity_Oriented_Battery.name=Batteria Orientata alla Capacità -Cheap_Chip.name=Chip Economico -Cheap_Electrical_Drill.name=Trapano Elettrico Economico -Cheap_Ferromagnetic_Core.name=Nucleo Ferromagnentico Economico -Cinnabar_Dust.name=Polvere di Cinabro -Cinnabar_Ore.name=Cinabro Grezzo -Coal_Dust.name=Polvere di Carbone -Coal_Plate.name=Piastra di Carbone -Combustion_Chamber.name=Camera di Combustione -Copper_Cable.name=Cavo di Rame -Copper_Dust.name=Polvere di Rame -Copper_Ingot.name=Lingotto di Rame -Copper_Ore.name=Rame Grezzo -Copper_Plate.name=Piastra di Rame -Copper_Thermal_Cable.name=Cavo Termico di Rame -Cost_Oriented_Battery.name=Batteria Orientata al Costo -Current_Oriented_Battery.name=Batteria Orientata alla Corrente -Cyan_Brush.name=Pennello Ciano -D_Flip_Flop_Chip.name=Chip D Flip Flop -Data_Logger.name=Registratore di Dati -Data_Logger_Print.name=Traccia Registratore di Dati -Dielectric.name=Dielettrico -Digital_Watch.name=Orologio Digitale -Electrical_Anemometer_Sensor.name=Sensore Anemometrico Elettrico -Electrical_Breaker.name=Interruttore Elettrico -Electrical_Daylight_Sensor.name=Sensore Elettrico di Luce Diurna -Electrical_Entity_Sensor.name=Sensore Elettrico di Entità -Electrical_Fire_Detector.name=Rivelatore Elettrico di Fuoco -Electrical_Furnace.name=Fornace Elettrica -Electrical_Light_Sensor.name=Sensore Elettrico di Luce -Electrical_Motor.name=Motore Elettrico -Electrical_Probe.name=Sonda Elettrica -Electrical_Probe_Chip.name=Chip per Sonda Elettrica -Electrical_Source.name=Fonte Elettrica -Electrical_Timer.name=Timer Elettrico -Electrical_Weather_Sensor.name=Sensore Elettrico Meteo -Electrical_age_wrench,\nCan_be_used_to_turn\nsmall_wall_blocks=Chiave inglese,\npuò essere usata per girare\npiccoli blocchi da parete -Energy_Meter.name=Contatore di Energia -Experimental_Transporter.name=Trasportatore Sperimentale -Fast_Electrical_Drill.name=Trapano Elettrico Veloce -Ferrite_Ingot.name=Lingotto di Ferrite -Flat_Lamp_Socket.name=Portalampada Piatto -Fluorescent_Lamp_Socket.name=Portalampada per Lampadina Fluorescente -Generator.name=Generatore -Gold_Dust.name=Polvere di Oro -Gold_Plate.name=Piastra di oro -Gray_Brush.name=Pennello Grigio -Green_Brush.name=Pennello Verde -Ground_Cable.name=Cavo di Messa a Terra -High_Power_Receiver_Antenna.name=Antenna Ricevente ad Alta Potenza -High_Power_Transmitter_Antenna.name=Antenna Trasmettente ad Alta Potenza -High_Voltage_Cable.name=Cavo ad Alta Tensione -High_Voltage_Relay.name=Relè ad Alta Tensione -High_Voltage_Switch.name=Interruttore ad Alta Tensione -Hub.name=Hub -Industrial_Data_Logger.name=Registratore di Dati Industriale -Iron_Cable.name=Cavo di Ferro -Iron_Dust.name=Polvere di Ferro -Iron_Plate.name=Piastra di Ferro -JK_Flip_Flop_Chip.name=Chip JK Flip Flop -LED_vuMeter.name=Vu Meter LED -Lamp_Socket_A.name=Portalampada A -Lamp_Socket_B_Projector.name=Portalampada Proiettore B -Lamp_Supply.name=Erogatore per Lampade -Large_Rheostat.name=Reostato Grande -Lead_Dust.name=Polvere di Piombo -Lead_Ingot.name=Lingotto di Piombo -Lead_Ore.name=Piombo Grezzo -Lead_Plate.name=Piastra di Piombo -Life_Oriented_Battery.name=Batteria orientata alla Durata -Light_Blue_Brush.name=Pennello Azzurro -Lime_Brush.name=Pennello Lime -Long_Suspended_Lamp_Socket.name=Portalampada Lungo Sospeso -Low_Power_Receiver_Antenna.name=Antenna Ricevente a Bassa Potenza -Low_Power_Transmitter_Antenna.name=Antenna Trasmittente a Bassa Potenza -Low_Voltage_Cable.name=Cavo a Bassa Tensione -Low_Voltage_Relay.name=Relè a Bassa Tensione -Low_Voltage_Switch.name=Interruttore a Bassa Tensione -Machine_Block.name=Blocco Macchina -Machine_Booster.name=Booster Macchina -Magenta_Brush.name=Pennello Magenta -Medium_Power_Receiver_Antenna.name=Antenna Ricevente a Media Potenza -Medium_Power_Transmitter_Antenna.name=Antenna Trasmittente a Media Potenza -Medium_Voltage_Cable.name=Cavo a Media Tensione -Medium_Voltage_Relay.name=Relè a Media Tensione -Medium_Voltage_Switch.name=Interruttore a Media Tensione -Mercury.name=Mercurio -Mining_Pipe.name=Condotto Minante -Modbus_RTU.name=Modbus RTU -Modern_Data_Logger.name=Registratore di Dati Moderno -Monster_Filter.name=Filtro Mostri -MultiMeter.name=Multimetro -NAND_Chip.name=Chip NAND -NOR_Chip.name=Chip NOR -NOT_Chip.name=Chip NOT -Nuclear_Alarm.name=Allarme Nucleare -OR_Chip.name=Chip OR -On_OFF_Regulator_10_Percent.name=Regolatore on/off 10% -On_OFF_Regulator_1_Percent.name=Regolatore on/off 1% -Optimal_Ferromagnetic_Core.name=Nucleo Ferromagnetico Ottimale -Orange_Brush.name=Pennello Arancione -Ore_Scanner.name=Scanner di Minerali -Oscillator_Chip.name=Chip Oscillatore -Overheating_Protection.name=Protezione dal Surriscaldamento -Overvoltage_Protection.name=Protezione da Sovratensione -PAL_Chip.name=Chip PAL -Pink_Brush.name=Pennello Rosa -Player_Filter.name=Filtro Giocatori -Portable_Battery.name=Batteria Portatile -Portable_Battery_Pack.name=Pacco Batterie Portatile -Portable_Condensator.name=Condensatore Portatile -Portable_Condensator_Pack.name=Pacco Condensatori Portatile -Portable_Electrical_Axe.name=Ascia Elettrica Portatile -Portable_Electrical_Mining_Drill.name=Trapano Elettrico Portatile da Miniera -Power_Capacitor.name=Condensatore di Potenza -Power_Inductor.name=Induttore di Potenza -Power_Resistor.name=Resistore di Potenza -Power_capacitor.name=Condensatore di potenza -Power_inductor.name=Induttore di potenza -Purple_Brush.name=Pennello Viola -Red_Brush.name=Pennello Rosso -Redstone-to-Voltage_Converter.name=Convertitore Pietrarossa-Tensione -Rheostat.name=Reostato -Robust_Lamp_Socket.name=Portalampada Robusto -Rubber.name=Gomma -Schmitt_Trigger_Chip.name=Chip Trigger di Schmitt -Sconce_Lamp_Socket.name=Portalampada da parete -Signal_20H_inductor.name=Induttore di Segnale 20H -Signal_Antenna.name=Antenna Segnale -Signal_Button.name=Bottone Segnale -Signal_Cable.name=Cavo Segnale -Signal_Diode.name=Diodo Segnale -Signal_Processor.name=Processore di Segnale -Signal_Relay.name=Relè di Segnale -Signal_Source.name=Fonte di Segnale -Signal_Switch.name=Interruttore di Segnale -Signal_Switch_with_LED.name=Interruttore di Segnale con LED -Signal_Trimmer.name=Regolatore di Segnale -Silicon_Dust.name=Polvere di Silicio -Silicon_Ingot.name=Lingotto di Silicio -Silicon_Plate.name=Piastra di Silicio -Silver_Brush.name=Pennello Argento -Simple_Lamp_Socket.name=Portalampada Semplice -Single-use_Battery.name=Batteria monouso -Small_200V_Copper_Heating_Corp.name=Corpo Riscaldante Piccolo in Rame 200V -Small_200V_Iron_Heating_Corp.name=Corpo Riscaldante Piccolo in Ferro 200V -Small_200V_Tungsten_Heating_Corp.name=Corpo Riscaldante Piccolo in Tungsteno 200V -Small_50V_Carbon_Incandescent_Light_Bulb.name=Lampadina ad Incandescenza al Carbonio Piccola 50V -Small_50V_Copper_Heating_Corp.name=Corpo Riscaldante Piccolo in Rame 50V -Small_50V_Economic_Light_Bulb.name=Lampadina Economica Piccola 50V -Small_50V_Incandescent_Light_Bulb.name=Lampadina ad Incandescenza Piccola 50V -Small_50V_Iron_Heating_Corp.name=Corpo Riscaldante Piccolo in Ferro 50V -Small_50V_Tungsten_Heating_Corp.name=Corpo Riscaldante Piccolo in Tungsteno 50V -Small_Active_Thermal_Dissipator.name=Dissipatore Termico Attivo Piccolo -Small_Flashlight.name=Torcia Piccola -Small_Passive_Thermal_Dissipator.name=Dissipatore Termico Passivo Piccolo -Small_Rotating_Solar_Panel.name=Pannello Solare Rotante Piccolo -Small_Solar_Panel.name=Pannello Solare Piccolo -Solar_Tracker.name=Inseguitore Solare -Standard_Alarm.name=Allarme Standard -Steam_Turbine.name=Turbina a Vapore -Stone_Heat_Furnace.name=Fornace di Pietra per Calore -Street_Light.name=Lampione -Suspended_Lamp_Socket.name=Portalampada Sospeso -Temperature_Probe.name=Sonda Temperatura -Thermal_Probe.name=Sonda Termica -Thermal_Probe_Chip.name=Chip per Sonda Termica -Thermistor.name=Termistore -ThermoMeter.name=Termometro -Transformer.name=Trasformatore -Tree_Resin.name=Resina d'Albero -Tree_Resin_Collector.name=Collettore di Resina d'Albero -Tungsten_Cable.name=Cavo in Tungsteno -Tungsten_Dust.name=Polvere di Tungsteno -Tungsten_Ingot.name=Lingotto di Tungsteno -Tungsten_Ore.name=Tungsteno Grezzo -Tutorial_Sign.name=Cartello Tutorial -Very_High_Voltage_Cable.name=Cavo a Tensione Molto Alta -Very_High_Voltage_Relay.name=Relè a Tensione Molto Alta -Very_High_Voltage_Switch.name=Interruttore a Tensione Molto Alta -Voltage-to-Redstone_Converter.name=Convertitore Tensione-Pietrarossa -Voltage_Oriented_Battery.name=Batteria Orientata alla Tensione -Voltage_Probe.name=Sonda di Tensione -Water_Turbine.name=Turbina ad Acqua -Weak_50V_Battery_Charger.name=Caricabatterie Debole 50V -White_Brush.name=Pennello Bianco -Wind_Turbine.name=Turbina a Vento -Wireless_Analyser.name=Analizzatore Wireless -Wireless_Button.name=Bottone Wireless -Wireless_Signal_Receiver.name=Ricevitore di Segnale Wireless -Wireless_Signal_Repeater.name=Ripetitore di Segnale Wireless -Wireless_Signal_Transmitter.name=Trasmettitore di Segnale Wireless -Wireless_Switch.name=Interruttore Wireless -Wrench.name=Chiave Inglese -X-Ray_Scanner.name=Scanner a Raggi X -XNOR_Chip.name=Chip XNOR -XOR_Chip.name=Chip XOR -Yellow_Brush.name=Pennello Giallo -entity.EAReplicator.name=Replicatore -item.Copper Axe.name\=Ascia di Rame -item.Copper Axe.name\=Ascia di Rame -item.Copper Axe.name\=Ascia di Rame -item.Copper Axe.name\=Ascia di Rame -item.Copper Axe.name\=Ascia di Rame -item.Copper Axe.name\=Ascia di Rame -item.Copper Axe.name\=Ascia di Rame -item.Copper Axe.name\=Ascia di Rame -item.Copper Axe.name\=Ascia di Rame -item.E-Coal Boots.name\=Stivali E-Carbone -item.E-Coal Boots.name\=Stivali E-Carbone -item.E-Coal Boots.name\=Stivali E-Carbone -item.E-Coal Boots.name\=Stivali E-Carbone -itemGroup.Eln=Età Elettrica -mod.meta.desc=Elettricità nella tua base\! -tile.eln.ElnProbe.name=Sonda Computer Eln -tile.eln.EnergyConverterElnToOtherHVUBlock.name=Esportatore da Età Elettrica ad altra energia 800V -tile.eln.EnergyConverterElnToOtherLVUBlock.name=Esportatore da Età Elettrica ad altra energia 50V -tile.eln.EnergyConverterElnToOtherMVUBlock.name=Esportatore da Età Elettrica ad altra energia 200V - -# ./src/main/java/mods/eln/i18n/I18N.java -You_have_%s_lives_left=Hai %s vite rimaste - -# ./src/main/java/mods/eln/item/BrushDescriptor.java -Brush_is_dry=Il pennello è secco -Can_paint_%s_blocks=Può colorare %s blocchi - -# ./src/main/java/mods/eln/item/CombustionChamber.java -Upgrade_for_the_Stone_Heat_Furnace.=Aggiornamento per la Fornace di Pietra per Calore - -# ./src/main/java/mods/eln/item/ElectricalDrillDescriptor.java -Energy_per_operation\:_%sJ=Energia per operazione\: %sJ -Time_per_operation\:_%ss=Tempo per operazione\: %ss - -# ./src/main/java/mods/eln/item/FerromagneticCoreDescriptor.java -Cable_loss_factor\:_%s=Fattore di perdita del cavo\: %s - -# ./src/main/java/mods/eln/item/HeatingCorpElement.java - -# ./src/main/java/mods/eln/item/LampDescriptor.java -Bad=Cattivo -Condition\:=Condizione\: -End_of_life=Fine della vita -Good=Buono -New=Nuovo -Nominal_lifetime\:_%sh=Durata di vita nominale\: %sh -Technology\:_%s=Tecnologia\: %s -Used=Usato - -# ./src/main/java/mods/eln/item/LampSlot.java -Lamp_slot=Spazio lampadina - -# ./src/main/java/mods/eln/item/OverHeatingProtectionDescriptor.java -Useful_to_prevent_overheating\nof_Batteries=Utile per prevenire surriscaldamenti\ndelle Batterie - -# ./src/main/java/mods/eln/item/OverVoltageProtectionDescriptor.java -Useful_to_prevent_over-voltage\nof_Batteries=Utile per prevenire sovratensioni\ndelle Batterie - -# ./src/main/java/mods/eln/item/SolarTrackerDescriptor.java -Solar_panel_upgrade=Aggiornamento pannello solare - -# ./src/main/java/mods/eln/item/electricalitem/BatteryItem.java - -# ./src/main/java/mods/eln/item/electricalitem/ElectricalLampItem.java -Off=Spento -On=Acceso -State\:=Stato\: -Stored_Energy\:_%sJ_(%s)=Energia accumulata\: %sJ (%s) - -# ./src/main/java/mods/eln/item/regulator/RegulatorSlot.java - -# ./src/main/java/mods/eln/misc/UtilsClient.java -Hold_shift=Tieni premuto shift - -# ./src/main/java/mods/eln/misc/Version.java -mod.name=Età Elettrica - -# ./src/main/java/mods/eln/node/six/SixNodeDescriptor.java - -# ./src/main/java/mods/eln/simplenode/energyconverter/EnergyConverterElnToOtherGui.java -Input_power_is_limited_to_%sW=Potenza in entrata limitata a %sW - -# ./src/main/java/mods/eln/sixnode/LogicGate.kt -_O\:_= O\: - -# ./src/main/java/mods/eln/sixnode/TreeResinCollector/TreeResinCollectorDescriptor.java -Produces_Tree_Resin_over\ntime_when_put_on_a_tree.=Produce Resina d'Albero man\nmano quando posto su un albero. -This_block_can_only_be_placed_on_the_side_of_a_tree!=Questo blocco può essere piazzato solo sul tronco di un albero\! - -# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerContainer.java -Battery_slot=Spazio batteria - -# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerDescriptor.java -Can_be_used_to_recharge\nelectrical_items_like\:\nFlash_Light,_X-Ray_scanner\nand_Portable_Battery_...=Può essere usato per ricaricare\noggetti elettrici come\:\nTorcia Elettrica, Scanner a Raggi X\ne Batteria Portatile ... - -# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerGui.java - -# ./src/main/java/mods/eln/sixnode/diode/DiodeDescriptor.java -Electrical_current_can_only\nflow_through_the_diode\nfrom_anode_to_cathode=La corrente elettrica può\ncircolare attraverso il diodo\nsolo dall'anodo al catodo - -# ./src/main/java/mods/eln/sixnode/electricalalarm/ElectricalAlarmDescriptor.java -= -Emits_an_acoustic_alarm_if\nthe_input_signal_is_high=Emette un allarme acustico se\nil segnale in ingresso è alto - -# ./src/main/java/mods/eln/sixnode/electricalalarm/ElectricalAlarmGui.java -Sound_is_muted=Il suono è mutato -Sound_is_not_muted=Il suono non è mutato - -# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerContainer.java - -# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerDescriptor.java -Protects_electrical_components\nOpens_contact_if\:\n__-_Voltage_exceeds_a_certain_level\n-_Current_exceeds_the_cable_limit=Protegge componenti elettriche\nApre il contatto se\:\n- La tensione supera un certo livello\n- La corrente supera il limite del cavo - -# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerGui.java -Maximum_voltage_before_cutting_off=Tensione massima prima di staccare -Minimum_voltage_before_cutting_off=Tensione minima prima di staccare -Switch_is_off=L'interruttore è spento -Switch_is_on=L'interruttore è acceso - -# ./src/main/java/mods/eln/sixnode/electricalcable/ElectricalCableDescriptor.java -A_signal_is_electrical_information\nwhich_must_be_between_0V_and_%sV=Un segnale è un'informazione elettrica\nche deve essere tra 0V e %sV -Cable_is_adapted_to_conduct\nelectrical_signals.=Il cavo è adattato per condurre\nsegnali elettrici. -Current\:_%sA=Corrente\: %sA -Not_adapted_to_transport_power.=Non adattato a trasportare potenza. -Save_usage\:=Risparmia uso\: -Serial_resistance\:_%sΩ=Resistenza in serie\: %sΩ - -# ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerDescriptor.java -It_can_store_up_to_256_points.=Può contenere fino a 256 punti. -Measures_the_voltage_of_an\nelectrical_signal_and_plots\nthe_data_in_real_time.=Misura la tensione di un\nsegnale elettrico e traccia\ni dati in tempo reale. - -# ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerGui.java -Back_to_display=Ritorna al display -Configuration=Configurazione -Current_[A]=Corrente [A] -Energy_[J]=Energia [J] -Percent_[-]%=Percentuale [-]% -Power_[W]=Potenza [W] -Print=Stampa -Sampling_period=Periodo di campionamento -Temp._[*C]=Temp. [*C] -Voltage_[V]=Tensione [V] -Y-axis_max=Massimo asse Y -Y-axis_min=Minimo asse Y - -# ./src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorContainer.java - -# ./src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorDescriptor.java -Output_voltage_increases\nif_entities_are_moving_around.=La tensione in uscita aumenta\nse delle entità si muovono intorno. - -# ./src/main/java/mods/eln/sixnode/electricalfiredetector/ElectricalFireDetectorDescriptor.java -Output_voltage_increases\nif_a_fire_has_been_detected.=La tensione in uscita aumenta\nse un fuoco viene rilevato. - -# ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceDescriptor.java -Provides_configurable_signal\nvoltage.=Fornisce un segnale di tensione\nconfigurabile. - -# ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceGui.java -Output_at_%s=Output al %s - -# ./src/main/java/mods/eln/sixnode/electricallightsensor/ElectricalLightSensorDescriptor.java -0V_at_night,_%sV_at_noon.=0V di notte, %sV a mezzogiorno. -Provides_an_electrical_voltage\nin_the_presence_of_light.=Fornisce una tensione elettrica\nin presenza di luce. -Provides_an_electrical_voltage\nwhich_is_proportional_to\nthe_intensity_of_daylight.=Fornisce una tensione elettrica\nproporzionale all'intensità\ndella luce del giorno. - -# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathContainer.java - -# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathDescriptor.java -Applicable_boolean_operators\:=Operatori booleani applicabili\: -Applicable_functions\:=Funzioni applicabili\: -Applicable_mathematical_operators\:=Operatori matematici applicabili\: -Calculates_an_output_signal_from\n3_inputs_(A,_B,_C)_using_an_equation.=Calcola un segnale in uscita da\n3 in ingresso(A, B, C) usando una\nequazione. - -# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathGui.java -%s_Redstone(s)_required=%s Pietrarossa richiesta/e -Equation_required!=Equazione richiesta\! -Inputs_are=Gli input sono -Invalid_equation!=Equazione non valida\! -Output_voltage_formula=Formula della tensione in uscita -Waiting_for_completion...=Aspettando il completamento... - -# ./src/main/java/mods/eln/sixnode/electricalredstoneinput/ElectricalRedstoneInputDescriptor.java -Converts_Redstone_signal\nto_an_electrical_voltage.=Converte segnale Pietrarossa\nin tensione elettrica. - -# ./src/main/java/mods/eln/sixnode/electricalredstoneoutput/ElectricalRedstoneOutputDescriptor.java -Converts_electrical_voltage\ninto_a_Redstone_signal.=Converte tensione elettrica\nin un segnale Pietrarossa. - -# ./src/main/java/mods/eln/sixnode/electricalrelay/ElectricalRelayDescriptor.java -A_relay_is_an_electrical\ncontact_that_conducts_electric\ncurrent_or_not,_depending\nthe_actual_input_signal_voltage.=Un relè è un contatto\nelettrico che conduce corrente\nelettrica a seconda della\ntensione del segnale in entrata. - -# ./src/main/java/mods/eln/sixnode/electricalrelay/ElectricalRelayGui.java -Normally_closed=Normalmente chiuso -Normally_open=Normalmente aperto - -# ./src/main/java/mods/eln/sixnode/electricalsource/ElectricalSourceDescriptor.java -Creative_block.=Blocco modalità creativa. -Provides_an_ideal_voltage_source\nwithout_energy_or_power_limitation.=Fornisce una fonte di tensione ideale\nsenza limite di energia o potenza. - -# ./src/main/java/mods/eln/sixnode/electricalsource/ElectricalSourceGui.java -Output_voltage=Tensione in uscita - -# ./src/main/java/mods/eln/sixnode/electricalswitch/ElectricalSwitchDescriptor.java -Can_break_an_electrical_circuit\ninterrupting_the_current.=Può rompere un circuito elettrico\ninterrompendo la corrente. - -# ./src/main/java/mods/eln/sixnode/electricaltimeout/ElectricalTimeoutDescriptor.java -Upon_application_of_a_high_signal,\nthe_timer_maintains_the_output_high_for\na_configurable_interval._Can_be_re-triggered.=Fino all'applicazione di un segnale alto,\nil timer mantiene l'output alto per un\nintervallo configurabile. Può essere re-innescato. - -# ./src/main/java/mods/eln/sixnode/electricaltimeout/ElectricalTimeoutGui.java -Set=Imposta -The_time_interval_the\noutput_is_kept_high.=L'intervallo di tempo in cui\nl'output è mantenuto alto. - -# ./src/main/java/mods/eln/sixnode/electricalvumeter/ElectricalVuMeterDescriptor.java -Displays_the_value_of_a_signal.=Mostra il valore di un segnale. - -# ./src/main/java/mods/eln/sixnode/electricalwatch/ElectricalWatchContainer.java -Portable_battery_slot=Spazio batteria portatile - -# ./src/main/java/mods/eln/sixnode/electricalweathersensor/ElectricalWeatherSensorDescriptor.java -Clear\:_%sV=Cielo terso\: %sV -Provides_an_electrical_signal\ndepending_the_actual_weather.=Fornisce un segnale elettrico\na seconda del tempo atmosferico. -Rain\:_%sV=Pioggia\: %sV -Storm\:_%sV=Tempesta\: %sV - -# ./src/main/java/mods/eln/sixnode/electricalwindsensor/ElectricalWindSensorDescriptor.java -Maximum_wind_speed_is_%sm_s=La massima velocità del vento è %sm/s -Provides_an_electrical_signal\ndependant_on_wind_speed.=Fornisce un segnale elettrico\nsecondo la velocità del vento. -You_can't_place_this_block_on_the_floor_or_the_ceiling=Non puoi piazzare questo blocco sul pavimento o sul soffitto - -# ./src/main/java/mods/eln/sixnode/electricasensor/ElectricalSensorDescriptor.java -Can_measure_Voltage_Power_Current=Può misurare Tensione/Potenza/Corrente -Measures_electrical_values_on_cables.=Misura i valori elettrici sui cavi. -Measures_voltage_on_cables.=Misura la tensione sui cavi. - -# ./src/main/java/mods/eln/sixnode/electricasensor/ElectricalSensorGui.java -Current=Corrente -Measured_voltage\ncorresponding\nto_0%_output=Tensione misurata\ncorrispondente\nal 0% dell'output -Measured_voltage\ncorresponding\nto_100%_output=Tensione misurata\ncorrispondente\nal 100% dell'output -Voltage=Tensione - -# ./src/main/java/mods/eln/sixnode/energymeter/EnergyMeterGui.java -Change_password=Cambia password -Counter_Mode=Modalità Contatore -Counts_the_energy_conducted_from\n\u00a74red\u00a7f_to_\u00a71blue\u00a7f.=Conta l'energia condotta da\n\\u00a74red\\u00a7f a \\u00a71blue\\u00a7f. -Energy_counter\:_%sJ=Contatore energia\: %sJ -Enter_new_energy=Digita una nuova energia -Enter_password=Digita la password -Prepay_Mode=Modalità pagamento anticipato -Reset_time_counter=Resetta contatore tempo -Set_energy_counter=Imposta contatore energia -Time_counter\:=Contatore tempo\: -Try_password=Prova la password -You_can_set_an_initial\namount_of_available_energy.\nWhen_the_counter_arrives_at_0\nthe_contact_will_be_opened.=Puoi impostare una quantità\niniziale di energia disponibile.\nQuando il contatore arriva a 0\nil contatto verrà aperto. -is_off=è spento -is_on=è acceso -value_in_kJ=valore in kJ - -# ./src/main/java/mods/eln/sixnode/groundcable/GroundCableDescriptor.java -Can_be_used_to_set_a_point_of_an\nelectrical_network_to_0V_potential.\nFor_example_to_ground_negative_battery_contacts.=Può essere usato per impostare la punta\ndi una rete elettrica a 0V di potenziale.\nPer esempio per mettere a terra i contatti negativi di una batteria. -Provides_a_zero_volt_reference.=Fornisce una referenza di 0 volt. - -# ./src/main/java/mods/eln/sixnode/hub/HubDescriptor.java -Allows_crossing_cables\non_one_single_block.=Permette l'incrocio di cavi\nin un singolo blocco. - -# ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketDescriptor.java -Angle\:_%s°_to_%s°=Angolo\: %s° fino a %s° -Spot_range\:_%s_blocks=Raggio riflettore\: %s blocchi - -# ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketGuiDraw.java -%s_is_not_in_range!=%s non è alla portata\! -Cable_slot_empty=Spazio cavo vuoto -Orientation\:_%s°=Orientamento\: %s° -Parallel=Parallelo -Powered_by_Lamp_Supply=Alimentato dall'Erogatore per Lampade -Powered_by_cable=Alimentato da cavo -Serial=Seriale -Specify_the_supply_channel=Specifica il canale dell'alimentazione - -# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyContainer.java -Electrical_cable_slot\nBase_range_is_32_blocks.\nEach_additional_cable\nincreases_range_by_one.=Spazio cavo elettrico\nIl raggio di base è 32 blocchi.\nOgni cavo aggiunto\naumenta il raggio di uno. - -# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyDescriptor.java -Supplies_all_lamps_on_the_channel.=Alimenta tutte le lampadine sul canale. - -# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyGui.java -Power_channel_name=Nome canale potenza -Wireless_channel_name=Nome canale wireless - -# ./src/main/java/mods/eln/sixnode/modbusrtu/ModbusRtuGui.java -Add=Aggiungi -Channel_name=Nome canale -Modbus_ID=ID Modbus -Modbus_RTU=Modbus RTU -Station_ID=ID Stazione -Station_name=Nome stazione -Wireless_RX=Wireless RX -Wireless_TX=Wireless TX - -# ./src/main/java/mods/eln/sixnode/powercapacitorsix/PowerCapacitorSixContainer.java -(Increases_maximum_voltage)=(Aumenta la tensione massima) - -# ./src/main/java/mods/eln/sixnode/powercapacitorsix/PowerCapacitorSixGui.java - -# ./src/main/java/mods/eln/sixnode/powerinductorsix/PowerInductorSixContainer.java - -# ./src/main/java/mods/eln/sixnode/powerinductorsix/PowerInductorSixGui.java - -# ./src/main/java/mods/eln/sixnode/powersocket/PowerSocketDescriptor.java -Supplies_any_device\nplugged_in_with_energy.=Alimenta ogni dispositivo\ninserito con energia. - -# ./src/main/java/mods/eln/sixnode/powersocket/PowerSocketGui.java -Specify_the_device_to_supply_through_this_socket.=Specifica il dispositivo da alimentare con questa presa. - -# ./src/main/java/mods/eln/sixnode/resistor/ResistorContainer.java -(Sets_resistance)=(Imposta la resistenza) -Coal_dust_slot=Spazio polvere di carbone - -# ./src/main/java/mods/eln/sixnode/thermalcable/ThermalCableDescriptor.java -High_parallel_resistance\n_\=>_Low_power_dissipation.=Alta resistenza in parallelo\n\=> Basso spreco di potenza. -Low_serial_resistance\n_\=>_High_conductivity.=Bassa resistenza seriale\n\=> Alta conducibilità. -Parallel_resistance\:_%sK_W=Resistenza in parallelo\: %sK/W -Serial_resistance\:_%sK_W=Resistenza in serie\: %sK/W - -# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorContainer.java -Cable_slot=Spazio cavo - -# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorDescriptor.java -Can_measure\:=Può misurare\: -Measures_temperature_of_cables.=Misura la temperatura dei cavi. -Measures_thermal_values_on_cables.=Misura valori termici sui cavi. -__Temperature_Power_conducted=Temperatura/Potenza condotta - -# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorGui.java -Measured_temperature\ncorresponding\nto_0%_output=Temperatura misurata\ncorrispondente\nallo 0% dell'output -Measured_temperature\ncorresponding\nto_100%_output=Temperatura misurata\ncorrispondente\nal 100% dell'output -Temperature=Temperatura - -# ./src/main/java/mods/eln/sixnode/tutorialsign/TutorialSignElement.java -No_text_associated_to_this_beacon=Nessun testo associato a questo faro - -# ./src/main/java/mods/eln/sixnode/tutorialsign/TutorialSignGui.java -Set_beacon_name=Imposta nome faro - -# ./src/main/java/mods/eln/sixnode/wirelesssignal/rx/WirelessSignalRxGui.java - -# ./src/main/java/mods/eln/transparentnode/FuelGenerator.kt -Nominal_power\:_%s_W=Potenza nominale\: %s W -Nominal_voltage\:_%s_V=Tensione nominale\: %s V -Produces_electricity_using_fuel.=Produce elettricità usando carburante. - -# ./src/main/java/mods/eln/transparentnode/LargeRheostat.kt -Nom._Resistance\:_%s=Resistenza nom. \: %s - -# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerContainer.java -Drill_slot=Spazio trapano -Mining_pipe_slot=Spazio condotto minante -Ore_scanner_slot=Spazio scanner di minerali - -# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerDescriptor.java -Excavates_on_a_small_radius.\nExtracts_ore_on_a_bigger_radius\:\n10_blocks_radius_after_10_blocks_depth.=Scava entro un piccolo raggio.\nEstrae minerali entro un raggio maggiore\:\nraggio di 10 blocchi oltre 10 blocchi di profondità. - -# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerGuiDraw.java -Chest_missing_on_the\nback_of_the_auto_miner!=Cassa mancante sul retro\ndel minatore automatico\! -Halves_speed,_triples_power_draw=Dimezza la velocità, triplica l'assorbimento di potenza -Silk_Touch_Off=Tocco di velluto disattivo -Silk_Touch_On=Tocco di velluto attivo -Silk_touch=Tocco di velluto - -# ./src/main/java/mods/eln/transparentnode/battery/BatteryContainer.java -Overheating_protection=Protezione dal surriscaldamento -Overvoltage_protection=Protezione da sovratensione - -# ./src/main/java/mods/eln/transparentnode/battery/BatteryDescriptor.java -Actual_charge\:_%s=Carica effettiva\: %s -Energy_capacity\:_%sJ=Capacità energetica\: %sJ -_charged_at_%s=carico al %s - -# ./src/main/java/mods/eln/transparentnode/battery/BatteryGuiDraw.java -Charge=Carica -Charged=Carico -Discharge=Scarica -Energy\:=Energia\: -Energy\:_%s=Energia\: %s -Life\:=Vita\: -No_charge=Nessuna carica -Power_in\:=Potenza in ingresso\: -Power_out\:=Potenza in uscita\: - -# ./src/main/java/mods/eln/transparentnode/eggincubator/EggIncubatorContainer.java -Egg_slot=Spazio uovo - -# ./src/main/java/mods/eln/transparentnode/electricalantennarx/ElectricalAntennaRxDescriptor.java -Wireless_energy_receiver.=Ricevitore di energia wireless. - -# ./src/main/java/mods/eln/transparentnode/electricalantennatx/ElectricalAntennaTxDescriptor.java -Efficiency\:_%s_up_to_%s=Efficienza\: %s fino a %s -Wireless_energy_transmitter.=Trasmettitore di energia wireless. - -# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceContainer.java -Heating_corp_slot=Spazio per il corpo riscaldante - -# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceDescriptor.java -Similar_to_a_vanilla_furnace,\nbut_heats_with_electricity.=Simile ad una fornace vanilla,\nma riscalda con l'elettricità. - -# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceGuiDraw.java -Auto_shutdown=Spegnimento automatico -Manual_shutdown=Spegnimento manuale -Set_point\:_%s°C=Imposta punto\: %s°C - -# ./src/main/java/mods/eln/transparentnode/electricalmachine/ElectricalMachineDescriptor.java -Cost=Costo - -# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceContainer.java -Combustion_chamber_slot=Spazio camera di combustione -Fuel_slot=Spazio carburante - -# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceDescriptor.java -Generates_heat_when_supplied_with_fuel.=Genera calore quando rifornito di carburante. - -# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceGuiDraw.java -Control_gauge_at_%s=Misuratore di controllo al %s -Decline_fuel=Diminuisci carburante -External_control=Controllo esterno -Internal_control=Controllo interno -Take_fuel=Prendi carburante - -# ./src/main/java/mods/eln/transparentnode/powercapacitor/PowerCapacitorContainer.java -(Increases_maximal_voltage)=(Aumenta la tensione massima) - -# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelContainer.java -Solar_tracker_slot=Spazio inseguitore solare - -# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelDescriptor.java -Can_be_geared_towards_the_sun.=Può essere orientato verso il sole. -Max._power\:_%sW=Potenza massima\: %sW -Max._voltage\:_%sV=Tensione massima\: %sV -Produces_power_from_solar_radiation.=Produce potenza dalla radiazione solare. - -# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPannelGuiDraw.java -It_is_night=È notte -Solar_panel_angle\:_%s°=Angolo pannello solare\: %s° -Sun_angle\:_%s°=Angolo sole\: %s° - -# ./src/main/java/mods/eln/transparentnode/teleporter/TeleporterGui.java -Destination_transporter=Trasportatore di destinazione -Power_consumption\:=Consumo di potenza\: -Power_consumption\:_%sW=Consumo di potenza\: %sW -Required_energy\:_%sJ=Energia richiesta\: %sJ -Start=Inizia -Transporter_name=Nome trasportatore - -# ./src/main/java/mods/eln/transparentnode/thermaldissipatoractive/ThermalDissipatorActiveDescriptor.java -Fan_cooling_power\:_%sW=Potenza ventola di raffreddamento\: %sW -Fan_power_consumption\:_%sW=Consumo di potenza della ventola\: %sW -Fan_voltage\:_%sV=Tensione ventola\: %sV - -# ./src/main/java/mods/eln/transparentnode/transformer/TransformerDescriptor.java -The_voltage_ratio_is_proportional\nto_the_cable_stacks_count_ratio.=Il rapporto della tensione è proporzionale\nal rapporto della somma delle pile di cavi. -Transforms_an_input_voltage_to\nan_output_voltage.=Trasforma una tensione in ingresso\nin una tensione in uscita. - -# ./src/main/java/mods/eln/transparentnode/turbine/TurbineDescriptor.java -Generates_electricity_using_heat.=Genera elettricità usando calore. -Temperature_difference\:_%s°C=Differenza di temperatura\: %s°C - -# ./src/main/java/mods/eln/transparentnode/turret/TurretDescriptor.java -CAUTION\:_Cables_can_get_quite_hot!=ATTENZIONE\: I cavi possono diventare piuttosto caldi\! -Laser_charge_power\:_%sW...%skW=Potenza della carica del laser\: %sW...%skW -Scans_for_entities_and_shoots_if_the\nentity_matches_the_configurable_filter_criteria.=Cerca entità e spara se l'entità\ncorrisponde ai criteri del filtro configurabile. -Standby_power\:_%sW=Consumo in stand-by\: %sW - -# ./src/main/java/mods/eln/transparentnode/turret/TurretGui.java -Attack\:=Attacca\: -Do_not_attack\:=Non attacca\: -Recharge_power\:=Potenza di ricarica\: - -# ./src/main/java/mods/eln/transparentnode/waterturbine/WaterTurbineDescriptor.java -Generates_energy_using_water_stream.=Genera energia usando un flusso d'acqua. -No_place_for_water_turbine!=Non c'è spazio per la turbina ad acqua\! - -# ./src/main/java/mods/eln/transparentnode/windturbine/WindTurbineDescriptor.java -Front\:_%s=Facciata\: %s -Generates_energy_from_wind.=Genera energia dal vento. -Left_Right\:_%s=Sinistra/Destra\: %s -Up_Down\:_%s=Su/Giù\: %s -Wind_area\:=Area del vento\: - -# ./src/main/java/mods/eln/wiki/Data.java -Energy=Energia -Light=Luce -Machine=Macchina -Ore=Minerale -Portable=Portatile -Resource=Risorsa -Signal=Segnale -Thermal=Termico -Upgrade=Aggiornamento -Utilities=Utilità -Wiring=Cablaggio - -# ./src/main/java/mods/eln/wiki/Default.java -Previous=Indietro - -# ./src/main/java/mods/eln/wiki/ItemDefault.java -Can_be_used_to_craft\:=Può essere usato per craftare\: -Cannot_be_crafted!=Non può essere craftato\! -Cost_%sJ=Costo %sJ -Created_by\:=Creato da\: -Is_not_a_crafting_material!=Non è un materiale da crafting\! -Recipe\:=Ricetta\: - -# Appearing in multiple source files -(Increases_capacity)=(Aumenta la capacità) -(Increases_inductance)=(Aumenta l'induttanza) -Actual\:_%s°C=Attuale\: %s°C -Biggest=Il più grande -Booster_slot=Spazio booster -Can_create\:=Può creare\: -Capacity\:_%sF=Capacità\: %sF -Charge_power\:_%sW=Potenza di carica\: %sW -Connected=Connesso -Cooling_power\:_%sW=Potenza di raffreddamento\: %sW -Copper_cable_slot=Spazio cavo di rame -Dielectric_slot=Spazio dielettrico -Discharge_power\:_%sW=Potenza di scarica\: %sW -Electrical_cable_slot=Spazio cavo elettrico -Entity_filter_slot=Spazio filtro entità -Ferromagnetic_core_slot=Spazio nucleo ferromagnetico -Has_a_signal_output.=Ha un segnale in uscita. -Inductance\:_%sH=Induttanza\: %sH -Internal_resistance\:_%sΩ=Resistenza interna\: %sΩ -Is_off=È spento -Is_on=È acceso -Max._temperature\:_%s°C=Temperatura max.\: %s°C -Measured_value\ncorresponding\nto_0%_output=Valore misurato\ncorrispondente\nallo 0% dell'output -Measured_value\ncorresponding\nto_100%_output=Valore misurato\ncorrispondente\nal 100% dell'output -Nominal\:=Nominale\: -Nominal_power\:_%sW=Potenza nominale\: %sW -Nominal_usage\:=Uso nominale\: -Nominal_voltage\:_%sV=Tensione nominale\: %sV -Not_connected=Non connesso -Not_enough_space_for_this_block=Non c'è abbastanza spazio per questo blocco -Power=Potenza -Power\:_%sW=Potenza\: %sW -Range\:_%s_blocks=Raggio\: %s blocchi -Redstone_slot=Spazio pietrarossa -Regulator_slot=Spazio regolatore -Reset=Resetta -Resistance\:_%sΩ=Resistenza\: %sΩ -Smallest=Il più piccolo -Specify_the_channel=Specifica il canale -Stored_energy\:_%sJ_(%s)=Energia accumulata\: %sJ (%s) -Temperature\:_%s°C=Temperatura\: %s°C -Temperature_gauge=Misuratore temperatura -Thermal_isolator_slot=Spazio per l'isolatore termico -Toggle=Inverti lo stato -Toggle_switch=Inverti interruttore -Toggles_the_output_each_time\nan_emitter's_value_rises.\nUseful_to_allow_multiple_buttons\nto_control_the_same_light.=Inverte l'output ogni volta che\nun valore d'emettitore aumenta.\nUtile per permettere a più bottoni\ndi controllare la stessa luce. -Used_to_cool_down_turbines.=Usato per raffreddare le turbine. -Uses_the_biggest\nvalue_on_the_channel.=Usa il valore più\ngrande sul canale. -Uses_the_smallest\nvalue_on_the_channel.=Usa il valore più\npiccolo sul canale. -Validate=Convalida -Voltage\:_%sV=Tensione\: %sV -You_can't_place_this_block_at_this_side=Non puoi piazzare questo blocco su questo lato +eln:# +eln: +eln:# ./src/main/java/mods/eln/Achievements.java +eln:Electrical_Age_[WIP]=Età Elettrica [WIP] +eln:achievement.craft_50v_macerator=Novizio della frantumazione +eln:achievement.craft_50v_macerator.desc=Crafta un Maceratore 50V +eln:achievement.open_guide=Potenza Wiki +eln:achievement.open_guide.desc=Apri la guida wiki +eln: +eln:# ./src/main/java/mods/eln/Eln.java +eln:10A_Diode.name=Diodo 10A +eln:200V_Active_Thermal_Dissipator.name=Dissipatore Termico Attivo 200V +eln:200V_Battery_Charger.name=Caricabatterie 200V +eln:200V_Compressor.name=Compressore 200V +eln:200V_Condensator.name=Condensatore 200V +eln:200V_Copper_Heating_Corp.name=Corpo Riscaldante in Rame 200V +eln:200V_Economic_Light_Bulb.name=Lampadina Economica 200V +eln:200V_Farming_Lamp.name=Lampada Da Coltivazione 200V +eln:200V_Fuel_Generator.name=Generatore a Carburante 200V +eln:200V_Incandescent_Light_Bulb.name=Lampadina ad Incandescenza 200V +eln:200V_Iron_Heating_Corp.name=Corpo Riscaldante in Ferro 200V +eln:200V_LED_Bulb.name=Lampadina LED 200V +eln:200V_Macerator.name=Maceratore 200V +eln:200V_Magnetizer.name=Magnetizzatore 200V +eln:200V_Plate_Machine.name=Macchina per Piastre 200V +eln:200V_Power_Socket.name=Presa Elettrica 200V +eln:200V_Tungsten_Heating_Corp.name=Corpo Riscaldante in Tungsteno 200V +eln:200V_Turbine.name=Turbina 200V +eln:25A_Diode.name=Diodo 25A +eln:50V_Battery_Charger.name=Caricabatterie 50V +eln:50V_Carbon_Incandescent_Light_Bulb.name=Lampadina ad Incandescenza al Carbonio 50V +eln:50V_Compressor.name=Compressore 50V +eln:50V_Condensator.name=Condensatore 50V +eln:50V_Copper_Heating_Corp.name=Corpo Riscaldante in Rame 50V +eln:50V_Economic_Light_Bulb.name=Lampadina Economica 50V +eln:50V_Egg_Incubator.name=Incubatrice per Uova 50V +eln:50V_Farming_Lamp.name=Lampada Da Coltivazione 50V +eln:50V_Fuel_Generator.name=Generatore a Carburante 50V +eln:50V_Incandescent_Light_Bulb.name=Lampadina ad Incandescenza 50V +eln:50V_Iron_Heating_Corp.name=Corpo Riscaldante in Ferro 50V +eln:50V_LED_Bulb.name=Lampadina LED 50V +eln:50V_Macerator.name=Maceratore 50V +eln:50V_Magnetizer.name=Magnetizzatore 50V +eln:50V_Plate_Machine.name=Macchina per Piastre 50V +eln:50V_Power_Socket.name=Presa Elettrica 50V +eln:50V_Tungsten_Heating_Corp.name=Corpo Riscaldante in Tungsteno 50V +eln:50V_Turbine.name=Turbina 50V +eln:800V_Defence_Turret.name=Torretta Difensiva 800V +eln:AND_Chip.name=Chip AND +eln:Advanced_Chip.name=Chip Avanzato +eln:Advanced_Electrical_Motor.name=Motore Elettrico Avanzato +eln:Advanced_Energy_Meter.name=Contatore d'Energia Avanzato +eln:Advanced_Machine_Block.name=Blocco Macchina Avanzato +eln:Advanced_Magnet.name=Magnete Avanzato +eln:AllMeter.name=Multimetro +eln:Alloy_Dust.name=Polvere di Lega +eln:Alloy_Ingot.name=Lingotto di Lega +eln:Alloy_Plate.name=Piastra di Lega +eln:Analog_Watch.name=Orologio Analogico +eln:Analog_vuMeter.name=Misuratore Analogico +eln:Analogic_Regulator.name=Regolatore Analogico +eln:Animal_Filter.name=Filtro per Animali +eln:Auto_Miner.name=Minatore Automatico +eln:Average_Electrical_Drill.name=Trapano Elettrico Medio +eln:Average_Ferromagnetic_Core.name=Nucleo Ferromagnetico Medio +eln:Basic_Magnet.name=Magnete Basico +eln:Black_Brush.name=Pennello Nero +eln:Blue_Brush.name=Pennello Blu +eln:Brown_Brush.name=Pennello Marrone +eln:Capacity_Oriented_Battery.name=Batteria Orientata alla Capacità +eln:Cheap_Chip.name=Chip Economico +eln:Cheap_Electrical_Drill.name=Trapano Elettrico Economico +eln:Cheap_Ferromagnetic_Core.name=Nucleo Ferromagnentico Economico +eln:Cinnabar_Dust.name=Polvere di Cinabro +eln:Cinnabar_Ore.name=Cinabro Grezzo +eln:Coal_Dust.name=Polvere di Carbone +eln:Coal_Plate.name=Piastra di Carbone +eln:Combustion_Chamber.name=Camera di Combustione +eln:Copper_Cable.name=Cavo di Rame +eln:Copper_Dust.name=Polvere di Rame +eln:Copper_Ingot.name=Lingotto di Rame +eln:Copper_Ore.name=Rame Grezzo +eln:Copper_Plate.name=Piastra di Rame +eln:Copper_Thermal_Cable.name=Cavo Termico di Rame +eln:Cost_Oriented_Battery.name=Batteria Orientata al Costo +eln:Current_Oriented_Battery.name=Batteria Orientata alla Corrente +eln:Cyan_Brush.name=Pennello Ciano +eln:D_Flip_Flop_Chip.name=Chip D Flip Flop +eln:Data_Logger.name=Registratore di Dati +eln:Data_Logger_Print.name=Traccia Registratore di Dati +eln:Dielectric.name=Dielettrico +eln:Digital_Watch.name=Orologio Digitale +eln:Electrical_Anemometer_Sensor.name=Sensore Anemometrico Elettrico +eln:Electrical_Breaker.name=Interruttore Elettrico +eln:Electrical_Daylight_Sensor.name=Sensore Elettrico di Luce Diurna +eln:Electrical_Entity_Sensor.name=Sensore Elettrico di Entità +eln:Electrical_Fire_Detector.name=Rivelatore Elettrico di Fuoco +eln:Electrical_Furnace.name=Fornace Elettrica +eln:Electrical_Light_Sensor.name=Sensore Elettrico di Luce +eln:Electrical_Motor.name=Motore Elettrico +eln:Electrical_Probe.name=Sonda Elettrica +eln:Electrical_Probe_Chip.name=Chip per Sonda Elettrica +eln:Electrical_Source.name=Fonte Elettrica +eln:Electrical_Timer.name=Timer Elettrico +eln:Electrical_Weather_Sensor.name=Sensore Elettrico Meteo +eln:Electrical_age_wrench,\nCan_be_used_to_turn\nsmall_wall_blocks=Chiave inglese,\npuò essere usata per girare\npiccoli blocchi da parete +eln:Energy_Meter.name=Contatore di Energia +eln:Experimental_Transporter.name=Trasportatore Sperimentale +eln:Fast_Electrical_Drill.name=Trapano Elettrico Veloce +eln:Ferrite_Ingot.name=Lingotto di Ferrite +eln:Flat_Lamp_Socket.name=Portalampada Piatto +eln:Fluorescent_Lamp_Socket.name=Portalampada per Lampadina Fluorescente +eln:Generator.name=Generatore +eln:Gold_Dust.name=Polvere di Oro +eln:Gold_Plate.name=Piastra di oro +eln:Gray_Brush.name=Pennello Grigio +eln:Green_Brush.name=Pennello Verde +eln:Ground_Cable.name=Cavo di Messa a Terra +eln:High_Power_Receiver_Antenna.name=Antenna Ricevente ad Alta Potenza +eln:High_Power_Transmitter_Antenna.name=Antenna Trasmettente ad Alta Potenza +eln:High_Voltage_Cable.name=Cavo ad Alta Tensione +eln:High_Voltage_Relay.name=Relè ad Alta Tensione +eln:High_Voltage_Switch.name=Interruttore ad Alta Tensione +eln:Hub.name=Hub +eln:Industrial_Data_Logger.name=Registratore di Dati Industriale +eln:Iron_Cable.name=Cavo di Ferro +eln:Iron_Dust.name=Polvere di Ferro +eln:Iron_Plate.name=Piastra di Ferro +eln:JK_Flip_Flop_Chip.name=Chip JK Flip Flop +eln:LED_vuMeter.name=Vu Meter LED +eln:Lamp_Socket_A.name=Portalampada A +eln:Lamp_Socket_B_Projector.name=Portalampada Proiettore B +eln:Lamp_Supply.name=Erogatore per Lampade +eln:Large_Rheostat.name=Reostato Grande +eln:Lead_Dust.name=Polvere di Piombo +eln:Lead_Ingot.name=Lingotto di Piombo +eln:Lead_Ore.name=Piombo Grezzo +eln:Lead_Plate.name=Piastra di Piombo +eln:Life_Oriented_Battery.name=Batteria orientata alla Durata +eln:Light_Blue_Brush.name=Pennello Azzurro +eln:Lime_Brush.name=Pennello Lime +eln:Long_Suspended_Lamp_Socket.name=Portalampada Lungo Sospeso +eln:Low_Power_Receiver_Antenna.name=Antenna Ricevente a Bassa Potenza +eln:Low_Power_Transmitter_Antenna.name=Antenna Trasmittente a Bassa Potenza +eln:Low_Voltage_Cable.name=Cavo a Bassa Tensione +eln:Low_Voltage_Relay.name=Relè a Bassa Tensione +eln:Low_Voltage_Switch.name=Interruttore a Bassa Tensione +eln:Machine_Block.name=Blocco Macchina +eln:Machine_Booster.name=Booster Macchina +eln:Magenta_Brush.name=Pennello Magenta +eln:Medium_Power_Receiver_Antenna.name=Antenna Ricevente a Media Potenza +eln:Medium_Power_Transmitter_Antenna.name=Antenna Trasmittente a Media Potenza +eln:Medium_Voltage_Cable.name=Cavo a Media Tensione +eln:Medium_Voltage_Relay.name=Relè a Media Tensione +eln:Medium_Voltage_Switch.name=Interruttore a Media Tensione +eln:Mercury.name=Mercurio +eln:Mining_Pipe.name=Condotto Minante +eln:Modbus_RTU.name=Modbus RTU +eln:Modern_Data_Logger.name=Registratore di Dati Moderno +eln:Monster_Filter.name=Filtro Mostri +eln:MultiMeter.name=Multimetro +eln:NAND_Chip.name=Chip NAND +eln:NOR_Chip.name=Chip NOR +eln:NOT_Chip.name=Chip NOT +eln:Nuclear_Alarm.name=Allarme Nucleare +eln:OR_Chip.name=Chip OR +eln:On_OFF_Regulator_10_Percent.name=Regolatore on/off 10% +eln:On_OFF_Regulator_1_Percent.name=Regolatore on/off 1% +eln:Optimal_Ferromagnetic_Core.name=Nucleo Ferromagnetico Ottimale +eln:Orange_Brush.name=Pennello Arancione +eln:Ore_Scanner.name=Scanner di Minerali +eln:Oscillator_Chip.name=Chip Oscillatore +eln:Overheating_Protection.name=Protezione dal Surriscaldamento +eln:Overvoltage_Protection.name=Protezione da Sovratensione +eln:PAL_Chip.name=Chip PAL +eln:Pink_Brush.name=Pennello Rosa +eln:Player_Filter.name=Filtro Giocatori +eln:Portable_Battery.name=Batteria Portatile +eln:Portable_Battery_Pack.name=Pacco Batterie Portatile +eln:Portable_Condensator.name=Condensatore Portatile +eln:Portable_Condensator_Pack.name=Pacco Condensatori Portatile +eln:Portable_Electrical_Axe.name=Ascia Elettrica Portatile +eln:Portable_Electrical_Mining_Drill.name=Trapano Elettrico Portatile da Miniera +eln:Power_Capacitor.name=Condensatore di Potenza +eln:Power_Inductor.name=Induttore di Potenza +eln:Power_Resistor.name=Resistore di Potenza +eln:Power_capacitor.name=Condensatore di potenza +eln:Power_inductor.name=Induttore di potenza +eln:Purple_Brush.name=Pennello Viola +eln:Red_Brush.name=Pennello Rosso +eln:Redstone-to-Voltage_Converter.name=Convertitore Pietrarossa-Tensione +eln:Rheostat.name=Reostato +eln:Robust_Lamp_Socket.name=Portalampada Robusto +eln:Rubber.name=Gomma +eln:Schmitt_Trigger_Chip.name=Chip Trigger di Schmitt +eln:Sconce_Lamp_Socket.name=Portalampada da parete +eln:Signal_20H_inductor.name=Induttore di Segnale 20H +eln:Signal_Antenna.name=Antenna Segnale +eln:Signal_Button.name=Bottone Segnale +eln:Signal_Cable.name=Cavo Segnale +eln:Signal_Diode.name=Diodo Segnale +eln:Signal_Processor.name=Processore di Segnale +eln:Signal_Relay.name=Relè di Segnale +eln:Signal_Source.name=Fonte di Segnale +eln:Signal_Switch.name=Interruttore di Segnale +eln:Signal_Switch_with_LED.name=Interruttore di Segnale con LED +eln:Signal_Trimmer.name=Regolatore di Segnale +eln:Silicon_Dust.name=Polvere di Silicio +eln:Silicon_Ingot.name=Lingotto di Silicio +eln:Silicon_Plate.name=Piastra di Silicio +eln:Silver_Brush.name=Pennello Argento +eln:Simple_Lamp_Socket.name=Portalampada Semplice +eln:Single-use_Battery.name=Batteria monouso +eln:Small_200V_Copper_Heating_Corp.name=Corpo Riscaldante Piccolo in Rame 200V +eln:Small_200V_Iron_Heating_Corp.name=Corpo Riscaldante Piccolo in Ferro 200V +eln:Small_200V_Tungsten_Heating_Corp.name=Corpo Riscaldante Piccolo in Tungsteno 200V +eln:Small_50V_Carbon_Incandescent_Light_Bulb.name=Lampadina ad Incandescenza al Carbonio Piccola 50V +eln:Small_50V_Copper_Heating_Corp.name=Corpo Riscaldante Piccolo in Rame 50V +eln:Small_50V_Economic_Light_Bulb.name=Lampadina Economica Piccola 50V +eln:Small_50V_Incandescent_Light_Bulb.name=Lampadina ad Incandescenza Piccola 50V +eln:Small_50V_Iron_Heating_Corp.name=Corpo Riscaldante Piccolo in Ferro 50V +eln:Small_50V_Tungsten_Heating_Corp.name=Corpo Riscaldante Piccolo in Tungsteno 50V +eln:Small_Active_Thermal_Dissipator.name=Dissipatore Termico Attivo Piccolo +eln:Small_Flashlight.name=Torcia Piccola +eln:Small_Passive_Thermal_Dissipator.name=Dissipatore Termico Passivo Piccolo +eln:Small_Rotating_Solar_Panel.name=Pannello Solare Rotante Piccolo +eln:Small_Solar_Panel.name=Pannello Solare Piccolo +eln:Solar_Tracker.name=Inseguitore Solare +eln:Standard_Alarm.name=Allarme Standard +eln:Steam_Turbine.name=Turbina a Vapore +eln:Stone_Heat_Furnace.name=Fornace di Pietra per Calore +eln:Street_Light.name=Lampione +eln:Suspended_Lamp_Socket.name=Portalampada Sospeso +eln:Temperature_Probe.name=Sonda Temperatura +eln:Thermal_Probe.name=Sonda Termica +eln:Thermal_Probe_Chip.name=Chip per Sonda Termica +eln:Thermistor.name=Termistore +eln:ThermoMeter.name=Termometro +eln:Transformer.name=Trasformatore +eln:Tree_Resin.name=Resina d'Albero +eln:Tree_Resin_Collector.name=Collettore di Resina d'Albero +eln:Tungsten_Cable.name=Cavo in Tungsteno +eln:Tungsten_Dust.name=Polvere di Tungsteno +eln:Tungsten_Ingot.name=Lingotto di Tungsteno +eln:Tungsten_Ore.name=Tungsteno Grezzo +eln:Tutorial_Sign.name=Cartello Tutorial +eln:Very_High_Voltage_Cable.name=Cavo a Tensione Molto Alta +eln:Very_High_Voltage_Relay.name=Relè a Tensione Molto Alta +eln:Very_High_Voltage_Switch.name=Interruttore a Tensione Molto Alta +eln:Voltage-to-Redstone_Converter.name=Convertitore Tensione-Pietrarossa +eln:Voltage_Oriented_Battery.name=Batteria Orientata alla Tensione +eln:Voltage_Probe.name=Sonda di Tensione +eln:Water_Turbine.name=Turbina ad Acqua +eln:Weak_50V_Battery_Charger.name=Caricabatterie Debole 50V +eln:White_Brush.name=Pennello Bianco +eln:Wind_Turbine.name=Turbina a Vento +eln:Wireless_Analyser.name=Analizzatore Wireless +eln:Wireless_Button.name=Bottone Wireless +eln:Wireless_Signal_Receiver.name=Ricevitore di Segnale Wireless +eln:Wireless_Signal_Repeater.name=Ripetitore di Segnale Wireless +eln:Wireless_Signal_Transmitter.name=Trasmettitore di Segnale Wireless +eln:Wireless_Switch.name=Interruttore Wireless +eln:Wrench.name=Chiave Inglese +eln:X-Ray_Scanner.name=Scanner a Raggi X +eln:XNOR_Chip.name=Chip XNOR +eln:XOR_Chip.name=Chip XOR +eln:Yellow_Brush.name=Pennello Giallo +eln:entity.EAReplicator.name=Replicatore +eln:item.Copper Axe.name\=Ascia di Rame +eln:item.Copper Axe.name\=Ascia di Rame +eln:item.Copper Axe.name\=Ascia di Rame +eln:item.Copper Axe.name\=Ascia di Rame +eln:item.Copper Axe.name\=Ascia di Rame +eln:item.Copper Axe.name\=Ascia di Rame +eln:item.Copper Axe.name\=Ascia di Rame +eln:item.Copper Axe.name\=Ascia di Rame +eln:item.Copper Axe.name\=Ascia di Rame +eln:item.E-Coal Boots.name\=Stivali E-Carbone +eln:item.E-Coal Boots.name\=Stivali E-Carbone +eln:item.E-Coal Boots.name\=Stivali E-Carbone +eln:item.E-Coal Boots.name\=Stivali E-Carbone +eln:itemGroup.Eln=Età Elettrica +eln:mod.meta.desc=Elettricità nella tua base\! +eln:tile.eln.ElnProbe.name=Sonda Computer Eln +eln:tile.eln.EnergyConverterElnToOtherHVUBlock.name=Esportatore da Età Elettrica ad altra energia 800V +eln:tile.eln.EnergyConverterElnToOtherLVUBlock.name=Esportatore da Età Elettrica ad altra energia 50V +eln:tile.eln.EnergyConverterElnToOtherMVUBlock.name=Esportatore da Età Elettrica ad altra energia 200V +eln: +eln:# ./src/main/java/mods/eln/i18n/I18N.java +eln:You_have_%s_lives_left=Hai %s vite rimaste +eln: +eln:# ./src/main/java/mods/eln/item/BrushDescriptor.java +eln:Brush_is_dry=Il pennello è secco +eln:Can_paint_%s_blocks=Può colorare %s blocchi +eln: +eln:# ./src/main/java/mods/eln/item/CombustionChamber.java +eln:Upgrade_for_the_Stone_Heat_Furnace.=Aggiornamento per la Fornace di Pietra per Calore +eln: +eln:# ./src/main/java/mods/eln/item/ElectricalDrillDescriptor.java +eln:Energy_per_operation\:_%sJ=Energia per operazione\: %sJ +eln:Time_per_operation\:_%ss=Tempo per operazione\: %ss +eln: +eln:# ./src/main/java/mods/eln/item/FerromagneticCoreDescriptor.java +eln:Cable_loss_factor\:_%s=Fattore di perdita del cavo\: %s +eln: +eln:# ./src/main/java/mods/eln/item/HeatingCorpElement.java +eln: +eln:# ./src/main/java/mods/eln/item/LampDescriptor.java +eln:Bad=Cattivo +eln:Condition\:=Condizione\: +eln:End_of_life=Fine della vita +eln:Good=Buono +eln:New=Nuovo +eln:Nominal_lifetime\:_%sh=Durata di vita nominale\: %sh +eln:Technology\:_%s=Tecnologia\: %s +eln:Used=Usato +eln: +eln:# ./src/main/java/mods/eln/item/LampSlot.java +eln:Lamp_slot=Spazio lampadina +eln: +eln:# ./src/main/java/mods/eln/item/OverHeatingProtectionDescriptor.java +eln:Useful_to_prevent_overheating\nof_Batteries=Utile per prevenire surriscaldamenti\ndelle Batterie +eln: +eln:# ./src/main/java/mods/eln/item/OverVoltageProtectionDescriptor.java +eln:Useful_to_prevent_over-voltage\nof_Batteries=Utile per prevenire sovratensioni\ndelle Batterie +eln: +eln:# ./src/main/java/mods/eln/item/SolarTrackerDescriptor.java +eln:Solar_panel_upgrade=Aggiornamento pannello solare +eln: +eln:# ./src/main/java/mods/eln/item/electricalitem/BatteryItem.java +eln: +eln:# ./src/main/java/mods/eln/item/electricalitem/ElectricalLampItem.java +eln:Off=Spento +eln:On=Acceso +eln:State\:=Stato\: +eln:Stored_Energy\:_%sJ_(%s)=Energia accumulata\: %sJ (%s) +eln: +eln:# ./src/main/java/mods/eln/item/regulator/RegulatorSlot.java +eln: +eln:# ./src/main/java/mods/eln/misc/UtilsClient.java +eln:Hold_shift=Tieni premuto shift +eln: +eln:# ./src/main/java/mods/eln/misc/Version.java +eln:mod.name=Età Elettrica +eln: +eln:# ./src/main/java/mods/eln/node/six/SixNodeDescriptor.java +eln: +eln:# ./src/main/java/mods/eln/simplenode/energyconverter/EnergyConverterElnToOtherGui.java +eln:Input_power_is_limited_to_%sW=Potenza in entrata limitata a %sW +eln: +eln:# ./src/main/java/mods/eln/sixnode/LogicGate.kt +eln:_O\:_= O\: +eln: +eln:# ./src/main/java/mods/eln/sixnode/TreeResinCollector/TreeResinCollectorDescriptor.java +eln:Produces_Tree_Resin_over\ntime_when_put_on_a_tree.=Produce Resina d'Albero man\nmano quando posto su un albero. +eln:This_block_can_only_be_placed_on_the_side_of_a_tree!=Questo blocco può essere piazzato solo sul tronco di un albero\! +eln: +eln:# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerContainer.java +eln:Battery_slot=Spazio batteria +eln: +eln:# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerDescriptor.java +eln:Can_be_used_to_recharge\nelectrical_items_like\:\nFlash_Light,_X-Ray_scanner\nand_Portable_Battery_...=Può essere usato per ricaricare\noggetti elettrici come\:\nTorcia Elettrica, Scanner a Raggi X\ne Batteria Portatile ... +eln: +eln:# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerGui.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/diode/DiodeDescriptor.java +eln:Electrical_current_can_only\nflow_through_the_diode\nfrom_anode_to_cathode=La corrente elettrica può\ncircolare attraverso il diodo\nsolo dall'anodo al catodo +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalalarm/ElectricalAlarmDescriptor.java +eln:= +eln:Emits_an_acoustic_alarm_if\nthe_input_signal_is_high=Emette un allarme acustico se\nil segnale in ingresso è alto +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalalarm/ElectricalAlarmGui.java +eln:Sound_is_muted=Il suono è mutato +eln:Sound_is_not_muted=Il suono non è mutato +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerContainer.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerDescriptor.java +eln:Protects_electrical_components\nOpens_contact_if\:\n__-_Voltage_exceeds_a_certain_level\n-_Current_exceeds_the_cable_limit=Protegge componenti elettriche\nApre il contatto se\:\n- La tensione supera un certo livello\n- La corrente supera il limite del cavo +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerGui.java +eln:Maximum_voltage_before_cutting_off=Tensione massima prima di staccare +eln:Minimum_voltage_before_cutting_off=Tensione minima prima di staccare +eln:Switch_is_off=L'interruttore è spento +eln:Switch_is_on=L'interruttore è acceso +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalcable/ElectricalCableDescriptor.java +eln:A_signal_is_electrical_information\nwhich_must_be_between_0V_and_%sV=Un segnale è un'informazione elettrica\nche deve essere tra 0V e %sV +eln:Cable_is_adapted_to_conduct\nelectrical_signals.=Il cavo è adattato per condurre\nsegnali elettrici. +eln:Current\:_%sA=Corrente\: %sA +eln:Not_adapted_to_transport_power.=Non adattato a trasportare potenza. +eln:Save_usage\:=Risparmia uso\: +eln:Serial_resistance\:_%sΩ=Resistenza in serie\: %sΩ +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerDescriptor.java +eln:It_can_store_up_to_256_points.=Può contenere fino a 256 punti. +eln:Measures_the_voltage_of_an\nelectrical_signal_and_plots\nthe_data_in_real_time.=Misura la tensione di un\nsegnale elettrico e traccia\ni dati in tempo reale. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerGui.java +eln:Back_to_display=Ritorna al display +eln:Configuration=Configurazione +eln:Current_[A]=Corrente [A] +eln:Energy_[J]=Energia [J] +eln:Percent_[-]%=Percentuale [-]% +eln:Power_[W]=Potenza [W] +eln:Print=Stampa +eln:Sampling_period=Periodo di campionamento +eln:Temp._[*C]=Temp. [*C] +eln:Voltage_[V]=Tensione [V] +eln:Y-axis_max=Massimo asse Y +eln:Y-axis_min=Minimo asse Y +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorContainer.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorDescriptor.java +eln:Output_voltage_increases\nif_entities_are_moving_around.=La tensione in uscita aumenta\nse delle entità si muovono intorno. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalfiredetector/ElectricalFireDetectorDescriptor.java +eln:Output_voltage_increases\nif_a_fire_has_been_detected.=La tensione in uscita aumenta\nse un fuoco viene rilevato. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceDescriptor.java +eln:Provides_configurable_signal\nvoltage.=Fornisce un segnale di tensione\nconfigurabile. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceGui.java +eln:Output_at_%s=Output al %s +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricallightsensor/ElectricalLightSensorDescriptor.java +eln:0V_at_night,_%sV_at_noon.=0V di notte, %sV a mezzogiorno. +eln:Provides_an_electrical_voltage\nin_the_presence_of_light.=Fornisce una tensione elettrica\nin presenza di luce. +eln:Provides_an_electrical_voltage\nwhich_is_proportional_to\nthe_intensity_of_daylight.=Fornisce una tensione elettrica\nproporzionale all'intensità\ndella luce del giorno. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathContainer.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathDescriptor.java +eln:Applicable_boolean_operators\:=Operatori booleani applicabili\: +eln:Applicable_functions\:=Funzioni applicabili\: +eln:Applicable_mathematical_operators\:=Operatori matematici applicabili\: +eln:Calculates_an_output_signal_from\n3_inputs_(A,_B,_C)_using_an_equation.=Calcola un segnale in uscita da\n3 in ingresso(A, B, C) usando una\nequazione. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathGui.java +eln:%s_Redstone(s)_required=%s Pietrarossa richiesta/e +eln:Equation_required!=Equazione richiesta\! +eln:Inputs_are=Gli input sono +eln:Invalid_equation!=Equazione non valida\! +eln:Output_voltage_formula=Formula della tensione in uscita +eln:Waiting_for_completion...=Aspettando il completamento... +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalredstoneinput/ElectricalRedstoneInputDescriptor.java +eln:Converts_Redstone_signal\nto_an_electrical_voltage.=Converte segnale Pietrarossa\nin tensione elettrica. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalredstoneoutput/ElectricalRedstoneOutputDescriptor.java +eln:Converts_electrical_voltage\ninto_a_Redstone_signal.=Converte tensione elettrica\nin un segnale Pietrarossa. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalrelay/ElectricalRelayDescriptor.java +eln:A_relay_is_an_electrical\ncontact_that_conducts_electric\ncurrent_or_not,_depending\nthe_actual_input_signal_voltage.=Un relè è un contatto\nelettrico che conduce corrente\nelettrica a seconda della\ntensione del segnale in entrata. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalrelay/ElectricalRelayGui.java +eln:Normally_closed=Normalmente chiuso +eln:Normally_open=Normalmente aperto +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalsource/ElectricalSourceDescriptor.java +eln:Creative_block.=Blocco modalità creativa. +eln:Provides_an_ideal_voltage_source\nwithout_energy_or_power_limitation.=Fornisce una fonte di tensione ideale\nsenza limite di energia o potenza. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalsource/ElectricalSourceGui.java +eln:Output_voltage=Tensione in uscita +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalswitch/ElectricalSwitchDescriptor.java +eln:Can_break_an_electrical_circuit\ninterrupting_the_current.=Può rompere un circuito elettrico\ninterrompendo la corrente. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricaltimeout/ElectricalTimeoutDescriptor.java +eln:Upon_application_of_a_high_signal,\nthe_timer_maintains_the_output_high_for\na_configurable_interval._Can_be_re-triggered.=Fino all'applicazione di un segnale alto,\nil timer mantiene l'output alto per un\nintervallo configurabile. Può essere re-innescato. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricaltimeout/ElectricalTimeoutGui.java +eln:Set=Imposta +eln:The_time_interval_the\noutput_is_kept_high.=L'intervallo di tempo in cui\nl'output è mantenuto alto. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalvumeter/ElectricalVuMeterDescriptor.java +eln:Displays_the_value_of_a_signal.=Mostra il valore di un segnale. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalwatch/ElectricalWatchContainer.java +eln:Portable_battery_slot=Spazio batteria portatile +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalweathersensor/ElectricalWeatherSensorDescriptor.java +eln:Clear\:_%sV=Cielo terso\: %sV +eln:Provides_an_electrical_signal\ndepending_the_actual_weather.=Fornisce un segnale elettrico\na seconda del tempo atmosferico. +eln:Rain\:_%sV=Pioggia\: %sV +eln:Storm\:_%sV=Tempesta\: %sV +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalwindsensor/ElectricalWindSensorDescriptor.java +eln:Maximum_wind_speed_is_%sm_s=La massima velocità del vento è %sm/s +eln:Provides_an_electrical_signal\ndependant_on_wind_speed.=Fornisce un segnale elettrico\nsecondo la velocità del vento. +eln:You_can't_place_this_block_on_the_floor_or_the_ceiling=Non puoi piazzare questo blocco sul pavimento o sul soffitto +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricasensor/ElectricalSensorDescriptor.java +eln:Can_measure_Voltage_Power_Current=Può misurare Tensione/Potenza/Corrente +eln:Measures_electrical_values_on_cables.=Misura i valori elettrici sui cavi. +eln:Measures_voltage_on_cables.=Misura la tensione sui cavi. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricasensor/ElectricalSensorGui.java +eln:Current=Corrente +eln:Measured_voltage\ncorresponding\nto_0%_output=Tensione misurata\ncorrispondente\nal 0% dell'output +eln:Measured_voltage\ncorresponding\nto_100%_output=Tensione misurata\ncorrispondente\nal 100% dell'output +eln:Voltage=Tensione +eln: +eln:# ./src/main/java/mods/eln/sixnode/energymeter/EnergyMeterGui.java +eln:Change_password=Cambia password +eln:Counter_Mode=Modalità Contatore +eln:Counts_the_energy_conducted_from\n\u00a74red\u00a7f_to_\u00a71blue\u00a7f.=Conta l'energia condotta da\n\\u00a74red\\u00a7f a \\u00a71blue\\u00a7f. +eln:Energy_counter\:_%sJ=Contatore energia\: %sJ +eln:Enter_new_energy=Digita una nuova energia +eln:Enter_password=Digita la password +eln:Prepay_Mode=Modalità pagamento anticipato +eln:Reset_time_counter=Resetta contatore tempo +eln:Set_energy_counter=Imposta contatore energia +eln:Time_counter\:=Contatore tempo\: +eln:Try_password=Prova la password +eln:You_can_set_an_initial\namount_of_available_energy.\nWhen_the_counter_arrives_at_0\nthe_contact_will_be_opened.=Puoi impostare una quantità\niniziale di energia disponibile.\nQuando il contatore arriva a 0\nil contatto verrà aperto. +eln:is_off=è spento +eln:is_on=è acceso +eln:value_in_kJ=valore in kJ +eln: +eln:# ./src/main/java/mods/eln/sixnode/groundcable/GroundCableDescriptor.java +eln:Can_be_used_to_set_a_point_of_an\nelectrical_network_to_0V_potential.\nFor_example_to_ground_negative_battery_contacts.=Può essere usato per impostare la punta\ndi una rete elettrica a 0V di potenziale.\nPer esempio per mettere a terra i contatti negativi di una batteria. +eln:Provides_a_zero_volt_reference.=Fornisce una referenza di 0 volt. +eln: +eln:# ./src/main/java/mods/eln/sixnode/hub/HubDescriptor.java +eln:Allows_crossing_cables\non_one_single_block.=Permette l'incrocio di cavi\nin un singolo blocco. +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketDescriptor.java +eln:Angle\:_%s°_to_%s°=Angolo\: %s° fino a %s° +eln:Spot_range\:_%s_blocks=Raggio riflettore\: %s blocchi +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketGuiDraw.java +eln:%s_is_not_in_range!=%s non è alla portata\! +eln:Cable_slot_empty=Spazio cavo vuoto +eln:Orientation\:_%s°=Orientamento\: %s° +eln:Parallel=Parallelo +eln:Powered_by_Lamp_Supply=Alimentato dall'Erogatore per Lampade +eln:Powered_by_cable=Alimentato da cavo +eln:Serial=Seriale +eln:Specify_the_supply_channel=Specifica il canale dell'alimentazione +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyContainer.java +eln:Electrical_cable_slot\nBase_range_is_32_blocks.\nEach_additional_cable\nincreases_range_by_one.=Spazio cavo elettrico\nIl raggio di base è 32 blocchi.\nOgni cavo aggiunto\naumenta il raggio di uno. +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyDescriptor.java +eln:Supplies_all_lamps_on_the_channel.=Alimenta tutte le lampadine sul canale. +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyGui.java +eln:Power_channel_name=Nome canale potenza +eln:Wireless_channel_name=Nome canale wireless +eln: +eln:# ./src/main/java/mods/eln/sixnode/modbusrtu/ModbusRtuGui.java +eln:Add=Aggiungi +eln:Channel_name=Nome canale +eln:Modbus_ID=ID Modbus +eln:Modbus_RTU=Modbus RTU +eln:Station_ID=ID Stazione +eln:Station_name=Nome stazione +eln:Wireless_RX=Wireless RX +eln:Wireless_TX=Wireless TX +eln: +eln:# ./src/main/java/mods/eln/sixnode/powercapacitorsix/PowerCapacitorSixContainer.java +eln:(Increases_maximum_voltage)=(Aumenta la tensione massima) +eln: +eln:# ./src/main/java/mods/eln/sixnode/powercapacitorsix/PowerCapacitorSixGui.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/powerinductorsix/PowerInductorSixContainer.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/powerinductorsix/PowerInductorSixGui.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/powersocket/PowerSocketDescriptor.java +eln:Supplies_any_device\nplugged_in_with_energy.=Alimenta ogni dispositivo\ninserito con energia. +eln: +eln:# ./src/main/java/mods/eln/sixnode/powersocket/PowerSocketGui.java +eln:Specify_the_device_to_supply_through_this_socket.=Specifica il dispositivo da alimentare con questa presa. +eln: +eln:# ./src/main/java/mods/eln/sixnode/resistor/ResistorContainer.java +eln:(Sets_resistance)=(Imposta la resistenza) +eln:Coal_dust_slot=Spazio polvere di carbone +eln: +eln:# ./src/main/java/mods/eln/sixnode/thermalcable/ThermalCableDescriptor.java +eln:High_parallel_resistance\n_\=>_Low_power_dissipation.=Alta resistenza in parallelo\n\=> Basso spreco di potenza. +eln:Low_serial_resistance\n_\=>_High_conductivity.=Bassa resistenza seriale\n\=> Alta conducibilità. +eln:Parallel_resistance\:_%sK_W=Resistenza in parallelo\: %sK/W +eln:Serial_resistance\:_%sK_W=Resistenza in serie\: %sK/W +eln: +eln:# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorContainer.java +eln:Cable_slot=Spazio cavo +eln: +eln:# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorDescriptor.java +eln:Can_measure\:=Può misurare\: +eln:Measures_temperature_of_cables.=Misura la temperatura dei cavi. +eln:Measures_thermal_values_on_cables.=Misura valori termici sui cavi. +eln:__Temperature_Power_conducted=Temperatura/Potenza condotta +eln: +eln:# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorGui.java +eln:Measured_temperature\ncorresponding\nto_0%_output=Temperatura misurata\ncorrispondente\nallo 0% dell'output +eln:Measured_temperature\ncorresponding\nto_100%_output=Temperatura misurata\ncorrispondente\nal 100% dell'output +eln:Temperature=Temperatura +eln: +eln:# ./src/main/java/mods/eln/sixnode/tutorialsign/TutorialSignElement.java +eln:No_text_associated_to_this_beacon=Nessun testo associato a questo faro +eln: +eln:# ./src/main/java/mods/eln/sixnode/tutorialsign/TutorialSignGui.java +eln:Set_beacon_name=Imposta nome faro +eln: +eln:# ./src/main/java/mods/eln/sixnode/wirelesssignal/rx/WirelessSignalRxGui.java +eln: +eln:# ./src/main/java/mods/eln/transparentnode/FuelGenerator.kt +eln:Nominal_power\:_%s_W=Potenza nominale\: %s W +eln:Nominal_voltage\:_%s_V=Tensione nominale\: %s V +eln:Produces_electricity_using_fuel.=Produce elettricità usando carburante. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/LargeRheostat.kt +eln:Nom._Resistance\:_%s=Resistenza nom. \: %s +eln: +eln:# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerContainer.java +eln:Drill_slot=Spazio trapano +eln:Mining_pipe_slot=Spazio condotto minante +eln:Ore_scanner_slot=Spazio scanner di minerali +eln: +eln:# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerDescriptor.java +eln:Excavates_on_a_small_radius.\nExtracts_ore_on_a_bigger_radius\:\n10_blocks_radius_after_10_blocks_depth.=Scava entro un piccolo raggio.\nEstrae minerali entro un raggio maggiore\:\nraggio di 10 blocchi oltre 10 blocchi di profondità. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerGuiDraw.java +eln:Chest_missing_on_the\nback_of_the_auto_miner!=Cassa mancante sul retro\ndel minatore automatico\! +eln:Halves_speed,_triples_power_draw=Dimezza la velocità, triplica l'assorbimento di potenza +eln:Silk_Touch_Off=Tocco di velluto disattivo +eln:Silk_Touch_On=Tocco di velluto attivo +eln:Silk_touch=Tocco di velluto +eln: +eln:# ./src/main/java/mods/eln/transparentnode/battery/BatteryContainer.java +eln:Overheating_protection=Protezione dal surriscaldamento +eln:Overvoltage_protection=Protezione da sovratensione +eln: +eln:# ./src/main/java/mods/eln/transparentnode/battery/BatteryDescriptor.java +eln:Actual_charge\:_%s=Carica effettiva\: %s +eln:Energy_capacity\:_%sJ=Capacità energetica\: %sJ +eln:_charged_at_%s=carico al %s +eln: +eln:# ./src/main/java/mods/eln/transparentnode/battery/BatteryGuiDraw.java +eln:Charge=Carica +eln:Charged=Carico +eln:Discharge=Scarica +eln:Energy\:=Energia\: +eln:Energy\:_%s=Energia\: %s +eln:Life\:=Vita\: +eln:No_charge=Nessuna carica +eln:Power_in\:=Potenza in ingresso\: +eln:Power_out\:=Potenza in uscita\: +eln: +eln:# ./src/main/java/mods/eln/transparentnode/eggincubator/EggIncubatorContainer.java +eln:Egg_slot=Spazio uovo +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalantennarx/ElectricalAntennaRxDescriptor.java +eln:Wireless_energy_receiver.=Ricevitore di energia wireless. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalantennatx/ElectricalAntennaTxDescriptor.java +eln:Efficiency\:_%s_up_to_%s=Efficienza\: %s fino a %s +eln:Wireless_energy_transmitter.=Trasmettitore di energia wireless. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceContainer.java +eln:Heating_corp_slot=Spazio per il corpo riscaldante +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceDescriptor.java +eln:Similar_to_a_vanilla_furnace,\nbut_heats_with_electricity.=Simile ad una fornace vanilla,\nma riscalda con l'elettricità. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceGuiDraw.java +eln:Auto_shutdown=Spegnimento automatico +eln:Manual_shutdown=Spegnimento manuale +eln:Set_point\:_%s°C=Imposta punto\: %s°C +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalmachine/ElectricalMachineDescriptor.java +eln:Cost=Costo +eln: +eln:# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceContainer.java +eln:Combustion_chamber_slot=Spazio camera di combustione +eln:Fuel_slot=Spazio carburante +eln: +eln:# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceDescriptor.java +eln:Generates_heat_when_supplied_with_fuel.=Genera calore quando rifornito di carburante. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceGuiDraw.java +eln:Control_gauge_at_%s=Misuratore di controllo al %s +eln:Decline_fuel=Diminuisci carburante +eln:External_control=Controllo esterno +eln:Internal_control=Controllo interno +eln:Take_fuel=Prendi carburante +eln: +eln:# ./src/main/java/mods/eln/transparentnode/powercapacitor/PowerCapacitorContainer.java +eln:(Increases_maximal_voltage)=(Aumenta la tensione massima) +eln: +eln:# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelContainer.java +eln:Solar_tracker_slot=Spazio inseguitore solare +eln: +eln:# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelDescriptor.java +eln:Can_be_geared_towards_the_sun.=Può essere orientato verso il sole. +eln:Max._power\:_%sW=Potenza massima\: %sW +eln:Max._voltage\:_%sV=Tensione massima\: %sV +eln:Produces_power_from_solar_radiation.=Produce potenza dalla radiazione solare. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPannelGuiDraw.java +eln:It_is_night=È notte +eln:Solar_panel_angle\:_%s°=Angolo pannello solare\: %s° +eln:Sun_angle\:_%s°=Angolo sole\: %s° +eln: +eln:# ./src/main/java/mods/eln/transparentnode/teleporter/TeleporterGui.java +eln:Destination_transporter=Trasportatore di destinazione +eln:Power_consumption\:=Consumo di potenza\: +eln:Power_consumption\:_%sW=Consumo di potenza\: %sW +eln:Required_energy\:_%sJ=Energia richiesta\: %sJ +eln:Start=Inizia +eln:Transporter_name=Nome trasportatore +eln: +eln:# ./src/main/java/mods/eln/transparentnode/thermaldissipatoractive/ThermalDissipatorActiveDescriptor.java +eln:Fan_cooling_power\:_%sW=Potenza ventola di raffreddamento\: %sW +eln:Fan_power_consumption\:_%sW=Consumo di potenza della ventola\: %sW +eln:Fan_voltage\:_%sV=Tensione ventola\: %sV +eln: +eln:# ./src/main/java/mods/eln/transparentnode/transformer/TransformerDescriptor.java +eln:The_voltage_ratio_is_proportional\nto_the_cable_stacks_count_ratio.=Il rapporto della tensione è proporzionale\nal rapporto della somma delle pile di cavi. +eln:Transforms_an_input_voltage_to\nan_output_voltage.=Trasforma una tensione in ingresso\nin una tensione in uscita. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/turbine/TurbineDescriptor.java +eln:Generates_electricity_using_heat.=Genera elettricità usando calore. +eln:Temperature_difference\:_%s°C=Differenza di temperatura\: %s°C +eln: +eln:# ./src/main/java/mods/eln/transparentnode/turret/TurretDescriptor.java +eln:CAUTION\:_Cables_can_get_quite_hot!=ATTENZIONE\: I cavi possono diventare piuttosto caldi\! +eln:Laser_charge_power\:_%sW...%skW=Potenza della carica del laser\: %sW...%skW +eln:Scans_for_entities_and_shoots_if_the\nentity_matches_the_configurable_filter_criteria.=Cerca entità e spara se l'entità\ncorrisponde ai criteri del filtro configurabile. +eln:Standby_power\:_%sW=Consumo in stand-by\: %sW +eln: +eln:# ./src/main/java/mods/eln/transparentnode/turret/TurretGui.java +eln:Attack\:=Attacca\: +eln:Do_not_attack\:=Non attacca\: +eln:Recharge_power\:=Potenza di ricarica\: +eln: +eln:# ./src/main/java/mods/eln/transparentnode/waterturbine/WaterTurbineDescriptor.java +eln:Generates_energy_using_water_stream.=Genera energia usando un flusso d'acqua. +eln:No_place_for_water_turbine!=Non c'è spazio per la turbina ad acqua\! +eln: +eln:# ./src/main/java/mods/eln/transparentnode/windturbine/WindTurbineDescriptor.java +eln:Front\:_%s=Facciata\: %s +eln:Generates_energy_from_wind.=Genera energia dal vento. +eln:Left_Right\:_%s=Sinistra/Destra\: %s +eln:Up_Down\:_%s=Su/Giù\: %s +eln:Wind_area\:=Area del vento\: +eln: +eln:# ./src/main/java/mods/eln/wiki/Data.java +eln:Energy=Energia +eln:Light=Luce +eln:Machine=Macchina +eln:Ore=Minerale +eln:Portable=Portatile +eln:Resource=Risorsa +eln:Signal=Segnale +eln:Thermal=Termico +eln:Upgrade=Aggiornamento +eln:Utilities=Utilità +eln:Wiring=Cablaggio +eln: +eln:# ./src/main/java/mods/eln/wiki/Default.java +eln:Previous=Indietro +eln: +eln:# ./src/main/java/mods/eln/wiki/ItemDefault.java +eln:Can_be_used_to_craft\:=Può essere usato per craftare\: +eln:Cannot_be_crafted!=Non può essere craftato\! +eln:Cost_%sJ=Costo %sJ +eln:Created_by\:=Creato da\: +eln:Is_not_a_crafting_material!=Non è un materiale da crafting\! +eln:Recipe\:=Ricetta\: +eln: +eln:# Appearing in multiple source files +eln:(Increases_capacity)=(Aumenta la capacità) +eln:(Increases_inductance)=(Aumenta l'induttanza) +eln:Actual\:_%s°C=Attuale\: %s°C +eln:Biggest=Il più grande +eln:Booster_slot=Spazio booster +eln:Can_create\:=Può creare\: +eln:Capacity\:_%sF=Capacità\: %sF +eln:Charge_power\:_%sW=Potenza di carica\: %sW +eln:Connected=Connesso +eln:Cooling_power\:_%sW=Potenza di raffreddamento\: %sW +eln:Copper_cable_slot=Spazio cavo di rame +eln:Dielectric_slot=Spazio dielettrico +eln:Discharge_power\:_%sW=Potenza di scarica\: %sW +eln:Electrical_cable_slot=Spazio cavo elettrico +eln:Entity_filter_slot=Spazio filtro entità +eln:Ferromagnetic_core_slot=Spazio nucleo ferromagnetico +eln:Has_a_signal_output.=Ha un segnale in uscita. +eln:Inductance\:_%sH=Induttanza\: %sH +eln:Internal_resistance\:_%sΩ=Resistenza interna\: %sΩ +eln:Is_off=È spento +eln:Is_on=È acceso +eln:Max._temperature\:_%s°C=Temperatura max.\: %s°C +eln:Measured_value\ncorresponding\nto_0%_output=Valore misurato\ncorrispondente\nallo 0% dell'output +eln:Measured_value\ncorresponding\nto_100%_output=Valore misurato\ncorrispondente\nal 100% dell'output +eln:Nominal\:=Nominale\: +eln:Nominal_power\:_%sW=Potenza nominale\: %sW +eln:Nominal_usage\:=Uso nominale\: +eln:Nominal_voltage\:_%sV=Tensione nominale\: %sV +eln:Not_connected=Non connesso +eln:Not_enough_space_for_this_block=Non c'è abbastanza spazio per questo blocco +eln:Power=Potenza +eln:Power\:_%sW=Potenza\: %sW +eln:Range\:_%s_blocks=Raggio\: %s blocchi +eln:Redstone_slot=Spazio pietrarossa +eln:Regulator_slot=Spazio regolatore +eln:Reset=Resetta +eln:Resistance\:_%sΩ=Resistenza\: %sΩ +eln:Smallest=Il più piccolo +eln:Specify_the_channel=Specifica il canale +eln:Stored_energy\:_%sJ_(%s)=Energia accumulata\: %sJ (%s) +eln:Temperature\:_%s°C=Temperatura\: %s°C +eln:Temperature_gauge=Misuratore temperatura +eln:Thermal_isolator_slot=Spazio per l'isolatore termico +eln:Toggle=Inverti lo stato +eln:Toggle_switch=Inverti interruttore +eln:Toggles_the_output_each_time\nan_emitter's_value_rises.\nUseful_to_allow_multiple_buttons\nto_control_the_same_light.=Inverte l'output ogni volta che\nun valore d'emettitore aumenta.\nUtile per permettere a più bottoni\ndi controllare la stessa luce. +eln:Used_to_cool_down_turbines.=Usato per raffreddare le turbine. +eln:Uses_the_biggest\nvalue_on_the_channel.=Usa il valore più\ngrande sul canale. +eln:Uses_the_smallest\nvalue_on_the_channel.=Usa il valore più\npiccolo sul canale. +eln:Validate=Convalida +eln:Voltage\:_%sV=Tensione\: %sV +eln:You_can't_place_this_block_at_this_side=Non puoi piazzare questo blocco su questo lato diff --git a/src/main/resources/assets/eln/lang/it_IT.lang b/src/main/resources/assets/eln/lang/it_IT.lang index 81d1aa8e9..bbb60c494 100644 --- a/src/main/resources/assets/eln/lang/it_IT.lang +++ b/src/main/resources/assets/eln/lang/it_IT.lang @@ -1,829 +1,829 @@ -# - -# ./src/main/java/mods/eln/Achievements.java -Electrical_Age_[WIP]=Età Elettrica [WIP] -achievement.craft_50v_macerator=Novizio della frantumazione -achievement.craft_50v_macerator.desc=Crafta un Maceratore 50V -achievement.open_guide=Potenza Wiki -achievement.open_guide.desc=Apri la guida wiki - -# ./src/main/java/mods/eln/Eln.java -10A_Diode.name=Diodo 10A -200V_Active_Thermal_Dissipator.name=Dissipatore Termico Attivo 200V -200V_Battery_Charger.name=Caricabatterie 200V -200V_Compressor.name=Compressore 200V -200V_Condensator.name=Condensatore 200V -200V_Copper_Heating_Corp.name=Corpo Riscaldante in Rame 200V -200V_Economic_Light_Bulb.name=Lampadina Economica 200V -200V_Farming_Lamp.name=Lampada Da Coltivazione 200V -200V_Fuel_Generator.name=Generatore a Carburante 200V -200V_Incandescent_Light_Bulb.name=Lampadina ad Incandescenza 200V -200V_Iron_Heating_Corp.name=Corpo Riscaldante in Ferro 200V -200V_LED_Bulb.name=Lampadina LED 200V -200V_Macerator.name=Maceratore 200V -200V_Magnetizer.name=Magnetizzatore 200V -200V_Plate_Machine.name=Macchina per Piastre 200V -200V_Power_Socket.name=Presa Elettrica 200V -200V_Tungsten_Heating_Corp.name=Corpo Riscaldante in Tungsteno 200V -200V_Turbine.name=Turbina 200V -25A_Diode.name=Diodo 25A -50V_Battery_Charger.name=Caricabatterie 50V -50V_Carbon_Incandescent_Light_Bulb.name=Lampadina ad Incandescenza al Carbonio 50V -50V_Compressor.name=Compressore 50V -50V_Condensator.name=Condensatore 50V -50V_Copper_Heating_Corp.name=Corpo Riscaldante in Rame 50V -50V_Economic_Light_Bulb.name=Lampadina Economica 50V -50V_Egg_Incubator.name=Incubatrice per Uova 50V -50V_Farming_Lamp.name=Lampada Da Coltivazione 50V -50V_Fuel_Generator.name=Generatore a Carburante 50V -50V_Incandescent_Light_Bulb.name=Lampadina ad Incandescenza 50V -50V_Iron_Heating_Corp.name=Corpo Riscaldante in Ferro 50V -50V_LED_Bulb.name=Lampadina LED 50V -50V_Macerator.name=Maceratore 50V -50V_Magnetizer.name=Magnetizzatore 50V -50V_Plate_Machine.name=Macchina per Piastre 50V -50V_Power_Socket.name=Presa Elettrica 50V -50V_Tungsten_Heating_Corp.name=Corpo Riscaldante in Tungsteno 50V -50V_Turbine.name=Turbina 50V -800V_Defence_Turret.name=Torretta Difensiva 800V -AND_Chip.name=Chip AND -Advanced_Chip.name=Chip Avanzato -Advanced_Electrical_Motor.name=Motore Elettrico Avanzato -Advanced_Energy_Meter.name=Contatore d'Energia Avanzato -Advanced_Machine_Block.name=Blocco Macchina Avanzato -Advanced_Magnet.name=Magnete Avanzato -AllMeter.name=Multimetro -Alloy_Dust.name=Polvere di Lega -Alloy_Ingot.name=Lingotto di Lega -Alloy_Plate.name=Piastra di Lega -Analog_Watch.name=Orologio Analogico -Analog_vuMeter.name=Misuratore Analogico -Analogic_Regulator.name=Regolatore Analogico -Animal_Filter.name=Filtro per Animali -Auto_Miner.name=Minatore Automatico -Average_Electrical_Drill.name=Trapano Elettrico Medio -Average_Ferromagnetic_Core.name=Nucleo Ferromagnetico Medio -Basic_Magnet.name=Magnete Basico -Black_Brush.name=Pennello Nero -Blue_Brush.name=Pennello Blu -Brown_Brush.name=Pennello Marrone -Capacity_Oriented_Battery.name=Batteria Orientata alla Capacità -Cheap_Chip.name=Chip Economico -Cheap_Electrical_Drill.name=Trapano Elettrico Economico -Cheap_Ferromagnetic_Core.name=Nucleo Ferromagnentico Economico -Cinnabar_Dust.name=Polvere di Cinabro -Cinnabar_Ore.name=Cinabro Grezzo -Coal_Dust.name=Polvere di Carbone -Coal_Plate.name=Piastra di Carbone -Combustion_Chamber.name=Camera di Combustione -Copper_Cable.name=Cavo di Rame -Copper_Dust.name=Polvere di Rame -Copper_Ingot.name=Lingotto di Rame -Copper_Ore.name=Rame Grezzo -Copper_Plate.name=Piastra di Rame -Copper_Thermal_Cable.name=Cavo Termico di Rame -Cost_Oriented_Battery.name=Batteria Orientata al Costo -Current_Oriented_Battery.name=Batteria Orientata alla Corrente -Cyan_Brush.name=Pennello Ciano -D_Flip_Flop_Chip.name=Chip D Flip Flop -Data_Logger.name=Registratore di Dati -Data_Logger_Print.name=Traccia Registratore di Dati -Dielectric.name=Dielettrico -Digital_Watch.name=Orologio Digitale -Electrical_Anemometer_Sensor.name=Sensore Anemometrico Elettrico -Electrical_Breaker.name=Interruttore Elettrico -Electrical_Daylight_Sensor.name=Sensore Elettrico di Luce Diurna -Electrical_Entity_Sensor.name=Sensore Elettrico di Entità -Electrical_Fire_Detector.name=Rivelatore Elettrico di Fuoco -Electrical_Furnace.name=Fornace Elettrica -Electrical_Light_Sensor.name=Sensore Elettrico di Luce -Electrical_Motor.name=Motore Elettrico -Electrical_Probe.name=Sonda Elettrica -Electrical_Probe_Chip.name=Chip per Sonda Elettrica -Electrical_Source.name=Fonte Elettrica -Electrical_Timer.name=Timer Elettrico -Electrical_Weather_Sensor.name=Sensore Elettrico Meteo -Electrical_age_wrench,\nCan_be_used_to_turn\nsmall_wall_blocks=Chiave inglese,\npuò essere usata per girare\npiccoli blocchi da parete -Energy_Meter.name=Contatore di Energia -Experimental_Transporter.name=Trasportatore Sperimentale -Fast_Electrical_Drill.name=Trapano Elettrico Veloce -Ferrite_Ingot.name=Lingotto di Ferrite -Flat_Lamp_Socket.name=Portalampada Piatto -Fluorescent_Lamp_Socket.name=Portalampada per Lampadina Fluorescente -Generator.name=Generatore -Gold_Dust.name=Polvere di Oro -Gold_Plate.name=Piastra di oro -Gray_Brush.name=Pennello Grigio -Green_Brush.name=Pennello Verde -Ground_Cable.name=Cavo di Messa a Terra -High_Power_Receiver_Antenna.name=Antenna Ricevente ad Alta Potenza -High_Power_Transmitter_Antenna.name=Antenna Trasmettente ad Alta Potenza -High_Voltage_Cable.name=Cavo ad Alta Tensione -High_Voltage_Relay.name=Relè ad Alta Tensione -High_Voltage_Switch.name=Interruttore ad Alta Tensione -Hub.name=Hub -Industrial_Data_Logger.name=Registratore di Dati Industriale -Iron_Cable.name=Cavo di Ferro -Iron_Dust.name=Polvere di Ferro -Iron_Plate.name=Piastra di Ferro -JK_Flip_Flop_Chip.name=Chip JK Flip Flop -LED_vuMeter.name=Vu Meter LED -Lamp_Socket_A.name=Portalampada A -Lamp_Socket_B_Projector.name=Portalampada Proiettore B -Lamp_Supply.name=Erogatore per Lampade -Large_Rheostat.name=Reostato Grande -Lead_Dust.name=Polvere di Piombo -Lead_Ingot.name=Lingotto di Piombo -Lead_Ore.name=Piombo Grezzo -Lead_Plate.name=Piastra di Piombo -Life_Oriented_Battery.name=Batteria orientata alla Durata -Light_Blue_Brush.name=Pennello Azzurro -Lime_Brush.name=Pennello Lime -Long_Suspended_Lamp_Socket.name=Portalampada Lungo Sospeso -Low_Power_Receiver_Antenna.name=Antenna Ricevente a Bassa Potenza -Low_Power_Transmitter_Antenna.name=Antenna Trasmittente a Bassa Potenza -Low_Voltage_Cable.name=Cavo a Bassa Tensione -Low_Voltage_Relay.name=Relè a Bassa Tensione -Low_Voltage_Switch.name=Interruttore a Bassa Tensione -Machine_Block.name=Blocco Macchina -Machine_Booster.name=Booster Macchina -Magenta_Brush.name=Pennello Magenta -Medium_Power_Receiver_Antenna.name=Antenna Ricevente a Media Potenza -Medium_Power_Transmitter_Antenna.name=Antenna Trasmittente a Media Potenza -Medium_Voltage_Cable.name=Cavo a Media Tensione -Medium_Voltage_Relay.name=Relè a Media Tensione -Medium_Voltage_Switch.name=Interruttore a Media Tensione -Mercury.name=Mercurio -Mining_Pipe.name=Condotto Minante -Modbus_RTU.name=Modbus RTU -Modern_Data_Logger.name=Registratore di Dati Moderno -Monster_Filter.name=Filtro Mostri -MultiMeter.name=Multimetro -NAND_Chip.name=Chip NAND -NOR_Chip.name=Chip NOR -NOT_Chip.name=Chip NOT -Nuclear_Alarm.name=Allarme Nucleare -OR_Chip.name=Chip OR -On_OFF_Regulator_10_Percent.name=Regolatore on/off 10% -On_OFF_Regulator_1_Percent.name=Regolatore on/off 1% -Optimal_Ferromagnetic_Core.name=Nucleo Ferromagnetico Ottimale -Orange_Brush.name=Pennello Arancione -Ore_Scanner.name=Scanner di Minerali -Oscillator_Chip.name=Chip Oscillatore -Overheating_Protection.name=Protezione dal Surriscaldamento -Overvoltage_Protection.name=Protezione da Sovratensione -PAL_Chip.name=Chip PAL -Pink_Brush.name=Pennello Rosa -Player_Filter.name=Filtro Giocatori -Portable_Battery.name=Batteria Portatile -Portable_Battery_Pack.name=Pacco Batterie Portatile -Portable_Condensator.name=Condensatore Portatile -Portable_Condensator_Pack.name=Pacco Condensatori Portatile -Portable_Electrical_Axe.name=Ascia Elettrica Portatile -Portable_Electrical_Mining_Drill.name=Trapano Elettrico Portatile da Miniera -Power_Capacitor.name=Condensatore di Potenza -Power_Inductor.name=Induttore di Potenza -Power_Resistor.name=Resistore di Potenza -Power_capacitor.name=Condensatore di potenza -Power_inductor.name=Induttore di potenza -Purple_Brush.name=Pennello Viola -Red_Brush.name=Pennello Rosso -Redstone-to-Voltage_Converter.name=Convertitore Pietrarossa-Tensione -Rheostat.name=Reostato -Robust_Lamp_Socket.name=Portalampada Robusto -Rubber.name=Gomma -Schmitt_Trigger_Chip.name=Chip Trigger di Schmitt -Sconce_Lamp_Socket.name=Portalampada da parete -Signal_20H_inductor.name=Induttore di Segnale 20H -Signal_Antenna.name=Antenna Segnale -Signal_Button.name=Bottone Segnale -Signal_Cable.name=Cavo Segnale -Signal_Diode.name=Diodo Segnale -Signal_Processor.name=Processore di Segnale -Signal_Relay.name=Relè di Segnale -Signal_Source.name=Fonte di Segnale -Signal_Switch.name=Interruttore di Segnale -Signal_Switch_with_LED.name=Interruttore di Segnale con LED -Signal_Trimmer.name=Regolatore di Segnale -Silicon_Dust.name=Polvere di Silicio -Silicon_Ingot.name=Lingotto di Silicio -Silicon_Plate.name=Piastra di Silicio -Silver_Brush.name=Pennello Argento -Simple_Lamp_Socket.name=Portalampada Semplice -Single-use_Battery.name=Batteria monouso -Small_200V_Copper_Heating_Corp.name=Corpo Riscaldante Piccolo in Rame 200V -Small_200V_Iron_Heating_Corp.name=Corpo Riscaldante Piccolo in Ferro 200V -Small_200V_Tungsten_Heating_Corp.name=Corpo Riscaldante Piccolo in Tungsteno 200V -Small_50V_Carbon_Incandescent_Light_Bulb.name=Lampadina ad Incandescenza al Carbonio Piccola 50V -Small_50V_Copper_Heating_Corp.name=Corpo Riscaldante Piccolo in Rame 50V -Small_50V_Economic_Light_Bulb.name=Lampadina Economica Piccola 50V -Small_50V_Incandescent_Light_Bulb.name=Lampadina ad Incandescenza Piccola 50V -Small_50V_Iron_Heating_Corp.name=Corpo Riscaldante Piccolo in Ferro 50V -Small_50V_Tungsten_Heating_Corp.name=Corpo Riscaldante Piccolo in Tungsteno 50V -Small_Active_Thermal_Dissipator.name=Dissipatore Termico Attivo Piccolo -Small_Flashlight.name=Torcia Piccola -Small_Passive_Thermal_Dissipator.name=Dissipatore Termico Passivo Piccolo -Small_Rotating_Solar_Panel.name=Pannello Solare Rotante Piccolo -Small_Solar_Panel.name=Pannello Solare Piccolo -Solar_Tracker.name=Inseguitore Solare -Standard_Alarm.name=Allarme Standard -Steam_Turbine.name=Turbina a Vapore -Stone_Heat_Furnace.name=Fornace di Pietra per Calore -Street_Light.name=Lampione -Suspended_Lamp_Socket.name=Portalampada Sospeso -Temperature_Probe.name=Sonda Temperatura -Thermal_Probe.name=Sonda Termica -Thermal_Probe_Chip.name=Chip per Sonda Termica -Thermistor.name=Termistore -ThermoMeter.name=Termometro -Transformer.name=Trasformatore -Tree_Resin.name=Resina d'Albero -Tree_Resin_Collector.name=Collettore di Resina d'Albero -Tungsten_Cable.name=Cavo in Tungsteno -Tungsten_Dust.name=Polvere di Tungsteno -Tungsten_Ingot.name=Lingotto di Tungsteno -Tungsten_Ore.name=Tungsteno Grezzo -Tutorial_Sign.name=Cartello Tutorial -Very_High_Voltage_Cable.name=Cavo a Tensione Molto Alta -Very_High_Voltage_Relay.name=Relè a Tensione Molto Alta -Very_High_Voltage_Switch.name=Interruttore a Tensione Molto Alta -Voltage-to-Redstone_Converter.name=Convertitore Tensione-Pietrarossa -Voltage_Oriented_Battery.name=Batteria Orientata alla Tensione -Voltage_Probe.name=Sonda di Tensione -Water_Turbine.name=Turbina ad Acqua -Weak_50V_Battery_Charger.name=Caricabatterie Debole 50V -White_Brush.name=Pennello Bianco -Wind_Turbine.name=Turbina a Vento -Wireless_Analyser.name=Analizzatore Wireless -Wireless_Button.name=Bottone Wireless -Wireless_Signal_Receiver.name=Ricevitore di Segnale Wireless -Wireless_Signal_Repeater.name=Ripetitore di Segnale Wireless -Wireless_Signal_Transmitter.name=Trasmettitore di Segnale Wireless -Wireless_Switch.name=Interruttore Wireless -Wrench.name=Chiave Inglese -X-Ray_Scanner.name=Scanner a Raggi X -XNOR_Chip.name=Chip XNOR -XOR_Chip.name=Chip XOR -Yellow_Brush.name=Pennello Giallo -entity.EAReplicator.name=Replicatore -item.Copper Axe.name\=Ascia di Rame -item.Copper Axe.name\=Ascia di Rame -item.Copper Axe.name\=Ascia di Rame -item.Copper Axe.name\=Ascia di Rame -item.Copper Axe.name\=Ascia di Rame -item.Copper Axe.name\=Ascia di Rame -item.Copper Axe.name\=Ascia di Rame -item.Copper Axe.name\=Ascia di Rame -item.Copper Axe.name\=Ascia di Rame -item.E-Coal Boots.name\=Stivali E-Carbone -item.E-Coal Boots.name\=Stivali E-Carbone -item.E-Coal Boots.name\=Stivali E-Carbone -item.E-Coal Boots.name\=Stivali E-Carbone -itemGroup.Eln=Età Elettrica -mod.meta.desc=Elettricità nella tua base\! -tile.eln.ElnProbe.name=Sonda Computer Eln -tile.eln.EnergyConverterElnToOtherHVUBlock.name=Esportatore da Età Elettrica ad altra energia 800V -tile.eln.EnergyConverterElnToOtherLVUBlock.name=Esportatore da Età Elettrica ad altra energia 50V -tile.eln.EnergyConverterElnToOtherMVUBlock.name=Esportatore da Età Elettrica ad altra energia 200V - -# ./src/main/java/mods/eln/i18n/I18N.java -You_have_%s_lives_left=Hai %s vite rimaste - -# ./src/main/java/mods/eln/item/BrushDescriptor.java -Brush_is_dry=Il pennello è secco -Can_paint_%s_blocks=Può colorare %s blocchi - -# ./src/main/java/mods/eln/item/CombustionChamber.java -Upgrade_for_the_Stone_Heat_Furnace.=Aggiornamento per la Fornace di Pietra per Calore - -# ./src/main/java/mods/eln/item/ElectricalDrillDescriptor.java -Energy_per_operation\:_%sJ=Energia per operazione\: %sJ -Time_per_operation\:_%ss=Tempo per operazione\: %ss - -# ./src/main/java/mods/eln/item/FerromagneticCoreDescriptor.java -Cable_loss_factor\:_%s=Fattore di perdita del cavo\: %s - -# ./src/main/java/mods/eln/item/HeatingCorpElement.java - -# ./src/main/java/mods/eln/item/LampDescriptor.java -Bad=Cattivo -Condition\:=Condizione\: -End_of_life=Fine della vita -Good=Buono -New=Nuovo -Nominal_lifetime\:_%sh=Durata di vita nominale\: %sh -Technology\:_%s=Tecnologia\: %s -Used=Usato - -# ./src/main/java/mods/eln/item/LampSlot.java -Lamp_slot=Spazio lampadina - -# ./src/main/java/mods/eln/item/OverHeatingProtectionDescriptor.java -Useful_to_prevent_overheating\nof_Batteries=Utile per prevenire surriscaldamenti\ndelle Batterie - -# ./src/main/java/mods/eln/item/OverVoltageProtectionDescriptor.java -Useful_to_prevent_over-voltage\nof_Batteries=Utile per prevenire sovratensioni\ndelle Batterie - -# ./src/main/java/mods/eln/item/SolarTrackerDescriptor.java -Solar_panel_upgrade=Aggiornamento pannello solare - -# ./src/main/java/mods/eln/item/electricalitem/BatteryItem.java - -# ./src/main/java/mods/eln/item/electricalitem/ElectricalLampItem.java -Off=Spento -On=Acceso -State\:=Stato\: -Stored_Energy\:_%sJ_(%s)=Energia accumulata\: %sJ (%s) - -# ./src/main/java/mods/eln/item/regulator/RegulatorSlot.java - -# ./src/main/java/mods/eln/misc/UtilsClient.java -Hold_shift=Tieni premuto shift - -# ./src/main/java/mods/eln/misc/Version.java -mod.name=Età Elettrica - -# ./src/main/java/mods/eln/node/six/SixNodeDescriptor.java - -# ./src/main/java/mods/eln/simplenode/energyconverter/EnergyConverterElnToOtherGui.java -Input_power_is_limited_to_%sW=Potenza in entrata limitata a %sW - -# ./src/main/java/mods/eln/sixnode/LogicGate.kt -_O\:_= O\: - -# ./src/main/java/mods/eln/sixnode/TreeResinCollector/TreeResinCollectorDescriptor.java -Produces_Tree_Resin_over\ntime_when_put_on_a_tree.=Produce Resina d'Albero man\nmano quando posto su un albero. -This_block_can_only_be_placed_on_the_side_of_a_tree!=Questo blocco può essere piazzato solo sul tronco di un albero\! - -# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerContainer.java -Battery_slot=Spazio batteria - -# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerDescriptor.java -Can_be_used_to_recharge\nelectrical_items_like\:\nFlash_Light,_X-Ray_scanner\nand_Portable_Battery_...=Può essere usato per ricaricare\noggetti elettrici come\:\nTorcia Elettrica, Scanner a Raggi X\ne Batteria Portatile ... - -# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerGui.java - -# ./src/main/java/mods/eln/sixnode/diode/DiodeDescriptor.java -Electrical_current_can_only\nflow_through_the_diode\nfrom_anode_to_cathode=La corrente elettrica può\ncircolare attraverso il diodo\nsolo dall'anodo al catodo - -# ./src/main/java/mods/eln/sixnode/electricalalarm/ElectricalAlarmDescriptor.java -= -Emits_an_acoustic_alarm_if\nthe_input_signal_is_high=Emette un allarme acustico se\nil segnale in ingresso è alto - -# ./src/main/java/mods/eln/sixnode/electricalalarm/ElectricalAlarmGui.java -Sound_is_muted=Il suono è mutato -Sound_is_not_muted=Il suono non è mutato - -# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerContainer.java - -# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerDescriptor.java -Protects_electrical_components\nOpens_contact_if\:\n__-_Voltage_exceeds_a_certain_level\n-_Current_exceeds_the_cable_limit=Protegge componenti elettriche\nApre il contatto se\:\n- La tensione supera un certo livello\n- La corrente supera il limite del cavo - -# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerGui.java -Maximum_voltage_before_cutting_off=Tensione massima prima di staccare -Minimum_voltage_before_cutting_off=Tensione minima prima di staccare -Switch_is_off=L'interruttore è spento -Switch_is_on=L'interruttore è acceso - -# ./src/main/java/mods/eln/sixnode/electricalcable/ElectricalCableDescriptor.java -A_signal_is_electrical_information\nwhich_must_be_between_0V_and_%sV=Un segnale è un'informazione elettrica\nche deve essere tra 0V e %sV -Cable_is_adapted_to_conduct\nelectrical_signals.=Il cavo è adattato per condurre\nsegnali elettrici. -Current\:_%sA=Corrente\: %sA -Not_adapted_to_transport_power.=Non adattato a trasportare potenza. -Save_usage\:=Risparmia uso\: -Serial_resistance\:_%sΩ=Resistenza in serie\: %sΩ - -# ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerDescriptor.java -It_can_store_up_to_256_points.=Può contenere fino a 256 punti. -Measures_the_voltage_of_an\nelectrical_signal_and_plots\nthe_data_in_real_time.=Misura la tensione di un\nsegnale elettrico e traccia\ni dati in tempo reale. - -# ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerGui.java -Back_to_display=Ritorna al display -Configuration=Configurazione -Current_[A]=Corrente [A] -Energy_[J]=Energia [J] -Percent_[-]%=Percentuale [-]% -Power_[W]=Potenza [W] -Print=Stampa -Sampling_period=Periodo di campionamento -Temp._[*C]=Temp. [*C] -Voltage_[V]=Tensione [V] -Y-axis_max=Massimo asse Y -Y-axis_min=Minimo asse Y - -# ./src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorContainer.java - -# ./src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorDescriptor.java -Output_voltage_increases\nif_entities_are_moving_around.=La tensione in uscita aumenta\nse delle entità si muovono intorno. - -# ./src/main/java/mods/eln/sixnode/electricalfiredetector/ElectricalFireDetectorDescriptor.java -Output_voltage_increases\nif_a_fire_has_been_detected.=La tensione in uscita aumenta\nse un fuoco viene rilevato. - -# ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceDescriptor.java -Provides_configurable_signal\nvoltage.=Fornisce un segnale di tensione\nconfigurabile. - -# ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceGui.java -Output_at_%s=Output al %s - -# ./src/main/java/mods/eln/sixnode/electricallightsensor/ElectricalLightSensorDescriptor.java -0V_at_night,_%sV_at_noon.=0V di notte, %sV a mezzogiorno. -Provides_an_electrical_voltage\nin_the_presence_of_light.=Fornisce una tensione elettrica\nin presenza di luce. -Provides_an_electrical_voltage\nwhich_is_proportional_to\nthe_intensity_of_daylight.=Fornisce una tensione elettrica\nproporzionale all'intensità\ndella luce del giorno. - -# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathContainer.java - -# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathDescriptor.java -Applicable_boolean_operators\:=Operatori booleani applicabili\: -Applicable_functions\:=Funzioni applicabili\: -Applicable_mathematical_operators\:=Operatori matematici applicabili\: -Calculates_an_output_signal_from\n3_inputs_(A,_B,_C)_using_an_equation.=Calcola un segnale in uscita da\n3 in ingresso(A, B, C) usando una\nequazione. - -# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathGui.java -%s_Redstone(s)_required=%s Pietrarossa richiesta/e -Equation_required!=Equazione richiesta\! -Inputs_are=Gli input sono -Invalid_equation!=Equazione non valida\! -Output_voltage_formula=Formula della tensione in uscita -Waiting_for_completion...=Aspettando il completamento... - -# ./src/main/java/mods/eln/sixnode/electricalredstoneinput/ElectricalRedstoneInputDescriptor.java -Converts_Redstone_signal\nto_an_electrical_voltage.=Converte segnale Pietrarossa\nin tensione elettrica. - -# ./src/main/java/mods/eln/sixnode/electricalredstoneoutput/ElectricalRedstoneOutputDescriptor.java -Converts_electrical_voltage\ninto_a_Redstone_signal.=Converte tensione elettrica\nin un segnale Pietrarossa. - -# ./src/main/java/mods/eln/sixnode/electricalrelay/ElectricalRelayDescriptor.java -A_relay_is_an_electrical\ncontact_that_conducts_electric\ncurrent_or_not,_depending\nthe_actual_input_signal_voltage.=Un relè è un contatto\nelettrico che conduce corrente\nelettrica a seconda della\ntensione del segnale in entrata. - -# ./src/main/java/mods/eln/sixnode/electricalrelay/ElectricalRelayGui.java -Normally_closed=Normalmente chiuso -Normally_open=Normalmente aperto - -# ./src/main/java/mods/eln/sixnode/electricalsource/ElectricalSourceDescriptor.java -Creative_block.=Blocco modalità creativa. -Provides_an_ideal_voltage_source\nwithout_energy_or_power_limitation.=Fornisce una fonte di tensione ideale\nsenza limite di energia o potenza. - -# ./src/main/java/mods/eln/sixnode/electricalsource/ElectricalSourceGui.java -Output_voltage=Tensione in uscita - -# ./src/main/java/mods/eln/sixnode/electricalswitch/ElectricalSwitchDescriptor.java -Can_break_an_electrical_circuit\ninterrupting_the_current.=Può rompere un circuito elettrico\ninterrompendo la corrente. - -# ./src/main/java/mods/eln/sixnode/electricaltimeout/ElectricalTimeoutDescriptor.java -Upon_application_of_a_high_signal,\nthe_timer_maintains_the_output_high_for\na_configurable_interval._Can_be_re-triggered.=Fino all'applicazione di un segnale alto,\nil timer mantiene l'output alto per un\nintervallo configurabile. Può essere re-innescato. - -# ./src/main/java/mods/eln/sixnode/electricaltimeout/ElectricalTimeoutGui.java -Set=Imposta -The_time_interval_the\noutput_is_kept_high.=L'intervallo di tempo in cui\nl'output è mantenuto alto. - -# ./src/main/java/mods/eln/sixnode/electricalvumeter/ElectricalVuMeterDescriptor.java -Displays_the_value_of_a_signal.=Mostra il valore di un segnale. - -# ./src/main/java/mods/eln/sixnode/electricalwatch/ElectricalWatchContainer.java -Portable_battery_slot=Spazio batteria portatile - -# ./src/main/java/mods/eln/sixnode/electricalweathersensor/ElectricalWeatherSensorDescriptor.java -Clear\:_%sV=Cielo terso\: %sV -Provides_an_electrical_signal\ndepending_the_actual_weather.=Fornisce un segnale elettrico\na seconda del tempo atmosferico. -Rain\:_%sV=Pioggia\: %sV -Storm\:_%sV=Tempesta\: %sV - -# ./src/main/java/mods/eln/sixnode/electricalwindsensor/ElectricalWindSensorDescriptor.java -Maximum_wind_speed_is_%sm_s=La massima velocità del vento è %sm/s -Provides_an_electrical_signal\ndependant_on_wind_speed.=Fornisce un segnale elettrico\nsecondo la velocità del vento. -You_can't_place_this_block_on_the_floor_or_the_ceiling=Non puoi piazzare questo blocco sul pavimento o sul soffitto - -# ./src/main/java/mods/eln/sixnode/electricasensor/ElectricalSensorDescriptor.java -Can_measure_Voltage_Power_Current=Può misurare Tensione/Potenza/Corrente -Measures_electrical_values_on_cables.=Misura i valori elettrici sui cavi. -Measures_voltage_on_cables.=Misura la tensione sui cavi. - -# ./src/main/java/mods/eln/sixnode/electricasensor/ElectricalSensorGui.java -Current=Corrente -Measured_voltage\ncorresponding\nto_0%_output=Tensione misurata\ncorrispondente\nal 0% dell'output -Measured_voltage\ncorresponding\nto_100%_output=Tensione misurata\ncorrispondente\nal 100% dell'output -Voltage=Tensione - -# ./src/main/java/mods/eln/sixnode/energymeter/EnergyMeterGui.java -Change_password=Cambia password -Counter_Mode=Modalità Contatore -Counts_the_energy_conducted_from\n\u00a74red\u00a7f_to_\u00a71blue\u00a7f.=Conta l'energia condotta da\n\\u00a74red\\u00a7f a \\u00a71blue\\u00a7f. -Energy_counter\:_%sJ=Contatore energia\: %sJ -Enter_new_energy=Digita una nuova energia -Enter_password=Digita la password -Prepay_Mode=Modalità pagamento anticipato -Reset_time_counter=Resetta contatore tempo -Set_energy_counter=Imposta contatore energia -Time_counter\:=Contatore tempo\: -Try_password=Prova la password -You_can_set_an_initial\namount_of_available_energy.\nWhen_the_counter_arrives_at_0\nthe_contact_will_be_opened.=Puoi impostare una quantità\niniziale di energia disponibile.\nQuando il contatore arriva a 0\nil contatto verrà aperto. -is_off=è spento -is_on=è acceso -value_in_kJ=valore in kJ - -# ./src/main/java/mods/eln/sixnode/groundcable/GroundCableDescriptor.java -Can_be_used_to_set_a_point_of_an\nelectrical_network_to_0V_potential.\nFor_example_to_ground_negative_battery_contacts.=Può essere usato per impostare la punta\ndi una rete elettrica a 0V di potenziale.\nPer esempio per mettere a terra i contatti negativi di una batteria. -Provides_a_zero_volt_reference.=Fornisce una referenza di 0 volt. - -# ./src/main/java/mods/eln/sixnode/hub/HubDescriptor.java -Allows_crossing_cables\non_one_single_block.=Permette l'incrocio di cavi\nin un singolo blocco. - -# ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketDescriptor.java -Angle\:_%s°_to_%s°=Angolo\: %s° fino a %s° -Spot_range\:_%s_blocks=Raggio riflettore\: %s blocchi - -# ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketGuiDraw.java -%s_is_not_in_range!=%s non è alla portata\! -Cable_slot_empty=Spazio cavo vuoto -Orientation\:_%s°=Orientamento\: %s° -Parallel=Parallelo -Powered_by_Lamp_Supply=Alimentato dall'Erogatore per Lampade -Powered_by_cable=Alimentato da cavo -Serial=Seriale -Specify_the_supply_channel=Specifica il canale dell'alimentazione - -# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyContainer.java -Electrical_cable_slot\nBase_range_is_32_blocks.\nEach_additional_cable\nincreases_range_by_one.=Spazio cavo elettrico\nIl raggio di base è 32 blocchi.\nOgni cavo aggiunto\naumenta il raggio di uno. - -# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyDescriptor.java -Supplies_all_lamps_on_the_channel.=Alimenta tutte le lampadine sul canale. - -# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyGui.java -Power_channel_name=Nome canale potenza -Wireless_channel_name=Nome canale wireless - -# ./src/main/java/mods/eln/sixnode/modbusrtu/ModbusRtuGui.java -Add=Aggiungi -Channel_name=Nome canale -Modbus_ID=ID Modbus -Modbus_RTU=Modbus RTU -Station_ID=ID Stazione -Station_name=Nome stazione -Wireless_RX=Wireless RX -Wireless_TX=Wireless TX - -# ./src/main/java/mods/eln/sixnode/powercapacitorsix/PowerCapacitorSixContainer.java -(Increases_maximum_voltage)=(Aumenta la tensione massima) - -# ./src/main/java/mods/eln/sixnode/powercapacitorsix/PowerCapacitorSixGui.java - -# ./src/main/java/mods/eln/sixnode/powerinductorsix/PowerInductorSixContainer.java - -# ./src/main/java/mods/eln/sixnode/powerinductorsix/PowerInductorSixGui.java - -# ./src/main/java/mods/eln/sixnode/powersocket/PowerSocketDescriptor.java -Supplies_any_device\nplugged_in_with_energy.=Alimenta ogni dispositivo\ninserito con energia. - -# ./src/main/java/mods/eln/sixnode/powersocket/PowerSocketGui.java -Specify_the_device_to_supply_through_this_socket.=Specifica il dispositivo da alimentare con questa presa. - -# ./src/main/java/mods/eln/sixnode/resistor/ResistorContainer.java -(Sets_resistance)=(Imposta la resistenza) -Coal_dust_slot=Spazio polvere di carbone - -# ./src/main/java/mods/eln/sixnode/thermalcable/ThermalCableDescriptor.java -High_parallel_resistance\n_\=>_Low_power_dissipation.=Alta resistenza in parallelo\n\=> Basso spreco di potenza. -Low_serial_resistance\n_\=>_High_conductivity.=Bassa resistenza seriale\n\=> Alta conducibilità. -Parallel_resistance\:_%sK_W=Resistenza in parallelo\: %sK/W -Serial_resistance\:_%sK_W=Resistenza in serie\: %sK/W - -# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorContainer.java -Cable_slot=Spazio cavo - -# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorDescriptor.java -Can_measure\:=Può misurare\: -Measures_temperature_of_cables.=Misura la temperatura dei cavi. -Measures_thermal_values_on_cables.=Misura valori termici sui cavi. -__Temperature_Power_conducted=Temperatura/Potenza condotta - -# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorGui.java -Measured_temperature\ncorresponding\nto_0%_output=Temperatura misurata\ncorrispondente\nallo 0% dell'output -Measured_temperature\ncorresponding\nto_100%_output=Temperatura misurata\ncorrispondente\nal 100% dell'output -Temperature=Temperatura - -# ./src/main/java/mods/eln/sixnode/tutorialsign/TutorialSignElement.java -No_text_associated_to_this_beacon=Nessun testo associato a questo faro - -# ./src/main/java/mods/eln/sixnode/tutorialsign/TutorialSignGui.java -Set_beacon_name=Imposta nome faro - -# ./src/main/java/mods/eln/sixnode/wirelesssignal/rx/WirelessSignalRxGui.java - -# ./src/main/java/mods/eln/transparentnode/FuelGenerator.kt -Nominal_power\:_%s_W=Potenza nominale\: %s W -Nominal_voltage\:_%s_V=Tensione nominale\: %s V -Produces_electricity_using_fuel.=Produce elettricità usando carburante. - -# ./src/main/java/mods/eln/transparentnode/LargeRheostat.kt -Nom._Resistance\:_%s=Resistenza nom. \: %s - -# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerContainer.java -Drill_slot=Spazio trapano -Mining_pipe_slot=Spazio condotto minante -Ore_scanner_slot=Spazio scanner di minerali - -# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerDescriptor.java -Excavates_on_a_small_radius.\nExtracts_ore_on_a_bigger_radius\:\n10_blocks_radius_after_10_blocks_depth.=Scava entro un piccolo raggio.\nEstrae minerali entro un raggio maggiore\:\nraggio di 10 blocchi oltre 10 blocchi di profondità. - -# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerGuiDraw.java -Chest_missing_on_the\nback_of_the_auto_miner!=Cassa mancante sul retro\ndel minatore automatico\! -Halves_speed,_triples_power_draw=Dimezza la velocità, triplica l'assorbimento di potenza -Silk_Touch_Off=Tocco di velluto disattivo -Silk_Touch_On=Tocco di velluto attivo -Silk_touch=Tocco di velluto - -# ./src/main/java/mods/eln/transparentnode/battery/BatteryContainer.java -Overheating_protection=Protezione dal surriscaldamento -Overvoltage_protection=Protezione da sovratensione - -# ./src/main/java/mods/eln/transparentnode/battery/BatteryDescriptor.java -Actual_charge\:_%s=Carica effettiva\: %s -Energy_capacity\:_%sJ=Capacità energetica\: %sJ -_charged_at_%s=carico al %s - -# ./src/main/java/mods/eln/transparentnode/battery/BatteryGuiDraw.java -Charge=Carica -Charged=Carico -Discharge=Scarica -Energy\:=Energia\: -Energy\:_%s=Energia\: %s -Life\:=Vita\: -No_charge=Nessuna carica -Power_in\:=Potenza in ingresso\: -Power_out\:=Potenza in uscita\: - -# ./src/main/java/mods/eln/transparentnode/eggincubator/EggIncubatorContainer.java -Egg_slot=Spazio uovo - -# ./src/main/java/mods/eln/transparentnode/electricalantennarx/ElectricalAntennaRxDescriptor.java -Wireless_energy_receiver.=Ricevitore di energia wireless. - -# ./src/main/java/mods/eln/transparentnode/electricalantennatx/ElectricalAntennaTxDescriptor.java -Efficiency\:_%s_up_to_%s=Efficienza\: %s fino a %s -Wireless_energy_transmitter.=Trasmettitore di energia wireless. - -# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceContainer.java -Heating_corp_slot=Spazio per il corpo riscaldante - -# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceDescriptor.java -Similar_to_a_vanilla_furnace,\nbut_heats_with_electricity.=Simile ad una fornace vanilla,\nma riscalda con l'elettricità. - -# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceGuiDraw.java -Auto_shutdown=Spegnimento automatico -Manual_shutdown=Spegnimento manuale -Set_point\:_%s°C=Imposta punto\: %s°C - -# ./src/main/java/mods/eln/transparentnode/electricalmachine/ElectricalMachineDescriptor.java -Cost=Costo - -# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceContainer.java -Combustion_chamber_slot=Spazio camera di combustione -Fuel_slot=Spazio carburante - -# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceDescriptor.java -Generates_heat_when_supplied_with_fuel.=Genera calore quando rifornito di carburante. - -# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceGuiDraw.java -Control_gauge_at_%s=Misuratore di controllo al %s -Decline_fuel=Diminuisci carburante -External_control=Controllo esterno -Internal_control=Controllo interno -Take_fuel=Prendi carburante - -# ./src/main/java/mods/eln/transparentnode/powercapacitor/PowerCapacitorContainer.java -(Increases_maximal_voltage)=(Aumenta la tensione massima) - -# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelContainer.java -Solar_tracker_slot=Spazio inseguitore solare - -# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelDescriptor.java -Can_be_geared_towards_the_sun.=Può essere orientato verso il sole. -Max._power\:_%sW=Potenza massima\: %sW -Max._voltage\:_%sV=Tensione massima\: %sV -Produces_power_from_solar_radiation.=Produce potenza dalla radiazione solare. - -# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPannelGuiDraw.java -It_is_night=È notte -Solar_panel_angle\:_%s°=Angolo pannello solare\: %s° -Sun_angle\:_%s°=Angolo sole\: %s° - -# ./src/main/java/mods/eln/transparentnode/teleporter/TeleporterGui.java -Destination_transporter=Trasportatore di destinazione -Power_consumption\:=Consumo di potenza\: -Power_consumption\:_%sW=Consumo di potenza\: %sW -Required_energy\:_%sJ=Energia richiesta\: %sJ -Start=Inizia -Transporter_name=Nome trasportatore - -# ./src/main/java/mods/eln/transparentnode/thermaldissipatoractive/ThermalDissipatorActiveDescriptor.java -Fan_cooling_power\:_%sW=Potenza ventola di raffreddamento\: %sW -Fan_power_consumption\:_%sW=Consumo di potenza della ventola\: %sW -Fan_voltage\:_%sV=Tensione ventola\: %sV - -# ./src/main/java/mods/eln/transparentnode/transformer/TransformerDescriptor.java -The_voltage_ratio_is_proportional\nto_the_cable_stacks_count_ratio.=Il rapporto della tensione è proporzionale\nal rapporto della somma delle pile di cavi. -Transforms_an_input_voltage_to\nan_output_voltage.=Trasforma una tensione in ingresso\nin una tensione in uscita. - -# ./src/main/java/mods/eln/transparentnode/turbine/TurbineDescriptor.java -Generates_electricity_using_heat.=Genera elettricità usando calore. -Temperature_difference\:_%s°C=Differenza di temperatura\: %s°C - -# ./src/main/java/mods/eln/transparentnode/turret/TurretDescriptor.java -CAUTION\:_Cables_can_get_quite_hot!=ATTENZIONE\: I cavi possono diventare piuttosto caldi\! -Laser_charge_power\:_%sW...%skW=Potenza della carica del laser\: %sW...%skW -Scans_for_entities_and_shoots_if_the\nentity_matches_the_configurable_filter_criteria.=Cerca entità e spara se l'entità\ncorrisponde ai criteri del filtro configurabile. -Standby_power\:_%sW=Consumo in stand-by\: %sW - -# ./src/main/java/mods/eln/transparentnode/turret/TurretGui.java -Attack\:=Attacca\: -Do_not_attack\:=Non attacca\: -Recharge_power\:=Potenza di ricarica\: - -# ./src/main/java/mods/eln/transparentnode/waterturbine/WaterTurbineDescriptor.java -Generates_energy_using_water_stream.=Genera energia usando un flusso d'acqua. -No_place_for_water_turbine!=Non c'è spazio per la turbina ad acqua\! - -# ./src/main/java/mods/eln/transparentnode/windturbine/WindTurbineDescriptor.java -Front\:_%s=Facciata\: %s -Generates_energy_from_wind.=Genera energia dal vento. -Left_Right\:_%s=Sinistra/Destra\: %s -Up_Down\:_%s=Su/Giù\: %s -Wind_area\:=Area del vento\: - -# ./src/main/java/mods/eln/wiki/Data.java -Energy=Energia -Light=Luce -Machine=Macchina -Ore=Minerale -Portable=Portatile -Resource=Risorsa -Signal=Segnale -Thermal=Termico -Upgrade=Aggiornamento -Utilities=Utilità -Wiring=Cablaggio - -# ./src/main/java/mods/eln/wiki/Default.java -Previous=Indietro - -# ./src/main/java/mods/eln/wiki/ItemDefault.java -Can_be_used_to_craft\:=Può essere usato per craftare\: -Cannot_be_crafted!=Non può essere craftato\! -Cost_%sJ=Costo %sJ -Created_by\:=Creato da\: -Is_not_a_crafting_material!=Non è un materiale da crafting\! -Recipe\:=Ricetta\: - -# Appearing in multiple source files -(Increases_capacity)=(Aumenta la capacità) -(Increases_inductance)=(Aumenta l'induttanza) -Actual\:_%s°C=Attuale\: %s°C -Biggest=Il più grande -Booster_slot=Spazio booster -Can_create\:=Può creare\: -Capacity\:_%sF=Capacità\: %sF -Charge_power\:_%sW=Potenza di carica\: %sW -Connected=Connesso -Cooling_power\:_%sW=Potenza di raffreddamento\: %sW -Copper_cable_slot=Spazio cavo di rame -Dielectric_slot=Spazio dielettrico -Discharge_power\:_%sW=Potenza di scarica\: %sW -Electrical_cable_slot=Spazio cavo elettrico -Entity_filter_slot=Spazio filtro entità -Ferromagnetic_core_slot=Spazio nucleo ferromagnetico -Has_a_signal_output.=Ha un segnale in uscita. -Inductance\:_%sH=Induttanza\: %sH -Internal_resistance\:_%sΩ=Resistenza interna\: %sΩ -Is_off=È spento -Is_on=È acceso -Max._temperature\:_%s°C=Temperatura max.\: %s°C -Measured_value\ncorresponding\nto_0%_output=Valore misurato\ncorrispondente\nallo 0% dell'output -Measured_value\ncorresponding\nto_100%_output=Valore misurato\ncorrispondente\nal 100% dell'output -Nominal\:=Nominale\: -Nominal_power\:_%sW=Potenza nominale\: %sW -Nominal_usage\:=Uso nominale\: -Nominal_voltage\:_%sV=Tensione nominale\: %sV -Not_connected=Non connesso -Not_enough_space_for_this_block=Non c'è abbastanza spazio per questo blocco -Power=Potenza -Power\:_%sW=Potenza\: %sW -Range\:_%s_blocks=Raggio\: %s blocchi -Redstone_slot=Spazio pietrarossa -Regulator_slot=Spazio regolatore -Reset=Resetta -Resistance\:_%sΩ=Resistenza\: %sΩ -Smallest=Il più piccolo -Specify_the_channel=Specifica il canale -Stored_energy\:_%sJ_(%s)=Energia accumulata\: %sJ (%s) -Temperature\:_%s°C=Temperatura\: %s°C -Temperature_gauge=Misuratore temperatura -Thermal_isolator_slot=Spazio per l'isolatore termico -Toggle=Inverti lo stato -Toggle_switch=Inverti interruttore -Toggles_the_output_each_time\nan_emitter's_value_rises.\nUseful_to_allow_multiple_buttons\nto_control_the_same_light.=Inverte l'output ogni volta che\nun valore d'emettitore aumenta.\nUtile per permettere a più bottoni\ndi controllare la stessa luce. -Used_to_cool_down_turbines.=Usato per raffreddare le turbine. -Uses_the_biggest\nvalue_on_the_channel.=Usa il valore più\ngrande sul canale. -Uses_the_smallest\nvalue_on_the_channel.=Usa il valore più\npiccolo sul canale. -Validate=Convalida -Voltage\:_%sV=Tensione\: %sV -You_can't_place_this_block_at_this_side=Non puoi piazzare questo blocco su questo lato +eln:# +eln: +eln:# ./src/main/java/mods/eln/Achievements.java +eln:Electrical_Age_[WIP]=Età Elettrica [WIP] +eln:achievement.craft_50v_macerator=Novizio della frantumazione +eln:achievement.craft_50v_macerator.desc=Crafta un Maceratore 50V +eln:achievement.open_guide=Potenza Wiki +eln:achievement.open_guide.desc=Apri la guida wiki +eln: +eln:# ./src/main/java/mods/eln/Eln.java +eln:10A_Diode.name=Diodo 10A +eln:200V_Active_Thermal_Dissipator.name=Dissipatore Termico Attivo 200V +eln:200V_Battery_Charger.name=Caricabatterie 200V +eln:200V_Compressor.name=Compressore 200V +eln:200V_Condensator.name=Condensatore 200V +eln:200V_Copper_Heating_Corp.name=Corpo Riscaldante in Rame 200V +eln:200V_Economic_Light_Bulb.name=Lampadina Economica 200V +eln:200V_Farming_Lamp.name=Lampada Da Coltivazione 200V +eln:200V_Fuel_Generator.name=Generatore a Carburante 200V +eln:200V_Incandescent_Light_Bulb.name=Lampadina ad Incandescenza 200V +eln:200V_Iron_Heating_Corp.name=Corpo Riscaldante in Ferro 200V +eln:200V_LED_Bulb.name=Lampadina LED 200V +eln:200V_Macerator.name=Maceratore 200V +eln:200V_Magnetizer.name=Magnetizzatore 200V +eln:200V_Plate_Machine.name=Macchina per Piastre 200V +eln:200V_Power_Socket.name=Presa Elettrica 200V +eln:200V_Tungsten_Heating_Corp.name=Corpo Riscaldante in Tungsteno 200V +eln:200V_Turbine.name=Turbina 200V +eln:25A_Diode.name=Diodo 25A +eln:50V_Battery_Charger.name=Caricabatterie 50V +eln:50V_Carbon_Incandescent_Light_Bulb.name=Lampadina ad Incandescenza al Carbonio 50V +eln:50V_Compressor.name=Compressore 50V +eln:50V_Condensator.name=Condensatore 50V +eln:50V_Copper_Heating_Corp.name=Corpo Riscaldante in Rame 50V +eln:50V_Economic_Light_Bulb.name=Lampadina Economica 50V +eln:50V_Egg_Incubator.name=Incubatrice per Uova 50V +eln:50V_Farming_Lamp.name=Lampada Da Coltivazione 50V +eln:50V_Fuel_Generator.name=Generatore a Carburante 50V +eln:50V_Incandescent_Light_Bulb.name=Lampadina ad Incandescenza 50V +eln:50V_Iron_Heating_Corp.name=Corpo Riscaldante in Ferro 50V +eln:50V_LED_Bulb.name=Lampadina LED 50V +eln:50V_Macerator.name=Maceratore 50V +eln:50V_Magnetizer.name=Magnetizzatore 50V +eln:50V_Plate_Machine.name=Macchina per Piastre 50V +eln:50V_Power_Socket.name=Presa Elettrica 50V +eln:50V_Tungsten_Heating_Corp.name=Corpo Riscaldante in Tungsteno 50V +eln:50V_Turbine.name=Turbina 50V +eln:800V_Defence_Turret.name=Torretta Difensiva 800V +eln:AND_Chip.name=Chip AND +eln:Advanced_Chip.name=Chip Avanzato +eln:Advanced_Electrical_Motor.name=Motore Elettrico Avanzato +eln:Advanced_Energy_Meter.name=Contatore d'Energia Avanzato +eln:Advanced_Machine_Block.name=Blocco Macchina Avanzato +eln:Advanced_Magnet.name=Magnete Avanzato +eln:AllMeter.name=Multimetro +eln:Alloy_Dust.name=Polvere di Lega +eln:Alloy_Ingot.name=Lingotto di Lega +eln:Alloy_Plate.name=Piastra di Lega +eln:Analog_Watch.name=Orologio Analogico +eln:Analog_vuMeter.name=Misuratore Analogico +eln:Analogic_Regulator.name=Regolatore Analogico +eln:Animal_Filter.name=Filtro per Animali +eln:Auto_Miner.name=Minatore Automatico +eln:Average_Electrical_Drill.name=Trapano Elettrico Medio +eln:Average_Ferromagnetic_Core.name=Nucleo Ferromagnetico Medio +eln:Basic_Magnet.name=Magnete Basico +eln:Black_Brush.name=Pennello Nero +eln:Blue_Brush.name=Pennello Blu +eln:Brown_Brush.name=Pennello Marrone +eln:Capacity_Oriented_Battery.name=Batteria Orientata alla Capacità +eln:Cheap_Chip.name=Chip Economico +eln:Cheap_Electrical_Drill.name=Trapano Elettrico Economico +eln:Cheap_Ferromagnetic_Core.name=Nucleo Ferromagnentico Economico +eln:Cinnabar_Dust.name=Polvere di Cinabro +eln:Cinnabar_Ore.name=Cinabro Grezzo +eln:Coal_Dust.name=Polvere di Carbone +eln:Coal_Plate.name=Piastra di Carbone +eln:Combustion_Chamber.name=Camera di Combustione +eln:Copper_Cable.name=Cavo di Rame +eln:Copper_Dust.name=Polvere di Rame +eln:Copper_Ingot.name=Lingotto di Rame +eln:Copper_Ore.name=Rame Grezzo +eln:Copper_Plate.name=Piastra di Rame +eln:Copper_Thermal_Cable.name=Cavo Termico di Rame +eln:Cost_Oriented_Battery.name=Batteria Orientata al Costo +eln:Current_Oriented_Battery.name=Batteria Orientata alla Corrente +eln:Cyan_Brush.name=Pennello Ciano +eln:D_Flip_Flop_Chip.name=Chip D Flip Flop +eln:Data_Logger.name=Registratore di Dati +eln:Data_Logger_Print.name=Traccia Registratore di Dati +eln:Dielectric.name=Dielettrico +eln:Digital_Watch.name=Orologio Digitale +eln:Electrical_Anemometer_Sensor.name=Sensore Anemometrico Elettrico +eln:Electrical_Breaker.name=Interruttore Elettrico +eln:Electrical_Daylight_Sensor.name=Sensore Elettrico di Luce Diurna +eln:Electrical_Entity_Sensor.name=Sensore Elettrico di Entità +eln:Electrical_Fire_Detector.name=Rivelatore Elettrico di Fuoco +eln:Electrical_Furnace.name=Fornace Elettrica +eln:Electrical_Light_Sensor.name=Sensore Elettrico di Luce +eln:Electrical_Motor.name=Motore Elettrico +eln:Electrical_Probe.name=Sonda Elettrica +eln:Electrical_Probe_Chip.name=Chip per Sonda Elettrica +eln:Electrical_Source.name=Fonte Elettrica +eln:Electrical_Timer.name=Timer Elettrico +eln:Electrical_Weather_Sensor.name=Sensore Elettrico Meteo +eln:Electrical_age_wrench,\nCan_be_used_to_turn\nsmall_wall_blocks=Chiave inglese,\npuò essere usata per girare\npiccoli blocchi da parete +eln:Energy_Meter.name=Contatore di Energia +eln:Experimental_Transporter.name=Trasportatore Sperimentale +eln:Fast_Electrical_Drill.name=Trapano Elettrico Veloce +eln:Ferrite_Ingot.name=Lingotto di Ferrite +eln:Flat_Lamp_Socket.name=Portalampada Piatto +eln:Fluorescent_Lamp_Socket.name=Portalampada per Lampadina Fluorescente +eln:Generator.name=Generatore +eln:Gold_Dust.name=Polvere di Oro +eln:Gold_Plate.name=Piastra di oro +eln:Gray_Brush.name=Pennello Grigio +eln:Green_Brush.name=Pennello Verde +eln:Ground_Cable.name=Cavo di Messa a Terra +eln:High_Power_Receiver_Antenna.name=Antenna Ricevente ad Alta Potenza +eln:High_Power_Transmitter_Antenna.name=Antenna Trasmettente ad Alta Potenza +eln:High_Voltage_Cable.name=Cavo ad Alta Tensione +eln:High_Voltage_Relay.name=Relè ad Alta Tensione +eln:High_Voltage_Switch.name=Interruttore ad Alta Tensione +eln:Hub.name=Hub +eln:Industrial_Data_Logger.name=Registratore di Dati Industriale +eln:Iron_Cable.name=Cavo di Ferro +eln:Iron_Dust.name=Polvere di Ferro +eln:Iron_Plate.name=Piastra di Ferro +eln:JK_Flip_Flop_Chip.name=Chip JK Flip Flop +eln:LED_vuMeter.name=Vu Meter LED +eln:Lamp_Socket_A.name=Portalampada A +eln:Lamp_Socket_B_Projector.name=Portalampada Proiettore B +eln:Lamp_Supply.name=Erogatore per Lampade +eln:Large_Rheostat.name=Reostato Grande +eln:Lead_Dust.name=Polvere di Piombo +eln:Lead_Ingot.name=Lingotto di Piombo +eln:Lead_Ore.name=Piombo Grezzo +eln:Lead_Plate.name=Piastra di Piombo +eln:Life_Oriented_Battery.name=Batteria orientata alla Durata +eln:Light_Blue_Brush.name=Pennello Azzurro +eln:Lime_Brush.name=Pennello Lime +eln:Long_Suspended_Lamp_Socket.name=Portalampada Lungo Sospeso +eln:Low_Power_Receiver_Antenna.name=Antenna Ricevente a Bassa Potenza +eln:Low_Power_Transmitter_Antenna.name=Antenna Trasmittente a Bassa Potenza +eln:Low_Voltage_Cable.name=Cavo a Bassa Tensione +eln:Low_Voltage_Relay.name=Relè a Bassa Tensione +eln:Low_Voltage_Switch.name=Interruttore a Bassa Tensione +eln:Machine_Block.name=Blocco Macchina +eln:Machine_Booster.name=Booster Macchina +eln:Magenta_Brush.name=Pennello Magenta +eln:Medium_Power_Receiver_Antenna.name=Antenna Ricevente a Media Potenza +eln:Medium_Power_Transmitter_Antenna.name=Antenna Trasmittente a Media Potenza +eln:Medium_Voltage_Cable.name=Cavo a Media Tensione +eln:Medium_Voltage_Relay.name=Relè a Media Tensione +eln:Medium_Voltage_Switch.name=Interruttore a Media Tensione +eln:Mercury.name=Mercurio +eln:Mining_Pipe.name=Condotto Minante +eln:Modbus_RTU.name=Modbus RTU +eln:Modern_Data_Logger.name=Registratore di Dati Moderno +eln:Monster_Filter.name=Filtro Mostri +eln:MultiMeter.name=Multimetro +eln:NAND_Chip.name=Chip NAND +eln:NOR_Chip.name=Chip NOR +eln:NOT_Chip.name=Chip NOT +eln:Nuclear_Alarm.name=Allarme Nucleare +eln:OR_Chip.name=Chip OR +eln:On_OFF_Regulator_10_Percent.name=Regolatore on/off 10% +eln:On_OFF_Regulator_1_Percent.name=Regolatore on/off 1% +eln:Optimal_Ferromagnetic_Core.name=Nucleo Ferromagnetico Ottimale +eln:Orange_Brush.name=Pennello Arancione +eln:Ore_Scanner.name=Scanner di Minerali +eln:Oscillator_Chip.name=Chip Oscillatore +eln:Overheating_Protection.name=Protezione dal Surriscaldamento +eln:Overvoltage_Protection.name=Protezione da Sovratensione +eln:PAL_Chip.name=Chip PAL +eln:Pink_Brush.name=Pennello Rosa +eln:Player_Filter.name=Filtro Giocatori +eln:Portable_Battery.name=Batteria Portatile +eln:Portable_Battery_Pack.name=Pacco Batterie Portatile +eln:Portable_Condensator.name=Condensatore Portatile +eln:Portable_Condensator_Pack.name=Pacco Condensatori Portatile +eln:Portable_Electrical_Axe.name=Ascia Elettrica Portatile +eln:Portable_Electrical_Mining_Drill.name=Trapano Elettrico Portatile da Miniera +eln:Power_Capacitor.name=Condensatore di Potenza +eln:Power_Inductor.name=Induttore di Potenza +eln:Power_Resistor.name=Resistore di Potenza +eln:Power_capacitor.name=Condensatore di potenza +eln:Power_inductor.name=Induttore di potenza +eln:Purple_Brush.name=Pennello Viola +eln:Red_Brush.name=Pennello Rosso +eln:Redstone-to-Voltage_Converter.name=Convertitore Pietrarossa-Tensione +eln:Rheostat.name=Reostato +eln:Robust_Lamp_Socket.name=Portalampada Robusto +eln:Rubber.name=Gomma +eln:Schmitt_Trigger_Chip.name=Chip Trigger di Schmitt +eln:Sconce_Lamp_Socket.name=Portalampada da parete +eln:Signal_20H_inductor.name=Induttore di Segnale 20H +eln:Signal_Antenna.name=Antenna Segnale +eln:Signal_Button.name=Bottone Segnale +eln:Signal_Cable.name=Cavo Segnale +eln:Signal_Diode.name=Diodo Segnale +eln:Signal_Processor.name=Processore di Segnale +eln:Signal_Relay.name=Relè di Segnale +eln:Signal_Source.name=Fonte di Segnale +eln:Signal_Switch.name=Interruttore di Segnale +eln:Signal_Switch_with_LED.name=Interruttore di Segnale con LED +eln:Signal_Trimmer.name=Regolatore di Segnale +eln:Silicon_Dust.name=Polvere di Silicio +eln:Silicon_Ingot.name=Lingotto di Silicio +eln:Silicon_Plate.name=Piastra di Silicio +eln:Silver_Brush.name=Pennello Argento +eln:Simple_Lamp_Socket.name=Portalampada Semplice +eln:Single-use_Battery.name=Batteria monouso +eln:Small_200V_Copper_Heating_Corp.name=Corpo Riscaldante Piccolo in Rame 200V +eln:Small_200V_Iron_Heating_Corp.name=Corpo Riscaldante Piccolo in Ferro 200V +eln:Small_200V_Tungsten_Heating_Corp.name=Corpo Riscaldante Piccolo in Tungsteno 200V +eln:Small_50V_Carbon_Incandescent_Light_Bulb.name=Lampadina ad Incandescenza al Carbonio Piccola 50V +eln:Small_50V_Copper_Heating_Corp.name=Corpo Riscaldante Piccolo in Rame 50V +eln:Small_50V_Economic_Light_Bulb.name=Lampadina Economica Piccola 50V +eln:Small_50V_Incandescent_Light_Bulb.name=Lampadina ad Incandescenza Piccola 50V +eln:Small_50V_Iron_Heating_Corp.name=Corpo Riscaldante Piccolo in Ferro 50V +eln:Small_50V_Tungsten_Heating_Corp.name=Corpo Riscaldante Piccolo in Tungsteno 50V +eln:Small_Active_Thermal_Dissipator.name=Dissipatore Termico Attivo Piccolo +eln:Small_Flashlight.name=Torcia Piccola +eln:Small_Passive_Thermal_Dissipator.name=Dissipatore Termico Passivo Piccolo +eln:Small_Rotating_Solar_Panel.name=Pannello Solare Rotante Piccolo +eln:Small_Solar_Panel.name=Pannello Solare Piccolo +eln:Solar_Tracker.name=Inseguitore Solare +eln:Standard_Alarm.name=Allarme Standard +eln:Steam_Turbine.name=Turbina a Vapore +eln:Stone_Heat_Furnace.name=Fornace di Pietra per Calore +eln:Street_Light.name=Lampione +eln:Suspended_Lamp_Socket.name=Portalampada Sospeso +eln:Temperature_Probe.name=Sonda Temperatura +eln:Thermal_Probe.name=Sonda Termica +eln:Thermal_Probe_Chip.name=Chip per Sonda Termica +eln:Thermistor.name=Termistore +eln:ThermoMeter.name=Termometro +eln:Transformer.name=Trasformatore +eln:Tree_Resin.name=Resina d'Albero +eln:Tree_Resin_Collector.name=Collettore di Resina d'Albero +eln:Tungsten_Cable.name=Cavo in Tungsteno +eln:Tungsten_Dust.name=Polvere di Tungsteno +eln:Tungsten_Ingot.name=Lingotto di Tungsteno +eln:Tungsten_Ore.name=Tungsteno Grezzo +eln:Tutorial_Sign.name=Cartello Tutorial +eln:Very_High_Voltage_Cable.name=Cavo a Tensione Molto Alta +eln:Very_High_Voltage_Relay.name=Relè a Tensione Molto Alta +eln:Very_High_Voltage_Switch.name=Interruttore a Tensione Molto Alta +eln:Voltage-to-Redstone_Converter.name=Convertitore Tensione-Pietrarossa +eln:Voltage_Oriented_Battery.name=Batteria Orientata alla Tensione +eln:Voltage_Probe.name=Sonda di Tensione +eln:Water_Turbine.name=Turbina ad Acqua +eln:Weak_50V_Battery_Charger.name=Caricabatterie Debole 50V +eln:White_Brush.name=Pennello Bianco +eln:Wind_Turbine.name=Turbina a Vento +eln:Wireless_Analyser.name=Analizzatore Wireless +eln:Wireless_Button.name=Bottone Wireless +eln:Wireless_Signal_Receiver.name=Ricevitore di Segnale Wireless +eln:Wireless_Signal_Repeater.name=Ripetitore di Segnale Wireless +eln:Wireless_Signal_Transmitter.name=Trasmettitore di Segnale Wireless +eln:Wireless_Switch.name=Interruttore Wireless +eln:Wrench.name=Chiave Inglese +eln:X-Ray_Scanner.name=Scanner a Raggi X +eln:XNOR_Chip.name=Chip XNOR +eln:XOR_Chip.name=Chip XOR +eln:Yellow_Brush.name=Pennello Giallo +eln:entity.EAReplicator.name=Replicatore +eln:item.Copper Axe.name\=Ascia di Rame +eln:item.Copper Axe.name\=Ascia di Rame +eln:item.Copper Axe.name\=Ascia di Rame +eln:item.Copper Axe.name\=Ascia di Rame +eln:item.Copper Axe.name\=Ascia di Rame +eln:item.Copper Axe.name\=Ascia di Rame +eln:item.Copper Axe.name\=Ascia di Rame +eln:item.Copper Axe.name\=Ascia di Rame +eln:item.Copper Axe.name\=Ascia di Rame +eln:item.E-Coal Boots.name\=Stivali E-Carbone +eln:item.E-Coal Boots.name\=Stivali E-Carbone +eln:item.E-Coal Boots.name\=Stivali E-Carbone +eln:item.E-Coal Boots.name\=Stivali E-Carbone +eln:itemGroup.Eln=Età Elettrica +eln:mod.meta.desc=Elettricità nella tua base\! +eln:tile.eln.ElnProbe.name=Sonda Computer Eln +eln:tile.eln.EnergyConverterElnToOtherHVUBlock.name=Esportatore da Età Elettrica ad altra energia 800V +eln:tile.eln.EnergyConverterElnToOtherLVUBlock.name=Esportatore da Età Elettrica ad altra energia 50V +eln:tile.eln.EnergyConverterElnToOtherMVUBlock.name=Esportatore da Età Elettrica ad altra energia 200V +eln: +eln:# ./src/main/java/mods/eln/i18n/I18N.java +eln:You_have_%s_lives_left=Hai %s vite rimaste +eln: +eln:# ./src/main/java/mods/eln/item/BrushDescriptor.java +eln:Brush_is_dry=Il pennello è secco +eln:Can_paint_%s_blocks=Può colorare %s blocchi +eln: +eln:# ./src/main/java/mods/eln/item/CombustionChamber.java +eln:Upgrade_for_the_Stone_Heat_Furnace.=Aggiornamento per la Fornace di Pietra per Calore +eln: +eln:# ./src/main/java/mods/eln/item/ElectricalDrillDescriptor.java +eln:Energy_per_operation\:_%sJ=Energia per operazione\: %sJ +eln:Time_per_operation\:_%ss=Tempo per operazione\: %ss +eln: +eln:# ./src/main/java/mods/eln/item/FerromagneticCoreDescriptor.java +eln:Cable_loss_factor\:_%s=Fattore di perdita del cavo\: %s +eln: +eln:# ./src/main/java/mods/eln/item/HeatingCorpElement.java +eln: +eln:# ./src/main/java/mods/eln/item/LampDescriptor.java +eln:Bad=Cattivo +eln:Condition\:=Condizione\: +eln:End_of_life=Fine della vita +eln:Good=Buono +eln:New=Nuovo +eln:Nominal_lifetime\:_%sh=Durata di vita nominale\: %sh +eln:Technology\:_%s=Tecnologia\: %s +eln:Used=Usato +eln: +eln:# ./src/main/java/mods/eln/item/LampSlot.java +eln:Lamp_slot=Spazio lampadina +eln: +eln:# ./src/main/java/mods/eln/item/OverHeatingProtectionDescriptor.java +eln:Useful_to_prevent_overheating\nof_Batteries=Utile per prevenire surriscaldamenti\ndelle Batterie +eln: +eln:# ./src/main/java/mods/eln/item/OverVoltageProtectionDescriptor.java +eln:Useful_to_prevent_over-voltage\nof_Batteries=Utile per prevenire sovratensioni\ndelle Batterie +eln: +eln:# ./src/main/java/mods/eln/item/SolarTrackerDescriptor.java +eln:Solar_panel_upgrade=Aggiornamento pannello solare +eln: +eln:# ./src/main/java/mods/eln/item/electricalitem/BatteryItem.java +eln: +eln:# ./src/main/java/mods/eln/item/electricalitem/ElectricalLampItem.java +eln:Off=Spento +eln:On=Acceso +eln:State\:=Stato\: +eln:Stored_Energy\:_%sJ_(%s)=Energia accumulata\: %sJ (%s) +eln: +eln:# ./src/main/java/mods/eln/item/regulator/RegulatorSlot.java +eln: +eln:# ./src/main/java/mods/eln/misc/UtilsClient.java +eln:Hold_shift=Tieni premuto shift +eln: +eln:# ./src/main/java/mods/eln/misc/Version.java +eln:mod.name=Età Elettrica +eln: +eln:# ./src/main/java/mods/eln/node/six/SixNodeDescriptor.java +eln: +eln:# ./src/main/java/mods/eln/simplenode/energyconverter/EnergyConverterElnToOtherGui.java +eln:Input_power_is_limited_to_%sW=Potenza in entrata limitata a %sW +eln: +eln:# ./src/main/java/mods/eln/sixnode/LogicGate.kt +eln:_O\:_= O\: +eln: +eln:# ./src/main/java/mods/eln/sixnode/TreeResinCollector/TreeResinCollectorDescriptor.java +eln:Produces_Tree_Resin_over\ntime_when_put_on_a_tree.=Produce Resina d'Albero man\nmano quando posto su un albero. +eln:This_block_can_only_be_placed_on_the_side_of_a_tree!=Questo blocco può essere piazzato solo sul tronco di un albero\! +eln: +eln:# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerContainer.java +eln:Battery_slot=Spazio batteria +eln: +eln:# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerDescriptor.java +eln:Can_be_used_to_recharge\nelectrical_items_like\:\nFlash_Light,_X-Ray_scanner\nand_Portable_Battery_...=Può essere usato per ricaricare\noggetti elettrici come\:\nTorcia Elettrica, Scanner a Raggi X\ne Batteria Portatile ... +eln: +eln:# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerGui.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/diode/DiodeDescriptor.java +eln:Electrical_current_can_only\nflow_through_the_diode\nfrom_anode_to_cathode=La corrente elettrica può\ncircolare attraverso il diodo\nsolo dall'anodo al catodo +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalalarm/ElectricalAlarmDescriptor.java +eln:= +eln:Emits_an_acoustic_alarm_if\nthe_input_signal_is_high=Emette un allarme acustico se\nil segnale in ingresso è alto +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalalarm/ElectricalAlarmGui.java +eln:Sound_is_muted=Il suono è mutato +eln:Sound_is_not_muted=Il suono non è mutato +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerContainer.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerDescriptor.java +eln:Protects_electrical_components\nOpens_contact_if\:\n__-_Voltage_exceeds_a_certain_level\n-_Current_exceeds_the_cable_limit=Protegge componenti elettriche\nApre il contatto se\:\n- La tensione supera un certo livello\n- La corrente supera il limite del cavo +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerGui.java +eln:Maximum_voltage_before_cutting_off=Tensione massima prima di staccare +eln:Minimum_voltage_before_cutting_off=Tensione minima prima di staccare +eln:Switch_is_off=L'interruttore è spento +eln:Switch_is_on=L'interruttore è acceso +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalcable/ElectricalCableDescriptor.java +eln:A_signal_is_electrical_information\nwhich_must_be_between_0V_and_%sV=Un segnale è un'informazione elettrica\nche deve essere tra 0V e %sV +eln:Cable_is_adapted_to_conduct\nelectrical_signals.=Il cavo è adattato per condurre\nsegnali elettrici. +eln:Current\:_%sA=Corrente\: %sA +eln:Not_adapted_to_transport_power.=Non adattato a trasportare potenza. +eln:Save_usage\:=Risparmia uso\: +eln:Serial_resistance\:_%sΩ=Resistenza in serie\: %sΩ +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerDescriptor.java +eln:It_can_store_up_to_256_points.=Può contenere fino a 256 punti. +eln:Measures_the_voltage_of_an\nelectrical_signal_and_plots\nthe_data_in_real_time.=Misura la tensione di un\nsegnale elettrico e traccia\ni dati in tempo reale. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerGui.java +eln:Back_to_display=Ritorna al display +eln:Configuration=Configurazione +eln:Current_[A]=Corrente [A] +eln:Energy_[J]=Energia [J] +eln:Percent_[-]%=Percentuale [-]% +eln:Power_[W]=Potenza [W] +eln:Print=Stampa +eln:Sampling_period=Periodo di campionamento +eln:Temp._[*C]=Temp. [*C] +eln:Voltage_[V]=Tensione [V] +eln:Y-axis_max=Massimo asse Y +eln:Y-axis_min=Minimo asse Y +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorContainer.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorDescriptor.java +eln:Output_voltage_increases\nif_entities_are_moving_around.=La tensione in uscita aumenta\nse delle entità si muovono intorno. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalfiredetector/ElectricalFireDetectorDescriptor.java +eln:Output_voltage_increases\nif_a_fire_has_been_detected.=La tensione in uscita aumenta\nse un fuoco viene rilevato. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceDescriptor.java +eln:Provides_configurable_signal\nvoltage.=Fornisce un segnale di tensione\nconfigurabile. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceGui.java +eln:Output_at_%s=Output al %s +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricallightsensor/ElectricalLightSensorDescriptor.java +eln:0V_at_night,_%sV_at_noon.=0V di notte, %sV a mezzogiorno. +eln:Provides_an_electrical_voltage\nin_the_presence_of_light.=Fornisce una tensione elettrica\nin presenza di luce. +eln:Provides_an_electrical_voltage\nwhich_is_proportional_to\nthe_intensity_of_daylight.=Fornisce una tensione elettrica\nproporzionale all'intensità\ndella luce del giorno. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathContainer.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathDescriptor.java +eln:Applicable_boolean_operators\:=Operatori booleani applicabili\: +eln:Applicable_functions\:=Funzioni applicabili\: +eln:Applicable_mathematical_operators\:=Operatori matematici applicabili\: +eln:Calculates_an_output_signal_from\n3_inputs_(A,_B,_C)_using_an_equation.=Calcola un segnale in uscita da\n3 in ingresso(A, B, C) usando una\nequazione. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathGui.java +eln:%s_Redstone(s)_required=%s Pietrarossa richiesta/e +eln:Equation_required!=Equazione richiesta\! +eln:Inputs_are=Gli input sono +eln:Invalid_equation!=Equazione non valida\! +eln:Output_voltage_formula=Formula della tensione in uscita +eln:Waiting_for_completion...=Aspettando il completamento... +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalredstoneinput/ElectricalRedstoneInputDescriptor.java +eln:Converts_Redstone_signal\nto_an_electrical_voltage.=Converte segnale Pietrarossa\nin tensione elettrica. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalredstoneoutput/ElectricalRedstoneOutputDescriptor.java +eln:Converts_electrical_voltage\ninto_a_Redstone_signal.=Converte tensione elettrica\nin un segnale Pietrarossa. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalrelay/ElectricalRelayDescriptor.java +eln:A_relay_is_an_electrical\ncontact_that_conducts_electric\ncurrent_or_not,_depending\nthe_actual_input_signal_voltage.=Un relè è un contatto\nelettrico che conduce corrente\nelettrica a seconda della\ntensione del segnale in entrata. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalrelay/ElectricalRelayGui.java +eln:Normally_closed=Normalmente chiuso +eln:Normally_open=Normalmente aperto +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalsource/ElectricalSourceDescriptor.java +eln:Creative_block.=Blocco modalità creativa. +eln:Provides_an_ideal_voltage_source\nwithout_energy_or_power_limitation.=Fornisce una fonte di tensione ideale\nsenza limite di energia o potenza. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalsource/ElectricalSourceGui.java +eln:Output_voltage=Tensione in uscita +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalswitch/ElectricalSwitchDescriptor.java +eln:Can_break_an_electrical_circuit\ninterrupting_the_current.=Può rompere un circuito elettrico\ninterrompendo la corrente. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricaltimeout/ElectricalTimeoutDescriptor.java +eln:Upon_application_of_a_high_signal,\nthe_timer_maintains_the_output_high_for\na_configurable_interval._Can_be_re-triggered.=Fino all'applicazione di un segnale alto,\nil timer mantiene l'output alto per un\nintervallo configurabile. Può essere re-innescato. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricaltimeout/ElectricalTimeoutGui.java +eln:Set=Imposta +eln:The_time_interval_the\noutput_is_kept_high.=L'intervallo di tempo in cui\nl'output è mantenuto alto. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalvumeter/ElectricalVuMeterDescriptor.java +eln:Displays_the_value_of_a_signal.=Mostra il valore di un segnale. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalwatch/ElectricalWatchContainer.java +eln:Portable_battery_slot=Spazio batteria portatile +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalweathersensor/ElectricalWeatherSensorDescriptor.java +eln:Clear\:_%sV=Cielo terso\: %sV +eln:Provides_an_electrical_signal\ndepending_the_actual_weather.=Fornisce un segnale elettrico\na seconda del tempo atmosferico. +eln:Rain\:_%sV=Pioggia\: %sV +eln:Storm\:_%sV=Tempesta\: %sV +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalwindsensor/ElectricalWindSensorDescriptor.java +eln:Maximum_wind_speed_is_%sm_s=La massima velocità del vento è %sm/s +eln:Provides_an_electrical_signal\ndependant_on_wind_speed.=Fornisce un segnale elettrico\nsecondo la velocità del vento. +eln:You_can't_place_this_block_on_the_floor_or_the_ceiling=Non puoi piazzare questo blocco sul pavimento o sul soffitto +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricasensor/ElectricalSensorDescriptor.java +eln:Can_measure_Voltage_Power_Current=Può misurare Tensione/Potenza/Corrente +eln:Measures_electrical_values_on_cables.=Misura i valori elettrici sui cavi. +eln:Measures_voltage_on_cables.=Misura la tensione sui cavi. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricasensor/ElectricalSensorGui.java +eln:Current=Corrente +eln:Measured_voltage\ncorresponding\nto_0%_output=Tensione misurata\ncorrispondente\nal 0% dell'output +eln:Measured_voltage\ncorresponding\nto_100%_output=Tensione misurata\ncorrispondente\nal 100% dell'output +eln:Voltage=Tensione +eln: +eln:# ./src/main/java/mods/eln/sixnode/energymeter/EnergyMeterGui.java +eln:Change_password=Cambia password +eln:Counter_Mode=Modalità Contatore +eln:Counts_the_energy_conducted_from\n\u00a74red\u00a7f_to_\u00a71blue\u00a7f.=Conta l'energia condotta da\n\\u00a74red\\u00a7f a \\u00a71blue\\u00a7f. +eln:Energy_counter\:_%sJ=Contatore energia\: %sJ +eln:Enter_new_energy=Digita una nuova energia +eln:Enter_password=Digita la password +eln:Prepay_Mode=Modalità pagamento anticipato +eln:Reset_time_counter=Resetta contatore tempo +eln:Set_energy_counter=Imposta contatore energia +eln:Time_counter\:=Contatore tempo\: +eln:Try_password=Prova la password +eln:You_can_set_an_initial\namount_of_available_energy.\nWhen_the_counter_arrives_at_0\nthe_contact_will_be_opened.=Puoi impostare una quantità\niniziale di energia disponibile.\nQuando il contatore arriva a 0\nil contatto verrà aperto. +eln:is_off=è spento +eln:is_on=è acceso +eln:value_in_kJ=valore in kJ +eln: +eln:# ./src/main/java/mods/eln/sixnode/groundcable/GroundCableDescriptor.java +eln:Can_be_used_to_set_a_point_of_an\nelectrical_network_to_0V_potential.\nFor_example_to_ground_negative_battery_contacts.=Può essere usato per impostare la punta\ndi una rete elettrica a 0V di potenziale.\nPer esempio per mettere a terra i contatti negativi di una batteria. +eln:Provides_a_zero_volt_reference.=Fornisce una referenza di 0 volt. +eln: +eln:# ./src/main/java/mods/eln/sixnode/hub/HubDescriptor.java +eln:Allows_crossing_cables\non_one_single_block.=Permette l'incrocio di cavi\nin un singolo blocco. +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketDescriptor.java +eln:Angle\:_%s°_to_%s°=Angolo\: %s° fino a %s° +eln:Spot_range\:_%s_blocks=Raggio riflettore\: %s blocchi +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketGuiDraw.java +eln:%s_is_not_in_range!=%s non è alla portata\! +eln:Cable_slot_empty=Spazio cavo vuoto +eln:Orientation\:_%s°=Orientamento\: %s° +eln:Parallel=Parallelo +eln:Powered_by_Lamp_Supply=Alimentato dall'Erogatore per Lampade +eln:Powered_by_cable=Alimentato da cavo +eln:Serial=Seriale +eln:Specify_the_supply_channel=Specifica il canale dell'alimentazione +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyContainer.java +eln:Electrical_cable_slot\nBase_range_is_32_blocks.\nEach_additional_cable\nincreases_range_by_one.=Spazio cavo elettrico\nIl raggio di base è 32 blocchi.\nOgni cavo aggiunto\naumenta il raggio di uno. +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyDescriptor.java +eln:Supplies_all_lamps_on_the_channel.=Alimenta tutte le lampadine sul canale. +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyGui.java +eln:Power_channel_name=Nome canale potenza +eln:Wireless_channel_name=Nome canale wireless +eln: +eln:# ./src/main/java/mods/eln/sixnode/modbusrtu/ModbusRtuGui.java +eln:Add=Aggiungi +eln:Channel_name=Nome canale +eln:Modbus_ID=ID Modbus +eln:Modbus_RTU=Modbus RTU +eln:Station_ID=ID Stazione +eln:Station_name=Nome stazione +eln:Wireless_RX=Wireless RX +eln:Wireless_TX=Wireless TX +eln: +eln:# ./src/main/java/mods/eln/sixnode/powercapacitorsix/PowerCapacitorSixContainer.java +eln:(Increases_maximum_voltage)=(Aumenta la tensione massima) +eln: +eln:# ./src/main/java/mods/eln/sixnode/powercapacitorsix/PowerCapacitorSixGui.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/powerinductorsix/PowerInductorSixContainer.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/powerinductorsix/PowerInductorSixGui.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/powersocket/PowerSocketDescriptor.java +eln:Supplies_any_device\nplugged_in_with_energy.=Alimenta ogni dispositivo\ninserito con energia. +eln: +eln:# ./src/main/java/mods/eln/sixnode/powersocket/PowerSocketGui.java +eln:Specify_the_device_to_supply_through_this_socket.=Specifica il dispositivo da alimentare con questa presa. +eln: +eln:# ./src/main/java/mods/eln/sixnode/resistor/ResistorContainer.java +eln:(Sets_resistance)=(Imposta la resistenza) +eln:Coal_dust_slot=Spazio polvere di carbone +eln: +eln:# ./src/main/java/mods/eln/sixnode/thermalcable/ThermalCableDescriptor.java +eln:High_parallel_resistance\n_\=>_Low_power_dissipation.=Alta resistenza in parallelo\n\=> Basso spreco di potenza. +eln:Low_serial_resistance\n_\=>_High_conductivity.=Bassa resistenza seriale\n\=> Alta conducibilità. +eln:Parallel_resistance\:_%sK_W=Resistenza in parallelo\: %sK/W +eln:Serial_resistance\:_%sK_W=Resistenza in serie\: %sK/W +eln: +eln:# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorContainer.java +eln:Cable_slot=Spazio cavo +eln: +eln:# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorDescriptor.java +eln:Can_measure\:=Può misurare\: +eln:Measures_temperature_of_cables.=Misura la temperatura dei cavi. +eln:Measures_thermal_values_on_cables.=Misura valori termici sui cavi. +eln:__Temperature_Power_conducted=Temperatura/Potenza condotta +eln: +eln:# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorGui.java +eln:Measured_temperature\ncorresponding\nto_0%_output=Temperatura misurata\ncorrispondente\nallo 0% dell'output +eln:Measured_temperature\ncorresponding\nto_100%_output=Temperatura misurata\ncorrispondente\nal 100% dell'output +eln:Temperature=Temperatura +eln: +eln:# ./src/main/java/mods/eln/sixnode/tutorialsign/TutorialSignElement.java +eln:No_text_associated_to_this_beacon=Nessun testo associato a questo faro +eln: +eln:# ./src/main/java/mods/eln/sixnode/tutorialsign/TutorialSignGui.java +eln:Set_beacon_name=Imposta nome faro +eln: +eln:# ./src/main/java/mods/eln/sixnode/wirelesssignal/rx/WirelessSignalRxGui.java +eln: +eln:# ./src/main/java/mods/eln/transparentnode/FuelGenerator.kt +eln:Nominal_power\:_%s_W=Potenza nominale\: %s W +eln:Nominal_voltage\:_%s_V=Tensione nominale\: %s V +eln:Produces_electricity_using_fuel.=Produce elettricità usando carburante. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/LargeRheostat.kt +eln:Nom._Resistance\:_%s=Resistenza nom. \: %s +eln: +eln:# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerContainer.java +eln:Drill_slot=Spazio trapano +eln:Mining_pipe_slot=Spazio condotto minante +eln:Ore_scanner_slot=Spazio scanner di minerali +eln: +eln:# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerDescriptor.java +eln:Excavates_on_a_small_radius.\nExtracts_ore_on_a_bigger_radius\:\n10_blocks_radius_after_10_blocks_depth.=Scava entro un piccolo raggio.\nEstrae minerali entro un raggio maggiore\:\nraggio di 10 blocchi oltre 10 blocchi di profondità. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerGuiDraw.java +eln:Chest_missing_on_the\nback_of_the_auto_miner!=Cassa mancante sul retro\ndel minatore automatico\! +eln:Halves_speed,_triples_power_draw=Dimezza la velocità, triplica l'assorbimento di potenza +eln:Silk_Touch_Off=Tocco di velluto disattivo +eln:Silk_Touch_On=Tocco di velluto attivo +eln:Silk_touch=Tocco di velluto +eln: +eln:# ./src/main/java/mods/eln/transparentnode/battery/BatteryContainer.java +eln:Overheating_protection=Protezione dal surriscaldamento +eln:Overvoltage_protection=Protezione da sovratensione +eln: +eln:# ./src/main/java/mods/eln/transparentnode/battery/BatteryDescriptor.java +eln:Actual_charge\:_%s=Carica effettiva\: %s +eln:Energy_capacity\:_%sJ=Capacità energetica\: %sJ +eln:_charged_at_%s=carico al %s +eln: +eln:# ./src/main/java/mods/eln/transparentnode/battery/BatteryGuiDraw.java +eln:Charge=Carica +eln:Charged=Carico +eln:Discharge=Scarica +eln:Energy\:=Energia\: +eln:Energy\:_%s=Energia\: %s +eln:Life\:=Vita\: +eln:No_charge=Nessuna carica +eln:Power_in\:=Potenza in ingresso\: +eln:Power_out\:=Potenza in uscita\: +eln: +eln:# ./src/main/java/mods/eln/transparentnode/eggincubator/EggIncubatorContainer.java +eln:Egg_slot=Spazio uovo +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalantennarx/ElectricalAntennaRxDescriptor.java +eln:Wireless_energy_receiver.=Ricevitore di energia wireless. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalantennatx/ElectricalAntennaTxDescriptor.java +eln:Efficiency\:_%s_up_to_%s=Efficienza\: %s fino a %s +eln:Wireless_energy_transmitter.=Trasmettitore di energia wireless. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceContainer.java +eln:Heating_corp_slot=Spazio per il corpo riscaldante +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceDescriptor.java +eln:Similar_to_a_vanilla_furnace,\nbut_heats_with_electricity.=Simile ad una fornace vanilla,\nma riscalda con l'elettricità. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceGuiDraw.java +eln:Auto_shutdown=Spegnimento automatico +eln:Manual_shutdown=Spegnimento manuale +eln:Set_point\:_%s°C=Imposta punto\: %s°C +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalmachine/ElectricalMachineDescriptor.java +eln:Cost=Costo +eln: +eln:# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceContainer.java +eln:Combustion_chamber_slot=Spazio camera di combustione +eln:Fuel_slot=Spazio carburante +eln: +eln:# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceDescriptor.java +eln:Generates_heat_when_supplied_with_fuel.=Genera calore quando rifornito di carburante. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceGuiDraw.java +eln:Control_gauge_at_%s=Misuratore di controllo al %s +eln:Decline_fuel=Diminuisci carburante +eln:External_control=Controllo esterno +eln:Internal_control=Controllo interno +eln:Take_fuel=Prendi carburante +eln: +eln:# ./src/main/java/mods/eln/transparentnode/powercapacitor/PowerCapacitorContainer.java +eln:(Increases_maximal_voltage)=(Aumenta la tensione massima) +eln: +eln:# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelContainer.java +eln:Solar_tracker_slot=Spazio inseguitore solare +eln: +eln:# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelDescriptor.java +eln:Can_be_geared_towards_the_sun.=Può essere orientato verso il sole. +eln:Max._power\:_%sW=Potenza massima\: %sW +eln:Max._voltage\:_%sV=Tensione massima\: %sV +eln:Produces_power_from_solar_radiation.=Produce potenza dalla radiazione solare. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPannelGuiDraw.java +eln:It_is_night=È notte +eln:Solar_panel_angle\:_%s°=Angolo pannello solare\: %s° +eln:Sun_angle\:_%s°=Angolo sole\: %s° +eln: +eln:# ./src/main/java/mods/eln/transparentnode/teleporter/TeleporterGui.java +eln:Destination_transporter=Trasportatore di destinazione +eln:Power_consumption\:=Consumo di potenza\: +eln:Power_consumption\:_%sW=Consumo di potenza\: %sW +eln:Required_energy\:_%sJ=Energia richiesta\: %sJ +eln:Start=Inizia +eln:Transporter_name=Nome trasportatore +eln: +eln:# ./src/main/java/mods/eln/transparentnode/thermaldissipatoractive/ThermalDissipatorActiveDescriptor.java +eln:Fan_cooling_power\:_%sW=Potenza ventola di raffreddamento\: %sW +eln:Fan_power_consumption\:_%sW=Consumo di potenza della ventola\: %sW +eln:Fan_voltage\:_%sV=Tensione ventola\: %sV +eln: +eln:# ./src/main/java/mods/eln/transparentnode/transformer/TransformerDescriptor.java +eln:The_voltage_ratio_is_proportional\nto_the_cable_stacks_count_ratio.=Il rapporto della tensione è proporzionale\nal rapporto della somma delle pile di cavi. +eln:Transforms_an_input_voltage_to\nan_output_voltage.=Trasforma una tensione in ingresso\nin una tensione in uscita. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/turbine/TurbineDescriptor.java +eln:Generates_electricity_using_heat.=Genera elettricità usando calore. +eln:Temperature_difference\:_%s°C=Differenza di temperatura\: %s°C +eln: +eln:# ./src/main/java/mods/eln/transparentnode/turret/TurretDescriptor.java +eln:CAUTION\:_Cables_can_get_quite_hot!=ATTENZIONE\: I cavi possono diventare piuttosto caldi\! +eln:Laser_charge_power\:_%sW...%skW=Potenza della carica del laser\: %sW...%skW +eln:Scans_for_entities_and_shoots_if_the\nentity_matches_the_configurable_filter_criteria.=Cerca entità e spara se l'entità\ncorrisponde ai criteri del filtro configurabile. +eln:Standby_power\:_%sW=Consumo in stand-by\: %sW +eln: +eln:# ./src/main/java/mods/eln/transparentnode/turret/TurretGui.java +eln:Attack\:=Attacca\: +eln:Do_not_attack\:=Non attacca\: +eln:Recharge_power\:=Potenza di ricarica\: +eln: +eln:# ./src/main/java/mods/eln/transparentnode/waterturbine/WaterTurbineDescriptor.java +eln:Generates_energy_using_water_stream.=Genera energia usando un flusso d'acqua. +eln:No_place_for_water_turbine!=Non c'è spazio per la turbina ad acqua\! +eln: +eln:# ./src/main/java/mods/eln/transparentnode/windturbine/WindTurbineDescriptor.java +eln:Front\:_%s=Facciata\: %s +eln:Generates_energy_from_wind.=Genera energia dal vento. +eln:Left_Right\:_%s=Sinistra/Destra\: %s +eln:Up_Down\:_%s=Su/Giù\: %s +eln:Wind_area\:=Area del vento\: +eln: +eln:# ./src/main/java/mods/eln/wiki/Data.java +eln:Energy=Energia +eln:Light=Luce +eln:Machine=Macchina +eln:Ore=Minerale +eln:Portable=Portatile +eln:Resource=Risorsa +eln:Signal=Segnale +eln:Thermal=Termico +eln:Upgrade=Aggiornamento +eln:Utilities=Utilità +eln:Wiring=Cablaggio +eln: +eln:# ./src/main/java/mods/eln/wiki/Default.java +eln:Previous=Indietro +eln: +eln:# ./src/main/java/mods/eln/wiki/ItemDefault.java +eln:Can_be_used_to_craft\:=Può essere usato per craftare\: +eln:Cannot_be_crafted!=Non può essere craftato\! +eln:Cost_%sJ=Costo %sJ +eln:Created_by\:=Creato da\: +eln:Is_not_a_crafting_material!=Non è un materiale da crafting\! +eln:Recipe\:=Ricetta\: +eln: +eln:# Appearing in multiple source files +eln:(Increases_capacity)=(Aumenta la capacità) +eln:(Increases_inductance)=(Aumenta l'induttanza) +eln:Actual\:_%s°C=Attuale\: %s°C +eln:Biggest=Il più grande +eln:Booster_slot=Spazio booster +eln:Can_create\:=Può creare\: +eln:Capacity\:_%sF=Capacità\: %sF +eln:Charge_power\:_%sW=Potenza di carica\: %sW +eln:Connected=Connesso +eln:Cooling_power\:_%sW=Potenza di raffreddamento\: %sW +eln:Copper_cable_slot=Spazio cavo di rame +eln:Dielectric_slot=Spazio dielettrico +eln:Discharge_power\:_%sW=Potenza di scarica\: %sW +eln:Electrical_cable_slot=Spazio cavo elettrico +eln:Entity_filter_slot=Spazio filtro entità +eln:Ferromagnetic_core_slot=Spazio nucleo ferromagnetico +eln:Has_a_signal_output.=Ha un segnale in uscita. +eln:Inductance\:_%sH=Induttanza\: %sH +eln:Internal_resistance\:_%sΩ=Resistenza interna\: %sΩ +eln:Is_off=È spento +eln:Is_on=È acceso +eln:Max._temperature\:_%s°C=Temperatura max.\: %s°C +eln:Measured_value\ncorresponding\nto_0%_output=Valore misurato\ncorrispondente\nallo 0% dell'output +eln:Measured_value\ncorresponding\nto_100%_output=Valore misurato\ncorrispondente\nal 100% dell'output +eln:Nominal\:=Nominale\: +eln:Nominal_power\:_%sW=Potenza nominale\: %sW +eln:Nominal_usage\:=Uso nominale\: +eln:Nominal_voltage\:_%sV=Tensione nominale\: %sV +eln:Not_connected=Non connesso +eln:Not_enough_space_for_this_block=Non c'è abbastanza spazio per questo blocco +eln:Power=Potenza +eln:Power\:_%sW=Potenza\: %sW +eln:Range\:_%s_blocks=Raggio\: %s blocchi +eln:Redstone_slot=Spazio pietrarossa +eln:Regulator_slot=Spazio regolatore +eln:Reset=Resetta +eln:Resistance\:_%sΩ=Resistenza\: %sΩ +eln:Smallest=Il più piccolo +eln:Specify_the_channel=Specifica il canale +eln:Stored_energy\:_%sJ_(%s)=Energia accumulata\: %sJ (%s) +eln:Temperature\:_%s°C=Temperatura\: %s°C +eln:Temperature_gauge=Misuratore temperatura +eln:Thermal_isolator_slot=Spazio per l'isolatore termico +eln:Toggle=Inverti lo stato +eln:Toggle_switch=Inverti interruttore +eln:Toggles_the_output_each_time\nan_emitter's_value_rises.\nUseful_to_allow_multiple_buttons\nto_control_the_same_light.=Inverte l'output ogni volta che\nun valore d'emettitore aumenta.\nUtile per permettere a più bottoni\ndi controllare la stessa luce. +eln:Used_to_cool_down_turbines.=Usato per raffreddare le turbine. +eln:Uses_the_biggest\nvalue_on_the_channel.=Usa il valore più\ngrande sul canale. +eln:Uses_the_smallest\nvalue_on_the_channel.=Usa il valore più\npiccolo sul canale. +eln:Validate=Convalida +eln:Voltage\:_%sV=Tensione\: %sV +eln:You_can't_place_this_block_at_this_side=Non puoi piazzare questo blocco su questo lato diff --git a/src/main/resources/assets/eln/lang/nl.lang b/src/main/resources/assets/eln/lang/nl.lang index 8eb7c816e..ffb73607c 100644 --- a/src/main/resources/assets/eln/lang/nl.lang +++ b/src/main/resources/assets/eln/lang/nl.lang @@ -1,829 +1,829 @@ -# - -# ./src/main/java/mods/eln/Achievements.java -Electrical_Age_[WIP]=Elektrische Eeuw [WIP] -achievement.craft_50v_macerator=Verbrijzeling Beginner -achievement.craft_50v_macerator.desc=Maak een 50V Versnipperaar -achievement.open_guide=Wiki Power -achievement.open_guide.desc=Open de wiki handleiding - -# ./src/main/java/mods/eln/Eln.java -10A_Diode.name=10A Diode -200V_Active_Thermal_Dissipator.name=200V Actieve Koeling -200V_Battery_Charger.name=200V Accu Lader -200V_Compressor.name=200V Compressor -200V_Condensator.name=200V Condensator -200V_Copper_Heating_Corp.name=200V Koperen Verhittingsspoel -200V_Economic_Light_Bulb.name=200V Spaarlamp -200V_Farming_Lamp.name=200V Boerderijlamp -200V_Fuel_Generator.name=200V Brandstofgenerator -200V_Incandescent_Light_Bulb.name=200V Gloeilamp -200V_Iron_Heating_Corp.name=200V Ijzeren Verhittingsspoel -200V_LED_Bulb.name=200V LED Lamp -200V_Macerator.name=200V Versnipperaar -200V_Magnetizer.name=200V Magnetiseringsunit -200V_Plate_Machine.name=200V Platenwals -200V_Power_Socket.name=200V Stopcontact -200V_Tungsten_Heating_Corp.name=200V Wolfraam Verhittingsspoel -200V_Turbine.name=200V Turbine -25A_Diode.name=25A Diode -50V_Battery_Charger.name=50V Accu Lader -50V_Carbon_Incandescent_Light_Bulb.name=50V Koolstof Gloeilamp -50V_Compressor.name=50V Compressor -50V_Condensator.name=50V Condensator -50V_Copper_Heating_Corp.name=50V Koperen Verhittingsspoel -50V_Economic_Light_Bulb.name=50V Spaarlamp -50V_Egg_Incubator.name=50V Broedlamp -50V_Farming_Lamp.name=50V Boerderij lamp -50V_Fuel_Generator.name=50V Brandstofgenerator -50V_Incandescent_Light_Bulb.name=50V Gloeilamp -50V_Iron_Heating_Corp.name=50V Ijzeren Verhittingsspoel -50V_LED_Bulb.name=50V LED Lamp -50V_Macerator.name=50V Versnipperaar -50V_Magnetizer.name=50V Magnetiseringsunit -50V_Plate_Machine.name=50V Platenwals -50V_Power_Socket.name=50V Stopcontact -50V_Tungsten_Heating_Corp.name=50V Wolfraam Verhittingsspoel -50V_Turbine.name=50V Turbine -800V_Defence_Turret.name=800V Verdedigingstoren -AND_Chip.name=AND Chip -Advanced_Chip.name=Geavanceerde Chip -Advanced_Electrical_Motor.name=Geavanceerde Elektrische Motor -Advanced_Energy_Meter.name=Geavanceerde Elektrische Meter -Advanced_Machine_Block.name=Geavanceerd Machineblok -Advanced_Magnet.name=Geavanceerde Magneet -AllMeter.name=Universeelmeter -Alloy_Dust.name=Legering Stof -Alloy_Ingot.name=Legering Staaf -Alloy_Plate.name=Legering Plaat -Analog_Watch.name=Analoog Horloge -Analog_vuMeter.name=Analoge Meter -Analogic_Regulator.name=Analoge Regulator -Animal_Filter.name=Dierenfilter -Auto_Miner.name=Automatische Graver -Average_Electrical_Drill.name=Gemiddelde Electrische Boor -Average_Ferromagnetic_Core.name=Gemiddelde Ferromagnetische Kern -Basic_Magnet.name=Basis Magneet -Black_Brush.name=Zwarte Kwast -Blue_Brush.name=Blauwe Kwast -Brown_Brush.name=Bruine Kwast -Capacity_Oriented_Battery.name=Capaciteitsgerichte Accu -Cheap_Chip.name=Goedkope Chip -Cheap_Electrical_Drill.name=Goedkope Elektrische Boor -Cheap_Ferromagnetic_Core.name=Goedkope Ferromagnetische Kern -Cinnabar_Dust.name=Cinnaber Stof -Cinnabar_Ore.name=Cinnaber Erts -Coal_Dust.name=Kolenstof -Coal_Plate.name=Kolen Plaat -Combustion_Chamber.name=Ontbrandingskamer -Copper_Cable.name=Koperen Kabel -Copper_Dust.name=Koperstof -Copper_Ingot.name=Koperen Staaf -Copper_Ore.name=Kopererts -Copper_Plate.name=Koperen Plaat -Copper_Thermal_Cable.name=Koperen Hittegeleidingskabel -Cost_Oriented_Battery.name=Kostengerichte Accu -Current_Oriented_Battery.name=Ampèragegerichte Accu -Cyan_Brush.name=Cyaan Kwast -D_Flip_Flop_Chip.name=D Flip Flop Chip -Data_Logger.name=Datalogger -Data_Logger_Print.name=Datalogger Uitdraai -Dielectric.name=Diëlektricum -Digital_Watch.name=Digitaal Horloge -Electrical_Anemometer_Sensor.name=Elektrische Anemometer Sensor -Electrical_Breaker.name=Elektrische Zekeringsautomaat -Electrical_Daylight_Sensor.name=Elektrische Daglichtsensor -Electrical_Entity_Sensor.name=Elektrische Entity Sensor -Electrical_Fire_Detector.name=Elektrische Vuur Sensor -Electrical_Furnace.name=Elektrische Oven -Electrical_Light_Sensor.name=Elektrische Lichtsensor -Electrical_Motor.name=Elektrische Motor -Electrical_Probe.name=Elektriciteitssonde -Electrical_Probe_Chip.name=Elektriciteitssonde Chip -Electrical_Source.name=Elektrische Bron -Electrical_Timer.name=Elektrische Timer -Electrical_Weather_Sensor.name=Elektrische Weersensor -Electrical_age_wrench,\nCan_be_used_to_turn\nsmall_wall_blocks=Elektrische Eeuw moersleutel\nKan gebruikt worden om\nkleine wandblokken te draaien. -Energy_Meter.name=Energiemeter -Experimental_Transporter.name=Experimentele Transporteur -Fast_Electrical_Drill.name=Snelle Elektrische Boor -Ferrite_Ingot.name=Ferriet Staaf -Flat_Lamp_Socket.name=Platte Lamp Socket -Fluorescent_Lamp_Socket.name=Fluorescentielamp Socket -Generator.name=Generator -Gold_Dust.name=Goudstof -Gold_Plate.name=Gouden Plaat -Gray_Brush.name=Grijze Kwast -Green_Brush.name=Groene Kwast -Ground_Cable.name=Aardingskabel -High_Power_Receiver_Antenna.name=Sterk Vermogen Onvangstantenne -High_Power_Transmitter_Antenna.name=Sterk Vermogen Zendantenne -High_Voltage_Cable.name=Hoogspanningskabel -High_Voltage_Relay.name=Hoogspanningsrelais -High_Voltage_Switch.name=Hoogspanningsschakelaar -Hub.name=Hub -Industrial_Data_Logger.name=Industriële Datalogger -Iron_Cable.name=Ijzeren Kabel -Iron_Dust.name=Ijzerstof -Iron_Plate.name=Ijzeren Plaat -JK_Flip_Flop_Chip.name=JK Flip Flop Chip -LED_vuMeter.name=LED vuMeter -Lamp_Socket_A.name=Lamp Socket A -Lamp_Socket_B_Projector.name=Lamp Socket B Projector -Lamp_Supply.name=Lamp Voeiding -Large_Rheostat.name=Grote Potentiometer -Lead_Dust.name=Lood Stof -Lead_Ingot.name=Loden Staaf -Lead_Ore.name=Looderts -Lead_Plate.name=Loden Plaat -Life_Oriented_Battery.name=Levensduurgerichte Accu -Light_Blue_Brush.name=Lichtblauwe Kwast -Lime_Brush.name=Limoen Kwast -Long_Suspended_Lamp_Socket.name=Lange Hangende Lamp Socket -Low_Power_Receiver_Antenna.name=Zwak Vermogen Ontvangstantenne -Low_Power_Transmitter_Antenna.name=Zwak Vermogen Zendantenne -Low_Voltage_Cable.name=Laagspanningskabel -Low_Voltage_Relay.name=Laagspanningsrelais -Low_Voltage_Switch.name=Laagspanningschakelaar -Machine_Block.name=Machine Blok -Machine_Booster.name=Machine Versterker -Magenta_Brush.name=Magenta Kwast -Medium_Power_Receiver_Antenna.name=Normaal Vermogen Ontvangstantenne -Medium_Power_Transmitter_Antenna.name=Normaal Vermogen Zendantenne -Medium_Voltage_Cable.name=Normale Spanningskabel -Medium_Voltage_Relay.name=Normale Spanningsrelais -Medium_Voltage_Switch.name=Normale Spanningsschakelaar -Mercury.name=Kwik -Mining_Pipe.name=Graafpijp -Modbus_RTU.name=Modbus RTU -Modern_Data_Logger.name=Moderne Datalogger -Monster_Filter.name=Monster Filter -MultiMeter.name=Multimeter -NAND_Chip.name=NAND Chip -NOR_Chip.name=NOR Chip -NOT_Chip.name=NOT Chip -Nuclear_Alarm.name=Nucleair Alarm -OR_Chip.name=OR Chip -On_OFF_Regulator_10_Percent.name=Aan/Uit regelaar 10% -On_OFF_Regulator_1_Percent.name=Aan/Uit regelaar 1% -Optimal_Ferromagnetic_Core.name=Optimale Ferromagnetische Kern -Orange_Brush.name=Oranje Kwast -Ore_Scanner.name=Erts Scanner -Oscillator_Chip.name=Oscillator Chip -Overheating_Protection.name=Bescherming Tegen Oververhitting -Overvoltage_Protection.name=Bescherming Tegen Overvoltage -PAL_Chip.name=PAL Chip -Pink_Brush.name=Roze Kwast -Player_Filter.name=Speler Filter -Portable_Battery.name=Draagbare Accu -Portable_Battery_Pack.name=Draagbaar Accupakket -Portable_Condensator.name=Draagbare Condensator -Portable_Condensator_Pack.name=Draagbaar Condensatorpakket -Portable_Electrical_Axe.name=Draagbare Elektrische Bijl -Portable_Electrical_Mining_Drill.name=Draagbare Elektrische Graafboor -Power_Capacitor.name=Vermogen Condensator -Power_Inductor.name=Vermogen Smoorspoel -Power_Resistor.name=Vermogen Weerstand -Power_capacitor.name=Vermogen condensator -Power_inductor.name=Energie Smoorspoel -Purple_Brush.name=Paarse Kwast -Red_Brush.name=Rode Kwast -Redstone-to-Voltage_Converter.name=Redstone-naar-Spanning Omzetter -Rheostat.name=Potentiometer -Robust_Lamp_Socket.name=Robuuste Lamp Socket -Rubber.name=Rubber -Schmitt_Trigger_Chip.name=Schmitt-trigger Chip -Sconce_Lamp_Socket.name=Wandverlichting Socket -Signal_20H_inductor.name=Signaal 20H Smoorspoel -Signal_Antenna.name=Signaalantenne -Signal_Button.name=Signaalknop -Signal_Cable.name=Signaalkabel -Signal_Diode.name=Signaaldiode -Signal_Processor.name=Signaalprocessor -Signal_Relay.name=Signaal Relais -Signal_Source.name=Signaalbron -Signal_Switch.name=Signaalschakelaar -Signal_Switch_with_LED.name=Signaalschakelaar met LED -Signal_Trimmer.name=Signaaltrimmer -Silicon_Dust.name=Siliciumstof -Silicon_Ingot.name=Silicium Staaf -Silicon_Plate.name=Silicium Plaat -Silver_Brush.name=Zilverkleurige Kwast -Simple_Lamp_Socket.name=Simpele Lamp Socket -Single-use_Battery.name=Wegwerpaccu -Small_200V_Copper_Heating_Corp.name=Kleine 200V Koperen Verhittingsspoel -Small_200V_Iron_Heating_Corp.name=Kleine 200V Ijzeren Verhittingsspoel -Small_200V_Tungsten_Heating_Corp.name=Kleine 200V Wolfraam Verhittingsspoel -Small_50V_Carbon_Incandescent_Light_Bulb.name=Kleine 50V Koolstof Gloeilamp -Small_50V_Copper_Heating_Corp.name=Kleine 50V Koperen Verhittingsspoel -Small_50V_Economic_Light_Bulb.name=Kleine 50V Spaarlamp -Small_50V_Incandescent_Light_Bulb.name=Kleine 50V Koolstof Gloeilamp -Small_50V_Iron_Heating_Corp.name=Kleine 50V Ijzeren Verhittingsspoel -Small_50V_Tungsten_Heating_Corp.name=Kleine 50V Wolfraam Verhittingsspoel -Small_Active_Thermal_Dissipator.name=Kleine 200V Actieve Koeling -Small_Flashlight.name=Kleine Zaklamp -Small_Passive_Thermal_Dissipator.name=Kleine Passieve Koeling -Small_Rotating_Solar_Panel.name=Klein Roterend Zonnepaneel -Small_Solar_Panel.name=Klein Zonnepaneel -Solar_Tracker.name=Zon Tracker -Standard_Alarm.name=Standaardalarm -Steam_Turbine.name=Stoomturbine -Stone_Heat_Furnace.name=Stenen Hitteoven -Street_Light.name=Lantaarn -Suspended_Lamp_Socket.name=Hangende Lamp Socket -Temperature_Probe.name=Temperatuur Sonde -Thermal_Probe.name=Thermale Sonde -Thermal_Probe_Chip.name=Thermale Sonde Chip -Thermistor.name=Thermistor -ThermoMeter.name=Thermometer -Transformer.name=Transformator -Tree_Resin.name=Boomhars -Tree_Resin_Collector.name=Boomhars Verzamelzak -Tungsten_Cable.name=Wolfraam Kabel -Tungsten_Dust.name=Wolfraam Stof -Tungsten_Ingot.name=Wolfraam Staaf -Tungsten_Ore.name=Wolfraamerts -Tutorial_Sign.name=Uitleg Bord -Very_High_Voltage_Cable.name=Extreme Hoogspanningskabel -Very_High_Voltage_Relay.name=Extreme Hoogspanningsrelais -Very_High_Voltage_Switch.name=Extreme Hoogspanningsschakelaar -Voltage-to-Redstone_Converter.name=Spanning-naar-Redstone Omzetter -Voltage_Oriented_Battery.name=Spanningsgerichte Accu -Voltage_Probe.name=Spanningssonde -Water_Turbine.name=Waterturbine -Weak_50V_Battery_Charger.name=Zwakke 50V Acculader -White_Brush.name=Witte Kwast -Wind_Turbine.name=Windturbine -Wireless_Analyser.name=Draadloze Analyzer -Wireless_Button.name=Draadloze Knop -Wireless_Signal_Receiver.name=Draadloze Signaalontvanger -Wireless_Signal_Repeater.name=Draadloze Signaalrepeater -Wireless_Signal_Transmitter.name=Draadloze Signaalzender -Wireless_Switch.name=Draadloze Schakelaar -Wrench.name=Sleutel -X-Ray_Scanner.name=Röntgenscanner -XNOR_Chip.name=XNOR Chip -XOR_Chip.name=XOR Chip -Yellow_Brush.name=Gele Kwast -entity.EAReplicator.name=Replicator -item.Copper Koperen Bijl -item.Copper Koperen Bijl -item.Copper Koperen Bijl -item.Copper Koperen Bijl -item.Copper Koperen Bijl -item.Copper Koperen Bijl -item.Copper Koperen Bijl -item.Copper Koperen Bijl -item.Copper Koperen Bijl -item.E-Coal E-Kolen Laarzen -item.E-Coal E-Kolen Laarzen -item.E-Coal E-Kolen Laarzen -item.E-Coal E-Kolen Laarzen -itemGroup.Eln=Elektrische Eeuw -mod.meta.desc=Elektriciteit in je Basis\! -tile.eln.ElnProbe.name=Eln Computer Sonde -tile.eln.EnergyConverterElnToOtherHVUBlock.name=800V Elektrische Eeuw naar andere energie exporteur -tile.eln.EnergyConverterElnToOtherLVUBlock.name=50V Elektrische Eeuw naar andere energie exporteur -tile.eln.EnergyConverterElnToOtherMVUBlock.name=200V Elektrische Eeuw naar andere energie exporteur - -# ./src/main/java/mods/eln/i18n/I18N.java -You_have_%s_lives_left=Je hebt %s levens over - -# ./src/main/java/mods/eln/item/BrushDescriptor.java -Brush_is_dry=Kwast is Droog -Can_paint_%s_blocks=Kan %s blokken verven - -# ./src/main/java/mods/eln/item/CombustionChamber.java -Upgrade_for_the_Stone_Heat_Furnace.=Upgrade voor de Stenen Hitteoven - -# ./src/main/java/mods/eln/item/ElectricalDrillDescriptor.java -Energy_per_operation\:_%sJ=Energie per handeling\: %sJ -Time_per_operation\:_%ss=Tijd per handeling\: %ss - -# ./src/main/java/mods/eln/item/FerromagneticCoreDescriptor.java -Cable_loss_factor\:_%s=Kabel verliesfactor\: %s - -# ./src/main/java/mods/eln/item/HeatingCorpElement.java - -# ./src/main/java/mods/eln/item/LampDescriptor.java -Bad=Slecht -Condition\:=Staat\: -End_of_life=Bijna kapot -Good=Goed -New=Nieuw -Nominal_lifetime\:_%sh=Nominale levensduur\: %sh -Technology\:_%s=Technologie\: %s -Used=Gebruikt - -# ./src/main/java/mods/eln/item/LampSlot.java -Lamp_slot=Lamp Slot - -# ./src/main/java/mods/eln/item/OverHeatingProtectionDescriptor.java -Useful_to_prevent_overheating\nof_Batteries=Nuttig om oververhitting van\naccu's te voorkomen - -# ./src/main/java/mods/eln/item/OverVoltageProtectionDescriptor.java -Useful_to_prevent_over-voltage\nof_Batteries=Nuttig om over-spanning van\naccu's te voorkomen. - -# ./src/main/java/mods/eln/item/SolarTrackerDescriptor.java -Solar_panel_upgrade=Zonnepaneel Upgrade - -# ./src/main/java/mods/eln/item/electricalitem/BatteryItem.java - -# ./src/main/java/mods/eln/item/electricalitem/ElectricalLampItem.java -Off=Uit -On=Aan -State\:=Status\: -Stored_Energy\:_%sJ_(%s)=Opgeslagen Energie\: %sJ (%s) - -# ./src/main/java/mods/eln/item/regulator/RegulatorSlot.java - -# ./src/main/java/mods/eln/misc/UtilsClient.java -Hold_shift=Druk Shift in - -# ./src/main/java/mods/eln/misc/Version.java -mod.name=Elektrische Eeuw - -# ./src/main/java/mods/eln/node/six/SixNodeDescriptor.java - -# ./src/main/java/mods/eln/simplenode/energyconverter/EnergyConverterElnToOtherGui.java -Input_power_is_limited_to_%sW=Inputvermogen is gelimiteerd tot %sW - -# ./src/main/java/mods/eln/sixnode/LogicGate.kt -_O\:_= O\: - -# ./src/main/java/mods/eln/sixnode/TreeResinCollector/TreeResinCollectorDescriptor.java -Produces_Tree_Resin_over\ntime_when_put_on_a_tree.=Geeft boomhars na een tijd\nop een boom te zitten. -This_block_can_only_be_placed_on_the_side_of_a_tree!=Dit blok kan alleen aan de zijkant van een boom geplaatst worden\! - -# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerContainer.java -Battery_slot=Accu Slot - -# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerDescriptor.java -Can_be_used_to_recharge\nelectrical_items_like\:\nFlash_Light,_X-Ray_scanner\nand_Portable_Battery_...=Kan gebruikt worden om\nelektrische items op te laden,\nzoals\:\nZaklamp, Röntgen scanner\nen Draagbare Accu ... - -# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerGui.java - -# ./src/main/java/mods/eln/sixnode/diode/DiodeDescriptor.java -Electrical_current_can_only\nflow_through_the_diode\nfrom_anode_to_cathode=Elektrische stroom kan alleen\ndoor een diode stromen van\nde anode naar de kathode. - -# ./src/main/java/mods/eln/sixnode/electricalalarm/ElectricalAlarmDescriptor.java -= -Emits_an_acoustic_alarm_if\nthe_input_signal_is_high=Zendt een akoestisch alarm als\nhet inputsignaal sterk is. - -# ./src/main/java/mods/eln/sixnode/electricalalarm/ElectricalAlarmGui.java -Sound_is_muted=Geluid is gedempt -Sound_is_not_muted=Geluid is aan - -# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerContainer.java - -# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerDescriptor.java -Protects_electrical_components\nOpens_contact_if\:\n__-_Voltage_exceeds_a_certain_level\n-_Current_exceeds_the_cable_limit=Beschermt elektrische componenten\nOpent contacten wanneer\:\n- Voltage boven bepaald niveau komt\n- Stroom boven het kabellimiet komt - -# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerGui.java -Maximum_voltage_before_cutting_off=Maximale spanning voor onderbreken -Minimum_voltage_before_cutting_off=Minimale spanning voor onderbreken -Switch_is_off=Schakelaar staat uit -Switch_is_on=Schakelaar staat aan - -# ./src/main/java/mods/eln/sixnode/electricalcable/ElectricalCableDescriptor.java -A_signal_is_electrical_information\nwhich_must_be_between_0V_and_%sV=Een signaal is elektrische informatie\ndie tussen de 0V en %sV moet zitten. -Cable_is_adapted_to_conduct\nelectrical_signals.=Kabel is aangepast om elektrische\nsignalen te geleiden. -Current\:_%sA=Stroom\: %sA -Not_adapted_to_transport_power.=Niet aangepast om energie te transporteren. -Save_usage\:=Sla gebruik op\: -Serial_resistance\:_%sΩ=Seriële weerstand\: %sΩ - -# ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerDescriptor.java -It_can_store_up_to_256_points.=Het kan maximaal 256 punten opslaan. -Measures_the_voltage_of_an\nelectrical_signal_and_plots\nthe_data_in_real_time.=Meet het voltage van een\nelektrish signaal en tekent\nde data in real-time. - -# ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerGui.java -Back_to_display=Terug naar voorstelling -Configuration=Configuratie -Current_[A]=Stroom [A] -Energy_[J]=Energie [J] -Percent_[-]%=Percentage [-]% -Power_[W]=Vermogen [W] -Print=Print -Sampling_period=Sampleperiode -Temp._[*C]=Temp. [*C] -Voltage_[V]=Spanning [V] -Y-axis_max=Y-as max -Y-axis_min=Y-as min - -# ./src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorContainer.java - -# ./src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorDescriptor.java -Output_voltage_increases\nif_entities_are_moving_around.=Output spanning verhoogt \nals entities bewegen. - -# ./src/main/java/mods/eln/sixnode/electricalfiredetector/ElectricalFireDetectorDescriptor.java -Output_voltage_increases\nif_a_fire_has_been_detected.=Output spanning verhoogt\nals vuur gedetecteerd wordt. - -# ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceDescriptor.java -Provides_configurable_signal\nvoltage.=Geeft een aanpasbaar\nsignaalspanning. - -# ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceGui.java -Output_at_%s=Output\: %s - -# ./src/main/java/mods/eln/sixnode/electricallightsensor/ElectricalLightSensorDescriptor.java -0V_at_night,_%sV_at_noon.=0V 's nachts, %sV 's middags. -Provides_an_electrical_voltage\nin_the_presence_of_light.=Geeft een elektrische spanning\nin de aanwezigheid van licht. -Provides_an_electrical_voltage\nwhich_is_proportional_to\nthe_intensity_of_daylight.=Geeft een elektrische spanning\ndie proportioneel is aan de \nintensiteit van het daglicht. - -# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathContainer.java - -# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathDescriptor.java -Applicable_boolean_operators\:=Toepasbare boolean operators\: -Applicable_functions\:=Toepasselijke functies\: -Applicable_mathematical_operators\:=Toepasbare wiskundige operators\: -Calculates_an_output_signal_from\n3_inputs_(A,_B,_C)_using_an_equation.=Berekent een output signaal van\n3 inputs (A,B,C) door middel van een\nvergelijking. - -# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathGui.java -%s_Redstone(s)_required=%s Redstone(s) nodig -Equation_required!=Vergelijking nodig\! -Inputs_are=Inputs zijn -Invalid_equation!=Ongeldige vergelijking -Output_voltage_formula=Output spanning formule -Waiting_for_completion...=Wacht op voltooiing... - -# ./src/main/java/mods/eln/sixnode/electricalredstoneinput/ElectricalRedstoneInputDescriptor.java -Converts_Redstone_signal\nto_an_electrical_voltage.=Zet Redstone signaal om in\neen elektrische spanning. - -# ./src/main/java/mods/eln/sixnode/electricalredstoneoutput/ElectricalRedstoneOutputDescriptor.java -Converts_electrical_voltage\ninto_a_Redstone_signal.=Zet een elektrische spanning\nom in een Redstone signaal. - -# ./src/main/java/mods/eln/sixnode/electricalrelay/ElectricalRelayDescriptor.java -A_relay_is_an_electrical\ncontact_that_conducts_electric\ncurrent_or_not,_depending\nthe_actual_input_signal_voltage.=Een relais is een elektrisch \ncontact dat afhankelijk van het\nactuele input signaal wel of niet \nelektrische spanning geleid. - -# ./src/main/java/mods/eln/sixnode/electricalrelay/ElectricalRelayGui.java -Normally_closed=Normaal gesloten -Normally_open=Normaal open - -# ./src/main/java/mods/eln/sixnode/electricalsource/ElectricalSourceDescriptor.java -Creative_block.=Creatief blok -Provides_an_ideal_voltage_source\nwithout_energy_or_power_limitation.=Geeft een ideale spanningsbron\nzonder vermogenslimiet. - -# ./src/main/java/mods/eln/sixnode/electricalsource/ElectricalSourceGui.java -Output_voltage=Output spanning - -# ./src/main/java/mods/eln/sixnode/electricalswitch/ElectricalSwitchDescriptor.java -Can_break_an_electrical_circuit\ninterrupting_the_current.=Kan een elektrisch signaal\nafbreken, daarmee onderbreekt\nde stroom. - -# ./src/main/java/mods/eln/sixnode/electricaltimeout/ElectricalTimeoutDescriptor.java -Upon_application_of_a_high_signal,\nthe_timer_maintains_the_output_high_for\na_configurable_interval._Can_be_re-triggered.=Bij toepassing van een sterk signaal\nhoudt de timer een sterk signaal vast\nvoor een aanpasbare tijd. Kan aangepast\nworden. - -# ./src/main/java/mods/eln/sixnode/electricaltimeout/ElectricalTimeoutGui.java -Set=Stel in -The_time_interval_the\noutput_is_kept_high.=Het tijdsinterval de\noutput wordt hoog gehouden. - -# ./src/main/java/mods/eln/sixnode/electricalvumeter/ElectricalVuMeterDescriptor.java -Displays_the_value_of_a_signal.=Geeft de waarde van een signaal. - -# ./src/main/java/mods/eln/sixnode/electricalwatch/ElectricalWatchContainer.java -Portable_battery_slot=Draagbare Accu Slot - -# ./src/main/java/mods/eln/sixnode/electricalweathersensor/ElectricalWeatherSensorDescriptor.java -Clear\:_%sV=Onbewolkt\: %sV -Provides_an_electrical_signal\ndepending_the_actual_weather.=Geeft een elektrisch signaal\nafhankelijk van het huidige weer. -Rain\:_%sV=Regen\: %sV -Storm\:_%sV=Storm\: %sV - -# ./src/main/java/mods/eln/sixnode/electricalwindsensor/ElectricalWindSensorDescriptor.java -Maximum_wind_speed_is_%sm_s=Maximale windsnelheid is %sm/s -Provides_an_electrical_signal\ndependant_on_wind_speed.=Geeft een elektrisch signaal\nafhankelijk van de windsnelheid. -You_can't_place_this_block_on_the_floor_or_the_ceiling=Je kunt dit blok niet op de vloer of het plafond plaatsen - -# ./src/main/java/mods/eln/sixnode/electricasensor/ElectricalSensorDescriptor.java -Can_measure_Voltage_Power_Current=Kan Voltage/Vermogen/Stroom meten -Measures_electrical_values_on_cables.=Meet elektrische waardes op kabels. -Measures_voltage_on_cables.=Meet spanning op kabels. - -# ./src/main/java/mods/eln/sixnode/electricasensor/ElectricalSensorGui.java -Current=Stroom -Measured_voltage\ncorresponding\nto_0%_output=Gemeten spanning\ncorrespondeert\nmet 0% output -Measured_voltage\ncorresponding\nto_100%_output=Gemeten spanning\ncorrespondeert\nmet 100% output -Voltage=Spanning - -# ./src/main/java/mods/eln/sixnode/energymeter/EnergyMeterGui.java -Change_password=Verander wachtwoord -Counter_Mode=Teller Mode -Counts_the_energy_conducted_from\n\u00a74red\u00a7f_to_\u00a71blue\u00a7f.=Telt de energie geleid van \n\\u00a74red\\u00a7f tot \\u00a71blue\\u00a7f. -Energy_counter\:_%sJ=Energie teller\: %sJ -Enter_new_energy=Stel nieuwe energie in -Enter_password=Vul wachtwoord in -Prepay_Mode=Prepay Mode -Reset_time_counter=Reset tijd teller -Set_energy_counter=Stel energieteller in -Time_counter\:=Tijd teller\: -Try_password=Probeer wachtwoord -You_can_set_an_initial\namount_of_available_energy.\nWhen_the_counter_arrives_at_0\nthe_contact_will_be_opened.=Je kunt de beginhoeveelheid\nbeschikbare energie instellen.\nWanneer de teller op 0 staat\nwordt het contact geopend. -is_off=is uit -is_on=is aan -value_in_kJ=waarde in kJ - -# ./src/main/java/mods/eln/sixnode/groundcable/GroundCableDescriptor.java -Can_be_used_to_set_a_point_of_an\nelectrical_network_to_0V_potential.\nFor_example_to_ground_negative_battery_contacts.=Kan gebruikt worden om een punt\nvan een elektrisch netwerk een \n0V potentieel te geven.\nBijvoorbeeld als aarde voor negatieve accucontacten. -Provides_a_zero_volt_reference.=Geeft een 0-volt referentie. - -# ./src/main/java/mods/eln/sixnode/hub/HubDescriptor.java -Allows_crossing_cables\non_one_single_block.=Staat kabels toe te \nkruisen op 1 blok. - -# ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketDescriptor.java -Angle\:_%s°_to_%s°=Hoek\: %s° tot %s° -Spot_range\:_%s_blocks=Zichtbereik\: %s blokken - -# ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketGuiDraw.java -%s_is_not_in_range!=%s is niet binnen bereik\! -Cable_slot_empty=Leeg Kabel Slot -Orientation\:_%s°=Orientatie\: %s° -Parallel=Parallel -Powered_by_Lamp_Supply=Aangedreven door Lamp Voeding -Powered_by_cable=Aangedreven door kabel -Serial=Seriële -Specify_the_supply_channel=Specificeer het aanleveringskanaal - -# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyContainer.java -Electrical_cable_slot\nBase_range_is_32_blocks.\nEach_additional_cable\nincreases_range_by_one.=Elektrische kabel slot\nBasisbereik is 32 blokken.\nIedere toegevoegde kabel\nverhoogt bereik met 1 blok. - -# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyDescriptor.java -Supplies_all_lamps_on_the_channel.=Voorziet alle lampen op het kanaal van energie. - -# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyGui.java -Power_channel_name=Energiekanaal naam -Wireless_channel_name=Draadloze kanaal naam - -# ./src/main/java/mods/eln/sixnode/modbusrtu/ModbusRtuGui.java -Add=Toevoegen -Channel_name=Kanaalnaam -Modbus_ID=Modbus ID -Modbus_RTU=Modbus RTU -Station_ID=Stationsnummer -Station_name=Stationsnaam -Wireless_RX=Draadloze RX -Wireless_TX=Draadloze TX - -# ./src/main/java/mods/eln/sixnode/powercapacitorsix/PowerCapacitorSixContainer.java -(Increases_maximum_voltage)=(Vergroot maximale spanning) - -# ./src/main/java/mods/eln/sixnode/powercapacitorsix/PowerCapacitorSixGui.java - -# ./src/main/java/mods/eln/sixnode/powerinductorsix/PowerInductorSixContainer.java - -# ./src/main/java/mods/eln/sixnode/powerinductorsix/PowerInductorSixGui.java - -# ./src/main/java/mods/eln/sixnode/powersocket/PowerSocketDescriptor.java -Supplies_any_device\nplugged_in_with_energy.=Voorziet ieder aangekoppeld\napparaat van energie. - -# ./src/main/java/mods/eln/sixnode/powersocket/PowerSocketGui.java -Specify_the_device_to_supply_through_this_socket.=Specificeer het apparaat om van energie te voorzien via deze socket. - -# ./src/main/java/mods/eln/sixnode/resistor/ResistorContainer.java -(Sets_resistance)=(Stelt weerstand in) -Coal_dust_slot=Kolenstof Slot - -# ./src/main/java/mods/eln/sixnode/thermalcable/ThermalCableDescriptor.java -High_parallel_resistance\n_\=>_Low_power_dissipation.=Hoge parallelle weerstand\n\=> Laag vermogensverdrijving. -Low_serial_resistance\n_\=>_High_conductivity.=Lage seriële weerstand\n\=> Hoge geleiding. -Parallel_resistance\:_%sK_W=Parallelle weerstand\: %sK/W -Serial_resistance\:_%sK_W=Seriële weerstand\: %sK/W - -# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorContainer.java -Cable_slot=Kabel Slot - -# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorDescriptor.java -Can_measure\:=Kan meten\: -Measures_temperature_of_cables.=Meet de temperatuur van kabels. -Measures_thermal_values_on_cables.=Meet temperatuurwaarden op kabels. -__Temperature_Power_conducted=Temperatuur/Vermogen geleidt - -# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorGui.java -Measured_temperature\ncorresponding\nto_0%_output=Gemeten temperatuur\ncorrespondeert\nmet 0% output -Measured_temperature\ncorresponding\nto_100%_output=Gemeten temperatuur\ncorrespondeert\nmet 100% output -Temperature=Temperatuur - -# ./src/main/java/mods/eln/sixnode/tutorialsign/TutorialSignElement.java -No_text_associated_to_this_beacon=Geen tekst geassocieerd met deze baken - -# ./src/main/java/mods/eln/sixnode/tutorialsign/TutorialSignGui.java -Set_beacon_name=Stel baken naam in - -# ./src/main/java/mods/eln/sixnode/wirelesssignal/rx/WirelessSignalRxGui.java - -# ./src/main/java/mods/eln/transparentnode/FuelGenerator.kt -Nominal_power\:_%s_W=Norminaal vermogen\: %s W -Nominal_voltage\:_%s_V=Nominale spanning\: %s V -Produces_electricity_using_fuel.=Genereert elektriciteit met brandstof. - -# ./src/main/java/mods/eln/transparentnode/LargeRheostat.kt -Nom._Resistance\:_%s=Nom. weerstand\: %s - -# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerContainer.java -Drill_slot=Boor Slot -Mining_pipe_slot=Graafpijp Slot -Ore_scanner_slot=Erts Scanner Slot - -# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerDescriptor.java -Excavates_on_a_small_radius.\nExtracts_ore_on_a_bigger_radius\:\n10_blocks_radius_after_10_blocks_depth.=Graaft een kleine radius op.\nGraaft erts in een grotere radius op\:\n10 blokken radius na 10 blokken diepte. - -# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerGuiDraw.java -Chest_missing_on_the\nback_of_the_auto_miner!=Kist mist aan de achterkant \nvan de automatische graver. -Halves_speed,_triples_power_draw=Halveert snelheid, verdrievoudigd energieverbruik -Silk_Touch_Off=Zijden Streling Uit -Silk_Touch_On=Zijden Streling Aan -Silk_touch=Zijden Streling - -# ./src/main/java/mods/eln/transparentnode/battery/BatteryContainer.java -Overheating_protection=Bescherming Tegen Oververhitting -Overvoltage_protection=Bescherming Tegen Overspanning - -# ./src/main/java/mods/eln/transparentnode/battery/BatteryDescriptor.java -Actual_charge\:_%s=Huidige lading\: %s -Energy_capacity\:_%sJ=Energie capaciteit %sJ -_charged_at_%s=%s opgeladen - -# ./src/main/java/mods/eln/transparentnode/battery/BatteryGuiDraw.java -Charge=Lading -Charged=Opgeladen -Discharge=Ontlading -Energy\:=Energie\: -Energy\:_%s=Energie\: %s -Life\:=Leven\: -No_charge=Geen lading\: -Power_in\:=Energie in\: -Power_out\:=Energie uit\: - -# ./src/main/java/mods/eln/transparentnode/eggincubator/EggIncubatorContainer.java -Egg_slot=Ei Slot - -# ./src/main/java/mods/eln/transparentnode/electricalantennarx/ElectricalAntennaRxDescriptor.java -Wireless_energy_receiver.=Draadloze energie ontvanger. - -# ./src/main/java/mods/eln/transparentnode/electricalantennatx/ElectricalAntennaTxDescriptor.java -Efficiency\:_%s_up_to_%s=Efficiëntie\: %s tot %s -Wireless_energy_transmitter.=Draadloze Energiezender - -# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceContainer.java -Heating_corp_slot=Verhittingsspoel Slot - -# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceDescriptor.java -Similar_to_a_vanilla_furnace,\nbut_heats_with_electricity.=Vergelijkbaar met standaard oven,\nmaar verhit met elektriciteit. - -# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceGuiDraw.java -Auto_shutdown=Automatische afsluiting -Manual_shutdown=Handmatig afsluiting -Set_point\:_%s°C=Ingesteld punt\: %s°C - -# ./src/main/java/mods/eln/transparentnode/electricalmachine/ElectricalMachineDescriptor.java -Cost=Kosten - -# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceContainer.java -Combustion_chamber_slot=Ontbrandingskamer Slot -Fuel_slot=Brandstof Slot - -# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceDescriptor.java -Generates_heat_when_supplied_with_fuel.=Genereert hitte wanneer van brandstof voorzien wordt. - -# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceGuiDraw.java -Control_gauge_at_%s=Meter op %s -Decline_fuel=Weiger brandstof -External_control=Externe bediening -Internal_control=Interne bediening -Take_fuel=Neem brandstof - -# ./src/main/java/mods/eln/transparentnode/powercapacitor/PowerCapacitorContainer.java -(Increases_maximal_voltage)=(Verhoog maximale spanning) - -# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelContainer.java -Solar_tracker_slot=Zon Tracker Slot - -# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelDescriptor.java -Can_be_geared_towards_the_sun.=Kan naar de zon gekeerd worden. -Max._power\:_%sW=Max. vermogen\: %sW -Max._voltage\:_%sV=Max. spanning\: %sV -Produces_power_from_solar_radiation.=Produceert energie van zonneradiatie - -# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPannelGuiDraw.java -It_is_night=Het is nacht -Solar_panel_angle\:_%s°=Zonnepaneel hoek\: %s° -Sun_angle\:_%s°=Hoek zon\: %s° - -# ./src/main/java/mods/eln/transparentnode/teleporter/TeleporterGui.java -Destination_transporter=Bestemmingstransporteur -Power_consumption\:=Energieverbruik\: -Power_consumption\:_%sW=Energieverbruik\: %sW -Required_energy\:_%sJ=Benodigde Energie\: %sJ -Start=Start -Transporter_name=Transporteur naam - -# ./src/main/java/mods/eln/transparentnode/thermaldissipatoractive/ThermalDissipatorActiveDescriptor.java -Fan_cooling_power\:_%sW=Ventilator koelvermogen\: %sW -Fan_power_consumption\:_%sW=Ventilator energieverbruik\: %sW -Fan_voltage\:_%sV=Ventilator spanning\: %sV - -# ./src/main/java/mods/eln/transparentnode/transformer/TransformerDescriptor.java -The_voltage_ratio_is_proportional\nto_the_cable_stacks_count_ratio.=De spanningsverhouding is\nproportioneel aan de kabelstapel\nteller verhouding. -Transforms_an_input_voltage_to\nan_output_voltage.=Zet een input spanning om \nin een output spanning. - -# ./src/main/java/mods/eln/transparentnode/turbine/TurbineDescriptor.java -Generates_electricity_using_heat.=Genereert energie met hitte. -Temperature_difference\:_%s°C=Temperatuurverschil\: %s°C - -# ./src/main/java/mods/eln/transparentnode/turret/TurretDescriptor.java -CAUTION\:_Cables_can_get_quite_hot!=OPGEPAST\: Kabels kunnen behoorlijk heet worden\! -Laser_charge_power\:_%sW...%skW=Laser lading vermogen\: %sW...%skW -Scans_for_entities_and_shoots_if_the\nentity_matches_the_configurable_filter_criteria.=Zoekt naar entities en schiet als de entity\ngelijk staat aan de aanpasbare filter criteria. -Standby_power\:_%sW=Standby vermogen\: %sW - -# ./src/main/java/mods/eln/transparentnode/turret/TurretGui.java -Attack\:=Aanvallen\: -Do_not_attack\:=Niet aanvallen\: -Recharge_power\:=Herlaad energie\: - -# ./src/main/java/mods/eln/transparentnode/waterturbine/WaterTurbineDescriptor.java -Generates_energy_using_water_stream.=Genereert energie door middel van stromend water. -No_place_for_water_turbine!=Geen plaats voor waterturbine\! - -# ./src/main/java/mods/eln/transparentnode/windturbine/WindTurbineDescriptor.java -Front\:_%s=Voorkant\: %s -Generates_energy_from_wind.=Genereert energie door middel van de wind. -Left_Right\:_%s=Links/Rechts\: %s -Up_Down\:_%s=Boven/Onder\: %s -Wind_area\:=Wind gebied\: - -# ./src/main/java/mods/eln/wiki/Data.java -Energy=Energie -Light=Licht -Machine=Machine -Ore=Erts -Portable=Draagbaar -Resource=Grondstof -Signal=Signaal -Thermal=Thermaal -Upgrade=Upgrade -Utilities=Utiliteiten -Wiring=Bedrading - -# ./src/main/java/mods/eln/wiki/Default.java -Previous=Vorige - -# ./src/main/java/mods/eln/wiki/ItemDefault.java -Can_be_used_to_craft\:=Kan gebruikt worden om het volgende te maken\: -Cannot_be_crafted!=Kan niet gemaakt worden\! -Cost_%sJ=Kosten\: %sJ -Created_by\:=Gemaakt door\: -Is_not_a_crafting_material!=Dit is geen werkmateriaal -Recipe\:=Recept\: - -# Appearing in multiple source files -(Increases_capacity)=(vergroot capaciteit) -(Increases_inductance)=(Verhoogt geleiding) -Actual\:_%s°C=Momenteel\: %s°C -Biggest=Grootste -Booster_slot=Booster Slot -Can_create\:=Kan maken\: -Capacity\:_%sF=Capaciteit\: %sF -Charge_power\:_%sW=Lading vermogen\: %sW -Connected=Verbonden -Cooling_power\:_%sW=Koelvermogen\: %sW -Copper_cable_slot=Koperen Kabel Slot -Dielectric_slot=Diëlektricum Slot -Discharge_power\:_%sW=Ontladingsvermogen\: %sW -Electrical_cable_slot=Elektrische Kabel Slot -Entity_filter_slot=Entity Filter Slot -Ferromagnetic_core_slot=Ferromagnetische Kern Slot -Has_a_signal_output.=Heeft een signaal output. -Inductance\:_%sH=Inductief Vermogen\: %sH -Internal_resistance\:_%sΩ=Interne weerstand\: %sΩ -Is_off=Is uit -Is_on=Is aan -Max._temperature\:_%s°C=Max. temperatuur\: %s°C -Measured_value\ncorresponding\nto_0%_output=Gemeten waarde\ncorrespondeert\nmet 0% output -Measured_value\ncorresponding\nto_100%_output=Gemeten waarde\ncorrespondeert\nmet 100% output -Nominal\:=Nominaal\: -Nominal_power\:_%sW=Norminaal vermogen\: %sW -Nominal_usage\:=Nominaal gebruik\: -Nominal_voltage\:_%sV=Nominale spanning\: %sV -Not_connected=Niet verbonden -Not_enough_space_for_this_block=Niet genoeg ruimte voor dit blok -Power=Energie -Power\:_%sW=Vermogen\: %sW -Range\:_%s_blocks=Bereik\: %s blokken -Redstone_slot=Redstone Slot -Regulator_slot=Regelaar Slot -Reset=Reset -Resistance\:_%sΩ=Weerstand\: %sΩ -Smallest=Kleinste -Specify_the_channel=Specificeer het kanaal -Stored_energy\:_%sJ_(%s)=Opgeslagen Energie\: %sJ (%s) -Temperature\:_%s°C=Temperatuur\: %s°C -Temperature_gauge=Temperatuurmeter -Thermal_isolator_slot=Warmte-Isolatie Slot -Toggle=Wissel -Toggle_switch=Wisselschakelaar -Toggles_the_output_each_time\nan_emitter's_value_rises.\nUseful_to_allow_multiple_buttons\nto_control_the_same_light.=Verandert de output elke keer\nals de waarden van de zender \nomhoog gaat. Nuttig om meerdere\nknoppen het zelfde licht te laten\nbesturen. -Used_to_cool_down_turbines.=Wordt gebruikt om turbines af te koelen. -Uses_the_biggest\nvalue_on_the_channel.=Gebruikt de grootste\nwaarde op het kanaal. -Uses_the_smallest\nvalue_on_the_channel.=Gebruikt de kleinste\nwaarde op het kanaal. -Validate=Valideer -Voltage\:_%sV=Spanning\: %sV -You_can't_place_this_block_at_this_side=Je kunt dit blok niet aan deze zijde plaatsen +eln:# +eln: +eln:# ./src/main/java/mods/eln/Achievements.java +eln:Electrical_Age_[WIP]=Elektrische Eeuw [WIP] +eln:achievement.craft_50v_macerator=Verbrijzeling Beginner +eln:achievement.craft_50v_macerator.desc=Maak een 50V Versnipperaar +eln:achievement.open_guide=Wiki Power +eln:achievement.open_guide.desc=Open de wiki handleiding +eln: +eln:# ./src/main/java/mods/eln/Eln.java +eln:10A_Diode.name=10A Diode +eln:200V_Active_Thermal_Dissipator.name=200V Actieve Koeling +eln:200V_Battery_Charger.name=200V Accu Lader +eln:200V_Compressor.name=200V Compressor +eln:200V_Condensator.name=200V Condensator +eln:200V_Copper_Heating_Corp.name=200V Koperen Verhittingsspoel +eln:200V_Economic_Light_Bulb.name=200V Spaarlamp +eln:200V_Farming_Lamp.name=200V Boerderijlamp +eln:200V_Fuel_Generator.name=200V Brandstofgenerator +eln:200V_Incandescent_Light_Bulb.name=200V Gloeilamp +eln:200V_Iron_Heating_Corp.name=200V Ijzeren Verhittingsspoel +eln:200V_LED_Bulb.name=200V LED Lamp +eln:200V_Macerator.name=200V Versnipperaar +eln:200V_Magnetizer.name=200V Magnetiseringsunit +eln:200V_Plate_Machine.name=200V Platenwals +eln:200V_Power_Socket.name=200V Stopcontact +eln:200V_Tungsten_Heating_Corp.name=200V Wolfraam Verhittingsspoel +eln:200V_Turbine.name=200V Turbine +eln:25A_Diode.name=25A Diode +eln:50V_Battery_Charger.name=50V Accu Lader +eln:50V_Carbon_Incandescent_Light_Bulb.name=50V Koolstof Gloeilamp +eln:50V_Compressor.name=50V Compressor +eln:50V_Condensator.name=50V Condensator +eln:50V_Copper_Heating_Corp.name=50V Koperen Verhittingsspoel +eln:50V_Economic_Light_Bulb.name=50V Spaarlamp +eln:50V_Egg_Incubator.name=50V Broedlamp +eln:50V_Farming_Lamp.name=50V Boerderij lamp +eln:50V_Fuel_Generator.name=50V Brandstofgenerator +eln:50V_Incandescent_Light_Bulb.name=50V Gloeilamp +eln:50V_Iron_Heating_Corp.name=50V Ijzeren Verhittingsspoel +eln:50V_LED_Bulb.name=50V LED Lamp +eln:50V_Macerator.name=50V Versnipperaar +eln:50V_Magnetizer.name=50V Magnetiseringsunit +eln:50V_Plate_Machine.name=50V Platenwals +eln:50V_Power_Socket.name=50V Stopcontact +eln:50V_Tungsten_Heating_Corp.name=50V Wolfraam Verhittingsspoel +eln:50V_Turbine.name=50V Turbine +eln:800V_Defence_Turret.name=800V Verdedigingstoren +eln:AND_Chip.name=AND Chip +eln:Advanced_Chip.name=Geavanceerde Chip +eln:Advanced_Electrical_Motor.name=Geavanceerde Elektrische Motor +eln:Advanced_Energy_Meter.name=Geavanceerde Elektrische Meter +eln:Advanced_Machine_Block.name=Geavanceerd Machineblok +eln:Advanced_Magnet.name=Geavanceerde Magneet +eln:AllMeter.name=Universeelmeter +eln:Alloy_Dust.name=Legering Stof +eln:Alloy_Ingot.name=Legering Staaf +eln:Alloy_Plate.name=Legering Plaat +eln:Analog_Watch.name=Analoog Horloge +eln:Analog_vuMeter.name=Analoge Meter +eln:Analogic_Regulator.name=Analoge Regulator +eln:Animal_Filter.name=Dierenfilter +eln:Auto_Miner.name=Automatische Graver +eln:Average_Electrical_Drill.name=Gemiddelde Electrische Boor +eln:Average_Ferromagnetic_Core.name=Gemiddelde Ferromagnetische Kern +eln:Basic_Magnet.name=Basis Magneet +eln:Black_Brush.name=Zwarte Kwast +eln:Blue_Brush.name=Blauwe Kwast +eln:Brown_Brush.name=Bruine Kwast +eln:Capacity_Oriented_Battery.name=Capaciteitsgerichte Accu +eln:Cheap_Chip.name=Goedkope Chip +eln:Cheap_Electrical_Drill.name=Goedkope Elektrische Boor +eln:Cheap_Ferromagnetic_Core.name=Goedkope Ferromagnetische Kern +eln:Cinnabar_Dust.name=Cinnaber Stof +eln:Cinnabar_Ore.name=Cinnaber Erts +eln:Coal_Dust.name=Kolenstof +eln:Coal_Plate.name=Kolen Plaat +eln:Combustion_Chamber.name=Ontbrandingskamer +eln:Copper_Cable.name=Koperen Kabel +eln:Copper_Dust.name=Koperstof +eln:Copper_Ingot.name=Koperen Staaf +eln:Copper_Ore.name=Kopererts +eln:Copper_Plate.name=Koperen Plaat +eln:Copper_Thermal_Cable.name=Koperen Hittegeleidingskabel +eln:Cost_Oriented_Battery.name=Kostengerichte Accu +eln:Current_Oriented_Battery.name=Ampèragegerichte Accu +eln:Cyan_Brush.name=Cyaan Kwast +eln:D_Flip_Flop_Chip.name=D Flip Flop Chip +eln:Data_Logger.name=Datalogger +eln:Data_Logger_Print.name=Datalogger Uitdraai +eln:Dielectric.name=Diëlektricum +eln:Digital_Watch.name=Digitaal Horloge +eln:Electrical_Anemometer_Sensor.name=Elektrische Anemometer Sensor +eln:Electrical_Breaker.name=Elektrische Zekeringsautomaat +eln:Electrical_Daylight_Sensor.name=Elektrische Daglichtsensor +eln:Electrical_Entity_Sensor.name=Elektrische Entity Sensor +eln:Electrical_Fire_Detector.name=Elektrische Vuur Sensor +eln:Electrical_Furnace.name=Elektrische Oven +eln:Electrical_Light_Sensor.name=Elektrische Lichtsensor +eln:Electrical_Motor.name=Elektrische Motor +eln:Electrical_Probe.name=Elektriciteitssonde +eln:Electrical_Probe_Chip.name=Elektriciteitssonde Chip +eln:Electrical_Source.name=Elektrische Bron +eln:Electrical_Timer.name=Elektrische Timer +eln:Electrical_Weather_Sensor.name=Elektrische Weersensor +eln:Electrical_age_wrench,\nCan_be_used_to_turn\nsmall_wall_blocks=Elektrische Eeuw moersleutel\nKan gebruikt worden om\nkleine wandblokken te draaien. +eln:Energy_Meter.name=Energiemeter +eln:Experimental_Transporter.name=Experimentele Transporteur +eln:Fast_Electrical_Drill.name=Snelle Elektrische Boor +eln:Ferrite_Ingot.name=Ferriet Staaf +eln:Flat_Lamp_Socket.name=Platte Lamp Socket +eln:Fluorescent_Lamp_Socket.name=Fluorescentielamp Socket +eln:Generator.name=Generator +eln:Gold_Dust.name=Goudstof +eln:Gold_Plate.name=Gouden Plaat +eln:Gray_Brush.name=Grijze Kwast +eln:Green_Brush.name=Groene Kwast +eln:Ground_Cable.name=Aardingskabel +eln:High_Power_Receiver_Antenna.name=Sterk Vermogen Onvangstantenne +eln:High_Power_Transmitter_Antenna.name=Sterk Vermogen Zendantenne +eln:High_Voltage_Cable.name=Hoogspanningskabel +eln:High_Voltage_Relay.name=Hoogspanningsrelais +eln:High_Voltage_Switch.name=Hoogspanningsschakelaar +eln:Hub.name=Hub +eln:Industrial_Data_Logger.name=Industriële Datalogger +eln:Iron_Cable.name=Ijzeren Kabel +eln:Iron_Dust.name=Ijzerstof +eln:Iron_Plate.name=Ijzeren Plaat +eln:JK_Flip_Flop_Chip.name=JK Flip Flop Chip +eln:LED_vuMeter.name=LED vuMeter +eln:Lamp_Socket_A.name=Lamp Socket A +eln:Lamp_Socket_B_Projector.name=Lamp Socket B Projector +eln:Lamp_Supply.name=Lamp Voeiding +eln:Large_Rheostat.name=Grote Potentiometer +eln:Lead_Dust.name=Lood Stof +eln:Lead_Ingot.name=Loden Staaf +eln:Lead_Ore.name=Looderts +eln:Lead_Plate.name=Loden Plaat +eln:Life_Oriented_Battery.name=Levensduurgerichte Accu +eln:Light_Blue_Brush.name=Lichtblauwe Kwast +eln:Lime_Brush.name=Limoen Kwast +eln:Long_Suspended_Lamp_Socket.name=Lange Hangende Lamp Socket +eln:Low_Power_Receiver_Antenna.name=Zwak Vermogen Ontvangstantenne +eln:Low_Power_Transmitter_Antenna.name=Zwak Vermogen Zendantenne +eln:Low_Voltage_Cable.name=Laagspanningskabel +eln:Low_Voltage_Relay.name=Laagspanningsrelais +eln:Low_Voltage_Switch.name=Laagspanningschakelaar +eln:Machine_Block.name=Machine Blok +eln:Machine_Booster.name=Machine Versterker +eln:Magenta_Brush.name=Magenta Kwast +eln:Medium_Power_Receiver_Antenna.name=Normaal Vermogen Ontvangstantenne +eln:Medium_Power_Transmitter_Antenna.name=Normaal Vermogen Zendantenne +eln:Medium_Voltage_Cable.name=Normale Spanningskabel +eln:Medium_Voltage_Relay.name=Normale Spanningsrelais +eln:Medium_Voltage_Switch.name=Normale Spanningsschakelaar +eln:Mercury.name=Kwik +eln:Mining_Pipe.name=Graafpijp +eln:Modbus_RTU.name=Modbus RTU +eln:Modern_Data_Logger.name=Moderne Datalogger +eln:Monster_Filter.name=Monster Filter +eln:MultiMeter.name=Multimeter +eln:NAND_Chip.name=NAND Chip +eln:NOR_Chip.name=NOR Chip +eln:NOT_Chip.name=NOT Chip +eln:Nuclear_Alarm.name=Nucleair Alarm +eln:OR_Chip.name=OR Chip +eln:On_OFF_Regulator_10_Percent.name=Aan/Uit regelaar 10% +eln:On_OFF_Regulator_1_Percent.name=Aan/Uit regelaar 1% +eln:Optimal_Ferromagnetic_Core.name=Optimale Ferromagnetische Kern +eln:Orange_Brush.name=Oranje Kwast +eln:Ore_Scanner.name=Erts Scanner +eln:Oscillator_Chip.name=Oscillator Chip +eln:Overheating_Protection.name=Bescherming Tegen Oververhitting +eln:Overvoltage_Protection.name=Bescherming Tegen Overvoltage +eln:PAL_Chip.name=PAL Chip +eln:Pink_Brush.name=Roze Kwast +eln:Player_Filter.name=Speler Filter +eln:Portable_Battery.name=Draagbare Accu +eln:Portable_Battery_Pack.name=Draagbaar Accupakket +eln:Portable_Condensator.name=Draagbare Condensator +eln:Portable_Condensator_Pack.name=Draagbaar Condensatorpakket +eln:Portable_Electrical_Axe.name=Draagbare Elektrische Bijl +eln:Portable_Electrical_Mining_Drill.name=Draagbare Elektrische Graafboor +eln:Power_Capacitor.name=Vermogen Condensator +eln:Power_Inductor.name=Vermogen Smoorspoel +eln:Power_Resistor.name=Vermogen Weerstand +eln:Power_capacitor.name=Vermogen condensator +eln:Power_inductor.name=Energie Smoorspoel +eln:Purple_Brush.name=Paarse Kwast +eln:Red_Brush.name=Rode Kwast +eln:Redstone-to-Voltage_Converter.name=Redstone-naar-Spanning Omzetter +eln:Rheostat.name=Potentiometer +eln:Robust_Lamp_Socket.name=Robuuste Lamp Socket +eln:Rubber.name=Rubber +eln:Schmitt_Trigger_Chip.name=Schmitt-trigger Chip +eln:Sconce_Lamp_Socket.name=Wandverlichting Socket +eln:Signal_20H_inductor.name=Signaal 20H Smoorspoel +eln:Signal_Antenna.name=Signaalantenne +eln:Signal_Button.name=Signaalknop +eln:Signal_Cable.name=Signaalkabel +eln:Signal_Diode.name=Signaaldiode +eln:Signal_Processor.name=Signaalprocessor +eln:Signal_Relay.name=Signaal Relais +eln:Signal_Source.name=Signaalbron +eln:Signal_Switch.name=Signaalschakelaar +eln:Signal_Switch_with_LED.name=Signaalschakelaar met LED +eln:Signal_Trimmer.name=Signaaltrimmer +eln:Silicon_Dust.name=Siliciumstof +eln:Silicon_Ingot.name=Silicium Staaf +eln:Silicon_Plate.name=Silicium Plaat +eln:Silver_Brush.name=Zilverkleurige Kwast +eln:Simple_Lamp_Socket.name=Simpele Lamp Socket +eln:Single-use_Battery.name=Wegwerpaccu +eln:Small_200V_Copper_Heating_Corp.name=Kleine 200V Koperen Verhittingsspoel +eln:Small_200V_Iron_Heating_Corp.name=Kleine 200V Ijzeren Verhittingsspoel +eln:Small_200V_Tungsten_Heating_Corp.name=Kleine 200V Wolfraam Verhittingsspoel +eln:Small_50V_Carbon_Incandescent_Light_Bulb.name=Kleine 50V Koolstof Gloeilamp +eln:Small_50V_Copper_Heating_Corp.name=Kleine 50V Koperen Verhittingsspoel +eln:Small_50V_Economic_Light_Bulb.name=Kleine 50V Spaarlamp +eln:Small_50V_Incandescent_Light_Bulb.name=Kleine 50V Koolstof Gloeilamp +eln:Small_50V_Iron_Heating_Corp.name=Kleine 50V Ijzeren Verhittingsspoel +eln:Small_50V_Tungsten_Heating_Corp.name=Kleine 50V Wolfraam Verhittingsspoel +eln:Small_Active_Thermal_Dissipator.name=Kleine 200V Actieve Koeling +eln:Small_Flashlight.name=Kleine Zaklamp +eln:Small_Passive_Thermal_Dissipator.name=Kleine Passieve Koeling +eln:Small_Rotating_Solar_Panel.name=Klein Roterend Zonnepaneel +eln:Small_Solar_Panel.name=Klein Zonnepaneel +eln:Solar_Tracker.name=Zon Tracker +eln:Standard_Alarm.name=Standaardalarm +eln:Steam_Turbine.name=Stoomturbine +eln:Stone_Heat_Furnace.name=Stenen Hitteoven +eln:Street_Light.name=Lantaarn +eln:Suspended_Lamp_Socket.name=Hangende Lamp Socket +eln:Temperature_Probe.name=Temperatuur Sonde +eln:Thermal_Probe.name=Thermale Sonde +eln:Thermal_Probe_Chip.name=Thermale Sonde Chip +eln:Thermistor.name=Thermistor +eln:ThermoMeter.name=Thermometer +eln:Transformer.name=Transformator +eln:Tree_Resin.name=Boomhars +eln:Tree_Resin_Collector.name=Boomhars Verzamelzak +eln:Tungsten_Cable.name=Wolfraam Kabel +eln:Tungsten_Dust.name=Wolfraam Stof +eln:Tungsten_Ingot.name=Wolfraam Staaf +eln:Tungsten_Ore.name=Wolfraamerts +eln:Tutorial_Sign.name=Uitleg Bord +eln:Very_High_Voltage_Cable.name=Extreme Hoogspanningskabel +eln:Very_High_Voltage_Relay.name=Extreme Hoogspanningsrelais +eln:Very_High_Voltage_Switch.name=Extreme Hoogspanningsschakelaar +eln:Voltage-to-Redstone_Converter.name=Spanning-naar-Redstone Omzetter +eln:Voltage_Oriented_Battery.name=Spanningsgerichte Accu +eln:Voltage_Probe.name=Spanningssonde +eln:Water_Turbine.name=Waterturbine +eln:Weak_50V_Battery_Charger.name=Zwakke 50V Acculader +eln:White_Brush.name=Witte Kwast +eln:Wind_Turbine.name=Windturbine +eln:Wireless_Analyser.name=Draadloze Analyzer +eln:Wireless_Button.name=Draadloze Knop +eln:Wireless_Signal_Receiver.name=Draadloze Signaalontvanger +eln:Wireless_Signal_Repeater.name=Draadloze Signaalrepeater +eln:Wireless_Signal_Transmitter.name=Draadloze Signaalzender +eln:Wireless_Switch.name=Draadloze Schakelaar +eln:Wrench.name=Sleutel +eln:X-Ray_Scanner.name=Röntgenscanner +eln:XNOR_Chip.name=XNOR Chip +eln:XOR_Chip.name=XOR Chip +eln:Yellow_Brush.name=Gele Kwast +eln:entity.EAReplicator.name=Replicator +eln:item.Copper Koperen Bijl +eln:item.Copper Koperen Bijl +eln:item.Copper Koperen Bijl +eln:item.Copper Koperen Bijl +eln:item.Copper Koperen Bijl +eln:item.Copper Koperen Bijl +eln:item.Copper Koperen Bijl +eln:item.Copper Koperen Bijl +eln:item.Copper Koperen Bijl +eln:item.E-Coal E-Kolen Laarzen +eln:item.E-Coal E-Kolen Laarzen +eln:item.E-Coal E-Kolen Laarzen +eln:item.E-Coal E-Kolen Laarzen +eln:itemGroup.Eln=Elektrische Eeuw +eln:mod.meta.desc=Elektriciteit in je Basis\! +eln:tile.eln.ElnProbe.name=Eln Computer Sonde +eln:tile.eln.EnergyConverterElnToOtherHVUBlock.name=800V Elektrische Eeuw naar andere energie exporteur +eln:tile.eln.EnergyConverterElnToOtherLVUBlock.name=50V Elektrische Eeuw naar andere energie exporteur +eln:tile.eln.EnergyConverterElnToOtherMVUBlock.name=200V Elektrische Eeuw naar andere energie exporteur +eln: +eln:# ./src/main/java/mods/eln/i18n/I18N.java +eln:You_have_%s_lives_left=Je hebt %s levens over +eln: +eln:# ./src/main/java/mods/eln/item/BrushDescriptor.java +eln:Brush_is_dry=Kwast is Droog +eln:Can_paint_%s_blocks=Kan %s blokken verven +eln: +eln:# ./src/main/java/mods/eln/item/CombustionChamber.java +eln:Upgrade_for_the_Stone_Heat_Furnace.=Upgrade voor de Stenen Hitteoven +eln: +eln:# ./src/main/java/mods/eln/item/ElectricalDrillDescriptor.java +eln:Energy_per_operation\:_%sJ=Energie per handeling\: %sJ +eln:Time_per_operation\:_%ss=Tijd per handeling\: %ss +eln: +eln:# ./src/main/java/mods/eln/item/FerromagneticCoreDescriptor.java +eln:Cable_loss_factor\:_%s=Kabel verliesfactor\: %s +eln: +eln:# ./src/main/java/mods/eln/item/HeatingCorpElement.java +eln: +eln:# ./src/main/java/mods/eln/item/LampDescriptor.java +eln:Bad=Slecht +eln:Condition\:=Staat\: +eln:End_of_life=Bijna kapot +eln:Good=Goed +eln:New=Nieuw +eln:Nominal_lifetime\:_%sh=Nominale levensduur\: %sh +eln:Technology\:_%s=Technologie\: %s +eln:Used=Gebruikt +eln: +eln:# ./src/main/java/mods/eln/item/LampSlot.java +eln:Lamp_slot=Lamp Slot +eln: +eln:# ./src/main/java/mods/eln/item/OverHeatingProtectionDescriptor.java +eln:Useful_to_prevent_overheating\nof_Batteries=Nuttig om oververhitting van\naccu's te voorkomen +eln: +eln:# ./src/main/java/mods/eln/item/OverVoltageProtectionDescriptor.java +eln:Useful_to_prevent_over-voltage\nof_Batteries=Nuttig om over-spanning van\naccu's te voorkomen. +eln: +eln:# ./src/main/java/mods/eln/item/SolarTrackerDescriptor.java +eln:Solar_panel_upgrade=Zonnepaneel Upgrade +eln: +eln:# ./src/main/java/mods/eln/item/electricalitem/BatteryItem.java +eln: +eln:# ./src/main/java/mods/eln/item/electricalitem/ElectricalLampItem.java +eln:Off=Uit +eln:On=Aan +eln:State\:=Status\: +eln:Stored_Energy\:_%sJ_(%s)=Opgeslagen Energie\: %sJ (%s) +eln: +eln:# ./src/main/java/mods/eln/item/regulator/RegulatorSlot.java +eln: +eln:# ./src/main/java/mods/eln/misc/UtilsClient.java +eln:Hold_shift=Druk Shift in +eln: +eln:# ./src/main/java/mods/eln/misc/Version.java +eln:mod.name=Elektrische Eeuw +eln: +eln:# ./src/main/java/mods/eln/node/six/SixNodeDescriptor.java +eln: +eln:# ./src/main/java/mods/eln/simplenode/energyconverter/EnergyConverterElnToOtherGui.java +eln:Input_power_is_limited_to_%sW=Inputvermogen is gelimiteerd tot %sW +eln: +eln:# ./src/main/java/mods/eln/sixnode/LogicGate.kt +eln:_O\:_= O\: +eln: +eln:# ./src/main/java/mods/eln/sixnode/TreeResinCollector/TreeResinCollectorDescriptor.java +eln:Produces_Tree_Resin_over\ntime_when_put_on_a_tree.=Geeft boomhars na een tijd\nop een boom te zitten. +eln:This_block_can_only_be_placed_on_the_side_of_a_tree!=Dit blok kan alleen aan de zijkant van een boom geplaatst worden\! +eln: +eln:# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerContainer.java +eln:Battery_slot=Accu Slot +eln: +eln:# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerDescriptor.java +eln:Can_be_used_to_recharge\nelectrical_items_like\:\nFlash_Light,_X-Ray_scanner\nand_Portable_Battery_...=Kan gebruikt worden om\nelektrische items op te laden,\nzoals\:\nZaklamp, Röntgen scanner\nen Draagbare Accu ... +eln: +eln:# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerGui.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/diode/DiodeDescriptor.java +eln:Electrical_current_can_only\nflow_through_the_diode\nfrom_anode_to_cathode=Elektrische stroom kan alleen\ndoor een diode stromen van\nde anode naar de kathode. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalalarm/ElectricalAlarmDescriptor.java +eln:= +eln:Emits_an_acoustic_alarm_if\nthe_input_signal_is_high=Zendt een akoestisch alarm als\nhet inputsignaal sterk is. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalalarm/ElectricalAlarmGui.java +eln:Sound_is_muted=Geluid is gedempt +eln:Sound_is_not_muted=Geluid is aan +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerContainer.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerDescriptor.java +eln:Protects_electrical_components\nOpens_contact_if\:\n__-_Voltage_exceeds_a_certain_level\n-_Current_exceeds_the_cable_limit=Beschermt elektrische componenten\nOpent contacten wanneer\:\n- Voltage boven bepaald niveau komt\n- Stroom boven het kabellimiet komt +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerGui.java +eln:Maximum_voltage_before_cutting_off=Maximale spanning voor onderbreken +eln:Minimum_voltage_before_cutting_off=Minimale spanning voor onderbreken +eln:Switch_is_off=Schakelaar staat uit +eln:Switch_is_on=Schakelaar staat aan +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalcable/ElectricalCableDescriptor.java +eln:A_signal_is_electrical_information\nwhich_must_be_between_0V_and_%sV=Een signaal is elektrische informatie\ndie tussen de 0V en %sV moet zitten. +eln:Cable_is_adapted_to_conduct\nelectrical_signals.=Kabel is aangepast om elektrische\nsignalen te geleiden. +eln:Current\:_%sA=Stroom\: %sA +eln:Not_adapted_to_transport_power.=Niet aangepast om energie te transporteren. +eln:Save_usage\:=Sla gebruik op\: +eln:Serial_resistance\:_%sΩ=Seriële weerstand\: %sΩ +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerDescriptor.java +eln:It_can_store_up_to_256_points.=Het kan maximaal 256 punten opslaan. +eln:Measures_the_voltage_of_an\nelectrical_signal_and_plots\nthe_data_in_real_time.=Meet het voltage van een\nelektrish signaal en tekent\nde data in real-time. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerGui.java +eln:Back_to_display=Terug naar voorstelling +eln:Configuration=Configuratie +eln:Current_[A]=Stroom [A] +eln:Energy_[J]=Energie [J] +eln:Percent_[-]%=Percentage [-]% +eln:Power_[W]=Vermogen [W] +eln:Print=Print +eln:Sampling_period=Sampleperiode +eln:Temp._[*C]=Temp. [*C] +eln:Voltage_[V]=Spanning [V] +eln:Y-axis_max=Y-as max +eln:Y-axis_min=Y-as min +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorContainer.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorDescriptor.java +eln:Output_voltage_increases\nif_entities_are_moving_around.=Output spanning verhoogt \nals entities bewegen. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalfiredetector/ElectricalFireDetectorDescriptor.java +eln:Output_voltage_increases\nif_a_fire_has_been_detected.=Output spanning verhoogt\nals vuur gedetecteerd wordt. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceDescriptor.java +eln:Provides_configurable_signal\nvoltage.=Geeft een aanpasbaar\nsignaalspanning. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceGui.java +eln:Output_at_%s=Output\: %s +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricallightsensor/ElectricalLightSensorDescriptor.java +eln:0V_at_night,_%sV_at_noon.=0V 's nachts, %sV 's middags. +eln:Provides_an_electrical_voltage\nin_the_presence_of_light.=Geeft een elektrische spanning\nin de aanwezigheid van licht. +eln:Provides_an_electrical_voltage\nwhich_is_proportional_to\nthe_intensity_of_daylight.=Geeft een elektrische spanning\ndie proportioneel is aan de \nintensiteit van het daglicht. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathContainer.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathDescriptor.java +eln:Applicable_boolean_operators\:=Toepasbare boolean operators\: +eln:Applicable_functions\:=Toepasselijke functies\: +eln:Applicable_mathematical_operators\:=Toepasbare wiskundige operators\: +eln:Calculates_an_output_signal_from\n3_inputs_(A,_B,_C)_using_an_equation.=Berekent een output signaal van\n3 inputs (A,B,C) door middel van een\nvergelijking. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathGui.java +eln:%s_Redstone(s)_required=%s Redstone(s) nodig +eln:Equation_required!=Vergelijking nodig\! +eln:Inputs_are=Inputs zijn +eln:Invalid_equation!=Ongeldige vergelijking +eln:Output_voltage_formula=Output spanning formule +eln:Waiting_for_completion...=Wacht op voltooiing... +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalredstoneinput/ElectricalRedstoneInputDescriptor.java +eln:Converts_Redstone_signal\nto_an_electrical_voltage.=Zet Redstone signaal om in\neen elektrische spanning. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalredstoneoutput/ElectricalRedstoneOutputDescriptor.java +eln:Converts_electrical_voltage\ninto_a_Redstone_signal.=Zet een elektrische spanning\nom in een Redstone signaal. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalrelay/ElectricalRelayDescriptor.java +eln:A_relay_is_an_electrical\ncontact_that_conducts_electric\ncurrent_or_not,_depending\nthe_actual_input_signal_voltage.=Een relais is een elektrisch \ncontact dat afhankelijk van het\nactuele input signaal wel of niet \nelektrische spanning geleid. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalrelay/ElectricalRelayGui.java +eln:Normally_closed=Normaal gesloten +eln:Normally_open=Normaal open +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalsource/ElectricalSourceDescriptor.java +eln:Creative_block.=Creatief blok +eln:Provides_an_ideal_voltage_source\nwithout_energy_or_power_limitation.=Geeft een ideale spanningsbron\nzonder vermogenslimiet. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalsource/ElectricalSourceGui.java +eln:Output_voltage=Output spanning +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalswitch/ElectricalSwitchDescriptor.java +eln:Can_break_an_electrical_circuit\ninterrupting_the_current.=Kan een elektrisch signaal\nafbreken, daarmee onderbreekt\nde stroom. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricaltimeout/ElectricalTimeoutDescriptor.java +eln:Upon_application_of_a_high_signal,\nthe_timer_maintains_the_output_high_for\na_configurable_interval._Can_be_re-triggered.=Bij toepassing van een sterk signaal\nhoudt de timer een sterk signaal vast\nvoor een aanpasbare tijd. Kan aangepast\nworden. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricaltimeout/ElectricalTimeoutGui.java +eln:Set=Stel in +eln:The_time_interval_the\noutput_is_kept_high.=Het tijdsinterval de\noutput wordt hoog gehouden. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalvumeter/ElectricalVuMeterDescriptor.java +eln:Displays_the_value_of_a_signal.=Geeft de waarde van een signaal. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalwatch/ElectricalWatchContainer.java +eln:Portable_battery_slot=Draagbare Accu Slot +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalweathersensor/ElectricalWeatherSensorDescriptor.java +eln:Clear\:_%sV=Onbewolkt\: %sV +eln:Provides_an_electrical_signal\ndepending_the_actual_weather.=Geeft een elektrisch signaal\nafhankelijk van het huidige weer. +eln:Rain\:_%sV=Regen\: %sV +eln:Storm\:_%sV=Storm\: %sV +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalwindsensor/ElectricalWindSensorDescriptor.java +eln:Maximum_wind_speed_is_%sm_s=Maximale windsnelheid is %sm/s +eln:Provides_an_electrical_signal\ndependant_on_wind_speed.=Geeft een elektrisch signaal\nafhankelijk van de windsnelheid. +eln:You_can't_place_this_block_on_the_floor_or_the_ceiling=Je kunt dit blok niet op de vloer of het plafond plaatsen +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricasensor/ElectricalSensorDescriptor.java +eln:Can_measure_Voltage_Power_Current=Kan Voltage/Vermogen/Stroom meten +eln:Measures_electrical_values_on_cables.=Meet elektrische waardes op kabels. +eln:Measures_voltage_on_cables.=Meet spanning op kabels. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricasensor/ElectricalSensorGui.java +eln:Current=Stroom +eln:Measured_voltage\ncorresponding\nto_0%_output=Gemeten spanning\ncorrespondeert\nmet 0% output +eln:Measured_voltage\ncorresponding\nto_100%_output=Gemeten spanning\ncorrespondeert\nmet 100% output +eln:Voltage=Spanning +eln: +eln:# ./src/main/java/mods/eln/sixnode/energymeter/EnergyMeterGui.java +eln:Change_password=Verander wachtwoord +eln:Counter_Mode=Teller Mode +eln:Counts_the_energy_conducted_from\n\u00a74red\u00a7f_to_\u00a71blue\u00a7f.=Telt de energie geleid van \n\\u00a74red\\u00a7f tot \\u00a71blue\\u00a7f. +eln:Energy_counter\:_%sJ=Energie teller\: %sJ +eln:Enter_new_energy=Stel nieuwe energie in +eln:Enter_password=Vul wachtwoord in +eln:Prepay_Mode=Prepay Mode +eln:Reset_time_counter=Reset tijd teller +eln:Set_energy_counter=Stel energieteller in +eln:Time_counter\:=Tijd teller\: +eln:Try_password=Probeer wachtwoord +eln:You_can_set_an_initial\namount_of_available_energy.\nWhen_the_counter_arrives_at_0\nthe_contact_will_be_opened.=Je kunt de beginhoeveelheid\nbeschikbare energie instellen.\nWanneer de teller op 0 staat\nwordt het contact geopend. +eln:is_off=is uit +eln:is_on=is aan +eln:value_in_kJ=waarde in kJ +eln: +eln:# ./src/main/java/mods/eln/sixnode/groundcable/GroundCableDescriptor.java +eln:Can_be_used_to_set_a_point_of_an\nelectrical_network_to_0V_potential.\nFor_example_to_ground_negative_battery_contacts.=Kan gebruikt worden om een punt\nvan een elektrisch netwerk een \n0V potentieel te geven.\nBijvoorbeeld als aarde voor negatieve accucontacten. +eln:Provides_a_zero_volt_reference.=Geeft een 0-volt referentie. +eln: +eln:# ./src/main/java/mods/eln/sixnode/hub/HubDescriptor.java +eln:Allows_crossing_cables\non_one_single_block.=Staat kabels toe te \nkruisen op 1 blok. +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketDescriptor.java +eln:Angle\:_%s°_to_%s°=Hoek\: %s° tot %s° +eln:Spot_range\:_%s_blocks=Zichtbereik\: %s blokken +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketGuiDraw.java +eln:%s_is_not_in_range!=%s is niet binnen bereik\! +eln:Cable_slot_empty=Leeg Kabel Slot +eln:Orientation\:_%s°=Orientatie\: %s° +eln:Parallel=Parallel +eln:Powered_by_Lamp_Supply=Aangedreven door Lamp Voeding +eln:Powered_by_cable=Aangedreven door kabel +eln:Serial=Seriële +eln:Specify_the_supply_channel=Specificeer het aanleveringskanaal +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyContainer.java +eln:Electrical_cable_slot\nBase_range_is_32_blocks.\nEach_additional_cable\nincreases_range_by_one.=Elektrische kabel slot\nBasisbereik is 32 blokken.\nIedere toegevoegde kabel\nverhoogt bereik met 1 blok. +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyDescriptor.java +eln:Supplies_all_lamps_on_the_channel.=Voorziet alle lampen op het kanaal van energie. +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyGui.java +eln:Power_channel_name=Energiekanaal naam +eln:Wireless_channel_name=Draadloze kanaal naam +eln: +eln:# ./src/main/java/mods/eln/sixnode/modbusrtu/ModbusRtuGui.java +eln:Add=Toevoegen +eln:Channel_name=Kanaalnaam +eln:Modbus_ID=Modbus ID +eln:Modbus_RTU=Modbus RTU +eln:Station_ID=Stationsnummer +eln:Station_name=Stationsnaam +eln:Wireless_RX=Draadloze RX +eln:Wireless_TX=Draadloze TX +eln: +eln:# ./src/main/java/mods/eln/sixnode/powercapacitorsix/PowerCapacitorSixContainer.java +eln:(Increases_maximum_voltage)=(Vergroot maximale spanning) +eln: +eln:# ./src/main/java/mods/eln/sixnode/powercapacitorsix/PowerCapacitorSixGui.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/powerinductorsix/PowerInductorSixContainer.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/powerinductorsix/PowerInductorSixGui.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/powersocket/PowerSocketDescriptor.java +eln:Supplies_any_device\nplugged_in_with_energy.=Voorziet ieder aangekoppeld\napparaat van energie. +eln: +eln:# ./src/main/java/mods/eln/sixnode/powersocket/PowerSocketGui.java +eln:Specify_the_device_to_supply_through_this_socket.=Specificeer het apparaat om van energie te voorzien via deze socket. +eln: +eln:# ./src/main/java/mods/eln/sixnode/resistor/ResistorContainer.java +eln:(Sets_resistance)=(Stelt weerstand in) +eln:Coal_dust_slot=Kolenstof Slot +eln: +eln:# ./src/main/java/mods/eln/sixnode/thermalcable/ThermalCableDescriptor.java +eln:High_parallel_resistance\n_\=>_Low_power_dissipation.=Hoge parallelle weerstand\n\=> Laag vermogensverdrijving. +eln:Low_serial_resistance\n_\=>_High_conductivity.=Lage seriële weerstand\n\=> Hoge geleiding. +eln:Parallel_resistance\:_%sK_W=Parallelle weerstand\: %sK/W +eln:Serial_resistance\:_%sK_W=Seriële weerstand\: %sK/W +eln: +eln:# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorContainer.java +eln:Cable_slot=Kabel Slot +eln: +eln:# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorDescriptor.java +eln:Can_measure\:=Kan meten\: +eln:Measures_temperature_of_cables.=Meet de temperatuur van kabels. +eln:Measures_thermal_values_on_cables.=Meet temperatuurwaarden op kabels. +eln:__Temperature_Power_conducted=Temperatuur/Vermogen geleidt +eln: +eln:# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorGui.java +eln:Measured_temperature\ncorresponding\nto_0%_output=Gemeten temperatuur\ncorrespondeert\nmet 0% output +eln:Measured_temperature\ncorresponding\nto_100%_output=Gemeten temperatuur\ncorrespondeert\nmet 100% output +eln:Temperature=Temperatuur +eln: +eln:# ./src/main/java/mods/eln/sixnode/tutorialsign/TutorialSignElement.java +eln:No_text_associated_to_this_beacon=Geen tekst geassocieerd met deze baken +eln: +eln:# ./src/main/java/mods/eln/sixnode/tutorialsign/TutorialSignGui.java +eln:Set_beacon_name=Stel baken naam in +eln: +eln:# ./src/main/java/mods/eln/sixnode/wirelesssignal/rx/WirelessSignalRxGui.java +eln: +eln:# ./src/main/java/mods/eln/transparentnode/FuelGenerator.kt +eln:Nominal_power\:_%s_W=Norminaal vermogen\: %s W +eln:Nominal_voltage\:_%s_V=Nominale spanning\: %s V +eln:Produces_electricity_using_fuel.=Genereert elektriciteit met brandstof. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/LargeRheostat.kt +eln:Nom._Resistance\:_%s=Nom. weerstand\: %s +eln: +eln:# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerContainer.java +eln:Drill_slot=Boor Slot +eln:Mining_pipe_slot=Graafpijp Slot +eln:Ore_scanner_slot=Erts Scanner Slot +eln: +eln:# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerDescriptor.java +eln:Excavates_on_a_small_radius.\nExtracts_ore_on_a_bigger_radius\:\n10_blocks_radius_after_10_blocks_depth.=Graaft een kleine radius op.\nGraaft erts in een grotere radius op\:\n10 blokken radius na 10 blokken diepte. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerGuiDraw.java +eln:Chest_missing_on_the\nback_of_the_auto_miner!=Kist mist aan de achterkant \nvan de automatische graver. +eln:Halves_speed,_triples_power_draw=Halveert snelheid, verdrievoudigd energieverbruik +eln:Silk_Touch_Off=Zijden Streling Uit +eln:Silk_Touch_On=Zijden Streling Aan +eln:Silk_touch=Zijden Streling +eln: +eln:# ./src/main/java/mods/eln/transparentnode/battery/BatteryContainer.java +eln:Overheating_protection=Bescherming Tegen Oververhitting +eln:Overvoltage_protection=Bescherming Tegen Overspanning +eln: +eln:# ./src/main/java/mods/eln/transparentnode/battery/BatteryDescriptor.java +eln:Actual_charge\:_%s=Huidige lading\: %s +eln:Energy_capacity\:_%sJ=Energie capaciteit %sJ +eln:_charged_at_%s=%s opgeladen +eln: +eln:# ./src/main/java/mods/eln/transparentnode/battery/BatteryGuiDraw.java +eln:Charge=Lading +eln:Charged=Opgeladen +eln:Discharge=Ontlading +eln:Energy\:=Energie\: +eln:Energy\:_%s=Energie\: %s +eln:Life\:=Leven\: +eln:No_charge=Geen lading\: +eln:Power_in\:=Energie in\: +eln:Power_out\:=Energie uit\: +eln: +eln:# ./src/main/java/mods/eln/transparentnode/eggincubator/EggIncubatorContainer.java +eln:Egg_slot=Ei Slot +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalantennarx/ElectricalAntennaRxDescriptor.java +eln:Wireless_energy_receiver.=Draadloze energie ontvanger. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalantennatx/ElectricalAntennaTxDescriptor.java +eln:Efficiency\:_%s_up_to_%s=Efficiëntie\: %s tot %s +eln:Wireless_energy_transmitter.=Draadloze Energiezender +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceContainer.java +eln:Heating_corp_slot=Verhittingsspoel Slot +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceDescriptor.java +eln:Similar_to_a_vanilla_furnace,\nbut_heats_with_electricity.=Vergelijkbaar met standaard oven,\nmaar verhit met elektriciteit. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceGuiDraw.java +eln:Auto_shutdown=Automatische afsluiting +eln:Manual_shutdown=Handmatig afsluiting +eln:Set_point\:_%s°C=Ingesteld punt\: %s°C +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalmachine/ElectricalMachineDescriptor.java +eln:Cost=Kosten +eln: +eln:# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceContainer.java +eln:Combustion_chamber_slot=Ontbrandingskamer Slot +eln:Fuel_slot=Brandstof Slot +eln: +eln:# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceDescriptor.java +eln:Generates_heat_when_supplied_with_fuel.=Genereert hitte wanneer van brandstof voorzien wordt. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceGuiDraw.java +eln:Control_gauge_at_%s=Meter op %s +eln:Decline_fuel=Weiger brandstof +eln:External_control=Externe bediening +eln:Internal_control=Interne bediening +eln:Take_fuel=Neem brandstof +eln: +eln:# ./src/main/java/mods/eln/transparentnode/powercapacitor/PowerCapacitorContainer.java +eln:(Increases_maximal_voltage)=(Verhoog maximale spanning) +eln: +eln:# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelContainer.java +eln:Solar_tracker_slot=Zon Tracker Slot +eln: +eln:# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelDescriptor.java +eln:Can_be_geared_towards_the_sun.=Kan naar de zon gekeerd worden. +eln:Max._power\:_%sW=Max. vermogen\: %sW +eln:Max._voltage\:_%sV=Max. spanning\: %sV +eln:Produces_power_from_solar_radiation.=Produceert energie van zonneradiatie +eln: +eln:# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPannelGuiDraw.java +eln:It_is_night=Het is nacht +eln:Solar_panel_angle\:_%s°=Zonnepaneel hoek\: %s° +eln:Sun_angle\:_%s°=Hoek zon\: %s° +eln: +eln:# ./src/main/java/mods/eln/transparentnode/teleporter/TeleporterGui.java +eln:Destination_transporter=Bestemmingstransporteur +eln:Power_consumption\:=Energieverbruik\: +eln:Power_consumption\:_%sW=Energieverbruik\: %sW +eln:Required_energy\:_%sJ=Benodigde Energie\: %sJ +eln:Start=Start +eln:Transporter_name=Transporteur naam +eln: +eln:# ./src/main/java/mods/eln/transparentnode/thermaldissipatoractive/ThermalDissipatorActiveDescriptor.java +eln:Fan_cooling_power\:_%sW=Ventilator koelvermogen\: %sW +eln:Fan_power_consumption\:_%sW=Ventilator energieverbruik\: %sW +eln:Fan_voltage\:_%sV=Ventilator spanning\: %sV +eln: +eln:# ./src/main/java/mods/eln/transparentnode/transformer/TransformerDescriptor.java +eln:The_voltage_ratio_is_proportional\nto_the_cable_stacks_count_ratio.=De spanningsverhouding is\nproportioneel aan de kabelstapel\nteller verhouding. +eln:Transforms_an_input_voltage_to\nan_output_voltage.=Zet een input spanning om \nin een output spanning. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/turbine/TurbineDescriptor.java +eln:Generates_electricity_using_heat.=Genereert energie met hitte. +eln:Temperature_difference\:_%s°C=Temperatuurverschil\: %s°C +eln: +eln:# ./src/main/java/mods/eln/transparentnode/turret/TurretDescriptor.java +eln:CAUTION\:_Cables_can_get_quite_hot!=OPGEPAST\: Kabels kunnen behoorlijk heet worden\! +eln:Laser_charge_power\:_%sW...%skW=Laser lading vermogen\: %sW...%skW +eln:Scans_for_entities_and_shoots_if_the\nentity_matches_the_configurable_filter_criteria.=Zoekt naar entities en schiet als de entity\ngelijk staat aan de aanpasbare filter criteria. +eln:Standby_power\:_%sW=Standby vermogen\: %sW +eln: +eln:# ./src/main/java/mods/eln/transparentnode/turret/TurretGui.java +eln:Attack\:=Aanvallen\: +eln:Do_not_attack\:=Niet aanvallen\: +eln:Recharge_power\:=Herlaad energie\: +eln: +eln:# ./src/main/java/mods/eln/transparentnode/waterturbine/WaterTurbineDescriptor.java +eln:Generates_energy_using_water_stream.=Genereert energie door middel van stromend water. +eln:No_place_for_water_turbine!=Geen plaats voor waterturbine\! +eln: +eln:# ./src/main/java/mods/eln/transparentnode/windturbine/WindTurbineDescriptor.java +eln:Front\:_%s=Voorkant\: %s +eln:Generates_energy_from_wind.=Genereert energie door middel van de wind. +eln:Left_Right\:_%s=Links/Rechts\: %s +eln:Up_Down\:_%s=Boven/Onder\: %s +eln:Wind_area\:=Wind gebied\: +eln: +eln:# ./src/main/java/mods/eln/wiki/Data.java +eln:Energy=Energie +eln:Light=Licht +eln:Machine=Machine +eln:Ore=Erts +eln:Portable=Draagbaar +eln:Resource=Grondstof +eln:Signal=Signaal +eln:Thermal=Thermaal +eln:Upgrade=Upgrade +eln:Utilities=Utiliteiten +eln:Wiring=Bedrading +eln: +eln:# ./src/main/java/mods/eln/wiki/Default.java +eln:Previous=Vorige +eln: +eln:# ./src/main/java/mods/eln/wiki/ItemDefault.java +eln:Can_be_used_to_craft\:=Kan gebruikt worden om het volgende te maken\: +eln:Cannot_be_crafted!=Kan niet gemaakt worden\! +eln:Cost_%sJ=Kosten\: %sJ +eln:Created_by\:=Gemaakt door\: +eln:Is_not_a_crafting_material!=Dit is geen werkmateriaal +eln:Recipe\:=Recept\: +eln: +eln:# Appearing in multiple source files +eln:(Increases_capacity)=(vergroot capaciteit) +eln:(Increases_inductance)=(Verhoogt geleiding) +eln:Actual\:_%s°C=Momenteel\: %s°C +eln:Biggest=Grootste +eln:Booster_slot=Booster Slot +eln:Can_create\:=Kan maken\: +eln:Capacity\:_%sF=Capaciteit\: %sF +eln:Charge_power\:_%sW=Lading vermogen\: %sW +eln:Connected=Verbonden +eln:Cooling_power\:_%sW=Koelvermogen\: %sW +eln:Copper_cable_slot=Koperen Kabel Slot +eln:Dielectric_slot=Diëlektricum Slot +eln:Discharge_power\:_%sW=Ontladingsvermogen\: %sW +eln:Electrical_cable_slot=Elektrische Kabel Slot +eln:Entity_filter_slot=Entity Filter Slot +eln:Ferromagnetic_core_slot=Ferromagnetische Kern Slot +eln:Has_a_signal_output.=Heeft een signaal output. +eln:Inductance\:_%sH=Inductief Vermogen\: %sH +eln:Internal_resistance\:_%sΩ=Interne weerstand\: %sΩ +eln:Is_off=Is uit +eln:Is_on=Is aan +eln:Max._temperature\:_%s°C=Max. temperatuur\: %s°C +eln:Measured_value\ncorresponding\nto_0%_output=Gemeten waarde\ncorrespondeert\nmet 0% output +eln:Measured_value\ncorresponding\nto_100%_output=Gemeten waarde\ncorrespondeert\nmet 100% output +eln:Nominal\:=Nominaal\: +eln:Nominal_power\:_%sW=Norminaal vermogen\: %sW +eln:Nominal_usage\:=Nominaal gebruik\: +eln:Nominal_voltage\:_%sV=Nominale spanning\: %sV +eln:Not_connected=Niet verbonden +eln:Not_enough_space_for_this_block=Niet genoeg ruimte voor dit blok +eln:Power=Energie +eln:Power\:_%sW=Vermogen\: %sW +eln:Range\:_%s_blocks=Bereik\: %s blokken +eln:Redstone_slot=Redstone Slot +eln:Regulator_slot=Regelaar Slot +eln:Reset=Reset +eln:Resistance\:_%sΩ=Weerstand\: %sΩ +eln:Smallest=Kleinste +eln:Specify_the_channel=Specificeer het kanaal +eln:Stored_energy\:_%sJ_(%s)=Opgeslagen Energie\: %sJ (%s) +eln:Temperature\:_%s°C=Temperatuur\: %s°C +eln:Temperature_gauge=Temperatuurmeter +eln:Thermal_isolator_slot=Warmte-Isolatie Slot +eln:Toggle=Wissel +eln:Toggle_switch=Wisselschakelaar +eln:Toggles_the_output_each_time\nan_emitter's_value_rises.\nUseful_to_allow_multiple_buttons\nto_control_the_same_light.=Verandert de output elke keer\nals de waarden van de zender \nomhoog gaat. Nuttig om meerdere\nknoppen het zelfde licht te laten\nbesturen. +eln:Used_to_cool_down_turbines.=Wordt gebruikt om turbines af te koelen. +eln:Uses_the_biggest\nvalue_on_the_channel.=Gebruikt de grootste\nwaarde op het kanaal. +eln:Uses_the_smallest\nvalue_on_the_channel.=Gebruikt de kleinste\nwaarde op het kanaal. +eln:Validate=Valideer +eln:Voltage\:_%sV=Spanning\: %sV +eln:You_can't_place_this_block_at_this_side=Je kunt dit blok niet aan deze zijde plaatsen diff --git a/src/main/resources/assets/eln/lang/nl_BE.lang b/src/main/resources/assets/eln/lang/nl_BE.lang index 8eb7c816e..ffb73607c 100644 --- a/src/main/resources/assets/eln/lang/nl_BE.lang +++ b/src/main/resources/assets/eln/lang/nl_BE.lang @@ -1,829 +1,829 @@ -# - -# ./src/main/java/mods/eln/Achievements.java -Electrical_Age_[WIP]=Elektrische Eeuw [WIP] -achievement.craft_50v_macerator=Verbrijzeling Beginner -achievement.craft_50v_macerator.desc=Maak een 50V Versnipperaar -achievement.open_guide=Wiki Power -achievement.open_guide.desc=Open de wiki handleiding - -# ./src/main/java/mods/eln/Eln.java -10A_Diode.name=10A Diode -200V_Active_Thermal_Dissipator.name=200V Actieve Koeling -200V_Battery_Charger.name=200V Accu Lader -200V_Compressor.name=200V Compressor -200V_Condensator.name=200V Condensator -200V_Copper_Heating_Corp.name=200V Koperen Verhittingsspoel -200V_Economic_Light_Bulb.name=200V Spaarlamp -200V_Farming_Lamp.name=200V Boerderijlamp -200V_Fuel_Generator.name=200V Brandstofgenerator -200V_Incandescent_Light_Bulb.name=200V Gloeilamp -200V_Iron_Heating_Corp.name=200V Ijzeren Verhittingsspoel -200V_LED_Bulb.name=200V LED Lamp -200V_Macerator.name=200V Versnipperaar -200V_Magnetizer.name=200V Magnetiseringsunit -200V_Plate_Machine.name=200V Platenwals -200V_Power_Socket.name=200V Stopcontact -200V_Tungsten_Heating_Corp.name=200V Wolfraam Verhittingsspoel -200V_Turbine.name=200V Turbine -25A_Diode.name=25A Diode -50V_Battery_Charger.name=50V Accu Lader -50V_Carbon_Incandescent_Light_Bulb.name=50V Koolstof Gloeilamp -50V_Compressor.name=50V Compressor -50V_Condensator.name=50V Condensator -50V_Copper_Heating_Corp.name=50V Koperen Verhittingsspoel -50V_Economic_Light_Bulb.name=50V Spaarlamp -50V_Egg_Incubator.name=50V Broedlamp -50V_Farming_Lamp.name=50V Boerderij lamp -50V_Fuel_Generator.name=50V Brandstofgenerator -50V_Incandescent_Light_Bulb.name=50V Gloeilamp -50V_Iron_Heating_Corp.name=50V Ijzeren Verhittingsspoel -50V_LED_Bulb.name=50V LED Lamp -50V_Macerator.name=50V Versnipperaar -50V_Magnetizer.name=50V Magnetiseringsunit -50V_Plate_Machine.name=50V Platenwals -50V_Power_Socket.name=50V Stopcontact -50V_Tungsten_Heating_Corp.name=50V Wolfraam Verhittingsspoel -50V_Turbine.name=50V Turbine -800V_Defence_Turret.name=800V Verdedigingstoren -AND_Chip.name=AND Chip -Advanced_Chip.name=Geavanceerde Chip -Advanced_Electrical_Motor.name=Geavanceerde Elektrische Motor -Advanced_Energy_Meter.name=Geavanceerde Elektrische Meter -Advanced_Machine_Block.name=Geavanceerd Machineblok -Advanced_Magnet.name=Geavanceerde Magneet -AllMeter.name=Universeelmeter -Alloy_Dust.name=Legering Stof -Alloy_Ingot.name=Legering Staaf -Alloy_Plate.name=Legering Plaat -Analog_Watch.name=Analoog Horloge -Analog_vuMeter.name=Analoge Meter -Analogic_Regulator.name=Analoge Regulator -Animal_Filter.name=Dierenfilter -Auto_Miner.name=Automatische Graver -Average_Electrical_Drill.name=Gemiddelde Electrische Boor -Average_Ferromagnetic_Core.name=Gemiddelde Ferromagnetische Kern -Basic_Magnet.name=Basis Magneet -Black_Brush.name=Zwarte Kwast -Blue_Brush.name=Blauwe Kwast -Brown_Brush.name=Bruine Kwast -Capacity_Oriented_Battery.name=Capaciteitsgerichte Accu -Cheap_Chip.name=Goedkope Chip -Cheap_Electrical_Drill.name=Goedkope Elektrische Boor -Cheap_Ferromagnetic_Core.name=Goedkope Ferromagnetische Kern -Cinnabar_Dust.name=Cinnaber Stof -Cinnabar_Ore.name=Cinnaber Erts -Coal_Dust.name=Kolenstof -Coal_Plate.name=Kolen Plaat -Combustion_Chamber.name=Ontbrandingskamer -Copper_Cable.name=Koperen Kabel -Copper_Dust.name=Koperstof -Copper_Ingot.name=Koperen Staaf -Copper_Ore.name=Kopererts -Copper_Plate.name=Koperen Plaat -Copper_Thermal_Cable.name=Koperen Hittegeleidingskabel -Cost_Oriented_Battery.name=Kostengerichte Accu -Current_Oriented_Battery.name=Ampèragegerichte Accu -Cyan_Brush.name=Cyaan Kwast -D_Flip_Flop_Chip.name=D Flip Flop Chip -Data_Logger.name=Datalogger -Data_Logger_Print.name=Datalogger Uitdraai -Dielectric.name=Diëlektricum -Digital_Watch.name=Digitaal Horloge -Electrical_Anemometer_Sensor.name=Elektrische Anemometer Sensor -Electrical_Breaker.name=Elektrische Zekeringsautomaat -Electrical_Daylight_Sensor.name=Elektrische Daglichtsensor -Electrical_Entity_Sensor.name=Elektrische Entity Sensor -Electrical_Fire_Detector.name=Elektrische Vuur Sensor -Electrical_Furnace.name=Elektrische Oven -Electrical_Light_Sensor.name=Elektrische Lichtsensor -Electrical_Motor.name=Elektrische Motor -Electrical_Probe.name=Elektriciteitssonde -Electrical_Probe_Chip.name=Elektriciteitssonde Chip -Electrical_Source.name=Elektrische Bron -Electrical_Timer.name=Elektrische Timer -Electrical_Weather_Sensor.name=Elektrische Weersensor -Electrical_age_wrench,\nCan_be_used_to_turn\nsmall_wall_blocks=Elektrische Eeuw moersleutel\nKan gebruikt worden om\nkleine wandblokken te draaien. -Energy_Meter.name=Energiemeter -Experimental_Transporter.name=Experimentele Transporteur -Fast_Electrical_Drill.name=Snelle Elektrische Boor -Ferrite_Ingot.name=Ferriet Staaf -Flat_Lamp_Socket.name=Platte Lamp Socket -Fluorescent_Lamp_Socket.name=Fluorescentielamp Socket -Generator.name=Generator -Gold_Dust.name=Goudstof -Gold_Plate.name=Gouden Plaat -Gray_Brush.name=Grijze Kwast -Green_Brush.name=Groene Kwast -Ground_Cable.name=Aardingskabel -High_Power_Receiver_Antenna.name=Sterk Vermogen Onvangstantenne -High_Power_Transmitter_Antenna.name=Sterk Vermogen Zendantenne -High_Voltage_Cable.name=Hoogspanningskabel -High_Voltage_Relay.name=Hoogspanningsrelais -High_Voltage_Switch.name=Hoogspanningsschakelaar -Hub.name=Hub -Industrial_Data_Logger.name=Industriële Datalogger -Iron_Cable.name=Ijzeren Kabel -Iron_Dust.name=Ijzerstof -Iron_Plate.name=Ijzeren Plaat -JK_Flip_Flop_Chip.name=JK Flip Flop Chip -LED_vuMeter.name=LED vuMeter -Lamp_Socket_A.name=Lamp Socket A -Lamp_Socket_B_Projector.name=Lamp Socket B Projector -Lamp_Supply.name=Lamp Voeiding -Large_Rheostat.name=Grote Potentiometer -Lead_Dust.name=Lood Stof -Lead_Ingot.name=Loden Staaf -Lead_Ore.name=Looderts -Lead_Plate.name=Loden Plaat -Life_Oriented_Battery.name=Levensduurgerichte Accu -Light_Blue_Brush.name=Lichtblauwe Kwast -Lime_Brush.name=Limoen Kwast -Long_Suspended_Lamp_Socket.name=Lange Hangende Lamp Socket -Low_Power_Receiver_Antenna.name=Zwak Vermogen Ontvangstantenne -Low_Power_Transmitter_Antenna.name=Zwak Vermogen Zendantenne -Low_Voltage_Cable.name=Laagspanningskabel -Low_Voltage_Relay.name=Laagspanningsrelais -Low_Voltage_Switch.name=Laagspanningschakelaar -Machine_Block.name=Machine Blok -Machine_Booster.name=Machine Versterker -Magenta_Brush.name=Magenta Kwast -Medium_Power_Receiver_Antenna.name=Normaal Vermogen Ontvangstantenne -Medium_Power_Transmitter_Antenna.name=Normaal Vermogen Zendantenne -Medium_Voltage_Cable.name=Normale Spanningskabel -Medium_Voltage_Relay.name=Normale Spanningsrelais -Medium_Voltage_Switch.name=Normale Spanningsschakelaar -Mercury.name=Kwik -Mining_Pipe.name=Graafpijp -Modbus_RTU.name=Modbus RTU -Modern_Data_Logger.name=Moderne Datalogger -Monster_Filter.name=Monster Filter -MultiMeter.name=Multimeter -NAND_Chip.name=NAND Chip -NOR_Chip.name=NOR Chip -NOT_Chip.name=NOT Chip -Nuclear_Alarm.name=Nucleair Alarm -OR_Chip.name=OR Chip -On_OFF_Regulator_10_Percent.name=Aan/Uit regelaar 10% -On_OFF_Regulator_1_Percent.name=Aan/Uit regelaar 1% -Optimal_Ferromagnetic_Core.name=Optimale Ferromagnetische Kern -Orange_Brush.name=Oranje Kwast -Ore_Scanner.name=Erts Scanner -Oscillator_Chip.name=Oscillator Chip -Overheating_Protection.name=Bescherming Tegen Oververhitting -Overvoltage_Protection.name=Bescherming Tegen Overvoltage -PAL_Chip.name=PAL Chip -Pink_Brush.name=Roze Kwast -Player_Filter.name=Speler Filter -Portable_Battery.name=Draagbare Accu -Portable_Battery_Pack.name=Draagbaar Accupakket -Portable_Condensator.name=Draagbare Condensator -Portable_Condensator_Pack.name=Draagbaar Condensatorpakket -Portable_Electrical_Axe.name=Draagbare Elektrische Bijl -Portable_Electrical_Mining_Drill.name=Draagbare Elektrische Graafboor -Power_Capacitor.name=Vermogen Condensator -Power_Inductor.name=Vermogen Smoorspoel -Power_Resistor.name=Vermogen Weerstand -Power_capacitor.name=Vermogen condensator -Power_inductor.name=Energie Smoorspoel -Purple_Brush.name=Paarse Kwast -Red_Brush.name=Rode Kwast -Redstone-to-Voltage_Converter.name=Redstone-naar-Spanning Omzetter -Rheostat.name=Potentiometer -Robust_Lamp_Socket.name=Robuuste Lamp Socket -Rubber.name=Rubber -Schmitt_Trigger_Chip.name=Schmitt-trigger Chip -Sconce_Lamp_Socket.name=Wandverlichting Socket -Signal_20H_inductor.name=Signaal 20H Smoorspoel -Signal_Antenna.name=Signaalantenne -Signal_Button.name=Signaalknop -Signal_Cable.name=Signaalkabel -Signal_Diode.name=Signaaldiode -Signal_Processor.name=Signaalprocessor -Signal_Relay.name=Signaal Relais -Signal_Source.name=Signaalbron -Signal_Switch.name=Signaalschakelaar -Signal_Switch_with_LED.name=Signaalschakelaar met LED -Signal_Trimmer.name=Signaaltrimmer -Silicon_Dust.name=Siliciumstof -Silicon_Ingot.name=Silicium Staaf -Silicon_Plate.name=Silicium Plaat -Silver_Brush.name=Zilverkleurige Kwast -Simple_Lamp_Socket.name=Simpele Lamp Socket -Single-use_Battery.name=Wegwerpaccu -Small_200V_Copper_Heating_Corp.name=Kleine 200V Koperen Verhittingsspoel -Small_200V_Iron_Heating_Corp.name=Kleine 200V Ijzeren Verhittingsspoel -Small_200V_Tungsten_Heating_Corp.name=Kleine 200V Wolfraam Verhittingsspoel -Small_50V_Carbon_Incandescent_Light_Bulb.name=Kleine 50V Koolstof Gloeilamp -Small_50V_Copper_Heating_Corp.name=Kleine 50V Koperen Verhittingsspoel -Small_50V_Economic_Light_Bulb.name=Kleine 50V Spaarlamp -Small_50V_Incandescent_Light_Bulb.name=Kleine 50V Koolstof Gloeilamp -Small_50V_Iron_Heating_Corp.name=Kleine 50V Ijzeren Verhittingsspoel -Small_50V_Tungsten_Heating_Corp.name=Kleine 50V Wolfraam Verhittingsspoel -Small_Active_Thermal_Dissipator.name=Kleine 200V Actieve Koeling -Small_Flashlight.name=Kleine Zaklamp -Small_Passive_Thermal_Dissipator.name=Kleine Passieve Koeling -Small_Rotating_Solar_Panel.name=Klein Roterend Zonnepaneel -Small_Solar_Panel.name=Klein Zonnepaneel -Solar_Tracker.name=Zon Tracker -Standard_Alarm.name=Standaardalarm -Steam_Turbine.name=Stoomturbine -Stone_Heat_Furnace.name=Stenen Hitteoven -Street_Light.name=Lantaarn -Suspended_Lamp_Socket.name=Hangende Lamp Socket -Temperature_Probe.name=Temperatuur Sonde -Thermal_Probe.name=Thermale Sonde -Thermal_Probe_Chip.name=Thermale Sonde Chip -Thermistor.name=Thermistor -ThermoMeter.name=Thermometer -Transformer.name=Transformator -Tree_Resin.name=Boomhars -Tree_Resin_Collector.name=Boomhars Verzamelzak -Tungsten_Cable.name=Wolfraam Kabel -Tungsten_Dust.name=Wolfraam Stof -Tungsten_Ingot.name=Wolfraam Staaf -Tungsten_Ore.name=Wolfraamerts -Tutorial_Sign.name=Uitleg Bord -Very_High_Voltage_Cable.name=Extreme Hoogspanningskabel -Very_High_Voltage_Relay.name=Extreme Hoogspanningsrelais -Very_High_Voltage_Switch.name=Extreme Hoogspanningsschakelaar -Voltage-to-Redstone_Converter.name=Spanning-naar-Redstone Omzetter -Voltage_Oriented_Battery.name=Spanningsgerichte Accu -Voltage_Probe.name=Spanningssonde -Water_Turbine.name=Waterturbine -Weak_50V_Battery_Charger.name=Zwakke 50V Acculader -White_Brush.name=Witte Kwast -Wind_Turbine.name=Windturbine -Wireless_Analyser.name=Draadloze Analyzer -Wireless_Button.name=Draadloze Knop -Wireless_Signal_Receiver.name=Draadloze Signaalontvanger -Wireless_Signal_Repeater.name=Draadloze Signaalrepeater -Wireless_Signal_Transmitter.name=Draadloze Signaalzender -Wireless_Switch.name=Draadloze Schakelaar -Wrench.name=Sleutel -X-Ray_Scanner.name=Röntgenscanner -XNOR_Chip.name=XNOR Chip -XOR_Chip.name=XOR Chip -Yellow_Brush.name=Gele Kwast -entity.EAReplicator.name=Replicator -item.Copper Koperen Bijl -item.Copper Koperen Bijl -item.Copper Koperen Bijl -item.Copper Koperen Bijl -item.Copper Koperen Bijl -item.Copper Koperen Bijl -item.Copper Koperen Bijl -item.Copper Koperen Bijl -item.Copper Koperen Bijl -item.E-Coal E-Kolen Laarzen -item.E-Coal E-Kolen Laarzen -item.E-Coal E-Kolen Laarzen -item.E-Coal E-Kolen Laarzen -itemGroup.Eln=Elektrische Eeuw -mod.meta.desc=Elektriciteit in je Basis\! -tile.eln.ElnProbe.name=Eln Computer Sonde -tile.eln.EnergyConverterElnToOtherHVUBlock.name=800V Elektrische Eeuw naar andere energie exporteur -tile.eln.EnergyConverterElnToOtherLVUBlock.name=50V Elektrische Eeuw naar andere energie exporteur -tile.eln.EnergyConverterElnToOtherMVUBlock.name=200V Elektrische Eeuw naar andere energie exporteur - -# ./src/main/java/mods/eln/i18n/I18N.java -You_have_%s_lives_left=Je hebt %s levens over - -# ./src/main/java/mods/eln/item/BrushDescriptor.java -Brush_is_dry=Kwast is Droog -Can_paint_%s_blocks=Kan %s blokken verven - -# ./src/main/java/mods/eln/item/CombustionChamber.java -Upgrade_for_the_Stone_Heat_Furnace.=Upgrade voor de Stenen Hitteoven - -# ./src/main/java/mods/eln/item/ElectricalDrillDescriptor.java -Energy_per_operation\:_%sJ=Energie per handeling\: %sJ -Time_per_operation\:_%ss=Tijd per handeling\: %ss - -# ./src/main/java/mods/eln/item/FerromagneticCoreDescriptor.java -Cable_loss_factor\:_%s=Kabel verliesfactor\: %s - -# ./src/main/java/mods/eln/item/HeatingCorpElement.java - -# ./src/main/java/mods/eln/item/LampDescriptor.java -Bad=Slecht -Condition\:=Staat\: -End_of_life=Bijna kapot -Good=Goed -New=Nieuw -Nominal_lifetime\:_%sh=Nominale levensduur\: %sh -Technology\:_%s=Technologie\: %s -Used=Gebruikt - -# ./src/main/java/mods/eln/item/LampSlot.java -Lamp_slot=Lamp Slot - -# ./src/main/java/mods/eln/item/OverHeatingProtectionDescriptor.java -Useful_to_prevent_overheating\nof_Batteries=Nuttig om oververhitting van\naccu's te voorkomen - -# ./src/main/java/mods/eln/item/OverVoltageProtectionDescriptor.java -Useful_to_prevent_over-voltage\nof_Batteries=Nuttig om over-spanning van\naccu's te voorkomen. - -# ./src/main/java/mods/eln/item/SolarTrackerDescriptor.java -Solar_panel_upgrade=Zonnepaneel Upgrade - -# ./src/main/java/mods/eln/item/electricalitem/BatteryItem.java - -# ./src/main/java/mods/eln/item/electricalitem/ElectricalLampItem.java -Off=Uit -On=Aan -State\:=Status\: -Stored_Energy\:_%sJ_(%s)=Opgeslagen Energie\: %sJ (%s) - -# ./src/main/java/mods/eln/item/regulator/RegulatorSlot.java - -# ./src/main/java/mods/eln/misc/UtilsClient.java -Hold_shift=Druk Shift in - -# ./src/main/java/mods/eln/misc/Version.java -mod.name=Elektrische Eeuw - -# ./src/main/java/mods/eln/node/six/SixNodeDescriptor.java - -# ./src/main/java/mods/eln/simplenode/energyconverter/EnergyConverterElnToOtherGui.java -Input_power_is_limited_to_%sW=Inputvermogen is gelimiteerd tot %sW - -# ./src/main/java/mods/eln/sixnode/LogicGate.kt -_O\:_= O\: - -# ./src/main/java/mods/eln/sixnode/TreeResinCollector/TreeResinCollectorDescriptor.java -Produces_Tree_Resin_over\ntime_when_put_on_a_tree.=Geeft boomhars na een tijd\nop een boom te zitten. -This_block_can_only_be_placed_on_the_side_of_a_tree!=Dit blok kan alleen aan de zijkant van een boom geplaatst worden\! - -# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerContainer.java -Battery_slot=Accu Slot - -# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerDescriptor.java -Can_be_used_to_recharge\nelectrical_items_like\:\nFlash_Light,_X-Ray_scanner\nand_Portable_Battery_...=Kan gebruikt worden om\nelektrische items op te laden,\nzoals\:\nZaklamp, Röntgen scanner\nen Draagbare Accu ... - -# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerGui.java - -# ./src/main/java/mods/eln/sixnode/diode/DiodeDescriptor.java -Electrical_current_can_only\nflow_through_the_diode\nfrom_anode_to_cathode=Elektrische stroom kan alleen\ndoor een diode stromen van\nde anode naar de kathode. - -# ./src/main/java/mods/eln/sixnode/electricalalarm/ElectricalAlarmDescriptor.java -= -Emits_an_acoustic_alarm_if\nthe_input_signal_is_high=Zendt een akoestisch alarm als\nhet inputsignaal sterk is. - -# ./src/main/java/mods/eln/sixnode/electricalalarm/ElectricalAlarmGui.java -Sound_is_muted=Geluid is gedempt -Sound_is_not_muted=Geluid is aan - -# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerContainer.java - -# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerDescriptor.java -Protects_electrical_components\nOpens_contact_if\:\n__-_Voltage_exceeds_a_certain_level\n-_Current_exceeds_the_cable_limit=Beschermt elektrische componenten\nOpent contacten wanneer\:\n- Voltage boven bepaald niveau komt\n- Stroom boven het kabellimiet komt - -# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerGui.java -Maximum_voltage_before_cutting_off=Maximale spanning voor onderbreken -Minimum_voltage_before_cutting_off=Minimale spanning voor onderbreken -Switch_is_off=Schakelaar staat uit -Switch_is_on=Schakelaar staat aan - -# ./src/main/java/mods/eln/sixnode/electricalcable/ElectricalCableDescriptor.java -A_signal_is_electrical_information\nwhich_must_be_between_0V_and_%sV=Een signaal is elektrische informatie\ndie tussen de 0V en %sV moet zitten. -Cable_is_adapted_to_conduct\nelectrical_signals.=Kabel is aangepast om elektrische\nsignalen te geleiden. -Current\:_%sA=Stroom\: %sA -Not_adapted_to_transport_power.=Niet aangepast om energie te transporteren. -Save_usage\:=Sla gebruik op\: -Serial_resistance\:_%sΩ=Seriële weerstand\: %sΩ - -# ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerDescriptor.java -It_can_store_up_to_256_points.=Het kan maximaal 256 punten opslaan. -Measures_the_voltage_of_an\nelectrical_signal_and_plots\nthe_data_in_real_time.=Meet het voltage van een\nelektrish signaal en tekent\nde data in real-time. - -# ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerGui.java -Back_to_display=Terug naar voorstelling -Configuration=Configuratie -Current_[A]=Stroom [A] -Energy_[J]=Energie [J] -Percent_[-]%=Percentage [-]% -Power_[W]=Vermogen [W] -Print=Print -Sampling_period=Sampleperiode -Temp._[*C]=Temp. [*C] -Voltage_[V]=Spanning [V] -Y-axis_max=Y-as max -Y-axis_min=Y-as min - -# ./src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorContainer.java - -# ./src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorDescriptor.java -Output_voltage_increases\nif_entities_are_moving_around.=Output spanning verhoogt \nals entities bewegen. - -# ./src/main/java/mods/eln/sixnode/electricalfiredetector/ElectricalFireDetectorDescriptor.java -Output_voltage_increases\nif_a_fire_has_been_detected.=Output spanning verhoogt\nals vuur gedetecteerd wordt. - -# ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceDescriptor.java -Provides_configurable_signal\nvoltage.=Geeft een aanpasbaar\nsignaalspanning. - -# ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceGui.java -Output_at_%s=Output\: %s - -# ./src/main/java/mods/eln/sixnode/electricallightsensor/ElectricalLightSensorDescriptor.java -0V_at_night,_%sV_at_noon.=0V 's nachts, %sV 's middags. -Provides_an_electrical_voltage\nin_the_presence_of_light.=Geeft een elektrische spanning\nin de aanwezigheid van licht. -Provides_an_electrical_voltage\nwhich_is_proportional_to\nthe_intensity_of_daylight.=Geeft een elektrische spanning\ndie proportioneel is aan de \nintensiteit van het daglicht. - -# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathContainer.java - -# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathDescriptor.java -Applicable_boolean_operators\:=Toepasbare boolean operators\: -Applicable_functions\:=Toepasselijke functies\: -Applicable_mathematical_operators\:=Toepasbare wiskundige operators\: -Calculates_an_output_signal_from\n3_inputs_(A,_B,_C)_using_an_equation.=Berekent een output signaal van\n3 inputs (A,B,C) door middel van een\nvergelijking. - -# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathGui.java -%s_Redstone(s)_required=%s Redstone(s) nodig -Equation_required!=Vergelijking nodig\! -Inputs_are=Inputs zijn -Invalid_equation!=Ongeldige vergelijking -Output_voltage_formula=Output spanning formule -Waiting_for_completion...=Wacht op voltooiing... - -# ./src/main/java/mods/eln/sixnode/electricalredstoneinput/ElectricalRedstoneInputDescriptor.java -Converts_Redstone_signal\nto_an_electrical_voltage.=Zet Redstone signaal om in\neen elektrische spanning. - -# ./src/main/java/mods/eln/sixnode/electricalredstoneoutput/ElectricalRedstoneOutputDescriptor.java -Converts_electrical_voltage\ninto_a_Redstone_signal.=Zet een elektrische spanning\nom in een Redstone signaal. - -# ./src/main/java/mods/eln/sixnode/electricalrelay/ElectricalRelayDescriptor.java -A_relay_is_an_electrical\ncontact_that_conducts_electric\ncurrent_or_not,_depending\nthe_actual_input_signal_voltage.=Een relais is een elektrisch \ncontact dat afhankelijk van het\nactuele input signaal wel of niet \nelektrische spanning geleid. - -# ./src/main/java/mods/eln/sixnode/electricalrelay/ElectricalRelayGui.java -Normally_closed=Normaal gesloten -Normally_open=Normaal open - -# ./src/main/java/mods/eln/sixnode/electricalsource/ElectricalSourceDescriptor.java -Creative_block.=Creatief blok -Provides_an_ideal_voltage_source\nwithout_energy_or_power_limitation.=Geeft een ideale spanningsbron\nzonder vermogenslimiet. - -# ./src/main/java/mods/eln/sixnode/electricalsource/ElectricalSourceGui.java -Output_voltage=Output spanning - -# ./src/main/java/mods/eln/sixnode/electricalswitch/ElectricalSwitchDescriptor.java -Can_break_an_electrical_circuit\ninterrupting_the_current.=Kan een elektrisch signaal\nafbreken, daarmee onderbreekt\nde stroom. - -# ./src/main/java/mods/eln/sixnode/electricaltimeout/ElectricalTimeoutDescriptor.java -Upon_application_of_a_high_signal,\nthe_timer_maintains_the_output_high_for\na_configurable_interval._Can_be_re-triggered.=Bij toepassing van een sterk signaal\nhoudt de timer een sterk signaal vast\nvoor een aanpasbare tijd. Kan aangepast\nworden. - -# ./src/main/java/mods/eln/sixnode/electricaltimeout/ElectricalTimeoutGui.java -Set=Stel in -The_time_interval_the\noutput_is_kept_high.=Het tijdsinterval de\noutput wordt hoog gehouden. - -# ./src/main/java/mods/eln/sixnode/electricalvumeter/ElectricalVuMeterDescriptor.java -Displays_the_value_of_a_signal.=Geeft de waarde van een signaal. - -# ./src/main/java/mods/eln/sixnode/electricalwatch/ElectricalWatchContainer.java -Portable_battery_slot=Draagbare Accu Slot - -# ./src/main/java/mods/eln/sixnode/electricalweathersensor/ElectricalWeatherSensorDescriptor.java -Clear\:_%sV=Onbewolkt\: %sV -Provides_an_electrical_signal\ndepending_the_actual_weather.=Geeft een elektrisch signaal\nafhankelijk van het huidige weer. -Rain\:_%sV=Regen\: %sV -Storm\:_%sV=Storm\: %sV - -# ./src/main/java/mods/eln/sixnode/electricalwindsensor/ElectricalWindSensorDescriptor.java -Maximum_wind_speed_is_%sm_s=Maximale windsnelheid is %sm/s -Provides_an_electrical_signal\ndependant_on_wind_speed.=Geeft een elektrisch signaal\nafhankelijk van de windsnelheid. -You_can't_place_this_block_on_the_floor_or_the_ceiling=Je kunt dit blok niet op de vloer of het plafond plaatsen - -# ./src/main/java/mods/eln/sixnode/electricasensor/ElectricalSensorDescriptor.java -Can_measure_Voltage_Power_Current=Kan Voltage/Vermogen/Stroom meten -Measures_electrical_values_on_cables.=Meet elektrische waardes op kabels. -Measures_voltage_on_cables.=Meet spanning op kabels. - -# ./src/main/java/mods/eln/sixnode/electricasensor/ElectricalSensorGui.java -Current=Stroom -Measured_voltage\ncorresponding\nto_0%_output=Gemeten spanning\ncorrespondeert\nmet 0% output -Measured_voltage\ncorresponding\nto_100%_output=Gemeten spanning\ncorrespondeert\nmet 100% output -Voltage=Spanning - -# ./src/main/java/mods/eln/sixnode/energymeter/EnergyMeterGui.java -Change_password=Verander wachtwoord -Counter_Mode=Teller Mode -Counts_the_energy_conducted_from\n\u00a74red\u00a7f_to_\u00a71blue\u00a7f.=Telt de energie geleid van \n\\u00a74red\\u00a7f tot \\u00a71blue\\u00a7f. -Energy_counter\:_%sJ=Energie teller\: %sJ -Enter_new_energy=Stel nieuwe energie in -Enter_password=Vul wachtwoord in -Prepay_Mode=Prepay Mode -Reset_time_counter=Reset tijd teller -Set_energy_counter=Stel energieteller in -Time_counter\:=Tijd teller\: -Try_password=Probeer wachtwoord -You_can_set_an_initial\namount_of_available_energy.\nWhen_the_counter_arrives_at_0\nthe_contact_will_be_opened.=Je kunt de beginhoeveelheid\nbeschikbare energie instellen.\nWanneer de teller op 0 staat\nwordt het contact geopend. -is_off=is uit -is_on=is aan -value_in_kJ=waarde in kJ - -# ./src/main/java/mods/eln/sixnode/groundcable/GroundCableDescriptor.java -Can_be_used_to_set_a_point_of_an\nelectrical_network_to_0V_potential.\nFor_example_to_ground_negative_battery_contacts.=Kan gebruikt worden om een punt\nvan een elektrisch netwerk een \n0V potentieel te geven.\nBijvoorbeeld als aarde voor negatieve accucontacten. -Provides_a_zero_volt_reference.=Geeft een 0-volt referentie. - -# ./src/main/java/mods/eln/sixnode/hub/HubDescriptor.java -Allows_crossing_cables\non_one_single_block.=Staat kabels toe te \nkruisen op 1 blok. - -# ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketDescriptor.java -Angle\:_%s°_to_%s°=Hoek\: %s° tot %s° -Spot_range\:_%s_blocks=Zichtbereik\: %s blokken - -# ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketGuiDraw.java -%s_is_not_in_range!=%s is niet binnen bereik\! -Cable_slot_empty=Leeg Kabel Slot -Orientation\:_%s°=Orientatie\: %s° -Parallel=Parallel -Powered_by_Lamp_Supply=Aangedreven door Lamp Voeding -Powered_by_cable=Aangedreven door kabel -Serial=Seriële -Specify_the_supply_channel=Specificeer het aanleveringskanaal - -# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyContainer.java -Electrical_cable_slot\nBase_range_is_32_blocks.\nEach_additional_cable\nincreases_range_by_one.=Elektrische kabel slot\nBasisbereik is 32 blokken.\nIedere toegevoegde kabel\nverhoogt bereik met 1 blok. - -# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyDescriptor.java -Supplies_all_lamps_on_the_channel.=Voorziet alle lampen op het kanaal van energie. - -# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyGui.java -Power_channel_name=Energiekanaal naam -Wireless_channel_name=Draadloze kanaal naam - -# ./src/main/java/mods/eln/sixnode/modbusrtu/ModbusRtuGui.java -Add=Toevoegen -Channel_name=Kanaalnaam -Modbus_ID=Modbus ID -Modbus_RTU=Modbus RTU -Station_ID=Stationsnummer -Station_name=Stationsnaam -Wireless_RX=Draadloze RX -Wireless_TX=Draadloze TX - -# ./src/main/java/mods/eln/sixnode/powercapacitorsix/PowerCapacitorSixContainer.java -(Increases_maximum_voltage)=(Vergroot maximale spanning) - -# ./src/main/java/mods/eln/sixnode/powercapacitorsix/PowerCapacitorSixGui.java - -# ./src/main/java/mods/eln/sixnode/powerinductorsix/PowerInductorSixContainer.java - -# ./src/main/java/mods/eln/sixnode/powerinductorsix/PowerInductorSixGui.java - -# ./src/main/java/mods/eln/sixnode/powersocket/PowerSocketDescriptor.java -Supplies_any_device\nplugged_in_with_energy.=Voorziet ieder aangekoppeld\napparaat van energie. - -# ./src/main/java/mods/eln/sixnode/powersocket/PowerSocketGui.java -Specify_the_device_to_supply_through_this_socket.=Specificeer het apparaat om van energie te voorzien via deze socket. - -# ./src/main/java/mods/eln/sixnode/resistor/ResistorContainer.java -(Sets_resistance)=(Stelt weerstand in) -Coal_dust_slot=Kolenstof Slot - -# ./src/main/java/mods/eln/sixnode/thermalcable/ThermalCableDescriptor.java -High_parallel_resistance\n_\=>_Low_power_dissipation.=Hoge parallelle weerstand\n\=> Laag vermogensverdrijving. -Low_serial_resistance\n_\=>_High_conductivity.=Lage seriële weerstand\n\=> Hoge geleiding. -Parallel_resistance\:_%sK_W=Parallelle weerstand\: %sK/W -Serial_resistance\:_%sK_W=Seriële weerstand\: %sK/W - -# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorContainer.java -Cable_slot=Kabel Slot - -# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorDescriptor.java -Can_measure\:=Kan meten\: -Measures_temperature_of_cables.=Meet de temperatuur van kabels. -Measures_thermal_values_on_cables.=Meet temperatuurwaarden op kabels. -__Temperature_Power_conducted=Temperatuur/Vermogen geleidt - -# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorGui.java -Measured_temperature\ncorresponding\nto_0%_output=Gemeten temperatuur\ncorrespondeert\nmet 0% output -Measured_temperature\ncorresponding\nto_100%_output=Gemeten temperatuur\ncorrespondeert\nmet 100% output -Temperature=Temperatuur - -# ./src/main/java/mods/eln/sixnode/tutorialsign/TutorialSignElement.java -No_text_associated_to_this_beacon=Geen tekst geassocieerd met deze baken - -# ./src/main/java/mods/eln/sixnode/tutorialsign/TutorialSignGui.java -Set_beacon_name=Stel baken naam in - -# ./src/main/java/mods/eln/sixnode/wirelesssignal/rx/WirelessSignalRxGui.java - -# ./src/main/java/mods/eln/transparentnode/FuelGenerator.kt -Nominal_power\:_%s_W=Norminaal vermogen\: %s W -Nominal_voltage\:_%s_V=Nominale spanning\: %s V -Produces_electricity_using_fuel.=Genereert elektriciteit met brandstof. - -# ./src/main/java/mods/eln/transparentnode/LargeRheostat.kt -Nom._Resistance\:_%s=Nom. weerstand\: %s - -# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerContainer.java -Drill_slot=Boor Slot -Mining_pipe_slot=Graafpijp Slot -Ore_scanner_slot=Erts Scanner Slot - -# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerDescriptor.java -Excavates_on_a_small_radius.\nExtracts_ore_on_a_bigger_radius\:\n10_blocks_radius_after_10_blocks_depth.=Graaft een kleine radius op.\nGraaft erts in een grotere radius op\:\n10 blokken radius na 10 blokken diepte. - -# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerGuiDraw.java -Chest_missing_on_the\nback_of_the_auto_miner!=Kist mist aan de achterkant \nvan de automatische graver. -Halves_speed,_triples_power_draw=Halveert snelheid, verdrievoudigd energieverbruik -Silk_Touch_Off=Zijden Streling Uit -Silk_Touch_On=Zijden Streling Aan -Silk_touch=Zijden Streling - -# ./src/main/java/mods/eln/transparentnode/battery/BatteryContainer.java -Overheating_protection=Bescherming Tegen Oververhitting -Overvoltage_protection=Bescherming Tegen Overspanning - -# ./src/main/java/mods/eln/transparentnode/battery/BatteryDescriptor.java -Actual_charge\:_%s=Huidige lading\: %s -Energy_capacity\:_%sJ=Energie capaciteit %sJ -_charged_at_%s=%s opgeladen - -# ./src/main/java/mods/eln/transparentnode/battery/BatteryGuiDraw.java -Charge=Lading -Charged=Opgeladen -Discharge=Ontlading -Energy\:=Energie\: -Energy\:_%s=Energie\: %s -Life\:=Leven\: -No_charge=Geen lading\: -Power_in\:=Energie in\: -Power_out\:=Energie uit\: - -# ./src/main/java/mods/eln/transparentnode/eggincubator/EggIncubatorContainer.java -Egg_slot=Ei Slot - -# ./src/main/java/mods/eln/transparentnode/electricalantennarx/ElectricalAntennaRxDescriptor.java -Wireless_energy_receiver.=Draadloze energie ontvanger. - -# ./src/main/java/mods/eln/transparentnode/electricalantennatx/ElectricalAntennaTxDescriptor.java -Efficiency\:_%s_up_to_%s=Efficiëntie\: %s tot %s -Wireless_energy_transmitter.=Draadloze Energiezender - -# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceContainer.java -Heating_corp_slot=Verhittingsspoel Slot - -# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceDescriptor.java -Similar_to_a_vanilla_furnace,\nbut_heats_with_electricity.=Vergelijkbaar met standaard oven,\nmaar verhit met elektriciteit. - -# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceGuiDraw.java -Auto_shutdown=Automatische afsluiting -Manual_shutdown=Handmatig afsluiting -Set_point\:_%s°C=Ingesteld punt\: %s°C - -# ./src/main/java/mods/eln/transparentnode/electricalmachine/ElectricalMachineDescriptor.java -Cost=Kosten - -# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceContainer.java -Combustion_chamber_slot=Ontbrandingskamer Slot -Fuel_slot=Brandstof Slot - -# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceDescriptor.java -Generates_heat_when_supplied_with_fuel.=Genereert hitte wanneer van brandstof voorzien wordt. - -# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceGuiDraw.java -Control_gauge_at_%s=Meter op %s -Decline_fuel=Weiger brandstof -External_control=Externe bediening -Internal_control=Interne bediening -Take_fuel=Neem brandstof - -# ./src/main/java/mods/eln/transparentnode/powercapacitor/PowerCapacitorContainer.java -(Increases_maximal_voltage)=(Verhoog maximale spanning) - -# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelContainer.java -Solar_tracker_slot=Zon Tracker Slot - -# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelDescriptor.java -Can_be_geared_towards_the_sun.=Kan naar de zon gekeerd worden. -Max._power\:_%sW=Max. vermogen\: %sW -Max._voltage\:_%sV=Max. spanning\: %sV -Produces_power_from_solar_radiation.=Produceert energie van zonneradiatie - -# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPannelGuiDraw.java -It_is_night=Het is nacht -Solar_panel_angle\:_%s°=Zonnepaneel hoek\: %s° -Sun_angle\:_%s°=Hoek zon\: %s° - -# ./src/main/java/mods/eln/transparentnode/teleporter/TeleporterGui.java -Destination_transporter=Bestemmingstransporteur -Power_consumption\:=Energieverbruik\: -Power_consumption\:_%sW=Energieverbruik\: %sW -Required_energy\:_%sJ=Benodigde Energie\: %sJ -Start=Start -Transporter_name=Transporteur naam - -# ./src/main/java/mods/eln/transparentnode/thermaldissipatoractive/ThermalDissipatorActiveDescriptor.java -Fan_cooling_power\:_%sW=Ventilator koelvermogen\: %sW -Fan_power_consumption\:_%sW=Ventilator energieverbruik\: %sW -Fan_voltage\:_%sV=Ventilator spanning\: %sV - -# ./src/main/java/mods/eln/transparentnode/transformer/TransformerDescriptor.java -The_voltage_ratio_is_proportional\nto_the_cable_stacks_count_ratio.=De spanningsverhouding is\nproportioneel aan de kabelstapel\nteller verhouding. -Transforms_an_input_voltage_to\nan_output_voltage.=Zet een input spanning om \nin een output spanning. - -# ./src/main/java/mods/eln/transparentnode/turbine/TurbineDescriptor.java -Generates_electricity_using_heat.=Genereert energie met hitte. -Temperature_difference\:_%s°C=Temperatuurverschil\: %s°C - -# ./src/main/java/mods/eln/transparentnode/turret/TurretDescriptor.java -CAUTION\:_Cables_can_get_quite_hot!=OPGEPAST\: Kabels kunnen behoorlijk heet worden\! -Laser_charge_power\:_%sW...%skW=Laser lading vermogen\: %sW...%skW -Scans_for_entities_and_shoots_if_the\nentity_matches_the_configurable_filter_criteria.=Zoekt naar entities en schiet als de entity\ngelijk staat aan de aanpasbare filter criteria. -Standby_power\:_%sW=Standby vermogen\: %sW - -# ./src/main/java/mods/eln/transparentnode/turret/TurretGui.java -Attack\:=Aanvallen\: -Do_not_attack\:=Niet aanvallen\: -Recharge_power\:=Herlaad energie\: - -# ./src/main/java/mods/eln/transparentnode/waterturbine/WaterTurbineDescriptor.java -Generates_energy_using_water_stream.=Genereert energie door middel van stromend water. -No_place_for_water_turbine!=Geen plaats voor waterturbine\! - -# ./src/main/java/mods/eln/transparentnode/windturbine/WindTurbineDescriptor.java -Front\:_%s=Voorkant\: %s -Generates_energy_from_wind.=Genereert energie door middel van de wind. -Left_Right\:_%s=Links/Rechts\: %s -Up_Down\:_%s=Boven/Onder\: %s -Wind_area\:=Wind gebied\: - -# ./src/main/java/mods/eln/wiki/Data.java -Energy=Energie -Light=Licht -Machine=Machine -Ore=Erts -Portable=Draagbaar -Resource=Grondstof -Signal=Signaal -Thermal=Thermaal -Upgrade=Upgrade -Utilities=Utiliteiten -Wiring=Bedrading - -# ./src/main/java/mods/eln/wiki/Default.java -Previous=Vorige - -# ./src/main/java/mods/eln/wiki/ItemDefault.java -Can_be_used_to_craft\:=Kan gebruikt worden om het volgende te maken\: -Cannot_be_crafted!=Kan niet gemaakt worden\! -Cost_%sJ=Kosten\: %sJ -Created_by\:=Gemaakt door\: -Is_not_a_crafting_material!=Dit is geen werkmateriaal -Recipe\:=Recept\: - -# Appearing in multiple source files -(Increases_capacity)=(vergroot capaciteit) -(Increases_inductance)=(Verhoogt geleiding) -Actual\:_%s°C=Momenteel\: %s°C -Biggest=Grootste -Booster_slot=Booster Slot -Can_create\:=Kan maken\: -Capacity\:_%sF=Capaciteit\: %sF -Charge_power\:_%sW=Lading vermogen\: %sW -Connected=Verbonden -Cooling_power\:_%sW=Koelvermogen\: %sW -Copper_cable_slot=Koperen Kabel Slot -Dielectric_slot=Diëlektricum Slot -Discharge_power\:_%sW=Ontladingsvermogen\: %sW -Electrical_cable_slot=Elektrische Kabel Slot -Entity_filter_slot=Entity Filter Slot -Ferromagnetic_core_slot=Ferromagnetische Kern Slot -Has_a_signal_output.=Heeft een signaal output. -Inductance\:_%sH=Inductief Vermogen\: %sH -Internal_resistance\:_%sΩ=Interne weerstand\: %sΩ -Is_off=Is uit -Is_on=Is aan -Max._temperature\:_%s°C=Max. temperatuur\: %s°C -Measured_value\ncorresponding\nto_0%_output=Gemeten waarde\ncorrespondeert\nmet 0% output -Measured_value\ncorresponding\nto_100%_output=Gemeten waarde\ncorrespondeert\nmet 100% output -Nominal\:=Nominaal\: -Nominal_power\:_%sW=Norminaal vermogen\: %sW -Nominal_usage\:=Nominaal gebruik\: -Nominal_voltage\:_%sV=Nominale spanning\: %sV -Not_connected=Niet verbonden -Not_enough_space_for_this_block=Niet genoeg ruimte voor dit blok -Power=Energie -Power\:_%sW=Vermogen\: %sW -Range\:_%s_blocks=Bereik\: %s blokken -Redstone_slot=Redstone Slot -Regulator_slot=Regelaar Slot -Reset=Reset -Resistance\:_%sΩ=Weerstand\: %sΩ -Smallest=Kleinste -Specify_the_channel=Specificeer het kanaal -Stored_energy\:_%sJ_(%s)=Opgeslagen Energie\: %sJ (%s) -Temperature\:_%s°C=Temperatuur\: %s°C -Temperature_gauge=Temperatuurmeter -Thermal_isolator_slot=Warmte-Isolatie Slot -Toggle=Wissel -Toggle_switch=Wisselschakelaar -Toggles_the_output_each_time\nan_emitter's_value_rises.\nUseful_to_allow_multiple_buttons\nto_control_the_same_light.=Verandert de output elke keer\nals de waarden van de zender \nomhoog gaat. Nuttig om meerdere\nknoppen het zelfde licht te laten\nbesturen. -Used_to_cool_down_turbines.=Wordt gebruikt om turbines af te koelen. -Uses_the_biggest\nvalue_on_the_channel.=Gebruikt de grootste\nwaarde op het kanaal. -Uses_the_smallest\nvalue_on_the_channel.=Gebruikt de kleinste\nwaarde op het kanaal. -Validate=Valideer -Voltage\:_%sV=Spanning\: %sV -You_can't_place_this_block_at_this_side=Je kunt dit blok niet aan deze zijde plaatsen +eln:# +eln: +eln:# ./src/main/java/mods/eln/Achievements.java +eln:Electrical_Age_[WIP]=Elektrische Eeuw [WIP] +eln:achievement.craft_50v_macerator=Verbrijzeling Beginner +eln:achievement.craft_50v_macerator.desc=Maak een 50V Versnipperaar +eln:achievement.open_guide=Wiki Power +eln:achievement.open_guide.desc=Open de wiki handleiding +eln: +eln:# ./src/main/java/mods/eln/Eln.java +eln:10A_Diode.name=10A Diode +eln:200V_Active_Thermal_Dissipator.name=200V Actieve Koeling +eln:200V_Battery_Charger.name=200V Accu Lader +eln:200V_Compressor.name=200V Compressor +eln:200V_Condensator.name=200V Condensator +eln:200V_Copper_Heating_Corp.name=200V Koperen Verhittingsspoel +eln:200V_Economic_Light_Bulb.name=200V Spaarlamp +eln:200V_Farming_Lamp.name=200V Boerderijlamp +eln:200V_Fuel_Generator.name=200V Brandstofgenerator +eln:200V_Incandescent_Light_Bulb.name=200V Gloeilamp +eln:200V_Iron_Heating_Corp.name=200V Ijzeren Verhittingsspoel +eln:200V_LED_Bulb.name=200V LED Lamp +eln:200V_Macerator.name=200V Versnipperaar +eln:200V_Magnetizer.name=200V Magnetiseringsunit +eln:200V_Plate_Machine.name=200V Platenwals +eln:200V_Power_Socket.name=200V Stopcontact +eln:200V_Tungsten_Heating_Corp.name=200V Wolfraam Verhittingsspoel +eln:200V_Turbine.name=200V Turbine +eln:25A_Diode.name=25A Diode +eln:50V_Battery_Charger.name=50V Accu Lader +eln:50V_Carbon_Incandescent_Light_Bulb.name=50V Koolstof Gloeilamp +eln:50V_Compressor.name=50V Compressor +eln:50V_Condensator.name=50V Condensator +eln:50V_Copper_Heating_Corp.name=50V Koperen Verhittingsspoel +eln:50V_Economic_Light_Bulb.name=50V Spaarlamp +eln:50V_Egg_Incubator.name=50V Broedlamp +eln:50V_Farming_Lamp.name=50V Boerderij lamp +eln:50V_Fuel_Generator.name=50V Brandstofgenerator +eln:50V_Incandescent_Light_Bulb.name=50V Gloeilamp +eln:50V_Iron_Heating_Corp.name=50V Ijzeren Verhittingsspoel +eln:50V_LED_Bulb.name=50V LED Lamp +eln:50V_Macerator.name=50V Versnipperaar +eln:50V_Magnetizer.name=50V Magnetiseringsunit +eln:50V_Plate_Machine.name=50V Platenwals +eln:50V_Power_Socket.name=50V Stopcontact +eln:50V_Tungsten_Heating_Corp.name=50V Wolfraam Verhittingsspoel +eln:50V_Turbine.name=50V Turbine +eln:800V_Defence_Turret.name=800V Verdedigingstoren +eln:AND_Chip.name=AND Chip +eln:Advanced_Chip.name=Geavanceerde Chip +eln:Advanced_Electrical_Motor.name=Geavanceerde Elektrische Motor +eln:Advanced_Energy_Meter.name=Geavanceerde Elektrische Meter +eln:Advanced_Machine_Block.name=Geavanceerd Machineblok +eln:Advanced_Magnet.name=Geavanceerde Magneet +eln:AllMeter.name=Universeelmeter +eln:Alloy_Dust.name=Legering Stof +eln:Alloy_Ingot.name=Legering Staaf +eln:Alloy_Plate.name=Legering Plaat +eln:Analog_Watch.name=Analoog Horloge +eln:Analog_vuMeter.name=Analoge Meter +eln:Analogic_Regulator.name=Analoge Regulator +eln:Animal_Filter.name=Dierenfilter +eln:Auto_Miner.name=Automatische Graver +eln:Average_Electrical_Drill.name=Gemiddelde Electrische Boor +eln:Average_Ferromagnetic_Core.name=Gemiddelde Ferromagnetische Kern +eln:Basic_Magnet.name=Basis Magneet +eln:Black_Brush.name=Zwarte Kwast +eln:Blue_Brush.name=Blauwe Kwast +eln:Brown_Brush.name=Bruine Kwast +eln:Capacity_Oriented_Battery.name=Capaciteitsgerichte Accu +eln:Cheap_Chip.name=Goedkope Chip +eln:Cheap_Electrical_Drill.name=Goedkope Elektrische Boor +eln:Cheap_Ferromagnetic_Core.name=Goedkope Ferromagnetische Kern +eln:Cinnabar_Dust.name=Cinnaber Stof +eln:Cinnabar_Ore.name=Cinnaber Erts +eln:Coal_Dust.name=Kolenstof +eln:Coal_Plate.name=Kolen Plaat +eln:Combustion_Chamber.name=Ontbrandingskamer +eln:Copper_Cable.name=Koperen Kabel +eln:Copper_Dust.name=Koperstof +eln:Copper_Ingot.name=Koperen Staaf +eln:Copper_Ore.name=Kopererts +eln:Copper_Plate.name=Koperen Plaat +eln:Copper_Thermal_Cable.name=Koperen Hittegeleidingskabel +eln:Cost_Oriented_Battery.name=Kostengerichte Accu +eln:Current_Oriented_Battery.name=Ampèragegerichte Accu +eln:Cyan_Brush.name=Cyaan Kwast +eln:D_Flip_Flop_Chip.name=D Flip Flop Chip +eln:Data_Logger.name=Datalogger +eln:Data_Logger_Print.name=Datalogger Uitdraai +eln:Dielectric.name=Diëlektricum +eln:Digital_Watch.name=Digitaal Horloge +eln:Electrical_Anemometer_Sensor.name=Elektrische Anemometer Sensor +eln:Electrical_Breaker.name=Elektrische Zekeringsautomaat +eln:Electrical_Daylight_Sensor.name=Elektrische Daglichtsensor +eln:Electrical_Entity_Sensor.name=Elektrische Entity Sensor +eln:Electrical_Fire_Detector.name=Elektrische Vuur Sensor +eln:Electrical_Furnace.name=Elektrische Oven +eln:Electrical_Light_Sensor.name=Elektrische Lichtsensor +eln:Electrical_Motor.name=Elektrische Motor +eln:Electrical_Probe.name=Elektriciteitssonde +eln:Electrical_Probe_Chip.name=Elektriciteitssonde Chip +eln:Electrical_Source.name=Elektrische Bron +eln:Electrical_Timer.name=Elektrische Timer +eln:Electrical_Weather_Sensor.name=Elektrische Weersensor +eln:Electrical_age_wrench,\nCan_be_used_to_turn\nsmall_wall_blocks=Elektrische Eeuw moersleutel\nKan gebruikt worden om\nkleine wandblokken te draaien. +eln:Energy_Meter.name=Energiemeter +eln:Experimental_Transporter.name=Experimentele Transporteur +eln:Fast_Electrical_Drill.name=Snelle Elektrische Boor +eln:Ferrite_Ingot.name=Ferriet Staaf +eln:Flat_Lamp_Socket.name=Platte Lamp Socket +eln:Fluorescent_Lamp_Socket.name=Fluorescentielamp Socket +eln:Generator.name=Generator +eln:Gold_Dust.name=Goudstof +eln:Gold_Plate.name=Gouden Plaat +eln:Gray_Brush.name=Grijze Kwast +eln:Green_Brush.name=Groene Kwast +eln:Ground_Cable.name=Aardingskabel +eln:High_Power_Receiver_Antenna.name=Sterk Vermogen Onvangstantenne +eln:High_Power_Transmitter_Antenna.name=Sterk Vermogen Zendantenne +eln:High_Voltage_Cable.name=Hoogspanningskabel +eln:High_Voltage_Relay.name=Hoogspanningsrelais +eln:High_Voltage_Switch.name=Hoogspanningsschakelaar +eln:Hub.name=Hub +eln:Industrial_Data_Logger.name=Industriële Datalogger +eln:Iron_Cable.name=Ijzeren Kabel +eln:Iron_Dust.name=Ijzerstof +eln:Iron_Plate.name=Ijzeren Plaat +eln:JK_Flip_Flop_Chip.name=JK Flip Flop Chip +eln:LED_vuMeter.name=LED vuMeter +eln:Lamp_Socket_A.name=Lamp Socket A +eln:Lamp_Socket_B_Projector.name=Lamp Socket B Projector +eln:Lamp_Supply.name=Lamp Voeiding +eln:Large_Rheostat.name=Grote Potentiometer +eln:Lead_Dust.name=Lood Stof +eln:Lead_Ingot.name=Loden Staaf +eln:Lead_Ore.name=Looderts +eln:Lead_Plate.name=Loden Plaat +eln:Life_Oriented_Battery.name=Levensduurgerichte Accu +eln:Light_Blue_Brush.name=Lichtblauwe Kwast +eln:Lime_Brush.name=Limoen Kwast +eln:Long_Suspended_Lamp_Socket.name=Lange Hangende Lamp Socket +eln:Low_Power_Receiver_Antenna.name=Zwak Vermogen Ontvangstantenne +eln:Low_Power_Transmitter_Antenna.name=Zwak Vermogen Zendantenne +eln:Low_Voltage_Cable.name=Laagspanningskabel +eln:Low_Voltage_Relay.name=Laagspanningsrelais +eln:Low_Voltage_Switch.name=Laagspanningschakelaar +eln:Machine_Block.name=Machine Blok +eln:Machine_Booster.name=Machine Versterker +eln:Magenta_Brush.name=Magenta Kwast +eln:Medium_Power_Receiver_Antenna.name=Normaal Vermogen Ontvangstantenne +eln:Medium_Power_Transmitter_Antenna.name=Normaal Vermogen Zendantenne +eln:Medium_Voltage_Cable.name=Normale Spanningskabel +eln:Medium_Voltage_Relay.name=Normale Spanningsrelais +eln:Medium_Voltage_Switch.name=Normale Spanningsschakelaar +eln:Mercury.name=Kwik +eln:Mining_Pipe.name=Graafpijp +eln:Modbus_RTU.name=Modbus RTU +eln:Modern_Data_Logger.name=Moderne Datalogger +eln:Monster_Filter.name=Monster Filter +eln:MultiMeter.name=Multimeter +eln:NAND_Chip.name=NAND Chip +eln:NOR_Chip.name=NOR Chip +eln:NOT_Chip.name=NOT Chip +eln:Nuclear_Alarm.name=Nucleair Alarm +eln:OR_Chip.name=OR Chip +eln:On_OFF_Regulator_10_Percent.name=Aan/Uit regelaar 10% +eln:On_OFF_Regulator_1_Percent.name=Aan/Uit regelaar 1% +eln:Optimal_Ferromagnetic_Core.name=Optimale Ferromagnetische Kern +eln:Orange_Brush.name=Oranje Kwast +eln:Ore_Scanner.name=Erts Scanner +eln:Oscillator_Chip.name=Oscillator Chip +eln:Overheating_Protection.name=Bescherming Tegen Oververhitting +eln:Overvoltage_Protection.name=Bescherming Tegen Overvoltage +eln:PAL_Chip.name=PAL Chip +eln:Pink_Brush.name=Roze Kwast +eln:Player_Filter.name=Speler Filter +eln:Portable_Battery.name=Draagbare Accu +eln:Portable_Battery_Pack.name=Draagbaar Accupakket +eln:Portable_Condensator.name=Draagbare Condensator +eln:Portable_Condensator_Pack.name=Draagbaar Condensatorpakket +eln:Portable_Electrical_Axe.name=Draagbare Elektrische Bijl +eln:Portable_Electrical_Mining_Drill.name=Draagbare Elektrische Graafboor +eln:Power_Capacitor.name=Vermogen Condensator +eln:Power_Inductor.name=Vermogen Smoorspoel +eln:Power_Resistor.name=Vermogen Weerstand +eln:Power_capacitor.name=Vermogen condensator +eln:Power_inductor.name=Energie Smoorspoel +eln:Purple_Brush.name=Paarse Kwast +eln:Red_Brush.name=Rode Kwast +eln:Redstone-to-Voltage_Converter.name=Redstone-naar-Spanning Omzetter +eln:Rheostat.name=Potentiometer +eln:Robust_Lamp_Socket.name=Robuuste Lamp Socket +eln:Rubber.name=Rubber +eln:Schmitt_Trigger_Chip.name=Schmitt-trigger Chip +eln:Sconce_Lamp_Socket.name=Wandverlichting Socket +eln:Signal_20H_inductor.name=Signaal 20H Smoorspoel +eln:Signal_Antenna.name=Signaalantenne +eln:Signal_Button.name=Signaalknop +eln:Signal_Cable.name=Signaalkabel +eln:Signal_Diode.name=Signaaldiode +eln:Signal_Processor.name=Signaalprocessor +eln:Signal_Relay.name=Signaal Relais +eln:Signal_Source.name=Signaalbron +eln:Signal_Switch.name=Signaalschakelaar +eln:Signal_Switch_with_LED.name=Signaalschakelaar met LED +eln:Signal_Trimmer.name=Signaaltrimmer +eln:Silicon_Dust.name=Siliciumstof +eln:Silicon_Ingot.name=Silicium Staaf +eln:Silicon_Plate.name=Silicium Plaat +eln:Silver_Brush.name=Zilverkleurige Kwast +eln:Simple_Lamp_Socket.name=Simpele Lamp Socket +eln:Single-use_Battery.name=Wegwerpaccu +eln:Small_200V_Copper_Heating_Corp.name=Kleine 200V Koperen Verhittingsspoel +eln:Small_200V_Iron_Heating_Corp.name=Kleine 200V Ijzeren Verhittingsspoel +eln:Small_200V_Tungsten_Heating_Corp.name=Kleine 200V Wolfraam Verhittingsspoel +eln:Small_50V_Carbon_Incandescent_Light_Bulb.name=Kleine 50V Koolstof Gloeilamp +eln:Small_50V_Copper_Heating_Corp.name=Kleine 50V Koperen Verhittingsspoel +eln:Small_50V_Economic_Light_Bulb.name=Kleine 50V Spaarlamp +eln:Small_50V_Incandescent_Light_Bulb.name=Kleine 50V Koolstof Gloeilamp +eln:Small_50V_Iron_Heating_Corp.name=Kleine 50V Ijzeren Verhittingsspoel +eln:Small_50V_Tungsten_Heating_Corp.name=Kleine 50V Wolfraam Verhittingsspoel +eln:Small_Active_Thermal_Dissipator.name=Kleine 200V Actieve Koeling +eln:Small_Flashlight.name=Kleine Zaklamp +eln:Small_Passive_Thermal_Dissipator.name=Kleine Passieve Koeling +eln:Small_Rotating_Solar_Panel.name=Klein Roterend Zonnepaneel +eln:Small_Solar_Panel.name=Klein Zonnepaneel +eln:Solar_Tracker.name=Zon Tracker +eln:Standard_Alarm.name=Standaardalarm +eln:Steam_Turbine.name=Stoomturbine +eln:Stone_Heat_Furnace.name=Stenen Hitteoven +eln:Street_Light.name=Lantaarn +eln:Suspended_Lamp_Socket.name=Hangende Lamp Socket +eln:Temperature_Probe.name=Temperatuur Sonde +eln:Thermal_Probe.name=Thermale Sonde +eln:Thermal_Probe_Chip.name=Thermale Sonde Chip +eln:Thermistor.name=Thermistor +eln:ThermoMeter.name=Thermometer +eln:Transformer.name=Transformator +eln:Tree_Resin.name=Boomhars +eln:Tree_Resin_Collector.name=Boomhars Verzamelzak +eln:Tungsten_Cable.name=Wolfraam Kabel +eln:Tungsten_Dust.name=Wolfraam Stof +eln:Tungsten_Ingot.name=Wolfraam Staaf +eln:Tungsten_Ore.name=Wolfraamerts +eln:Tutorial_Sign.name=Uitleg Bord +eln:Very_High_Voltage_Cable.name=Extreme Hoogspanningskabel +eln:Very_High_Voltage_Relay.name=Extreme Hoogspanningsrelais +eln:Very_High_Voltage_Switch.name=Extreme Hoogspanningsschakelaar +eln:Voltage-to-Redstone_Converter.name=Spanning-naar-Redstone Omzetter +eln:Voltage_Oriented_Battery.name=Spanningsgerichte Accu +eln:Voltage_Probe.name=Spanningssonde +eln:Water_Turbine.name=Waterturbine +eln:Weak_50V_Battery_Charger.name=Zwakke 50V Acculader +eln:White_Brush.name=Witte Kwast +eln:Wind_Turbine.name=Windturbine +eln:Wireless_Analyser.name=Draadloze Analyzer +eln:Wireless_Button.name=Draadloze Knop +eln:Wireless_Signal_Receiver.name=Draadloze Signaalontvanger +eln:Wireless_Signal_Repeater.name=Draadloze Signaalrepeater +eln:Wireless_Signal_Transmitter.name=Draadloze Signaalzender +eln:Wireless_Switch.name=Draadloze Schakelaar +eln:Wrench.name=Sleutel +eln:X-Ray_Scanner.name=Röntgenscanner +eln:XNOR_Chip.name=XNOR Chip +eln:XOR_Chip.name=XOR Chip +eln:Yellow_Brush.name=Gele Kwast +eln:entity.EAReplicator.name=Replicator +eln:item.Copper Koperen Bijl +eln:item.Copper Koperen Bijl +eln:item.Copper Koperen Bijl +eln:item.Copper Koperen Bijl +eln:item.Copper Koperen Bijl +eln:item.Copper Koperen Bijl +eln:item.Copper Koperen Bijl +eln:item.Copper Koperen Bijl +eln:item.Copper Koperen Bijl +eln:item.E-Coal E-Kolen Laarzen +eln:item.E-Coal E-Kolen Laarzen +eln:item.E-Coal E-Kolen Laarzen +eln:item.E-Coal E-Kolen Laarzen +eln:itemGroup.Eln=Elektrische Eeuw +eln:mod.meta.desc=Elektriciteit in je Basis\! +eln:tile.eln.ElnProbe.name=Eln Computer Sonde +eln:tile.eln.EnergyConverterElnToOtherHVUBlock.name=800V Elektrische Eeuw naar andere energie exporteur +eln:tile.eln.EnergyConverterElnToOtherLVUBlock.name=50V Elektrische Eeuw naar andere energie exporteur +eln:tile.eln.EnergyConverterElnToOtherMVUBlock.name=200V Elektrische Eeuw naar andere energie exporteur +eln: +eln:# ./src/main/java/mods/eln/i18n/I18N.java +eln:You_have_%s_lives_left=Je hebt %s levens over +eln: +eln:# ./src/main/java/mods/eln/item/BrushDescriptor.java +eln:Brush_is_dry=Kwast is Droog +eln:Can_paint_%s_blocks=Kan %s blokken verven +eln: +eln:# ./src/main/java/mods/eln/item/CombustionChamber.java +eln:Upgrade_for_the_Stone_Heat_Furnace.=Upgrade voor de Stenen Hitteoven +eln: +eln:# ./src/main/java/mods/eln/item/ElectricalDrillDescriptor.java +eln:Energy_per_operation\:_%sJ=Energie per handeling\: %sJ +eln:Time_per_operation\:_%ss=Tijd per handeling\: %ss +eln: +eln:# ./src/main/java/mods/eln/item/FerromagneticCoreDescriptor.java +eln:Cable_loss_factor\:_%s=Kabel verliesfactor\: %s +eln: +eln:# ./src/main/java/mods/eln/item/HeatingCorpElement.java +eln: +eln:# ./src/main/java/mods/eln/item/LampDescriptor.java +eln:Bad=Slecht +eln:Condition\:=Staat\: +eln:End_of_life=Bijna kapot +eln:Good=Goed +eln:New=Nieuw +eln:Nominal_lifetime\:_%sh=Nominale levensduur\: %sh +eln:Technology\:_%s=Technologie\: %s +eln:Used=Gebruikt +eln: +eln:# ./src/main/java/mods/eln/item/LampSlot.java +eln:Lamp_slot=Lamp Slot +eln: +eln:# ./src/main/java/mods/eln/item/OverHeatingProtectionDescriptor.java +eln:Useful_to_prevent_overheating\nof_Batteries=Nuttig om oververhitting van\naccu's te voorkomen +eln: +eln:# ./src/main/java/mods/eln/item/OverVoltageProtectionDescriptor.java +eln:Useful_to_prevent_over-voltage\nof_Batteries=Nuttig om over-spanning van\naccu's te voorkomen. +eln: +eln:# ./src/main/java/mods/eln/item/SolarTrackerDescriptor.java +eln:Solar_panel_upgrade=Zonnepaneel Upgrade +eln: +eln:# ./src/main/java/mods/eln/item/electricalitem/BatteryItem.java +eln: +eln:# ./src/main/java/mods/eln/item/electricalitem/ElectricalLampItem.java +eln:Off=Uit +eln:On=Aan +eln:State\:=Status\: +eln:Stored_Energy\:_%sJ_(%s)=Opgeslagen Energie\: %sJ (%s) +eln: +eln:# ./src/main/java/mods/eln/item/regulator/RegulatorSlot.java +eln: +eln:# ./src/main/java/mods/eln/misc/UtilsClient.java +eln:Hold_shift=Druk Shift in +eln: +eln:# ./src/main/java/mods/eln/misc/Version.java +eln:mod.name=Elektrische Eeuw +eln: +eln:# ./src/main/java/mods/eln/node/six/SixNodeDescriptor.java +eln: +eln:# ./src/main/java/mods/eln/simplenode/energyconverter/EnergyConverterElnToOtherGui.java +eln:Input_power_is_limited_to_%sW=Inputvermogen is gelimiteerd tot %sW +eln: +eln:# ./src/main/java/mods/eln/sixnode/LogicGate.kt +eln:_O\:_= O\: +eln: +eln:# ./src/main/java/mods/eln/sixnode/TreeResinCollector/TreeResinCollectorDescriptor.java +eln:Produces_Tree_Resin_over\ntime_when_put_on_a_tree.=Geeft boomhars na een tijd\nop een boom te zitten. +eln:This_block_can_only_be_placed_on_the_side_of_a_tree!=Dit blok kan alleen aan de zijkant van een boom geplaatst worden\! +eln: +eln:# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerContainer.java +eln:Battery_slot=Accu Slot +eln: +eln:# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerDescriptor.java +eln:Can_be_used_to_recharge\nelectrical_items_like\:\nFlash_Light,_X-Ray_scanner\nand_Portable_Battery_...=Kan gebruikt worden om\nelektrische items op te laden,\nzoals\:\nZaklamp, Röntgen scanner\nen Draagbare Accu ... +eln: +eln:# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerGui.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/diode/DiodeDescriptor.java +eln:Electrical_current_can_only\nflow_through_the_diode\nfrom_anode_to_cathode=Elektrische stroom kan alleen\ndoor een diode stromen van\nde anode naar de kathode. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalalarm/ElectricalAlarmDescriptor.java +eln:= +eln:Emits_an_acoustic_alarm_if\nthe_input_signal_is_high=Zendt een akoestisch alarm als\nhet inputsignaal sterk is. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalalarm/ElectricalAlarmGui.java +eln:Sound_is_muted=Geluid is gedempt +eln:Sound_is_not_muted=Geluid is aan +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerContainer.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerDescriptor.java +eln:Protects_electrical_components\nOpens_contact_if\:\n__-_Voltage_exceeds_a_certain_level\n-_Current_exceeds_the_cable_limit=Beschermt elektrische componenten\nOpent contacten wanneer\:\n- Voltage boven bepaald niveau komt\n- Stroom boven het kabellimiet komt +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerGui.java +eln:Maximum_voltage_before_cutting_off=Maximale spanning voor onderbreken +eln:Minimum_voltage_before_cutting_off=Minimale spanning voor onderbreken +eln:Switch_is_off=Schakelaar staat uit +eln:Switch_is_on=Schakelaar staat aan +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalcable/ElectricalCableDescriptor.java +eln:A_signal_is_electrical_information\nwhich_must_be_between_0V_and_%sV=Een signaal is elektrische informatie\ndie tussen de 0V en %sV moet zitten. +eln:Cable_is_adapted_to_conduct\nelectrical_signals.=Kabel is aangepast om elektrische\nsignalen te geleiden. +eln:Current\:_%sA=Stroom\: %sA +eln:Not_adapted_to_transport_power.=Niet aangepast om energie te transporteren. +eln:Save_usage\:=Sla gebruik op\: +eln:Serial_resistance\:_%sΩ=Seriële weerstand\: %sΩ +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerDescriptor.java +eln:It_can_store_up_to_256_points.=Het kan maximaal 256 punten opslaan. +eln:Measures_the_voltage_of_an\nelectrical_signal_and_plots\nthe_data_in_real_time.=Meet het voltage van een\nelektrish signaal en tekent\nde data in real-time. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerGui.java +eln:Back_to_display=Terug naar voorstelling +eln:Configuration=Configuratie +eln:Current_[A]=Stroom [A] +eln:Energy_[J]=Energie [J] +eln:Percent_[-]%=Percentage [-]% +eln:Power_[W]=Vermogen [W] +eln:Print=Print +eln:Sampling_period=Sampleperiode +eln:Temp._[*C]=Temp. [*C] +eln:Voltage_[V]=Spanning [V] +eln:Y-axis_max=Y-as max +eln:Y-axis_min=Y-as min +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorContainer.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorDescriptor.java +eln:Output_voltage_increases\nif_entities_are_moving_around.=Output spanning verhoogt \nals entities bewegen. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalfiredetector/ElectricalFireDetectorDescriptor.java +eln:Output_voltage_increases\nif_a_fire_has_been_detected.=Output spanning verhoogt\nals vuur gedetecteerd wordt. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceDescriptor.java +eln:Provides_configurable_signal\nvoltage.=Geeft een aanpasbaar\nsignaalspanning. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceGui.java +eln:Output_at_%s=Output\: %s +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricallightsensor/ElectricalLightSensorDescriptor.java +eln:0V_at_night,_%sV_at_noon.=0V 's nachts, %sV 's middags. +eln:Provides_an_electrical_voltage\nin_the_presence_of_light.=Geeft een elektrische spanning\nin de aanwezigheid van licht. +eln:Provides_an_electrical_voltage\nwhich_is_proportional_to\nthe_intensity_of_daylight.=Geeft een elektrische spanning\ndie proportioneel is aan de \nintensiteit van het daglicht. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathContainer.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathDescriptor.java +eln:Applicable_boolean_operators\:=Toepasbare boolean operators\: +eln:Applicable_functions\:=Toepasselijke functies\: +eln:Applicable_mathematical_operators\:=Toepasbare wiskundige operators\: +eln:Calculates_an_output_signal_from\n3_inputs_(A,_B,_C)_using_an_equation.=Berekent een output signaal van\n3 inputs (A,B,C) door middel van een\nvergelijking. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathGui.java +eln:%s_Redstone(s)_required=%s Redstone(s) nodig +eln:Equation_required!=Vergelijking nodig\! +eln:Inputs_are=Inputs zijn +eln:Invalid_equation!=Ongeldige vergelijking +eln:Output_voltage_formula=Output spanning formule +eln:Waiting_for_completion...=Wacht op voltooiing... +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalredstoneinput/ElectricalRedstoneInputDescriptor.java +eln:Converts_Redstone_signal\nto_an_electrical_voltage.=Zet Redstone signaal om in\neen elektrische spanning. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalredstoneoutput/ElectricalRedstoneOutputDescriptor.java +eln:Converts_electrical_voltage\ninto_a_Redstone_signal.=Zet een elektrische spanning\nom in een Redstone signaal. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalrelay/ElectricalRelayDescriptor.java +eln:A_relay_is_an_electrical\ncontact_that_conducts_electric\ncurrent_or_not,_depending\nthe_actual_input_signal_voltage.=Een relais is een elektrisch \ncontact dat afhankelijk van het\nactuele input signaal wel of niet \nelektrische spanning geleid. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalrelay/ElectricalRelayGui.java +eln:Normally_closed=Normaal gesloten +eln:Normally_open=Normaal open +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalsource/ElectricalSourceDescriptor.java +eln:Creative_block.=Creatief blok +eln:Provides_an_ideal_voltage_source\nwithout_energy_or_power_limitation.=Geeft een ideale spanningsbron\nzonder vermogenslimiet. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalsource/ElectricalSourceGui.java +eln:Output_voltage=Output spanning +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalswitch/ElectricalSwitchDescriptor.java +eln:Can_break_an_electrical_circuit\ninterrupting_the_current.=Kan een elektrisch signaal\nafbreken, daarmee onderbreekt\nde stroom. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricaltimeout/ElectricalTimeoutDescriptor.java +eln:Upon_application_of_a_high_signal,\nthe_timer_maintains_the_output_high_for\na_configurable_interval._Can_be_re-triggered.=Bij toepassing van een sterk signaal\nhoudt de timer een sterk signaal vast\nvoor een aanpasbare tijd. Kan aangepast\nworden. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricaltimeout/ElectricalTimeoutGui.java +eln:Set=Stel in +eln:The_time_interval_the\noutput_is_kept_high.=Het tijdsinterval de\noutput wordt hoog gehouden. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalvumeter/ElectricalVuMeterDescriptor.java +eln:Displays_the_value_of_a_signal.=Geeft de waarde van een signaal. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalwatch/ElectricalWatchContainer.java +eln:Portable_battery_slot=Draagbare Accu Slot +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalweathersensor/ElectricalWeatherSensorDescriptor.java +eln:Clear\:_%sV=Onbewolkt\: %sV +eln:Provides_an_electrical_signal\ndepending_the_actual_weather.=Geeft een elektrisch signaal\nafhankelijk van het huidige weer. +eln:Rain\:_%sV=Regen\: %sV +eln:Storm\:_%sV=Storm\: %sV +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalwindsensor/ElectricalWindSensorDescriptor.java +eln:Maximum_wind_speed_is_%sm_s=Maximale windsnelheid is %sm/s +eln:Provides_an_electrical_signal\ndependant_on_wind_speed.=Geeft een elektrisch signaal\nafhankelijk van de windsnelheid. +eln:You_can't_place_this_block_on_the_floor_or_the_ceiling=Je kunt dit blok niet op de vloer of het plafond plaatsen +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricasensor/ElectricalSensorDescriptor.java +eln:Can_measure_Voltage_Power_Current=Kan Voltage/Vermogen/Stroom meten +eln:Measures_electrical_values_on_cables.=Meet elektrische waardes op kabels. +eln:Measures_voltage_on_cables.=Meet spanning op kabels. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricasensor/ElectricalSensorGui.java +eln:Current=Stroom +eln:Measured_voltage\ncorresponding\nto_0%_output=Gemeten spanning\ncorrespondeert\nmet 0% output +eln:Measured_voltage\ncorresponding\nto_100%_output=Gemeten spanning\ncorrespondeert\nmet 100% output +eln:Voltage=Spanning +eln: +eln:# ./src/main/java/mods/eln/sixnode/energymeter/EnergyMeterGui.java +eln:Change_password=Verander wachtwoord +eln:Counter_Mode=Teller Mode +eln:Counts_the_energy_conducted_from\n\u00a74red\u00a7f_to_\u00a71blue\u00a7f.=Telt de energie geleid van \n\\u00a74red\\u00a7f tot \\u00a71blue\\u00a7f. +eln:Energy_counter\:_%sJ=Energie teller\: %sJ +eln:Enter_new_energy=Stel nieuwe energie in +eln:Enter_password=Vul wachtwoord in +eln:Prepay_Mode=Prepay Mode +eln:Reset_time_counter=Reset tijd teller +eln:Set_energy_counter=Stel energieteller in +eln:Time_counter\:=Tijd teller\: +eln:Try_password=Probeer wachtwoord +eln:You_can_set_an_initial\namount_of_available_energy.\nWhen_the_counter_arrives_at_0\nthe_contact_will_be_opened.=Je kunt de beginhoeveelheid\nbeschikbare energie instellen.\nWanneer de teller op 0 staat\nwordt het contact geopend. +eln:is_off=is uit +eln:is_on=is aan +eln:value_in_kJ=waarde in kJ +eln: +eln:# ./src/main/java/mods/eln/sixnode/groundcable/GroundCableDescriptor.java +eln:Can_be_used_to_set_a_point_of_an\nelectrical_network_to_0V_potential.\nFor_example_to_ground_negative_battery_contacts.=Kan gebruikt worden om een punt\nvan een elektrisch netwerk een \n0V potentieel te geven.\nBijvoorbeeld als aarde voor negatieve accucontacten. +eln:Provides_a_zero_volt_reference.=Geeft een 0-volt referentie. +eln: +eln:# ./src/main/java/mods/eln/sixnode/hub/HubDescriptor.java +eln:Allows_crossing_cables\non_one_single_block.=Staat kabels toe te \nkruisen op 1 blok. +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketDescriptor.java +eln:Angle\:_%s°_to_%s°=Hoek\: %s° tot %s° +eln:Spot_range\:_%s_blocks=Zichtbereik\: %s blokken +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketGuiDraw.java +eln:%s_is_not_in_range!=%s is niet binnen bereik\! +eln:Cable_slot_empty=Leeg Kabel Slot +eln:Orientation\:_%s°=Orientatie\: %s° +eln:Parallel=Parallel +eln:Powered_by_Lamp_Supply=Aangedreven door Lamp Voeding +eln:Powered_by_cable=Aangedreven door kabel +eln:Serial=Seriële +eln:Specify_the_supply_channel=Specificeer het aanleveringskanaal +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyContainer.java +eln:Electrical_cable_slot\nBase_range_is_32_blocks.\nEach_additional_cable\nincreases_range_by_one.=Elektrische kabel slot\nBasisbereik is 32 blokken.\nIedere toegevoegde kabel\nverhoogt bereik met 1 blok. +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyDescriptor.java +eln:Supplies_all_lamps_on_the_channel.=Voorziet alle lampen op het kanaal van energie. +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyGui.java +eln:Power_channel_name=Energiekanaal naam +eln:Wireless_channel_name=Draadloze kanaal naam +eln: +eln:# ./src/main/java/mods/eln/sixnode/modbusrtu/ModbusRtuGui.java +eln:Add=Toevoegen +eln:Channel_name=Kanaalnaam +eln:Modbus_ID=Modbus ID +eln:Modbus_RTU=Modbus RTU +eln:Station_ID=Stationsnummer +eln:Station_name=Stationsnaam +eln:Wireless_RX=Draadloze RX +eln:Wireless_TX=Draadloze TX +eln: +eln:# ./src/main/java/mods/eln/sixnode/powercapacitorsix/PowerCapacitorSixContainer.java +eln:(Increases_maximum_voltage)=(Vergroot maximale spanning) +eln: +eln:# ./src/main/java/mods/eln/sixnode/powercapacitorsix/PowerCapacitorSixGui.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/powerinductorsix/PowerInductorSixContainer.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/powerinductorsix/PowerInductorSixGui.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/powersocket/PowerSocketDescriptor.java +eln:Supplies_any_device\nplugged_in_with_energy.=Voorziet ieder aangekoppeld\napparaat van energie. +eln: +eln:# ./src/main/java/mods/eln/sixnode/powersocket/PowerSocketGui.java +eln:Specify_the_device_to_supply_through_this_socket.=Specificeer het apparaat om van energie te voorzien via deze socket. +eln: +eln:# ./src/main/java/mods/eln/sixnode/resistor/ResistorContainer.java +eln:(Sets_resistance)=(Stelt weerstand in) +eln:Coal_dust_slot=Kolenstof Slot +eln: +eln:# ./src/main/java/mods/eln/sixnode/thermalcable/ThermalCableDescriptor.java +eln:High_parallel_resistance\n_\=>_Low_power_dissipation.=Hoge parallelle weerstand\n\=> Laag vermogensverdrijving. +eln:Low_serial_resistance\n_\=>_High_conductivity.=Lage seriële weerstand\n\=> Hoge geleiding. +eln:Parallel_resistance\:_%sK_W=Parallelle weerstand\: %sK/W +eln:Serial_resistance\:_%sK_W=Seriële weerstand\: %sK/W +eln: +eln:# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorContainer.java +eln:Cable_slot=Kabel Slot +eln: +eln:# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorDescriptor.java +eln:Can_measure\:=Kan meten\: +eln:Measures_temperature_of_cables.=Meet de temperatuur van kabels. +eln:Measures_thermal_values_on_cables.=Meet temperatuurwaarden op kabels. +eln:__Temperature_Power_conducted=Temperatuur/Vermogen geleidt +eln: +eln:# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorGui.java +eln:Measured_temperature\ncorresponding\nto_0%_output=Gemeten temperatuur\ncorrespondeert\nmet 0% output +eln:Measured_temperature\ncorresponding\nto_100%_output=Gemeten temperatuur\ncorrespondeert\nmet 100% output +eln:Temperature=Temperatuur +eln: +eln:# ./src/main/java/mods/eln/sixnode/tutorialsign/TutorialSignElement.java +eln:No_text_associated_to_this_beacon=Geen tekst geassocieerd met deze baken +eln: +eln:# ./src/main/java/mods/eln/sixnode/tutorialsign/TutorialSignGui.java +eln:Set_beacon_name=Stel baken naam in +eln: +eln:# ./src/main/java/mods/eln/sixnode/wirelesssignal/rx/WirelessSignalRxGui.java +eln: +eln:# ./src/main/java/mods/eln/transparentnode/FuelGenerator.kt +eln:Nominal_power\:_%s_W=Norminaal vermogen\: %s W +eln:Nominal_voltage\:_%s_V=Nominale spanning\: %s V +eln:Produces_electricity_using_fuel.=Genereert elektriciteit met brandstof. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/LargeRheostat.kt +eln:Nom._Resistance\:_%s=Nom. weerstand\: %s +eln: +eln:# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerContainer.java +eln:Drill_slot=Boor Slot +eln:Mining_pipe_slot=Graafpijp Slot +eln:Ore_scanner_slot=Erts Scanner Slot +eln: +eln:# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerDescriptor.java +eln:Excavates_on_a_small_radius.\nExtracts_ore_on_a_bigger_radius\:\n10_blocks_radius_after_10_blocks_depth.=Graaft een kleine radius op.\nGraaft erts in een grotere radius op\:\n10 blokken radius na 10 blokken diepte. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerGuiDraw.java +eln:Chest_missing_on_the\nback_of_the_auto_miner!=Kist mist aan de achterkant \nvan de automatische graver. +eln:Halves_speed,_triples_power_draw=Halveert snelheid, verdrievoudigd energieverbruik +eln:Silk_Touch_Off=Zijden Streling Uit +eln:Silk_Touch_On=Zijden Streling Aan +eln:Silk_touch=Zijden Streling +eln: +eln:# ./src/main/java/mods/eln/transparentnode/battery/BatteryContainer.java +eln:Overheating_protection=Bescherming Tegen Oververhitting +eln:Overvoltage_protection=Bescherming Tegen Overspanning +eln: +eln:# ./src/main/java/mods/eln/transparentnode/battery/BatteryDescriptor.java +eln:Actual_charge\:_%s=Huidige lading\: %s +eln:Energy_capacity\:_%sJ=Energie capaciteit %sJ +eln:_charged_at_%s=%s opgeladen +eln: +eln:# ./src/main/java/mods/eln/transparentnode/battery/BatteryGuiDraw.java +eln:Charge=Lading +eln:Charged=Opgeladen +eln:Discharge=Ontlading +eln:Energy\:=Energie\: +eln:Energy\:_%s=Energie\: %s +eln:Life\:=Leven\: +eln:No_charge=Geen lading\: +eln:Power_in\:=Energie in\: +eln:Power_out\:=Energie uit\: +eln: +eln:# ./src/main/java/mods/eln/transparentnode/eggincubator/EggIncubatorContainer.java +eln:Egg_slot=Ei Slot +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalantennarx/ElectricalAntennaRxDescriptor.java +eln:Wireless_energy_receiver.=Draadloze energie ontvanger. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalantennatx/ElectricalAntennaTxDescriptor.java +eln:Efficiency\:_%s_up_to_%s=Efficiëntie\: %s tot %s +eln:Wireless_energy_transmitter.=Draadloze Energiezender +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceContainer.java +eln:Heating_corp_slot=Verhittingsspoel Slot +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceDescriptor.java +eln:Similar_to_a_vanilla_furnace,\nbut_heats_with_electricity.=Vergelijkbaar met standaard oven,\nmaar verhit met elektriciteit. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceGuiDraw.java +eln:Auto_shutdown=Automatische afsluiting +eln:Manual_shutdown=Handmatig afsluiting +eln:Set_point\:_%s°C=Ingesteld punt\: %s°C +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalmachine/ElectricalMachineDescriptor.java +eln:Cost=Kosten +eln: +eln:# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceContainer.java +eln:Combustion_chamber_slot=Ontbrandingskamer Slot +eln:Fuel_slot=Brandstof Slot +eln: +eln:# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceDescriptor.java +eln:Generates_heat_when_supplied_with_fuel.=Genereert hitte wanneer van brandstof voorzien wordt. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceGuiDraw.java +eln:Control_gauge_at_%s=Meter op %s +eln:Decline_fuel=Weiger brandstof +eln:External_control=Externe bediening +eln:Internal_control=Interne bediening +eln:Take_fuel=Neem brandstof +eln: +eln:# ./src/main/java/mods/eln/transparentnode/powercapacitor/PowerCapacitorContainer.java +eln:(Increases_maximal_voltage)=(Verhoog maximale spanning) +eln: +eln:# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelContainer.java +eln:Solar_tracker_slot=Zon Tracker Slot +eln: +eln:# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelDescriptor.java +eln:Can_be_geared_towards_the_sun.=Kan naar de zon gekeerd worden. +eln:Max._power\:_%sW=Max. vermogen\: %sW +eln:Max._voltage\:_%sV=Max. spanning\: %sV +eln:Produces_power_from_solar_radiation.=Produceert energie van zonneradiatie +eln: +eln:# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPannelGuiDraw.java +eln:It_is_night=Het is nacht +eln:Solar_panel_angle\:_%s°=Zonnepaneel hoek\: %s° +eln:Sun_angle\:_%s°=Hoek zon\: %s° +eln: +eln:# ./src/main/java/mods/eln/transparentnode/teleporter/TeleporterGui.java +eln:Destination_transporter=Bestemmingstransporteur +eln:Power_consumption\:=Energieverbruik\: +eln:Power_consumption\:_%sW=Energieverbruik\: %sW +eln:Required_energy\:_%sJ=Benodigde Energie\: %sJ +eln:Start=Start +eln:Transporter_name=Transporteur naam +eln: +eln:# ./src/main/java/mods/eln/transparentnode/thermaldissipatoractive/ThermalDissipatorActiveDescriptor.java +eln:Fan_cooling_power\:_%sW=Ventilator koelvermogen\: %sW +eln:Fan_power_consumption\:_%sW=Ventilator energieverbruik\: %sW +eln:Fan_voltage\:_%sV=Ventilator spanning\: %sV +eln: +eln:# ./src/main/java/mods/eln/transparentnode/transformer/TransformerDescriptor.java +eln:The_voltage_ratio_is_proportional\nto_the_cable_stacks_count_ratio.=De spanningsverhouding is\nproportioneel aan de kabelstapel\nteller verhouding. +eln:Transforms_an_input_voltage_to\nan_output_voltage.=Zet een input spanning om \nin een output spanning. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/turbine/TurbineDescriptor.java +eln:Generates_electricity_using_heat.=Genereert energie met hitte. +eln:Temperature_difference\:_%s°C=Temperatuurverschil\: %s°C +eln: +eln:# ./src/main/java/mods/eln/transparentnode/turret/TurretDescriptor.java +eln:CAUTION\:_Cables_can_get_quite_hot!=OPGEPAST\: Kabels kunnen behoorlijk heet worden\! +eln:Laser_charge_power\:_%sW...%skW=Laser lading vermogen\: %sW...%skW +eln:Scans_for_entities_and_shoots_if_the\nentity_matches_the_configurable_filter_criteria.=Zoekt naar entities en schiet als de entity\ngelijk staat aan de aanpasbare filter criteria. +eln:Standby_power\:_%sW=Standby vermogen\: %sW +eln: +eln:# ./src/main/java/mods/eln/transparentnode/turret/TurretGui.java +eln:Attack\:=Aanvallen\: +eln:Do_not_attack\:=Niet aanvallen\: +eln:Recharge_power\:=Herlaad energie\: +eln: +eln:# ./src/main/java/mods/eln/transparentnode/waterturbine/WaterTurbineDescriptor.java +eln:Generates_energy_using_water_stream.=Genereert energie door middel van stromend water. +eln:No_place_for_water_turbine!=Geen plaats voor waterturbine\! +eln: +eln:# ./src/main/java/mods/eln/transparentnode/windturbine/WindTurbineDescriptor.java +eln:Front\:_%s=Voorkant\: %s +eln:Generates_energy_from_wind.=Genereert energie door middel van de wind. +eln:Left_Right\:_%s=Links/Rechts\: %s +eln:Up_Down\:_%s=Boven/Onder\: %s +eln:Wind_area\:=Wind gebied\: +eln: +eln:# ./src/main/java/mods/eln/wiki/Data.java +eln:Energy=Energie +eln:Light=Licht +eln:Machine=Machine +eln:Ore=Erts +eln:Portable=Draagbaar +eln:Resource=Grondstof +eln:Signal=Signaal +eln:Thermal=Thermaal +eln:Upgrade=Upgrade +eln:Utilities=Utiliteiten +eln:Wiring=Bedrading +eln: +eln:# ./src/main/java/mods/eln/wiki/Default.java +eln:Previous=Vorige +eln: +eln:# ./src/main/java/mods/eln/wiki/ItemDefault.java +eln:Can_be_used_to_craft\:=Kan gebruikt worden om het volgende te maken\: +eln:Cannot_be_crafted!=Kan niet gemaakt worden\! +eln:Cost_%sJ=Kosten\: %sJ +eln:Created_by\:=Gemaakt door\: +eln:Is_not_a_crafting_material!=Dit is geen werkmateriaal +eln:Recipe\:=Recept\: +eln: +eln:# Appearing in multiple source files +eln:(Increases_capacity)=(vergroot capaciteit) +eln:(Increases_inductance)=(Verhoogt geleiding) +eln:Actual\:_%s°C=Momenteel\: %s°C +eln:Biggest=Grootste +eln:Booster_slot=Booster Slot +eln:Can_create\:=Kan maken\: +eln:Capacity\:_%sF=Capaciteit\: %sF +eln:Charge_power\:_%sW=Lading vermogen\: %sW +eln:Connected=Verbonden +eln:Cooling_power\:_%sW=Koelvermogen\: %sW +eln:Copper_cable_slot=Koperen Kabel Slot +eln:Dielectric_slot=Diëlektricum Slot +eln:Discharge_power\:_%sW=Ontladingsvermogen\: %sW +eln:Electrical_cable_slot=Elektrische Kabel Slot +eln:Entity_filter_slot=Entity Filter Slot +eln:Ferromagnetic_core_slot=Ferromagnetische Kern Slot +eln:Has_a_signal_output.=Heeft een signaal output. +eln:Inductance\:_%sH=Inductief Vermogen\: %sH +eln:Internal_resistance\:_%sΩ=Interne weerstand\: %sΩ +eln:Is_off=Is uit +eln:Is_on=Is aan +eln:Max._temperature\:_%s°C=Max. temperatuur\: %s°C +eln:Measured_value\ncorresponding\nto_0%_output=Gemeten waarde\ncorrespondeert\nmet 0% output +eln:Measured_value\ncorresponding\nto_100%_output=Gemeten waarde\ncorrespondeert\nmet 100% output +eln:Nominal\:=Nominaal\: +eln:Nominal_power\:_%sW=Norminaal vermogen\: %sW +eln:Nominal_usage\:=Nominaal gebruik\: +eln:Nominal_voltage\:_%sV=Nominale spanning\: %sV +eln:Not_connected=Niet verbonden +eln:Not_enough_space_for_this_block=Niet genoeg ruimte voor dit blok +eln:Power=Energie +eln:Power\:_%sW=Vermogen\: %sW +eln:Range\:_%s_blocks=Bereik\: %s blokken +eln:Redstone_slot=Redstone Slot +eln:Regulator_slot=Regelaar Slot +eln:Reset=Reset +eln:Resistance\:_%sΩ=Weerstand\: %sΩ +eln:Smallest=Kleinste +eln:Specify_the_channel=Specificeer het kanaal +eln:Stored_energy\:_%sJ_(%s)=Opgeslagen Energie\: %sJ (%s) +eln:Temperature\:_%s°C=Temperatuur\: %s°C +eln:Temperature_gauge=Temperatuurmeter +eln:Thermal_isolator_slot=Warmte-Isolatie Slot +eln:Toggle=Wissel +eln:Toggle_switch=Wisselschakelaar +eln:Toggles_the_output_each_time\nan_emitter's_value_rises.\nUseful_to_allow_multiple_buttons\nto_control_the_same_light.=Verandert de output elke keer\nals de waarden van de zender \nomhoog gaat. Nuttig om meerdere\nknoppen het zelfde licht te laten\nbesturen. +eln:Used_to_cool_down_turbines.=Wordt gebruikt om turbines af te koelen. +eln:Uses_the_biggest\nvalue_on_the_channel.=Gebruikt de grootste\nwaarde op het kanaal. +eln:Uses_the_smallest\nvalue_on_the_channel.=Gebruikt de kleinste\nwaarde op het kanaal. +eln:Validate=Valideer +eln:Voltage\:_%sV=Spanning\: %sV +eln:You_can't_place_this_block_at_this_side=Je kunt dit blok niet aan deze zijde plaatsen diff --git a/src/main/resources/assets/eln/lang/nl_NL.lang b/src/main/resources/assets/eln/lang/nl_NL.lang index 8eb7c816e..ffb73607c 100644 --- a/src/main/resources/assets/eln/lang/nl_NL.lang +++ b/src/main/resources/assets/eln/lang/nl_NL.lang @@ -1,829 +1,829 @@ -# - -# ./src/main/java/mods/eln/Achievements.java -Electrical_Age_[WIP]=Elektrische Eeuw [WIP] -achievement.craft_50v_macerator=Verbrijzeling Beginner -achievement.craft_50v_macerator.desc=Maak een 50V Versnipperaar -achievement.open_guide=Wiki Power -achievement.open_guide.desc=Open de wiki handleiding - -# ./src/main/java/mods/eln/Eln.java -10A_Diode.name=10A Diode -200V_Active_Thermal_Dissipator.name=200V Actieve Koeling -200V_Battery_Charger.name=200V Accu Lader -200V_Compressor.name=200V Compressor -200V_Condensator.name=200V Condensator -200V_Copper_Heating_Corp.name=200V Koperen Verhittingsspoel -200V_Economic_Light_Bulb.name=200V Spaarlamp -200V_Farming_Lamp.name=200V Boerderijlamp -200V_Fuel_Generator.name=200V Brandstofgenerator -200V_Incandescent_Light_Bulb.name=200V Gloeilamp -200V_Iron_Heating_Corp.name=200V Ijzeren Verhittingsspoel -200V_LED_Bulb.name=200V LED Lamp -200V_Macerator.name=200V Versnipperaar -200V_Magnetizer.name=200V Magnetiseringsunit -200V_Plate_Machine.name=200V Platenwals -200V_Power_Socket.name=200V Stopcontact -200V_Tungsten_Heating_Corp.name=200V Wolfraam Verhittingsspoel -200V_Turbine.name=200V Turbine -25A_Diode.name=25A Diode -50V_Battery_Charger.name=50V Accu Lader -50V_Carbon_Incandescent_Light_Bulb.name=50V Koolstof Gloeilamp -50V_Compressor.name=50V Compressor -50V_Condensator.name=50V Condensator -50V_Copper_Heating_Corp.name=50V Koperen Verhittingsspoel -50V_Economic_Light_Bulb.name=50V Spaarlamp -50V_Egg_Incubator.name=50V Broedlamp -50V_Farming_Lamp.name=50V Boerderij lamp -50V_Fuel_Generator.name=50V Brandstofgenerator -50V_Incandescent_Light_Bulb.name=50V Gloeilamp -50V_Iron_Heating_Corp.name=50V Ijzeren Verhittingsspoel -50V_LED_Bulb.name=50V LED Lamp -50V_Macerator.name=50V Versnipperaar -50V_Magnetizer.name=50V Magnetiseringsunit -50V_Plate_Machine.name=50V Platenwals -50V_Power_Socket.name=50V Stopcontact -50V_Tungsten_Heating_Corp.name=50V Wolfraam Verhittingsspoel -50V_Turbine.name=50V Turbine -800V_Defence_Turret.name=800V Verdedigingstoren -AND_Chip.name=AND Chip -Advanced_Chip.name=Geavanceerde Chip -Advanced_Electrical_Motor.name=Geavanceerde Elektrische Motor -Advanced_Energy_Meter.name=Geavanceerde Elektrische Meter -Advanced_Machine_Block.name=Geavanceerd Machineblok -Advanced_Magnet.name=Geavanceerde Magneet -AllMeter.name=Universeelmeter -Alloy_Dust.name=Legering Stof -Alloy_Ingot.name=Legering Staaf -Alloy_Plate.name=Legering Plaat -Analog_Watch.name=Analoog Horloge -Analog_vuMeter.name=Analoge Meter -Analogic_Regulator.name=Analoge Regulator -Animal_Filter.name=Dierenfilter -Auto_Miner.name=Automatische Graver -Average_Electrical_Drill.name=Gemiddelde Electrische Boor -Average_Ferromagnetic_Core.name=Gemiddelde Ferromagnetische Kern -Basic_Magnet.name=Basis Magneet -Black_Brush.name=Zwarte Kwast -Blue_Brush.name=Blauwe Kwast -Brown_Brush.name=Bruine Kwast -Capacity_Oriented_Battery.name=Capaciteitsgerichte Accu -Cheap_Chip.name=Goedkope Chip -Cheap_Electrical_Drill.name=Goedkope Elektrische Boor -Cheap_Ferromagnetic_Core.name=Goedkope Ferromagnetische Kern -Cinnabar_Dust.name=Cinnaber Stof -Cinnabar_Ore.name=Cinnaber Erts -Coal_Dust.name=Kolenstof -Coal_Plate.name=Kolen Plaat -Combustion_Chamber.name=Ontbrandingskamer -Copper_Cable.name=Koperen Kabel -Copper_Dust.name=Koperstof -Copper_Ingot.name=Koperen Staaf -Copper_Ore.name=Kopererts -Copper_Plate.name=Koperen Plaat -Copper_Thermal_Cable.name=Koperen Hittegeleidingskabel -Cost_Oriented_Battery.name=Kostengerichte Accu -Current_Oriented_Battery.name=Ampèragegerichte Accu -Cyan_Brush.name=Cyaan Kwast -D_Flip_Flop_Chip.name=D Flip Flop Chip -Data_Logger.name=Datalogger -Data_Logger_Print.name=Datalogger Uitdraai -Dielectric.name=Diëlektricum -Digital_Watch.name=Digitaal Horloge -Electrical_Anemometer_Sensor.name=Elektrische Anemometer Sensor -Electrical_Breaker.name=Elektrische Zekeringsautomaat -Electrical_Daylight_Sensor.name=Elektrische Daglichtsensor -Electrical_Entity_Sensor.name=Elektrische Entity Sensor -Electrical_Fire_Detector.name=Elektrische Vuur Sensor -Electrical_Furnace.name=Elektrische Oven -Electrical_Light_Sensor.name=Elektrische Lichtsensor -Electrical_Motor.name=Elektrische Motor -Electrical_Probe.name=Elektriciteitssonde -Electrical_Probe_Chip.name=Elektriciteitssonde Chip -Electrical_Source.name=Elektrische Bron -Electrical_Timer.name=Elektrische Timer -Electrical_Weather_Sensor.name=Elektrische Weersensor -Electrical_age_wrench,\nCan_be_used_to_turn\nsmall_wall_blocks=Elektrische Eeuw moersleutel\nKan gebruikt worden om\nkleine wandblokken te draaien. -Energy_Meter.name=Energiemeter -Experimental_Transporter.name=Experimentele Transporteur -Fast_Electrical_Drill.name=Snelle Elektrische Boor -Ferrite_Ingot.name=Ferriet Staaf -Flat_Lamp_Socket.name=Platte Lamp Socket -Fluorescent_Lamp_Socket.name=Fluorescentielamp Socket -Generator.name=Generator -Gold_Dust.name=Goudstof -Gold_Plate.name=Gouden Plaat -Gray_Brush.name=Grijze Kwast -Green_Brush.name=Groene Kwast -Ground_Cable.name=Aardingskabel -High_Power_Receiver_Antenna.name=Sterk Vermogen Onvangstantenne -High_Power_Transmitter_Antenna.name=Sterk Vermogen Zendantenne -High_Voltage_Cable.name=Hoogspanningskabel -High_Voltage_Relay.name=Hoogspanningsrelais -High_Voltage_Switch.name=Hoogspanningsschakelaar -Hub.name=Hub -Industrial_Data_Logger.name=Industriële Datalogger -Iron_Cable.name=Ijzeren Kabel -Iron_Dust.name=Ijzerstof -Iron_Plate.name=Ijzeren Plaat -JK_Flip_Flop_Chip.name=JK Flip Flop Chip -LED_vuMeter.name=LED vuMeter -Lamp_Socket_A.name=Lamp Socket A -Lamp_Socket_B_Projector.name=Lamp Socket B Projector -Lamp_Supply.name=Lamp Voeiding -Large_Rheostat.name=Grote Potentiometer -Lead_Dust.name=Lood Stof -Lead_Ingot.name=Loden Staaf -Lead_Ore.name=Looderts -Lead_Plate.name=Loden Plaat -Life_Oriented_Battery.name=Levensduurgerichte Accu -Light_Blue_Brush.name=Lichtblauwe Kwast -Lime_Brush.name=Limoen Kwast -Long_Suspended_Lamp_Socket.name=Lange Hangende Lamp Socket -Low_Power_Receiver_Antenna.name=Zwak Vermogen Ontvangstantenne -Low_Power_Transmitter_Antenna.name=Zwak Vermogen Zendantenne -Low_Voltage_Cable.name=Laagspanningskabel -Low_Voltage_Relay.name=Laagspanningsrelais -Low_Voltage_Switch.name=Laagspanningschakelaar -Machine_Block.name=Machine Blok -Machine_Booster.name=Machine Versterker -Magenta_Brush.name=Magenta Kwast -Medium_Power_Receiver_Antenna.name=Normaal Vermogen Ontvangstantenne -Medium_Power_Transmitter_Antenna.name=Normaal Vermogen Zendantenne -Medium_Voltage_Cable.name=Normale Spanningskabel -Medium_Voltage_Relay.name=Normale Spanningsrelais -Medium_Voltage_Switch.name=Normale Spanningsschakelaar -Mercury.name=Kwik -Mining_Pipe.name=Graafpijp -Modbus_RTU.name=Modbus RTU -Modern_Data_Logger.name=Moderne Datalogger -Monster_Filter.name=Monster Filter -MultiMeter.name=Multimeter -NAND_Chip.name=NAND Chip -NOR_Chip.name=NOR Chip -NOT_Chip.name=NOT Chip -Nuclear_Alarm.name=Nucleair Alarm -OR_Chip.name=OR Chip -On_OFF_Regulator_10_Percent.name=Aan/Uit regelaar 10% -On_OFF_Regulator_1_Percent.name=Aan/Uit regelaar 1% -Optimal_Ferromagnetic_Core.name=Optimale Ferromagnetische Kern -Orange_Brush.name=Oranje Kwast -Ore_Scanner.name=Erts Scanner -Oscillator_Chip.name=Oscillator Chip -Overheating_Protection.name=Bescherming Tegen Oververhitting -Overvoltage_Protection.name=Bescherming Tegen Overvoltage -PAL_Chip.name=PAL Chip -Pink_Brush.name=Roze Kwast -Player_Filter.name=Speler Filter -Portable_Battery.name=Draagbare Accu -Portable_Battery_Pack.name=Draagbaar Accupakket -Portable_Condensator.name=Draagbare Condensator -Portable_Condensator_Pack.name=Draagbaar Condensatorpakket -Portable_Electrical_Axe.name=Draagbare Elektrische Bijl -Portable_Electrical_Mining_Drill.name=Draagbare Elektrische Graafboor -Power_Capacitor.name=Vermogen Condensator -Power_Inductor.name=Vermogen Smoorspoel -Power_Resistor.name=Vermogen Weerstand -Power_capacitor.name=Vermogen condensator -Power_inductor.name=Energie Smoorspoel -Purple_Brush.name=Paarse Kwast -Red_Brush.name=Rode Kwast -Redstone-to-Voltage_Converter.name=Redstone-naar-Spanning Omzetter -Rheostat.name=Potentiometer -Robust_Lamp_Socket.name=Robuuste Lamp Socket -Rubber.name=Rubber -Schmitt_Trigger_Chip.name=Schmitt-trigger Chip -Sconce_Lamp_Socket.name=Wandverlichting Socket -Signal_20H_inductor.name=Signaal 20H Smoorspoel -Signal_Antenna.name=Signaalantenne -Signal_Button.name=Signaalknop -Signal_Cable.name=Signaalkabel -Signal_Diode.name=Signaaldiode -Signal_Processor.name=Signaalprocessor -Signal_Relay.name=Signaal Relais -Signal_Source.name=Signaalbron -Signal_Switch.name=Signaalschakelaar -Signal_Switch_with_LED.name=Signaalschakelaar met LED -Signal_Trimmer.name=Signaaltrimmer -Silicon_Dust.name=Siliciumstof -Silicon_Ingot.name=Silicium Staaf -Silicon_Plate.name=Silicium Plaat -Silver_Brush.name=Zilverkleurige Kwast -Simple_Lamp_Socket.name=Simpele Lamp Socket -Single-use_Battery.name=Wegwerpaccu -Small_200V_Copper_Heating_Corp.name=Kleine 200V Koperen Verhittingsspoel -Small_200V_Iron_Heating_Corp.name=Kleine 200V Ijzeren Verhittingsspoel -Small_200V_Tungsten_Heating_Corp.name=Kleine 200V Wolfraam Verhittingsspoel -Small_50V_Carbon_Incandescent_Light_Bulb.name=Kleine 50V Koolstof Gloeilamp -Small_50V_Copper_Heating_Corp.name=Kleine 50V Koperen Verhittingsspoel -Small_50V_Economic_Light_Bulb.name=Kleine 50V Spaarlamp -Small_50V_Incandescent_Light_Bulb.name=Kleine 50V Koolstof Gloeilamp -Small_50V_Iron_Heating_Corp.name=Kleine 50V Ijzeren Verhittingsspoel -Small_50V_Tungsten_Heating_Corp.name=Kleine 50V Wolfraam Verhittingsspoel -Small_Active_Thermal_Dissipator.name=Kleine 200V Actieve Koeling -Small_Flashlight.name=Kleine Zaklamp -Small_Passive_Thermal_Dissipator.name=Kleine Passieve Koeling -Small_Rotating_Solar_Panel.name=Klein Roterend Zonnepaneel -Small_Solar_Panel.name=Klein Zonnepaneel -Solar_Tracker.name=Zon Tracker -Standard_Alarm.name=Standaardalarm -Steam_Turbine.name=Stoomturbine -Stone_Heat_Furnace.name=Stenen Hitteoven -Street_Light.name=Lantaarn -Suspended_Lamp_Socket.name=Hangende Lamp Socket -Temperature_Probe.name=Temperatuur Sonde -Thermal_Probe.name=Thermale Sonde -Thermal_Probe_Chip.name=Thermale Sonde Chip -Thermistor.name=Thermistor -ThermoMeter.name=Thermometer -Transformer.name=Transformator -Tree_Resin.name=Boomhars -Tree_Resin_Collector.name=Boomhars Verzamelzak -Tungsten_Cable.name=Wolfraam Kabel -Tungsten_Dust.name=Wolfraam Stof -Tungsten_Ingot.name=Wolfraam Staaf -Tungsten_Ore.name=Wolfraamerts -Tutorial_Sign.name=Uitleg Bord -Very_High_Voltage_Cable.name=Extreme Hoogspanningskabel -Very_High_Voltage_Relay.name=Extreme Hoogspanningsrelais -Very_High_Voltage_Switch.name=Extreme Hoogspanningsschakelaar -Voltage-to-Redstone_Converter.name=Spanning-naar-Redstone Omzetter -Voltage_Oriented_Battery.name=Spanningsgerichte Accu -Voltage_Probe.name=Spanningssonde -Water_Turbine.name=Waterturbine -Weak_50V_Battery_Charger.name=Zwakke 50V Acculader -White_Brush.name=Witte Kwast -Wind_Turbine.name=Windturbine -Wireless_Analyser.name=Draadloze Analyzer -Wireless_Button.name=Draadloze Knop -Wireless_Signal_Receiver.name=Draadloze Signaalontvanger -Wireless_Signal_Repeater.name=Draadloze Signaalrepeater -Wireless_Signal_Transmitter.name=Draadloze Signaalzender -Wireless_Switch.name=Draadloze Schakelaar -Wrench.name=Sleutel -X-Ray_Scanner.name=Röntgenscanner -XNOR_Chip.name=XNOR Chip -XOR_Chip.name=XOR Chip -Yellow_Brush.name=Gele Kwast -entity.EAReplicator.name=Replicator -item.Copper Koperen Bijl -item.Copper Koperen Bijl -item.Copper Koperen Bijl -item.Copper Koperen Bijl -item.Copper Koperen Bijl -item.Copper Koperen Bijl -item.Copper Koperen Bijl -item.Copper Koperen Bijl -item.Copper Koperen Bijl -item.E-Coal E-Kolen Laarzen -item.E-Coal E-Kolen Laarzen -item.E-Coal E-Kolen Laarzen -item.E-Coal E-Kolen Laarzen -itemGroup.Eln=Elektrische Eeuw -mod.meta.desc=Elektriciteit in je Basis\! -tile.eln.ElnProbe.name=Eln Computer Sonde -tile.eln.EnergyConverterElnToOtherHVUBlock.name=800V Elektrische Eeuw naar andere energie exporteur -tile.eln.EnergyConverterElnToOtherLVUBlock.name=50V Elektrische Eeuw naar andere energie exporteur -tile.eln.EnergyConverterElnToOtherMVUBlock.name=200V Elektrische Eeuw naar andere energie exporteur - -# ./src/main/java/mods/eln/i18n/I18N.java -You_have_%s_lives_left=Je hebt %s levens over - -# ./src/main/java/mods/eln/item/BrushDescriptor.java -Brush_is_dry=Kwast is Droog -Can_paint_%s_blocks=Kan %s blokken verven - -# ./src/main/java/mods/eln/item/CombustionChamber.java -Upgrade_for_the_Stone_Heat_Furnace.=Upgrade voor de Stenen Hitteoven - -# ./src/main/java/mods/eln/item/ElectricalDrillDescriptor.java -Energy_per_operation\:_%sJ=Energie per handeling\: %sJ -Time_per_operation\:_%ss=Tijd per handeling\: %ss - -# ./src/main/java/mods/eln/item/FerromagneticCoreDescriptor.java -Cable_loss_factor\:_%s=Kabel verliesfactor\: %s - -# ./src/main/java/mods/eln/item/HeatingCorpElement.java - -# ./src/main/java/mods/eln/item/LampDescriptor.java -Bad=Slecht -Condition\:=Staat\: -End_of_life=Bijna kapot -Good=Goed -New=Nieuw -Nominal_lifetime\:_%sh=Nominale levensduur\: %sh -Technology\:_%s=Technologie\: %s -Used=Gebruikt - -# ./src/main/java/mods/eln/item/LampSlot.java -Lamp_slot=Lamp Slot - -# ./src/main/java/mods/eln/item/OverHeatingProtectionDescriptor.java -Useful_to_prevent_overheating\nof_Batteries=Nuttig om oververhitting van\naccu's te voorkomen - -# ./src/main/java/mods/eln/item/OverVoltageProtectionDescriptor.java -Useful_to_prevent_over-voltage\nof_Batteries=Nuttig om over-spanning van\naccu's te voorkomen. - -# ./src/main/java/mods/eln/item/SolarTrackerDescriptor.java -Solar_panel_upgrade=Zonnepaneel Upgrade - -# ./src/main/java/mods/eln/item/electricalitem/BatteryItem.java - -# ./src/main/java/mods/eln/item/electricalitem/ElectricalLampItem.java -Off=Uit -On=Aan -State\:=Status\: -Stored_Energy\:_%sJ_(%s)=Opgeslagen Energie\: %sJ (%s) - -# ./src/main/java/mods/eln/item/regulator/RegulatorSlot.java - -# ./src/main/java/mods/eln/misc/UtilsClient.java -Hold_shift=Druk Shift in - -# ./src/main/java/mods/eln/misc/Version.java -mod.name=Elektrische Eeuw - -# ./src/main/java/mods/eln/node/six/SixNodeDescriptor.java - -# ./src/main/java/mods/eln/simplenode/energyconverter/EnergyConverterElnToOtherGui.java -Input_power_is_limited_to_%sW=Inputvermogen is gelimiteerd tot %sW - -# ./src/main/java/mods/eln/sixnode/LogicGate.kt -_O\:_= O\: - -# ./src/main/java/mods/eln/sixnode/TreeResinCollector/TreeResinCollectorDescriptor.java -Produces_Tree_Resin_over\ntime_when_put_on_a_tree.=Geeft boomhars na een tijd\nop een boom te zitten. -This_block_can_only_be_placed_on_the_side_of_a_tree!=Dit blok kan alleen aan de zijkant van een boom geplaatst worden\! - -# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerContainer.java -Battery_slot=Accu Slot - -# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerDescriptor.java -Can_be_used_to_recharge\nelectrical_items_like\:\nFlash_Light,_X-Ray_scanner\nand_Portable_Battery_...=Kan gebruikt worden om\nelektrische items op te laden,\nzoals\:\nZaklamp, Röntgen scanner\nen Draagbare Accu ... - -# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerGui.java - -# ./src/main/java/mods/eln/sixnode/diode/DiodeDescriptor.java -Electrical_current_can_only\nflow_through_the_diode\nfrom_anode_to_cathode=Elektrische stroom kan alleen\ndoor een diode stromen van\nde anode naar de kathode. - -# ./src/main/java/mods/eln/sixnode/electricalalarm/ElectricalAlarmDescriptor.java -= -Emits_an_acoustic_alarm_if\nthe_input_signal_is_high=Zendt een akoestisch alarm als\nhet inputsignaal sterk is. - -# ./src/main/java/mods/eln/sixnode/electricalalarm/ElectricalAlarmGui.java -Sound_is_muted=Geluid is gedempt -Sound_is_not_muted=Geluid is aan - -# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerContainer.java - -# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerDescriptor.java -Protects_electrical_components\nOpens_contact_if\:\n__-_Voltage_exceeds_a_certain_level\n-_Current_exceeds_the_cable_limit=Beschermt elektrische componenten\nOpent contacten wanneer\:\n- Voltage boven bepaald niveau komt\n- Stroom boven het kabellimiet komt - -# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerGui.java -Maximum_voltage_before_cutting_off=Maximale spanning voor onderbreken -Minimum_voltage_before_cutting_off=Minimale spanning voor onderbreken -Switch_is_off=Schakelaar staat uit -Switch_is_on=Schakelaar staat aan - -# ./src/main/java/mods/eln/sixnode/electricalcable/ElectricalCableDescriptor.java -A_signal_is_electrical_information\nwhich_must_be_between_0V_and_%sV=Een signaal is elektrische informatie\ndie tussen de 0V en %sV moet zitten. -Cable_is_adapted_to_conduct\nelectrical_signals.=Kabel is aangepast om elektrische\nsignalen te geleiden. -Current\:_%sA=Stroom\: %sA -Not_adapted_to_transport_power.=Niet aangepast om energie te transporteren. -Save_usage\:=Sla gebruik op\: -Serial_resistance\:_%sΩ=Seriële weerstand\: %sΩ - -# ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerDescriptor.java -It_can_store_up_to_256_points.=Het kan maximaal 256 punten opslaan. -Measures_the_voltage_of_an\nelectrical_signal_and_plots\nthe_data_in_real_time.=Meet het voltage van een\nelektrish signaal en tekent\nde data in real-time. - -# ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerGui.java -Back_to_display=Terug naar voorstelling -Configuration=Configuratie -Current_[A]=Stroom [A] -Energy_[J]=Energie [J] -Percent_[-]%=Percentage [-]% -Power_[W]=Vermogen [W] -Print=Print -Sampling_period=Sampleperiode -Temp._[*C]=Temp. [*C] -Voltage_[V]=Spanning [V] -Y-axis_max=Y-as max -Y-axis_min=Y-as min - -# ./src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorContainer.java - -# ./src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorDescriptor.java -Output_voltage_increases\nif_entities_are_moving_around.=Output spanning verhoogt \nals entities bewegen. - -# ./src/main/java/mods/eln/sixnode/electricalfiredetector/ElectricalFireDetectorDescriptor.java -Output_voltage_increases\nif_a_fire_has_been_detected.=Output spanning verhoogt\nals vuur gedetecteerd wordt. - -# ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceDescriptor.java -Provides_configurable_signal\nvoltage.=Geeft een aanpasbaar\nsignaalspanning. - -# ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceGui.java -Output_at_%s=Output\: %s - -# ./src/main/java/mods/eln/sixnode/electricallightsensor/ElectricalLightSensorDescriptor.java -0V_at_night,_%sV_at_noon.=0V 's nachts, %sV 's middags. -Provides_an_electrical_voltage\nin_the_presence_of_light.=Geeft een elektrische spanning\nin de aanwezigheid van licht. -Provides_an_electrical_voltage\nwhich_is_proportional_to\nthe_intensity_of_daylight.=Geeft een elektrische spanning\ndie proportioneel is aan de \nintensiteit van het daglicht. - -# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathContainer.java - -# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathDescriptor.java -Applicable_boolean_operators\:=Toepasbare boolean operators\: -Applicable_functions\:=Toepasselijke functies\: -Applicable_mathematical_operators\:=Toepasbare wiskundige operators\: -Calculates_an_output_signal_from\n3_inputs_(A,_B,_C)_using_an_equation.=Berekent een output signaal van\n3 inputs (A,B,C) door middel van een\nvergelijking. - -# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathGui.java -%s_Redstone(s)_required=%s Redstone(s) nodig -Equation_required!=Vergelijking nodig\! -Inputs_are=Inputs zijn -Invalid_equation!=Ongeldige vergelijking -Output_voltage_formula=Output spanning formule -Waiting_for_completion...=Wacht op voltooiing... - -# ./src/main/java/mods/eln/sixnode/electricalredstoneinput/ElectricalRedstoneInputDescriptor.java -Converts_Redstone_signal\nto_an_electrical_voltage.=Zet Redstone signaal om in\neen elektrische spanning. - -# ./src/main/java/mods/eln/sixnode/electricalredstoneoutput/ElectricalRedstoneOutputDescriptor.java -Converts_electrical_voltage\ninto_a_Redstone_signal.=Zet een elektrische spanning\nom in een Redstone signaal. - -# ./src/main/java/mods/eln/sixnode/electricalrelay/ElectricalRelayDescriptor.java -A_relay_is_an_electrical\ncontact_that_conducts_electric\ncurrent_or_not,_depending\nthe_actual_input_signal_voltage.=Een relais is een elektrisch \ncontact dat afhankelijk van het\nactuele input signaal wel of niet \nelektrische spanning geleid. - -# ./src/main/java/mods/eln/sixnode/electricalrelay/ElectricalRelayGui.java -Normally_closed=Normaal gesloten -Normally_open=Normaal open - -# ./src/main/java/mods/eln/sixnode/electricalsource/ElectricalSourceDescriptor.java -Creative_block.=Creatief blok -Provides_an_ideal_voltage_source\nwithout_energy_or_power_limitation.=Geeft een ideale spanningsbron\nzonder vermogenslimiet. - -# ./src/main/java/mods/eln/sixnode/electricalsource/ElectricalSourceGui.java -Output_voltage=Output spanning - -# ./src/main/java/mods/eln/sixnode/electricalswitch/ElectricalSwitchDescriptor.java -Can_break_an_electrical_circuit\ninterrupting_the_current.=Kan een elektrisch signaal\nafbreken, daarmee onderbreekt\nde stroom. - -# ./src/main/java/mods/eln/sixnode/electricaltimeout/ElectricalTimeoutDescriptor.java -Upon_application_of_a_high_signal,\nthe_timer_maintains_the_output_high_for\na_configurable_interval._Can_be_re-triggered.=Bij toepassing van een sterk signaal\nhoudt de timer een sterk signaal vast\nvoor een aanpasbare tijd. Kan aangepast\nworden. - -# ./src/main/java/mods/eln/sixnode/electricaltimeout/ElectricalTimeoutGui.java -Set=Stel in -The_time_interval_the\noutput_is_kept_high.=Het tijdsinterval de\noutput wordt hoog gehouden. - -# ./src/main/java/mods/eln/sixnode/electricalvumeter/ElectricalVuMeterDescriptor.java -Displays_the_value_of_a_signal.=Geeft de waarde van een signaal. - -# ./src/main/java/mods/eln/sixnode/electricalwatch/ElectricalWatchContainer.java -Portable_battery_slot=Draagbare Accu Slot - -# ./src/main/java/mods/eln/sixnode/electricalweathersensor/ElectricalWeatherSensorDescriptor.java -Clear\:_%sV=Onbewolkt\: %sV -Provides_an_electrical_signal\ndepending_the_actual_weather.=Geeft een elektrisch signaal\nafhankelijk van het huidige weer. -Rain\:_%sV=Regen\: %sV -Storm\:_%sV=Storm\: %sV - -# ./src/main/java/mods/eln/sixnode/electricalwindsensor/ElectricalWindSensorDescriptor.java -Maximum_wind_speed_is_%sm_s=Maximale windsnelheid is %sm/s -Provides_an_electrical_signal\ndependant_on_wind_speed.=Geeft een elektrisch signaal\nafhankelijk van de windsnelheid. -You_can't_place_this_block_on_the_floor_or_the_ceiling=Je kunt dit blok niet op de vloer of het plafond plaatsen - -# ./src/main/java/mods/eln/sixnode/electricasensor/ElectricalSensorDescriptor.java -Can_measure_Voltage_Power_Current=Kan Voltage/Vermogen/Stroom meten -Measures_electrical_values_on_cables.=Meet elektrische waardes op kabels. -Measures_voltage_on_cables.=Meet spanning op kabels. - -# ./src/main/java/mods/eln/sixnode/electricasensor/ElectricalSensorGui.java -Current=Stroom -Measured_voltage\ncorresponding\nto_0%_output=Gemeten spanning\ncorrespondeert\nmet 0% output -Measured_voltage\ncorresponding\nto_100%_output=Gemeten spanning\ncorrespondeert\nmet 100% output -Voltage=Spanning - -# ./src/main/java/mods/eln/sixnode/energymeter/EnergyMeterGui.java -Change_password=Verander wachtwoord -Counter_Mode=Teller Mode -Counts_the_energy_conducted_from\n\u00a74red\u00a7f_to_\u00a71blue\u00a7f.=Telt de energie geleid van \n\\u00a74red\\u00a7f tot \\u00a71blue\\u00a7f. -Energy_counter\:_%sJ=Energie teller\: %sJ -Enter_new_energy=Stel nieuwe energie in -Enter_password=Vul wachtwoord in -Prepay_Mode=Prepay Mode -Reset_time_counter=Reset tijd teller -Set_energy_counter=Stel energieteller in -Time_counter\:=Tijd teller\: -Try_password=Probeer wachtwoord -You_can_set_an_initial\namount_of_available_energy.\nWhen_the_counter_arrives_at_0\nthe_contact_will_be_opened.=Je kunt de beginhoeveelheid\nbeschikbare energie instellen.\nWanneer de teller op 0 staat\nwordt het contact geopend. -is_off=is uit -is_on=is aan -value_in_kJ=waarde in kJ - -# ./src/main/java/mods/eln/sixnode/groundcable/GroundCableDescriptor.java -Can_be_used_to_set_a_point_of_an\nelectrical_network_to_0V_potential.\nFor_example_to_ground_negative_battery_contacts.=Kan gebruikt worden om een punt\nvan een elektrisch netwerk een \n0V potentieel te geven.\nBijvoorbeeld als aarde voor negatieve accucontacten. -Provides_a_zero_volt_reference.=Geeft een 0-volt referentie. - -# ./src/main/java/mods/eln/sixnode/hub/HubDescriptor.java -Allows_crossing_cables\non_one_single_block.=Staat kabels toe te \nkruisen op 1 blok. - -# ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketDescriptor.java -Angle\:_%s°_to_%s°=Hoek\: %s° tot %s° -Spot_range\:_%s_blocks=Zichtbereik\: %s blokken - -# ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketGuiDraw.java -%s_is_not_in_range!=%s is niet binnen bereik\! -Cable_slot_empty=Leeg Kabel Slot -Orientation\:_%s°=Orientatie\: %s° -Parallel=Parallel -Powered_by_Lamp_Supply=Aangedreven door Lamp Voeding -Powered_by_cable=Aangedreven door kabel -Serial=Seriële -Specify_the_supply_channel=Specificeer het aanleveringskanaal - -# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyContainer.java -Electrical_cable_slot\nBase_range_is_32_blocks.\nEach_additional_cable\nincreases_range_by_one.=Elektrische kabel slot\nBasisbereik is 32 blokken.\nIedere toegevoegde kabel\nverhoogt bereik met 1 blok. - -# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyDescriptor.java -Supplies_all_lamps_on_the_channel.=Voorziet alle lampen op het kanaal van energie. - -# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyGui.java -Power_channel_name=Energiekanaal naam -Wireless_channel_name=Draadloze kanaal naam - -# ./src/main/java/mods/eln/sixnode/modbusrtu/ModbusRtuGui.java -Add=Toevoegen -Channel_name=Kanaalnaam -Modbus_ID=Modbus ID -Modbus_RTU=Modbus RTU -Station_ID=Stationsnummer -Station_name=Stationsnaam -Wireless_RX=Draadloze RX -Wireless_TX=Draadloze TX - -# ./src/main/java/mods/eln/sixnode/powercapacitorsix/PowerCapacitorSixContainer.java -(Increases_maximum_voltage)=(Vergroot maximale spanning) - -# ./src/main/java/mods/eln/sixnode/powercapacitorsix/PowerCapacitorSixGui.java - -# ./src/main/java/mods/eln/sixnode/powerinductorsix/PowerInductorSixContainer.java - -# ./src/main/java/mods/eln/sixnode/powerinductorsix/PowerInductorSixGui.java - -# ./src/main/java/mods/eln/sixnode/powersocket/PowerSocketDescriptor.java -Supplies_any_device\nplugged_in_with_energy.=Voorziet ieder aangekoppeld\napparaat van energie. - -# ./src/main/java/mods/eln/sixnode/powersocket/PowerSocketGui.java -Specify_the_device_to_supply_through_this_socket.=Specificeer het apparaat om van energie te voorzien via deze socket. - -# ./src/main/java/mods/eln/sixnode/resistor/ResistorContainer.java -(Sets_resistance)=(Stelt weerstand in) -Coal_dust_slot=Kolenstof Slot - -# ./src/main/java/mods/eln/sixnode/thermalcable/ThermalCableDescriptor.java -High_parallel_resistance\n_\=>_Low_power_dissipation.=Hoge parallelle weerstand\n\=> Laag vermogensverdrijving. -Low_serial_resistance\n_\=>_High_conductivity.=Lage seriële weerstand\n\=> Hoge geleiding. -Parallel_resistance\:_%sK_W=Parallelle weerstand\: %sK/W -Serial_resistance\:_%sK_W=Seriële weerstand\: %sK/W - -# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorContainer.java -Cable_slot=Kabel Slot - -# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorDescriptor.java -Can_measure\:=Kan meten\: -Measures_temperature_of_cables.=Meet de temperatuur van kabels. -Measures_thermal_values_on_cables.=Meet temperatuurwaarden op kabels. -__Temperature_Power_conducted=Temperatuur/Vermogen geleidt - -# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorGui.java -Measured_temperature\ncorresponding\nto_0%_output=Gemeten temperatuur\ncorrespondeert\nmet 0% output -Measured_temperature\ncorresponding\nto_100%_output=Gemeten temperatuur\ncorrespondeert\nmet 100% output -Temperature=Temperatuur - -# ./src/main/java/mods/eln/sixnode/tutorialsign/TutorialSignElement.java -No_text_associated_to_this_beacon=Geen tekst geassocieerd met deze baken - -# ./src/main/java/mods/eln/sixnode/tutorialsign/TutorialSignGui.java -Set_beacon_name=Stel baken naam in - -# ./src/main/java/mods/eln/sixnode/wirelesssignal/rx/WirelessSignalRxGui.java - -# ./src/main/java/mods/eln/transparentnode/FuelGenerator.kt -Nominal_power\:_%s_W=Norminaal vermogen\: %s W -Nominal_voltage\:_%s_V=Nominale spanning\: %s V -Produces_electricity_using_fuel.=Genereert elektriciteit met brandstof. - -# ./src/main/java/mods/eln/transparentnode/LargeRheostat.kt -Nom._Resistance\:_%s=Nom. weerstand\: %s - -# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerContainer.java -Drill_slot=Boor Slot -Mining_pipe_slot=Graafpijp Slot -Ore_scanner_slot=Erts Scanner Slot - -# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerDescriptor.java -Excavates_on_a_small_radius.\nExtracts_ore_on_a_bigger_radius\:\n10_blocks_radius_after_10_blocks_depth.=Graaft een kleine radius op.\nGraaft erts in een grotere radius op\:\n10 blokken radius na 10 blokken diepte. - -# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerGuiDraw.java -Chest_missing_on_the\nback_of_the_auto_miner!=Kist mist aan de achterkant \nvan de automatische graver. -Halves_speed,_triples_power_draw=Halveert snelheid, verdrievoudigd energieverbruik -Silk_Touch_Off=Zijden Streling Uit -Silk_Touch_On=Zijden Streling Aan -Silk_touch=Zijden Streling - -# ./src/main/java/mods/eln/transparentnode/battery/BatteryContainer.java -Overheating_protection=Bescherming Tegen Oververhitting -Overvoltage_protection=Bescherming Tegen Overspanning - -# ./src/main/java/mods/eln/transparentnode/battery/BatteryDescriptor.java -Actual_charge\:_%s=Huidige lading\: %s -Energy_capacity\:_%sJ=Energie capaciteit %sJ -_charged_at_%s=%s opgeladen - -# ./src/main/java/mods/eln/transparentnode/battery/BatteryGuiDraw.java -Charge=Lading -Charged=Opgeladen -Discharge=Ontlading -Energy\:=Energie\: -Energy\:_%s=Energie\: %s -Life\:=Leven\: -No_charge=Geen lading\: -Power_in\:=Energie in\: -Power_out\:=Energie uit\: - -# ./src/main/java/mods/eln/transparentnode/eggincubator/EggIncubatorContainer.java -Egg_slot=Ei Slot - -# ./src/main/java/mods/eln/transparentnode/electricalantennarx/ElectricalAntennaRxDescriptor.java -Wireless_energy_receiver.=Draadloze energie ontvanger. - -# ./src/main/java/mods/eln/transparentnode/electricalantennatx/ElectricalAntennaTxDescriptor.java -Efficiency\:_%s_up_to_%s=Efficiëntie\: %s tot %s -Wireless_energy_transmitter.=Draadloze Energiezender - -# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceContainer.java -Heating_corp_slot=Verhittingsspoel Slot - -# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceDescriptor.java -Similar_to_a_vanilla_furnace,\nbut_heats_with_electricity.=Vergelijkbaar met standaard oven,\nmaar verhit met elektriciteit. - -# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceGuiDraw.java -Auto_shutdown=Automatische afsluiting -Manual_shutdown=Handmatig afsluiting -Set_point\:_%s°C=Ingesteld punt\: %s°C - -# ./src/main/java/mods/eln/transparentnode/electricalmachine/ElectricalMachineDescriptor.java -Cost=Kosten - -# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceContainer.java -Combustion_chamber_slot=Ontbrandingskamer Slot -Fuel_slot=Brandstof Slot - -# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceDescriptor.java -Generates_heat_when_supplied_with_fuel.=Genereert hitte wanneer van brandstof voorzien wordt. - -# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceGuiDraw.java -Control_gauge_at_%s=Meter op %s -Decline_fuel=Weiger brandstof -External_control=Externe bediening -Internal_control=Interne bediening -Take_fuel=Neem brandstof - -# ./src/main/java/mods/eln/transparentnode/powercapacitor/PowerCapacitorContainer.java -(Increases_maximal_voltage)=(Verhoog maximale spanning) - -# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelContainer.java -Solar_tracker_slot=Zon Tracker Slot - -# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelDescriptor.java -Can_be_geared_towards_the_sun.=Kan naar de zon gekeerd worden. -Max._power\:_%sW=Max. vermogen\: %sW -Max._voltage\:_%sV=Max. spanning\: %sV -Produces_power_from_solar_radiation.=Produceert energie van zonneradiatie - -# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPannelGuiDraw.java -It_is_night=Het is nacht -Solar_panel_angle\:_%s°=Zonnepaneel hoek\: %s° -Sun_angle\:_%s°=Hoek zon\: %s° - -# ./src/main/java/mods/eln/transparentnode/teleporter/TeleporterGui.java -Destination_transporter=Bestemmingstransporteur -Power_consumption\:=Energieverbruik\: -Power_consumption\:_%sW=Energieverbruik\: %sW -Required_energy\:_%sJ=Benodigde Energie\: %sJ -Start=Start -Transporter_name=Transporteur naam - -# ./src/main/java/mods/eln/transparentnode/thermaldissipatoractive/ThermalDissipatorActiveDescriptor.java -Fan_cooling_power\:_%sW=Ventilator koelvermogen\: %sW -Fan_power_consumption\:_%sW=Ventilator energieverbruik\: %sW -Fan_voltage\:_%sV=Ventilator spanning\: %sV - -# ./src/main/java/mods/eln/transparentnode/transformer/TransformerDescriptor.java -The_voltage_ratio_is_proportional\nto_the_cable_stacks_count_ratio.=De spanningsverhouding is\nproportioneel aan de kabelstapel\nteller verhouding. -Transforms_an_input_voltage_to\nan_output_voltage.=Zet een input spanning om \nin een output spanning. - -# ./src/main/java/mods/eln/transparentnode/turbine/TurbineDescriptor.java -Generates_electricity_using_heat.=Genereert energie met hitte. -Temperature_difference\:_%s°C=Temperatuurverschil\: %s°C - -# ./src/main/java/mods/eln/transparentnode/turret/TurretDescriptor.java -CAUTION\:_Cables_can_get_quite_hot!=OPGEPAST\: Kabels kunnen behoorlijk heet worden\! -Laser_charge_power\:_%sW...%skW=Laser lading vermogen\: %sW...%skW -Scans_for_entities_and_shoots_if_the\nentity_matches_the_configurable_filter_criteria.=Zoekt naar entities en schiet als de entity\ngelijk staat aan de aanpasbare filter criteria. -Standby_power\:_%sW=Standby vermogen\: %sW - -# ./src/main/java/mods/eln/transparentnode/turret/TurretGui.java -Attack\:=Aanvallen\: -Do_not_attack\:=Niet aanvallen\: -Recharge_power\:=Herlaad energie\: - -# ./src/main/java/mods/eln/transparentnode/waterturbine/WaterTurbineDescriptor.java -Generates_energy_using_water_stream.=Genereert energie door middel van stromend water. -No_place_for_water_turbine!=Geen plaats voor waterturbine\! - -# ./src/main/java/mods/eln/transparentnode/windturbine/WindTurbineDescriptor.java -Front\:_%s=Voorkant\: %s -Generates_energy_from_wind.=Genereert energie door middel van de wind. -Left_Right\:_%s=Links/Rechts\: %s -Up_Down\:_%s=Boven/Onder\: %s -Wind_area\:=Wind gebied\: - -# ./src/main/java/mods/eln/wiki/Data.java -Energy=Energie -Light=Licht -Machine=Machine -Ore=Erts -Portable=Draagbaar -Resource=Grondstof -Signal=Signaal -Thermal=Thermaal -Upgrade=Upgrade -Utilities=Utiliteiten -Wiring=Bedrading - -# ./src/main/java/mods/eln/wiki/Default.java -Previous=Vorige - -# ./src/main/java/mods/eln/wiki/ItemDefault.java -Can_be_used_to_craft\:=Kan gebruikt worden om het volgende te maken\: -Cannot_be_crafted!=Kan niet gemaakt worden\! -Cost_%sJ=Kosten\: %sJ -Created_by\:=Gemaakt door\: -Is_not_a_crafting_material!=Dit is geen werkmateriaal -Recipe\:=Recept\: - -# Appearing in multiple source files -(Increases_capacity)=(vergroot capaciteit) -(Increases_inductance)=(Verhoogt geleiding) -Actual\:_%s°C=Momenteel\: %s°C -Biggest=Grootste -Booster_slot=Booster Slot -Can_create\:=Kan maken\: -Capacity\:_%sF=Capaciteit\: %sF -Charge_power\:_%sW=Lading vermogen\: %sW -Connected=Verbonden -Cooling_power\:_%sW=Koelvermogen\: %sW -Copper_cable_slot=Koperen Kabel Slot -Dielectric_slot=Diëlektricum Slot -Discharge_power\:_%sW=Ontladingsvermogen\: %sW -Electrical_cable_slot=Elektrische Kabel Slot -Entity_filter_slot=Entity Filter Slot -Ferromagnetic_core_slot=Ferromagnetische Kern Slot -Has_a_signal_output.=Heeft een signaal output. -Inductance\:_%sH=Inductief Vermogen\: %sH -Internal_resistance\:_%sΩ=Interne weerstand\: %sΩ -Is_off=Is uit -Is_on=Is aan -Max._temperature\:_%s°C=Max. temperatuur\: %s°C -Measured_value\ncorresponding\nto_0%_output=Gemeten waarde\ncorrespondeert\nmet 0% output -Measured_value\ncorresponding\nto_100%_output=Gemeten waarde\ncorrespondeert\nmet 100% output -Nominal\:=Nominaal\: -Nominal_power\:_%sW=Norminaal vermogen\: %sW -Nominal_usage\:=Nominaal gebruik\: -Nominal_voltage\:_%sV=Nominale spanning\: %sV -Not_connected=Niet verbonden -Not_enough_space_for_this_block=Niet genoeg ruimte voor dit blok -Power=Energie -Power\:_%sW=Vermogen\: %sW -Range\:_%s_blocks=Bereik\: %s blokken -Redstone_slot=Redstone Slot -Regulator_slot=Regelaar Slot -Reset=Reset -Resistance\:_%sΩ=Weerstand\: %sΩ -Smallest=Kleinste -Specify_the_channel=Specificeer het kanaal -Stored_energy\:_%sJ_(%s)=Opgeslagen Energie\: %sJ (%s) -Temperature\:_%s°C=Temperatuur\: %s°C -Temperature_gauge=Temperatuurmeter -Thermal_isolator_slot=Warmte-Isolatie Slot -Toggle=Wissel -Toggle_switch=Wisselschakelaar -Toggles_the_output_each_time\nan_emitter's_value_rises.\nUseful_to_allow_multiple_buttons\nto_control_the_same_light.=Verandert de output elke keer\nals de waarden van de zender \nomhoog gaat. Nuttig om meerdere\nknoppen het zelfde licht te laten\nbesturen. -Used_to_cool_down_turbines.=Wordt gebruikt om turbines af te koelen. -Uses_the_biggest\nvalue_on_the_channel.=Gebruikt de grootste\nwaarde op het kanaal. -Uses_the_smallest\nvalue_on_the_channel.=Gebruikt de kleinste\nwaarde op het kanaal. -Validate=Valideer -Voltage\:_%sV=Spanning\: %sV -You_can't_place_this_block_at_this_side=Je kunt dit blok niet aan deze zijde plaatsen +eln:# +eln: +eln:# ./src/main/java/mods/eln/Achievements.java +eln:Electrical_Age_[WIP]=Elektrische Eeuw [WIP] +eln:achievement.craft_50v_macerator=Verbrijzeling Beginner +eln:achievement.craft_50v_macerator.desc=Maak een 50V Versnipperaar +eln:achievement.open_guide=Wiki Power +eln:achievement.open_guide.desc=Open de wiki handleiding +eln: +eln:# ./src/main/java/mods/eln/Eln.java +eln:10A_Diode.name=10A Diode +eln:200V_Active_Thermal_Dissipator.name=200V Actieve Koeling +eln:200V_Battery_Charger.name=200V Accu Lader +eln:200V_Compressor.name=200V Compressor +eln:200V_Condensator.name=200V Condensator +eln:200V_Copper_Heating_Corp.name=200V Koperen Verhittingsspoel +eln:200V_Economic_Light_Bulb.name=200V Spaarlamp +eln:200V_Farming_Lamp.name=200V Boerderijlamp +eln:200V_Fuel_Generator.name=200V Brandstofgenerator +eln:200V_Incandescent_Light_Bulb.name=200V Gloeilamp +eln:200V_Iron_Heating_Corp.name=200V Ijzeren Verhittingsspoel +eln:200V_LED_Bulb.name=200V LED Lamp +eln:200V_Macerator.name=200V Versnipperaar +eln:200V_Magnetizer.name=200V Magnetiseringsunit +eln:200V_Plate_Machine.name=200V Platenwals +eln:200V_Power_Socket.name=200V Stopcontact +eln:200V_Tungsten_Heating_Corp.name=200V Wolfraam Verhittingsspoel +eln:200V_Turbine.name=200V Turbine +eln:25A_Diode.name=25A Diode +eln:50V_Battery_Charger.name=50V Accu Lader +eln:50V_Carbon_Incandescent_Light_Bulb.name=50V Koolstof Gloeilamp +eln:50V_Compressor.name=50V Compressor +eln:50V_Condensator.name=50V Condensator +eln:50V_Copper_Heating_Corp.name=50V Koperen Verhittingsspoel +eln:50V_Economic_Light_Bulb.name=50V Spaarlamp +eln:50V_Egg_Incubator.name=50V Broedlamp +eln:50V_Farming_Lamp.name=50V Boerderij lamp +eln:50V_Fuel_Generator.name=50V Brandstofgenerator +eln:50V_Incandescent_Light_Bulb.name=50V Gloeilamp +eln:50V_Iron_Heating_Corp.name=50V Ijzeren Verhittingsspoel +eln:50V_LED_Bulb.name=50V LED Lamp +eln:50V_Macerator.name=50V Versnipperaar +eln:50V_Magnetizer.name=50V Magnetiseringsunit +eln:50V_Plate_Machine.name=50V Platenwals +eln:50V_Power_Socket.name=50V Stopcontact +eln:50V_Tungsten_Heating_Corp.name=50V Wolfraam Verhittingsspoel +eln:50V_Turbine.name=50V Turbine +eln:800V_Defence_Turret.name=800V Verdedigingstoren +eln:AND_Chip.name=AND Chip +eln:Advanced_Chip.name=Geavanceerde Chip +eln:Advanced_Electrical_Motor.name=Geavanceerde Elektrische Motor +eln:Advanced_Energy_Meter.name=Geavanceerde Elektrische Meter +eln:Advanced_Machine_Block.name=Geavanceerd Machineblok +eln:Advanced_Magnet.name=Geavanceerde Magneet +eln:AllMeter.name=Universeelmeter +eln:Alloy_Dust.name=Legering Stof +eln:Alloy_Ingot.name=Legering Staaf +eln:Alloy_Plate.name=Legering Plaat +eln:Analog_Watch.name=Analoog Horloge +eln:Analog_vuMeter.name=Analoge Meter +eln:Analogic_Regulator.name=Analoge Regulator +eln:Animal_Filter.name=Dierenfilter +eln:Auto_Miner.name=Automatische Graver +eln:Average_Electrical_Drill.name=Gemiddelde Electrische Boor +eln:Average_Ferromagnetic_Core.name=Gemiddelde Ferromagnetische Kern +eln:Basic_Magnet.name=Basis Magneet +eln:Black_Brush.name=Zwarte Kwast +eln:Blue_Brush.name=Blauwe Kwast +eln:Brown_Brush.name=Bruine Kwast +eln:Capacity_Oriented_Battery.name=Capaciteitsgerichte Accu +eln:Cheap_Chip.name=Goedkope Chip +eln:Cheap_Electrical_Drill.name=Goedkope Elektrische Boor +eln:Cheap_Ferromagnetic_Core.name=Goedkope Ferromagnetische Kern +eln:Cinnabar_Dust.name=Cinnaber Stof +eln:Cinnabar_Ore.name=Cinnaber Erts +eln:Coal_Dust.name=Kolenstof +eln:Coal_Plate.name=Kolen Plaat +eln:Combustion_Chamber.name=Ontbrandingskamer +eln:Copper_Cable.name=Koperen Kabel +eln:Copper_Dust.name=Koperstof +eln:Copper_Ingot.name=Koperen Staaf +eln:Copper_Ore.name=Kopererts +eln:Copper_Plate.name=Koperen Plaat +eln:Copper_Thermal_Cable.name=Koperen Hittegeleidingskabel +eln:Cost_Oriented_Battery.name=Kostengerichte Accu +eln:Current_Oriented_Battery.name=Ampèragegerichte Accu +eln:Cyan_Brush.name=Cyaan Kwast +eln:D_Flip_Flop_Chip.name=D Flip Flop Chip +eln:Data_Logger.name=Datalogger +eln:Data_Logger_Print.name=Datalogger Uitdraai +eln:Dielectric.name=Diëlektricum +eln:Digital_Watch.name=Digitaal Horloge +eln:Electrical_Anemometer_Sensor.name=Elektrische Anemometer Sensor +eln:Electrical_Breaker.name=Elektrische Zekeringsautomaat +eln:Electrical_Daylight_Sensor.name=Elektrische Daglichtsensor +eln:Electrical_Entity_Sensor.name=Elektrische Entity Sensor +eln:Electrical_Fire_Detector.name=Elektrische Vuur Sensor +eln:Electrical_Furnace.name=Elektrische Oven +eln:Electrical_Light_Sensor.name=Elektrische Lichtsensor +eln:Electrical_Motor.name=Elektrische Motor +eln:Electrical_Probe.name=Elektriciteitssonde +eln:Electrical_Probe_Chip.name=Elektriciteitssonde Chip +eln:Electrical_Source.name=Elektrische Bron +eln:Electrical_Timer.name=Elektrische Timer +eln:Electrical_Weather_Sensor.name=Elektrische Weersensor +eln:Electrical_age_wrench,\nCan_be_used_to_turn\nsmall_wall_blocks=Elektrische Eeuw moersleutel\nKan gebruikt worden om\nkleine wandblokken te draaien. +eln:Energy_Meter.name=Energiemeter +eln:Experimental_Transporter.name=Experimentele Transporteur +eln:Fast_Electrical_Drill.name=Snelle Elektrische Boor +eln:Ferrite_Ingot.name=Ferriet Staaf +eln:Flat_Lamp_Socket.name=Platte Lamp Socket +eln:Fluorescent_Lamp_Socket.name=Fluorescentielamp Socket +eln:Generator.name=Generator +eln:Gold_Dust.name=Goudstof +eln:Gold_Plate.name=Gouden Plaat +eln:Gray_Brush.name=Grijze Kwast +eln:Green_Brush.name=Groene Kwast +eln:Ground_Cable.name=Aardingskabel +eln:High_Power_Receiver_Antenna.name=Sterk Vermogen Onvangstantenne +eln:High_Power_Transmitter_Antenna.name=Sterk Vermogen Zendantenne +eln:High_Voltage_Cable.name=Hoogspanningskabel +eln:High_Voltage_Relay.name=Hoogspanningsrelais +eln:High_Voltage_Switch.name=Hoogspanningsschakelaar +eln:Hub.name=Hub +eln:Industrial_Data_Logger.name=Industriële Datalogger +eln:Iron_Cable.name=Ijzeren Kabel +eln:Iron_Dust.name=Ijzerstof +eln:Iron_Plate.name=Ijzeren Plaat +eln:JK_Flip_Flop_Chip.name=JK Flip Flop Chip +eln:LED_vuMeter.name=LED vuMeter +eln:Lamp_Socket_A.name=Lamp Socket A +eln:Lamp_Socket_B_Projector.name=Lamp Socket B Projector +eln:Lamp_Supply.name=Lamp Voeiding +eln:Large_Rheostat.name=Grote Potentiometer +eln:Lead_Dust.name=Lood Stof +eln:Lead_Ingot.name=Loden Staaf +eln:Lead_Ore.name=Looderts +eln:Lead_Plate.name=Loden Plaat +eln:Life_Oriented_Battery.name=Levensduurgerichte Accu +eln:Light_Blue_Brush.name=Lichtblauwe Kwast +eln:Lime_Brush.name=Limoen Kwast +eln:Long_Suspended_Lamp_Socket.name=Lange Hangende Lamp Socket +eln:Low_Power_Receiver_Antenna.name=Zwak Vermogen Ontvangstantenne +eln:Low_Power_Transmitter_Antenna.name=Zwak Vermogen Zendantenne +eln:Low_Voltage_Cable.name=Laagspanningskabel +eln:Low_Voltage_Relay.name=Laagspanningsrelais +eln:Low_Voltage_Switch.name=Laagspanningschakelaar +eln:Machine_Block.name=Machine Blok +eln:Machine_Booster.name=Machine Versterker +eln:Magenta_Brush.name=Magenta Kwast +eln:Medium_Power_Receiver_Antenna.name=Normaal Vermogen Ontvangstantenne +eln:Medium_Power_Transmitter_Antenna.name=Normaal Vermogen Zendantenne +eln:Medium_Voltage_Cable.name=Normale Spanningskabel +eln:Medium_Voltage_Relay.name=Normale Spanningsrelais +eln:Medium_Voltage_Switch.name=Normale Spanningsschakelaar +eln:Mercury.name=Kwik +eln:Mining_Pipe.name=Graafpijp +eln:Modbus_RTU.name=Modbus RTU +eln:Modern_Data_Logger.name=Moderne Datalogger +eln:Monster_Filter.name=Monster Filter +eln:MultiMeter.name=Multimeter +eln:NAND_Chip.name=NAND Chip +eln:NOR_Chip.name=NOR Chip +eln:NOT_Chip.name=NOT Chip +eln:Nuclear_Alarm.name=Nucleair Alarm +eln:OR_Chip.name=OR Chip +eln:On_OFF_Regulator_10_Percent.name=Aan/Uit regelaar 10% +eln:On_OFF_Regulator_1_Percent.name=Aan/Uit regelaar 1% +eln:Optimal_Ferromagnetic_Core.name=Optimale Ferromagnetische Kern +eln:Orange_Brush.name=Oranje Kwast +eln:Ore_Scanner.name=Erts Scanner +eln:Oscillator_Chip.name=Oscillator Chip +eln:Overheating_Protection.name=Bescherming Tegen Oververhitting +eln:Overvoltage_Protection.name=Bescherming Tegen Overvoltage +eln:PAL_Chip.name=PAL Chip +eln:Pink_Brush.name=Roze Kwast +eln:Player_Filter.name=Speler Filter +eln:Portable_Battery.name=Draagbare Accu +eln:Portable_Battery_Pack.name=Draagbaar Accupakket +eln:Portable_Condensator.name=Draagbare Condensator +eln:Portable_Condensator_Pack.name=Draagbaar Condensatorpakket +eln:Portable_Electrical_Axe.name=Draagbare Elektrische Bijl +eln:Portable_Electrical_Mining_Drill.name=Draagbare Elektrische Graafboor +eln:Power_Capacitor.name=Vermogen Condensator +eln:Power_Inductor.name=Vermogen Smoorspoel +eln:Power_Resistor.name=Vermogen Weerstand +eln:Power_capacitor.name=Vermogen condensator +eln:Power_inductor.name=Energie Smoorspoel +eln:Purple_Brush.name=Paarse Kwast +eln:Red_Brush.name=Rode Kwast +eln:Redstone-to-Voltage_Converter.name=Redstone-naar-Spanning Omzetter +eln:Rheostat.name=Potentiometer +eln:Robust_Lamp_Socket.name=Robuuste Lamp Socket +eln:Rubber.name=Rubber +eln:Schmitt_Trigger_Chip.name=Schmitt-trigger Chip +eln:Sconce_Lamp_Socket.name=Wandverlichting Socket +eln:Signal_20H_inductor.name=Signaal 20H Smoorspoel +eln:Signal_Antenna.name=Signaalantenne +eln:Signal_Button.name=Signaalknop +eln:Signal_Cable.name=Signaalkabel +eln:Signal_Diode.name=Signaaldiode +eln:Signal_Processor.name=Signaalprocessor +eln:Signal_Relay.name=Signaal Relais +eln:Signal_Source.name=Signaalbron +eln:Signal_Switch.name=Signaalschakelaar +eln:Signal_Switch_with_LED.name=Signaalschakelaar met LED +eln:Signal_Trimmer.name=Signaaltrimmer +eln:Silicon_Dust.name=Siliciumstof +eln:Silicon_Ingot.name=Silicium Staaf +eln:Silicon_Plate.name=Silicium Plaat +eln:Silver_Brush.name=Zilverkleurige Kwast +eln:Simple_Lamp_Socket.name=Simpele Lamp Socket +eln:Single-use_Battery.name=Wegwerpaccu +eln:Small_200V_Copper_Heating_Corp.name=Kleine 200V Koperen Verhittingsspoel +eln:Small_200V_Iron_Heating_Corp.name=Kleine 200V Ijzeren Verhittingsspoel +eln:Small_200V_Tungsten_Heating_Corp.name=Kleine 200V Wolfraam Verhittingsspoel +eln:Small_50V_Carbon_Incandescent_Light_Bulb.name=Kleine 50V Koolstof Gloeilamp +eln:Small_50V_Copper_Heating_Corp.name=Kleine 50V Koperen Verhittingsspoel +eln:Small_50V_Economic_Light_Bulb.name=Kleine 50V Spaarlamp +eln:Small_50V_Incandescent_Light_Bulb.name=Kleine 50V Koolstof Gloeilamp +eln:Small_50V_Iron_Heating_Corp.name=Kleine 50V Ijzeren Verhittingsspoel +eln:Small_50V_Tungsten_Heating_Corp.name=Kleine 50V Wolfraam Verhittingsspoel +eln:Small_Active_Thermal_Dissipator.name=Kleine 200V Actieve Koeling +eln:Small_Flashlight.name=Kleine Zaklamp +eln:Small_Passive_Thermal_Dissipator.name=Kleine Passieve Koeling +eln:Small_Rotating_Solar_Panel.name=Klein Roterend Zonnepaneel +eln:Small_Solar_Panel.name=Klein Zonnepaneel +eln:Solar_Tracker.name=Zon Tracker +eln:Standard_Alarm.name=Standaardalarm +eln:Steam_Turbine.name=Stoomturbine +eln:Stone_Heat_Furnace.name=Stenen Hitteoven +eln:Street_Light.name=Lantaarn +eln:Suspended_Lamp_Socket.name=Hangende Lamp Socket +eln:Temperature_Probe.name=Temperatuur Sonde +eln:Thermal_Probe.name=Thermale Sonde +eln:Thermal_Probe_Chip.name=Thermale Sonde Chip +eln:Thermistor.name=Thermistor +eln:ThermoMeter.name=Thermometer +eln:Transformer.name=Transformator +eln:Tree_Resin.name=Boomhars +eln:Tree_Resin_Collector.name=Boomhars Verzamelzak +eln:Tungsten_Cable.name=Wolfraam Kabel +eln:Tungsten_Dust.name=Wolfraam Stof +eln:Tungsten_Ingot.name=Wolfraam Staaf +eln:Tungsten_Ore.name=Wolfraamerts +eln:Tutorial_Sign.name=Uitleg Bord +eln:Very_High_Voltage_Cable.name=Extreme Hoogspanningskabel +eln:Very_High_Voltage_Relay.name=Extreme Hoogspanningsrelais +eln:Very_High_Voltage_Switch.name=Extreme Hoogspanningsschakelaar +eln:Voltage-to-Redstone_Converter.name=Spanning-naar-Redstone Omzetter +eln:Voltage_Oriented_Battery.name=Spanningsgerichte Accu +eln:Voltage_Probe.name=Spanningssonde +eln:Water_Turbine.name=Waterturbine +eln:Weak_50V_Battery_Charger.name=Zwakke 50V Acculader +eln:White_Brush.name=Witte Kwast +eln:Wind_Turbine.name=Windturbine +eln:Wireless_Analyser.name=Draadloze Analyzer +eln:Wireless_Button.name=Draadloze Knop +eln:Wireless_Signal_Receiver.name=Draadloze Signaalontvanger +eln:Wireless_Signal_Repeater.name=Draadloze Signaalrepeater +eln:Wireless_Signal_Transmitter.name=Draadloze Signaalzender +eln:Wireless_Switch.name=Draadloze Schakelaar +eln:Wrench.name=Sleutel +eln:X-Ray_Scanner.name=Röntgenscanner +eln:XNOR_Chip.name=XNOR Chip +eln:XOR_Chip.name=XOR Chip +eln:Yellow_Brush.name=Gele Kwast +eln:entity.EAReplicator.name=Replicator +eln:item.Copper Koperen Bijl +eln:item.Copper Koperen Bijl +eln:item.Copper Koperen Bijl +eln:item.Copper Koperen Bijl +eln:item.Copper Koperen Bijl +eln:item.Copper Koperen Bijl +eln:item.Copper Koperen Bijl +eln:item.Copper Koperen Bijl +eln:item.Copper Koperen Bijl +eln:item.E-Coal E-Kolen Laarzen +eln:item.E-Coal E-Kolen Laarzen +eln:item.E-Coal E-Kolen Laarzen +eln:item.E-Coal E-Kolen Laarzen +eln:itemGroup.Eln=Elektrische Eeuw +eln:mod.meta.desc=Elektriciteit in je Basis\! +eln:tile.eln.ElnProbe.name=Eln Computer Sonde +eln:tile.eln.EnergyConverterElnToOtherHVUBlock.name=800V Elektrische Eeuw naar andere energie exporteur +eln:tile.eln.EnergyConverterElnToOtherLVUBlock.name=50V Elektrische Eeuw naar andere energie exporteur +eln:tile.eln.EnergyConverterElnToOtherMVUBlock.name=200V Elektrische Eeuw naar andere energie exporteur +eln: +eln:# ./src/main/java/mods/eln/i18n/I18N.java +eln:You_have_%s_lives_left=Je hebt %s levens over +eln: +eln:# ./src/main/java/mods/eln/item/BrushDescriptor.java +eln:Brush_is_dry=Kwast is Droog +eln:Can_paint_%s_blocks=Kan %s blokken verven +eln: +eln:# ./src/main/java/mods/eln/item/CombustionChamber.java +eln:Upgrade_for_the_Stone_Heat_Furnace.=Upgrade voor de Stenen Hitteoven +eln: +eln:# ./src/main/java/mods/eln/item/ElectricalDrillDescriptor.java +eln:Energy_per_operation\:_%sJ=Energie per handeling\: %sJ +eln:Time_per_operation\:_%ss=Tijd per handeling\: %ss +eln: +eln:# ./src/main/java/mods/eln/item/FerromagneticCoreDescriptor.java +eln:Cable_loss_factor\:_%s=Kabel verliesfactor\: %s +eln: +eln:# ./src/main/java/mods/eln/item/HeatingCorpElement.java +eln: +eln:# ./src/main/java/mods/eln/item/LampDescriptor.java +eln:Bad=Slecht +eln:Condition\:=Staat\: +eln:End_of_life=Bijna kapot +eln:Good=Goed +eln:New=Nieuw +eln:Nominal_lifetime\:_%sh=Nominale levensduur\: %sh +eln:Technology\:_%s=Technologie\: %s +eln:Used=Gebruikt +eln: +eln:# ./src/main/java/mods/eln/item/LampSlot.java +eln:Lamp_slot=Lamp Slot +eln: +eln:# ./src/main/java/mods/eln/item/OverHeatingProtectionDescriptor.java +eln:Useful_to_prevent_overheating\nof_Batteries=Nuttig om oververhitting van\naccu's te voorkomen +eln: +eln:# ./src/main/java/mods/eln/item/OverVoltageProtectionDescriptor.java +eln:Useful_to_prevent_over-voltage\nof_Batteries=Nuttig om over-spanning van\naccu's te voorkomen. +eln: +eln:# ./src/main/java/mods/eln/item/SolarTrackerDescriptor.java +eln:Solar_panel_upgrade=Zonnepaneel Upgrade +eln: +eln:# ./src/main/java/mods/eln/item/electricalitem/BatteryItem.java +eln: +eln:# ./src/main/java/mods/eln/item/electricalitem/ElectricalLampItem.java +eln:Off=Uit +eln:On=Aan +eln:State\:=Status\: +eln:Stored_Energy\:_%sJ_(%s)=Opgeslagen Energie\: %sJ (%s) +eln: +eln:# ./src/main/java/mods/eln/item/regulator/RegulatorSlot.java +eln: +eln:# ./src/main/java/mods/eln/misc/UtilsClient.java +eln:Hold_shift=Druk Shift in +eln: +eln:# ./src/main/java/mods/eln/misc/Version.java +eln:mod.name=Elektrische Eeuw +eln: +eln:# ./src/main/java/mods/eln/node/six/SixNodeDescriptor.java +eln: +eln:# ./src/main/java/mods/eln/simplenode/energyconverter/EnergyConverterElnToOtherGui.java +eln:Input_power_is_limited_to_%sW=Inputvermogen is gelimiteerd tot %sW +eln: +eln:# ./src/main/java/mods/eln/sixnode/LogicGate.kt +eln:_O\:_= O\: +eln: +eln:# ./src/main/java/mods/eln/sixnode/TreeResinCollector/TreeResinCollectorDescriptor.java +eln:Produces_Tree_Resin_over\ntime_when_put_on_a_tree.=Geeft boomhars na een tijd\nop een boom te zitten. +eln:This_block_can_only_be_placed_on_the_side_of_a_tree!=Dit blok kan alleen aan de zijkant van een boom geplaatst worden\! +eln: +eln:# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerContainer.java +eln:Battery_slot=Accu Slot +eln: +eln:# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerDescriptor.java +eln:Can_be_used_to_recharge\nelectrical_items_like\:\nFlash_Light,_X-Ray_scanner\nand_Portable_Battery_...=Kan gebruikt worden om\nelektrische items op te laden,\nzoals\:\nZaklamp, Röntgen scanner\nen Draagbare Accu ... +eln: +eln:# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerGui.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/diode/DiodeDescriptor.java +eln:Electrical_current_can_only\nflow_through_the_diode\nfrom_anode_to_cathode=Elektrische stroom kan alleen\ndoor een diode stromen van\nde anode naar de kathode. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalalarm/ElectricalAlarmDescriptor.java +eln:= +eln:Emits_an_acoustic_alarm_if\nthe_input_signal_is_high=Zendt een akoestisch alarm als\nhet inputsignaal sterk is. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalalarm/ElectricalAlarmGui.java +eln:Sound_is_muted=Geluid is gedempt +eln:Sound_is_not_muted=Geluid is aan +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerContainer.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerDescriptor.java +eln:Protects_electrical_components\nOpens_contact_if\:\n__-_Voltage_exceeds_a_certain_level\n-_Current_exceeds_the_cable_limit=Beschermt elektrische componenten\nOpent contacten wanneer\:\n- Voltage boven bepaald niveau komt\n- Stroom boven het kabellimiet komt +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerGui.java +eln:Maximum_voltage_before_cutting_off=Maximale spanning voor onderbreken +eln:Minimum_voltage_before_cutting_off=Minimale spanning voor onderbreken +eln:Switch_is_off=Schakelaar staat uit +eln:Switch_is_on=Schakelaar staat aan +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalcable/ElectricalCableDescriptor.java +eln:A_signal_is_electrical_information\nwhich_must_be_between_0V_and_%sV=Een signaal is elektrische informatie\ndie tussen de 0V en %sV moet zitten. +eln:Cable_is_adapted_to_conduct\nelectrical_signals.=Kabel is aangepast om elektrische\nsignalen te geleiden. +eln:Current\:_%sA=Stroom\: %sA +eln:Not_adapted_to_transport_power.=Niet aangepast om energie te transporteren. +eln:Save_usage\:=Sla gebruik op\: +eln:Serial_resistance\:_%sΩ=Seriële weerstand\: %sΩ +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerDescriptor.java +eln:It_can_store_up_to_256_points.=Het kan maximaal 256 punten opslaan. +eln:Measures_the_voltage_of_an\nelectrical_signal_and_plots\nthe_data_in_real_time.=Meet het voltage van een\nelektrish signaal en tekent\nde data in real-time. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerGui.java +eln:Back_to_display=Terug naar voorstelling +eln:Configuration=Configuratie +eln:Current_[A]=Stroom [A] +eln:Energy_[J]=Energie [J] +eln:Percent_[-]%=Percentage [-]% +eln:Power_[W]=Vermogen [W] +eln:Print=Print +eln:Sampling_period=Sampleperiode +eln:Temp._[*C]=Temp. [*C] +eln:Voltage_[V]=Spanning [V] +eln:Y-axis_max=Y-as max +eln:Y-axis_min=Y-as min +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorContainer.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorDescriptor.java +eln:Output_voltage_increases\nif_entities_are_moving_around.=Output spanning verhoogt \nals entities bewegen. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalfiredetector/ElectricalFireDetectorDescriptor.java +eln:Output_voltage_increases\nif_a_fire_has_been_detected.=Output spanning verhoogt\nals vuur gedetecteerd wordt. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceDescriptor.java +eln:Provides_configurable_signal\nvoltage.=Geeft een aanpasbaar\nsignaalspanning. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceGui.java +eln:Output_at_%s=Output\: %s +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricallightsensor/ElectricalLightSensorDescriptor.java +eln:0V_at_night,_%sV_at_noon.=0V 's nachts, %sV 's middags. +eln:Provides_an_electrical_voltage\nin_the_presence_of_light.=Geeft een elektrische spanning\nin de aanwezigheid van licht. +eln:Provides_an_electrical_voltage\nwhich_is_proportional_to\nthe_intensity_of_daylight.=Geeft een elektrische spanning\ndie proportioneel is aan de \nintensiteit van het daglicht. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathContainer.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathDescriptor.java +eln:Applicable_boolean_operators\:=Toepasbare boolean operators\: +eln:Applicable_functions\:=Toepasselijke functies\: +eln:Applicable_mathematical_operators\:=Toepasbare wiskundige operators\: +eln:Calculates_an_output_signal_from\n3_inputs_(A,_B,_C)_using_an_equation.=Berekent een output signaal van\n3 inputs (A,B,C) door middel van een\nvergelijking. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathGui.java +eln:%s_Redstone(s)_required=%s Redstone(s) nodig +eln:Equation_required!=Vergelijking nodig\! +eln:Inputs_are=Inputs zijn +eln:Invalid_equation!=Ongeldige vergelijking +eln:Output_voltage_formula=Output spanning formule +eln:Waiting_for_completion...=Wacht op voltooiing... +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalredstoneinput/ElectricalRedstoneInputDescriptor.java +eln:Converts_Redstone_signal\nto_an_electrical_voltage.=Zet Redstone signaal om in\neen elektrische spanning. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalredstoneoutput/ElectricalRedstoneOutputDescriptor.java +eln:Converts_electrical_voltage\ninto_a_Redstone_signal.=Zet een elektrische spanning\nom in een Redstone signaal. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalrelay/ElectricalRelayDescriptor.java +eln:A_relay_is_an_electrical\ncontact_that_conducts_electric\ncurrent_or_not,_depending\nthe_actual_input_signal_voltage.=Een relais is een elektrisch \ncontact dat afhankelijk van het\nactuele input signaal wel of niet \nelektrische spanning geleid. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalrelay/ElectricalRelayGui.java +eln:Normally_closed=Normaal gesloten +eln:Normally_open=Normaal open +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalsource/ElectricalSourceDescriptor.java +eln:Creative_block.=Creatief blok +eln:Provides_an_ideal_voltage_source\nwithout_energy_or_power_limitation.=Geeft een ideale spanningsbron\nzonder vermogenslimiet. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalsource/ElectricalSourceGui.java +eln:Output_voltage=Output spanning +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalswitch/ElectricalSwitchDescriptor.java +eln:Can_break_an_electrical_circuit\ninterrupting_the_current.=Kan een elektrisch signaal\nafbreken, daarmee onderbreekt\nde stroom. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricaltimeout/ElectricalTimeoutDescriptor.java +eln:Upon_application_of_a_high_signal,\nthe_timer_maintains_the_output_high_for\na_configurable_interval._Can_be_re-triggered.=Bij toepassing van een sterk signaal\nhoudt de timer een sterk signaal vast\nvoor een aanpasbare tijd. Kan aangepast\nworden. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricaltimeout/ElectricalTimeoutGui.java +eln:Set=Stel in +eln:The_time_interval_the\noutput_is_kept_high.=Het tijdsinterval de\noutput wordt hoog gehouden. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalvumeter/ElectricalVuMeterDescriptor.java +eln:Displays_the_value_of_a_signal.=Geeft de waarde van een signaal. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalwatch/ElectricalWatchContainer.java +eln:Portable_battery_slot=Draagbare Accu Slot +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalweathersensor/ElectricalWeatherSensorDescriptor.java +eln:Clear\:_%sV=Onbewolkt\: %sV +eln:Provides_an_electrical_signal\ndepending_the_actual_weather.=Geeft een elektrisch signaal\nafhankelijk van het huidige weer. +eln:Rain\:_%sV=Regen\: %sV +eln:Storm\:_%sV=Storm\: %sV +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalwindsensor/ElectricalWindSensorDescriptor.java +eln:Maximum_wind_speed_is_%sm_s=Maximale windsnelheid is %sm/s +eln:Provides_an_electrical_signal\ndependant_on_wind_speed.=Geeft een elektrisch signaal\nafhankelijk van de windsnelheid. +eln:You_can't_place_this_block_on_the_floor_or_the_ceiling=Je kunt dit blok niet op de vloer of het plafond plaatsen +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricasensor/ElectricalSensorDescriptor.java +eln:Can_measure_Voltage_Power_Current=Kan Voltage/Vermogen/Stroom meten +eln:Measures_electrical_values_on_cables.=Meet elektrische waardes op kabels. +eln:Measures_voltage_on_cables.=Meet spanning op kabels. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricasensor/ElectricalSensorGui.java +eln:Current=Stroom +eln:Measured_voltage\ncorresponding\nto_0%_output=Gemeten spanning\ncorrespondeert\nmet 0% output +eln:Measured_voltage\ncorresponding\nto_100%_output=Gemeten spanning\ncorrespondeert\nmet 100% output +eln:Voltage=Spanning +eln: +eln:# ./src/main/java/mods/eln/sixnode/energymeter/EnergyMeterGui.java +eln:Change_password=Verander wachtwoord +eln:Counter_Mode=Teller Mode +eln:Counts_the_energy_conducted_from\n\u00a74red\u00a7f_to_\u00a71blue\u00a7f.=Telt de energie geleid van \n\\u00a74red\\u00a7f tot \\u00a71blue\\u00a7f. +eln:Energy_counter\:_%sJ=Energie teller\: %sJ +eln:Enter_new_energy=Stel nieuwe energie in +eln:Enter_password=Vul wachtwoord in +eln:Prepay_Mode=Prepay Mode +eln:Reset_time_counter=Reset tijd teller +eln:Set_energy_counter=Stel energieteller in +eln:Time_counter\:=Tijd teller\: +eln:Try_password=Probeer wachtwoord +eln:You_can_set_an_initial\namount_of_available_energy.\nWhen_the_counter_arrives_at_0\nthe_contact_will_be_opened.=Je kunt de beginhoeveelheid\nbeschikbare energie instellen.\nWanneer de teller op 0 staat\nwordt het contact geopend. +eln:is_off=is uit +eln:is_on=is aan +eln:value_in_kJ=waarde in kJ +eln: +eln:# ./src/main/java/mods/eln/sixnode/groundcable/GroundCableDescriptor.java +eln:Can_be_used_to_set_a_point_of_an\nelectrical_network_to_0V_potential.\nFor_example_to_ground_negative_battery_contacts.=Kan gebruikt worden om een punt\nvan een elektrisch netwerk een \n0V potentieel te geven.\nBijvoorbeeld als aarde voor negatieve accucontacten. +eln:Provides_a_zero_volt_reference.=Geeft een 0-volt referentie. +eln: +eln:# ./src/main/java/mods/eln/sixnode/hub/HubDescriptor.java +eln:Allows_crossing_cables\non_one_single_block.=Staat kabels toe te \nkruisen op 1 blok. +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketDescriptor.java +eln:Angle\:_%s°_to_%s°=Hoek\: %s° tot %s° +eln:Spot_range\:_%s_blocks=Zichtbereik\: %s blokken +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketGuiDraw.java +eln:%s_is_not_in_range!=%s is niet binnen bereik\! +eln:Cable_slot_empty=Leeg Kabel Slot +eln:Orientation\:_%s°=Orientatie\: %s° +eln:Parallel=Parallel +eln:Powered_by_Lamp_Supply=Aangedreven door Lamp Voeding +eln:Powered_by_cable=Aangedreven door kabel +eln:Serial=Seriële +eln:Specify_the_supply_channel=Specificeer het aanleveringskanaal +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyContainer.java +eln:Electrical_cable_slot\nBase_range_is_32_blocks.\nEach_additional_cable\nincreases_range_by_one.=Elektrische kabel slot\nBasisbereik is 32 blokken.\nIedere toegevoegde kabel\nverhoogt bereik met 1 blok. +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyDescriptor.java +eln:Supplies_all_lamps_on_the_channel.=Voorziet alle lampen op het kanaal van energie. +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyGui.java +eln:Power_channel_name=Energiekanaal naam +eln:Wireless_channel_name=Draadloze kanaal naam +eln: +eln:# ./src/main/java/mods/eln/sixnode/modbusrtu/ModbusRtuGui.java +eln:Add=Toevoegen +eln:Channel_name=Kanaalnaam +eln:Modbus_ID=Modbus ID +eln:Modbus_RTU=Modbus RTU +eln:Station_ID=Stationsnummer +eln:Station_name=Stationsnaam +eln:Wireless_RX=Draadloze RX +eln:Wireless_TX=Draadloze TX +eln: +eln:# ./src/main/java/mods/eln/sixnode/powercapacitorsix/PowerCapacitorSixContainer.java +eln:(Increases_maximum_voltage)=(Vergroot maximale spanning) +eln: +eln:# ./src/main/java/mods/eln/sixnode/powercapacitorsix/PowerCapacitorSixGui.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/powerinductorsix/PowerInductorSixContainer.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/powerinductorsix/PowerInductorSixGui.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/powersocket/PowerSocketDescriptor.java +eln:Supplies_any_device\nplugged_in_with_energy.=Voorziet ieder aangekoppeld\napparaat van energie. +eln: +eln:# ./src/main/java/mods/eln/sixnode/powersocket/PowerSocketGui.java +eln:Specify_the_device_to_supply_through_this_socket.=Specificeer het apparaat om van energie te voorzien via deze socket. +eln: +eln:# ./src/main/java/mods/eln/sixnode/resistor/ResistorContainer.java +eln:(Sets_resistance)=(Stelt weerstand in) +eln:Coal_dust_slot=Kolenstof Slot +eln: +eln:# ./src/main/java/mods/eln/sixnode/thermalcable/ThermalCableDescriptor.java +eln:High_parallel_resistance\n_\=>_Low_power_dissipation.=Hoge parallelle weerstand\n\=> Laag vermogensverdrijving. +eln:Low_serial_resistance\n_\=>_High_conductivity.=Lage seriële weerstand\n\=> Hoge geleiding. +eln:Parallel_resistance\:_%sK_W=Parallelle weerstand\: %sK/W +eln:Serial_resistance\:_%sK_W=Seriële weerstand\: %sK/W +eln: +eln:# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorContainer.java +eln:Cable_slot=Kabel Slot +eln: +eln:# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorDescriptor.java +eln:Can_measure\:=Kan meten\: +eln:Measures_temperature_of_cables.=Meet de temperatuur van kabels. +eln:Measures_thermal_values_on_cables.=Meet temperatuurwaarden op kabels. +eln:__Temperature_Power_conducted=Temperatuur/Vermogen geleidt +eln: +eln:# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorGui.java +eln:Measured_temperature\ncorresponding\nto_0%_output=Gemeten temperatuur\ncorrespondeert\nmet 0% output +eln:Measured_temperature\ncorresponding\nto_100%_output=Gemeten temperatuur\ncorrespondeert\nmet 100% output +eln:Temperature=Temperatuur +eln: +eln:# ./src/main/java/mods/eln/sixnode/tutorialsign/TutorialSignElement.java +eln:No_text_associated_to_this_beacon=Geen tekst geassocieerd met deze baken +eln: +eln:# ./src/main/java/mods/eln/sixnode/tutorialsign/TutorialSignGui.java +eln:Set_beacon_name=Stel baken naam in +eln: +eln:# ./src/main/java/mods/eln/sixnode/wirelesssignal/rx/WirelessSignalRxGui.java +eln: +eln:# ./src/main/java/mods/eln/transparentnode/FuelGenerator.kt +eln:Nominal_power\:_%s_W=Norminaal vermogen\: %s W +eln:Nominal_voltage\:_%s_V=Nominale spanning\: %s V +eln:Produces_electricity_using_fuel.=Genereert elektriciteit met brandstof. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/LargeRheostat.kt +eln:Nom._Resistance\:_%s=Nom. weerstand\: %s +eln: +eln:# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerContainer.java +eln:Drill_slot=Boor Slot +eln:Mining_pipe_slot=Graafpijp Slot +eln:Ore_scanner_slot=Erts Scanner Slot +eln: +eln:# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerDescriptor.java +eln:Excavates_on_a_small_radius.\nExtracts_ore_on_a_bigger_radius\:\n10_blocks_radius_after_10_blocks_depth.=Graaft een kleine radius op.\nGraaft erts in een grotere radius op\:\n10 blokken radius na 10 blokken diepte. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerGuiDraw.java +eln:Chest_missing_on_the\nback_of_the_auto_miner!=Kist mist aan de achterkant \nvan de automatische graver. +eln:Halves_speed,_triples_power_draw=Halveert snelheid, verdrievoudigd energieverbruik +eln:Silk_Touch_Off=Zijden Streling Uit +eln:Silk_Touch_On=Zijden Streling Aan +eln:Silk_touch=Zijden Streling +eln: +eln:# ./src/main/java/mods/eln/transparentnode/battery/BatteryContainer.java +eln:Overheating_protection=Bescherming Tegen Oververhitting +eln:Overvoltage_protection=Bescherming Tegen Overspanning +eln: +eln:# ./src/main/java/mods/eln/transparentnode/battery/BatteryDescriptor.java +eln:Actual_charge\:_%s=Huidige lading\: %s +eln:Energy_capacity\:_%sJ=Energie capaciteit %sJ +eln:_charged_at_%s=%s opgeladen +eln: +eln:# ./src/main/java/mods/eln/transparentnode/battery/BatteryGuiDraw.java +eln:Charge=Lading +eln:Charged=Opgeladen +eln:Discharge=Ontlading +eln:Energy\:=Energie\: +eln:Energy\:_%s=Energie\: %s +eln:Life\:=Leven\: +eln:No_charge=Geen lading\: +eln:Power_in\:=Energie in\: +eln:Power_out\:=Energie uit\: +eln: +eln:# ./src/main/java/mods/eln/transparentnode/eggincubator/EggIncubatorContainer.java +eln:Egg_slot=Ei Slot +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalantennarx/ElectricalAntennaRxDescriptor.java +eln:Wireless_energy_receiver.=Draadloze energie ontvanger. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalantennatx/ElectricalAntennaTxDescriptor.java +eln:Efficiency\:_%s_up_to_%s=Efficiëntie\: %s tot %s +eln:Wireless_energy_transmitter.=Draadloze Energiezender +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceContainer.java +eln:Heating_corp_slot=Verhittingsspoel Slot +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceDescriptor.java +eln:Similar_to_a_vanilla_furnace,\nbut_heats_with_electricity.=Vergelijkbaar met standaard oven,\nmaar verhit met elektriciteit. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceGuiDraw.java +eln:Auto_shutdown=Automatische afsluiting +eln:Manual_shutdown=Handmatig afsluiting +eln:Set_point\:_%s°C=Ingesteld punt\: %s°C +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalmachine/ElectricalMachineDescriptor.java +eln:Cost=Kosten +eln: +eln:# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceContainer.java +eln:Combustion_chamber_slot=Ontbrandingskamer Slot +eln:Fuel_slot=Brandstof Slot +eln: +eln:# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceDescriptor.java +eln:Generates_heat_when_supplied_with_fuel.=Genereert hitte wanneer van brandstof voorzien wordt. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceGuiDraw.java +eln:Control_gauge_at_%s=Meter op %s +eln:Decline_fuel=Weiger brandstof +eln:External_control=Externe bediening +eln:Internal_control=Interne bediening +eln:Take_fuel=Neem brandstof +eln: +eln:# ./src/main/java/mods/eln/transparentnode/powercapacitor/PowerCapacitorContainer.java +eln:(Increases_maximal_voltage)=(Verhoog maximale spanning) +eln: +eln:# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelContainer.java +eln:Solar_tracker_slot=Zon Tracker Slot +eln: +eln:# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelDescriptor.java +eln:Can_be_geared_towards_the_sun.=Kan naar de zon gekeerd worden. +eln:Max._power\:_%sW=Max. vermogen\: %sW +eln:Max._voltage\:_%sV=Max. spanning\: %sV +eln:Produces_power_from_solar_radiation.=Produceert energie van zonneradiatie +eln: +eln:# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPannelGuiDraw.java +eln:It_is_night=Het is nacht +eln:Solar_panel_angle\:_%s°=Zonnepaneel hoek\: %s° +eln:Sun_angle\:_%s°=Hoek zon\: %s° +eln: +eln:# ./src/main/java/mods/eln/transparentnode/teleporter/TeleporterGui.java +eln:Destination_transporter=Bestemmingstransporteur +eln:Power_consumption\:=Energieverbruik\: +eln:Power_consumption\:_%sW=Energieverbruik\: %sW +eln:Required_energy\:_%sJ=Benodigde Energie\: %sJ +eln:Start=Start +eln:Transporter_name=Transporteur naam +eln: +eln:# ./src/main/java/mods/eln/transparentnode/thermaldissipatoractive/ThermalDissipatorActiveDescriptor.java +eln:Fan_cooling_power\:_%sW=Ventilator koelvermogen\: %sW +eln:Fan_power_consumption\:_%sW=Ventilator energieverbruik\: %sW +eln:Fan_voltage\:_%sV=Ventilator spanning\: %sV +eln: +eln:# ./src/main/java/mods/eln/transparentnode/transformer/TransformerDescriptor.java +eln:The_voltage_ratio_is_proportional\nto_the_cable_stacks_count_ratio.=De spanningsverhouding is\nproportioneel aan de kabelstapel\nteller verhouding. +eln:Transforms_an_input_voltage_to\nan_output_voltage.=Zet een input spanning om \nin een output spanning. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/turbine/TurbineDescriptor.java +eln:Generates_electricity_using_heat.=Genereert energie met hitte. +eln:Temperature_difference\:_%s°C=Temperatuurverschil\: %s°C +eln: +eln:# ./src/main/java/mods/eln/transparentnode/turret/TurretDescriptor.java +eln:CAUTION\:_Cables_can_get_quite_hot!=OPGEPAST\: Kabels kunnen behoorlijk heet worden\! +eln:Laser_charge_power\:_%sW...%skW=Laser lading vermogen\: %sW...%skW +eln:Scans_for_entities_and_shoots_if_the\nentity_matches_the_configurable_filter_criteria.=Zoekt naar entities en schiet als de entity\ngelijk staat aan de aanpasbare filter criteria. +eln:Standby_power\:_%sW=Standby vermogen\: %sW +eln: +eln:# ./src/main/java/mods/eln/transparentnode/turret/TurretGui.java +eln:Attack\:=Aanvallen\: +eln:Do_not_attack\:=Niet aanvallen\: +eln:Recharge_power\:=Herlaad energie\: +eln: +eln:# ./src/main/java/mods/eln/transparentnode/waterturbine/WaterTurbineDescriptor.java +eln:Generates_energy_using_water_stream.=Genereert energie door middel van stromend water. +eln:No_place_for_water_turbine!=Geen plaats voor waterturbine\! +eln: +eln:# ./src/main/java/mods/eln/transparentnode/windturbine/WindTurbineDescriptor.java +eln:Front\:_%s=Voorkant\: %s +eln:Generates_energy_from_wind.=Genereert energie door middel van de wind. +eln:Left_Right\:_%s=Links/Rechts\: %s +eln:Up_Down\:_%s=Boven/Onder\: %s +eln:Wind_area\:=Wind gebied\: +eln: +eln:# ./src/main/java/mods/eln/wiki/Data.java +eln:Energy=Energie +eln:Light=Licht +eln:Machine=Machine +eln:Ore=Erts +eln:Portable=Draagbaar +eln:Resource=Grondstof +eln:Signal=Signaal +eln:Thermal=Thermaal +eln:Upgrade=Upgrade +eln:Utilities=Utiliteiten +eln:Wiring=Bedrading +eln: +eln:# ./src/main/java/mods/eln/wiki/Default.java +eln:Previous=Vorige +eln: +eln:# ./src/main/java/mods/eln/wiki/ItemDefault.java +eln:Can_be_used_to_craft\:=Kan gebruikt worden om het volgende te maken\: +eln:Cannot_be_crafted!=Kan niet gemaakt worden\! +eln:Cost_%sJ=Kosten\: %sJ +eln:Created_by\:=Gemaakt door\: +eln:Is_not_a_crafting_material!=Dit is geen werkmateriaal +eln:Recipe\:=Recept\: +eln: +eln:# Appearing in multiple source files +eln:(Increases_capacity)=(vergroot capaciteit) +eln:(Increases_inductance)=(Verhoogt geleiding) +eln:Actual\:_%s°C=Momenteel\: %s°C +eln:Biggest=Grootste +eln:Booster_slot=Booster Slot +eln:Can_create\:=Kan maken\: +eln:Capacity\:_%sF=Capaciteit\: %sF +eln:Charge_power\:_%sW=Lading vermogen\: %sW +eln:Connected=Verbonden +eln:Cooling_power\:_%sW=Koelvermogen\: %sW +eln:Copper_cable_slot=Koperen Kabel Slot +eln:Dielectric_slot=Diëlektricum Slot +eln:Discharge_power\:_%sW=Ontladingsvermogen\: %sW +eln:Electrical_cable_slot=Elektrische Kabel Slot +eln:Entity_filter_slot=Entity Filter Slot +eln:Ferromagnetic_core_slot=Ferromagnetische Kern Slot +eln:Has_a_signal_output.=Heeft een signaal output. +eln:Inductance\:_%sH=Inductief Vermogen\: %sH +eln:Internal_resistance\:_%sΩ=Interne weerstand\: %sΩ +eln:Is_off=Is uit +eln:Is_on=Is aan +eln:Max._temperature\:_%s°C=Max. temperatuur\: %s°C +eln:Measured_value\ncorresponding\nto_0%_output=Gemeten waarde\ncorrespondeert\nmet 0% output +eln:Measured_value\ncorresponding\nto_100%_output=Gemeten waarde\ncorrespondeert\nmet 100% output +eln:Nominal\:=Nominaal\: +eln:Nominal_power\:_%sW=Norminaal vermogen\: %sW +eln:Nominal_usage\:=Nominaal gebruik\: +eln:Nominal_voltage\:_%sV=Nominale spanning\: %sV +eln:Not_connected=Niet verbonden +eln:Not_enough_space_for_this_block=Niet genoeg ruimte voor dit blok +eln:Power=Energie +eln:Power\:_%sW=Vermogen\: %sW +eln:Range\:_%s_blocks=Bereik\: %s blokken +eln:Redstone_slot=Redstone Slot +eln:Regulator_slot=Regelaar Slot +eln:Reset=Reset +eln:Resistance\:_%sΩ=Weerstand\: %sΩ +eln:Smallest=Kleinste +eln:Specify_the_channel=Specificeer het kanaal +eln:Stored_energy\:_%sJ_(%s)=Opgeslagen Energie\: %sJ (%s) +eln:Temperature\:_%s°C=Temperatuur\: %s°C +eln:Temperature_gauge=Temperatuurmeter +eln:Thermal_isolator_slot=Warmte-Isolatie Slot +eln:Toggle=Wissel +eln:Toggle_switch=Wisselschakelaar +eln:Toggles_the_output_each_time\nan_emitter's_value_rises.\nUseful_to_allow_multiple_buttons\nto_control_the_same_light.=Verandert de output elke keer\nals de waarden van de zender \nomhoog gaat. Nuttig om meerdere\nknoppen het zelfde licht te laten\nbesturen. +eln:Used_to_cool_down_turbines.=Wordt gebruikt om turbines af te koelen. +eln:Uses_the_biggest\nvalue_on_the_channel.=Gebruikt de grootste\nwaarde op het kanaal. +eln:Uses_the_smallest\nvalue_on_the_channel.=Gebruikt de kleinste\nwaarde op het kanaal. +eln:Validate=Valideer +eln:Voltage\:_%sV=Spanning\: %sV +eln:You_can't_place_this_block_at_this_side=Je kunt dit blok niet aan deze zijde plaatsen diff --git a/src/main/resources/assets/eln/lang/no.lang b/src/main/resources/assets/eln/lang/no.lang index 1b2a52741..63ae63433 100644 --- a/src/main/resources/assets/eln/lang/no.lang +++ b/src/main/resources/assets/eln/lang/no.lang @@ -1,829 +1,829 @@ -# - -# ./src/main/java/mods/eln/Achievements.java -Electrical_Age_[WIP]=Electrical Age [WIP] -achievement.craft_50v_macerator=Crushing Novice -achievement.craft_50v_macerator.desc=Craft a 50V Macerator -achievement.open_guide=Wiki Power -achievement.open_guide.desc=Open the wiki guide - -# ./src/main/java/mods/eln/Eln.java -10A_Diode.name=10A Diode -200V_Active_Thermal_Dissipator.name=200V Active Thermal Dissipator -200V_Battery_Charger.name=200V Batterilader -200V_Compressor.name=200V Kompressor -200V_Condensator.name=200V Kondensator -200V_Copper_Heating_Corp.name=200V Copper Heating Corp -200V_Economic_Light_Bulb.name=200V Economic Light Bulb -200V_Farming_Lamp.name=200V Farming Lamp -200V_Fuel_Generator.name=200V Fuel Generator -200V_Incandescent_Light_Bulb.name=200V Incandescent Light Bulb -200V_Iron_Heating_Corp.name=200V Iron Heating Corp -200V_LED_Bulb.name=200V LED Bulb -200V_Macerator.name=200V Macerator -200V_Magnetizer.name=200V Magnetizer -200V_Plate_Machine.name=200V Platemaskin -200V_Power_Socket.name=200V Power Socket -200V_Tungsten_Heating_Corp.name=200V Tungsten Heating Corp -200V_Turbine.name=200V Turbine -25A_Diode.name=25A Diode -50V_Battery_Charger.name=50V Battery Charger -50V_Carbon_Incandescent_Light_Bulb.name=50V Carbon Incandescent Light Bulb -50V_Compressor.name=50V Compressor -50V_Condensator.name=50V Condensator -50V_Copper_Heating_Corp.name=50V Copper Heating Corp -50V_Economic_Light_Bulb.name=50V Economic Light Bulb -50V_Egg_Incubator.name=50V Egg Incubator -50V_Farming_Lamp.name=50V Farming Lamp -50V_Fuel_Generator.name=50V Fuel Generator -50V_Incandescent_Light_Bulb.name=50V Incandescent Light Bulb -50V_Iron_Heating_Corp.name=50V Iron Heating Corp -50V_LED_Bulb.name=50V LED Bulb -50V_Macerator.name=50V Macerator -50V_Magnetizer.name=50V Magnetizer -50V_Plate_Machine.name=50V Plate Machine -50V_Power_Socket.name=50V Power Socket -50V_Tungsten_Heating_Corp.name=50V Tungsten Heating Corp -50V_Turbine.name=50V Turbine -800V_Defence_Turret.name=800V Defence Turret -AND_Chip.name=AND Chip -Advanced_Chip.name=Avansert Mikrobrikke -Advanced_Electrical_Motor.name=Avansert Elektrisk Motor -Advanced_Energy_Meter.name=Advanced Energy Meter -Advanced_Machine_Block.name=Advanced Machine Block -Advanced_Magnet.name=Advanced Magnet -AllMeter.name=Universal-Meter -Alloy_Dust.name=Alloy Dust -Alloy_Ingot.name=Alloy Ingot -Alloy_Plate.name=Alloy Plate -Analog_Watch.name=Analog watch -Analog_vuMeter.name=Analog Gauge -Analogic_Regulator.name=Analogic Regulator -Animal_Filter.name=Animal Filter -Auto_Miner.name=Auto Miner -Average_Electrical_Drill.name=Average Electrical Drill -Average_Ferromagnetic_Core.name=Average Ferromagnetic Core -Basic_Magnet.name=Basic Magnet -Black_Brush.name=Black Brush -Blue_Brush.name=Blue Brush -Brown_Brush.name=Brown Brush -Capacity_Oriented_Battery.name=Capacity Oriented Battery -Cheap_Chip.name=Cheap Chip -Cheap_Electrical_Drill.name=Cheap Electrical Drill -Cheap_Ferromagnetic_Core.name=Cheap Ferromagnetic Core -Cinnabar_Dust.name=Cinnabar Dust -Cinnabar_Ore.name=Cinnabar Ore -Coal_Dust.name=Coal Dust -Coal_Plate.name=Coal Plate -Combustion_Chamber.name=Combustion Chamber -Copper_Cable.name=Copper Cable -Copper_Dust.name=Copper Dust -Copper_Ingot.name=Copper Ingot -Copper_Ore.name=Copper Ore -Copper_Plate.name=Copper Plate -Copper_Thermal_Cable.name=Copper Thermal Cable -Cost_Oriented_Battery.name=Cost Oriented Battery -Current_Oriented_Battery.name=Current Oriented Battery -Cyan_Brush.name=Cyan Brush -D_Flip_Flop_Chip.name=D Flip Flop Chip -Data_Logger.name=Data Logger -Data_Logger_Print.name=Data Logger Print -Dielectric.name=Dielectric -Digital_Watch.name=Digital Watch -Electrical_Anemometer_Sensor.name=Electrical Anemometer Sensor -Electrical_Breaker.name=Electrical Breaker -Electrical_Daylight_Sensor.name=Electrical Daylight Sensor -Electrical_Entity_Sensor.name=Electrical Entity Sensor -Electrical_Fire_Detector.name=Electrical Fire Detector -Electrical_Furnace.name=Electrical Furnace -Electrical_Light_Sensor.name=Electrical Light Sensor -Electrical_Motor.name=Electrical Motor -Electrical_Probe.name=Electrical Probe -Electrical_Probe_Chip.name=Electrical Probe Chip -Electrical_Source.name=Electrical Source -Electrical_Timer.name=Electrical Timer -Electrical_Weather_Sensor.name=Electrical Weather Sensor -Electrical_age_wrench,\nCan_be_used_to_turn\nsmall_wall_blocks=Electrical age wrench,\nCan be used to turn\nsmall wall blocks -Energy_Meter.name=Energy Meter -Experimental_Transporter.name=Experimental Transporter -Fast_Electrical_Drill.name=Fast Electrical Drill -Ferrite_Ingot.name=Ferrite Ingot -Flat_Lamp_Socket.name=Flat Lamp Socket -Fluorescent_Lamp_Socket.name=Fluorescent Lamp Socket -Generator.name=Generator -Gold_Dust.name=Gold Dust -Gold_Plate.name=Gold Plate -Gray_Brush.name=Gray Brush -Green_Brush.name=Green Brush -Ground_Cable.name=Ground Cable -High_Power_Receiver_Antenna.name=High Power Receiver Antenna -High_Power_Transmitter_Antenna.name=High Power Transmitter Antenna -High_Voltage_Cable.name=High Voltage Cable -High_Voltage_Relay.name=High Voltage Relay -High_Voltage_Switch.name=High Voltage Switch -Hub.name=Hub -Industrial_Data_Logger.name=Industrial Data Logger -Iron_Cable.name=Iron Cable -Iron_Dust.name=Iron Dust -Iron_Plate.name=Iron Plate -JK_Flip_Flop_Chip.name=JK Flip Flop Chip -LED_vuMeter.name=LED vuMeter -Lamp_Socket_A.name=Lamp Socket A -Lamp_Socket_B_Projector.name=Lamp Socket B Projector -Lamp_Supply.name=Lamp Supply -Large_Rheostat.name=Large Rheostat -Lead_Dust.name=Lead Dust -Lead_Ingot.name=Lead Ingot -Lead_Ore.name=Lead Ore -Lead_Plate.name=Lead Plate -Life_Oriented_Battery.name=Life Oriented Battery -Light_Blue_Brush.name=Light Blue Brush -Lime_Brush.name=Lime Brush -Long_Suspended_Lamp_Socket.name=Long Suspended Lamp Socket -Low_Power_Receiver_Antenna.name=Low Power Receiver Antenna -Low_Power_Transmitter_Antenna.name=Low Power Transmitter Antenna -Low_Voltage_Cable.name=Low Voltage Cable -Low_Voltage_Relay.name=Low Voltage Relay -Low_Voltage_Switch.name=Low Voltage Switch -Machine_Block.name=Machine Block -Machine_Booster.name=Machine Booster -Magenta_Brush.name=Magenta Brush -Medium_Power_Receiver_Antenna.name=Medium Power Receiver Antenna -Medium_Power_Transmitter_Antenna.name=Medium Power Transmitter Antenna -Medium_Voltage_Cable.name=Medium Voltage Cable -Medium_Voltage_Relay.name=Medium Voltage Relay -Medium_Voltage_Switch.name=Medium Voltage Switch -Mercury.name=Mercury -Mining_Pipe.name=Mining Pipe -Modbus_RTU.name=Modbus RTU -Modern_Data_Logger.name=Modern Data Logger -Monster_Filter.name=Monster Filter -MultiMeter.name=Multimeter -NAND_Chip.name=NAND Chip -NOR_Chip.name=NOR Chip -NOT_Chip.name=NOT Chip -Nuclear_Alarm.name=Nuclear Alarm -OR_Chip.name=OR Chip -On_OFF_Regulator_10_Percent.name=On/off regulator 10% -On_OFF_Regulator_1_Percent.name=On/off regulator 1% -Optimal_Ferromagnetic_Core.name=Optimal Ferromagnetic Core -Orange_Brush.name=Orange Brush -Ore_Scanner.name=Ore Scanner -Oscillator_Chip.name=Oscillator Chip -Overheating_Protection.name=Overheating Protection -Overvoltage_Protection.name=Overvoltage Protection -PAL_Chip.name=PAL Chip -Pink_Brush.name=Pink Brush -Player_Filter.name=Player Filter -Portable_Battery.name=Portable Battery -Portable_Battery_Pack.name=Portable Battery Pack -Portable_Condensator.name=Portable Condensator -Portable_Condensator_Pack.name=Portable Condensator Pack -Portable_Electrical_Axe.name=Portable Electrical Axe -Portable_Electrical_Mining_Drill.name=Portable Electrical Mining Drill -Power_Capacitor.name=Power Capacitor -Power_Inductor.name=Power Inductor -Power_Resistor.name=Power Resistor -Power_capacitor.name=Power capacitor -Power_inductor.name=Power inductor -Purple_Brush.name=Purple Brush -Red_Brush.name=Red Brush -Redstone-to-Voltage_Converter.name=Redstone-to-Voltage Converter -Rheostat.name=Rheostat -Robust_Lamp_Socket.name=Robust Lamp Socket -Rubber.name=Rubber -Schmitt_Trigger_Chip.name=Schmitt Trigger Chip -Sconce_Lamp_Socket.name=Sconce Lamp Socket -Signal_20H_inductor.name=Signal 20H inductor -Signal_Antenna.name=Signal Antenna -Signal_Button.name=Signal Button -Signal_Cable.name=Signal Cable -Signal_Diode.name=Signal Diode -Signal_Processor.name=Signal Processor -Signal_Relay.name=Signal Relay -Signal_Source.name=Signal Source -Signal_Switch.name=Signal Switch -Signal_Switch_with_LED.name=Signal Switch with LED -Signal_Trimmer.name=Signal Trimmer -Silicon_Dust.name=Silicon Dust -Silicon_Ingot.name=Silicon Ingot -Silicon_Plate.name=Silicon Plate -Silver_Brush.name=Silver Brush -Simple_Lamp_Socket.name=Simple Lamp Socket -Single-use_Battery.name=Single-use Battery -Small_200V_Copper_Heating_Corp.name=Small 200V Copper Heating Corp -Small_200V_Iron_Heating_Corp.name=Small 200V Iron Heating Corp -Small_200V_Tungsten_Heating_Corp.name=Small 200V Tungsten Heating Corp -Small_50V_Carbon_Incandescent_Light_Bulb.name=Small 50V Carbon Incandescent Light Bulb -Small_50V_Copper_Heating_Corp.name=Small 50V Copper Heating Corp -Small_50V_Economic_Light_Bulb.name=Small 50V Economic Light Bulb -Small_50V_Incandescent_Light_Bulb.name=Small 50V Incandescent Light Bulb -Small_50V_Iron_Heating_Corp.name=Small 50V Iron Heating Corp -Small_50V_Tungsten_Heating_Corp.name=Small 50V Tungsten Heating Corp -Small_Active_Thermal_Dissipator.name=Small Active Thermal Dissipator -Small_Flashlight.name=Small Flashlight -Small_Passive_Thermal_Dissipator.name=Small Passive Thermal Dissipator -Small_Rotating_Solar_Panel.name=Small Rotating Solar Panel -Small_Solar_Panel.name=Small Solar Panel -Solar_Tracker.name=Solar Tracker -Standard_Alarm.name=Standard Alarm -Steam_Turbine.name=Steam Turbine -Stone_Heat_Furnace.name=Stone Heat Furnace -Street_Light.name=Streetlight -Suspended_Lamp_Socket.name=Suspended Lamp Socket -Temperature_Probe.name=Temperature Probe -Thermal_Probe.name=Thermal Probe -Thermal_Probe_Chip.name=Thermal Probe Chip -Thermistor.name=Thermistor -ThermoMeter.name=Thermometer -Transformer.name=Transformer -Tree_Resin.name=Tree Resin -Tree_Resin_Collector.name=Tree Resin Collector -Tungsten_Cable.name=Tungsten Cable -Tungsten_Dust.name=Tungsten Dust -Tungsten_Ingot.name=Tungsten Ingot -Tungsten_Ore.name=Tungsten Ore -Tutorial_Sign.name=Tutorial Sign -Very_High_Voltage_Cable.name=Very High Voltage Cable -Very_High_Voltage_Relay.name=Very High Voltage Relay -Very_High_Voltage_Switch.name=Very High Voltage Switch -Voltage-to-Redstone_Converter.name=Voltage-to-Redstone Converter -Voltage_Oriented_Battery.name=Voltage Oriented Battery -Voltage_Probe.name=Voltage Probe -Water_Turbine.name=Water Turbine -Weak_50V_Battery_Charger.name=Weak 50V Battery Charger -White_Brush.name=White Brush -Wind_Turbine.name=Wind Turbine -Wireless_Analyser.name=Wireless Analyzer -Wireless_Button.name=Wireless Button -Wireless_Signal_Receiver.name=Wireless Signal Receiver -Wireless_Signal_Repeater.name=Wireless Signal Repeater -Wireless_Signal_Transmitter.name=Wireless Signal Transmitter -Wireless_Switch.name=Wireless Switch -Wrench.name=Wrench -X-Ray_Scanner.name=X-Ray Scanner -XNOR_Chip.name=XNOR Chip -XOR_Chip.name=XOR Chip -Yellow_Brush.name=Yellow Brush -entity.EAReplicator.name=Replicator -item.Copper Axe.name\=Copper Axe -item.Copper Axe.name\=Copper Axe -item.Copper Axe.name\=Copper Axe -item.Copper Axe.name\=Copper Axe -item.Copper Axe.name\=Copper Axe -item.Copper Axe.name\=Copper Axe -item.Copper Axe.name\=Copper Axe -item.Copper Axe.name\=Copper Axe -item.Copper Axe.name\=Copper Axe -item.E-Coal Boots.name\=E-Coal Boots -item.E-Coal Boots.name\=E-Coal Boots -item.E-Coal Boots.name\=E-Coal Boots -item.E-Coal Boots.name\=E-Coal Boots -itemGroup.Eln=Electrical Age -mod.meta.desc=Electricity in your base\! -tile.eln.ElnProbe.name=Eln Computer Probe -tile.eln.EnergyConverterElnToOtherHVUBlock.name=800V Electrical Age to other energy exporter -tile.eln.EnergyConverterElnToOtherLVUBlock.name=50V Electrical Age to other energy exporter -tile.eln.EnergyConverterElnToOtherMVUBlock.name=200V Electrical Age to other energy exporter - -# ./src/main/java/mods/eln/i18n/I18N.java -You_have_%s_lives_left=You have %s lives left - -# ./src/main/java/mods/eln/item/BrushDescriptor.java -Brush_is_dry=Brush is dry -Can_paint_%s_blocks=Can paint %s blocks - -# ./src/main/java/mods/eln/item/CombustionChamber.java -Upgrade_for_the_Stone_Heat_Furnace.=Upgrade for the Stone Heat Furnace. - -# ./src/main/java/mods/eln/item/ElectricalDrillDescriptor.java -Energy_per_operation\:_%sJ=Energy per operation\: %sJ -Time_per_operation\:_%ss=Time per operation\: %ss - -# ./src/main/java/mods/eln/item/FerromagneticCoreDescriptor.java -Cable_loss_factor\:_%s=Cable loss factor\: %s - -# ./src/main/java/mods/eln/item/HeatingCorpElement.java - -# ./src/main/java/mods/eln/item/LampDescriptor.java -Bad=Bad -Condition\:=Condition\: -End_of_life=End of life -Good=Good -New=New -Nominal_lifetime\:_%sh=Nominal lifetime\: %sh -Technology\:_%s=Technology\: %s -Used=Used - -# ./src/main/java/mods/eln/item/LampSlot.java -Lamp_slot=Lamp slot - -# ./src/main/java/mods/eln/item/OverHeatingProtectionDescriptor.java -Useful_to_prevent_overheating\nof_Batteries=Useful to prevent overheating\nof Batteries - -# ./src/main/java/mods/eln/item/OverVoltageProtectionDescriptor.java -Useful_to_prevent_over-voltage\nof_Batteries=Useful to prevent over-voltage\nof Batteries - -# ./src/main/java/mods/eln/item/SolarTrackerDescriptor.java -Solar_panel_upgrade=Solar panel upgrade - -# ./src/main/java/mods/eln/item/electricalitem/BatteryItem.java - -# ./src/main/java/mods/eln/item/electricalitem/ElectricalLampItem.java -Off=Off -On=On -State\:=State\: -Stored_Energy\:_%sJ_(%s)=Stored Energy\: %sJ (%s) - -# ./src/main/java/mods/eln/item/regulator/RegulatorSlot.java - -# ./src/main/java/mods/eln/misc/UtilsClient.java -Hold_shift=Hold shift - -# ./src/main/java/mods/eln/misc/Version.java -mod.name=Electrical Age - -# ./src/main/java/mods/eln/node/six/SixNodeDescriptor.java - -# ./src/main/java/mods/eln/simplenode/energyconverter/EnergyConverterElnToOtherGui.java -Input_power_is_limited_to_%sW=Input power is limited to %sW - -# ./src/main/java/mods/eln/sixnode/LogicGate.kt -_O\:_= O\: - -# ./src/main/java/mods/eln/sixnode/TreeResinCollector/TreeResinCollectorDescriptor.java -Produces_Tree_Resin_over\ntime_when_put_on_a_tree.=Produces Tree Resin over\ntime when put on a tree. -This_block_can_only_be_placed_on_the_side_of_a_tree!=This block can only be placed on the side of a tree\! - -# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerContainer.java -Battery_slot=Battery slot - -# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerDescriptor.java -Can_be_used_to_recharge\nelectrical_items_like\:\nFlash_Light,_X-Ray_scanner\nand_Portable_Battery_...=Can be used to recharge\nelectrical items like\:\nFlash Light, X-Ray scanner\nand Portable Battery ... - -# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerGui.java - -# ./src/main/java/mods/eln/sixnode/diode/DiodeDescriptor.java -Electrical_current_can_only\nflow_through_the_diode\nfrom_anode_to_cathode=Electrical current can only\nflow through the diode\nfrom anode to cathode - -# ./src/main/java/mods/eln/sixnode/electricalalarm/ElectricalAlarmDescriptor.java -= -Emits_an_acoustic_alarm_if\nthe_input_signal_is_high=Emits an acoustic alarm if\nthe input signal is high - -# ./src/main/java/mods/eln/sixnode/electricalalarm/ElectricalAlarmGui.java -Sound_is_muted=Sound is muted -Sound_is_not_muted=Sound is not muted - -# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerContainer.java - -# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerDescriptor.java -Protects_electrical_components\nOpens_contact_if\:\n__-_Voltage_exceeds_a_certain_level\n-_Current_exceeds_the_cable_limit=Protects electrical components\nOpens contact if\:\n - Voltage exceeds a certain level\n- Current exceeds the cable limit - -# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerGui.java -Maximum_voltage_before_cutting_off=Maximum voltage before cutting off -Minimum_voltage_before_cutting_off=Minimum voltage before cutting off -Switch_is_off=Switch is off -Switch_is_on=Switch is on - -# ./src/main/java/mods/eln/sixnode/electricalcable/ElectricalCableDescriptor.java -A_signal_is_electrical_information\nwhich_must_be_between_0V_and_%sV=A signal is electrical information\nwhich must be between 0V and %sV -Cable_is_adapted_to_conduct\nelectrical_signals.=Cable is adapted to conduct\nelectrical signals. -Current\:_%sA=Current\: %sA -Not_adapted_to_transport_power.=Not adapted to transport power. -Save_usage\:=Save usage\: -Serial_resistance\:_%sΩ=Serial resistance\: %sΩ - -# ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerDescriptor.java -It_can_store_up_to_256_points.=It can store up to 256 points. -Measures_the_voltage_of_an\nelectrical_signal_and_plots\nthe_data_in_real_time.=Measures the voltage of an\nelectrical signal and plots\nthe data in real time. - -# ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerGui.java -Back_to_display=Back to display -Configuration=Configuration -Current_[A]=Current [A] -Energy_[J]=Energy [J] -Percent_[-]%=Percent [-]% -Power_[W]=Power [W] -Print=Print -Sampling_period=Sampling period -Temp._[*C]=Temp. [*C] -Voltage_[V]=Voltage [V] -Y-axis_max=Y-axis max -Y-axis_min=Y-axis min - -# ./src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorContainer.java - -# ./src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorDescriptor.java -Output_voltage_increases\nif_entities_are_moving_around.=Output voltage increases\nif entities are moving around. - -# ./src/main/java/mods/eln/sixnode/electricalfiredetector/ElectricalFireDetectorDescriptor.java -Output_voltage_increases\nif_a_fire_has_been_detected.=Output voltage increases\nif a fire has been detected. - -# ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceDescriptor.java -Provides_configurable_signal\nvoltage.=Provides configurable signal\nvoltage. - -# ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceGui.java -Output_at_%s=Output at %s - -# ./src/main/java/mods/eln/sixnode/electricallightsensor/ElectricalLightSensorDescriptor.java -0V_at_night,_%sV_at_noon.=0V at night, %sV at noon. -Provides_an_electrical_voltage\nin_the_presence_of_light.=Provides an electrical voltage\nin the presence of light. -Provides_an_electrical_voltage\nwhich_is_proportional_to\nthe_intensity_of_daylight.=Provides an electrical voltage\nwhich is proportional to\nthe intensity of daylight. - -# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathContainer.java - -# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathDescriptor.java -Applicable_boolean_operators\:=Applicable boolean operators\: -Applicable_functions\:=Applicable functions\: -Applicable_mathematical_operators\:=Applicable mathematical operators\: -Calculates_an_output_signal_from\n3_inputs_(A,_B,_C)_using_an_equation.=Calculates an output signal from\n3 inputs (A, B, C) using an equation. - -# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathGui.java -%s_Redstone(s)_required=%s Redstone(s) required -Equation_required!=Equation required\! -Inputs_are=Inputs are -Invalid_equation!=Invalid equation\! -Output_voltage_formula=Output voltage formula -Waiting_for_completion...=Waiting for completion... - -# ./src/main/java/mods/eln/sixnode/electricalredstoneinput/ElectricalRedstoneInputDescriptor.java -Converts_Redstone_signal\nto_an_electrical_voltage.=Converts Redstone signal\nto an electrical voltage. - -# ./src/main/java/mods/eln/sixnode/electricalredstoneoutput/ElectricalRedstoneOutputDescriptor.java -Converts_electrical_voltage\ninto_a_Redstone_signal.=Converts electrical voltage\ninto a Redstone signal. - -# ./src/main/java/mods/eln/sixnode/electricalrelay/ElectricalRelayDescriptor.java -A_relay_is_an_electrical\ncontact_that_conducts_electric\ncurrent_or_not,_depending\nthe_actual_input_signal_voltage.=A relay is an electrical\ncontact that conducts electric\ncurrent or not, depending\nthe actual input signal voltage. - -# ./src/main/java/mods/eln/sixnode/electricalrelay/ElectricalRelayGui.java -Normally_closed=Normally closed -Normally_open=Normally open - -# ./src/main/java/mods/eln/sixnode/electricalsource/ElectricalSourceDescriptor.java -Creative_block.=Creative block. -Provides_an_ideal_voltage_source\nwithout_energy_or_power_limitation.=Provides an ideal voltage source\nwithout energy or power limitation. - -# ./src/main/java/mods/eln/sixnode/electricalsource/ElectricalSourceGui.java -Output_voltage=Output voltage - -# ./src/main/java/mods/eln/sixnode/electricalswitch/ElectricalSwitchDescriptor.java -Can_break_an_electrical_circuit\ninterrupting_the_current.=Can break an electrical circuit\ninterrupting the current. - -# ./src/main/java/mods/eln/sixnode/electricaltimeout/ElectricalTimeoutDescriptor.java -Upon_application_of_a_high_signal,\nthe_timer_maintains_the_output_high_for\na_configurable_interval._Can_be_re-triggered.=Upon application of a high signal,\nthe timer maintains the output high for\na configurable interval. Can be re-triggered. - -# ./src/main/java/mods/eln/sixnode/electricaltimeout/ElectricalTimeoutGui.java -Set=Set -The_time_interval_the\noutput_is_kept_high.=The time interval the\noutput is kept high. - -# ./src/main/java/mods/eln/sixnode/electricalvumeter/ElectricalVuMeterDescriptor.java -Displays_the_value_of_a_signal.=Displays the value of a signal. - -# ./src/main/java/mods/eln/sixnode/electricalwatch/ElectricalWatchContainer.java -Portable_battery_slot=Portable battery slot - -# ./src/main/java/mods/eln/sixnode/electricalweathersensor/ElectricalWeatherSensorDescriptor.java -Clear\:_%sV=Clear\: %sV -Provides_an_electrical_signal\ndepending_the_actual_weather.=Provides an electrical signal\ndepending the actual weather. -Rain\:_%sV=Rain\: %sV -Storm\:_%sV=Storm\: %sV - -# ./src/main/java/mods/eln/sixnode/electricalwindsensor/ElectricalWindSensorDescriptor.java -Maximum_wind_speed_is_%sm_s=Maximum wind speed is %sm/s -Provides_an_electrical_signal\ndependant_on_wind_speed.=Provides an electrical signal\ndependant on wind speed. -You_can't_place_this_block_on_the_floor_or_the_ceiling=You can't place this block on the floor or the ceiling - -# ./src/main/java/mods/eln/sixnode/electricasensor/ElectricalSensorDescriptor.java -Can_measure_Voltage_Power_Current=Can measure Voltage/Power/Current -Measures_electrical_values_on_cables.=Measures electrical values on cables. -Measures_voltage_on_cables.=Measures voltage on cables. - -# ./src/main/java/mods/eln/sixnode/electricasensor/ElectricalSensorGui.java -Current=Current -Measured_voltage\ncorresponding\nto_0%_output=Measured voltage\ncorresponding\nto 0% output -Measured_voltage\ncorresponding\nto_100%_output=Measured voltage\ncorresponding\nto 100% output -Voltage=Voltage - -# ./src/main/java/mods/eln/sixnode/energymeter/EnergyMeterGui.java -Change_password=Change password -Counter_Mode=Counter Mode -Counts_the_energy_conducted_from\n\u00a74red\u00a7f_to_\u00a71blue\u00a7f.=Counts the energy conducted from\n\\u00a74red\\u00a7f to \\u00a71blue\\u00a7f. -Energy_counter\:_%sJ=Energy counter\: %sJ -Enter_new_energy=Enter new energy -Enter_password=Enter password -Prepay_Mode=Prepay Mode -Reset_time_counter=Reset time counter -Set_energy_counter=Set energy counter -Time_counter\:=Time counter\: -Try_password=Try password -You_can_set_an_initial\namount_of_available_energy.\nWhen_the_counter_arrives_at_0\nthe_contact_will_be_opened.=You can set an initial\namount of available energy.\nWhen the counter arrives at 0\nthe contact will be opened. -is_off=is off -is_on=is on -value_in_kJ=value in kJ - -# ./src/main/java/mods/eln/sixnode/groundcable/GroundCableDescriptor.java -Can_be_used_to_set_a_point_of_an\nelectrical_network_to_0V_potential.\nFor_example_to_ground_negative_battery_contacts.=Can be used to set a point of an\nelectrical network to 0V potential.\nFor example to ground negative battery contacts. -Provides_a_zero_volt_reference.=Provides a zero volt reference. - -# ./src/main/java/mods/eln/sixnode/hub/HubDescriptor.java -Allows_crossing_cables\non_one_single_block.=Allows crossing cables\non one single block. - -# ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketDescriptor.java -Angle\:_%s°_to_%s°=Angle\: %s° to %s° -Spot_range\:_%s_blocks=Spot range\: %s blocks - -# ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketGuiDraw.java -%s_is_not_in_range!=%s is not in range\! -Cable_slot_empty=Cable slot empty -Orientation\:_%s°=Orientation\: %s° -Parallel=Parallel -Powered_by_Lamp_Supply=Powered by Lamp Supply -Powered_by_cable=Powered by cable -Serial=Serial -Specify_the_supply_channel=Specify the supply channel - -# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyContainer.java -Electrical_cable_slot\nBase_range_is_32_blocks.\nEach_additional_cable\nincreases_range_by_one.=Electrical cable slot\nBase range is 32 blocks.\nEach additional cable\nincreases range by one. - -# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyDescriptor.java -Supplies_all_lamps_on_the_channel.=Supplies all lamps on the channel. - -# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyGui.java -Power_channel_name=Power channel name -Wireless_channel_name=Wireless channel name - -# ./src/main/java/mods/eln/sixnode/modbusrtu/ModbusRtuGui.java -Add=Add -Channel_name=Channel name -Modbus_ID=Modbus ID -Modbus_RTU=Modbus RTU -Station_ID=Station ID -Station_name=Station name -Wireless_RX=Wireless RX -Wireless_TX=Wireless TX - -# ./src/main/java/mods/eln/sixnode/powercapacitorsix/PowerCapacitorSixContainer.java -(Increases_maximum_voltage)=(Increases maximum voltage) - -# ./src/main/java/mods/eln/sixnode/powercapacitorsix/PowerCapacitorSixGui.java - -# ./src/main/java/mods/eln/sixnode/powerinductorsix/PowerInductorSixContainer.java - -# ./src/main/java/mods/eln/sixnode/powerinductorsix/PowerInductorSixGui.java - -# ./src/main/java/mods/eln/sixnode/powersocket/PowerSocketDescriptor.java -Supplies_any_device\nplugged_in_with_energy.=Supplies any device\nplugged in with energy. - -# ./src/main/java/mods/eln/sixnode/powersocket/PowerSocketGui.java -Specify_the_device_to_supply_through_this_socket.=Specify the device to supply through this socket. - -# ./src/main/java/mods/eln/sixnode/resistor/ResistorContainer.java -(Sets_resistance)=(Sets resistance) -Coal_dust_slot=Coal dust slot - -# ./src/main/java/mods/eln/sixnode/thermalcable/ThermalCableDescriptor.java -High_parallel_resistance\n_\=>_Low_power_dissipation.=High parallel resistance\n \=> Low power dissipation. -Low_serial_resistance\n_\=>_High_conductivity.=Low serial resistance\n \=> High conductivity. -Parallel_resistance\:_%sK_W=Parallel resistance\: %sK/W -Serial_resistance\:_%sK_W=Serial resistance\: %sK/W - -# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorContainer.java -Cable_slot=Cable slot - -# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorDescriptor.java -Can_measure\:=Can measure\: -Measures_temperature_of_cables.=Measures temperature of cables. -Measures_thermal_values_on_cables.=Measures thermal values on cables. -__Temperature_Power_conducted=Temperature/Power conducted - -# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorGui.java -Measured_temperature\ncorresponding\nto_0%_output=Measured temperature\ncorresponding\nto 0% output -Measured_temperature\ncorresponding\nto_100%_output=Measured temperature\ncorresponding\nto 100% output -Temperature=Temperature - -# ./src/main/java/mods/eln/sixnode/tutorialsign/TutorialSignElement.java -No_text_associated_to_this_beacon=No text associated to this beacon - -# ./src/main/java/mods/eln/sixnode/tutorialsign/TutorialSignGui.java -Set_beacon_name=Set beacon name - -# ./src/main/java/mods/eln/sixnode/wirelesssignal/rx/WirelessSignalRxGui.java - -# ./src/main/java/mods/eln/transparentnode/FuelGenerator.kt -Nominal_power\:_%s_W=Nominal power\: %s W -Nominal_voltage\:_%s_V=Nominal voltage\: %s V -Produces_electricity_using_fuel.=Produces electricity using fuel. - -# ./src/main/java/mods/eln/transparentnode/LargeRheostat.kt -Nom._Resistance\:_%s=Nom. Resistance\: %s - -# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerContainer.java -Drill_slot=Drill slot -Mining_pipe_slot=Mining pipe slot -Ore_scanner_slot=Ore scanner slot - -# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerDescriptor.java -Excavates_on_a_small_radius.\nExtracts_ore_on_a_bigger_radius\:\n10_blocks_radius_after_10_blocks_depth.=Excavates on a small radius.\nExtracts ore on a bigger radius\:\n10 blocks radius after 10 blocks depth. - -# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerGuiDraw.java -Chest_missing_on_the\nback_of_the_auto_miner!=Chest missing on the\nback of the auto miner\! -Halves_speed,_triples_power_draw=Halves speed, triples power draw -Silk_Touch_Off=Silk Touch Off -Silk_Touch_On=Silk Touch On -Silk_touch=Silk touch - -# ./src/main/java/mods/eln/transparentnode/battery/BatteryContainer.java -Overheating_protection=Overheating protection -Overvoltage_protection=Overvoltage protection - -# ./src/main/java/mods/eln/transparentnode/battery/BatteryDescriptor.java -Actual_charge\:_%s=Actual charge\: %s -Energy_capacity\:_%sJ=Energy capacity\: %sJ -_charged_at_%s=charged at %s - -# ./src/main/java/mods/eln/transparentnode/battery/BatteryGuiDraw.java -Charge=Charge -Charged=Charged -Discharge=Discharge -Energy\:=Energy\: -Energy\:_%s=Energy\: %s -Life\:=Life\: -No_charge=No charge -Power_in\:=Power in\: -Power_out\:=Power out\: - -# ./src/main/java/mods/eln/transparentnode/eggincubator/EggIncubatorContainer.java -Egg_slot=Egg slot - -# ./src/main/java/mods/eln/transparentnode/electricalantennarx/ElectricalAntennaRxDescriptor.java -Wireless_energy_receiver.=Wireless energy receiver. - -# ./src/main/java/mods/eln/transparentnode/electricalantennatx/ElectricalAntennaTxDescriptor.java -Efficiency\:_%s_up_to_%s=Efficiency\: %s up to %s -Wireless_energy_transmitter.=Wireless energy transmitter. - -# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceContainer.java -Heating_corp_slot=Heating corp slot - -# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceDescriptor.java -Similar_to_a_vanilla_furnace,\nbut_heats_with_electricity.=Similar to a vanilla furnace,\nbut heats with electricity. - -# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceGuiDraw.java -Auto_shutdown=Auto shutdown -Manual_shutdown=Manual shutdown -Set_point\:_%s°C=Set point\: %s°C - -# ./src/main/java/mods/eln/transparentnode/electricalmachine/ElectricalMachineDescriptor.java -Cost=Cost - -# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceContainer.java -Combustion_chamber_slot=Combustion chamber slot -Fuel_slot=Fuel slot - -# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceDescriptor.java -Generates_heat_when_supplied_with_fuel.=Generates heat when supplied with fuel. - -# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceGuiDraw.java -Control_gauge_at_%s=Control gauge at %s -Decline_fuel=Decline fuel -External_control=External control -Internal_control=Internal control -Take_fuel=Take fuel - -# ./src/main/java/mods/eln/transparentnode/powercapacitor/PowerCapacitorContainer.java -(Increases_maximal_voltage)=(Increases maximal voltage) - -# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelContainer.java -Solar_tracker_slot=Solar tracker slot - -# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelDescriptor.java -Can_be_geared_towards_the_sun.=Can be geared towards the sun. -Max._power\:_%sW=Max. power\: %sW -Max._voltage\:_%sV=Max. voltage\: %sV -Produces_power_from_solar_radiation.=Produces power from solar radiation. - -# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPannelGuiDraw.java -It_is_night=It is night -Solar_panel_angle\:_%s°=Solar panel angle\: %s° -Sun_angle\:_%s°=Sun angle\: %s° - -# ./src/main/java/mods/eln/transparentnode/teleporter/TeleporterGui.java -Destination_transporter=Destination transporter -Power_consumption\:=Power consumption\: -Power_consumption\:_%sW=Power consumption\: %sW -Required_energy\:_%sJ=Required energy\: %sJ -Start=Start -Transporter_name=Transporter name - -# ./src/main/java/mods/eln/transparentnode/thermaldissipatoractive/ThermalDissipatorActiveDescriptor.java -Fan_cooling_power\:_%sW=Fan cooling power\: %sW -Fan_power_consumption\:_%sW=Fan power consumption\: %sW -Fan_voltage\:_%sV=Fan voltage\: %sV - -# ./src/main/java/mods/eln/transparentnode/transformer/TransformerDescriptor.java -The_voltage_ratio_is_proportional\nto_the_cable_stacks_count_ratio.=The voltage ratio is proportional\nto the cable stacks count ratio. -Transforms_an_input_voltage_to\nan_output_voltage.=Transforms an input voltage to\nan output voltage. - -# ./src/main/java/mods/eln/transparentnode/turbine/TurbineDescriptor.java -Generates_electricity_using_heat.=Generates electricity using heat. -Temperature_difference\:_%s°C=Temperature difference\: %s°C - -# ./src/main/java/mods/eln/transparentnode/turret/TurretDescriptor.java -CAUTION\:_Cables_can_get_quite_hot!=CAUTION\: Cables can get quite hot\! -Laser_charge_power\:_%sW...%skW=Laser charge power\: %sW...%skW -Scans_for_entities_and_shoots_if_the\nentity_matches_the_configurable_filter_criteria.=Scans for entities and shoots if the\nentity matches the configurable filter criteria. -Standby_power\:_%sW=Standby power\: %sW - -# ./src/main/java/mods/eln/transparentnode/turret/TurretGui.java -Attack\:=Attack\: -Do_not_attack\:=Do not attack\: -Recharge_power\:=Recharge power\: - -# ./src/main/java/mods/eln/transparentnode/waterturbine/WaterTurbineDescriptor.java -Generates_energy_using_water_stream.=Generates energy using water stream. -No_place_for_water_turbine!=No place for water turbine\! - -# ./src/main/java/mods/eln/transparentnode/windturbine/WindTurbineDescriptor.java -Front\:_%s=Front\: %s -Generates_energy_from_wind.=Generates energy from wind. -Left_Right\:_%s=Left/Right\: %s -Up_Down\:_%s=Up/Down\: %s -Wind_area\:=Wind area\: - -# ./src/main/java/mods/eln/wiki/Data.java -Energy=Energy -Light=Light -Machine=Machine -Ore=Ore -Portable=Portable -Resource=Resource -Signal=Signal -Thermal=Thermal -Upgrade=Upgrade -Utilities=Utilities -Wiring=Wiring - -# ./src/main/java/mods/eln/wiki/Default.java -Previous=Previous - -# ./src/main/java/mods/eln/wiki/ItemDefault.java -Can_be_used_to_craft\:=Can be used to craft\: -Cannot_be_crafted!=Cannot be crafted\! -Cost_%sJ=Cost %sJ -Created_by\:=Created by\: -Is_not_a_crafting_material!=Is not a crafting material\! -Recipe\:=Recipe\: - -# Appearing in multiple source files -(Increases_capacity)=(Increases capacity) -(Increases_inductance)=(Increases inductance) -Actual\:_%s°C=Actual\: %s°C -Biggest=Biggest -Booster_slot=Booster slot -Can_create\:=Can create\: -Capacity\:_%sF=Capacity\: %sF -Charge_power\:_%sW=Charge power\: %sW -Connected=Connected -Cooling_power\:_%sW=Cooling power\: %sW -Copper_cable_slot=Copper cable slot -Dielectric_slot=Dielectric slot -Discharge_power\:_%sW=Discharge power\: %sW -Electrical_cable_slot=Electrical cable slot -Entity_filter_slot=Entity filter slot -Ferromagnetic_core_slot=Ferromagnetic core slot -Has_a_signal_output.=Has a signal output. -Inductance\:_%sH=Inductance\: %sH -Internal_resistance\:_%sΩ=Internal resistance\: %sΩ -Is_off=Is off -Is_on=Is on -Max._temperature\:_%s°C=Max. temperature\: %s°C -Measured_value\ncorresponding\nto_0%_output=Measured value\ncorresponding\nto 0% output -Measured_value\ncorresponding\nto_100%_output=Measured value\ncorresponding\nto 100% output -Nominal\:=Nominal\: -Nominal_power\:_%sW=Nominal power\: %sW -Nominal_usage\:=Nominal usage\: -Nominal_voltage\:_%sV=Nominal voltage\: %sV -Not_connected=Not connected -Not_enough_space_for_this_block=Not enough space for this block -Power=Power -Power\:_%sW=Power\: %sW -Range\:_%s_blocks=Range\: %s blocks -Redstone_slot=Redstone slot -Regulator_slot=Regulator slot -Reset=Reset -Resistance\:_%sΩ=Resistance\: %sΩ -Smallest=Smallest -Specify_the_channel=Specify the channel -Stored_energy\:_%sJ_(%s)=Stored energy\: %sJ (%s) -Temperature\:_%s°C=Temperature\: %s°C -Temperature_gauge=Temperature gauge -Thermal_isolator_slot=Thermal isolator slot -Toggle=Toggle -Toggle_switch=Toggle switch -Toggles_the_output_each_time\nan_emitter's_value_rises.\nUseful_to_allow_multiple_buttons\nto_control_the_same_light.=Toggles the output each time\nan emitter's value rises.\nUseful to allow multiple buttons\nto control the same light. -Used_to_cool_down_turbines.=Used to cool down turbines. -Uses_the_biggest\nvalue_on_the_channel.=Uses the biggest\nvalue on the channel. -Uses_the_smallest\nvalue_on_the_channel.=Uses the smallest\nvalue on the channel. -Validate=Validate -Voltage\:_%sV=Voltage\: %sV -You_can't_place_this_block_at_this_side=You can't place this block at this side +eln:# +eln: +eln:# ./src/main/java/mods/eln/Achievements.java +eln:Electrical_Age_[WIP]=Electrical Age [WIP] +eln:achievement.craft_50v_macerator=Crushing Novice +eln:achievement.craft_50v_macerator.desc=Craft a 50V Macerator +eln:achievement.open_guide=Wiki Power +eln:achievement.open_guide.desc=Open the wiki guide +eln: +eln:# ./src/main/java/mods/eln/Eln.java +eln:10A_Diode.name=10A Diode +eln:200V_Active_Thermal_Dissipator.name=200V Active Thermal Dissipator +eln:200V_Battery_Charger.name=200V Batterilader +eln:200V_Compressor.name=200V Kompressor +eln:200V_Condensator.name=200V Kondensator +eln:200V_Copper_Heating_Corp.name=200V Copper Heating Corp +eln:200V_Economic_Light_Bulb.name=200V Economic Light Bulb +eln:200V_Farming_Lamp.name=200V Farming Lamp +eln:200V_Fuel_Generator.name=200V Fuel Generator +eln:200V_Incandescent_Light_Bulb.name=200V Incandescent Light Bulb +eln:200V_Iron_Heating_Corp.name=200V Iron Heating Corp +eln:200V_LED_Bulb.name=200V LED Bulb +eln:200V_Macerator.name=200V Macerator +eln:200V_Magnetizer.name=200V Magnetizer +eln:200V_Plate_Machine.name=200V Platemaskin +eln:200V_Power_Socket.name=200V Power Socket +eln:200V_Tungsten_Heating_Corp.name=200V Tungsten Heating Corp +eln:200V_Turbine.name=200V Turbine +eln:25A_Diode.name=25A Diode +eln:50V_Battery_Charger.name=50V Battery Charger +eln:50V_Carbon_Incandescent_Light_Bulb.name=50V Carbon Incandescent Light Bulb +eln:50V_Compressor.name=50V Compressor +eln:50V_Condensator.name=50V Condensator +eln:50V_Copper_Heating_Corp.name=50V Copper Heating Corp +eln:50V_Economic_Light_Bulb.name=50V Economic Light Bulb +eln:50V_Egg_Incubator.name=50V Egg Incubator +eln:50V_Farming_Lamp.name=50V Farming Lamp +eln:50V_Fuel_Generator.name=50V Fuel Generator +eln:50V_Incandescent_Light_Bulb.name=50V Incandescent Light Bulb +eln:50V_Iron_Heating_Corp.name=50V Iron Heating Corp +eln:50V_LED_Bulb.name=50V LED Bulb +eln:50V_Macerator.name=50V Macerator +eln:50V_Magnetizer.name=50V Magnetizer +eln:50V_Plate_Machine.name=50V Plate Machine +eln:50V_Power_Socket.name=50V Power Socket +eln:50V_Tungsten_Heating_Corp.name=50V Tungsten Heating Corp +eln:50V_Turbine.name=50V Turbine +eln:800V_Defence_Turret.name=800V Defence Turret +eln:AND_Chip.name=AND Chip +eln:Advanced_Chip.name=Avansert Mikrobrikke +eln:Advanced_Electrical_Motor.name=Avansert Elektrisk Motor +eln:Advanced_Energy_Meter.name=Advanced Energy Meter +eln:Advanced_Machine_Block.name=Advanced Machine Block +eln:Advanced_Magnet.name=Advanced Magnet +eln:AllMeter.name=Universal-Meter +eln:Alloy_Dust.name=Alloy Dust +eln:Alloy_Ingot.name=Alloy Ingot +eln:Alloy_Plate.name=Alloy Plate +eln:Analog_Watch.name=Analog watch +eln:Analog_vuMeter.name=Analog Gauge +eln:Analogic_Regulator.name=Analogic Regulator +eln:Animal_Filter.name=Animal Filter +eln:Auto_Miner.name=Auto Miner +eln:Average_Electrical_Drill.name=Average Electrical Drill +eln:Average_Ferromagnetic_Core.name=Average Ferromagnetic Core +eln:Basic_Magnet.name=Basic Magnet +eln:Black_Brush.name=Black Brush +eln:Blue_Brush.name=Blue Brush +eln:Brown_Brush.name=Brown Brush +eln:Capacity_Oriented_Battery.name=Capacity Oriented Battery +eln:Cheap_Chip.name=Cheap Chip +eln:Cheap_Electrical_Drill.name=Cheap Electrical Drill +eln:Cheap_Ferromagnetic_Core.name=Cheap Ferromagnetic Core +eln:Cinnabar_Dust.name=Cinnabar Dust +eln:Cinnabar_Ore.name=Cinnabar Ore +eln:Coal_Dust.name=Coal Dust +eln:Coal_Plate.name=Coal Plate +eln:Combustion_Chamber.name=Combustion Chamber +eln:Copper_Cable.name=Copper Cable +eln:Copper_Dust.name=Copper Dust +eln:Copper_Ingot.name=Copper Ingot +eln:Copper_Ore.name=Copper Ore +eln:Copper_Plate.name=Copper Plate +eln:Copper_Thermal_Cable.name=Copper Thermal Cable +eln:Cost_Oriented_Battery.name=Cost Oriented Battery +eln:Current_Oriented_Battery.name=Current Oriented Battery +eln:Cyan_Brush.name=Cyan Brush +eln:D_Flip_Flop_Chip.name=D Flip Flop Chip +eln:Data_Logger.name=Data Logger +eln:Data_Logger_Print.name=Data Logger Print +eln:Dielectric.name=Dielectric +eln:Digital_Watch.name=Digital Watch +eln:Electrical_Anemometer_Sensor.name=Electrical Anemometer Sensor +eln:Electrical_Breaker.name=Electrical Breaker +eln:Electrical_Daylight_Sensor.name=Electrical Daylight Sensor +eln:Electrical_Entity_Sensor.name=Electrical Entity Sensor +eln:Electrical_Fire_Detector.name=Electrical Fire Detector +eln:Electrical_Furnace.name=Electrical Furnace +eln:Electrical_Light_Sensor.name=Electrical Light Sensor +eln:Electrical_Motor.name=Electrical Motor +eln:Electrical_Probe.name=Electrical Probe +eln:Electrical_Probe_Chip.name=Electrical Probe Chip +eln:Electrical_Source.name=Electrical Source +eln:Electrical_Timer.name=Electrical Timer +eln:Electrical_Weather_Sensor.name=Electrical Weather Sensor +eln:Electrical_age_wrench,\nCan_be_used_to_turn\nsmall_wall_blocks=Electrical age wrench,\nCan be used to turn\nsmall wall blocks +eln:Energy_Meter.name=Energy Meter +eln:Experimental_Transporter.name=Experimental Transporter +eln:Fast_Electrical_Drill.name=Fast Electrical Drill +eln:Ferrite_Ingot.name=Ferrite Ingot +eln:Flat_Lamp_Socket.name=Flat Lamp Socket +eln:Fluorescent_Lamp_Socket.name=Fluorescent Lamp Socket +eln:Generator.name=Generator +eln:Gold_Dust.name=Gold Dust +eln:Gold_Plate.name=Gold Plate +eln:Gray_Brush.name=Gray Brush +eln:Green_Brush.name=Green Brush +eln:Ground_Cable.name=Ground Cable +eln:High_Power_Receiver_Antenna.name=High Power Receiver Antenna +eln:High_Power_Transmitter_Antenna.name=High Power Transmitter Antenna +eln:High_Voltage_Cable.name=High Voltage Cable +eln:High_Voltage_Relay.name=High Voltage Relay +eln:High_Voltage_Switch.name=High Voltage Switch +eln:Hub.name=Hub +eln:Industrial_Data_Logger.name=Industrial Data Logger +eln:Iron_Cable.name=Iron Cable +eln:Iron_Dust.name=Iron Dust +eln:Iron_Plate.name=Iron Plate +eln:JK_Flip_Flop_Chip.name=JK Flip Flop Chip +eln:LED_vuMeter.name=LED vuMeter +eln:Lamp_Socket_A.name=Lamp Socket A +eln:Lamp_Socket_B_Projector.name=Lamp Socket B Projector +eln:Lamp_Supply.name=Lamp Supply +eln:Large_Rheostat.name=Large Rheostat +eln:Lead_Dust.name=Lead Dust +eln:Lead_Ingot.name=Lead Ingot +eln:Lead_Ore.name=Lead Ore +eln:Lead_Plate.name=Lead Plate +eln:Life_Oriented_Battery.name=Life Oriented Battery +eln:Light_Blue_Brush.name=Light Blue Brush +eln:Lime_Brush.name=Lime Brush +eln:Long_Suspended_Lamp_Socket.name=Long Suspended Lamp Socket +eln:Low_Power_Receiver_Antenna.name=Low Power Receiver Antenna +eln:Low_Power_Transmitter_Antenna.name=Low Power Transmitter Antenna +eln:Low_Voltage_Cable.name=Low Voltage Cable +eln:Low_Voltage_Relay.name=Low Voltage Relay +eln:Low_Voltage_Switch.name=Low Voltage Switch +eln:Machine_Block.name=Machine Block +eln:Machine_Booster.name=Machine Booster +eln:Magenta_Brush.name=Magenta Brush +eln:Medium_Power_Receiver_Antenna.name=Medium Power Receiver Antenna +eln:Medium_Power_Transmitter_Antenna.name=Medium Power Transmitter Antenna +eln:Medium_Voltage_Cable.name=Medium Voltage Cable +eln:Medium_Voltage_Relay.name=Medium Voltage Relay +eln:Medium_Voltage_Switch.name=Medium Voltage Switch +eln:Mercury.name=Mercury +eln:Mining_Pipe.name=Mining Pipe +eln:Modbus_RTU.name=Modbus RTU +eln:Modern_Data_Logger.name=Modern Data Logger +eln:Monster_Filter.name=Monster Filter +eln:MultiMeter.name=Multimeter +eln:NAND_Chip.name=NAND Chip +eln:NOR_Chip.name=NOR Chip +eln:NOT_Chip.name=NOT Chip +eln:Nuclear_Alarm.name=Nuclear Alarm +eln:OR_Chip.name=OR Chip +eln:On_OFF_Regulator_10_Percent.name=On/off regulator 10% +eln:On_OFF_Regulator_1_Percent.name=On/off regulator 1% +eln:Optimal_Ferromagnetic_Core.name=Optimal Ferromagnetic Core +eln:Orange_Brush.name=Orange Brush +eln:Ore_Scanner.name=Ore Scanner +eln:Oscillator_Chip.name=Oscillator Chip +eln:Overheating_Protection.name=Overheating Protection +eln:Overvoltage_Protection.name=Overvoltage Protection +eln:PAL_Chip.name=PAL Chip +eln:Pink_Brush.name=Pink Brush +eln:Player_Filter.name=Player Filter +eln:Portable_Battery.name=Portable Battery +eln:Portable_Battery_Pack.name=Portable Battery Pack +eln:Portable_Condensator.name=Portable Condensator +eln:Portable_Condensator_Pack.name=Portable Condensator Pack +eln:Portable_Electrical_Axe.name=Portable Electrical Axe +eln:Portable_Electrical_Mining_Drill.name=Portable Electrical Mining Drill +eln:Power_Capacitor.name=Power Capacitor +eln:Power_Inductor.name=Power Inductor +eln:Power_Resistor.name=Power Resistor +eln:Power_capacitor.name=Power capacitor +eln:Power_inductor.name=Power inductor +eln:Purple_Brush.name=Purple Brush +eln:Red_Brush.name=Red Brush +eln:Redstone-to-Voltage_Converter.name=Redstone-to-Voltage Converter +eln:Rheostat.name=Rheostat +eln:Robust_Lamp_Socket.name=Robust Lamp Socket +eln:Rubber.name=Rubber +eln:Schmitt_Trigger_Chip.name=Schmitt Trigger Chip +eln:Sconce_Lamp_Socket.name=Sconce Lamp Socket +eln:Signal_20H_inductor.name=Signal 20H inductor +eln:Signal_Antenna.name=Signal Antenna +eln:Signal_Button.name=Signal Button +eln:Signal_Cable.name=Signal Cable +eln:Signal_Diode.name=Signal Diode +eln:Signal_Processor.name=Signal Processor +eln:Signal_Relay.name=Signal Relay +eln:Signal_Source.name=Signal Source +eln:Signal_Switch.name=Signal Switch +eln:Signal_Switch_with_LED.name=Signal Switch with LED +eln:Signal_Trimmer.name=Signal Trimmer +eln:Silicon_Dust.name=Silicon Dust +eln:Silicon_Ingot.name=Silicon Ingot +eln:Silicon_Plate.name=Silicon Plate +eln:Silver_Brush.name=Silver Brush +eln:Simple_Lamp_Socket.name=Simple Lamp Socket +eln:Single-use_Battery.name=Single-use Battery +eln:Small_200V_Copper_Heating_Corp.name=Small 200V Copper Heating Corp +eln:Small_200V_Iron_Heating_Corp.name=Small 200V Iron Heating Corp +eln:Small_200V_Tungsten_Heating_Corp.name=Small 200V Tungsten Heating Corp +eln:Small_50V_Carbon_Incandescent_Light_Bulb.name=Small 50V Carbon Incandescent Light Bulb +eln:Small_50V_Copper_Heating_Corp.name=Small 50V Copper Heating Corp +eln:Small_50V_Economic_Light_Bulb.name=Small 50V Economic Light Bulb +eln:Small_50V_Incandescent_Light_Bulb.name=Small 50V Incandescent Light Bulb +eln:Small_50V_Iron_Heating_Corp.name=Small 50V Iron Heating Corp +eln:Small_50V_Tungsten_Heating_Corp.name=Small 50V Tungsten Heating Corp +eln:Small_Active_Thermal_Dissipator.name=Small Active Thermal Dissipator +eln:Small_Flashlight.name=Small Flashlight +eln:Small_Passive_Thermal_Dissipator.name=Small Passive Thermal Dissipator +eln:Small_Rotating_Solar_Panel.name=Small Rotating Solar Panel +eln:Small_Solar_Panel.name=Small Solar Panel +eln:Solar_Tracker.name=Solar Tracker +eln:Standard_Alarm.name=Standard Alarm +eln:Steam_Turbine.name=Steam Turbine +eln:Stone_Heat_Furnace.name=Stone Heat Furnace +eln:Street_Light.name=Streetlight +eln:Suspended_Lamp_Socket.name=Suspended Lamp Socket +eln:Temperature_Probe.name=Temperature Probe +eln:Thermal_Probe.name=Thermal Probe +eln:Thermal_Probe_Chip.name=Thermal Probe Chip +eln:Thermistor.name=Thermistor +eln:ThermoMeter.name=Thermometer +eln:Transformer.name=Transformer +eln:Tree_Resin.name=Tree Resin +eln:Tree_Resin_Collector.name=Tree Resin Collector +eln:Tungsten_Cable.name=Tungsten Cable +eln:Tungsten_Dust.name=Tungsten Dust +eln:Tungsten_Ingot.name=Tungsten Ingot +eln:Tungsten_Ore.name=Tungsten Ore +eln:Tutorial_Sign.name=Tutorial Sign +eln:Very_High_Voltage_Cable.name=Very High Voltage Cable +eln:Very_High_Voltage_Relay.name=Very High Voltage Relay +eln:Very_High_Voltage_Switch.name=Very High Voltage Switch +eln:Voltage-to-Redstone_Converter.name=Voltage-to-Redstone Converter +eln:Voltage_Oriented_Battery.name=Voltage Oriented Battery +eln:Voltage_Probe.name=Voltage Probe +eln:Water_Turbine.name=Water Turbine +eln:Weak_50V_Battery_Charger.name=Weak 50V Battery Charger +eln:White_Brush.name=White Brush +eln:Wind_Turbine.name=Wind Turbine +eln:Wireless_Analyser.name=Wireless Analyzer +eln:Wireless_Button.name=Wireless Button +eln:Wireless_Signal_Receiver.name=Wireless Signal Receiver +eln:Wireless_Signal_Repeater.name=Wireless Signal Repeater +eln:Wireless_Signal_Transmitter.name=Wireless Signal Transmitter +eln:Wireless_Switch.name=Wireless Switch +eln:Wrench.name=Wrench +eln:X-Ray_Scanner.name=X-Ray Scanner +eln:XNOR_Chip.name=XNOR Chip +eln:XOR_Chip.name=XOR Chip +eln:Yellow_Brush.name=Yellow Brush +eln:entity.EAReplicator.name=Replicator +eln:item.Copper Axe.name\=Copper Axe +eln:item.Copper Axe.name\=Copper Axe +eln:item.Copper Axe.name\=Copper Axe +eln:item.Copper Axe.name\=Copper Axe +eln:item.Copper Axe.name\=Copper Axe +eln:item.Copper Axe.name\=Copper Axe +eln:item.Copper Axe.name\=Copper Axe +eln:item.Copper Axe.name\=Copper Axe +eln:item.Copper Axe.name\=Copper Axe +eln:item.E-Coal Boots.name\=E-Coal Boots +eln:item.E-Coal Boots.name\=E-Coal Boots +eln:item.E-Coal Boots.name\=E-Coal Boots +eln:item.E-Coal Boots.name\=E-Coal Boots +eln:itemGroup.Eln=Electrical Age +eln:mod.meta.desc=Electricity in your base\! +eln:tile.eln.ElnProbe.name=Eln Computer Probe +eln:tile.eln.EnergyConverterElnToOtherHVUBlock.name=800V Electrical Age to other energy exporter +eln:tile.eln.EnergyConverterElnToOtherLVUBlock.name=50V Electrical Age to other energy exporter +eln:tile.eln.EnergyConverterElnToOtherMVUBlock.name=200V Electrical Age to other energy exporter +eln: +eln:# ./src/main/java/mods/eln/i18n/I18N.java +eln:You_have_%s_lives_left=You have %s lives left +eln: +eln:# ./src/main/java/mods/eln/item/BrushDescriptor.java +eln:Brush_is_dry=Brush is dry +eln:Can_paint_%s_blocks=Can paint %s blocks +eln: +eln:# ./src/main/java/mods/eln/item/CombustionChamber.java +eln:Upgrade_for_the_Stone_Heat_Furnace.=Upgrade for the Stone Heat Furnace. +eln: +eln:# ./src/main/java/mods/eln/item/ElectricalDrillDescriptor.java +eln:Energy_per_operation\:_%sJ=Energy per operation\: %sJ +eln:Time_per_operation\:_%ss=Time per operation\: %ss +eln: +eln:# ./src/main/java/mods/eln/item/FerromagneticCoreDescriptor.java +eln:Cable_loss_factor\:_%s=Cable loss factor\: %s +eln: +eln:# ./src/main/java/mods/eln/item/HeatingCorpElement.java +eln: +eln:# ./src/main/java/mods/eln/item/LampDescriptor.java +eln:Bad=Bad +eln:Condition\:=Condition\: +eln:End_of_life=End of life +eln:Good=Good +eln:New=New +eln:Nominal_lifetime\:_%sh=Nominal lifetime\: %sh +eln:Technology\:_%s=Technology\: %s +eln:Used=Used +eln: +eln:# ./src/main/java/mods/eln/item/LampSlot.java +eln:Lamp_slot=Lamp slot +eln: +eln:# ./src/main/java/mods/eln/item/OverHeatingProtectionDescriptor.java +eln:Useful_to_prevent_overheating\nof_Batteries=Useful to prevent overheating\nof Batteries +eln: +eln:# ./src/main/java/mods/eln/item/OverVoltageProtectionDescriptor.java +eln:Useful_to_prevent_over-voltage\nof_Batteries=Useful to prevent over-voltage\nof Batteries +eln: +eln:# ./src/main/java/mods/eln/item/SolarTrackerDescriptor.java +eln:Solar_panel_upgrade=Solar panel upgrade +eln: +eln:# ./src/main/java/mods/eln/item/electricalitem/BatteryItem.java +eln: +eln:# ./src/main/java/mods/eln/item/electricalitem/ElectricalLampItem.java +eln:Off=Off +eln:On=On +eln:State\:=State\: +eln:Stored_Energy\:_%sJ_(%s)=Stored Energy\: %sJ (%s) +eln: +eln:# ./src/main/java/mods/eln/item/regulator/RegulatorSlot.java +eln: +eln:# ./src/main/java/mods/eln/misc/UtilsClient.java +eln:Hold_shift=Hold shift +eln: +eln:# ./src/main/java/mods/eln/misc/Version.java +eln:mod.name=Electrical Age +eln: +eln:# ./src/main/java/mods/eln/node/six/SixNodeDescriptor.java +eln: +eln:# ./src/main/java/mods/eln/simplenode/energyconverter/EnergyConverterElnToOtherGui.java +eln:Input_power_is_limited_to_%sW=Input power is limited to %sW +eln: +eln:# ./src/main/java/mods/eln/sixnode/LogicGate.kt +eln:_O\:_= O\: +eln: +eln:# ./src/main/java/mods/eln/sixnode/TreeResinCollector/TreeResinCollectorDescriptor.java +eln:Produces_Tree_Resin_over\ntime_when_put_on_a_tree.=Produces Tree Resin over\ntime when put on a tree. +eln:This_block_can_only_be_placed_on_the_side_of_a_tree!=This block can only be placed on the side of a tree\! +eln: +eln:# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerContainer.java +eln:Battery_slot=Battery slot +eln: +eln:# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerDescriptor.java +eln:Can_be_used_to_recharge\nelectrical_items_like\:\nFlash_Light,_X-Ray_scanner\nand_Portable_Battery_...=Can be used to recharge\nelectrical items like\:\nFlash Light, X-Ray scanner\nand Portable Battery ... +eln: +eln:# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerGui.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/diode/DiodeDescriptor.java +eln:Electrical_current_can_only\nflow_through_the_diode\nfrom_anode_to_cathode=Electrical current can only\nflow through the diode\nfrom anode to cathode +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalalarm/ElectricalAlarmDescriptor.java +eln:= +eln:Emits_an_acoustic_alarm_if\nthe_input_signal_is_high=Emits an acoustic alarm if\nthe input signal is high +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalalarm/ElectricalAlarmGui.java +eln:Sound_is_muted=Sound is muted +eln:Sound_is_not_muted=Sound is not muted +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerContainer.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerDescriptor.java +eln:Protects_electrical_components\nOpens_contact_if\:\n__-_Voltage_exceeds_a_certain_level\n-_Current_exceeds_the_cable_limit=Protects electrical components\nOpens contact if\:\n - Voltage exceeds a certain level\n- Current exceeds the cable limit +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerGui.java +eln:Maximum_voltage_before_cutting_off=Maximum voltage before cutting off +eln:Minimum_voltage_before_cutting_off=Minimum voltage before cutting off +eln:Switch_is_off=Switch is off +eln:Switch_is_on=Switch is on +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalcable/ElectricalCableDescriptor.java +eln:A_signal_is_electrical_information\nwhich_must_be_between_0V_and_%sV=A signal is electrical information\nwhich must be between 0V and %sV +eln:Cable_is_adapted_to_conduct\nelectrical_signals.=Cable is adapted to conduct\nelectrical signals. +eln:Current\:_%sA=Current\: %sA +eln:Not_adapted_to_transport_power.=Not adapted to transport power. +eln:Save_usage\:=Save usage\: +eln:Serial_resistance\:_%sΩ=Serial resistance\: %sΩ +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerDescriptor.java +eln:It_can_store_up_to_256_points.=It can store up to 256 points. +eln:Measures_the_voltage_of_an\nelectrical_signal_and_plots\nthe_data_in_real_time.=Measures the voltage of an\nelectrical signal and plots\nthe data in real time. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerGui.java +eln:Back_to_display=Back to display +eln:Configuration=Configuration +eln:Current_[A]=Current [A] +eln:Energy_[J]=Energy [J] +eln:Percent_[-]%=Percent [-]% +eln:Power_[W]=Power [W] +eln:Print=Print +eln:Sampling_period=Sampling period +eln:Temp._[*C]=Temp. [*C] +eln:Voltage_[V]=Voltage [V] +eln:Y-axis_max=Y-axis max +eln:Y-axis_min=Y-axis min +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorContainer.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorDescriptor.java +eln:Output_voltage_increases\nif_entities_are_moving_around.=Output voltage increases\nif entities are moving around. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalfiredetector/ElectricalFireDetectorDescriptor.java +eln:Output_voltage_increases\nif_a_fire_has_been_detected.=Output voltage increases\nif a fire has been detected. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceDescriptor.java +eln:Provides_configurable_signal\nvoltage.=Provides configurable signal\nvoltage. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceGui.java +eln:Output_at_%s=Output at %s +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricallightsensor/ElectricalLightSensorDescriptor.java +eln:0V_at_night,_%sV_at_noon.=0V at night, %sV at noon. +eln:Provides_an_electrical_voltage\nin_the_presence_of_light.=Provides an electrical voltage\nin the presence of light. +eln:Provides_an_electrical_voltage\nwhich_is_proportional_to\nthe_intensity_of_daylight.=Provides an electrical voltage\nwhich is proportional to\nthe intensity of daylight. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathContainer.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathDescriptor.java +eln:Applicable_boolean_operators\:=Applicable boolean operators\: +eln:Applicable_functions\:=Applicable functions\: +eln:Applicable_mathematical_operators\:=Applicable mathematical operators\: +eln:Calculates_an_output_signal_from\n3_inputs_(A,_B,_C)_using_an_equation.=Calculates an output signal from\n3 inputs (A, B, C) using an equation. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathGui.java +eln:%s_Redstone(s)_required=%s Redstone(s) required +eln:Equation_required!=Equation required\! +eln:Inputs_are=Inputs are +eln:Invalid_equation!=Invalid equation\! +eln:Output_voltage_formula=Output voltage formula +eln:Waiting_for_completion...=Waiting for completion... +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalredstoneinput/ElectricalRedstoneInputDescriptor.java +eln:Converts_Redstone_signal\nto_an_electrical_voltage.=Converts Redstone signal\nto an electrical voltage. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalredstoneoutput/ElectricalRedstoneOutputDescriptor.java +eln:Converts_electrical_voltage\ninto_a_Redstone_signal.=Converts electrical voltage\ninto a Redstone signal. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalrelay/ElectricalRelayDescriptor.java +eln:A_relay_is_an_electrical\ncontact_that_conducts_electric\ncurrent_or_not,_depending\nthe_actual_input_signal_voltage.=A relay is an electrical\ncontact that conducts electric\ncurrent or not, depending\nthe actual input signal voltage. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalrelay/ElectricalRelayGui.java +eln:Normally_closed=Normally closed +eln:Normally_open=Normally open +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalsource/ElectricalSourceDescriptor.java +eln:Creative_block.=Creative block. +eln:Provides_an_ideal_voltage_source\nwithout_energy_or_power_limitation.=Provides an ideal voltage source\nwithout energy or power limitation. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalsource/ElectricalSourceGui.java +eln:Output_voltage=Output voltage +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalswitch/ElectricalSwitchDescriptor.java +eln:Can_break_an_electrical_circuit\ninterrupting_the_current.=Can break an electrical circuit\ninterrupting the current. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricaltimeout/ElectricalTimeoutDescriptor.java +eln:Upon_application_of_a_high_signal,\nthe_timer_maintains_the_output_high_for\na_configurable_interval._Can_be_re-triggered.=Upon application of a high signal,\nthe timer maintains the output high for\na configurable interval. Can be re-triggered. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricaltimeout/ElectricalTimeoutGui.java +eln:Set=Set +eln:The_time_interval_the\noutput_is_kept_high.=The time interval the\noutput is kept high. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalvumeter/ElectricalVuMeterDescriptor.java +eln:Displays_the_value_of_a_signal.=Displays the value of a signal. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalwatch/ElectricalWatchContainer.java +eln:Portable_battery_slot=Portable battery slot +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalweathersensor/ElectricalWeatherSensorDescriptor.java +eln:Clear\:_%sV=Clear\: %sV +eln:Provides_an_electrical_signal\ndepending_the_actual_weather.=Provides an electrical signal\ndepending the actual weather. +eln:Rain\:_%sV=Rain\: %sV +eln:Storm\:_%sV=Storm\: %sV +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalwindsensor/ElectricalWindSensorDescriptor.java +eln:Maximum_wind_speed_is_%sm_s=Maximum wind speed is %sm/s +eln:Provides_an_electrical_signal\ndependant_on_wind_speed.=Provides an electrical signal\ndependant on wind speed. +eln:You_can't_place_this_block_on_the_floor_or_the_ceiling=You can't place this block on the floor or the ceiling +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricasensor/ElectricalSensorDescriptor.java +eln:Can_measure_Voltage_Power_Current=Can measure Voltage/Power/Current +eln:Measures_electrical_values_on_cables.=Measures electrical values on cables. +eln:Measures_voltage_on_cables.=Measures voltage on cables. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricasensor/ElectricalSensorGui.java +eln:Current=Current +eln:Measured_voltage\ncorresponding\nto_0%_output=Measured voltage\ncorresponding\nto 0% output +eln:Measured_voltage\ncorresponding\nto_100%_output=Measured voltage\ncorresponding\nto 100% output +eln:Voltage=Voltage +eln: +eln:# ./src/main/java/mods/eln/sixnode/energymeter/EnergyMeterGui.java +eln:Change_password=Change password +eln:Counter_Mode=Counter Mode +eln:Counts_the_energy_conducted_from\n\u00a74red\u00a7f_to_\u00a71blue\u00a7f.=Counts the energy conducted from\n\\u00a74red\\u00a7f to \\u00a71blue\\u00a7f. +eln:Energy_counter\:_%sJ=Energy counter\: %sJ +eln:Enter_new_energy=Enter new energy +eln:Enter_password=Enter password +eln:Prepay_Mode=Prepay Mode +eln:Reset_time_counter=Reset time counter +eln:Set_energy_counter=Set energy counter +eln:Time_counter\:=Time counter\: +eln:Try_password=Try password +eln:You_can_set_an_initial\namount_of_available_energy.\nWhen_the_counter_arrives_at_0\nthe_contact_will_be_opened.=You can set an initial\namount of available energy.\nWhen the counter arrives at 0\nthe contact will be opened. +eln:is_off=is off +eln:is_on=is on +eln:value_in_kJ=value in kJ +eln: +eln:# ./src/main/java/mods/eln/sixnode/groundcable/GroundCableDescriptor.java +eln:Can_be_used_to_set_a_point_of_an\nelectrical_network_to_0V_potential.\nFor_example_to_ground_negative_battery_contacts.=Can be used to set a point of an\nelectrical network to 0V potential.\nFor example to ground negative battery contacts. +eln:Provides_a_zero_volt_reference.=Provides a zero volt reference. +eln: +eln:# ./src/main/java/mods/eln/sixnode/hub/HubDescriptor.java +eln:Allows_crossing_cables\non_one_single_block.=Allows crossing cables\non one single block. +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketDescriptor.java +eln:Angle\:_%s°_to_%s°=Angle\: %s° to %s° +eln:Spot_range\:_%s_blocks=Spot range\: %s blocks +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketGuiDraw.java +eln:%s_is_not_in_range!=%s is not in range\! +eln:Cable_slot_empty=Cable slot empty +eln:Orientation\:_%s°=Orientation\: %s° +eln:Parallel=Parallel +eln:Powered_by_Lamp_Supply=Powered by Lamp Supply +eln:Powered_by_cable=Powered by cable +eln:Serial=Serial +eln:Specify_the_supply_channel=Specify the supply channel +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyContainer.java +eln:Electrical_cable_slot\nBase_range_is_32_blocks.\nEach_additional_cable\nincreases_range_by_one.=Electrical cable slot\nBase range is 32 blocks.\nEach additional cable\nincreases range by one. +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyDescriptor.java +eln:Supplies_all_lamps_on_the_channel.=Supplies all lamps on the channel. +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyGui.java +eln:Power_channel_name=Power channel name +eln:Wireless_channel_name=Wireless channel name +eln: +eln:# ./src/main/java/mods/eln/sixnode/modbusrtu/ModbusRtuGui.java +eln:Add=Add +eln:Channel_name=Channel name +eln:Modbus_ID=Modbus ID +eln:Modbus_RTU=Modbus RTU +eln:Station_ID=Station ID +eln:Station_name=Station name +eln:Wireless_RX=Wireless RX +eln:Wireless_TX=Wireless TX +eln: +eln:# ./src/main/java/mods/eln/sixnode/powercapacitorsix/PowerCapacitorSixContainer.java +eln:(Increases_maximum_voltage)=(Increases maximum voltage) +eln: +eln:# ./src/main/java/mods/eln/sixnode/powercapacitorsix/PowerCapacitorSixGui.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/powerinductorsix/PowerInductorSixContainer.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/powerinductorsix/PowerInductorSixGui.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/powersocket/PowerSocketDescriptor.java +eln:Supplies_any_device\nplugged_in_with_energy.=Supplies any device\nplugged in with energy. +eln: +eln:# ./src/main/java/mods/eln/sixnode/powersocket/PowerSocketGui.java +eln:Specify_the_device_to_supply_through_this_socket.=Specify the device to supply through this socket. +eln: +eln:# ./src/main/java/mods/eln/sixnode/resistor/ResistorContainer.java +eln:(Sets_resistance)=(Sets resistance) +eln:Coal_dust_slot=Coal dust slot +eln: +eln:# ./src/main/java/mods/eln/sixnode/thermalcable/ThermalCableDescriptor.java +eln:High_parallel_resistance\n_\=>_Low_power_dissipation.=High parallel resistance\n \=> Low power dissipation. +eln:Low_serial_resistance\n_\=>_High_conductivity.=Low serial resistance\n \=> High conductivity. +eln:Parallel_resistance\:_%sK_W=Parallel resistance\: %sK/W +eln:Serial_resistance\:_%sK_W=Serial resistance\: %sK/W +eln: +eln:# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorContainer.java +eln:Cable_slot=Cable slot +eln: +eln:# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorDescriptor.java +eln:Can_measure\:=Can measure\: +eln:Measures_temperature_of_cables.=Measures temperature of cables. +eln:Measures_thermal_values_on_cables.=Measures thermal values on cables. +eln:__Temperature_Power_conducted=Temperature/Power conducted +eln: +eln:# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorGui.java +eln:Measured_temperature\ncorresponding\nto_0%_output=Measured temperature\ncorresponding\nto 0% output +eln:Measured_temperature\ncorresponding\nto_100%_output=Measured temperature\ncorresponding\nto 100% output +eln:Temperature=Temperature +eln: +eln:# ./src/main/java/mods/eln/sixnode/tutorialsign/TutorialSignElement.java +eln:No_text_associated_to_this_beacon=No text associated to this beacon +eln: +eln:# ./src/main/java/mods/eln/sixnode/tutorialsign/TutorialSignGui.java +eln:Set_beacon_name=Set beacon name +eln: +eln:# ./src/main/java/mods/eln/sixnode/wirelesssignal/rx/WirelessSignalRxGui.java +eln: +eln:# ./src/main/java/mods/eln/transparentnode/FuelGenerator.kt +eln:Nominal_power\:_%s_W=Nominal power\: %s W +eln:Nominal_voltage\:_%s_V=Nominal voltage\: %s V +eln:Produces_electricity_using_fuel.=Produces electricity using fuel. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/LargeRheostat.kt +eln:Nom._Resistance\:_%s=Nom. Resistance\: %s +eln: +eln:# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerContainer.java +eln:Drill_slot=Drill slot +eln:Mining_pipe_slot=Mining pipe slot +eln:Ore_scanner_slot=Ore scanner slot +eln: +eln:# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerDescriptor.java +eln:Excavates_on_a_small_radius.\nExtracts_ore_on_a_bigger_radius\:\n10_blocks_radius_after_10_blocks_depth.=Excavates on a small radius.\nExtracts ore on a bigger radius\:\n10 blocks radius after 10 blocks depth. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerGuiDraw.java +eln:Chest_missing_on_the\nback_of_the_auto_miner!=Chest missing on the\nback of the auto miner\! +eln:Halves_speed,_triples_power_draw=Halves speed, triples power draw +eln:Silk_Touch_Off=Silk Touch Off +eln:Silk_Touch_On=Silk Touch On +eln:Silk_touch=Silk touch +eln: +eln:# ./src/main/java/mods/eln/transparentnode/battery/BatteryContainer.java +eln:Overheating_protection=Overheating protection +eln:Overvoltage_protection=Overvoltage protection +eln: +eln:# ./src/main/java/mods/eln/transparentnode/battery/BatteryDescriptor.java +eln:Actual_charge\:_%s=Actual charge\: %s +eln:Energy_capacity\:_%sJ=Energy capacity\: %sJ +eln:_charged_at_%s=charged at %s +eln: +eln:# ./src/main/java/mods/eln/transparentnode/battery/BatteryGuiDraw.java +eln:Charge=Charge +eln:Charged=Charged +eln:Discharge=Discharge +eln:Energy\:=Energy\: +eln:Energy\:_%s=Energy\: %s +eln:Life\:=Life\: +eln:No_charge=No charge +eln:Power_in\:=Power in\: +eln:Power_out\:=Power out\: +eln: +eln:# ./src/main/java/mods/eln/transparentnode/eggincubator/EggIncubatorContainer.java +eln:Egg_slot=Egg slot +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalantennarx/ElectricalAntennaRxDescriptor.java +eln:Wireless_energy_receiver.=Wireless energy receiver. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalantennatx/ElectricalAntennaTxDescriptor.java +eln:Efficiency\:_%s_up_to_%s=Efficiency\: %s up to %s +eln:Wireless_energy_transmitter.=Wireless energy transmitter. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceContainer.java +eln:Heating_corp_slot=Heating corp slot +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceDescriptor.java +eln:Similar_to_a_vanilla_furnace,\nbut_heats_with_electricity.=Similar to a vanilla furnace,\nbut heats with electricity. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceGuiDraw.java +eln:Auto_shutdown=Auto shutdown +eln:Manual_shutdown=Manual shutdown +eln:Set_point\:_%s°C=Set point\: %s°C +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalmachine/ElectricalMachineDescriptor.java +eln:Cost=Cost +eln: +eln:# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceContainer.java +eln:Combustion_chamber_slot=Combustion chamber slot +eln:Fuel_slot=Fuel slot +eln: +eln:# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceDescriptor.java +eln:Generates_heat_when_supplied_with_fuel.=Generates heat when supplied with fuel. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceGuiDraw.java +eln:Control_gauge_at_%s=Control gauge at %s +eln:Decline_fuel=Decline fuel +eln:External_control=External control +eln:Internal_control=Internal control +eln:Take_fuel=Take fuel +eln: +eln:# ./src/main/java/mods/eln/transparentnode/powercapacitor/PowerCapacitorContainer.java +eln:(Increases_maximal_voltage)=(Increases maximal voltage) +eln: +eln:# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelContainer.java +eln:Solar_tracker_slot=Solar tracker slot +eln: +eln:# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelDescriptor.java +eln:Can_be_geared_towards_the_sun.=Can be geared towards the sun. +eln:Max._power\:_%sW=Max. power\: %sW +eln:Max._voltage\:_%sV=Max. voltage\: %sV +eln:Produces_power_from_solar_radiation.=Produces power from solar radiation. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPannelGuiDraw.java +eln:It_is_night=It is night +eln:Solar_panel_angle\:_%s°=Solar panel angle\: %s° +eln:Sun_angle\:_%s°=Sun angle\: %s° +eln: +eln:# ./src/main/java/mods/eln/transparentnode/teleporter/TeleporterGui.java +eln:Destination_transporter=Destination transporter +eln:Power_consumption\:=Power consumption\: +eln:Power_consumption\:_%sW=Power consumption\: %sW +eln:Required_energy\:_%sJ=Required energy\: %sJ +eln:Start=Start +eln:Transporter_name=Transporter name +eln: +eln:# ./src/main/java/mods/eln/transparentnode/thermaldissipatoractive/ThermalDissipatorActiveDescriptor.java +eln:Fan_cooling_power\:_%sW=Fan cooling power\: %sW +eln:Fan_power_consumption\:_%sW=Fan power consumption\: %sW +eln:Fan_voltage\:_%sV=Fan voltage\: %sV +eln: +eln:# ./src/main/java/mods/eln/transparentnode/transformer/TransformerDescriptor.java +eln:The_voltage_ratio_is_proportional\nto_the_cable_stacks_count_ratio.=The voltage ratio is proportional\nto the cable stacks count ratio. +eln:Transforms_an_input_voltage_to\nan_output_voltage.=Transforms an input voltage to\nan output voltage. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/turbine/TurbineDescriptor.java +eln:Generates_electricity_using_heat.=Generates electricity using heat. +eln:Temperature_difference\:_%s°C=Temperature difference\: %s°C +eln: +eln:# ./src/main/java/mods/eln/transparentnode/turret/TurretDescriptor.java +eln:CAUTION\:_Cables_can_get_quite_hot!=CAUTION\: Cables can get quite hot\! +eln:Laser_charge_power\:_%sW...%skW=Laser charge power\: %sW...%skW +eln:Scans_for_entities_and_shoots_if_the\nentity_matches_the_configurable_filter_criteria.=Scans for entities and shoots if the\nentity matches the configurable filter criteria. +eln:Standby_power\:_%sW=Standby power\: %sW +eln: +eln:# ./src/main/java/mods/eln/transparentnode/turret/TurretGui.java +eln:Attack\:=Attack\: +eln:Do_not_attack\:=Do not attack\: +eln:Recharge_power\:=Recharge power\: +eln: +eln:# ./src/main/java/mods/eln/transparentnode/waterturbine/WaterTurbineDescriptor.java +eln:Generates_energy_using_water_stream.=Generates energy using water stream. +eln:No_place_for_water_turbine!=No place for water turbine\! +eln: +eln:# ./src/main/java/mods/eln/transparentnode/windturbine/WindTurbineDescriptor.java +eln:Front\:_%s=Front\: %s +eln:Generates_energy_from_wind.=Generates energy from wind. +eln:Left_Right\:_%s=Left/Right\: %s +eln:Up_Down\:_%s=Up/Down\: %s +eln:Wind_area\:=Wind area\: +eln: +eln:# ./src/main/java/mods/eln/wiki/Data.java +eln:Energy=Energy +eln:Light=Light +eln:Machine=Machine +eln:Ore=Ore +eln:Portable=Portable +eln:Resource=Resource +eln:Signal=Signal +eln:Thermal=Thermal +eln:Upgrade=Upgrade +eln:Utilities=Utilities +eln:Wiring=Wiring +eln: +eln:# ./src/main/java/mods/eln/wiki/Default.java +eln:Previous=Previous +eln: +eln:# ./src/main/java/mods/eln/wiki/ItemDefault.java +eln:Can_be_used_to_craft\:=Can be used to craft\: +eln:Cannot_be_crafted!=Cannot be crafted\! +eln:Cost_%sJ=Cost %sJ +eln:Created_by\:=Created by\: +eln:Is_not_a_crafting_material!=Is not a crafting material\! +eln:Recipe\:=Recipe\: +eln: +eln:# Appearing in multiple source files +eln:(Increases_capacity)=(Increases capacity) +eln:(Increases_inductance)=(Increases inductance) +eln:Actual\:_%s°C=Actual\: %s°C +eln:Biggest=Biggest +eln:Booster_slot=Booster slot +eln:Can_create\:=Can create\: +eln:Capacity\:_%sF=Capacity\: %sF +eln:Charge_power\:_%sW=Charge power\: %sW +eln:Connected=Connected +eln:Cooling_power\:_%sW=Cooling power\: %sW +eln:Copper_cable_slot=Copper cable slot +eln:Dielectric_slot=Dielectric slot +eln:Discharge_power\:_%sW=Discharge power\: %sW +eln:Electrical_cable_slot=Electrical cable slot +eln:Entity_filter_slot=Entity filter slot +eln:Ferromagnetic_core_slot=Ferromagnetic core slot +eln:Has_a_signal_output.=Has a signal output. +eln:Inductance\:_%sH=Inductance\: %sH +eln:Internal_resistance\:_%sΩ=Internal resistance\: %sΩ +eln:Is_off=Is off +eln:Is_on=Is on +eln:Max._temperature\:_%s°C=Max. temperature\: %s°C +eln:Measured_value\ncorresponding\nto_0%_output=Measured value\ncorresponding\nto 0% output +eln:Measured_value\ncorresponding\nto_100%_output=Measured value\ncorresponding\nto 100% output +eln:Nominal\:=Nominal\: +eln:Nominal_power\:_%sW=Nominal power\: %sW +eln:Nominal_usage\:=Nominal usage\: +eln:Nominal_voltage\:_%sV=Nominal voltage\: %sV +eln:Not_connected=Not connected +eln:Not_enough_space_for_this_block=Not enough space for this block +eln:Power=Power +eln:Power\:_%sW=Power\: %sW +eln:Range\:_%s_blocks=Range\: %s blocks +eln:Redstone_slot=Redstone slot +eln:Regulator_slot=Regulator slot +eln:Reset=Reset +eln:Resistance\:_%sΩ=Resistance\: %sΩ +eln:Smallest=Smallest +eln:Specify_the_channel=Specify the channel +eln:Stored_energy\:_%sJ_(%s)=Stored energy\: %sJ (%s) +eln:Temperature\:_%s°C=Temperature\: %s°C +eln:Temperature_gauge=Temperature gauge +eln:Thermal_isolator_slot=Thermal isolator slot +eln:Toggle=Toggle +eln:Toggle_switch=Toggle switch +eln:Toggles_the_output_each_time\nan_emitter's_value_rises.\nUseful_to_allow_multiple_buttons\nto_control_the_same_light.=Toggles the output each time\nan emitter's value rises.\nUseful to allow multiple buttons\nto control the same light. +eln:Used_to_cool_down_turbines.=Used to cool down turbines. +eln:Uses_the_biggest\nvalue_on_the_channel.=Uses the biggest\nvalue on the channel. +eln:Uses_the_smallest\nvalue_on_the_channel.=Uses the smallest\nvalue on the channel. +eln:Validate=Validate +eln:Voltage\:_%sV=Voltage\: %sV +eln:You_can't_place_this_block_at_this_side=You can't place this block at this side diff --git a/src/main/resources/assets/eln/lang/pl.lang b/src/main/resources/assets/eln/lang/pl.lang index f4e769aa7..92e8a8d93 100644 --- a/src/main/resources/assets/eln/lang/pl.lang +++ b/src/main/resources/assets/eln/lang/pl.lang @@ -1,829 +1,829 @@ -# - -# ./src/main/java/mods/eln/Achievements.java -Electrical_Age_[WIP]=Electrical Age [WIP] -achievement.craft_50v_macerator=Crushing Novice -achievement.craft_50v_macerator.desc=Craft a 50V Macerator -achievement.open_guide=Wiki Power -achievement.open_guide.desc=Open the wiki guide - -# ./src/main/java/mods/eln/Eln.java -10A_Diode.name=10A Diode -200V_Active_Thermal_Dissipator.name=200V Active Thermal Dissipator -200V_Battery_Charger.name=200V Battery Charger -200V_Compressor.name=200V Compressor -200V_Condensator.name=200V Condensator -200V_Copper_Heating_Corp.name=200V Copper Heating Corp -200V_Economic_Light_Bulb.name=200V Economic Light Bulb -200V_Farming_Lamp.name=200V Farming Lamp -200V_Fuel_Generator.name=200V Fuel Generator -200V_Incandescent_Light_Bulb.name=200V Incandescent Light Bulb -200V_Iron_Heating_Corp.name=200V Iron Heating Corp -200V_LED_Bulb.name=200V LED Bulb -200V_Macerator.name=200V Macerator -200V_Magnetizer.name=200V Magnetizer -200V_Plate_Machine.name=200V Plate Machine -200V_Power_Socket.name=200V Power Socket -200V_Tungsten_Heating_Corp.name=200V Tungsten Heating Corp -200V_Turbine.name=200V Turbine -25A_Diode.name=25A Diode -50V_Battery_Charger.name=50V Battery Charger -50V_Carbon_Incandescent_Light_Bulb.name=50V Carbon Incandescent Light Bulb -50V_Compressor.name=50V Compressor -50V_Condensator.name=50V Condensator -50V_Copper_Heating_Corp.name=50V Copper Heating Corp -50V_Economic_Light_Bulb.name=50V Economic Light Bulb -50V_Egg_Incubator.name=50V Egg Incubator -50V_Farming_Lamp.name=50V Farming Lamp -50V_Fuel_Generator.name=50V Fuel Generator -50V_Incandescent_Light_Bulb.name=50V Incandescent Light Bulb -50V_Iron_Heating_Corp.name=50V Iron Heating Corp -50V_LED_Bulb.name=50V LED Bulb -50V_Macerator.name=50V Macerator -50V_Magnetizer.name=50V Magnetizer -50V_Plate_Machine.name=50V Plate Machine -50V_Power_Socket.name=50V Power Socket -50V_Tungsten_Heating_Corp.name=50V Tungsten Heating Corp -50V_Turbine.name=50V Turbine -800V_Defence_Turret.name=800V Defence Turret -AND_Chip.name=AND Chip -Advanced_Chip.name=Advanced Chip -Advanced_Electrical_Motor.name=Advanced Electrical Motor -Advanced_Energy_Meter.name=Advanced Energy Meter -Advanced_Machine_Block.name=Advanced Machine Block -Advanced_Magnet.name=Advanced Magnet -AllMeter.name=Universal-Meter -Alloy_Dust.name=Alloy Dust -Alloy_Ingot.name=Alloy Ingot -Alloy_Plate.name=Alloy Plate -Analog_Watch.name=Analog watch -Analog_vuMeter.name=Analog Gauge -Analogic_Regulator.name=Analogic Regulator -Animal_Filter.name=Animal Filter -Auto_Miner.name=Auto Miner -Average_Electrical_Drill.name=Average Electrical Drill -Average_Ferromagnetic_Core.name=Average Ferromagnetic Core -Basic_Magnet.name=Basic Magnet -Black_Brush.name=Black Brush -Blue_Brush.name=Blue Brush -Brown_Brush.name=Brown Brush -Capacity_Oriented_Battery.name=Capacity Oriented Battery -Cheap_Chip.name=Cheap Chip -Cheap_Electrical_Drill.name=Cheap Electrical Drill -Cheap_Ferromagnetic_Core.name=Cheap Ferromagnetic Core -Cinnabar_Dust.name=Cinnabar Dust -Cinnabar_Ore.name=Cinnabar Ore -Coal_Dust.name=Coal Dust -Coal_Plate.name=Coal Plate -Combustion_Chamber.name=Combustion Chamber -Copper_Cable.name=Copper Cable -Copper_Dust.name=Copper Dust -Copper_Ingot.name=Copper Ingot -Copper_Ore.name=Copper Ore -Copper_Plate.name=Copper Plate -Copper_Thermal_Cable.name=Copper Thermal Cable -Cost_Oriented_Battery.name=Cost Oriented Battery -Current_Oriented_Battery.name=Current Oriented Battery -Cyan_Brush.name=Cyan Brush -D_Flip_Flop_Chip.name=D Flip Flop Chip -Data_Logger.name=Data Logger -Data_Logger_Print.name=Data Logger Print -Dielectric.name=Dielectric -Digital_Watch.name=Digital Watch -Electrical_Anemometer_Sensor.name=Electrical Anemometer Sensor -Electrical_Breaker.name=Electrical Breaker -Electrical_Daylight_Sensor.name=Electrical Daylight Sensor -Electrical_Entity_Sensor.name=Electrical Entity Sensor -Electrical_Fire_Detector.name=Electrical Fire Detector -Electrical_Furnace.name=Electrical Furnace -Electrical_Light_Sensor.name=Electrical Light Sensor -Electrical_Motor.name=Electrical Motor -Electrical_Probe.name=Electrical Probe -Electrical_Probe_Chip.name=Electrical Probe Chip -Electrical_Source.name=Electrical Source -Electrical_Timer.name=Electrical Timer -Electrical_Weather_Sensor.name=Electrical Weather Sensor -Electrical_age_wrench,\nCan_be_used_to_turn\nsmall_wall_blocks=Electrical age wrench,\nCan be used to turn\nsmall wall blocks -Energy_Meter.name=Energy Meter -Experimental_Transporter.name=Experimental Transporter -Fast_Electrical_Drill.name=Fast Electrical Drill -Ferrite_Ingot.name=Ferrite Ingot -Flat_Lamp_Socket.name=Flat Lamp Socket -Fluorescent_Lamp_Socket.name=Fluorescent Lamp Socket -Generator.name=Generator -Gold_Dust.name=Gold Dust -Gold_Plate.name=Gold Plate -Gray_Brush.name=Gray Brush -Green_Brush.name=Green Brush -Ground_Cable.name=Ground Cable -High_Power_Receiver_Antenna.name=High Power Receiver Antenna -High_Power_Transmitter_Antenna.name=High Power Transmitter Antenna -High_Voltage_Cable.name=High Voltage Cable -High_Voltage_Relay.name=High Voltage Relay -High_Voltage_Switch.name=High Voltage Switch -Hub.name=Hub -Industrial_Data_Logger.name=Industrial Data Logger -Iron_Cable.name=Iron Cable -Iron_Dust.name=Iron Dust -Iron_Plate.name=Iron Plate -JK_Flip_Flop_Chip.name=JK Flip Flop Chip -LED_vuMeter.name=LED vuMeter -Lamp_Socket_A.name=Lamp Socket A -Lamp_Socket_B_Projector.name=Lamp Socket B Projector -Lamp_Supply.name=Lamp Supply -Large_Rheostat.name=Large Rheostat -Lead_Dust.name=Lead Dust -Lead_Ingot.name=Lead Ingot -Lead_Ore.name=Lead Ore -Lead_Plate.name=Lead Plate -Life_Oriented_Battery.name=Life Oriented Battery -Light_Blue_Brush.name=Light Blue Brush -Lime_Brush.name=Lime Brush -Long_Suspended_Lamp_Socket.name=Long Suspended Lamp Socket -Low_Power_Receiver_Antenna.name=Low Power Receiver Antenna -Low_Power_Transmitter_Antenna.name=Low Power Transmitter Antenna -Low_Voltage_Cable.name=Low Voltage Cable -Low_Voltage_Relay.name=Low Voltage Relay -Low_Voltage_Switch.name=Low Voltage Switch -Machine_Block.name=Machine Block -Machine_Booster.name=Machine Booster -Magenta_Brush.name=Magenta Brush -Medium_Power_Receiver_Antenna.name=Medium Power Receiver Antenna -Medium_Power_Transmitter_Antenna.name=Medium Power Transmitter Antenna -Medium_Voltage_Cable.name=Medium Voltage Cable -Medium_Voltage_Relay.name=Medium Voltage Relay -Medium_Voltage_Switch.name=Medium Voltage Switch -Mercury.name=Mercury -Mining_Pipe.name=Mining Pipe -Modbus_RTU.name=Modbus RTU -Modern_Data_Logger.name=Modern Data Logger -Monster_Filter.name=Monster Filter -MultiMeter.name=Multimeter -NAND_Chip.name=NAND Chip -NOR_Chip.name=NOR Chip -NOT_Chip.name=NOT Chip -Nuclear_Alarm.name=Nuclear Alarm -OR_Chip.name=OR Chip -On_OFF_Regulator_10_Percent.name=On/off regulator 10% -On_OFF_Regulator_1_Percent.name=On/off regulator 1% -Optimal_Ferromagnetic_Core.name=Optimal Ferromagnetic Core -Orange_Brush.name=Orange Brush -Ore_Scanner.name=Ore Scanner -Oscillator_Chip.name=Oscillator Chip -Overheating_Protection.name=Overheating Protection -Overvoltage_Protection.name=Overvoltage Protection -PAL_Chip.name=PAL Chip -Pink_Brush.name=Pink Brush -Player_Filter.name=Player Filter -Portable_Battery.name=Portable Battery -Portable_Battery_Pack.name=Portable Battery Pack -Portable_Condensator.name=Portable Condensator -Portable_Condensator_Pack.name=Portable Condensator Pack -Portable_Electrical_Axe.name=Portable Electrical Axe -Portable_Electrical_Mining_Drill.name=Portable Electrical Mining Drill -Power_Capacitor.name=Power Capacitor -Power_Inductor.name=Power Inductor -Power_Resistor.name=Power Resistor -Power_capacitor.name=Power capacitor -Power_inductor.name=Power inductor -Purple_Brush.name=Purple Brush -Red_Brush.name=Red Brush -Redstone-to-Voltage_Converter.name=Redstone-to-Voltage Converter -Rheostat.name=Rheostat -Robust_Lamp_Socket.name=Robust Lamp Socket -Rubber.name=Rubber -Schmitt_Trigger_Chip.name=Schmitt Trigger Chip -Sconce_Lamp_Socket.name=Sconce Lamp Socket -Signal_20H_inductor.name=Signal 20H inductor -Signal_Antenna.name=Signal Antenna -Signal_Button.name=Signal Button -Signal_Cable.name=Signal Cable -Signal_Diode.name=Signal Diode -Signal_Processor.name=Signal Processor -Signal_Relay.name=Signal Relay -Signal_Source.name=Signal Source -Signal_Switch.name=Signal Switch -Signal_Switch_with_LED.name=Signal Switch with LED -Signal_Trimmer.name=Signal Trimmer -Silicon_Dust.name=Silicon Dust -Silicon_Ingot.name=Silicon Ingot -Silicon_Plate.name=Silicon Plate -Silver_Brush.name=Silver Brush -Simple_Lamp_Socket.name=Simple Lamp Socket -Single-use_Battery.name=Single-use Battery -Small_200V_Copper_Heating_Corp.name=Small 200V Copper Heating Corp -Small_200V_Iron_Heating_Corp.name=Small 200V Iron Heating Corp -Small_200V_Tungsten_Heating_Corp.name=Small 200V Tungsten Heating Corp -Small_50V_Carbon_Incandescent_Light_Bulb.name=Small 50V Carbon Incandescent Light Bulb -Small_50V_Copper_Heating_Corp.name=Small 50V Copper Heating Corp -Small_50V_Economic_Light_Bulb.name=Small 50V Economic Light Bulb -Small_50V_Incandescent_Light_Bulb.name=Small 50V Incandescent Light Bulb -Small_50V_Iron_Heating_Corp.name=Small 50V Iron Heating Corp -Small_50V_Tungsten_Heating_Corp.name=Small 50V Tungsten Heating Corp -Small_Active_Thermal_Dissipator.name=Small Active Thermal Dissipator -Small_Flashlight.name=Small Flashlight -Small_Passive_Thermal_Dissipator.name=Small Passive Thermal Dissipator -Small_Rotating_Solar_Panel.name=Small Rotating Solar Panel -Small_Solar_Panel.name=Small Solar Panel -Solar_Tracker.name=Solar Tracker -Standard_Alarm.name=Standard Alarm -Steam_Turbine.name=Steam Turbine -Stone_Heat_Furnace.name=Stone Heat Furnace -Street_Light.name=Streetlight -Suspended_Lamp_Socket.name=Suspended Lamp Socket -Temperature_Probe.name=Temperature Probe -Thermal_Probe.name=Thermal Probe -Thermal_Probe_Chip.name=Thermal Probe Chip -Thermistor.name=Thermistor -ThermoMeter.name=Thermometer -Transformer.name=Transformer -Tree_Resin.name=Tree Resin -Tree_Resin_Collector.name=Tree Resin Collector -Tungsten_Cable.name=Tungsten Cable -Tungsten_Dust.name=Tungsten Dust -Tungsten_Ingot.name=Tungsten Ingot -Tungsten_Ore.name=Tungsten Ore -Tutorial_Sign.name=Tutorial Sign -Very_High_Voltage_Cable.name=Very High Voltage Cable -Very_High_Voltage_Relay.name=Very High Voltage Relay -Very_High_Voltage_Switch.name=Very High Voltage Switch -Voltage-to-Redstone_Converter.name=Voltage-to-Redstone Converter -Voltage_Oriented_Battery.name=Voltage Oriented Battery -Voltage_Probe.name=Voltage Probe -Water_Turbine.name=Water Turbine -Weak_50V_Battery_Charger.name=Weak 50V Battery Charger -White_Brush.name=White Brush -Wind_Turbine.name=Wind Turbine -Wireless_Analyser.name=Wireless Analyzer -Wireless_Button.name=Wireless Button -Wireless_Signal_Receiver.name=Wireless Signal Receiver -Wireless_Signal_Repeater.name=Wireless Signal Repeater -Wireless_Signal_Transmitter.name=Wireless Signal Transmitter -Wireless_Switch.name=Wireless Switch -Wrench.name=Wrench -X-Ray_Scanner.name=X-Ray Scanner -XNOR_Chip.name=XNOR Chip -XOR_Chip.name=XOR Chip -Yellow_Brush.name=Yellow Brush -entity.EAReplicator.name=Replicator -item.Copper Axe.name\=Copper Axe -item.Copper Axe.name\=Copper Axe -item.Copper Axe.name\=Copper Axe -item.Copper Axe.name\=Copper Axe -item.Copper Axe.name\=Copper Axe -item.Copper Axe.name\=Copper Axe -item.Copper Axe.name\=Copper Axe -item.Copper Axe.name\=Copper Axe -item.Copper Axe.name\=Copper Axe -item.E-Coal Boots.name\=E-Coal Boots -item.E-Coal Boots.name\=E-Coal Boots -item.E-Coal Boots.name\=E-Coal Boots -item.E-Coal Boots.name\=E-Coal Boots -itemGroup.Eln=Electrical Age -mod.meta.desc=Electricity in your base\! -tile.eln.ElnProbe.name=Eln Computer Probe -tile.eln.EnergyConverterElnToOtherHVUBlock.name=800V Electrical Age to other energy exporter -tile.eln.EnergyConverterElnToOtherLVUBlock.name=50V Electrical Age to other energy exporter -tile.eln.EnergyConverterElnToOtherMVUBlock.name=200V Electrical Age to other energy exporter - -# ./src/main/java/mods/eln/i18n/I18N.java -You_have_%s_lives_left=You have %s lives left - -# ./src/main/java/mods/eln/item/BrushDescriptor.java -Brush_is_dry=Brush is dry -Can_paint_%s_blocks=Can paint %s blocks - -# ./src/main/java/mods/eln/item/CombustionChamber.java -Upgrade_for_the_Stone_Heat_Furnace.=Upgrade for the Stone Heat Furnace. - -# ./src/main/java/mods/eln/item/ElectricalDrillDescriptor.java -Energy_per_operation\:_%sJ=Energy per operation\: %sJ -Time_per_operation\:_%ss=Time per operation\: %ss - -# ./src/main/java/mods/eln/item/FerromagneticCoreDescriptor.java -Cable_loss_factor\:_%s=Cable loss factor\: %s - -# ./src/main/java/mods/eln/item/HeatingCorpElement.java - -# ./src/main/java/mods/eln/item/LampDescriptor.java -Bad=Bad -Condition\:=Condition\: -End_of_life=End of life -Good=Good -New=New -Nominal_lifetime\:_%sh=Nominal lifetime\: %sh -Technology\:_%s=Technology\: %s -Used=Used - -# ./src/main/java/mods/eln/item/LampSlot.java -Lamp_slot=Lamp slot - -# ./src/main/java/mods/eln/item/OverHeatingProtectionDescriptor.java -Useful_to_prevent_overheating\nof_Batteries=Useful to prevent overheating\nof Batteries - -# ./src/main/java/mods/eln/item/OverVoltageProtectionDescriptor.java -Useful_to_prevent_over-voltage\nof_Batteries=Useful to prevent over-voltage\nof Batteries - -# ./src/main/java/mods/eln/item/SolarTrackerDescriptor.java -Solar_panel_upgrade=Solar panel upgrade - -# ./src/main/java/mods/eln/item/electricalitem/BatteryItem.java - -# ./src/main/java/mods/eln/item/electricalitem/ElectricalLampItem.java -Off=Off -On=On -State\:=State\: -Stored_Energy\:_%sJ_(%s)=Stored Energy\: %sJ (%s) - -# ./src/main/java/mods/eln/item/regulator/RegulatorSlot.java - -# ./src/main/java/mods/eln/misc/UtilsClient.java -Hold_shift=Hold shift - -# ./src/main/java/mods/eln/misc/Version.java -mod.name=Electrical Age - -# ./src/main/java/mods/eln/node/six/SixNodeDescriptor.java - -# ./src/main/java/mods/eln/simplenode/energyconverter/EnergyConverterElnToOtherGui.java -Input_power_is_limited_to_%sW=Input power is limited to %sW - -# ./src/main/java/mods/eln/sixnode/LogicGate.kt -_O\:_= O\: - -# ./src/main/java/mods/eln/sixnode/TreeResinCollector/TreeResinCollectorDescriptor.java -Produces_Tree_Resin_over\ntime_when_put_on_a_tree.=Produces Tree Resin over\ntime when put on a tree. -This_block_can_only_be_placed_on_the_side_of_a_tree!=This block can only be placed on the side of a tree\! - -# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerContainer.java -Battery_slot=Battery slot - -# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerDescriptor.java -Can_be_used_to_recharge\nelectrical_items_like\:\nFlash_Light,_X-Ray_scanner\nand_Portable_Battery_...=Can be used to recharge\nelectrical items like\:\nFlash Light, X-Ray scanner\nand Portable Battery ... - -# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerGui.java - -# ./src/main/java/mods/eln/sixnode/diode/DiodeDescriptor.java -Electrical_current_can_only\nflow_through_the_diode\nfrom_anode_to_cathode=Electrical current can only\nflow through the diode\nfrom anode to cathode - -# ./src/main/java/mods/eln/sixnode/electricalalarm/ElectricalAlarmDescriptor.java -= -Emits_an_acoustic_alarm_if\nthe_input_signal_is_high=Emits an acoustic alarm if\nthe input signal is high - -# ./src/main/java/mods/eln/sixnode/electricalalarm/ElectricalAlarmGui.java -Sound_is_muted=Sound is muted -Sound_is_not_muted=Sound is not muted - -# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerContainer.java - -# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerDescriptor.java -Protects_electrical_components\nOpens_contact_if\:\n__-_Voltage_exceeds_a_certain_level\n-_Current_exceeds_the_cable_limit=Protects electrical components\nOpens contact if\:\n - Voltage exceeds a certain level\n- Current exceeds the cable limit - -# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerGui.java -Maximum_voltage_before_cutting_off=Maximum voltage before cutting off -Minimum_voltage_before_cutting_off=Minimum voltage before cutting off -Switch_is_off=Switch is off -Switch_is_on=Switch is on - -# ./src/main/java/mods/eln/sixnode/electricalcable/ElectricalCableDescriptor.java -A_signal_is_electrical_information\nwhich_must_be_between_0V_and_%sV=A signal is electrical information\nwhich must be between 0V and %sV -Cable_is_adapted_to_conduct\nelectrical_signals.=Cable is adapted to conduct\nelectrical signals. -Current\:_%sA=Current\: %sA -Not_adapted_to_transport_power.=Not adapted to transport power. -Save_usage\:=Save usage\: -Serial_resistance\:_%sΩ=Serial resistance\: %sΩ - -# ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerDescriptor.java -It_can_store_up_to_256_points.=It can store up to 256 points. -Measures_the_voltage_of_an\nelectrical_signal_and_plots\nthe_data_in_real_time.=Measures the voltage of an\nelectrical signal and plots\nthe data in real time. - -# ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerGui.java -Back_to_display=Back to display -Configuration=Configuration -Current_[A]=Current [A] -Energy_[J]=Energy [J] -Percent_[-]%=Percent [-]% -Power_[W]=Power [W] -Print=Print -Sampling_period=Sampling period -Temp._[*C]=Temp. [*C] -Voltage_[V]=Voltage [V] -Y-axis_max=Y-axis max -Y-axis_min=Y-axis min - -# ./src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorContainer.java - -# ./src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorDescriptor.java -Output_voltage_increases\nif_entities_are_moving_around.=Output voltage increases\nif entities are moving around. - -# ./src/main/java/mods/eln/sixnode/electricalfiredetector/ElectricalFireDetectorDescriptor.java -Output_voltage_increases\nif_a_fire_has_been_detected.=Output voltage increases\nif a fire has been detected. - -# ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceDescriptor.java -Provides_configurable_signal\nvoltage.=Provides configurable signal\nvoltage. - -# ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceGui.java -Output_at_%s=Output at %s - -# ./src/main/java/mods/eln/sixnode/electricallightsensor/ElectricalLightSensorDescriptor.java -0V_at_night,_%sV_at_noon.=0V at night, %sV at noon. -Provides_an_electrical_voltage\nin_the_presence_of_light.=Provides an electrical voltage\nin the presence of light. -Provides_an_electrical_voltage\nwhich_is_proportional_to\nthe_intensity_of_daylight.=Provides an electrical voltage\nwhich is proportional to\nthe intensity of daylight. - -# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathContainer.java - -# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathDescriptor.java -Applicable_boolean_operators\:=Applicable boolean operators\: -Applicable_functions\:=Applicable functions\: -Applicable_mathematical_operators\:=Applicable mathematical operators\: -Calculates_an_output_signal_from\n3_inputs_(A,_B,_C)_using_an_equation.=Calculates an output signal from\n3 inputs (A, B, C) using an equation. - -# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathGui.java -%s_Redstone(s)_required=%s Redstone(s) required -Equation_required!=Equation required\! -Inputs_are=Inputs are -Invalid_equation!=Invalid equation\! -Output_voltage_formula=Output voltage formula -Waiting_for_completion...=Waiting for completion... - -# ./src/main/java/mods/eln/sixnode/electricalredstoneinput/ElectricalRedstoneInputDescriptor.java -Converts_Redstone_signal\nto_an_electrical_voltage.=Converts Redstone signal\nto an electrical voltage. - -# ./src/main/java/mods/eln/sixnode/electricalredstoneoutput/ElectricalRedstoneOutputDescriptor.java -Converts_electrical_voltage\ninto_a_Redstone_signal.=Converts electrical voltage\ninto a Redstone signal. - -# ./src/main/java/mods/eln/sixnode/electricalrelay/ElectricalRelayDescriptor.java -A_relay_is_an_electrical\ncontact_that_conducts_electric\ncurrent_or_not,_depending\nthe_actual_input_signal_voltage.=A relay is an electrical\ncontact that conducts electric\ncurrent or not, depending\nthe actual input signal voltage. - -# ./src/main/java/mods/eln/sixnode/electricalrelay/ElectricalRelayGui.java -Normally_closed=Normally closed -Normally_open=Normally open - -# ./src/main/java/mods/eln/sixnode/electricalsource/ElectricalSourceDescriptor.java -Creative_block.=Creative block. -Provides_an_ideal_voltage_source\nwithout_energy_or_power_limitation.=Provides an ideal voltage source\nwithout energy or power limitation. - -# ./src/main/java/mods/eln/sixnode/electricalsource/ElectricalSourceGui.java -Output_voltage=Output voltage - -# ./src/main/java/mods/eln/sixnode/electricalswitch/ElectricalSwitchDescriptor.java -Can_break_an_electrical_circuit\ninterrupting_the_current.=Can break an electrical circuit\ninterrupting the current. - -# ./src/main/java/mods/eln/sixnode/electricaltimeout/ElectricalTimeoutDescriptor.java -Upon_application_of_a_high_signal,\nthe_timer_maintains_the_output_high_for\na_configurable_interval._Can_be_re-triggered.=Upon application of a high signal,\nthe timer maintains the output high for\na configurable interval. Can be re-triggered. - -# ./src/main/java/mods/eln/sixnode/electricaltimeout/ElectricalTimeoutGui.java -Set=Set -The_time_interval_the\noutput_is_kept_high.=The time interval the\noutput is kept high. - -# ./src/main/java/mods/eln/sixnode/electricalvumeter/ElectricalVuMeterDescriptor.java -Displays_the_value_of_a_signal.=Displays the value of a signal. - -# ./src/main/java/mods/eln/sixnode/electricalwatch/ElectricalWatchContainer.java -Portable_battery_slot=Portable battery slot - -# ./src/main/java/mods/eln/sixnode/electricalweathersensor/ElectricalWeatherSensorDescriptor.java -Clear\:_%sV=Clear\: %sV -Provides_an_electrical_signal\ndepending_the_actual_weather.=Provides an electrical signal\ndepending the actual weather. -Rain\:_%sV=Rain\: %sV -Storm\:_%sV=Storm\: %sV - -# ./src/main/java/mods/eln/sixnode/electricalwindsensor/ElectricalWindSensorDescriptor.java -Maximum_wind_speed_is_%sm_s=Maximum wind speed is %sm/s -Provides_an_electrical_signal\ndependant_on_wind_speed.=Provides an electrical signal\ndependant on wind speed. -You_can't_place_this_block_on_the_floor_or_the_ceiling=You can't place this block on the floor or the ceiling - -# ./src/main/java/mods/eln/sixnode/electricasensor/ElectricalSensorDescriptor.java -Can_measure_Voltage_Power_Current=Can measure Voltage/Power/Current -Measures_electrical_values_on_cables.=Measures electrical values on cables. -Measures_voltage_on_cables.=Measures voltage on cables. - -# ./src/main/java/mods/eln/sixnode/electricasensor/ElectricalSensorGui.java -Current=Current -Measured_voltage\ncorresponding\nto_0%_output=Measured voltage\ncorresponding\nto 0% output -Measured_voltage\ncorresponding\nto_100%_output=Measured voltage\ncorresponding\nto 100% output -Voltage=Voltage - -# ./src/main/java/mods/eln/sixnode/energymeter/EnergyMeterGui.java -Change_password=Change password -Counter_Mode=Counter Mode -Counts_the_energy_conducted_from\n\u00a74red\u00a7f_to_\u00a71blue\u00a7f.=Counts the energy conducted from\n\\u00a74red\\u00a7f to \\u00a71blue\\u00a7f. -Energy_counter\:_%sJ=Energy counter\: %sJ -Enter_new_energy=Enter new energy -Enter_password=Enter password -Prepay_Mode=Prepay Mode -Reset_time_counter=Reset time counter -Set_energy_counter=Set energy counter -Time_counter\:=Time counter\: -Try_password=Try password -You_can_set_an_initial\namount_of_available_energy.\nWhen_the_counter_arrives_at_0\nthe_contact_will_be_opened.=You can set an initial\namount of available energy.\nWhen the counter arrives at 0\nthe contact will be opened. -is_off=is off -is_on=is on -value_in_kJ=value in kJ - -# ./src/main/java/mods/eln/sixnode/groundcable/GroundCableDescriptor.java -Can_be_used_to_set_a_point_of_an\nelectrical_network_to_0V_potential.\nFor_example_to_ground_negative_battery_contacts.=Can be used to set a point of an\nelectrical network to 0V potential.\nFor example to ground negative battery contacts. -Provides_a_zero_volt_reference.=Provides a zero volt reference. - -# ./src/main/java/mods/eln/sixnode/hub/HubDescriptor.java -Allows_crossing_cables\non_one_single_block.=Allows crossing cables\non one single block. - -# ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketDescriptor.java -Angle\:_%s°_to_%s°=Angle\: %s° to %s° -Spot_range\:_%s_blocks=Spot range\: %s blocks - -# ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketGuiDraw.java -%s_is_not_in_range!=%s is not in range\! -Cable_slot_empty=Cable slot empty -Orientation\:_%s°=Orientation\: %s° -Parallel=Parallel -Powered_by_Lamp_Supply=Powered by Lamp Supply -Powered_by_cable=Powered by cable -Serial=Serial -Specify_the_supply_channel=Specify the supply channel - -# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyContainer.java -Electrical_cable_slot\nBase_range_is_32_blocks.\nEach_additional_cable\nincreases_range_by_one.=Electrical cable slot\nBase range is 32 blocks.\nEach additional cable\nincreases range by one. - -# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyDescriptor.java -Supplies_all_lamps_on_the_channel.=Supplies all lamps on the channel. - -# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyGui.java -Power_channel_name=Power channel name -Wireless_channel_name=Wireless channel name - -# ./src/main/java/mods/eln/sixnode/modbusrtu/ModbusRtuGui.java -Add=Add -Channel_name=Channel name -Modbus_ID=Modbus ID -Modbus_RTU=Modbus RTU -Station_ID=Station ID -Station_name=Station name -Wireless_RX=Wireless RX -Wireless_TX=Wireless TX - -# ./src/main/java/mods/eln/sixnode/powercapacitorsix/PowerCapacitorSixContainer.java -(Increases_maximum_voltage)=(Increases maximum voltage) - -# ./src/main/java/mods/eln/sixnode/powercapacitorsix/PowerCapacitorSixGui.java - -# ./src/main/java/mods/eln/sixnode/powerinductorsix/PowerInductorSixContainer.java - -# ./src/main/java/mods/eln/sixnode/powerinductorsix/PowerInductorSixGui.java - -# ./src/main/java/mods/eln/sixnode/powersocket/PowerSocketDescriptor.java -Supplies_any_device\nplugged_in_with_energy.=Supplies any device\nplugged in with energy. - -# ./src/main/java/mods/eln/sixnode/powersocket/PowerSocketGui.java -Specify_the_device_to_supply_through_this_socket.=Specify the device to supply through this socket. - -# ./src/main/java/mods/eln/sixnode/resistor/ResistorContainer.java -(Sets_resistance)=(Sets resistance) -Coal_dust_slot=Coal dust slot - -# ./src/main/java/mods/eln/sixnode/thermalcable/ThermalCableDescriptor.java -High_parallel_resistance\n_\=>_Low_power_dissipation.=High parallel resistance\n \=> Low power dissipation. -Low_serial_resistance\n_\=>_High_conductivity.=Low serial resistance\n \=> High conductivity. -Parallel_resistance\:_%sK_W=Parallel resistance\: %sK/W -Serial_resistance\:_%sK_W=Serial resistance\: %sK/W - -# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorContainer.java -Cable_slot=Cable slot - -# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorDescriptor.java -Can_measure\:=Can measure\: -Measures_temperature_of_cables.=Measures temperature of cables. -Measures_thermal_values_on_cables.=Measures thermal values on cables. -__Temperature_Power_conducted=Temperature/Power conducted - -# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorGui.java -Measured_temperature\ncorresponding\nto_0%_output=Measured temperature\ncorresponding\nto 0% output -Measured_temperature\ncorresponding\nto_100%_output=Measured temperature\ncorresponding\nto 100% output -Temperature=Temperature - -# ./src/main/java/mods/eln/sixnode/tutorialsign/TutorialSignElement.java -No_text_associated_to_this_beacon=No text associated to this beacon - -# ./src/main/java/mods/eln/sixnode/tutorialsign/TutorialSignGui.java -Set_beacon_name=Set beacon name - -# ./src/main/java/mods/eln/sixnode/wirelesssignal/rx/WirelessSignalRxGui.java - -# ./src/main/java/mods/eln/transparentnode/FuelGenerator.kt -Nominal_power\:_%s_W=Nominal power\: %s W -Nominal_voltage\:_%s_V=Nominal voltage\: %s V -Produces_electricity_using_fuel.=Produces electricity using fuel. - -# ./src/main/java/mods/eln/transparentnode/LargeRheostat.kt -Nom._Resistance\:_%s=Nom. Resistance\: %s - -# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerContainer.java -Drill_slot=Drill slot -Mining_pipe_slot=Mining pipe slot -Ore_scanner_slot=Ore scanner slot - -# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerDescriptor.java -Excavates_on_a_small_radius.\nExtracts_ore_on_a_bigger_radius\:\n10_blocks_radius_after_10_blocks_depth.=Excavates on a small radius.\nExtracts ore on a bigger radius\:\n10 blocks radius after 10 blocks depth. - -# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerGuiDraw.java -Chest_missing_on_the\nback_of_the_auto_miner!=Chest missing on the\nback of the auto miner\! -Halves_speed,_triples_power_draw=Halves speed, triples power draw -Silk_Touch_Off=Silk Touch Off -Silk_Touch_On=Silk Touch On -Silk_touch=Silk touch - -# ./src/main/java/mods/eln/transparentnode/battery/BatteryContainer.java -Overheating_protection=Overheating protection -Overvoltage_protection=Overvoltage protection - -# ./src/main/java/mods/eln/transparentnode/battery/BatteryDescriptor.java -Actual_charge\:_%s=Actual charge\: %s -Energy_capacity\:_%sJ=Energy capacity\: %sJ -_charged_at_%s=charged at %s - -# ./src/main/java/mods/eln/transparentnode/battery/BatteryGuiDraw.java -Charge=Charge -Charged=Charged -Discharge=Discharge -Energy\:=Energy\: -Energy\:_%s=Energy\: %s -Life\:=Life\: -No_charge=No charge -Power_in\:=Power in\: -Power_out\:=Power out\: - -# ./src/main/java/mods/eln/transparentnode/eggincubator/EggIncubatorContainer.java -Egg_slot=Egg slot - -# ./src/main/java/mods/eln/transparentnode/electricalantennarx/ElectricalAntennaRxDescriptor.java -Wireless_energy_receiver.=Wireless energy receiver. - -# ./src/main/java/mods/eln/transparentnode/electricalantennatx/ElectricalAntennaTxDescriptor.java -Efficiency\:_%s_up_to_%s=Efficiency\: %s up to %s -Wireless_energy_transmitter.=Wireless energy transmitter. - -# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceContainer.java -Heating_corp_slot=Heating corp slot - -# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceDescriptor.java -Similar_to_a_vanilla_furnace,\nbut_heats_with_electricity.=Similar to a vanilla furnace,\nbut heats with electricity. - -# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceGuiDraw.java -Auto_shutdown=Auto shutdown -Manual_shutdown=Manual shutdown -Set_point\:_%s°C=Set point\: %s°C - -# ./src/main/java/mods/eln/transparentnode/electricalmachine/ElectricalMachineDescriptor.java -Cost=Cost - -# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceContainer.java -Combustion_chamber_slot=Combustion chamber slot -Fuel_slot=Fuel slot - -# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceDescriptor.java -Generates_heat_when_supplied_with_fuel.=Generates heat when supplied with fuel. - -# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceGuiDraw.java -Control_gauge_at_%s=Control gauge at %s -Decline_fuel=Decline fuel -External_control=External control -Internal_control=Internal control -Take_fuel=Take fuel - -# ./src/main/java/mods/eln/transparentnode/powercapacitor/PowerCapacitorContainer.java -(Increases_maximal_voltage)=(Increases maximal voltage) - -# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelContainer.java -Solar_tracker_slot=Solar tracker slot - -# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelDescriptor.java -Can_be_geared_towards_the_sun.=Can be geared towards the sun. -Max._power\:_%sW=Max. power\: %sW -Max._voltage\:_%sV=Max. voltage\: %sV -Produces_power_from_solar_radiation.=Produces power from solar radiation. - -# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPannelGuiDraw.java -It_is_night=It is night -Solar_panel_angle\:_%s°=Solar panel angle\: %s° -Sun_angle\:_%s°=Sun angle\: %s° - -# ./src/main/java/mods/eln/transparentnode/teleporter/TeleporterGui.java -Destination_transporter=Destination transporter -Power_consumption\:=Power consumption\: -Power_consumption\:_%sW=Power consumption\: %sW -Required_energy\:_%sJ=Required energy\: %sJ -Start=Start -Transporter_name=Transporter name - -# ./src/main/java/mods/eln/transparentnode/thermaldissipatoractive/ThermalDissipatorActiveDescriptor.java -Fan_cooling_power\:_%sW=Fan cooling power\: %sW -Fan_power_consumption\:_%sW=Fan power consumption\: %sW -Fan_voltage\:_%sV=Fan voltage\: %sV - -# ./src/main/java/mods/eln/transparentnode/transformer/TransformerDescriptor.java -The_voltage_ratio_is_proportional\nto_the_cable_stacks_count_ratio.=The voltage ratio is proportional\nto the cable stacks count ratio. -Transforms_an_input_voltage_to\nan_output_voltage.=Transforms an input voltage to\nan output voltage. - -# ./src/main/java/mods/eln/transparentnode/turbine/TurbineDescriptor.java -Generates_electricity_using_heat.=Generates electricity using heat. -Temperature_difference\:_%s°C=Temperature difference\: %s°C - -# ./src/main/java/mods/eln/transparentnode/turret/TurretDescriptor.java -CAUTION\:_Cables_can_get_quite_hot!=CAUTION\: Cables can get quite hot\! -Laser_charge_power\:_%sW...%skW=Laser charge power\: %sW...%skW -Scans_for_entities_and_shoots_if_the\nentity_matches_the_configurable_filter_criteria.=Scans for entities and shoots if the\nentity matches the configurable filter criteria. -Standby_power\:_%sW=Standby power\: %sW - -# ./src/main/java/mods/eln/transparentnode/turret/TurretGui.java -Attack\:=Attack\: -Do_not_attack\:=Do not attack\: -Recharge_power\:=Recharge power\: - -# ./src/main/java/mods/eln/transparentnode/waterturbine/WaterTurbineDescriptor.java -Generates_energy_using_water_stream.=Generates energy using water stream. -No_place_for_water_turbine!=No place for water turbine\! - -# ./src/main/java/mods/eln/transparentnode/windturbine/WindTurbineDescriptor.java -Front\:_%s=Front\: %s -Generates_energy_from_wind.=Generates energy from wind. -Left_Right\:_%s=Left/Right\: %s -Up_Down\:_%s=Up/Down\: %s -Wind_area\:=Wind area\: - -# ./src/main/java/mods/eln/wiki/Data.java -Energy=Energy -Light=Light -Machine=Machine -Ore=Ore -Portable=Portable -Resource=Resource -Signal=Signal -Thermal=Thermal -Upgrade=Upgrade -Utilities=Utilities -Wiring=Wiring - -# ./src/main/java/mods/eln/wiki/Default.java -Previous=Previous - -# ./src/main/java/mods/eln/wiki/ItemDefault.java -Can_be_used_to_craft\:=Can be used to craft\: -Cannot_be_crafted!=Cannot be crafted\! -Cost_%sJ=Cost %sJ -Created_by\:=Created by\: -Is_not_a_crafting_material!=Is not a crafting material\! -Recipe\:=Recipe\: - -# Appearing in multiple source files -(Increases_capacity)=(Increases capacity) -(Increases_inductance)=(Increases inductance) -Actual\:_%s°C=Actual\: %s°C -Biggest=Biggest -Booster_slot=Booster slot -Can_create\:=Can create\: -Capacity\:_%sF=Capacity\: %sF -Charge_power\:_%sW=Charge power\: %sW -Connected=Connected -Cooling_power\:_%sW=Cooling power\: %sW -Copper_cable_slot=Copper cable slot -Dielectric_slot=Dielectric slot -Discharge_power\:_%sW=Discharge power\: %sW -Electrical_cable_slot=Electrical cable slot -Entity_filter_slot=Entity filter slot -Ferromagnetic_core_slot=Ferromagnetic core slot -Has_a_signal_output.=Has a signal output. -Inductance\:_%sH=Inductance\: %sH -Internal_resistance\:_%sΩ=Internal resistance\: %sΩ -Is_off=Is off -Is_on=Is on -Max._temperature\:_%s°C=Max. temperature\: %s°C -Measured_value\ncorresponding\nto_0%_output=Measured value\ncorresponding\nto 0% output -Measured_value\ncorresponding\nto_100%_output=Measured value\ncorresponding\nto 100% output -Nominal\:=Nominal\: -Nominal_power\:_%sW=Nominal power\: %sW -Nominal_usage\:=Nominal usage\: -Nominal_voltage\:_%sV=Nominal voltage\: %sV -Not_connected=Not connected -Not_enough_space_for_this_block=Not enough space for this block -Power=Power -Power\:_%sW=Power\: %sW -Range\:_%s_blocks=Range\: %s blocks -Redstone_slot=Redstone slot -Regulator_slot=Regulator slot -Reset=Reset -Resistance\:_%sΩ=Resistance\: %sΩ -Smallest=Smallest -Specify_the_channel=Specify the channel -Stored_energy\:_%sJ_(%s)=Stored energy\: %sJ (%s) -Temperature\:_%s°C=Temperature\: %s°C -Temperature_gauge=Temperature gauge -Thermal_isolator_slot=Thermal isolator slot -Toggle=Toggle -Toggle_switch=Toggle switch -Toggles_the_output_each_time\nan_emitter's_value_rises.\nUseful_to_allow_multiple_buttons\nto_control_the_same_light.=Toggles the output each time\nan emitter's value rises.\nUseful to allow multiple buttons\nto control the same light. -Used_to_cool_down_turbines.=Used to cool down turbines. -Uses_the_biggest\nvalue_on_the_channel.=Uses the biggest\nvalue on the channel. -Uses_the_smallest\nvalue_on_the_channel.=Uses the smallest\nvalue on the channel. -Validate=Validate -Voltage\:_%sV=Voltage\: %sV -You_can't_place_this_block_at_this_side=You can't place this block at this side +eln:# +eln: +eln:# ./src/main/java/mods/eln/Achievements.java +eln:Electrical_Age_[WIP]=Electrical Age [WIP] +eln:achievement.craft_50v_macerator=Crushing Novice +eln:achievement.craft_50v_macerator.desc=Craft a 50V Macerator +eln:achievement.open_guide=Wiki Power +eln:achievement.open_guide.desc=Open the wiki guide +eln: +eln:# ./src/main/java/mods/eln/Eln.java +eln:10A_Diode.name=10A Diode +eln:200V_Active_Thermal_Dissipator.name=200V Active Thermal Dissipator +eln:200V_Battery_Charger.name=200V Battery Charger +eln:200V_Compressor.name=200V Compressor +eln:200V_Condensator.name=200V Condensator +eln:200V_Copper_Heating_Corp.name=200V Copper Heating Corp +eln:200V_Economic_Light_Bulb.name=200V Economic Light Bulb +eln:200V_Farming_Lamp.name=200V Farming Lamp +eln:200V_Fuel_Generator.name=200V Fuel Generator +eln:200V_Incandescent_Light_Bulb.name=200V Incandescent Light Bulb +eln:200V_Iron_Heating_Corp.name=200V Iron Heating Corp +eln:200V_LED_Bulb.name=200V LED Bulb +eln:200V_Macerator.name=200V Macerator +eln:200V_Magnetizer.name=200V Magnetizer +eln:200V_Plate_Machine.name=200V Plate Machine +eln:200V_Power_Socket.name=200V Power Socket +eln:200V_Tungsten_Heating_Corp.name=200V Tungsten Heating Corp +eln:200V_Turbine.name=200V Turbine +eln:25A_Diode.name=25A Diode +eln:50V_Battery_Charger.name=50V Battery Charger +eln:50V_Carbon_Incandescent_Light_Bulb.name=50V Carbon Incandescent Light Bulb +eln:50V_Compressor.name=50V Compressor +eln:50V_Condensator.name=50V Condensator +eln:50V_Copper_Heating_Corp.name=50V Copper Heating Corp +eln:50V_Economic_Light_Bulb.name=50V Economic Light Bulb +eln:50V_Egg_Incubator.name=50V Egg Incubator +eln:50V_Farming_Lamp.name=50V Farming Lamp +eln:50V_Fuel_Generator.name=50V Fuel Generator +eln:50V_Incandescent_Light_Bulb.name=50V Incandescent Light Bulb +eln:50V_Iron_Heating_Corp.name=50V Iron Heating Corp +eln:50V_LED_Bulb.name=50V LED Bulb +eln:50V_Macerator.name=50V Macerator +eln:50V_Magnetizer.name=50V Magnetizer +eln:50V_Plate_Machine.name=50V Plate Machine +eln:50V_Power_Socket.name=50V Power Socket +eln:50V_Tungsten_Heating_Corp.name=50V Tungsten Heating Corp +eln:50V_Turbine.name=50V Turbine +eln:800V_Defence_Turret.name=800V Defence Turret +eln:AND_Chip.name=AND Chip +eln:Advanced_Chip.name=Advanced Chip +eln:Advanced_Electrical_Motor.name=Advanced Electrical Motor +eln:Advanced_Energy_Meter.name=Advanced Energy Meter +eln:Advanced_Machine_Block.name=Advanced Machine Block +eln:Advanced_Magnet.name=Advanced Magnet +eln:AllMeter.name=Universal-Meter +eln:Alloy_Dust.name=Alloy Dust +eln:Alloy_Ingot.name=Alloy Ingot +eln:Alloy_Plate.name=Alloy Plate +eln:Analog_Watch.name=Analog watch +eln:Analog_vuMeter.name=Analog Gauge +eln:Analogic_Regulator.name=Analogic Regulator +eln:Animal_Filter.name=Animal Filter +eln:Auto_Miner.name=Auto Miner +eln:Average_Electrical_Drill.name=Average Electrical Drill +eln:Average_Ferromagnetic_Core.name=Average Ferromagnetic Core +eln:Basic_Magnet.name=Basic Magnet +eln:Black_Brush.name=Black Brush +eln:Blue_Brush.name=Blue Brush +eln:Brown_Brush.name=Brown Brush +eln:Capacity_Oriented_Battery.name=Capacity Oriented Battery +eln:Cheap_Chip.name=Cheap Chip +eln:Cheap_Electrical_Drill.name=Cheap Electrical Drill +eln:Cheap_Ferromagnetic_Core.name=Cheap Ferromagnetic Core +eln:Cinnabar_Dust.name=Cinnabar Dust +eln:Cinnabar_Ore.name=Cinnabar Ore +eln:Coal_Dust.name=Coal Dust +eln:Coal_Plate.name=Coal Plate +eln:Combustion_Chamber.name=Combustion Chamber +eln:Copper_Cable.name=Copper Cable +eln:Copper_Dust.name=Copper Dust +eln:Copper_Ingot.name=Copper Ingot +eln:Copper_Ore.name=Copper Ore +eln:Copper_Plate.name=Copper Plate +eln:Copper_Thermal_Cable.name=Copper Thermal Cable +eln:Cost_Oriented_Battery.name=Cost Oriented Battery +eln:Current_Oriented_Battery.name=Current Oriented Battery +eln:Cyan_Brush.name=Cyan Brush +eln:D_Flip_Flop_Chip.name=D Flip Flop Chip +eln:Data_Logger.name=Data Logger +eln:Data_Logger_Print.name=Data Logger Print +eln:Dielectric.name=Dielectric +eln:Digital_Watch.name=Digital Watch +eln:Electrical_Anemometer_Sensor.name=Electrical Anemometer Sensor +eln:Electrical_Breaker.name=Electrical Breaker +eln:Electrical_Daylight_Sensor.name=Electrical Daylight Sensor +eln:Electrical_Entity_Sensor.name=Electrical Entity Sensor +eln:Electrical_Fire_Detector.name=Electrical Fire Detector +eln:Electrical_Furnace.name=Electrical Furnace +eln:Electrical_Light_Sensor.name=Electrical Light Sensor +eln:Electrical_Motor.name=Electrical Motor +eln:Electrical_Probe.name=Electrical Probe +eln:Electrical_Probe_Chip.name=Electrical Probe Chip +eln:Electrical_Source.name=Electrical Source +eln:Electrical_Timer.name=Electrical Timer +eln:Electrical_Weather_Sensor.name=Electrical Weather Sensor +eln:Electrical_age_wrench,\nCan_be_used_to_turn\nsmall_wall_blocks=Electrical age wrench,\nCan be used to turn\nsmall wall blocks +eln:Energy_Meter.name=Energy Meter +eln:Experimental_Transporter.name=Experimental Transporter +eln:Fast_Electrical_Drill.name=Fast Electrical Drill +eln:Ferrite_Ingot.name=Ferrite Ingot +eln:Flat_Lamp_Socket.name=Flat Lamp Socket +eln:Fluorescent_Lamp_Socket.name=Fluorescent Lamp Socket +eln:Generator.name=Generator +eln:Gold_Dust.name=Gold Dust +eln:Gold_Plate.name=Gold Plate +eln:Gray_Brush.name=Gray Brush +eln:Green_Brush.name=Green Brush +eln:Ground_Cable.name=Ground Cable +eln:High_Power_Receiver_Antenna.name=High Power Receiver Antenna +eln:High_Power_Transmitter_Antenna.name=High Power Transmitter Antenna +eln:High_Voltage_Cable.name=High Voltage Cable +eln:High_Voltage_Relay.name=High Voltage Relay +eln:High_Voltage_Switch.name=High Voltage Switch +eln:Hub.name=Hub +eln:Industrial_Data_Logger.name=Industrial Data Logger +eln:Iron_Cable.name=Iron Cable +eln:Iron_Dust.name=Iron Dust +eln:Iron_Plate.name=Iron Plate +eln:JK_Flip_Flop_Chip.name=JK Flip Flop Chip +eln:LED_vuMeter.name=LED vuMeter +eln:Lamp_Socket_A.name=Lamp Socket A +eln:Lamp_Socket_B_Projector.name=Lamp Socket B Projector +eln:Lamp_Supply.name=Lamp Supply +eln:Large_Rheostat.name=Large Rheostat +eln:Lead_Dust.name=Lead Dust +eln:Lead_Ingot.name=Lead Ingot +eln:Lead_Ore.name=Lead Ore +eln:Lead_Plate.name=Lead Plate +eln:Life_Oriented_Battery.name=Life Oriented Battery +eln:Light_Blue_Brush.name=Light Blue Brush +eln:Lime_Brush.name=Lime Brush +eln:Long_Suspended_Lamp_Socket.name=Long Suspended Lamp Socket +eln:Low_Power_Receiver_Antenna.name=Low Power Receiver Antenna +eln:Low_Power_Transmitter_Antenna.name=Low Power Transmitter Antenna +eln:Low_Voltage_Cable.name=Low Voltage Cable +eln:Low_Voltage_Relay.name=Low Voltage Relay +eln:Low_Voltage_Switch.name=Low Voltage Switch +eln:Machine_Block.name=Machine Block +eln:Machine_Booster.name=Machine Booster +eln:Magenta_Brush.name=Magenta Brush +eln:Medium_Power_Receiver_Antenna.name=Medium Power Receiver Antenna +eln:Medium_Power_Transmitter_Antenna.name=Medium Power Transmitter Antenna +eln:Medium_Voltage_Cable.name=Medium Voltage Cable +eln:Medium_Voltage_Relay.name=Medium Voltage Relay +eln:Medium_Voltage_Switch.name=Medium Voltage Switch +eln:Mercury.name=Mercury +eln:Mining_Pipe.name=Mining Pipe +eln:Modbus_RTU.name=Modbus RTU +eln:Modern_Data_Logger.name=Modern Data Logger +eln:Monster_Filter.name=Monster Filter +eln:MultiMeter.name=Multimeter +eln:NAND_Chip.name=NAND Chip +eln:NOR_Chip.name=NOR Chip +eln:NOT_Chip.name=NOT Chip +eln:Nuclear_Alarm.name=Nuclear Alarm +eln:OR_Chip.name=OR Chip +eln:On_OFF_Regulator_10_Percent.name=On/off regulator 10% +eln:On_OFF_Regulator_1_Percent.name=On/off regulator 1% +eln:Optimal_Ferromagnetic_Core.name=Optimal Ferromagnetic Core +eln:Orange_Brush.name=Orange Brush +eln:Ore_Scanner.name=Ore Scanner +eln:Oscillator_Chip.name=Oscillator Chip +eln:Overheating_Protection.name=Overheating Protection +eln:Overvoltage_Protection.name=Overvoltage Protection +eln:PAL_Chip.name=PAL Chip +eln:Pink_Brush.name=Pink Brush +eln:Player_Filter.name=Player Filter +eln:Portable_Battery.name=Portable Battery +eln:Portable_Battery_Pack.name=Portable Battery Pack +eln:Portable_Condensator.name=Portable Condensator +eln:Portable_Condensator_Pack.name=Portable Condensator Pack +eln:Portable_Electrical_Axe.name=Portable Electrical Axe +eln:Portable_Electrical_Mining_Drill.name=Portable Electrical Mining Drill +eln:Power_Capacitor.name=Power Capacitor +eln:Power_Inductor.name=Power Inductor +eln:Power_Resistor.name=Power Resistor +eln:Power_capacitor.name=Power capacitor +eln:Power_inductor.name=Power inductor +eln:Purple_Brush.name=Purple Brush +eln:Red_Brush.name=Red Brush +eln:Redstone-to-Voltage_Converter.name=Redstone-to-Voltage Converter +eln:Rheostat.name=Rheostat +eln:Robust_Lamp_Socket.name=Robust Lamp Socket +eln:Rubber.name=Rubber +eln:Schmitt_Trigger_Chip.name=Schmitt Trigger Chip +eln:Sconce_Lamp_Socket.name=Sconce Lamp Socket +eln:Signal_20H_inductor.name=Signal 20H inductor +eln:Signal_Antenna.name=Signal Antenna +eln:Signal_Button.name=Signal Button +eln:Signal_Cable.name=Signal Cable +eln:Signal_Diode.name=Signal Diode +eln:Signal_Processor.name=Signal Processor +eln:Signal_Relay.name=Signal Relay +eln:Signal_Source.name=Signal Source +eln:Signal_Switch.name=Signal Switch +eln:Signal_Switch_with_LED.name=Signal Switch with LED +eln:Signal_Trimmer.name=Signal Trimmer +eln:Silicon_Dust.name=Silicon Dust +eln:Silicon_Ingot.name=Silicon Ingot +eln:Silicon_Plate.name=Silicon Plate +eln:Silver_Brush.name=Silver Brush +eln:Simple_Lamp_Socket.name=Simple Lamp Socket +eln:Single-use_Battery.name=Single-use Battery +eln:Small_200V_Copper_Heating_Corp.name=Small 200V Copper Heating Corp +eln:Small_200V_Iron_Heating_Corp.name=Small 200V Iron Heating Corp +eln:Small_200V_Tungsten_Heating_Corp.name=Small 200V Tungsten Heating Corp +eln:Small_50V_Carbon_Incandescent_Light_Bulb.name=Small 50V Carbon Incandescent Light Bulb +eln:Small_50V_Copper_Heating_Corp.name=Small 50V Copper Heating Corp +eln:Small_50V_Economic_Light_Bulb.name=Small 50V Economic Light Bulb +eln:Small_50V_Incandescent_Light_Bulb.name=Small 50V Incandescent Light Bulb +eln:Small_50V_Iron_Heating_Corp.name=Small 50V Iron Heating Corp +eln:Small_50V_Tungsten_Heating_Corp.name=Small 50V Tungsten Heating Corp +eln:Small_Active_Thermal_Dissipator.name=Small Active Thermal Dissipator +eln:Small_Flashlight.name=Small Flashlight +eln:Small_Passive_Thermal_Dissipator.name=Small Passive Thermal Dissipator +eln:Small_Rotating_Solar_Panel.name=Small Rotating Solar Panel +eln:Small_Solar_Panel.name=Small Solar Panel +eln:Solar_Tracker.name=Solar Tracker +eln:Standard_Alarm.name=Standard Alarm +eln:Steam_Turbine.name=Steam Turbine +eln:Stone_Heat_Furnace.name=Stone Heat Furnace +eln:Street_Light.name=Streetlight +eln:Suspended_Lamp_Socket.name=Suspended Lamp Socket +eln:Temperature_Probe.name=Temperature Probe +eln:Thermal_Probe.name=Thermal Probe +eln:Thermal_Probe_Chip.name=Thermal Probe Chip +eln:Thermistor.name=Thermistor +eln:ThermoMeter.name=Thermometer +eln:Transformer.name=Transformer +eln:Tree_Resin.name=Tree Resin +eln:Tree_Resin_Collector.name=Tree Resin Collector +eln:Tungsten_Cable.name=Tungsten Cable +eln:Tungsten_Dust.name=Tungsten Dust +eln:Tungsten_Ingot.name=Tungsten Ingot +eln:Tungsten_Ore.name=Tungsten Ore +eln:Tutorial_Sign.name=Tutorial Sign +eln:Very_High_Voltage_Cable.name=Very High Voltage Cable +eln:Very_High_Voltage_Relay.name=Very High Voltage Relay +eln:Very_High_Voltage_Switch.name=Very High Voltage Switch +eln:Voltage-to-Redstone_Converter.name=Voltage-to-Redstone Converter +eln:Voltage_Oriented_Battery.name=Voltage Oriented Battery +eln:Voltage_Probe.name=Voltage Probe +eln:Water_Turbine.name=Water Turbine +eln:Weak_50V_Battery_Charger.name=Weak 50V Battery Charger +eln:White_Brush.name=White Brush +eln:Wind_Turbine.name=Wind Turbine +eln:Wireless_Analyser.name=Wireless Analyzer +eln:Wireless_Button.name=Wireless Button +eln:Wireless_Signal_Receiver.name=Wireless Signal Receiver +eln:Wireless_Signal_Repeater.name=Wireless Signal Repeater +eln:Wireless_Signal_Transmitter.name=Wireless Signal Transmitter +eln:Wireless_Switch.name=Wireless Switch +eln:Wrench.name=Wrench +eln:X-Ray_Scanner.name=X-Ray Scanner +eln:XNOR_Chip.name=XNOR Chip +eln:XOR_Chip.name=XOR Chip +eln:Yellow_Brush.name=Yellow Brush +eln:entity.EAReplicator.name=Replicator +eln:item.Copper Axe.name\=Copper Axe +eln:item.Copper Axe.name\=Copper Axe +eln:item.Copper Axe.name\=Copper Axe +eln:item.Copper Axe.name\=Copper Axe +eln:item.Copper Axe.name\=Copper Axe +eln:item.Copper Axe.name\=Copper Axe +eln:item.Copper Axe.name\=Copper Axe +eln:item.Copper Axe.name\=Copper Axe +eln:item.Copper Axe.name\=Copper Axe +eln:item.E-Coal Boots.name\=E-Coal Boots +eln:item.E-Coal Boots.name\=E-Coal Boots +eln:item.E-Coal Boots.name\=E-Coal Boots +eln:item.E-Coal Boots.name\=E-Coal Boots +eln:itemGroup.Eln=Electrical Age +eln:mod.meta.desc=Electricity in your base\! +eln:tile.eln.ElnProbe.name=Eln Computer Probe +eln:tile.eln.EnergyConverterElnToOtherHVUBlock.name=800V Electrical Age to other energy exporter +eln:tile.eln.EnergyConverterElnToOtherLVUBlock.name=50V Electrical Age to other energy exporter +eln:tile.eln.EnergyConverterElnToOtherMVUBlock.name=200V Electrical Age to other energy exporter +eln: +eln:# ./src/main/java/mods/eln/i18n/I18N.java +eln:You_have_%s_lives_left=You have %s lives left +eln: +eln:# ./src/main/java/mods/eln/item/BrushDescriptor.java +eln:Brush_is_dry=Brush is dry +eln:Can_paint_%s_blocks=Can paint %s blocks +eln: +eln:# ./src/main/java/mods/eln/item/CombustionChamber.java +eln:Upgrade_for_the_Stone_Heat_Furnace.=Upgrade for the Stone Heat Furnace. +eln: +eln:# ./src/main/java/mods/eln/item/ElectricalDrillDescriptor.java +eln:Energy_per_operation\:_%sJ=Energy per operation\: %sJ +eln:Time_per_operation\:_%ss=Time per operation\: %ss +eln: +eln:# ./src/main/java/mods/eln/item/FerromagneticCoreDescriptor.java +eln:Cable_loss_factor\:_%s=Cable loss factor\: %s +eln: +eln:# ./src/main/java/mods/eln/item/HeatingCorpElement.java +eln: +eln:# ./src/main/java/mods/eln/item/LampDescriptor.java +eln:Bad=Bad +eln:Condition\:=Condition\: +eln:End_of_life=End of life +eln:Good=Good +eln:New=New +eln:Nominal_lifetime\:_%sh=Nominal lifetime\: %sh +eln:Technology\:_%s=Technology\: %s +eln:Used=Used +eln: +eln:# ./src/main/java/mods/eln/item/LampSlot.java +eln:Lamp_slot=Lamp slot +eln: +eln:# ./src/main/java/mods/eln/item/OverHeatingProtectionDescriptor.java +eln:Useful_to_prevent_overheating\nof_Batteries=Useful to prevent overheating\nof Batteries +eln: +eln:# ./src/main/java/mods/eln/item/OverVoltageProtectionDescriptor.java +eln:Useful_to_prevent_over-voltage\nof_Batteries=Useful to prevent over-voltage\nof Batteries +eln: +eln:# ./src/main/java/mods/eln/item/SolarTrackerDescriptor.java +eln:Solar_panel_upgrade=Solar panel upgrade +eln: +eln:# ./src/main/java/mods/eln/item/electricalitem/BatteryItem.java +eln: +eln:# ./src/main/java/mods/eln/item/electricalitem/ElectricalLampItem.java +eln:Off=Off +eln:On=On +eln:State\:=State\: +eln:Stored_Energy\:_%sJ_(%s)=Stored Energy\: %sJ (%s) +eln: +eln:# ./src/main/java/mods/eln/item/regulator/RegulatorSlot.java +eln: +eln:# ./src/main/java/mods/eln/misc/UtilsClient.java +eln:Hold_shift=Hold shift +eln: +eln:# ./src/main/java/mods/eln/misc/Version.java +eln:mod.name=Electrical Age +eln: +eln:# ./src/main/java/mods/eln/node/six/SixNodeDescriptor.java +eln: +eln:# ./src/main/java/mods/eln/simplenode/energyconverter/EnergyConverterElnToOtherGui.java +eln:Input_power_is_limited_to_%sW=Input power is limited to %sW +eln: +eln:# ./src/main/java/mods/eln/sixnode/LogicGate.kt +eln:_O\:_= O\: +eln: +eln:# ./src/main/java/mods/eln/sixnode/TreeResinCollector/TreeResinCollectorDescriptor.java +eln:Produces_Tree_Resin_over\ntime_when_put_on_a_tree.=Produces Tree Resin over\ntime when put on a tree. +eln:This_block_can_only_be_placed_on_the_side_of_a_tree!=This block can only be placed on the side of a tree\! +eln: +eln:# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerContainer.java +eln:Battery_slot=Battery slot +eln: +eln:# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerDescriptor.java +eln:Can_be_used_to_recharge\nelectrical_items_like\:\nFlash_Light,_X-Ray_scanner\nand_Portable_Battery_...=Can be used to recharge\nelectrical items like\:\nFlash Light, X-Ray scanner\nand Portable Battery ... +eln: +eln:# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerGui.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/diode/DiodeDescriptor.java +eln:Electrical_current_can_only\nflow_through_the_diode\nfrom_anode_to_cathode=Electrical current can only\nflow through the diode\nfrom anode to cathode +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalalarm/ElectricalAlarmDescriptor.java +eln:= +eln:Emits_an_acoustic_alarm_if\nthe_input_signal_is_high=Emits an acoustic alarm if\nthe input signal is high +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalalarm/ElectricalAlarmGui.java +eln:Sound_is_muted=Sound is muted +eln:Sound_is_not_muted=Sound is not muted +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerContainer.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerDescriptor.java +eln:Protects_electrical_components\nOpens_contact_if\:\n__-_Voltage_exceeds_a_certain_level\n-_Current_exceeds_the_cable_limit=Protects electrical components\nOpens contact if\:\n - Voltage exceeds a certain level\n- Current exceeds the cable limit +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerGui.java +eln:Maximum_voltage_before_cutting_off=Maximum voltage before cutting off +eln:Minimum_voltage_before_cutting_off=Minimum voltage before cutting off +eln:Switch_is_off=Switch is off +eln:Switch_is_on=Switch is on +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalcable/ElectricalCableDescriptor.java +eln:A_signal_is_electrical_information\nwhich_must_be_between_0V_and_%sV=A signal is electrical information\nwhich must be between 0V and %sV +eln:Cable_is_adapted_to_conduct\nelectrical_signals.=Cable is adapted to conduct\nelectrical signals. +eln:Current\:_%sA=Current\: %sA +eln:Not_adapted_to_transport_power.=Not adapted to transport power. +eln:Save_usage\:=Save usage\: +eln:Serial_resistance\:_%sΩ=Serial resistance\: %sΩ +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerDescriptor.java +eln:It_can_store_up_to_256_points.=It can store up to 256 points. +eln:Measures_the_voltage_of_an\nelectrical_signal_and_plots\nthe_data_in_real_time.=Measures the voltage of an\nelectrical signal and plots\nthe data in real time. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerGui.java +eln:Back_to_display=Back to display +eln:Configuration=Configuration +eln:Current_[A]=Current [A] +eln:Energy_[J]=Energy [J] +eln:Percent_[-]%=Percent [-]% +eln:Power_[W]=Power [W] +eln:Print=Print +eln:Sampling_period=Sampling period +eln:Temp._[*C]=Temp. [*C] +eln:Voltage_[V]=Voltage [V] +eln:Y-axis_max=Y-axis max +eln:Y-axis_min=Y-axis min +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorContainer.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorDescriptor.java +eln:Output_voltage_increases\nif_entities_are_moving_around.=Output voltage increases\nif entities are moving around. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalfiredetector/ElectricalFireDetectorDescriptor.java +eln:Output_voltage_increases\nif_a_fire_has_been_detected.=Output voltage increases\nif a fire has been detected. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceDescriptor.java +eln:Provides_configurable_signal\nvoltage.=Provides configurable signal\nvoltage. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceGui.java +eln:Output_at_%s=Output at %s +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricallightsensor/ElectricalLightSensorDescriptor.java +eln:0V_at_night,_%sV_at_noon.=0V at night, %sV at noon. +eln:Provides_an_electrical_voltage\nin_the_presence_of_light.=Provides an electrical voltage\nin the presence of light. +eln:Provides_an_electrical_voltage\nwhich_is_proportional_to\nthe_intensity_of_daylight.=Provides an electrical voltage\nwhich is proportional to\nthe intensity of daylight. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathContainer.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathDescriptor.java +eln:Applicable_boolean_operators\:=Applicable boolean operators\: +eln:Applicable_functions\:=Applicable functions\: +eln:Applicable_mathematical_operators\:=Applicable mathematical operators\: +eln:Calculates_an_output_signal_from\n3_inputs_(A,_B,_C)_using_an_equation.=Calculates an output signal from\n3 inputs (A, B, C) using an equation. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathGui.java +eln:%s_Redstone(s)_required=%s Redstone(s) required +eln:Equation_required!=Equation required\! +eln:Inputs_are=Inputs are +eln:Invalid_equation!=Invalid equation\! +eln:Output_voltage_formula=Output voltage formula +eln:Waiting_for_completion...=Waiting for completion... +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalredstoneinput/ElectricalRedstoneInputDescriptor.java +eln:Converts_Redstone_signal\nto_an_electrical_voltage.=Converts Redstone signal\nto an electrical voltage. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalredstoneoutput/ElectricalRedstoneOutputDescriptor.java +eln:Converts_electrical_voltage\ninto_a_Redstone_signal.=Converts electrical voltage\ninto a Redstone signal. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalrelay/ElectricalRelayDescriptor.java +eln:A_relay_is_an_electrical\ncontact_that_conducts_electric\ncurrent_or_not,_depending\nthe_actual_input_signal_voltage.=A relay is an electrical\ncontact that conducts electric\ncurrent or not, depending\nthe actual input signal voltage. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalrelay/ElectricalRelayGui.java +eln:Normally_closed=Normally closed +eln:Normally_open=Normally open +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalsource/ElectricalSourceDescriptor.java +eln:Creative_block.=Creative block. +eln:Provides_an_ideal_voltage_source\nwithout_energy_or_power_limitation.=Provides an ideal voltage source\nwithout energy or power limitation. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalsource/ElectricalSourceGui.java +eln:Output_voltage=Output voltage +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalswitch/ElectricalSwitchDescriptor.java +eln:Can_break_an_electrical_circuit\ninterrupting_the_current.=Can break an electrical circuit\ninterrupting the current. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricaltimeout/ElectricalTimeoutDescriptor.java +eln:Upon_application_of_a_high_signal,\nthe_timer_maintains_the_output_high_for\na_configurable_interval._Can_be_re-triggered.=Upon application of a high signal,\nthe timer maintains the output high for\na configurable interval. Can be re-triggered. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricaltimeout/ElectricalTimeoutGui.java +eln:Set=Set +eln:The_time_interval_the\noutput_is_kept_high.=The time interval the\noutput is kept high. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalvumeter/ElectricalVuMeterDescriptor.java +eln:Displays_the_value_of_a_signal.=Displays the value of a signal. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalwatch/ElectricalWatchContainer.java +eln:Portable_battery_slot=Portable battery slot +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalweathersensor/ElectricalWeatherSensorDescriptor.java +eln:Clear\:_%sV=Clear\: %sV +eln:Provides_an_electrical_signal\ndepending_the_actual_weather.=Provides an electrical signal\ndepending the actual weather. +eln:Rain\:_%sV=Rain\: %sV +eln:Storm\:_%sV=Storm\: %sV +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalwindsensor/ElectricalWindSensorDescriptor.java +eln:Maximum_wind_speed_is_%sm_s=Maximum wind speed is %sm/s +eln:Provides_an_electrical_signal\ndependant_on_wind_speed.=Provides an electrical signal\ndependant on wind speed. +eln:You_can't_place_this_block_on_the_floor_or_the_ceiling=You can't place this block on the floor or the ceiling +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricasensor/ElectricalSensorDescriptor.java +eln:Can_measure_Voltage_Power_Current=Can measure Voltage/Power/Current +eln:Measures_electrical_values_on_cables.=Measures electrical values on cables. +eln:Measures_voltage_on_cables.=Measures voltage on cables. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricasensor/ElectricalSensorGui.java +eln:Current=Current +eln:Measured_voltage\ncorresponding\nto_0%_output=Measured voltage\ncorresponding\nto 0% output +eln:Measured_voltage\ncorresponding\nto_100%_output=Measured voltage\ncorresponding\nto 100% output +eln:Voltage=Voltage +eln: +eln:# ./src/main/java/mods/eln/sixnode/energymeter/EnergyMeterGui.java +eln:Change_password=Change password +eln:Counter_Mode=Counter Mode +eln:Counts_the_energy_conducted_from\n\u00a74red\u00a7f_to_\u00a71blue\u00a7f.=Counts the energy conducted from\n\\u00a74red\\u00a7f to \\u00a71blue\\u00a7f. +eln:Energy_counter\:_%sJ=Energy counter\: %sJ +eln:Enter_new_energy=Enter new energy +eln:Enter_password=Enter password +eln:Prepay_Mode=Prepay Mode +eln:Reset_time_counter=Reset time counter +eln:Set_energy_counter=Set energy counter +eln:Time_counter\:=Time counter\: +eln:Try_password=Try password +eln:You_can_set_an_initial\namount_of_available_energy.\nWhen_the_counter_arrives_at_0\nthe_contact_will_be_opened.=You can set an initial\namount of available energy.\nWhen the counter arrives at 0\nthe contact will be opened. +eln:is_off=is off +eln:is_on=is on +eln:value_in_kJ=value in kJ +eln: +eln:# ./src/main/java/mods/eln/sixnode/groundcable/GroundCableDescriptor.java +eln:Can_be_used_to_set_a_point_of_an\nelectrical_network_to_0V_potential.\nFor_example_to_ground_negative_battery_contacts.=Can be used to set a point of an\nelectrical network to 0V potential.\nFor example to ground negative battery contacts. +eln:Provides_a_zero_volt_reference.=Provides a zero volt reference. +eln: +eln:# ./src/main/java/mods/eln/sixnode/hub/HubDescriptor.java +eln:Allows_crossing_cables\non_one_single_block.=Allows crossing cables\non one single block. +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketDescriptor.java +eln:Angle\:_%s°_to_%s°=Angle\: %s° to %s° +eln:Spot_range\:_%s_blocks=Spot range\: %s blocks +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketGuiDraw.java +eln:%s_is_not_in_range!=%s is not in range\! +eln:Cable_slot_empty=Cable slot empty +eln:Orientation\:_%s°=Orientation\: %s° +eln:Parallel=Parallel +eln:Powered_by_Lamp_Supply=Powered by Lamp Supply +eln:Powered_by_cable=Powered by cable +eln:Serial=Serial +eln:Specify_the_supply_channel=Specify the supply channel +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyContainer.java +eln:Electrical_cable_slot\nBase_range_is_32_blocks.\nEach_additional_cable\nincreases_range_by_one.=Electrical cable slot\nBase range is 32 blocks.\nEach additional cable\nincreases range by one. +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyDescriptor.java +eln:Supplies_all_lamps_on_the_channel.=Supplies all lamps on the channel. +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyGui.java +eln:Power_channel_name=Power channel name +eln:Wireless_channel_name=Wireless channel name +eln: +eln:# ./src/main/java/mods/eln/sixnode/modbusrtu/ModbusRtuGui.java +eln:Add=Add +eln:Channel_name=Channel name +eln:Modbus_ID=Modbus ID +eln:Modbus_RTU=Modbus RTU +eln:Station_ID=Station ID +eln:Station_name=Station name +eln:Wireless_RX=Wireless RX +eln:Wireless_TX=Wireless TX +eln: +eln:# ./src/main/java/mods/eln/sixnode/powercapacitorsix/PowerCapacitorSixContainer.java +eln:(Increases_maximum_voltage)=(Increases maximum voltage) +eln: +eln:# ./src/main/java/mods/eln/sixnode/powercapacitorsix/PowerCapacitorSixGui.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/powerinductorsix/PowerInductorSixContainer.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/powerinductorsix/PowerInductorSixGui.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/powersocket/PowerSocketDescriptor.java +eln:Supplies_any_device\nplugged_in_with_energy.=Supplies any device\nplugged in with energy. +eln: +eln:# ./src/main/java/mods/eln/sixnode/powersocket/PowerSocketGui.java +eln:Specify_the_device_to_supply_through_this_socket.=Specify the device to supply through this socket. +eln: +eln:# ./src/main/java/mods/eln/sixnode/resistor/ResistorContainer.java +eln:(Sets_resistance)=(Sets resistance) +eln:Coal_dust_slot=Coal dust slot +eln: +eln:# ./src/main/java/mods/eln/sixnode/thermalcable/ThermalCableDescriptor.java +eln:High_parallel_resistance\n_\=>_Low_power_dissipation.=High parallel resistance\n \=> Low power dissipation. +eln:Low_serial_resistance\n_\=>_High_conductivity.=Low serial resistance\n \=> High conductivity. +eln:Parallel_resistance\:_%sK_W=Parallel resistance\: %sK/W +eln:Serial_resistance\:_%sK_W=Serial resistance\: %sK/W +eln: +eln:# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorContainer.java +eln:Cable_slot=Cable slot +eln: +eln:# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorDescriptor.java +eln:Can_measure\:=Can measure\: +eln:Measures_temperature_of_cables.=Measures temperature of cables. +eln:Measures_thermal_values_on_cables.=Measures thermal values on cables. +eln:__Temperature_Power_conducted=Temperature/Power conducted +eln: +eln:# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorGui.java +eln:Measured_temperature\ncorresponding\nto_0%_output=Measured temperature\ncorresponding\nto 0% output +eln:Measured_temperature\ncorresponding\nto_100%_output=Measured temperature\ncorresponding\nto 100% output +eln:Temperature=Temperature +eln: +eln:# ./src/main/java/mods/eln/sixnode/tutorialsign/TutorialSignElement.java +eln:No_text_associated_to_this_beacon=No text associated to this beacon +eln: +eln:# ./src/main/java/mods/eln/sixnode/tutorialsign/TutorialSignGui.java +eln:Set_beacon_name=Set beacon name +eln: +eln:# ./src/main/java/mods/eln/sixnode/wirelesssignal/rx/WirelessSignalRxGui.java +eln: +eln:# ./src/main/java/mods/eln/transparentnode/FuelGenerator.kt +eln:Nominal_power\:_%s_W=Nominal power\: %s W +eln:Nominal_voltage\:_%s_V=Nominal voltage\: %s V +eln:Produces_electricity_using_fuel.=Produces electricity using fuel. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/LargeRheostat.kt +eln:Nom._Resistance\:_%s=Nom. Resistance\: %s +eln: +eln:# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerContainer.java +eln:Drill_slot=Drill slot +eln:Mining_pipe_slot=Mining pipe slot +eln:Ore_scanner_slot=Ore scanner slot +eln: +eln:# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerDescriptor.java +eln:Excavates_on_a_small_radius.\nExtracts_ore_on_a_bigger_radius\:\n10_blocks_radius_after_10_blocks_depth.=Excavates on a small radius.\nExtracts ore on a bigger radius\:\n10 blocks radius after 10 blocks depth. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerGuiDraw.java +eln:Chest_missing_on_the\nback_of_the_auto_miner!=Chest missing on the\nback of the auto miner\! +eln:Halves_speed,_triples_power_draw=Halves speed, triples power draw +eln:Silk_Touch_Off=Silk Touch Off +eln:Silk_Touch_On=Silk Touch On +eln:Silk_touch=Silk touch +eln: +eln:# ./src/main/java/mods/eln/transparentnode/battery/BatteryContainer.java +eln:Overheating_protection=Overheating protection +eln:Overvoltage_protection=Overvoltage protection +eln: +eln:# ./src/main/java/mods/eln/transparentnode/battery/BatteryDescriptor.java +eln:Actual_charge\:_%s=Actual charge\: %s +eln:Energy_capacity\:_%sJ=Energy capacity\: %sJ +eln:_charged_at_%s=charged at %s +eln: +eln:# ./src/main/java/mods/eln/transparentnode/battery/BatteryGuiDraw.java +eln:Charge=Charge +eln:Charged=Charged +eln:Discharge=Discharge +eln:Energy\:=Energy\: +eln:Energy\:_%s=Energy\: %s +eln:Life\:=Life\: +eln:No_charge=No charge +eln:Power_in\:=Power in\: +eln:Power_out\:=Power out\: +eln: +eln:# ./src/main/java/mods/eln/transparentnode/eggincubator/EggIncubatorContainer.java +eln:Egg_slot=Egg slot +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalantennarx/ElectricalAntennaRxDescriptor.java +eln:Wireless_energy_receiver.=Wireless energy receiver. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalantennatx/ElectricalAntennaTxDescriptor.java +eln:Efficiency\:_%s_up_to_%s=Efficiency\: %s up to %s +eln:Wireless_energy_transmitter.=Wireless energy transmitter. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceContainer.java +eln:Heating_corp_slot=Heating corp slot +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceDescriptor.java +eln:Similar_to_a_vanilla_furnace,\nbut_heats_with_electricity.=Similar to a vanilla furnace,\nbut heats with electricity. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceGuiDraw.java +eln:Auto_shutdown=Auto shutdown +eln:Manual_shutdown=Manual shutdown +eln:Set_point\:_%s°C=Set point\: %s°C +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalmachine/ElectricalMachineDescriptor.java +eln:Cost=Cost +eln: +eln:# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceContainer.java +eln:Combustion_chamber_slot=Combustion chamber slot +eln:Fuel_slot=Fuel slot +eln: +eln:# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceDescriptor.java +eln:Generates_heat_when_supplied_with_fuel.=Generates heat when supplied with fuel. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceGuiDraw.java +eln:Control_gauge_at_%s=Control gauge at %s +eln:Decline_fuel=Decline fuel +eln:External_control=External control +eln:Internal_control=Internal control +eln:Take_fuel=Take fuel +eln: +eln:# ./src/main/java/mods/eln/transparentnode/powercapacitor/PowerCapacitorContainer.java +eln:(Increases_maximal_voltage)=(Increases maximal voltage) +eln: +eln:# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelContainer.java +eln:Solar_tracker_slot=Solar tracker slot +eln: +eln:# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelDescriptor.java +eln:Can_be_geared_towards_the_sun.=Can be geared towards the sun. +eln:Max._power\:_%sW=Max. power\: %sW +eln:Max._voltage\:_%sV=Max. voltage\: %sV +eln:Produces_power_from_solar_radiation.=Produces power from solar radiation. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPannelGuiDraw.java +eln:It_is_night=It is night +eln:Solar_panel_angle\:_%s°=Solar panel angle\: %s° +eln:Sun_angle\:_%s°=Sun angle\: %s° +eln: +eln:# ./src/main/java/mods/eln/transparentnode/teleporter/TeleporterGui.java +eln:Destination_transporter=Destination transporter +eln:Power_consumption\:=Power consumption\: +eln:Power_consumption\:_%sW=Power consumption\: %sW +eln:Required_energy\:_%sJ=Required energy\: %sJ +eln:Start=Start +eln:Transporter_name=Transporter name +eln: +eln:# ./src/main/java/mods/eln/transparentnode/thermaldissipatoractive/ThermalDissipatorActiveDescriptor.java +eln:Fan_cooling_power\:_%sW=Fan cooling power\: %sW +eln:Fan_power_consumption\:_%sW=Fan power consumption\: %sW +eln:Fan_voltage\:_%sV=Fan voltage\: %sV +eln: +eln:# ./src/main/java/mods/eln/transparentnode/transformer/TransformerDescriptor.java +eln:The_voltage_ratio_is_proportional\nto_the_cable_stacks_count_ratio.=The voltage ratio is proportional\nto the cable stacks count ratio. +eln:Transforms_an_input_voltage_to\nan_output_voltage.=Transforms an input voltage to\nan output voltage. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/turbine/TurbineDescriptor.java +eln:Generates_electricity_using_heat.=Generates electricity using heat. +eln:Temperature_difference\:_%s°C=Temperature difference\: %s°C +eln: +eln:# ./src/main/java/mods/eln/transparentnode/turret/TurretDescriptor.java +eln:CAUTION\:_Cables_can_get_quite_hot!=CAUTION\: Cables can get quite hot\! +eln:Laser_charge_power\:_%sW...%skW=Laser charge power\: %sW...%skW +eln:Scans_for_entities_and_shoots_if_the\nentity_matches_the_configurable_filter_criteria.=Scans for entities and shoots if the\nentity matches the configurable filter criteria. +eln:Standby_power\:_%sW=Standby power\: %sW +eln: +eln:# ./src/main/java/mods/eln/transparentnode/turret/TurretGui.java +eln:Attack\:=Attack\: +eln:Do_not_attack\:=Do not attack\: +eln:Recharge_power\:=Recharge power\: +eln: +eln:# ./src/main/java/mods/eln/transparentnode/waterturbine/WaterTurbineDescriptor.java +eln:Generates_energy_using_water_stream.=Generates energy using water stream. +eln:No_place_for_water_turbine!=No place for water turbine\! +eln: +eln:# ./src/main/java/mods/eln/transparentnode/windturbine/WindTurbineDescriptor.java +eln:Front\:_%s=Front\: %s +eln:Generates_energy_from_wind.=Generates energy from wind. +eln:Left_Right\:_%s=Left/Right\: %s +eln:Up_Down\:_%s=Up/Down\: %s +eln:Wind_area\:=Wind area\: +eln: +eln:# ./src/main/java/mods/eln/wiki/Data.java +eln:Energy=Energy +eln:Light=Light +eln:Machine=Machine +eln:Ore=Ore +eln:Portable=Portable +eln:Resource=Resource +eln:Signal=Signal +eln:Thermal=Thermal +eln:Upgrade=Upgrade +eln:Utilities=Utilities +eln:Wiring=Wiring +eln: +eln:# ./src/main/java/mods/eln/wiki/Default.java +eln:Previous=Previous +eln: +eln:# ./src/main/java/mods/eln/wiki/ItemDefault.java +eln:Can_be_used_to_craft\:=Can be used to craft\: +eln:Cannot_be_crafted!=Cannot be crafted\! +eln:Cost_%sJ=Cost %sJ +eln:Created_by\:=Created by\: +eln:Is_not_a_crafting_material!=Is not a crafting material\! +eln:Recipe\:=Recipe\: +eln: +eln:# Appearing in multiple source files +eln:(Increases_capacity)=(Increases capacity) +eln:(Increases_inductance)=(Increases inductance) +eln:Actual\:_%s°C=Actual\: %s°C +eln:Biggest=Biggest +eln:Booster_slot=Booster slot +eln:Can_create\:=Can create\: +eln:Capacity\:_%sF=Capacity\: %sF +eln:Charge_power\:_%sW=Charge power\: %sW +eln:Connected=Connected +eln:Cooling_power\:_%sW=Cooling power\: %sW +eln:Copper_cable_slot=Copper cable slot +eln:Dielectric_slot=Dielectric slot +eln:Discharge_power\:_%sW=Discharge power\: %sW +eln:Electrical_cable_slot=Electrical cable slot +eln:Entity_filter_slot=Entity filter slot +eln:Ferromagnetic_core_slot=Ferromagnetic core slot +eln:Has_a_signal_output.=Has a signal output. +eln:Inductance\:_%sH=Inductance\: %sH +eln:Internal_resistance\:_%sΩ=Internal resistance\: %sΩ +eln:Is_off=Is off +eln:Is_on=Is on +eln:Max._temperature\:_%s°C=Max. temperature\: %s°C +eln:Measured_value\ncorresponding\nto_0%_output=Measured value\ncorresponding\nto 0% output +eln:Measured_value\ncorresponding\nto_100%_output=Measured value\ncorresponding\nto 100% output +eln:Nominal\:=Nominal\: +eln:Nominal_power\:_%sW=Nominal power\: %sW +eln:Nominal_usage\:=Nominal usage\: +eln:Nominal_voltage\:_%sV=Nominal voltage\: %sV +eln:Not_connected=Not connected +eln:Not_enough_space_for_this_block=Not enough space for this block +eln:Power=Power +eln:Power\:_%sW=Power\: %sW +eln:Range\:_%s_blocks=Range\: %s blocks +eln:Redstone_slot=Redstone slot +eln:Regulator_slot=Regulator slot +eln:Reset=Reset +eln:Resistance\:_%sΩ=Resistance\: %sΩ +eln:Smallest=Smallest +eln:Specify_the_channel=Specify the channel +eln:Stored_energy\:_%sJ_(%s)=Stored energy\: %sJ (%s) +eln:Temperature\:_%s°C=Temperature\: %s°C +eln:Temperature_gauge=Temperature gauge +eln:Thermal_isolator_slot=Thermal isolator slot +eln:Toggle=Toggle +eln:Toggle_switch=Toggle switch +eln:Toggles_the_output_each_time\nan_emitter's_value_rises.\nUseful_to_allow_multiple_buttons\nto_control_the_same_light.=Toggles the output each time\nan emitter's value rises.\nUseful to allow multiple buttons\nto control the same light. +eln:Used_to_cool_down_turbines.=Used to cool down turbines. +eln:Uses_the_biggest\nvalue_on_the_channel.=Uses the biggest\nvalue on the channel. +eln:Uses_the_smallest\nvalue_on_the_channel.=Uses the smallest\nvalue on the channel. +eln:Validate=Validate +eln:Voltage\:_%sV=Voltage\: %sV +eln:You_can't_place_this_block_at_this_side=You can't place this block at this side diff --git a/src/main/resources/assets/eln/lang/pl_PL.lang b/src/main/resources/assets/eln/lang/pl_PL.lang index f4e769aa7..92e8a8d93 100644 --- a/src/main/resources/assets/eln/lang/pl_PL.lang +++ b/src/main/resources/assets/eln/lang/pl_PL.lang @@ -1,829 +1,829 @@ -# - -# ./src/main/java/mods/eln/Achievements.java -Electrical_Age_[WIP]=Electrical Age [WIP] -achievement.craft_50v_macerator=Crushing Novice -achievement.craft_50v_macerator.desc=Craft a 50V Macerator -achievement.open_guide=Wiki Power -achievement.open_guide.desc=Open the wiki guide - -# ./src/main/java/mods/eln/Eln.java -10A_Diode.name=10A Diode -200V_Active_Thermal_Dissipator.name=200V Active Thermal Dissipator -200V_Battery_Charger.name=200V Battery Charger -200V_Compressor.name=200V Compressor -200V_Condensator.name=200V Condensator -200V_Copper_Heating_Corp.name=200V Copper Heating Corp -200V_Economic_Light_Bulb.name=200V Economic Light Bulb -200V_Farming_Lamp.name=200V Farming Lamp -200V_Fuel_Generator.name=200V Fuel Generator -200V_Incandescent_Light_Bulb.name=200V Incandescent Light Bulb -200V_Iron_Heating_Corp.name=200V Iron Heating Corp -200V_LED_Bulb.name=200V LED Bulb -200V_Macerator.name=200V Macerator -200V_Magnetizer.name=200V Magnetizer -200V_Plate_Machine.name=200V Plate Machine -200V_Power_Socket.name=200V Power Socket -200V_Tungsten_Heating_Corp.name=200V Tungsten Heating Corp -200V_Turbine.name=200V Turbine -25A_Diode.name=25A Diode -50V_Battery_Charger.name=50V Battery Charger -50V_Carbon_Incandescent_Light_Bulb.name=50V Carbon Incandescent Light Bulb -50V_Compressor.name=50V Compressor -50V_Condensator.name=50V Condensator -50V_Copper_Heating_Corp.name=50V Copper Heating Corp -50V_Economic_Light_Bulb.name=50V Economic Light Bulb -50V_Egg_Incubator.name=50V Egg Incubator -50V_Farming_Lamp.name=50V Farming Lamp -50V_Fuel_Generator.name=50V Fuel Generator -50V_Incandescent_Light_Bulb.name=50V Incandescent Light Bulb -50V_Iron_Heating_Corp.name=50V Iron Heating Corp -50V_LED_Bulb.name=50V LED Bulb -50V_Macerator.name=50V Macerator -50V_Magnetizer.name=50V Magnetizer -50V_Plate_Machine.name=50V Plate Machine -50V_Power_Socket.name=50V Power Socket -50V_Tungsten_Heating_Corp.name=50V Tungsten Heating Corp -50V_Turbine.name=50V Turbine -800V_Defence_Turret.name=800V Defence Turret -AND_Chip.name=AND Chip -Advanced_Chip.name=Advanced Chip -Advanced_Electrical_Motor.name=Advanced Electrical Motor -Advanced_Energy_Meter.name=Advanced Energy Meter -Advanced_Machine_Block.name=Advanced Machine Block -Advanced_Magnet.name=Advanced Magnet -AllMeter.name=Universal-Meter -Alloy_Dust.name=Alloy Dust -Alloy_Ingot.name=Alloy Ingot -Alloy_Plate.name=Alloy Plate -Analog_Watch.name=Analog watch -Analog_vuMeter.name=Analog Gauge -Analogic_Regulator.name=Analogic Regulator -Animal_Filter.name=Animal Filter -Auto_Miner.name=Auto Miner -Average_Electrical_Drill.name=Average Electrical Drill -Average_Ferromagnetic_Core.name=Average Ferromagnetic Core -Basic_Magnet.name=Basic Magnet -Black_Brush.name=Black Brush -Blue_Brush.name=Blue Brush -Brown_Brush.name=Brown Brush -Capacity_Oriented_Battery.name=Capacity Oriented Battery -Cheap_Chip.name=Cheap Chip -Cheap_Electrical_Drill.name=Cheap Electrical Drill -Cheap_Ferromagnetic_Core.name=Cheap Ferromagnetic Core -Cinnabar_Dust.name=Cinnabar Dust -Cinnabar_Ore.name=Cinnabar Ore -Coal_Dust.name=Coal Dust -Coal_Plate.name=Coal Plate -Combustion_Chamber.name=Combustion Chamber -Copper_Cable.name=Copper Cable -Copper_Dust.name=Copper Dust -Copper_Ingot.name=Copper Ingot -Copper_Ore.name=Copper Ore -Copper_Plate.name=Copper Plate -Copper_Thermal_Cable.name=Copper Thermal Cable -Cost_Oriented_Battery.name=Cost Oriented Battery -Current_Oriented_Battery.name=Current Oriented Battery -Cyan_Brush.name=Cyan Brush -D_Flip_Flop_Chip.name=D Flip Flop Chip -Data_Logger.name=Data Logger -Data_Logger_Print.name=Data Logger Print -Dielectric.name=Dielectric -Digital_Watch.name=Digital Watch -Electrical_Anemometer_Sensor.name=Electrical Anemometer Sensor -Electrical_Breaker.name=Electrical Breaker -Electrical_Daylight_Sensor.name=Electrical Daylight Sensor -Electrical_Entity_Sensor.name=Electrical Entity Sensor -Electrical_Fire_Detector.name=Electrical Fire Detector -Electrical_Furnace.name=Electrical Furnace -Electrical_Light_Sensor.name=Electrical Light Sensor -Electrical_Motor.name=Electrical Motor -Electrical_Probe.name=Electrical Probe -Electrical_Probe_Chip.name=Electrical Probe Chip -Electrical_Source.name=Electrical Source -Electrical_Timer.name=Electrical Timer -Electrical_Weather_Sensor.name=Electrical Weather Sensor -Electrical_age_wrench,\nCan_be_used_to_turn\nsmall_wall_blocks=Electrical age wrench,\nCan be used to turn\nsmall wall blocks -Energy_Meter.name=Energy Meter -Experimental_Transporter.name=Experimental Transporter -Fast_Electrical_Drill.name=Fast Electrical Drill -Ferrite_Ingot.name=Ferrite Ingot -Flat_Lamp_Socket.name=Flat Lamp Socket -Fluorescent_Lamp_Socket.name=Fluorescent Lamp Socket -Generator.name=Generator -Gold_Dust.name=Gold Dust -Gold_Plate.name=Gold Plate -Gray_Brush.name=Gray Brush -Green_Brush.name=Green Brush -Ground_Cable.name=Ground Cable -High_Power_Receiver_Antenna.name=High Power Receiver Antenna -High_Power_Transmitter_Antenna.name=High Power Transmitter Antenna -High_Voltage_Cable.name=High Voltage Cable -High_Voltage_Relay.name=High Voltage Relay -High_Voltage_Switch.name=High Voltage Switch -Hub.name=Hub -Industrial_Data_Logger.name=Industrial Data Logger -Iron_Cable.name=Iron Cable -Iron_Dust.name=Iron Dust -Iron_Plate.name=Iron Plate -JK_Flip_Flop_Chip.name=JK Flip Flop Chip -LED_vuMeter.name=LED vuMeter -Lamp_Socket_A.name=Lamp Socket A -Lamp_Socket_B_Projector.name=Lamp Socket B Projector -Lamp_Supply.name=Lamp Supply -Large_Rheostat.name=Large Rheostat -Lead_Dust.name=Lead Dust -Lead_Ingot.name=Lead Ingot -Lead_Ore.name=Lead Ore -Lead_Plate.name=Lead Plate -Life_Oriented_Battery.name=Life Oriented Battery -Light_Blue_Brush.name=Light Blue Brush -Lime_Brush.name=Lime Brush -Long_Suspended_Lamp_Socket.name=Long Suspended Lamp Socket -Low_Power_Receiver_Antenna.name=Low Power Receiver Antenna -Low_Power_Transmitter_Antenna.name=Low Power Transmitter Antenna -Low_Voltage_Cable.name=Low Voltage Cable -Low_Voltage_Relay.name=Low Voltage Relay -Low_Voltage_Switch.name=Low Voltage Switch -Machine_Block.name=Machine Block -Machine_Booster.name=Machine Booster -Magenta_Brush.name=Magenta Brush -Medium_Power_Receiver_Antenna.name=Medium Power Receiver Antenna -Medium_Power_Transmitter_Antenna.name=Medium Power Transmitter Antenna -Medium_Voltage_Cable.name=Medium Voltage Cable -Medium_Voltage_Relay.name=Medium Voltage Relay -Medium_Voltage_Switch.name=Medium Voltage Switch -Mercury.name=Mercury -Mining_Pipe.name=Mining Pipe -Modbus_RTU.name=Modbus RTU -Modern_Data_Logger.name=Modern Data Logger -Monster_Filter.name=Monster Filter -MultiMeter.name=Multimeter -NAND_Chip.name=NAND Chip -NOR_Chip.name=NOR Chip -NOT_Chip.name=NOT Chip -Nuclear_Alarm.name=Nuclear Alarm -OR_Chip.name=OR Chip -On_OFF_Regulator_10_Percent.name=On/off regulator 10% -On_OFF_Regulator_1_Percent.name=On/off regulator 1% -Optimal_Ferromagnetic_Core.name=Optimal Ferromagnetic Core -Orange_Brush.name=Orange Brush -Ore_Scanner.name=Ore Scanner -Oscillator_Chip.name=Oscillator Chip -Overheating_Protection.name=Overheating Protection -Overvoltage_Protection.name=Overvoltage Protection -PAL_Chip.name=PAL Chip -Pink_Brush.name=Pink Brush -Player_Filter.name=Player Filter -Portable_Battery.name=Portable Battery -Portable_Battery_Pack.name=Portable Battery Pack -Portable_Condensator.name=Portable Condensator -Portable_Condensator_Pack.name=Portable Condensator Pack -Portable_Electrical_Axe.name=Portable Electrical Axe -Portable_Electrical_Mining_Drill.name=Portable Electrical Mining Drill -Power_Capacitor.name=Power Capacitor -Power_Inductor.name=Power Inductor -Power_Resistor.name=Power Resistor -Power_capacitor.name=Power capacitor -Power_inductor.name=Power inductor -Purple_Brush.name=Purple Brush -Red_Brush.name=Red Brush -Redstone-to-Voltage_Converter.name=Redstone-to-Voltage Converter -Rheostat.name=Rheostat -Robust_Lamp_Socket.name=Robust Lamp Socket -Rubber.name=Rubber -Schmitt_Trigger_Chip.name=Schmitt Trigger Chip -Sconce_Lamp_Socket.name=Sconce Lamp Socket -Signal_20H_inductor.name=Signal 20H inductor -Signal_Antenna.name=Signal Antenna -Signal_Button.name=Signal Button -Signal_Cable.name=Signal Cable -Signal_Diode.name=Signal Diode -Signal_Processor.name=Signal Processor -Signal_Relay.name=Signal Relay -Signal_Source.name=Signal Source -Signal_Switch.name=Signal Switch -Signal_Switch_with_LED.name=Signal Switch with LED -Signal_Trimmer.name=Signal Trimmer -Silicon_Dust.name=Silicon Dust -Silicon_Ingot.name=Silicon Ingot -Silicon_Plate.name=Silicon Plate -Silver_Brush.name=Silver Brush -Simple_Lamp_Socket.name=Simple Lamp Socket -Single-use_Battery.name=Single-use Battery -Small_200V_Copper_Heating_Corp.name=Small 200V Copper Heating Corp -Small_200V_Iron_Heating_Corp.name=Small 200V Iron Heating Corp -Small_200V_Tungsten_Heating_Corp.name=Small 200V Tungsten Heating Corp -Small_50V_Carbon_Incandescent_Light_Bulb.name=Small 50V Carbon Incandescent Light Bulb -Small_50V_Copper_Heating_Corp.name=Small 50V Copper Heating Corp -Small_50V_Economic_Light_Bulb.name=Small 50V Economic Light Bulb -Small_50V_Incandescent_Light_Bulb.name=Small 50V Incandescent Light Bulb -Small_50V_Iron_Heating_Corp.name=Small 50V Iron Heating Corp -Small_50V_Tungsten_Heating_Corp.name=Small 50V Tungsten Heating Corp -Small_Active_Thermal_Dissipator.name=Small Active Thermal Dissipator -Small_Flashlight.name=Small Flashlight -Small_Passive_Thermal_Dissipator.name=Small Passive Thermal Dissipator -Small_Rotating_Solar_Panel.name=Small Rotating Solar Panel -Small_Solar_Panel.name=Small Solar Panel -Solar_Tracker.name=Solar Tracker -Standard_Alarm.name=Standard Alarm -Steam_Turbine.name=Steam Turbine -Stone_Heat_Furnace.name=Stone Heat Furnace -Street_Light.name=Streetlight -Suspended_Lamp_Socket.name=Suspended Lamp Socket -Temperature_Probe.name=Temperature Probe -Thermal_Probe.name=Thermal Probe -Thermal_Probe_Chip.name=Thermal Probe Chip -Thermistor.name=Thermistor -ThermoMeter.name=Thermometer -Transformer.name=Transformer -Tree_Resin.name=Tree Resin -Tree_Resin_Collector.name=Tree Resin Collector -Tungsten_Cable.name=Tungsten Cable -Tungsten_Dust.name=Tungsten Dust -Tungsten_Ingot.name=Tungsten Ingot -Tungsten_Ore.name=Tungsten Ore -Tutorial_Sign.name=Tutorial Sign -Very_High_Voltage_Cable.name=Very High Voltage Cable -Very_High_Voltage_Relay.name=Very High Voltage Relay -Very_High_Voltage_Switch.name=Very High Voltage Switch -Voltage-to-Redstone_Converter.name=Voltage-to-Redstone Converter -Voltage_Oriented_Battery.name=Voltage Oriented Battery -Voltage_Probe.name=Voltage Probe -Water_Turbine.name=Water Turbine -Weak_50V_Battery_Charger.name=Weak 50V Battery Charger -White_Brush.name=White Brush -Wind_Turbine.name=Wind Turbine -Wireless_Analyser.name=Wireless Analyzer -Wireless_Button.name=Wireless Button -Wireless_Signal_Receiver.name=Wireless Signal Receiver -Wireless_Signal_Repeater.name=Wireless Signal Repeater -Wireless_Signal_Transmitter.name=Wireless Signal Transmitter -Wireless_Switch.name=Wireless Switch -Wrench.name=Wrench -X-Ray_Scanner.name=X-Ray Scanner -XNOR_Chip.name=XNOR Chip -XOR_Chip.name=XOR Chip -Yellow_Brush.name=Yellow Brush -entity.EAReplicator.name=Replicator -item.Copper Axe.name\=Copper Axe -item.Copper Axe.name\=Copper Axe -item.Copper Axe.name\=Copper Axe -item.Copper Axe.name\=Copper Axe -item.Copper Axe.name\=Copper Axe -item.Copper Axe.name\=Copper Axe -item.Copper Axe.name\=Copper Axe -item.Copper Axe.name\=Copper Axe -item.Copper Axe.name\=Copper Axe -item.E-Coal Boots.name\=E-Coal Boots -item.E-Coal Boots.name\=E-Coal Boots -item.E-Coal Boots.name\=E-Coal Boots -item.E-Coal Boots.name\=E-Coal Boots -itemGroup.Eln=Electrical Age -mod.meta.desc=Electricity in your base\! -tile.eln.ElnProbe.name=Eln Computer Probe -tile.eln.EnergyConverterElnToOtherHVUBlock.name=800V Electrical Age to other energy exporter -tile.eln.EnergyConverterElnToOtherLVUBlock.name=50V Electrical Age to other energy exporter -tile.eln.EnergyConverterElnToOtherMVUBlock.name=200V Electrical Age to other energy exporter - -# ./src/main/java/mods/eln/i18n/I18N.java -You_have_%s_lives_left=You have %s lives left - -# ./src/main/java/mods/eln/item/BrushDescriptor.java -Brush_is_dry=Brush is dry -Can_paint_%s_blocks=Can paint %s blocks - -# ./src/main/java/mods/eln/item/CombustionChamber.java -Upgrade_for_the_Stone_Heat_Furnace.=Upgrade for the Stone Heat Furnace. - -# ./src/main/java/mods/eln/item/ElectricalDrillDescriptor.java -Energy_per_operation\:_%sJ=Energy per operation\: %sJ -Time_per_operation\:_%ss=Time per operation\: %ss - -# ./src/main/java/mods/eln/item/FerromagneticCoreDescriptor.java -Cable_loss_factor\:_%s=Cable loss factor\: %s - -# ./src/main/java/mods/eln/item/HeatingCorpElement.java - -# ./src/main/java/mods/eln/item/LampDescriptor.java -Bad=Bad -Condition\:=Condition\: -End_of_life=End of life -Good=Good -New=New -Nominal_lifetime\:_%sh=Nominal lifetime\: %sh -Technology\:_%s=Technology\: %s -Used=Used - -# ./src/main/java/mods/eln/item/LampSlot.java -Lamp_slot=Lamp slot - -# ./src/main/java/mods/eln/item/OverHeatingProtectionDescriptor.java -Useful_to_prevent_overheating\nof_Batteries=Useful to prevent overheating\nof Batteries - -# ./src/main/java/mods/eln/item/OverVoltageProtectionDescriptor.java -Useful_to_prevent_over-voltage\nof_Batteries=Useful to prevent over-voltage\nof Batteries - -# ./src/main/java/mods/eln/item/SolarTrackerDescriptor.java -Solar_panel_upgrade=Solar panel upgrade - -# ./src/main/java/mods/eln/item/electricalitem/BatteryItem.java - -# ./src/main/java/mods/eln/item/electricalitem/ElectricalLampItem.java -Off=Off -On=On -State\:=State\: -Stored_Energy\:_%sJ_(%s)=Stored Energy\: %sJ (%s) - -# ./src/main/java/mods/eln/item/regulator/RegulatorSlot.java - -# ./src/main/java/mods/eln/misc/UtilsClient.java -Hold_shift=Hold shift - -# ./src/main/java/mods/eln/misc/Version.java -mod.name=Electrical Age - -# ./src/main/java/mods/eln/node/six/SixNodeDescriptor.java - -# ./src/main/java/mods/eln/simplenode/energyconverter/EnergyConverterElnToOtherGui.java -Input_power_is_limited_to_%sW=Input power is limited to %sW - -# ./src/main/java/mods/eln/sixnode/LogicGate.kt -_O\:_= O\: - -# ./src/main/java/mods/eln/sixnode/TreeResinCollector/TreeResinCollectorDescriptor.java -Produces_Tree_Resin_over\ntime_when_put_on_a_tree.=Produces Tree Resin over\ntime when put on a tree. -This_block_can_only_be_placed_on_the_side_of_a_tree!=This block can only be placed on the side of a tree\! - -# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerContainer.java -Battery_slot=Battery slot - -# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerDescriptor.java -Can_be_used_to_recharge\nelectrical_items_like\:\nFlash_Light,_X-Ray_scanner\nand_Portable_Battery_...=Can be used to recharge\nelectrical items like\:\nFlash Light, X-Ray scanner\nand Portable Battery ... - -# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerGui.java - -# ./src/main/java/mods/eln/sixnode/diode/DiodeDescriptor.java -Electrical_current_can_only\nflow_through_the_diode\nfrom_anode_to_cathode=Electrical current can only\nflow through the diode\nfrom anode to cathode - -# ./src/main/java/mods/eln/sixnode/electricalalarm/ElectricalAlarmDescriptor.java -= -Emits_an_acoustic_alarm_if\nthe_input_signal_is_high=Emits an acoustic alarm if\nthe input signal is high - -# ./src/main/java/mods/eln/sixnode/electricalalarm/ElectricalAlarmGui.java -Sound_is_muted=Sound is muted -Sound_is_not_muted=Sound is not muted - -# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerContainer.java - -# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerDescriptor.java -Protects_electrical_components\nOpens_contact_if\:\n__-_Voltage_exceeds_a_certain_level\n-_Current_exceeds_the_cable_limit=Protects electrical components\nOpens contact if\:\n - Voltage exceeds a certain level\n- Current exceeds the cable limit - -# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerGui.java -Maximum_voltage_before_cutting_off=Maximum voltage before cutting off -Minimum_voltage_before_cutting_off=Minimum voltage before cutting off -Switch_is_off=Switch is off -Switch_is_on=Switch is on - -# ./src/main/java/mods/eln/sixnode/electricalcable/ElectricalCableDescriptor.java -A_signal_is_electrical_information\nwhich_must_be_between_0V_and_%sV=A signal is electrical information\nwhich must be between 0V and %sV -Cable_is_adapted_to_conduct\nelectrical_signals.=Cable is adapted to conduct\nelectrical signals. -Current\:_%sA=Current\: %sA -Not_adapted_to_transport_power.=Not adapted to transport power. -Save_usage\:=Save usage\: -Serial_resistance\:_%sΩ=Serial resistance\: %sΩ - -# ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerDescriptor.java -It_can_store_up_to_256_points.=It can store up to 256 points. -Measures_the_voltage_of_an\nelectrical_signal_and_plots\nthe_data_in_real_time.=Measures the voltage of an\nelectrical signal and plots\nthe data in real time. - -# ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerGui.java -Back_to_display=Back to display -Configuration=Configuration -Current_[A]=Current [A] -Energy_[J]=Energy [J] -Percent_[-]%=Percent [-]% -Power_[W]=Power [W] -Print=Print -Sampling_period=Sampling period -Temp._[*C]=Temp. [*C] -Voltage_[V]=Voltage [V] -Y-axis_max=Y-axis max -Y-axis_min=Y-axis min - -# ./src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorContainer.java - -# ./src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorDescriptor.java -Output_voltage_increases\nif_entities_are_moving_around.=Output voltage increases\nif entities are moving around. - -# ./src/main/java/mods/eln/sixnode/electricalfiredetector/ElectricalFireDetectorDescriptor.java -Output_voltage_increases\nif_a_fire_has_been_detected.=Output voltage increases\nif a fire has been detected. - -# ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceDescriptor.java -Provides_configurable_signal\nvoltage.=Provides configurable signal\nvoltage. - -# ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceGui.java -Output_at_%s=Output at %s - -# ./src/main/java/mods/eln/sixnode/electricallightsensor/ElectricalLightSensorDescriptor.java -0V_at_night,_%sV_at_noon.=0V at night, %sV at noon. -Provides_an_electrical_voltage\nin_the_presence_of_light.=Provides an electrical voltage\nin the presence of light. -Provides_an_electrical_voltage\nwhich_is_proportional_to\nthe_intensity_of_daylight.=Provides an electrical voltage\nwhich is proportional to\nthe intensity of daylight. - -# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathContainer.java - -# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathDescriptor.java -Applicable_boolean_operators\:=Applicable boolean operators\: -Applicable_functions\:=Applicable functions\: -Applicable_mathematical_operators\:=Applicable mathematical operators\: -Calculates_an_output_signal_from\n3_inputs_(A,_B,_C)_using_an_equation.=Calculates an output signal from\n3 inputs (A, B, C) using an equation. - -# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathGui.java -%s_Redstone(s)_required=%s Redstone(s) required -Equation_required!=Equation required\! -Inputs_are=Inputs are -Invalid_equation!=Invalid equation\! -Output_voltage_formula=Output voltage formula -Waiting_for_completion...=Waiting for completion... - -# ./src/main/java/mods/eln/sixnode/electricalredstoneinput/ElectricalRedstoneInputDescriptor.java -Converts_Redstone_signal\nto_an_electrical_voltage.=Converts Redstone signal\nto an electrical voltage. - -# ./src/main/java/mods/eln/sixnode/electricalredstoneoutput/ElectricalRedstoneOutputDescriptor.java -Converts_electrical_voltage\ninto_a_Redstone_signal.=Converts electrical voltage\ninto a Redstone signal. - -# ./src/main/java/mods/eln/sixnode/electricalrelay/ElectricalRelayDescriptor.java -A_relay_is_an_electrical\ncontact_that_conducts_electric\ncurrent_or_not,_depending\nthe_actual_input_signal_voltage.=A relay is an electrical\ncontact that conducts electric\ncurrent or not, depending\nthe actual input signal voltage. - -# ./src/main/java/mods/eln/sixnode/electricalrelay/ElectricalRelayGui.java -Normally_closed=Normally closed -Normally_open=Normally open - -# ./src/main/java/mods/eln/sixnode/electricalsource/ElectricalSourceDescriptor.java -Creative_block.=Creative block. -Provides_an_ideal_voltage_source\nwithout_energy_or_power_limitation.=Provides an ideal voltage source\nwithout energy or power limitation. - -# ./src/main/java/mods/eln/sixnode/electricalsource/ElectricalSourceGui.java -Output_voltage=Output voltage - -# ./src/main/java/mods/eln/sixnode/electricalswitch/ElectricalSwitchDescriptor.java -Can_break_an_electrical_circuit\ninterrupting_the_current.=Can break an electrical circuit\ninterrupting the current. - -# ./src/main/java/mods/eln/sixnode/electricaltimeout/ElectricalTimeoutDescriptor.java -Upon_application_of_a_high_signal,\nthe_timer_maintains_the_output_high_for\na_configurable_interval._Can_be_re-triggered.=Upon application of a high signal,\nthe timer maintains the output high for\na configurable interval. Can be re-triggered. - -# ./src/main/java/mods/eln/sixnode/electricaltimeout/ElectricalTimeoutGui.java -Set=Set -The_time_interval_the\noutput_is_kept_high.=The time interval the\noutput is kept high. - -# ./src/main/java/mods/eln/sixnode/electricalvumeter/ElectricalVuMeterDescriptor.java -Displays_the_value_of_a_signal.=Displays the value of a signal. - -# ./src/main/java/mods/eln/sixnode/electricalwatch/ElectricalWatchContainer.java -Portable_battery_slot=Portable battery slot - -# ./src/main/java/mods/eln/sixnode/electricalweathersensor/ElectricalWeatherSensorDescriptor.java -Clear\:_%sV=Clear\: %sV -Provides_an_electrical_signal\ndepending_the_actual_weather.=Provides an electrical signal\ndepending the actual weather. -Rain\:_%sV=Rain\: %sV -Storm\:_%sV=Storm\: %sV - -# ./src/main/java/mods/eln/sixnode/electricalwindsensor/ElectricalWindSensorDescriptor.java -Maximum_wind_speed_is_%sm_s=Maximum wind speed is %sm/s -Provides_an_electrical_signal\ndependant_on_wind_speed.=Provides an electrical signal\ndependant on wind speed. -You_can't_place_this_block_on_the_floor_or_the_ceiling=You can't place this block on the floor or the ceiling - -# ./src/main/java/mods/eln/sixnode/electricasensor/ElectricalSensorDescriptor.java -Can_measure_Voltage_Power_Current=Can measure Voltage/Power/Current -Measures_electrical_values_on_cables.=Measures electrical values on cables. -Measures_voltage_on_cables.=Measures voltage on cables. - -# ./src/main/java/mods/eln/sixnode/electricasensor/ElectricalSensorGui.java -Current=Current -Measured_voltage\ncorresponding\nto_0%_output=Measured voltage\ncorresponding\nto 0% output -Measured_voltage\ncorresponding\nto_100%_output=Measured voltage\ncorresponding\nto 100% output -Voltage=Voltage - -# ./src/main/java/mods/eln/sixnode/energymeter/EnergyMeterGui.java -Change_password=Change password -Counter_Mode=Counter Mode -Counts_the_energy_conducted_from\n\u00a74red\u00a7f_to_\u00a71blue\u00a7f.=Counts the energy conducted from\n\\u00a74red\\u00a7f to \\u00a71blue\\u00a7f. -Energy_counter\:_%sJ=Energy counter\: %sJ -Enter_new_energy=Enter new energy -Enter_password=Enter password -Prepay_Mode=Prepay Mode -Reset_time_counter=Reset time counter -Set_energy_counter=Set energy counter -Time_counter\:=Time counter\: -Try_password=Try password -You_can_set_an_initial\namount_of_available_energy.\nWhen_the_counter_arrives_at_0\nthe_contact_will_be_opened.=You can set an initial\namount of available energy.\nWhen the counter arrives at 0\nthe contact will be opened. -is_off=is off -is_on=is on -value_in_kJ=value in kJ - -# ./src/main/java/mods/eln/sixnode/groundcable/GroundCableDescriptor.java -Can_be_used_to_set_a_point_of_an\nelectrical_network_to_0V_potential.\nFor_example_to_ground_negative_battery_contacts.=Can be used to set a point of an\nelectrical network to 0V potential.\nFor example to ground negative battery contacts. -Provides_a_zero_volt_reference.=Provides a zero volt reference. - -# ./src/main/java/mods/eln/sixnode/hub/HubDescriptor.java -Allows_crossing_cables\non_one_single_block.=Allows crossing cables\non one single block. - -# ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketDescriptor.java -Angle\:_%s°_to_%s°=Angle\: %s° to %s° -Spot_range\:_%s_blocks=Spot range\: %s blocks - -# ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketGuiDraw.java -%s_is_not_in_range!=%s is not in range\! -Cable_slot_empty=Cable slot empty -Orientation\:_%s°=Orientation\: %s° -Parallel=Parallel -Powered_by_Lamp_Supply=Powered by Lamp Supply -Powered_by_cable=Powered by cable -Serial=Serial -Specify_the_supply_channel=Specify the supply channel - -# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyContainer.java -Electrical_cable_slot\nBase_range_is_32_blocks.\nEach_additional_cable\nincreases_range_by_one.=Electrical cable slot\nBase range is 32 blocks.\nEach additional cable\nincreases range by one. - -# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyDescriptor.java -Supplies_all_lamps_on_the_channel.=Supplies all lamps on the channel. - -# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyGui.java -Power_channel_name=Power channel name -Wireless_channel_name=Wireless channel name - -# ./src/main/java/mods/eln/sixnode/modbusrtu/ModbusRtuGui.java -Add=Add -Channel_name=Channel name -Modbus_ID=Modbus ID -Modbus_RTU=Modbus RTU -Station_ID=Station ID -Station_name=Station name -Wireless_RX=Wireless RX -Wireless_TX=Wireless TX - -# ./src/main/java/mods/eln/sixnode/powercapacitorsix/PowerCapacitorSixContainer.java -(Increases_maximum_voltage)=(Increases maximum voltage) - -# ./src/main/java/mods/eln/sixnode/powercapacitorsix/PowerCapacitorSixGui.java - -# ./src/main/java/mods/eln/sixnode/powerinductorsix/PowerInductorSixContainer.java - -# ./src/main/java/mods/eln/sixnode/powerinductorsix/PowerInductorSixGui.java - -# ./src/main/java/mods/eln/sixnode/powersocket/PowerSocketDescriptor.java -Supplies_any_device\nplugged_in_with_energy.=Supplies any device\nplugged in with energy. - -# ./src/main/java/mods/eln/sixnode/powersocket/PowerSocketGui.java -Specify_the_device_to_supply_through_this_socket.=Specify the device to supply through this socket. - -# ./src/main/java/mods/eln/sixnode/resistor/ResistorContainer.java -(Sets_resistance)=(Sets resistance) -Coal_dust_slot=Coal dust slot - -# ./src/main/java/mods/eln/sixnode/thermalcable/ThermalCableDescriptor.java -High_parallel_resistance\n_\=>_Low_power_dissipation.=High parallel resistance\n \=> Low power dissipation. -Low_serial_resistance\n_\=>_High_conductivity.=Low serial resistance\n \=> High conductivity. -Parallel_resistance\:_%sK_W=Parallel resistance\: %sK/W -Serial_resistance\:_%sK_W=Serial resistance\: %sK/W - -# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorContainer.java -Cable_slot=Cable slot - -# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorDescriptor.java -Can_measure\:=Can measure\: -Measures_temperature_of_cables.=Measures temperature of cables. -Measures_thermal_values_on_cables.=Measures thermal values on cables. -__Temperature_Power_conducted=Temperature/Power conducted - -# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorGui.java -Measured_temperature\ncorresponding\nto_0%_output=Measured temperature\ncorresponding\nto 0% output -Measured_temperature\ncorresponding\nto_100%_output=Measured temperature\ncorresponding\nto 100% output -Temperature=Temperature - -# ./src/main/java/mods/eln/sixnode/tutorialsign/TutorialSignElement.java -No_text_associated_to_this_beacon=No text associated to this beacon - -# ./src/main/java/mods/eln/sixnode/tutorialsign/TutorialSignGui.java -Set_beacon_name=Set beacon name - -# ./src/main/java/mods/eln/sixnode/wirelesssignal/rx/WirelessSignalRxGui.java - -# ./src/main/java/mods/eln/transparentnode/FuelGenerator.kt -Nominal_power\:_%s_W=Nominal power\: %s W -Nominal_voltage\:_%s_V=Nominal voltage\: %s V -Produces_electricity_using_fuel.=Produces electricity using fuel. - -# ./src/main/java/mods/eln/transparentnode/LargeRheostat.kt -Nom._Resistance\:_%s=Nom. Resistance\: %s - -# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerContainer.java -Drill_slot=Drill slot -Mining_pipe_slot=Mining pipe slot -Ore_scanner_slot=Ore scanner slot - -# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerDescriptor.java -Excavates_on_a_small_radius.\nExtracts_ore_on_a_bigger_radius\:\n10_blocks_radius_after_10_blocks_depth.=Excavates on a small radius.\nExtracts ore on a bigger radius\:\n10 blocks radius after 10 blocks depth. - -# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerGuiDraw.java -Chest_missing_on_the\nback_of_the_auto_miner!=Chest missing on the\nback of the auto miner\! -Halves_speed,_triples_power_draw=Halves speed, triples power draw -Silk_Touch_Off=Silk Touch Off -Silk_Touch_On=Silk Touch On -Silk_touch=Silk touch - -# ./src/main/java/mods/eln/transparentnode/battery/BatteryContainer.java -Overheating_protection=Overheating protection -Overvoltage_protection=Overvoltage protection - -# ./src/main/java/mods/eln/transparentnode/battery/BatteryDescriptor.java -Actual_charge\:_%s=Actual charge\: %s -Energy_capacity\:_%sJ=Energy capacity\: %sJ -_charged_at_%s=charged at %s - -# ./src/main/java/mods/eln/transparentnode/battery/BatteryGuiDraw.java -Charge=Charge -Charged=Charged -Discharge=Discharge -Energy\:=Energy\: -Energy\:_%s=Energy\: %s -Life\:=Life\: -No_charge=No charge -Power_in\:=Power in\: -Power_out\:=Power out\: - -# ./src/main/java/mods/eln/transparentnode/eggincubator/EggIncubatorContainer.java -Egg_slot=Egg slot - -# ./src/main/java/mods/eln/transparentnode/electricalantennarx/ElectricalAntennaRxDescriptor.java -Wireless_energy_receiver.=Wireless energy receiver. - -# ./src/main/java/mods/eln/transparentnode/electricalantennatx/ElectricalAntennaTxDescriptor.java -Efficiency\:_%s_up_to_%s=Efficiency\: %s up to %s -Wireless_energy_transmitter.=Wireless energy transmitter. - -# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceContainer.java -Heating_corp_slot=Heating corp slot - -# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceDescriptor.java -Similar_to_a_vanilla_furnace,\nbut_heats_with_electricity.=Similar to a vanilla furnace,\nbut heats with electricity. - -# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceGuiDraw.java -Auto_shutdown=Auto shutdown -Manual_shutdown=Manual shutdown -Set_point\:_%s°C=Set point\: %s°C - -# ./src/main/java/mods/eln/transparentnode/electricalmachine/ElectricalMachineDescriptor.java -Cost=Cost - -# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceContainer.java -Combustion_chamber_slot=Combustion chamber slot -Fuel_slot=Fuel slot - -# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceDescriptor.java -Generates_heat_when_supplied_with_fuel.=Generates heat when supplied with fuel. - -# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceGuiDraw.java -Control_gauge_at_%s=Control gauge at %s -Decline_fuel=Decline fuel -External_control=External control -Internal_control=Internal control -Take_fuel=Take fuel - -# ./src/main/java/mods/eln/transparentnode/powercapacitor/PowerCapacitorContainer.java -(Increases_maximal_voltage)=(Increases maximal voltage) - -# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelContainer.java -Solar_tracker_slot=Solar tracker slot - -# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelDescriptor.java -Can_be_geared_towards_the_sun.=Can be geared towards the sun. -Max._power\:_%sW=Max. power\: %sW -Max._voltage\:_%sV=Max. voltage\: %sV -Produces_power_from_solar_radiation.=Produces power from solar radiation. - -# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPannelGuiDraw.java -It_is_night=It is night -Solar_panel_angle\:_%s°=Solar panel angle\: %s° -Sun_angle\:_%s°=Sun angle\: %s° - -# ./src/main/java/mods/eln/transparentnode/teleporter/TeleporterGui.java -Destination_transporter=Destination transporter -Power_consumption\:=Power consumption\: -Power_consumption\:_%sW=Power consumption\: %sW -Required_energy\:_%sJ=Required energy\: %sJ -Start=Start -Transporter_name=Transporter name - -# ./src/main/java/mods/eln/transparentnode/thermaldissipatoractive/ThermalDissipatorActiveDescriptor.java -Fan_cooling_power\:_%sW=Fan cooling power\: %sW -Fan_power_consumption\:_%sW=Fan power consumption\: %sW -Fan_voltage\:_%sV=Fan voltage\: %sV - -# ./src/main/java/mods/eln/transparentnode/transformer/TransformerDescriptor.java -The_voltage_ratio_is_proportional\nto_the_cable_stacks_count_ratio.=The voltage ratio is proportional\nto the cable stacks count ratio. -Transforms_an_input_voltage_to\nan_output_voltage.=Transforms an input voltage to\nan output voltage. - -# ./src/main/java/mods/eln/transparentnode/turbine/TurbineDescriptor.java -Generates_electricity_using_heat.=Generates electricity using heat. -Temperature_difference\:_%s°C=Temperature difference\: %s°C - -# ./src/main/java/mods/eln/transparentnode/turret/TurretDescriptor.java -CAUTION\:_Cables_can_get_quite_hot!=CAUTION\: Cables can get quite hot\! -Laser_charge_power\:_%sW...%skW=Laser charge power\: %sW...%skW -Scans_for_entities_and_shoots_if_the\nentity_matches_the_configurable_filter_criteria.=Scans for entities and shoots if the\nentity matches the configurable filter criteria. -Standby_power\:_%sW=Standby power\: %sW - -# ./src/main/java/mods/eln/transparentnode/turret/TurretGui.java -Attack\:=Attack\: -Do_not_attack\:=Do not attack\: -Recharge_power\:=Recharge power\: - -# ./src/main/java/mods/eln/transparentnode/waterturbine/WaterTurbineDescriptor.java -Generates_energy_using_water_stream.=Generates energy using water stream. -No_place_for_water_turbine!=No place for water turbine\! - -# ./src/main/java/mods/eln/transparentnode/windturbine/WindTurbineDescriptor.java -Front\:_%s=Front\: %s -Generates_energy_from_wind.=Generates energy from wind. -Left_Right\:_%s=Left/Right\: %s -Up_Down\:_%s=Up/Down\: %s -Wind_area\:=Wind area\: - -# ./src/main/java/mods/eln/wiki/Data.java -Energy=Energy -Light=Light -Machine=Machine -Ore=Ore -Portable=Portable -Resource=Resource -Signal=Signal -Thermal=Thermal -Upgrade=Upgrade -Utilities=Utilities -Wiring=Wiring - -# ./src/main/java/mods/eln/wiki/Default.java -Previous=Previous - -# ./src/main/java/mods/eln/wiki/ItemDefault.java -Can_be_used_to_craft\:=Can be used to craft\: -Cannot_be_crafted!=Cannot be crafted\! -Cost_%sJ=Cost %sJ -Created_by\:=Created by\: -Is_not_a_crafting_material!=Is not a crafting material\! -Recipe\:=Recipe\: - -# Appearing in multiple source files -(Increases_capacity)=(Increases capacity) -(Increases_inductance)=(Increases inductance) -Actual\:_%s°C=Actual\: %s°C -Biggest=Biggest -Booster_slot=Booster slot -Can_create\:=Can create\: -Capacity\:_%sF=Capacity\: %sF -Charge_power\:_%sW=Charge power\: %sW -Connected=Connected -Cooling_power\:_%sW=Cooling power\: %sW -Copper_cable_slot=Copper cable slot -Dielectric_slot=Dielectric slot -Discharge_power\:_%sW=Discharge power\: %sW -Electrical_cable_slot=Electrical cable slot -Entity_filter_slot=Entity filter slot -Ferromagnetic_core_slot=Ferromagnetic core slot -Has_a_signal_output.=Has a signal output. -Inductance\:_%sH=Inductance\: %sH -Internal_resistance\:_%sΩ=Internal resistance\: %sΩ -Is_off=Is off -Is_on=Is on -Max._temperature\:_%s°C=Max. temperature\: %s°C -Measured_value\ncorresponding\nto_0%_output=Measured value\ncorresponding\nto 0% output -Measured_value\ncorresponding\nto_100%_output=Measured value\ncorresponding\nto 100% output -Nominal\:=Nominal\: -Nominal_power\:_%sW=Nominal power\: %sW -Nominal_usage\:=Nominal usage\: -Nominal_voltage\:_%sV=Nominal voltage\: %sV -Not_connected=Not connected -Not_enough_space_for_this_block=Not enough space for this block -Power=Power -Power\:_%sW=Power\: %sW -Range\:_%s_blocks=Range\: %s blocks -Redstone_slot=Redstone slot -Regulator_slot=Regulator slot -Reset=Reset -Resistance\:_%sΩ=Resistance\: %sΩ -Smallest=Smallest -Specify_the_channel=Specify the channel -Stored_energy\:_%sJ_(%s)=Stored energy\: %sJ (%s) -Temperature\:_%s°C=Temperature\: %s°C -Temperature_gauge=Temperature gauge -Thermal_isolator_slot=Thermal isolator slot -Toggle=Toggle -Toggle_switch=Toggle switch -Toggles_the_output_each_time\nan_emitter's_value_rises.\nUseful_to_allow_multiple_buttons\nto_control_the_same_light.=Toggles the output each time\nan emitter's value rises.\nUseful to allow multiple buttons\nto control the same light. -Used_to_cool_down_turbines.=Used to cool down turbines. -Uses_the_biggest\nvalue_on_the_channel.=Uses the biggest\nvalue on the channel. -Uses_the_smallest\nvalue_on_the_channel.=Uses the smallest\nvalue on the channel. -Validate=Validate -Voltage\:_%sV=Voltage\: %sV -You_can't_place_this_block_at_this_side=You can't place this block at this side +eln:# +eln: +eln:# ./src/main/java/mods/eln/Achievements.java +eln:Electrical_Age_[WIP]=Electrical Age [WIP] +eln:achievement.craft_50v_macerator=Crushing Novice +eln:achievement.craft_50v_macerator.desc=Craft a 50V Macerator +eln:achievement.open_guide=Wiki Power +eln:achievement.open_guide.desc=Open the wiki guide +eln: +eln:# ./src/main/java/mods/eln/Eln.java +eln:10A_Diode.name=10A Diode +eln:200V_Active_Thermal_Dissipator.name=200V Active Thermal Dissipator +eln:200V_Battery_Charger.name=200V Battery Charger +eln:200V_Compressor.name=200V Compressor +eln:200V_Condensator.name=200V Condensator +eln:200V_Copper_Heating_Corp.name=200V Copper Heating Corp +eln:200V_Economic_Light_Bulb.name=200V Economic Light Bulb +eln:200V_Farming_Lamp.name=200V Farming Lamp +eln:200V_Fuel_Generator.name=200V Fuel Generator +eln:200V_Incandescent_Light_Bulb.name=200V Incandescent Light Bulb +eln:200V_Iron_Heating_Corp.name=200V Iron Heating Corp +eln:200V_LED_Bulb.name=200V LED Bulb +eln:200V_Macerator.name=200V Macerator +eln:200V_Magnetizer.name=200V Magnetizer +eln:200V_Plate_Machine.name=200V Plate Machine +eln:200V_Power_Socket.name=200V Power Socket +eln:200V_Tungsten_Heating_Corp.name=200V Tungsten Heating Corp +eln:200V_Turbine.name=200V Turbine +eln:25A_Diode.name=25A Diode +eln:50V_Battery_Charger.name=50V Battery Charger +eln:50V_Carbon_Incandescent_Light_Bulb.name=50V Carbon Incandescent Light Bulb +eln:50V_Compressor.name=50V Compressor +eln:50V_Condensator.name=50V Condensator +eln:50V_Copper_Heating_Corp.name=50V Copper Heating Corp +eln:50V_Economic_Light_Bulb.name=50V Economic Light Bulb +eln:50V_Egg_Incubator.name=50V Egg Incubator +eln:50V_Farming_Lamp.name=50V Farming Lamp +eln:50V_Fuel_Generator.name=50V Fuel Generator +eln:50V_Incandescent_Light_Bulb.name=50V Incandescent Light Bulb +eln:50V_Iron_Heating_Corp.name=50V Iron Heating Corp +eln:50V_LED_Bulb.name=50V LED Bulb +eln:50V_Macerator.name=50V Macerator +eln:50V_Magnetizer.name=50V Magnetizer +eln:50V_Plate_Machine.name=50V Plate Machine +eln:50V_Power_Socket.name=50V Power Socket +eln:50V_Tungsten_Heating_Corp.name=50V Tungsten Heating Corp +eln:50V_Turbine.name=50V Turbine +eln:800V_Defence_Turret.name=800V Defence Turret +eln:AND_Chip.name=AND Chip +eln:Advanced_Chip.name=Advanced Chip +eln:Advanced_Electrical_Motor.name=Advanced Electrical Motor +eln:Advanced_Energy_Meter.name=Advanced Energy Meter +eln:Advanced_Machine_Block.name=Advanced Machine Block +eln:Advanced_Magnet.name=Advanced Magnet +eln:AllMeter.name=Universal-Meter +eln:Alloy_Dust.name=Alloy Dust +eln:Alloy_Ingot.name=Alloy Ingot +eln:Alloy_Plate.name=Alloy Plate +eln:Analog_Watch.name=Analog watch +eln:Analog_vuMeter.name=Analog Gauge +eln:Analogic_Regulator.name=Analogic Regulator +eln:Animal_Filter.name=Animal Filter +eln:Auto_Miner.name=Auto Miner +eln:Average_Electrical_Drill.name=Average Electrical Drill +eln:Average_Ferromagnetic_Core.name=Average Ferromagnetic Core +eln:Basic_Magnet.name=Basic Magnet +eln:Black_Brush.name=Black Brush +eln:Blue_Brush.name=Blue Brush +eln:Brown_Brush.name=Brown Brush +eln:Capacity_Oriented_Battery.name=Capacity Oriented Battery +eln:Cheap_Chip.name=Cheap Chip +eln:Cheap_Electrical_Drill.name=Cheap Electrical Drill +eln:Cheap_Ferromagnetic_Core.name=Cheap Ferromagnetic Core +eln:Cinnabar_Dust.name=Cinnabar Dust +eln:Cinnabar_Ore.name=Cinnabar Ore +eln:Coal_Dust.name=Coal Dust +eln:Coal_Plate.name=Coal Plate +eln:Combustion_Chamber.name=Combustion Chamber +eln:Copper_Cable.name=Copper Cable +eln:Copper_Dust.name=Copper Dust +eln:Copper_Ingot.name=Copper Ingot +eln:Copper_Ore.name=Copper Ore +eln:Copper_Plate.name=Copper Plate +eln:Copper_Thermal_Cable.name=Copper Thermal Cable +eln:Cost_Oriented_Battery.name=Cost Oriented Battery +eln:Current_Oriented_Battery.name=Current Oriented Battery +eln:Cyan_Brush.name=Cyan Brush +eln:D_Flip_Flop_Chip.name=D Flip Flop Chip +eln:Data_Logger.name=Data Logger +eln:Data_Logger_Print.name=Data Logger Print +eln:Dielectric.name=Dielectric +eln:Digital_Watch.name=Digital Watch +eln:Electrical_Anemometer_Sensor.name=Electrical Anemometer Sensor +eln:Electrical_Breaker.name=Electrical Breaker +eln:Electrical_Daylight_Sensor.name=Electrical Daylight Sensor +eln:Electrical_Entity_Sensor.name=Electrical Entity Sensor +eln:Electrical_Fire_Detector.name=Electrical Fire Detector +eln:Electrical_Furnace.name=Electrical Furnace +eln:Electrical_Light_Sensor.name=Electrical Light Sensor +eln:Electrical_Motor.name=Electrical Motor +eln:Electrical_Probe.name=Electrical Probe +eln:Electrical_Probe_Chip.name=Electrical Probe Chip +eln:Electrical_Source.name=Electrical Source +eln:Electrical_Timer.name=Electrical Timer +eln:Electrical_Weather_Sensor.name=Electrical Weather Sensor +eln:Electrical_age_wrench,\nCan_be_used_to_turn\nsmall_wall_blocks=Electrical age wrench,\nCan be used to turn\nsmall wall blocks +eln:Energy_Meter.name=Energy Meter +eln:Experimental_Transporter.name=Experimental Transporter +eln:Fast_Electrical_Drill.name=Fast Electrical Drill +eln:Ferrite_Ingot.name=Ferrite Ingot +eln:Flat_Lamp_Socket.name=Flat Lamp Socket +eln:Fluorescent_Lamp_Socket.name=Fluorescent Lamp Socket +eln:Generator.name=Generator +eln:Gold_Dust.name=Gold Dust +eln:Gold_Plate.name=Gold Plate +eln:Gray_Brush.name=Gray Brush +eln:Green_Brush.name=Green Brush +eln:Ground_Cable.name=Ground Cable +eln:High_Power_Receiver_Antenna.name=High Power Receiver Antenna +eln:High_Power_Transmitter_Antenna.name=High Power Transmitter Antenna +eln:High_Voltage_Cable.name=High Voltage Cable +eln:High_Voltage_Relay.name=High Voltage Relay +eln:High_Voltage_Switch.name=High Voltage Switch +eln:Hub.name=Hub +eln:Industrial_Data_Logger.name=Industrial Data Logger +eln:Iron_Cable.name=Iron Cable +eln:Iron_Dust.name=Iron Dust +eln:Iron_Plate.name=Iron Plate +eln:JK_Flip_Flop_Chip.name=JK Flip Flop Chip +eln:LED_vuMeter.name=LED vuMeter +eln:Lamp_Socket_A.name=Lamp Socket A +eln:Lamp_Socket_B_Projector.name=Lamp Socket B Projector +eln:Lamp_Supply.name=Lamp Supply +eln:Large_Rheostat.name=Large Rheostat +eln:Lead_Dust.name=Lead Dust +eln:Lead_Ingot.name=Lead Ingot +eln:Lead_Ore.name=Lead Ore +eln:Lead_Plate.name=Lead Plate +eln:Life_Oriented_Battery.name=Life Oriented Battery +eln:Light_Blue_Brush.name=Light Blue Brush +eln:Lime_Brush.name=Lime Brush +eln:Long_Suspended_Lamp_Socket.name=Long Suspended Lamp Socket +eln:Low_Power_Receiver_Antenna.name=Low Power Receiver Antenna +eln:Low_Power_Transmitter_Antenna.name=Low Power Transmitter Antenna +eln:Low_Voltage_Cable.name=Low Voltage Cable +eln:Low_Voltage_Relay.name=Low Voltage Relay +eln:Low_Voltage_Switch.name=Low Voltage Switch +eln:Machine_Block.name=Machine Block +eln:Machine_Booster.name=Machine Booster +eln:Magenta_Brush.name=Magenta Brush +eln:Medium_Power_Receiver_Antenna.name=Medium Power Receiver Antenna +eln:Medium_Power_Transmitter_Antenna.name=Medium Power Transmitter Antenna +eln:Medium_Voltage_Cable.name=Medium Voltage Cable +eln:Medium_Voltage_Relay.name=Medium Voltage Relay +eln:Medium_Voltage_Switch.name=Medium Voltage Switch +eln:Mercury.name=Mercury +eln:Mining_Pipe.name=Mining Pipe +eln:Modbus_RTU.name=Modbus RTU +eln:Modern_Data_Logger.name=Modern Data Logger +eln:Monster_Filter.name=Monster Filter +eln:MultiMeter.name=Multimeter +eln:NAND_Chip.name=NAND Chip +eln:NOR_Chip.name=NOR Chip +eln:NOT_Chip.name=NOT Chip +eln:Nuclear_Alarm.name=Nuclear Alarm +eln:OR_Chip.name=OR Chip +eln:On_OFF_Regulator_10_Percent.name=On/off regulator 10% +eln:On_OFF_Regulator_1_Percent.name=On/off regulator 1% +eln:Optimal_Ferromagnetic_Core.name=Optimal Ferromagnetic Core +eln:Orange_Brush.name=Orange Brush +eln:Ore_Scanner.name=Ore Scanner +eln:Oscillator_Chip.name=Oscillator Chip +eln:Overheating_Protection.name=Overheating Protection +eln:Overvoltage_Protection.name=Overvoltage Protection +eln:PAL_Chip.name=PAL Chip +eln:Pink_Brush.name=Pink Brush +eln:Player_Filter.name=Player Filter +eln:Portable_Battery.name=Portable Battery +eln:Portable_Battery_Pack.name=Portable Battery Pack +eln:Portable_Condensator.name=Portable Condensator +eln:Portable_Condensator_Pack.name=Portable Condensator Pack +eln:Portable_Electrical_Axe.name=Portable Electrical Axe +eln:Portable_Electrical_Mining_Drill.name=Portable Electrical Mining Drill +eln:Power_Capacitor.name=Power Capacitor +eln:Power_Inductor.name=Power Inductor +eln:Power_Resistor.name=Power Resistor +eln:Power_capacitor.name=Power capacitor +eln:Power_inductor.name=Power inductor +eln:Purple_Brush.name=Purple Brush +eln:Red_Brush.name=Red Brush +eln:Redstone-to-Voltage_Converter.name=Redstone-to-Voltage Converter +eln:Rheostat.name=Rheostat +eln:Robust_Lamp_Socket.name=Robust Lamp Socket +eln:Rubber.name=Rubber +eln:Schmitt_Trigger_Chip.name=Schmitt Trigger Chip +eln:Sconce_Lamp_Socket.name=Sconce Lamp Socket +eln:Signal_20H_inductor.name=Signal 20H inductor +eln:Signal_Antenna.name=Signal Antenna +eln:Signal_Button.name=Signal Button +eln:Signal_Cable.name=Signal Cable +eln:Signal_Diode.name=Signal Diode +eln:Signal_Processor.name=Signal Processor +eln:Signal_Relay.name=Signal Relay +eln:Signal_Source.name=Signal Source +eln:Signal_Switch.name=Signal Switch +eln:Signal_Switch_with_LED.name=Signal Switch with LED +eln:Signal_Trimmer.name=Signal Trimmer +eln:Silicon_Dust.name=Silicon Dust +eln:Silicon_Ingot.name=Silicon Ingot +eln:Silicon_Plate.name=Silicon Plate +eln:Silver_Brush.name=Silver Brush +eln:Simple_Lamp_Socket.name=Simple Lamp Socket +eln:Single-use_Battery.name=Single-use Battery +eln:Small_200V_Copper_Heating_Corp.name=Small 200V Copper Heating Corp +eln:Small_200V_Iron_Heating_Corp.name=Small 200V Iron Heating Corp +eln:Small_200V_Tungsten_Heating_Corp.name=Small 200V Tungsten Heating Corp +eln:Small_50V_Carbon_Incandescent_Light_Bulb.name=Small 50V Carbon Incandescent Light Bulb +eln:Small_50V_Copper_Heating_Corp.name=Small 50V Copper Heating Corp +eln:Small_50V_Economic_Light_Bulb.name=Small 50V Economic Light Bulb +eln:Small_50V_Incandescent_Light_Bulb.name=Small 50V Incandescent Light Bulb +eln:Small_50V_Iron_Heating_Corp.name=Small 50V Iron Heating Corp +eln:Small_50V_Tungsten_Heating_Corp.name=Small 50V Tungsten Heating Corp +eln:Small_Active_Thermal_Dissipator.name=Small Active Thermal Dissipator +eln:Small_Flashlight.name=Small Flashlight +eln:Small_Passive_Thermal_Dissipator.name=Small Passive Thermal Dissipator +eln:Small_Rotating_Solar_Panel.name=Small Rotating Solar Panel +eln:Small_Solar_Panel.name=Small Solar Panel +eln:Solar_Tracker.name=Solar Tracker +eln:Standard_Alarm.name=Standard Alarm +eln:Steam_Turbine.name=Steam Turbine +eln:Stone_Heat_Furnace.name=Stone Heat Furnace +eln:Street_Light.name=Streetlight +eln:Suspended_Lamp_Socket.name=Suspended Lamp Socket +eln:Temperature_Probe.name=Temperature Probe +eln:Thermal_Probe.name=Thermal Probe +eln:Thermal_Probe_Chip.name=Thermal Probe Chip +eln:Thermistor.name=Thermistor +eln:ThermoMeter.name=Thermometer +eln:Transformer.name=Transformer +eln:Tree_Resin.name=Tree Resin +eln:Tree_Resin_Collector.name=Tree Resin Collector +eln:Tungsten_Cable.name=Tungsten Cable +eln:Tungsten_Dust.name=Tungsten Dust +eln:Tungsten_Ingot.name=Tungsten Ingot +eln:Tungsten_Ore.name=Tungsten Ore +eln:Tutorial_Sign.name=Tutorial Sign +eln:Very_High_Voltage_Cable.name=Very High Voltage Cable +eln:Very_High_Voltage_Relay.name=Very High Voltage Relay +eln:Very_High_Voltage_Switch.name=Very High Voltage Switch +eln:Voltage-to-Redstone_Converter.name=Voltage-to-Redstone Converter +eln:Voltage_Oriented_Battery.name=Voltage Oriented Battery +eln:Voltage_Probe.name=Voltage Probe +eln:Water_Turbine.name=Water Turbine +eln:Weak_50V_Battery_Charger.name=Weak 50V Battery Charger +eln:White_Brush.name=White Brush +eln:Wind_Turbine.name=Wind Turbine +eln:Wireless_Analyser.name=Wireless Analyzer +eln:Wireless_Button.name=Wireless Button +eln:Wireless_Signal_Receiver.name=Wireless Signal Receiver +eln:Wireless_Signal_Repeater.name=Wireless Signal Repeater +eln:Wireless_Signal_Transmitter.name=Wireless Signal Transmitter +eln:Wireless_Switch.name=Wireless Switch +eln:Wrench.name=Wrench +eln:X-Ray_Scanner.name=X-Ray Scanner +eln:XNOR_Chip.name=XNOR Chip +eln:XOR_Chip.name=XOR Chip +eln:Yellow_Brush.name=Yellow Brush +eln:entity.EAReplicator.name=Replicator +eln:item.Copper Axe.name\=Copper Axe +eln:item.Copper Axe.name\=Copper Axe +eln:item.Copper Axe.name\=Copper Axe +eln:item.Copper Axe.name\=Copper Axe +eln:item.Copper Axe.name\=Copper Axe +eln:item.Copper Axe.name\=Copper Axe +eln:item.Copper Axe.name\=Copper Axe +eln:item.Copper Axe.name\=Copper Axe +eln:item.Copper Axe.name\=Copper Axe +eln:item.E-Coal Boots.name\=E-Coal Boots +eln:item.E-Coal Boots.name\=E-Coal Boots +eln:item.E-Coal Boots.name\=E-Coal Boots +eln:item.E-Coal Boots.name\=E-Coal Boots +eln:itemGroup.Eln=Electrical Age +eln:mod.meta.desc=Electricity in your base\! +eln:tile.eln.ElnProbe.name=Eln Computer Probe +eln:tile.eln.EnergyConverterElnToOtherHVUBlock.name=800V Electrical Age to other energy exporter +eln:tile.eln.EnergyConverterElnToOtherLVUBlock.name=50V Electrical Age to other energy exporter +eln:tile.eln.EnergyConverterElnToOtherMVUBlock.name=200V Electrical Age to other energy exporter +eln: +eln:# ./src/main/java/mods/eln/i18n/I18N.java +eln:You_have_%s_lives_left=You have %s lives left +eln: +eln:# ./src/main/java/mods/eln/item/BrushDescriptor.java +eln:Brush_is_dry=Brush is dry +eln:Can_paint_%s_blocks=Can paint %s blocks +eln: +eln:# ./src/main/java/mods/eln/item/CombustionChamber.java +eln:Upgrade_for_the_Stone_Heat_Furnace.=Upgrade for the Stone Heat Furnace. +eln: +eln:# ./src/main/java/mods/eln/item/ElectricalDrillDescriptor.java +eln:Energy_per_operation\:_%sJ=Energy per operation\: %sJ +eln:Time_per_operation\:_%ss=Time per operation\: %ss +eln: +eln:# ./src/main/java/mods/eln/item/FerromagneticCoreDescriptor.java +eln:Cable_loss_factor\:_%s=Cable loss factor\: %s +eln: +eln:# ./src/main/java/mods/eln/item/HeatingCorpElement.java +eln: +eln:# ./src/main/java/mods/eln/item/LampDescriptor.java +eln:Bad=Bad +eln:Condition\:=Condition\: +eln:End_of_life=End of life +eln:Good=Good +eln:New=New +eln:Nominal_lifetime\:_%sh=Nominal lifetime\: %sh +eln:Technology\:_%s=Technology\: %s +eln:Used=Used +eln: +eln:# ./src/main/java/mods/eln/item/LampSlot.java +eln:Lamp_slot=Lamp slot +eln: +eln:# ./src/main/java/mods/eln/item/OverHeatingProtectionDescriptor.java +eln:Useful_to_prevent_overheating\nof_Batteries=Useful to prevent overheating\nof Batteries +eln: +eln:# ./src/main/java/mods/eln/item/OverVoltageProtectionDescriptor.java +eln:Useful_to_prevent_over-voltage\nof_Batteries=Useful to prevent over-voltage\nof Batteries +eln: +eln:# ./src/main/java/mods/eln/item/SolarTrackerDescriptor.java +eln:Solar_panel_upgrade=Solar panel upgrade +eln: +eln:# ./src/main/java/mods/eln/item/electricalitem/BatteryItem.java +eln: +eln:# ./src/main/java/mods/eln/item/electricalitem/ElectricalLampItem.java +eln:Off=Off +eln:On=On +eln:State\:=State\: +eln:Stored_Energy\:_%sJ_(%s)=Stored Energy\: %sJ (%s) +eln: +eln:# ./src/main/java/mods/eln/item/regulator/RegulatorSlot.java +eln: +eln:# ./src/main/java/mods/eln/misc/UtilsClient.java +eln:Hold_shift=Hold shift +eln: +eln:# ./src/main/java/mods/eln/misc/Version.java +eln:mod.name=Electrical Age +eln: +eln:# ./src/main/java/mods/eln/node/six/SixNodeDescriptor.java +eln: +eln:# ./src/main/java/mods/eln/simplenode/energyconverter/EnergyConverterElnToOtherGui.java +eln:Input_power_is_limited_to_%sW=Input power is limited to %sW +eln: +eln:# ./src/main/java/mods/eln/sixnode/LogicGate.kt +eln:_O\:_= O\: +eln: +eln:# ./src/main/java/mods/eln/sixnode/TreeResinCollector/TreeResinCollectorDescriptor.java +eln:Produces_Tree_Resin_over\ntime_when_put_on_a_tree.=Produces Tree Resin over\ntime when put on a tree. +eln:This_block_can_only_be_placed_on_the_side_of_a_tree!=This block can only be placed on the side of a tree\! +eln: +eln:# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerContainer.java +eln:Battery_slot=Battery slot +eln: +eln:# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerDescriptor.java +eln:Can_be_used_to_recharge\nelectrical_items_like\:\nFlash_Light,_X-Ray_scanner\nand_Portable_Battery_...=Can be used to recharge\nelectrical items like\:\nFlash Light, X-Ray scanner\nand Portable Battery ... +eln: +eln:# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerGui.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/diode/DiodeDescriptor.java +eln:Electrical_current_can_only\nflow_through_the_diode\nfrom_anode_to_cathode=Electrical current can only\nflow through the diode\nfrom anode to cathode +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalalarm/ElectricalAlarmDescriptor.java +eln:= +eln:Emits_an_acoustic_alarm_if\nthe_input_signal_is_high=Emits an acoustic alarm if\nthe input signal is high +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalalarm/ElectricalAlarmGui.java +eln:Sound_is_muted=Sound is muted +eln:Sound_is_not_muted=Sound is not muted +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerContainer.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerDescriptor.java +eln:Protects_electrical_components\nOpens_contact_if\:\n__-_Voltage_exceeds_a_certain_level\n-_Current_exceeds_the_cable_limit=Protects electrical components\nOpens contact if\:\n - Voltage exceeds a certain level\n- Current exceeds the cable limit +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerGui.java +eln:Maximum_voltage_before_cutting_off=Maximum voltage before cutting off +eln:Minimum_voltage_before_cutting_off=Minimum voltage before cutting off +eln:Switch_is_off=Switch is off +eln:Switch_is_on=Switch is on +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalcable/ElectricalCableDescriptor.java +eln:A_signal_is_electrical_information\nwhich_must_be_between_0V_and_%sV=A signal is electrical information\nwhich must be between 0V and %sV +eln:Cable_is_adapted_to_conduct\nelectrical_signals.=Cable is adapted to conduct\nelectrical signals. +eln:Current\:_%sA=Current\: %sA +eln:Not_adapted_to_transport_power.=Not adapted to transport power. +eln:Save_usage\:=Save usage\: +eln:Serial_resistance\:_%sΩ=Serial resistance\: %sΩ +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerDescriptor.java +eln:It_can_store_up_to_256_points.=It can store up to 256 points. +eln:Measures_the_voltage_of_an\nelectrical_signal_and_plots\nthe_data_in_real_time.=Measures the voltage of an\nelectrical signal and plots\nthe data in real time. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerGui.java +eln:Back_to_display=Back to display +eln:Configuration=Configuration +eln:Current_[A]=Current [A] +eln:Energy_[J]=Energy [J] +eln:Percent_[-]%=Percent [-]% +eln:Power_[W]=Power [W] +eln:Print=Print +eln:Sampling_period=Sampling period +eln:Temp._[*C]=Temp. [*C] +eln:Voltage_[V]=Voltage [V] +eln:Y-axis_max=Y-axis max +eln:Y-axis_min=Y-axis min +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorContainer.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorDescriptor.java +eln:Output_voltage_increases\nif_entities_are_moving_around.=Output voltage increases\nif entities are moving around. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalfiredetector/ElectricalFireDetectorDescriptor.java +eln:Output_voltage_increases\nif_a_fire_has_been_detected.=Output voltage increases\nif a fire has been detected. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceDescriptor.java +eln:Provides_configurable_signal\nvoltage.=Provides configurable signal\nvoltage. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceGui.java +eln:Output_at_%s=Output at %s +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricallightsensor/ElectricalLightSensorDescriptor.java +eln:0V_at_night,_%sV_at_noon.=0V at night, %sV at noon. +eln:Provides_an_electrical_voltage\nin_the_presence_of_light.=Provides an electrical voltage\nin the presence of light. +eln:Provides_an_electrical_voltage\nwhich_is_proportional_to\nthe_intensity_of_daylight.=Provides an electrical voltage\nwhich is proportional to\nthe intensity of daylight. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathContainer.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathDescriptor.java +eln:Applicable_boolean_operators\:=Applicable boolean operators\: +eln:Applicable_functions\:=Applicable functions\: +eln:Applicable_mathematical_operators\:=Applicable mathematical operators\: +eln:Calculates_an_output_signal_from\n3_inputs_(A,_B,_C)_using_an_equation.=Calculates an output signal from\n3 inputs (A, B, C) using an equation. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathGui.java +eln:%s_Redstone(s)_required=%s Redstone(s) required +eln:Equation_required!=Equation required\! +eln:Inputs_are=Inputs are +eln:Invalid_equation!=Invalid equation\! +eln:Output_voltage_formula=Output voltage formula +eln:Waiting_for_completion...=Waiting for completion... +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalredstoneinput/ElectricalRedstoneInputDescriptor.java +eln:Converts_Redstone_signal\nto_an_electrical_voltage.=Converts Redstone signal\nto an electrical voltage. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalredstoneoutput/ElectricalRedstoneOutputDescriptor.java +eln:Converts_electrical_voltage\ninto_a_Redstone_signal.=Converts electrical voltage\ninto a Redstone signal. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalrelay/ElectricalRelayDescriptor.java +eln:A_relay_is_an_electrical\ncontact_that_conducts_electric\ncurrent_or_not,_depending\nthe_actual_input_signal_voltage.=A relay is an electrical\ncontact that conducts electric\ncurrent or not, depending\nthe actual input signal voltage. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalrelay/ElectricalRelayGui.java +eln:Normally_closed=Normally closed +eln:Normally_open=Normally open +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalsource/ElectricalSourceDescriptor.java +eln:Creative_block.=Creative block. +eln:Provides_an_ideal_voltage_source\nwithout_energy_or_power_limitation.=Provides an ideal voltage source\nwithout energy or power limitation. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalsource/ElectricalSourceGui.java +eln:Output_voltage=Output voltage +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalswitch/ElectricalSwitchDescriptor.java +eln:Can_break_an_electrical_circuit\ninterrupting_the_current.=Can break an electrical circuit\ninterrupting the current. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricaltimeout/ElectricalTimeoutDescriptor.java +eln:Upon_application_of_a_high_signal,\nthe_timer_maintains_the_output_high_for\na_configurable_interval._Can_be_re-triggered.=Upon application of a high signal,\nthe timer maintains the output high for\na configurable interval. Can be re-triggered. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricaltimeout/ElectricalTimeoutGui.java +eln:Set=Set +eln:The_time_interval_the\noutput_is_kept_high.=The time interval the\noutput is kept high. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalvumeter/ElectricalVuMeterDescriptor.java +eln:Displays_the_value_of_a_signal.=Displays the value of a signal. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalwatch/ElectricalWatchContainer.java +eln:Portable_battery_slot=Portable battery slot +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalweathersensor/ElectricalWeatherSensorDescriptor.java +eln:Clear\:_%sV=Clear\: %sV +eln:Provides_an_electrical_signal\ndepending_the_actual_weather.=Provides an electrical signal\ndepending the actual weather. +eln:Rain\:_%sV=Rain\: %sV +eln:Storm\:_%sV=Storm\: %sV +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalwindsensor/ElectricalWindSensorDescriptor.java +eln:Maximum_wind_speed_is_%sm_s=Maximum wind speed is %sm/s +eln:Provides_an_electrical_signal\ndependant_on_wind_speed.=Provides an electrical signal\ndependant on wind speed. +eln:You_can't_place_this_block_on_the_floor_or_the_ceiling=You can't place this block on the floor or the ceiling +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricasensor/ElectricalSensorDescriptor.java +eln:Can_measure_Voltage_Power_Current=Can measure Voltage/Power/Current +eln:Measures_electrical_values_on_cables.=Measures electrical values on cables. +eln:Measures_voltage_on_cables.=Measures voltage on cables. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricasensor/ElectricalSensorGui.java +eln:Current=Current +eln:Measured_voltage\ncorresponding\nto_0%_output=Measured voltage\ncorresponding\nto 0% output +eln:Measured_voltage\ncorresponding\nto_100%_output=Measured voltage\ncorresponding\nto 100% output +eln:Voltage=Voltage +eln: +eln:# ./src/main/java/mods/eln/sixnode/energymeter/EnergyMeterGui.java +eln:Change_password=Change password +eln:Counter_Mode=Counter Mode +eln:Counts_the_energy_conducted_from\n\u00a74red\u00a7f_to_\u00a71blue\u00a7f.=Counts the energy conducted from\n\\u00a74red\\u00a7f to \\u00a71blue\\u00a7f. +eln:Energy_counter\:_%sJ=Energy counter\: %sJ +eln:Enter_new_energy=Enter new energy +eln:Enter_password=Enter password +eln:Prepay_Mode=Prepay Mode +eln:Reset_time_counter=Reset time counter +eln:Set_energy_counter=Set energy counter +eln:Time_counter\:=Time counter\: +eln:Try_password=Try password +eln:You_can_set_an_initial\namount_of_available_energy.\nWhen_the_counter_arrives_at_0\nthe_contact_will_be_opened.=You can set an initial\namount of available energy.\nWhen the counter arrives at 0\nthe contact will be opened. +eln:is_off=is off +eln:is_on=is on +eln:value_in_kJ=value in kJ +eln: +eln:# ./src/main/java/mods/eln/sixnode/groundcable/GroundCableDescriptor.java +eln:Can_be_used_to_set_a_point_of_an\nelectrical_network_to_0V_potential.\nFor_example_to_ground_negative_battery_contacts.=Can be used to set a point of an\nelectrical network to 0V potential.\nFor example to ground negative battery contacts. +eln:Provides_a_zero_volt_reference.=Provides a zero volt reference. +eln: +eln:# ./src/main/java/mods/eln/sixnode/hub/HubDescriptor.java +eln:Allows_crossing_cables\non_one_single_block.=Allows crossing cables\non one single block. +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketDescriptor.java +eln:Angle\:_%s°_to_%s°=Angle\: %s° to %s° +eln:Spot_range\:_%s_blocks=Spot range\: %s blocks +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketGuiDraw.java +eln:%s_is_not_in_range!=%s is not in range\! +eln:Cable_slot_empty=Cable slot empty +eln:Orientation\:_%s°=Orientation\: %s° +eln:Parallel=Parallel +eln:Powered_by_Lamp_Supply=Powered by Lamp Supply +eln:Powered_by_cable=Powered by cable +eln:Serial=Serial +eln:Specify_the_supply_channel=Specify the supply channel +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyContainer.java +eln:Electrical_cable_slot\nBase_range_is_32_blocks.\nEach_additional_cable\nincreases_range_by_one.=Electrical cable slot\nBase range is 32 blocks.\nEach additional cable\nincreases range by one. +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyDescriptor.java +eln:Supplies_all_lamps_on_the_channel.=Supplies all lamps on the channel. +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyGui.java +eln:Power_channel_name=Power channel name +eln:Wireless_channel_name=Wireless channel name +eln: +eln:# ./src/main/java/mods/eln/sixnode/modbusrtu/ModbusRtuGui.java +eln:Add=Add +eln:Channel_name=Channel name +eln:Modbus_ID=Modbus ID +eln:Modbus_RTU=Modbus RTU +eln:Station_ID=Station ID +eln:Station_name=Station name +eln:Wireless_RX=Wireless RX +eln:Wireless_TX=Wireless TX +eln: +eln:# ./src/main/java/mods/eln/sixnode/powercapacitorsix/PowerCapacitorSixContainer.java +eln:(Increases_maximum_voltage)=(Increases maximum voltage) +eln: +eln:# ./src/main/java/mods/eln/sixnode/powercapacitorsix/PowerCapacitorSixGui.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/powerinductorsix/PowerInductorSixContainer.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/powerinductorsix/PowerInductorSixGui.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/powersocket/PowerSocketDescriptor.java +eln:Supplies_any_device\nplugged_in_with_energy.=Supplies any device\nplugged in with energy. +eln: +eln:# ./src/main/java/mods/eln/sixnode/powersocket/PowerSocketGui.java +eln:Specify_the_device_to_supply_through_this_socket.=Specify the device to supply through this socket. +eln: +eln:# ./src/main/java/mods/eln/sixnode/resistor/ResistorContainer.java +eln:(Sets_resistance)=(Sets resistance) +eln:Coal_dust_slot=Coal dust slot +eln: +eln:# ./src/main/java/mods/eln/sixnode/thermalcable/ThermalCableDescriptor.java +eln:High_parallel_resistance\n_\=>_Low_power_dissipation.=High parallel resistance\n \=> Low power dissipation. +eln:Low_serial_resistance\n_\=>_High_conductivity.=Low serial resistance\n \=> High conductivity. +eln:Parallel_resistance\:_%sK_W=Parallel resistance\: %sK/W +eln:Serial_resistance\:_%sK_W=Serial resistance\: %sK/W +eln: +eln:# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorContainer.java +eln:Cable_slot=Cable slot +eln: +eln:# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorDescriptor.java +eln:Can_measure\:=Can measure\: +eln:Measures_temperature_of_cables.=Measures temperature of cables. +eln:Measures_thermal_values_on_cables.=Measures thermal values on cables. +eln:__Temperature_Power_conducted=Temperature/Power conducted +eln: +eln:# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorGui.java +eln:Measured_temperature\ncorresponding\nto_0%_output=Measured temperature\ncorresponding\nto 0% output +eln:Measured_temperature\ncorresponding\nto_100%_output=Measured temperature\ncorresponding\nto 100% output +eln:Temperature=Temperature +eln: +eln:# ./src/main/java/mods/eln/sixnode/tutorialsign/TutorialSignElement.java +eln:No_text_associated_to_this_beacon=No text associated to this beacon +eln: +eln:# ./src/main/java/mods/eln/sixnode/tutorialsign/TutorialSignGui.java +eln:Set_beacon_name=Set beacon name +eln: +eln:# ./src/main/java/mods/eln/sixnode/wirelesssignal/rx/WirelessSignalRxGui.java +eln: +eln:# ./src/main/java/mods/eln/transparentnode/FuelGenerator.kt +eln:Nominal_power\:_%s_W=Nominal power\: %s W +eln:Nominal_voltage\:_%s_V=Nominal voltage\: %s V +eln:Produces_electricity_using_fuel.=Produces electricity using fuel. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/LargeRheostat.kt +eln:Nom._Resistance\:_%s=Nom. Resistance\: %s +eln: +eln:# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerContainer.java +eln:Drill_slot=Drill slot +eln:Mining_pipe_slot=Mining pipe slot +eln:Ore_scanner_slot=Ore scanner slot +eln: +eln:# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerDescriptor.java +eln:Excavates_on_a_small_radius.\nExtracts_ore_on_a_bigger_radius\:\n10_blocks_radius_after_10_blocks_depth.=Excavates on a small radius.\nExtracts ore on a bigger radius\:\n10 blocks radius after 10 blocks depth. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerGuiDraw.java +eln:Chest_missing_on_the\nback_of_the_auto_miner!=Chest missing on the\nback of the auto miner\! +eln:Halves_speed,_triples_power_draw=Halves speed, triples power draw +eln:Silk_Touch_Off=Silk Touch Off +eln:Silk_Touch_On=Silk Touch On +eln:Silk_touch=Silk touch +eln: +eln:# ./src/main/java/mods/eln/transparentnode/battery/BatteryContainer.java +eln:Overheating_protection=Overheating protection +eln:Overvoltage_protection=Overvoltage protection +eln: +eln:# ./src/main/java/mods/eln/transparentnode/battery/BatteryDescriptor.java +eln:Actual_charge\:_%s=Actual charge\: %s +eln:Energy_capacity\:_%sJ=Energy capacity\: %sJ +eln:_charged_at_%s=charged at %s +eln: +eln:# ./src/main/java/mods/eln/transparentnode/battery/BatteryGuiDraw.java +eln:Charge=Charge +eln:Charged=Charged +eln:Discharge=Discharge +eln:Energy\:=Energy\: +eln:Energy\:_%s=Energy\: %s +eln:Life\:=Life\: +eln:No_charge=No charge +eln:Power_in\:=Power in\: +eln:Power_out\:=Power out\: +eln: +eln:# ./src/main/java/mods/eln/transparentnode/eggincubator/EggIncubatorContainer.java +eln:Egg_slot=Egg slot +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalantennarx/ElectricalAntennaRxDescriptor.java +eln:Wireless_energy_receiver.=Wireless energy receiver. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalantennatx/ElectricalAntennaTxDescriptor.java +eln:Efficiency\:_%s_up_to_%s=Efficiency\: %s up to %s +eln:Wireless_energy_transmitter.=Wireless energy transmitter. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceContainer.java +eln:Heating_corp_slot=Heating corp slot +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceDescriptor.java +eln:Similar_to_a_vanilla_furnace,\nbut_heats_with_electricity.=Similar to a vanilla furnace,\nbut heats with electricity. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceGuiDraw.java +eln:Auto_shutdown=Auto shutdown +eln:Manual_shutdown=Manual shutdown +eln:Set_point\:_%s°C=Set point\: %s°C +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalmachine/ElectricalMachineDescriptor.java +eln:Cost=Cost +eln: +eln:# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceContainer.java +eln:Combustion_chamber_slot=Combustion chamber slot +eln:Fuel_slot=Fuel slot +eln: +eln:# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceDescriptor.java +eln:Generates_heat_when_supplied_with_fuel.=Generates heat when supplied with fuel. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceGuiDraw.java +eln:Control_gauge_at_%s=Control gauge at %s +eln:Decline_fuel=Decline fuel +eln:External_control=External control +eln:Internal_control=Internal control +eln:Take_fuel=Take fuel +eln: +eln:# ./src/main/java/mods/eln/transparentnode/powercapacitor/PowerCapacitorContainer.java +eln:(Increases_maximal_voltage)=(Increases maximal voltage) +eln: +eln:# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelContainer.java +eln:Solar_tracker_slot=Solar tracker slot +eln: +eln:# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelDescriptor.java +eln:Can_be_geared_towards_the_sun.=Can be geared towards the sun. +eln:Max._power\:_%sW=Max. power\: %sW +eln:Max._voltage\:_%sV=Max. voltage\: %sV +eln:Produces_power_from_solar_radiation.=Produces power from solar radiation. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPannelGuiDraw.java +eln:It_is_night=It is night +eln:Solar_panel_angle\:_%s°=Solar panel angle\: %s° +eln:Sun_angle\:_%s°=Sun angle\: %s° +eln: +eln:# ./src/main/java/mods/eln/transparentnode/teleporter/TeleporterGui.java +eln:Destination_transporter=Destination transporter +eln:Power_consumption\:=Power consumption\: +eln:Power_consumption\:_%sW=Power consumption\: %sW +eln:Required_energy\:_%sJ=Required energy\: %sJ +eln:Start=Start +eln:Transporter_name=Transporter name +eln: +eln:# ./src/main/java/mods/eln/transparentnode/thermaldissipatoractive/ThermalDissipatorActiveDescriptor.java +eln:Fan_cooling_power\:_%sW=Fan cooling power\: %sW +eln:Fan_power_consumption\:_%sW=Fan power consumption\: %sW +eln:Fan_voltage\:_%sV=Fan voltage\: %sV +eln: +eln:# ./src/main/java/mods/eln/transparentnode/transformer/TransformerDescriptor.java +eln:The_voltage_ratio_is_proportional\nto_the_cable_stacks_count_ratio.=The voltage ratio is proportional\nto the cable stacks count ratio. +eln:Transforms_an_input_voltage_to\nan_output_voltage.=Transforms an input voltage to\nan output voltage. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/turbine/TurbineDescriptor.java +eln:Generates_electricity_using_heat.=Generates electricity using heat. +eln:Temperature_difference\:_%s°C=Temperature difference\: %s°C +eln: +eln:# ./src/main/java/mods/eln/transparentnode/turret/TurretDescriptor.java +eln:CAUTION\:_Cables_can_get_quite_hot!=CAUTION\: Cables can get quite hot\! +eln:Laser_charge_power\:_%sW...%skW=Laser charge power\: %sW...%skW +eln:Scans_for_entities_and_shoots_if_the\nentity_matches_the_configurable_filter_criteria.=Scans for entities and shoots if the\nentity matches the configurable filter criteria. +eln:Standby_power\:_%sW=Standby power\: %sW +eln: +eln:# ./src/main/java/mods/eln/transparentnode/turret/TurretGui.java +eln:Attack\:=Attack\: +eln:Do_not_attack\:=Do not attack\: +eln:Recharge_power\:=Recharge power\: +eln: +eln:# ./src/main/java/mods/eln/transparentnode/waterturbine/WaterTurbineDescriptor.java +eln:Generates_energy_using_water_stream.=Generates energy using water stream. +eln:No_place_for_water_turbine!=No place for water turbine\! +eln: +eln:# ./src/main/java/mods/eln/transparentnode/windturbine/WindTurbineDescriptor.java +eln:Front\:_%s=Front\: %s +eln:Generates_energy_from_wind.=Generates energy from wind. +eln:Left_Right\:_%s=Left/Right\: %s +eln:Up_Down\:_%s=Up/Down\: %s +eln:Wind_area\:=Wind area\: +eln: +eln:# ./src/main/java/mods/eln/wiki/Data.java +eln:Energy=Energy +eln:Light=Light +eln:Machine=Machine +eln:Ore=Ore +eln:Portable=Portable +eln:Resource=Resource +eln:Signal=Signal +eln:Thermal=Thermal +eln:Upgrade=Upgrade +eln:Utilities=Utilities +eln:Wiring=Wiring +eln: +eln:# ./src/main/java/mods/eln/wiki/Default.java +eln:Previous=Previous +eln: +eln:# ./src/main/java/mods/eln/wiki/ItemDefault.java +eln:Can_be_used_to_craft\:=Can be used to craft\: +eln:Cannot_be_crafted!=Cannot be crafted\! +eln:Cost_%sJ=Cost %sJ +eln:Created_by\:=Created by\: +eln:Is_not_a_crafting_material!=Is not a crafting material\! +eln:Recipe\:=Recipe\: +eln: +eln:# Appearing in multiple source files +eln:(Increases_capacity)=(Increases capacity) +eln:(Increases_inductance)=(Increases inductance) +eln:Actual\:_%s°C=Actual\: %s°C +eln:Biggest=Biggest +eln:Booster_slot=Booster slot +eln:Can_create\:=Can create\: +eln:Capacity\:_%sF=Capacity\: %sF +eln:Charge_power\:_%sW=Charge power\: %sW +eln:Connected=Connected +eln:Cooling_power\:_%sW=Cooling power\: %sW +eln:Copper_cable_slot=Copper cable slot +eln:Dielectric_slot=Dielectric slot +eln:Discharge_power\:_%sW=Discharge power\: %sW +eln:Electrical_cable_slot=Electrical cable slot +eln:Entity_filter_slot=Entity filter slot +eln:Ferromagnetic_core_slot=Ferromagnetic core slot +eln:Has_a_signal_output.=Has a signal output. +eln:Inductance\:_%sH=Inductance\: %sH +eln:Internal_resistance\:_%sΩ=Internal resistance\: %sΩ +eln:Is_off=Is off +eln:Is_on=Is on +eln:Max._temperature\:_%s°C=Max. temperature\: %s°C +eln:Measured_value\ncorresponding\nto_0%_output=Measured value\ncorresponding\nto 0% output +eln:Measured_value\ncorresponding\nto_100%_output=Measured value\ncorresponding\nto 100% output +eln:Nominal\:=Nominal\: +eln:Nominal_power\:_%sW=Nominal power\: %sW +eln:Nominal_usage\:=Nominal usage\: +eln:Nominal_voltage\:_%sV=Nominal voltage\: %sV +eln:Not_connected=Not connected +eln:Not_enough_space_for_this_block=Not enough space for this block +eln:Power=Power +eln:Power\:_%sW=Power\: %sW +eln:Range\:_%s_blocks=Range\: %s blocks +eln:Redstone_slot=Redstone slot +eln:Regulator_slot=Regulator slot +eln:Reset=Reset +eln:Resistance\:_%sΩ=Resistance\: %sΩ +eln:Smallest=Smallest +eln:Specify_the_channel=Specify the channel +eln:Stored_energy\:_%sJ_(%s)=Stored energy\: %sJ (%s) +eln:Temperature\:_%s°C=Temperature\: %s°C +eln:Temperature_gauge=Temperature gauge +eln:Thermal_isolator_slot=Thermal isolator slot +eln:Toggle=Toggle +eln:Toggle_switch=Toggle switch +eln:Toggles_the_output_each_time\nan_emitter's_value_rises.\nUseful_to_allow_multiple_buttons\nto_control_the_same_light.=Toggles the output each time\nan emitter's value rises.\nUseful to allow multiple buttons\nto control the same light. +eln:Used_to_cool_down_turbines.=Used to cool down turbines. +eln:Uses_the_biggest\nvalue_on_the_channel.=Uses the biggest\nvalue on the channel. +eln:Uses_the_smallest\nvalue_on_the_channel.=Uses the smallest\nvalue on the channel. +eln:Validate=Validate +eln:Voltage\:_%sV=Voltage\: %sV +eln:You_can't_place_this_block_at_this_side=You can't place this block at this side diff --git a/src/main/resources/assets/eln/lang/pt.lang b/src/main/resources/assets/eln/lang/pt.lang index f4e769aa7..92e8a8d93 100644 --- a/src/main/resources/assets/eln/lang/pt.lang +++ b/src/main/resources/assets/eln/lang/pt.lang @@ -1,829 +1,829 @@ -# - -# ./src/main/java/mods/eln/Achievements.java -Electrical_Age_[WIP]=Electrical Age [WIP] -achievement.craft_50v_macerator=Crushing Novice -achievement.craft_50v_macerator.desc=Craft a 50V Macerator -achievement.open_guide=Wiki Power -achievement.open_guide.desc=Open the wiki guide - -# ./src/main/java/mods/eln/Eln.java -10A_Diode.name=10A Diode -200V_Active_Thermal_Dissipator.name=200V Active Thermal Dissipator -200V_Battery_Charger.name=200V Battery Charger -200V_Compressor.name=200V Compressor -200V_Condensator.name=200V Condensator -200V_Copper_Heating_Corp.name=200V Copper Heating Corp -200V_Economic_Light_Bulb.name=200V Economic Light Bulb -200V_Farming_Lamp.name=200V Farming Lamp -200V_Fuel_Generator.name=200V Fuel Generator -200V_Incandescent_Light_Bulb.name=200V Incandescent Light Bulb -200V_Iron_Heating_Corp.name=200V Iron Heating Corp -200V_LED_Bulb.name=200V LED Bulb -200V_Macerator.name=200V Macerator -200V_Magnetizer.name=200V Magnetizer -200V_Plate_Machine.name=200V Plate Machine -200V_Power_Socket.name=200V Power Socket -200V_Tungsten_Heating_Corp.name=200V Tungsten Heating Corp -200V_Turbine.name=200V Turbine -25A_Diode.name=25A Diode -50V_Battery_Charger.name=50V Battery Charger -50V_Carbon_Incandescent_Light_Bulb.name=50V Carbon Incandescent Light Bulb -50V_Compressor.name=50V Compressor -50V_Condensator.name=50V Condensator -50V_Copper_Heating_Corp.name=50V Copper Heating Corp -50V_Economic_Light_Bulb.name=50V Economic Light Bulb -50V_Egg_Incubator.name=50V Egg Incubator -50V_Farming_Lamp.name=50V Farming Lamp -50V_Fuel_Generator.name=50V Fuel Generator -50V_Incandescent_Light_Bulb.name=50V Incandescent Light Bulb -50V_Iron_Heating_Corp.name=50V Iron Heating Corp -50V_LED_Bulb.name=50V LED Bulb -50V_Macerator.name=50V Macerator -50V_Magnetizer.name=50V Magnetizer -50V_Plate_Machine.name=50V Plate Machine -50V_Power_Socket.name=50V Power Socket -50V_Tungsten_Heating_Corp.name=50V Tungsten Heating Corp -50V_Turbine.name=50V Turbine -800V_Defence_Turret.name=800V Defence Turret -AND_Chip.name=AND Chip -Advanced_Chip.name=Advanced Chip -Advanced_Electrical_Motor.name=Advanced Electrical Motor -Advanced_Energy_Meter.name=Advanced Energy Meter -Advanced_Machine_Block.name=Advanced Machine Block -Advanced_Magnet.name=Advanced Magnet -AllMeter.name=Universal-Meter -Alloy_Dust.name=Alloy Dust -Alloy_Ingot.name=Alloy Ingot -Alloy_Plate.name=Alloy Plate -Analog_Watch.name=Analog watch -Analog_vuMeter.name=Analog Gauge -Analogic_Regulator.name=Analogic Regulator -Animal_Filter.name=Animal Filter -Auto_Miner.name=Auto Miner -Average_Electrical_Drill.name=Average Electrical Drill -Average_Ferromagnetic_Core.name=Average Ferromagnetic Core -Basic_Magnet.name=Basic Magnet -Black_Brush.name=Black Brush -Blue_Brush.name=Blue Brush -Brown_Brush.name=Brown Brush -Capacity_Oriented_Battery.name=Capacity Oriented Battery -Cheap_Chip.name=Cheap Chip -Cheap_Electrical_Drill.name=Cheap Electrical Drill -Cheap_Ferromagnetic_Core.name=Cheap Ferromagnetic Core -Cinnabar_Dust.name=Cinnabar Dust -Cinnabar_Ore.name=Cinnabar Ore -Coal_Dust.name=Coal Dust -Coal_Plate.name=Coal Plate -Combustion_Chamber.name=Combustion Chamber -Copper_Cable.name=Copper Cable -Copper_Dust.name=Copper Dust -Copper_Ingot.name=Copper Ingot -Copper_Ore.name=Copper Ore -Copper_Plate.name=Copper Plate -Copper_Thermal_Cable.name=Copper Thermal Cable -Cost_Oriented_Battery.name=Cost Oriented Battery -Current_Oriented_Battery.name=Current Oriented Battery -Cyan_Brush.name=Cyan Brush -D_Flip_Flop_Chip.name=D Flip Flop Chip -Data_Logger.name=Data Logger -Data_Logger_Print.name=Data Logger Print -Dielectric.name=Dielectric -Digital_Watch.name=Digital Watch -Electrical_Anemometer_Sensor.name=Electrical Anemometer Sensor -Electrical_Breaker.name=Electrical Breaker -Electrical_Daylight_Sensor.name=Electrical Daylight Sensor -Electrical_Entity_Sensor.name=Electrical Entity Sensor -Electrical_Fire_Detector.name=Electrical Fire Detector -Electrical_Furnace.name=Electrical Furnace -Electrical_Light_Sensor.name=Electrical Light Sensor -Electrical_Motor.name=Electrical Motor -Electrical_Probe.name=Electrical Probe -Electrical_Probe_Chip.name=Electrical Probe Chip -Electrical_Source.name=Electrical Source -Electrical_Timer.name=Electrical Timer -Electrical_Weather_Sensor.name=Electrical Weather Sensor -Electrical_age_wrench,\nCan_be_used_to_turn\nsmall_wall_blocks=Electrical age wrench,\nCan be used to turn\nsmall wall blocks -Energy_Meter.name=Energy Meter -Experimental_Transporter.name=Experimental Transporter -Fast_Electrical_Drill.name=Fast Electrical Drill -Ferrite_Ingot.name=Ferrite Ingot -Flat_Lamp_Socket.name=Flat Lamp Socket -Fluorescent_Lamp_Socket.name=Fluorescent Lamp Socket -Generator.name=Generator -Gold_Dust.name=Gold Dust -Gold_Plate.name=Gold Plate -Gray_Brush.name=Gray Brush -Green_Brush.name=Green Brush -Ground_Cable.name=Ground Cable -High_Power_Receiver_Antenna.name=High Power Receiver Antenna -High_Power_Transmitter_Antenna.name=High Power Transmitter Antenna -High_Voltage_Cable.name=High Voltage Cable -High_Voltage_Relay.name=High Voltage Relay -High_Voltage_Switch.name=High Voltage Switch -Hub.name=Hub -Industrial_Data_Logger.name=Industrial Data Logger -Iron_Cable.name=Iron Cable -Iron_Dust.name=Iron Dust -Iron_Plate.name=Iron Plate -JK_Flip_Flop_Chip.name=JK Flip Flop Chip -LED_vuMeter.name=LED vuMeter -Lamp_Socket_A.name=Lamp Socket A -Lamp_Socket_B_Projector.name=Lamp Socket B Projector -Lamp_Supply.name=Lamp Supply -Large_Rheostat.name=Large Rheostat -Lead_Dust.name=Lead Dust -Lead_Ingot.name=Lead Ingot -Lead_Ore.name=Lead Ore -Lead_Plate.name=Lead Plate -Life_Oriented_Battery.name=Life Oriented Battery -Light_Blue_Brush.name=Light Blue Brush -Lime_Brush.name=Lime Brush -Long_Suspended_Lamp_Socket.name=Long Suspended Lamp Socket -Low_Power_Receiver_Antenna.name=Low Power Receiver Antenna -Low_Power_Transmitter_Antenna.name=Low Power Transmitter Antenna -Low_Voltage_Cable.name=Low Voltage Cable -Low_Voltage_Relay.name=Low Voltage Relay -Low_Voltage_Switch.name=Low Voltage Switch -Machine_Block.name=Machine Block -Machine_Booster.name=Machine Booster -Magenta_Brush.name=Magenta Brush -Medium_Power_Receiver_Antenna.name=Medium Power Receiver Antenna -Medium_Power_Transmitter_Antenna.name=Medium Power Transmitter Antenna -Medium_Voltage_Cable.name=Medium Voltage Cable -Medium_Voltage_Relay.name=Medium Voltage Relay -Medium_Voltage_Switch.name=Medium Voltage Switch -Mercury.name=Mercury -Mining_Pipe.name=Mining Pipe -Modbus_RTU.name=Modbus RTU -Modern_Data_Logger.name=Modern Data Logger -Monster_Filter.name=Monster Filter -MultiMeter.name=Multimeter -NAND_Chip.name=NAND Chip -NOR_Chip.name=NOR Chip -NOT_Chip.name=NOT Chip -Nuclear_Alarm.name=Nuclear Alarm -OR_Chip.name=OR Chip -On_OFF_Regulator_10_Percent.name=On/off regulator 10% -On_OFF_Regulator_1_Percent.name=On/off regulator 1% -Optimal_Ferromagnetic_Core.name=Optimal Ferromagnetic Core -Orange_Brush.name=Orange Brush -Ore_Scanner.name=Ore Scanner -Oscillator_Chip.name=Oscillator Chip -Overheating_Protection.name=Overheating Protection -Overvoltage_Protection.name=Overvoltage Protection -PAL_Chip.name=PAL Chip -Pink_Brush.name=Pink Brush -Player_Filter.name=Player Filter -Portable_Battery.name=Portable Battery -Portable_Battery_Pack.name=Portable Battery Pack -Portable_Condensator.name=Portable Condensator -Portable_Condensator_Pack.name=Portable Condensator Pack -Portable_Electrical_Axe.name=Portable Electrical Axe -Portable_Electrical_Mining_Drill.name=Portable Electrical Mining Drill -Power_Capacitor.name=Power Capacitor -Power_Inductor.name=Power Inductor -Power_Resistor.name=Power Resistor -Power_capacitor.name=Power capacitor -Power_inductor.name=Power inductor -Purple_Brush.name=Purple Brush -Red_Brush.name=Red Brush -Redstone-to-Voltage_Converter.name=Redstone-to-Voltage Converter -Rheostat.name=Rheostat -Robust_Lamp_Socket.name=Robust Lamp Socket -Rubber.name=Rubber -Schmitt_Trigger_Chip.name=Schmitt Trigger Chip -Sconce_Lamp_Socket.name=Sconce Lamp Socket -Signal_20H_inductor.name=Signal 20H inductor -Signal_Antenna.name=Signal Antenna -Signal_Button.name=Signal Button -Signal_Cable.name=Signal Cable -Signal_Diode.name=Signal Diode -Signal_Processor.name=Signal Processor -Signal_Relay.name=Signal Relay -Signal_Source.name=Signal Source -Signal_Switch.name=Signal Switch -Signal_Switch_with_LED.name=Signal Switch with LED -Signal_Trimmer.name=Signal Trimmer -Silicon_Dust.name=Silicon Dust -Silicon_Ingot.name=Silicon Ingot -Silicon_Plate.name=Silicon Plate -Silver_Brush.name=Silver Brush -Simple_Lamp_Socket.name=Simple Lamp Socket -Single-use_Battery.name=Single-use Battery -Small_200V_Copper_Heating_Corp.name=Small 200V Copper Heating Corp -Small_200V_Iron_Heating_Corp.name=Small 200V Iron Heating Corp -Small_200V_Tungsten_Heating_Corp.name=Small 200V Tungsten Heating Corp -Small_50V_Carbon_Incandescent_Light_Bulb.name=Small 50V Carbon Incandescent Light Bulb -Small_50V_Copper_Heating_Corp.name=Small 50V Copper Heating Corp -Small_50V_Economic_Light_Bulb.name=Small 50V Economic Light Bulb -Small_50V_Incandescent_Light_Bulb.name=Small 50V Incandescent Light Bulb -Small_50V_Iron_Heating_Corp.name=Small 50V Iron Heating Corp -Small_50V_Tungsten_Heating_Corp.name=Small 50V Tungsten Heating Corp -Small_Active_Thermal_Dissipator.name=Small Active Thermal Dissipator -Small_Flashlight.name=Small Flashlight -Small_Passive_Thermal_Dissipator.name=Small Passive Thermal Dissipator -Small_Rotating_Solar_Panel.name=Small Rotating Solar Panel -Small_Solar_Panel.name=Small Solar Panel -Solar_Tracker.name=Solar Tracker -Standard_Alarm.name=Standard Alarm -Steam_Turbine.name=Steam Turbine -Stone_Heat_Furnace.name=Stone Heat Furnace -Street_Light.name=Streetlight -Suspended_Lamp_Socket.name=Suspended Lamp Socket -Temperature_Probe.name=Temperature Probe -Thermal_Probe.name=Thermal Probe -Thermal_Probe_Chip.name=Thermal Probe Chip -Thermistor.name=Thermistor -ThermoMeter.name=Thermometer -Transformer.name=Transformer -Tree_Resin.name=Tree Resin -Tree_Resin_Collector.name=Tree Resin Collector -Tungsten_Cable.name=Tungsten Cable -Tungsten_Dust.name=Tungsten Dust -Tungsten_Ingot.name=Tungsten Ingot -Tungsten_Ore.name=Tungsten Ore -Tutorial_Sign.name=Tutorial Sign -Very_High_Voltage_Cable.name=Very High Voltage Cable -Very_High_Voltage_Relay.name=Very High Voltage Relay -Very_High_Voltage_Switch.name=Very High Voltage Switch -Voltage-to-Redstone_Converter.name=Voltage-to-Redstone Converter -Voltage_Oriented_Battery.name=Voltage Oriented Battery -Voltage_Probe.name=Voltage Probe -Water_Turbine.name=Water Turbine -Weak_50V_Battery_Charger.name=Weak 50V Battery Charger -White_Brush.name=White Brush -Wind_Turbine.name=Wind Turbine -Wireless_Analyser.name=Wireless Analyzer -Wireless_Button.name=Wireless Button -Wireless_Signal_Receiver.name=Wireless Signal Receiver -Wireless_Signal_Repeater.name=Wireless Signal Repeater -Wireless_Signal_Transmitter.name=Wireless Signal Transmitter -Wireless_Switch.name=Wireless Switch -Wrench.name=Wrench -X-Ray_Scanner.name=X-Ray Scanner -XNOR_Chip.name=XNOR Chip -XOR_Chip.name=XOR Chip -Yellow_Brush.name=Yellow Brush -entity.EAReplicator.name=Replicator -item.Copper Axe.name\=Copper Axe -item.Copper Axe.name\=Copper Axe -item.Copper Axe.name\=Copper Axe -item.Copper Axe.name\=Copper Axe -item.Copper Axe.name\=Copper Axe -item.Copper Axe.name\=Copper Axe -item.Copper Axe.name\=Copper Axe -item.Copper Axe.name\=Copper Axe -item.Copper Axe.name\=Copper Axe -item.E-Coal Boots.name\=E-Coal Boots -item.E-Coal Boots.name\=E-Coal Boots -item.E-Coal Boots.name\=E-Coal Boots -item.E-Coal Boots.name\=E-Coal Boots -itemGroup.Eln=Electrical Age -mod.meta.desc=Electricity in your base\! -tile.eln.ElnProbe.name=Eln Computer Probe -tile.eln.EnergyConverterElnToOtherHVUBlock.name=800V Electrical Age to other energy exporter -tile.eln.EnergyConverterElnToOtherLVUBlock.name=50V Electrical Age to other energy exporter -tile.eln.EnergyConverterElnToOtherMVUBlock.name=200V Electrical Age to other energy exporter - -# ./src/main/java/mods/eln/i18n/I18N.java -You_have_%s_lives_left=You have %s lives left - -# ./src/main/java/mods/eln/item/BrushDescriptor.java -Brush_is_dry=Brush is dry -Can_paint_%s_blocks=Can paint %s blocks - -# ./src/main/java/mods/eln/item/CombustionChamber.java -Upgrade_for_the_Stone_Heat_Furnace.=Upgrade for the Stone Heat Furnace. - -# ./src/main/java/mods/eln/item/ElectricalDrillDescriptor.java -Energy_per_operation\:_%sJ=Energy per operation\: %sJ -Time_per_operation\:_%ss=Time per operation\: %ss - -# ./src/main/java/mods/eln/item/FerromagneticCoreDescriptor.java -Cable_loss_factor\:_%s=Cable loss factor\: %s - -# ./src/main/java/mods/eln/item/HeatingCorpElement.java - -# ./src/main/java/mods/eln/item/LampDescriptor.java -Bad=Bad -Condition\:=Condition\: -End_of_life=End of life -Good=Good -New=New -Nominal_lifetime\:_%sh=Nominal lifetime\: %sh -Technology\:_%s=Technology\: %s -Used=Used - -# ./src/main/java/mods/eln/item/LampSlot.java -Lamp_slot=Lamp slot - -# ./src/main/java/mods/eln/item/OverHeatingProtectionDescriptor.java -Useful_to_prevent_overheating\nof_Batteries=Useful to prevent overheating\nof Batteries - -# ./src/main/java/mods/eln/item/OverVoltageProtectionDescriptor.java -Useful_to_prevent_over-voltage\nof_Batteries=Useful to prevent over-voltage\nof Batteries - -# ./src/main/java/mods/eln/item/SolarTrackerDescriptor.java -Solar_panel_upgrade=Solar panel upgrade - -# ./src/main/java/mods/eln/item/electricalitem/BatteryItem.java - -# ./src/main/java/mods/eln/item/electricalitem/ElectricalLampItem.java -Off=Off -On=On -State\:=State\: -Stored_Energy\:_%sJ_(%s)=Stored Energy\: %sJ (%s) - -# ./src/main/java/mods/eln/item/regulator/RegulatorSlot.java - -# ./src/main/java/mods/eln/misc/UtilsClient.java -Hold_shift=Hold shift - -# ./src/main/java/mods/eln/misc/Version.java -mod.name=Electrical Age - -# ./src/main/java/mods/eln/node/six/SixNodeDescriptor.java - -# ./src/main/java/mods/eln/simplenode/energyconverter/EnergyConverterElnToOtherGui.java -Input_power_is_limited_to_%sW=Input power is limited to %sW - -# ./src/main/java/mods/eln/sixnode/LogicGate.kt -_O\:_= O\: - -# ./src/main/java/mods/eln/sixnode/TreeResinCollector/TreeResinCollectorDescriptor.java -Produces_Tree_Resin_over\ntime_when_put_on_a_tree.=Produces Tree Resin over\ntime when put on a tree. -This_block_can_only_be_placed_on_the_side_of_a_tree!=This block can only be placed on the side of a tree\! - -# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerContainer.java -Battery_slot=Battery slot - -# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerDescriptor.java -Can_be_used_to_recharge\nelectrical_items_like\:\nFlash_Light,_X-Ray_scanner\nand_Portable_Battery_...=Can be used to recharge\nelectrical items like\:\nFlash Light, X-Ray scanner\nand Portable Battery ... - -# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerGui.java - -# ./src/main/java/mods/eln/sixnode/diode/DiodeDescriptor.java -Electrical_current_can_only\nflow_through_the_diode\nfrom_anode_to_cathode=Electrical current can only\nflow through the diode\nfrom anode to cathode - -# ./src/main/java/mods/eln/sixnode/electricalalarm/ElectricalAlarmDescriptor.java -= -Emits_an_acoustic_alarm_if\nthe_input_signal_is_high=Emits an acoustic alarm if\nthe input signal is high - -# ./src/main/java/mods/eln/sixnode/electricalalarm/ElectricalAlarmGui.java -Sound_is_muted=Sound is muted -Sound_is_not_muted=Sound is not muted - -# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerContainer.java - -# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerDescriptor.java -Protects_electrical_components\nOpens_contact_if\:\n__-_Voltage_exceeds_a_certain_level\n-_Current_exceeds_the_cable_limit=Protects electrical components\nOpens contact if\:\n - Voltage exceeds a certain level\n- Current exceeds the cable limit - -# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerGui.java -Maximum_voltage_before_cutting_off=Maximum voltage before cutting off -Minimum_voltage_before_cutting_off=Minimum voltage before cutting off -Switch_is_off=Switch is off -Switch_is_on=Switch is on - -# ./src/main/java/mods/eln/sixnode/electricalcable/ElectricalCableDescriptor.java -A_signal_is_electrical_information\nwhich_must_be_between_0V_and_%sV=A signal is electrical information\nwhich must be between 0V and %sV -Cable_is_adapted_to_conduct\nelectrical_signals.=Cable is adapted to conduct\nelectrical signals. -Current\:_%sA=Current\: %sA -Not_adapted_to_transport_power.=Not adapted to transport power. -Save_usage\:=Save usage\: -Serial_resistance\:_%sΩ=Serial resistance\: %sΩ - -# ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerDescriptor.java -It_can_store_up_to_256_points.=It can store up to 256 points. -Measures_the_voltage_of_an\nelectrical_signal_and_plots\nthe_data_in_real_time.=Measures the voltage of an\nelectrical signal and plots\nthe data in real time. - -# ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerGui.java -Back_to_display=Back to display -Configuration=Configuration -Current_[A]=Current [A] -Energy_[J]=Energy [J] -Percent_[-]%=Percent [-]% -Power_[W]=Power [W] -Print=Print -Sampling_period=Sampling period -Temp._[*C]=Temp. [*C] -Voltage_[V]=Voltage [V] -Y-axis_max=Y-axis max -Y-axis_min=Y-axis min - -# ./src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorContainer.java - -# ./src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorDescriptor.java -Output_voltage_increases\nif_entities_are_moving_around.=Output voltage increases\nif entities are moving around. - -# ./src/main/java/mods/eln/sixnode/electricalfiredetector/ElectricalFireDetectorDescriptor.java -Output_voltage_increases\nif_a_fire_has_been_detected.=Output voltage increases\nif a fire has been detected. - -# ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceDescriptor.java -Provides_configurable_signal\nvoltage.=Provides configurable signal\nvoltage. - -# ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceGui.java -Output_at_%s=Output at %s - -# ./src/main/java/mods/eln/sixnode/electricallightsensor/ElectricalLightSensorDescriptor.java -0V_at_night,_%sV_at_noon.=0V at night, %sV at noon. -Provides_an_electrical_voltage\nin_the_presence_of_light.=Provides an electrical voltage\nin the presence of light. -Provides_an_electrical_voltage\nwhich_is_proportional_to\nthe_intensity_of_daylight.=Provides an electrical voltage\nwhich is proportional to\nthe intensity of daylight. - -# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathContainer.java - -# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathDescriptor.java -Applicable_boolean_operators\:=Applicable boolean operators\: -Applicable_functions\:=Applicable functions\: -Applicable_mathematical_operators\:=Applicable mathematical operators\: -Calculates_an_output_signal_from\n3_inputs_(A,_B,_C)_using_an_equation.=Calculates an output signal from\n3 inputs (A, B, C) using an equation. - -# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathGui.java -%s_Redstone(s)_required=%s Redstone(s) required -Equation_required!=Equation required\! -Inputs_are=Inputs are -Invalid_equation!=Invalid equation\! -Output_voltage_formula=Output voltage formula -Waiting_for_completion...=Waiting for completion... - -# ./src/main/java/mods/eln/sixnode/electricalredstoneinput/ElectricalRedstoneInputDescriptor.java -Converts_Redstone_signal\nto_an_electrical_voltage.=Converts Redstone signal\nto an electrical voltage. - -# ./src/main/java/mods/eln/sixnode/electricalredstoneoutput/ElectricalRedstoneOutputDescriptor.java -Converts_electrical_voltage\ninto_a_Redstone_signal.=Converts electrical voltage\ninto a Redstone signal. - -# ./src/main/java/mods/eln/sixnode/electricalrelay/ElectricalRelayDescriptor.java -A_relay_is_an_electrical\ncontact_that_conducts_electric\ncurrent_or_not,_depending\nthe_actual_input_signal_voltage.=A relay is an electrical\ncontact that conducts electric\ncurrent or not, depending\nthe actual input signal voltage. - -# ./src/main/java/mods/eln/sixnode/electricalrelay/ElectricalRelayGui.java -Normally_closed=Normally closed -Normally_open=Normally open - -# ./src/main/java/mods/eln/sixnode/electricalsource/ElectricalSourceDescriptor.java -Creative_block.=Creative block. -Provides_an_ideal_voltage_source\nwithout_energy_or_power_limitation.=Provides an ideal voltage source\nwithout energy or power limitation. - -# ./src/main/java/mods/eln/sixnode/electricalsource/ElectricalSourceGui.java -Output_voltage=Output voltage - -# ./src/main/java/mods/eln/sixnode/electricalswitch/ElectricalSwitchDescriptor.java -Can_break_an_electrical_circuit\ninterrupting_the_current.=Can break an electrical circuit\ninterrupting the current. - -# ./src/main/java/mods/eln/sixnode/electricaltimeout/ElectricalTimeoutDescriptor.java -Upon_application_of_a_high_signal,\nthe_timer_maintains_the_output_high_for\na_configurable_interval._Can_be_re-triggered.=Upon application of a high signal,\nthe timer maintains the output high for\na configurable interval. Can be re-triggered. - -# ./src/main/java/mods/eln/sixnode/electricaltimeout/ElectricalTimeoutGui.java -Set=Set -The_time_interval_the\noutput_is_kept_high.=The time interval the\noutput is kept high. - -# ./src/main/java/mods/eln/sixnode/electricalvumeter/ElectricalVuMeterDescriptor.java -Displays_the_value_of_a_signal.=Displays the value of a signal. - -# ./src/main/java/mods/eln/sixnode/electricalwatch/ElectricalWatchContainer.java -Portable_battery_slot=Portable battery slot - -# ./src/main/java/mods/eln/sixnode/electricalweathersensor/ElectricalWeatherSensorDescriptor.java -Clear\:_%sV=Clear\: %sV -Provides_an_electrical_signal\ndepending_the_actual_weather.=Provides an electrical signal\ndepending the actual weather. -Rain\:_%sV=Rain\: %sV -Storm\:_%sV=Storm\: %sV - -# ./src/main/java/mods/eln/sixnode/electricalwindsensor/ElectricalWindSensorDescriptor.java -Maximum_wind_speed_is_%sm_s=Maximum wind speed is %sm/s -Provides_an_electrical_signal\ndependant_on_wind_speed.=Provides an electrical signal\ndependant on wind speed. -You_can't_place_this_block_on_the_floor_or_the_ceiling=You can't place this block on the floor or the ceiling - -# ./src/main/java/mods/eln/sixnode/electricasensor/ElectricalSensorDescriptor.java -Can_measure_Voltage_Power_Current=Can measure Voltage/Power/Current -Measures_electrical_values_on_cables.=Measures electrical values on cables. -Measures_voltage_on_cables.=Measures voltage on cables. - -# ./src/main/java/mods/eln/sixnode/electricasensor/ElectricalSensorGui.java -Current=Current -Measured_voltage\ncorresponding\nto_0%_output=Measured voltage\ncorresponding\nto 0% output -Measured_voltage\ncorresponding\nto_100%_output=Measured voltage\ncorresponding\nto 100% output -Voltage=Voltage - -# ./src/main/java/mods/eln/sixnode/energymeter/EnergyMeterGui.java -Change_password=Change password -Counter_Mode=Counter Mode -Counts_the_energy_conducted_from\n\u00a74red\u00a7f_to_\u00a71blue\u00a7f.=Counts the energy conducted from\n\\u00a74red\\u00a7f to \\u00a71blue\\u00a7f. -Energy_counter\:_%sJ=Energy counter\: %sJ -Enter_new_energy=Enter new energy -Enter_password=Enter password -Prepay_Mode=Prepay Mode -Reset_time_counter=Reset time counter -Set_energy_counter=Set energy counter -Time_counter\:=Time counter\: -Try_password=Try password -You_can_set_an_initial\namount_of_available_energy.\nWhen_the_counter_arrives_at_0\nthe_contact_will_be_opened.=You can set an initial\namount of available energy.\nWhen the counter arrives at 0\nthe contact will be opened. -is_off=is off -is_on=is on -value_in_kJ=value in kJ - -# ./src/main/java/mods/eln/sixnode/groundcable/GroundCableDescriptor.java -Can_be_used_to_set_a_point_of_an\nelectrical_network_to_0V_potential.\nFor_example_to_ground_negative_battery_contacts.=Can be used to set a point of an\nelectrical network to 0V potential.\nFor example to ground negative battery contacts. -Provides_a_zero_volt_reference.=Provides a zero volt reference. - -# ./src/main/java/mods/eln/sixnode/hub/HubDescriptor.java -Allows_crossing_cables\non_one_single_block.=Allows crossing cables\non one single block. - -# ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketDescriptor.java -Angle\:_%s°_to_%s°=Angle\: %s° to %s° -Spot_range\:_%s_blocks=Spot range\: %s blocks - -# ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketGuiDraw.java -%s_is_not_in_range!=%s is not in range\! -Cable_slot_empty=Cable slot empty -Orientation\:_%s°=Orientation\: %s° -Parallel=Parallel -Powered_by_Lamp_Supply=Powered by Lamp Supply -Powered_by_cable=Powered by cable -Serial=Serial -Specify_the_supply_channel=Specify the supply channel - -# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyContainer.java -Electrical_cable_slot\nBase_range_is_32_blocks.\nEach_additional_cable\nincreases_range_by_one.=Electrical cable slot\nBase range is 32 blocks.\nEach additional cable\nincreases range by one. - -# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyDescriptor.java -Supplies_all_lamps_on_the_channel.=Supplies all lamps on the channel. - -# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyGui.java -Power_channel_name=Power channel name -Wireless_channel_name=Wireless channel name - -# ./src/main/java/mods/eln/sixnode/modbusrtu/ModbusRtuGui.java -Add=Add -Channel_name=Channel name -Modbus_ID=Modbus ID -Modbus_RTU=Modbus RTU -Station_ID=Station ID -Station_name=Station name -Wireless_RX=Wireless RX -Wireless_TX=Wireless TX - -# ./src/main/java/mods/eln/sixnode/powercapacitorsix/PowerCapacitorSixContainer.java -(Increases_maximum_voltage)=(Increases maximum voltage) - -# ./src/main/java/mods/eln/sixnode/powercapacitorsix/PowerCapacitorSixGui.java - -# ./src/main/java/mods/eln/sixnode/powerinductorsix/PowerInductorSixContainer.java - -# ./src/main/java/mods/eln/sixnode/powerinductorsix/PowerInductorSixGui.java - -# ./src/main/java/mods/eln/sixnode/powersocket/PowerSocketDescriptor.java -Supplies_any_device\nplugged_in_with_energy.=Supplies any device\nplugged in with energy. - -# ./src/main/java/mods/eln/sixnode/powersocket/PowerSocketGui.java -Specify_the_device_to_supply_through_this_socket.=Specify the device to supply through this socket. - -# ./src/main/java/mods/eln/sixnode/resistor/ResistorContainer.java -(Sets_resistance)=(Sets resistance) -Coal_dust_slot=Coal dust slot - -# ./src/main/java/mods/eln/sixnode/thermalcable/ThermalCableDescriptor.java -High_parallel_resistance\n_\=>_Low_power_dissipation.=High parallel resistance\n \=> Low power dissipation. -Low_serial_resistance\n_\=>_High_conductivity.=Low serial resistance\n \=> High conductivity. -Parallel_resistance\:_%sK_W=Parallel resistance\: %sK/W -Serial_resistance\:_%sK_W=Serial resistance\: %sK/W - -# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorContainer.java -Cable_slot=Cable slot - -# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorDescriptor.java -Can_measure\:=Can measure\: -Measures_temperature_of_cables.=Measures temperature of cables. -Measures_thermal_values_on_cables.=Measures thermal values on cables. -__Temperature_Power_conducted=Temperature/Power conducted - -# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorGui.java -Measured_temperature\ncorresponding\nto_0%_output=Measured temperature\ncorresponding\nto 0% output -Measured_temperature\ncorresponding\nto_100%_output=Measured temperature\ncorresponding\nto 100% output -Temperature=Temperature - -# ./src/main/java/mods/eln/sixnode/tutorialsign/TutorialSignElement.java -No_text_associated_to_this_beacon=No text associated to this beacon - -# ./src/main/java/mods/eln/sixnode/tutorialsign/TutorialSignGui.java -Set_beacon_name=Set beacon name - -# ./src/main/java/mods/eln/sixnode/wirelesssignal/rx/WirelessSignalRxGui.java - -# ./src/main/java/mods/eln/transparentnode/FuelGenerator.kt -Nominal_power\:_%s_W=Nominal power\: %s W -Nominal_voltage\:_%s_V=Nominal voltage\: %s V -Produces_electricity_using_fuel.=Produces electricity using fuel. - -# ./src/main/java/mods/eln/transparentnode/LargeRheostat.kt -Nom._Resistance\:_%s=Nom. Resistance\: %s - -# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerContainer.java -Drill_slot=Drill slot -Mining_pipe_slot=Mining pipe slot -Ore_scanner_slot=Ore scanner slot - -# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerDescriptor.java -Excavates_on_a_small_radius.\nExtracts_ore_on_a_bigger_radius\:\n10_blocks_radius_after_10_blocks_depth.=Excavates on a small radius.\nExtracts ore on a bigger radius\:\n10 blocks radius after 10 blocks depth. - -# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerGuiDraw.java -Chest_missing_on_the\nback_of_the_auto_miner!=Chest missing on the\nback of the auto miner\! -Halves_speed,_triples_power_draw=Halves speed, triples power draw -Silk_Touch_Off=Silk Touch Off -Silk_Touch_On=Silk Touch On -Silk_touch=Silk touch - -# ./src/main/java/mods/eln/transparentnode/battery/BatteryContainer.java -Overheating_protection=Overheating protection -Overvoltage_protection=Overvoltage protection - -# ./src/main/java/mods/eln/transparentnode/battery/BatteryDescriptor.java -Actual_charge\:_%s=Actual charge\: %s -Energy_capacity\:_%sJ=Energy capacity\: %sJ -_charged_at_%s=charged at %s - -# ./src/main/java/mods/eln/transparentnode/battery/BatteryGuiDraw.java -Charge=Charge -Charged=Charged -Discharge=Discharge -Energy\:=Energy\: -Energy\:_%s=Energy\: %s -Life\:=Life\: -No_charge=No charge -Power_in\:=Power in\: -Power_out\:=Power out\: - -# ./src/main/java/mods/eln/transparentnode/eggincubator/EggIncubatorContainer.java -Egg_slot=Egg slot - -# ./src/main/java/mods/eln/transparentnode/electricalantennarx/ElectricalAntennaRxDescriptor.java -Wireless_energy_receiver.=Wireless energy receiver. - -# ./src/main/java/mods/eln/transparentnode/electricalantennatx/ElectricalAntennaTxDescriptor.java -Efficiency\:_%s_up_to_%s=Efficiency\: %s up to %s -Wireless_energy_transmitter.=Wireless energy transmitter. - -# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceContainer.java -Heating_corp_slot=Heating corp slot - -# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceDescriptor.java -Similar_to_a_vanilla_furnace,\nbut_heats_with_electricity.=Similar to a vanilla furnace,\nbut heats with electricity. - -# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceGuiDraw.java -Auto_shutdown=Auto shutdown -Manual_shutdown=Manual shutdown -Set_point\:_%s°C=Set point\: %s°C - -# ./src/main/java/mods/eln/transparentnode/electricalmachine/ElectricalMachineDescriptor.java -Cost=Cost - -# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceContainer.java -Combustion_chamber_slot=Combustion chamber slot -Fuel_slot=Fuel slot - -# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceDescriptor.java -Generates_heat_when_supplied_with_fuel.=Generates heat when supplied with fuel. - -# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceGuiDraw.java -Control_gauge_at_%s=Control gauge at %s -Decline_fuel=Decline fuel -External_control=External control -Internal_control=Internal control -Take_fuel=Take fuel - -# ./src/main/java/mods/eln/transparentnode/powercapacitor/PowerCapacitorContainer.java -(Increases_maximal_voltage)=(Increases maximal voltage) - -# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelContainer.java -Solar_tracker_slot=Solar tracker slot - -# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelDescriptor.java -Can_be_geared_towards_the_sun.=Can be geared towards the sun. -Max._power\:_%sW=Max. power\: %sW -Max._voltage\:_%sV=Max. voltage\: %sV -Produces_power_from_solar_radiation.=Produces power from solar radiation. - -# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPannelGuiDraw.java -It_is_night=It is night -Solar_panel_angle\:_%s°=Solar panel angle\: %s° -Sun_angle\:_%s°=Sun angle\: %s° - -# ./src/main/java/mods/eln/transparentnode/teleporter/TeleporterGui.java -Destination_transporter=Destination transporter -Power_consumption\:=Power consumption\: -Power_consumption\:_%sW=Power consumption\: %sW -Required_energy\:_%sJ=Required energy\: %sJ -Start=Start -Transporter_name=Transporter name - -# ./src/main/java/mods/eln/transparentnode/thermaldissipatoractive/ThermalDissipatorActiveDescriptor.java -Fan_cooling_power\:_%sW=Fan cooling power\: %sW -Fan_power_consumption\:_%sW=Fan power consumption\: %sW -Fan_voltage\:_%sV=Fan voltage\: %sV - -# ./src/main/java/mods/eln/transparentnode/transformer/TransformerDescriptor.java -The_voltage_ratio_is_proportional\nto_the_cable_stacks_count_ratio.=The voltage ratio is proportional\nto the cable stacks count ratio. -Transforms_an_input_voltage_to\nan_output_voltage.=Transforms an input voltage to\nan output voltage. - -# ./src/main/java/mods/eln/transparentnode/turbine/TurbineDescriptor.java -Generates_electricity_using_heat.=Generates electricity using heat. -Temperature_difference\:_%s°C=Temperature difference\: %s°C - -# ./src/main/java/mods/eln/transparentnode/turret/TurretDescriptor.java -CAUTION\:_Cables_can_get_quite_hot!=CAUTION\: Cables can get quite hot\! -Laser_charge_power\:_%sW...%skW=Laser charge power\: %sW...%skW -Scans_for_entities_and_shoots_if_the\nentity_matches_the_configurable_filter_criteria.=Scans for entities and shoots if the\nentity matches the configurable filter criteria. -Standby_power\:_%sW=Standby power\: %sW - -# ./src/main/java/mods/eln/transparentnode/turret/TurretGui.java -Attack\:=Attack\: -Do_not_attack\:=Do not attack\: -Recharge_power\:=Recharge power\: - -# ./src/main/java/mods/eln/transparentnode/waterturbine/WaterTurbineDescriptor.java -Generates_energy_using_water_stream.=Generates energy using water stream. -No_place_for_water_turbine!=No place for water turbine\! - -# ./src/main/java/mods/eln/transparentnode/windturbine/WindTurbineDescriptor.java -Front\:_%s=Front\: %s -Generates_energy_from_wind.=Generates energy from wind. -Left_Right\:_%s=Left/Right\: %s -Up_Down\:_%s=Up/Down\: %s -Wind_area\:=Wind area\: - -# ./src/main/java/mods/eln/wiki/Data.java -Energy=Energy -Light=Light -Machine=Machine -Ore=Ore -Portable=Portable -Resource=Resource -Signal=Signal -Thermal=Thermal -Upgrade=Upgrade -Utilities=Utilities -Wiring=Wiring - -# ./src/main/java/mods/eln/wiki/Default.java -Previous=Previous - -# ./src/main/java/mods/eln/wiki/ItemDefault.java -Can_be_used_to_craft\:=Can be used to craft\: -Cannot_be_crafted!=Cannot be crafted\! -Cost_%sJ=Cost %sJ -Created_by\:=Created by\: -Is_not_a_crafting_material!=Is not a crafting material\! -Recipe\:=Recipe\: - -# Appearing in multiple source files -(Increases_capacity)=(Increases capacity) -(Increases_inductance)=(Increases inductance) -Actual\:_%s°C=Actual\: %s°C -Biggest=Biggest -Booster_slot=Booster slot -Can_create\:=Can create\: -Capacity\:_%sF=Capacity\: %sF -Charge_power\:_%sW=Charge power\: %sW -Connected=Connected -Cooling_power\:_%sW=Cooling power\: %sW -Copper_cable_slot=Copper cable slot -Dielectric_slot=Dielectric slot -Discharge_power\:_%sW=Discharge power\: %sW -Electrical_cable_slot=Electrical cable slot -Entity_filter_slot=Entity filter slot -Ferromagnetic_core_slot=Ferromagnetic core slot -Has_a_signal_output.=Has a signal output. -Inductance\:_%sH=Inductance\: %sH -Internal_resistance\:_%sΩ=Internal resistance\: %sΩ -Is_off=Is off -Is_on=Is on -Max._temperature\:_%s°C=Max. temperature\: %s°C -Measured_value\ncorresponding\nto_0%_output=Measured value\ncorresponding\nto 0% output -Measured_value\ncorresponding\nto_100%_output=Measured value\ncorresponding\nto 100% output -Nominal\:=Nominal\: -Nominal_power\:_%sW=Nominal power\: %sW -Nominal_usage\:=Nominal usage\: -Nominal_voltage\:_%sV=Nominal voltage\: %sV -Not_connected=Not connected -Not_enough_space_for_this_block=Not enough space for this block -Power=Power -Power\:_%sW=Power\: %sW -Range\:_%s_blocks=Range\: %s blocks -Redstone_slot=Redstone slot -Regulator_slot=Regulator slot -Reset=Reset -Resistance\:_%sΩ=Resistance\: %sΩ -Smallest=Smallest -Specify_the_channel=Specify the channel -Stored_energy\:_%sJ_(%s)=Stored energy\: %sJ (%s) -Temperature\:_%s°C=Temperature\: %s°C -Temperature_gauge=Temperature gauge -Thermal_isolator_slot=Thermal isolator slot -Toggle=Toggle -Toggle_switch=Toggle switch -Toggles_the_output_each_time\nan_emitter's_value_rises.\nUseful_to_allow_multiple_buttons\nto_control_the_same_light.=Toggles the output each time\nan emitter's value rises.\nUseful to allow multiple buttons\nto control the same light. -Used_to_cool_down_turbines.=Used to cool down turbines. -Uses_the_biggest\nvalue_on_the_channel.=Uses the biggest\nvalue on the channel. -Uses_the_smallest\nvalue_on_the_channel.=Uses the smallest\nvalue on the channel. -Validate=Validate -Voltage\:_%sV=Voltage\: %sV -You_can't_place_this_block_at_this_side=You can't place this block at this side +eln:# +eln: +eln:# ./src/main/java/mods/eln/Achievements.java +eln:Electrical_Age_[WIP]=Electrical Age [WIP] +eln:achievement.craft_50v_macerator=Crushing Novice +eln:achievement.craft_50v_macerator.desc=Craft a 50V Macerator +eln:achievement.open_guide=Wiki Power +eln:achievement.open_guide.desc=Open the wiki guide +eln: +eln:# ./src/main/java/mods/eln/Eln.java +eln:10A_Diode.name=10A Diode +eln:200V_Active_Thermal_Dissipator.name=200V Active Thermal Dissipator +eln:200V_Battery_Charger.name=200V Battery Charger +eln:200V_Compressor.name=200V Compressor +eln:200V_Condensator.name=200V Condensator +eln:200V_Copper_Heating_Corp.name=200V Copper Heating Corp +eln:200V_Economic_Light_Bulb.name=200V Economic Light Bulb +eln:200V_Farming_Lamp.name=200V Farming Lamp +eln:200V_Fuel_Generator.name=200V Fuel Generator +eln:200V_Incandescent_Light_Bulb.name=200V Incandescent Light Bulb +eln:200V_Iron_Heating_Corp.name=200V Iron Heating Corp +eln:200V_LED_Bulb.name=200V LED Bulb +eln:200V_Macerator.name=200V Macerator +eln:200V_Magnetizer.name=200V Magnetizer +eln:200V_Plate_Machine.name=200V Plate Machine +eln:200V_Power_Socket.name=200V Power Socket +eln:200V_Tungsten_Heating_Corp.name=200V Tungsten Heating Corp +eln:200V_Turbine.name=200V Turbine +eln:25A_Diode.name=25A Diode +eln:50V_Battery_Charger.name=50V Battery Charger +eln:50V_Carbon_Incandescent_Light_Bulb.name=50V Carbon Incandescent Light Bulb +eln:50V_Compressor.name=50V Compressor +eln:50V_Condensator.name=50V Condensator +eln:50V_Copper_Heating_Corp.name=50V Copper Heating Corp +eln:50V_Economic_Light_Bulb.name=50V Economic Light Bulb +eln:50V_Egg_Incubator.name=50V Egg Incubator +eln:50V_Farming_Lamp.name=50V Farming Lamp +eln:50V_Fuel_Generator.name=50V Fuel Generator +eln:50V_Incandescent_Light_Bulb.name=50V Incandescent Light Bulb +eln:50V_Iron_Heating_Corp.name=50V Iron Heating Corp +eln:50V_LED_Bulb.name=50V LED Bulb +eln:50V_Macerator.name=50V Macerator +eln:50V_Magnetizer.name=50V Magnetizer +eln:50V_Plate_Machine.name=50V Plate Machine +eln:50V_Power_Socket.name=50V Power Socket +eln:50V_Tungsten_Heating_Corp.name=50V Tungsten Heating Corp +eln:50V_Turbine.name=50V Turbine +eln:800V_Defence_Turret.name=800V Defence Turret +eln:AND_Chip.name=AND Chip +eln:Advanced_Chip.name=Advanced Chip +eln:Advanced_Electrical_Motor.name=Advanced Electrical Motor +eln:Advanced_Energy_Meter.name=Advanced Energy Meter +eln:Advanced_Machine_Block.name=Advanced Machine Block +eln:Advanced_Magnet.name=Advanced Magnet +eln:AllMeter.name=Universal-Meter +eln:Alloy_Dust.name=Alloy Dust +eln:Alloy_Ingot.name=Alloy Ingot +eln:Alloy_Plate.name=Alloy Plate +eln:Analog_Watch.name=Analog watch +eln:Analog_vuMeter.name=Analog Gauge +eln:Analogic_Regulator.name=Analogic Regulator +eln:Animal_Filter.name=Animal Filter +eln:Auto_Miner.name=Auto Miner +eln:Average_Electrical_Drill.name=Average Electrical Drill +eln:Average_Ferromagnetic_Core.name=Average Ferromagnetic Core +eln:Basic_Magnet.name=Basic Magnet +eln:Black_Brush.name=Black Brush +eln:Blue_Brush.name=Blue Brush +eln:Brown_Brush.name=Brown Brush +eln:Capacity_Oriented_Battery.name=Capacity Oriented Battery +eln:Cheap_Chip.name=Cheap Chip +eln:Cheap_Electrical_Drill.name=Cheap Electrical Drill +eln:Cheap_Ferromagnetic_Core.name=Cheap Ferromagnetic Core +eln:Cinnabar_Dust.name=Cinnabar Dust +eln:Cinnabar_Ore.name=Cinnabar Ore +eln:Coal_Dust.name=Coal Dust +eln:Coal_Plate.name=Coal Plate +eln:Combustion_Chamber.name=Combustion Chamber +eln:Copper_Cable.name=Copper Cable +eln:Copper_Dust.name=Copper Dust +eln:Copper_Ingot.name=Copper Ingot +eln:Copper_Ore.name=Copper Ore +eln:Copper_Plate.name=Copper Plate +eln:Copper_Thermal_Cable.name=Copper Thermal Cable +eln:Cost_Oriented_Battery.name=Cost Oriented Battery +eln:Current_Oriented_Battery.name=Current Oriented Battery +eln:Cyan_Brush.name=Cyan Brush +eln:D_Flip_Flop_Chip.name=D Flip Flop Chip +eln:Data_Logger.name=Data Logger +eln:Data_Logger_Print.name=Data Logger Print +eln:Dielectric.name=Dielectric +eln:Digital_Watch.name=Digital Watch +eln:Electrical_Anemometer_Sensor.name=Electrical Anemometer Sensor +eln:Electrical_Breaker.name=Electrical Breaker +eln:Electrical_Daylight_Sensor.name=Electrical Daylight Sensor +eln:Electrical_Entity_Sensor.name=Electrical Entity Sensor +eln:Electrical_Fire_Detector.name=Electrical Fire Detector +eln:Electrical_Furnace.name=Electrical Furnace +eln:Electrical_Light_Sensor.name=Electrical Light Sensor +eln:Electrical_Motor.name=Electrical Motor +eln:Electrical_Probe.name=Electrical Probe +eln:Electrical_Probe_Chip.name=Electrical Probe Chip +eln:Electrical_Source.name=Electrical Source +eln:Electrical_Timer.name=Electrical Timer +eln:Electrical_Weather_Sensor.name=Electrical Weather Sensor +eln:Electrical_age_wrench,\nCan_be_used_to_turn\nsmall_wall_blocks=Electrical age wrench,\nCan be used to turn\nsmall wall blocks +eln:Energy_Meter.name=Energy Meter +eln:Experimental_Transporter.name=Experimental Transporter +eln:Fast_Electrical_Drill.name=Fast Electrical Drill +eln:Ferrite_Ingot.name=Ferrite Ingot +eln:Flat_Lamp_Socket.name=Flat Lamp Socket +eln:Fluorescent_Lamp_Socket.name=Fluorescent Lamp Socket +eln:Generator.name=Generator +eln:Gold_Dust.name=Gold Dust +eln:Gold_Plate.name=Gold Plate +eln:Gray_Brush.name=Gray Brush +eln:Green_Brush.name=Green Brush +eln:Ground_Cable.name=Ground Cable +eln:High_Power_Receiver_Antenna.name=High Power Receiver Antenna +eln:High_Power_Transmitter_Antenna.name=High Power Transmitter Antenna +eln:High_Voltage_Cable.name=High Voltage Cable +eln:High_Voltage_Relay.name=High Voltage Relay +eln:High_Voltage_Switch.name=High Voltage Switch +eln:Hub.name=Hub +eln:Industrial_Data_Logger.name=Industrial Data Logger +eln:Iron_Cable.name=Iron Cable +eln:Iron_Dust.name=Iron Dust +eln:Iron_Plate.name=Iron Plate +eln:JK_Flip_Flop_Chip.name=JK Flip Flop Chip +eln:LED_vuMeter.name=LED vuMeter +eln:Lamp_Socket_A.name=Lamp Socket A +eln:Lamp_Socket_B_Projector.name=Lamp Socket B Projector +eln:Lamp_Supply.name=Lamp Supply +eln:Large_Rheostat.name=Large Rheostat +eln:Lead_Dust.name=Lead Dust +eln:Lead_Ingot.name=Lead Ingot +eln:Lead_Ore.name=Lead Ore +eln:Lead_Plate.name=Lead Plate +eln:Life_Oriented_Battery.name=Life Oriented Battery +eln:Light_Blue_Brush.name=Light Blue Brush +eln:Lime_Brush.name=Lime Brush +eln:Long_Suspended_Lamp_Socket.name=Long Suspended Lamp Socket +eln:Low_Power_Receiver_Antenna.name=Low Power Receiver Antenna +eln:Low_Power_Transmitter_Antenna.name=Low Power Transmitter Antenna +eln:Low_Voltage_Cable.name=Low Voltage Cable +eln:Low_Voltage_Relay.name=Low Voltage Relay +eln:Low_Voltage_Switch.name=Low Voltage Switch +eln:Machine_Block.name=Machine Block +eln:Machine_Booster.name=Machine Booster +eln:Magenta_Brush.name=Magenta Brush +eln:Medium_Power_Receiver_Antenna.name=Medium Power Receiver Antenna +eln:Medium_Power_Transmitter_Antenna.name=Medium Power Transmitter Antenna +eln:Medium_Voltage_Cable.name=Medium Voltage Cable +eln:Medium_Voltage_Relay.name=Medium Voltage Relay +eln:Medium_Voltage_Switch.name=Medium Voltage Switch +eln:Mercury.name=Mercury +eln:Mining_Pipe.name=Mining Pipe +eln:Modbus_RTU.name=Modbus RTU +eln:Modern_Data_Logger.name=Modern Data Logger +eln:Monster_Filter.name=Monster Filter +eln:MultiMeter.name=Multimeter +eln:NAND_Chip.name=NAND Chip +eln:NOR_Chip.name=NOR Chip +eln:NOT_Chip.name=NOT Chip +eln:Nuclear_Alarm.name=Nuclear Alarm +eln:OR_Chip.name=OR Chip +eln:On_OFF_Regulator_10_Percent.name=On/off regulator 10% +eln:On_OFF_Regulator_1_Percent.name=On/off regulator 1% +eln:Optimal_Ferromagnetic_Core.name=Optimal Ferromagnetic Core +eln:Orange_Brush.name=Orange Brush +eln:Ore_Scanner.name=Ore Scanner +eln:Oscillator_Chip.name=Oscillator Chip +eln:Overheating_Protection.name=Overheating Protection +eln:Overvoltage_Protection.name=Overvoltage Protection +eln:PAL_Chip.name=PAL Chip +eln:Pink_Brush.name=Pink Brush +eln:Player_Filter.name=Player Filter +eln:Portable_Battery.name=Portable Battery +eln:Portable_Battery_Pack.name=Portable Battery Pack +eln:Portable_Condensator.name=Portable Condensator +eln:Portable_Condensator_Pack.name=Portable Condensator Pack +eln:Portable_Electrical_Axe.name=Portable Electrical Axe +eln:Portable_Electrical_Mining_Drill.name=Portable Electrical Mining Drill +eln:Power_Capacitor.name=Power Capacitor +eln:Power_Inductor.name=Power Inductor +eln:Power_Resistor.name=Power Resistor +eln:Power_capacitor.name=Power capacitor +eln:Power_inductor.name=Power inductor +eln:Purple_Brush.name=Purple Brush +eln:Red_Brush.name=Red Brush +eln:Redstone-to-Voltage_Converter.name=Redstone-to-Voltage Converter +eln:Rheostat.name=Rheostat +eln:Robust_Lamp_Socket.name=Robust Lamp Socket +eln:Rubber.name=Rubber +eln:Schmitt_Trigger_Chip.name=Schmitt Trigger Chip +eln:Sconce_Lamp_Socket.name=Sconce Lamp Socket +eln:Signal_20H_inductor.name=Signal 20H inductor +eln:Signal_Antenna.name=Signal Antenna +eln:Signal_Button.name=Signal Button +eln:Signal_Cable.name=Signal Cable +eln:Signal_Diode.name=Signal Diode +eln:Signal_Processor.name=Signal Processor +eln:Signal_Relay.name=Signal Relay +eln:Signal_Source.name=Signal Source +eln:Signal_Switch.name=Signal Switch +eln:Signal_Switch_with_LED.name=Signal Switch with LED +eln:Signal_Trimmer.name=Signal Trimmer +eln:Silicon_Dust.name=Silicon Dust +eln:Silicon_Ingot.name=Silicon Ingot +eln:Silicon_Plate.name=Silicon Plate +eln:Silver_Brush.name=Silver Brush +eln:Simple_Lamp_Socket.name=Simple Lamp Socket +eln:Single-use_Battery.name=Single-use Battery +eln:Small_200V_Copper_Heating_Corp.name=Small 200V Copper Heating Corp +eln:Small_200V_Iron_Heating_Corp.name=Small 200V Iron Heating Corp +eln:Small_200V_Tungsten_Heating_Corp.name=Small 200V Tungsten Heating Corp +eln:Small_50V_Carbon_Incandescent_Light_Bulb.name=Small 50V Carbon Incandescent Light Bulb +eln:Small_50V_Copper_Heating_Corp.name=Small 50V Copper Heating Corp +eln:Small_50V_Economic_Light_Bulb.name=Small 50V Economic Light Bulb +eln:Small_50V_Incandescent_Light_Bulb.name=Small 50V Incandescent Light Bulb +eln:Small_50V_Iron_Heating_Corp.name=Small 50V Iron Heating Corp +eln:Small_50V_Tungsten_Heating_Corp.name=Small 50V Tungsten Heating Corp +eln:Small_Active_Thermal_Dissipator.name=Small Active Thermal Dissipator +eln:Small_Flashlight.name=Small Flashlight +eln:Small_Passive_Thermal_Dissipator.name=Small Passive Thermal Dissipator +eln:Small_Rotating_Solar_Panel.name=Small Rotating Solar Panel +eln:Small_Solar_Panel.name=Small Solar Panel +eln:Solar_Tracker.name=Solar Tracker +eln:Standard_Alarm.name=Standard Alarm +eln:Steam_Turbine.name=Steam Turbine +eln:Stone_Heat_Furnace.name=Stone Heat Furnace +eln:Street_Light.name=Streetlight +eln:Suspended_Lamp_Socket.name=Suspended Lamp Socket +eln:Temperature_Probe.name=Temperature Probe +eln:Thermal_Probe.name=Thermal Probe +eln:Thermal_Probe_Chip.name=Thermal Probe Chip +eln:Thermistor.name=Thermistor +eln:ThermoMeter.name=Thermometer +eln:Transformer.name=Transformer +eln:Tree_Resin.name=Tree Resin +eln:Tree_Resin_Collector.name=Tree Resin Collector +eln:Tungsten_Cable.name=Tungsten Cable +eln:Tungsten_Dust.name=Tungsten Dust +eln:Tungsten_Ingot.name=Tungsten Ingot +eln:Tungsten_Ore.name=Tungsten Ore +eln:Tutorial_Sign.name=Tutorial Sign +eln:Very_High_Voltage_Cable.name=Very High Voltage Cable +eln:Very_High_Voltage_Relay.name=Very High Voltage Relay +eln:Very_High_Voltage_Switch.name=Very High Voltage Switch +eln:Voltage-to-Redstone_Converter.name=Voltage-to-Redstone Converter +eln:Voltage_Oriented_Battery.name=Voltage Oriented Battery +eln:Voltage_Probe.name=Voltage Probe +eln:Water_Turbine.name=Water Turbine +eln:Weak_50V_Battery_Charger.name=Weak 50V Battery Charger +eln:White_Brush.name=White Brush +eln:Wind_Turbine.name=Wind Turbine +eln:Wireless_Analyser.name=Wireless Analyzer +eln:Wireless_Button.name=Wireless Button +eln:Wireless_Signal_Receiver.name=Wireless Signal Receiver +eln:Wireless_Signal_Repeater.name=Wireless Signal Repeater +eln:Wireless_Signal_Transmitter.name=Wireless Signal Transmitter +eln:Wireless_Switch.name=Wireless Switch +eln:Wrench.name=Wrench +eln:X-Ray_Scanner.name=X-Ray Scanner +eln:XNOR_Chip.name=XNOR Chip +eln:XOR_Chip.name=XOR Chip +eln:Yellow_Brush.name=Yellow Brush +eln:entity.EAReplicator.name=Replicator +eln:item.Copper Axe.name\=Copper Axe +eln:item.Copper Axe.name\=Copper Axe +eln:item.Copper Axe.name\=Copper Axe +eln:item.Copper Axe.name\=Copper Axe +eln:item.Copper Axe.name\=Copper Axe +eln:item.Copper Axe.name\=Copper Axe +eln:item.Copper Axe.name\=Copper Axe +eln:item.Copper Axe.name\=Copper Axe +eln:item.Copper Axe.name\=Copper Axe +eln:item.E-Coal Boots.name\=E-Coal Boots +eln:item.E-Coal Boots.name\=E-Coal Boots +eln:item.E-Coal Boots.name\=E-Coal Boots +eln:item.E-Coal Boots.name\=E-Coal Boots +eln:itemGroup.Eln=Electrical Age +eln:mod.meta.desc=Electricity in your base\! +eln:tile.eln.ElnProbe.name=Eln Computer Probe +eln:tile.eln.EnergyConverterElnToOtherHVUBlock.name=800V Electrical Age to other energy exporter +eln:tile.eln.EnergyConverterElnToOtherLVUBlock.name=50V Electrical Age to other energy exporter +eln:tile.eln.EnergyConverterElnToOtherMVUBlock.name=200V Electrical Age to other energy exporter +eln: +eln:# ./src/main/java/mods/eln/i18n/I18N.java +eln:You_have_%s_lives_left=You have %s lives left +eln: +eln:# ./src/main/java/mods/eln/item/BrushDescriptor.java +eln:Brush_is_dry=Brush is dry +eln:Can_paint_%s_blocks=Can paint %s blocks +eln: +eln:# ./src/main/java/mods/eln/item/CombustionChamber.java +eln:Upgrade_for_the_Stone_Heat_Furnace.=Upgrade for the Stone Heat Furnace. +eln: +eln:# ./src/main/java/mods/eln/item/ElectricalDrillDescriptor.java +eln:Energy_per_operation\:_%sJ=Energy per operation\: %sJ +eln:Time_per_operation\:_%ss=Time per operation\: %ss +eln: +eln:# ./src/main/java/mods/eln/item/FerromagneticCoreDescriptor.java +eln:Cable_loss_factor\:_%s=Cable loss factor\: %s +eln: +eln:# ./src/main/java/mods/eln/item/HeatingCorpElement.java +eln: +eln:# ./src/main/java/mods/eln/item/LampDescriptor.java +eln:Bad=Bad +eln:Condition\:=Condition\: +eln:End_of_life=End of life +eln:Good=Good +eln:New=New +eln:Nominal_lifetime\:_%sh=Nominal lifetime\: %sh +eln:Technology\:_%s=Technology\: %s +eln:Used=Used +eln: +eln:# ./src/main/java/mods/eln/item/LampSlot.java +eln:Lamp_slot=Lamp slot +eln: +eln:# ./src/main/java/mods/eln/item/OverHeatingProtectionDescriptor.java +eln:Useful_to_prevent_overheating\nof_Batteries=Useful to prevent overheating\nof Batteries +eln: +eln:# ./src/main/java/mods/eln/item/OverVoltageProtectionDescriptor.java +eln:Useful_to_prevent_over-voltage\nof_Batteries=Useful to prevent over-voltage\nof Batteries +eln: +eln:# ./src/main/java/mods/eln/item/SolarTrackerDescriptor.java +eln:Solar_panel_upgrade=Solar panel upgrade +eln: +eln:# ./src/main/java/mods/eln/item/electricalitem/BatteryItem.java +eln: +eln:# ./src/main/java/mods/eln/item/electricalitem/ElectricalLampItem.java +eln:Off=Off +eln:On=On +eln:State\:=State\: +eln:Stored_Energy\:_%sJ_(%s)=Stored Energy\: %sJ (%s) +eln: +eln:# ./src/main/java/mods/eln/item/regulator/RegulatorSlot.java +eln: +eln:# ./src/main/java/mods/eln/misc/UtilsClient.java +eln:Hold_shift=Hold shift +eln: +eln:# ./src/main/java/mods/eln/misc/Version.java +eln:mod.name=Electrical Age +eln: +eln:# ./src/main/java/mods/eln/node/six/SixNodeDescriptor.java +eln: +eln:# ./src/main/java/mods/eln/simplenode/energyconverter/EnergyConverterElnToOtherGui.java +eln:Input_power_is_limited_to_%sW=Input power is limited to %sW +eln: +eln:# ./src/main/java/mods/eln/sixnode/LogicGate.kt +eln:_O\:_= O\: +eln: +eln:# ./src/main/java/mods/eln/sixnode/TreeResinCollector/TreeResinCollectorDescriptor.java +eln:Produces_Tree_Resin_over\ntime_when_put_on_a_tree.=Produces Tree Resin over\ntime when put on a tree. +eln:This_block_can_only_be_placed_on_the_side_of_a_tree!=This block can only be placed on the side of a tree\! +eln: +eln:# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerContainer.java +eln:Battery_slot=Battery slot +eln: +eln:# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerDescriptor.java +eln:Can_be_used_to_recharge\nelectrical_items_like\:\nFlash_Light,_X-Ray_scanner\nand_Portable_Battery_...=Can be used to recharge\nelectrical items like\:\nFlash Light, X-Ray scanner\nand Portable Battery ... +eln: +eln:# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerGui.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/diode/DiodeDescriptor.java +eln:Electrical_current_can_only\nflow_through_the_diode\nfrom_anode_to_cathode=Electrical current can only\nflow through the diode\nfrom anode to cathode +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalalarm/ElectricalAlarmDescriptor.java +eln:= +eln:Emits_an_acoustic_alarm_if\nthe_input_signal_is_high=Emits an acoustic alarm if\nthe input signal is high +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalalarm/ElectricalAlarmGui.java +eln:Sound_is_muted=Sound is muted +eln:Sound_is_not_muted=Sound is not muted +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerContainer.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerDescriptor.java +eln:Protects_electrical_components\nOpens_contact_if\:\n__-_Voltage_exceeds_a_certain_level\n-_Current_exceeds_the_cable_limit=Protects electrical components\nOpens contact if\:\n - Voltage exceeds a certain level\n- Current exceeds the cable limit +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerGui.java +eln:Maximum_voltage_before_cutting_off=Maximum voltage before cutting off +eln:Minimum_voltage_before_cutting_off=Minimum voltage before cutting off +eln:Switch_is_off=Switch is off +eln:Switch_is_on=Switch is on +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalcable/ElectricalCableDescriptor.java +eln:A_signal_is_electrical_information\nwhich_must_be_between_0V_and_%sV=A signal is electrical information\nwhich must be between 0V and %sV +eln:Cable_is_adapted_to_conduct\nelectrical_signals.=Cable is adapted to conduct\nelectrical signals. +eln:Current\:_%sA=Current\: %sA +eln:Not_adapted_to_transport_power.=Not adapted to transport power. +eln:Save_usage\:=Save usage\: +eln:Serial_resistance\:_%sΩ=Serial resistance\: %sΩ +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerDescriptor.java +eln:It_can_store_up_to_256_points.=It can store up to 256 points. +eln:Measures_the_voltage_of_an\nelectrical_signal_and_plots\nthe_data_in_real_time.=Measures the voltage of an\nelectrical signal and plots\nthe data in real time. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerGui.java +eln:Back_to_display=Back to display +eln:Configuration=Configuration +eln:Current_[A]=Current [A] +eln:Energy_[J]=Energy [J] +eln:Percent_[-]%=Percent [-]% +eln:Power_[W]=Power [W] +eln:Print=Print +eln:Sampling_period=Sampling period +eln:Temp._[*C]=Temp. [*C] +eln:Voltage_[V]=Voltage [V] +eln:Y-axis_max=Y-axis max +eln:Y-axis_min=Y-axis min +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorContainer.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorDescriptor.java +eln:Output_voltage_increases\nif_entities_are_moving_around.=Output voltage increases\nif entities are moving around. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalfiredetector/ElectricalFireDetectorDescriptor.java +eln:Output_voltage_increases\nif_a_fire_has_been_detected.=Output voltage increases\nif a fire has been detected. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceDescriptor.java +eln:Provides_configurable_signal\nvoltage.=Provides configurable signal\nvoltage. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceGui.java +eln:Output_at_%s=Output at %s +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricallightsensor/ElectricalLightSensorDescriptor.java +eln:0V_at_night,_%sV_at_noon.=0V at night, %sV at noon. +eln:Provides_an_electrical_voltage\nin_the_presence_of_light.=Provides an electrical voltage\nin the presence of light. +eln:Provides_an_electrical_voltage\nwhich_is_proportional_to\nthe_intensity_of_daylight.=Provides an electrical voltage\nwhich is proportional to\nthe intensity of daylight. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathContainer.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathDescriptor.java +eln:Applicable_boolean_operators\:=Applicable boolean operators\: +eln:Applicable_functions\:=Applicable functions\: +eln:Applicable_mathematical_operators\:=Applicable mathematical operators\: +eln:Calculates_an_output_signal_from\n3_inputs_(A,_B,_C)_using_an_equation.=Calculates an output signal from\n3 inputs (A, B, C) using an equation. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathGui.java +eln:%s_Redstone(s)_required=%s Redstone(s) required +eln:Equation_required!=Equation required\! +eln:Inputs_are=Inputs are +eln:Invalid_equation!=Invalid equation\! +eln:Output_voltage_formula=Output voltage formula +eln:Waiting_for_completion...=Waiting for completion... +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalredstoneinput/ElectricalRedstoneInputDescriptor.java +eln:Converts_Redstone_signal\nto_an_electrical_voltage.=Converts Redstone signal\nto an electrical voltage. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalredstoneoutput/ElectricalRedstoneOutputDescriptor.java +eln:Converts_electrical_voltage\ninto_a_Redstone_signal.=Converts electrical voltage\ninto a Redstone signal. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalrelay/ElectricalRelayDescriptor.java +eln:A_relay_is_an_electrical\ncontact_that_conducts_electric\ncurrent_or_not,_depending\nthe_actual_input_signal_voltage.=A relay is an electrical\ncontact that conducts electric\ncurrent or not, depending\nthe actual input signal voltage. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalrelay/ElectricalRelayGui.java +eln:Normally_closed=Normally closed +eln:Normally_open=Normally open +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalsource/ElectricalSourceDescriptor.java +eln:Creative_block.=Creative block. +eln:Provides_an_ideal_voltage_source\nwithout_energy_or_power_limitation.=Provides an ideal voltage source\nwithout energy or power limitation. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalsource/ElectricalSourceGui.java +eln:Output_voltage=Output voltage +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalswitch/ElectricalSwitchDescriptor.java +eln:Can_break_an_electrical_circuit\ninterrupting_the_current.=Can break an electrical circuit\ninterrupting the current. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricaltimeout/ElectricalTimeoutDescriptor.java +eln:Upon_application_of_a_high_signal,\nthe_timer_maintains_the_output_high_for\na_configurable_interval._Can_be_re-triggered.=Upon application of a high signal,\nthe timer maintains the output high for\na configurable interval. Can be re-triggered. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricaltimeout/ElectricalTimeoutGui.java +eln:Set=Set +eln:The_time_interval_the\noutput_is_kept_high.=The time interval the\noutput is kept high. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalvumeter/ElectricalVuMeterDescriptor.java +eln:Displays_the_value_of_a_signal.=Displays the value of a signal. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalwatch/ElectricalWatchContainer.java +eln:Portable_battery_slot=Portable battery slot +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalweathersensor/ElectricalWeatherSensorDescriptor.java +eln:Clear\:_%sV=Clear\: %sV +eln:Provides_an_electrical_signal\ndepending_the_actual_weather.=Provides an electrical signal\ndepending the actual weather. +eln:Rain\:_%sV=Rain\: %sV +eln:Storm\:_%sV=Storm\: %sV +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalwindsensor/ElectricalWindSensorDescriptor.java +eln:Maximum_wind_speed_is_%sm_s=Maximum wind speed is %sm/s +eln:Provides_an_electrical_signal\ndependant_on_wind_speed.=Provides an electrical signal\ndependant on wind speed. +eln:You_can't_place_this_block_on_the_floor_or_the_ceiling=You can't place this block on the floor or the ceiling +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricasensor/ElectricalSensorDescriptor.java +eln:Can_measure_Voltage_Power_Current=Can measure Voltage/Power/Current +eln:Measures_electrical_values_on_cables.=Measures electrical values on cables. +eln:Measures_voltage_on_cables.=Measures voltage on cables. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricasensor/ElectricalSensorGui.java +eln:Current=Current +eln:Measured_voltage\ncorresponding\nto_0%_output=Measured voltage\ncorresponding\nto 0% output +eln:Measured_voltage\ncorresponding\nto_100%_output=Measured voltage\ncorresponding\nto 100% output +eln:Voltage=Voltage +eln: +eln:# ./src/main/java/mods/eln/sixnode/energymeter/EnergyMeterGui.java +eln:Change_password=Change password +eln:Counter_Mode=Counter Mode +eln:Counts_the_energy_conducted_from\n\u00a74red\u00a7f_to_\u00a71blue\u00a7f.=Counts the energy conducted from\n\\u00a74red\\u00a7f to \\u00a71blue\\u00a7f. +eln:Energy_counter\:_%sJ=Energy counter\: %sJ +eln:Enter_new_energy=Enter new energy +eln:Enter_password=Enter password +eln:Prepay_Mode=Prepay Mode +eln:Reset_time_counter=Reset time counter +eln:Set_energy_counter=Set energy counter +eln:Time_counter\:=Time counter\: +eln:Try_password=Try password +eln:You_can_set_an_initial\namount_of_available_energy.\nWhen_the_counter_arrives_at_0\nthe_contact_will_be_opened.=You can set an initial\namount of available energy.\nWhen the counter arrives at 0\nthe contact will be opened. +eln:is_off=is off +eln:is_on=is on +eln:value_in_kJ=value in kJ +eln: +eln:# ./src/main/java/mods/eln/sixnode/groundcable/GroundCableDescriptor.java +eln:Can_be_used_to_set_a_point_of_an\nelectrical_network_to_0V_potential.\nFor_example_to_ground_negative_battery_contacts.=Can be used to set a point of an\nelectrical network to 0V potential.\nFor example to ground negative battery contacts. +eln:Provides_a_zero_volt_reference.=Provides a zero volt reference. +eln: +eln:# ./src/main/java/mods/eln/sixnode/hub/HubDescriptor.java +eln:Allows_crossing_cables\non_one_single_block.=Allows crossing cables\non one single block. +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketDescriptor.java +eln:Angle\:_%s°_to_%s°=Angle\: %s° to %s° +eln:Spot_range\:_%s_blocks=Spot range\: %s blocks +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketGuiDraw.java +eln:%s_is_not_in_range!=%s is not in range\! +eln:Cable_slot_empty=Cable slot empty +eln:Orientation\:_%s°=Orientation\: %s° +eln:Parallel=Parallel +eln:Powered_by_Lamp_Supply=Powered by Lamp Supply +eln:Powered_by_cable=Powered by cable +eln:Serial=Serial +eln:Specify_the_supply_channel=Specify the supply channel +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyContainer.java +eln:Electrical_cable_slot\nBase_range_is_32_blocks.\nEach_additional_cable\nincreases_range_by_one.=Electrical cable slot\nBase range is 32 blocks.\nEach additional cable\nincreases range by one. +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyDescriptor.java +eln:Supplies_all_lamps_on_the_channel.=Supplies all lamps on the channel. +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyGui.java +eln:Power_channel_name=Power channel name +eln:Wireless_channel_name=Wireless channel name +eln: +eln:# ./src/main/java/mods/eln/sixnode/modbusrtu/ModbusRtuGui.java +eln:Add=Add +eln:Channel_name=Channel name +eln:Modbus_ID=Modbus ID +eln:Modbus_RTU=Modbus RTU +eln:Station_ID=Station ID +eln:Station_name=Station name +eln:Wireless_RX=Wireless RX +eln:Wireless_TX=Wireless TX +eln: +eln:# ./src/main/java/mods/eln/sixnode/powercapacitorsix/PowerCapacitorSixContainer.java +eln:(Increases_maximum_voltage)=(Increases maximum voltage) +eln: +eln:# ./src/main/java/mods/eln/sixnode/powercapacitorsix/PowerCapacitorSixGui.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/powerinductorsix/PowerInductorSixContainer.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/powerinductorsix/PowerInductorSixGui.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/powersocket/PowerSocketDescriptor.java +eln:Supplies_any_device\nplugged_in_with_energy.=Supplies any device\nplugged in with energy. +eln: +eln:# ./src/main/java/mods/eln/sixnode/powersocket/PowerSocketGui.java +eln:Specify_the_device_to_supply_through_this_socket.=Specify the device to supply through this socket. +eln: +eln:# ./src/main/java/mods/eln/sixnode/resistor/ResistorContainer.java +eln:(Sets_resistance)=(Sets resistance) +eln:Coal_dust_slot=Coal dust slot +eln: +eln:# ./src/main/java/mods/eln/sixnode/thermalcable/ThermalCableDescriptor.java +eln:High_parallel_resistance\n_\=>_Low_power_dissipation.=High parallel resistance\n \=> Low power dissipation. +eln:Low_serial_resistance\n_\=>_High_conductivity.=Low serial resistance\n \=> High conductivity. +eln:Parallel_resistance\:_%sK_W=Parallel resistance\: %sK/W +eln:Serial_resistance\:_%sK_W=Serial resistance\: %sK/W +eln: +eln:# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorContainer.java +eln:Cable_slot=Cable slot +eln: +eln:# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorDescriptor.java +eln:Can_measure\:=Can measure\: +eln:Measures_temperature_of_cables.=Measures temperature of cables. +eln:Measures_thermal_values_on_cables.=Measures thermal values on cables. +eln:__Temperature_Power_conducted=Temperature/Power conducted +eln: +eln:# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorGui.java +eln:Measured_temperature\ncorresponding\nto_0%_output=Measured temperature\ncorresponding\nto 0% output +eln:Measured_temperature\ncorresponding\nto_100%_output=Measured temperature\ncorresponding\nto 100% output +eln:Temperature=Temperature +eln: +eln:# ./src/main/java/mods/eln/sixnode/tutorialsign/TutorialSignElement.java +eln:No_text_associated_to_this_beacon=No text associated to this beacon +eln: +eln:# ./src/main/java/mods/eln/sixnode/tutorialsign/TutorialSignGui.java +eln:Set_beacon_name=Set beacon name +eln: +eln:# ./src/main/java/mods/eln/sixnode/wirelesssignal/rx/WirelessSignalRxGui.java +eln: +eln:# ./src/main/java/mods/eln/transparentnode/FuelGenerator.kt +eln:Nominal_power\:_%s_W=Nominal power\: %s W +eln:Nominal_voltage\:_%s_V=Nominal voltage\: %s V +eln:Produces_electricity_using_fuel.=Produces electricity using fuel. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/LargeRheostat.kt +eln:Nom._Resistance\:_%s=Nom. Resistance\: %s +eln: +eln:# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerContainer.java +eln:Drill_slot=Drill slot +eln:Mining_pipe_slot=Mining pipe slot +eln:Ore_scanner_slot=Ore scanner slot +eln: +eln:# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerDescriptor.java +eln:Excavates_on_a_small_radius.\nExtracts_ore_on_a_bigger_radius\:\n10_blocks_radius_after_10_blocks_depth.=Excavates on a small radius.\nExtracts ore on a bigger radius\:\n10 blocks radius after 10 blocks depth. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerGuiDraw.java +eln:Chest_missing_on_the\nback_of_the_auto_miner!=Chest missing on the\nback of the auto miner\! +eln:Halves_speed,_triples_power_draw=Halves speed, triples power draw +eln:Silk_Touch_Off=Silk Touch Off +eln:Silk_Touch_On=Silk Touch On +eln:Silk_touch=Silk touch +eln: +eln:# ./src/main/java/mods/eln/transparentnode/battery/BatteryContainer.java +eln:Overheating_protection=Overheating protection +eln:Overvoltage_protection=Overvoltage protection +eln: +eln:# ./src/main/java/mods/eln/transparentnode/battery/BatteryDescriptor.java +eln:Actual_charge\:_%s=Actual charge\: %s +eln:Energy_capacity\:_%sJ=Energy capacity\: %sJ +eln:_charged_at_%s=charged at %s +eln: +eln:# ./src/main/java/mods/eln/transparentnode/battery/BatteryGuiDraw.java +eln:Charge=Charge +eln:Charged=Charged +eln:Discharge=Discharge +eln:Energy\:=Energy\: +eln:Energy\:_%s=Energy\: %s +eln:Life\:=Life\: +eln:No_charge=No charge +eln:Power_in\:=Power in\: +eln:Power_out\:=Power out\: +eln: +eln:# ./src/main/java/mods/eln/transparentnode/eggincubator/EggIncubatorContainer.java +eln:Egg_slot=Egg slot +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalantennarx/ElectricalAntennaRxDescriptor.java +eln:Wireless_energy_receiver.=Wireless energy receiver. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalantennatx/ElectricalAntennaTxDescriptor.java +eln:Efficiency\:_%s_up_to_%s=Efficiency\: %s up to %s +eln:Wireless_energy_transmitter.=Wireless energy transmitter. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceContainer.java +eln:Heating_corp_slot=Heating corp slot +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceDescriptor.java +eln:Similar_to_a_vanilla_furnace,\nbut_heats_with_electricity.=Similar to a vanilla furnace,\nbut heats with electricity. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceGuiDraw.java +eln:Auto_shutdown=Auto shutdown +eln:Manual_shutdown=Manual shutdown +eln:Set_point\:_%s°C=Set point\: %s°C +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalmachine/ElectricalMachineDescriptor.java +eln:Cost=Cost +eln: +eln:# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceContainer.java +eln:Combustion_chamber_slot=Combustion chamber slot +eln:Fuel_slot=Fuel slot +eln: +eln:# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceDescriptor.java +eln:Generates_heat_when_supplied_with_fuel.=Generates heat when supplied with fuel. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceGuiDraw.java +eln:Control_gauge_at_%s=Control gauge at %s +eln:Decline_fuel=Decline fuel +eln:External_control=External control +eln:Internal_control=Internal control +eln:Take_fuel=Take fuel +eln: +eln:# ./src/main/java/mods/eln/transparentnode/powercapacitor/PowerCapacitorContainer.java +eln:(Increases_maximal_voltage)=(Increases maximal voltage) +eln: +eln:# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelContainer.java +eln:Solar_tracker_slot=Solar tracker slot +eln: +eln:# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelDescriptor.java +eln:Can_be_geared_towards_the_sun.=Can be geared towards the sun. +eln:Max._power\:_%sW=Max. power\: %sW +eln:Max._voltage\:_%sV=Max. voltage\: %sV +eln:Produces_power_from_solar_radiation.=Produces power from solar radiation. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPannelGuiDraw.java +eln:It_is_night=It is night +eln:Solar_panel_angle\:_%s°=Solar panel angle\: %s° +eln:Sun_angle\:_%s°=Sun angle\: %s° +eln: +eln:# ./src/main/java/mods/eln/transparentnode/teleporter/TeleporterGui.java +eln:Destination_transporter=Destination transporter +eln:Power_consumption\:=Power consumption\: +eln:Power_consumption\:_%sW=Power consumption\: %sW +eln:Required_energy\:_%sJ=Required energy\: %sJ +eln:Start=Start +eln:Transporter_name=Transporter name +eln: +eln:# ./src/main/java/mods/eln/transparentnode/thermaldissipatoractive/ThermalDissipatorActiveDescriptor.java +eln:Fan_cooling_power\:_%sW=Fan cooling power\: %sW +eln:Fan_power_consumption\:_%sW=Fan power consumption\: %sW +eln:Fan_voltage\:_%sV=Fan voltage\: %sV +eln: +eln:# ./src/main/java/mods/eln/transparentnode/transformer/TransformerDescriptor.java +eln:The_voltage_ratio_is_proportional\nto_the_cable_stacks_count_ratio.=The voltage ratio is proportional\nto the cable stacks count ratio. +eln:Transforms_an_input_voltage_to\nan_output_voltage.=Transforms an input voltage to\nan output voltage. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/turbine/TurbineDescriptor.java +eln:Generates_electricity_using_heat.=Generates electricity using heat. +eln:Temperature_difference\:_%s°C=Temperature difference\: %s°C +eln: +eln:# ./src/main/java/mods/eln/transparentnode/turret/TurretDescriptor.java +eln:CAUTION\:_Cables_can_get_quite_hot!=CAUTION\: Cables can get quite hot\! +eln:Laser_charge_power\:_%sW...%skW=Laser charge power\: %sW...%skW +eln:Scans_for_entities_and_shoots_if_the\nentity_matches_the_configurable_filter_criteria.=Scans for entities and shoots if the\nentity matches the configurable filter criteria. +eln:Standby_power\:_%sW=Standby power\: %sW +eln: +eln:# ./src/main/java/mods/eln/transparentnode/turret/TurretGui.java +eln:Attack\:=Attack\: +eln:Do_not_attack\:=Do not attack\: +eln:Recharge_power\:=Recharge power\: +eln: +eln:# ./src/main/java/mods/eln/transparentnode/waterturbine/WaterTurbineDescriptor.java +eln:Generates_energy_using_water_stream.=Generates energy using water stream. +eln:No_place_for_water_turbine!=No place for water turbine\! +eln: +eln:# ./src/main/java/mods/eln/transparentnode/windturbine/WindTurbineDescriptor.java +eln:Front\:_%s=Front\: %s +eln:Generates_energy_from_wind.=Generates energy from wind. +eln:Left_Right\:_%s=Left/Right\: %s +eln:Up_Down\:_%s=Up/Down\: %s +eln:Wind_area\:=Wind area\: +eln: +eln:# ./src/main/java/mods/eln/wiki/Data.java +eln:Energy=Energy +eln:Light=Light +eln:Machine=Machine +eln:Ore=Ore +eln:Portable=Portable +eln:Resource=Resource +eln:Signal=Signal +eln:Thermal=Thermal +eln:Upgrade=Upgrade +eln:Utilities=Utilities +eln:Wiring=Wiring +eln: +eln:# ./src/main/java/mods/eln/wiki/Default.java +eln:Previous=Previous +eln: +eln:# ./src/main/java/mods/eln/wiki/ItemDefault.java +eln:Can_be_used_to_craft\:=Can be used to craft\: +eln:Cannot_be_crafted!=Cannot be crafted\! +eln:Cost_%sJ=Cost %sJ +eln:Created_by\:=Created by\: +eln:Is_not_a_crafting_material!=Is not a crafting material\! +eln:Recipe\:=Recipe\: +eln: +eln:# Appearing in multiple source files +eln:(Increases_capacity)=(Increases capacity) +eln:(Increases_inductance)=(Increases inductance) +eln:Actual\:_%s°C=Actual\: %s°C +eln:Biggest=Biggest +eln:Booster_slot=Booster slot +eln:Can_create\:=Can create\: +eln:Capacity\:_%sF=Capacity\: %sF +eln:Charge_power\:_%sW=Charge power\: %sW +eln:Connected=Connected +eln:Cooling_power\:_%sW=Cooling power\: %sW +eln:Copper_cable_slot=Copper cable slot +eln:Dielectric_slot=Dielectric slot +eln:Discharge_power\:_%sW=Discharge power\: %sW +eln:Electrical_cable_slot=Electrical cable slot +eln:Entity_filter_slot=Entity filter slot +eln:Ferromagnetic_core_slot=Ferromagnetic core slot +eln:Has_a_signal_output.=Has a signal output. +eln:Inductance\:_%sH=Inductance\: %sH +eln:Internal_resistance\:_%sΩ=Internal resistance\: %sΩ +eln:Is_off=Is off +eln:Is_on=Is on +eln:Max._temperature\:_%s°C=Max. temperature\: %s°C +eln:Measured_value\ncorresponding\nto_0%_output=Measured value\ncorresponding\nto 0% output +eln:Measured_value\ncorresponding\nto_100%_output=Measured value\ncorresponding\nto 100% output +eln:Nominal\:=Nominal\: +eln:Nominal_power\:_%sW=Nominal power\: %sW +eln:Nominal_usage\:=Nominal usage\: +eln:Nominal_voltage\:_%sV=Nominal voltage\: %sV +eln:Not_connected=Not connected +eln:Not_enough_space_for_this_block=Not enough space for this block +eln:Power=Power +eln:Power\:_%sW=Power\: %sW +eln:Range\:_%s_blocks=Range\: %s blocks +eln:Redstone_slot=Redstone slot +eln:Regulator_slot=Regulator slot +eln:Reset=Reset +eln:Resistance\:_%sΩ=Resistance\: %sΩ +eln:Smallest=Smallest +eln:Specify_the_channel=Specify the channel +eln:Stored_energy\:_%sJ_(%s)=Stored energy\: %sJ (%s) +eln:Temperature\:_%s°C=Temperature\: %s°C +eln:Temperature_gauge=Temperature gauge +eln:Thermal_isolator_slot=Thermal isolator slot +eln:Toggle=Toggle +eln:Toggle_switch=Toggle switch +eln:Toggles_the_output_each_time\nan_emitter's_value_rises.\nUseful_to_allow_multiple_buttons\nto_control_the_same_light.=Toggles the output each time\nan emitter's value rises.\nUseful to allow multiple buttons\nto control the same light. +eln:Used_to_cool_down_turbines.=Used to cool down turbines. +eln:Uses_the_biggest\nvalue_on_the_channel.=Uses the biggest\nvalue on the channel. +eln:Uses_the_smallest\nvalue_on_the_channel.=Uses the smallest\nvalue on the channel. +eln:Validate=Validate +eln:Voltage\:_%sV=Voltage\: %sV +eln:You_can't_place_this_block_at_this_side=You can't place this block at this side diff --git a/src/main/resources/assets/eln/lang/pt_BR.lang b/src/main/resources/assets/eln/lang/pt_BR.lang index f4e769aa7..92e8a8d93 100644 --- a/src/main/resources/assets/eln/lang/pt_BR.lang +++ b/src/main/resources/assets/eln/lang/pt_BR.lang @@ -1,829 +1,829 @@ -# - -# ./src/main/java/mods/eln/Achievements.java -Electrical_Age_[WIP]=Electrical Age [WIP] -achievement.craft_50v_macerator=Crushing Novice -achievement.craft_50v_macerator.desc=Craft a 50V Macerator -achievement.open_guide=Wiki Power -achievement.open_guide.desc=Open the wiki guide - -# ./src/main/java/mods/eln/Eln.java -10A_Diode.name=10A Diode -200V_Active_Thermal_Dissipator.name=200V Active Thermal Dissipator -200V_Battery_Charger.name=200V Battery Charger -200V_Compressor.name=200V Compressor -200V_Condensator.name=200V Condensator -200V_Copper_Heating_Corp.name=200V Copper Heating Corp -200V_Economic_Light_Bulb.name=200V Economic Light Bulb -200V_Farming_Lamp.name=200V Farming Lamp -200V_Fuel_Generator.name=200V Fuel Generator -200V_Incandescent_Light_Bulb.name=200V Incandescent Light Bulb -200V_Iron_Heating_Corp.name=200V Iron Heating Corp -200V_LED_Bulb.name=200V LED Bulb -200V_Macerator.name=200V Macerator -200V_Magnetizer.name=200V Magnetizer -200V_Plate_Machine.name=200V Plate Machine -200V_Power_Socket.name=200V Power Socket -200V_Tungsten_Heating_Corp.name=200V Tungsten Heating Corp -200V_Turbine.name=200V Turbine -25A_Diode.name=25A Diode -50V_Battery_Charger.name=50V Battery Charger -50V_Carbon_Incandescent_Light_Bulb.name=50V Carbon Incandescent Light Bulb -50V_Compressor.name=50V Compressor -50V_Condensator.name=50V Condensator -50V_Copper_Heating_Corp.name=50V Copper Heating Corp -50V_Economic_Light_Bulb.name=50V Economic Light Bulb -50V_Egg_Incubator.name=50V Egg Incubator -50V_Farming_Lamp.name=50V Farming Lamp -50V_Fuel_Generator.name=50V Fuel Generator -50V_Incandescent_Light_Bulb.name=50V Incandescent Light Bulb -50V_Iron_Heating_Corp.name=50V Iron Heating Corp -50V_LED_Bulb.name=50V LED Bulb -50V_Macerator.name=50V Macerator -50V_Magnetizer.name=50V Magnetizer -50V_Plate_Machine.name=50V Plate Machine -50V_Power_Socket.name=50V Power Socket -50V_Tungsten_Heating_Corp.name=50V Tungsten Heating Corp -50V_Turbine.name=50V Turbine -800V_Defence_Turret.name=800V Defence Turret -AND_Chip.name=AND Chip -Advanced_Chip.name=Advanced Chip -Advanced_Electrical_Motor.name=Advanced Electrical Motor -Advanced_Energy_Meter.name=Advanced Energy Meter -Advanced_Machine_Block.name=Advanced Machine Block -Advanced_Magnet.name=Advanced Magnet -AllMeter.name=Universal-Meter -Alloy_Dust.name=Alloy Dust -Alloy_Ingot.name=Alloy Ingot -Alloy_Plate.name=Alloy Plate -Analog_Watch.name=Analog watch -Analog_vuMeter.name=Analog Gauge -Analogic_Regulator.name=Analogic Regulator -Animal_Filter.name=Animal Filter -Auto_Miner.name=Auto Miner -Average_Electrical_Drill.name=Average Electrical Drill -Average_Ferromagnetic_Core.name=Average Ferromagnetic Core -Basic_Magnet.name=Basic Magnet -Black_Brush.name=Black Brush -Blue_Brush.name=Blue Brush -Brown_Brush.name=Brown Brush -Capacity_Oriented_Battery.name=Capacity Oriented Battery -Cheap_Chip.name=Cheap Chip -Cheap_Electrical_Drill.name=Cheap Electrical Drill -Cheap_Ferromagnetic_Core.name=Cheap Ferromagnetic Core -Cinnabar_Dust.name=Cinnabar Dust -Cinnabar_Ore.name=Cinnabar Ore -Coal_Dust.name=Coal Dust -Coal_Plate.name=Coal Plate -Combustion_Chamber.name=Combustion Chamber -Copper_Cable.name=Copper Cable -Copper_Dust.name=Copper Dust -Copper_Ingot.name=Copper Ingot -Copper_Ore.name=Copper Ore -Copper_Plate.name=Copper Plate -Copper_Thermal_Cable.name=Copper Thermal Cable -Cost_Oriented_Battery.name=Cost Oriented Battery -Current_Oriented_Battery.name=Current Oriented Battery -Cyan_Brush.name=Cyan Brush -D_Flip_Flop_Chip.name=D Flip Flop Chip -Data_Logger.name=Data Logger -Data_Logger_Print.name=Data Logger Print -Dielectric.name=Dielectric -Digital_Watch.name=Digital Watch -Electrical_Anemometer_Sensor.name=Electrical Anemometer Sensor -Electrical_Breaker.name=Electrical Breaker -Electrical_Daylight_Sensor.name=Electrical Daylight Sensor -Electrical_Entity_Sensor.name=Electrical Entity Sensor -Electrical_Fire_Detector.name=Electrical Fire Detector -Electrical_Furnace.name=Electrical Furnace -Electrical_Light_Sensor.name=Electrical Light Sensor -Electrical_Motor.name=Electrical Motor -Electrical_Probe.name=Electrical Probe -Electrical_Probe_Chip.name=Electrical Probe Chip -Electrical_Source.name=Electrical Source -Electrical_Timer.name=Electrical Timer -Electrical_Weather_Sensor.name=Electrical Weather Sensor -Electrical_age_wrench,\nCan_be_used_to_turn\nsmall_wall_blocks=Electrical age wrench,\nCan be used to turn\nsmall wall blocks -Energy_Meter.name=Energy Meter -Experimental_Transporter.name=Experimental Transporter -Fast_Electrical_Drill.name=Fast Electrical Drill -Ferrite_Ingot.name=Ferrite Ingot -Flat_Lamp_Socket.name=Flat Lamp Socket -Fluorescent_Lamp_Socket.name=Fluorescent Lamp Socket -Generator.name=Generator -Gold_Dust.name=Gold Dust -Gold_Plate.name=Gold Plate -Gray_Brush.name=Gray Brush -Green_Brush.name=Green Brush -Ground_Cable.name=Ground Cable -High_Power_Receiver_Antenna.name=High Power Receiver Antenna -High_Power_Transmitter_Antenna.name=High Power Transmitter Antenna -High_Voltage_Cable.name=High Voltage Cable -High_Voltage_Relay.name=High Voltage Relay -High_Voltage_Switch.name=High Voltage Switch -Hub.name=Hub -Industrial_Data_Logger.name=Industrial Data Logger -Iron_Cable.name=Iron Cable -Iron_Dust.name=Iron Dust -Iron_Plate.name=Iron Plate -JK_Flip_Flop_Chip.name=JK Flip Flop Chip -LED_vuMeter.name=LED vuMeter -Lamp_Socket_A.name=Lamp Socket A -Lamp_Socket_B_Projector.name=Lamp Socket B Projector -Lamp_Supply.name=Lamp Supply -Large_Rheostat.name=Large Rheostat -Lead_Dust.name=Lead Dust -Lead_Ingot.name=Lead Ingot -Lead_Ore.name=Lead Ore -Lead_Plate.name=Lead Plate -Life_Oriented_Battery.name=Life Oriented Battery -Light_Blue_Brush.name=Light Blue Brush -Lime_Brush.name=Lime Brush -Long_Suspended_Lamp_Socket.name=Long Suspended Lamp Socket -Low_Power_Receiver_Antenna.name=Low Power Receiver Antenna -Low_Power_Transmitter_Antenna.name=Low Power Transmitter Antenna -Low_Voltage_Cable.name=Low Voltage Cable -Low_Voltage_Relay.name=Low Voltage Relay -Low_Voltage_Switch.name=Low Voltage Switch -Machine_Block.name=Machine Block -Machine_Booster.name=Machine Booster -Magenta_Brush.name=Magenta Brush -Medium_Power_Receiver_Antenna.name=Medium Power Receiver Antenna -Medium_Power_Transmitter_Antenna.name=Medium Power Transmitter Antenna -Medium_Voltage_Cable.name=Medium Voltage Cable -Medium_Voltage_Relay.name=Medium Voltage Relay -Medium_Voltage_Switch.name=Medium Voltage Switch -Mercury.name=Mercury -Mining_Pipe.name=Mining Pipe -Modbus_RTU.name=Modbus RTU -Modern_Data_Logger.name=Modern Data Logger -Monster_Filter.name=Monster Filter -MultiMeter.name=Multimeter -NAND_Chip.name=NAND Chip -NOR_Chip.name=NOR Chip -NOT_Chip.name=NOT Chip -Nuclear_Alarm.name=Nuclear Alarm -OR_Chip.name=OR Chip -On_OFF_Regulator_10_Percent.name=On/off regulator 10% -On_OFF_Regulator_1_Percent.name=On/off regulator 1% -Optimal_Ferromagnetic_Core.name=Optimal Ferromagnetic Core -Orange_Brush.name=Orange Brush -Ore_Scanner.name=Ore Scanner -Oscillator_Chip.name=Oscillator Chip -Overheating_Protection.name=Overheating Protection -Overvoltage_Protection.name=Overvoltage Protection -PAL_Chip.name=PAL Chip -Pink_Brush.name=Pink Brush -Player_Filter.name=Player Filter -Portable_Battery.name=Portable Battery -Portable_Battery_Pack.name=Portable Battery Pack -Portable_Condensator.name=Portable Condensator -Portable_Condensator_Pack.name=Portable Condensator Pack -Portable_Electrical_Axe.name=Portable Electrical Axe -Portable_Electrical_Mining_Drill.name=Portable Electrical Mining Drill -Power_Capacitor.name=Power Capacitor -Power_Inductor.name=Power Inductor -Power_Resistor.name=Power Resistor -Power_capacitor.name=Power capacitor -Power_inductor.name=Power inductor -Purple_Brush.name=Purple Brush -Red_Brush.name=Red Brush -Redstone-to-Voltage_Converter.name=Redstone-to-Voltage Converter -Rheostat.name=Rheostat -Robust_Lamp_Socket.name=Robust Lamp Socket -Rubber.name=Rubber -Schmitt_Trigger_Chip.name=Schmitt Trigger Chip -Sconce_Lamp_Socket.name=Sconce Lamp Socket -Signal_20H_inductor.name=Signal 20H inductor -Signal_Antenna.name=Signal Antenna -Signal_Button.name=Signal Button -Signal_Cable.name=Signal Cable -Signal_Diode.name=Signal Diode -Signal_Processor.name=Signal Processor -Signal_Relay.name=Signal Relay -Signal_Source.name=Signal Source -Signal_Switch.name=Signal Switch -Signal_Switch_with_LED.name=Signal Switch with LED -Signal_Trimmer.name=Signal Trimmer -Silicon_Dust.name=Silicon Dust -Silicon_Ingot.name=Silicon Ingot -Silicon_Plate.name=Silicon Plate -Silver_Brush.name=Silver Brush -Simple_Lamp_Socket.name=Simple Lamp Socket -Single-use_Battery.name=Single-use Battery -Small_200V_Copper_Heating_Corp.name=Small 200V Copper Heating Corp -Small_200V_Iron_Heating_Corp.name=Small 200V Iron Heating Corp -Small_200V_Tungsten_Heating_Corp.name=Small 200V Tungsten Heating Corp -Small_50V_Carbon_Incandescent_Light_Bulb.name=Small 50V Carbon Incandescent Light Bulb -Small_50V_Copper_Heating_Corp.name=Small 50V Copper Heating Corp -Small_50V_Economic_Light_Bulb.name=Small 50V Economic Light Bulb -Small_50V_Incandescent_Light_Bulb.name=Small 50V Incandescent Light Bulb -Small_50V_Iron_Heating_Corp.name=Small 50V Iron Heating Corp -Small_50V_Tungsten_Heating_Corp.name=Small 50V Tungsten Heating Corp -Small_Active_Thermal_Dissipator.name=Small Active Thermal Dissipator -Small_Flashlight.name=Small Flashlight -Small_Passive_Thermal_Dissipator.name=Small Passive Thermal Dissipator -Small_Rotating_Solar_Panel.name=Small Rotating Solar Panel -Small_Solar_Panel.name=Small Solar Panel -Solar_Tracker.name=Solar Tracker -Standard_Alarm.name=Standard Alarm -Steam_Turbine.name=Steam Turbine -Stone_Heat_Furnace.name=Stone Heat Furnace -Street_Light.name=Streetlight -Suspended_Lamp_Socket.name=Suspended Lamp Socket -Temperature_Probe.name=Temperature Probe -Thermal_Probe.name=Thermal Probe -Thermal_Probe_Chip.name=Thermal Probe Chip -Thermistor.name=Thermistor -ThermoMeter.name=Thermometer -Transformer.name=Transformer -Tree_Resin.name=Tree Resin -Tree_Resin_Collector.name=Tree Resin Collector -Tungsten_Cable.name=Tungsten Cable -Tungsten_Dust.name=Tungsten Dust -Tungsten_Ingot.name=Tungsten Ingot -Tungsten_Ore.name=Tungsten Ore -Tutorial_Sign.name=Tutorial Sign -Very_High_Voltage_Cable.name=Very High Voltage Cable -Very_High_Voltage_Relay.name=Very High Voltage Relay -Very_High_Voltage_Switch.name=Very High Voltage Switch -Voltage-to-Redstone_Converter.name=Voltage-to-Redstone Converter -Voltage_Oriented_Battery.name=Voltage Oriented Battery -Voltage_Probe.name=Voltage Probe -Water_Turbine.name=Water Turbine -Weak_50V_Battery_Charger.name=Weak 50V Battery Charger -White_Brush.name=White Brush -Wind_Turbine.name=Wind Turbine -Wireless_Analyser.name=Wireless Analyzer -Wireless_Button.name=Wireless Button -Wireless_Signal_Receiver.name=Wireless Signal Receiver -Wireless_Signal_Repeater.name=Wireless Signal Repeater -Wireless_Signal_Transmitter.name=Wireless Signal Transmitter -Wireless_Switch.name=Wireless Switch -Wrench.name=Wrench -X-Ray_Scanner.name=X-Ray Scanner -XNOR_Chip.name=XNOR Chip -XOR_Chip.name=XOR Chip -Yellow_Brush.name=Yellow Brush -entity.EAReplicator.name=Replicator -item.Copper Axe.name\=Copper Axe -item.Copper Axe.name\=Copper Axe -item.Copper Axe.name\=Copper Axe -item.Copper Axe.name\=Copper Axe -item.Copper Axe.name\=Copper Axe -item.Copper Axe.name\=Copper Axe -item.Copper Axe.name\=Copper Axe -item.Copper Axe.name\=Copper Axe -item.Copper Axe.name\=Copper Axe -item.E-Coal Boots.name\=E-Coal Boots -item.E-Coal Boots.name\=E-Coal Boots -item.E-Coal Boots.name\=E-Coal Boots -item.E-Coal Boots.name\=E-Coal Boots -itemGroup.Eln=Electrical Age -mod.meta.desc=Electricity in your base\! -tile.eln.ElnProbe.name=Eln Computer Probe -tile.eln.EnergyConverterElnToOtherHVUBlock.name=800V Electrical Age to other energy exporter -tile.eln.EnergyConverterElnToOtherLVUBlock.name=50V Electrical Age to other energy exporter -tile.eln.EnergyConverterElnToOtherMVUBlock.name=200V Electrical Age to other energy exporter - -# ./src/main/java/mods/eln/i18n/I18N.java -You_have_%s_lives_left=You have %s lives left - -# ./src/main/java/mods/eln/item/BrushDescriptor.java -Brush_is_dry=Brush is dry -Can_paint_%s_blocks=Can paint %s blocks - -# ./src/main/java/mods/eln/item/CombustionChamber.java -Upgrade_for_the_Stone_Heat_Furnace.=Upgrade for the Stone Heat Furnace. - -# ./src/main/java/mods/eln/item/ElectricalDrillDescriptor.java -Energy_per_operation\:_%sJ=Energy per operation\: %sJ -Time_per_operation\:_%ss=Time per operation\: %ss - -# ./src/main/java/mods/eln/item/FerromagneticCoreDescriptor.java -Cable_loss_factor\:_%s=Cable loss factor\: %s - -# ./src/main/java/mods/eln/item/HeatingCorpElement.java - -# ./src/main/java/mods/eln/item/LampDescriptor.java -Bad=Bad -Condition\:=Condition\: -End_of_life=End of life -Good=Good -New=New -Nominal_lifetime\:_%sh=Nominal lifetime\: %sh -Technology\:_%s=Technology\: %s -Used=Used - -# ./src/main/java/mods/eln/item/LampSlot.java -Lamp_slot=Lamp slot - -# ./src/main/java/mods/eln/item/OverHeatingProtectionDescriptor.java -Useful_to_prevent_overheating\nof_Batteries=Useful to prevent overheating\nof Batteries - -# ./src/main/java/mods/eln/item/OverVoltageProtectionDescriptor.java -Useful_to_prevent_over-voltage\nof_Batteries=Useful to prevent over-voltage\nof Batteries - -# ./src/main/java/mods/eln/item/SolarTrackerDescriptor.java -Solar_panel_upgrade=Solar panel upgrade - -# ./src/main/java/mods/eln/item/electricalitem/BatteryItem.java - -# ./src/main/java/mods/eln/item/electricalitem/ElectricalLampItem.java -Off=Off -On=On -State\:=State\: -Stored_Energy\:_%sJ_(%s)=Stored Energy\: %sJ (%s) - -# ./src/main/java/mods/eln/item/regulator/RegulatorSlot.java - -# ./src/main/java/mods/eln/misc/UtilsClient.java -Hold_shift=Hold shift - -# ./src/main/java/mods/eln/misc/Version.java -mod.name=Electrical Age - -# ./src/main/java/mods/eln/node/six/SixNodeDescriptor.java - -# ./src/main/java/mods/eln/simplenode/energyconverter/EnergyConverterElnToOtherGui.java -Input_power_is_limited_to_%sW=Input power is limited to %sW - -# ./src/main/java/mods/eln/sixnode/LogicGate.kt -_O\:_= O\: - -# ./src/main/java/mods/eln/sixnode/TreeResinCollector/TreeResinCollectorDescriptor.java -Produces_Tree_Resin_over\ntime_when_put_on_a_tree.=Produces Tree Resin over\ntime when put on a tree. -This_block_can_only_be_placed_on_the_side_of_a_tree!=This block can only be placed on the side of a tree\! - -# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerContainer.java -Battery_slot=Battery slot - -# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerDescriptor.java -Can_be_used_to_recharge\nelectrical_items_like\:\nFlash_Light,_X-Ray_scanner\nand_Portable_Battery_...=Can be used to recharge\nelectrical items like\:\nFlash Light, X-Ray scanner\nand Portable Battery ... - -# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerGui.java - -# ./src/main/java/mods/eln/sixnode/diode/DiodeDescriptor.java -Electrical_current_can_only\nflow_through_the_diode\nfrom_anode_to_cathode=Electrical current can only\nflow through the diode\nfrom anode to cathode - -# ./src/main/java/mods/eln/sixnode/electricalalarm/ElectricalAlarmDescriptor.java -= -Emits_an_acoustic_alarm_if\nthe_input_signal_is_high=Emits an acoustic alarm if\nthe input signal is high - -# ./src/main/java/mods/eln/sixnode/electricalalarm/ElectricalAlarmGui.java -Sound_is_muted=Sound is muted -Sound_is_not_muted=Sound is not muted - -# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerContainer.java - -# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerDescriptor.java -Protects_electrical_components\nOpens_contact_if\:\n__-_Voltage_exceeds_a_certain_level\n-_Current_exceeds_the_cable_limit=Protects electrical components\nOpens contact if\:\n - Voltage exceeds a certain level\n- Current exceeds the cable limit - -# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerGui.java -Maximum_voltage_before_cutting_off=Maximum voltage before cutting off -Minimum_voltage_before_cutting_off=Minimum voltage before cutting off -Switch_is_off=Switch is off -Switch_is_on=Switch is on - -# ./src/main/java/mods/eln/sixnode/electricalcable/ElectricalCableDescriptor.java -A_signal_is_electrical_information\nwhich_must_be_between_0V_and_%sV=A signal is electrical information\nwhich must be between 0V and %sV -Cable_is_adapted_to_conduct\nelectrical_signals.=Cable is adapted to conduct\nelectrical signals. -Current\:_%sA=Current\: %sA -Not_adapted_to_transport_power.=Not adapted to transport power. -Save_usage\:=Save usage\: -Serial_resistance\:_%sΩ=Serial resistance\: %sΩ - -# ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerDescriptor.java -It_can_store_up_to_256_points.=It can store up to 256 points. -Measures_the_voltage_of_an\nelectrical_signal_and_plots\nthe_data_in_real_time.=Measures the voltage of an\nelectrical signal and plots\nthe data in real time. - -# ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerGui.java -Back_to_display=Back to display -Configuration=Configuration -Current_[A]=Current [A] -Energy_[J]=Energy [J] -Percent_[-]%=Percent [-]% -Power_[W]=Power [W] -Print=Print -Sampling_period=Sampling period -Temp._[*C]=Temp. [*C] -Voltage_[V]=Voltage [V] -Y-axis_max=Y-axis max -Y-axis_min=Y-axis min - -# ./src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorContainer.java - -# ./src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorDescriptor.java -Output_voltage_increases\nif_entities_are_moving_around.=Output voltage increases\nif entities are moving around. - -# ./src/main/java/mods/eln/sixnode/electricalfiredetector/ElectricalFireDetectorDescriptor.java -Output_voltage_increases\nif_a_fire_has_been_detected.=Output voltage increases\nif a fire has been detected. - -# ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceDescriptor.java -Provides_configurable_signal\nvoltage.=Provides configurable signal\nvoltage. - -# ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceGui.java -Output_at_%s=Output at %s - -# ./src/main/java/mods/eln/sixnode/electricallightsensor/ElectricalLightSensorDescriptor.java -0V_at_night,_%sV_at_noon.=0V at night, %sV at noon. -Provides_an_electrical_voltage\nin_the_presence_of_light.=Provides an electrical voltage\nin the presence of light. -Provides_an_electrical_voltage\nwhich_is_proportional_to\nthe_intensity_of_daylight.=Provides an electrical voltage\nwhich is proportional to\nthe intensity of daylight. - -# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathContainer.java - -# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathDescriptor.java -Applicable_boolean_operators\:=Applicable boolean operators\: -Applicable_functions\:=Applicable functions\: -Applicable_mathematical_operators\:=Applicable mathematical operators\: -Calculates_an_output_signal_from\n3_inputs_(A,_B,_C)_using_an_equation.=Calculates an output signal from\n3 inputs (A, B, C) using an equation. - -# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathGui.java -%s_Redstone(s)_required=%s Redstone(s) required -Equation_required!=Equation required\! -Inputs_are=Inputs are -Invalid_equation!=Invalid equation\! -Output_voltage_formula=Output voltage formula -Waiting_for_completion...=Waiting for completion... - -# ./src/main/java/mods/eln/sixnode/electricalredstoneinput/ElectricalRedstoneInputDescriptor.java -Converts_Redstone_signal\nto_an_electrical_voltage.=Converts Redstone signal\nto an electrical voltage. - -# ./src/main/java/mods/eln/sixnode/electricalredstoneoutput/ElectricalRedstoneOutputDescriptor.java -Converts_electrical_voltage\ninto_a_Redstone_signal.=Converts electrical voltage\ninto a Redstone signal. - -# ./src/main/java/mods/eln/sixnode/electricalrelay/ElectricalRelayDescriptor.java -A_relay_is_an_electrical\ncontact_that_conducts_electric\ncurrent_or_not,_depending\nthe_actual_input_signal_voltage.=A relay is an electrical\ncontact that conducts electric\ncurrent or not, depending\nthe actual input signal voltage. - -# ./src/main/java/mods/eln/sixnode/electricalrelay/ElectricalRelayGui.java -Normally_closed=Normally closed -Normally_open=Normally open - -# ./src/main/java/mods/eln/sixnode/electricalsource/ElectricalSourceDescriptor.java -Creative_block.=Creative block. -Provides_an_ideal_voltage_source\nwithout_energy_or_power_limitation.=Provides an ideal voltage source\nwithout energy or power limitation. - -# ./src/main/java/mods/eln/sixnode/electricalsource/ElectricalSourceGui.java -Output_voltage=Output voltage - -# ./src/main/java/mods/eln/sixnode/electricalswitch/ElectricalSwitchDescriptor.java -Can_break_an_electrical_circuit\ninterrupting_the_current.=Can break an electrical circuit\ninterrupting the current. - -# ./src/main/java/mods/eln/sixnode/electricaltimeout/ElectricalTimeoutDescriptor.java -Upon_application_of_a_high_signal,\nthe_timer_maintains_the_output_high_for\na_configurable_interval._Can_be_re-triggered.=Upon application of a high signal,\nthe timer maintains the output high for\na configurable interval. Can be re-triggered. - -# ./src/main/java/mods/eln/sixnode/electricaltimeout/ElectricalTimeoutGui.java -Set=Set -The_time_interval_the\noutput_is_kept_high.=The time interval the\noutput is kept high. - -# ./src/main/java/mods/eln/sixnode/electricalvumeter/ElectricalVuMeterDescriptor.java -Displays_the_value_of_a_signal.=Displays the value of a signal. - -# ./src/main/java/mods/eln/sixnode/electricalwatch/ElectricalWatchContainer.java -Portable_battery_slot=Portable battery slot - -# ./src/main/java/mods/eln/sixnode/electricalweathersensor/ElectricalWeatherSensorDescriptor.java -Clear\:_%sV=Clear\: %sV -Provides_an_electrical_signal\ndepending_the_actual_weather.=Provides an electrical signal\ndepending the actual weather. -Rain\:_%sV=Rain\: %sV -Storm\:_%sV=Storm\: %sV - -# ./src/main/java/mods/eln/sixnode/electricalwindsensor/ElectricalWindSensorDescriptor.java -Maximum_wind_speed_is_%sm_s=Maximum wind speed is %sm/s -Provides_an_electrical_signal\ndependant_on_wind_speed.=Provides an electrical signal\ndependant on wind speed. -You_can't_place_this_block_on_the_floor_or_the_ceiling=You can't place this block on the floor or the ceiling - -# ./src/main/java/mods/eln/sixnode/electricasensor/ElectricalSensorDescriptor.java -Can_measure_Voltage_Power_Current=Can measure Voltage/Power/Current -Measures_electrical_values_on_cables.=Measures electrical values on cables. -Measures_voltage_on_cables.=Measures voltage on cables. - -# ./src/main/java/mods/eln/sixnode/electricasensor/ElectricalSensorGui.java -Current=Current -Measured_voltage\ncorresponding\nto_0%_output=Measured voltage\ncorresponding\nto 0% output -Measured_voltage\ncorresponding\nto_100%_output=Measured voltage\ncorresponding\nto 100% output -Voltage=Voltage - -# ./src/main/java/mods/eln/sixnode/energymeter/EnergyMeterGui.java -Change_password=Change password -Counter_Mode=Counter Mode -Counts_the_energy_conducted_from\n\u00a74red\u00a7f_to_\u00a71blue\u00a7f.=Counts the energy conducted from\n\\u00a74red\\u00a7f to \\u00a71blue\\u00a7f. -Energy_counter\:_%sJ=Energy counter\: %sJ -Enter_new_energy=Enter new energy -Enter_password=Enter password -Prepay_Mode=Prepay Mode -Reset_time_counter=Reset time counter -Set_energy_counter=Set energy counter -Time_counter\:=Time counter\: -Try_password=Try password -You_can_set_an_initial\namount_of_available_energy.\nWhen_the_counter_arrives_at_0\nthe_contact_will_be_opened.=You can set an initial\namount of available energy.\nWhen the counter arrives at 0\nthe contact will be opened. -is_off=is off -is_on=is on -value_in_kJ=value in kJ - -# ./src/main/java/mods/eln/sixnode/groundcable/GroundCableDescriptor.java -Can_be_used_to_set_a_point_of_an\nelectrical_network_to_0V_potential.\nFor_example_to_ground_negative_battery_contacts.=Can be used to set a point of an\nelectrical network to 0V potential.\nFor example to ground negative battery contacts. -Provides_a_zero_volt_reference.=Provides a zero volt reference. - -# ./src/main/java/mods/eln/sixnode/hub/HubDescriptor.java -Allows_crossing_cables\non_one_single_block.=Allows crossing cables\non one single block. - -# ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketDescriptor.java -Angle\:_%s°_to_%s°=Angle\: %s° to %s° -Spot_range\:_%s_blocks=Spot range\: %s blocks - -# ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketGuiDraw.java -%s_is_not_in_range!=%s is not in range\! -Cable_slot_empty=Cable slot empty -Orientation\:_%s°=Orientation\: %s° -Parallel=Parallel -Powered_by_Lamp_Supply=Powered by Lamp Supply -Powered_by_cable=Powered by cable -Serial=Serial -Specify_the_supply_channel=Specify the supply channel - -# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyContainer.java -Electrical_cable_slot\nBase_range_is_32_blocks.\nEach_additional_cable\nincreases_range_by_one.=Electrical cable slot\nBase range is 32 blocks.\nEach additional cable\nincreases range by one. - -# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyDescriptor.java -Supplies_all_lamps_on_the_channel.=Supplies all lamps on the channel. - -# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyGui.java -Power_channel_name=Power channel name -Wireless_channel_name=Wireless channel name - -# ./src/main/java/mods/eln/sixnode/modbusrtu/ModbusRtuGui.java -Add=Add -Channel_name=Channel name -Modbus_ID=Modbus ID -Modbus_RTU=Modbus RTU -Station_ID=Station ID -Station_name=Station name -Wireless_RX=Wireless RX -Wireless_TX=Wireless TX - -# ./src/main/java/mods/eln/sixnode/powercapacitorsix/PowerCapacitorSixContainer.java -(Increases_maximum_voltage)=(Increases maximum voltage) - -# ./src/main/java/mods/eln/sixnode/powercapacitorsix/PowerCapacitorSixGui.java - -# ./src/main/java/mods/eln/sixnode/powerinductorsix/PowerInductorSixContainer.java - -# ./src/main/java/mods/eln/sixnode/powerinductorsix/PowerInductorSixGui.java - -# ./src/main/java/mods/eln/sixnode/powersocket/PowerSocketDescriptor.java -Supplies_any_device\nplugged_in_with_energy.=Supplies any device\nplugged in with energy. - -# ./src/main/java/mods/eln/sixnode/powersocket/PowerSocketGui.java -Specify_the_device_to_supply_through_this_socket.=Specify the device to supply through this socket. - -# ./src/main/java/mods/eln/sixnode/resistor/ResistorContainer.java -(Sets_resistance)=(Sets resistance) -Coal_dust_slot=Coal dust slot - -# ./src/main/java/mods/eln/sixnode/thermalcable/ThermalCableDescriptor.java -High_parallel_resistance\n_\=>_Low_power_dissipation.=High parallel resistance\n \=> Low power dissipation. -Low_serial_resistance\n_\=>_High_conductivity.=Low serial resistance\n \=> High conductivity. -Parallel_resistance\:_%sK_W=Parallel resistance\: %sK/W -Serial_resistance\:_%sK_W=Serial resistance\: %sK/W - -# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorContainer.java -Cable_slot=Cable slot - -# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorDescriptor.java -Can_measure\:=Can measure\: -Measures_temperature_of_cables.=Measures temperature of cables. -Measures_thermal_values_on_cables.=Measures thermal values on cables. -__Temperature_Power_conducted=Temperature/Power conducted - -# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorGui.java -Measured_temperature\ncorresponding\nto_0%_output=Measured temperature\ncorresponding\nto 0% output -Measured_temperature\ncorresponding\nto_100%_output=Measured temperature\ncorresponding\nto 100% output -Temperature=Temperature - -# ./src/main/java/mods/eln/sixnode/tutorialsign/TutorialSignElement.java -No_text_associated_to_this_beacon=No text associated to this beacon - -# ./src/main/java/mods/eln/sixnode/tutorialsign/TutorialSignGui.java -Set_beacon_name=Set beacon name - -# ./src/main/java/mods/eln/sixnode/wirelesssignal/rx/WirelessSignalRxGui.java - -# ./src/main/java/mods/eln/transparentnode/FuelGenerator.kt -Nominal_power\:_%s_W=Nominal power\: %s W -Nominal_voltage\:_%s_V=Nominal voltage\: %s V -Produces_electricity_using_fuel.=Produces electricity using fuel. - -# ./src/main/java/mods/eln/transparentnode/LargeRheostat.kt -Nom._Resistance\:_%s=Nom. Resistance\: %s - -# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerContainer.java -Drill_slot=Drill slot -Mining_pipe_slot=Mining pipe slot -Ore_scanner_slot=Ore scanner slot - -# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerDescriptor.java -Excavates_on_a_small_radius.\nExtracts_ore_on_a_bigger_radius\:\n10_blocks_radius_after_10_blocks_depth.=Excavates on a small radius.\nExtracts ore on a bigger radius\:\n10 blocks radius after 10 blocks depth. - -# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerGuiDraw.java -Chest_missing_on_the\nback_of_the_auto_miner!=Chest missing on the\nback of the auto miner\! -Halves_speed,_triples_power_draw=Halves speed, triples power draw -Silk_Touch_Off=Silk Touch Off -Silk_Touch_On=Silk Touch On -Silk_touch=Silk touch - -# ./src/main/java/mods/eln/transparentnode/battery/BatteryContainer.java -Overheating_protection=Overheating protection -Overvoltage_protection=Overvoltage protection - -# ./src/main/java/mods/eln/transparentnode/battery/BatteryDescriptor.java -Actual_charge\:_%s=Actual charge\: %s -Energy_capacity\:_%sJ=Energy capacity\: %sJ -_charged_at_%s=charged at %s - -# ./src/main/java/mods/eln/transparentnode/battery/BatteryGuiDraw.java -Charge=Charge -Charged=Charged -Discharge=Discharge -Energy\:=Energy\: -Energy\:_%s=Energy\: %s -Life\:=Life\: -No_charge=No charge -Power_in\:=Power in\: -Power_out\:=Power out\: - -# ./src/main/java/mods/eln/transparentnode/eggincubator/EggIncubatorContainer.java -Egg_slot=Egg slot - -# ./src/main/java/mods/eln/transparentnode/electricalantennarx/ElectricalAntennaRxDescriptor.java -Wireless_energy_receiver.=Wireless energy receiver. - -# ./src/main/java/mods/eln/transparentnode/electricalantennatx/ElectricalAntennaTxDescriptor.java -Efficiency\:_%s_up_to_%s=Efficiency\: %s up to %s -Wireless_energy_transmitter.=Wireless energy transmitter. - -# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceContainer.java -Heating_corp_slot=Heating corp slot - -# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceDescriptor.java -Similar_to_a_vanilla_furnace,\nbut_heats_with_electricity.=Similar to a vanilla furnace,\nbut heats with electricity. - -# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceGuiDraw.java -Auto_shutdown=Auto shutdown -Manual_shutdown=Manual shutdown -Set_point\:_%s°C=Set point\: %s°C - -# ./src/main/java/mods/eln/transparentnode/electricalmachine/ElectricalMachineDescriptor.java -Cost=Cost - -# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceContainer.java -Combustion_chamber_slot=Combustion chamber slot -Fuel_slot=Fuel slot - -# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceDescriptor.java -Generates_heat_when_supplied_with_fuel.=Generates heat when supplied with fuel. - -# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceGuiDraw.java -Control_gauge_at_%s=Control gauge at %s -Decline_fuel=Decline fuel -External_control=External control -Internal_control=Internal control -Take_fuel=Take fuel - -# ./src/main/java/mods/eln/transparentnode/powercapacitor/PowerCapacitorContainer.java -(Increases_maximal_voltage)=(Increases maximal voltage) - -# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelContainer.java -Solar_tracker_slot=Solar tracker slot - -# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelDescriptor.java -Can_be_geared_towards_the_sun.=Can be geared towards the sun. -Max._power\:_%sW=Max. power\: %sW -Max._voltage\:_%sV=Max. voltage\: %sV -Produces_power_from_solar_radiation.=Produces power from solar radiation. - -# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPannelGuiDraw.java -It_is_night=It is night -Solar_panel_angle\:_%s°=Solar panel angle\: %s° -Sun_angle\:_%s°=Sun angle\: %s° - -# ./src/main/java/mods/eln/transparentnode/teleporter/TeleporterGui.java -Destination_transporter=Destination transporter -Power_consumption\:=Power consumption\: -Power_consumption\:_%sW=Power consumption\: %sW -Required_energy\:_%sJ=Required energy\: %sJ -Start=Start -Transporter_name=Transporter name - -# ./src/main/java/mods/eln/transparentnode/thermaldissipatoractive/ThermalDissipatorActiveDescriptor.java -Fan_cooling_power\:_%sW=Fan cooling power\: %sW -Fan_power_consumption\:_%sW=Fan power consumption\: %sW -Fan_voltage\:_%sV=Fan voltage\: %sV - -# ./src/main/java/mods/eln/transparentnode/transformer/TransformerDescriptor.java -The_voltage_ratio_is_proportional\nto_the_cable_stacks_count_ratio.=The voltage ratio is proportional\nto the cable stacks count ratio. -Transforms_an_input_voltage_to\nan_output_voltage.=Transforms an input voltage to\nan output voltage. - -# ./src/main/java/mods/eln/transparentnode/turbine/TurbineDescriptor.java -Generates_electricity_using_heat.=Generates electricity using heat. -Temperature_difference\:_%s°C=Temperature difference\: %s°C - -# ./src/main/java/mods/eln/transparentnode/turret/TurretDescriptor.java -CAUTION\:_Cables_can_get_quite_hot!=CAUTION\: Cables can get quite hot\! -Laser_charge_power\:_%sW...%skW=Laser charge power\: %sW...%skW -Scans_for_entities_and_shoots_if_the\nentity_matches_the_configurable_filter_criteria.=Scans for entities and shoots if the\nentity matches the configurable filter criteria. -Standby_power\:_%sW=Standby power\: %sW - -# ./src/main/java/mods/eln/transparentnode/turret/TurretGui.java -Attack\:=Attack\: -Do_not_attack\:=Do not attack\: -Recharge_power\:=Recharge power\: - -# ./src/main/java/mods/eln/transparentnode/waterturbine/WaterTurbineDescriptor.java -Generates_energy_using_water_stream.=Generates energy using water stream. -No_place_for_water_turbine!=No place for water turbine\! - -# ./src/main/java/mods/eln/transparentnode/windturbine/WindTurbineDescriptor.java -Front\:_%s=Front\: %s -Generates_energy_from_wind.=Generates energy from wind. -Left_Right\:_%s=Left/Right\: %s -Up_Down\:_%s=Up/Down\: %s -Wind_area\:=Wind area\: - -# ./src/main/java/mods/eln/wiki/Data.java -Energy=Energy -Light=Light -Machine=Machine -Ore=Ore -Portable=Portable -Resource=Resource -Signal=Signal -Thermal=Thermal -Upgrade=Upgrade -Utilities=Utilities -Wiring=Wiring - -# ./src/main/java/mods/eln/wiki/Default.java -Previous=Previous - -# ./src/main/java/mods/eln/wiki/ItemDefault.java -Can_be_used_to_craft\:=Can be used to craft\: -Cannot_be_crafted!=Cannot be crafted\! -Cost_%sJ=Cost %sJ -Created_by\:=Created by\: -Is_not_a_crafting_material!=Is not a crafting material\! -Recipe\:=Recipe\: - -# Appearing in multiple source files -(Increases_capacity)=(Increases capacity) -(Increases_inductance)=(Increases inductance) -Actual\:_%s°C=Actual\: %s°C -Biggest=Biggest -Booster_slot=Booster slot -Can_create\:=Can create\: -Capacity\:_%sF=Capacity\: %sF -Charge_power\:_%sW=Charge power\: %sW -Connected=Connected -Cooling_power\:_%sW=Cooling power\: %sW -Copper_cable_slot=Copper cable slot -Dielectric_slot=Dielectric slot -Discharge_power\:_%sW=Discharge power\: %sW -Electrical_cable_slot=Electrical cable slot -Entity_filter_slot=Entity filter slot -Ferromagnetic_core_slot=Ferromagnetic core slot -Has_a_signal_output.=Has a signal output. -Inductance\:_%sH=Inductance\: %sH -Internal_resistance\:_%sΩ=Internal resistance\: %sΩ -Is_off=Is off -Is_on=Is on -Max._temperature\:_%s°C=Max. temperature\: %s°C -Measured_value\ncorresponding\nto_0%_output=Measured value\ncorresponding\nto 0% output -Measured_value\ncorresponding\nto_100%_output=Measured value\ncorresponding\nto 100% output -Nominal\:=Nominal\: -Nominal_power\:_%sW=Nominal power\: %sW -Nominal_usage\:=Nominal usage\: -Nominal_voltage\:_%sV=Nominal voltage\: %sV -Not_connected=Not connected -Not_enough_space_for_this_block=Not enough space for this block -Power=Power -Power\:_%sW=Power\: %sW -Range\:_%s_blocks=Range\: %s blocks -Redstone_slot=Redstone slot -Regulator_slot=Regulator slot -Reset=Reset -Resistance\:_%sΩ=Resistance\: %sΩ -Smallest=Smallest -Specify_the_channel=Specify the channel -Stored_energy\:_%sJ_(%s)=Stored energy\: %sJ (%s) -Temperature\:_%s°C=Temperature\: %s°C -Temperature_gauge=Temperature gauge -Thermal_isolator_slot=Thermal isolator slot -Toggle=Toggle -Toggle_switch=Toggle switch -Toggles_the_output_each_time\nan_emitter's_value_rises.\nUseful_to_allow_multiple_buttons\nto_control_the_same_light.=Toggles the output each time\nan emitter's value rises.\nUseful to allow multiple buttons\nto control the same light. -Used_to_cool_down_turbines.=Used to cool down turbines. -Uses_the_biggest\nvalue_on_the_channel.=Uses the biggest\nvalue on the channel. -Uses_the_smallest\nvalue_on_the_channel.=Uses the smallest\nvalue on the channel. -Validate=Validate -Voltage\:_%sV=Voltage\: %sV -You_can't_place_this_block_at_this_side=You can't place this block at this side +eln:# +eln: +eln:# ./src/main/java/mods/eln/Achievements.java +eln:Electrical_Age_[WIP]=Electrical Age [WIP] +eln:achievement.craft_50v_macerator=Crushing Novice +eln:achievement.craft_50v_macerator.desc=Craft a 50V Macerator +eln:achievement.open_guide=Wiki Power +eln:achievement.open_guide.desc=Open the wiki guide +eln: +eln:# ./src/main/java/mods/eln/Eln.java +eln:10A_Diode.name=10A Diode +eln:200V_Active_Thermal_Dissipator.name=200V Active Thermal Dissipator +eln:200V_Battery_Charger.name=200V Battery Charger +eln:200V_Compressor.name=200V Compressor +eln:200V_Condensator.name=200V Condensator +eln:200V_Copper_Heating_Corp.name=200V Copper Heating Corp +eln:200V_Economic_Light_Bulb.name=200V Economic Light Bulb +eln:200V_Farming_Lamp.name=200V Farming Lamp +eln:200V_Fuel_Generator.name=200V Fuel Generator +eln:200V_Incandescent_Light_Bulb.name=200V Incandescent Light Bulb +eln:200V_Iron_Heating_Corp.name=200V Iron Heating Corp +eln:200V_LED_Bulb.name=200V LED Bulb +eln:200V_Macerator.name=200V Macerator +eln:200V_Magnetizer.name=200V Magnetizer +eln:200V_Plate_Machine.name=200V Plate Machine +eln:200V_Power_Socket.name=200V Power Socket +eln:200V_Tungsten_Heating_Corp.name=200V Tungsten Heating Corp +eln:200V_Turbine.name=200V Turbine +eln:25A_Diode.name=25A Diode +eln:50V_Battery_Charger.name=50V Battery Charger +eln:50V_Carbon_Incandescent_Light_Bulb.name=50V Carbon Incandescent Light Bulb +eln:50V_Compressor.name=50V Compressor +eln:50V_Condensator.name=50V Condensator +eln:50V_Copper_Heating_Corp.name=50V Copper Heating Corp +eln:50V_Economic_Light_Bulb.name=50V Economic Light Bulb +eln:50V_Egg_Incubator.name=50V Egg Incubator +eln:50V_Farming_Lamp.name=50V Farming Lamp +eln:50V_Fuel_Generator.name=50V Fuel Generator +eln:50V_Incandescent_Light_Bulb.name=50V Incandescent Light Bulb +eln:50V_Iron_Heating_Corp.name=50V Iron Heating Corp +eln:50V_LED_Bulb.name=50V LED Bulb +eln:50V_Macerator.name=50V Macerator +eln:50V_Magnetizer.name=50V Magnetizer +eln:50V_Plate_Machine.name=50V Plate Machine +eln:50V_Power_Socket.name=50V Power Socket +eln:50V_Tungsten_Heating_Corp.name=50V Tungsten Heating Corp +eln:50V_Turbine.name=50V Turbine +eln:800V_Defence_Turret.name=800V Defence Turret +eln:AND_Chip.name=AND Chip +eln:Advanced_Chip.name=Advanced Chip +eln:Advanced_Electrical_Motor.name=Advanced Electrical Motor +eln:Advanced_Energy_Meter.name=Advanced Energy Meter +eln:Advanced_Machine_Block.name=Advanced Machine Block +eln:Advanced_Magnet.name=Advanced Magnet +eln:AllMeter.name=Universal-Meter +eln:Alloy_Dust.name=Alloy Dust +eln:Alloy_Ingot.name=Alloy Ingot +eln:Alloy_Plate.name=Alloy Plate +eln:Analog_Watch.name=Analog watch +eln:Analog_vuMeter.name=Analog Gauge +eln:Analogic_Regulator.name=Analogic Regulator +eln:Animal_Filter.name=Animal Filter +eln:Auto_Miner.name=Auto Miner +eln:Average_Electrical_Drill.name=Average Electrical Drill +eln:Average_Ferromagnetic_Core.name=Average Ferromagnetic Core +eln:Basic_Magnet.name=Basic Magnet +eln:Black_Brush.name=Black Brush +eln:Blue_Brush.name=Blue Brush +eln:Brown_Brush.name=Brown Brush +eln:Capacity_Oriented_Battery.name=Capacity Oriented Battery +eln:Cheap_Chip.name=Cheap Chip +eln:Cheap_Electrical_Drill.name=Cheap Electrical Drill +eln:Cheap_Ferromagnetic_Core.name=Cheap Ferromagnetic Core +eln:Cinnabar_Dust.name=Cinnabar Dust +eln:Cinnabar_Ore.name=Cinnabar Ore +eln:Coal_Dust.name=Coal Dust +eln:Coal_Plate.name=Coal Plate +eln:Combustion_Chamber.name=Combustion Chamber +eln:Copper_Cable.name=Copper Cable +eln:Copper_Dust.name=Copper Dust +eln:Copper_Ingot.name=Copper Ingot +eln:Copper_Ore.name=Copper Ore +eln:Copper_Plate.name=Copper Plate +eln:Copper_Thermal_Cable.name=Copper Thermal Cable +eln:Cost_Oriented_Battery.name=Cost Oriented Battery +eln:Current_Oriented_Battery.name=Current Oriented Battery +eln:Cyan_Brush.name=Cyan Brush +eln:D_Flip_Flop_Chip.name=D Flip Flop Chip +eln:Data_Logger.name=Data Logger +eln:Data_Logger_Print.name=Data Logger Print +eln:Dielectric.name=Dielectric +eln:Digital_Watch.name=Digital Watch +eln:Electrical_Anemometer_Sensor.name=Electrical Anemometer Sensor +eln:Electrical_Breaker.name=Electrical Breaker +eln:Electrical_Daylight_Sensor.name=Electrical Daylight Sensor +eln:Electrical_Entity_Sensor.name=Electrical Entity Sensor +eln:Electrical_Fire_Detector.name=Electrical Fire Detector +eln:Electrical_Furnace.name=Electrical Furnace +eln:Electrical_Light_Sensor.name=Electrical Light Sensor +eln:Electrical_Motor.name=Electrical Motor +eln:Electrical_Probe.name=Electrical Probe +eln:Electrical_Probe_Chip.name=Electrical Probe Chip +eln:Electrical_Source.name=Electrical Source +eln:Electrical_Timer.name=Electrical Timer +eln:Electrical_Weather_Sensor.name=Electrical Weather Sensor +eln:Electrical_age_wrench,\nCan_be_used_to_turn\nsmall_wall_blocks=Electrical age wrench,\nCan be used to turn\nsmall wall blocks +eln:Energy_Meter.name=Energy Meter +eln:Experimental_Transporter.name=Experimental Transporter +eln:Fast_Electrical_Drill.name=Fast Electrical Drill +eln:Ferrite_Ingot.name=Ferrite Ingot +eln:Flat_Lamp_Socket.name=Flat Lamp Socket +eln:Fluorescent_Lamp_Socket.name=Fluorescent Lamp Socket +eln:Generator.name=Generator +eln:Gold_Dust.name=Gold Dust +eln:Gold_Plate.name=Gold Plate +eln:Gray_Brush.name=Gray Brush +eln:Green_Brush.name=Green Brush +eln:Ground_Cable.name=Ground Cable +eln:High_Power_Receiver_Antenna.name=High Power Receiver Antenna +eln:High_Power_Transmitter_Antenna.name=High Power Transmitter Antenna +eln:High_Voltage_Cable.name=High Voltage Cable +eln:High_Voltage_Relay.name=High Voltage Relay +eln:High_Voltage_Switch.name=High Voltage Switch +eln:Hub.name=Hub +eln:Industrial_Data_Logger.name=Industrial Data Logger +eln:Iron_Cable.name=Iron Cable +eln:Iron_Dust.name=Iron Dust +eln:Iron_Plate.name=Iron Plate +eln:JK_Flip_Flop_Chip.name=JK Flip Flop Chip +eln:LED_vuMeter.name=LED vuMeter +eln:Lamp_Socket_A.name=Lamp Socket A +eln:Lamp_Socket_B_Projector.name=Lamp Socket B Projector +eln:Lamp_Supply.name=Lamp Supply +eln:Large_Rheostat.name=Large Rheostat +eln:Lead_Dust.name=Lead Dust +eln:Lead_Ingot.name=Lead Ingot +eln:Lead_Ore.name=Lead Ore +eln:Lead_Plate.name=Lead Plate +eln:Life_Oriented_Battery.name=Life Oriented Battery +eln:Light_Blue_Brush.name=Light Blue Brush +eln:Lime_Brush.name=Lime Brush +eln:Long_Suspended_Lamp_Socket.name=Long Suspended Lamp Socket +eln:Low_Power_Receiver_Antenna.name=Low Power Receiver Antenna +eln:Low_Power_Transmitter_Antenna.name=Low Power Transmitter Antenna +eln:Low_Voltage_Cable.name=Low Voltage Cable +eln:Low_Voltage_Relay.name=Low Voltage Relay +eln:Low_Voltage_Switch.name=Low Voltage Switch +eln:Machine_Block.name=Machine Block +eln:Machine_Booster.name=Machine Booster +eln:Magenta_Brush.name=Magenta Brush +eln:Medium_Power_Receiver_Antenna.name=Medium Power Receiver Antenna +eln:Medium_Power_Transmitter_Antenna.name=Medium Power Transmitter Antenna +eln:Medium_Voltage_Cable.name=Medium Voltage Cable +eln:Medium_Voltage_Relay.name=Medium Voltage Relay +eln:Medium_Voltage_Switch.name=Medium Voltage Switch +eln:Mercury.name=Mercury +eln:Mining_Pipe.name=Mining Pipe +eln:Modbus_RTU.name=Modbus RTU +eln:Modern_Data_Logger.name=Modern Data Logger +eln:Monster_Filter.name=Monster Filter +eln:MultiMeter.name=Multimeter +eln:NAND_Chip.name=NAND Chip +eln:NOR_Chip.name=NOR Chip +eln:NOT_Chip.name=NOT Chip +eln:Nuclear_Alarm.name=Nuclear Alarm +eln:OR_Chip.name=OR Chip +eln:On_OFF_Regulator_10_Percent.name=On/off regulator 10% +eln:On_OFF_Regulator_1_Percent.name=On/off regulator 1% +eln:Optimal_Ferromagnetic_Core.name=Optimal Ferromagnetic Core +eln:Orange_Brush.name=Orange Brush +eln:Ore_Scanner.name=Ore Scanner +eln:Oscillator_Chip.name=Oscillator Chip +eln:Overheating_Protection.name=Overheating Protection +eln:Overvoltage_Protection.name=Overvoltage Protection +eln:PAL_Chip.name=PAL Chip +eln:Pink_Brush.name=Pink Brush +eln:Player_Filter.name=Player Filter +eln:Portable_Battery.name=Portable Battery +eln:Portable_Battery_Pack.name=Portable Battery Pack +eln:Portable_Condensator.name=Portable Condensator +eln:Portable_Condensator_Pack.name=Portable Condensator Pack +eln:Portable_Electrical_Axe.name=Portable Electrical Axe +eln:Portable_Electrical_Mining_Drill.name=Portable Electrical Mining Drill +eln:Power_Capacitor.name=Power Capacitor +eln:Power_Inductor.name=Power Inductor +eln:Power_Resistor.name=Power Resistor +eln:Power_capacitor.name=Power capacitor +eln:Power_inductor.name=Power inductor +eln:Purple_Brush.name=Purple Brush +eln:Red_Brush.name=Red Brush +eln:Redstone-to-Voltage_Converter.name=Redstone-to-Voltage Converter +eln:Rheostat.name=Rheostat +eln:Robust_Lamp_Socket.name=Robust Lamp Socket +eln:Rubber.name=Rubber +eln:Schmitt_Trigger_Chip.name=Schmitt Trigger Chip +eln:Sconce_Lamp_Socket.name=Sconce Lamp Socket +eln:Signal_20H_inductor.name=Signal 20H inductor +eln:Signal_Antenna.name=Signal Antenna +eln:Signal_Button.name=Signal Button +eln:Signal_Cable.name=Signal Cable +eln:Signal_Diode.name=Signal Diode +eln:Signal_Processor.name=Signal Processor +eln:Signal_Relay.name=Signal Relay +eln:Signal_Source.name=Signal Source +eln:Signal_Switch.name=Signal Switch +eln:Signal_Switch_with_LED.name=Signal Switch with LED +eln:Signal_Trimmer.name=Signal Trimmer +eln:Silicon_Dust.name=Silicon Dust +eln:Silicon_Ingot.name=Silicon Ingot +eln:Silicon_Plate.name=Silicon Plate +eln:Silver_Brush.name=Silver Brush +eln:Simple_Lamp_Socket.name=Simple Lamp Socket +eln:Single-use_Battery.name=Single-use Battery +eln:Small_200V_Copper_Heating_Corp.name=Small 200V Copper Heating Corp +eln:Small_200V_Iron_Heating_Corp.name=Small 200V Iron Heating Corp +eln:Small_200V_Tungsten_Heating_Corp.name=Small 200V Tungsten Heating Corp +eln:Small_50V_Carbon_Incandescent_Light_Bulb.name=Small 50V Carbon Incandescent Light Bulb +eln:Small_50V_Copper_Heating_Corp.name=Small 50V Copper Heating Corp +eln:Small_50V_Economic_Light_Bulb.name=Small 50V Economic Light Bulb +eln:Small_50V_Incandescent_Light_Bulb.name=Small 50V Incandescent Light Bulb +eln:Small_50V_Iron_Heating_Corp.name=Small 50V Iron Heating Corp +eln:Small_50V_Tungsten_Heating_Corp.name=Small 50V Tungsten Heating Corp +eln:Small_Active_Thermal_Dissipator.name=Small Active Thermal Dissipator +eln:Small_Flashlight.name=Small Flashlight +eln:Small_Passive_Thermal_Dissipator.name=Small Passive Thermal Dissipator +eln:Small_Rotating_Solar_Panel.name=Small Rotating Solar Panel +eln:Small_Solar_Panel.name=Small Solar Panel +eln:Solar_Tracker.name=Solar Tracker +eln:Standard_Alarm.name=Standard Alarm +eln:Steam_Turbine.name=Steam Turbine +eln:Stone_Heat_Furnace.name=Stone Heat Furnace +eln:Street_Light.name=Streetlight +eln:Suspended_Lamp_Socket.name=Suspended Lamp Socket +eln:Temperature_Probe.name=Temperature Probe +eln:Thermal_Probe.name=Thermal Probe +eln:Thermal_Probe_Chip.name=Thermal Probe Chip +eln:Thermistor.name=Thermistor +eln:ThermoMeter.name=Thermometer +eln:Transformer.name=Transformer +eln:Tree_Resin.name=Tree Resin +eln:Tree_Resin_Collector.name=Tree Resin Collector +eln:Tungsten_Cable.name=Tungsten Cable +eln:Tungsten_Dust.name=Tungsten Dust +eln:Tungsten_Ingot.name=Tungsten Ingot +eln:Tungsten_Ore.name=Tungsten Ore +eln:Tutorial_Sign.name=Tutorial Sign +eln:Very_High_Voltage_Cable.name=Very High Voltage Cable +eln:Very_High_Voltage_Relay.name=Very High Voltage Relay +eln:Very_High_Voltage_Switch.name=Very High Voltage Switch +eln:Voltage-to-Redstone_Converter.name=Voltage-to-Redstone Converter +eln:Voltage_Oriented_Battery.name=Voltage Oriented Battery +eln:Voltage_Probe.name=Voltage Probe +eln:Water_Turbine.name=Water Turbine +eln:Weak_50V_Battery_Charger.name=Weak 50V Battery Charger +eln:White_Brush.name=White Brush +eln:Wind_Turbine.name=Wind Turbine +eln:Wireless_Analyser.name=Wireless Analyzer +eln:Wireless_Button.name=Wireless Button +eln:Wireless_Signal_Receiver.name=Wireless Signal Receiver +eln:Wireless_Signal_Repeater.name=Wireless Signal Repeater +eln:Wireless_Signal_Transmitter.name=Wireless Signal Transmitter +eln:Wireless_Switch.name=Wireless Switch +eln:Wrench.name=Wrench +eln:X-Ray_Scanner.name=X-Ray Scanner +eln:XNOR_Chip.name=XNOR Chip +eln:XOR_Chip.name=XOR Chip +eln:Yellow_Brush.name=Yellow Brush +eln:entity.EAReplicator.name=Replicator +eln:item.Copper Axe.name\=Copper Axe +eln:item.Copper Axe.name\=Copper Axe +eln:item.Copper Axe.name\=Copper Axe +eln:item.Copper Axe.name\=Copper Axe +eln:item.Copper Axe.name\=Copper Axe +eln:item.Copper Axe.name\=Copper Axe +eln:item.Copper Axe.name\=Copper Axe +eln:item.Copper Axe.name\=Copper Axe +eln:item.Copper Axe.name\=Copper Axe +eln:item.E-Coal Boots.name\=E-Coal Boots +eln:item.E-Coal Boots.name\=E-Coal Boots +eln:item.E-Coal Boots.name\=E-Coal Boots +eln:item.E-Coal Boots.name\=E-Coal Boots +eln:itemGroup.Eln=Electrical Age +eln:mod.meta.desc=Electricity in your base\! +eln:tile.eln.ElnProbe.name=Eln Computer Probe +eln:tile.eln.EnergyConverterElnToOtherHVUBlock.name=800V Electrical Age to other energy exporter +eln:tile.eln.EnergyConverterElnToOtherLVUBlock.name=50V Electrical Age to other energy exporter +eln:tile.eln.EnergyConverterElnToOtherMVUBlock.name=200V Electrical Age to other energy exporter +eln: +eln:# ./src/main/java/mods/eln/i18n/I18N.java +eln:You_have_%s_lives_left=You have %s lives left +eln: +eln:# ./src/main/java/mods/eln/item/BrushDescriptor.java +eln:Brush_is_dry=Brush is dry +eln:Can_paint_%s_blocks=Can paint %s blocks +eln: +eln:# ./src/main/java/mods/eln/item/CombustionChamber.java +eln:Upgrade_for_the_Stone_Heat_Furnace.=Upgrade for the Stone Heat Furnace. +eln: +eln:# ./src/main/java/mods/eln/item/ElectricalDrillDescriptor.java +eln:Energy_per_operation\:_%sJ=Energy per operation\: %sJ +eln:Time_per_operation\:_%ss=Time per operation\: %ss +eln: +eln:# ./src/main/java/mods/eln/item/FerromagneticCoreDescriptor.java +eln:Cable_loss_factor\:_%s=Cable loss factor\: %s +eln: +eln:# ./src/main/java/mods/eln/item/HeatingCorpElement.java +eln: +eln:# ./src/main/java/mods/eln/item/LampDescriptor.java +eln:Bad=Bad +eln:Condition\:=Condition\: +eln:End_of_life=End of life +eln:Good=Good +eln:New=New +eln:Nominal_lifetime\:_%sh=Nominal lifetime\: %sh +eln:Technology\:_%s=Technology\: %s +eln:Used=Used +eln: +eln:# ./src/main/java/mods/eln/item/LampSlot.java +eln:Lamp_slot=Lamp slot +eln: +eln:# ./src/main/java/mods/eln/item/OverHeatingProtectionDescriptor.java +eln:Useful_to_prevent_overheating\nof_Batteries=Useful to prevent overheating\nof Batteries +eln: +eln:# ./src/main/java/mods/eln/item/OverVoltageProtectionDescriptor.java +eln:Useful_to_prevent_over-voltage\nof_Batteries=Useful to prevent over-voltage\nof Batteries +eln: +eln:# ./src/main/java/mods/eln/item/SolarTrackerDescriptor.java +eln:Solar_panel_upgrade=Solar panel upgrade +eln: +eln:# ./src/main/java/mods/eln/item/electricalitem/BatteryItem.java +eln: +eln:# ./src/main/java/mods/eln/item/electricalitem/ElectricalLampItem.java +eln:Off=Off +eln:On=On +eln:State\:=State\: +eln:Stored_Energy\:_%sJ_(%s)=Stored Energy\: %sJ (%s) +eln: +eln:# ./src/main/java/mods/eln/item/regulator/RegulatorSlot.java +eln: +eln:# ./src/main/java/mods/eln/misc/UtilsClient.java +eln:Hold_shift=Hold shift +eln: +eln:# ./src/main/java/mods/eln/misc/Version.java +eln:mod.name=Electrical Age +eln: +eln:# ./src/main/java/mods/eln/node/six/SixNodeDescriptor.java +eln: +eln:# ./src/main/java/mods/eln/simplenode/energyconverter/EnergyConverterElnToOtherGui.java +eln:Input_power_is_limited_to_%sW=Input power is limited to %sW +eln: +eln:# ./src/main/java/mods/eln/sixnode/LogicGate.kt +eln:_O\:_= O\: +eln: +eln:# ./src/main/java/mods/eln/sixnode/TreeResinCollector/TreeResinCollectorDescriptor.java +eln:Produces_Tree_Resin_over\ntime_when_put_on_a_tree.=Produces Tree Resin over\ntime when put on a tree. +eln:This_block_can_only_be_placed_on_the_side_of_a_tree!=This block can only be placed on the side of a tree\! +eln: +eln:# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerContainer.java +eln:Battery_slot=Battery slot +eln: +eln:# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerDescriptor.java +eln:Can_be_used_to_recharge\nelectrical_items_like\:\nFlash_Light,_X-Ray_scanner\nand_Portable_Battery_...=Can be used to recharge\nelectrical items like\:\nFlash Light, X-Ray scanner\nand Portable Battery ... +eln: +eln:# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerGui.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/diode/DiodeDescriptor.java +eln:Electrical_current_can_only\nflow_through_the_diode\nfrom_anode_to_cathode=Electrical current can only\nflow through the diode\nfrom anode to cathode +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalalarm/ElectricalAlarmDescriptor.java +eln:= +eln:Emits_an_acoustic_alarm_if\nthe_input_signal_is_high=Emits an acoustic alarm if\nthe input signal is high +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalalarm/ElectricalAlarmGui.java +eln:Sound_is_muted=Sound is muted +eln:Sound_is_not_muted=Sound is not muted +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerContainer.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerDescriptor.java +eln:Protects_electrical_components\nOpens_contact_if\:\n__-_Voltage_exceeds_a_certain_level\n-_Current_exceeds_the_cable_limit=Protects electrical components\nOpens contact if\:\n - Voltage exceeds a certain level\n- Current exceeds the cable limit +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerGui.java +eln:Maximum_voltage_before_cutting_off=Maximum voltage before cutting off +eln:Minimum_voltage_before_cutting_off=Minimum voltage before cutting off +eln:Switch_is_off=Switch is off +eln:Switch_is_on=Switch is on +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalcable/ElectricalCableDescriptor.java +eln:A_signal_is_electrical_information\nwhich_must_be_between_0V_and_%sV=A signal is electrical information\nwhich must be between 0V and %sV +eln:Cable_is_adapted_to_conduct\nelectrical_signals.=Cable is adapted to conduct\nelectrical signals. +eln:Current\:_%sA=Current\: %sA +eln:Not_adapted_to_transport_power.=Not adapted to transport power. +eln:Save_usage\:=Save usage\: +eln:Serial_resistance\:_%sΩ=Serial resistance\: %sΩ +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerDescriptor.java +eln:It_can_store_up_to_256_points.=It can store up to 256 points. +eln:Measures_the_voltage_of_an\nelectrical_signal_and_plots\nthe_data_in_real_time.=Measures the voltage of an\nelectrical signal and plots\nthe data in real time. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerGui.java +eln:Back_to_display=Back to display +eln:Configuration=Configuration +eln:Current_[A]=Current [A] +eln:Energy_[J]=Energy [J] +eln:Percent_[-]%=Percent [-]% +eln:Power_[W]=Power [W] +eln:Print=Print +eln:Sampling_period=Sampling period +eln:Temp._[*C]=Temp. [*C] +eln:Voltage_[V]=Voltage [V] +eln:Y-axis_max=Y-axis max +eln:Y-axis_min=Y-axis min +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorContainer.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorDescriptor.java +eln:Output_voltage_increases\nif_entities_are_moving_around.=Output voltage increases\nif entities are moving around. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalfiredetector/ElectricalFireDetectorDescriptor.java +eln:Output_voltage_increases\nif_a_fire_has_been_detected.=Output voltage increases\nif a fire has been detected. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceDescriptor.java +eln:Provides_configurable_signal\nvoltage.=Provides configurable signal\nvoltage. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceGui.java +eln:Output_at_%s=Output at %s +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricallightsensor/ElectricalLightSensorDescriptor.java +eln:0V_at_night,_%sV_at_noon.=0V at night, %sV at noon. +eln:Provides_an_electrical_voltage\nin_the_presence_of_light.=Provides an electrical voltage\nin the presence of light. +eln:Provides_an_electrical_voltage\nwhich_is_proportional_to\nthe_intensity_of_daylight.=Provides an electrical voltage\nwhich is proportional to\nthe intensity of daylight. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathContainer.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathDescriptor.java +eln:Applicable_boolean_operators\:=Applicable boolean operators\: +eln:Applicable_functions\:=Applicable functions\: +eln:Applicable_mathematical_operators\:=Applicable mathematical operators\: +eln:Calculates_an_output_signal_from\n3_inputs_(A,_B,_C)_using_an_equation.=Calculates an output signal from\n3 inputs (A, B, C) using an equation. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathGui.java +eln:%s_Redstone(s)_required=%s Redstone(s) required +eln:Equation_required!=Equation required\! +eln:Inputs_are=Inputs are +eln:Invalid_equation!=Invalid equation\! +eln:Output_voltage_formula=Output voltage formula +eln:Waiting_for_completion...=Waiting for completion... +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalredstoneinput/ElectricalRedstoneInputDescriptor.java +eln:Converts_Redstone_signal\nto_an_electrical_voltage.=Converts Redstone signal\nto an electrical voltage. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalredstoneoutput/ElectricalRedstoneOutputDescriptor.java +eln:Converts_electrical_voltage\ninto_a_Redstone_signal.=Converts electrical voltage\ninto a Redstone signal. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalrelay/ElectricalRelayDescriptor.java +eln:A_relay_is_an_electrical\ncontact_that_conducts_electric\ncurrent_or_not,_depending\nthe_actual_input_signal_voltage.=A relay is an electrical\ncontact that conducts electric\ncurrent or not, depending\nthe actual input signal voltage. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalrelay/ElectricalRelayGui.java +eln:Normally_closed=Normally closed +eln:Normally_open=Normally open +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalsource/ElectricalSourceDescriptor.java +eln:Creative_block.=Creative block. +eln:Provides_an_ideal_voltage_source\nwithout_energy_or_power_limitation.=Provides an ideal voltage source\nwithout energy or power limitation. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalsource/ElectricalSourceGui.java +eln:Output_voltage=Output voltage +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalswitch/ElectricalSwitchDescriptor.java +eln:Can_break_an_electrical_circuit\ninterrupting_the_current.=Can break an electrical circuit\ninterrupting the current. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricaltimeout/ElectricalTimeoutDescriptor.java +eln:Upon_application_of_a_high_signal,\nthe_timer_maintains_the_output_high_for\na_configurable_interval._Can_be_re-triggered.=Upon application of a high signal,\nthe timer maintains the output high for\na configurable interval. Can be re-triggered. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricaltimeout/ElectricalTimeoutGui.java +eln:Set=Set +eln:The_time_interval_the\noutput_is_kept_high.=The time interval the\noutput is kept high. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalvumeter/ElectricalVuMeterDescriptor.java +eln:Displays_the_value_of_a_signal.=Displays the value of a signal. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalwatch/ElectricalWatchContainer.java +eln:Portable_battery_slot=Portable battery slot +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalweathersensor/ElectricalWeatherSensorDescriptor.java +eln:Clear\:_%sV=Clear\: %sV +eln:Provides_an_electrical_signal\ndepending_the_actual_weather.=Provides an electrical signal\ndepending the actual weather. +eln:Rain\:_%sV=Rain\: %sV +eln:Storm\:_%sV=Storm\: %sV +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalwindsensor/ElectricalWindSensorDescriptor.java +eln:Maximum_wind_speed_is_%sm_s=Maximum wind speed is %sm/s +eln:Provides_an_electrical_signal\ndependant_on_wind_speed.=Provides an electrical signal\ndependant on wind speed. +eln:You_can't_place_this_block_on_the_floor_or_the_ceiling=You can't place this block on the floor or the ceiling +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricasensor/ElectricalSensorDescriptor.java +eln:Can_measure_Voltage_Power_Current=Can measure Voltage/Power/Current +eln:Measures_electrical_values_on_cables.=Measures electrical values on cables. +eln:Measures_voltage_on_cables.=Measures voltage on cables. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricasensor/ElectricalSensorGui.java +eln:Current=Current +eln:Measured_voltage\ncorresponding\nto_0%_output=Measured voltage\ncorresponding\nto 0% output +eln:Measured_voltage\ncorresponding\nto_100%_output=Measured voltage\ncorresponding\nto 100% output +eln:Voltage=Voltage +eln: +eln:# ./src/main/java/mods/eln/sixnode/energymeter/EnergyMeterGui.java +eln:Change_password=Change password +eln:Counter_Mode=Counter Mode +eln:Counts_the_energy_conducted_from\n\u00a74red\u00a7f_to_\u00a71blue\u00a7f.=Counts the energy conducted from\n\\u00a74red\\u00a7f to \\u00a71blue\\u00a7f. +eln:Energy_counter\:_%sJ=Energy counter\: %sJ +eln:Enter_new_energy=Enter new energy +eln:Enter_password=Enter password +eln:Prepay_Mode=Prepay Mode +eln:Reset_time_counter=Reset time counter +eln:Set_energy_counter=Set energy counter +eln:Time_counter\:=Time counter\: +eln:Try_password=Try password +eln:You_can_set_an_initial\namount_of_available_energy.\nWhen_the_counter_arrives_at_0\nthe_contact_will_be_opened.=You can set an initial\namount of available energy.\nWhen the counter arrives at 0\nthe contact will be opened. +eln:is_off=is off +eln:is_on=is on +eln:value_in_kJ=value in kJ +eln: +eln:# ./src/main/java/mods/eln/sixnode/groundcable/GroundCableDescriptor.java +eln:Can_be_used_to_set_a_point_of_an\nelectrical_network_to_0V_potential.\nFor_example_to_ground_negative_battery_contacts.=Can be used to set a point of an\nelectrical network to 0V potential.\nFor example to ground negative battery contacts. +eln:Provides_a_zero_volt_reference.=Provides a zero volt reference. +eln: +eln:# ./src/main/java/mods/eln/sixnode/hub/HubDescriptor.java +eln:Allows_crossing_cables\non_one_single_block.=Allows crossing cables\non one single block. +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketDescriptor.java +eln:Angle\:_%s°_to_%s°=Angle\: %s° to %s° +eln:Spot_range\:_%s_blocks=Spot range\: %s blocks +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketGuiDraw.java +eln:%s_is_not_in_range!=%s is not in range\! +eln:Cable_slot_empty=Cable slot empty +eln:Orientation\:_%s°=Orientation\: %s° +eln:Parallel=Parallel +eln:Powered_by_Lamp_Supply=Powered by Lamp Supply +eln:Powered_by_cable=Powered by cable +eln:Serial=Serial +eln:Specify_the_supply_channel=Specify the supply channel +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyContainer.java +eln:Electrical_cable_slot\nBase_range_is_32_blocks.\nEach_additional_cable\nincreases_range_by_one.=Electrical cable slot\nBase range is 32 blocks.\nEach additional cable\nincreases range by one. +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyDescriptor.java +eln:Supplies_all_lamps_on_the_channel.=Supplies all lamps on the channel. +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyGui.java +eln:Power_channel_name=Power channel name +eln:Wireless_channel_name=Wireless channel name +eln: +eln:# ./src/main/java/mods/eln/sixnode/modbusrtu/ModbusRtuGui.java +eln:Add=Add +eln:Channel_name=Channel name +eln:Modbus_ID=Modbus ID +eln:Modbus_RTU=Modbus RTU +eln:Station_ID=Station ID +eln:Station_name=Station name +eln:Wireless_RX=Wireless RX +eln:Wireless_TX=Wireless TX +eln: +eln:# ./src/main/java/mods/eln/sixnode/powercapacitorsix/PowerCapacitorSixContainer.java +eln:(Increases_maximum_voltage)=(Increases maximum voltage) +eln: +eln:# ./src/main/java/mods/eln/sixnode/powercapacitorsix/PowerCapacitorSixGui.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/powerinductorsix/PowerInductorSixContainer.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/powerinductorsix/PowerInductorSixGui.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/powersocket/PowerSocketDescriptor.java +eln:Supplies_any_device\nplugged_in_with_energy.=Supplies any device\nplugged in with energy. +eln: +eln:# ./src/main/java/mods/eln/sixnode/powersocket/PowerSocketGui.java +eln:Specify_the_device_to_supply_through_this_socket.=Specify the device to supply through this socket. +eln: +eln:# ./src/main/java/mods/eln/sixnode/resistor/ResistorContainer.java +eln:(Sets_resistance)=(Sets resistance) +eln:Coal_dust_slot=Coal dust slot +eln: +eln:# ./src/main/java/mods/eln/sixnode/thermalcable/ThermalCableDescriptor.java +eln:High_parallel_resistance\n_\=>_Low_power_dissipation.=High parallel resistance\n \=> Low power dissipation. +eln:Low_serial_resistance\n_\=>_High_conductivity.=Low serial resistance\n \=> High conductivity. +eln:Parallel_resistance\:_%sK_W=Parallel resistance\: %sK/W +eln:Serial_resistance\:_%sK_W=Serial resistance\: %sK/W +eln: +eln:# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorContainer.java +eln:Cable_slot=Cable slot +eln: +eln:# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorDescriptor.java +eln:Can_measure\:=Can measure\: +eln:Measures_temperature_of_cables.=Measures temperature of cables. +eln:Measures_thermal_values_on_cables.=Measures thermal values on cables. +eln:__Temperature_Power_conducted=Temperature/Power conducted +eln: +eln:# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorGui.java +eln:Measured_temperature\ncorresponding\nto_0%_output=Measured temperature\ncorresponding\nto 0% output +eln:Measured_temperature\ncorresponding\nto_100%_output=Measured temperature\ncorresponding\nto 100% output +eln:Temperature=Temperature +eln: +eln:# ./src/main/java/mods/eln/sixnode/tutorialsign/TutorialSignElement.java +eln:No_text_associated_to_this_beacon=No text associated to this beacon +eln: +eln:# ./src/main/java/mods/eln/sixnode/tutorialsign/TutorialSignGui.java +eln:Set_beacon_name=Set beacon name +eln: +eln:# ./src/main/java/mods/eln/sixnode/wirelesssignal/rx/WirelessSignalRxGui.java +eln: +eln:# ./src/main/java/mods/eln/transparentnode/FuelGenerator.kt +eln:Nominal_power\:_%s_W=Nominal power\: %s W +eln:Nominal_voltage\:_%s_V=Nominal voltage\: %s V +eln:Produces_electricity_using_fuel.=Produces electricity using fuel. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/LargeRheostat.kt +eln:Nom._Resistance\:_%s=Nom. Resistance\: %s +eln: +eln:# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerContainer.java +eln:Drill_slot=Drill slot +eln:Mining_pipe_slot=Mining pipe slot +eln:Ore_scanner_slot=Ore scanner slot +eln: +eln:# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerDescriptor.java +eln:Excavates_on_a_small_radius.\nExtracts_ore_on_a_bigger_radius\:\n10_blocks_radius_after_10_blocks_depth.=Excavates on a small radius.\nExtracts ore on a bigger radius\:\n10 blocks radius after 10 blocks depth. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerGuiDraw.java +eln:Chest_missing_on_the\nback_of_the_auto_miner!=Chest missing on the\nback of the auto miner\! +eln:Halves_speed,_triples_power_draw=Halves speed, triples power draw +eln:Silk_Touch_Off=Silk Touch Off +eln:Silk_Touch_On=Silk Touch On +eln:Silk_touch=Silk touch +eln: +eln:# ./src/main/java/mods/eln/transparentnode/battery/BatteryContainer.java +eln:Overheating_protection=Overheating protection +eln:Overvoltage_protection=Overvoltage protection +eln: +eln:# ./src/main/java/mods/eln/transparentnode/battery/BatteryDescriptor.java +eln:Actual_charge\:_%s=Actual charge\: %s +eln:Energy_capacity\:_%sJ=Energy capacity\: %sJ +eln:_charged_at_%s=charged at %s +eln: +eln:# ./src/main/java/mods/eln/transparentnode/battery/BatteryGuiDraw.java +eln:Charge=Charge +eln:Charged=Charged +eln:Discharge=Discharge +eln:Energy\:=Energy\: +eln:Energy\:_%s=Energy\: %s +eln:Life\:=Life\: +eln:No_charge=No charge +eln:Power_in\:=Power in\: +eln:Power_out\:=Power out\: +eln: +eln:# ./src/main/java/mods/eln/transparentnode/eggincubator/EggIncubatorContainer.java +eln:Egg_slot=Egg slot +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalantennarx/ElectricalAntennaRxDescriptor.java +eln:Wireless_energy_receiver.=Wireless energy receiver. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalantennatx/ElectricalAntennaTxDescriptor.java +eln:Efficiency\:_%s_up_to_%s=Efficiency\: %s up to %s +eln:Wireless_energy_transmitter.=Wireless energy transmitter. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceContainer.java +eln:Heating_corp_slot=Heating corp slot +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceDescriptor.java +eln:Similar_to_a_vanilla_furnace,\nbut_heats_with_electricity.=Similar to a vanilla furnace,\nbut heats with electricity. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceGuiDraw.java +eln:Auto_shutdown=Auto shutdown +eln:Manual_shutdown=Manual shutdown +eln:Set_point\:_%s°C=Set point\: %s°C +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalmachine/ElectricalMachineDescriptor.java +eln:Cost=Cost +eln: +eln:# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceContainer.java +eln:Combustion_chamber_slot=Combustion chamber slot +eln:Fuel_slot=Fuel slot +eln: +eln:# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceDescriptor.java +eln:Generates_heat_when_supplied_with_fuel.=Generates heat when supplied with fuel. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceGuiDraw.java +eln:Control_gauge_at_%s=Control gauge at %s +eln:Decline_fuel=Decline fuel +eln:External_control=External control +eln:Internal_control=Internal control +eln:Take_fuel=Take fuel +eln: +eln:# ./src/main/java/mods/eln/transparentnode/powercapacitor/PowerCapacitorContainer.java +eln:(Increases_maximal_voltage)=(Increases maximal voltage) +eln: +eln:# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelContainer.java +eln:Solar_tracker_slot=Solar tracker slot +eln: +eln:# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelDescriptor.java +eln:Can_be_geared_towards_the_sun.=Can be geared towards the sun. +eln:Max._power\:_%sW=Max. power\: %sW +eln:Max._voltage\:_%sV=Max. voltage\: %sV +eln:Produces_power_from_solar_radiation.=Produces power from solar radiation. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPannelGuiDraw.java +eln:It_is_night=It is night +eln:Solar_panel_angle\:_%s°=Solar panel angle\: %s° +eln:Sun_angle\:_%s°=Sun angle\: %s° +eln: +eln:# ./src/main/java/mods/eln/transparentnode/teleporter/TeleporterGui.java +eln:Destination_transporter=Destination transporter +eln:Power_consumption\:=Power consumption\: +eln:Power_consumption\:_%sW=Power consumption\: %sW +eln:Required_energy\:_%sJ=Required energy\: %sJ +eln:Start=Start +eln:Transporter_name=Transporter name +eln: +eln:# ./src/main/java/mods/eln/transparentnode/thermaldissipatoractive/ThermalDissipatorActiveDescriptor.java +eln:Fan_cooling_power\:_%sW=Fan cooling power\: %sW +eln:Fan_power_consumption\:_%sW=Fan power consumption\: %sW +eln:Fan_voltage\:_%sV=Fan voltage\: %sV +eln: +eln:# ./src/main/java/mods/eln/transparentnode/transformer/TransformerDescriptor.java +eln:The_voltage_ratio_is_proportional\nto_the_cable_stacks_count_ratio.=The voltage ratio is proportional\nto the cable stacks count ratio. +eln:Transforms_an_input_voltage_to\nan_output_voltage.=Transforms an input voltage to\nan output voltage. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/turbine/TurbineDescriptor.java +eln:Generates_electricity_using_heat.=Generates electricity using heat. +eln:Temperature_difference\:_%s°C=Temperature difference\: %s°C +eln: +eln:# ./src/main/java/mods/eln/transparentnode/turret/TurretDescriptor.java +eln:CAUTION\:_Cables_can_get_quite_hot!=CAUTION\: Cables can get quite hot\! +eln:Laser_charge_power\:_%sW...%skW=Laser charge power\: %sW...%skW +eln:Scans_for_entities_and_shoots_if_the\nentity_matches_the_configurable_filter_criteria.=Scans for entities and shoots if the\nentity matches the configurable filter criteria. +eln:Standby_power\:_%sW=Standby power\: %sW +eln: +eln:# ./src/main/java/mods/eln/transparentnode/turret/TurretGui.java +eln:Attack\:=Attack\: +eln:Do_not_attack\:=Do not attack\: +eln:Recharge_power\:=Recharge power\: +eln: +eln:# ./src/main/java/mods/eln/transparentnode/waterturbine/WaterTurbineDescriptor.java +eln:Generates_energy_using_water_stream.=Generates energy using water stream. +eln:No_place_for_water_turbine!=No place for water turbine\! +eln: +eln:# ./src/main/java/mods/eln/transparentnode/windturbine/WindTurbineDescriptor.java +eln:Front\:_%s=Front\: %s +eln:Generates_energy_from_wind.=Generates energy from wind. +eln:Left_Right\:_%s=Left/Right\: %s +eln:Up_Down\:_%s=Up/Down\: %s +eln:Wind_area\:=Wind area\: +eln: +eln:# ./src/main/java/mods/eln/wiki/Data.java +eln:Energy=Energy +eln:Light=Light +eln:Machine=Machine +eln:Ore=Ore +eln:Portable=Portable +eln:Resource=Resource +eln:Signal=Signal +eln:Thermal=Thermal +eln:Upgrade=Upgrade +eln:Utilities=Utilities +eln:Wiring=Wiring +eln: +eln:# ./src/main/java/mods/eln/wiki/Default.java +eln:Previous=Previous +eln: +eln:# ./src/main/java/mods/eln/wiki/ItemDefault.java +eln:Can_be_used_to_craft\:=Can be used to craft\: +eln:Cannot_be_crafted!=Cannot be crafted\! +eln:Cost_%sJ=Cost %sJ +eln:Created_by\:=Created by\: +eln:Is_not_a_crafting_material!=Is not a crafting material\! +eln:Recipe\:=Recipe\: +eln: +eln:# Appearing in multiple source files +eln:(Increases_capacity)=(Increases capacity) +eln:(Increases_inductance)=(Increases inductance) +eln:Actual\:_%s°C=Actual\: %s°C +eln:Biggest=Biggest +eln:Booster_slot=Booster slot +eln:Can_create\:=Can create\: +eln:Capacity\:_%sF=Capacity\: %sF +eln:Charge_power\:_%sW=Charge power\: %sW +eln:Connected=Connected +eln:Cooling_power\:_%sW=Cooling power\: %sW +eln:Copper_cable_slot=Copper cable slot +eln:Dielectric_slot=Dielectric slot +eln:Discharge_power\:_%sW=Discharge power\: %sW +eln:Electrical_cable_slot=Electrical cable slot +eln:Entity_filter_slot=Entity filter slot +eln:Ferromagnetic_core_slot=Ferromagnetic core slot +eln:Has_a_signal_output.=Has a signal output. +eln:Inductance\:_%sH=Inductance\: %sH +eln:Internal_resistance\:_%sΩ=Internal resistance\: %sΩ +eln:Is_off=Is off +eln:Is_on=Is on +eln:Max._temperature\:_%s°C=Max. temperature\: %s°C +eln:Measured_value\ncorresponding\nto_0%_output=Measured value\ncorresponding\nto 0% output +eln:Measured_value\ncorresponding\nto_100%_output=Measured value\ncorresponding\nto 100% output +eln:Nominal\:=Nominal\: +eln:Nominal_power\:_%sW=Nominal power\: %sW +eln:Nominal_usage\:=Nominal usage\: +eln:Nominal_voltage\:_%sV=Nominal voltage\: %sV +eln:Not_connected=Not connected +eln:Not_enough_space_for_this_block=Not enough space for this block +eln:Power=Power +eln:Power\:_%sW=Power\: %sW +eln:Range\:_%s_blocks=Range\: %s blocks +eln:Redstone_slot=Redstone slot +eln:Regulator_slot=Regulator slot +eln:Reset=Reset +eln:Resistance\:_%sΩ=Resistance\: %sΩ +eln:Smallest=Smallest +eln:Specify_the_channel=Specify the channel +eln:Stored_energy\:_%sJ_(%s)=Stored energy\: %sJ (%s) +eln:Temperature\:_%s°C=Temperature\: %s°C +eln:Temperature_gauge=Temperature gauge +eln:Thermal_isolator_slot=Thermal isolator slot +eln:Toggle=Toggle +eln:Toggle_switch=Toggle switch +eln:Toggles_the_output_each_time\nan_emitter's_value_rises.\nUseful_to_allow_multiple_buttons\nto_control_the_same_light.=Toggles the output each time\nan emitter's value rises.\nUseful to allow multiple buttons\nto control the same light. +eln:Used_to_cool_down_turbines.=Used to cool down turbines. +eln:Uses_the_biggest\nvalue_on_the_channel.=Uses the biggest\nvalue on the channel. +eln:Uses_the_smallest\nvalue_on_the_channel.=Uses the smallest\nvalue on the channel. +eln:Validate=Validate +eln:Voltage\:_%sV=Voltage\: %sV +eln:You_can't_place_this_block_at_this_side=You can't place this block at this side diff --git a/src/main/resources/assets/eln/lang/ro.lang b/src/main/resources/assets/eln/lang/ro.lang index f4e769aa7..92e8a8d93 100644 --- a/src/main/resources/assets/eln/lang/ro.lang +++ b/src/main/resources/assets/eln/lang/ro.lang @@ -1,829 +1,829 @@ -# - -# ./src/main/java/mods/eln/Achievements.java -Electrical_Age_[WIP]=Electrical Age [WIP] -achievement.craft_50v_macerator=Crushing Novice -achievement.craft_50v_macerator.desc=Craft a 50V Macerator -achievement.open_guide=Wiki Power -achievement.open_guide.desc=Open the wiki guide - -# ./src/main/java/mods/eln/Eln.java -10A_Diode.name=10A Diode -200V_Active_Thermal_Dissipator.name=200V Active Thermal Dissipator -200V_Battery_Charger.name=200V Battery Charger -200V_Compressor.name=200V Compressor -200V_Condensator.name=200V Condensator -200V_Copper_Heating_Corp.name=200V Copper Heating Corp -200V_Economic_Light_Bulb.name=200V Economic Light Bulb -200V_Farming_Lamp.name=200V Farming Lamp -200V_Fuel_Generator.name=200V Fuel Generator -200V_Incandescent_Light_Bulb.name=200V Incandescent Light Bulb -200V_Iron_Heating_Corp.name=200V Iron Heating Corp -200V_LED_Bulb.name=200V LED Bulb -200V_Macerator.name=200V Macerator -200V_Magnetizer.name=200V Magnetizer -200V_Plate_Machine.name=200V Plate Machine -200V_Power_Socket.name=200V Power Socket -200V_Tungsten_Heating_Corp.name=200V Tungsten Heating Corp -200V_Turbine.name=200V Turbine -25A_Diode.name=25A Diode -50V_Battery_Charger.name=50V Battery Charger -50V_Carbon_Incandescent_Light_Bulb.name=50V Carbon Incandescent Light Bulb -50V_Compressor.name=50V Compressor -50V_Condensator.name=50V Condensator -50V_Copper_Heating_Corp.name=50V Copper Heating Corp -50V_Economic_Light_Bulb.name=50V Economic Light Bulb -50V_Egg_Incubator.name=50V Egg Incubator -50V_Farming_Lamp.name=50V Farming Lamp -50V_Fuel_Generator.name=50V Fuel Generator -50V_Incandescent_Light_Bulb.name=50V Incandescent Light Bulb -50V_Iron_Heating_Corp.name=50V Iron Heating Corp -50V_LED_Bulb.name=50V LED Bulb -50V_Macerator.name=50V Macerator -50V_Magnetizer.name=50V Magnetizer -50V_Plate_Machine.name=50V Plate Machine -50V_Power_Socket.name=50V Power Socket -50V_Tungsten_Heating_Corp.name=50V Tungsten Heating Corp -50V_Turbine.name=50V Turbine -800V_Defence_Turret.name=800V Defence Turret -AND_Chip.name=AND Chip -Advanced_Chip.name=Advanced Chip -Advanced_Electrical_Motor.name=Advanced Electrical Motor -Advanced_Energy_Meter.name=Advanced Energy Meter -Advanced_Machine_Block.name=Advanced Machine Block -Advanced_Magnet.name=Advanced Magnet -AllMeter.name=Universal-Meter -Alloy_Dust.name=Alloy Dust -Alloy_Ingot.name=Alloy Ingot -Alloy_Plate.name=Alloy Plate -Analog_Watch.name=Analog watch -Analog_vuMeter.name=Analog Gauge -Analogic_Regulator.name=Analogic Regulator -Animal_Filter.name=Animal Filter -Auto_Miner.name=Auto Miner -Average_Electrical_Drill.name=Average Electrical Drill -Average_Ferromagnetic_Core.name=Average Ferromagnetic Core -Basic_Magnet.name=Basic Magnet -Black_Brush.name=Black Brush -Blue_Brush.name=Blue Brush -Brown_Brush.name=Brown Brush -Capacity_Oriented_Battery.name=Capacity Oriented Battery -Cheap_Chip.name=Cheap Chip -Cheap_Electrical_Drill.name=Cheap Electrical Drill -Cheap_Ferromagnetic_Core.name=Cheap Ferromagnetic Core -Cinnabar_Dust.name=Cinnabar Dust -Cinnabar_Ore.name=Cinnabar Ore -Coal_Dust.name=Coal Dust -Coal_Plate.name=Coal Plate -Combustion_Chamber.name=Combustion Chamber -Copper_Cable.name=Copper Cable -Copper_Dust.name=Copper Dust -Copper_Ingot.name=Copper Ingot -Copper_Ore.name=Copper Ore -Copper_Plate.name=Copper Plate -Copper_Thermal_Cable.name=Copper Thermal Cable -Cost_Oriented_Battery.name=Cost Oriented Battery -Current_Oriented_Battery.name=Current Oriented Battery -Cyan_Brush.name=Cyan Brush -D_Flip_Flop_Chip.name=D Flip Flop Chip -Data_Logger.name=Data Logger -Data_Logger_Print.name=Data Logger Print -Dielectric.name=Dielectric -Digital_Watch.name=Digital Watch -Electrical_Anemometer_Sensor.name=Electrical Anemometer Sensor -Electrical_Breaker.name=Electrical Breaker -Electrical_Daylight_Sensor.name=Electrical Daylight Sensor -Electrical_Entity_Sensor.name=Electrical Entity Sensor -Electrical_Fire_Detector.name=Electrical Fire Detector -Electrical_Furnace.name=Electrical Furnace -Electrical_Light_Sensor.name=Electrical Light Sensor -Electrical_Motor.name=Electrical Motor -Electrical_Probe.name=Electrical Probe -Electrical_Probe_Chip.name=Electrical Probe Chip -Electrical_Source.name=Electrical Source -Electrical_Timer.name=Electrical Timer -Electrical_Weather_Sensor.name=Electrical Weather Sensor -Electrical_age_wrench,\nCan_be_used_to_turn\nsmall_wall_blocks=Electrical age wrench,\nCan be used to turn\nsmall wall blocks -Energy_Meter.name=Energy Meter -Experimental_Transporter.name=Experimental Transporter -Fast_Electrical_Drill.name=Fast Electrical Drill -Ferrite_Ingot.name=Ferrite Ingot -Flat_Lamp_Socket.name=Flat Lamp Socket -Fluorescent_Lamp_Socket.name=Fluorescent Lamp Socket -Generator.name=Generator -Gold_Dust.name=Gold Dust -Gold_Plate.name=Gold Plate -Gray_Brush.name=Gray Brush -Green_Brush.name=Green Brush -Ground_Cable.name=Ground Cable -High_Power_Receiver_Antenna.name=High Power Receiver Antenna -High_Power_Transmitter_Antenna.name=High Power Transmitter Antenna -High_Voltage_Cable.name=High Voltage Cable -High_Voltage_Relay.name=High Voltage Relay -High_Voltage_Switch.name=High Voltage Switch -Hub.name=Hub -Industrial_Data_Logger.name=Industrial Data Logger -Iron_Cable.name=Iron Cable -Iron_Dust.name=Iron Dust -Iron_Plate.name=Iron Plate -JK_Flip_Flop_Chip.name=JK Flip Flop Chip -LED_vuMeter.name=LED vuMeter -Lamp_Socket_A.name=Lamp Socket A -Lamp_Socket_B_Projector.name=Lamp Socket B Projector -Lamp_Supply.name=Lamp Supply -Large_Rheostat.name=Large Rheostat -Lead_Dust.name=Lead Dust -Lead_Ingot.name=Lead Ingot -Lead_Ore.name=Lead Ore -Lead_Plate.name=Lead Plate -Life_Oriented_Battery.name=Life Oriented Battery -Light_Blue_Brush.name=Light Blue Brush -Lime_Brush.name=Lime Brush -Long_Suspended_Lamp_Socket.name=Long Suspended Lamp Socket -Low_Power_Receiver_Antenna.name=Low Power Receiver Antenna -Low_Power_Transmitter_Antenna.name=Low Power Transmitter Antenna -Low_Voltage_Cable.name=Low Voltage Cable -Low_Voltage_Relay.name=Low Voltage Relay -Low_Voltage_Switch.name=Low Voltage Switch -Machine_Block.name=Machine Block -Machine_Booster.name=Machine Booster -Magenta_Brush.name=Magenta Brush -Medium_Power_Receiver_Antenna.name=Medium Power Receiver Antenna -Medium_Power_Transmitter_Antenna.name=Medium Power Transmitter Antenna -Medium_Voltage_Cable.name=Medium Voltage Cable -Medium_Voltage_Relay.name=Medium Voltage Relay -Medium_Voltage_Switch.name=Medium Voltage Switch -Mercury.name=Mercury -Mining_Pipe.name=Mining Pipe -Modbus_RTU.name=Modbus RTU -Modern_Data_Logger.name=Modern Data Logger -Monster_Filter.name=Monster Filter -MultiMeter.name=Multimeter -NAND_Chip.name=NAND Chip -NOR_Chip.name=NOR Chip -NOT_Chip.name=NOT Chip -Nuclear_Alarm.name=Nuclear Alarm -OR_Chip.name=OR Chip -On_OFF_Regulator_10_Percent.name=On/off regulator 10% -On_OFF_Regulator_1_Percent.name=On/off regulator 1% -Optimal_Ferromagnetic_Core.name=Optimal Ferromagnetic Core -Orange_Brush.name=Orange Brush -Ore_Scanner.name=Ore Scanner -Oscillator_Chip.name=Oscillator Chip -Overheating_Protection.name=Overheating Protection -Overvoltage_Protection.name=Overvoltage Protection -PAL_Chip.name=PAL Chip -Pink_Brush.name=Pink Brush -Player_Filter.name=Player Filter -Portable_Battery.name=Portable Battery -Portable_Battery_Pack.name=Portable Battery Pack -Portable_Condensator.name=Portable Condensator -Portable_Condensator_Pack.name=Portable Condensator Pack -Portable_Electrical_Axe.name=Portable Electrical Axe -Portable_Electrical_Mining_Drill.name=Portable Electrical Mining Drill -Power_Capacitor.name=Power Capacitor -Power_Inductor.name=Power Inductor -Power_Resistor.name=Power Resistor -Power_capacitor.name=Power capacitor -Power_inductor.name=Power inductor -Purple_Brush.name=Purple Brush -Red_Brush.name=Red Brush -Redstone-to-Voltage_Converter.name=Redstone-to-Voltage Converter -Rheostat.name=Rheostat -Robust_Lamp_Socket.name=Robust Lamp Socket -Rubber.name=Rubber -Schmitt_Trigger_Chip.name=Schmitt Trigger Chip -Sconce_Lamp_Socket.name=Sconce Lamp Socket -Signal_20H_inductor.name=Signal 20H inductor -Signal_Antenna.name=Signal Antenna -Signal_Button.name=Signal Button -Signal_Cable.name=Signal Cable -Signal_Diode.name=Signal Diode -Signal_Processor.name=Signal Processor -Signal_Relay.name=Signal Relay -Signal_Source.name=Signal Source -Signal_Switch.name=Signal Switch -Signal_Switch_with_LED.name=Signal Switch with LED -Signal_Trimmer.name=Signal Trimmer -Silicon_Dust.name=Silicon Dust -Silicon_Ingot.name=Silicon Ingot -Silicon_Plate.name=Silicon Plate -Silver_Brush.name=Silver Brush -Simple_Lamp_Socket.name=Simple Lamp Socket -Single-use_Battery.name=Single-use Battery -Small_200V_Copper_Heating_Corp.name=Small 200V Copper Heating Corp -Small_200V_Iron_Heating_Corp.name=Small 200V Iron Heating Corp -Small_200V_Tungsten_Heating_Corp.name=Small 200V Tungsten Heating Corp -Small_50V_Carbon_Incandescent_Light_Bulb.name=Small 50V Carbon Incandescent Light Bulb -Small_50V_Copper_Heating_Corp.name=Small 50V Copper Heating Corp -Small_50V_Economic_Light_Bulb.name=Small 50V Economic Light Bulb -Small_50V_Incandescent_Light_Bulb.name=Small 50V Incandescent Light Bulb -Small_50V_Iron_Heating_Corp.name=Small 50V Iron Heating Corp -Small_50V_Tungsten_Heating_Corp.name=Small 50V Tungsten Heating Corp -Small_Active_Thermal_Dissipator.name=Small Active Thermal Dissipator -Small_Flashlight.name=Small Flashlight -Small_Passive_Thermal_Dissipator.name=Small Passive Thermal Dissipator -Small_Rotating_Solar_Panel.name=Small Rotating Solar Panel -Small_Solar_Panel.name=Small Solar Panel -Solar_Tracker.name=Solar Tracker -Standard_Alarm.name=Standard Alarm -Steam_Turbine.name=Steam Turbine -Stone_Heat_Furnace.name=Stone Heat Furnace -Street_Light.name=Streetlight -Suspended_Lamp_Socket.name=Suspended Lamp Socket -Temperature_Probe.name=Temperature Probe -Thermal_Probe.name=Thermal Probe -Thermal_Probe_Chip.name=Thermal Probe Chip -Thermistor.name=Thermistor -ThermoMeter.name=Thermometer -Transformer.name=Transformer -Tree_Resin.name=Tree Resin -Tree_Resin_Collector.name=Tree Resin Collector -Tungsten_Cable.name=Tungsten Cable -Tungsten_Dust.name=Tungsten Dust -Tungsten_Ingot.name=Tungsten Ingot -Tungsten_Ore.name=Tungsten Ore -Tutorial_Sign.name=Tutorial Sign -Very_High_Voltage_Cable.name=Very High Voltage Cable -Very_High_Voltage_Relay.name=Very High Voltage Relay -Very_High_Voltage_Switch.name=Very High Voltage Switch -Voltage-to-Redstone_Converter.name=Voltage-to-Redstone Converter -Voltage_Oriented_Battery.name=Voltage Oriented Battery -Voltage_Probe.name=Voltage Probe -Water_Turbine.name=Water Turbine -Weak_50V_Battery_Charger.name=Weak 50V Battery Charger -White_Brush.name=White Brush -Wind_Turbine.name=Wind Turbine -Wireless_Analyser.name=Wireless Analyzer -Wireless_Button.name=Wireless Button -Wireless_Signal_Receiver.name=Wireless Signal Receiver -Wireless_Signal_Repeater.name=Wireless Signal Repeater -Wireless_Signal_Transmitter.name=Wireless Signal Transmitter -Wireless_Switch.name=Wireless Switch -Wrench.name=Wrench -X-Ray_Scanner.name=X-Ray Scanner -XNOR_Chip.name=XNOR Chip -XOR_Chip.name=XOR Chip -Yellow_Brush.name=Yellow Brush -entity.EAReplicator.name=Replicator -item.Copper Axe.name\=Copper Axe -item.Copper Axe.name\=Copper Axe -item.Copper Axe.name\=Copper Axe -item.Copper Axe.name\=Copper Axe -item.Copper Axe.name\=Copper Axe -item.Copper Axe.name\=Copper Axe -item.Copper Axe.name\=Copper Axe -item.Copper Axe.name\=Copper Axe -item.Copper Axe.name\=Copper Axe -item.E-Coal Boots.name\=E-Coal Boots -item.E-Coal Boots.name\=E-Coal Boots -item.E-Coal Boots.name\=E-Coal Boots -item.E-Coal Boots.name\=E-Coal Boots -itemGroup.Eln=Electrical Age -mod.meta.desc=Electricity in your base\! -tile.eln.ElnProbe.name=Eln Computer Probe -tile.eln.EnergyConverterElnToOtherHVUBlock.name=800V Electrical Age to other energy exporter -tile.eln.EnergyConverterElnToOtherLVUBlock.name=50V Electrical Age to other energy exporter -tile.eln.EnergyConverterElnToOtherMVUBlock.name=200V Electrical Age to other energy exporter - -# ./src/main/java/mods/eln/i18n/I18N.java -You_have_%s_lives_left=You have %s lives left - -# ./src/main/java/mods/eln/item/BrushDescriptor.java -Brush_is_dry=Brush is dry -Can_paint_%s_blocks=Can paint %s blocks - -# ./src/main/java/mods/eln/item/CombustionChamber.java -Upgrade_for_the_Stone_Heat_Furnace.=Upgrade for the Stone Heat Furnace. - -# ./src/main/java/mods/eln/item/ElectricalDrillDescriptor.java -Energy_per_operation\:_%sJ=Energy per operation\: %sJ -Time_per_operation\:_%ss=Time per operation\: %ss - -# ./src/main/java/mods/eln/item/FerromagneticCoreDescriptor.java -Cable_loss_factor\:_%s=Cable loss factor\: %s - -# ./src/main/java/mods/eln/item/HeatingCorpElement.java - -# ./src/main/java/mods/eln/item/LampDescriptor.java -Bad=Bad -Condition\:=Condition\: -End_of_life=End of life -Good=Good -New=New -Nominal_lifetime\:_%sh=Nominal lifetime\: %sh -Technology\:_%s=Technology\: %s -Used=Used - -# ./src/main/java/mods/eln/item/LampSlot.java -Lamp_slot=Lamp slot - -# ./src/main/java/mods/eln/item/OverHeatingProtectionDescriptor.java -Useful_to_prevent_overheating\nof_Batteries=Useful to prevent overheating\nof Batteries - -# ./src/main/java/mods/eln/item/OverVoltageProtectionDescriptor.java -Useful_to_prevent_over-voltage\nof_Batteries=Useful to prevent over-voltage\nof Batteries - -# ./src/main/java/mods/eln/item/SolarTrackerDescriptor.java -Solar_panel_upgrade=Solar panel upgrade - -# ./src/main/java/mods/eln/item/electricalitem/BatteryItem.java - -# ./src/main/java/mods/eln/item/electricalitem/ElectricalLampItem.java -Off=Off -On=On -State\:=State\: -Stored_Energy\:_%sJ_(%s)=Stored Energy\: %sJ (%s) - -# ./src/main/java/mods/eln/item/regulator/RegulatorSlot.java - -# ./src/main/java/mods/eln/misc/UtilsClient.java -Hold_shift=Hold shift - -# ./src/main/java/mods/eln/misc/Version.java -mod.name=Electrical Age - -# ./src/main/java/mods/eln/node/six/SixNodeDescriptor.java - -# ./src/main/java/mods/eln/simplenode/energyconverter/EnergyConverterElnToOtherGui.java -Input_power_is_limited_to_%sW=Input power is limited to %sW - -# ./src/main/java/mods/eln/sixnode/LogicGate.kt -_O\:_= O\: - -# ./src/main/java/mods/eln/sixnode/TreeResinCollector/TreeResinCollectorDescriptor.java -Produces_Tree_Resin_over\ntime_when_put_on_a_tree.=Produces Tree Resin over\ntime when put on a tree. -This_block_can_only_be_placed_on_the_side_of_a_tree!=This block can only be placed on the side of a tree\! - -# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerContainer.java -Battery_slot=Battery slot - -# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerDescriptor.java -Can_be_used_to_recharge\nelectrical_items_like\:\nFlash_Light,_X-Ray_scanner\nand_Portable_Battery_...=Can be used to recharge\nelectrical items like\:\nFlash Light, X-Ray scanner\nand Portable Battery ... - -# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerGui.java - -# ./src/main/java/mods/eln/sixnode/diode/DiodeDescriptor.java -Electrical_current_can_only\nflow_through_the_diode\nfrom_anode_to_cathode=Electrical current can only\nflow through the diode\nfrom anode to cathode - -# ./src/main/java/mods/eln/sixnode/electricalalarm/ElectricalAlarmDescriptor.java -= -Emits_an_acoustic_alarm_if\nthe_input_signal_is_high=Emits an acoustic alarm if\nthe input signal is high - -# ./src/main/java/mods/eln/sixnode/electricalalarm/ElectricalAlarmGui.java -Sound_is_muted=Sound is muted -Sound_is_not_muted=Sound is not muted - -# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerContainer.java - -# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerDescriptor.java -Protects_electrical_components\nOpens_contact_if\:\n__-_Voltage_exceeds_a_certain_level\n-_Current_exceeds_the_cable_limit=Protects electrical components\nOpens contact if\:\n - Voltage exceeds a certain level\n- Current exceeds the cable limit - -# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerGui.java -Maximum_voltage_before_cutting_off=Maximum voltage before cutting off -Minimum_voltage_before_cutting_off=Minimum voltage before cutting off -Switch_is_off=Switch is off -Switch_is_on=Switch is on - -# ./src/main/java/mods/eln/sixnode/electricalcable/ElectricalCableDescriptor.java -A_signal_is_electrical_information\nwhich_must_be_between_0V_and_%sV=A signal is electrical information\nwhich must be between 0V and %sV -Cable_is_adapted_to_conduct\nelectrical_signals.=Cable is adapted to conduct\nelectrical signals. -Current\:_%sA=Current\: %sA -Not_adapted_to_transport_power.=Not adapted to transport power. -Save_usage\:=Save usage\: -Serial_resistance\:_%sΩ=Serial resistance\: %sΩ - -# ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerDescriptor.java -It_can_store_up_to_256_points.=It can store up to 256 points. -Measures_the_voltage_of_an\nelectrical_signal_and_plots\nthe_data_in_real_time.=Measures the voltage of an\nelectrical signal and plots\nthe data in real time. - -# ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerGui.java -Back_to_display=Back to display -Configuration=Configuration -Current_[A]=Current [A] -Energy_[J]=Energy [J] -Percent_[-]%=Percent [-]% -Power_[W]=Power [W] -Print=Print -Sampling_period=Sampling period -Temp._[*C]=Temp. [*C] -Voltage_[V]=Voltage [V] -Y-axis_max=Y-axis max -Y-axis_min=Y-axis min - -# ./src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorContainer.java - -# ./src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorDescriptor.java -Output_voltage_increases\nif_entities_are_moving_around.=Output voltage increases\nif entities are moving around. - -# ./src/main/java/mods/eln/sixnode/electricalfiredetector/ElectricalFireDetectorDescriptor.java -Output_voltage_increases\nif_a_fire_has_been_detected.=Output voltage increases\nif a fire has been detected. - -# ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceDescriptor.java -Provides_configurable_signal\nvoltage.=Provides configurable signal\nvoltage. - -# ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceGui.java -Output_at_%s=Output at %s - -# ./src/main/java/mods/eln/sixnode/electricallightsensor/ElectricalLightSensorDescriptor.java -0V_at_night,_%sV_at_noon.=0V at night, %sV at noon. -Provides_an_electrical_voltage\nin_the_presence_of_light.=Provides an electrical voltage\nin the presence of light. -Provides_an_electrical_voltage\nwhich_is_proportional_to\nthe_intensity_of_daylight.=Provides an electrical voltage\nwhich is proportional to\nthe intensity of daylight. - -# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathContainer.java - -# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathDescriptor.java -Applicable_boolean_operators\:=Applicable boolean operators\: -Applicable_functions\:=Applicable functions\: -Applicable_mathematical_operators\:=Applicable mathematical operators\: -Calculates_an_output_signal_from\n3_inputs_(A,_B,_C)_using_an_equation.=Calculates an output signal from\n3 inputs (A, B, C) using an equation. - -# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathGui.java -%s_Redstone(s)_required=%s Redstone(s) required -Equation_required!=Equation required\! -Inputs_are=Inputs are -Invalid_equation!=Invalid equation\! -Output_voltage_formula=Output voltage formula -Waiting_for_completion...=Waiting for completion... - -# ./src/main/java/mods/eln/sixnode/electricalredstoneinput/ElectricalRedstoneInputDescriptor.java -Converts_Redstone_signal\nto_an_electrical_voltage.=Converts Redstone signal\nto an electrical voltage. - -# ./src/main/java/mods/eln/sixnode/electricalredstoneoutput/ElectricalRedstoneOutputDescriptor.java -Converts_electrical_voltage\ninto_a_Redstone_signal.=Converts electrical voltage\ninto a Redstone signal. - -# ./src/main/java/mods/eln/sixnode/electricalrelay/ElectricalRelayDescriptor.java -A_relay_is_an_electrical\ncontact_that_conducts_electric\ncurrent_or_not,_depending\nthe_actual_input_signal_voltage.=A relay is an electrical\ncontact that conducts electric\ncurrent or not, depending\nthe actual input signal voltage. - -# ./src/main/java/mods/eln/sixnode/electricalrelay/ElectricalRelayGui.java -Normally_closed=Normally closed -Normally_open=Normally open - -# ./src/main/java/mods/eln/sixnode/electricalsource/ElectricalSourceDescriptor.java -Creative_block.=Creative block. -Provides_an_ideal_voltage_source\nwithout_energy_or_power_limitation.=Provides an ideal voltage source\nwithout energy or power limitation. - -# ./src/main/java/mods/eln/sixnode/electricalsource/ElectricalSourceGui.java -Output_voltage=Output voltage - -# ./src/main/java/mods/eln/sixnode/electricalswitch/ElectricalSwitchDescriptor.java -Can_break_an_electrical_circuit\ninterrupting_the_current.=Can break an electrical circuit\ninterrupting the current. - -# ./src/main/java/mods/eln/sixnode/electricaltimeout/ElectricalTimeoutDescriptor.java -Upon_application_of_a_high_signal,\nthe_timer_maintains_the_output_high_for\na_configurable_interval._Can_be_re-triggered.=Upon application of a high signal,\nthe timer maintains the output high for\na configurable interval. Can be re-triggered. - -# ./src/main/java/mods/eln/sixnode/electricaltimeout/ElectricalTimeoutGui.java -Set=Set -The_time_interval_the\noutput_is_kept_high.=The time interval the\noutput is kept high. - -# ./src/main/java/mods/eln/sixnode/electricalvumeter/ElectricalVuMeterDescriptor.java -Displays_the_value_of_a_signal.=Displays the value of a signal. - -# ./src/main/java/mods/eln/sixnode/electricalwatch/ElectricalWatchContainer.java -Portable_battery_slot=Portable battery slot - -# ./src/main/java/mods/eln/sixnode/electricalweathersensor/ElectricalWeatherSensorDescriptor.java -Clear\:_%sV=Clear\: %sV -Provides_an_electrical_signal\ndepending_the_actual_weather.=Provides an electrical signal\ndepending the actual weather. -Rain\:_%sV=Rain\: %sV -Storm\:_%sV=Storm\: %sV - -# ./src/main/java/mods/eln/sixnode/electricalwindsensor/ElectricalWindSensorDescriptor.java -Maximum_wind_speed_is_%sm_s=Maximum wind speed is %sm/s -Provides_an_electrical_signal\ndependant_on_wind_speed.=Provides an electrical signal\ndependant on wind speed. -You_can't_place_this_block_on_the_floor_or_the_ceiling=You can't place this block on the floor or the ceiling - -# ./src/main/java/mods/eln/sixnode/electricasensor/ElectricalSensorDescriptor.java -Can_measure_Voltage_Power_Current=Can measure Voltage/Power/Current -Measures_electrical_values_on_cables.=Measures electrical values on cables. -Measures_voltage_on_cables.=Measures voltage on cables. - -# ./src/main/java/mods/eln/sixnode/electricasensor/ElectricalSensorGui.java -Current=Current -Measured_voltage\ncorresponding\nto_0%_output=Measured voltage\ncorresponding\nto 0% output -Measured_voltage\ncorresponding\nto_100%_output=Measured voltage\ncorresponding\nto 100% output -Voltage=Voltage - -# ./src/main/java/mods/eln/sixnode/energymeter/EnergyMeterGui.java -Change_password=Change password -Counter_Mode=Counter Mode -Counts_the_energy_conducted_from\n\u00a74red\u00a7f_to_\u00a71blue\u00a7f.=Counts the energy conducted from\n\\u00a74red\\u00a7f to \\u00a71blue\\u00a7f. -Energy_counter\:_%sJ=Energy counter\: %sJ -Enter_new_energy=Enter new energy -Enter_password=Enter password -Prepay_Mode=Prepay Mode -Reset_time_counter=Reset time counter -Set_energy_counter=Set energy counter -Time_counter\:=Time counter\: -Try_password=Try password -You_can_set_an_initial\namount_of_available_energy.\nWhen_the_counter_arrives_at_0\nthe_contact_will_be_opened.=You can set an initial\namount of available energy.\nWhen the counter arrives at 0\nthe contact will be opened. -is_off=is off -is_on=is on -value_in_kJ=value in kJ - -# ./src/main/java/mods/eln/sixnode/groundcable/GroundCableDescriptor.java -Can_be_used_to_set_a_point_of_an\nelectrical_network_to_0V_potential.\nFor_example_to_ground_negative_battery_contacts.=Can be used to set a point of an\nelectrical network to 0V potential.\nFor example to ground negative battery contacts. -Provides_a_zero_volt_reference.=Provides a zero volt reference. - -# ./src/main/java/mods/eln/sixnode/hub/HubDescriptor.java -Allows_crossing_cables\non_one_single_block.=Allows crossing cables\non one single block. - -# ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketDescriptor.java -Angle\:_%s°_to_%s°=Angle\: %s° to %s° -Spot_range\:_%s_blocks=Spot range\: %s blocks - -# ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketGuiDraw.java -%s_is_not_in_range!=%s is not in range\! -Cable_slot_empty=Cable slot empty -Orientation\:_%s°=Orientation\: %s° -Parallel=Parallel -Powered_by_Lamp_Supply=Powered by Lamp Supply -Powered_by_cable=Powered by cable -Serial=Serial -Specify_the_supply_channel=Specify the supply channel - -# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyContainer.java -Electrical_cable_slot\nBase_range_is_32_blocks.\nEach_additional_cable\nincreases_range_by_one.=Electrical cable slot\nBase range is 32 blocks.\nEach additional cable\nincreases range by one. - -# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyDescriptor.java -Supplies_all_lamps_on_the_channel.=Supplies all lamps on the channel. - -# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyGui.java -Power_channel_name=Power channel name -Wireless_channel_name=Wireless channel name - -# ./src/main/java/mods/eln/sixnode/modbusrtu/ModbusRtuGui.java -Add=Add -Channel_name=Channel name -Modbus_ID=Modbus ID -Modbus_RTU=Modbus RTU -Station_ID=Station ID -Station_name=Station name -Wireless_RX=Wireless RX -Wireless_TX=Wireless TX - -# ./src/main/java/mods/eln/sixnode/powercapacitorsix/PowerCapacitorSixContainer.java -(Increases_maximum_voltage)=(Increases maximum voltage) - -# ./src/main/java/mods/eln/sixnode/powercapacitorsix/PowerCapacitorSixGui.java - -# ./src/main/java/mods/eln/sixnode/powerinductorsix/PowerInductorSixContainer.java - -# ./src/main/java/mods/eln/sixnode/powerinductorsix/PowerInductorSixGui.java - -# ./src/main/java/mods/eln/sixnode/powersocket/PowerSocketDescriptor.java -Supplies_any_device\nplugged_in_with_energy.=Supplies any device\nplugged in with energy. - -# ./src/main/java/mods/eln/sixnode/powersocket/PowerSocketGui.java -Specify_the_device_to_supply_through_this_socket.=Specify the device to supply through this socket. - -# ./src/main/java/mods/eln/sixnode/resistor/ResistorContainer.java -(Sets_resistance)=(Sets resistance) -Coal_dust_slot=Coal dust slot - -# ./src/main/java/mods/eln/sixnode/thermalcable/ThermalCableDescriptor.java -High_parallel_resistance\n_\=>_Low_power_dissipation.=High parallel resistance\n \=> Low power dissipation. -Low_serial_resistance\n_\=>_High_conductivity.=Low serial resistance\n \=> High conductivity. -Parallel_resistance\:_%sK_W=Parallel resistance\: %sK/W -Serial_resistance\:_%sK_W=Serial resistance\: %sK/W - -# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorContainer.java -Cable_slot=Cable slot - -# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorDescriptor.java -Can_measure\:=Can measure\: -Measures_temperature_of_cables.=Measures temperature of cables. -Measures_thermal_values_on_cables.=Measures thermal values on cables. -__Temperature_Power_conducted=Temperature/Power conducted - -# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorGui.java -Measured_temperature\ncorresponding\nto_0%_output=Measured temperature\ncorresponding\nto 0% output -Measured_temperature\ncorresponding\nto_100%_output=Measured temperature\ncorresponding\nto 100% output -Temperature=Temperature - -# ./src/main/java/mods/eln/sixnode/tutorialsign/TutorialSignElement.java -No_text_associated_to_this_beacon=No text associated to this beacon - -# ./src/main/java/mods/eln/sixnode/tutorialsign/TutorialSignGui.java -Set_beacon_name=Set beacon name - -# ./src/main/java/mods/eln/sixnode/wirelesssignal/rx/WirelessSignalRxGui.java - -# ./src/main/java/mods/eln/transparentnode/FuelGenerator.kt -Nominal_power\:_%s_W=Nominal power\: %s W -Nominal_voltage\:_%s_V=Nominal voltage\: %s V -Produces_electricity_using_fuel.=Produces electricity using fuel. - -# ./src/main/java/mods/eln/transparentnode/LargeRheostat.kt -Nom._Resistance\:_%s=Nom. Resistance\: %s - -# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerContainer.java -Drill_slot=Drill slot -Mining_pipe_slot=Mining pipe slot -Ore_scanner_slot=Ore scanner slot - -# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerDescriptor.java -Excavates_on_a_small_radius.\nExtracts_ore_on_a_bigger_radius\:\n10_blocks_radius_after_10_blocks_depth.=Excavates on a small radius.\nExtracts ore on a bigger radius\:\n10 blocks radius after 10 blocks depth. - -# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerGuiDraw.java -Chest_missing_on_the\nback_of_the_auto_miner!=Chest missing on the\nback of the auto miner\! -Halves_speed,_triples_power_draw=Halves speed, triples power draw -Silk_Touch_Off=Silk Touch Off -Silk_Touch_On=Silk Touch On -Silk_touch=Silk touch - -# ./src/main/java/mods/eln/transparentnode/battery/BatteryContainer.java -Overheating_protection=Overheating protection -Overvoltage_protection=Overvoltage protection - -# ./src/main/java/mods/eln/transparentnode/battery/BatteryDescriptor.java -Actual_charge\:_%s=Actual charge\: %s -Energy_capacity\:_%sJ=Energy capacity\: %sJ -_charged_at_%s=charged at %s - -# ./src/main/java/mods/eln/transparentnode/battery/BatteryGuiDraw.java -Charge=Charge -Charged=Charged -Discharge=Discharge -Energy\:=Energy\: -Energy\:_%s=Energy\: %s -Life\:=Life\: -No_charge=No charge -Power_in\:=Power in\: -Power_out\:=Power out\: - -# ./src/main/java/mods/eln/transparentnode/eggincubator/EggIncubatorContainer.java -Egg_slot=Egg slot - -# ./src/main/java/mods/eln/transparentnode/electricalantennarx/ElectricalAntennaRxDescriptor.java -Wireless_energy_receiver.=Wireless energy receiver. - -# ./src/main/java/mods/eln/transparentnode/electricalantennatx/ElectricalAntennaTxDescriptor.java -Efficiency\:_%s_up_to_%s=Efficiency\: %s up to %s -Wireless_energy_transmitter.=Wireless energy transmitter. - -# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceContainer.java -Heating_corp_slot=Heating corp slot - -# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceDescriptor.java -Similar_to_a_vanilla_furnace,\nbut_heats_with_electricity.=Similar to a vanilla furnace,\nbut heats with electricity. - -# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceGuiDraw.java -Auto_shutdown=Auto shutdown -Manual_shutdown=Manual shutdown -Set_point\:_%s°C=Set point\: %s°C - -# ./src/main/java/mods/eln/transparentnode/electricalmachine/ElectricalMachineDescriptor.java -Cost=Cost - -# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceContainer.java -Combustion_chamber_slot=Combustion chamber slot -Fuel_slot=Fuel slot - -# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceDescriptor.java -Generates_heat_when_supplied_with_fuel.=Generates heat when supplied with fuel. - -# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceGuiDraw.java -Control_gauge_at_%s=Control gauge at %s -Decline_fuel=Decline fuel -External_control=External control -Internal_control=Internal control -Take_fuel=Take fuel - -# ./src/main/java/mods/eln/transparentnode/powercapacitor/PowerCapacitorContainer.java -(Increases_maximal_voltage)=(Increases maximal voltage) - -# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelContainer.java -Solar_tracker_slot=Solar tracker slot - -# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelDescriptor.java -Can_be_geared_towards_the_sun.=Can be geared towards the sun. -Max._power\:_%sW=Max. power\: %sW -Max._voltage\:_%sV=Max. voltage\: %sV -Produces_power_from_solar_radiation.=Produces power from solar radiation. - -# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPannelGuiDraw.java -It_is_night=It is night -Solar_panel_angle\:_%s°=Solar panel angle\: %s° -Sun_angle\:_%s°=Sun angle\: %s° - -# ./src/main/java/mods/eln/transparentnode/teleporter/TeleporterGui.java -Destination_transporter=Destination transporter -Power_consumption\:=Power consumption\: -Power_consumption\:_%sW=Power consumption\: %sW -Required_energy\:_%sJ=Required energy\: %sJ -Start=Start -Transporter_name=Transporter name - -# ./src/main/java/mods/eln/transparentnode/thermaldissipatoractive/ThermalDissipatorActiveDescriptor.java -Fan_cooling_power\:_%sW=Fan cooling power\: %sW -Fan_power_consumption\:_%sW=Fan power consumption\: %sW -Fan_voltage\:_%sV=Fan voltage\: %sV - -# ./src/main/java/mods/eln/transparentnode/transformer/TransformerDescriptor.java -The_voltage_ratio_is_proportional\nto_the_cable_stacks_count_ratio.=The voltage ratio is proportional\nto the cable stacks count ratio. -Transforms_an_input_voltage_to\nan_output_voltage.=Transforms an input voltage to\nan output voltage. - -# ./src/main/java/mods/eln/transparentnode/turbine/TurbineDescriptor.java -Generates_electricity_using_heat.=Generates electricity using heat. -Temperature_difference\:_%s°C=Temperature difference\: %s°C - -# ./src/main/java/mods/eln/transparentnode/turret/TurretDescriptor.java -CAUTION\:_Cables_can_get_quite_hot!=CAUTION\: Cables can get quite hot\! -Laser_charge_power\:_%sW...%skW=Laser charge power\: %sW...%skW -Scans_for_entities_and_shoots_if_the\nentity_matches_the_configurable_filter_criteria.=Scans for entities and shoots if the\nentity matches the configurable filter criteria. -Standby_power\:_%sW=Standby power\: %sW - -# ./src/main/java/mods/eln/transparentnode/turret/TurretGui.java -Attack\:=Attack\: -Do_not_attack\:=Do not attack\: -Recharge_power\:=Recharge power\: - -# ./src/main/java/mods/eln/transparentnode/waterturbine/WaterTurbineDescriptor.java -Generates_energy_using_water_stream.=Generates energy using water stream. -No_place_for_water_turbine!=No place for water turbine\! - -# ./src/main/java/mods/eln/transparentnode/windturbine/WindTurbineDescriptor.java -Front\:_%s=Front\: %s -Generates_energy_from_wind.=Generates energy from wind. -Left_Right\:_%s=Left/Right\: %s -Up_Down\:_%s=Up/Down\: %s -Wind_area\:=Wind area\: - -# ./src/main/java/mods/eln/wiki/Data.java -Energy=Energy -Light=Light -Machine=Machine -Ore=Ore -Portable=Portable -Resource=Resource -Signal=Signal -Thermal=Thermal -Upgrade=Upgrade -Utilities=Utilities -Wiring=Wiring - -# ./src/main/java/mods/eln/wiki/Default.java -Previous=Previous - -# ./src/main/java/mods/eln/wiki/ItemDefault.java -Can_be_used_to_craft\:=Can be used to craft\: -Cannot_be_crafted!=Cannot be crafted\! -Cost_%sJ=Cost %sJ -Created_by\:=Created by\: -Is_not_a_crafting_material!=Is not a crafting material\! -Recipe\:=Recipe\: - -# Appearing in multiple source files -(Increases_capacity)=(Increases capacity) -(Increases_inductance)=(Increases inductance) -Actual\:_%s°C=Actual\: %s°C -Biggest=Biggest -Booster_slot=Booster slot -Can_create\:=Can create\: -Capacity\:_%sF=Capacity\: %sF -Charge_power\:_%sW=Charge power\: %sW -Connected=Connected -Cooling_power\:_%sW=Cooling power\: %sW -Copper_cable_slot=Copper cable slot -Dielectric_slot=Dielectric slot -Discharge_power\:_%sW=Discharge power\: %sW -Electrical_cable_slot=Electrical cable slot -Entity_filter_slot=Entity filter slot -Ferromagnetic_core_slot=Ferromagnetic core slot -Has_a_signal_output.=Has a signal output. -Inductance\:_%sH=Inductance\: %sH -Internal_resistance\:_%sΩ=Internal resistance\: %sΩ -Is_off=Is off -Is_on=Is on -Max._temperature\:_%s°C=Max. temperature\: %s°C -Measured_value\ncorresponding\nto_0%_output=Measured value\ncorresponding\nto 0% output -Measured_value\ncorresponding\nto_100%_output=Measured value\ncorresponding\nto 100% output -Nominal\:=Nominal\: -Nominal_power\:_%sW=Nominal power\: %sW -Nominal_usage\:=Nominal usage\: -Nominal_voltage\:_%sV=Nominal voltage\: %sV -Not_connected=Not connected -Not_enough_space_for_this_block=Not enough space for this block -Power=Power -Power\:_%sW=Power\: %sW -Range\:_%s_blocks=Range\: %s blocks -Redstone_slot=Redstone slot -Regulator_slot=Regulator slot -Reset=Reset -Resistance\:_%sΩ=Resistance\: %sΩ -Smallest=Smallest -Specify_the_channel=Specify the channel -Stored_energy\:_%sJ_(%s)=Stored energy\: %sJ (%s) -Temperature\:_%s°C=Temperature\: %s°C -Temperature_gauge=Temperature gauge -Thermal_isolator_slot=Thermal isolator slot -Toggle=Toggle -Toggle_switch=Toggle switch -Toggles_the_output_each_time\nan_emitter's_value_rises.\nUseful_to_allow_multiple_buttons\nto_control_the_same_light.=Toggles the output each time\nan emitter's value rises.\nUseful to allow multiple buttons\nto control the same light. -Used_to_cool_down_turbines.=Used to cool down turbines. -Uses_the_biggest\nvalue_on_the_channel.=Uses the biggest\nvalue on the channel. -Uses_the_smallest\nvalue_on_the_channel.=Uses the smallest\nvalue on the channel. -Validate=Validate -Voltage\:_%sV=Voltage\: %sV -You_can't_place_this_block_at_this_side=You can't place this block at this side +eln:# +eln: +eln:# ./src/main/java/mods/eln/Achievements.java +eln:Electrical_Age_[WIP]=Electrical Age [WIP] +eln:achievement.craft_50v_macerator=Crushing Novice +eln:achievement.craft_50v_macerator.desc=Craft a 50V Macerator +eln:achievement.open_guide=Wiki Power +eln:achievement.open_guide.desc=Open the wiki guide +eln: +eln:# ./src/main/java/mods/eln/Eln.java +eln:10A_Diode.name=10A Diode +eln:200V_Active_Thermal_Dissipator.name=200V Active Thermal Dissipator +eln:200V_Battery_Charger.name=200V Battery Charger +eln:200V_Compressor.name=200V Compressor +eln:200V_Condensator.name=200V Condensator +eln:200V_Copper_Heating_Corp.name=200V Copper Heating Corp +eln:200V_Economic_Light_Bulb.name=200V Economic Light Bulb +eln:200V_Farming_Lamp.name=200V Farming Lamp +eln:200V_Fuel_Generator.name=200V Fuel Generator +eln:200V_Incandescent_Light_Bulb.name=200V Incandescent Light Bulb +eln:200V_Iron_Heating_Corp.name=200V Iron Heating Corp +eln:200V_LED_Bulb.name=200V LED Bulb +eln:200V_Macerator.name=200V Macerator +eln:200V_Magnetizer.name=200V Magnetizer +eln:200V_Plate_Machine.name=200V Plate Machine +eln:200V_Power_Socket.name=200V Power Socket +eln:200V_Tungsten_Heating_Corp.name=200V Tungsten Heating Corp +eln:200V_Turbine.name=200V Turbine +eln:25A_Diode.name=25A Diode +eln:50V_Battery_Charger.name=50V Battery Charger +eln:50V_Carbon_Incandescent_Light_Bulb.name=50V Carbon Incandescent Light Bulb +eln:50V_Compressor.name=50V Compressor +eln:50V_Condensator.name=50V Condensator +eln:50V_Copper_Heating_Corp.name=50V Copper Heating Corp +eln:50V_Economic_Light_Bulb.name=50V Economic Light Bulb +eln:50V_Egg_Incubator.name=50V Egg Incubator +eln:50V_Farming_Lamp.name=50V Farming Lamp +eln:50V_Fuel_Generator.name=50V Fuel Generator +eln:50V_Incandescent_Light_Bulb.name=50V Incandescent Light Bulb +eln:50V_Iron_Heating_Corp.name=50V Iron Heating Corp +eln:50V_LED_Bulb.name=50V LED Bulb +eln:50V_Macerator.name=50V Macerator +eln:50V_Magnetizer.name=50V Magnetizer +eln:50V_Plate_Machine.name=50V Plate Machine +eln:50V_Power_Socket.name=50V Power Socket +eln:50V_Tungsten_Heating_Corp.name=50V Tungsten Heating Corp +eln:50V_Turbine.name=50V Turbine +eln:800V_Defence_Turret.name=800V Defence Turret +eln:AND_Chip.name=AND Chip +eln:Advanced_Chip.name=Advanced Chip +eln:Advanced_Electrical_Motor.name=Advanced Electrical Motor +eln:Advanced_Energy_Meter.name=Advanced Energy Meter +eln:Advanced_Machine_Block.name=Advanced Machine Block +eln:Advanced_Magnet.name=Advanced Magnet +eln:AllMeter.name=Universal-Meter +eln:Alloy_Dust.name=Alloy Dust +eln:Alloy_Ingot.name=Alloy Ingot +eln:Alloy_Plate.name=Alloy Plate +eln:Analog_Watch.name=Analog watch +eln:Analog_vuMeter.name=Analog Gauge +eln:Analogic_Regulator.name=Analogic Regulator +eln:Animal_Filter.name=Animal Filter +eln:Auto_Miner.name=Auto Miner +eln:Average_Electrical_Drill.name=Average Electrical Drill +eln:Average_Ferromagnetic_Core.name=Average Ferromagnetic Core +eln:Basic_Magnet.name=Basic Magnet +eln:Black_Brush.name=Black Brush +eln:Blue_Brush.name=Blue Brush +eln:Brown_Brush.name=Brown Brush +eln:Capacity_Oriented_Battery.name=Capacity Oriented Battery +eln:Cheap_Chip.name=Cheap Chip +eln:Cheap_Electrical_Drill.name=Cheap Electrical Drill +eln:Cheap_Ferromagnetic_Core.name=Cheap Ferromagnetic Core +eln:Cinnabar_Dust.name=Cinnabar Dust +eln:Cinnabar_Ore.name=Cinnabar Ore +eln:Coal_Dust.name=Coal Dust +eln:Coal_Plate.name=Coal Plate +eln:Combustion_Chamber.name=Combustion Chamber +eln:Copper_Cable.name=Copper Cable +eln:Copper_Dust.name=Copper Dust +eln:Copper_Ingot.name=Copper Ingot +eln:Copper_Ore.name=Copper Ore +eln:Copper_Plate.name=Copper Plate +eln:Copper_Thermal_Cable.name=Copper Thermal Cable +eln:Cost_Oriented_Battery.name=Cost Oriented Battery +eln:Current_Oriented_Battery.name=Current Oriented Battery +eln:Cyan_Brush.name=Cyan Brush +eln:D_Flip_Flop_Chip.name=D Flip Flop Chip +eln:Data_Logger.name=Data Logger +eln:Data_Logger_Print.name=Data Logger Print +eln:Dielectric.name=Dielectric +eln:Digital_Watch.name=Digital Watch +eln:Electrical_Anemometer_Sensor.name=Electrical Anemometer Sensor +eln:Electrical_Breaker.name=Electrical Breaker +eln:Electrical_Daylight_Sensor.name=Electrical Daylight Sensor +eln:Electrical_Entity_Sensor.name=Electrical Entity Sensor +eln:Electrical_Fire_Detector.name=Electrical Fire Detector +eln:Electrical_Furnace.name=Electrical Furnace +eln:Electrical_Light_Sensor.name=Electrical Light Sensor +eln:Electrical_Motor.name=Electrical Motor +eln:Electrical_Probe.name=Electrical Probe +eln:Electrical_Probe_Chip.name=Electrical Probe Chip +eln:Electrical_Source.name=Electrical Source +eln:Electrical_Timer.name=Electrical Timer +eln:Electrical_Weather_Sensor.name=Electrical Weather Sensor +eln:Electrical_age_wrench,\nCan_be_used_to_turn\nsmall_wall_blocks=Electrical age wrench,\nCan be used to turn\nsmall wall blocks +eln:Energy_Meter.name=Energy Meter +eln:Experimental_Transporter.name=Experimental Transporter +eln:Fast_Electrical_Drill.name=Fast Electrical Drill +eln:Ferrite_Ingot.name=Ferrite Ingot +eln:Flat_Lamp_Socket.name=Flat Lamp Socket +eln:Fluorescent_Lamp_Socket.name=Fluorescent Lamp Socket +eln:Generator.name=Generator +eln:Gold_Dust.name=Gold Dust +eln:Gold_Plate.name=Gold Plate +eln:Gray_Brush.name=Gray Brush +eln:Green_Brush.name=Green Brush +eln:Ground_Cable.name=Ground Cable +eln:High_Power_Receiver_Antenna.name=High Power Receiver Antenna +eln:High_Power_Transmitter_Antenna.name=High Power Transmitter Antenna +eln:High_Voltage_Cable.name=High Voltage Cable +eln:High_Voltage_Relay.name=High Voltage Relay +eln:High_Voltage_Switch.name=High Voltage Switch +eln:Hub.name=Hub +eln:Industrial_Data_Logger.name=Industrial Data Logger +eln:Iron_Cable.name=Iron Cable +eln:Iron_Dust.name=Iron Dust +eln:Iron_Plate.name=Iron Plate +eln:JK_Flip_Flop_Chip.name=JK Flip Flop Chip +eln:LED_vuMeter.name=LED vuMeter +eln:Lamp_Socket_A.name=Lamp Socket A +eln:Lamp_Socket_B_Projector.name=Lamp Socket B Projector +eln:Lamp_Supply.name=Lamp Supply +eln:Large_Rheostat.name=Large Rheostat +eln:Lead_Dust.name=Lead Dust +eln:Lead_Ingot.name=Lead Ingot +eln:Lead_Ore.name=Lead Ore +eln:Lead_Plate.name=Lead Plate +eln:Life_Oriented_Battery.name=Life Oriented Battery +eln:Light_Blue_Brush.name=Light Blue Brush +eln:Lime_Brush.name=Lime Brush +eln:Long_Suspended_Lamp_Socket.name=Long Suspended Lamp Socket +eln:Low_Power_Receiver_Antenna.name=Low Power Receiver Antenna +eln:Low_Power_Transmitter_Antenna.name=Low Power Transmitter Antenna +eln:Low_Voltage_Cable.name=Low Voltage Cable +eln:Low_Voltage_Relay.name=Low Voltage Relay +eln:Low_Voltage_Switch.name=Low Voltage Switch +eln:Machine_Block.name=Machine Block +eln:Machine_Booster.name=Machine Booster +eln:Magenta_Brush.name=Magenta Brush +eln:Medium_Power_Receiver_Antenna.name=Medium Power Receiver Antenna +eln:Medium_Power_Transmitter_Antenna.name=Medium Power Transmitter Antenna +eln:Medium_Voltage_Cable.name=Medium Voltage Cable +eln:Medium_Voltage_Relay.name=Medium Voltage Relay +eln:Medium_Voltage_Switch.name=Medium Voltage Switch +eln:Mercury.name=Mercury +eln:Mining_Pipe.name=Mining Pipe +eln:Modbus_RTU.name=Modbus RTU +eln:Modern_Data_Logger.name=Modern Data Logger +eln:Monster_Filter.name=Monster Filter +eln:MultiMeter.name=Multimeter +eln:NAND_Chip.name=NAND Chip +eln:NOR_Chip.name=NOR Chip +eln:NOT_Chip.name=NOT Chip +eln:Nuclear_Alarm.name=Nuclear Alarm +eln:OR_Chip.name=OR Chip +eln:On_OFF_Regulator_10_Percent.name=On/off regulator 10% +eln:On_OFF_Regulator_1_Percent.name=On/off regulator 1% +eln:Optimal_Ferromagnetic_Core.name=Optimal Ferromagnetic Core +eln:Orange_Brush.name=Orange Brush +eln:Ore_Scanner.name=Ore Scanner +eln:Oscillator_Chip.name=Oscillator Chip +eln:Overheating_Protection.name=Overheating Protection +eln:Overvoltage_Protection.name=Overvoltage Protection +eln:PAL_Chip.name=PAL Chip +eln:Pink_Brush.name=Pink Brush +eln:Player_Filter.name=Player Filter +eln:Portable_Battery.name=Portable Battery +eln:Portable_Battery_Pack.name=Portable Battery Pack +eln:Portable_Condensator.name=Portable Condensator +eln:Portable_Condensator_Pack.name=Portable Condensator Pack +eln:Portable_Electrical_Axe.name=Portable Electrical Axe +eln:Portable_Electrical_Mining_Drill.name=Portable Electrical Mining Drill +eln:Power_Capacitor.name=Power Capacitor +eln:Power_Inductor.name=Power Inductor +eln:Power_Resistor.name=Power Resistor +eln:Power_capacitor.name=Power capacitor +eln:Power_inductor.name=Power inductor +eln:Purple_Brush.name=Purple Brush +eln:Red_Brush.name=Red Brush +eln:Redstone-to-Voltage_Converter.name=Redstone-to-Voltage Converter +eln:Rheostat.name=Rheostat +eln:Robust_Lamp_Socket.name=Robust Lamp Socket +eln:Rubber.name=Rubber +eln:Schmitt_Trigger_Chip.name=Schmitt Trigger Chip +eln:Sconce_Lamp_Socket.name=Sconce Lamp Socket +eln:Signal_20H_inductor.name=Signal 20H inductor +eln:Signal_Antenna.name=Signal Antenna +eln:Signal_Button.name=Signal Button +eln:Signal_Cable.name=Signal Cable +eln:Signal_Diode.name=Signal Diode +eln:Signal_Processor.name=Signal Processor +eln:Signal_Relay.name=Signal Relay +eln:Signal_Source.name=Signal Source +eln:Signal_Switch.name=Signal Switch +eln:Signal_Switch_with_LED.name=Signal Switch with LED +eln:Signal_Trimmer.name=Signal Trimmer +eln:Silicon_Dust.name=Silicon Dust +eln:Silicon_Ingot.name=Silicon Ingot +eln:Silicon_Plate.name=Silicon Plate +eln:Silver_Brush.name=Silver Brush +eln:Simple_Lamp_Socket.name=Simple Lamp Socket +eln:Single-use_Battery.name=Single-use Battery +eln:Small_200V_Copper_Heating_Corp.name=Small 200V Copper Heating Corp +eln:Small_200V_Iron_Heating_Corp.name=Small 200V Iron Heating Corp +eln:Small_200V_Tungsten_Heating_Corp.name=Small 200V Tungsten Heating Corp +eln:Small_50V_Carbon_Incandescent_Light_Bulb.name=Small 50V Carbon Incandescent Light Bulb +eln:Small_50V_Copper_Heating_Corp.name=Small 50V Copper Heating Corp +eln:Small_50V_Economic_Light_Bulb.name=Small 50V Economic Light Bulb +eln:Small_50V_Incandescent_Light_Bulb.name=Small 50V Incandescent Light Bulb +eln:Small_50V_Iron_Heating_Corp.name=Small 50V Iron Heating Corp +eln:Small_50V_Tungsten_Heating_Corp.name=Small 50V Tungsten Heating Corp +eln:Small_Active_Thermal_Dissipator.name=Small Active Thermal Dissipator +eln:Small_Flashlight.name=Small Flashlight +eln:Small_Passive_Thermal_Dissipator.name=Small Passive Thermal Dissipator +eln:Small_Rotating_Solar_Panel.name=Small Rotating Solar Panel +eln:Small_Solar_Panel.name=Small Solar Panel +eln:Solar_Tracker.name=Solar Tracker +eln:Standard_Alarm.name=Standard Alarm +eln:Steam_Turbine.name=Steam Turbine +eln:Stone_Heat_Furnace.name=Stone Heat Furnace +eln:Street_Light.name=Streetlight +eln:Suspended_Lamp_Socket.name=Suspended Lamp Socket +eln:Temperature_Probe.name=Temperature Probe +eln:Thermal_Probe.name=Thermal Probe +eln:Thermal_Probe_Chip.name=Thermal Probe Chip +eln:Thermistor.name=Thermistor +eln:ThermoMeter.name=Thermometer +eln:Transformer.name=Transformer +eln:Tree_Resin.name=Tree Resin +eln:Tree_Resin_Collector.name=Tree Resin Collector +eln:Tungsten_Cable.name=Tungsten Cable +eln:Tungsten_Dust.name=Tungsten Dust +eln:Tungsten_Ingot.name=Tungsten Ingot +eln:Tungsten_Ore.name=Tungsten Ore +eln:Tutorial_Sign.name=Tutorial Sign +eln:Very_High_Voltage_Cable.name=Very High Voltage Cable +eln:Very_High_Voltage_Relay.name=Very High Voltage Relay +eln:Very_High_Voltage_Switch.name=Very High Voltage Switch +eln:Voltage-to-Redstone_Converter.name=Voltage-to-Redstone Converter +eln:Voltage_Oriented_Battery.name=Voltage Oriented Battery +eln:Voltage_Probe.name=Voltage Probe +eln:Water_Turbine.name=Water Turbine +eln:Weak_50V_Battery_Charger.name=Weak 50V Battery Charger +eln:White_Brush.name=White Brush +eln:Wind_Turbine.name=Wind Turbine +eln:Wireless_Analyser.name=Wireless Analyzer +eln:Wireless_Button.name=Wireless Button +eln:Wireless_Signal_Receiver.name=Wireless Signal Receiver +eln:Wireless_Signal_Repeater.name=Wireless Signal Repeater +eln:Wireless_Signal_Transmitter.name=Wireless Signal Transmitter +eln:Wireless_Switch.name=Wireless Switch +eln:Wrench.name=Wrench +eln:X-Ray_Scanner.name=X-Ray Scanner +eln:XNOR_Chip.name=XNOR Chip +eln:XOR_Chip.name=XOR Chip +eln:Yellow_Brush.name=Yellow Brush +eln:entity.EAReplicator.name=Replicator +eln:item.Copper Axe.name\=Copper Axe +eln:item.Copper Axe.name\=Copper Axe +eln:item.Copper Axe.name\=Copper Axe +eln:item.Copper Axe.name\=Copper Axe +eln:item.Copper Axe.name\=Copper Axe +eln:item.Copper Axe.name\=Copper Axe +eln:item.Copper Axe.name\=Copper Axe +eln:item.Copper Axe.name\=Copper Axe +eln:item.Copper Axe.name\=Copper Axe +eln:item.E-Coal Boots.name\=E-Coal Boots +eln:item.E-Coal Boots.name\=E-Coal Boots +eln:item.E-Coal Boots.name\=E-Coal Boots +eln:item.E-Coal Boots.name\=E-Coal Boots +eln:itemGroup.Eln=Electrical Age +eln:mod.meta.desc=Electricity in your base\! +eln:tile.eln.ElnProbe.name=Eln Computer Probe +eln:tile.eln.EnergyConverterElnToOtherHVUBlock.name=800V Electrical Age to other energy exporter +eln:tile.eln.EnergyConverterElnToOtherLVUBlock.name=50V Electrical Age to other energy exporter +eln:tile.eln.EnergyConverterElnToOtherMVUBlock.name=200V Electrical Age to other energy exporter +eln: +eln:# ./src/main/java/mods/eln/i18n/I18N.java +eln:You_have_%s_lives_left=You have %s lives left +eln: +eln:# ./src/main/java/mods/eln/item/BrushDescriptor.java +eln:Brush_is_dry=Brush is dry +eln:Can_paint_%s_blocks=Can paint %s blocks +eln: +eln:# ./src/main/java/mods/eln/item/CombustionChamber.java +eln:Upgrade_for_the_Stone_Heat_Furnace.=Upgrade for the Stone Heat Furnace. +eln: +eln:# ./src/main/java/mods/eln/item/ElectricalDrillDescriptor.java +eln:Energy_per_operation\:_%sJ=Energy per operation\: %sJ +eln:Time_per_operation\:_%ss=Time per operation\: %ss +eln: +eln:# ./src/main/java/mods/eln/item/FerromagneticCoreDescriptor.java +eln:Cable_loss_factor\:_%s=Cable loss factor\: %s +eln: +eln:# ./src/main/java/mods/eln/item/HeatingCorpElement.java +eln: +eln:# ./src/main/java/mods/eln/item/LampDescriptor.java +eln:Bad=Bad +eln:Condition\:=Condition\: +eln:End_of_life=End of life +eln:Good=Good +eln:New=New +eln:Nominal_lifetime\:_%sh=Nominal lifetime\: %sh +eln:Technology\:_%s=Technology\: %s +eln:Used=Used +eln: +eln:# ./src/main/java/mods/eln/item/LampSlot.java +eln:Lamp_slot=Lamp slot +eln: +eln:# ./src/main/java/mods/eln/item/OverHeatingProtectionDescriptor.java +eln:Useful_to_prevent_overheating\nof_Batteries=Useful to prevent overheating\nof Batteries +eln: +eln:# ./src/main/java/mods/eln/item/OverVoltageProtectionDescriptor.java +eln:Useful_to_prevent_over-voltage\nof_Batteries=Useful to prevent over-voltage\nof Batteries +eln: +eln:# ./src/main/java/mods/eln/item/SolarTrackerDescriptor.java +eln:Solar_panel_upgrade=Solar panel upgrade +eln: +eln:# ./src/main/java/mods/eln/item/electricalitem/BatteryItem.java +eln: +eln:# ./src/main/java/mods/eln/item/electricalitem/ElectricalLampItem.java +eln:Off=Off +eln:On=On +eln:State\:=State\: +eln:Stored_Energy\:_%sJ_(%s)=Stored Energy\: %sJ (%s) +eln: +eln:# ./src/main/java/mods/eln/item/regulator/RegulatorSlot.java +eln: +eln:# ./src/main/java/mods/eln/misc/UtilsClient.java +eln:Hold_shift=Hold shift +eln: +eln:# ./src/main/java/mods/eln/misc/Version.java +eln:mod.name=Electrical Age +eln: +eln:# ./src/main/java/mods/eln/node/six/SixNodeDescriptor.java +eln: +eln:# ./src/main/java/mods/eln/simplenode/energyconverter/EnergyConverterElnToOtherGui.java +eln:Input_power_is_limited_to_%sW=Input power is limited to %sW +eln: +eln:# ./src/main/java/mods/eln/sixnode/LogicGate.kt +eln:_O\:_= O\: +eln: +eln:# ./src/main/java/mods/eln/sixnode/TreeResinCollector/TreeResinCollectorDescriptor.java +eln:Produces_Tree_Resin_over\ntime_when_put_on_a_tree.=Produces Tree Resin over\ntime when put on a tree. +eln:This_block_can_only_be_placed_on_the_side_of_a_tree!=This block can only be placed on the side of a tree\! +eln: +eln:# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerContainer.java +eln:Battery_slot=Battery slot +eln: +eln:# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerDescriptor.java +eln:Can_be_used_to_recharge\nelectrical_items_like\:\nFlash_Light,_X-Ray_scanner\nand_Portable_Battery_...=Can be used to recharge\nelectrical items like\:\nFlash Light, X-Ray scanner\nand Portable Battery ... +eln: +eln:# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerGui.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/diode/DiodeDescriptor.java +eln:Electrical_current_can_only\nflow_through_the_diode\nfrom_anode_to_cathode=Electrical current can only\nflow through the diode\nfrom anode to cathode +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalalarm/ElectricalAlarmDescriptor.java +eln:= +eln:Emits_an_acoustic_alarm_if\nthe_input_signal_is_high=Emits an acoustic alarm if\nthe input signal is high +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalalarm/ElectricalAlarmGui.java +eln:Sound_is_muted=Sound is muted +eln:Sound_is_not_muted=Sound is not muted +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerContainer.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerDescriptor.java +eln:Protects_electrical_components\nOpens_contact_if\:\n__-_Voltage_exceeds_a_certain_level\n-_Current_exceeds_the_cable_limit=Protects electrical components\nOpens contact if\:\n - Voltage exceeds a certain level\n- Current exceeds the cable limit +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerGui.java +eln:Maximum_voltage_before_cutting_off=Maximum voltage before cutting off +eln:Minimum_voltage_before_cutting_off=Minimum voltage before cutting off +eln:Switch_is_off=Switch is off +eln:Switch_is_on=Switch is on +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalcable/ElectricalCableDescriptor.java +eln:A_signal_is_electrical_information\nwhich_must_be_between_0V_and_%sV=A signal is electrical information\nwhich must be between 0V and %sV +eln:Cable_is_adapted_to_conduct\nelectrical_signals.=Cable is adapted to conduct\nelectrical signals. +eln:Current\:_%sA=Current\: %sA +eln:Not_adapted_to_transport_power.=Not adapted to transport power. +eln:Save_usage\:=Save usage\: +eln:Serial_resistance\:_%sΩ=Serial resistance\: %sΩ +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerDescriptor.java +eln:It_can_store_up_to_256_points.=It can store up to 256 points. +eln:Measures_the_voltage_of_an\nelectrical_signal_and_plots\nthe_data_in_real_time.=Measures the voltage of an\nelectrical signal and plots\nthe data in real time. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerGui.java +eln:Back_to_display=Back to display +eln:Configuration=Configuration +eln:Current_[A]=Current [A] +eln:Energy_[J]=Energy [J] +eln:Percent_[-]%=Percent [-]% +eln:Power_[W]=Power [W] +eln:Print=Print +eln:Sampling_period=Sampling period +eln:Temp._[*C]=Temp. [*C] +eln:Voltage_[V]=Voltage [V] +eln:Y-axis_max=Y-axis max +eln:Y-axis_min=Y-axis min +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorContainer.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorDescriptor.java +eln:Output_voltage_increases\nif_entities_are_moving_around.=Output voltage increases\nif entities are moving around. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalfiredetector/ElectricalFireDetectorDescriptor.java +eln:Output_voltage_increases\nif_a_fire_has_been_detected.=Output voltage increases\nif a fire has been detected. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceDescriptor.java +eln:Provides_configurable_signal\nvoltage.=Provides configurable signal\nvoltage. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceGui.java +eln:Output_at_%s=Output at %s +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricallightsensor/ElectricalLightSensorDescriptor.java +eln:0V_at_night,_%sV_at_noon.=0V at night, %sV at noon. +eln:Provides_an_electrical_voltage\nin_the_presence_of_light.=Provides an electrical voltage\nin the presence of light. +eln:Provides_an_electrical_voltage\nwhich_is_proportional_to\nthe_intensity_of_daylight.=Provides an electrical voltage\nwhich is proportional to\nthe intensity of daylight. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathContainer.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathDescriptor.java +eln:Applicable_boolean_operators\:=Applicable boolean operators\: +eln:Applicable_functions\:=Applicable functions\: +eln:Applicable_mathematical_operators\:=Applicable mathematical operators\: +eln:Calculates_an_output_signal_from\n3_inputs_(A,_B,_C)_using_an_equation.=Calculates an output signal from\n3 inputs (A, B, C) using an equation. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathGui.java +eln:%s_Redstone(s)_required=%s Redstone(s) required +eln:Equation_required!=Equation required\! +eln:Inputs_are=Inputs are +eln:Invalid_equation!=Invalid equation\! +eln:Output_voltage_formula=Output voltage formula +eln:Waiting_for_completion...=Waiting for completion... +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalredstoneinput/ElectricalRedstoneInputDescriptor.java +eln:Converts_Redstone_signal\nto_an_electrical_voltage.=Converts Redstone signal\nto an electrical voltage. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalredstoneoutput/ElectricalRedstoneOutputDescriptor.java +eln:Converts_electrical_voltage\ninto_a_Redstone_signal.=Converts electrical voltage\ninto a Redstone signal. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalrelay/ElectricalRelayDescriptor.java +eln:A_relay_is_an_electrical\ncontact_that_conducts_electric\ncurrent_or_not,_depending\nthe_actual_input_signal_voltage.=A relay is an electrical\ncontact that conducts electric\ncurrent or not, depending\nthe actual input signal voltage. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalrelay/ElectricalRelayGui.java +eln:Normally_closed=Normally closed +eln:Normally_open=Normally open +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalsource/ElectricalSourceDescriptor.java +eln:Creative_block.=Creative block. +eln:Provides_an_ideal_voltage_source\nwithout_energy_or_power_limitation.=Provides an ideal voltage source\nwithout energy or power limitation. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalsource/ElectricalSourceGui.java +eln:Output_voltage=Output voltage +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalswitch/ElectricalSwitchDescriptor.java +eln:Can_break_an_electrical_circuit\ninterrupting_the_current.=Can break an electrical circuit\ninterrupting the current. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricaltimeout/ElectricalTimeoutDescriptor.java +eln:Upon_application_of_a_high_signal,\nthe_timer_maintains_the_output_high_for\na_configurable_interval._Can_be_re-triggered.=Upon application of a high signal,\nthe timer maintains the output high for\na configurable interval. Can be re-triggered. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricaltimeout/ElectricalTimeoutGui.java +eln:Set=Set +eln:The_time_interval_the\noutput_is_kept_high.=The time interval the\noutput is kept high. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalvumeter/ElectricalVuMeterDescriptor.java +eln:Displays_the_value_of_a_signal.=Displays the value of a signal. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalwatch/ElectricalWatchContainer.java +eln:Portable_battery_slot=Portable battery slot +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalweathersensor/ElectricalWeatherSensorDescriptor.java +eln:Clear\:_%sV=Clear\: %sV +eln:Provides_an_electrical_signal\ndepending_the_actual_weather.=Provides an electrical signal\ndepending the actual weather. +eln:Rain\:_%sV=Rain\: %sV +eln:Storm\:_%sV=Storm\: %sV +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalwindsensor/ElectricalWindSensorDescriptor.java +eln:Maximum_wind_speed_is_%sm_s=Maximum wind speed is %sm/s +eln:Provides_an_electrical_signal\ndependant_on_wind_speed.=Provides an electrical signal\ndependant on wind speed. +eln:You_can't_place_this_block_on_the_floor_or_the_ceiling=You can't place this block on the floor or the ceiling +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricasensor/ElectricalSensorDescriptor.java +eln:Can_measure_Voltage_Power_Current=Can measure Voltage/Power/Current +eln:Measures_electrical_values_on_cables.=Measures electrical values on cables. +eln:Measures_voltage_on_cables.=Measures voltage on cables. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricasensor/ElectricalSensorGui.java +eln:Current=Current +eln:Measured_voltage\ncorresponding\nto_0%_output=Measured voltage\ncorresponding\nto 0% output +eln:Measured_voltage\ncorresponding\nto_100%_output=Measured voltage\ncorresponding\nto 100% output +eln:Voltage=Voltage +eln: +eln:# ./src/main/java/mods/eln/sixnode/energymeter/EnergyMeterGui.java +eln:Change_password=Change password +eln:Counter_Mode=Counter Mode +eln:Counts_the_energy_conducted_from\n\u00a74red\u00a7f_to_\u00a71blue\u00a7f.=Counts the energy conducted from\n\\u00a74red\\u00a7f to \\u00a71blue\\u00a7f. +eln:Energy_counter\:_%sJ=Energy counter\: %sJ +eln:Enter_new_energy=Enter new energy +eln:Enter_password=Enter password +eln:Prepay_Mode=Prepay Mode +eln:Reset_time_counter=Reset time counter +eln:Set_energy_counter=Set energy counter +eln:Time_counter\:=Time counter\: +eln:Try_password=Try password +eln:You_can_set_an_initial\namount_of_available_energy.\nWhen_the_counter_arrives_at_0\nthe_contact_will_be_opened.=You can set an initial\namount of available energy.\nWhen the counter arrives at 0\nthe contact will be opened. +eln:is_off=is off +eln:is_on=is on +eln:value_in_kJ=value in kJ +eln: +eln:# ./src/main/java/mods/eln/sixnode/groundcable/GroundCableDescriptor.java +eln:Can_be_used_to_set_a_point_of_an\nelectrical_network_to_0V_potential.\nFor_example_to_ground_negative_battery_contacts.=Can be used to set a point of an\nelectrical network to 0V potential.\nFor example to ground negative battery contacts. +eln:Provides_a_zero_volt_reference.=Provides a zero volt reference. +eln: +eln:# ./src/main/java/mods/eln/sixnode/hub/HubDescriptor.java +eln:Allows_crossing_cables\non_one_single_block.=Allows crossing cables\non one single block. +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketDescriptor.java +eln:Angle\:_%s°_to_%s°=Angle\: %s° to %s° +eln:Spot_range\:_%s_blocks=Spot range\: %s blocks +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketGuiDraw.java +eln:%s_is_not_in_range!=%s is not in range\! +eln:Cable_slot_empty=Cable slot empty +eln:Orientation\:_%s°=Orientation\: %s° +eln:Parallel=Parallel +eln:Powered_by_Lamp_Supply=Powered by Lamp Supply +eln:Powered_by_cable=Powered by cable +eln:Serial=Serial +eln:Specify_the_supply_channel=Specify the supply channel +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyContainer.java +eln:Electrical_cable_slot\nBase_range_is_32_blocks.\nEach_additional_cable\nincreases_range_by_one.=Electrical cable slot\nBase range is 32 blocks.\nEach additional cable\nincreases range by one. +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyDescriptor.java +eln:Supplies_all_lamps_on_the_channel.=Supplies all lamps on the channel. +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyGui.java +eln:Power_channel_name=Power channel name +eln:Wireless_channel_name=Wireless channel name +eln: +eln:# ./src/main/java/mods/eln/sixnode/modbusrtu/ModbusRtuGui.java +eln:Add=Add +eln:Channel_name=Channel name +eln:Modbus_ID=Modbus ID +eln:Modbus_RTU=Modbus RTU +eln:Station_ID=Station ID +eln:Station_name=Station name +eln:Wireless_RX=Wireless RX +eln:Wireless_TX=Wireless TX +eln: +eln:# ./src/main/java/mods/eln/sixnode/powercapacitorsix/PowerCapacitorSixContainer.java +eln:(Increases_maximum_voltage)=(Increases maximum voltage) +eln: +eln:# ./src/main/java/mods/eln/sixnode/powercapacitorsix/PowerCapacitorSixGui.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/powerinductorsix/PowerInductorSixContainer.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/powerinductorsix/PowerInductorSixGui.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/powersocket/PowerSocketDescriptor.java +eln:Supplies_any_device\nplugged_in_with_energy.=Supplies any device\nplugged in with energy. +eln: +eln:# ./src/main/java/mods/eln/sixnode/powersocket/PowerSocketGui.java +eln:Specify_the_device_to_supply_through_this_socket.=Specify the device to supply through this socket. +eln: +eln:# ./src/main/java/mods/eln/sixnode/resistor/ResistorContainer.java +eln:(Sets_resistance)=(Sets resistance) +eln:Coal_dust_slot=Coal dust slot +eln: +eln:# ./src/main/java/mods/eln/sixnode/thermalcable/ThermalCableDescriptor.java +eln:High_parallel_resistance\n_\=>_Low_power_dissipation.=High parallel resistance\n \=> Low power dissipation. +eln:Low_serial_resistance\n_\=>_High_conductivity.=Low serial resistance\n \=> High conductivity. +eln:Parallel_resistance\:_%sK_W=Parallel resistance\: %sK/W +eln:Serial_resistance\:_%sK_W=Serial resistance\: %sK/W +eln: +eln:# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorContainer.java +eln:Cable_slot=Cable slot +eln: +eln:# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorDescriptor.java +eln:Can_measure\:=Can measure\: +eln:Measures_temperature_of_cables.=Measures temperature of cables. +eln:Measures_thermal_values_on_cables.=Measures thermal values on cables. +eln:__Temperature_Power_conducted=Temperature/Power conducted +eln: +eln:# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorGui.java +eln:Measured_temperature\ncorresponding\nto_0%_output=Measured temperature\ncorresponding\nto 0% output +eln:Measured_temperature\ncorresponding\nto_100%_output=Measured temperature\ncorresponding\nto 100% output +eln:Temperature=Temperature +eln: +eln:# ./src/main/java/mods/eln/sixnode/tutorialsign/TutorialSignElement.java +eln:No_text_associated_to_this_beacon=No text associated to this beacon +eln: +eln:# ./src/main/java/mods/eln/sixnode/tutorialsign/TutorialSignGui.java +eln:Set_beacon_name=Set beacon name +eln: +eln:# ./src/main/java/mods/eln/sixnode/wirelesssignal/rx/WirelessSignalRxGui.java +eln: +eln:# ./src/main/java/mods/eln/transparentnode/FuelGenerator.kt +eln:Nominal_power\:_%s_W=Nominal power\: %s W +eln:Nominal_voltage\:_%s_V=Nominal voltage\: %s V +eln:Produces_electricity_using_fuel.=Produces electricity using fuel. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/LargeRheostat.kt +eln:Nom._Resistance\:_%s=Nom. Resistance\: %s +eln: +eln:# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerContainer.java +eln:Drill_slot=Drill slot +eln:Mining_pipe_slot=Mining pipe slot +eln:Ore_scanner_slot=Ore scanner slot +eln: +eln:# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerDescriptor.java +eln:Excavates_on_a_small_radius.\nExtracts_ore_on_a_bigger_radius\:\n10_blocks_radius_after_10_blocks_depth.=Excavates on a small radius.\nExtracts ore on a bigger radius\:\n10 blocks radius after 10 blocks depth. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerGuiDraw.java +eln:Chest_missing_on_the\nback_of_the_auto_miner!=Chest missing on the\nback of the auto miner\! +eln:Halves_speed,_triples_power_draw=Halves speed, triples power draw +eln:Silk_Touch_Off=Silk Touch Off +eln:Silk_Touch_On=Silk Touch On +eln:Silk_touch=Silk touch +eln: +eln:# ./src/main/java/mods/eln/transparentnode/battery/BatteryContainer.java +eln:Overheating_protection=Overheating protection +eln:Overvoltage_protection=Overvoltage protection +eln: +eln:# ./src/main/java/mods/eln/transparentnode/battery/BatteryDescriptor.java +eln:Actual_charge\:_%s=Actual charge\: %s +eln:Energy_capacity\:_%sJ=Energy capacity\: %sJ +eln:_charged_at_%s=charged at %s +eln: +eln:# ./src/main/java/mods/eln/transparentnode/battery/BatteryGuiDraw.java +eln:Charge=Charge +eln:Charged=Charged +eln:Discharge=Discharge +eln:Energy\:=Energy\: +eln:Energy\:_%s=Energy\: %s +eln:Life\:=Life\: +eln:No_charge=No charge +eln:Power_in\:=Power in\: +eln:Power_out\:=Power out\: +eln: +eln:# ./src/main/java/mods/eln/transparentnode/eggincubator/EggIncubatorContainer.java +eln:Egg_slot=Egg slot +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalantennarx/ElectricalAntennaRxDescriptor.java +eln:Wireless_energy_receiver.=Wireless energy receiver. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalantennatx/ElectricalAntennaTxDescriptor.java +eln:Efficiency\:_%s_up_to_%s=Efficiency\: %s up to %s +eln:Wireless_energy_transmitter.=Wireless energy transmitter. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceContainer.java +eln:Heating_corp_slot=Heating corp slot +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceDescriptor.java +eln:Similar_to_a_vanilla_furnace,\nbut_heats_with_electricity.=Similar to a vanilla furnace,\nbut heats with electricity. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceGuiDraw.java +eln:Auto_shutdown=Auto shutdown +eln:Manual_shutdown=Manual shutdown +eln:Set_point\:_%s°C=Set point\: %s°C +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalmachine/ElectricalMachineDescriptor.java +eln:Cost=Cost +eln: +eln:# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceContainer.java +eln:Combustion_chamber_slot=Combustion chamber slot +eln:Fuel_slot=Fuel slot +eln: +eln:# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceDescriptor.java +eln:Generates_heat_when_supplied_with_fuel.=Generates heat when supplied with fuel. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceGuiDraw.java +eln:Control_gauge_at_%s=Control gauge at %s +eln:Decline_fuel=Decline fuel +eln:External_control=External control +eln:Internal_control=Internal control +eln:Take_fuel=Take fuel +eln: +eln:# ./src/main/java/mods/eln/transparentnode/powercapacitor/PowerCapacitorContainer.java +eln:(Increases_maximal_voltage)=(Increases maximal voltage) +eln: +eln:# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelContainer.java +eln:Solar_tracker_slot=Solar tracker slot +eln: +eln:# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelDescriptor.java +eln:Can_be_geared_towards_the_sun.=Can be geared towards the sun. +eln:Max._power\:_%sW=Max. power\: %sW +eln:Max._voltage\:_%sV=Max. voltage\: %sV +eln:Produces_power_from_solar_radiation.=Produces power from solar radiation. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPannelGuiDraw.java +eln:It_is_night=It is night +eln:Solar_panel_angle\:_%s°=Solar panel angle\: %s° +eln:Sun_angle\:_%s°=Sun angle\: %s° +eln: +eln:# ./src/main/java/mods/eln/transparentnode/teleporter/TeleporterGui.java +eln:Destination_transporter=Destination transporter +eln:Power_consumption\:=Power consumption\: +eln:Power_consumption\:_%sW=Power consumption\: %sW +eln:Required_energy\:_%sJ=Required energy\: %sJ +eln:Start=Start +eln:Transporter_name=Transporter name +eln: +eln:# ./src/main/java/mods/eln/transparentnode/thermaldissipatoractive/ThermalDissipatorActiveDescriptor.java +eln:Fan_cooling_power\:_%sW=Fan cooling power\: %sW +eln:Fan_power_consumption\:_%sW=Fan power consumption\: %sW +eln:Fan_voltage\:_%sV=Fan voltage\: %sV +eln: +eln:# ./src/main/java/mods/eln/transparentnode/transformer/TransformerDescriptor.java +eln:The_voltage_ratio_is_proportional\nto_the_cable_stacks_count_ratio.=The voltage ratio is proportional\nto the cable stacks count ratio. +eln:Transforms_an_input_voltage_to\nan_output_voltage.=Transforms an input voltage to\nan output voltage. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/turbine/TurbineDescriptor.java +eln:Generates_electricity_using_heat.=Generates electricity using heat. +eln:Temperature_difference\:_%s°C=Temperature difference\: %s°C +eln: +eln:# ./src/main/java/mods/eln/transparentnode/turret/TurretDescriptor.java +eln:CAUTION\:_Cables_can_get_quite_hot!=CAUTION\: Cables can get quite hot\! +eln:Laser_charge_power\:_%sW...%skW=Laser charge power\: %sW...%skW +eln:Scans_for_entities_and_shoots_if_the\nentity_matches_the_configurable_filter_criteria.=Scans for entities and shoots if the\nentity matches the configurable filter criteria. +eln:Standby_power\:_%sW=Standby power\: %sW +eln: +eln:# ./src/main/java/mods/eln/transparentnode/turret/TurretGui.java +eln:Attack\:=Attack\: +eln:Do_not_attack\:=Do not attack\: +eln:Recharge_power\:=Recharge power\: +eln: +eln:# ./src/main/java/mods/eln/transparentnode/waterturbine/WaterTurbineDescriptor.java +eln:Generates_energy_using_water_stream.=Generates energy using water stream. +eln:No_place_for_water_turbine!=No place for water turbine\! +eln: +eln:# ./src/main/java/mods/eln/transparentnode/windturbine/WindTurbineDescriptor.java +eln:Front\:_%s=Front\: %s +eln:Generates_energy_from_wind.=Generates energy from wind. +eln:Left_Right\:_%s=Left/Right\: %s +eln:Up_Down\:_%s=Up/Down\: %s +eln:Wind_area\:=Wind area\: +eln: +eln:# ./src/main/java/mods/eln/wiki/Data.java +eln:Energy=Energy +eln:Light=Light +eln:Machine=Machine +eln:Ore=Ore +eln:Portable=Portable +eln:Resource=Resource +eln:Signal=Signal +eln:Thermal=Thermal +eln:Upgrade=Upgrade +eln:Utilities=Utilities +eln:Wiring=Wiring +eln: +eln:# ./src/main/java/mods/eln/wiki/Default.java +eln:Previous=Previous +eln: +eln:# ./src/main/java/mods/eln/wiki/ItemDefault.java +eln:Can_be_used_to_craft\:=Can be used to craft\: +eln:Cannot_be_crafted!=Cannot be crafted\! +eln:Cost_%sJ=Cost %sJ +eln:Created_by\:=Created by\: +eln:Is_not_a_crafting_material!=Is not a crafting material\! +eln:Recipe\:=Recipe\: +eln: +eln:# Appearing in multiple source files +eln:(Increases_capacity)=(Increases capacity) +eln:(Increases_inductance)=(Increases inductance) +eln:Actual\:_%s°C=Actual\: %s°C +eln:Biggest=Biggest +eln:Booster_slot=Booster slot +eln:Can_create\:=Can create\: +eln:Capacity\:_%sF=Capacity\: %sF +eln:Charge_power\:_%sW=Charge power\: %sW +eln:Connected=Connected +eln:Cooling_power\:_%sW=Cooling power\: %sW +eln:Copper_cable_slot=Copper cable slot +eln:Dielectric_slot=Dielectric slot +eln:Discharge_power\:_%sW=Discharge power\: %sW +eln:Electrical_cable_slot=Electrical cable slot +eln:Entity_filter_slot=Entity filter slot +eln:Ferromagnetic_core_slot=Ferromagnetic core slot +eln:Has_a_signal_output.=Has a signal output. +eln:Inductance\:_%sH=Inductance\: %sH +eln:Internal_resistance\:_%sΩ=Internal resistance\: %sΩ +eln:Is_off=Is off +eln:Is_on=Is on +eln:Max._temperature\:_%s°C=Max. temperature\: %s°C +eln:Measured_value\ncorresponding\nto_0%_output=Measured value\ncorresponding\nto 0% output +eln:Measured_value\ncorresponding\nto_100%_output=Measured value\ncorresponding\nto 100% output +eln:Nominal\:=Nominal\: +eln:Nominal_power\:_%sW=Nominal power\: %sW +eln:Nominal_usage\:=Nominal usage\: +eln:Nominal_voltage\:_%sV=Nominal voltage\: %sV +eln:Not_connected=Not connected +eln:Not_enough_space_for_this_block=Not enough space for this block +eln:Power=Power +eln:Power\:_%sW=Power\: %sW +eln:Range\:_%s_blocks=Range\: %s blocks +eln:Redstone_slot=Redstone slot +eln:Regulator_slot=Regulator slot +eln:Reset=Reset +eln:Resistance\:_%sΩ=Resistance\: %sΩ +eln:Smallest=Smallest +eln:Specify_the_channel=Specify the channel +eln:Stored_energy\:_%sJ_(%s)=Stored energy\: %sJ (%s) +eln:Temperature\:_%s°C=Temperature\: %s°C +eln:Temperature_gauge=Temperature gauge +eln:Thermal_isolator_slot=Thermal isolator slot +eln:Toggle=Toggle +eln:Toggle_switch=Toggle switch +eln:Toggles_the_output_each_time\nan_emitter's_value_rises.\nUseful_to_allow_multiple_buttons\nto_control_the_same_light.=Toggles the output each time\nan emitter's value rises.\nUseful to allow multiple buttons\nto control the same light. +eln:Used_to_cool_down_turbines.=Used to cool down turbines. +eln:Uses_the_biggest\nvalue_on_the_channel.=Uses the biggest\nvalue on the channel. +eln:Uses_the_smallest\nvalue_on_the_channel.=Uses the smallest\nvalue on the channel. +eln:Validate=Validate +eln:Voltage\:_%sV=Voltage\: %sV +eln:You_can't_place_this_block_at_this_side=You can't place this block at this side diff --git a/src/main/resources/assets/eln/lang/ru.lang b/src/main/resources/assets/eln/lang/ru.lang index 2d43ef202..c433aaa8f 100644 --- a/src/main/resources/assets/eln/lang/ru.lang +++ b/src/main/resources/assets/eln/lang/ru.lang @@ -1,829 +1,829 @@ -# - -# ./src/main/java/mods/eln/Achievements.java -Electrical_Age_[WIP]=Electrical Age [В РАЗРАБОТКЕ] -achievement.craft_50v_macerator=Начинающий дроблильшик -achievement.craft_50v_macerator.desc=Создайте Дробитель на 50В -achievement.open_guide=Могущество Wiki -achievement.open_guide.desc=Открыть внутреигровую Вики - -# ./src/main/java/mods/eln/Eln.java -10A_Diode.name=Диод на 10А -200V_Active_Thermal_Dissipator.name=Активный радиатор на 200В -200V_Battery_Charger.name=Зарядник на 200В -200V_Compressor.name=Компрессор на 200В -200V_Condensator.name=Конденсатор на 200В -200V_Copper_Heating_Corp.name=Медный нагревательный элемент на 200В -200V_Economic_Light_Bulb.name=Энергосберегающая лампочка на 200В -200V_Farming_Lamp.name=Фермерская лампа на 200В -200V_Fuel_Generator.name=Топливный генератор на 200В -200V_Incandescent_Light_Bulb.name=Лампа накаливания на 200В -200V_Iron_Heating_Corp.name=Железный нагревательный элемент на 200В -200V_LED_Bulb.name=Светодиод на 200В -200V_Macerator.name=Дробитель на 200В -200V_Magnetizer.name=Намагничиватель на 200В -200V_Plate_Machine.name=Прокатный стан на 200В -200V_Power_Socket.name=Розетка на 200В -200V_Tungsten_Heating_Corp.name=Вольфрамовый нагревательный элемент на 200В -200V_Turbine.name=Тепловая турбина на 200В -25A_Diode.name=Диод на 25А -50V_Battery_Charger.name=Зарядник на 50В -50V_Carbon_Incandescent_Light_Bulb.name=Карбоновая лампа накаливания на 50В -50V_Compressor.name=Компрессор на 50В -50V_Condensator.name=Конденсатор на 50В -50V_Copper_Heating_Corp.name=Медный нагревательный элемент на 50В -50V_Economic_Light_Bulb.name=Энергосберегающая лампочка на 50В -50V_Egg_Incubator.name=Инкубатор яиц на 50В -50V_Farming_Lamp.name=Фермерская лампа на 50В -50V_Fuel_Generator.name=Топливный генератор на 50В -50V_Incandescent_Light_Bulb.name=Лампа накаливания на 50В -50V_Iron_Heating_Corp.name=Железный нагревательный элемент на 50В -50V_LED_Bulb.name=Светодиод на 50В -50V_Macerator.name=Дробитель на 50В -50V_Magnetizer.name=Намагничиватель на 50В -50V_Plate_Machine.name=Прокатный стан на 50В -50V_Power_Socket.name=Розетка на 50В -50V_Tungsten_Heating_Corp.name=Вольфрамовый нагревательный элемент на 50В -50V_Turbine.name=Тепловая турбина на 50В -800V_Defence_Turret.name=Защитная турель на 800В -AND_Chip.name=Чип с элементом И -Advanced_Chip.name=Продвинутая микросхема -Advanced_Electrical_Motor.name=Продвинутый электромотор -Advanced_Energy_Meter.name=Продвинутый счетчик -Advanced_Machine_Block.name=Продвинутый корпус механизма -Advanced_Magnet.name=Улучшенный магнит -AllMeter.name=Универсальный измеритель -Alloy_Dust.name=Распыленный сверхсплав -Alloy_Ingot.name=Слиток сверхсплава -Alloy_Plate.name=Пластина из сверхсплава -Analog_Watch.name=Аналоговые часы -Analog_vuMeter.name=Аналоговый индикатор -Analogic_Regulator.name=Аналогический регулятор -Animal_Filter.name=Фильтр животных -Auto_Miner.name=Автошахтер -Average_Electrical_Drill.name=Обычная насадка для бура -Average_Ferromagnetic_Core.name=Обычное ферромагнитное ядро -Basic_Magnet.name=Базовый магнит -Black_Brush.name=Черная кисточка -Blue_Brush.name=Синяя кисточка -Brown_Brush.name=Коричневая кисточка -Capacity_Oriented_Battery.name=Вместительный аккумулятор -Cheap_Chip.name=Дешевый чип -Cheap_Electrical_Drill.name=Дешевая насадка для бура -Cheap_Ferromagnetic_Core.name=Дешевое ферромагнитное ядро -Cinnabar_Dust.name=Распыленная киноварь -Cinnabar_Ore.name=Киноварь -Coal_Dust.name=Распыленный уголь -Coal_Plate.name=Угольная пластина -Combustion_Chamber.name=Камера внутреннего сгорания -Copper_Cable.name=Медный провод -Copper_Dust.name=Распыленная медь -Copper_Ingot.name=Медный слиток -Copper_Ore.name=Медная руда -Copper_Plate.name=Медная пластина -Copper_Thermal_Cable.name=Медный теплопровод -Cost_Oriented_Battery.name=Дешевый аккумулятор -Current_Oriented_Battery.name=Мощный аккумулятор -Cyan_Brush.name=Бирюзовая кисточка -D_Flip_Flop_Chip.name=Чип с D-триггером -Data_Logger.name=Осциллограф -Data_Logger_Print.name=Распечаток осциллографа -Dielectric.name=Диэлектрик -Digital_Watch.name=Цифровые часы -Electrical_Anemometer_Sensor.name=Электрический анемометр -Electrical_Breaker.name=Выключатель -Electrical_Daylight_Sensor.name=Датчик дневного света -Electrical_Entity_Sensor.name=Датчик движения -Electrical_Fire_Detector.name=Датчик огня -Electrical_Furnace.name=Электрическая печь -Electrical_Light_Sensor.name=Датчик света -Electrical_Motor.name=Электромотор -Electrical_Probe.name=Электрический зонд -Electrical_Probe_Chip.name=Чип электрического зонда -Electrical_Source.name=Творческий источник энергии -Electrical_Timer.name=Таймер -Electrical_Weather_Sensor.name=Погодный сенсор -Electrical_age_wrench,\nCan_be_used_to_turn\nsmall_wall_blocks=Гаечный ключ из мода\nElectricalAge, может быть\nиспользован, чтобы \nповорачивать небольшие \nнастенные блоки. -Energy_Meter.name=Вольтметр -Experimental_Transporter.name=Экспериментальный транспортер -Fast_Electrical_Drill.name=Качественная насадка для бура -Ferrite_Ingot.name=Слиток феррита -Flat_Lamp_Socket.name=Плоский плафон -Fluorescent_Lamp_Socket.name=Люминесцентный плафон -Generator.name=Генератор -Gold_Dust.name=Распыленное золото -Gold_Plate.name=Золотая пластина -Gray_Brush.name=Серая кисточка -Green_Brush.name=Зеленая кисточка -Ground_Cable.name=Заземляющий провод -High_Power_Receiver_Antenna.name=Высоковольтный электроприемник -High_Power_Transmitter_Antenna.name=Высоковольтный электропередатчик -High_Voltage_Cable.name=Высоковольтный провод -High_Voltage_Relay.name=Высоковольтное реле -High_Voltage_Switch.name=Высоковольтный рубильник -Hub.name=Распределитель -Industrial_Data_Logger.name=Продвинутый осциллограф -Iron_Cable.name=Железный провод -Iron_Dust.name=Распыленное железо -Iron_Plate.name=Железная пластина -JK_Flip_Flop_Chip.name=Чип с JK-триггером -LED_vuMeter.name=Светодиодный индикатор -Lamp_Socket_A.name=Люстра -Lamp_Socket_B_Projector.name=Прожектор -Lamp_Supply.name=Блок освещения -Large_Rheostat.name=Большой реостат -Lead_Dust.name=Распыленный свинец -Lead_Ingot.name=Свинцовый слиток -Lead_Ore.name=Свинцовая руда -Lead_Plate.name=Свинцовая пластина -Life_Oriented_Battery.name=Долговременный аккумулятор -Light_Blue_Brush.name=Голубая кисточка -Lime_Brush.name=Лаймовая кисточка -Long_Suspended_Lamp_Socket.name=Плафон на длинной подвеске -Low_Power_Receiver_Antenna.name=Низковольтный электроприемник -Low_Power_Transmitter_Antenna.name=Низковольтный электропередатчик -Low_Voltage_Cable.name=Низковольтный провод -Low_Voltage_Relay.name=Низковольтное реле -Low_Voltage_Switch.name=Низковольтный выключатель -Machine_Block.name=Корпус механизма -Machine_Booster.name=Ускоритель -Magenta_Brush.name=Пурпурная кисточка -Medium_Power_Receiver_Antenna.name=Средневольтовый электроприемник -Medium_Power_Transmitter_Antenna.name=Средневольтовый электропередатчик -Medium_Voltage_Cable.name=Средневольтовый провод -Medium_Voltage_Relay.name=Средневольтовое реле -Medium_Voltage_Switch.name=Средневольтовый выключатель -Mercury.name=Ртуть -Mining_Pipe.name=Удлинитель шахтерского бура -Modbus_RTU.name=Modbus RTU -Modern_Data_Logger.name=Современный осциллограф -Monster_Filter.name=Фильтр враждебных существ -MultiMeter.name=Мультиметр -NAND_Chip.name=Чип с обратным элементом И -NOR_Chip.name=Чип с обратным элементом ИЛИ -NOT_Chip.name=Чип с инвертором -Nuclear_Alarm.name=Ядерная сирена -OR_Chip.name=Чип с элементом ИЛИ -On_OFF_Regulator_10_Percent.name=Автоматическое реле на 10% -On_OFF_Regulator_1_Percent.name=Автоматическое реле на 1% -Optimal_Ferromagnetic_Core.name=Оптимальное ферромагнитное ядро -Orange_Brush.name=Оранжевая кисточка -Ore_Scanner.name=Сканер руд -Oscillator_Chip.name=Чип с осциллятором -Overheating_Protection.name=Защита от перегрева -Overvoltage_Protection.name=Защита от перенапряжения -PAL_Chip.name=Чип с программируемой матричной логикой -Pink_Brush.name=Розовая кисточка -Player_Filter.name=Фильтр игроков -Portable_Battery.name=Карманная батарейка -Portable_Battery_Pack.name=Упакованные карманные батарейки -Portable_Condensator.name=Карманный конденсатор -Portable_Condensator_Pack.name=Упакованные карманные конденсаторы -Portable_Electrical_Axe.name=Портативная электропила -Portable_Electrical_Mining_Drill.name=Портативный электробур -Power_Capacitor.name=Конденсатор -Power_Inductor.name=Катушка индуктивности -Power_Resistor.name=Резистор -Power_capacitor.name=Конденсатор -Power_inductor.name=Катушка индуктивности -Purple_Brush.name=Фиолетовая кисточка -Red_Brush.name=Красная кисточка -Redstone-to-Voltage_Converter.name=Приемщик редстоун-сигнала -Rheostat.name=Реостат -Robust_Lamp_Socket.name=Прочный плафон -Rubber.name=Резина -Schmitt_Trigger_Chip.name=Чип с триггером Шмитта -Sconce_Lamp_Socket.name=Плафон-канделябр -Signal_20H_inductor.name=Сигнальная катушка индуктивности на 20H -Signal_Antenna.name=Сигнальная антенна -Signal_Button.name=Сигнальная кнопка -Signal_Cable.name=Сигнальный провод -Signal_Diode.name=Диод -Signal_Processor.name=Обработчик сигнала -Signal_Relay.name=Реле -Signal_Source.name=Источник сигнала -Signal_Switch.name=Сигнальный переключатель -Signal_Switch_with_LED.name=Сигнальный переключатель со светодиодом -Signal_Trimmer.name=Сигнальный ограничитель -Silicon_Dust.name=Распыленный кремний -Silicon_Ingot.name=Кремниевый слиток -Silicon_Plate.name=Кремниевая пластина -Silver_Brush.name=Серая кисточка -Simple_Lamp_Socket.name=Обычный плафон -Single-use_Battery.name=Одноразовый аккумулятор -Small_200V_Copper_Heating_Corp.name=Небольшой медный нагревательный элемент на 200В -Small_200V_Iron_Heating_Corp.name=Небольшой железный нагревательный элемент на 200В -Small_200V_Tungsten_Heating_Corp.name=Небольшой вольфрамовый нагревательный элемент на 200В -Small_50V_Carbon_Incandescent_Light_Bulb.name=Маленькая карбоновая лампочка на 50В -Small_50V_Copper_Heating_Corp.name=Маленький медный нагревательный элемент на 50В -Small_50V_Economic_Light_Bulb.name=Маленькая энергосберегающая лампочка на 50В -Small_50V_Incandescent_Light_Bulb.name=Маленькая лампа накаливания на 50В -Small_50V_Iron_Heating_Corp.name=Маленький железный нагревательный элемент на 50В -Small_50V_Tungsten_Heating_Corp.name=Небольшой вольфрамовый нагревательный элемент на 50В -Small_Active_Thermal_Dissipator.name=Небольшой активный радиатор -Small_Flashlight.name=Маленький фонарик -Small_Passive_Thermal_Dissipator.name=Небольшой пассивный радиатор -Small_Rotating_Solar_Panel.name=Небольшая настраиваемая солнечная батарея -Small_Solar_Panel.name=Небольшая солнечная батарея -Solar_Tracker.name=Отслеживатель солнца -Standard_Alarm.name=Обыкновенная сирена -Steam_Turbine.name=Паровая турбина -Stone_Heat_Furnace.name=Каменная тепловая печь -Street_Light.name=Уличный фонарь -Suspended_Lamp_Socket.name=Удлиненный подвесной плафон -Temperature_Probe.name=Датчик температуры -Thermal_Probe.name=Термальный датчик -Thermal_Probe_Chip.name=Термосенсорный чип -Thermistor.name=Термистор -ThermoMeter.name=Термометр -Transformer.name=Трансформатор -Tree_Resin.name=Каучук -Tree_Resin_Collector.name=Сборщик каучука -Tungsten_Cable.name=Вольфрамовый провод -Tungsten_Dust.name=Распыленный вольфрам -Tungsten_Ingot.name=Вольфрамовый слиток -Tungsten_Ore.name=Вольфрамовая руда -Tutorial_Sign.name=Подсказка -Very_High_Voltage_Cable.name=Силовой кабель -Very_High_Voltage_Relay.name=Силовое реле -Very_High_Voltage_Switch.name=Силовой рубильник -Voltage-to-Redstone_Converter.name=Испускатель редстоун-сигнала -Voltage_Oriented_Battery.name=Высоковольтный аккумулятор -Voltage_Probe.name=Датчик напряжения -Water_Turbine.name=Гидротурбина -Weak_50V_Battery_Charger.name=Маломощный зарядник на 50В -White_Brush.name=Белая кисточка -Wind_Turbine.name=Ветряная турбина -Wireless_Analyser.name=Анализатор беспроводных сигналов -Wireless_Button.name=Беспроводная сигнальная кнопка -Wireless_Signal_Receiver.name=Сигнальный приемник -Wireless_Signal_Repeater.name=Сигнальный усилитель -Wireless_Signal_Transmitter.name=Сигнальный передатчик -Wireless_Switch.name=Беспроводной сигнальный переключатель -Wrench.name=Гаечный ключ -X-Ray_Scanner.name=Рентген-сканер -XNOR_Chip.name=Чип с обратным исключающим ИЛИ -XOR_Chip.name=Чип с исключающим ИЛИ -Yellow_Brush.name=Желтая кисточка -entity.EAReplicator.name=Репликатор -item.Copper Axe.name\=Медный топор -item.Copper Axe.name\=Медный топор -item.Copper Axe.name\=Медный топор -item.Copper Axe.name\=Медный топор -item.Copper Axe.name\=Медный топор -item.Copper Axe.name\=Медный топор -item.Copper Axe.name\=Медный топор -item.Copper Axe.name\=Медный топор -item.Copper Axe.name\=Медный топор -item.E-Coal Boots.name\=E-Углеродные ботинки -item.E-Coal Boots.name\=E-Углеродные ботинки -item.E-Coal Boots.name\=E-Углеродные ботинки -item.E-Coal Boots.name\=E-Углеродные ботинки -itemGroup.Eln=Electrical Age -mod.meta.desc=Электричество у вас на базе\! -tile.eln.ElnProbe.name=Компьютерный зонд -tile.eln.EnergyConverterElnToOtherHVUBlock.name=Конвертер электричества на 800В -tile.eln.EnergyConverterElnToOtherLVUBlock.name=Конвертер электричества на 50В -tile.eln.EnergyConverterElnToOtherMVUBlock.name=Конвертер электричества на 200В - -# ./src/main/java/mods/eln/i18n/I18N.java -You_have_%s_lives_left=У вас осталось %s жизней - -# ./src/main/java/mods/eln/item/BrushDescriptor.java -Brush_is_dry=Кисточка - сухая -Can_paint_%s_blocks=Может окрасить до %s блоков - -# ./src/main/java/mods/eln/item/CombustionChamber.java -Upgrade_for_the_Stone_Heat_Furnace.=Улучшение для каменной тепловой печи - -# ./src/main/java/mods/eln/item/ElectricalDrillDescriptor.java -Energy_per_operation\:_%sJ=Необх. энерг. для одого процесса\: %sДж -Time_per_operation\:_%ss=Необх. время для одного процесса\: %sсек - -# ./src/main/java/mods/eln/item/FerromagneticCoreDescriptor.java -Cable_loss_factor\:_%s=Коэффициент потерь\: %s - -# ./src/main/java/mods/eln/item/HeatingCorpElement.java - -# ./src/main/java/mods/eln/item/LampDescriptor.java -Bad=Плохое -Condition\:=Условие\: -End_of_life=Окончание срока службы -Good=Хорошее -New=Новое -Nominal_lifetime\:_%sh=Минимальная продолжительность жизни\: %sч -Technology\:_%s=Технология\: %s -Used=Уже использованное - -# ./src/main/java/mods/eln/item/LampSlot.java -Lamp_slot=Слот для лампочки - -# ./src/main/java/mods/eln/item/OverHeatingProtectionDescriptor.java -Useful_to_prevent_overheating\nof_Batteries=Полезно для предотвращения\nперегрева аккумуляторов - -# ./src/main/java/mods/eln/item/OverVoltageProtectionDescriptor.java -Useful_to_prevent_over-voltage\nof_Batteries=Полезно для предотвращения\nперенапряжения в аккумуляторах - -# ./src/main/java/mods/eln/item/SolarTrackerDescriptor.java -Solar_panel_upgrade=Улучшение для солнечной батареи - -# ./src/main/java/mods/eln/item/electricalitem/BatteryItem.java - -# ./src/main/java/mods/eln/item/electricalitem/ElectricalLampItem.java -Off=Выкл -On=Вкл -State\:=Состояние\: -Stored_Energy\:_%sJ_(%s)=Содержащаяся энергия\: %sДж (%s) - -# ./src/main/java/mods/eln/item/regulator/RegulatorSlot.java - -# ./src/main/java/mods/eln/misc/UtilsClient.java -Hold_shift=Удерживайте shift - -# ./src/main/java/mods/eln/misc/Version.java -mod.name=Electrical Age - -# ./src/main/java/mods/eln/node/six/SixNodeDescriptor.java - -# ./src/main/java/mods/eln/simplenode/energyconverter/EnergyConverterElnToOtherGui.java -Input_power_is_limited_to_%sW=Входная мощность ограничена до %sВт - -# ./src/main/java/mods/eln/sixnode/LogicGate.kt -_O\:_= O\: - -# ./src/main/java/mods/eln/sixnode/TreeResinCollector/TreeResinCollectorDescriptor.java -Produces_Tree_Resin_over\ntime_when_put_on_a_tree.=Если висит на дереве, то\nсо временем производит \nкаучук. -This_block_can_only_be_placed_on_the_side_of_a_tree!=Этот блок можно повесить только на дерево\! - -# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerContainer.java -Battery_slot=Слот для батарейки - -# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerDescriptor.java -Can_be_used_to_recharge\nelectrical_items_like\:\nFlash_Light,_X-Ray_scanner\nand_Portable_Battery_...=Может быть использовано\nдля перезарядки таких\nпредметов, как\: Фонарик,\nРентген-сканер, Карманная\nбатарейка и т.д. - -# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerGui.java - -# ./src/main/java/mods/eln/sixnode/diode/DiodeDescriptor.java -Electrical_current_can_only\nflow_through_the_diode\nfrom_anode_to_cathode=Ток в диоде может течь\nтолько в одну сторону,\nот анода к катоду. - -# ./src/main/java/mods/eln/sixnode/electricalalarm/ElectricalAlarmDescriptor.java -= -Emits_an_acoustic_alarm_if\nthe_input_signal_is_high=Издает звук тревоги,\nесли входной сигнал\nмощный - -# ./src/main/java/mods/eln/sixnode/electricalalarm/ElectricalAlarmGui.java -Sound_is_muted=Звук выключен -Sound_is_not_muted=Звук включен - -# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerContainer.java - -# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerDescriptor.java -Protects_electrical_components\nOpens_contact_if\:\n__-_Voltage_exceeds_a_certain_level\n-_Current_exceeds_the_cable_limit=Защищает электрические\nкомпоненты\nРазрывает контакт, если\:\n- Напряжение превышает указанный уровень\n- Сила тока превышает лимит проводов - -# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerGui.java -Maximum_voltage_before_cutting_off=Макс. напряжение перед разрывом цепи -Minimum_voltage_before_cutting_off=Мин. напряжение перед разрывом цепи -Switch_is_off=Переключатель выключен -Switch_is_on=Переключатель включен - -# ./src/main/java/mods/eln/sixnode/electricalcable/ElectricalCableDescriptor.java -A_signal_is_electrical_information\nwhich_must_be_between_0V_and_%sV=Сигнал - это электрическая\nинформация, которая варьирует в пределах\n0 и %s вольт -Cable_is_adapted_to_conduct\nelectrical_signals.=Этот кабель адаптирован для \nпередачи электрических сигналов. -Current\:_%sA=Сила тока\: %sA -Not_adapted_to_transport_power.=Не адаптирован для передачи энергии. -Save_usage\:=Безопасное использование\: -Serial_resistance\:_%sΩ=Сопротивление тока\: %sΩ - -# ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerDescriptor.java -It_can_store_up_to_256_points.=Может хранить в себе до 256 точек. -Measures_the_voltage_of_an\nelectrical_signal_and_plots\nthe_data_in_real_time.=Измеряет напряжение\nэлектрического сигнала\nи изображает полученные \nданные в реальном времени. - -# ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerGui.java -Back_to_display=Назад к экрану -Configuration=Настройка -Current_[A]=Сила тока [А] -Energy_[J]=Энергия [Дж] -Percent_[-]%=Проценты [-]% -Power_[W]=Мощность [Вт] -Print=Печать -Sampling_period=Период измерения -Temp._[*C]=Темпер. [*C] -Voltage_[V]=Напряжение [V] -Y-axis_max=Макс. по оси Y -Y-axis_min=Мин. по оси Y - -# ./src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorContainer.java - -# ./src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorDescriptor.java -Output_voltage_increases\nif_entities_are_moving_around.=Выходное напряжение\nусиливается, если вокруг\nнего двигаются сущности. - -# ./src/main/java/mods/eln/sixnode/electricalfiredetector/ElectricalFireDetectorDescriptor.java -Output_voltage_increases\nif_a_fire_has_been_detected.=При обнаружении огня\nвыходной сигнал увеличивается. - -# ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceDescriptor.java -Provides_configurable_signal\nvoltage.=Выдаёт настраиваемое напряжение. - -# ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceGui.java -Output_at_%s=Выход на %s - -# ./src/main/java/mods/eln/sixnode/electricallightsensor/ElectricalLightSensorDescriptor.java -0V_at_night,_%sV_at_noon.=0В ночью, %sВ днем. -Provides_an_electrical_voltage\nin_the_presence_of_light.=При наличии света испускает \nэлектрический сигнал. -Provides_an_electrical_voltage\nwhich_is_proportional_to\nthe_intensity_of_daylight.=Испускает электрический сигнал,\nпропорциональный интенсивности\nдневного света. - -# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathContainer.java - -# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathDescriptor.java -Applicable_boolean_operators\:=Допустимые булевые операторы\: -Applicable_functions\:=Допустимые функции\: -Applicable_mathematical_operators\:=Допустимые математические операторы\: -Calculates_an_output_signal_from\n3_inputs_(A,_B,_C)_using_an_equation.=Высчитывает выходной сигнал\nна основе 3-х входов (A, B, C), при\nпомощи уравнения. - -# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathGui.java -%s_Redstone(s)_required=Требуется %s ед. редстоун(-а) -Equation_required!=Требуется ввести уравнение\! -Inputs_are=Входы -Invalid_equation!=Неверное уравнение\! -Output_voltage_formula=Формула выходного напряжения -Waiting_for_completion...=Ожидание завершения... - -# ./src/main/java/mods/eln/sixnode/electricalredstoneinput/ElectricalRedstoneInputDescriptor.java -Converts_Redstone_signal\nto_an_electrical_voltage.=Конвертирует редстоун-сигнал\nв электрический сигнал. - -# ./src/main/java/mods/eln/sixnode/electricalredstoneoutput/ElectricalRedstoneOutputDescriptor.java -Converts_electrical_voltage\ninto_a_Redstone_signal.=Конвертирует электрический\nсигнал в редстоун-сигнал. - -# ./src/main/java/mods/eln/sixnode/electricalrelay/ElectricalRelayDescriptor.java -A_relay_is_an_electrical\ncontact_that_conducts_electric\ncurrent_or_not,_depending\nthe_actual_input_signal_voltage.=Реле - это электрический\nконтакт, который проводит\nток, либо нет, в зависимости\nот входного сигнала. - -# ./src/main/java/mods/eln/sixnode/electricalrelay/ElectricalRelayGui.java -Normally_closed=По-умолчанию закрыто -Normally_open=По-умолчанию открыто - -# ./src/main/java/mods/eln/sixnode/electricalsource/ElectricalSourceDescriptor.java -Creative_block.=Творческий блок. -Provides_an_ideal_voltage_source\nwithout_energy_or_power_limitation.=Является идеальным источником\nэнергии, без каких-либо\nограничений. - -# ./src/main/java/mods/eln/sixnode/electricalsource/ElectricalSourceGui.java -Output_voltage=Выходное напряжение - -# ./src/main/java/mods/eln/sixnode/electricalswitch/ElectricalSwitchDescriptor.java -Can_break_an_electrical_circuit\ninterrupting_the_current.=Может нарушить электрическую\nцепь прервав течение тока. - -# ./src/main/java/mods/eln/sixnode/electricaltimeout/ElectricalTimeoutDescriptor.java -Upon_application_of_a_high_signal,\nthe_timer_maintains_the_output_high_for\na_configurable_interval._Can_be_re-triggered.=При высоком входном сигнале, таймер \nподдерживает высокий выходной сигнал \nв течение заданного интервала. \nМожет быть запущен повторно. - -# ./src/main/java/mods/eln/sixnode/electricaltimeout/ElectricalTimeoutGui.java -Set=Старт -The_time_interval_the\noutput_is_kept_high.=Интервал времени,\nпо которому на выходе\nбудет сильный сигнал. - -# ./src/main/java/mods/eln/sixnode/electricalvumeter/ElectricalVuMeterDescriptor.java -Displays_the_value_of_a_signal.=Отображает значение сигнала. - -# ./src/main/java/mods/eln/sixnode/electricalwatch/ElectricalWatchContainer.java -Portable_battery_slot=Слот для батарейки - -# ./src/main/java/mods/eln/sixnode/electricalweathersensor/ElectricalWeatherSensorDescriptor.java -Clear\:_%sV=Ясно\: %sВ -Provides_an_electrical_signal\ndepending_the_actual_weather.=Испускает электрический\nсигнал, зависящий от\nтекущей погоды. -Rain\:_%sV=Дождь\: %sВ -Storm\:_%sV=Буря\: %sВ - -# ./src/main/java/mods/eln/sixnode/electricalwindsensor/ElectricalWindSensorDescriptor.java -Maximum_wind_speed_is_%sm_s=Максимальная скорость ветра - %sм/с -Provides_an_electrical_signal\ndependant_on_wind_speed.=Испускает электрический\nсигнал, зависящий от силы\nветра. -You_can't_place_this_block_on_the_floor_or_the_ceiling=Вы не можете разместить этот блок на полу или на потолке - -# ./src/main/java/mods/eln/sixnode/electricasensor/ElectricalSensorDescriptor.java -Can_measure_Voltage_Power_Current=Может измерять напряжение, мощность и силу тока. -Measures_electrical_values_on_cables.=Измеряет электрические значения\nв проводах. -Measures_voltage_on_cables.=Измеряет напряжение в проводах. - -# ./src/main/java/mods/eln/sixnode/electricasensor/ElectricalSensorGui.java -Current=Сила тока -Measured_voltage\ncorresponding\nto_0%_output=Измеренное напряжение \nблизко к 0% -Measured_voltage\ncorresponding\nto_100%_output=Измеренное напряжение \nблизко к 100% -Voltage=Напряжение - -# ./src/main/java/mods/eln/sixnode/energymeter/EnergyMeterGui.java -Change_password=Сменить пароль -Counter_Mode=Режим счетчика -Counts_the_energy_conducted_from\n\u00a74red\u00a7f_to_\u00a71blue\u00a7f.=Считает электричество, переданное от\n\\u00a74красного\\u00a7f к \\u00a71синему\\u00a7f. -Energy_counter\:_%sJ=Энергии насчитано\: %sДж -Enter_new_energy=Введите новое кол-во энергии -Enter_password=Введите пароль -Prepay_Mode=Режим предоплаты -Reset_time_counter=Сбросить время -Set_energy_counter=Начать счет энергии -Time_counter\:=Времени насчитано\: -Try_password=Попробовать пароль -You_can_set_an_initial\namount_of_available_energy.\nWhen_the_counter_arrives_at_0\nthe_contact_will_be_opened.=Вы можете указать\nначальное кол-во доступной\nэнергии. Когда обратный отсчет\nдостигнет ноля - цепь будет \nразорвана. -is_off=выкл. -is_on=вкл. -value_in_kJ=значение в кДж - -# ./src/main/java/mods/eln/sixnode/groundcable/GroundCableDescriptor.java -Can_be_used_to_set_a_point_of_an\nelectrical_network_to_0V_potential.\nFor_example_to_ground_negative_battery_contacts.=Может быть использовано для\nуказания 0-вольтовой точки сети.\nНапример, для заземления негативных контактов \nаккумулятора. -Provides_a_zero_volt_reference.=Обеспечивает нулевой вольт в сети. - -# ./src/main/java/mods/eln/sixnode/hub/HubDescriptor.java -Allows_crossing_cables\non_one_single_block.=Позволяет проводам\nпересекаться в одном \nблоке. - -# ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketDescriptor.java -Angle\:_%s°_to_%s°=Угол\: %s° до %s° -Spot_range\:_%s_blocks=Дальность света\: %s блока(-ов) - -# ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketGuiDraw.java -%s_is_not_in_range!=%s вне диапазона\! -Cable_slot_empty=Слот для провода пуст -Orientation\:_%s°=Ориентация\: %s° -Parallel=Парралельно -Powered_by_Lamp_Supply=Беспроводной режим -Powered_by_cable=Проводной режим -Serial=Последовательно -Specify_the_supply_channel=Укажите имя канала - -# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyContainer.java -Electrical_cable_slot\nBase_range_is_32_blocks.\nEach_additional_cable\nincreases_range_by_one.=Слот для провода.\nСтартовый диапазон - 32 блока.\nКаждый новый провод\nувеличивает его на еденицу. - -# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyDescriptor.java -Supplies_all_lamps_on_the_channel.=Подпитывает все плафоны на\nуказанной частоте, в определенном\nрадиусе. - -# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyGui.java -Power_channel_name=Имя канала -Wireless_channel_name=Название канала - -# ./src/main/java/mods/eln/sixnode/modbusrtu/ModbusRtuGui.java -Add=Добавить -Channel_name=Название канала -Modbus_ID=Modbus ID -Modbus_RTU=Modbus RTU -Station_ID=ID станции -Station_name=Имя станции -Wireless_RX=Беспроводной RX -Wireless_TX=Беспроводной TX - -# ./src/main/java/mods/eln/sixnode/powercapacitorsix/PowerCapacitorSixContainer.java -(Increases_maximum_voltage)=(Увеличивает макс. напряжение) - -# ./src/main/java/mods/eln/sixnode/powercapacitorsix/PowerCapacitorSixGui.java - -# ./src/main/java/mods/eln/sixnode/powerinductorsix/PowerInductorSixContainer.java - -# ./src/main/java/mods/eln/sixnode/powerinductorsix/PowerInductorSixGui.java - -# ./src/main/java/mods/eln/sixnode/powersocket/PowerSocketDescriptor.java -Supplies_any_device\nplugged_in_with_energy.=Запитывает электричеством\nлюбое подключенное устройство. - -# ./src/main/java/mods/eln/sixnode/powersocket/PowerSocketGui.java -Specify_the_device_to_supply_through_this_socket.=Укажите устройство, которое будет запитано от этой розетки. - -# ./src/main/java/mods/eln/sixnode/resistor/ResistorContainer.java -(Sets_resistance)=(Изменяет сопротивление) -Coal_dust_slot=Слот для распыленного угля - -# ./src/main/java/mods/eln/sixnode/thermalcable/ThermalCableDescriptor.java -High_parallel_resistance\n_\=>_Low_power_dissipation.=Высокое параллельное \nсопротивление \=> Низкие \nпотери мощности. -Low_serial_resistance\n_\=>_High_conductivity.=Низкое сопротивление \=> Высокая проводимость. -Parallel_resistance\:_%sK_W=Параллельное сопротивление\: %sK/Вт -Serial_resistance\:_%sK_W=Последовательное сопротивление\: %sK/Вт - -# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorContainer.java -Cable_slot=Слот для провода - -# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorDescriptor.java -Can_measure\:=Может измерять\: -Measures_temperature_of_cables.=Измеряет температуру проводов. -Measures_thermal_values_on_cables.=Измеряет температурные значения\nпроводов. -__Temperature_Power_conducted=тепла/тока проведено - -# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorGui.java -Measured_temperature\ncorresponding\nto_0%_output=Измеренная температура\nблизко к 0% -Measured_temperature\ncorresponding\nto_100%_output=Измеренная температура\nблизко к 100% -Temperature=Температура - -# ./src/main/java/mods/eln/sixnode/tutorialsign/TutorialSignElement.java -No_text_associated_to_this_beacon=Нет текста, ассоциированного с этой подсказкой - -# ./src/main/java/mods/eln/sixnode/tutorialsign/TutorialSignGui.java -Set_beacon_name=Имя подсказки - -# ./src/main/java/mods/eln/sixnode/wirelesssignal/rx/WirelessSignalRxGui.java - -# ./src/main/java/mods/eln/transparentnode/FuelGenerator.kt -Nominal_power\:_%s_W=Минимальная мощность\: %s Вт -Nominal_voltage\:_%s_V=Минимальное напряжение\: %s В -Produces_electricity_using_fuel.=Производит электричество сжигая топливо. - -# ./src/main/java/mods/eln/transparentnode/LargeRheostat.kt -Nom._Resistance\:_%s=Мин. сопротивление\: %s - -# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerContainer.java -Drill_slot=Слот для наконечника для бура -Mining_pipe_slot=Слот для удлинителя шахтерского бура -Ore_scanner_slot=Слот для сканера руд - -# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerDescriptor.java -Excavates_on_a_small_radius.\nExtracts_ore_on_a_bigger_radius\:\n10_blocks_radius_after_10_blocks_depth.=Роет в небольшом радиусе.\nИзвлекает ресурсы в большом радиусе\:\n10 блоков радиуса после 10 блоков глубины - -# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerGuiDraw.java -Chest_missing_on_the\nback_of_the_auto_miner!=Отсутствует сундук для\nресурсов\! -Halves_speed,_triples_power_draw=На половину быстрее, втрое больше энергозатрат -Silk_Touch_Off=Шелковое касание отключено -Silk_Touch_On=Шелковое касание включено -Silk_touch=Шелковое касание - -# ./src/main/java/mods/eln/transparentnode/battery/BatteryContainer.java -Overheating_protection=Защита от перегрева -Overvoltage_protection=Защита от перенапряжения - -# ./src/main/java/mods/eln/transparentnode/battery/BatteryDescriptor.java -Actual_charge\:_%s=Текущий заряд\: %s -Energy_capacity\:_%sJ=Вместимость\: %sДж -_charged_at_%s=заряжен на %s - -# ./src/main/java/mods/eln/transparentnode/battery/BatteryGuiDraw.java -Charge=Заряд -Charged=Полностью заряжен -Discharge=Разряжается -Energy\:=Энергия\: -Energy\:_%s=Энергия\: %s -Life\:=Срок службы\: -No_charge=Не заряжается -Power_in\:=Входная мощность\: -Power_out\:=Выходная мощность\: - -# ./src/main/java/mods/eln/transparentnode/eggincubator/EggIncubatorContainer.java -Egg_slot=Слот для яйца - -# ./src/main/java/mods/eln/transparentnode/electricalantennarx/ElectricalAntennaRxDescriptor.java -Wireless_energy_receiver.=Беспроводной приемник электричества - -# ./src/main/java/mods/eln/transparentnode/electricalantennatx/ElectricalAntennaTxDescriptor.java -Efficiency\:_%s_up_to_%s=Эффективность\: %s вплоть до %s -Wireless_energy_transmitter.=Беспроводной передатчик электричества. - -# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceContainer.java -Heating_corp_slot=Слот для нагревательного элемента - -# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceDescriptor.java -Similar_to_a_vanilla_furnace,\nbut_heats_with_electricity.=Схожа с ванильной печкой,\nоднако, разогревается\nэлектричеством. - -# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceGuiDraw.java -Auto_shutdown=Автовыключение -Manual_shutdown=Ручное выключение -Set_point\:_%s°C=Контрольная точка\: %s°C - -# ./src/main/java/mods/eln/transparentnode/electricalmachine/ElectricalMachineDescriptor.java -Cost=Затраты - -# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceContainer.java -Combustion_chamber_slot=Слот для камеры внутреннего сгорания -Fuel_slot=Слот для топлива - -# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceDescriptor.java -Generates_heat_when_supplied_with_fuel.=Генерирует тепло, когда в нем есть топливо. - -# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceGuiDraw.java -Control_gauge_at_%s=Шкала контроля на %s -Decline_fuel=Отклонять топливо -External_control=Внешн. контроль -Internal_control=Внутр. контроль -Take_fuel=Принимать топливо - -# ./src/main/java/mods/eln/transparentnode/powercapacitor/PowerCapacitorContainer.java -(Increases_maximal_voltage)=(Увеличивает макс. напряжение) - -# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelContainer.java -Solar_tracker_slot=Слот для отслеживателя солнца - -# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelDescriptor.java -Can_be_geared_towards_the_sun.=Может быть повернута к солнцу. -Max._power\:_%sW=Макс. мощность\: %sВт -Max._voltage\:_%sV=Макс. напряжение\: %sВ -Produces_power_from_solar_radiation.=Производит электричество из солнечной радиации. - -# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPannelGuiDraw.java -It_is_night=Сейчас ночь -Solar_panel_angle\:_%s°=Угол солнечной батареи\: %s° -Sun_angle\:_%s°=Угол солнца\: %s° - -# ./src/main/java/mods/eln/transparentnode/teleporter/TeleporterGui.java -Destination_transporter=Конечный транспортер -Power_consumption\:=Потребление энергии\: -Power_consumption\:_%sW=Потребление энергии\: %sВт -Required_energy\:_%sJ=Требуемая энергия\: %sДж -Start=Начать -Transporter_name=Имя транспортера - -# ./src/main/java/mods/eln/transparentnode/thermaldissipatoractive/ThermalDissipatorActiveDescriptor.java -Fan_cooling_power\:_%sW=Сила охлаждения вентилятора\: %sВт -Fan_power_consumption\:_%sW=Расход энергии вентилятором\: %sВт -Fan_voltage\:_%sV=Напряжение вентилятора\: %sВ - -# ./src/main/java/mods/eln/transparentnode/transformer/TransformerDescriptor.java -The_voltage_ratio_is_proportional\nto_the_cable_stacks_count_ratio.=Соотношение сопротивления\nпропорционально кол-ву\nпроводов в стеке. -Transforms_an_input_voltage_to\nan_output_voltage.=Превращает входное напряжение \nв выходное. - -# ./src/main/java/mods/eln/transparentnode/turbine/TurbineDescriptor.java -Generates_electricity_using_heat.=Генерирует электричество используя тепло. -Temperature_difference\:_%s°C=Различие температуры\: %s°C - -# ./src/main/java/mods/eln/transparentnode/turret/TurretDescriptor.java -CAUTION\:_Cables_can_get_quite_hot!=ОСТОРОЖНО\: Провода могут быть очень горячими\! -Laser_charge_power\:_%sW...%skW=Энергопотребление при перезарядке\: %sВт...%sкВт -Scans_for_entities_and_shoots_if_the\nentity_matches_the_configurable_filter_criteria.=Ищет сущностей, совпадающих\nпо признакам с теми, что указаны\nв настройках и атакует их. -Standby_power\:_%sW=Энергопотребление в бездействии\: %sВт - -# ./src/main/java/mods/eln/transparentnode/turret/TurretGui.java -Attack\:=Атаковать\: -Do_not_attack\:=Не атаковать\: -Recharge_power\:=Мощность заряда\: - -# ./src/main/java/mods/eln/transparentnode/waterturbine/WaterTurbineDescriptor.java -Generates_energy_using_water_stream.=Генерирует электричество используя течение воды. -No_place_for_water_turbine!=Нет места для турбины\! - -# ./src/main/java/mods/eln/transparentnode/windturbine/WindTurbineDescriptor.java -Front\:_%s=Перед\: %s -Generates_energy_from_wind.=Генерирует энергию при помощи силы ветра. -Left_Right\:_%s=Слева/Справа\: %s -Up_Down\:_%s=Сверху/Снизу\: %s -Wind_area\:=Ветреная площадь\: - -# ./src/main/java/mods/eln/wiki/Data.java -Energy=Энергия -Light=Освещение -Machine=Машины -Ore=Руды -Portable=Переносные -Resource=Ресурсы -Signal=Сигнальные -Thermal=Тепловые -Upgrade=Улучшения -Utilities=Иное -Wiring=Проводка - -# ./src/main/java/mods/eln/wiki/Default.java -Previous=Предыдущ. - -# ./src/main/java/mods/eln/wiki/ItemDefault.java -Can_be_used_to_craft\:=Используется в рецепте\: -Cannot_be_crafted!=Не может быть создано\! -Cost_%sJ=Затрачивает %sДж -Created_by\:=Создано\: -Is_not_a_crafting_material!=Не является материалом для рецепта\! -Recipe\:=Рецепт\: - -# Appearing in multiple source files -(Increases_capacity)=(Увеличивает емкость) -(Increases_inductance)=(Повышает индуктивность) -Actual\:_%s°C=Текущ.\: %s°C -Biggest=Наибольш. -Booster_slot=Слот для ускорителя -Can_create\:=Может создавать\: -Capacity\:_%sF=Емкость\: %sF -Charge_power\:_%sW=Мощность подзарядки\: %sВт -Connected=Подключено -Cooling_power\:_%sW=Мощность охлаждения\: %sВт -Copper_cable_slot=Слот для медного проаода -Dielectric_slot=Слот для диэлектрика -Discharge_power\:_%sW=Мощность разрядки\: %sВт -Electrical_cable_slot=Слот для провода -Entity_filter_slot=Слот для фильтра существ -Ferromagnetic_core_slot=Слот для ферромагнитного ядра -Has_a_signal_output.=Имеет выходной сигнал. -Inductance\:_%sH=Индуктивность\: %sH -Internal_resistance\:_%sΩ=Внутреннее сопротивление\: %sΩ -Is_off=Выкл. -Is_on=Вкл. -Max._temperature\:_%s°C=Макс. нагрев\: %s°C -Measured_value\ncorresponding\nto_0%_output=Измеренное значение\nблизко к 0% -Measured_value\ncorresponding\nto_100%_output=Измеренное значение\nблизко к 100% -Nominal\:=Минимум\: -Nominal_power\:_%sW=Минимальная мощность\: %sВт -Nominal_usage\:=Минимальное кол-во использований\: -Nominal_voltage\:_%sV=Минимальное напряжение\: %sВ -Not_connected=Не соединено -Not_enough_space_for_this_block=Недостаточно места для этого блока -Power=Мощность -Power\:_%sW=Мощность\: %sВт -Range\:_%s_blocks=Дальность\: %s блока(-ов) -Redstone_slot=Слот для редстоуна -Regulator_slot=Слот для регулировщика -Reset=Сброс -Resistance\:_%sΩ=Сопротивление\: %sΩ -Smallest=Наименьш. -Specify_the_channel=Необходимо указать канал -Stored_energy\:_%sJ_(%s)=Содержащаяся энергия\: %sДж (%s) -Temperature\:_%s°C=Температура\: %s°C -Temperature_gauge=Шкала температуры -Thermal_isolator_slot=Слот для термального изолятора -Toggle=Переключать -Toggle_switch=Переключить -Toggles_the_output_each_time\nan_emitter's_value_rises.\nUseful_to_allow_multiple_buttons\nto_control_the_same_light.=Переключает выход каждый\nраз, когда входное значение\nувеличивается.\nПолезно для переключения\nодной и той же лампочки при \nпомощи нескольких кнопок. -Used_to_cool_down_turbines.=Используется для охлаждения тепловых турбин. -Uses_the_biggest\nvalue_on_the_channel.=Использует наибольшее \nзначение в канале. -Uses_the_smallest\nvalue_on_the_channel.=Использует наименьшее \nзначение в канале. -Validate=Проверить -Voltage\:_%sV=Напряжение\: %sВ -You_can't_place_this_block_at_this_side=Вы не можете разместить данный блок с этой стороны +eln:# +eln: +eln:# ./src/main/java/mods/eln/Achievements.java +eln:Electrical_Age_[WIP]=Electrical Age [В РАЗРАБОТКЕ] +eln:achievement.craft_50v_macerator=Начинающий дроблильшик +eln:achievement.craft_50v_macerator.desc=Создайте Дробитель на 50В +eln:achievement.open_guide=Могущество Wiki +eln:achievement.open_guide.desc=Открыть внутреигровую Вики +eln: +eln:# ./src/main/java/mods/eln/Eln.java +eln:10A_Diode.name=Диод на 10А +eln:200V_Active_Thermal_Dissipator.name=Активный радиатор на 200В +eln:200V_Battery_Charger.name=Зарядник на 200В +eln:200V_Compressor.name=Компрессор на 200В +eln:200V_Condensator.name=Конденсатор на 200В +eln:200V_Copper_Heating_Corp.name=Медный нагревательный элемент на 200В +eln:200V_Economic_Light_Bulb.name=Энергосберегающая лампочка на 200В +eln:200V_Farming_Lamp.name=Фермерская лампа на 200В +eln:200V_Fuel_Generator.name=Топливный генератор на 200В +eln:200V_Incandescent_Light_Bulb.name=Лампа накаливания на 200В +eln:200V_Iron_Heating_Corp.name=Железный нагревательный элемент на 200В +eln:200V_LED_Bulb.name=Светодиод на 200В +eln:200V_Macerator.name=Дробитель на 200В +eln:200V_Magnetizer.name=Намагничиватель на 200В +eln:200V_Plate_Machine.name=Прокатный стан на 200В +eln:200V_Power_Socket.name=Розетка на 200В +eln:200V_Tungsten_Heating_Corp.name=Вольфрамовый нагревательный элемент на 200В +eln:200V_Turbine.name=Тепловая турбина на 200В +eln:25A_Diode.name=Диод на 25А +eln:50V_Battery_Charger.name=Зарядник на 50В +eln:50V_Carbon_Incandescent_Light_Bulb.name=Карбоновая лампа накаливания на 50В +eln:50V_Compressor.name=Компрессор на 50В +eln:50V_Condensator.name=Конденсатор на 50В +eln:50V_Copper_Heating_Corp.name=Медный нагревательный элемент на 50В +eln:50V_Economic_Light_Bulb.name=Энергосберегающая лампочка на 50В +eln:50V_Egg_Incubator.name=Инкубатор яиц на 50В +eln:50V_Farming_Lamp.name=Фермерская лампа на 50В +eln:50V_Fuel_Generator.name=Топливный генератор на 50В +eln:50V_Incandescent_Light_Bulb.name=Лампа накаливания на 50В +eln:50V_Iron_Heating_Corp.name=Железный нагревательный элемент на 50В +eln:50V_LED_Bulb.name=Светодиод на 50В +eln:50V_Macerator.name=Дробитель на 50В +eln:50V_Magnetizer.name=Намагничиватель на 50В +eln:50V_Plate_Machine.name=Прокатный стан на 50В +eln:50V_Power_Socket.name=Розетка на 50В +eln:50V_Tungsten_Heating_Corp.name=Вольфрамовый нагревательный элемент на 50В +eln:50V_Turbine.name=Тепловая турбина на 50В +eln:800V_Defence_Turret.name=Защитная турель на 800В +eln:AND_Chip.name=Чип с элементом И +eln:Advanced_Chip.name=Продвинутая микросхема +eln:Advanced_Electrical_Motor.name=Продвинутый электромотор +eln:Advanced_Energy_Meter.name=Продвинутый счетчик +eln:Advanced_Machine_Block.name=Продвинутый корпус механизма +eln:Advanced_Magnet.name=Улучшенный магнит +eln:AllMeter.name=Универсальный измеритель +eln:Alloy_Dust.name=Распыленный сверхсплав +eln:Alloy_Ingot.name=Слиток сверхсплава +eln:Alloy_Plate.name=Пластина из сверхсплава +eln:Analog_Watch.name=Аналоговые часы +eln:Analog_vuMeter.name=Аналоговый индикатор +eln:Analogic_Regulator.name=Аналогический регулятор +eln:Animal_Filter.name=Фильтр животных +eln:Auto_Miner.name=Автошахтер +eln:Average_Electrical_Drill.name=Обычная насадка для бура +eln:Average_Ferromagnetic_Core.name=Обычное ферромагнитное ядро +eln:Basic_Magnet.name=Базовый магнит +eln:Black_Brush.name=Черная кисточка +eln:Blue_Brush.name=Синяя кисточка +eln:Brown_Brush.name=Коричневая кисточка +eln:Capacity_Oriented_Battery.name=Вместительный аккумулятор +eln:Cheap_Chip.name=Дешевый чип +eln:Cheap_Electrical_Drill.name=Дешевая насадка для бура +eln:Cheap_Ferromagnetic_Core.name=Дешевое ферромагнитное ядро +eln:Cinnabar_Dust.name=Распыленная киноварь +eln:Cinnabar_Ore.name=Киноварь +eln:Coal_Dust.name=Распыленный уголь +eln:Coal_Plate.name=Угольная пластина +eln:Combustion_Chamber.name=Камера внутреннего сгорания +eln:Copper_Cable.name=Медный провод +eln:Copper_Dust.name=Распыленная медь +eln:Copper_Ingot.name=Медный слиток +eln:Copper_Ore.name=Медная руда +eln:Copper_Plate.name=Медная пластина +eln:Copper_Thermal_Cable.name=Медный теплопровод +eln:Cost_Oriented_Battery.name=Дешевый аккумулятор +eln:Current_Oriented_Battery.name=Мощный аккумулятор +eln:Cyan_Brush.name=Бирюзовая кисточка +eln:D_Flip_Flop_Chip.name=Чип с D-триггером +eln:Data_Logger.name=Осциллограф +eln:Data_Logger_Print.name=Распечаток осциллографа +eln:Dielectric.name=Диэлектрик +eln:Digital_Watch.name=Цифровые часы +eln:Electrical_Anemometer_Sensor.name=Электрический анемометр +eln:Electrical_Breaker.name=Выключатель +eln:Electrical_Daylight_Sensor.name=Датчик дневного света +eln:Electrical_Entity_Sensor.name=Датчик движения +eln:Electrical_Fire_Detector.name=Датчик огня +eln:Electrical_Furnace.name=Электрическая печь +eln:Electrical_Light_Sensor.name=Датчик света +eln:Electrical_Motor.name=Электромотор +eln:Electrical_Probe.name=Электрический зонд +eln:Electrical_Probe_Chip.name=Чип электрического зонда +eln:Electrical_Source.name=Творческий источник энергии +eln:Electrical_Timer.name=Таймер +eln:Electrical_Weather_Sensor.name=Погодный сенсор +eln:Electrical_age_wrench,\nCan_be_used_to_turn\nsmall_wall_blocks=Гаечный ключ из мода\nElectricalAge, может быть\nиспользован, чтобы \nповорачивать небольшие \nнастенные блоки. +eln:Energy_Meter.name=Вольтметр +eln:Experimental_Transporter.name=Экспериментальный транспортер +eln:Fast_Electrical_Drill.name=Качественная насадка для бура +eln:Ferrite_Ingot.name=Слиток феррита +eln:Flat_Lamp_Socket.name=Плоский плафон +eln:Fluorescent_Lamp_Socket.name=Люминесцентный плафон +eln:Generator.name=Генератор +eln:Gold_Dust.name=Распыленное золото +eln:Gold_Plate.name=Золотая пластина +eln:Gray_Brush.name=Серая кисточка +eln:Green_Brush.name=Зеленая кисточка +eln:Ground_Cable.name=Заземляющий провод +eln:High_Power_Receiver_Antenna.name=Высоковольтный электроприемник +eln:High_Power_Transmitter_Antenna.name=Высоковольтный электропередатчик +eln:High_Voltage_Cable.name=Высоковольтный провод +eln:High_Voltage_Relay.name=Высоковольтное реле +eln:High_Voltage_Switch.name=Высоковольтный рубильник +eln:Hub.name=Распределитель +eln:Industrial_Data_Logger.name=Продвинутый осциллограф +eln:Iron_Cable.name=Железный провод +eln:Iron_Dust.name=Распыленное железо +eln:Iron_Plate.name=Железная пластина +eln:JK_Flip_Flop_Chip.name=Чип с JK-триггером +eln:LED_vuMeter.name=Светодиодный индикатор +eln:Lamp_Socket_A.name=Люстра +eln:Lamp_Socket_B_Projector.name=Прожектор +eln:Lamp_Supply.name=Блок освещения +eln:Large_Rheostat.name=Большой реостат +eln:Lead_Dust.name=Распыленный свинец +eln:Lead_Ingot.name=Свинцовый слиток +eln:Lead_Ore.name=Свинцовая руда +eln:Lead_Plate.name=Свинцовая пластина +eln:Life_Oriented_Battery.name=Долговременный аккумулятор +eln:Light_Blue_Brush.name=Голубая кисточка +eln:Lime_Brush.name=Лаймовая кисточка +eln:Long_Suspended_Lamp_Socket.name=Плафон на длинной подвеске +eln:Low_Power_Receiver_Antenna.name=Низковольтный электроприемник +eln:Low_Power_Transmitter_Antenna.name=Низковольтный электропередатчик +eln:Low_Voltage_Cable.name=Низковольтный провод +eln:Low_Voltage_Relay.name=Низковольтное реле +eln:Low_Voltage_Switch.name=Низковольтный выключатель +eln:Machine_Block.name=Корпус механизма +eln:Machine_Booster.name=Ускоритель +eln:Magenta_Brush.name=Пурпурная кисточка +eln:Medium_Power_Receiver_Antenna.name=Средневольтовый электроприемник +eln:Medium_Power_Transmitter_Antenna.name=Средневольтовый электропередатчик +eln:Medium_Voltage_Cable.name=Средневольтовый провод +eln:Medium_Voltage_Relay.name=Средневольтовое реле +eln:Medium_Voltage_Switch.name=Средневольтовый выключатель +eln:Mercury.name=Ртуть +eln:Mining_Pipe.name=Удлинитель шахтерского бура +eln:Modbus_RTU.name=Modbus RTU +eln:Modern_Data_Logger.name=Современный осциллограф +eln:Monster_Filter.name=Фильтр враждебных существ +eln:MultiMeter.name=Мультиметр +eln:NAND_Chip.name=Чип с обратным элементом И +eln:NOR_Chip.name=Чип с обратным элементом ИЛИ +eln:NOT_Chip.name=Чип с инвертором +eln:Nuclear_Alarm.name=Ядерная сирена +eln:OR_Chip.name=Чип с элементом ИЛИ +eln:On_OFF_Regulator_10_Percent.name=Автоматическое реле на 10% +eln:On_OFF_Regulator_1_Percent.name=Автоматическое реле на 1% +eln:Optimal_Ferromagnetic_Core.name=Оптимальное ферромагнитное ядро +eln:Orange_Brush.name=Оранжевая кисточка +eln:Ore_Scanner.name=Сканер руд +eln:Oscillator_Chip.name=Чип с осциллятором +eln:Overheating_Protection.name=Защита от перегрева +eln:Overvoltage_Protection.name=Защита от перенапряжения +eln:PAL_Chip.name=Чип с программируемой матричной логикой +eln:Pink_Brush.name=Розовая кисточка +eln:Player_Filter.name=Фильтр игроков +eln:Portable_Battery.name=Карманная батарейка +eln:Portable_Battery_Pack.name=Упакованные карманные батарейки +eln:Portable_Condensator.name=Карманный конденсатор +eln:Portable_Condensator_Pack.name=Упакованные карманные конденсаторы +eln:Portable_Electrical_Axe.name=Портативная электропила +eln:Portable_Electrical_Mining_Drill.name=Портативный электробур +eln:Power_Capacitor.name=Конденсатор +eln:Power_Inductor.name=Катушка индуктивности +eln:Power_Resistor.name=Резистор +eln:Power_capacitor.name=Конденсатор +eln:Power_inductor.name=Катушка индуктивности +eln:Purple_Brush.name=Фиолетовая кисточка +eln:Red_Brush.name=Красная кисточка +eln:Redstone-to-Voltage_Converter.name=Приемщик редстоун-сигнала +eln:Rheostat.name=Реостат +eln:Robust_Lamp_Socket.name=Прочный плафон +eln:Rubber.name=Резина +eln:Schmitt_Trigger_Chip.name=Чип с триггером Шмитта +eln:Sconce_Lamp_Socket.name=Плафон-канделябр +eln:Signal_20H_inductor.name=Сигнальная катушка индуктивности на 20H +eln:Signal_Antenna.name=Сигнальная антенна +eln:Signal_Button.name=Сигнальная кнопка +eln:Signal_Cable.name=Сигнальный провод +eln:Signal_Diode.name=Диод +eln:Signal_Processor.name=Обработчик сигнала +eln:Signal_Relay.name=Реле +eln:Signal_Source.name=Источник сигнала +eln:Signal_Switch.name=Сигнальный переключатель +eln:Signal_Switch_with_LED.name=Сигнальный переключатель со светодиодом +eln:Signal_Trimmer.name=Сигнальный ограничитель +eln:Silicon_Dust.name=Распыленный кремний +eln:Silicon_Ingot.name=Кремниевый слиток +eln:Silicon_Plate.name=Кремниевая пластина +eln:Silver_Brush.name=Серая кисточка +eln:Simple_Lamp_Socket.name=Обычный плафон +eln:Single-use_Battery.name=Одноразовый аккумулятор +eln:Small_200V_Copper_Heating_Corp.name=Небольшой медный нагревательный элемент на 200В +eln:Small_200V_Iron_Heating_Corp.name=Небольшой железный нагревательный элемент на 200В +eln:Small_200V_Tungsten_Heating_Corp.name=Небольшой вольфрамовый нагревательный элемент на 200В +eln:Small_50V_Carbon_Incandescent_Light_Bulb.name=Маленькая карбоновая лампочка на 50В +eln:Small_50V_Copper_Heating_Corp.name=Маленький медный нагревательный элемент на 50В +eln:Small_50V_Economic_Light_Bulb.name=Маленькая энергосберегающая лампочка на 50В +eln:Small_50V_Incandescent_Light_Bulb.name=Маленькая лампа накаливания на 50В +eln:Small_50V_Iron_Heating_Corp.name=Маленький железный нагревательный элемент на 50В +eln:Small_50V_Tungsten_Heating_Corp.name=Небольшой вольфрамовый нагревательный элемент на 50В +eln:Small_Active_Thermal_Dissipator.name=Небольшой активный радиатор +eln:Small_Flashlight.name=Маленький фонарик +eln:Small_Passive_Thermal_Dissipator.name=Небольшой пассивный радиатор +eln:Small_Rotating_Solar_Panel.name=Небольшая настраиваемая солнечная батарея +eln:Small_Solar_Panel.name=Небольшая солнечная батарея +eln:Solar_Tracker.name=Отслеживатель солнца +eln:Standard_Alarm.name=Обыкновенная сирена +eln:Steam_Turbine.name=Паровая турбина +eln:Stone_Heat_Furnace.name=Каменная тепловая печь +eln:Street_Light.name=Уличный фонарь +eln:Suspended_Lamp_Socket.name=Удлиненный подвесной плафон +eln:Temperature_Probe.name=Датчик температуры +eln:Thermal_Probe.name=Термальный датчик +eln:Thermal_Probe_Chip.name=Термосенсорный чип +eln:Thermistor.name=Термистор +eln:ThermoMeter.name=Термометр +eln:Transformer.name=Трансформатор +eln:Tree_Resin.name=Каучук +eln:Tree_Resin_Collector.name=Сборщик каучука +eln:Tungsten_Cable.name=Вольфрамовый провод +eln:Tungsten_Dust.name=Распыленный вольфрам +eln:Tungsten_Ingot.name=Вольфрамовый слиток +eln:Tungsten_Ore.name=Вольфрамовая руда +eln:Tutorial_Sign.name=Подсказка +eln:Very_High_Voltage_Cable.name=Силовой кабель +eln:Very_High_Voltage_Relay.name=Силовое реле +eln:Very_High_Voltage_Switch.name=Силовой рубильник +eln:Voltage-to-Redstone_Converter.name=Испускатель редстоун-сигнала +eln:Voltage_Oriented_Battery.name=Высоковольтный аккумулятор +eln:Voltage_Probe.name=Датчик напряжения +eln:Water_Turbine.name=Гидротурбина +eln:Weak_50V_Battery_Charger.name=Маломощный зарядник на 50В +eln:White_Brush.name=Белая кисточка +eln:Wind_Turbine.name=Ветряная турбина +eln:Wireless_Analyser.name=Анализатор беспроводных сигналов +eln:Wireless_Button.name=Беспроводная сигнальная кнопка +eln:Wireless_Signal_Receiver.name=Сигнальный приемник +eln:Wireless_Signal_Repeater.name=Сигнальный усилитель +eln:Wireless_Signal_Transmitter.name=Сигнальный передатчик +eln:Wireless_Switch.name=Беспроводной сигнальный переключатель +eln:Wrench.name=Гаечный ключ +eln:X-Ray_Scanner.name=Рентген-сканер +eln:XNOR_Chip.name=Чип с обратным исключающим ИЛИ +eln:XOR_Chip.name=Чип с исключающим ИЛИ +eln:Yellow_Brush.name=Желтая кисточка +eln:entity.EAReplicator.name=Репликатор +eln:item.Copper Axe.name\=Медный топор +eln:item.Copper Axe.name\=Медный топор +eln:item.Copper Axe.name\=Медный топор +eln:item.Copper Axe.name\=Медный топор +eln:item.Copper Axe.name\=Медный топор +eln:item.Copper Axe.name\=Медный топор +eln:item.Copper Axe.name\=Медный топор +eln:item.Copper Axe.name\=Медный топор +eln:item.Copper Axe.name\=Медный топор +eln:item.E-Coal Boots.name\=E-Углеродные ботинки +eln:item.E-Coal Boots.name\=E-Углеродные ботинки +eln:item.E-Coal Boots.name\=E-Углеродные ботинки +eln:item.E-Coal Boots.name\=E-Углеродные ботинки +eln:itemGroup.Eln=Electrical Age +eln:mod.meta.desc=Электричество у вас на базе\! +eln:tile.eln.ElnProbe.name=Компьютерный зонд +eln:tile.eln.EnergyConverterElnToOtherHVUBlock.name=Конвертер электричества на 800В +eln:tile.eln.EnergyConverterElnToOtherLVUBlock.name=Конвертер электричества на 50В +eln:tile.eln.EnergyConverterElnToOtherMVUBlock.name=Конвертер электричества на 200В +eln: +eln:# ./src/main/java/mods/eln/i18n/I18N.java +eln:You_have_%s_lives_left=У вас осталось %s жизней +eln: +eln:# ./src/main/java/mods/eln/item/BrushDescriptor.java +eln:Brush_is_dry=Кисточка - сухая +eln:Can_paint_%s_blocks=Может окрасить до %s блоков +eln: +eln:# ./src/main/java/mods/eln/item/CombustionChamber.java +eln:Upgrade_for_the_Stone_Heat_Furnace.=Улучшение для каменной тепловой печи +eln: +eln:# ./src/main/java/mods/eln/item/ElectricalDrillDescriptor.java +eln:Energy_per_operation\:_%sJ=Необх. энерг. для одого процесса\: %sДж +eln:Time_per_operation\:_%ss=Необх. время для одного процесса\: %sсек +eln: +eln:# ./src/main/java/mods/eln/item/FerromagneticCoreDescriptor.java +eln:Cable_loss_factor\:_%s=Коэффициент потерь\: %s +eln: +eln:# ./src/main/java/mods/eln/item/HeatingCorpElement.java +eln: +eln:# ./src/main/java/mods/eln/item/LampDescriptor.java +eln:Bad=Плохое +eln:Condition\:=Условие\: +eln:End_of_life=Окончание срока службы +eln:Good=Хорошее +eln:New=Новое +eln:Nominal_lifetime\:_%sh=Минимальная продолжительность жизни\: %sч +eln:Technology\:_%s=Технология\: %s +eln:Used=Уже использованное +eln: +eln:# ./src/main/java/mods/eln/item/LampSlot.java +eln:Lamp_slot=Слот для лампочки +eln: +eln:# ./src/main/java/mods/eln/item/OverHeatingProtectionDescriptor.java +eln:Useful_to_prevent_overheating\nof_Batteries=Полезно для предотвращения\nперегрева аккумуляторов +eln: +eln:# ./src/main/java/mods/eln/item/OverVoltageProtectionDescriptor.java +eln:Useful_to_prevent_over-voltage\nof_Batteries=Полезно для предотвращения\nперенапряжения в аккумуляторах +eln: +eln:# ./src/main/java/mods/eln/item/SolarTrackerDescriptor.java +eln:Solar_panel_upgrade=Улучшение для солнечной батареи +eln: +eln:# ./src/main/java/mods/eln/item/electricalitem/BatteryItem.java +eln: +eln:# ./src/main/java/mods/eln/item/electricalitem/ElectricalLampItem.java +eln:Off=Выкл +eln:On=Вкл +eln:State\:=Состояние\: +eln:Stored_Energy\:_%sJ_(%s)=Содержащаяся энергия\: %sДж (%s) +eln: +eln:# ./src/main/java/mods/eln/item/regulator/RegulatorSlot.java +eln: +eln:# ./src/main/java/mods/eln/misc/UtilsClient.java +eln:Hold_shift=Удерживайте shift +eln: +eln:# ./src/main/java/mods/eln/misc/Version.java +eln:mod.name=Electrical Age +eln: +eln:# ./src/main/java/mods/eln/node/six/SixNodeDescriptor.java +eln: +eln:# ./src/main/java/mods/eln/simplenode/energyconverter/EnergyConverterElnToOtherGui.java +eln:Input_power_is_limited_to_%sW=Входная мощность ограничена до %sВт +eln: +eln:# ./src/main/java/mods/eln/sixnode/LogicGate.kt +eln:_O\:_= O\: +eln: +eln:# ./src/main/java/mods/eln/sixnode/TreeResinCollector/TreeResinCollectorDescriptor.java +eln:Produces_Tree_Resin_over\ntime_when_put_on_a_tree.=Если висит на дереве, то\nсо временем производит \nкаучук. +eln:This_block_can_only_be_placed_on_the_side_of_a_tree!=Этот блок можно повесить только на дерево\! +eln: +eln:# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerContainer.java +eln:Battery_slot=Слот для батарейки +eln: +eln:# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerDescriptor.java +eln:Can_be_used_to_recharge\nelectrical_items_like\:\nFlash_Light,_X-Ray_scanner\nand_Portable_Battery_...=Может быть использовано\nдля перезарядки таких\nпредметов, как\: Фонарик,\nРентген-сканер, Карманная\nбатарейка и т.д. +eln: +eln:# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerGui.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/diode/DiodeDescriptor.java +eln:Electrical_current_can_only\nflow_through_the_diode\nfrom_anode_to_cathode=Ток в диоде может течь\nтолько в одну сторону,\nот анода к катоду. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalalarm/ElectricalAlarmDescriptor.java +eln:= +eln:Emits_an_acoustic_alarm_if\nthe_input_signal_is_high=Издает звук тревоги,\nесли входной сигнал\nмощный +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalalarm/ElectricalAlarmGui.java +eln:Sound_is_muted=Звук выключен +eln:Sound_is_not_muted=Звук включен +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerContainer.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerDescriptor.java +eln:Protects_electrical_components\nOpens_contact_if\:\n__-_Voltage_exceeds_a_certain_level\n-_Current_exceeds_the_cable_limit=Защищает электрические\nкомпоненты\nРазрывает контакт, если\:\n- Напряжение превышает указанный уровень\n- Сила тока превышает лимит проводов +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerGui.java +eln:Maximum_voltage_before_cutting_off=Макс. напряжение перед разрывом цепи +eln:Minimum_voltage_before_cutting_off=Мин. напряжение перед разрывом цепи +eln:Switch_is_off=Переключатель выключен +eln:Switch_is_on=Переключатель включен +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalcable/ElectricalCableDescriptor.java +eln:A_signal_is_electrical_information\nwhich_must_be_between_0V_and_%sV=Сигнал - это электрическая\nинформация, которая варьирует в пределах\n0 и %s вольт +eln:Cable_is_adapted_to_conduct\nelectrical_signals.=Этот кабель адаптирован для \nпередачи электрических сигналов. +eln:Current\:_%sA=Сила тока\: %sA +eln:Not_adapted_to_transport_power.=Не адаптирован для передачи энергии. +eln:Save_usage\:=Безопасное использование\: +eln:Serial_resistance\:_%sΩ=Сопротивление тока\: %sΩ +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerDescriptor.java +eln:It_can_store_up_to_256_points.=Может хранить в себе до 256 точек. +eln:Measures_the_voltage_of_an\nelectrical_signal_and_plots\nthe_data_in_real_time.=Измеряет напряжение\nэлектрического сигнала\nи изображает полученные \nданные в реальном времени. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerGui.java +eln:Back_to_display=Назад к экрану +eln:Configuration=Настройка +eln:Current_[A]=Сила тока [А] +eln:Energy_[J]=Энергия [Дж] +eln:Percent_[-]%=Проценты [-]% +eln:Power_[W]=Мощность [Вт] +eln:Print=Печать +eln:Sampling_period=Период измерения +eln:Temp._[*C]=Темпер. [*C] +eln:Voltage_[V]=Напряжение [V] +eln:Y-axis_max=Макс. по оси Y +eln:Y-axis_min=Мин. по оси Y +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorContainer.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorDescriptor.java +eln:Output_voltage_increases\nif_entities_are_moving_around.=Выходное напряжение\nусиливается, если вокруг\nнего двигаются сущности. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalfiredetector/ElectricalFireDetectorDescriptor.java +eln:Output_voltage_increases\nif_a_fire_has_been_detected.=При обнаружении огня\nвыходной сигнал увеличивается. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceDescriptor.java +eln:Provides_configurable_signal\nvoltage.=Выдаёт настраиваемое напряжение. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceGui.java +eln:Output_at_%s=Выход на %s +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricallightsensor/ElectricalLightSensorDescriptor.java +eln:0V_at_night,_%sV_at_noon.=0В ночью, %sВ днем. +eln:Provides_an_electrical_voltage\nin_the_presence_of_light.=При наличии света испускает \nэлектрический сигнал. +eln:Provides_an_electrical_voltage\nwhich_is_proportional_to\nthe_intensity_of_daylight.=Испускает электрический сигнал,\nпропорциональный интенсивности\nдневного света. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathContainer.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathDescriptor.java +eln:Applicable_boolean_operators\:=Допустимые булевые операторы\: +eln:Applicable_functions\:=Допустимые функции\: +eln:Applicable_mathematical_operators\:=Допустимые математические операторы\: +eln:Calculates_an_output_signal_from\n3_inputs_(A,_B,_C)_using_an_equation.=Высчитывает выходной сигнал\nна основе 3-х входов (A, B, C), при\nпомощи уравнения. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathGui.java +eln:%s_Redstone(s)_required=Требуется %s ед. редстоун(-а) +eln:Equation_required!=Требуется ввести уравнение\! +eln:Inputs_are=Входы +eln:Invalid_equation!=Неверное уравнение\! +eln:Output_voltage_formula=Формула выходного напряжения +eln:Waiting_for_completion...=Ожидание завершения... +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalredstoneinput/ElectricalRedstoneInputDescriptor.java +eln:Converts_Redstone_signal\nto_an_electrical_voltage.=Конвертирует редстоун-сигнал\nв электрический сигнал. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalredstoneoutput/ElectricalRedstoneOutputDescriptor.java +eln:Converts_electrical_voltage\ninto_a_Redstone_signal.=Конвертирует электрический\nсигнал в редстоун-сигнал. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalrelay/ElectricalRelayDescriptor.java +eln:A_relay_is_an_electrical\ncontact_that_conducts_electric\ncurrent_or_not,_depending\nthe_actual_input_signal_voltage.=Реле - это электрический\nконтакт, который проводит\nток, либо нет, в зависимости\nот входного сигнала. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalrelay/ElectricalRelayGui.java +eln:Normally_closed=По-умолчанию закрыто +eln:Normally_open=По-умолчанию открыто +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalsource/ElectricalSourceDescriptor.java +eln:Creative_block.=Творческий блок. +eln:Provides_an_ideal_voltage_source\nwithout_energy_or_power_limitation.=Является идеальным источником\nэнергии, без каких-либо\nограничений. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalsource/ElectricalSourceGui.java +eln:Output_voltage=Выходное напряжение +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalswitch/ElectricalSwitchDescriptor.java +eln:Can_break_an_electrical_circuit\ninterrupting_the_current.=Может нарушить электрическую\nцепь прервав течение тока. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricaltimeout/ElectricalTimeoutDescriptor.java +eln:Upon_application_of_a_high_signal,\nthe_timer_maintains_the_output_high_for\na_configurable_interval._Can_be_re-triggered.=При высоком входном сигнале, таймер \nподдерживает высокий выходной сигнал \nв течение заданного интервала. \nМожет быть запущен повторно. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricaltimeout/ElectricalTimeoutGui.java +eln:Set=Старт +eln:The_time_interval_the\noutput_is_kept_high.=Интервал времени,\nпо которому на выходе\nбудет сильный сигнал. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalvumeter/ElectricalVuMeterDescriptor.java +eln:Displays_the_value_of_a_signal.=Отображает значение сигнала. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalwatch/ElectricalWatchContainer.java +eln:Portable_battery_slot=Слот для батарейки +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalweathersensor/ElectricalWeatherSensorDescriptor.java +eln:Clear\:_%sV=Ясно\: %sВ +eln:Provides_an_electrical_signal\ndepending_the_actual_weather.=Испускает электрический\nсигнал, зависящий от\nтекущей погоды. +eln:Rain\:_%sV=Дождь\: %sВ +eln:Storm\:_%sV=Буря\: %sВ +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalwindsensor/ElectricalWindSensorDescriptor.java +eln:Maximum_wind_speed_is_%sm_s=Максимальная скорость ветра - %sм/с +eln:Provides_an_electrical_signal\ndependant_on_wind_speed.=Испускает электрический\nсигнал, зависящий от силы\nветра. +eln:You_can't_place_this_block_on_the_floor_or_the_ceiling=Вы не можете разместить этот блок на полу или на потолке +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricasensor/ElectricalSensorDescriptor.java +eln:Can_measure_Voltage_Power_Current=Может измерять напряжение, мощность и силу тока. +eln:Measures_electrical_values_on_cables.=Измеряет электрические значения\nв проводах. +eln:Measures_voltage_on_cables.=Измеряет напряжение в проводах. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricasensor/ElectricalSensorGui.java +eln:Current=Сила тока +eln:Measured_voltage\ncorresponding\nto_0%_output=Измеренное напряжение \nблизко к 0% +eln:Measured_voltage\ncorresponding\nto_100%_output=Измеренное напряжение \nблизко к 100% +eln:Voltage=Напряжение +eln: +eln:# ./src/main/java/mods/eln/sixnode/energymeter/EnergyMeterGui.java +eln:Change_password=Сменить пароль +eln:Counter_Mode=Режим счетчика +eln:Counts_the_energy_conducted_from\n\u00a74red\u00a7f_to_\u00a71blue\u00a7f.=Считает электричество, переданное от\n\\u00a74красного\\u00a7f к \\u00a71синему\\u00a7f. +eln:Energy_counter\:_%sJ=Энергии насчитано\: %sДж +eln:Enter_new_energy=Введите новое кол-во энергии +eln:Enter_password=Введите пароль +eln:Prepay_Mode=Режим предоплаты +eln:Reset_time_counter=Сбросить время +eln:Set_energy_counter=Начать счет энергии +eln:Time_counter\:=Времени насчитано\: +eln:Try_password=Попробовать пароль +eln:You_can_set_an_initial\namount_of_available_energy.\nWhen_the_counter_arrives_at_0\nthe_contact_will_be_opened.=Вы можете указать\nначальное кол-во доступной\nэнергии. Когда обратный отсчет\nдостигнет ноля - цепь будет \nразорвана. +eln:is_off=выкл. +eln:is_on=вкл. +eln:value_in_kJ=значение в кДж +eln: +eln:# ./src/main/java/mods/eln/sixnode/groundcable/GroundCableDescriptor.java +eln:Can_be_used_to_set_a_point_of_an\nelectrical_network_to_0V_potential.\nFor_example_to_ground_negative_battery_contacts.=Может быть использовано для\nуказания 0-вольтовой точки сети.\nНапример, для заземления негативных контактов \nаккумулятора. +eln:Provides_a_zero_volt_reference.=Обеспечивает нулевой вольт в сети. +eln: +eln:# ./src/main/java/mods/eln/sixnode/hub/HubDescriptor.java +eln:Allows_crossing_cables\non_one_single_block.=Позволяет проводам\nпересекаться в одном \nблоке. +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketDescriptor.java +eln:Angle\:_%s°_to_%s°=Угол\: %s° до %s° +eln:Spot_range\:_%s_blocks=Дальность света\: %s блока(-ов) +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketGuiDraw.java +eln:%s_is_not_in_range!=%s вне диапазона\! +eln:Cable_slot_empty=Слот для провода пуст +eln:Orientation\:_%s°=Ориентация\: %s° +eln:Parallel=Парралельно +eln:Powered_by_Lamp_Supply=Беспроводной режим +eln:Powered_by_cable=Проводной режим +eln:Serial=Последовательно +eln:Specify_the_supply_channel=Укажите имя канала +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyContainer.java +eln:Electrical_cable_slot\nBase_range_is_32_blocks.\nEach_additional_cable\nincreases_range_by_one.=Слот для провода.\nСтартовый диапазон - 32 блока.\nКаждый новый провод\nувеличивает его на еденицу. +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyDescriptor.java +eln:Supplies_all_lamps_on_the_channel.=Подпитывает все плафоны на\nуказанной частоте, в определенном\nрадиусе. +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyGui.java +eln:Power_channel_name=Имя канала +eln:Wireless_channel_name=Название канала +eln: +eln:# ./src/main/java/mods/eln/sixnode/modbusrtu/ModbusRtuGui.java +eln:Add=Добавить +eln:Channel_name=Название канала +eln:Modbus_ID=Modbus ID +eln:Modbus_RTU=Modbus RTU +eln:Station_ID=ID станции +eln:Station_name=Имя станции +eln:Wireless_RX=Беспроводной RX +eln:Wireless_TX=Беспроводной TX +eln: +eln:# ./src/main/java/mods/eln/sixnode/powercapacitorsix/PowerCapacitorSixContainer.java +eln:(Increases_maximum_voltage)=(Увеличивает макс. напряжение) +eln: +eln:# ./src/main/java/mods/eln/sixnode/powercapacitorsix/PowerCapacitorSixGui.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/powerinductorsix/PowerInductorSixContainer.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/powerinductorsix/PowerInductorSixGui.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/powersocket/PowerSocketDescriptor.java +eln:Supplies_any_device\nplugged_in_with_energy.=Запитывает электричеством\nлюбое подключенное устройство. +eln: +eln:# ./src/main/java/mods/eln/sixnode/powersocket/PowerSocketGui.java +eln:Specify_the_device_to_supply_through_this_socket.=Укажите устройство, которое будет запитано от этой розетки. +eln: +eln:# ./src/main/java/mods/eln/sixnode/resistor/ResistorContainer.java +eln:(Sets_resistance)=(Изменяет сопротивление) +eln:Coal_dust_slot=Слот для распыленного угля +eln: +eln:# ./src/main/java/mods/eln/sixnode/thermalcable/ThermalCableDescriptor.java +eln:High_parallel_resistance\n_\=>_Low_power_dissipation.=Высокое параллельное \nсопротивление \=> Низкие \nпотери мощности. +eln:Low_serial_resistance\n_\=>_High_conductivity.=Низкое сопротивление \=> Высокая проводимость. +eln:Parallel_resistance\:_%sK_W=Параллельное сопротивление\: %sK/Вт +eln:Serial_resistance\:_%sK_W=Последовательное сопротивление\: %sK/Вт +eln: +eln:# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorContainer.java +eln:Cable_slot=Слот для провода +eln: +eln:# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorDescriptor.java +eln:Can_measure\:=Может измерять\: +eln:Measures_temperature_of_cables.=Измеряет температуру проводов. +eln:Measures_thermal_values_on_cables.=Измеряет температурные значения\nпроводов. +eln:__Temperature_Power_conducted=тепла/тока проведено +eln: +eln:# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorGui.java +eln:Measured_temperature\ncorresponding\nto_0%_output=Измеренная температура\nблизко к 0% +eln:Measured_temperature\ncorresponding\nto_100%_output=Измеренная температура\nблизко к 100% +eln:Temperature=Температура +eln: +eln:# ./src/main/java/mods/eln/sixnode/tutorialsign/TutorialSignElement.java +eln:No_text_associated_to_this_beacon=Нет текста, ассоциированного с этой подсказкой +eln: +eln:# ./src/main/java/mods/eln/sixnode/tutorialsign/TutorialSignGui.java +eln:Set_beacon_name=Имя подсказки +eln: +eln:# ./src/main/java/mods/eln/sixnode/wirelesssignal/rx/WirelessSignalRxGui.java +eln: +eln:# ./src/main/java/mods/eln/transparentnode/FuelGenerator.kt +eln:Nominal_power\:_%s_W=Минимальная мощность\: %s Вт +eln:Nominal_voltage\:_%s_V=Минимальное напряжение\: %s В +eln:Produces_electricity_using_fuel.=Производит электричество сжигая топливо. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/LargeRheostat.kt +eln:Nom._Resistance\:_%s=Мин. сопротивление\: %s +eln: +eln:# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerContainer.java +eln:Drill_slot=Слот для наконечника для бура +eln:Mining_pipe_slot=Слот для удлинителя шахтерского бура +eln:Ore_scanner_slot=Слот для сканера руд +eln: +eln:# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerDescriptor.java +eln:Excavates_on_a_small_radius.\nExtracts_ore_on_a_bigger_radius\:\n10_blocks_radius_after_10_blocks_depth.=Роет в небольшом радиусе.\nИзвлекает ресурсы в большом радиусе\:\n10 блоков радиуса после 10 блоков глубины +eln: +eln:# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerGuiDraw.java +eln:Chest_missing_on_the\nback_of_the_auto_miner!=Отсутствует сундук для\nресурсов\! +eln:Halves_speed,_triples_power_draw=На половину быстрее, втрое больше энергозатрат +eln:Silk_Touch_Off=Шелковое касание отключено +eln:Silk_Touch_On=Шелковое касание включено +eln:Silk_touch=Шелковое касание +eln: +eln:# ./src/main/java/mods/eln/transparentnode/battery/BatteryContainer.java +eln:Overheating_protection=Защита от перегрева +eln:Overvoltage_protection=Защита от перенапряжения +eln: +eln:# ./src/main/java/mods/eln/transparentnode/battery/BatteryDescriptor.java +eln:Actual_charge\:_%s=Текущий заряд\: %s +eln:Energy_capacity\:_%sJ=Вместимость\: %sДж +eln:_charged_at_%s=заряжен на %s +eln: +eln:# ./src/main/java/mods/eln/transparentnode/battery/BatteryGuiDraw.java +eln:Charge=Заряд +eln:Charged=Полностью заряжен +eln:Discharge=Разряжается +eln:Energy\:=Энергия\: +eln:Energy\:_%s=Энергия\: %s +eln:Life\:=Срок службы\: +eln:No_charge=Не заряжается +eln:Power_in\:=Входная мощность\: +eln:Power_out\:=Выходная мощность\: +eln: +eln:# ./src/main/java/mods/eln/transparentnode/eggincubator/EggIncubatorContainer.java +eln:Egg_slot=Слот для яйца +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalantennarx/ElectricalAntennaRxDescriptor.java +eln:Wireless_energy_receiver.=Беспроводной приемник электричества +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalantennatx/ElectricalAntennaTxDescriptor.java +eln:Efficiency\:_%s_up_to_%s=Эффективность\: %s вплоть до %s +eln:Wireless_energy_transmitter.=Беспроводной передатчик электричества. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceContainer.java +eln:Heating_corp_slot=Слот для нагревательного элемента +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceDescriptor.java +eln:Similar_to_a_vanilla_furnace,\nbut_heats_with_electricity.=Схожа с ванильной печкой,\nоднако, разогревается\nэлектричеством. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceGuiDraw.java +eln:Auto_shutdown=Автовыключение +eln:Manual_shutdown=Ручное выключение +eln:Set_point\:_%s°C=Контрольная точка\: %s°C +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalmachine/ElectricalMachineDescriptor.java +eln:Cost=Затраты +eln: +eln:# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceContainer.java +eln:Combustion_chamber_slot=Слот для камеры внутреннего сгорания +eln:Fuel_slot=Слот для топлива +eln: +eln:# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceDescriptor.java +eln:Generates_heat_when_supplied_with_fuel.=Генерирует тепло, когда в нем есть топливо. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceGuiDraw.java +eln:Control_gauge_at_%s=Шкала контроля на %s +eln:Decline_fuel=Отклонять топливо +eln:External_control=Внешн. контроль +eln:Internal_control=Внутр. контроль +eln:Take_fuel=Принимать топливо +eln: +eln:# ./src/main/java/mods/eln/transparentnode/powercapacitor/PowerCapacitorContainer.java +eln:(Increases_maximal_voltage)=(Увеличивает макс. напряжение) +eln: +eln:# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelContainer.java +eln:Solar_tracker_slot=Слот для отслеживателя солнца +eln: +eln:# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelDescriptor.java +eln:Can_be_geared_towards_the_sun.=Может быть повернута к солнцу. +eln:Max._power\:_%sW=Макс. мощность\: %sВт +eln:Max._voltage\:_%sV=Макс. напряжение\: %sВ +eln:Produces_power_from_solar_radiation.=Производит электричество из солнечной радиации. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPannelGuiDraw.java +eln:It_is_night=Сейчас ночь +eln:Solar_panel_angle\:_%s°=Угол солнечной батареи\: %s° +eln:Sun_angle\:_%s°=Угол солнца\: %s° +eln: +eln:# ./src/main/java/mods/eln/transparentnode/teleporter/TeleporterGui.java +eln:Destination_transporter=Конечный транспортер +eln:Power_consumption\:=Потребление энергии\: +eln:Power_consumption\:_%sW=Потребление энергии\: %sВт +eln:Required_energy\:_%sJ=Требуемая энергия\: %sДж +eln:Start=Начать +eln:Transporter_name=Имя транспортера +eln: +eln:# ./src/main/java/mods/eln/transparentnode/thermaldissipatoractive/ThermalDissipatorActiveDescriptor.java +eln:Fan_cooling_power\:_%sW=Сила охлаждения вентилятора\: %sВт +eln:Fan_power_consumption\:_%sW=Расход энергии вентилятором\: %sВт +eln:Fan_voltage\:_%sV=Напряжение вентилятора\: %sВ +eln: +eln:# ./src/main/java/mods/eln/transparentnode/transformer/TransformerDescriptor.java +eln:The_voltage_ratio_is_proportional\nto_the_cable_stacks_count_ratio.=Соотношение сопротивления\nпропорционально кол-ву\nпроводов в стеке. +eln:Transforms_an_input_voltage_to\nan_output_voltage.=Превращает входное напряжение \nв выходное. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/turbine/TurbineDescriptor.java +eln:Generates_electricity_using_heat.=Генерирует электричество используя тепло. +eln:Temperature_difference\:_%s°C=Различие температуры\: %s°C +eln: +eln:# ./src/main/java/mods/eln/transparentnode/turret/TurretDescriptor.java +eln:CAUTION\:_Cables_can_get_quite_hot!=ОСТОРОЖНО\: Провода могут быть очень горячими\! +eln:Laser_charge_power\:_%sW...%skW=Энергопотребление при перезарядке\: %sВт...%sкВт +eln:Scans_for_entities_and_shoots_if_the\nentity_matches_the_configurable_filter_criteria.=Ищет сущностей, совпадающих\nпо признакам с теми, что указаны\nв настройках и атакует их. +eln:Standby_power\:_%sW=Энергопотребление в бездействии\: %sВт +eln: +eln:# ./src/main/java/mods/eln/transparentnode/turret/TurretGui.java +eln:Attack\:=Атаковать\: +eln:Do_not_attack\:=Не атаковать\: +eln:Recharge_power\:=Мощность заряда\: +eln: +eln:# ./src/main/java/mods/eln/transparentnode/waterturbine/WaterTurbineDescriptor.java +eln:Generates_energy_using_water_stream.=Генерирует электричество используя течение воды. +eln:No_place_for_water_turbine!=Нет места для турбины\! +eln: +eln:# ./src/main/java/mods/eln/transparentnode/windturbine/WindTurbineDescriptor.java +eln:Front\:_%s=Перед\: %s +eln:Generates_energy_from_wind.=Генерирует энергию при помощи силы ветра. +eln:Left_Right\:_%s=Слева/Справа\: %s +eln:Up_Down\:_%s=Сверху/Снизу\: %s +eln:Wind_area\:=Ветреная площадь\: +eln: +eln:# ./src/main/java/mods/eln/wiki/Data.java +eln:Energy=Энергия +eln:Light=Освещение +eln:Machine=Машины +eln:Ore=Руды +eln:Portable=Переносные +eln:Resource=Ресурсы +eln:Signal=Сигнальные +eln:Thermal=Тепловые +eln:Upgrade=Улучшения +eln:Utilities=Иное +eln:Wiring=Проводка +eln: +eln:# ./src/main/java/mods/eln/wiki/Default.java +eln:Previous=Предыдущ. +eln: +eln:# ./src/main/java/mods/eln/wiki/ItemDefault.java +eln:Can_be_used_to_craft\:=Используется в рецепте\: +eln:Cannot_be_crafted!=Не может быть создано\! +eln:Cost_%sJ=Затрачивает %sДж +eln:Created_by\:=Создано\: +eln:Is_not_a_crafting_material!=Не является материалом для рецепта\! +eln:Recipe\:=Рецепт\: +eln: +eln:# Appearing in multiple source files +eln:(Increases_capacity)=(Увеличивает емкость) +eln:(Increases_inductance)=(Повышает индуктивность) +eln:Actual\:_%s°C=Текущ.\: %s°C +eln:Biggest=Наибольш. +eln:Booster_slot=Слот для ускорителя +eln:Can_create\:=Может создавать\: +eln:Capacity\:_%sF=Емкость\: %sF +eln:Charge_power\:_%sW=Мощность подзарядки\: %sВт +eln:Connected=Подключено +eln:Cooling_power\:_%sW=Мощность охлаждения\: %sВт +eln:Copper_cable_slot=Слот для медного проаода +eln:Dielectric_slot=Слот для диэлектрика +eln:Discharge_power\:_%sW=Мощность разрядки\: %sВт +eln:Electrical_cable_slot=Слот для провода +eln:Entity_filter_slot=Слот для фильтра существ +eln:Ferromagnetic_core_slot=Слот для ферромагнитного ядра +eln:Has_a_signal_output.=Имеет выходной сигнал. +eln:Inductance\:_%sH=Индуктивность\: %sH +eln:Internal_resistance\:_%sΩ=Внутреннее сопротивление\: %sΩ +eln:Is_off=Выкл. +eln:Is_on=Вкл. +eln:Max._temperature\:_%s°C=Макс. нагрев\: %s°C +eln:Measured_value\ncorresponding\nto_0%_output=Измеренное значение\nблизко к 0% +eln:Measured_value\ncorresponding\nto_100%_output=Измеренное значение\nблизко к 100% +eln:Nominal\:=Минимум\: +eln:Nominal_power\:_%sW=Минимальная мощность\: %sВт +eln:Nominal_usage\:=Минимальное кол-во использований\: +eln:Nominal_voltage\:_%sV=Минимальное напряжение\: %sВ +eln:Not_connected=Не соединено +eln:Not_enough_space_for_this_block=Недостаточно места для этого блока +eln:Power=Мощность +eln:Power\:_%sW=Мощность\: %sВт +eln:Range\:_%s_blocks=Дальность\: %s блока(-ов) +eln:Redstone_slot=Слот для редстоуна +eln:Regulator_slot=Слот для регулировщика +eln:Reset=Сброс +eln:Resistance\:_%sΩ=Сопротивление\: %sΩ +eln:Smallest=Наименьш. +eln:Specify_the_channel=Необходимо указать канал +eln:Stored_energy\:_%sJ_(%s)=Содержащаяся энергия\: %sДж (%s) +eln:Temperature\:_%s°C=Температура\: %s°C +eln:Temperature_gauge=Шкала температуры +eln:Thermal_isolator_slot=Слот для термального изолятора +eln:Toggle=Переключать +eln:Toggle_switch=Переключить +eln:Toggles_the_output_each_time\nan_emitter's_value_rises.\nUseful_to_allow_multiple_buttons\nto_control_the_same_light.=Переключает выход каждый\nраз, когда входное значение\nувеличивается.\nПолезно для переключения\nодной и той же лампочки при \nпомощи нескольких кнопок. +eln:Used_to_cool_down_turbines.=Используется для охлаждения тепловых турбин. +eln:Uses_the_biggest\nvalue_on_the_channel.=Использует наибольшее \nзначение в канале. +eln:Uses_the_smallest\nvalue_on_the_channel.=Использует наименьшее \nзначение в канале. +eln:Validate=Проверить +eln:Voltage\:_%sV=Напряжение\: %sВ +eln:You_can't_place_this_block_at_this_side=Вы не можете разместить данный блок с этой стороны diff --git a/src/main/resources/assets/eln/lang/ru_RU.lang b/src/main/resources/assets/eln/lang/ru_RU.lang index 2d43ef202..c433aaa8f 100644 --- a/src/main/resources/assets/eln/lang/ru_RU.lang +++ b/src/main/resources/assets/eln/lang/ru_RU.lang @@ -1,829 +1,829 @@ -# - -# ./src/main/java/mods/eln/Achievements.java -Electrical_Age_[WIP]=Electrical Age [В РАЗРАБОТКЕ] -achievement.craft_50v_macerator=Начинающий дроблильшик -achievement.craft_50v_macerator.desc=Создайте Дробитель на 50В -achievement.open_guide=Могущество Wiki -achievement.open_guide.desc=Открыть внутреигровую Вики - -# ./src/main/java/mods/eln/Eln.java -10A_Diode.name=Диод на 10А -200V_Active_Thermal_Dissipator.name=Активный радиатор на 200В -200V_Battery_Charger.name=Зарядник на 200В -200V_Compressor.name=Компрессор на 200В -200V_Condensator.name=Конденсатор на 200В -200V_Copper_Heating_Corp.name=Медный нагревательный элемент на 200В -200V_Economic_Light_Bulb.name=Энергосберегающая лампочка на 200В -200V_Farming_Lamp.name=Фермерская лампа на 200В -200V_Fuel_Generator.name=Топливный генератор на 200В -200V_Incandescent_Light_Bulb.name=Лампа накаливания на 200В -200V_Iron_Heating_Corp.name=Железный нагревательный элемент на 200В -200V_LED_Bulb.name=Светодиод на 200В -200V_Macerator.name=Дробитель на 200В -200V_Magnetizer.name=Намагничиватель на 200В -200V_Plate_Machine.name=Прокатный стан на 200В -200V_Power_Socket.name=Розетка на 200В -200V_Tungsten_Heating_Corp.name=Вольфрамовый нагревательный элемент на 200В -200V_Turbine.name=Тепловая турбина на 200В -25A_Diode.name=Диод на 25А -50V_Battery_Charger.name=Зарядник на 50В -50V_Carbon_Incandescent_Light_Bulb.name=Карбоновая лампа накаливания на 50В -50V_Compressor.name=Компрессор на 50В -50V_Condensator.name=Конденсатор на 50В -50V_Copper_Heating_Corp.name=Медный нагревательный элемент на 50В -50V_Economic_Light_Bulb.name=Энергосберегающая лампочка на 50В -50V_Egg_Incubator.name=Инкубатор яиц на 50В -50V_Farming_Lamp.name=Фермерская лампа на 50В -50V_Fuel_Generator.name=Топливный генератор на 50В -50V_Incandescent_Light_Bulb.name=Лампа накаливания на 50В -50V_Iron_Heating_Corp.name=Железный нагревательный элемент на 50В -50V_LED_Bulb.name=Светодиод на 50В -50V_Macerator.name=Дробитель на 50В -50V_Magnetizer.name=Намагничиватель на 50В -50V_Plate_Machine.name=Прокатный стан на 50В -50V_Power_Socket.name=Розетка на 50В -50V_Tungsten_Heating_Corp.name=Вольфрамовый нагревательный элемент на 50В -50V_Turbine.name=Тепловая турбина на 50В -800V_Defence_Turret.name=Защитная турель на 800В -AND_Chip.name=Чип с элементом И -Advanced_Chip.name=Продвинутая микросхема -Advanced_Electrical_Motor.name=Продвинутый электромотор -Advanced_Energy_Meter.name=Продвинутый счетчик -Advanced_Machine_Block.name=Продвинутый корпус механизма -Advanced_Magnet.name=Улучшенный магнит -AllMeter.name=Универсальный измеритель -Alloy_Dust.name=Распыленный сверхсплав -Alloy_Ingot.name=Слиток сверхсплава -Alloy_Plate.name=Пластина из сверхсплава -Analog_Watch.name=Аналоговые часы -Analog_vuMeter.name=Аналоговый индикатор -Analogic_Regulator.name=Аналогический регулятор -Animal_Filter.name=Фильтр животных -Auto_Miner.name=Автошахтер -Average_Electrical_Drill.name=Обычная насадка для бура -Average_Ferromagnetic_Core.name=Обычное ферромагнитное ядро -Basic_Magnet.name=Базовый магнит -Black_Brush.name=Черная кисточка -Blue_Brush.name=Синяя кисточка -Brown_Brush.name=Коричневая кисточка -Capacity_Oriented_Battery.name=Вместительный аккумулятор -Cheap_Chip.name=Дешевый чип -Cheap_Electrical_Drill.name=Дешевая насадка для бура -Cheap_Ferromagnetic_Core.name=Дешевое ферромагнитное ядро -Cinnabar_Dust.name=Распыленная киноварь -Cinnabar_Ore.name=Киноварь -Coal_Dust.name=Распыленный уголь -Coal_Plate.name=Угольная пластина -Combustion_Chamber.name=Камера внутреннего сгорания -Copper_Cable.name=Медный провод -Copper_Dust.name=Распыленная медь -Copper_Ingot.name=Медный слиток -Copper_Ore.name=Медная руда -Copper_Plate.name=Медная пластина -Copper_Thermal_Cable.name=Медный теплопровод -Cost_Oriented_Battery.name=Дешевый аккумулятор -Current_Oriented_Battery.name=Мощный аккумулятор -Cyan_Brush.name=Бирюзовая кисточка -D_Flip_Flop_Chip.name=Чип с D-триггером -Data_Logger.name=Осциллограф -Data_Logger_Print.name=Распечаток осциллографа -Dielectric.name=Диэлектрик -Digital_Watch.name=Цифровые часы -Electrical_Anemometer_Sensor.name=Электрический анемометр -Electrical_Breaker.name=Выключатель -Electrical_Daylight_Sensor.name=Датчик дневного света -Electrical_Entity_Sensor.name=Датчик движения -Electrical_Fire_Detector.name=Датчик огня -Electrical_Furnace.name=Электрическая печь -Electrical_Light_Sensor.name=Датчик света -Electrical_Motor.name=Электромотор -Electrical_Probe.name=Электрический зонд -Electrical_Probe_Chip.name=Чип электрического зонда -Electrical_Source.name=Творческий источник энергии -Electrical_Timer.name=Таймер -Electrical_Weather_Sensor.name=Погодный сенсор -Electrical_age_wrench,\nCan_be_used_to_turn\nsmall_wall_blocks=Гаечный ключ из мода\nElectricalAge, может быть\nиспользован, чтобы \nповорачивать небольшие \nнастенные блоки. -Energy_Meter.name=Вольтметр -Experimental_Transporter.name=Экспериментальный транспортер -Fast_Electrical_Drill.name=Качественная насадка для бура -Ferrite_Ingot.name=Слиток феррита -Flat_Lamp_Socket.name=Плоский плафон -Fluorescent_Lamp_Socket.name=Люминесцентный плафон -Generator.name=Генератор -Gold_Dust.name=Распыленное золото -Gold_Plate.name=Золотая пластина -Gray_Brush.name=Серая кисточка -Green_Brush.name=Зеленая кисточка -Ground_Cable.name=Заземляющий провод -High_Power_Receiver_Antenna.name=Высоковольтный электроприемник -High_Power_Transmitter_Antenna.name=Высоковольтный электропередатчик -High_Voltage_Cable.name=Высоковольтный провод -High_Voltage_Relay.name=Высоковольтное реле -High_Voltage_Switch.name=Высоковольтный рубильник -Hub.name=Распределитель -Industrial_Data_Logger.name=Продвинутый осциллограф -Iron_Cable.name=Железный провод -Iron_Dust.name=Распыленное железо -Iron_Plate.name=Железная пластина -JK_Flip_Flop_Chip.name=Чип с JK-триггером -LED_vuMeter.name=Светодиодный индикатор -Lamp_Socket_A.name=Люстра -Lamp_Socket_B_Projector.name=Прожектор -Lamp_Supply.name=Блок освещения -Large_Rheostat.name=Большой реостат -Lead_Dust.name=Распыленный свинец -Lead_Ingot.name=Свинцовый слиток -Lead_Ore.name=Свинцовая руда -Lead_Plate.name=Свинцовая пластина -Life_Oriented_Battery.name=Долговременный аккумулятор -Light_Blue_Brush.name=Голубая кисточка -Lime_Brush.name=Лаймовая кисточка -Long_Suspended_Lamp_Socket.name=Плафон на длинной подвеске -Low_Power_Receiver_Antenna.name=Низковольтный электроприемник -Low_Power_Transmitter_Antenna.name=Низковольтный электропередатчик -Low_Voltage_Cable.name=Низковольтный провод -Low_Voltage_Relay.name=Низковольтное реле -Low_Voltage_Switch.name=Низковольтный выключатель -Machine_Block.name=Корпус механизма -Machine_Booster.name=Ускоритель -Magenta_Brush.name=Пурпурная кисточка -Medium_Power_Receiver_Antenna.name=Средневольтовый электроприемник -Medium_Power_Transmitter_Antenna.name=Средневольтовый электропередатчик -Medium_Voltage_Cable.name=Средневольтовый провод -Medium_Voltage_Relay.name=Средневольтовое реле -Medium_Voltage_Switch.name=Средневольтовый выключатель -Mercury.name=Ртуть -Mining_Pipe.name=Удлинитель шахтерского бура -Modbus_RTU.name=Modbus RTU -Modern_Data_Logger.name=Современный осциллограф -Monster_Filter.name=Фильтр враждебных существ -MultiMeter.name=Мультиметр -NAND_Chip.name=Чип с обратным элементом И -NOR_Chip.name=Чип с обратным элементом ИЛИ -NOT_Chip.name=Чип с инвертором -Nuclear_Alarm.name=Ядерная сирена -OR_Chip.name=Чип с элементом ИЛИ -On_OFF_Regulator_10_Percent.name=Автоматическое реле на 10% -On_OFF_Regulator_1_Percent.name=Автоматическое реле на 1% -Optimal_Ferromagnetic_Core.name=Оптимальное ферромагнитное ядро -Orange_Brush.name=Оранжевая кисточка -Ore_Scanner.name=Сканер руд -Oscillator_Chip.name=Чип с осциллятором -Overheating_Protection.name=Защита от перегрева -Overvoltage_Protection.name=Защита от перенапряжения -PAL_Chip.name=Чип с программируемой матричной логикой -Pink_Brush.name=Розовая кисточка -Player_Filter.name=Фильтр игроков -Portable_Battery.name=Карманная батарейка -Portable_Battery_Pack.name=Упакованные карманные батарейки -Portable_Condensator.name=Карманный конденсатор -Portable_Condensator_Pack.name=Упакованные карманные конденсаторы -Portable_Electrical_Axe.name=Портативная электропила -Portable_Electrical_Mining_Drill.name=Портативный электробур -Power_Capacitor.name=Конденсатор -Power_Inductor.name=Катушка индуктивности -Power_Resistor.name=Резистор -Power_capacitor.name=Конденсатор -Power_inductor.name=Катушка индуктивности -Purple_Brush.name=Фиолетовая кисточка -Red_Brush.name=Красная кисточка -Redstone-to-Voltage_Converter.name=Приемщик редстоун-сигнала -Rheostat.name=Реостат -Robust_Lamp_Socket.name=Прочный плафон -Rubber.name=Резина -Schmitt_Trigger_Chip.name=Чип с триггером Шмитта -Sconce_Lamp_Socket.name=Плафон-канделябр -Signal_20H_inductor.name=Сигнальная катушка индуктивности на 20H -Signal_Antenna.name=Сигнальная антенна -Signal_Button.name=Сигнальная кнопка -Signal_Cable.name=Сигнальный провод -Signal_Diode.name=Диод -Signal_Processor.name=Обработчик сигнала -Signal_Relay.name=Реле -Signal_Source.name=Источник сигнала -Signal_Switch.name=Сигнальный переключатель -Signal_Switch_with_LED.name=Сигнальный переключатель со светодиодом -Signal_Trimmer.name=Сигнальный ограничитель -Silicon_Dust.name=Распыленный кремний -Silicon_Ingot.name=Кремниевый слиток -Silicon_Plate.name=Кремниевая пластина -Silver_Brush.name=Серая кисточка -Simple_Lamp_Socket.name=Обычный плафон -Single-use_Battery.name=Одноразовый аккумулятор -Small_200V_Copper_Heating_Corp.name=Небольшой медный нагревательный элемент на 200В -Small_200V_Iron_Heating_Corp.name=Небольшой железный нагревательный элемент на 200В -Small_200V_Tungsten_Heating_Corp.name=Небольшой вольфрамовый нагревательный элемент на 200В -Small_50V_Carbon_Incandescent_Light_Bulb.name=Маленькая карбоновая лампочка на 50В -Small_50V_Copper_Heating_Corp.name=Маленький медный нагревательный элемент на 50В -Small_50V_Economic_Light_Bulb.name=Маленькая энергосберегающая лампочка на 50В -Small_50V_Incandescent_Light_Bulb.name=Маленькая лампа накаливания на 50В -Small_50V_Iron_Heating_Corp.name=Маленький железный нагревательный элемент на 50В -Small_50V_Tungsten_Heating_Corp.name=Небольшой вольфрамовый нагревательный элемент на 50В -Small_Active_Thermal_Dissipator.name=Небольшой активный радиатор -Small_Flashlight.name=Маленький фонарик -Small_Passive_Thermal_Dissipator.name=Небольшой пассивный радиатор -Small_Rotating_Solar_Panel.name=Небольшая настраиваемая солнечная батарея -Small_Solar_Panel.name=Небольшая солнечная батарея -Solar_Tracker.name=Отслеживатель солнца -Standard_Alarm.name=Обыкновенная сирена -Steam_Turbine.name=Паровая турбина -Stone_Heat_Furnace.name=Каменная тепловая печь -Street_Light.name=Уличный фонарь -Suspended_Lamp_Socket.name=Удлиненный подвесной плафон -Temperature_Probe.name=Датчик температуры -Thermal_Probe.name=Термальный датчик -Thermal_Probe_Chip.name=Термосенсорный чип -Thermistor.name=Термистор -ThermoMeter.name=Термометр -Transformer.name=Трансформатор -Tree_Resin.name=Каучук -Tree_Resin_Collector.name=Сборщик каучука -Tungsten_Cable.name=Вольфрамовый провод -Tungsten_Dust.name=Распыленный вольфрам -Tungsten_Ingot.name=Вольфрамовый слиток -Tungsten_Ore.name=Вольфрамовая руда -Tutorial_Sign.name=Подсказка -Very_High_Voltage_Cable.name=Силовой кабель -Very_High_Voltage_Relay.name=Силовое реле -Very_High_Voltage_Switch.name=Силовой рубильник -Voltage-to-Redstone_Converter.name=Испускатель редстоун-сигнала -Voltage_Oriented_Battery.name=Высоковольтный аккумулятор -Voltage_Probe.name=Датчик напряжения -Water_Turbine.name=Гидротурбина -Weak_50V_Battery_Charger.name=Маломощный зарядник на 50В -White_Brush.name=Белая кисточка -Wind_Turbine.name=Ветряная турбина -Wireless_Analyser.name=Анализатор беспроводных сигналов -Wireless_Button.name=Беспроводная сигнальная кнопка -Wireless_Signal_Receiver.name=Сигнальный приемник -Wireless_Signal_Repeater.name=Сигнальный усилитель -Wireless_Signal_Transmitter.name=Сигнальный передатчик -Wireless_Switch.name=Беспроводной сигнальный переключатель -Wrench.name=Гаечный ключ -X-Ray_Scanner.name=Рентген-сканер -XNOR_Chip.name=Чип с обратным исключающим ИЛИ -XOR_Chip.name=Чип с исключающим ИЛИ -Yellow_Brush.name=Желтая кисточка -entity.EAReplicator.name=Репликатор -item.Copper Axe.name\=Медный топор -item.Copper Axe.name\=Медный топор -item.Copper Axe.name\=Медный топор -item.Copper Axe.name\=Медный топор -item.Copper Axe.name\=Медный топор -item.Copper Axe.name\=Медный топор -item.Copper Axe.name\=Медный топор -item.Copper Axe.name\=Медный топор -item.Copper Axe.name\=Медный топор -item.E-Coal Boots.name\=E-Углеродные ботинки -item.E-Coal Boots.name\=E-Углеродные ботинки -item.E-Coal Boots.name\=E-Углеродные ботинки -item.E-Coal Boots.name\=E-Углеродные ботинки -itemGroup.Eln=Electrical Age -mod.meta.desc=Электричество у вас на базе\! -tile.eln.ElnProbe.name=Компьютерный зонд -tile.eln.EnergyConverterElnToOtherHVUBlock.name=Конвертер электричества на 800В -tile.eln.EnergyConverterElnToOtherLVUBlock.name=Конвертер электричества на 50В -tile.eln.EnergyConverterElnToOtherMVUBlock.name=Конвертер электричества на 200В - -# ./src/main/java/mods/eln/i18n/I18N.java -You_have_%s_lives_left=У вас осталось %s жизней - -# ./src/main/java/mods/eln/item/BrushDescriptor.java -Brush_is_dry=Кисточка - сухая -Can_paint_%s_blocks=Может окрасить до %s блоков - -# ./src/main/java/mods/eln/item/CombustionChamber.java -Upgrade_for_the_Stone_Heat_Furnace.=Улучшение для каменной тепловой печи - -# ./src/main/java/mods/eln/item/ElectricalDrillDescriptor.java -Energy_per_operation\:_%sJ=Необх. энерг. для одого процесса\: %sДж -Time_per_operation\:_%ss=Необх. время для одного процесса\: %sсек - -# ./src/main/java/mods/eln/item/FerromagneticCoreDescriptor.java -Cable_loss_factor\:_%s=Коэффициент потерь\: %s - -# ./src/main/java/mods/eln/item/HeatingCorpElement.java - -# ./src/main/java/mods/eln/item/LampDescriptor.java -Bad=Плохое -Condition\:=Условие\: -End_of_life=Окончание срока службы -Good=Хорошее -New=Новое -Nominal_lifetime\:_%sh=Минимальная продолжительность жизни\: %sч -Technology\:_%s=Технология\: %s -Used=Уже использованное - -# ./src/main/java/mods/eln/item/LampSlot.java -Lamp_slot=Слот для лампочки - -# ./src/main/java/mods/eln/item/OverHeatingProtectionDescriptor.java -Useful_to_prevent_overheating\nof_Batteries=Полезно для предотвращения\nперегрева аккумуляторов - -# ./src/main/java/mods/eln/item/OverVoltageProtectionDescriptor.java -Useful_to_prevent_over-voltage\nof_Batteries=Полезно для предотвращения\nперенапряжения в аккумуляторах - -# ./src/main/java/mods/eln/item/SolarTrackerDescriptor.java -Solar_panel_upgrade=Улучшение для солнечной батареи - -# ./src/main/java/mods/eln/item/electricalitem/BatteryItem.java - -# ./src/main/java/mods/eln/item/electricalitem/ElectricalLampItem.java -Off=Выкл -On=Вкл -State\:=Состояние\: -Stored_Energy\:_%sJ_(%s)=Содержащаяся энергия\: %sДж (%s) - -# ./src/main/java/mods/eln/item/regulator/RegulatorSlot.java - -# ./src/main/java/mods/eln/misc/UtilsClient.java -Hold_shift=Удерживайте shift - -# ./src/main/java/mods/eln/misc/Version.java -mod.name=Electrical Age - -# ./src/main/java/mods/eln/node/six/SixNodeDescriptor.java - -# ./src/main/java/mods/eln/simplenode/energyconverter/EnergyConverterElnToOtherGui.java -Input_power_is_limited_to_%sW=Входная мощность ограничена до %sВт - -# ./src/main/java/mods/eln/sixnode/LogicGate.kt -_O\:_= O\: - -# ./src/main/java/mods/eln/sixnode/TreeResinCollector/TreeResinCollectorDescriptor.java -Produces_Tree_Resin_over\ntime_when_put_on_a_tree.=Если висит на дереве, то\nсо временем производит \nкаучук. -This_block_can_only_be_placed_on_the_side_of_a_tree!=Этот блок можно повесить только на дерево\! - -# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerContainer.java -Battery_slot=Слот для батарейки - -# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerDescriptor.java -Can_be_used_to_recharge\nelectrical_items_like\:\nFlash_Light,_X-Ray_scanner\nand_Portable_Battery_...=Может быть использовано\nдля перезарядки таких\nпредметов, как\: Фонарик,\nРентген-сканер, Карманная\nбатарейка и т.д. - -# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerGui.java - -# ./src/main/java/mods/eln/sixnode/diode/DiodeDescriptor.java -Electrical_current_can_only\nflow_through_the_diode\nfrom_anode_to_cathode=Ток в диоде может течь\nтолько в одну сторону,\nот анода к катоду. - -# ./src/main/java/mods/eln/sixnode/electricalalarm/ElectricalAlarmDescriptor.java -= -Emits_an_acoustic_alarm_if\nthe_input_signal_is_high=Издает звук тревоги,\nесли входной сигнал\nмощный - -# ./src/main/java/mods/eln/sixnode/electricalalarm/ElectricalAlarmGui.java -Sound_is_muted=Звук выключен -Sound_is_not_muted=Звук включен - -# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerContainer.java - -# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerDescriptor.java -Protects_electrical_components\nOpens_contact_if\:\n__-_Voltage_exceeds_a_certain_level\n-_Current_exceeds_the_cable_limit=Защищает электрические\nкомпоненты\nРазрывает контакт, если\:\n- Напряжение превышает указанный уровень\n- Сила тока превышает лимит проводов - -# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerGui.java -Maximum_voltage_before_cutting_off=Макс. напряжение перед разрывом цепи -Minimum_voltage_before_cutting_off=Мин. напряжение перед разрывом цепи -Switch_is_off=Переключатель выключен -Switch_is_on=Переключатель включен - -# ./src/main/java/mods/eln/sixnode/electricalcable/ElectricalCableDescriptor.java -A_signal_is_electrical_information\nwhich_must_be_between_0V_and_%sV=Сигнал - это электрическая\nинформация, которая варьирует в пределах\n0 и %s вольт -Cable_is_adapted_to_conduct\nelectrical_signals.=Этот кабель адаптирован для \nпередачи электрических сигналов. -Current\:_%sA=Сила тока\: %sA -Not_adapted_to_transport_power.=Не адаптирован для передачи энергии. -Save_usage\:=Безопасное использование\: -Serial_resistance\:_%sΩ=Сопротивление тока\: %sΩ - -# ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerDescriptor.java -It_can_store_up_to_256_points.=Может хранить в себе до 256 точек. -Measures_the_voltage_of_an\nelectrical_signal_and_plots\nthe_data_in_real_time.=Измеряет напряжение\nэлектрического сигнала\nи изображает полученные \nданные в реальном времени. - -# ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerGui.java -Back_to_display=Назад к экрану -Configuration=Настройка -Current_[A]=Сила тока [А] -Energy_[J]=Энергия [Дж] -Percent_[-]%=Проценты [-]% -Power_[W]=Мощность [Вт] -Print=Печать -Sampling_period=Период измерения -Temp._[*C]=Темпер. [*C] -Voltage_[V]=Напряжение [V] -Y-axis_max=Макс. по оси Y -Y-axis_min=Мин. по оси Y - -# ./src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorContainer.java - -# ./src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorDescriptor.java -Output_voltage_increases\nif_entities_are_moving_around.=Выходное напряжение\nусиливается, если вокруг\nнего двигаются сущности. - -# ./src/main/java/mods/eln/sixnode/electricalfiredetector/ElectricalFireDetectorDescriptor.java -Output_voltage_increases\nif_a_fire_has_been_detected.=При обнаружении огня\nвыходной сигнал увеличивается. - -# ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceDescriptor.java -Provides_configurable_signal\nvoltage.=Выдаёт настраиваемое напряжение. - -# ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceGui.java -Output_at_%s=Выход на %s - -# ./src/main/java/mods/eln/sixnode/electricallightsensor/ElectricalLightSensorDescriptor.java -0V_at_night,_%sV_at_noon.=0В ночью, %sВ днем. -Provides_an_electrical_voltage\nin_the_presence_of_light.=При наличии света испускает \nэлектрический сигнал. -Provides_an_electrical_voltage\nwhich_is_proportional_to\nthe_intensity_of_daylight.=Испускает электрический сигнал,\nпропорциональный интенсивности\nдневного света. - -# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathContainer.java - -# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathDescriptor.java -Applicable_boolean_operators\:=Допустимые булевые операторы\: -Applicable_functions\:=Допустимые функции\: -Applicable_mathematical_operators\:=Допустимые математические операторы\: -Calculates_an_output_signal_from\n3_inputs_(A,_B,_C)_using_an_equation.=Высчитывает выходной сигнал\nна основе 3-х входов (A, B, C), при\nпомощи уравнения. - -# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathGui.java -%s_Redstone(s)_required=Требуется %s ед. редстоун(-а) -Equation_required!=Требуется ввести уравнение\! -Inputs_are=Входы -Invalid_equation!=Неверное уравнение\! -Output_voltage_formula=Формула выходного напряжения -Waiting_for_completion...=Ожидание завершения... - -# ./src/main/java/mods/eln/sixnode/electricalredstoneinput/ElectricalRedstoneInputDescriptor.java -Converts_Redstone_signal\nto_an_electrical_voltage.=Конвертирует редстоун-сигнал\nв электрический сигнал. - -# ./src/main/java/mods/eln/sixnode/electricalredstoneoutput/ElectricalRedstoneOutputDescriptor.java -Converts_electrical_voltage\ninto_a_Redstone_signal.=Конвертирует электрический\nсигнал в редстоун-сигнал. - -# ./src/main/java/mods/eln/sixnode/electricalrelay/ElectricalRelayDescriptor.java -A_relay_is_an_electrical\ncontact_that_conducts_electric\ncurrent_or_not,_depending\nthe_actual_input_signal_voltage.=Реле - это электрический\nконтакт, который проводит\nток, либо нет, в зависимости\nот входного сигнала. - -# ./src/main/java/mods/eln/sixnode/electricalrelay/ElectricalRelayGui.java -Normally_closed=По-умолчанию закрыто -Normally_open=По-умолчанию открыто - -# ./src/main/java/mods/eln/sixnode/electricalsource/ElectricalSourceDescriptor.java -Creative_block.=Творческий блок. -Provides_an_ideal_voltage_source\nwithout_energy_or_power_limitation.=Является идеальным источником\nэнергии, без каких-либо\nограничений. - -# ./src/main/java/mods/eln/sixnode/electricalsource/ElectricalSourceGui.java -Output_voltage=Выходное напряжение - -# ./src/main/java/mods/eln/sixnode/electricalswitch/ElectricalSwitchDescriptor.java -Can_break_an_electrical_circuit\ninterrupting_the_current.=Может нарушить электрическую\nцепь прервав течение тока. - -# ./src/main/java/mods/eln/sixnode/electricaltimeout/ElectricalTimeoutDescriptor.java -Upon_application_of_a_high_signal,\nthe_timer_maintains_the_output_high_for\na_configurable_interval._Can_be_re-triggered.=При высоком входном сигнале, таймер \nподдерживает высокий выходной сигнал \nв течение заданного интервала. \nМожет быть запущен повторно. - -# ./src/main/java/mods/eln/sixnode/electricaltimeout/ElectricalTimeoutGui.java -Set=Старт -The_time_interval_the\noutput_is_kept_high.=Интервал времени,\nпо которому на выходе\nбудет сильный сигнал. - -# ./src/main/java/mods/eln/sixnode/electricalvumeter/ElectricalVuMeterDescriptor.java -Displays_the_value_of_a_signal.=Отображает значение сигнала. - -# ./src/main/java/mods/eln/sixnode/electricalwatch/ElectricalWatchContainer.java -Portable_battery_slot=Слот для батарейки - -# ./src/main/java/mods/eln/sixnode/electricalweathersensor/ElectricalWeatherSensorDescriptor.java -Clear\:_%sV=Ясно\: %sВ -Provides_an_electrical_signal\ndepending_the_actual_weather.=Испускает электрический\nсигнал, зависящий от\nтекущей погоды. -Rain\:_%sV=Дождь\: %sВ -Storm\:_%sV=Буря\: %sВ - -# ./src/main/java/mods/eln/sixnode/electricalwindsensor/ElectricalWindSensorDescriptor.java -Maximum_wind_speed_is_%sm_s=Максимальная скорость ветра - %sм/с -Provides_an_electrical_signal\ndependant_on_wind_speed.=Испускает электрический\nсигнал, зависящий от силы\nветра. -You_can't_place_this_block_on_the_floor_or_the_ceiling=Вы не можете разместить этот блок на полу или на потолке - -# ./src/main/java/mods/eln/sixnode/electricasensor/ElectricalSensorDescriptor.java -Can_measure_Voltage_Power_Current=Может измерять напряжение, мощность и силу тока. -Measures_electrical_values_on_cables.=Измеряет электрические значения\nв проводах. -Measures_voltage_on_cables.=Измеряет напряжение в проводах. - -# ./src/main/java/mods/eln/sixnode/electricasensor/ElectricalSensorGui.java -Current=Сила тока -Measured_voltage\ncorresponding\nto_0%_output=Измеренное напряжение \nблизко к 0% -Measured_voltage\ncorresponding\nto_100%_output=Измеренное напряжение \nблизко к 100% -Voltage=Напряжение - -# ./src/main/java/mods/eln/sixnode/energymeter/EnergyMeterGui.java -Change_password=Сменить пароль -Counter_Mode=Режим счетчика -Counts_the_energy_conducted_from\n\u00a74red\u00a7f_to_\u00a71blue\u00a7f.=Считает электричество, переданное от\n\\u00a74красного\\u00a7f к \\u00a71синему\\u00a7f. -Energy_counter\:_%sJ=Энергии насчитано\: %sДж -Enter_new_energy=Введите новое кол-во энергии -Enter_password=Введите пароль -Prepay_Mode=Режим предоплаты -Reset_time_counter=Сбросить время -Set_energy_counter=Начать счет энергии -Time_counter\:=Времени насчитано\: -Try_password=Попробовать пароль -You_can_set_an_initial\namount_of_available_energy.\nWhen_the_counter_arrives_at_0\nthe_contact_will_be_opened.=Вы можете указать\nначальное кол-во доступной\nэнергии. Когда обратный отсчет\nдостигнет ноля - цепь будет \nразорвана. -is_off=выкл. -is_on=вкл. -value_in_kJ=значение в кДж - -# ./src/main/java/mods/eln/sixnode/groundcable/GroundCableDescriptor.java -Can_be_used_to_set_a_point_of_an\nelectrical_network_to_0V_potential.\nFor_example_to_ground_negative_battery_contacts.=Может быть использовано для\nуказания 0-вольтовой точки сети.\nНапример, для заземления негативных контактов \nаккумулятора. -Provides_a_zero_volt_reference.=Обеспечивает нулевой вольт в сети. - -# ./src/main/java/mods/eln/sixnode/hub/HubDescriptor.java -Allows_crossing_cables\non_one_single_block.=Позволяет проводам\nпересекаться в одном \nблоке. - -# ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketDescriptor.java -Angle\:_%s°_to_%s°=Угол\: %s° до %s° -Spot_range\:_%s_blocks=Дальность света\: %s блока(-ов) - -# ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketGuiDraw.java -%s_is_not_in_range!=%s вне диапазона\! -Cable_slot_empty=Слот для провода пуст -Orientation\:_%s°=Ориентация\: %s° -Parallel=Парралельно -Powered_by_Lamp_Supply=Беспроводной режим -Powered_by_cable=Проводной режим -Serial=Последовательно -Specify_the_supply_channel=Укажите имя канала - -# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyContainer.java -Electrical_cable_slot\nBase_range_is_32_blocks.\nEach_additional_cable\nincreases_range_by_one.=Слот для провода.\nСтартовый диапазон - 32 блока.\nКаждый новый провод\nувеличивает его на еденицу. - -# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyDescriptor.java -Supplies_all_lamps_on_the_channel.=Подпитывает все плафоны на\nуказанной частоте, в определенном\nрадиусе. - -# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyGui.java -Power_channel_name=Имя канала -Wireless_channel_name=Название канала - -# ./src/main/java/mods/eln/sixnode/modbusrtu/ModbusRtuGui.java -Add=Добавить -Channel_name=Название канала -Modbus_ID=Modbus ID -Modbus_RTU=Modbus RTU -Station_ID=ID станции -Station_name=Имя станции -Wireless_RX=Беспроводной RX -Wireless_TX=Беспроводной TX - -# ./src/main/java/mods/eln/sixnode/powercapacitorsix/PowerCapacitorSixContainer.java -(Increases_maximum_voltage)=(Увеличивает макс. напряжение) - -# ./src/main/java/mods/eln/sixnode/powercapacitorsix/PowerCapacitorSixGui.java - -# ./src/main/java/mods/eln/sixnode/powerinductorsix/PowerInductorSixContainer.java - -# ./src/main/java/mods/eln/sixnode/powerinductorsix/PowerInductorSixGui.java - -# ./src/main/java/mods/eln/sixnode/powersocket/PowerSocketDescriptor.java -Supplies_any_device\nplugged_in_with_energy.=Запитывает электричеством\nлюбое подключенное устройство. - -# ./src/main/java/mods/eln/sixnode/powersocket/PowerSocketGui.java -Specify_the_device_to_supply_through_this_socket.=Укажите устройство, которое будет запитано от этой розетки. - -# ./src/main/java/mods/eln/sixnode/resistor/ResistorContainer.java -(Sets_resistance)=(Изменяет сопротивление) -Coal_dust_slot=Слот для распыленного угля - -# ./src/main/java/mods/eln/sixnode/thermalcable/ThermalCableDescriptor.java -High_parallel_resistance\n_\=>_Low_power_dissipation.=Высокое параллельное \nсопротивление \=> Низкие \nпотери мощности. -Low_serial_resistance\n_\=>_High_conductivity.=Низкое сопротивление \=> Высокая проводимость. -Parallel_resistance\:_%sK_W=Параллельное сопротивление\: %sK/Вт -Serial_resistance\:_%sK_W=Последовательное сопротивление\: %sK/Вт - -# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorContainer.java -Cable_slot=Слот для провода - -# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorDescriptor.java -Can_measure\:=Может измерять\: -Measures_temperature_of_cables.=Измеряет температуру проводов. -Measures_thermal_values_on_cables.=Измеряет температурные значения\nпроводов. -__Temperature_Power_conducted=тепла/тока проведено - -# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorGui.java -Measured_temperature\ncorresponding\nto_0%_output=Измеренная температура\nблизко к 0% -Measured_temperature\ncorresponding\nto_100%_output=Измеренная температура\nблизко к 100% -Temperature=Температура - -# ./src/main/java/mods/eln/sixnode/tutorialsign/TutorialSignElement.java -No_text_associated_to_this_beacon=Нет текста, ассоциированного с этой подсказкой - -# ./src/main/java/mods/eln/sixnode/tutorialsign/TutorialSignGui.java -Set_beacon_name=Имя подсказки - -# ./src/main/java/mods/eln/sixnode/wirelesssignal/rx/WirelessSignalRxGui.java - -# ./src/main/java/mods/eln/transparentnode/FuelGenerator.kt -Nominal_power\:_%s_W=Минимальная мощность\: %s Вт -Nominal_voltage\:_%s_V=Минимальное напряжение\: %s В -Produces_electricity_using_fuel.=Производит электричество сжигая топливо. - -# ./src/main/java/mods/eln/transparentnode/LargeRheostat.kt -Nom._Resistance\:_%s=Мин. сопротивление\: %s - -# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerContainer.java -Drill_slot=Слот для наконечника для бура -Mining_pipe_slot=Слот для удлинителя шахтерского бура -Ore_scanner_slot=Слот для сканера руд - -# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerDescriptor.java -Excavates_on_a_small_radius.\nExtracts_ore_on_a_bigger_radius\:\n10_blocks_radius_after_10_blocks_depth.=Роет в небольшом радиусе.\nИзвлекает ресурсы в большом радиусе\:\n10 блоков радиуса после 10 блоков глубины - -# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerGuiDraw.java -Chest_missing_on_the\nback_of_the_auto_miner!=Отсутствует сундук для\nресурсов\! -Halves_speed,_triples_power_draw=На половину быстрее, втрое больше энергозатрат -Silk_Touch_Off=Шелковое касание отключено -Silk_Touch_On=Шелковое касание включено -Silk_touch=Шелковое касание - -# ./src/main/java/mods/eln/transparentnode/battery/BatteryContainer.java -Overheating_protection=Защита от перегрева -Overvoltage_protection=Защита от перенапряжения - -# ./src/main/java/mods/eln/transparentnode/battery/BatteryDescriptor.java -Actual_charge\:_%s=Текущий заряд\: %s -Energy_capacity\:_%sJ=Вместимость\: %sДж -_charged_at_%s=заряжен на %s - -# ./src/main/java/mods/eln/transparentnode/battery/BatteryGuiDraw.java -Charge=Заряд -Charged=Полностью заряжен -Discharge=Разряжается -Energy\:=Энергия\: -Energy\:_%s=Энергия\: %s -Life\:=Срок службы\: -No_charge=Не заряжается -Power_in\:=Входная мощность\: -Power_out\:=Выходная мощность\: - -# ./src/main/java/mods/eln/transparentnode/eggincubator/EggIncubatorContainer.java -Egg_slot=Слот для яйца - -# ./src/main/java/mods/eln/transparentnode/electricalantennarx/ElectricalAntennaRxDescriptor.java -Wireless_energy_receiver.=Беспроводной приемник электричества - -# ./src/main/java/mods/eln/transparentnode/electricalantennatx/ElectricalAntennaTxDescriptor.java -Efficiency\:_%s_up_to_%s=Эффективность\: %s вплоть до %s -Wireless_energy_transmitter.=Беспроводной передатчик электричества. - -# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceContainer.java -Heating_corp_slot=Слот для нагревательного элемента - -# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceDescriptor.java -Similar_to_a_vanilla_furnace,\nbut_heats_with_electricity.=Схожа с ванильной печкой,\nоднако, разогревается\nэлектричеством. - -# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceGuiDraw.java -Auto_shutdown=Автовыключение -Manual_shutdown=Ручное выключение -Set_point\:_%s°C=Контрольная точка\: %s°C - -# ./src/main/java/mods/eln/transparentnode/electricalmachine/ElectricalMachineDescriptor.java -Cost=Затраты - -# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceContainer.java -Combustion_chamber_slot=Слот для камеры внутреннего сгорания -Fuel_slot=Слот для топлива - -# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceDescriptor.java -Generates_heat_when_supplied_with_fuel.=Генерирует тепло, когда в нем есть топливо. - -# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceGuiDraw.java -Control_gauge_at_%s=Шкала контроля на %s -Decline_fuel=Отклонять топливо -External_control=Внешн. контроль -Internal_control=Внутр. контроль -Take_fuel=Принимать топливо - -# ./src/main/java/mods/eln/transparentnode/powercapacitor/PowerCapacitorContainer.java -(Increases_maximal_voltage)=(Увеличивает макс. напряжение) - -# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelContainer.java -Solar_tracker_slot=Слот для отслеживателя солнца - -# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelDescriptor.java -Can_be_geared_towards_the_sun.=Может быть повернута к солнцу. -Max._power\:_%sW=Макс. мощность\: %sВт -Max._voltage\:_%sV=Макс. напряжение\: %sВ -Produces_power_from_solar_radiation.=Производит электричество из солнечной радиации. - -# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPannelGuiDraw.java -It_is_night=Сейчас ночь -Solar_panel_angle\:_%s°=Угол солнечной батареи\: %s° -Sun_angle\:_%s°=Угол солнца\: %s° - -# ./src/main/java/mods/eln/transparentnode/teleporter/TeleporterGui.java -Destination_transporter=Конечный транспортер -Power_consumption\:=Потребление энергии\: -Power_consumption\:_%sW=Потребление энергии\: %sВт -Required_energy\:_%sJ=Требуемая энергия\: %sДж -Start=Начать -Transporter_name=Имя транспортера - -# ./src/main/java/mods/eln/transparentnode/thermaldissipatoractive/ThermalDissipatorActiveDescriptor.java -Fan_cooling_power\:_%sW=Сила охлаждения вентилятора\: %sВт -Fan_power_consumption\:_%sW=Расход энергии вентилятором\: %sВт -Fan_voltage\:_%sV=Напряжение вентилятора\: %sВ - -# ./src/main/java/mods/eln/transparentnode/transformer/TransformerDescriptor.java -The_voltage_ratio_is_proportional\nto_the_cable_stacks_count_ratio.=Соотношение сопротивления\nпропорционально кол-ву\nпроводов в стеке. -Transforms_an_input_voltage_to\nan_output_voltage.=Превращает входное напряжение \nв выходное. - -# ./src/main/java/mods/eln/transparentnode/turbine/TurbineDescriptor.java -Generates_electricity_using_heat.=Генерирует электричество используя тепло. -Temperature_difference\:_%s°C=Различие температуры\: %s°C - -# ./src/main/java/mods/eln/transparentnode/turret/TurretDescriptor.java -CAUTION\:_Cables_can_get_quite_hot!=ОСТОРОЖНО\: Провода могут быть очень горячими\! -Laser_charge_power\:_%sW...%skW=Энергопотребление при перезарядке\: %sВт...%sкВт -Scans_for_entities_and_shoots_if_the\nentity_matches_the_configurable_filter_criteria.=Ищет сущностей, совпадающих\nпо признакам с теми, что указаны\nв настройках и атакует их. -Standby_power\:_%sW=Энергопотребление в бездействии\: %sВт - -# ./src/main/java/mods/eln/transparentnode/turret/TurretGui.java -Attack\:=Атаковать\: -Do_not_attack\:=Не атаковать\: -Recharge_power\:=Мощность заряда\: - -# ./src/main/java/mods/eln/transparentnode/waterturbine/WaterTurbineDescriptor.java -Generates_energy_using_water_stream.=Генерирует электричество используя течение воды. -No_place_for_water_turbine!=Нет места для турбины\! - -# ./src/main/java/mods/eln/transparentnode/windturbine/WindTurbineDescriptor.java -Front\:_%s=Перед\: %s -Generates_energy_from_wind.=Генерирует энергию при помощи силы ветра. -Left_Right\:_%s=Слева/Справа\: %s -Up_Down\:_%s=Сверху/Снизу\: %s -Wind_area\:=Ветреная площадь\: - -# ./src/main/java/mods/eln/wiki/Data.java -Energy=Энергия -Light=Освещение -Machine=Машины -Ore=Руды -Portable=Переносные -Resource=Ресурсы -Signal=Сигнальные -Thermal=Тепловые -Upgrade=Улучшения -Utilities=Иное -Wiring=Проводка - -# ./src/main/java/mods/eln/wiki/Default.java -Previous=Предыдущ. - -# ./src/main/java/mods/eln/wiki/ItemDefault.java -Can_be_used_to_craft\:=Используется в рецепте\: -Cannot_be_crafted!=Не может быть создано\! -Cost_%sJ=Затрачивает %sДж -Created_by\:=Создано\: -Is_not_a_crafting_material!=Не является материалом для рецепта\! -Recipe\:=Рецепт\: - -# Appearing in multiple source files -(Increases_capacity)=(Увеличивает емкость) -(Increases_inductance)=(Повышает индуктивность) -Actual\:_%s°C=Текущ.\: %s°C -Biggest=Наибольш. -Booster_slot=Слот для ускорителя -Can_create\:=Может создавать\: -Capacity\:_%sF=Емкость\: %sF -Charge_power\:_%sW=Мощность подзарядки\: %sВт -Connected=Подключено -Cooling_power\:_%sW=Мощность охлаждения\: %sВт -Copper_cable_slot=Слот для медного проаода -Dielectric_slot=Слот для диэлектрика -Discharge_power\:_%sW=Мощность разрядки\: %sВт -Electrical_cable_slot=Слот для провода -Entity_filter_slot=Слот для фильтра существ -Ferromagnetic_core_slot=Слот для ферромагнитного ядра -Has_a_signal_output.=Имеет выходной сигнал. -Inductance\:_%sH=Индуктивность\: %sH -Internal_resistance\:_%sΩ=Внутреннее сопротивление\: %sΩ -Is_off=Выкл. -Is_on=Вкл. -Max._temperature\:_%s°C=Макс. нагрев\: %s°C -Measured_value\ncorresponding\nto_0%_output=Измеренное значение\nблизко к 0% -Measured_value\ncorresponding\nto_100%_output=Измеренное значение\nблизко к 100% -Nominal\:=Минимум\: -Nominal_power\:_%sW=Минимальная мощность\: %sВт -Nominal_usage\:=Минимальное кол-во использований\: -Nominal_voltage\:_%sV=Минимальное напряжение\: %sВ -Not_connected=Не соединено -Not_enough_space_for_this_block=Недостаточно места для этого блока -Power=Мощность -Power\:_%sW=Мощность\: %sВт -Range\:_%s_blocks=Дальность\: %s блока(-ов) -Redstone_slot=Слот для редстоуна -Regulator_slot=Слот для регулировщика -Reset=Сброс -Resistance\:_%sΩ=Сопротивление\: %sΩ -Smallest=Наименьш. -Specify_the_channel=Необходимо указать канал -Stored_energy\:_%sJ_(%s)=Содержащаяся энергия\: %sДж (%s) -Temperature\:_%s°C=Температура\: %s°C -Temperature_gauge=Шкала температуры -Thermal_isolator_slot=Слот для термального изолятора -Toggle=Переключать -Toggle_switch=Переключить -Toggles_the_output_each_time\nan_emitter's_value_rises.\nUseful_to_allow_multiple_buttons\nto_control_the_same_light.=Переключает выход каждый\nраз, когда входное значение\nувеличивается.\nПолезно для переключения\nодной и той же лампочки при \nпомощи нескольких кнопок. -Used_to_cool_down_turbines.=Используется для охлаждения тепловых турбин. -Uses_the_biggest\nvalue_on_the_channel.=Использует наибольшее \nзначение в канале. -Uses_the_smallest\nvalue_on_the_channel.=Использует наименьшее \nзначение в канале. -Validate=Проверить -Voltage\:_%sV=Напряжение\: %sВ -You_can't_place_this_block_at_this_side=Вы не можете разместить данный блок с этой стороны +eln:# +eln: +eln:# ./src/main/java/mods/eln/Achievements.java +eln:Electrical_Age_[WIP]=Electrical Age [В РАЗРАБОТКЕ] +eln:achievement.craft_50v_macerator=Начинающий дроблильшик +eln:achievement.craft_50v_macerator.desc=Создайте Дробитель на 50В +eln:achievement.open_guide=Могущество Wiki +eln:achievement.open_guide.desc=Открыть внутреигровую Вики +eln: +eln:# ./src/main/java/mods/eln/Eln.java +eln:10A_Diode.name=Диод на 10А +eln:200V_Active_Thermal_Dissipator.name=Активный радиатор на 200В +eln:200V_Battery_Charger.name=Зарядник на 200В +eln:200V_Compressor.name=Компрессор на 200В +eln:200V_Condensator.name=Конденсатор на 200В +eln:200V_Copper_Heating_Corp.name=Медный нагревательный элемент на 200В +eln:200V_Economic_Light_Bulb.name=Энергосберегающая лампочка на 200В +eln:200V_Farming_Lamp.name=Фермерская лампа на 200В +eln:200V_Fuel_Generator.name=Топливный генератор на 200В +eln:200V_Incandescent_Light_Bulb.name=Лампа накаливания на 200В +eln:200V_Iron_Heating_Corp.name=Железный нагревательный элемент на 200В +eln:200V_LED_Bulb.name=Светодиод на 200В +eln:200V_Macerator.name=Дробитель на 200В +eln:200V_Magnetizer.name=Намагничиватель на 200В +eln:200V_Plate_Machine.name=Прокатный стан на 200В +eln:200V_Power_Socket.name=Розетка на 200В +eln:200V_Tungsten_Heating_Corp.name=Вольфрамовый нагревательный элемент на 200В +eln:200V_Turbine.name=Тепловая турбина на 200В +eln:25A_Diode.name=Диод на 25А +eln:50V_Battery_Charger.name=Зарядник на 50В +eln:50V_Carbon_Incandescent_Light_Bulb.name=Карбоновая лампа накаливания на 50В +eln:50V_Compressor.name=Компрессор на 50В +eln:50V_Condensator.name=Конденсатор на 50В +eln:50V_Copper_Heating_Corp.name=Медный нагревательный элемент на 50В +eln:50V_Economic_Light_Bulb.name=Энергосберегающая лампочка на 50В +eln:50V_Egg_Incubator.name=Инкубатор яиц на 50В +eln:50V_Farming_Lamp.name=Фермерская лампа на 50В +eln:50V_Fuel_Generator.name=Топливный генератор на 50В +eln:50V_Incandescent_Light_Bulb.name=Лампа накаливания на 50В +eln:50V_Iron_Heating_Corp.name=Железный нагревательный элемент на 50В +eln:50V_LED_Bulb.name=Светодиод на 50В +eln:50V_Macerator.name=Дробитель на 50В +eln:50V_Magnetizer.name=Намагничиватель на 50В +eln:50V_Plate_Machine.name=Прокатный стан на 50В +eln:50V_Power_Socket.name=Розетка на 50В +eln:50V_Tungsten_Heating_Corp.name=Вольфрамовый нагревательный элемент на 50В +eln:50V_Turbine.name=Тепловая турбина на 50В +eln:800V_Defence_Turret.name=Защитная турель на 800В +eln:AND_Chip.name=Чип с элементом И +eln:Advanced_Chip.name=Продвинутая микросхема +eln:Advanced_Electrical_Motor.name=Продвинутый электромотор +eln:Advanced_Energy_Meter.name=Продвинутый счетчик +eln:Advanced_Machine_Block.name=Продвинутый корпус механизма +eln:Advanced_Magnet.name=Улучшенный магнит +eln:AllMeter.name=Универсальный измеритель +eln:Alloy_Dust.name=Распыленный сверхсплав +eln:Alloy_Ingot.name=Слиток сверхсплава +eln:Alloy_Plate.name=Пластина из сверхсплава +eln:Analog_Watch.name=Аналоговые часы +eln:Analog_vuMeter.name=Аналоговый индикатор +eln:Analogic_Regulator.name=Аналогический регулятор +eln:Animal_Filter.name=Фильтр животных +eln:Auto_Miner.name=Автошахтер +eln:Average_Electrical_Drill.name=Обычная насадка для бура +eln:Average_Ferromagnetic_Core.name=Обычное ферромагнитное ядро +eln:Basic_Magnet.name=Базовый магнит +eln:Black_Brush.name=Черная кисточка +eln:Blue_Brush.name=Синяя кисточка +eln:Brown_Brush.name=Коричневая кисточка +eln:Capacity_Oriented_Battery.name=Вместительный аккумулятор +eln:Cheap_Chip.name=Дешевый чип +eln:Cheap_Electrical_Drill.name=Дешевая насадка для бура +eln:Cheap_Ferromagnetic_Core.name=Дешевое ферромагнитное ядро +eln:Cinnabar_Dust.name=Распыленная киноварь +eln:Cinnabar_Ore.name=Киноварь +eln:Coal_Dust.name=Распыленный уголь +eln:Coal_Plate.name=Угольная пластина +eln:Combustion_Chamber.name=Камера внутреннего сгорания +eln:Copper_Cable.name=Медный провод +eln:Copper_Dust.name=Распыленная медь +eln:Copper_Ingot.name=Медный слиток +eln:Copper_Ore.name=Медная руда +eln:Copper_Plate.name=Медная пластина +eln:Copper_Thermal_Cable.name=Медный теплопровод +eln:Cost_Oriented_Battery.name=Дешевый аккумулятор +eln:Current_Oriented_Battery.name=Мощный аккумулятор +eln:Cyan_Brush.name=Бирюзовая кисточка +eln:D_Flip_Flop_Chip.name=Чип с D-триггером +eln:Data_Logger.name=Осциллограф +eln:Data_Logger_Print.name=Распечаток осциллографа +eln:Dielectric.name=Диэлектрик +eln:Digital_Watch.name=Цифровые часы +eln:Electrical_Anemometer_Sensor.name=Электрический анемометр +eln:Electrical_Breaker.name=Выключатель +eln:Electrical_Daylight_Sensor.name=Датчик дневного света +eln:Electrical_Entity_Sensor.name=Датчик движения +eln:Electrical_Fire_Detector.name=Датчик огня +eln:Electrical_Furnace.name=Электрическая печь +eln:Electrical_Light_Sensor.name=Датчик света +eln:Electrical_Motor.name=Электромотор +eln:Electrical_Probe.name=Электрический зонд +eln:Electrical_Probe_Chip.name=Чип электрического зонда +eln:Electrical_Source.name=Творческий источник энергии +eln:Electrical_Timer.name=Таймер +eln:Electrical_Weather_Sensor.name=Погодный сенсор +eln:Electrical_age_wrench,\nCan_be_used_to_turn\nsmall_wall_blocks=Гаечный ключ из мода\nElectricalAge, может быть\nиспользован, чтобы \nповорачивать небольшие \nнастенные блоки. +eln:Energy_Meter.name=Вольтметр +eln:Experimental_Transporter.name=Экспериментальный транспортер +eln:Fast_Electrical_Drill.name=Качественная насадка для бура +eln:Ferrite_Ingot.name=Слиток феррита +eln:Flat_Lamp_Socket.name=Плоский плафон +eln:Fluorescent_Lamp_Socket.name=Люминесцентный плафон +eln:Generator.name=Генератор +eln:Gold_Dust.name=Распыленное золото +eln:Gold_Plate.name=Золотая пластина +eln:Gray_Brush.name=Серая кисточка +eln:Green_Brush.name=Зеленая кисточка +eln:Ground_Cable.name=Заземляющий провод +eln:High_Power_Receiver_Antenna.name=Высоковольтный электроприемник +eln:High_Power_Transmitter_Antenna.name=Высоковольтный электропередатчик +eln:High_Voltage_Cable.name=Высоковольтный провод +eln:High_Voltage_Relay.name=Высоковольтное реле +eln:High_Voltage_Switch.name=Высоковольтный рубильник +eln:Hub.name=Распределитель +eln:Industrial_Data_Logger.name=Продвинутый осциллограф +eln:Iron_Cable.name=Железный провод +eln:Iron_Dust.name=Распыленное железо +eln:Iron_Plate.name=Железная пластина +eln:JK_Flip_Flop_Chip.name=Чип с JK-триггером +eln:LED_vuMeter.name=Светодиодный индикатор +eln:Lamp_Socket_A.name=Люстра +eln:Lamp_Socket_B_Projector.name=Прожектор +eln:Lamp_Supply.name=Блок освещения +eln:Large_Rheostat.name=Большой реостат +eln:Lead_Dust.name=Распыленный свинец +eln:Lead_Ingot.name=Свинцовый слиток +eln:Lead_Ore.name=Свинцовая руда +eln:Lead_Plate.name=Свинцовая пластина +eln:Life_Oriented_Battery.name=Долговременный аккумулятор +eln:Light_Blue_Brush.name=Голубая кисточка +eln:Lime_Brush.name=Лаймовая кисточка +eln:Long_Suspended_Lamp_Socket.name=Плафон на длинной подвеске +eln:Low_Power_Receiver_Antenna.name=Низковольтный электроприемник +eln:Low_Power_Transmitter_Antenna.name=Низковольтный электропередатчик +eln:Low_Voltage_Cable.name=Низковольтный провод +eln:Low_Voltage_Relay.name=Низковольтное реле +eln:Low_Voltage_Switch.name=Низковольтный выключатель +eln:Machine_Block.name=Корпус механизма +eln:Machine_Booster.name=Ускоритель +eln:Magenta_Brush.name=Пурпурная кисточка +eln:Medium_Power_Receiver_Antenna.name=Средневольтовый электроприемник +eln:Medium_Power_Transmitter_Antenna.name=Средневольтовый электропередатчик +eln:Medium_Voltage_Cable.name=Средневольтовый провод +eln:Medium_Voltage_Relay.name=Средневольтовое реле +eln:Medium_Voltage_Switch.name=Средневольтовый выключатель +eln:Mercury.name=Ртуть +eln:Mining_Pipe.name=Удлинитель шахтерского бура +eln:Modbus_RTU.name=Modbus RTU +eln:Modern_Data_Logger.name=Современный осциллограф +eln:Monster_Filter.name=Фильтр враждебных существ +eln:MultiMeter.name=Мультиметр +eln:NAND_Chip.name=Чип с обратным элементом И +eln:NOR_Chip.name=Чип с обратным элементом ИЛИ +eln:NOT_Chip.name=Чип с инвертором +eln:Nuclear_Alarm.name=Ядерная сирена +eln:OR_Chip.name=Чип с элементом ИЛИ +eln:On_OFF_Regulator_10_Percent.name=Автоматическое реле на 10% +eln:On_OFF_Regulator_1_Percent.name=Автоматическое реле на 1% +eln:Optimal_Ferromagnetic_Core.name=Оптимальное ферромагнитное ядро +eln:Orange_Brush.name=Оранжевая кисточка +eln:Ore_Scanner.name=Сканер руд +eln:Oscillator_Chip.name=Чип с осциллятором +eln:Overheating_Protection.name=Защита от перегрева +eln:Overvoltage_Protection.name=Защита от перенапряжения +eln:PAL_Chip.name=Чип с программируемой матричной логикой +eln:Pink_Brush.name=Розовая кисточка +eln:Player_Filter.name=Фильтр игроков +eln:Portable_Battery.name=Карманная батарейка +eln:Portable_Battery_Pack.name=Упакованные карманные батарейки +eln:Portable_Condensator.name=Карманный конденсатор +eln:Portable_Condensator_Pack.name=Упакованные карманные конденсаторы +eln:Portable_Electrical_Axe.name=Портативная электропила +eln:Portable_Electrical_Mining_Drill.name=Портативный электробур +eln:Power_Capacitor.name=Конденсатор +eln:Power_Inductor.name=Катушка индуктивности +eln:Power_Resistor.name=Резистор +eln:Power_capacitor.name=Конденсатор +eln:Power_inductor.name=Катушка индуктивности +eln:Purple_Brush.name=Фиолетовая кисточка +eln:Red_Brush.name=Красная кисточка +eln:Redstone-to-Voltage_Converter.name=Приемщик редстоун-сигнала +eln:Rheostat.name=Реостат +eln:Robust_Lamp_Socket.name=Прочный плафон +eln:Rubber.name=Резина +eln:Schmitt_Trigger_Chip.name=Чип с триггером Шмитта +eln:Sconce_Lamp_Socket.name=Плафон-канделябр +eln:Signal_20H_inductor.name=Сигнальная катушка индуктивности на 20H +eln:Signal_Antenna.name=Сигнальная антенна +eln:Signal_Button.name=Сигнальная кнопка +eln:Signal_Cable.name=Сигнальный провод +eln:Signal_Diode.name=Диод +eln:Signal_Processor.name=Обработчик сигнала +eln:Signal_Relay.name=Реле +eln:Signal_Source.name=Источник сигнала +eln:Signal_Switch.name=Сигнальный переключатель +eln:Signal_Switch_with_LED.name=Сигнальный переключатель со светодиодом +eln:Signal_Trimmer.name=Сигнальный ограничитель +eln:Silicon_Dust.name=Распыленный кремний +eln:Silicon_Ingot.name=Кремниевый слиток +eln:Silicon_Plate.name=Кремниевая пластина +eln:Silver_Brush.name=Серая кисточка +eln:Simple_Lamp_Socket.name=Обычный плафон +eln:Single-use_Battery.name=Одноразовый аккумулятор +eln:Small_200V_Copper_Heating_Corp.name=Небольшой медный нагревательный элемент на 200В +eln:Small_200V_Iron_Heating_Corp.name=Небольшой железный нагревательный элемент на 200В +eln:Small_200V_Tungsten_Heating_Corp.name=Небольшой вольфрамовый нагревательный элемент на 200В +eln:Small_50V_Carbon_Incandescent_Light_Bulb.name=Маленькая карбоновая лампочка на 50В +eln:Small_50V_Copper_Heating_Corp.name=Маленький медный нагревательный элемент на 50В +eln:Small_50V_Economic_Light_Bulb.name=Маленькая энергосберегающая лампочка на 50В +eln:Small_50V_Incandescent_Light_Bulb.name=Маленькая лампа накаливания на 50В +eln:Small_50V_Iron_Heating_Corp.name=Маленький железный нагревательный элемент на 50В +eln:Small_50V_Tungsten_Heating_Corp.name=Небольшой вольфрамовый нагревательный элемент на 50В +eln:Small_Active_Thermal_Dissipator.name=Небольшой активный радиатор +eln:Small_Flashlight.name=Маленький фонарик +eln:Small_Passive_Thermal_Dissipator.name=Небольшой пассивный радиатор +eln:Small_Rotating_Solar_Panel.name=Небольшая настраиваемая солнечная батарея +eln:Small_Solar_Panel.name=Небольшая солнечная батарея +eln:Solar_Tracker.name=Отслеживатель солнца +eln:Standard_Alarm.name=Обыкновенная сирена +eln:Steam_Turbine.name=Паровая турбина +eln:Stone_Heat_Furnace.name=Каменная тепловая печь +eln:Street_Light.name=Уличный фонарь +eln:Suspended_Lamp_Socket.name=Удлиненный подвесной плафон +eln:Temperature_Probe.name=Датчик температуры +eln:Thermal_Probe.name=Термальный датчик +eln:Thermal_Probe_Chip.name=Термосенсорный чип +eln:Thermistor.name=Термистор +eln:ThermoMeter.name=Термометр +eln:Transformer.name=Трансформатор +eln:Tree_Resin.name=Каучук +eln:Tree_Resin_Collector.name=Сборщик каучука +eln:Tungsten_Cable.name=Вольфрамовый провод +eln:Tungsten_Dust.name=Распыленный вольфрам +eln:Tungsten_Ingot.name=Вольфрамовый слиток +eln:Tungsten_Ore.name=Вольфрамовая руда +eln:Tutorial_Sign.name=Подсказка +eln:Very_High_Voltage_Cable.name=Силовой кабель +eln:Very_High_Voltage_Relay.name=Силовое реле +eln:Very_High_Voltage_Switch.name=Силовой рубильник +eln:Voltage-to-Redstone_Converter.name=Испускатель редстоун-сигнала +eln:Voltage_Oriented_Battery.name=Высоковольтный аккумулятор +eln:Voltage_Probe.name=Датчик напряжения +eln:Water_Turbine.name=Гидротурбина +eln:Weak_50V_Battery_Charger.name=Маломощный зарядник на 50В +eln:White_Brush.name=Белая кисточка +eln:Wind_Turbine.name=Ветряная турбина +eln:Wireless_Analyser.name=Анализатор беспроводных сигналов +eln:Wireless_Button.name=Беспроводная сигнальная кнопка +eln:Wireless_Signal_Receiver.name=Сигнальный приемник +eln:Wireless_Signal_Repeater.name=Сигнальный усилитель +eln:Wireless_Signal_Transmitter.name=Сигнальный передатчик +eln:Wireless_Switch.name=Беспроводной сигнальный переключатель +eln:Wrench.name=Гаечный ключ +eln:X-Ray_Scanner.name=Рентген-сканер +eln:XNOR_Chip.name=Чип с обратным исключающим ИЛИ +eln:XOR_Chip.name=Чип с исключающим ИЛИ +eln:Yellow_Brush.name=Желтая кисточка +eln:entity.EAReplicator.name=Репликатор +eln:item.Copper Axe.name\=Медный топор +eln:item.Copper Axe.name\=Медный топор +eln:item.Copper Axe.name\=Медный топор +eln:item.Copper Axe.name\=Медный топор +eln:item.Copper Axe.name\=Медный топор +eln:item.Copper Axe.name\=Медный топор +eln:item.Copper Axe.name\=Медный топор +eln:item.Copper Axe.name\=Медный топор +eln:item.Copper Axe.name\=Медный топор +eln:item.E-Coal Boots.name\=E-Углеродные ботинки +eln:item.E-Coal Boots.name\=E-Углеродные ботинки +eln:item.E-Coal Boots.name\=E-Углеродные ботинки +eln:item.E-Coal Boots.name\=E-Углеродные ботинки +eln:itemGroup.Eln=Electrical Age +eln:mod.meta.desc=Электричество у вас на базе\! +eln:tile.eln.ElnProbe.name=Компьютерный зонд +eln:tile.eln.EnergyConverterElnToOtherHVUBlock.name=Конвертер электричества на 800В +eln:tile.eln.EnergyConverterElnToOtherLVUBlock.name=Конвертер электричества на 50В +eln:tile.eln.EnergyConverterElnToOtherMVUBlock.name=Конвертер электричества на 200В +eln: +eln:# ./src/main/java/mods/eln/i18n/I18N.java +eln:You_have_%s_lives_left=У вас осталось %s жизней +eln: +eln:# ./src/main/java/mods/eln/item/BrushDescriptor.java +eln:Brush_is_dry=Кисточка - сухая +eln:Can_paint_%s_blocks=Может окрасить до %s блоков +eln: +eln:# ./src/main/java/mods/eln/item/CombustionChamber.java +eln:Upgrade_for_the_Stone_Heat_Furnace.=Улучшение для каменной тепловой печи +eln: +eln:# ./src/main/java/mods/eln/item/ElectricalDrillDescriptor.java +eln:Energy_per_operation\:_%sJ=Необх. энерг. для одого процесса\: %sДж +eln:Time_per_operation\:_%ss=Необх. время для одного процесса\: %sсек +eln: +eln:# ./src/main/java/mods/eln/item/FerromagneticCoreDescriptor.java +eln:Cable_loss_factor\:_%s=Коэффициент потерь\: %s +eln: +eln:# ./src/main/java/mods/eln/item/HeatingCorpElement.java +eln: +eln:# ./src/main/java/mods/eln/item/LampDescriptor.java +eln:Bad=Плохое +eln:Condition\:=Условие\: +eln:End_of_life=Окончание срока службы +eln:Good=Хорошее +eln:New=Новое +eln:Nominal_lifetime\:_%sh=Минимальная продолжительность жизни\: %sч +eln:Technology\:_%s=Технология\: %s +eln:Used=Уже использованное +eln: +eln:# ./src/main/java/mods/eln/item/LampSlot.java +eln:Lamp_slot=Слот для лампочки +eln: +eln:# ./src/main/java/mods/eln/item/OverHeatingProtectionDescriptor.java +eln:Useful_to_prevent_overheating\nof_Batteries=Полезно для предотвращения\nперегрева аккумуляторов +eln: +eln:# ./src/main/java/mods/eln/item/OverVoltageProtectionDescriptor.java +eln:Useful_to_prevent_over-voltage\nof_Batteries=Полезно для предотвращения\nперенапряжения в аккумуляторах +eln: +eln:# ./src/main/java/mods/eln/item/SolarTrackerDescriptor.java +eln:Solar_panel_upgrade=Улучшение для солнечной батареи +eln: +eln:# ./src/main/java/mods/eln/item/electricalitem/BatteryItem.java +eln: +eln:# ./src/main/java/mods/eln/item/electricalitem/ElectricalLampItem.java +eln:Off=Выкл +eln:On=Вкл +eln:State\:=Состояние\: +eln:Stored_Energy\:_%sJ_(%s)=Содержащаяся энергия\: %sДж (%s) +eln: +eln:# ./src/main/java/mods/eln/item/regulator/RegulatorSlot.java +eln: +eln:# ./src/main/java/mods/eln/misc/UtilsClient.java +eln:Hold_shift=Удерживайте shift +eln: +eln:# ./src/main/java/mods/eln/misc/Version.java +eln:mod.name=Electrical Age +eln: +eln:# ./src/main/java/mods/eln/node/six/SixNodeDescriptor.java +eln: +eln:# ./src/main/java/mods/eln/simplenode/energyconverter/EnergyConverterElnToOtherGui.java +eln:Input_power_is_limited_to_%sW=Входная мощность ограничена до %sВт +eln: +eln:# ./src/main/java/mods/eln/sixnode/LogicGate.kt +eln:_O\:_= O\: +eln: +eln:# ./src/main/java/mods/eln/sixnode/TreeResinCollector/TreeResinCollectorDescriptor.java +eln:Produces_Tree_Resin_over\ntime_when_put_on_a_tree.=Если висит на дереве, то\nсо временем производит \nкаучук. +eln:This_block_can_only_be_placed_on_the_side_of_a_tree!=Этот блок можно повесить только на дерево\! +eln: +eln:# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerContainer.java +eln:Battery_slot=Слот для батарейки +eln: +eln:# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerDescriptor.java +eln:Can_be_used_to_recharge\nelectrical_items_like\:\nFlash_Light,_X-Ray_scanner\nand_Portable_Battery_...=Может быть использовано\nдля перезарядки таких\nпредметов, как\: Фонарик,\nРентген-сканер, Карманная\nбатарейка и т.д. +eln: +eln:# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerGui.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/diode/DiodeDescriptor.java +eln:Electrical_current_can_only\nflow_through_the_diode\nfrom_anode_to_cathode=Ток в диоде может течь\nтолько в одну сторону,\nот анода к катоду. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalalarm/ElectricalAlarmDescriptor.java +eln:= +eln:Emits_an_acoustic_alarm_if\nthe_input_signal_is_high=Издает звук тревоги,\nесли входной сигнал\nмощный +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalalarm/ElectricalAlarmGui.java +eln:Sound_is_muted=Звук выключен +eln:Sound_is_not_muted=Звук включен +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerContainer.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerDescriptor.java +eln:Protects_electrical_components\nOpens_contact_if\:\n__-_Voltage_exceeds_a_certain_level\n-_Current_exceeds_the_cable_limit=Защищает электрические\nкомпоненты\nРазрывает контакт, если\:\n- Напряжение превышает указанный уровень\n- Сила тока превышает лимит проводов +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerGui.java +eln:Maximum_voltage_before_cutting_off=Макс. напряжение перед разрывом цепи +eln:Minimum_voltage_before_cutting_off=Мин. напряжение перед разрывом цепи +eln:Switch_is_off=Переключатель выключен +eln:Switch_is_on=Переключатель включен +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalcable/ElectricalCableDescriptor.java +eln:A_signal_is_electrical_information\nwhich_must_be_between_0V_and_%sV=Сигнал - это электрическая\nинформация, которая варьирует в пределах\n0 и %s вольт +eln:Cable_is_adapted_to_conduct\nelectrical_signals.=Этот кабель адаптирован для \nпередачи электрических сигналов. +eln:Current\:_%sA=Сила тока\: %sA +eln:Not_adapted_to_transport_power.=Не адаптирован для передачи энергии. +eln:Save_usage\:=Безопасное использование\: +eln:Serial_resistance\:_%sΩ=Сопротивление тока\: %sΩ +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerDescriptor.java +eln:It_can_store_up_to_256_points.=Может хранить в себе до 256 точек. +eln:Measures_the_voltage_of_an\nelectrical_signal_and_plots\nthe_data_in_real_time.=Измеряет напряжение\nэлектрического сигнала\nи изображает полученные \nданные в реальном времени. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerGui.java +eln:Back_to_display=Назад к экрану +eln:Configuration=Настройка +eln:Current_[A]=Сила тока [А] +eln:Energy_[J]=Энергия [Дж] +eln:Percent_[-]%=Проценты [-]% +eln:Power_[W]=Мощность [Вт] +eln:Print=Печать +eln:Sampling_period=Период измерения +eln:Temp._[*C]=Темпер. [*C] +eln:Voltage_[V]=Напряжение [V] +eln:Y-axis_max=Макс. по оси Y +eln:Y-axis_min=Мин. по оси Y +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorContainer.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorDescriptor.java +eln:Output_voltage_increases\nif_entities_are_moving_around.=Выходное напряжение\nусиливается, если вокруг\nнего двигаются сущности. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalfiredetector/ElectricalFireDetectorDescriptor.java +eln:Output_voltage_increases\nif_a_fire_has_been_detected.=При обнаружении огня\nвыходной сигнал увеличивается. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceDescriptor.java +eln:Provides_configurable_signal\nvoltage.=Выдаёт настраиваемое напряжение. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceGui.java +eln:Output_at_%s=Выход на %s +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricallightsensor/ElectricalLightSensorDescriptor.java +eln:0V_at_night,_%sV_at_noon.=0В ночью, %sВ днем. +eln:Provides_an_electrical_voltage\nin_the_presence_of_light.=При наличии света испускает \nэлектрический сигнал. +eln:Provides_an_electrical_voltage\nwhich_is_proportional_to\nthe_intensity_of_daylight.=Испускает электрический сигнал,\nпропорциональный интенсивности\nдневного света. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathContainer.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathDescriptor.java +eln:Applicable_boolean_operators\:=Допустимые булевые операторы\: +eln:Applicable_functions\:=Допустимые функции\: +eln:Applicable_mathematical_operators\:=Допустимые математические операторы\: +eln:Calculates_an_output_signal_from\n3_inputs_(A,_B,_C)_using_an_equation.=Высчитывает выходной сигнал\nна основе 3-х входов (A, B, C), при\nпомощи уравнения. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathGui.java +eln:%s_Redstone(s)_required=Требуется %s ед. редстоун(-а) +eln:Equation_required!=Требуется ввести уравнение\! +eln:Inputs_are=Входы +eln:Invalid_equation!=Неверное уравнение\! +eln:Output_voltage_formula=Формула выходного напряжения +eln:Waiting_for_completion...=Ожидание завершения... +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalredstoneinput/ElectricalRedstoneInputDescriptor.java +eln:Converts_Redstone_signal\nto_an_electrical_voltage.=Конвертирует редстоун-сигнал\nв электрический сигнал. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalredstoneoutput/ElectricalRedstoneOutputDescriptor.java +eln:Converts_electrical_voltage\ninto_a_Redstone_signal.=Конвертирует электрический\nсигнал в редстоун-сигнал. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalrelay/ElectricalRelayDescriptor.java +eln:A_relay_is_an_electrical\ncontact_that_conducts_electric\ncurrent_or_not,_depending\nthe_actual_input_signal_voltage.=Реле - это электрический\nконтакт, который проводит\nток, либо нет, в зависимости\nот входного сигнала. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalrelay/ElectricalRelayGui.java +eln:Normally_closed=По-умолчанию закрыто +eln:Normally_open=По-умолчанию открыто +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalsource/ElectricalSourceDescriptor.java +eln:Creative_block.=Творческий блок. +eln:Provides_an_ideal_voltage_source\nwithout_energy_or_power_limitation.=Является идеальным источником\nэнергии, без каких-либо\nограничений. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalsource/ElectricalSourceGui.java +eln:Output_voltage=Выходное напряжение +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalswitch/ElectricalSwitchDescriptor.java +eln:Can_break_an_electrical_circuit\ninterrupting_the_current.=Может нарушить электрическую\nцепь прервав течение тока. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricaltimeout/ElectricalTimeoutDescriptor.java +eln:Upon_application_of_a_high_signal,\nthe_timer_maintains_the_output_high_for\na_configurable_interval._Can_be_re-triggered.=При высоком входном сигнале, таймер \nподдерживает высокий выходной сигнал \nв течение заданного интервала. \nМожет быть запущен повторно. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricaltimeout/ElectricalTimeoutGui.java +eln:Set=Старт +eln:The_time_interval_the\noutput_is_kept_high.=Интервал времени,\nпо которому на выходе\nбудет сильный сигнал. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalvumeter/ElectricalVuMeterDescriptor.java +eln:Displays_the_value_of_a_signal.=Отображает значение сигнала. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalwatch/ElectricalWatchContainer.java +eln:Portable_battery_slot=Слот для батарейки +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalweathersensor/ElectricalWeatherSensorDescriptor.java +eln:Clear\:_%sV=Ясно\: %sВ +eln:Provides_an_electrical_signal\ndepending_the_actual_weather.=Испускает электрический\nсигнал, зависящий от\nтекущей погоды. +eln:Rain\:_%sV=Дождь\: %sВ +eln:Storm\:_%sV=Буря\: %sВ +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalwindsensor/ElectricalWindSensorDescriptor.java +eln:Maximum_wind_speed_is_%sm_s=Максимальная скорость ветра - %sм/с +eln:Provides_an_electrical_signal\ndependant_on_wind_speed.=Испускает электрический\nсигнал, зависящий от силы\nветра. +eln:You_can't_place_this_block_on_the_floor_or_the_ceiling=Вы не можете разместить этот блок на полу или на потолке +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricasensor/ElectricalSensorDescriptor.java +eln:Can_measure_Voltage_Power_Current=Может измерять напряжение, мощность и силу тока. +eln:Measures_electrical_values_on_cables.=Измеряет электрические значения\nв проводах. +eln:Measures_voltage_on_cables.=Измеряет напряжение в проводах. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricasensor/ElectricalSensorGui.java +eln:Current=Сила тока +eln:Measured_voltage\ncorresponding\nto_0%_output=Измеренное напряжение \nблизко к 0% +eln:Measured_voltage\ncorresponding\nto_100%_output=Измеренное напряжение \nблизко к 100% +eln:Voltage=Напряжение +eln: +eln:# ./src/main/java/mods/eln/sixnode/energymeter/EnergyMeterGui.java +eln:Change_password=Сменить пароль +eln:Counter_Mode=Режим счетчика +eln:Counts_the_energy_conducted_from\n\u00a74red\u00a7f_to_\u00a71blue\u00a7f.=Считает электричество, переданное от\n\\u00a74красного\\u00a7f к \\u00a71синему\\u00a7f. +eln:Energy_counter\:_%sJ=Энергии насчитано\: %sДж +eln:Enter_new_energy=Введите новое кол-во энергии +eln:Enter_password=Введите пароль +eln:Prepay_Mode=Режим предоплаты +eln:Reset_time_counter=Сбросить время +eln:Set_energy_counter=Начать счет энергии +eln:Time_counter\:=Времени насчитано\: +eln:Try_password=Попробовать пароль +eln:You_can_set_an_initial\namount_of_available_energy.\nWhen_the_counter_arrives_at_0\nthe_contact_will_be_opened.=Вы можете указать\nначальное кол-во доступной\nэнергии. Когда обратный отсчет\nдостигнет ноля - цепь будет \nразорвана. +eln:is_off=выкл. +eln:is_on=вкл. +eln:value_in_kJ=значение в кДж +eln: +eln:# ./src/main/java/mods/eln/sixnode/groundcable/GroundCableDescriptor.java +eln:Can_be_used_to_set_a_point_of_an\nelectrical_network_to_0V_potential.\nFor_example_to_ground_negative_battery_contacts.=Может быть использовано для\nуказания 0-вольтовой точки сети.\nНапример, для заземления негативных контактов \nаккумулятора. +eln:Provides_a_zero_volt_reference.=Обеспечивает нулевой вольт в сети. +eln: +eln:# ./src/main/java/mods/eln/sixnode/hub/HubDescriptor.java +eln:Allows_crossing_cables\non_one_single_block.=Позволяет проводам\nпересекаться в одном \nблоке. +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketDescriptor.java +eln:Angle\:_%s°_to_%s°=Угол\: %s° до %s° +eln:Spot_range\:_%s_blocks=Дальность света\: %s блока(-ов) +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketGuiDraw.java +eln:%s_is_not_in_range!=%s вне диапазона\! +eln:Cable_slot_empty=Слот для провода пуст +eln:Orientation\:_%s°=Ориентация\: %s° +eln:Parallel=Парралельно +eln:Powered_by_Lamp_Supply=Беспроводной режим +eln:Powered_by_cable=Проводной режим +eln:Serial=Последовательно +eln:Specify_the_supply_channel=Укажите имя канала +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyContainer.java +eln:Electrical_cable_slot\nBase_range_is_32_blocks.\nEach_additional_cable\nincreases_range_by_one.=Слот для провода.\nСтартовый диапазон - 32 блока.\nКаждый новый провод\nувеличивает его на еденицу. +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyDescriptor.java +eln:Supplies_all_lamps_on_the_channel.=Подпитывает все плафоны на\nуказанной частоте, в определенном\nрадиусе. +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyGui.java +eln:Power_channel_name=Имя канала +eln:Wireless_channel_name=Название канала +eln: +eln:# ./src/main/java/mods/eln/sixnode/modbusrtu/ModbusRtuGui.java +eln:Add=Добавить +eln:Channel_name=Название канала +eln:Modbus_ID=Modbus ID +eln:Modbus_RTU=Modbus RTU +eln:Station_ID=ID станции +eln:Station_name=Имя станции +eln:Wireless_RX=Беспроводной RX +eln:Wireless_TX=Беспроводной TX +eln: +eln:# ./src/main/java/mods/eln/sixnode/powercapacitorsix/PowerCapacitorSixContainer.java +eln:(Increases_maximum_voltage)=(Увеличивает макс. напряжение) +eln: +eln:# ./src/main/java/mods/eln/sixnode/powercapacitorsix/PowerCapacitorSixGui.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/powerinductorsix/PowerInductorSixContainer.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/powerinductorsix/PowerInductorSixGui.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/powersocket/PowerSocketDescriptor.java +eln:Supplies_any_device\nplugged_in_with_energy.=Запитывает электричеством\nлюбое подключенное устройство. +eln: +eln:# ./src/main/java/mods/eln/sixnode/powersocket/PowerSocketGui.java +eln:Specify_the_device_to_supply_through_this_socket.=Укажите устройство, которое будет запитано от этой розетки. +eln: +eln:# ./src/main/java/mods/eln/sixnode/resistor/ResistorContainer.java +eln:(Sets_resistance)=(Изменяет сопротивление) +eln:Coal_dust_slot=Слот для распыленного угля +eln: +eln:# ./src/main/java/mods/eln/sixnode/thermalcable/ThermalCableDescriptor.java +eln:High_parallel_resistance\n_\=>_Low_power_dissipation.=Высокое параллельное \nсопротивление \=> Низкие \nпотери мощности. +eln:Low_serial_resistance\n_\=>_High_conductivity.=Низкое сопротивление \=> Высокая проводимость. +eln:Parallel_resistance\:_%sK_W=Параллельное сопротивление\: %sK/Вт +eln:Serial_resistance\:_%sK_W=Последовательное сопротивление\: %sK/Вт +eln: +eln:# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorContainer.java +eln:Cable_slot=Слот для провода +eln: +eln:# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorDescriptor.java +eln:Can_measure\:=Может измерять\: +eln:Measures_temperature_of_cables.=Измеряет температуру проводов. +eln:Measures_thermal_values_on_cables.=Измеряет температурные значения\nпроводов. +eln:__Temperature_Power_conducted=тепла/тока проведено +eln: +eln:# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorGui.java +eln:Measured_temperature\ncorresponding\nto_0%_output=Измеренная температура\nблизко к 0% +eln:Measured_temperature\ncorresponding\nto_100%_output=Измеренная температура\nблизко к 100% +eln:Temperature=Температура +eln: +eln:# ./src/main/java/mods/eln/sixnode/tutorialsign/TutorialSignElement.java +eln:No_text_associated_to_this_beacon=Нет текста, ассоциированного с этой подсказкой +eln: +eln:# ./src/main/java/mods/eln/sixnode/tutorialsign/TutorialSignGui.java +eln:Set_beacon_name=Имя подсказки +eln: +eln:# ./src/main/java/mods/eln/sixnode/wirelesssignal/rx/WirelessSignalRxGui.java +eln: +eln:# ./src/main/java/mods/eln/transparentnode/FuelGenerator.kt +eln:Nominal_power\:_%s_W=Минимальная мощность\: %s Вт +eln:Nominal_voltage\:_%s_V=Минимальное напряжение\: %s В +eln:Produces_electricity_using_fuel.=Производит электричество сжигая топливо. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/LargeRheostat.kt +eln:Nom._Resistance\:_%s=Мин. сопротивление\: %s +eln: +eln:# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerContainer.java +eln:Drill_slot=Слот для наконечника для бура +eln:Mining_pipe_slot=Слот для удлинителя шахтерского бура +eln:Ore_scanner_slot=Слот для сканера руд +eln: +eln:# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerDescriptor.java +eln:Excavates_on_a_small_radius.\nExtracts_ore_on_a_bigger_radius\:\n10_blocks_radius_after_10_blocks_depth.=Роет в небольшом радиусе.\nИзвлекает ресурсы в большом радиусе\:\n10 блоков радиуса после 10 блоков глубины +eln: +eln:# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerGuiDraw.java +eln:Chest_missing_on_the\nback_of_the_auto_miner!=Отсутствует сундук для\nресурсов\! +eln:Halves_speed,_triples_power_draw=На половину быстрее, втрое больше энергозатрат +eln:Silk_Touch_Off=Шелковое касание отключено +eln:Silk_Touch_On=Шелковое касание включено +eln:Silk_touch=Шелковое касание +eln: +eln:# ./src/main/java/mods/eln/transparentnode/battery/BatteryContainer.java +eln:Overheating_protection=Защита от перегрева +eln:Overvoltage_protection=Защита от перенапряжения +eln: +eln:# ./src/main/java/mods/eln/transparentnode/battery/BatteryDescriptor.java +eln:Actual_charge\:_%s=Текущий заряд\: %s +eln:Energy_capacity\:_%sJ=Вместимость\: %sДж +eln:_charged_at_%s=заряжен на %s +eln: +eln:# ./src/main/java/mods/eln/transparentnode/battery/BatteryGuiDraw.java +eln:Charge=Заряд +eln:Charged=Полностью заряжен +eln:Discharge=Разряжается +eln:Energy\:=Энергия\: +eln:Energy\:_%s=Энергия\: %s +eln:Life\:=Срок службы\: +eln:No_charge=Не заряжается +eln:Power_in\:=Входная мощность\: +eln:Power_out\:=Выходная мощность\: +eln: +eln:# ./src/main/java/mods/eln/transparentnode/eggincubator/EggIncubatorContainer.java +eln:Egg_slot=Слот для яйца +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalantennarx/ElectricalAntennaRxDescriptor.java +eln:Wireless_energy_receiver.=Беспроводной приемник электричества +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalantennatx/ElectricalAntennaTxDescriptor.java +eln:Efficiency\:_%s_up_to_%s=Эффективность\: %s вплоть до %s +eln:Wireless_energy_transmitter.=Беспроводной передатчик электричества. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceContainer.java +eln:Heating_corp_slot=Слот для нагревательного элемента +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceDescriptor.java +eln:Similar_to_a_vanilla_furnace,\nbut_heats_with_electricity.=Схожа с ванильной печкой,\nоднако, разогревается\nэлектричеством. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceGuiDraw.java +eln:Auto_shutdown=Автовыключение +eln:Manual_shutdown=Ручное выключение +eln:Set_point\:_%s°C=Контрольная точка\: %s°C +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalmachine/ElectricalMachineDescriptor.java +eln:Cost=Затраты +eln: +eln:# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceContainer.java +eln:Combustion_chamber_slot=Слот для камеры внутреннего сгорания +eln:Fuel_slot=Слот для топлива +eln: +eln:# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceDescriptor.java +eln:Generates_heat_when_supplied_with_fuel.=Генерирует тепло, когда в нем есть топливо. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceGuiDraw.java +eln:Control_gauge_at_%s=Шкала контроля на %s +eln:Decline_fuel=Отклонять топливо +eln:External_control=Внешн. контроль +eln:Internal_control=Внутр. контроль +eln:Take_fuel=Принимать топливо +eln: +eln:# ./src/main/java/mods/eln/transparentnode/powercapacitor/PowerCapacitorContainer.java +eln:(Increases_maximal_voltage)=(Увеличивает макс. напряжение) +eln: +eln:# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelContainer.java +eln:Solar_tracker_slot=Слот для отслеживателя солнца +eln: +eln:# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelDescriptor.java +eln:Can_be_geared_towards_the_sun.=Может быть повернута к солнцу. +eln:Max._power\:_%sW=Макс. мощность\: %sВт +eln:Max._voltage\:_%sV=Макс. напряжение\: %sВ +eln:Produces_power_from_solar_radiation.=Производит электричество из солнечной радиации. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPannelGuiDraw.java +eln:It_is_night=Сейчас ночь +eln:Solar_panel_angle\:_%s°=Угол солнечной батареи\: %s° +eln:Sun_angle\:_%s°=Угол солнца\: %s° +eln: +eln:# ./src/main/java/mods/eln/transparentnode/teleporter/TeleporterGui.java +eln:Destination_transporter=Конечный транспортер +eln:Power_consumption\:=Потребление энергии\: +eln:Power_consumption\:_%sW=Потребление энергии\: %sВт +eln:Required_energy\:_%sJ=Требуемая энергия\: %sДж +eln:Start=Начать +eln:Transporter_name=Имя транспортера +eln: +eln:# ./src/main/java/mods/eln/transparentnode/thermaldissipatoractive/ThermalDissipatorActiveDescriptor.java +eln:Fan_cooling_power\:_%sW=Сила охлаждения вентилятора\: %sВт +eln:Fan_power_consumption\:_%sW=Расход энергии вентилятором\: %sВт +eln:Fan_voltage\:_%sV=Напряжение вентилятора\: %sВ +eln: +eln:# ./src/main/java/mods/eln/transparentnode/transformer/TransformerDescriptor.java +eln:The_voltage_ratio_is_proportional\nto_the_cable_stacks_count_ratio.=Соотношение сопротивления\nпропорционально кол-ву\nпроводов в стеке. +eln:Transforms_an_input_voltage_to\nan_output_voltage.=Превращает входное напряжение \nв выходное. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/turbine/TurbineDescriptor.java +eln:Generates_electricity_using_heat.=Генерирует электричество используя тепло. +eln:Temperature_difference\:_%s°C=Различие температуры\: %s°C +eln: +eln:# ./src/main/java/mods/eln/transparentnode/turret/TurretDescriptor.java +eln:CAUTION\:_Cables_can_get_quite_hot!=ОСТОРОЖНО\: Провода могут быть очень горячими\! +eln:Laser_charge_power\:_%sW...%skW=Энергопотребление при перезарядке\: %sВт...%sкВт +eln:Scans_for_entities_and_shoots_if_the\nentity_matches_the_configurable_filter_criteria.=Ищет сущностей, совпадающих\nпо признакам с теми, что указаны\nв настройках и атакует их. +eln:Standby_power\:_%sW=Энергопотребление в бездействии\: %sВт +eln: +eln:# ./src/main/java/mods/eln/transparentnode/turret/TurretGui.java +eln:Attack\:=Атаковать\: +eln:Do_not_attack\:=Не атаковать\: +eln:Recharge_power\:=Мощность заряда\: +eln: +eln:# ./src/main/java/mods/eln/transparentnode/waterturbine/WaterTurbineDescriptor.java +eln:Generates_energy_using_water_stream.=Генерирует электричество используя течение воды. +eln:No_place_for_water_turbine!=Нет места для турбины\! +eln: +eln:# ./src/main/java/mods/eln/transparentnode/windturbine/WindTurbineDescriptor.java +eln:Front\:_%s=Перед\: %s +eln:Generates_energy_from_wind.=Генерирует энергию при помощи силы ветра. +eln:Left_Right\:_%s=Слева/Справа\: %s +eln:Up_Down\:_%s=Сверху/Снизу\: %s +eln:Wind_area\:=Ветреная площадь\: +eln: +eln:# ./src/main/java/mods/eln/wiki/Data.java +eln:Energy=Энергия +eln:Light=Освещение +eln:Machine=Машины +eln:Ore=Руды +eln:Portable=Переносные +eln:Resource=Ресурсы +eln:Signal=Сигнальные +eln:Thermal=Тепловые +eln:Upgrade=Улучшения +eln:Utilities=Иное +eln:Wiring=Проводка +eln: +eln:# ./src/main/java/mods/eln/wiki/Default.java +eln:Previous=Предыдущ. +eln: +eln:# ./src/main/java/mods/eln/wiki/ItemDefault.java +eln:Can_be_used_to_craft\:=Используется в рецепте\: +eln:Cannot_be_crafted!=Не может быть создано\! +eln:Cost_%sJ=Затрачивает %sДж +eln:Created_by\:=Создано\: +eln:Is_not_a_crafting_material!=Не является материалом для рецепта\! +eln:Recipe\:=Рецепт\: +eln: +eln:# Appearing in multiple source files +eln:(Increases_capacity)=(Увеличивает емкость) +eln:(Increases_inductance)=(Повышает индуктивность) +eln:Actual\:_%s°C=Текущ.\: %s°C +eln:Biggest=Наибольш. +eln:Booster_slot=Слот для ускорителя +eln:Can_create\:=Может создавать\: +eln:Capacity\:_%sF=Емкость\: %sF +eln:Charge_power\:_%sW=Мощность подзарядки\: %sВт +eln:Connected=Подключено +eln:Cooling_power\:_%sW=Мощность охлаждения\: %sВт +eln:Copper_cable_slot=Слот для медного проаода +eln:Dielectric_slot=Слот для диэлектрика +eln:Discharge_power\:_%sW=Мощность разрядки\: %sВт +eln:Electrical_cable_slot=Слот для провода +eln:Entity_filter_slot=Слот для фильтра существ +eln:Ferromagnetic_core_slot=Слот для ферромагнитного ядра +eln:Has_a_signal_output.=Имеет выходной сигнал. +eln:Inductance\:_%sH=Индуктивность\: %sH +eln:Internal_resistance\:_%sΩ=Внутреннее сопротивление\: %sΩ +eln:Is_off=Выкл. +eln:Is_on=Вкл. +eln:Max._temperature\:_%s°C=Макс. нагрев\: %s°C +eln:Measured_value\ncorresponding\nto_0%_output=Измеренное значение\nблизко к 0% +eln:Measured_value\ncorresponding\nto_100%_output=Измеренное значение\nблизко к 100% +eln:Nominal\:=Минимум\: +eln:Nominal_power\:_%sW=Минимальная мощность\: %sВт +eln:Nominal_usage\:=Минимальное кол-во использований\: +eln:Nominal_voltage\:_%sV=Минимальное напряжение\: %sВ +eln:Not_connected=Не соединено +eln:Not_enough_space_for_this_block=Недостаточно места для этого блока +eln:Power=Мощность +eln:Power\:_%sW=Мощность\: %sВт +eln:Range\:_%s_blocks=Дальность\: %s блока(-ов) +eln:Redstone_slot=Слот для редстоуна +eln:Regulator_slot=Слот для регулировщика +eln:Reset=Сброс +eln:Resistance\:_%sΩ=Сопротивление\: %sΩ +eln:Smallest=Наименьш. +eln:Specify_the_channel=Необходимо указать канал +eln:Stored_energy\:_%sJ_(%s)=Содержащаяся энергия\: %sДж (%s) +eln:Temperature\:_%s°C=Температура\: %s°C +eln:Temperature_gauge=Шкала температуры +eln:Thermal_isolator_slot=Слот для термального изолятора +eln:Toggle=Переключать +eln:Toggle_switch=Переключить +eln:Toggles_the_output_each_time\nan_emitter's_value_rises.\nUseful_to_allow_multiple_buttons\nto_control_the_same_light.=Переключает выход каждый\nраз, когда входное значение\nувеличивается.\nПолезно для переключения\nодной и той же лампочки при \nпомощи нескольких кнопок. +eln:Used_to_cool_down_turbines.=Используется для охлаждения тепловых турбин. +eln:Uses_the_biggest\nvalue_on_the_channel.=Использует наибольшее \nзначение в канале. +eln:Uses_the_smallest\nvalue_on_the_channel.=Использует наименьшее \nзначение в канале. +eln:Validate=Проверить +eln:Voltage\:_%sV=Напряжение\: %sВ +eln:You_can't_place_this_block_at_this_side=Вы не можете разместить данный блок с этой стороны diff --git a/src/main/resources/assets/eln/lang/sk.lang b/src/main/resources/assets/eln/lang/sk.lang index f4e769aa7..92e8a8d93 100644 --- a/src/main/resources/assets/eln/lang/sk.lang +++ b/src/main/resources/assets/eln/lang/sk.lang @@ -1,829 +1,829 @@ -# - -# ./src/main/java/mods/eln/Achievements.java -Electrical_Age_[WIP]=Electrical Age [WIP] -achievement.craft_50v_macerator=Crushing Novice -achievement.craft_50v_macerator.desc=Craft a 50V Macerator -achievement.open_guide=Wiki Power -achievement.open_guide.desc=Open the wiki guide - -# ./src/main/java/mods/eln/Eln.java -10A_Diode.name=10A Diode -200V_Active_Thermal_Dissipator.name=200V Active Thermal Dissipator -200V_Battery_Charger.name=200V Battery Charger -200V_Compressor.name=200V Compressor -200V_Condensator.name=200V Condensator -200V_Copper_Heating_Corp.name=200V Copper Heating Corp -200V_Economic_Light_Bulb.name=200V Economic Light Bulb -200V_Farming_Lamp.name=200V Farming Lamp -200V_Fuel_Generator.name=200V Fuel Generator -200V_Incandescent_Light_Bulb.name=200V Incandescent Light Bulb -200V_Iron_Heating_Corp.name=200V Iron Heating Corp -200V_LED_Bulb.name=200V LED Bulb -200V_Macerator.name=200V Macerator -200V_Magnetizer.name=200V Magnetizer -200V_Plate_Machine.name=200V Plate Machine -200V_Power_Socket.name=200V Power Socket -200V_Tungsten_Heating_Corp.name=200V Tungsten Heating Corp -200V_Turbine.name=200V Turbine -25A_Diode.name=25A Diode -50V_Battery_Charger.name=50V Battery Charger -50V_Carbon_Incandescent_Light_Bulb.name=50V Carbon Incandescent Light Bulb -50V_Compressor.name=50V Compressor -50V_Condensator.name=50V Condensator -50V_Copper_Heating_Corp.name=50V Copper Heating Corp -50V_Economic_Light_Bulb.name=50V Economic Light Bulb -50V_Egg_Incubator.name=50V Egg Incubator -50V_Farming_Lamp.name=50V Farming Lamp -50V_Fuel_Generator.name=50V Fuel Generator -50V_Incandescent_Light_Bulb.name=50V Incandescent Light Bulb -50V_Iron_Heating_Corp.name=50V Iron Heating Corp -50V_LED_Bulb.name=50V LED Bulb -50V_Macerator.name=50V Macerator -50V_Magnetizer.name=50V Magnetizer -50V_Plate_Machine.name=50V Plate Machine -50V_Power_Socket.name=50V Power Socket -50V_Tungsten_Heating_Corp.name=50V Tungsten Heating Corp -50V_Turbine.name=50V Turbine -800V_Defence_Turret.name=800V Defence Turret -AND_Chip.name=AND Chip -Advanced_Chip.name=Advanced Chip -Advanced_Electrical_Motor.name=Advanced Electrical Motor -Advanced_Energy_Meter.name=Advanced Energy Meter -Advanced_Machine_Block.name=Advanced Machine Block -Advanced_Magnet.name=Advanced Magnet -AllMeter.name=Universal-Meter -Alloy_Dust.name=Alloy Dust -Alloy_Ingot.name=Alloy Ingot -Alloy_Plate.name=Alloy Plate -Analog_Watch.name=Analog watch -Analog_vuMeter.name=Analog Gauge -Analogic_Regulator.name=Analogic Regulator -Animal_Filter.name=Animal Filter -Auto_Miner.name=Auto Miner -Average_Electrical_Drill.name=Average Electrical Drill -Average_Ferromagnetic_Core.name=Average Ferromagnetic Core -Basic_Magnet.name=Basic Magnet -Black_Brush.name=Black Brush -Blue_Brush.name=Blue Brush -Brown_Brush.name=Brown Brush -Capacity_Oriented_Battery.name=Capacity Oriented Battery -Cheap_Chip.name=Cheap Chip -Cheap_Electrical_Drill.name=Cheap Electrical Drill -Cheap_Ferromagnetic_Core.name=Cheap Ferromagnetic Core -Cinnabar_Dust.name=Cinnabar Dust -Cinnabar_Ore.name=Cinnabar Ore -Coal_Dust.name=Coal Dust -Coal_Plate.name=Coal Plate -Combustion_Chamber.name=Combustion Chamber -Copper_Cable.name=Copper Cable -Copper_Dust.name=Copper Dust -Copper_Ingot.name=Copper Ingot -Copper_Ore.name=Copper Ore -Copper_Plate.name=Copper Plate -Copper_Thermal_Cable.name=Copper Thermal Cable -Cost_Oriented_Battery.name=Cost Oriented Battery -Current_Oriented_Battery.name=Current Oriented Battery -Cyan_Brush.name=Cyan Brush -D_Flip_Flop_Chip.name=D Flip Flop Chip -Data_Logger.name=Data Logger -Data_Logger_Print.name=Data Logger Print -Dielectric.name=Dielectric -Digital_Watch.name=Digital Watch -Electrical_Anemometer_Sensor.name=Electrical Anemometer Sensor -Electrical_Breaker.name=Electrical Breaker -Electrical_Daylight_Sensor.name=Electrical Daylight Sensor -Electrical_Entity_Sensor.name=Electrical Entity Sensor -Electrical_Fire_Detector.name=Electrical Fire Detector -Electrical_Furnace.name=Electrical Furnace -Electrical_Light_Sensor.name=Electrical Light Sensor -Electrical_Motor.name=Electrical Motor -Electrical_Probe.name=Electrical Probe -Electrical_Probe_Chip.name=Electrical Probe Chip -Electrical_Source.name=Electrical Source -Electrical_Timer.name=Electrical Timer -Electrical_Weather_Sensor.name=Electrical Weather Sensor -Electrical_age_wrench,\nCan_be_used_to_turn\nsmall_wall_blocks=Electrical age wrench,\nCan be used to turn\nsmall wall blocks -Energy_Meter.name=Energy Meter -Experimental_Transporter.name=Experimental Transporter -Fast_Electrical_Drill.name=Fast Electrical Drill -Ferrite_Ingot.name=Ferrite Ingot -Flat_Lamp_Socket.name=Flat Lamp Socket -Fluorescent_Lamp_Socket.name=Fluorescent Lamp Socket -Generator.name=Generator -Gold_Dust.name=Gold Dust -Gold_Plate.name=Gold Plate -Gray_Brush.name=Gray Brush -Green_Brush.name=Green Brush -Ground_Cable.name=Ground Cable -High_Power_Receiver_Antenna.name=High Power Receiver Antenna -High_Power_Transmitter_Antenna.name=High Power Transmitter Antenna -High_Voltage_Cable.name=High Voltage Cable -High_Voltage_Relay.name=High Voltage Relay -High_Voltage_Switch.name=High Voltage Switch -Hub.name=Hub -Industrial_Data_Logger.name=Industrial Data Logger -Iron_Cable.name=Iron Cable -Iron_Dust.name=Iron Dust -Iron_Plate.name=Iron Plate -JK_Flip_Flop_Chip.name=JK Flip Flop Chip -LED_vuMeter.name=LED vuMeter -Lamp_Socket_A.name=Lamp Socket A -Lamp_Socket_B_Projector.name=Lamp Socket B Projector -Lamp_Supply.name=Lamp Supply -Large_Rheostat.name=Large Rheostat -Lead_Dust.name=Lead Dust -Lead_Ingot.name=Lead Ingot -Lead_Ore.name=Lead Ore -Lead_Plate.name=Lead Plate -Life_Oriented_Battery.name=Life Oriented Battery -Light_Blue_Brush.name=Light Blue Brush -Lime_Brush.name=Lime Brush -Long_Suspended_Lamp_Socket.name=Long Suspended Lamp Socket -Low_Power_Receiver_Antenna.name=Low Power Receiver Antenna -Low_Power_Transmitter_Antenna.name=Low Power Transmitter Antenna -Low_Voltage_Cable.name=Low Voltage Cable -Low_Voltage_Relay.name=Low Voltage Relay -Low_Voltage_Switch.name=Low Voltage Switch -Machine_Block.name=Machine Block -Machine_Booster.name=Machine Booster -Magenta_Brush.name=Magenta Brush -Medium_Power_Receiver_Antenna.name=Medium Power Receiver Antenna -Medium_Power_Transmitter_Antenna.name=Medium Power Transmitter Antenna -Medium_Voltage_Cable.name=Medium Voltage Cable -Medium_Voltage_Relay.name=Medium Voltage Relay -Medium_Voltage_Switch.name=Medium Voltage Switch -Mercury.name=Mercury -Mining_Pipe.name=Mining Pipe -Modbus_RTU.name=Modbus RTU -Modern_Data_Logger.name=Modern Data Logger -Monster_Filter.name=Monster Filter -MultiMeter.name=Multimeter -NAND_Chip.name=NAND Chip -NOR_Chip.name=NOR Chip -NOT_Chip.name=NOT Chip -Nuclear_Alarm.name=Nuclear Alarm -OR_Chip.name=OR Chip -On_OFF_Regulator_10_Percent.name=On/off regulator 10% -On_OFF_Regulator_1_Percent.name=On/off regulator 1% -Optimal_Ferromagnetic_Core.name=Optimal Ferromagnetic Core -Orange_Brush.name=Orange Brush -Ore_Scanner.name=Ore Scanner -Oscillator_Chip.name=Oscillator Chip -Overheating_Protection.name=Overheating Protection -Overvoltage_Protection.name=Overvoltage Protection -PAL_Chip.name=PAL Chip -Pink_Brush.name=Pink Brush -Player_Filter.name=Player Filter -Portable_Battery.name=Portable Battery -Portable_Battery_Pack.name=Portable Battery Pack -Portable_Condensator.name=Portable Condensator -Portable_Condensator_Pack.name=Portable Condensator Pack -Portable_Electrical_Axe.name=Portable Electrical Axe -Portable_Electrical_Mining_Drill.name=Portable Electrical Mining Drill -Power_Capacitor.name=Power Capacitor -Power_Inductor.name=Power Inductor -Power_Resistor.name=Power Resistor -Power_capacitor.name=Power capacitor -Power_inductor.name=Power inductor -Purple_Brush.name=Purple Brush -Red_Brush.name=Red Brush -Redstone-to-Voltage_Converter.name=Redstone-to-Voltage Converter -Rheostat.name=Rheostat -Robust_Lamp_Socket.name=Robust Lamp Socket -Rubber.name=Rubber -Schmitt_Trigger_Chip.name=Schmitt Trigger Chip -Sconce_Lamp_Socket.name=Sconce Lamp Socket -Signal_20H_inductor.name=Signal 20H inductor -Signal_Antenna.name=Signal Antenna -Signal_Button.name=Signal Button -Signal_Cable.name=Signal Cable -Signal_Diode.name=Signal Diode -Signal_Processor.name=Signal Processor -Signal_Relay.name=Signal Relay -Signal_Source.name=Signal Source -Signal_Switch.name=Signal Switch -Signal_Switch_with_LED.name=Signal Switch with LED -Signal_Trimmer.name=Signal Trimmer -Silicon_Dust.name=Silicon Dust -Silicon_Ingot.name=Silicon Ingot -Silicon_Plate.name=Silicon Plate -Silver_Brush.name=Silver Brush -Simple_Lamp_Socket.name=Simple Lamp Socket -Single-use_Battery.name=Single-use Battery -Small_200V_Copper_Heating_Corp.name=Small 200V Copper Heating Corp -Small_200V_Iron_Heating_Corp.name=Small 200V Iron Heating Corp -Small_200V_Tungsten_Heating_Corp.name=Small 200V Tungsten Heating Corp -Small_50V_Carbon_Incandescent_Light_Bulb.name=Small 50V Carbon Incandescent Light Bulb -Small_50V_Copper_Heating_Corp.name=Small 50V Copper Heating Corp -Small_50V_Economic_Light_Bulb.name=Small 50V Economic Light Bulb -Small_50V_Incandescent_Light_Bulb.name=Small 50V Incandescent Light Bulb -Small_50V_Iron_Heating_Corp.name=Small 50V Iron Heating Corp -Small_50V_Tungsten_Heating_Corp.name=Small 50V Tungsten Heating Corp -Small_Active_Thermal_Dissipator.name=Small Active Thermal Dissipator -Small_Flashlight.name=Small Flashlight -Small_Passive_Thermal_Dissipator.name=Small Passive Thermal Dissipator -Small_Rotating_Solar_Panel.name=Small Rotating Solar Panel -Small_Solar_Panel.name=Small Solar Panel -Solar_Tracker.name=Solar Tracker -Standard_Alarm.name=Standard Alarm -Steam_Turbine.name=Steam Turbine -Stone_Heat_Furnace.name=Stone Heat Furnace -Street_Light.name=Streetlight -Suspended_Lamp_Socket.name=Suspended Lamp Socket -Temperature_Probe.name=Temperature Probe -Thermal_Probe.name=Thermal Probe -Thermal_Probe_Chip.name=Thermal Probe Chip -Thermistor.name=Thermistor -ThermoMeter.name=Thermometer -Transformer.name=Transformer -Tree_Resin.name=Tree Resin -Tree_Resin_Collector.name=Tree Resin Collector -Tungsten_Cable.name=Tungsten Cable -Tungsten_Dust.name=Tungsten Dust -Tungsten_Ingot.name=Tungsten Ingot -Tungsten_Ore.name=Tungsten Ore -Tutorial_Sign.name=Tutorial Sign -Very_High_Voltage_Cable.name=Very High Voltage Cable -Very_High_Voltage_Relay.name=Very High Voltage Relay -Very_High_Voltage_Switch.name=Very High Voltage Switch -Voltage-to-Redstone_Converter.name=Voltage-to-Redstone Converter -Voltage_Oriented_Battery.name=Voltage Oriented Battery -Voltage_Probe.name=Voltage Probe -Water_Turbine.name=Water Turbine -Weak_50V_Battery_Charger.name=Weak 50V Battery Charger -White_Brush.name=White Brush -Wind_Turbine.name=Wind Turbine -Wireless_Analyser.name=Wireless Analyzer -Wireless_Button.name=Wireless Button -Wireless_Signal_Receiver.name=Wireless Signal Receiver -Wireless_Signal_Repeater.name=Wireless Signal Repeater -Wireless_Signal_Transmitter.name=Wireless Signal Transmitter -Wireless_Switch.name=Wireless Switch -Wrench.name=Wrench -X-Ray_Scanner.name=X-Ray Scanner -XNOR_Chip.name=XNOR Chip -XOR_Chip.name=XOR Chip -Yellow_Brush.name=Yellow Brush -entity.EAReplicator.name=Replicator -item.Copper Axe.name\=Copper Axe -item.Copper Axe.name\=Copper Axe -item.Copper Axe.name\=Copper Axe -item.Copper Axe.name\=Copper Axe -item.Copper Axe.name\=Copper Axe -item.Copper Axe.name\=Copper Axe -item.Copper Axe.name\=Copper Axe -item.Copper Axe.name\=Copper Axe -item.Copper Axe.name\=Copper Axe -item.E-Coal Boots.name\=E-Coal Boots -item.E-Coal Boots.name\=E-Coal Boots -item.E-Coal Boots.name\=E-Coal Boots -item.E-Coal Boots.name\=E-Coal Boots -itemGroup.Eln=Electrical Age -mod.meta.desc=Electricity in your base\! -tile.eln.ElnProbe.name=Eln Computer Probe -tile.eln.EnergyConverterElnToOtherHVUBlock.name=800V Electrical Age to other energy exporter -tile.eln.EnergyConverterElnToOtherLVUBlock.name=50V Electrical Age to other energy exporter -tile.eln.EnergyConverterElnToOtherMVUBlock.name=200V Electrical Age to other energy exporter - -# ./src/main/java/mods/eln/i18n/I18N.java -You_have_%s_lives_left=You have %s lives left - -# ./src/main/java/mods/eln/item/BrushDescriptor.java -Brush_is_dry=Brush is dry -Can_paint_%s_blocks=Can paint %s blocks - -# ./src/main/java/mods/eln/item/CombustionChamber.java -Upgrade_for_the_Stone_Heat_Furnace.=Upgrade for the Stone Heat Furnace. - -# ./src/main/java/mods/eln/item/ElectricalDrillDescriptor.java -Energy_per_operation\:_%sJ=Energy per operation\: %sJ -Time_per_operation\:_%ss=Time per operation\: %ss - -# ./src/main/java/mods/eln/item/FerromagneticCoreDescriptor.java -Cable_loss_factor\:_%s=Cable loss factor\: %s - -# ./src/main/java/mods/eln/item/HeatingCorpElement.java - -# ./src/main/java/mods/eln/item/LampDescriptor.java -Bad=Bad -Condition\:=Condition\: -End_of_life=End of life -Good=Good -New=New -Nominal_lifetime\:_%sh=Nominal lifetime\: %sh -Technology\:_%s=Technology\: %s -Used=Used - -# ./src/main/java/mods/eln/item/LampSlot.java -Lamp_slot=Lamp slot - -# ./src/main/java/mods/eln/item/OverHeatingProtectionDescriptor.java -Useful_to_prevent_overheating\nof_Batteries=Useful to prevent overheating\nof Batteries - -# ./src/main/java/mods/eln/item/OverVoltageProtectionDescriptor.java -Useful_to_prevent_over-voltage\nof_Batteries=Useful to prevent over-voltage\nof Batteries - -# ./src/main/java/mods/eln/item/SolarTrackerDescriptor.java -Solar_panel_upgrade=Solar panel upgrade - -# ./src/main/java/mods/eln/item/electricalitem/BatteryItem.java - -# ./src/main/java/mods/eln/item/electricalitem/ElectricalLampItem.java -Off=Off -On=On -State\:=State\: -Stored_Energy\:_%sJ_(%s)=Stored Energy\: %sJ (%s) - -# ./src/main/java/mods/eln/item/regulator/RegulatorSlot.java - -# ./src/main/java/mods/eln/misc/UtilsClient.java -Hold_shift=Hold shift - -# ./src/main/java/mods/eln/misc/Version.java -mod.name=Electrical Age - -# ./src/main/java/mods/eln/node/six/SixNodeDescriptor.java - -# ./src/main/java/mods/eln/simplenode/energyconverter/EnergyConverterElnToOtherGui.java -Input_power_is_limited_to_%sW=Input power is limited to %sW - -# ./src/main/java/mods/eln/sixnode/LogicGate.kt -_O\:_= O\: - -# ./src/main/java/mods/eln/sixnode/TreeResinCollector/TreeResinCollectorDescriptor.java -Produces_Tree_Resin_over\ntime_when_put_on_a_tree.=Produces Tree Resin over\ntime when put on a tree. -This_block_can_only_be_placed_on_the_side_of_a_tree!=This block can only be placed on the side of a tree\! - -# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerContainer.java -Battery_slot=Battery slot - -# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerDescriptor.java -Can_be_used_to_recharge\nelectrical_items_like\:\nFlash_Light,_X-Ray_scanner\nand_Portable_Battery_...=Can be used to recharge\nelectrical items like\:\nFlash Light, X-Ray scanner\nand Portable Battery ... - -# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerGui.java - -# ./src/main/java/mods/eln/sixnode/diode/DiodeDescriptor.java -Electrical_current_can_only\nflow_through_the_diode\nfrom_anode_to_cathode=Electrical current can only\nflow through the diode\nfrom anode to cathode - -# ./src/main/java/mods/eln/sixnode/electricalalarm/ElectricalAlarmDescriptor.java -= -Emits_an_acoustic_alarm_if\nthe_input_signal_is_high=Emits an acoustic alarm if\nthe input signal is high - -# ./src/main/java/mods/eln/sixnode/electricalalarm/ElectricalAlarmGui.java -Sound_is_muted=Sound is muted -Sound_is_not_muted=Sound is not muted - -# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerContainer.java - -# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerDescriptor.java -Protects_electrical_components\nOpens_contact_if\:\n__-_Voltage_exceeds_a_certain_level\n-_Current_exceeds_the_cable_limit=Protects electrical components\nOpens contact if\:\n - Voltage exceeds a certain level\n- Current exceeds the cable limit - -# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerGui.java -Maximum_voltage_before_cutting_off=Maximum voltage before cutting off -Minimum_voltage_before_cutting_off=Minimum voltage before cutting off -Switch_is_off=Switch is off -Switch_is_on=Switch is on - -# ./src/main/java/mods/eln/sixnode/electricalcable/ElectricalCableDescriptor.java -A_signal_is_electrical_information\nwhich_must_be_between_0V_and_%sV=A signal is electrical information\nwhich must be between 0V and %sV -Cable_is_adapted_to_conduct\nelectrical_signals.=Cable is adapted to conduct\nelectrical signals. -Current\:_%sA=Current\: %sA -Not_adapted_to_transport_power.=Not adapted to transport power. -Save_usage\:=Save usage\: -Serial_resistance\:_%sΩ=Serial resistance\: %sΩ - -# ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerDescriptor.java -It_can_store_up_to_256_points.=It can store up to 256 points. -Measures_the_voltage_of_an\nelectrical_signal_and_plots\nthe_data_in_real_time.=Measures the voltage of an\nelectrical signal and plots\nthe data in real time. - -# ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerGui.java -Back_to_display=Back to display -Configuration=Configuration -Current_[A]=Current [A] -Energy_[J]=Energy [J] -Percent_[-]%=Percent [-]% -Power_[W]=Power [W] -Print=Print -Sampling_period=Sampling period -Temp._[*C]=Temp. [*C] -Voltage_[V]=Voltage [V] -Y-axis_max=Y-axis max -Y-axis_min=Y-axis min - -# ./src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorContainer.java - -# ./src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorDescriptor.java -Output_voltage_increases\nif_entities_are_moving_around.=Output voltage increases\nif entities are moving around. - -# ./src/main/java/mods/eln/sixnode/electricalfiredetector/ElectricalFireDetectorDescriptor.java -Output_voltage_increases\nif_a_fire_has_been_detected.=Output voltage increases\nif a fire has been detected. - -# ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceDescriptor.java -Provides_configurable_signal\nvoltage.=Provides configurable signal\nvoltage. - -# ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceGui.java -Output_at_%s=Output at %s - -# ./src/main/java/mods/eln/sixnode/electricallightsensor/ElectricalLightSensorDescriptor.java -0V_at_night,_%sV_at_noon.=0V at night, %sV at noon. -Provides_an_electrical_voltage\nin_the_presence_of_light.=Provides an electrical voltage\nin the presence of light. -Provides_an_electrical_voltage\nwhich_is_proportional_to\nthe_intensity_of_daylight.=Provides an electrical voltage\nwhich is proportional to\nthe intensity of daylight. - -# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathContainer.java - -# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathDescriptor.java -Applicable_boolean_operators\:=Applicable boolean operators\: -Applicable_functions\:=Applicable functions\: -Applicable_mathematical_operators\:=Applicable mathematical operators\: -Calculates_an_output_signal_from\n3_inputs_(A,_B,_C)_using_an_equation.=Calculates an output signal from\n3 inputs (A, B, C) using an equation. - -# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathGui.java -%s_Redstone(s)_required=%s Redstone(s) required -Equation_required!=Equation required\! -Inputs_are=Inputs are -Invalid_equation!=Invalid equation\! -Output_voltage_formula=Output voltage formula -Waiting_for_completion...=Waiting for completion... - -# ./src/main/java/mods/eln/sixnode/electricalredstoneinput/ElectricalRedstoneInputDescriptor.java -Converts_Redstone_signal\nto_an_electrical_voltage.=Converts Redstone signal\nto an electrical voltage. - -# ./src/main/java/mods/eln/sixnode/electricalredstoneoutput/ElectricalRedstoneOutputDescriptor.java -Converts_electrical_voltage\ninto_a_Redstone_signal.=Converts electrical voltage\ninto a Redstone signal. - -# ./src/main/java/mods/eln/sixnode/electricalrelay/ElectricalRelayDescriptor.java -A_relay_is_an_electrical\ncontact_that_conducts_electric\ncurrent_or_not,_depending\nthe_actual_input_signal_voltage.=A relay is an electrical\ncontact that conducts electric\ncurrent or not, depending\nthe actual input signal voltage. - -# ./src/main/java/mods/eln/sixnode/electricalrelay/ElectricalRelayGui.java -Normally_closed=Normally closed -Normally_open=Normally open - -# ./src/main/java/mods/eln/sixnode/electricalsource/ElectricalSourceDescriptor.java -Creative_block.=Creative block. -Provides_an_ideal_voltage_source\nwithout_energy_or_power_limitation.=Provides an ideal voltage source\nwithout energy or power limitation. - -# ./src/main/java/mods/eln/sixnode/electricalsource/ElectricalSourceGui.java -Output_voltage=Output voltage - -# ./src/main/java/mods/eln/sixnode/electricalswitch/ElectricalSwitchDescriptor.java -Can_break_an_electrical_circuit\ninterrupting_the_current.=Can break an electrical circuit\ninterrupting the current. - -# ./src/main/java/mods/eln/sixnode/electricaltimeout/ElectricalTimeoutDescriptor.java -Upon_application_of_a_high_signal,\nthe_timer_maintains_the_output_high_for\na_configurable_interval._Can_be_re-triggered.=Upon application of a high signal,\nthe timer maintains the output high for\na configurable interval. Can be re-triggered. - -# ./src/main/java/mods/eln/sixnode/electricaltimeout/ElectricalTimeoutGui.java -Set=Set -The_time_interval_the\noutput_is_kept_high.=The time interval the\noutput is kept high. - -# ./src/main/java/mods/eln/sixnode/electricalvumeter/ElectricalVuMeterDescriptor.java -Displays_the_value_of_a_signal.=Displays the value of a signal. - -# ./src/main/java/mods/eln/sixnode/electricalwatch/ElectricalWatchContainer.java -Portable_battery_slot=Portable battery slot - -# ./src/main/java/mods/eln/sixnode/electricalweathersensor/ElectricalWeatherSensorDescriptor.java -Clear\:_%sV=Clear\: %sV -Provides_an_electrical_signal\ndepending_the_actual_weather.=Provides an electrical signal\ndepending the actual weather. -Rain\:_%sV=Rain\: %sV -Storm\:_%sV=Storm\: %sV - -# ./src/main/java/mods/eln/sixnode/electricalwindsensor/ElectricalWindSensorDescriptor.java -Maximum_wind_speed_is_%sm_s=Maximum wind speed is %sm/s -Provides_an_electrical_signal\ndependant_on_wind_speed.=Provides an electrical signal\ndependant on wind speed. -You_can't_place_this_block_on_the_floor_or_the_ceiling=You can't place this block on the floor or the ceiling - -# ./src/main/java/mods/eln/sixnode/electricasensor/ElectricalSensorDescriptor.java -Can_measure_Voltage_Power_Current=Can measure Voltage/Power/Current -Measures_electrical_values_on_cables.=Measures electrical values on cables. -Measures_voltage_on_cables.=Measures voltage on cables. - -# ./src/main/java/mods/eln/sixnode/electricasensor/ElectricalSensorGui.java -Current=Current -Measured_voltage\ncorresponding\nto_0%_output=Measured voltage\ncorresponding\nto 0% output -Measured_voltage\ncorresponding\nto_100%_output=Measured voltage\ncorresponding\nto 100% output -Voltage=Voltage - -# ./src/main/java/mods/eln/sixnode/energymeter/EnergyMeterGui.java -Change_password=Change password -Counter_Mode=Counter Mode -Counts_the_energy_conducted_from\n\u00a74red\u00a7f_to_\u00a71blue\u00a7f.=Counts the energy conducted from\n\\u00a74red\\u00a7f to \\u00a71blue\\u00a7f. -Energy_counter\:_%sJ=Energy counter\: %sJ -Enter_new_energy=Enter new energy -Enter_password=Enter password -Prepay_Mode=Prepay Mode -Reset_time_counter=Reset time counter -Set_energy_counter=Set energy counter -Time_counter\:=Time counter\: -Try_password=Try password -You_can_set_an_initial\namount_of_available_energy.\nWhen_the_counter_arrives_at_0\nthe_contact_will_be_opened.=You can set an initial\namount of available energy.\nWhen the counter arrives at 0\nthe contact will be opened. -is_off=is off -is_on=is on -value_in_kJ=value in kJ - -# ./src/main/java/mods/eln/sixnode/groundcable/GroundCableDescriptor.java -Can_be_used_to_set_a_point_of_an\nelectrical_network_to_0V_potential.\nFor_example_to_ground_negative_battery_contacts.=Can be used to set a point of an\nelectrical network to 0V potential.\nFor example to ground negative battery contacts. -Provides_a_zero_volt_reference.=Provides a zero volt reference. - -# ./src/main/java/mods/eln/sixnode/hub/HubDescriptor.java -Allows_crossing_cables\non_one_single_block.=Allows crossing cables\non one single block. - -# ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketDescriptor.java -Angle\:_%s°_to_%s°=Angle\: %s° to %s° -Spot_range\:_%s_blocks=Spot range\: %s blocks - -# ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketGuiDraw.java -%s_is_not_in_range!=%s is not in range\! -Cable_slot_empty=Cable slot empty -Orientation\:_%s°=Orientation\: %s° -Parallel=Parallel -Powered_by_Lamp_Supply=Powered by Lamp Supply -Powered_by_cable=Powered by cable -Serial=Serial -Specify_the_supply_channel=Specify the supply channel - -# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyContainer.java -Electrical_cable_slot\nBase_range_is_32_blocks.\nEach_additional_cable\nincreases_range_by_one.=Electrical cable slot\nBase range is 32 blocks.\nEach additional cable\nincreases range by one. - -# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyDescriptor.java -Supplies_all_lamps_on_the_channel.=Supplies all lamps on the channel. - -# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyGui.java -Power_channel_name=Power channel name -Wireless_channel_name=Wireless channel name - -# ./src/main/java/mods/eln/sixnode/modbusrtu/ModbusRtuGui.java -Add=Add -Channel_name=Channel name -Modbus_ID=Modbus ID -Modbus_RTU=Modbus RTU -Station_ID=Station ID -Station_name=Station name -Wireless_RX=Wireless RX -Wireless_TX=Wireless TX - -# ./src/main/java/mods/eln/sixnode/powercapacitorsix/PowerCapacitorSixContainer.java -(Increases_maximum_voltage)=(Increases maximum voltage) - -# ./src/main/java/mods/eln/sixnode/powercapacitorsix/PowerCapacitorSixGui.java - -# ./src/main/java/mods/eln/sixnode/powerinductorsix/PowerInductorSixContainer.java - -# ./src/main/java/mods/eln/sixnode/powerinductorsix/PowerInductorSixGui.java - -# ./src/main/java/mods/eln/sixnode/powersocket/PowerSocketDescriptor.java -Supplies_any_device\nplugged_in_with_energy.=Supplies any device\nplugged in with energy. - -# ./src/main/java/mods/eln/sixnode/powersocket/PowerSocketGui.java -Specify_the_device_to_supply_through_this_socket.=Specify the device to supply through this socket. - -# ./src/main/java/mods/eln/sixnode/resistor/ResistorContainer.java -(Sets_resistance)=(Sets resistance) -Coal_dust_slot=Coal dust slot - -# ./src/main/java/mods/eln/sixnode/thermalcable/ThermalCableDescriptor.java -High_parallel_resistance\n_\=>_Low_power_dissipation.=High parallel resistance\n \=> Low power dissipation. -Low_serial_resistance\n_\=>_High_conductivity.=Low serial resistance\n \=> High conductivity. -Parallel_resistance\:_%sK_W=Parallel resistance\: %sK/W -Serial_resistance\:_%sK_W=Serial resistance\: %sK/W - -# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorContainer.java -Cable_slot=Cable slot - -# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorDescriptor.java -Can_measure\:=Can measure\: -Measures_temperature_of_cables.=Measures temperature of cables. -Measures_thermal_values_on_cables.=Measures thermal values on cables. -__Temperature_Power_conducted=Temperature/Power conducted - -# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorGui.java -Measured_temperature\ncorresponding\nto_0%_output=Measured temperature\ncorresponding\nto 0% output -Measured_temperature\ncorresponding\nto_100%_output=Measured temperature\ncorresponding\nto 100% output -Temperature=Temperature - -# ./src/main/java/mods/eln/sixnode/tutorialsign/TutorialSignElement.java -No_text_associated_to_this_beacon=No text associated to this beacon - -# ./src/main/java/mods/eln/sixnode/tutorialsign/TutorialSignGui.java -Set_beacon_name=Set beacon name - -# ./src/main/java/mods/eln/sixnode/wirelesssignal/rx/WirelessSignalRxGui.java - -# ./src/main/java/mods/eln/transparentnode/FuelGenerator.kt -Nominal_power\:_%s_W=Nominal power\: %s W -Nominal_voltage\:_%s_V=Nominal voltage\: %s V -Produces_electricity_using_fuel.=Produces electricity using fuel. - -# ./src/main/java/mods/eln/transparentnode/LargeRheostat.kt -Nom._Resistance\:_%s=Nom. Resistance\: %s - -# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerContainer.java -Drill_slot=Drill slot -Mining_pipe_slot=Mining pipe slot -Ore_scanner_slot=Ore scanner slot - -# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerDescriptor.java -Excavates_on_a_small_radius.\nExtracts_ore_on_a_bigger_radius\:\n10_blocks_radius_after_10_blocks_depth.=Excavates on a small radius.\nExtracts ore on a bigger radius\:\n10 blocks radius after 10 blocks depth. - -# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerGuiDraw.java -Chest_missing_on_the\nback_of_the_auto_miner!=Chest missing on the\nback of the auto miner\! -Halves_speed,_triples_power_draw=Halves speed, triples power draw -Silk_Touch_Off=Silk Touch Off -Silk_Touch_On=Silk Touch On -Silk_touch=Silk touch - -# ./src/main/java/mods/eln/transparentnode/battery/BatteryContainer.java -Overheating_protection=Overheating protection -Overvoltage_protection=Overvoltage protection - -# ./src/main/java/mods/eln/transparentnode/battery/BatteryDescriptor.java -Actual_charge\:_%s=Actual charge\: %s -Energy_capacity\:_%sJ=Energy capacity\: %sJ -_charged_at_%s=charged at %s - -# ./src/main/java/mods/eln/transparentnode/battery/BatteryGuiDraw.java -Charge=Charge -Charged=Charged -Discharge=Discharge -Energy\:=Energy\: -Energy\:_%s=Energy\: %s -Life\:=Life\: -No_charge=No charge -Power_in\:=Power in\: -Power_out\:=Power out\: - -# ./src/main/java/mods/eln/transparentnode/eggincubator/EggIncubatorContainer.java -Egg_slot=Egg slot - -# ./src/main/java/mods/eln/transparentnode/electricalantennarx/ElectricalAntennaRxDescriptor.java -Wireless_energy_receiver.=Wireless energy receiver. - -# ./src/main/java/mods/eln/transparentnode/electricalantennatx/ElectricalAntennaTxDescriptor.java -Efficiency\:_%s_up_to_%s=Efficiency\: %s up to %s -Wireless_energy_transmitter.=Wireless energy transmitter. - -# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceContainer.java -Heating_corp_slot=Heating corp slot - -# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceDescriptor.java -Similar_to_a_vanilla_furnace,\nbut_heats_with_electricity.=Similar to a vanilla furnace,\nbut heats with electricity. - -# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceGuiDraw.java -Auto_shutdown=Auto shutdown -Manual_shutdown=Manual shutdown -Set_point\:_%s°C=Set point\: %s°C - -# ./src/main/java/mods/eln/transparentnode/electricalmachine/ElectricalMachineDescriptor.java -Cost=Cost - -# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceContainer.java -Combustion_chamber_slot=Combustion chamber slot -Fuel_slot=Fuel slot - -# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceDescriptor.java -Generates_heat_when_supplied_with_fuel.=Generates heat when supplied with fuel. - -# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceGuiDraw.java -Control_gauge_at_%s=Control gauge at %s -Decline_fuel=Decline fuel -External_control=External control -Internal_control=Internal control -Take_fuel=Take fuel - -# ./src/main/java/mods/eln/transparentnode/powercapacitor/PowerCapacitorContainer.java -(Increases_maximal_voltage)=(Increases maximal voltage) - -# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelContainer.java -Solar_tracker_slot=Solar tracker slot - -# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelDescriptor.java -Can_be_geared_towards_the_sun.=Can be geared towards the sun. -Max._power\:_%sW=Max. power\: %sW -Max._voltage\:_%sV=Max. voltage\: %sV -Produces_power_from_solar_radiation.=Produces power from solar radiation. - -# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPannelGuiDraw.java -It_is_night=It is night -Solar_panel_angle\:_%s°=Solar panel angle\: %s° -Sun_angle\:_%s°=Sun angle\: %s° - -# ./src/main/java/mods/eln/transparentnode/teleporter/TeleporterGui.java -Destination_transporter=Destination transporter -Power_consumption\:=Power consumption\: -Power_consumption\:_%sW=Power consumption\: %sW -Required_energy\:_%sJ=Required energy\: %sJ -Start=Start -Transporter_name=Transporter name - -# ./src/main/java/mods/eln/transparentnode/thermaldissipatoractive/ThermalDissipatorActiveDescriptor.java -Fan_cooling_power\:_%sW=Fan cooling power\: %sW -Fan_power_consumption\:_%sW=Fan power consumption\: %sW -Fan_voltage\:_%sV=Fan voltage\: %sV - -# ./src/main/java/mods/eln/transparentnode/transformer/TransformerDescriptor.java -The_voltage_ratio_is_proportional\nto_the_cable_stacks_count_ratio.=The voltage ratio is proportional\nto the cable stacks count ratio. -Transforms_an_input_voltage_to\nan_output_voltage.=Transforms an input voltage to\nan output voltage. - -# ./src/main/java/mods/eln/transparentnode/turbine/TurbineDescriptor.java -Generates_electricity_using_heat.=Generates electricity using heat. -Temperature_difference\:_%s°C=Temperature difference\: %s°C - -# ./src/main/java/mods/eln/transparentnode/turret/TurretDescriptor.java -CAUTION\:_Cables_can_get_quite_hot!=CAUTION\: Cables can get quite hot\! -Laser_charge_power\:_%sW...%skW=Laser charge power\: %sW...%skW -Scans_for_entities_and_shoots_if_the\nentity_matches_the_configurable_filter_criteria.=Scans for entities and shoots if the\nentity matches the configurable filter criteria. -Standby_power\:_%sW=Standby power\: %sW - -# ./src/main/java/mods/eln/transparentnode/turret/TurretGui.java -Attack\:=Attack\: -Do_not_attack\:=Do not attack\: -Recharge_power\:=Recharge power\: - -# ./src/main/java/mods/eln/transparentnode/waterturbine/WaterTurbineDescriptor.java -Generates_energy_using_water_stream.=Generates energy using water stream. -No_place_for_water_turbine!=No place for water turbine\! - -# ./src/main/java/mods/eln/transparentnode/windturbine/WindTurbineDescriptor.java -Front\:_%s=Front\: %s -Generates_energy_from_wind.=Generates energy from wind. -Left_Right\:_%s=Left/Right\: %s -Up_Down\:_%s=Up/Down\: %s -Wind_area\:=Wind area\: - -# ./src/main/java/mods/eln/wiki/Data.java -Energy=Energy -Light=Light -Machine=Machine -Ore=Ore -Portable=Portable -Resource=Resource -Signal=Signal -Thermal=Thermal -Upgrade=Upgrade -Utilities=Utilities -Wiring=Wiring - -# ./src/main/java/mods/eln/wiki/Default.java -Previous=Previous - -# ./src/main/java/mods/eln/wiki/ItemDefault.java -Can_be_used_to_craft\:=Can be used to craft\: -Cannot_be_crafted!=Cannot be crafted\! -Cost_%sJ=Cost %sJ -Created_by\:=Created by\: -Is_not_a_crafting_material!=Is not a crafting material\! -Recipe\:=Recipe\: - -# Appearing in multiple source files -(Increases_capacity)=(Increases capacity) -(Increases_inductance)=(Increases inductance) -Actual\:_%s°C=Actual\: %s°C -Biggest=Biggest -Booster_slot=Booster slot -Can_create\:=Can create\: -Capacity\:_%sF=Capacity\: %sF -Charge_power\:_%sW=Charge power\: %sW -Connected=Connected -Cooling_power\:_%sW=Cooling power\: %sW -Copper_cable_slot=Copper cable slot -Dielectric_slot=Dielectric slot -Discharge_power\:_%sW=Discharge power\: %sW -Electrical_cable_slot=Electrical cable slot -Entity_filter_slot=Entity filter slot -Ferromagnetic_core_slot=Ferromagnetic core slot -Has_a_signal_output.=Has a signal output. -Inductance\:_%sH=Inductance\: %sH -Internal_resistance\:_%sΩ=Internal resistance\: %sΩ -Is_off=Is off -Is_on=Is on -Max._temperature\:_%s°C=Max. temperature\: %s°C -Measured_value\ncorresponding\nto_0%_output=Measured value\ncorresponding\nto 0% output -Measured_value\ncorresponding\nto_100%_output=Measured value\ncorresponding\nto 100% output -Nominal\:=Nominal\: -Nominal_power\:_%sW=Nominal power\: %sW -Nominal_usage\:=Nominal usage\: -Nominal_voltage\:_%sV=Nominal voltage\: %sV -Not_connected=Not connected -Not_enough_space_for_this_block=Not enough space for this block -Power=Power -Power\:_%sW=Power\: %sW -Range\:_%s_blocks=Range\: %s blocks -Redstone_slot=Redstone slot -Regulator_slot=Regulator slot -Reset=Reset -Resistance\:_%sΩ=Resistance\: %sΩ -Smallest=Smallest -Specify_the_channel=Specify the channel -Stored_energy\:_%sJ_(%s)=Stored energy\: %sJ (%s) -Temperature\:_%s°C=Temperature\: %s°C -Temperature_gauge=Temperature gauge -Thermal_isolator_slot=Thermal isolator slot -Toggle=Toggle -Toggle_switch=Toggle switch -Toggles_the_output_each_time\nan_emitter's_value_rises.\nUseful_to_allow_multiple_buttons\nto_control_the_same_light.=Toggles the output each time\nan emitter's value rises.\nUseful to allow multiple buttons\nto control the same light. -Used_to_cool_down_turbines.=Used to cool down turbines. -Uses_the_biggest\nvalue_on_the_channel.=Uses the biggest\nvalue on the channel. -Uses_the_smallest\nvalue_on_the_channel.=Uses the smallest\nvalue on the channel. -Validate=Validate -Voltage\:_%sV=Voltage\: %sV -You_can't_place_this_block_at_this_side=You can't place this block at this side +eln:# +eln: +eln:# ./src/main/java/mods/eln/Achievements.java +eln:Electrical_Age_[WIP]=Electrical Age [WIP] +eln:achievement.craft_50v_macerator=Crushing Novice +eln:achievement.craft_50v_macerator.desc=Craft a 50V Macerator +eln:achievement.open_guide=Wiki Power +eln:achievement.open_guide.desc=Open the wiki guide +eln: +eln:# ./src/main/java/mods/eln/Eln.java +eln:10A_Diode.name=10A Diode +eln:200V_Active_Thermal_Dissipator.name=200V Active Thermal Dissipator +eln:200V_Battery_Charger.name=200V Battery Charger +eln:200V_Compressor.name=200V Compressor +eln:200V_Condensator.name=200V Condensator +eln:200V_Copper_Heating_Corp.name=200V Copper Heating Corp +eln:200V_Economic_Light_Bulb.name=200V Economic Light Bulb +eln:200V_Farming_Lamp.name=200V Farming Lamp +eln:200V_Fuel_Generator.name=200V Fuel Generator +eln:200V_Incandescent_Light_Bulb.name=200V Incandescent Light Bulb +eln:200V_Iron_Heating_Corp.name=200V Iron Heating Corp +eln:200V_LED_Bulb.name=200V LED Bulb +eln:200V_Macerator.name=200V Macerator +eln:200V_Magnetizer.name=200V Magnetizer +eln:200V_Plate_Machine.name=200V Plate Machine +eln:200V_Power_Socket.name=200V Power Socket +eln:200V_Tungsten_Heating_Corp.name=200V Tungsten Heating Corp +eln:200V_Turbine.name=200V Turbine +eln:25A_Diode.name=25A Diode +eln:50V_Battery_Charger.name=50V Battery Charger +eln:50V_Carbon_Incandescent_Light_Bulb.name=50V Carbon Incandescent Light Bulb +eln:50V_Compressor.name=50V Compressor +eln:50V_Condensator.name=50V Condensator +eln:50V_Copper_Heating_Corp.name=50V Copper Heating Corp +eln:50V_Economic_Light_Bulb.name=50V Economic Light Bulb +eln:50V_Egg_Incubator.name=50V Egg Incubator +eln:50V_Farming_Lamp.name=50V Farming Lamp +eln:50V_Fuel_Generator.name=50V Fuel Generator +eln:50V_Incandescent_Light_Bulb.name=50V Incandescent Light Bulb +eln:50V_Iron_Heating_Corp.name=50V Iron Heating Corp +eln:50V_LED_Bulb.name=50V LED Bulb +eln:50V_Macerator.name=50V Macerator +eln:50V_Magnetizer.name=50V Magnetizer +eln:50V_Plate_Machine.name=50V Plate Machine +eln:50V_Power_Socket.name=50V Power Socket +eln:50V_Tungsten_Heating_Corp.name=50V Tungsten Heating Corp +eln:50V_Turbine.name=50V Turbine +eln:800V_Defence_Turret.name=800V Defence Turret +eln:AND_Chip.name=AND Chip +eln:Advanced_Chip.name=Advanced Chip +eln:Advanced_Electrical_Motor.name=Advanced Electrical Motor +eln:Advanced_Energy_Meter.name=Advanced Energy Meter +eln:Advanced_Machine_Block.name=Advanced Machine Block +eln:Advanced_Magnet.name=Advanced Magnet +eln:AllMeter.name=Universal-Meter +eln:Alloy_Dust.name=Alloy Dust +eln:Alloy_Ingot.name=Alloy Ingot +eln:Alloy_Plate.name=Alloy Plate +eln:Analog_Watch.name=Analog watch +eln:Analog_vuMeter.name=Analog Gauge +eln:Analogic_Regulator.name=Analogic Regulator +eln:Animal_Filter.name=Animal Filter +eln:Auto_Miner.name=Auto Miner +eln:Average_Electrical_Drill.name=Average Electrical Drill +eln:Average_Ferromagnetic_Core.name=Average Ferromagnetic Core +eln:Basic_Magnet.name=Basic Magnet +eln:Black_Brush.name=Black Brush +eln:Blue_Brush.name=Blue Brush +eln:Brown_Brush.name=Brown Brush +eln:Capacity_Oriented_Battery.name=Capacity Oriented Battery +eln:Cheap_Chip.name=Cheap Chip +eln:Cheap_Electrical_Drill.name=Cheap Electrical Drill +eln:Cheap_Ferromagnetic_Core.name=Cheap Ferromagnetic Core +eln:Cinnabar_Dust.name=Cinnabar Dust +eln:Cinnabar_Ore.name=Cinnabar Ore +eln:Coal_Dust.name=Coal Dust +eln:Coal_Plate.name=Coal Plate +eln:Combustion_Chamber.name=Combustion Chamber +eln:Copper_Cable.name=Copper Cable +eln:Copper_Dust.name=Copper Dust +eln:Copper_Ingot.name=Copper Ingot +eln:Copper_Ore.name=Copper Ore +eln:Copper_Plate.name=Copper Plate +eln:Copper_Thermal_Cable.name=Copper Thermal Cable +eln:Cost_Oriented_Battery.name=Cost Oriented Battery +eln:Current_Oriented_Battery.name=Current Oriented Battery +eln:Cyan_Brush.name=Cyan Brush +eln:D_Flip_Flop_Chip.name=D Flip Flop Chip +eln:Data_Logger.name=Data Logger +eln:Data_Logger_Print.name=Data Logger Print +eln:Dielectric.name=Dielectric +eln:Digital_Watch.name=Digital Watch +eln:Electrical_Anemometer_Sensor.name=Electrical Anemometer Sensor +eln:Electrical_Breaker.name=Electrical Breaker +eln:Electrical_Daylight_Sensor.name=Electrical Daylight Sensor +eln:Electrical_Entity_Sensor.name=Electrical Entity Sensor +eln:Electrical_Fire_Detector.name=Electrical Fire Detector +eln:Electrical_Furnace.name=Electrical Furnace +eln:Electrical_Light_Sensor.name=Electrical Light Sensor +eln:Electrical_Motor.name=Electrical Motor +eln:Electrical_Probe.name=Electrical Probe +eln:Electrical_Probe_Chip.name=Electrical Probe Chip +eln:Electrical_Source.name=Electrical Source +eln:Electrical_Timer.name=Electrical Timer +eln:Electrical_Weather_Sensor.name=Electrical Weather Sensor +eln:Electrical_age_wrench,\nCan_be_used_to_turn\nsmall_wall_blocks=Electrical age wrench,\nCan be used to turn\nsmall wall blocks +eln:Energy_Meter.name=Energy Meter +eln:Experimental_Transporter.name=Experimental Transporter +eln:Fast_Electrical_Drill.name=Fast Electrical Drill +eln:Ferrite_Ingot.name=Ferrite Ingot +eln:Flat_Lamp_Socket.name=Flat Lamp Socket +eln:Fluorescent_Lamp_Socket.name=Fluorescent Lamp Socket +eln:Generator.name=Generator +eln:Gold_Dust.name=Gold Dust +eln:Gold_Plate.name=Gold Plate +eln:Gray_Brush.name=Gray Brush +eln:Green_Brush.name=Green Brush +eln:Ground_Cable.name=Ground Cable +eln:High_Power_Receiver_Antenna.name=High Power Receiver Antenna +eln:High_Power_Transmitter_Antenna.name=High Power Transmitter Antenna +eln:High_Voltage_Cable.name=High Voltage Cable +eln:High_Voltage_Relay.name=High Voltage Relay +eln:High_Voltage_Switch.name=High Voltage Switch +eln:Hub.name=Hub +eln:Industrial_Data_Logger.name=Industrial Data Logger +eln:Iron_Cable.name=Iron Cable +eln:Iron_Dust.name=Iron Dust +eln:Iron_Plate.name=Iron Plate +eln:JK_Flip_Flop_Chip.name=JK Flip Flop Chip +eln:LED_vuMeter.name=LED vuMeter +eln:Lamp_Socket_A.name=Lamp Socket A +eln:Lamp_Socket_B_Projector.name=Lamp Socket B Projector +eln:Lamp_Supply.name=Lamp Supply +eln:Large_Rheostat.name=Large Rheostat +eln:Lead_Dust.name=Lead Dust +eln:Lead_Ingot.name=Lead Ingot +eln:Lead_Ore.name=Lead Ore +eln:Lead_Plate.name=Lead Plate +eln:Life_Oriented_Battery.name=Life Oriented Battery +eln:Light_Blue_Brush.name=Light Blue Brush +eln:Lime_Brush.name=Lime Brush +eln:Long_Suspended_Lamp_Socket.name=Long Suspended Lamp Socket +eln:Low_Power_Receiver_Antenna.name=Low Power Receiver Antenna +eln:Low_Power_Transmitter_Antenna.name=Low Power Transmitter Antenna +eln:Low_Voltage_Cable.name=Low Voltage Cable +eln:Low_Voltage_Relay.name=Low Voltage Relay +eln:Low_Voltage_Switch.name=Low Voltage Switch +eln:Machine_Block.name=Machine Block +eln:Machine_Booster.name=Machine Booster +eln:Magenta_Brush.name=Magenta Brush +eln:Medium_Power_Receiver_Antenna.name=Medium Power Receiver Antenna +eln:Medium_Power_Transmitter_Antenna.name=Medium Power Transmitter Antenna +eln:Medium_Voltage_Cable.name=Medium Voltage Cable +eln:Medium_Voltage_Relay.name=Medium Voltage Relay +eln:Medium_Voltage_Switch.name=Medium Voltage Switch +eln:Mercury.name=Mercury +eln:Mining_Pipe.name=Mining Pipe +eln:Modbus_RTU.name=Modbus RTU +eln:Modern_Data_Logger.name=Modern Data Logger +eln:Monster_Filter.name=Monster Filter +eln:MultiMeter.name=Multimeter +eln:NAND_Chip.name=NAND Chip +eln:NOR_Chip.name=NOR Chip +eln:NOT_Chip.name=NOT Chip +eln:Nuclear_Alarm.name=Nuclear Alarm +eln:OR_Chip.name=OR Chip +eln:On_OFF_Regulator_10_Percent.name=On/off regulator 10% +eln:On_OFF_Regulator_1_Percent.name=On/off regulator 1% +eln:Optimal_Ferromagnetic_Core.name=Optimal Ferromagnetic Core +eln:Orange_Brush.name=Orange Brush +eln:Ore_Scanner.name=Ore Scanner +eln:Oscillator_Chip.name=Oscillator Chip +eln:Overheating_Protection.name=Overheating Protection +eln:Overvoltage_Protection.name=Overvoltage Protection +eln:PAL_Chip.name=PAL Chip +eln:Pink_Brush.name=Pink Brush +eln:Player_Filter.name=Player Filter +eln:Portable_Battery.name=Portable Battery +eln:Portable_Battery_Pack.name=Portable Battery Pack +eln:Portable_Condensator.name=Portable Condensator +eln:Portable_Condensator_Pack.name=Portable Condensator Pack +eln:Portable_Electrical_Axe.name=Portable Electrical Axe +eln:Portable_Electrical_Mining_Drill.name=Portable Electrical Mining Drill +eln:Power_Capacitor.name=Power Capacitor +eln:Power_Inductor.name=Power Inductor +eln:Power_Resistor.name=Power Resistor +eln:Power_capacitor.name=Power capacitor +eln:Power_inductor.name=Power inductor +eln:Purple_Brush.name=Purple Brush +eln:Red_Brush.name=Red Brush +eln:Redstone-to-Voltage_Converter.name=Redstone-to-Voltage Converter +eln:Rheostat.name=Rheostat +eln:Robust_Lamp_Socket.name=Robust Lamp Socket +eln:Rubber.name=Rubber +eln:Schmitt_Trigger_Chip.name=Schmitt Trigger Chip +eln:Sconce_Lamp_Socket.name=Sconce Lamp Socket +eln:Signal_20H_inductor.name=Signal 20H inductor +eln:Signal_Antenna.name=Signal Antenna +eln:Signal_Button.name=Signal Button +eln:Signal_Cable.name=Signal Cable +eln:Signal_Diode.name=Signal Diode +eln:Signal_Processor.name=Signal Processor +eln:Signal_Relay.name=Signal Relay +eln:Signal_Source.name=Signal Source +eln:Signal_Switch.name=Signal Switch +eln:Signal_Switch_with_LED.name=Signal Switch with LED +eln:Signal_Trimmer.name=Signal Trimmer +eln:Silicon_Dust.name=Silicon Dust +eln:Silicon_Ingot.name=Silicon Ingot +eln:Silicon_Plate.name=Silicon Plate +eln:Silver_Brush.name=Silver Brush +eln:Simple_Lamp_Socket.name=Simple Lamp Socket +eln:Single-use_Battery.name=Single-use Battery +eln:Small_200V_Copper_Heating_Corp.name=Small 200V Copper Heating Corp +eln:Small_200V_Iron_Heating_Corp.name=Small 200V Iron Heating Corp +eln:Small_200V_Tungsten_Heating_Corp.name=Small 200V Tungsten Heating Corp +eln:Small_50V_Carbon_Incandescent_Light_Bulb.name=Small 50V Carbon Incandescent Light Bulb +eln:Small_50V_Copper_Heating_Corp.name=Small 50V Copper Heating Corp +eln:Small_50V_Economic_Light_Bulb.name=Small 50V Economic Light Bulb +eln:Small_50V_Incandescent_Light_Bulb.name=Small 50V Incandescent Light Bulb +eln:Small_50V_Iron_Heating_Corp.name=Small 50V Iron Heating Corp +eln:Small_50V_Tungsten_Heating_Corp.name=Small 50V Tungsten Heating Corp +eln:Small_Active_Thermal_Dissipator.name=Small Active Thermal Dissipator +eln:Small_Flashlight.name=Small Flashlight +eln:Small_Passive_Thermal_Dissipator.name=Small Passive Thermal Dissipator +eln:Small_Rotating_Solar_Panel.name=Small Rotating Solar Panel +eln:Small_Solar_Panel.name=Small Solar Panel +eln:Solar_Tracker.name=Solar Tracker +eln:Standard_Alarm.name=Standard Alarm +eln:Steam_Turbine.name=Steam Turbine +eln:Stone_Heat_Furnace.name=Stone Heat Furnace +eln:Street_Light.name=Streetlight +eln:Suspended_Lamp_Socket.name=Suspended Lamp Socket +eln:Temperature_Probe.name=Temperature Probe +eln:Thermal_Probe.name=Thermal Probe +eln:Thermal_Probe_Chip.name=Thermal Probe Chip +eln:Thermistor.name=Thermistor +eln:ThermoMeter.name=Thermometer +eln:Transformer.name=Transformer +eln:Tree_Resin.name=Tree Resin +eln:Tree_Resin_Collector.name=Tree Resin Collector +eln:Tungsten_Cable.name=Tungsten Cable +eln:Tungsten_Dust.name=Tungsten Dust +eln:Tungsten_Ingot.name=Tungsten Ingot +eln:Tungsten_Ore.name=Tungsten Ore +eln:Tutorial_Sign.name=Tutorial Sign +eln:Very_High_Voltage_Cable.name=Very High Voltage Cable +eln:Very_High_Voltage_Relay.name=Very High Voltage Relay +eln:Very_High_Voltage_Switch.name=Very High Voltage Switch +eln:Voltage-to-Redstone_Converter.name=Voltage-to-Redstone Converter +eln:Voltage_Oriented_Battery.name=Voltage Oriented Battery +eln:Voltage_Probe.name=Voltage Probe +eln:Water_Turbine.name=Water Turbine +eln:Weak_50V_Battery_Charger.name=Weak 50V Battery Charger +eln:White_Brush.name=White Brush +eln:Wind_Turbine.name=Wind Turbine +eln:Wireless_Analyser.name=Wireless Analyzer +eln:Wireless_Button.name=Wireless Button +eln:Wireless_Signal_Receiver.name=Wireless Signal Receiver +eln:Wireless_Signal_Repeater.name=Wireless Signal Repeater +eln:Wireless_Signal_Transmitter.name=Wireless Signal Transmitter +eln:Wireless_Switch.name=Wireless Switch +eln:Wrench.name=Wrench +eln:X-Ray_Scanner.name=X-Ray Scanner +eln:XNOR_Chip.name=XNOR Chip +eln:XOR_Chip.name=XOR Chip +eln:Yellow_Brush.name=Yellow Brush +eln:entity.EAReplicator.name=Replicator +eln:item.Copper Axe.name\=Copper Axe +eln:item.Copper Axe.name\=Copper Axe +eln:item.Copper Axe.name\=Copper Axe +eln:item.Copper Axe.name\=Copper Axe +eln:item.Copper Axe.name\=Copper Axe +eln:item.Copper Axe.name\=Copper Axe +eln:item.Copper Axe.name\=Copper Axe +eln:item.Copper Axe.name\=Copper Axe +eln:item.Copper Axe.name\=Copper Axe +eln:item.E-Coal Boots.name\=E-Coal Boots +eln:item.E-Coal Boots.name\=E-Coal Boots +eln:item.E-Coal Boots.name\=E-Coal Boots +eln:item.E-Coal Boots.name\=E-Coal Boots +eln:itemGroup.Eln=Electrical Age +eln:mod.meta.desc=Electricity in your base\! +eln:tile.eln.ElnProbe.name=Eln Computer Probe +eln:tile.eln.EnergyConverterElnToOtherHVUBlock.name=800V Electrical Age to other energy exporter +eln:tile.eln.EnergyConverterElnToOtherLVUBlock.name=50V Electrical Age to other energy exporter +eln:tile.eln.EnergyConverterElnToOtherMVUBlock.name=200V Electrical Age to other energy exporter +eln: +eln:# ./src/main/java/mods/eln/i18n/I18N.java +eln:You_have_%s_lives_left=You have %s lives left +eln: +eln:# ./src/main/java/mods/eln/item/BrushDescriptor.java +eln:Brush_is_dry=Brush is dry +eln:Can_paint_%s_blocks=Can paint %s blocks +eln: +eln:# ./src/main/java/mods/eln/item/CombustionChamber.java +eln:Upgrade_for_the_Stone_Heat_Furnace.=Upgrade for the Stone Heat Furnace. +eln: +eln:# ./src/main/java/mods/eln/item/ElectricalDrillDescriptor.java +eln:Energy_per_operation\:_%sJ=Energy per operation\: %sJ +eln:Time_per_operation\:_%ss=Time per operation\: %ss +eln: +eln:# ./src/main/java/mods/eln/item/FerromagneticCoreDescriptor.java +eln:Cable_loss_factor\:_%s=Cable loss factor\: %s +eln: +eln:# ./src/main/java/mods/eln/item/HeatingCorpElement.java +eln: +eln:# ./src/main/java/mods/eln/item/LampDescriptor.java +eln:Bad=Bad +eln:Condition\:=Condition\: +eln:End_of_life=End of life +eln:Good=Good +eln:New=New +eln:Nominal_lifetime\:_%sh=Nominal lifetime\: %sh +eln:Technology\:_%s=Technology\: %s +eln:Used=Used +eln: +eln:# ./src/main/java/mods/eln/item/LampSlot.java +eln:Lamp_slot=Lamp slot +eln: +eln:# ./src/main/java/mods/eln/item/OverHeatingProtectionDescriptor.java +eln:Useful_to_prevent_overheating\nof_Batteries=Useful to prevent overheating\nof Batteries +eln: +eln:# ./src/main/java/mods/eln/item/OverVoltageProtectionDescriptor.java +eln:Useful_to_prevent_over-voltage\nof_Batteries=Useful to prevent over-voltage\nof Batteries +eln: +eln:# ./src/main/java/mods/eln/item/SolarTrackerDescriptor.java +eln:Solar_panel_upgrade=Solar panel upgrade +eln: +eln:# ./src/main/java/mods/eln/item/electricalitem/BatteryItem.java +eln: +eln:# ./src/main/java/mods/eln/item/electricalitem/ElectricalLampItem.java +eln:Off=Off +eln:On=On +eln:State\:=State\: +eln:Stored_Energy\:_%sJ_(%s)=Stored Energy\: %sJ (%s) +eln: +eln:# ./src/main/java/mods/eln/item/regulator/RegulatorSlot.java +eln: +eln:# ./src/main/java/mods/eln/misc/UtilsClient.java +eln:Hold_shift=Hold shift +eln: +eln:# ./src/main/java/mods/eln/misc/Version.java +eln:mod.name=Electrical Age +eln: +eln:# ./src/main/java/mods/eln/node/six/SixNodeDescriptor.java +eln: +eln:# ./src/main/java/mods/eln/simplenode/energyconverter/EnergyConverterElnToOtherGui.java +eln:Input_power_is_limited_to_%sW=Input power is limited to %sW +eln: +eln:# ./src/main/java/mods/eln/sixnode/LogicGate.kt +eln:_O\:_= O\: +eln: +eln:# ./src/main/java/mods/eln/sixnode/TreeResinCollector/TreeResinCollectorDescriptor.java +eln:Produces_Tree_Resin_over\ntime_when_put_on_a_tree.=Produces Tree Resin over\ntime when put on a tree. +eln:This_block_can_only_be_placed_on_the_side_of_a_tree!=This block can only be placed on the side of a tree\! +eln: +eln:# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerContainer.java +eln:Battery_slot=Battery slot +eln: +eln:# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerDescriptor.java +eln:Can_be_used_to_recharge\nelectrical_items_like\:\nFlash_Light,_X-Ray_scanner\nand_Portable_Battery_...=Can be used to recharge\nelectrical items like\:\nFlash Light, X-Ray scanner\nand Portable Battery ... +eln: +eln:# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerGui.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/diode/DiodeDescriptor.java +eln:Electrical_current_can_only\nflow_through_the_diode\nfrom_anode_to_cathode=Electrical current can only\nflow through the diode\nfrom anode to cathode +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalalarm/ElectricalAlarmDescriptor.java +eln:= +eln:Emits_an_acoustic_alarm_if\nthe_input_signal_is_high=Emits an acoustic alarm if\nthe input signal is high +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalalarm/ElectricalAlarmGui.java +eln:Sound_is_muted=Sound is muted +eln:Sound_is_not_muted=Sound is not muted +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerContainer.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerDescriptor.java +eln:Protects_electrical_components\nOpens_contact_if\:\n__-_Voltage_exceeds_a_certain_level\n-_Current_exceeds_the_cable_limit=Protects electrical components\nOpens contact if\:\n - Voltage exceeds a certain level\n- Current exceeds the cable limit +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerGui.java +eln:Maximum_voltage_before_cutting_off=Maximum voltage before cutting off +eln:Minimum_voltage_before_cutting_off=Minimum voltage before cutting off +eln:Switch_is_off=Switch is off +eln:Switch_is_on=Switch is on +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalcable/ElectricalCableDescriptor.java +eln:A_signal_is_electrical_information\nwhich_must_be_between_0V_and_%sV=A signal is electrical information\nwhich must be between 0V and %sV +eln:Cable_is_adapted_to_conduct\nelectrical_signals.=Cable is adapted to conduct\nelectrical signals. +eln:Current\:_%sA=Current\: %sA +eln:Not_adapted_to_transport_power.=Not adapted to transport power. +eln:Save_usage\:=Save usage\: +eln:Serial_resistance\:_%sΩ=Serial resistance\: %sΩ +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerDescriptor.java +eln:It_can_store_up_to_256_points.=It can store up to 256 points. +eln:Measures_the_voltage_of_an\nelectrical_signal_and_plots\nthe_data_in_real_time.=Measures the voltage of an\nelectrical signal and plots\nthe data in real time. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerGui.java +eln:Back_to_display=Back to display +eln:Configuration=Configuration +eln:Current_[A]=Current [A] +eln:Energy_[J]=Energy [J] +eln:Percent_[-]%=Percent [-]% +eln:Power_[W]=Power [W] +eln:Print=Print +eln:Sampling_period=Sampling period +eln:Temp._[*C]=Temp. [*C] +eln:Voltage_[V]=Voltage [V] +eln:Y-axis_max=Y-axis max +eln:Y-axis_min=Y-axis min +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorContainer.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorDescriptor.java +eln:Output_voltage_increases\nif_entities_are_moving_around.=Output voltage increases\nif entities are moving around. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalfiredetector/ElectricalFireDetectorDescriptor.java +eln:Output_voltage_increases\nif_a_fire_has_been_detected.=Output voltage increases\nif a fire has been detected. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceDescriptor.java +eln:Provides_configurable_signal\nvoltage.=Provides configurable signal\nvoltage. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceGui.java +eln:Output_at_%s=Output at %s +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricallightsensor/ElectricalLightSensorDescriptor.java +eln:0V_at_night,_%sV_at_noon.=0V at night, %sV at noon. +eln:Provides_an_electrical_voltage\nin_the_presence_of_light.=Provides an electrical voltage\nin the presence of light. +eln:Provides_an_electrical_voltage\nwhich_is_proportional_to\nthe_intensity_of_daylight.=Provides an electrical voltage\nwhich is proportional to\nthe intensity of daylight. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathContainer.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathDescriptor.java +eln:Applicable_boolean_operators\:=Applicable boolean operators\: +eln:Applicable_functions\:=Applicable functions\: +eln:Applicable_mathematical_operators\:=Applicable mathematical operators\: +eln:Calculates_an_output_signal_from\n3_inputs_(A,_B,_C)_using_an_equation.=Calculates an output signal from\n3 inputs (A, B, C) using an equation. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathGui.java +eln:%s_Redstone(s)_required=%s Redstone(s) required +eln:Equation_required!=Equation required\! +eln:Inputs_are=Inputs are +eln:Invalid_equation!=Invalid equation\! +eln:Output_voltage_formula=Output voltage formula +eln:Waiting_for_completion...=Waiting for completion... +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalredstoneinput/ElectricalRedstoneInputDescriptor.java +eln:Converts_Redstone_signal\nto_an_electrical_voltage.=Converts Redstone signal\nto an electrical voltage. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalredstoneoutput/ElectricalRedstoneOutputDescriptor.java +eln:Converts_electrical_voltage\ninto_a_Redstone_signal.=Converts electrical voltage\ninto a Redstone signal. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalrelay/ElectricalRelayDescriptor.java +eln:A_relay_is_an_electrical\ncontact_that_conducts_electric\ncurrent_or_not,_depending\nthe_actual_input_signal_voltage.=A relay is an electrical\ncontact that conducts electric\ncurrent or not, depending\nthe actual input signal voltage. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalrelay/ElectricalRelayGui.java +eln:Normally_closed=Normally closed +eln:Normally_open=Normally open +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalsource/ElectricalSourceDescriptor.java +eln:Creative_block.=Creative block. +eln:Provides_an_ideal_voltage_source\nwithout_energy_or_power_limitation.=Provides an ideal voltage source\nwithout energy or power limitation. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalsource/ElectricalSourceGui.java +eln:Output_voltage=Output voltage +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalswitch/ElectricalSwitchDescriptor.java +eln:Can_break_an_electrical_circuit\ninterrupting_the_current.=Can break an electrical circuit\ninterrupting the current. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricaltimeout/ElectricalTimeoutDescriptor.java +eln:Upon_application_of_a_high_signal,\nthe_timer_maintains_the_output_high_for\na_configurable_interval._Can_be_re-triggered.=Upon application of a high signal,\nthe timer maintains the output high for\na configurable interval. Can be re-triggered. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricaltimeout/ElectricalTimeoutGui.java +eln:Set=Set +eln:The_time_interval_the\noutput_is_kept_high.=The time interval the\noutput is kept high. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalvumeter/ElectricalVuMeterDescriptor.java +eln:Displays_the_value_of_a_signal.=Displays the value of a signal. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalwatch/ElectricalWatchContainer.java +eln:Portable_battery_slot=Portable battery slot +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalweathersensor/ElectricalWeatherSensorDescriptor.java +eln:Clear\:_%sV=Clear\: %sV +eln:Provides_an_electrical_signal\ndepending_the_actual_weather.=Provides an electrical signal\ndepending the actual weather. +eln:Rain\:_%sV=Rain\: %sV +eln:Storm\:_%sV=Storm\: %sV +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalwindsensor/ElectricalWindSensorDescriptor.java +eln:Maximum_wind_speed_is_%sm_s=Maximum wind speed is %sm/s +eln:Provides_an_electrical_signal\ndependant_on_wind_speed.=Provides an electrical signal\ndependant on wind speed. +eln:You_can't_place_this_block_on_the_floor_or_the_ceiling=You can't place this block on the floor or the ceiling +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricasensor/ElectricalSensorDescriptor.java +eln:Can_measure_Voltage_Power_Current=Can measure Voltage/Power/Current +eln:Measures_electrical_values_on_cables.=Measures electrical values on cables. +eln:Measures_voltage_on_cables.=Measures voltage on cables. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricasensor/ElectricalSensorGui.java +eln:Current=Current +eln:Measured_voltage\ncorresponding\nto_0%_output=Measured voltage\ncorresponding\nto 0% output +eln:Measured_voltage\ncorresponding\nto_100%_output=Measured voltage\ncorresponding\nto 100% output +eln:Voltage=Voltage +eln: +eln:# ./src/main/java/mods/eln/sixnode/energymeter/EnergyMeterGui.java +eln:Change_password=Change password +eln:Counter_Mode=Counter Mode +eln:Counts_the_energy_conducted_from\n\u00a74red\u00a7f_to_\u00a71blue\u00a7f.=Counts the energy conducted from\n\\u00a74red\\u00a7f to \\u00a71blue\\u00a7f. +eln:Energy_counter\:_%sJ=Energy counter\: %sJ +eln:Enter_new_energy=Enter new energy +eln:Enter_password=Enter password +eln:Prepay_Mode=Prepay Mode +eln:Reset_time_counter=Reset time counter +eln:Set_energy_counter=Set energy counter +eln:Time_counter\:=Time counter\: +eln:Try_password=Try password +eln:You_can_set_an_initial\namount_of_available_energy.\nWhen_the_counter_arrives_at_0\nthe_contact_will_be_opened.=You can set an initial\namount of available energy.\nWhen the counter arrives at 0\nthe contact will be opened. +eln:is_off=is off +eln:is_on=is on +eln:value_in_kJ=value in kJ +eln: +eln:# ./src/main/java/mods/eln/sixnode/groundcable/GroundCableDescriptor.java +eln:Can_be_used_to_set_a_point_of_an\nelectrical_network_to_0V_potential.\nFor_example_to_ground_negative_battery_contacts.=Can be used to set a point of an\nelectrical network to 0V potential.\nFor example to ground negative battery contacts. +eln:Provides_a_zero_volt_reference.=Provides a zero volt reference. +eln: +eln:# ./src/main/java/mods/eln/sixnode/hub/HubDescriptor.java +eln:Allows_crossing_cables\non_one_single_block.=Allows crossing cables\non one single block. +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketDescriptor.java +eln:Angle\:_%s°_to_%s°=Angle\: %s° to %s° +eln:Spot_range\:_%s_blocks=Spot range\: %s blocks +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketGuiDraw.java +eln:%s_is_not_in_range!=%s is not in range\! +eln:Cable_slot_empty=Cable slot empty +eln:Orientation\:_%s°=Orientation\: %s° +eln:Parallel=Parallel +eln:Powered_by_Lamp_Supply=Powered by Lamp Supply +eln:Powered_by_cable=Powered by cable +eln:Serial=Serial +eln:Specify_the_supply_channel=Specify the supply channel +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyContainer.java +eln:Electrical_cable_slot\nBase_range_is_32_blocks.\nEach_additional_cable\nincreases_range_by_one.=Electrical cable slot\nBase range is 32 blocks.\nEach additional cable\nincreases range by one. +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyDescriptor.java +eln:Supplies_all_lamps_on_the_channel.=Supplies all lamps on the channel. +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyGui.java +eln:Power_channel_name=Power channel name +eln:Wireless_channel_name=Wireless channel name +eln: +eln:# ./src/main/java/mods/eln/sixnode/modbusrtu/ModbusRtuGui.java +eln:Add=Add +eln:Channel_name=Channel name +eln:Modbus_ID=Modbus ID +eln:Modbus_RTU=Modbus RTU +eln:Station_ID=Station ID +eln:Station_name=Station name +eln:Wireless_RX=Wireless RX +eln:Wireless_TX=Wireless TX +eln: +eln:# ./src/main/java/mods/eln/sixnode/powercapacitorsix/PowerCapacitorSixContainer.java +eln:(Increases_maximum_voltage)=(Increases maximum voltage) +eln: +eln:# ./src/main/java/mods/eln/sixnode/powercapacitorsix/PowerCapacitorSixGui.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/powerinductorsix/PowerInductorSixContainer.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/powerinductorsix/PowerInductorSixGui.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/powersocket/PowerSocketDescriptor.java +eln:Supplies_any_device\nplugged_in_with_energy.=Supplies any device\nplugged in with energy. +eln: +eln:# ./src/main/java/mods/eln/sixnode/powersocket/PowerSocketGui.java +eln:Specify_the_device_to_supply_through_this_socket.=Specify the device to supply through this socket. +eln: +eln:# ./src/main/java/mods/eln/sixnode/resistor/ResistorContainer.java +eln:(Sets_resistance)=(Sets resistance) +eln:Coal_dust_slot=Coal dust slot +eln: +eln:# ./src/main/java/mods/eln/sixnode/thermalcable/ThermalCableDescriptor.java +eln:High_parallel_resistance\n_\=>_Low_power_dissipation.=High parallel resistance\n \=> Low power dissipation. +eln:Low_serial_resistance\n_\=>_High_conductivity.=Low serial resistance\n \=> High conductivity. +eln:Parallel_resistance\:_%sK_W=Parallel resistance\: %sK/W +eln:Serial_resistance\:_%sK_W=Serial resistance\: %sK/W +eln: +eln:# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorContainer.java +eln:Cable_slot=Cable slot +eln: +eln:# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorDescriptor.java +eln:Can_measure\:=Can measure\: +eln:Measures_temperature_of_cables.=Measures temperature of cables. +eln:Measures_thermal_values_on_cables.=Measures thermal values on cables. +eln:__Temperature_Power_conducted=Temperature/Power conducted +eln: +eln:# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorGui.java +eln:Measured_temperature\ncorresponding\nto_0%_output=Measured temperature\ncorresponding\nto 0% output +eln:Measured_temperature\ncorresponding\nto_100%_output=Measured temperature\ncorresponding\nto 100% output +eln:Temperature=Temperature +eln: +eln:# ./src/main/java/mods/eln/sixnode/tutorialsign/TutorialSignElement.java +eln:No_text_associated_to_this_beacon=No text associated to this beacon +eln: +eln:# ./src/main/java/mods/eln/sixnode/tutorialsign/TutorialSignGui.java +eln:Set_beacon_name=Set beacon name +eln: +eln:# ./src/main/java/mods/eln/sixnode/wirelesssignal/rx/WirelessSignalRxGui.java +eln: +eln:# ./src/main/java/mods/eln/transparentnode/FuelGenerator.kt +eln:Nominal_power\:_%s_W=Nominal power\: %s W +eln:Nominal_voltage\:_%s_V=Nominal voltage\: %s V +eln:Produces_electricity_using_fuel.=Produces electricity using fuel. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/LargeRheostat.kt +eln:Nom._Resistance\:_%s=Nom. Resistance\: %s +eln: +eln:# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerContainer.java +eln:Drill_slot=Drill slot +eln:Mining_pipe_slot=Mining pipe slot +eln:Ore_scanner_slot=Ore scanner slot +eln: +eln:# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerDescriptor.java +eln:Excavates_on_a_small_radius.\nExtracts_ore_on_a_bigger_radius\:\n10_blocks_radius_after_10_blocks_depth.=Excavates on a small radius.\nExtracts ore on a bigger radius\:\n10 blocks radius after 10 blocks depth. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerGuiDraw.java +eln:Chest_missing_on_the\nback_of_the_auto_miner!=Chest missing on the\nback of the auto miner\! +eln:Halves_speed,_triples_power_draw=Halves speed, triples power draw +eln:Silk_Touch_Off=Silk Touch Off +eln:Silk_Touch_On=Silk Touch On +eln:Silk_touch=Silk touch +eln: +eln:# ./src/main/java/mods/eln/transparentnode/battery/BatteryContainer.java +eln:Overheating_protection=Overheating protection +eln:Overvoltage_protection=Overvoltage protection +eln: +eln:# ./src/main/java/mods/eln/transparentnode/battery/BatteryDescriptor.java +eln:Actual_charge\:_%s=Actual charge\: %s +eln:Energy_capacity\:_%sJ=Energy capacity\: %sJ +eln:_charged_at_%s=charged at %s +eln: +eln:# ./src/main/java/mods/eln/transparentnode/battery/BatteryGuiDraw.java +eln:Charge=Charge +eln:Charged=Charged +eln:Discharge=Discharge +eln:Energy\:=Energy\: +eln:Energy\:_%s=Energy\: %s +eln:Life\:=Life\: +eln:No_charge=No charge +eln:Power_in\:=Power in\: +eln:Power_out\:=Power out\: +eln: +eln:# ./src/main/java/mods/eln/transparentnode/eggincubator/EggIncubatorContainer.java +eln:Egg_slot=Egg slot +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalantennarx/ElectricalAntennaRxDescriptor.java +eln:Wireless_energy_receiver.=Wireless energy receiver. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalantennatx/ElectricalAntennaTxDescriptor.java +eln:Efficiency\:_%s_up_to_%s=Efficiency\: %s up to %s +eln:Wireless_energy_transmitter.=Wireless energy transmitter. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceContainer.java +eln:Heating_corp_slot=Heating corp slot +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceDescriptor.java +eln:Similar_to_a_vanilla_furnace,\nbut_heats_with_electricity.=Similar to a vanilla furnace,\nbut heats with electricity. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceGuiDraw.java +eln:Auto_shutdown=Auto shutdown +eln:Manual_shutdown=Manual shutdown +eln:Set_point\:_%s°C=Set point\: %s°C +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalmachine/ElectricalMachineDescriptor.java +eln:Cost=Cost +eln: +eln:# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceContainer.java +eln:Combustion_chamber_slot=Combustion chamber slot +eln:Fuel_slot=Fuel slot +eln: +eln:# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceDescriptor.java +eln:Generates_heat_when_supplied_with_fuel.=Generates heat when supplied with fuel. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceGuiDraw.java +eln:Control_gauge_at_%s=Control gauge at %s +eln:Decline_fuel=Decline fuel +eln:External_control=External control +eln:Internal_control=Internal control +eln:Take_fuel=Take fuel +eln: +eln:# ./src/main/java/mods/eln/transparentnode/powercapacitor/PowerCapacitorContainer.java +eln:(Increases_maximal_voltage)=(Increases maximal voltage) +eln: +eln:# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelContainer.java +eln:Solar_tracker_slot=Solar tracker slot +eln: +eln:# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelDescriptor.java +eln:Can_be_geared_towards_the_sun.=Can be geared towards the sun. +eln:Max._power\:_%sW=Max. power\: %sW +eln:Max._voltage\:_%sV=Max. voltage\: %sV +eln:Produces_power_from_solar_radiation.=Produces power from solar radiation. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPannelGuiDraw.java +eln:It_is_night=It is night +eln:Solar_panel_angle\:_%s°=Solar panel angle\: %s° +eln:Sun_angle\:_%s°=Sun angle\: %s° +eln: +eln:# ./src/main/java/mods/eln/transparentnode/teleporter/TeleporterGui.java +eln:Destination_transporter=Destination transporter +eln:Power_consumption\:=Power consumption\: +eln:Power_consumption\:_%sW=Power consumption\: %sW +eln:Required_energy\:_%sJ=Required energy\: %sJ +eln:Start=Start +eln:Transporter_name=Transporter name +eln: +eln:# ./src/main/java/mods/eln/transparentnode/thermaldissipatoractive/ThermalDissipatorActiveDescriptor.java +eln:Fan_cooling_power\:_%sW=Fan cooling power\: %sW +eln:Fan_power_consumption\:_%sW=Fan power consumption\: %sW +eln:Fan_voltage\:_%sV=Fan voltage\: %sV +eln: +eln:# ./src/main/java/mods/eln/transparentnode/transformer/TransformerDescriptor.java +eln:The_voltage_ratio_is_proportional\nto_the_cable_stacks_count_ratio.=The voltage ratio is proportional\nto the cable stacks count ratio. +eln:Transforms_an_input_voltage_to\nan_output_voltage.=Transforms an input voltage to\nan output voltage. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/turbine/TurbineDescriptor.java +eln:Generates_electricity_using_heat.=Generates electricity using heat. +eln:Temperature_difference\:_%s°C=Temperature difference\: %s°C +eln: +eln:# ./src/main/java/mods/eln/transparentnode/turret/TurretDescriptor.java +eln:CAUTION\:_Cables_can_get_quite_hot!=CAUTION\: Cables can get quite hot\! +eln:Laser_charge_power\:_%sW...%skW=Laser charge power\: %sW...%skW +eln:Scans_for_entities_and_shoots_if_the\nentity_matches_the_configurable_filter_criteria.=Scans for entities and shoots if the\nentity matches the configurable filter criteria. +eln:Standby_power\:_%sW=Standby power\: %sW +eln: +eln:# ./src/main/java/mods/eln/transparentnode/turret/TurretGui.java +eln:Attack\:=Attack\: +eln:Do_not_attack\:=Do not attack\: +eln:Recharge_power\:=Recharge power\: +eln: +eln:# ./src/main/java/mods/eln/transparentnode/waterturbine/WaterTurbineDescriptor.java +eln:Generates_energy_using_water_stream.=Generates energy using water stream. +eln:No_place_for_water_turbine!=No place for water turbine\! +eln: +eln:# ./src/main/java/mods/eln/transparentnode/windturbine/WindTurbineDescriptor.java +eln:Front\:_%s=Front\: %s +eln:Generates_energy_from_wind.=Generates energy from wind. +eln:Left_Right\:_%s=Left/Right\: %s +eln:Up_Down\:_%s=Up/Down\: %s +eln:Wind_area\:=Wind area\: +eln: +eln:# ./src/main/java/mods/eln/wiki/Data.java +eln:Energy=Energy +eln:Light=Light +eln:Machine=Machine +eln:Ore=Ore +eln:Portable=Portable +eln:Resource=Resource +eln:Signal=Signal +eln:Thermal=Thermal +eln:Upgrade=Upgrade +eln:Utilities=Utilities +eln:Wiring=Wiring +eln: +eln:# ./src/main/java/mods/eln/wiki/Default.java +eln:Previous=Previous +eln: +eln:# ./src/main/java/mods/eln/wiki/ItemDefault.java +eln:Can_be_used_to_craft\:=Can be used to craft\: +eln:Cannot_be_crafted!=Cannot be crafted\! +eln:Cost_%sJ=Cost %sJ +eln:Created_by\:=Created by\: +eln:Is_not_a_crafting_material!=Is not a crafting material\! +eln:Recipe\:=Recipe\: +eln: +eln:# Appearing in multiple source files +eln:(Increases_capacity)=(Increases capacity) +eln:(Increases_inductance)=(Increases inductance) +eln:Actual\:_%s°C=Actual\: %s°C +eln:Biggest=Biggest +eln:Booster_slot=Booster slot +eln:Can_create\:=Can create\: +eln:Capacity\:_%sF=Capacity\: %sF +eln:Charge_power\:_%sW=Charge power\: %sW +eln:Connected=Connected +eln:Cooling_power\:_%sW=Cooling power\: %sW +eln:Copper_cable_slot=Copper cable slot +eln:Dielectric_slot=Dielectric slot +eln:Discharge_power\:_%sW=Discharge power\: %sW +eln:Electrical_cable_slot=Electrical cable slot +eln:Entity_filter_slot=Entity filter slot +eln:Ferromagnetic_core_slot=Ferromagnetic core slot +eln:Has_a_signal_output.=Has a signal output. +eln:Inductance\:_%sH=Inductance\: %sH +eln:Internal_resistance\:_%sΩ=Internal resistance\: %sΩ +eln:Is_off=Is off +eln:Is_on=Is on +eln:Max._temperature\:_%s°C=Max. temperature\: %s°C +eln:Measured_value\ncorresponding\nto_0%_output=Measured value\ncorresponding\nto 0% output +eln:Measured_value\ncorresponding\nto_100%_output=Measured value\ncorresponding\nto 100% output +eln:Nominal\:=Nominal\: +eln:Nominal_power\:_%sW=Nominal power\: %sW +eln:Nominal_usage\:=Nominal usage\: +eln:Nominal_voltage\:_%sV=Nominal voltage\: %sV +eln:Not_connected=Not connected +eln:Not_enough_space_for_this_block=Not enough space for this block +eln:Power=Power +eln:Power\:_%sW=Power\: %sW +eln:Range\:_%s_blocks=Range\: %s blocks +eln:Redstone_slot=Redstone slot +eln:Regulator_slot=Regulator slot +eln:Reset=Reset +eln:Resistance\:_%sΩ=Resistance\: %sΩ +eln:Smallest=Smallest +eln:Specify_the_channel=Specify the channel +eln:Stored_energy\:_%sJ_(%s)=Stored energy\: %sJ (%s) +eln:Temperature\:_%s°C=Temperature\: %s°C +eln:Temperature_gauge=Temperature gauge +eln:Thermal_isolator_slot=Thermal isolator slot +eln:Toggle=Toggle +eln:Toggle_switch=Toggle switch +eln:Toggles_the_output_each_time\nan_emitter's_value_rises.\nUseful_to_allow_multiple_buttons\nto_control_the_same_light.=Toggles the output each time\nan emitter's value rises.\nUseful to allow multiple buttons\nto control the same light. +eln:Used_to_cool_down_turbines.=Used to cool down turbines. +eln:Uses_the_biggest\nvalue_on_the_channel.=Uses the biggest\nvalue on the channel. +eln:Uses_the_smallest\nvalue_on_the_channel.=Uses the smallest\nvalue on the channel. +eln:Validate=Validate +eln:Voltage\:_%sV=Voltage\: %sV +eln:You_can't_place_this_block_at_this_side=You can't place this block at this side diff --git a/src/main/resources/assets/eln/lang/sk_SK.lang b/src/main/resources/assets/eln/lang/sk_SK.lang index f4e769aa7..92e8a8d93 100644 --- a/src/main/resources/assets/eln/lang/sk_SK.lang +++ b/src/main/resources/assets/eln/lang/sk_SK.lang @@ -1,829 +1,829 @@ -# - -# ./src/main/java/mods/eln/Achievements.java -Electrical_Age_[WIP]=Electrical Age [WIP] -achievement.craft_50v_macerator=Crushing Novice -achievement.craft_50v_macerator.desc=Craft a 50V Macerator -achievement.open_guide=Wiki Power -achievement.open_guide.desc=Open the wiki guide - -# ./src/main/java/mods/eln/Eln.java -10A_Diode.name=10A Diode -200V_Active_Thermal_Dissipator.name=200V Active Thermal Dissipator -200V_Battery_Charger.name=200V Battery Charger -200V_Compressor.name=200V Compressor -200V_Condensator.name=200V Condensator -200V_Copper_Heating_Corp.name=200V Copper Heating Corp -200V_Economic_Light_Bulb.name=200V Economic Light Bulb -200V_Farming_Lamp.name=200V Farming Lamp -200V_Fuel_Generator.name=200V Fuel Generator -200V_Incandescent_Light_Bulb.name=200V Incandescent Light Bulb -200V_Iron_Heating_Corp.name=200V Iron Heating Corp -200V_LED_Bulb.name=200V LED Bulb -200V_Macerator.name=200V Macerator -200V_Magnetizer.name=200V Magnetizer -200V_Plate_Machine.name=200V Plate Machine -200V_Power_Socket.name=200V Power Socket -200V_Tungsten_Heating_Corp.name=200V Tungsten Heating Corp -200V_Turbine.name=200V Turbine -25A_Diode.name=25A Diode -50V_Battery_Charger.name=50V Battery Charger -50V_Carbon_Incandescent_Light_Bulb.name=50V Carbon Incandescent Light Bulb -50V_Compressor.name=50V Compressor -50V_Condensator.name=50V Condensator -50V_Copper_Heating_Corp.name=50V Copper Heating Corp -50V_Economic_Light_Bulb.name=50V Economic Light Bulb -50V_Egg_Incubator.name=50V Egg Incubator -50V_Farming_Lamp.name=50V Farming Lamp -50V_Fuel_Generator.name=50V Fuel Generator -50V_Incandescent_Light_Bulb.name=50V Incandescent Light Bulb -50V_Iron_Heating_Corp.name=50V Iron Heating Corp -50V_LED_Bulb.name=50V LED Bulb -50V_Macerator.name=50V Macerator -50V_Magnetizer.name=50V Magnetizer -50V_Plate_Machine.name=50V Plate Machine -50V_Power_Socket.name=50V Power Socket -50V_Tungsten_Heating_Corp.name=50V Tungsten Heating Corp -50V_Turbine.name=50V Turbine -800V_Defence_Turret.name=800V Defence Turret -AND_Chip.name=AND Chip -Advanced_Chip.name=Advanced Chip -Advanced_Electrical_Motor.name=Advanced Electrical Motor -Advanced_Energy_Meter.name=Advanced Energy Meter -Advanced_Machine_Block.name=Advanced Machine Block -Advanced_Magnet.name=Advanced Magnet -AllMeter.name=Universal-Meter -Alloy_Dust.name=Alloy Dust -Alloy_Ingot.name=Alloy Ingot -Alloy_Plate.name=Alloy Plate -Analog_Watch.name=Analog watch -Analog_vuMeter.name=Analog Gauge -Analogic_Regulator.name=Analogic Regulator -Animal_Filter.name=Animal Filter -Auto_Miner.name=Auto Miner -Average_Electrical_Drill.name=Average Electrical Drill -Average_Ferromagnetic_Core.name=Average Ferromagnetic Core -Basic_Magnet.name=Basic Magnet -Black_Brush.name=Black Brush -Blue_Brush.name=Blue Brush -Brown_Brush.name=Brown Brush -Capacity_Oriented_Battery.name=Capacity Oriented Battery -Cheap_Chip.name=Cheap Chip -Cheap_Electrical_Drill.name=Cheap Electrical Drill -Cheap_Ferromagnetic_Core.name=Cheap Ferromagnetic Core -Cinnabar_Dust.name=Cinnabar Dust -Cinnabar_Ore.name=Cinnabar Ore -Coal_Dust.name=Coal Dust -Coal_Plate.name=Coal Plate -Combustion_Chamber.name=Combustion Chamber -Copper_Cable.name=Copper Cable -Copper_Dust.name=Copper Dust -Copper_Ingot.name=Copper Ingot -Copper_Ore.name=Copper Ore -Copper_Plate.name=Copper Plate -Copper_Thermal_Cable.name=Copper Thermal Cable -Cost_Oriented_Battery.name=Cost Oriented Battery -Current_Oriented_Battery.name=Current Oriented Battery -Cyan_Brush.name=Cyan Brush -D_Flip_Flop_Chip.name=D Flip Flop Chip -Data_Logger.name=Data Logger -Data_Logger_Print.name=Data Logger Print -Dielectric.name=Dielectric -Digital_Watch.name=Digital Watch -Electrical_Anemometer_Sensor.name=Electrical Anemometer Sensor -Electrical_Breaker.name=Electrical Breaker -Electrical_Daylight_Sensor.name=Electrical Daylight Sensor -Electrical_Entity_Sensor.name=Electrical Entity Sensor -Electrical_Fire_Detector.name=Electrical Fire Detector -Electrical_Furnace.name=Electrical Furnace -Electrical_Light_Sensor.name=Electrical Light Sensor -Electrical_Motor.name=Electrical Motor -Electrical_Probe.name=Electrical Probe -Electrical_Probe_Chip.name=Electrical Probe Chip -Electrical_Source.name=Electrical Source -Electrical_Timer.name=Electrical Timer -Electrical_Weather_Sensor.name=Electrical Weather Sensor -Electrical_age_wrench,\nCan_be_used_to_turn\nsmall_wall_blocks=Electrical age wrench,\nCan be used to turn\nsmall wall blocks -Energy_Meter.name=Energy Meter -Experimental_Transporter.name=Experimental Transporter -Fast_Electrical_Drill.name=Fast Electrical Drill -Ferrite_Ingot.name=Ferrite Ingot -Flat_Lamp_Socket.name=Flat Lamp Socket -Fluorescent_Lamp_Socket.name=Fluorescent Lamp Socket -Generator.name=Generator -Gold_Dust.name=Gold Dust -Gold_Plate.name=Gold Plate -Gray_Brush.name=Gray Brush -Green_Brush.name=Green Brush -Ground_Cable.name=Ground Cable -High_Power_Receiver_Antenna.name=High Power Receiver Antenna -High_Power_Transmitter_Antenna.name=High Power Transmitter Antenna -High_Voltage_Cable.name=High Voltage Cable -High_Voltage_Relay.name=High Voltage Relay -High_Voltage_Switch.name=High Voltage Switch -Hub.name=Hub -Industrial_Data_Logger.name=Industrial Data Logger -Iron_Cable.name=Iron Cable -Iron_Dust.name=Iron Dust -Iron_Plate.name=Iron Plate -JK_Flip_Flop_Chip.name=JK Flip Flop Chip -LED_vuMeter.name=LED vuMeter -Lamp_Socket_A.name=Lamp Socket A -Lamp_Socket_B_Projector.name=Lamp Socket B Projector -Lamp_Supply.name=Lamp Supply -Large_Rheostat.name=Large Rheostat -Lead_Dust.name=Lead Dust -Lead_Ingot.name=Lead Ingot -Lead_Ore.name=Lead Ore -Lead_Plate.name=Lead Plate -Life_Oriented_Battery.name=Life Oriented Battery -Light_Blue_Brush.name=Light Blue Brush -Lime_Brush.name=Lime Brush -Long_Suspended_Lamp_Socket.name=Long Suspended Lamp Socket -Low_Power_Receiver_Antenna.name=Low Power Receiver Antenna -Low_Power_Transmitter_Antenna.name=Low Power Transmitter Antenna -Low_Voltage_Cable.name=Low Voltage Cable -Low_Voltage_Relay.name=Low Voltage Relay -Low_Voltage_Switch.name=Low Voltage Switch -Machine_Block.name=Machine Block -Machine_Booster.name=Machine Booster -Magenta_Brush.name=Magenta Brush -Medium_Power_Receiver_Antenna.name=Medium Power Receiver Antenna -Medium_Power_Transmitter_Antenna.name=Medium Power Transmitter Antenna -Medium_Voltage_Cable.name=Medium Voltage Cable -Medium_Voltage_Relay.name=Medium Voltage Relay -Medium_Voltage_Switch.name=Medium Voltage Switch -Mercury.name=Mercury -Mining_Pipe.name=Mining Pipe -Modbus_RTU.name=Modbus RTU -Modern_Data_Logger.name=Modern Data Logger -Monster_Filter.name=Monster Filter -MultiMeter.name=Multimeter -NAND_Chip.name=NAND Chip -NOR_Chip.name=NOR Chip -NOT_Chip.name=NOT Chip -Nuclear_Alarm.name=Nuclear Alarm -OR_Chip.name=OR Chip -On_OFF_Regulator_10_Percent.name=On/off regulator 10% -On_OFF_Regulator_1_Percent.name=On/off regulator 1% -Optimal_Ferromagnetic_Core.name=Optimal Ferromagnetic Core -Orange_Brush.name=Orange Brush -Ore_Scanner.name=Ore Scanner -Oscillator_Chip.name=Oscillator Chip -Overheating_Protection.name=Overheating Protection -Overvoltage_Protection.name=Overvoltage Protection -PAL_Chip.name=PAL Chip -Pink_Brush.name=Pink Brush -Player_Filter.name=Player Filter -Portable_Battery.name=Portable Battery -Portable_Battery_Pack.name=Portable Battery Pack -Portable_Condensator.name=Portable Condensator -Portable_Condensator_Pack.name=Portable Condensator Pack -Portable_Electrical_Axe.name=Portable Electrical Axe -Portable_Electrical_Mining_Drill.name=Portable Electrical Mining Drill -Power_Capacitor.name=Power Capacitor -Power_Inductor.name=Power Inductor -Power_Resistor.name=Power Resistor -Power_capacitor.name=Power capacitor -Power_inductor.name=Power inductor -Purple_Brush.name=Purple Brush -Red_Brush.name=Red Brush -Redstone-to-Voltage_Converter.name=Redstone-to-Voltage Converter -Rheostat.name=Rheostat -Robust_Lamp_Socket.name=Robust Lamp Socket -Rubber.name=Rubber -Schmitt_Trigger_Chip.name=Schmitt Trigger Chip -Sconce_Lamp_Socket.name=Sconce Lamp Socket -Signal_20H_inductor.name=Signal 20H inductor -Signal_Antenna.name=Signal Antenna -Signal_Button.name=Signal Button -Signal_Cable.name=Signal Cable -Signal_Diode.name=Signal Diode -Signal_Processor.name=Signal Processor -Signal_Relay.name=Signal Relay -Signal_Source.name=Signal Source -Signal_Switch.name=Signal Switch -Signal_Switch_with_LED.name=Signal Switch with LED -Signal_Trimmer.name=Signal Trimmer -Silicon_Dust.name=Silicon Dust -Silicon_Ingot.name=Silicon Ingot -Silicon_Plate.name=Silicon Plate -Silver_Brush.name=Silver Brush -Simple_Lamp_Socket.name=Simple Lamp Socket -Single-use_Battery.name=Single-use Battery -Small_200V_Copper_Heating_Corp.name=Small 200V Copper Heating Corp -Small_200V_Iron_Heating_Corp.name=Small 200V Iron Heating Corp -Small_200V_Tungsten_Heating_Corp.name=Small 200V Tungsten Heating Corp -Small_50V_Carbon_Incandescent_Light_Bulb.name=Small 50V Carbon Incandescent Light Bulb -Small_50V_Copper_Heating_Corp.name=Small 50V Copper Heating Corp -Small_50V_Economic_Light_Bulb.name=Small 50V Economic Light Bulb -Small_50V_Incandescent_Light_Bulb.name=Small 50V Incandescent Light Bulb -Small_50V_Iron_Heating_Corp.name=Small 50V Iron Heating Corp -Small_50V_Tungsten_Heating_Corp.name=Small 50V Tungsten Heating Corp -Small_Active_Thermal_Dissipator.name=Small Active Thermal Dissipator -Small_Flashlight.name=Small Flashlight -Small_Passive_Thermal_Dissipator.name=Small Passive Thermal Dissipator -Small_Rotating_Solar_Panel.name=Small Rotating Solar Panel -Small_Solar_Panel.name=Small Solar Panel -Solar_Tracker.name=Solar Tracker -Standard_Alarm.name=Standard Alarm -Steam_Turbine.name=Steam Turbine -Stone_Heat_Furnace.name=Stone Heat Furnace -Street_Light.name=Streetlight -Suspended_Lamp_Socket.name=Suspended Lamp Socket -Temperature_Probe.name=Temperature Probe -Thermal_Probe.name=Thermal Probe -Thermal_Probe_Chip.name=Thermal Probe Chip -Thermistor.name=Thermistor -ThermoMeter.name=Thermometer -Transformer.name=Transformer -Tree_Resin.name=Tree Resin -Tree_Resin_Collector.name=Tree Resin Collector -Tungsten_Cable.name=Tungsten Cable -Tungsten_Dust.name=Tungsten Dust -Tungsten_Ingot.name=Tungsten Ingot -Tungsten_Ore.name=Tungsten Ore -Tutorial_Sign.name=Tutorial Sign -Very_High_Voltage_Cable.name=Very High Voltage Cable -Very_High_Voltage_Relay.name=Very High Voltage Relay -Very_High_Voltage_Switch.name=Very High Voltage Switch -Voltage-to-Redstone_Converter.name=Voltage-to-Redstone Converter -Voltage_Oriented_Battery.name=Voltage Oriented Battery -Voltage_Probe.name=Voltage Probe -Water_Turbine.name=Water Turbine -Weak_50V_Battery_Charger.name=Weak 50V Battery Charger -White_Brush.name=White Brush -Wind_Turbine.name=Wind Turbine -Wireless_Analyser.name=Wireless Analyzer -Wireless_Button.name=Wireless Button -Wireless_Signal_Receiver.name=Wireless Signal Receiver -Wireless_Signal_Repeater.name=Wireless Signal Repeater -Wireless_Signal_Transmitter.name=Wireless Signal Transmitter -Wireless_Switch.name=Wireless Switch -Wrench.name=Wrench -X-Ray_Scanner.name=X-Ray Scanner -XNOR_Chip.name=XNOR Chip -XOR_Chip.name=XOR Chip -Yellow_Brush.name=Yellow Brush -entity.EAReplicator.name=Replicator -item.Copper Axe.name\=Copper Axe -item.Copper Axe.name\=Copper Axe -item.Copper Axe.name\=Copper Axe -item.Copper Axe.name\=Copper Axe -item.Copper Axe.name\=Copper Axe -item.Copper Axe.name\=Copper Axe -item.Copper Axe.name\=Copper Axe -item.Copper Axe.name\=Copper Axe -item.Copper Axe.name\=Copper Axe -item.E-Coal Boots.name\=E-Coal Boots -item.E-Coal Boots.name\=E-Coal Boots -item.E-Coal Boots.name\=E-Coal Boots -item.E-Coal Boots.name\=E-Coal Boots -itemGroup.Eln=Electrical Age -mod.meta.desc=Electricity in your base\! -tile.eln.ElnProbe.name=Eln Computer Probe -tile.eln.EnergyConverterElnToOtherHVUBlock.name=800V Electrical Age to other energy exporter -tile.eln.EnergyConverterElnToOtherLVUBlock.name=50V Electrical Age to other energy exporter -tile.eln.EnergyConverterElnToOtherMVUBlock.name=200V Electrical Age to other energy exporter - -# ./src/main/java/mods/eln/i18n/I18N.java -You_have_%s_lives_left=You have %s lives left - -# ./src/main/java/mods/eln/item/BrushDescriptor.java -Brush_is_dry=Brush is dry -Can_paint_%s_blocks=Can paint %s blocks - -# ./src/main/java/mods/eln/item/CombustionChamber.java -Upgrade_for_the_Stone_Heat_Furnace.=Upgrade for the Stone Heat Furnace. - -# ./src/main/java/mods/eln/item/ElectricalDrillDescriptor.java -Energy_per_operation\:_%sJ=Energy per operation\: %sJ -Time_per_operation\:_%ss=Time per operation\: %ss - -# ./src/main/java/mods/eln/item/FerromagneticCoreDescriptor.java -Cable_loss_factor\:_%s=Cable loss factor\: %s - -# ./src/main/java/mods/eln/item/HeatingCorpElement.java - -# ./src/main/java/mods/eln/item/LampDescriptor.java -Bad=Bad -Condition\:=Condition\: -End_of_life=End of life -Good=Good -New=New -Nominal_lifetime\:_%sh=Nominal lifetime\: %sh -Technology\:_%s=Technology\: %s -Used=Used - -# ./src/main/java/mods/eln/item/LampSlot.java -Lamp_slot=Lamp slot - -# ./src/main/java/mods/eln/item/OverHeatingProtectionDescriptor.java -Useful_to_prevent_overheating\nof_Batteries=Useful to prevent overheating\nof Batteries - -# ./src/main/java/mods/eln/item/OverVoltageProtectionDescriptor.java -Useful_to_prevent_over-voltage\nof_Batteries=Useful to prevent over-voltage\nof Batteries - -# ./src/main/java/mods/eln/item/SolarTrackerDescriptor.java -Solar_panel_upgrade=Solar panel upgrade - -# ./src/main/java/mods/eln/item/electricalitem/BatteryItem.java - -# ./src/main/java/mods/eln/item/electricalitem/ElectricalLampItem.java -Off=Off -On=On -State\:=State\: -Stored_Energy\:_%sJ_(%s)=Stored Energy\: %sJ (%s) - -# ./src/main/java/mods/eln/item/regulator/RegulatorSlot.java - -# ./src/main/java/mods/eln/misc/UtilsClient.java -Hold_shift=Hold shift - -# ./src/main/java/mods/eln/misc/Version.java -mod.name=Electrical Age - -# ./src/main/java/mods/eln/node/six/SixNodeDescriptor.java - -# ./src/main/java/mods/eln/simplenode/energyconverter/EnergyConverterElnToOtherGui.java -Input_power_is_limited_to_%sW=Input power is limited to %sW - -# ./src/main/java/mods/eln/sixnode/LogicGate.kt -_O\:_= O\: - -# ./src/main/java/mods/eln/sixnode/TreeResinCollector/TreeResinCollectorDescriptor.java -Produces_Tree_Resin_over\ntime_when_put_on_a_tree.=Produces Tree Resin over\ntime when put on a tree. -This_block_can_only_be_placed_on_the_side_of_a_tree!=This block can only be placed on the side of a tree\! - -# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerContainer.java -Battery_slot=Battery slot - -# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerDescriptor.java -Can_be_used_to_recharge\nelectrical_items_like\:\nFlash_Light,_X-Ray_scanner\nand_Portable_Battery_...=Can be used to recharge\nelectrical items like\:\nFlash Light, X-Ray scanner\nand Portable Battery ... - -# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerGui.java - -# ./src/main/java/mods/eln/sixnode/diode/DiodeDescriptor.java -Electrical_current_can_only\nflow_through_the_diode\nfrom_anode_to_cathode=Electrical current can only\nflow through the diode\nfrom anode to cathode - -# ./src/main/java/mods/eln/sixnode/electricalalarm/ElectricalAlarmDescriptor.java -= -Emits_an_acoustic_alarm_if\nthe_input_signal_is_high=Emits an acoustic alarm if\nthe input signal is high - -# ./src/main/java/mods/eln/sixnode/electricalalarm/ElectricalAlarmGui.java -Sound_is_muted=Sound is muted -Sound_is_not_muted=Sound is not muted - -# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerContainer.java - -# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerDescriptor.java -Protects_electrical_components\nOpens_contact_if\:\n__-_Voltage_exceeds_a_certain_level\n-_Current_exceeds_the_cable_limit=Protects electrical components\nOpens contact if\:\n - Voltage exceeds a certain level\n- Current exceeds the cable limit - -# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerGui.java -Maximum_voltage_before_cutting_off=Maximum voltage before cutting off -Minimum_voltage_before_cutting_off=Minimum voltage before cutting off -Switch_is_off=Switch is off -Switch_is_on=Switch is on - -# ./src/main/java/mods/eln/sixnode/electricalcable/ElectricalCableDescriptor.java -A_signal_is_electrical_information\nwhich_must_be_between_0V_and_%sV=A signal is electrical information\nwhich must be between 0V and %sV -Cable_is_adapted_to_conduct\nelectrical_signals.=Cable is adapted to conduct\nelectrical signals. -Current\:_%sA=Current\: %sA -Not_adapted_to_transport_power.=Not adapted to transport power. -Save_usage\:=Save usage\: -Serial_resistance\:_%sΩ=Serial resistance\: %sΩ - -# ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerDescriptor.java -It_can_store_up_to_256_points.=It can store up to 256 points. -Measures_the_voltage_of_an\nelectrical_signal_and_plots\nthe_data_in_real_time.=Measures the voltage of an\nelectrical signal and plots\nthe data in real time. - -# ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerGui.java -Back_to_display=Back to display -Configuration=Configuration -Current_[A]=Current [A] -Energy_[J]=Energy [J] -Percent_[-]%=Percent [-]% -Power_[W]=Power [W] -Print=Print -Sampling_period=Sampling period -Temp._[*C]=Temp. [*C] -Voltage_[V]=Voltage [V] -Y-axis_max=Y-axis max -Y-axis_min=Y-axis min - -# ./src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorContainer.java - -# ./src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorDescriptor.java -Output_voltage_increases\nif_entities_are_moving_around.=Output voltage increases\nif entities are moving around. - -# ./src/main/java/mods/eln/sixnode/electricalfiredetector/ElectricalFireDetectorDescriptor.java -Output_voltage_increases\nif_a_fire_has_been_detected.=Output voltage increases\nif a fire has been detected. - -# ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceDescriptor.java -Provides_configurable_signal\nvoltage.=Provides configurable signal\nvoltage. - -# ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceGui.java -Output_at_%s=Output at %s - -# ./src/main/java/mods/eln/sixnode/electricallightsensor/ElectricalLightSensorDescriptor.java -0V_at_night,_%sV_at_noon.=0V at night, %sV at noon. -Provides_an_electrical_voltage\nin_the_presence_of_light.=Provides an electrical voltage\nin the presence of light. -Provides_an_electrical_voltage\nwhich_is_proportional_to\nthe_intensity_of_daylight.=Provides an electrical voltage\nwhich is proportional to\nthe intensity of daylight. - -# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathContainer.java - -# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathDescriptor.java -Applicable_boolean_operators\:=Applicable boolean operators\: -Applicable_functions\:=Applicable functions\: -Applicable_mathematical_operators\:=Applicable mathematical operators\: -Calculates_an_output_signal_from\n3_inputs_(A,_B,_C)_using_an_equation.=Calculates an output signal from\n3 inputs (A, B, C) using an equation. - -# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathGui.java -%s_Redstone(s)_required=%s Redstone(s) required -Equation_required!=Equation required\! -Inputs_are=Inputs are -Invalid_equation!=Invalid equation\! -Output_voltage_formula=Output voltage formula -Waiting_for_completion...=Waiting for completion... - -# ./src/main/java/mods/eln/sixnode/electricalredstoneinput/ElectricalRedstoneInputDescriptor.java -Converts_Redstone_signal\nto_an_electrical_voltage.=Converts Redstone signal\nto an electrical voltage. - -# ./src/main/java/mods/eln/sixnode/electricalredstoneoutput/ElectricalRedstoneOutputDescriptor.java -Converts_electrical_voltage\ninto_a_Redstone_signal.=Converts electrical voltage\ninto a Redstone signal. - -# ./src/main/java/mods/eln/sixnode/electricalrelay/ElectricalRelayDescriptor.java -A_relay_is_an_electrical\ncontact_that_conducts_electric\ncurrent_or_not,_depending\nthe_actual_input_signal_voltage.=A relay is an electrical\ncontact that conducts electric\ncurrent or not, depending\nthe actual input signal voltage. - -# ./src/main/java/mods/eln/sixnode/electricalrelay/ElectricalRelayGui.java -Normally_closed=Normally closed -Normally_open=Normally open - -# ./src/main/java/mods/eln/sixnode/electricalsource/ElectricalSourceDescriptor.java -Creative_block.=Creative block. -Provides_an_ideal_voltage_source\nwithout_energy_or_power_limitation.=Provides an ideal voltage source\nwithout energy or power limitation. - -# ./src/main/java/mods/eln/sixnode/electricalsource/ElectricalSourceGui.java -Output_voltage=Output voltage - -# ./src/main/java/mods/eln/sixnode/electricalswitch/ElectricalSwitchDescriptor.java -Can_break_an_electrical_circuit\ninterrupting_the_current.=Can break an electrical circuit\ninterrupting the current. - -# ./src/main/java/mods/eln/sixnode/electricaltimeout/ElectricalTimeoutDescriptor.java -Upon_application_of_a_high_signal,\nthe_timer_maintains_the_output_high_for\na_configurable_interval._Can_be_re-triggered.=Upon application of a high signal,\nthe timer maintains the output high for\na configurable interval. Can be re-triggered. - -# ./src/main/java/mods/eln/sixnode/electricaltimeout/ElectricalTimeoutGui.java -Set=Set -The_time_interval_the\noutput_is_kept_high.=The time interval the\noutput is kept high. - -# ./src/main/java/mods/eln/sixnode/electricalvumeter/ElectricalVuMeterDescriptor.java -Displays_the_value_of_a_signal.=Displays the value of a signal. - -# ./src/main/java/mods/eln/sixnode/electricalwatch/ElectricalWatchContainer.java -Portable_battery_slot=Portable battery slot - -# ./src/main/java/mods/eln/sixnode/electricalweathersensor/ElectricalWeatherSensorDescriptor.java -Clear\:_%sV=Clear\: %sV -Provides_an_electrical_signal\ndepending_the_actual_weather.=Provides an electrical signal\ndepending the actual weather. -Rain\:_%sV=Rain\: %sV -Storm\:_%sV=Storm\: %sV - -# ./src/main/java/mods/eln/sixnode/electricalwindsensor/ElectricalWindSensorDescriptor.java -Maximum_wind_speed_is_%sm_s=Maximum wind speed is %sm/s -Provides_an_electrical_signal\ndependant_on_wind_speed.=Provides an electrical signal\ndependant on wind speed. -You_can't_place_this_block_on_the_floor_or_the_ceiling=You can't place this block on the floor or the ceiling - -# ./src/main/java/mods/eln/sixnode/electricasensor/ElectricalSensorDescriptor.java -Can_measure_Voltage_Power_Current=Can measure Voltage/Power/Current -Measures_electrical_values_on_cables.=Measures electrical values on cables. -Measures_voltage_on_cables.=Measures voltage on cables. - -# ./src/main/java/mods/eln/sixnode/electricasensor/ElectricalSensorGui.java -Current=Current -Measured_voltage\ncorresponding\nto_0%_output=Measured voltage\ncorresponding\nto 0% output -Measured_voltage\ncorresponding\nto_100%_output=Measured voltage\ncorresponding\nto 100% output -Voltage=Voltage - -# ./src/main/java/mods/eln/sixnode/energymeter/EnergyMeterGui.java -Change_password=Change password -Counter_Mode=Counter Mode -Counts_the_energy_conducted_from\n\u00a74red\u00a7f_to_\u00a71blue\u00a7f.=Counts the energy conducted from\n\\u00a74red\\u00a7f to \\u00a71blue\\u00a7f. -Energy_counter\:_%sJ=Energy counter\: %sJ -Enter_new_energy=Enter new energy -Enter_password=Enter password -Prepay_Mode=Prepay Mode -Reset_time_counter=Reset time counter -Set_energy_counter=Set energy counter -Time_counter\:=Time counter\: -Try_password=Try password -You_can_set_an_initial\namount_of_available_energy.\nWhen_the_counter_arrives_at_0\nthe_contact_will_be_opened.=You can set an initial\namount of available energy.\nWhen the counter arrives at 0\nthe contact will be opened. -is_off=is off -is_on=is on -value_in_kJ=value in kJ - -# ./src/main/java/mods/eln/sixnode/groundcable/GroundCableDescriptor.java -Can_be_used_to_set_a_point_of_an\nelectrical_network_to_0V_potential.\nFor_example_to_ground_negative_battery_contacts.=Can be used to set a point of an\nelectrical network to 0V potential.\nFor example to ground negative battery contacts. -Provides_a_zero_volt_reference.=Provides a zero volt reference. - -# ./src/main/java/mods/eln/sixnode/hub/HubDescriptor.java -Allows_crossing_cables\non_one_single_block.=Allows crossing cables\non one single block. - -# ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketDescriptor.java -Angle\:_%s°_to_%s°=Angle\: %s° to %s° -Spot_range\:_%s_blocks=Spot range\: %s blocks - -# ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketGuiDraw.java -%s_is_not_in_range!=%s is not in range\! -Cable_slot_empty=Cable slot empty -Orientation\:_%s°=Orientation\: %s° -Parallel=Parallel -Powered_by_Lamp_Supply=Powered by Lamp Supply -Powered_by_cable=Powered by cable -Serial=Serial -Specify_the_supply_channel=Specify the supply channel - -# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyContainer.java -Electrical_cable_slot\nBase_range_is_32_blocks.\nEach_additional_cable\nincreases_range_by_one.=Electrical cable slot\nBase range is 32 blocks.\nEach additional cable\nincreases range by one. - -# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyDescriptor.java -Supplies_all_lamps_on_the_channel.=Supplies all lamps on the channel. - -# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyGui.java -Power_channel_name=Power channel name -Wireless_channel_name=Wireless channel name - -# ./src/main/java/mods/eln/sixnode/modbusrtu/ModbusRtuGui.java -Add=Add -Channel_name=Channel name -Modbus_ID=Modbus ID -Modbus_RTU=Modbus RTU -Station_ID=Station ID -Station_name=Station name -Wireless_RX=Wireless RX -Wireless_TX=Wireless TX - -# ./src/main/java/mods/eln/sixnode/powercapacitorsix/PowerCapacitorSixContainer.java -(Increases_maximum_voltage)=(Increases maximum voltage) - -# ./src/main/java/mods/eln/sixnode/powercapacitorsix/PowerCapacitorSixGui.java - -# ./src/main/java/mods/eln/sixnode/powerinductorsix/PowerInductorSixContainer.java - -# ./src/main/java/mods/eln/sixnode/powerinductorsix/PowerInductorSixGui.java - -# ./src/main/java/mods/eln/sixnode/powersocket/PowerSocketDescriptor.java -Supplies_any_device\nplugged_in_with_energy.=Supplies any device\nplugged in with energy. - -# ./src/main/java/mods/eln/sixnode/powersocket/PowerSocketGui.java -Specify_the_device_to_supply_through_this_socket.=Specify the device to supply through this socket. - -# ./src/main/java/mods/eln/sixnode/resistor/ResistorContainer.java -(Sets_resistance)=(Sets resistance) -Coal_dust_slot=Coal dust slot - -# ./src/main/java/mods/eln/sixnode/thermalcable/ThermalCableDescriptor.java -High_parallel_resistance\n_\=>_Low_power_dissipation.=High parallel resistance\n \=> Low power dissipation. -Low_serial_resistance\n_\=>_High_conductivity.=Low serial resistance\n \=> High conductivity. -Parallel_resistance\:_%sK_W=Parallel resistance\: %sK/W -Serial_resistance\:_%sK_W=Serial resistance\: %sK/W - -# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorContainer.java -Cable_slot=Cable slot - -# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorDescriptor.java -Can_measure\:=Can measure\: -Measures_temperature_of_cables.=Measures temperature of cables. -Measures_thermal_values_on_cables.=Measures thermal values on cables. -__Temperature_Power_conducted=Temperature/Power conducted - -# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorGui.java -Measured_temperature\ncorresponding\nto_0%_output=Measured temperature\ncorresponding\nto 0% output -Measured_temperature\ncorresponding\nto_100%_output=Measured temperature\ncorresponding\nto 100% output -Temperature=Temperature - -# ./src/main/java/mods/eln/sixnode/tutorialsign/TutorialSignElement.java -No_text_associated_to_this_beacon=No text associated to this beacon - -# ./src/main/java/mods/eln/sixnode/tutorialsign/TutorialSignGui.java -Set_beacon_name=Set beacon name - -# ./src/main/java/mods/eln/sixnode/wirelesssignal/rx/WirelessSignalRxGui.java - -# ./src/main/java/mods/eln/transparentnode/FuelGenerator.kt -Nominal_power\:_%s_W=Nominal power\: %s W -Nominal_voltage\:_%s_V=Nominal voltage\: %s V -Produces_electricity_using_fuel.=Produces electricity using fuel. - -# ./src/main/java/mods/eln/transparentnode/LargeRheostat.kt -Nom._Resistance\:_%s=Nom. Resistance\: %s - -# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerContainer.java -Drill_slot=Drill slot -Mining_pipe_slot=Mining pipe slot -Ore_scanner_slot=Ore scanner slot - -# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerDescriptor.java -Excavates_on_a_small_radius.\nExtracts_ore_on_a_bigger_radius\:\n10_blocks_radius_after_10_blocks_depth.=Excavates on a small radius.\nExtracts ore on a bigger radius\:\n10 blocks radius after 10 blocks depth. - -# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerGuiDraw.java -Chest_missing_on_the\nback_of_the_auto_miner!=Chest missing on the\nback of the auto miner\! -Halves_speed,_triples_power_draw=Halves speed, triples power draw -Silk_Touch_Off=Silk Touch Off -Silk_Touch_On=Silk Touch On -Silk_touch=Silk touch - -# ./src/main/java/mods/eln/transparentnode/battery/BatteryContainer.java -Overheating_protection=Overheating protection -Overvoltage_protection=Overvoltage protection - -# ./src/main/java/mods/eln/transparentnode/battery/BatteryDescriptor.java -Actual_charge\:_%s=Actual charge\: %s -Energy_capacity\:_%sJ=Energy capacity\: %sJ -_charged_at_%s=charged at %s - -# ./src/main/java/mods/eln/transparentnode/battery/BatteryGuiDraw.java -Charge=Charge -Charged=Charged -Discharge=Discharge -Energy\:=Energy\: -Energy\:_%s=Energy\: %s -Life\:=Life\: -No_charge=No charge -Power_in\:=Power in\: -Power_out\:=Power out\: - -# ./src/main/java/mods/eln/transparentnode/eggincubator/EggIncubatorContainer.java -Egg_slot=Egg slot - -# ./src/main/java/mods/eln/transparentnode/electricalantennarx/ElectricalAntennaRxDescriptor.java -Wireless_energy_receiver.=Wireless energy receiver. - -# ./src/main/java/mods/eln/transparentnode/electricalantennatx/ElectricalAntennaTxDescriptor.java -Efficiency\:_%s_up_to_%s=Efficiency\: %s up to %s -Wireless_energy_transmitter.=Wireless energy transmitter. - -# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceContainer.java -Heating_corp_slot=Heating corp slot - -# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceDescriptor.java -Similar_to_a_vanilla_furnace,\nbut_heats_with_electricity.=Similar to a vanilla furnace,\nbut heats with electricity. - -# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceGuiDraw.java -Auto_shutdown=Auto shutdown -Manual_shutdown=Manual shutdown -Set_point\:_%s°C=Set point\: %s°C - -# ./src/main/java/mods/eln/transparentnode/electricalmachine/ElectricalMachineDescriptor.java -Cost=Cost - -# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceContainer.java -Combustion_chamber_slot=Combustion chamber slot -Fuel_slot=Fuel slot - -# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceDescriptor.java -Generates_heat_when_supplied_with_fuel.=Generates heat when supplied with fuel. - -# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceGuiDraw.java -Control_gauge_at_%s=Control gauge at %s -Decline_fuel=Decline fuel -External_control=External control -Internal_control=Internal control -Take_fuel=Take fuel - -# ./src/main/java/mods/eln/transparentnode/powercapacitor/PowerCapacitorContainer.java -(Increases_maximal_voltage)=(Increases maximal voltage) - -# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelContainer.java -Solar_tracker_slot=Solar tracker slot - -# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelDescriptor.java -Can_be_geared_towards_the_sun.=Can be geared towards the sun. -Max._power\:_%sW=Max. power\: %sW -Max._voltage\:_%sV=Max. voltage\: %sV -Produces_power_from_solar_radiation.=Produces power from solar radiation. - -# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPannelGuiDraw.java -It_is_night=It is night -Solar_panel_angle\:_%s°=Solar panel angle\: %s° -Sun_angle\:_%s°=Sun angle\: %s° - -# ./src/main/java/mods/eln/transparentnode/teleporter/TeleporterGui.java -Destination_transporter=Destination transporter -Power_consumption\:=Power consumption\: -Power_consumption\:_%sW=Power consumption\: %sW -Required_energy\:_%sJ=Required energy\: %sJ -Start=Start -Transporter_name=Transporter name - -# ./src/main/java/mods/eln/transparentnode/thermaldissipatoractive/ThermalDissipatorActiveDescriptor.java -Fan_cooling_power\:_%sW=Fan cooling power\: %sW -Fan_power_consumption\:_%sW=Fan power consumption\: %sW -Fan_voltage\:_%sV=Fan voltage\: %sV - -# ./src/main/java/mods/eln/transparentnode/transformer/TransformerDescriptor.java -The_voltage_ratio_is_proportional\nto_the_cable_stacks_count_ratio.=The voltage ratio is proportional\nto the cable stacks count ratio. -Transforms_an_input_voltage_to\nan_output_voltage.=Transforms an input voltage to\nan output voltage. - -# ./src/main/java/mods/eln/transparentnode/turbine/TurbineDescriptor.java -Generates_electricity_using_heat.=Generates electricity using heat. -Temperature_difference\:_%s°C=Temperature difference\: %s°C - -# ./src/main/java/mods/eln/transparentnode/turret/TurretDescriptor.java -CAUTION\:_Cables_can_get_quite_hot!=CAUTION\: Cables can get quite hot\! -Laser_charge_power\:_%sW...%skW=Laser charge power\: %sW...%skW -Scans_for_entities_and_shoots_if_the\nentity_matches_the_configurable_filter_criteria.=Scans for entities and shoots if the\nentity matches the configurable filter criteria. -Standby_power\:_%sW=Standby power\: %sW - -# ./src/main/java/mods/eln/transparentnode/turret/TurretGui.java -Attack\:=Attack\: -Do_not_attack\:=Do not attack\: -Recharge_power\:=Recharge power\: - -# ./src/main/java/mods/eln/transparentnode/waterturbine/WaterTurbineDescriptor.java -Generates_energy_using_water_stream.=Generates energy using water stream. -No_place_for_water_turbine!=No place for water turbine\! - -# ./src/main/java/mods/eln/transparentnode/windturbine/WindTurbineDescriptor.java -Front\:_%s=Front\: %s -Generates_energy_from_wind.=Generates energy from wind. -Left_Right\:_%s=Left/Right\: %s -Up_Down\:_%s=Up/Down\: %s -Wind_area\:=Wind area\: - -# ./src/main/java/mods/eln/wiki/Data.java -Energy=Energy -Light=Light -Machine=Machine -Ore=Ore -Portable=Portable -Resource=Resource -Signal=Signal -Thermal=Thermal -Upgrade=Upgrade -Utilities=Utilities -Wiring=Wiring - -# ./src/main/java/mods/eln/wiki/Default.java -Previous=Previous - -# ./src/main/java/mods/eln/wiki/ItemDefault.java -Can_be_used_to_craft\:=Can be used to craft\: -Cannot_be_crafted!=Cannot be crafted\! -Cost_%sJ=Cost %sJ -Created_by\:=Created by\: -Is_not_a_crafting_material!=Is not a crafting material\! -Recipe\:=Recipe\: - -# Appearing in multiple source files -(Increases_capacity)=(Increases capacity) -(Increases_inductance)=(Increases inductance) -Actual\:_%s°C=Actual\: %s°C -Biggest=Biggest -Booster_slot=Booster slot -Can_create\:=Can create\: -Capacity\:_%sF=Capacity\: %sF -Charge_power\:_%sW=Charge power\: %sW -Connected=Connected -Cooling_power\:_%sW=Cooling power\: %sW -Copper_cable_slot=Copper cable slot -Dielectric_slot=Dielectric slot -Discharge_power\:_%sW=Discharge power\: %sW -Electrical_cable_slot=Electrical cable slot -Entity_filter_slot=Entity filter slot -Ferromagnetic_core_slot=Ferromagnetic core slot -Has_a_signal_output.=Has a signal output. -Inductance\:_%sH=Inductance\: %sH -Internal_resistance\:_%sΩ=Internal resistance\: %sΩ -Is_off=Is off -Is_on=Is on -Max._temperature\:_%s°C=Max. temperature\: %s°C -Measured_value\ncorresponding\nto_0%_output=Measured value\ncorresponding\nto 0% output -Measured_value\ncorresponding\nto_100%_output=Measured value\ncorresponding\nto 100% output -Nominal\:=Nominal\: -Nominal_power\:_%sW=Nominal power\: %sW -Nominal_usage\:=Nominal usage\: -Nominal_voltage\:_%sV=Nominal voltage\: %sV -Not_connected=Not connected -Not_enough_space_for_this_block=Not enough space for this block -Power=Power -Power\:_%sW=Power\: %sW -Range\:_%s_blocks=Range\: %s blocks -Redstone_slot=Redstone slot -Regulator_slot=Regulator slot -Reset=Reset -Resistance\:_%sΩ=Resistance\: %sΩ -Smallest=Smallest -Specify_the_channel=Specify the channel -Stored_energy\:_%sJ_(%s)=Stored energy\: %sJ (%s) -Temperature\:_%s°C=Temperature\: %s°C -Temperature_gauge=Temperature gauge -Thermal_isolator_slot=Thermal isolator slot -Toggle=Toggle -Toggle_switch=Toggle switch -Toggles_the_output_each_time\nan_emitter's_value_rises.\nUseful_to_allow_multiple_buttons\nto_control_the_same_light.=Toggles the output each time\nan emitter's value rises.\nUseful to allow multiple buttons\nto control the same light. -Used_to_cool_down_turbines.=Used to cool down turbines. -Uses_the_biggest\nvalue_on_the_channel.=Uses the biggest\nvalue on the channel. -Uses_the_smallest\nvalue_on_the_channel.=Uses the smallest\nvalue on the channel. -Validate=Validate -Voltage\:_%sV=Voltage\: %sV -You_can't_place_this_block_at_this_side=You can't place this block at this side +eln:# +eln: +eln:# ./src/main/java/mods/eln/Achievements.java +eln:Electrical_Age_[WIP]=Electrical Age [WIP] +eln:achievement.craft_50v_macerator=Crushing Novice +eln:achievement.craft_50v_macerator.desc=Craft a 50V Macerator +eln:achievement.open_guide=Wiki Power +eln:achievement.open_guide.desc=Open the wiki guide +eln: +eln:# ./src/main/java/mods/eln/Eln.java +eln:10A_Diode.name=10A Diode +eln:200V_Active_Thermal_Dissipator.name=200V Active Thermal Dissipator +eln:200V_Battery_Charger.name=200V Battery Charger +eln:200V_Compressor.name=200V Compressor +eln:200V_Condensator.name=200V Condensator +eln:200V_Copper_Heating_Corp.name=200V Copper Heating Corp +eln:200V_Economic_Light_Bulb.name=200V Economic Light Bulb +eln:200V_Farming_Lamp.name=200V Farming Lamp +eln:200V_Fuel_Generator.name=200V Fuel Generator +eln:200V_Incandescent_Light_Bulb.name=200V Incandescent Light Bulb +eln:200V_Iron_Heating_Corp.name=200V Iron Heating Corp +eln:200V_LED_Bulb.name=200V LED Bulb +eln:200V_Macerator.name=200V Macerator +eln:200V_Magnetizer.name=200V Magnetizer +eln:200V_Plate_Machine.name=200V Plate Machine +eln:200V_Power_Socket.name=200V Power Socket +eln:200V_Tungsten_Heating_Corp.name=200V Tungsten Heating Corp +eln:200V_Turbine.name=200V Turbine +eln:25A_Diode.name=25A Diode +eln:50V_Battery_Charger.name=50V Battery Charger +eln:50V_Carbon_Incandescent_Light_Bulb.name=50V Carbon Incandescent Light Bulb +eln:50V_Compressor.name=50V Compressor +eln:50V_Condensator.name=50V Condensator +eln:50V_Copper_Heating_Corp.name=50V Copper Heating Corp +eln:50V_Economic_Light_Bulb.name=50V Economic Light Bulb +eln:50V_Egg_Incubator.name=50V Egg Incubator +eln:50V_Farming_Lamp.name=50V Farming Lamp +eln:50V_Fuel_Generator.name=50V Fuel Generator +eln:50V_Incandescent_Light_Bulb.name=50V Incandescent Light Bulb +eln:50V_Iron_Heating_Corp.name=50V Iron Heating Corp +eln:50V_LED_Bulb.name=50V LED Bulb +eln:50V_Macerator.name=50V Macerator +eln:50V_Magnetizer.name=50V Magnetizer +eln:50V_Plate_Machine.name=50V Plate Machine +eln:50V_Power_Socket.name=50V Power Socket +eln:50V_Tungsten_Heating_Corp.name=50V Tungsten Heating Corp +eln:50V_Turbine.name=50V Turbine +eln:800V_Defence_Turret.name=800V Defence Turret +eln:AND_Chip.name=AND Chip +eln:Advanced_Chip.name=Advanced Chip +eln:Advanced_Electrical_Motor.name=Advanced Electrical Motor +eln:Advanced_Energy_Meter.name=Advanced Energy Meter +eln:Advanced_Machine_Block.name=Advanced Machine Block +eln:Advanced_Magnet.name=Advanced Magnet +eln:AllMeter.name=Universal-Meter +eln:Alloy_Dust.name=Alloy Dust +eln:Alloy_Ingot.name=Alloy Ingot +eln:Alloy_Plate.name=Alloy Plate +eln:Analog_Watch.name=Analog watch +eln:Analog_vuMeter.name=Analog Gauge +eln:Analogic_Regulator.name=Analogic Regulator +eln:Animal_Filter.name=Animal Filter +eln:Auto_Miner.name=Auto Miner +eln:Average_Electrical_Drill.name=Average Electrical Drill +eln:Average_Ferromagnetic_Core.name=Average Ferromagnetic Core +eln:Basic_Magnet.name=Basic Magnet +eln:Black_Brush.name=Black Brush +eln:Blue_Brush.name=Blue Brush +eln:Brown_Brush.name=Brown Brush +eln:Capacity_Oriented_Battery.name=Capacity Oriented Battery +eln:Cheap_Chip.name=Cheap Chip +eln:Cheap_Electrical_Drill.name=Cheap Electrical Drill +eln:Cheap_Ferromagnetic_Core.name=Cheap Ferromagnetic Core +eln:Cinnabar_Dust.name=Cinnabar Dust +eln:Cinnabar_Ore.name=Cinnabar Ore +eln:Coal_Dust.name=Coal Dust +eln:Coal_Plate.name=Coal Plate +eln:Combustion_Chamber.name=Combustion Chamber +eln:Copper_Cable.name=Copper Cable +eln:Copper_Dust.name=Copper Dust +eln:Copper_Ingot.name=Copper Ingot +eln:Copper_Ore.name=Copper Ore +eln:Copper_Plate.name=Copper Plate +eln:Copper_Thermal_Cable.name=Copper Thermal Cable +eln:Cost_Oriented_Battery.name=Cost Oriented Battery +eln:Current_Oriented_Battery.name=Current Oriented Battery +eln:Cyan_Brush.name=Cyan Brush +eln:D_Flip_Flop_Chip.name=D Flip Flop Chip +eln:Data_Logger.name=Data Logger +eln:Data_Logger_Print.name=Data Logger Print +eln:Dielectric.name=Dielectric +eln:Digital_Watch.name=Digital Watch +eln:Electrical_Anemometer_Sensor.name=Electrical Anemometer Sensor +eln:Electrical_Breaker.name=Electrical Breaker +eln:Electrical_Daylight_Sensor.name=Electrical Daylight Sensor +eln:Electrical_Entity_Sensor.name=Electrical Entity Sensor +eln:Electrical_Fire_Detector.name=Electrical Fire Detector +eln:Electrical_Furnace.name=Electrical Furnace +eln:Electrical_Light_Sensor.name=Electrical Light Sensor +eln:Electrical_Motor.name=Electrical Motor +eln:Electrical_Probe.name=Electrical Probe +eln:Electrical_Probe_Chip.name=Electrical Probe Chip +eln:Electrical_Source.name=Electrical Source +eln:Electrical_Timer.name=Electrical Timer +eln:Electrical_Weather_Sensor.name=Electrical Weather Sensor +eln:Electrical_age_wrench,\nCan_be_used_to_turn\nsmall_wall_blocks=Electrical age wrench,\nCan be used to turn\nsmall wall blocks +eln:Energy_Meter.name=Energy Meter +eln:Experimental_Transporter.name=Experimental Transporter +eln:Fast_Electrical_Drill.name=Fast Electrical Drill +eln:Ferrite_Ingot.name=Ferrite Ingot +eln:Flat_Lamp_Socket.name=Flat Lamp Socket +eln:Fluorescent_Lamp_Socket.name=Fluorescent Lamp Socket +eln:Generator.name=Generator +eln:Gold_Dust.name=Gold Dust +eln:Gold_Plate.name=Gold Plate +eln:Gray_Brush.name=Gray Brush +eln:Green_Brush.name=Green Brush +eln:Ground_Cable.name=Ground Cable +eln:High_Power_Receiver_Antenna.name=High Power Receiver Antenna +eln:High_Power_Transmitter_Antenna.name=High Power Transmitter Antenna +eln:High_Voltage_Cable.name=High Voltage Cable +eln:High_Voltage_Relay.name=High Voltage Relay +eln:High_Voltage_Switch.name=High Voltage Switch +eln:Hub.name=Hub +eln:Industrial_Data_Logger.name=Industrial Data Logger +eln:Iron_Cable.name=Iron Cable +eln:Iron_Dust.name=Iron Dust +eln:Iron_Plate.name=Iron Plate +eln:JK_Flip_Flop_Chip.name=JK Flip Flop Chip +eln:LED_vuMeter.name=LED vuMeter +eln:Lamp_Socket_A.name=Lamp Socket A +eln:Lamp_Socket_B_Projector.name=Lamp Socket B Projector +eln:Lamp_Supply.name=Lamp Supply +eln:Large_Rheostat.name=Large Rheostat +eln:Lead_Dust.name=Lead Dust +eln:Lead_Ingot.name=Lead Ingot +eln:Lead_Ore.name=Lead Ore +eln:Lead_Plate.name=Lead Plate +eln:Life_Oriented_Battery.name=Life Oriented Battery +eln:Light_Blue_Brush.name=Light Blue Brush +eln:Lime_Brush.name=Lime Brush +eln:Long_Suspended_Lamp_Socket.name=Long Suspended Lamp Socket +eln:Low_Power_Receiver_Antenna.name=Low Power Receiver Antenna +eln:Low_Power_Transmitter_Antenna.name=Low Power Transmitter Antenna +eln:Low_Voltage_Cable.name=Low Voltage Cable +eln:Low_Voltage_Relay.name=Low Voltage Relay +eln:Low_Voltage_Switch.name=Low Voltage Switch +eln:Machine_Block.name=Machine Block +eln:Machine_Booster.name=Machine Booster +eln:Magenta_Brush.name=Magenta Brush +eln:Medium_Power_Receiver_Antenna.name=Medium Power Receiver Antenna +eln:Medium_Power_Transmitter_Antenna.name=Medium Power Transmitter Antenna +eln:Medium_Voltage_Cable.name=Medium Voltage Cable +eln:Medium_Voltage_Relay.name=Medium Voltage Relay +eln:Medium_Voltage_Switch.name=Medium Voltage Switch +eln:Mercury.name=Mercury +eln:Mining_Pipe.name=Mining Pipe +eln:Modbus_RTU.name=Modbus RTU +eln:Modern_Data_Logger.name=Modern Data Logger +eln:Monster_Filter.name=Monster Filter +eln:MultiMeter.name=Multimeter +eln:NAND_Chip.name=NAND Chip +eln:NOR_Chip.name=NOR Chip +eln:NOT_Chip.name=NOT Chip +eln:Nuclear_Alarm.name=Nuclear Alarm +eln:OR_Chip.name=OR Chip +eln:On_OFF_Regulator_10_Percent.name=On/off regulator 10% +eln:On_OFF_Regulator_1_Percent.name=On/off regulator 1% +eln:Optimal_Ferromagnetic_Core.name=Optimal Ferromagnetic Core +eln:Orange_Brush.name=Orange Brush +eln:Ore_Scanner.name=Ore Scanner +eln:Oscillator_Chip.name=Oscillator Chip +eln:Overheating_Protection.name=Overheating Protection +eln:Overvoltage_Protection.name=Overvoltage Protection +eln:PAL_Chip.name=PAL Chip +eln:Pink_Brush.name=Pink Brush +eln:Player_Filter.name=Player Filter +eln:Portable_Battery.name=Portable Battery +eln:Portable_Battery_Pack.name=Portable Battery Pack +eln:Portable_Condensator.name=Portable Condensator +eln:Portable_Condensator_Pack.name=Portable Condensator Pack +eln:Portable_Electrical_Axe.name=Portable Electrical Axe +eln:Portable_Electrical_Mining_Drill.name=Portable Electrical Mining Drill +eln:Power_Capacitor.name=Power Capacitor +eln:Power_Inductor.name=Power Inductor +eln:Power_Resistor.name=Power Resistor +eln:Power_capacitor.name=Power capacitor +eln:Power_inductor.name=Power inductor +eln:Purple_Brush.name=Purple Brush +eln:Red_Brush.name=Red Brush +eln:Redstone-to-Voltage_Converter.name=Redstone-to-Voltage Converter +eln:Rheostat.name=Rheostat +eln:Robust_Lamp_Socket.name=Robust Lamp Socket +eln:Rubber.name=Rubber +eln:Schmitt_Trigger_Chip.name=Schmitt Trigger Chip +eln:Sconce_Lamp_Socket.name=Sconce Lamp Socket +eln:Signal_20H_inductor.name=Signal 20H inductor +eln:Signal_Antenna.name=Signal Antenna +eln:Signal_Button.name=Signal Button +eln:Signal_Cable.name=Signal Cable +eln:Signal_Diode.name=Signal Diode +eln:Signal_Processor.name=Signal Processor +eln:Signal_Relay.name=Signal Relay +eln:Signal_Source.name=Signal Source +eln:Signal_Switch.name=Signal Switch +eln:Signal_Switch_with_LED.name=Signal Switch with LED +eln:Signal_Trimmer.name=Signal Trimmer +eln:Silicon_Dust.name=Silicon Dust +eln:Silicon_Ingot.name=Silicon Ingot +eln:Silicon_Plate.name=Silicon Plate +eln:Silver_Brush.name=Silver Brush +eln:Simple_Lamp_Socket.name=Simple Lamp Socket +eln:Single-use_Battery.name=Single-use Battery +eln:Small_200V_Copper_Heating_Corp.name=Small 200V Copper Heating Corp +eln:Small_200V_Iron_Heating_Corp.name=Small 200V Iron Heating Corp +eln:Small_200V_Tungsten_Heating_Corp.name=Small 200V Tungsten Heating Corp +eln:Small_50V_Carbon_Incandescent_Light_Bulb.name=Small 50V Carbon Incandescent Light Bulb +eln:Small_50V_Copper_Heating_Corp.name=Small 50V Copper Heating Corp +eln:Small_50V_Economic_Light_Bulb.name=Small 50V Economic Light Bulb +eln:Small_50V_Incandescent_Light_Bulb.name=Small 50V Incandescent Light Bulb +eln:Small_50V_Iron_Heating_Corp.name=Small 50V Iron Heating Corp +eln:Small_50V_Tungsten_Heating_Corp.name=Small 50V Tungsten Heating Corp +eln:Small_Active_Thermal_Dissipator.name=Small Active Thermal Dissipator +eln:Small_Flashlight.name=Small Flashlight +eln:Small_Passive_Thermal_Dissipator.name=Small Passive Thermal Dissipator +eln:Small_Rotating_Solar_Panel.name=Small Rotating Solar Panel +eln:Small_Solar_Panel.name=Small Solar Panel +eln:Solar_Tracker.name=Solar Tracker +eln:Standard_Alarm.name=Standard Alarm +eln:Steam_Turbine.name=Steam Turbine +eln:Stone_Heat_Furnace.name=Stone Heat Furnace +eln:Street_Light.name=Streetlight +eln:Suspended_Lamp_Socket.name=Suspended Lamp Socket +eln:Temperature_Probe.name=Temperature Probe +eln:Thermal_Probe.name=Thermal Probe +eln:Thermal_Probe_Chip.name=Thermal Probe Chip +eln:Thermistor.name=Thermistor +eln:ThermoMeter.name=Thermometer +eln:Transformer.name=Transformer +eln:Tree_Resin.name=Tree Resin +eln:Tree_Resin_Collector.name=Tree Resin Collector +eln:Tungsten_Cable.name=Tungsten Cable +eln:Tungsten_Dust.name=Tungsten Dust +eln:Tungsten_Ingot.name=Tungsten Ingot +eln:Tungsten_Ore.name=Tungsten Ore +eln:Tutorial_Sign.name=Tutorial Sign +eln:Very_High_Voltage_Cable.name=Very High Voltage Cable +eln:Very_High_Voltage_Relay.name=Very High Voltage Relay +eln:Very_High_Voltage_Switch.name=Very High Voltage Switch +eln:Voltage-to-Redstone_Converter.name=Voltage-to-Redstone Converter +eln:Voltage_Oriented_Battery.name=Voltage Oriented Battery +eln:Voltage_Probe.name=Voltage Probe +eln:Water_Turbine.name=Water Turbine +eln:Weak_50V_Battery_Charger.name=Weak 50V Battery Charger +eln:White_Brush.name=White Brush +eln:Wind_Turbine.name=Wind Turbine +eln:Wireless_Analyser.name=Wireless Analyzer +eln:Wireless_Button.name=Wireless Button +eln:Wireless_Signal_Receiver.name=Wireless Signal Receiver +eln:Wireless_Signal_Repeater.name=Wireless Signal Repeater +eln:Wireless_Signal_Transmitter.name=Wireless Signal Transmitter +eln:Wireless_Switch.name=Wireless Switch +eln:Wrench.name=Wrench +eln:X-Ray_Scanner.name=X-Ray Scanner +eln:XNOR_Chip.name=XNOR Chip +eln:XOR_Chip.name=XOR Chip +eln:Yellow_Brush.name=Yellow Brush +eln:entity.EAReplicator.name=Replicator +eln:item.Copper Axe.name\=Copper Axe +eln:item.Copper Axe.name\=Copper Axe +eln:item.Copper Axe.name\=Copper Axe +eln:item.Copper Axe.name\=Copper Axe +eln:item.Copper Axe.name\=Copper Axe +eln:item.Copper Axe.name\=Copper Axe +eln:item.Copper Axe.name\=Copper Axe +eln:item.Copper Axe.name\=Copper Axe +eln:item.Copper Axe.name\=Copper Axe +eln:item.E-Coal Boots.name\=E-Coal Boots +eln:item.E-Coal Boots.name\=E-Coal Boots +eln:item.E-Coal Boots.name\=E-Coal Boots +eln:item.E-Coal Boots.name\=E-Coal Boots +eln:itemGroup.Eln=Electrical Age +eln:mod.meta.desc=Electricity in your base\! +eln:tile.eln.ElnProbe.name=Eln Computer Probe +eln:tile.eln.EnergyConverterElnToOtherHVUBlock.name=800V Electrical Age to other energy exporter +eln:tile.eln.EnergyConverterElnToOtherLVUBlock.name=50V Electrical Age to other energy exporter +eln:tile.eln.EnergyConverterElnToOtherMVUBlock.name=200V Electrical Age to other energy exporter +eln: +eln:# ./src/main/java/mods/eln/i18n/I18N.java +eln:You_have_%s_lives_left=You have %s lives left +eln: +eln:# ./src/main/java/mods/eln/item/BrushDescriptor.java +eln:Brush_is_dry=Brush is dry +eln:Can_paint_%s_blocks=Can paint %s blocks +eln: +eln:# ./src/main/java/mods/eln/item/CombustionChamber.java +eln:Upgrade_for_the_Stone_Heat_Furnace.=Upgrade for the Stone Heat Furnace. +eln: +eln:# ./src/main/java/mods/eln/item/ElectricalDrillDescriptor.java +eln:Energy_per_operation\:_%sJ=Energy per operation\: %sJ +eln:Time_per_operation\:_%ss=Time per operation\: %ss +eln: +eln:# ./src/main/java/mods/eln/item/FerromagneticCoreDescriptor.java +eln:Cable_loss_factor\:_%s=Cable loss factor\: %s +eln: +eln:# ./src/main/java/mods/eln/item/HeatingCorpElement.java +eln: +eln:# ./src/main/java/mods/eln/item/LampDescriptor.java +eln:Bad=Bad +eln:Condition\:=Condition\: +eln:End_of_life=End of life +eln:Good=Good +eln:New=New +eln:Nominal_lifetime\:_%sh=Nominal lifetime\: %sh +eln:Technology\:_%s=Technology\: %s +eln:Used=Used +eln: +eln:# ./src/main/java/mods/eln/item/LampSlot.java +eln:Lamp_slot=Lamp slot +eln: +eln:# ./src/main/java/mods/eln/item/OverHeatingProtectionDescriptor.java +eln:Useful_to_prevent_overheating\nof_Batteries=Useful to prevent overheating\nof Batteries +eln: +eln:# ./src/main/java/mods/eln/item/OverVoltageProtectionDescriptor.java +eln:Useful_to_prevent_over-voltage\nof_Batteries=Useful to prevent over-voltage\nof Batteries +eln: +eln:# ./src/main/java/mods/eln/item/SolarTrackerDescriptor.java +eln:Solar_panel_upgrade=Solar panel upgrade +eln: +eln:# ./src/main/java/mods/eln/item/electricalitem/BatteryItem.java +eln: +eln:# ./src/main/java/mods/eln/item/electricalitem/ElectricalLampItem.java +eln:Off=Off +eln:On=On +eln:State\:=State\: +eln:Stored_Energy\:_%sJ_(%s)=Stored Energy\: %sJ (%s) +eln: +eln:# ./src/main/java/mods/eln/item/regulator/RegulatorSlot.java +eln: +eln:# ./src/main/java/mods/eln/misc/UtilsClient.java +eln:Hold_shift=Hold shift +eln: +eln:# ./src/main/java/mods/eln/misc/Version.java +eln:mod.name=Electrical Age +eln: +eln:# ./src/main/java/mods/eln/node/six/SixNodeDescriptor.java +eln: +eln:# ./src/main/java/mods/eln/simplenode/energyconverter/EnergyConverterElnToOtherGui.java +eln:Input_power_is_limited_to_%sW=Input power is limited to %sW +eln: +eln:# ./src/main/java/mods/eln/sixnode/LogicGate.kt +eln:_O\:_= O\: +eln: +eln:# ./src/main/java/mods/eln/sixnode/TreeResinCollector/TreeResinCollectorDescriptor.java +eln:Produces_Tree_Resin_over\ntime_when_put_on_a_tree.=Produces Tree Resin over\ntime when put on a tree. +eln:This_block_can_only_be_placed_on_the_side_of_a_tree!=This block can only be placed on the side of a tree\! +eln: +eln:# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerContainer.java +eln:Battery_slot=Battery slot +eln: +eln:# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerDescriptor.java +eln:Can_be_used_to_recharge\nelectrical_items_like\:\nFlash_Light,_X-Ray_scanner\nand_Portable_Battery_...=Can be used to recharge\nelectrical items like\:\nFlash Light, X-Ray scanner\nand Portable Battery ... +eln: +eln:# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerGui.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/diode/DiodeDescriptor.java +eln:Electrical_current_can_only\nflow_through_the_diode\nfrom_anode_to_cathode=Electrical current can only\nflow through the diode\nfrom anode to cathode +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalalarm/ElectricalAlarmDescriptor.java +eln:= +eln:Emits_an_acoustic_alarm_if\nthe_input_signal_is_high=Emits an acoustic alarm if\nthe input signal is high +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalalarm/ElectricalAlarmGui.java +eln:Sound_is_muted=Sound is muted +eln:Sound_is_not_muted=Sound is not muted +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerContainer.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerDescriptor.java +eln:Protects_electrical_components\nOpens_contact_if\:\n__-_Voltage_exceeds_a_certain_level\n-_Current_exceeds_the_cable_limit=Protects electrical components\nOpens contact if\:\n - Voltage exceeds a certain level\n- Current exceeds the cable limit +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerGui.java +eln:Maximum_voltage_before_cutting_off=Maximum voltage before cutting off +eln:Minimum_voltage_before_cutting_off=Minimum voltage before cutting off +eln:Switch_is_off=Switch is off +eln:Switch_is_on=Switch is on +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalcable/ElectricalCableDescriptor.java +eln:A_signal_is_electrical_information\nwhich_must_be_between_0V_and_%sV=A signal is electrical information\nwhich must be between 0V and %sV +eln:Cable_is_adapted_to_conduct\nelectrical_signals.=Cable is adapted to conduct\nelectrical signals. +eln:Current\:_%sA=Current\: %sA +eln:Not_adapted_to_transport_power.=Not adapted to transport power. +eln:Save_usage\:=Save usage\: +eln:Serial_resistance\:_%sΩ=Serial resistance\: %sΩ +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerDescriptor.java +eln:It_can_store_up_to_256_points.=It can store up to 256 points. +eln:Measures_the_voltage_of_an\nelectrical_signal_and_plots\nthe_data_in_real_time.=Measures the voltage of an\nelectrical signal and plots\nthe data in real time. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerGui.java +eln:Back_to_display=Back to display +eln:Configuration=Configuration +eln:Current_[A]=Current [A] +eln:Energy_[J]=Energy [J] +eln:Percent_[-]%=Percent [-]% +eln:Power_[W]=Power [W] +eln:Print=Print +eln:Sampling_period=Sampling period +eln:Temp._[*C]=Temp. [*C] +eln:Voltage_[V]=Voltage [V] +eln:Y-axis_max=Y-axis max +eln:Y-axis_min=Y-axis min +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorContainer.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorDescriptor.java +eln:Output_voltage_increases\nif_entities_are_moving_around.=Output voltage increases\nif entities are moving around. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalfiredetector/ElectricalFireDetectorDescriptor.java +eln:Output_voltage_increases\nif_a_fire_has_been_detected.=Output voltage increases\nif a fire has been detected. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceDescriptor.java +eln:Provides_configurable_signal\nvoltage.=Provides configurable signal\nvoltage. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceGui.java +eln:Output_at_%s=Output at %s +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricallightsensor/ElectricalLightSensorDescriptor.java +eln:0V_at_night,_%sV_at_noon.=0V at night, %sV at noon. +eln:Provides_an_electrical_voltage\nin_the_presence_of_light.=Provides an electrical voltage\nin the presence of light. +eln:Provides_an_electrical_voltage\nwhich_is_proportional_to\nthe_intensity_of_daylight.=Provides an electrical voltage\nwhich is proportional to\nthe intensity of daylight. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathContainer.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathDescriptor.java +eln:Applicable_boolean_operators\:=Applicable boolean operators\: +eln:Applicable_functions\:=Applicable functions\: +eln:Applicable_mathematical_operators\:=Applicable mathematical operators\: +eln:Calculates_an_output_signal_from\n3_inputs_(A,_B,_C)_using_an_equation.=Calculates an output signal from\n3 inputs (A, B, C) using an equation. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathGui.java +eln:%s_Redstone(s)_required=%s Redstone(s) required +eln:Equation_required!=Equation required\! +eln:Inputs_are=Inputs are +eln:Invalid_equation!=Invalid equation\! +eln:Output_voltage_formula=Output voltage formula +eln:Waiting_for_completion...=Waiting for completion... +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalredstoneinput/ElectricalRedstoneInputDescriptor.java +eln:Converts_Redstone_signal\nto_an_electrical_voltage.=Converts Redstone signal\nto an electrical voltage. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalredstoneoutput/ElectricalRedstoneOutputDescriptor.java +eln:Converts_electrical_voltage\ninto_a_Redstone_signal.=Converts electrical voltage\ninto a Redstone signal. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalrelay/ElectricalRelayDescriptor.java +eln:A_relay_is_an_electrical\ncontact_that_conducts_electric\ncurrent_or_not,_depending\nthe_actual_input_signal_voltage.=A relay is an electrical\ncontact that conducts electric\ncurrent or not, depending\nthe actual input signal voltage. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalrelay/ElectricalRelayGui.java +eln:Normally_closed=Normally closed +eln:Normally_open=Normally open +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalsource/ElectricalSourceDescriptor.java +eln:Creative_block.=Creative block. +eln:Provides_an_ideal_voltage_source\nwithout_energy_or_power_limitation.=Provides an ideal voltage source\nwithout energy or power limitation. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalsource/ElectricalSourceGui.java +eln:Output_voltage=Output voltage +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalswitch/ElectricalSwitchDescriptor.java +eln:Can_break_an_electrical_circuit\ninterrupting_the_current.=Can break an electrical circuit\ninterrupting the current. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricaltimeout/ElectricalTimeoutDescriptor.java +eln:Upon_application_of_a_high_signal,\nthe_timer_maintains_the_output_high_for\na_configurable_interval._Can_be_re-triggered.=Upon application of a high signal,\nthe timer maintains the output high for\na configurable interval. Can be re-triggered. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricaltimeout/ElectricalTimeoutGui.java +eln:Set=Set +eln:The_time_interval_the\noutput_is_kept_high.=The time interval the\noutput is kept high. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalvumeter/ElectricalVuMeterDescriptor.java +eln:Displays_the_value_of_a_signal.=Displays the value of a signal. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalwatch/ElectricalWatchContainer.java +eln:Portable_battery_slot=Portable battery slot +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalweathersensor/ElectricalWeatherSensorDescriptor.java +eln:Clear\:_%sV=Clear\: %sV +eln:Provides_an_electrical_signal\ndepending_the_actual_weather.=Provides an electrical signal\ndepending the actual weather. +eln:Rain\:_%sV=Rain\: %sV +eln:Storm\:_%sV=Storm\: %sV +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalwindsensor/ElectricalWindSensorDescriptor.java +eln:Maximum_wind_speed_is_%sm_s=Maximum wind speed is %sm/s +eln:Provides_an_electrical_signal\ndependant_on_wind_speed.=Provides an electrical signal\ndependant on wind speed. +eln:You_can't_place_this_block_on_the_floor_or_the_ceiling=You can't place this block on the floor or the ceiling +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricasensor/ElectricalSensorDescriptor.java +eln:Can_measure_Voltage_Power_Current=Can measure Voltage/Power/Current +eln:Measures_electrical_values_on_cables.=Measures electrical values on cables. +eln:Measures_voltage_on_cables.=Measures voltage on cables. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricasensor/ElectricalSensorGui.java +eln:Current=Current +eln:Measured_voltage\ncorresponding\nto_0%_output=Measured voltage\ncorresponding\nto 0% output +eln:Measured_voltage\ncorresponding\nto_100%_output=Measured voltage\ncorresponding\nto 100% output +eln:Voltage=Voltage +eln: +eln:# ./src/main/java/mods/eln/sixnode/energymeter/EnergyMeterGui.java +eln:Change_password=Change password +eln:Counter_Mode=Counter Mode +eln:Counts_the_energy_conducted_from\n\u00a74red\u00a7f_to_\u00a71blue\u00a7f.=Counts the energy conducted from\n\\u00a74red\\u00a7f to \\u00a71blue\\u00a7f. +eln:Energy_counter\:_%sJ=Energy counter\: %sJ +eln:Enter_new_energy=Enter new energy +eln:Enter_password=Enter password +eln:Prepay_Mode=Prepay Mode +eln:Reset_time_counter=Reset time counter +eln:Set_energy_counter=Set energy counter +eln:Time_counter\:=Time counter\: +eln:Try_password=Try password +eln:You_can_set_an_initial\namount_of_available_energy.\nWhen_the_counter_arrives_at_0\nthe_contact_will_be_opened.=You can set an initial\namount of available energy.\nWhen the counter arrives at 0\nthe contact will be opened. +eln:is_off=is off +eln:is_on=is on +eln:value_in_kJ=value in kJ +eln: +eln:# ./src/main/java/mods/eln/sixnode/groundcable/GroundCableDescriptor.java +eln:Can_be_used_to_set_a_point_of_an\nelectrical_network_to_0V_potential.\nFor_example_to_ground_negative_battery_contacts.=Can be used to set a point of an\nelectrical network to 0V potential.\nFor example to ground negative battery contacts. +eln:Provides_a_zero_volt_reference.=Provides a zero volt reference. +eln: +eln:# ./src/main/java/mods/eln/sixnode/hub/HubDescriptor.java +eln:Allows_crossing_cables\non_one_single_block.=Allows crossing cables\non one single block. +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketDescriptor.java +eln:Angle\:_%s°_to_%s°=Angle\: %s° to %s° +eln:Spot_range\:_%s_blocks=Spot range\: %s blocks +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketGuiDraw.java +eln:%s_is_not_in_range!=%s is not in range\! +eln:Cable_slot_empty=Cable slot empty +eln:Orientation\:_%s°=Orientation\: %s° +eln:Parallel=Parallel +eln:Powered_by_Lamp_Supply=Powered by Lamp Supply +eln:Powered_by_cable=Powered by cable +eln:Serial=Serial +eln:Specify_the_supply_channel=Specify the supply channel +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyContainer.java +eln:Electrical_cable_slot\nBase_range_is_32_blocks.\nEach_additional_cable\nincreases_range_by_one.=Electrical cable slot\nBase range is 32 blocks.\nEach additional cable\nincreases range by one. +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyDescriptor.java +eln:Supplies_all_lamps_on_the_channel.=Supplies all lamps on the channel. +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyGui.java +eln:Power_channel_name=Power channel name +eln:Wireless_channel_name=Wireless channel name +eln: +eln:# ./src/main/java/mods/eln/sixnode/modbusrtu/ModbusRtuGui.java +eln:Add=Add +eln:Channel_name=Channel name +eln:Modbus_ID=Modbus ID +eln:Modbus_RTU=Modbus RTU +eln:Station_ID=Station ID +eln:Station_name=Station name +eln:Wireless_RX=Wireless RX +eln:Wireless_TX=Wireless TX +eln: +eln:# ./src/main/java/mods/eln/sixnode/powercapacitorsix/PowerCapacitorSixContainer.java +eln:(Increases_maximum_voltage)=(Increases maximum voltage) +eln: +eln:# ./src/main/java/mods/eln/sixnode/powercapacitorsix/PowerCapacitorSixGui.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/powerinductorsix/PowerInductorSixContainer.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/powerinductorsix/PowerInductorSixGui.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/powersocket/PowerSocketDescriptor.java +eln:Supplies_any_device\nplugged_in_with_energy.=Supplies any device\nplugged in with energy. +eln: +eln:# ./src/main/java/mods/eln/sixnode/powersocket/PowerSocketGui.java +eln:Specify_the_device_to_supply_through_this_socket.=Specify the device to supply through this socket. +eln: +eln:# ./src/main/java/mods/eln/sixnode/resistor/ResistorContainer.java +eln:(Sets_resistance)=(Sets resistance) +eln:Coal_dust_slot=Coal dust slot +eln: +eln:# ./src/main/java/mods/eln/sixnode/thermalcable/ThermalCableDescriptor.java +eln:High_parallel_resistance\n_\=>_Low_power_dissipation.=High parallel resistance\n \=> Low power dissipation. +eln:Low_serial_resistance\n_\=>_High_conductivity.=Low serial resistance\n \=> High conductivity. +eln:Parallel_resistance\:_%sK_W=Parallel resistance\: %sK/W +eln:Serial_resistance\:_%sK_W=Serial resistance\: %sK/W +eln: +eln:# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorContainer.java +eln:Cable_slot=Cable slot +eln: +eln:# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorDescriptor.java +eln:Can_measure\:=Can measure\: +eln:Measures_temperature_of_cables.=Measures temperature of cables. +eln:Measures_thermal_values_on_cables.=Measures thermal values on cables. +eln:__Temperature_Power_conducted=Temperature/Power conducted +eln: +eln:# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorGui.java +eln:Measured_temperature\ncorresponding\nto_0%_output=Measured temperature\ncorresponding\nto 0% output +eln:Measured_temperature\ncorresponding\nto_100%_output=Measured temperature\ncorresponding\nto 100% output +eln:Temperature=Temperature +eln: +eln:# ./src/main/java/mods/eln/sixnode/tutorialsign/TutorialSignElement.java +eln:No_text_associated_to_this_beacon=No text associated to this beacon +eln: +eln:# ./src/main/java/mods/eln/sixnode/tutorialsign/TutorialSignGui.java +eln:Set_beacon_name=Set beacon name +eln: +eln:# ./src/main/java/mods/eln/sixnode/wirelesssignal/rx/WirelessSignalRxGui.java +eln: +eln:# ./src/main/java/mods/eln/transparentnode/FuelGenerator.kt +eln:Nominal_power\:_%s_W=Nominal power\: %s W +eln:Nominal_voltage\:_%s_V=Nominal voltage\: %s V +eln:Produces_electricity_using_fuel.=Produces electricity using fuel. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/LargeRheostat.kt +eln:Nom._Resistance\:_%s=Nom. Resistance\: %s +eln: +eln:# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerContainer.java +eln:Drill_slot=Drill slot +eln:Mining_pipe_slot=Mining pipe slot +eln:Ore_scanner_slot=Ore scanner slot +eln: +eln:# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerDescriptor.java +eln:Excavates_on_a_small_radius.\nExtracts_ore_on_a_bigger_radius\:\n10_blocks_radius_after_10_blocks_depth.=Excavates on a small radius.\nExtracts ore on a bigger radius\:\n10 blocks radius after 10 blocks depth. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerGuiDraw.java +eln:Chest_missing_on_the\nback_of_the_auto_miner!=Chest missing on the\nback of the auto miner\! +eln:Halves_speed,_triples_power_draw=Halves speed, triples power draw +eln:Silk_Touch_Off=Silk Touch Off +eln:Silk_Touch_On=Silk Touch On +eln:Silk_touch=Silk touch +eln: +eln:# ./src/main/java/mods/eln/transparentnode/battery/BatteryContainer.java +eln:Overheating_protection=Overheating protection +eln:Overvoltage_protection=Overvoltage protection +eln: +eln:# ./src/main/java/mods/eln/transparentnode/battery/BatteryDescriptor.java +eln:Actual_charge\:_%s=Actual charge\: %s +eln:Energy_capacity\:_%sJ=Energy capacity\: %sJ +eln:_charged_at_%s=charged at %s +eln: +eln:# ./src/main/java/mods/eln/transparentnode/battery/BatteryGuiDraw.java +eln:Charge=Charge +eln:Charged=Charged +eln:Discharge=Discharge +eln:Energy\:=Energy\: +eln:Energy\:_%s=Energy\: %s +eln:Life\:=Life\: +eln:No_charge=No charge +eln:Power_in\:=Power in\: +eln:Power_out\:=Power out\: +eln: +eln:# ./src/main/java/mods/eln/transparentnode/eggincubator/EggIncubatorContainer.java +eln:Egg_slot=Egg slot +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalantennarx/ElectricalAntennaRxDescriptor.java +eln:Wireless_energy_receiver.=Wireless energy receiver. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalantennatx/ElectricalAntennaTxDescriptor.java +eln:Efficiency\:_%s_up_to_%s=Efficiency\: %s up to %s +eln:Wireless_energy_transmitter.=Wireless energy transmitter. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceContainer.java +eln:Heating_corp_slot=Heating corp slot +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceDescriptor.java +eln:Similar_to_a_vanilla_furnace,\nbut_heats_with_electricity.=Similar to a vanilla furnace,\nbut heats with electricity. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceGuiDraw.java +eln:Auto_shutdown=Auto shutdown +eln:Manual_shutdown=Manual shutdown +eln:Set_point\:_%s°C=Set point\: %s°C +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalmachine/ElectricalMachineDescriptor.java +eln:Cost=Cost +eln: +eln:# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceContainer.java +eln:Combustion_chamber_slot=Combustion chamber slot +eln:Fuel_slot=Fuel slot +eln: +eln:# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceDescriptor.java +eln:Generates_heat_when_supplied_with_fuel.=Generates heat when supplied with fuel. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceGuiDraw.java +eln:Control_gauge_at_%s=Control gauge at %s +eln:Decline_fuel=Decline fuel +eln:External_control=External control +eln:Internal_control=Internal control +eln:Take_fuel=Take fuel +eln: +eln:# ./src/main/java/mods/eln/transparentnode/powercapacitor/PowerCapacitorContainer.java +eln:(Increases_maximal_voltage)=(Increases maximal voltage) +eln: +eln:# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelContainer.java +eln:Solar_tracker_slot=Solar tracker slot +eln: +eln:# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelDescriptor.java +eln:Can_be_geared_towards_the_sun.=Can be geared towards the sun. +eln:Max._power\:_%sW=Max. power\: %sW +eln:Max._voltage\:_%sV=Max. voltage\: %sV +eln:Produces_power_from_solar_radiation.=Produces power from solar radiation. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPannelGuiDraw.java +eln:It_is_night=It is night +eln:Solar_panel_angle\:_%s°=Solar panel angle\: %s° +eln:Sun_angle\:_%s°=Sun angle\: %s° +eln: +eln:# ./src/main/java/mods/eln/transparentnode/teleporter/TeleporterGui.java +eln:Destination_transporter=Destination transporter +eln:Power_consumption\:=Power consumption\: +eln:Power_consumption\:_%sW=Power consumption\: %sW +eln:Required_energy\:_%sJ=Required energy\: %sJ +eln:Start=Start +eln:Transporter_name=Transporter name +eln: +eln:# ./src/main/java/mods/eln/transparentnode/thermaldissipatoractive/ThermalDissipatorActiveDescriptor.java +eln:Fan_cooling_power\:_%sW=Fan cooling power\: %sW +eln:Fan_power_consumption\:_%sW=Fan power consumption\: %sW +eln:Fan_voltage\:_%sV=Fan voltage\: %sV +eln: +eln:# ./src/main/java/mods/eln/transparentnode/transformer/TransformerDescriptor.java +eln:The_voltage_ratio_is_proportional\nto_the_cable_stacks_count_ratio.=The voltage ratio is proportional\nto the cable stacks count ratio. +eln:Transforms_an_input_voltage_to\nan_output_voltage.=Transforms an input voltage to\nan output voltage. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/turbine/TurbineDescriptor.java +eln:Generates_electricity_using_heat.=Generates electricity using heat. +eln:Temperature_difference\:_%s°C=Temperature difference\: %s°C +eln: +eln:# ./src/main/java/mods/eln/transparentnode/turret/TurretDescriptor.java +eln:CAUTION\:_Cables_can_get_quite_hot!=CAUTION\: Cables can get quite hot\! +eln:Laser_charge_power\:_%sW...%skW=Laser charge power\: %sW...%skW +eln:Scans_for_entities_and_shoots_if_the\nentity_matches_the_configurable_filter_criteria.=Scans for entities and shoots if the\nentity matches the configurable filter criteria. +eln:Standby_power\:_%sW=Standby power\: %sW +eln: +eln:# ./src/main/java/mods/eln/transparentnode/turret/TurretGui.java +eln:Attack\:=Attack\: +eln:Do_not_attack\:=Do not attack\: +eln:Recharge_power\:=Recharge power\: +eln: +eln:# ./src/main/java/mods/eln/transparentnode/waterturbine/WaterTurbineDescriptor.java +eln:Generates_energy_using_water_stream.=Generates energy using water stream. +eln:No_place_for_water_turbine!=No place for water turbine\! +eln: +eln:# ./src/main/java/mods/eln/transparentnode/windturbine/WindTurbineDescriptor.java +eln:Front\:_%s=Front\: %s +eln:Generates_energy_from_wind.=Generates energy from wind. +eln:Left_Right\:_%s=Left/Right\: %s +eln:Up_Down\:_%s=Up/Down\: %s +eln:Wind_area\:=Wind area\: +eln: +eln:# ./src/main/java/mods/eln/wiki/Data.java +eln:Energy=Energy +eln:Light=Light +eln:Machine=Machine +eln:Ore=Ore +eln:Portable=Portable +eln:Resource=Resource +eln:Signal=Signal +eln:Thermal=Thermal +eln:Upgrade=Upgrade +eln:Utilities=Utilities +eln:Wiring=Wiring +eln: +eln:# ./src/main/java/mods/eln/wiki/Default.java +eln:Previous=Previous +eln: +eln:# ./src/main/java/mods/eln/wiki/ItemDefault.java +eln:Can_be_used_to_craft\:=Can be used to craft\: +eln:Cannot_be_crafted!=Cannot be crafted\! +eln:Cost_%sJ=Cost %sJ +eln:Created_by\:=Created by\: +eln:Is_not_a_crafting_material!=Is not a crafting material\! +eln:Recipe\:=Recipe\: +eln: +eln:# Appearing in multiple source files +eln:(Increases_capacity)=(Increases capacity) +eln:(Increases_inductance)=(Increases inductance) +eln:Actual\:_%s°C=Actual\: %s°C +eln:Biggest=Biggest +eln:Booster_slot=Booster slot +eln:Can_create\:=Can create\: +eln:Capacity\:_%sF=Capacity\: %sF +eln:Charge_power\:_%sW=Charge power\: %sW +eln:Connected=Connected +eln:Cooling_power\:_%sW=Cooling power\: %sW +eln:Copper_cable_slot=Copper cable slot +eln:Dielectric_slot=Dielectric slot +eln:Discharge_power\:_%sW=Discharge power\: %sW +eln:Electrical_cable_slot=Electrical cable slot +eln:Entity_filter_slot=Entity filter slot +eln:Ferromagnetic_core_slot=Ferromagnetic core slot +eln:Has_a_signal_output.=Has a signal output. +eln:Inductance\:_%sH=Inductance\: %sH +eln:Internal_resistance\:_%sΩ=Internal resistance\: %sΩ +eln:Is_off=Is off +eln:Is_on=Is on +eln:Max._temperature\:_%s°C=Max. temperature\: %s°C +eln:Measured_value\ncorresponding\nto_0%_output=Measured value\ncorresponding\nto 0% output +eln:Measured_value\ncorresponding\nto_100%_output=Measured value\ncorresponding\nto 100% output +eln:Nominal\:=Nominal\: +eln:Nominal_power\:_%sW=Nominal power\: %sW +eln:Nominal_usage\:=Nominal usage\: +eln:Nominal_voltage\:_%sV=Nominal voltage\: %sV +eln:Not_connected=Not connected +eln:Not_enough_space_for_this_block=Not enough space for this block +eln:Power=Power +eln:Power\:_%sW=Power\: %sW +eln:Range\:_%s_blocks=Range\: %s blocks +eln:Redstone_slot=Redstone slot +eln:Regulator_slot=Regulator slot +eln:Reset=Reset +eln:Resistance\:_%sΩ=Resistance\: %sΩ +eln:Smallest=Smallest +eln:Specify_the_channel=Specify the channel +eln:Stored_energy\:_%sJ_(%s)=Stored energy\: %sJ (%s) +eln:Temperature\:_%s°C=Temperature\: %s°C +eln:Temperature_gauge=Temperature gauge +eln:Thermal_isolator_slot=Thermal isolator slot +eln:Toggle=Toggle +eln:Toggle_switch=Toggle switch +eln:Toggles_the_output_each_time\nan_emitter's_value_rises.\nUseful_to_allow_multiple_buttons\nto_control_the_same_light.=Toggles the output each time\nan emitter's value rises.\nUseful to allow multiple buttons\nto control the same light. +eln:Used_to_cool_down_turbines.=Used to cool down turbines. +eln:Uses_the_biggest\nvalue_on_the_channel.=Uses the biggest\nvalue on the channel. +eln:Uses_the_smallest\nvalue_on_the_channel.=Uses the smallest\nvalue on the channel. +eln:Validate=Validate +eln:Voltage\:_%sV=Voltage\: %sV +eln:You_can't_place_this_block_at_this_side=You can't place this block at this side diff --git a/src/main/resources/assets/eln/lang/sr.lang b/src/main/resources/assets/eln/lang/sr.lang index f4e769aa7..92e8a8d93 100644 --- a/src/main/resources/assets/eln/lang/sr.lang +++ b/src/main/resources/assets/eln/lang/sr.lang @@ -1,829 +1,829 @@ -# - -# ./src/main/java/mods/eln/Achievements.java -Electrical_Age_[WIP]=Electrical Age [WIP] -achievement.craft_50v_macerator=Crushing Novice -achievement.craft_50v_macerator.desc=Craft a 50V Macerator -achievement.open_guide=Wiki Power -achievement.open_guide.desc=Open the wiki guide - -# ./src/main/java/mods/eln/Eln.java -10A_Diode.name=10A Diode -200V_Active_Thermal_Dissipator.name=200V Active Thermal Dissipator -200V_Battery_Charger.name=200V Battery Charger -200V_Compressor.name=200V Compressor -200V_Condensator.name=200V Condensator -200V_Copper_Heating_Corp.name=200V Copper Heating Corp -200V_Economic_Light_Bulb.name=200V Economic Light Bulb -200V_Farming_Lamp.name=200V Farming Lamp -200V_Fuel_Generator.name=200V Fuel Generator -200V_Incandescent_Light_Bulb.name=200V Incandescent Light Bulb -200V_Iron_Heating_Corp.name=200V Iron Heating Corp -200V_LED_Bulb.name=200V LED Bulb -200V_Macerator.name=200V Macerator -200V_Magnetizer.name=200V Magnetizer -200V_Plate_Machine.name=200V Plate Machine -200V_Power_Socket.name=200V Power Socket -200V_Tungsten_Heating_Corp.name=200V Tungsten Heating Corp -200V_Turbine.name=200V Turbine -25A_Diode.name=25A Diode -50V_Battery_Charger.name=50V Battery Charger -50V_Carbon_Incandescent_Light_Bulb.name=50V Carbon Incandescent Light Bulb -50V_Compressor.name=50V Compressor -50V_Condensator.name=50V Condensator -50V_Copper_Heating_Corp.name=50V Copper Heating Corp -50V_Economic_Light_Bulb.name=50V Economic Light Bulb -50V_Egg_Incubator.name=50V Egg Incubator -50V_Farming_Lamp.name=50V Farming Lamp -50V_Fuel_Generator.name=50V Fuel Generator -50V_Incandescent_Light_Bulb.name=50V Incandescent Light Bulb -50V_Iron_Heating_Corp.name=50V Iron Heating Corp -50V_LED_Bulb.name=50V LED Bulb -50V_Macerator.name=50V Macerator -50V_Magnetizer.name=50V Magnetizer -50V_Plate_Machine.name=50V Plate Machine -50V_Power_Socket.name=50V Power Socket -50V_Tungsten_Heating_Corp.name=50V Tungsten Heating Corp -50V_Turbine.name=50V Turbine -800V_Defence_Turret.name=800V Defence Turret -AND_Chip.name=AND Chip -Advanced_Chip.name=Advanced Chip -Advanced_Electrical_Motor.name=Advanced Electrical Motor -Advanced_Energy_Meter.name=Advanced Energy Meter -Advanced_Machine_Block.name=Advanced Machine Block -Advanced_Magnet.name=Advanced Magnet -AllMeter.name=Universal-Meter -Alloy_Dust.name=Alloy Dust -Alloy_Ingot.name=Alloy Ingot -Alloy_Plate.name=Alloy Plate -Analog_Watch.name=Analog watch -Analog_vuMeter.name=Analog Gauge -Analogic_Regulator.name=Analogic Regulator -Animal_Filter.name=Animal Filter -Auto_Miner.name=Auto Miner -Average_Electrical_Drill.name=Average Electrical Drill -Average_Ferromagnetic_Core.name=Average Ferromagnetic Core -Basic_Magnet.name=Basic Magnet -Black_Brush.name=Black Brush -Blue_Brush.name=Blue Brush -Brown_Brush.name=Brown Brush -Capacity_Oriented_Battery.name=Capacity Oriented Battery -Cheap_Chip.name=Cheap Chip -Cheap_Electrical_Drill.name=Cheap Electrical Drill -Cheap_Ferromagnetic_Core.name=Cheap Ferromagnetic Core -Cinnabar_Dust.name=Cinnabar Dust -Cinnabar_Ore.name=Cinnabar Ore -Coal_Dust.name=Coal Dust -Coal_Plate.name=Coal Plate -Combustion_Chamber.name=Combustion Chamber -Copper_Cable.name=Copper Cable -Copper_Dust.name=Copper Dust -Copper_Ingot.name=Copper Ingot -Copper_Ore.name=Copper Ore -Copper_Plate.name=Copper Plate -Copper_Thermal_Cable.name=Copper Thermal Cable -Cost_Oriented_Battery.name=Cost Oriented Battery -Current_Oriented_Battery.name=Current Oriented Battery -Cyan_Brush.name=Cyan Brush -D_Flip_Flop_Chip.name=D Flip Flop Chip -Data_Logger.name=Data Logger -Data_Logger_Print.name=Data Logger Print -Dielectric.name=Dielectric -Digital_Watch.name=Digital Watch -Electrical_Anemometer_Sensor.name=Electrical Anemometer Sensor -Electrical_Breaker.name=Electrical Breaker -Electrical_Daylight_Sensor.name=Electrical Daylight Sensor -Electrical_Entity_Sensor.name=Electrical Entity Sensor -Electrical_Fire_Detector.name=Electrical Fire Detector -Electrical_Furnace.name=Electrical Furnace -Electrical_Light_Sensor.name=Electrical Light Sensor -Electrical_Motor.name=Electrical Motor -Electrical_Probe.name=Electrical Probe -Electrical_Probe_Chip.name=Electrical Probe Chip -Electrical_Source.name=Electrical Source -Electrical_Timer.name=Electrical Timer -Electrical_Weather_Sensor.name=Electrical Weather Sensor -Electrical_age_wrench,\nCan_be_used_to_turn\nsmall_wall_blocks=Electrical age wrench,\nCan be used to turn\nsmall wall blocks -Energy_Meter.name=Energy Meter -Experimental_Transporter.name=Experimental Transporter -Fast_Electrical_Drill.name=Fast Electrical Drill -Ferrite_Ingot.name=Ferrite Ingot -Flat_Lamp_Socket.name=Flat Lamp Socket -Fluorescent_Lamp_Socket.name=Fluorescent Lamp Socket -Generator.name=Generator -Gold_Dust.name=Gold Dust -Gold_Plate.name=Gold Plate -Gray_Brush.name=Gray Brush -Green_Brush.name=Green Brush -Ground_Cable.name=Ground Cable -High_Power_Receiver_Antenna.name=High Power Receiver Antenna -High_Power_Transmitter_Antenna.name=High Power Transmitter Antenna -High_Voltage_Cable.name=High Voltage Cable -High_Voltage_Relay.name=High Voltage Relay -High_Voltage_Switch.name=High Voltage Switch -Hub.name=Hub -Industrial_Data_Logger.name=Industrial Data Logger -Iron_Cable.name=Iron Cable -Iron_Dust.name=Iron Dust -Iron_Plate.name=Iron Plate -JK_Flip_Flop_Chip.name=JK Flip Flop Chip -LED_vuMeter.name=LED vuMeter -Lamp_Socket_A.name=Lamp Socket A -Lamp_Socket_B_Projector.name=Lamp Socket B Projector -Lamp_Supply.name=Lamp Supply -Large_Rheostat.name=Large Rheostat -Lead_Dust.name=Lead Dust -Lead_Ingot.name=Lead Ingot -Lead_Ore.name=Lead Ore -Lead_Plate.name=Lead Plate -Life_Oriented_Battery.name=Life Oriented Battery -Light_Blue_Brush.name=Light Blue Brush -Lime_Brush.name=Lime Brush -Long_Suspended_Lamp_Socket.name=Long Suspended Lamp Socket -Low_Power_Receiver_Antenna.name=Low Power Receiver Antenna -Low_Power_Transmitter_Antenna.name=Low Power Transmitter Antenna -Low_Voltage_Cable.name=Low Voltage Cable -Low_Voltage_Relay.name=Low Voltage Relay -Low_Voltage_Switch.name=Low Voltage Switch -Machine_Block.name=Machine Block -Machine_Booster.name=Machine Booster -Magenta_Brush.name=Magenta Brush -Medium_Power_Receiver_Antenna.name=Medium Power Receiver Antenna -Medium_Power_Transmitter_Antenna.name=Medium Power Transmitter Antenna -Medium_Voltage_Cable.name=Medium Voltage Cable -Medium_Voltage_Relay.name=Medium Voltage Relay -Medium_Voltage_Switch.name=Medium Voltage Switch -Mercury.name=Mercury -Mining_Pipe.name=Mining Pipe -Modbus_RTU.name=Modbus RTU -Modern_Data_Logger.name=Modern Data Logger -Monster_Filter.name=Monster Filter -MultiMeter.name=Multimeter -NAND_Chip.name=NAND Chip -NOR_Chip.name=NOR Chip -NOT_Chip.name=NOT Chip -Nuclear_Alarm.name=Nuclear Alarm -OR_Chip.name=OR Chip -On_OFF_Regulator_10_Percent.name=On/off regulator 10% -On_OFF_Regulator_1_Percent.name=On/off regulator 1% -Optimal_Ferromagnetic_Core.name=Optimal Ferromagnetic Core -Orange_Brush.name=Orange Brush -Ore_Scanner.name=Ore Scanner -Oscillator_Chip.name=Oscillator Chip -Overheating_Protection.name=Overheating Protection -Overvoltage_Protection.name=Overvoltage Protection -PAL_Chip.name=PAL Chip -Pink_Brush.name=Pink Brush -Player_Filter.name=Player Filter -Portable_Battery.name=Portable Battery -Portable_Battery_Pack.name=Portable Battery Pack -Portable_Condensator.name=Portable Condensator -Portable_Condensator_Pack.name=Portable Condensator Pack -Portable_Electrical_Axe.name=Portable Electrical Axe -Portable_Electrical_Mining_Drill.name=Portable Electrical Mining Drill -Power_Capacitor.name=Power Capacitor -Power_Inductor.name=Power Inductor -Power_Resistor.name=Power Resistor -Power_capacitor.name=Power capacitor -Power_inductor.name=Power inductor -Purple_Brush.name=Purple Brush -Red_Brush.name=Red Brush -Redstone-to-Voltage_Converter.name=Redstone-to-Voltage Converter -Rheostat.name=Rheostat -Robust_Lamp_Socket.name=Robust Lamp Socket -Rubber.name=Rubber -Schmitt_Trigger_Chip.name=Schmitt Trigger Chip -Sconce_Lamp_Socket.name=Sconce Lamp Socket -Signal_20H_inductor.name=Signal 20H inductor -Signal_Antenna.name=Signal Antenna -Signal_Button.name=Signal Button -Signal_Cable.name=Signal Cable -Signal_Diode.name=Signal Diode -Signal_Processor.name=Signal Processor -Signal_Relay.name=Signal Relay -Signal_Source.name=Signal Source -Signal_Switch.name=Signal Switch -Signal_Switch_with_LED.name=Signal Switch with LED -Signal_Trimmer.name=Signal Trimmer -Silicon_Dust.name=Silicon Dust -Silicon_Ingot.name=Silicon Ingot -Silicon_Plate.name=Silicon Plate -Silver_Brush.name=Silver Brush -Simple_Lamp_Socket.name=Simple Lamp Socket -Single-use_Battery.name=Single-use Battery -Small_200V_Copper_Heating_Corp.name=Small 200V Copper Heating Corp -Small_200V_Iron_Heating_Corp.name=Small 200V Iron Heating Corp -Small_200V_Tungsten_Heating_Corp.name=Small 200V Tungsten Heating Corp -Small_50V_Carbon_Incandescent_Light_Bulb.name=Small 50V Carbon Incandescent Light Bulb -Small_50V_Copper_Heating_Corp.name=Small 50V Copper Heating Corp -Small_50V_Economic_Light_Bulb.name=Small 50V Economic Light Bulb -Small_50V_Incandescent_Light_Bulb.name=Small 50V Incandescent Light Bulb -Small_50V_Iron_Heating_Corp.name=Small 50V Iron Heating Corp -Small_50V_Tungsten_Heating_Corp.name=Small 50V Tungsten Heating Corp -Small_Active_Thermal_Dissipator.name=Small Active Thermal Dissipator -Small_Flashlight.name=Small Flashlight -Small_Passive_Thermal_Dissipator.name=Small Passive Thermal Dissipator -Small_Rotating_Solar_Panel.name=Small Rotating Solar Panel -Small_Solar_Panel.name=Small Solar Panel -Solar_Tracker.name=Solar Tracker -Standard_Alarm.name=Standard Alarm -Steam_Turbine.name=Steam Turbine -Stone_Heat_Furnace.name=Stone Heat Furnace -Street_Light.name=Streetlight -Suspended_Lamp_Socket.name=Suspended Lamp Socket -Temperature_Probe.name=Temperature Probe -Thermal_Probe.name=Thermal Probe -Thermal_Probe_Chip.name=Thermal Probe Chip -Thermistor.name=Thermistor -ThermoMeter.name=Thermometer -Transformer.name=Transformer -Tree_Resin.name=Tree Resin -Tree_Resin_Collector.name=Tree Resin Collector -Tungsten_Cable.name=Tungsten Cable -Tungsten_Dust.name=Tungsten Dust -Tungsten_Ingot.name=Tungsten Ingot -Tungsten_Ore.name=Tungsten Ore -Tutorial_Sign.name=Tutorial Sign -Very_High_Voltage_Cable.name=Very High Voltage Cable -Very_High_Voltage_Relay.name=Very High Voltage Relay -Very_High_Voltage_Switch.name=Very High Voltage Switch -Voltage-to-Redstone_Converter.name=Voltage-to-Redstone Converter -Voltage_Oriented_Battery.name=Voltage Oriented Battery -Voltage_Probe.name=Voltage Probe -Water_Turbine.name=Water Turbine -Weak_50V_Battery_Charger.name=Weak 50V Battery Charger -White_Brush.name=White Brush -Wind_Turbine.name=Wind Turbine -Wireless_Analyser.name=Wireless Analyzer -Wireless_Button.name=Wireless Button -Wireless_Signal_Receiver.name=Wireless Signal Receiver -Wireless_Signal_Repeater.name=Wireless Signal Repeater -Wireless_Signal_Transmitter.name=Wireless Signal Transmitter -Wireless_Switch.name=Wireless Switch -Wrench.name=Wrench -X-Ray_Scanner.name=X-Ray Scanner -XNOR_Chip.name=XNOR Chip -XOR_Chip.name=XOR Chip -Yellow_Brush.name=Yellow Brush -entity.EAReplicator.name=Replicator -item.Copper Axe.name\=Copper Axe -item.Copper Axe.name\=Copper Axe -item.Copper Axe.name\=Copper Axe -item.Copper Axe.name\=Copper Axe -item.Copper Axe.name\=Copper Axe -item.Copper Axe.name\=Copper Axe -item.Copper Axe.name\=Copper Axe -item.Copper Axe.name\=Copper Axe -item.Copper Axe.name\=Copper Axe -item.E-Coal Boots.name\=E-Coal Boots -item.E-Coal Boots.name\=E-Coal Boots -item.E-Coal Boots.name\=E-Coal Boots -item.E-Coal Boots.name\=E-Coal Boots -itemGroup.Eln=Electrical Age -mod.meta.desc=Electricity in your base\! -tile.eln.ElnProbe.name=Eln Computer Probe -tile.eln.EnergyConverterElnToOtherHVUBlock.name=800V Electrical Age to other energy exporter -tile.eln.EnergyConverterElnToOtherLVUBlock.name=50V Electrical Age to other energy exporter -tile.eln.EnergyConverterElnToOtherMVUBlock.name=200V Electrical Age to other energy exporter - -# ./src/main/java/mods/eln/i18n/I18N.java -You_have_%s_lives_left=You have %s lives left - -# ./src/main/java/mods/eln/item/BrushDescriptor.java -Brush_is_dry=Brush is dry -Can_paint_%s_blocks=Can paint %s blocks - -# ./src/main/java/mods/eln/item/CombustionChamber.java -Upgrade_for_the_Stone_Heat_Furnace.=Upgrade for the Stone Heat Furnace. - -# ./src/main/java/mods/eln/item/ElectricalDrillDescriptor.java -Energy_per_operation\:_%sJ=Energy per operation\: %sJ -Time_per_operation\:_%ss=Time per operation\: %ss - -# ./src/main/java/mods/eln/item/FerromagneticCoreDescriptor.java -Cable_loss_factor\:_%s=Cable loss factor\: %s - -# ./src/main/java/mods/eln/item/HeatingCorpElement.java - -# ./src/main/java/mods/eln/item/LampDescriptor.java -Bad=Bad -Condition\:=Condition\: -End_of_life=End of life -Good=Good -New=New -Nominal_lifetime\:_%sh=Nominal lifetime\: %sh -Technology\:_%s=Technology\: %s -Used=Used - -# ./src/main/java/mods/eln/item/LampSlot.java -Lamp_slot=Lamp slot - -# ./src/main/java/mods/eln/item/OverHeatingProtectionDescriptor.java -Useful_to_prevent_overheating\nof_Batteries=Useful to prevent overheating\nof Batteries - -# ./src/main/java/mods/eln/item/OverVoltageProtectionDescriptor.java -Useful_to_prevent_over-voltage\nof_Batteries=Useful to prevent over-voltage\nof Batteries - -# ./src/main/java/mods/eln/item/SolarTrackerDescriptor.java -Solar_panel_upgrade=Solar panel upgrade - -# ./src/main/java/mods/eln/item/electricalitem/BatteryItem.java - -# ./src/main/java/mods/eln/item/electricalitem/ElectricalLampItem.java -Off=Off -On=On -State\:=State\: -Stored_Energy\:_%sJ_(%s)=Stored Energy\: %sJ (%s) - -# ./src/main/java/mods/eln/item/regulator/RegulatorSlot.java - -# ./src/main/java/mods/eln/misc/UtilsClient.java -Hold_shift=Hold shift - -# ./src/main/java/mods/eln/misc/Version.java -mod.name=Electrical Age - -# ./src/main/java/mods/eln/node/six/SixNodeDescriptor.java - -# ./src/main/java/mods/eln/simplenode/energyconverter/EnergyConverterElnToOtherGui.java -Input_power_is_limited_to_%sW=Input power is limited to %sW - -# ./src/main/java/mods/eln/sixnode/LogicGate.kt -_O\:_= O\: - -# ./src/main/java/mods/eln/sixnode/TreeResinCollector/TreeResinCollectorDescriptor.java -Produces_Tree_Resin_over\ntime_when_put_on_a_tree.=Produces Tree Resin over\ntime when put on a tree. -This_block_can_only_be_placed_on_the_side_of_a_tree!=This block can only be placed on the side of a tree\! - -# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerContainer.java -Battery_slot=Battery slot - -# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerDescriptor.java -Can_be_used_to_recharge\nelectrical_items_like\:\nFlash_Light,_X-Ray_scanner\nand_Portable_Battery_...=Can be used to recharge\nelectrical items like\:\nFlash Light, X-Ray scanner\nand Portable Battery ... - -# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerGui.java - -# ./src/main/java/mods/eln/sixnode/diode/DiodeDescriptor.java -Electrical_current_can_only\nflow_through_the_diode\nfrom_anode_to_cathode=Electrical current can only\nflow through the diode\nfrom anode to cathode - -# ./src/main/java/mods/eln/sixnode/electricalalarm/ElectricalAlarmDescriptor.java -= -Emits_an_acoustic_alarm_if\nthe_input_signal_is_high=Emits an acoustic alarm if\nthe input signal is high - -# ./src/main/java/mods/eln/sixnode/electricalalarm/ElectricalAlarmGui.java -Sound_is_muted=Sound is muted -Sound_is_not_muted=Sound is not muted - -# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerContainer.java - -# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerDescriptor.java -Protects_electrical_components\nOpens_contact_if\:\n__-_Voltage_exceeds_a_certain_level\n-_Current_exceeds_the_cable_limit=Protects electrical components\nOpens contact if\:\n - Voltage exceeds a certain level\n- Current exceeds the cable limit - -# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerGui.java -Maximum_voltage_before_cutting_off=Maximum voltage before cutting off -Minimum_voltage_before_cutting_off=Minimum voltage before cutting off -Switch_is_off=Switch is off -Switch_is_on=Switch is on - -# ./src/main/java/mods/eln/sixnode/electricalcable/ElectricalCableDescriptor.java -A_signal_is_electrical_information\nwhich_must_be_between_0V_and_%sV=A signal is electrical information\nwhich must be between 0V and %sV -Cable_is_adapted_to_conduct\nelectrical_signals.=Cable is adapted to conduct\nelectrical signals. -Current\:_%sA=Current\: %sA -Not_adapted_to_transport_power.=Not adapted to transport power. -Save_usage\:=Save usage\: -Serial_resistance\:_%sΩ=Serial resistance\: %sΩ - -# ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerDescriptor.java -It_can_store_up_to_256_points.=It can store up to 256 points. -Measures_the_voltage_of_an\nelectrical_signal_and_plots\nthe_data_in_real_time.=Measures the voltage of an\nelectrical signal and plots\nthe data in real time. - -# ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerGui.java -Back_to_display=Back to display -Configuration=Configuration -Current_[A]=Current [A] -Energy_[J]=Energy [J] -Percent_[-]%=Percent [-]% -Power_[W]=Power [W] -Print=Print -Sampling_period=Sampling period -Temp._[*C]=Temp. [*C] -Voltage_[V]=Voltage [V] -Y-axis_max=Y-axis max -Y-axis_min=Y-axis min - -# ./src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorContainer.java - -# ./src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorDescriptor.java -Output_voltage_increases\nif_entities_are_moving_around.=Output voltage increases\nif entities are moving around. - -# ./src/main/java/mods/eln/sixnode/electricalfiredetector/ElectricalFireDetectorDescriptor.java -Output_voltage_increases\nif_a_fire_has_been_detected.=Output voltage increases\nif a fire has been detected. - -# ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceDescriptor.java -Provides_configurable_signal\nvoltage.=Provides configurable signal\nvoltage. - -# ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceGui.java -Output_at_%s=Output at %s - -# ./src/main/java/mods/eln/sixnode/electricallightsensor/ElectricalLightSensorDescriptor.java -0V_at_night,_%sV_at_noon.=0V at night, %sV at noon. -Provides_an_electrical_voltage\nin_the_presence_of_light.=Provides an electrical voltage\nin the presence of light. -Provides_an_electrical_voltage\nwhich_is_proportional_to\nthe_intensity_of_daylight.=Provides an electrical voltage\nwhich is proportional to\nthe intensity of daylight. - -# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathContainer.java - -# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathDescriptor.java -Applicable_boolean_operators\:=Applicable boolean operators\: -Applicable_functions\:=Applicable functions\: -Applicable_mathematical_operators\:=Applicable mathematical operators\: -Calculates_an_output_signal_from\n3_inputs_(A,_B,_C)_using_an_equation.=Calculates an output signal from\n3 inputs (A, B, C) using an equation. - -# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathGui.java -%s_Redstone(s)_required=%s Redstone(s) required -Equation_required!=Equation required\! -Inputs_are=Inputs are -Invalid_equation!=Invalid equation\! -Output_voltage_formula=Output voltage formula -Waiting_for_completion...=Waiting for completion... - -# ./src/main/java/mods/eln/sixnode/electricalredstoneinput/ElectricalRedstoneInputDescriptor.java -Converts_Redstone_signal\nto_an_electrical_voltage.=Converts Redstone signal\nto an electrical voltage. - -# ./src/main/java/mods/eln/sixnode/electricalredstoneoutput/ElectricalRedstoneOutputDescriptor.java -Converts_electrical_voltage\ninto_a_Redstone_signal.=Converts electrical voltage\ninto a Redstone signal. - -# ./src/main/java/mods/eln/sixnode/electricalrelay/ElectricalRelayDescriptor.java -A_relay_is_an_electrical\ncontact_that_conducts_electric\ncurrent_or_not,_depending\nthe_actual_input_signal_voltage.=A relay is an electrical\ncontact that conducts electric\ncurrent or not, depending\nthe actual input signal voltage. - -# ./src/main/java/mods/eln/sixnode/electricalrelay/ElectricalRelayGui.java -Normally_closed=Normally closed -Normally_open=Normally open - -# ./src/main/java/mods/eln/sixnode/electricalsource/ElectricalSourceDescriptor.java -Creative_block.=Creative block. -Provides_an_ideal_voltage_source\nwithout_energy_or_power_limitation.=Provides an ideal voltage source\nwithout energy or power limitation. - -# ./src/main/java/mods/eln/sixnode/electricalsource/ElectricalSourceGui.java -Output_voltage=Output voltage - -# ./src/main/java/mods/eln/sixnode/electricalswitch/ElectricalSwitchDescriptor.java -Can_break_an_electrical_circuit\ninterrupting_the_current.=Can break an electrical circuit\ninterrupting the current. - -# ./src/main/java/mods/eln/sixnode/electricaltimeout/ElectricalTimeoutDescriptor.java -Upon_application_of_a_high_signal,\nthe_timer_maintains_the_output_high_for\na_configurable_interval._Can_be_re-triggered.=Upon application of a high signal,\nthe timer maintains the output high for\na configurable interval. Can be re-triggered. - -# ./src/main/java/mods/eln/sixnode/electricaltimeout/ElectricalTimeoutGui.java -Set=Set -The_time_interval_the\noutput_is_kept_high.=The time interval the\noutput is kept high. - -# ./src/main/java/mods/eln/sixnode/electricalvumeter/ElectricalVuMeterDescriptor.java -Displays_the_value_of_a_signal.=Displays the value of a signal. - -# ./src/main/java/mods/eln/sixnode/electricalwatch/ElectricalWatchContainer.java -Portable_battery_slot=Portable battery slot - -# ./src/main/java/mods/eln/sixnode/electricalweathersensor/ElectricalWeatherSensorDescriptor.java -Clear\:_%sV=Clear\: %sV -Provides_an_electrical_signal\ndepending_the_actual_weather.=Provides an electrical signal\ndepending the actual weather. -Rain\:_%sV=Rain\: %sV -Storm\:_%sV=Storm\: %sV - -# ./src/main/java/mods/eln/sixnode/electricalwindsensor/ElectricalWindSensorDescriptor.java -Maximum_wind_speed_is_%sm_s=Maximum wind speed is %sm/s -Provides_an_electrical_signal\ndependant_on_wind_speed.=Provides an electrical signal\ndependant on wind speed. -You_can't_place_this_block_on_the_floor_or_the_ceiling=You can't place this block on the floor or the ceiling - -# ./src/main/java/mods/eln/sixnode/electricasensor/ElectricalSensorDescriptor.java -Can_measure_Voltage_Power_Current=Can measure Voltage/Power/Current -Measures_electrical_values_on_cables.=Measures electrical values on cables. -Measures_voltage_on_cables.=Measures voltage on cables. - -# ./src/main/java/mods/eln/sixnode/electricasensor/ElectricalSensorGui.java -Current=Current -Measured_voltage\ncorresponding\nto_0%_output=Measured voltage\ncorresponding\nto 0% output -Measured_voltage\ncorresponding\nto_100%_output=Measured voltage\ncorresponding\nto 100% output -Voltage=Voltage - -# ./src/main/java/mods/eln/sixnode/energymeter/EnergyMeterGui.java -Change_password=Change password -Counter_Mode=Counter Mode -Counts_the_energy_conducted_from\n\u00a74red\u00a7f_to_\u00a71blue\u00a7f.=Counts the energy conducted from\n\\u00a74red\\u00a7f to \\u00a71blue\\u00a7f. -Energy_counter\:_%sJ=Energy counter\: %sJ -Enter_new_energy=Enter new energy -Enter_password=Enter password -Prepay_Mode=Prepay Mode -Reset_time_counter=Reset time counter -Set_energy_counter=Set energy counter -Time_counter\:=Time counter\: -Try_password=Try password -You_can_set_an_initial\namount_of_available_energy.\nWhen_the_counter_arrives_at_0\nthe_contact_will_be_opened.=You can set an initial\namount of available energy.\nWhen the counter arrives at 0\nthe contact will be opened. -is_off=is off -is_on=is on -value_in_kJ=value in kJ - -# ./src/main/java/mods/eln/sixnode/groundcable/GroundCableDescriptor.java -Can_be_used_to_set_a_point_of_an\nelectrical_network_to_0V_potential.\nFor_example_to_ground_negative_battery_contacts.=Can be used to set a point of an\nelectrical network to 0V potential.\nFor example to ground negative battery contacts. -Provides_a_zero_volt_reference.=Provides a zero volt reference. - -# ./src/main/java/mods/eln/sixnode/hub/HubDescriptor.java -Allows_crossing_cables\non_one_single_block.=Allows crossing cables\non one single block. - -# ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketDescriptor.java -Angle\:_%s°_to_%s°=Angle\: %s° to %s° -Spot_range\:_%s_blocks=Spot range\: %s blocks - -# ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketGuiDraw.java -%s_is_not_in_range!=%s is not in range\! -Cable_slot_empty=Cable slot empty -Orientation\:_%s°=Orientation\: %s° -Parallel=Parallel -Powered_by_Lamp_Supply=Powered by Lamp Supply -Powered_by_cable=Powered by cable -Serial=Serial -Specify_the_supply_channel=Specify the supply channel - -# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyContainer.java -Electrical_cable_slot\nBase_range_is_32_blocks.\nEach_additional_cable\nincreases_range_by_one.=Electrical cable slot\nBase range is 32 blocks.\nEach additional cable\nincreases range by one. - -# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyDescriptor.java -Supplies_all_lamps_on_the_channel.=Supplies all lamps on the channel. - -# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyGui.java -Power_channel_name=Power channel name -Wireless_channel_name=Wireless channel name - -# ./src/main/java/mods/eln/sixnode/modbusrtu/ModbusRtuGui.java -Add=Add -Channel_name=Channel name -Modbus_ID=Modbus ID -Modbus_RTU=Modbus RTU -Station_ID=Station ID -Station_name=Station name -Wireless_RX=Wireless RX -Wireless_TX=Wireless TX - -# ./src/main/java/mods/eln/sixnode/powercapacitorsix/PowerCapacitorSixContainer.java -(Increases_maximum_voltage)=(Increases maximum voltage) - -# ./src/main/java/mods/eln/sixnode/powercapacitorsix/PowerCapacitorSixGui.java - -# ./src/main/java/mods/eln/sixnode/powerinductorsix/PowerInductorSixContainer.java - -# ./src/main/java/mods/eln/sixnode/powerinductorsix/PowerInductorSixGui.java - -# ./src/main/java/mods/eln/sixnode/powersocket/PowerSocketDescriptor.java -Supplies_any_device\nplugged_in_with_energy.=Supplies any device\nplugged in with energy. - -# ./src/main/java/mods/eln/sixnode/powersocket/PowerSocketGui.java -Specify_the_device_to_supply_through_this_socket.=Specify the device to supply through this socket. - -# ./src/main/java/mods/eln/sixnode/resistor/ResistorContainer.java -(Sets_resistance)=(Sets resistance) -Coal_dust_slot=Coal dust slot - -# ./src/main/java/mods/eln/sixnode/thermalcable/ThermalCableDescriptor.java -High_parallel_resistance\n_\=>_Low_power_dissipation.=High parallel resistance\n \=> Low power dissipation. -Low_serial_resistance\n_\=>_High_conductivity.=Low serial resistance\n \=> High conductivity. -Parallel_resistance\:_%sK_W=Parallel resistance\: %sK/W -Serial_resistance\:_%sK_W=Serial resistance\: %sK/W - -# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorContainer.java -Cable_slot=Cable slot - -# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorDescriptor.java -Can_measure\:=Can measure\: -Measures_temperature_of_cables.=Measures temperature of cables. -Measures_thermal_values_on_cables.=Measures thermal values on cables. -__Temperature_Power_conducted=Temperature/Power conducted - -# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorGui.java -Measured_temperature\ncorresponding\nto_0%_output=Measured temperature\ncorresponding\nto 0% output -Measured_temperature\ncorresponding\nto_100%_output=Measured temperature\ncorresponding\nto 100% output -Temperature=Temperature - -# ./src/main/java/mods/eln/sixnode/tutorialsign/TutorialSignElement.java -No_text_associated_to_this_beacon=No text associated to this beacon - -# ./src/main/java/mods/eln/sixnode/tutorialsign/TutorialSignGui.java -Set_beacon_name=Set beacon name - -# ./src/main/java/mods/eln/sixnode/wirelesssignal/rx/WirelessSignalRxGui.java - -# ./src/main/java/mods/eln/transparentnode/FuelGenerator.kt -Nominal_power\:_%s_W=Nominal power\: %s W -Nominal_voltage\:_%s_V=Nominal voltage\: %s V -Produces_electricity_using_fuel.=Produces electricity using fuel. - -# ./src/main/java/mods/eln/transparentnode/LargeRheostat.kt -Nom._Resistance\:_%s=Nom. Resistance\: %s - -# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerContainer.java -Drill_slot=Drill slot -Mining_pipe_slot=Mining pipe slot -Ore_scanner_slot=Ore scanner slot - -# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerDescriptor.java -Excavates_on_a_small_radius.\nExtracts_ore_on_a_bigger_radius\:\n10_blocks_radius_after_10_blocks_depth.=Excavates on a small radius.\nExtracts ore on a bigger radius\:\n10 blocks radius after 10 blocks depth. - -# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerGuiDraw.java -Chest_missing_on_the\nback_of_the_auto_miner!=Chest missing on the\nback of the auto miner\! -Halves_speed,_triples_power_draw=Halves speed, triples power draw -Silk_Touch_Off=Silk Touch Off -Silk_Touch_On=Silk Touch On -Silk_touch=Silk touch - -# ./src/main/java/mods/eln/transparentnode/battery/BatteryContainer.java -Overheating_protection=Overheating protection -Overvoltage_protection=Overvoltage protection - -# ./src/main/java/mods/eln/transparentnode/battery/BatteryDescriptor.java -Actual_charge\:_%s=Actual charge\: %s -Energy_capacity\:_%sJ=Energy capacity\: %sJ -_charged_at_%s=charged at %s - -# ./src/main/java/mods/eln/transparentnode/battery/BatteryGuiDraw.java -Charge=Charge -Charged=Charged -Discharge=Discharge -Energy\:=Energy\: -Energy\:_%s=Energy\: %s -Life\:=Life\: -No_charge=No charge -Power_in\:=Power in\: -Power_out\:=Power out\: - -# ./src/main/java/mods/eln/transparentnode/eggincubator/EggIncubatorContainer.java -Egg_slot=Egg slot - -# ./src/main/java/mods/eln/transparentnode/electricalantennarx/ElectricalAntennaRxDescriptor.java -Wireless_energy_receiver.=Wireless energy receiver. - -# ./src/main/java/mods/eln/transparentnode/electricalantennatx/ElectricalAntennaTxDescriptor.java -Efficiency\:_%s_up_to_%s=Efficiency\: %s up to %s -Wireless_energy_transmitter.=Wireless energy transmitter. - -# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceContainer.java -Heating_corp_slot=Heating corp slot - -# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceDescriptor.java -Similar_to_a_vanilla_furnace,\nbut_heats_with_electricity.=Similar to a vanilla furnace,\nbut heats with electricity. - -# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceGuiDraw.java -Auto_shutdown=Auto shutdown -Manual_shutdown=Manual shutdown -Set_point\:_%s°C=Set point\: %s°C - -# ./src/main/java/mods/eln/transparentnode/electricalmachine/ElectricalMachineDescriptor.java -Cost=Cost - -# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceContainer.java -Combustion_chamber_slot=Combustion chamber slot -Fuel_slot=Fuel slot - -# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceDescriptor.java -Generates_heat_when_supplied_with_fuel.=Generates heat when supplied with fuel. - -# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceGuiDraw.java -Control_gauge_at_%s=Control gauge at %s -Decline_fuel=Decline fuel -External_control=External control -Internal_control=Internal control -Take_fuel=Take fuel - -# ./src/main/java/mods/eln/transparentnode/powercapacitor/PowerCapacitorContainer.java -(Increases_maximal_voltage)=(Increases maximal voltage) - -# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelContainer.java -Solar_tracker_slot=Solar tracker slot - -# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelDescriptor.java -Can_be_geared_towards_the_sun.=Can be geared towards the sun. -Max._power\:_%sW=Max. power\: %sW -Max._voltage\:_%sV=Max. voltage\: %sV -Produces_power_from_solar_radiation.=Produces power from solar radiation. - -# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPannelGuiDraw.java -It_is_night=It is night -Solar_panel_angle\:_%s°=Solar panel angle\: %s° -Sun_angle\:_%s°=Sun angle\: %s° - -# ./src/main/java/mods/eln/transparentnode/teleporter/TeleporterGui.java -Destination_transporter=Destination transporter -Power_consumption\:=Power consumption\: -Power_consumption\:_%sW=Power consumption\: %sW -Required_energy\:_%sJ=Required energy\: %sJ -Start=Start -Transporter_name=Transporter name - -# ./src/main/java/mods/eln/transparentnode/thermaldissipatoractive/ThermalDissipatorActiveDescriptor.java -Fan_cooling_power\:_%sW=Fan cooling power\: %sW -Fan_power_consumption\:_%sW=Fan power consumption\: %sW -Fan_voltage\:_%sV=Fan voltage\: %sV - -# ./src/main/java/mods/eln/transparentnode/transformer/TransformerDescriptor.java -The_voltage_ratio_is_proportional\nto_the_cable_stacks_count_ratio.=The voltage ratio is proportional\nto the cable stacks count ratio. -Transforms_an_input_voltage_to\nan_output_voltage.=Transforms an input voltage to\nan output voltage. - -# ./src/main/java/mods/eln/transparentnode/turbine/TurbineDescriptor.java -Generates_electricity_using_heat.=Generates electricity using heat. -Temperature_difference\:_%s°C=Temperature difference\: %s°C - -# ./src/main/java/mods/eln/transparentnode/turret/TurretDescriptor.java -CAUTION\:_Cables_can_get_quite_hot!=CAUTION\: Cables can get quite hot\! -Laser_charge_power\:_%sW...%skW=Laser charge power\: %sW...%skW -Scans_for_entities_and_shoots_if_the\nentity_matches_the_configurable_filter_criteria.=Scans for entities and shoots if the\nentity matches the configurable filter criteria. -Standby_power\:_%sW=Standby power\: %sW - -# ./src/main/java/mods/eln/transparentnode/turret/TurretGui.java -Attack\:=Attack\: -Do_not_attack\:=Do not attack\: -Recharge_power\:=Recharge power\: - -# ./src/main/java/mods/eln/transparentnode/waterturbine/WaterTurbineDescriptor.java -Generates_energy_using_water_stream.=Generates energy using water stream. -No_place_for_water_turbine!=No place for water turbine\! - -# ./src/main/java/mods/eln/transparentnode/windturbine/WindTurbineDescriptor.java -Front\:_%s=Front\: %s -Generates_energy_from_wind.=Generates energy from wind. -Left_Right\:_%s=Left/Right\: %s -Up_Down\:_%s=Up/Down\: %s -Wind_area\:=Wind area\: - -# ./src/main/java/mods/eln/wiki/Data.java -Energy=Energy -Light=Light -Machine=Machine -Ore=Ore -Portable=Portable -Resource=Resource -Signal=Signal -Thermal=Thermal -Upgrade=Upgrade -Utilities=Utilities -Wiring=Wiring - -# ./src/main/java/mods/eln/wiki/Default.java -Previous=Previous - -# ./src/main/java/mods/eln/wiki/ItemDefault.java -Can_be_used_to_craft\:=Can be used to craft\: -Cannot_be_crafted!=Cannot be crafted\! -Cost_%sJ=Cost %sJ -Created_by\:=Created by\: -Is_not_a_crafting_material!=Is not a crafting material\! -Recipe\:=Recipe\: - -# Appearing in multiple source files -(Increases_capacity)=(Increases capacity) -(Increases_inductance)=(Increases inductance) -Actual\:_%s°C=Actual\: %s°C -Biggest=Biggest -Booster_slot=Booster slot -Can_create\:=Can create\: -Capacity\:_%sF=Capacity\: %sF -Charge_power\:_%sW=Charge power\: %sW -Connected=Connected -Cooling_power\:_%sW=Cooling power\: %sW -Copper_cable_slot=Copper cable slot -Dielectric_slot=Dielectric slot -Discharge_power\:_%sW=Discharge power\: %sW -Electrical_cable_slot=Electrical cable slot -Entity_filter_slot=Entity filter slot -Ferromagnetic_core_slot=Ferromagnetic core slot -Has_a_signal_output.=Has a signal output. -Inductance\:_%sH=Inductance\: %sH -Internal_resistance\:_%sΩ=Internal resistance\: %sΩ -Is_off=Is off -Is_on=Is on -Max._temperature\:_%s°C=Max. temperature\: %s°C -Measured_value\ncorresponding\nto_0%_output=Measured value\ncorresponding\nto 0% output -Measured_value\ncorresponding\nto_100%_output=Measured value\ncorresponding\nto 100% output -Nominal\:=Nominal\: -Nominal_power\:_%sW=Nominal power\: %sW -Nominal_usage\:=Nominal usage\: -Nominal_voltage\:_%sV=Nominal voltage\: %sV -Not_connected=Not connected -Not_enough_space_for_this_block=Not enough space for this block -Power=Power -Power\:_%sW=Power\: %sW -Range\:_%s_blocks=Range\: %s blocks -Redstone_slot=Redstone slot -Regulator_slot=Regulator slot -Reset=Reset -Resistance\:_%sΩ=Resistance\: %sΩ -Smallest=Smallest -Specify_the_channel=Specify the channel -Stored_energy\:_%sJ_(%s)=Stored energy\: %sJ (%s) -Temperature\:_%s°C=Temperature\: %s°C -Temperature_gauge=Temperature gauge -Thermal_isolator_slot=Thermal isolator slot -Toggle=Toggle -Toggle_switch=Toggle switch -Toggles_the_output_each_time\nan_emitter's_value_rises.\nUseful_to_allow_multiple_buttons\nto_control_the_same_light.=Toggles the output each time\nan emitter's value rises.\nUseful to allow multiple buttons\nto control the same light. -Used_to_cool_down_turbines.=Used to cool down turbines. -Uses_the_biggest\nvalue_on_the_channel.=Uses the biggest\nvalue on the channel. -Uses_the_smallest\nvalue_on_the_channel.=Uses the smallest\nvalue on the channel. -Validate=Validate -Voltage\:_%sV=Voltage\: %sV -You_can't_place_this_block_at_this_side=You can't place this block at this side +eln:# +eln: +eln:# ./src/main/java/mods/eln/Achievements.java +eln:Electrical_Age_[WIP]=Electrical Age [WIP] +eln:achievement.craft_50v_macerator=Crushing Novice +eln:achievement.craft_50v_macerator.desc=Craft a 50V Macerator +eln:achievement.open_guide=Wiki Power +eln:achievement.open_guide.desc=Open the wiki guide +eln: +eln:# ./src/main/java/mods/eln/Eln.java +eln:10A_Diode.name=10A Diode +eln:200V_Active_Thermal_Dissipator.name=200V Active Thermal Dissipator +eln:200V_Battery_Charger.name=200V Battery Charger +eln:200V_Compressor.name=200V Compressor +eln:200V_Condensator.name=200V Condensator +eln:200V_Copper_Heating_Corp.name=200V Copper Heating Corp +eln:200V_Economic_Light_Bulb.name=200V Economic Light Bulb +eln:200V_Farming_Lamp.name=200V Farming Lamp +eln:200V_Fuel_Generator.name=200V Fuel Generator +eln:200V_Incandescent_Light_Bulb.name=200V Incandescent Light Bulb +eln:200V_Iron_Heating_Corp.name=200V Iron Heating Corp +eln:200V_LED_Bulb.name=200V LED Bulb +eln:200V_Macerator.name=200V Macerator +eln:200V_Magnetizer.name=200V Magnetizer +eln:200V_Plate_Machine.name=200V Plate Machine +eln:200V_Power_Socket.name=200V Power Socket +eln:200V_Tungsten_Heating_Corp.name=200V Tungsten Heating Corp +eln:200V_Turbine.name=200V Turbine +eln:25A_Diode.name=25A Diode +eln:50V_Battery_Charger.name=50V Battery Charger +eln:50V_Carbon_Incandescent_Light_Bulb.name=50V Carbon Incandescent Light Bulb +eln:50V_Compressor.name=50V Compressor +eln:50V_Condensator.name=50V Condensator +eln:50V_Copper_Heating_Corp.name=50V Copper Heating Corp +eln:50V_Economic_Light_Bulb.name=50V Economic Light Bulb +eln:50V_Egg_Incubator.name=50V Egg Incubator +eln:50V_Farming_Lamp.name=50V Farming Lamp +eln:50V_Fuel_Generator.name=50V Fuel Generator +eln:50V_Incandescent_Light_Bulb.name=50V Incandescent Light Bulb +eln:50V_Iron_Heating_Corp.name=50V Iron Heating Corp +eln:50V_LED_Bulb.name=50V LED Bulb +eln:50V_Macerator.name=50V Macerator +eln:50V_Magnetizer.name=50V Magnetizer +eln:50V_Plate_Machine.name=50V Plate Machine +eln:50V_Power_Socket.name=50V Power Socket +eln:50V_Tungsten_Heating_Corp.name=50V Tungsten Heating Corp +eln:50V_Turbine.name=50V Turbine +eln:800V_Defence_Turret.name=800V Defence Turret +eln:AND_Chip.name=AND Chip +eln:Advanced_Chip.name=Advanced Chip +eln:Advanced_Electrical_Motor.name=Advanced Electrical Motor +eln:Advanced_Energy_Meter.name=Advanced Energy Meter +eln:Advanced_Machine_Block.name=Advanced Machine Block +eln:Advanced_Magnet.name=Advanced Magnet +eln:AllMeter.name=Universal-Meter +eln:Alloy_Dust.name=Alloy Dust +eln:Alloy_Ingot.name=Alloy Ingot +eln:Alloy_Plate.name=Alloy Plate +eln:Analog_Watch.name=Analog watch +eln:Analog_vuMeter.name=Analog Gauge +eln:Analogic_Regulator.name=Analogic Regulator +eln:Animal_Filter.name=Animal Filter +eln:Auto_Miner.name=Auto Miner +eln:Average_Electrical_Drill.name=Average Electrical Drill +eln:Average_Ferromagnetic_Core.name=Average Ferromagnetic Core +eln:Basic_Magnet.name=Basic Magnet +eln:Black_Brush.name=Black Brush +eln:Blue_Brush.name=Blue Brush +eln:Brown_Brush.name=Brown Brush +eln:Capacity_Oriented_Battery.name=Capacity Oriented Battery +eln:Cheap_Chip.name=Cheap Chip +eln:Cheap_Electrical_Drill.name=Cheap Electrical Drill +eln:Cheap_Ferromagnetic_Core.name=Cheap Ferromagnetic Core +eln:Cinnabar_Dust.name=Cinnabar Dust +eln:Cinnabar_Ore.name=Cinnabar Ore +eln:Coal_Dust.name=Coal Dust +eln:Coal_Plate.name=Coal Plate +eln:Combustion_Chamber.name=Combustion Chamber +eln:Copper_Cable.name=Copper Cable +eln:Copper_Dust.name=Copper Dust +eln:Copper_Ingot.name=Copper Ingot +eln:Copper_Ore.name=Copper Ore +eln:Copper_Plate.name=Copper Plate +eln:Copper_Thermal_Cable.name=Copper Thermal Cable +eln:Cost_Oriented_Battery.name=Cost Oriented Battery +eln:Current_Oriented_Battery.name=Current Oriented Battery +eln:Cyan_Brush.name=Cyan Brush +eln:D_Flip_Flop_Chip.name=D Flip Flop Chip +eln:Data_Logger.name=Data Logger +eln:Data_Logger_Print.name=Data Logger Print +eln:Dielectric.name=Dielectric +eln:Digital_Watch.name=Digital Watch +eln:Electrical_Anemometer_Sensor.name=Electrical Anemometer Sensor +eln:Electrical_Breaker.name=Electrical Breaker +eln:Electrical_Daylight_Sensor.name=Electrical Daylight Sensor +eln:Electrical_Entity_Sensor.name=Electrical Entity Sensor +eln:Electrical_Fire_Detector.name=Electrical Fire Detector +eln:Electrical_Furnace.name=Electrical Furnace +eln:Electrical_Light_Sensor.name=Electrical Light Sensor +eln:Electrical_Motor.name=Electrical Motor +eln:Electrical_Probe.name=Electrical Probe +eln:Electrical_Probe_Chip.name=Electrical Probe Chip +eln:Electrical_Source.name=Electrical Source +eln:Electrical_Timer.name=Electrical Timer +eln:Electrical_Weather_Sensor.name=Electrical Weather Sensor +eln:Electrical_age_wrench,\nCan_be_used_to_turn\nsmall_wall_blocks=Electrical age wrench,\nCan be used to turn\nsmall wall blocks +eln:Energy_Meter.name=Energy Meter +eln:Experimental_Transporter.name=Experimental Transporter +eln:Fast_Electrical_Drill.name=Fast Electrical Drill +eln:Ferrite_Ingot.name=Ferrite Ingot +eln:Flat_Lamp_Socket.name=Flat Lamp Socket +eln:Fluorescent_Lamp_Socket.name=Fluorescent Lamp Socket +eln:Generator.name=Generator +eln:Gold_Dust.name=Gold Dust +eln:Gold_Plate.name=Gold Plate +eln:Gray_Brush.name=Gray Brush +eln:Green_Brush.name=Green Brush +eln:Ground_Cable.name=Ground Cable +eln:High_Power_Receiver_Antenna.name=High Power Receiver Antenna +eln:High_Power_Transmitter_Antenna.name=High Power Transmitter Antenna +eln:High_Voltage_Cable.name=High Voltage Cable +eln:High_Voltage_Relay.name=High Voltage Relay +eln:High_Voltage_Switch.name=High Voltage Switch +eln:Hub.name=Hub +eln:Industrial_Data_Logger.name=Industrial Data Logger +eln:Iron_Cable.name=Iron Cable +eln:Iron_Dust.name=Iron Dust +eln:Iron_Plate.name=Iron Plate +eln:JK_Flip_Flop_Chip.name=JK Flip Flop Chip +eln:LED_vuMeter.name=LED vuMeter +eln:Lamp_Socket_A.name=Lamp Socket A +eln:Lamp_Socket_B_Projector.name=Lamp Socket B Projector +eln:Lamp_Supply.name=Lamp Supply +eln:Large_Rheostat.name=Large Rheostat +eln:Lead_Dust.name=Lead Dust +eln:Lead_Ingot.name=Lead Ingot +eln:Lead_Ore.name=Lead Ore +eln:Lead_Plate.name=Lead Plate +eln:Life_Oriented_Battery.name=Life Oriented Battery +eln:Light_Blue_Brush.name=Light Blue Brush +eln:Lime_Brush.name=Lime Brush +eln:Long_Suspended_Lamp_Socket.name=Long Suspended Lamp Socket +eln:Low_Power_Receiver_Antenna.name=Low Power Receiver Antenna +eln:Low_Power_Transmitter_Antenna.name=Low Power Transmitter Antenna +eln:Low_Voltage_Cable.name=Low Voltage Cable +eln:Low_Voltage_Relay.name=Low Voltage Relay +eln:Low_Voltage_Switch.name=Low Voltage Switch +eln:Machine_Block.name=Machine Block +eln:Machine_Booster.name=Machine Booster +eln:Magenta_Brush.name=Magenta Brush +eln:Medium_Power_Receiver_Antenna.name=Medium Power Receiver Antenna +eln:Medium_Power_Transmitter_Antenna.name=Medium Power Transmitter Antenna +eln:Medium_Voltage_Cable.name=Medium Voltage Cable +eln:Medium_Voltage_Relay.name=Medium Voltage Relay +eln:Medium_Voltage_Switch.name=Medium Voltage Switch +eln:Mercury.name=Mercury +eln:Mining_Pipe.name=Mining Pipe +eln:Modbus_RTU.name=Modbus RTU +eln:Modern_Data_Logger.name=Modern Data Logger +eln:Monster_Filter.name=Monster Filter +eln:MultiMeter.name=Multimeter +eln:NAND_Chip.name=NAND Chip +eln:NOR_Chip.name=NOR Chip +eln:NOT_Chip.name=NOT Chip +eln:Nuclear_Alarm.name=Nuclear Alarm +eln:OR_Chip.name=OR Chip +eln:On_OFF_Regulator_10_Percent.name=On/off regulator 10% +eln:On_OFF_Regulator_1_Percent.name=On/off regulator 1% +eln:Optimal_Ferromagnetic_Core.name=Optimal Ferromagnetic Core +eln:Orange_Brush.name=Orange Brush +eln:Ore_Scanner.name=Ore Scanner +eln:Oscillator_Chip.name=Oscillator Chip +eln:Overheating_Protection.name=Overheating Protection +eln:Overvoltage_Protection.name=Overvoltage Protection +eln:PAL_Chip.name=PAL Chip +eln:Pink_Brush.name=Pink Brush +eln:Player_Filter.name=Player Filter +eln:Portable_Battery.name=Portable Battery +eln:Portable_Battery_Pack.name=Portable Battery Pack +eln:Portable_Condensator.name=Portable Condensator +eln:Portable_Condensator_Pack.name=Portable Condensator Pack +eln:Portable_Electrical_Axe.name=Portable Electrical Axe +eln:Portable_Electrical_Mining_Drill.name=Portable Electrical Mining Drill +eln:Power_Capacitor.name=Power Capacitor +eln:Power_Inductor.name=Power Inductor +eln:Power_Resistor.name=Power Resistor +eln:Power_capacitor.name=Power capacitor +eln:Power_inductor.name=Power inductor +eln:Purple_Brush.name=Purple Brush +eln:Red_Brush.name=Red Brush +eln:Redstone-to-Voltage_Converter.name=Redstone-to-Voltage Converter +eln:Rheostat.name=Rheostat +eln:Robust_Lamp_Socket.name=Robust Lamp Socket +eln:Rubber.name=Rubber +eln:Schmitt_Trigger_Chip.name=Schmitt Trigger Chip +eln:Sconce_Lamp_Socket.name=Sconce Lamp Socket +eln:Signal_20H_inductor.name=Signal 20H inductor +eln:Signal_Antenna.name=Signal Antenna +eln:Signal_Button.name=Signal Button +eln:Signal_Cable.name=Signal Cable +eln:Signal_Diode.name=Signal Diode +eln:Signal_Processor.name=Signal Processor +eln:Signal_Relay.name=Signal Relay +eln:Signal_Source.name=Signal Source +eln:Signal_Switch.name=Signal Switch +eln:Signal_Switch_with_LED.name=Signal Switch with LED +eln:Signal_Trimmer.name=Signal Trimmer +eln:Silicon_Dust.name=Silicon Dust +eln:Silicon_Ingot.name=Silicon Ingot +eln:Silicon_Plate.name=Silicon Plate +eln:Silver_Brush.name=Silver Brush +eln:Simple_Lamp_Socket.name=Simple Lamp Socket +eln:Single-use_Battery.name=Single-use Battery +eln:Small_200V_Copper_Heating_Corp.name=Small 200V Copper Heating Corp +eln:Small_200V_Iron_Heating_Corp.name=Small 200V Iron Heating Corp +eln:Small_200V_Tungsten_Heating_Corp.name=Small 200V Tungsten Heating Corp +eln:Small_50V_Carbon_Incandescent_Light_Bulb.name=Small 50V Carbon Incandescent Light Bulb +eln:Small_50V_Copper_Heating_Corp.name=Small 50V Copper Heating Corp +eln:Small_50V_Economic_Light_Bulb.name=Small 50V Economic Light Bulb +eln:Small_50V_Incandescent_Light_Bulb.name=Small 50V Incandescent Light Bulb +eln:Small_50V_Iron_Heating_Corp.name=Small 50V Iron Heating Corp +eln:Small_50V_Tungsten_Heating_Corp.name=Small 50V Tungsten Heating Corp +eln:Small_Active_Thermal_Dissipator.name=Small Active Thermal Dissipator +eln:Small_Flashlight.name=Small Flashlight +eln:Small_Passive_Thermal_Dissipator.name=Small Passive Thermal Dissipator +eln:Small_Rotating_Solar_Panel.name=Small Rotating Solar Panel +eln:Small_Solar_Panel.name=Small Solar Panel +eln:Solar_Tracker.name=Solar Tracker +eln:Standard_Alarm.name=Standard Alarm +eln:Steam_Turbine.name=Steam Turbine +eln:Stone_Heat_Furnace.name=Stone Heat Furnace +eln:Street_Light.name=Streetlight +eln:Suspended_Lamp_Socket.name=Suspended Lamp Socket +eln:Temperature_Probe.name=Temperature Probe +eln:Thermal_Probe.name=Thermal Probe +eln:Thermal_Probe_Chip.name=Thermal Probe Chip +eln:Thermistor.name=Thermistor +eln:ThermoMeter.name=Thermometer +eln:Transformer.name=Transformer +eln:Tree_Resin.name=Tree Resin +eln:Tree_Resin_Collector.name=Tree Resin Collector +eln:Tungsten_Cable.name=Tungsten Cable +eln:Tungsten_Dust.name=Tungsten Dust +eln:Tungsten_Ingot.name=Tungsten Ingot +eln:Tungsten_Ore.name=Tungsten Ore +eln:Tutorial_Sign.name=Tutorial Sign +eln:Very_High_Voltage_Cable.name=Very High Voltage Cable +eln:Very_High_Voltage_Relay.name=Very High Voltage Relay +eln:Very_High_Voltage_Switch.name=Very High Voltage Switch +eln:Voltage-to-Redstone_Converter.name=Voltage-to-Redstone Converter +eln:Voltage_Oriented_Battery.name=Voltage Oriented Battery +eln:Voltage_Probe.name=Voltage Probe +eln:Water_Turbine.name=Water Turbine +eln:Weak_50V_Battery_Charger.name=Weak 50V Battery Charger +eln:White_Brush.name=White Brush +eln:Wind_Turbine.name=Wind Turbine +eln:Wireless_Analyser.name=Wireless Analyzer +eln:Wireless_Button.name=Wireless Button +eln:Wireless_Signal_Receiver.name=Wireless Signal Receiver +eln:Wireless_Signal_Repeater.name=Wireless Signal Repeater +eln:Wireless_Signal_Transmitter.name=Wireless Signal Transmitter +eln:Wireless_Switch.name=Wireless Switch +eln:Wrench.name=Wrench +eln:X-Ray_Scanner.name=X-Ray Scanner +eln:XNOR_Chip.name=XNOR Chip +eln:XOR_Chip.name=XOR Chip +eln:Yellow_Brush.name=Yellow Brush +eln:entity.EAReplicator.name=Replicator +eln:item.Copper Axe.name\=Copper Axe +eln:item.Copper Axe.name\=Copper Axe +eln:item.Copper Axe.name\=Copper Axe +eln:item.Copper Axe.name\=Copper Axe +eln:item.Copper Axe.name\=Copper Axe +eln:item.Copper Axe.name\=Copper Axe +eln:item.Copper Axe.name\=Copper Axe +eln:item.Copper Axe.name\=Copper Axe +eln:item.Copper Axe.name\=Copper Axe +eln:item.E-Coal Boots.name\=E-Coal Boots +eln:item.E-Coal Boots.name\=E-Coal Boots +eln:item.E-Coal Boots.name\=E-Coal Boots +eln:item.E-Coal Boots.name\=E-Coal Boots +eln:itemGroup.Eln=Electrical Age +eln:mod.meta.desc=Electricity in your base\! +eln:tile.eln.ElnProbe.name=Eln Computer Probe +eln:tile.eln.EnergyConverterElnToOtherHVUBlock.name=800V Electrical Age to other energy exporter +eln:tile.eln.EnergyConverterElnToOtherLVUBlock.name=50V Electrical Age to other energy exporter +eln:tile.eln.EnergyConverterElnToOtherMVUBlock.name=200V Electrical Age to other energy exporter +eln: +eln:# ./src/main/java/mods/eln/i18n/I18N.java +eln:You_have_%s_lives_left=You have %s lives left +eln: +eln:# ./src/main/java/mods/eln/item/BrushDescriptor.java +eln:Brush_is_dry=Brush is dry +eln:Can_paint_%s_blocks=Can paint %s blocks +eln: +eln:# ./src/main/java/mods/eln/item/CombustionChamber.java +eln:Upgrade_for_the_Stone_Heat_Furnace.=Upgrade for the Stone Heat Furnace. +eln: +eln:# ./src/main/java/mods/eln/item/ElectricalDrillDescriptor.java +eln:Energy_per_operation\:_%sJ=Energy per operation\: %sJ +eln:Time_per_operation\:_%ss=Time per operation\: %ss +eln: +eln:# ./src/main/java/mods/eln/item/FerromagneticCoreDescriptor.java +eln:Cable_loss_factor\:_%s=Cable loss factor\: %s +eln: +eln:# ./src/main/java/mods/eln/item/HeatingCorpElement.java +eln: +eln:# ./src/main/java/mods/eln/item/LampDescriptor.java +eln:Bad=Bad +eln:Condition\:=Condition\: +eln:End_of_life=End of life +eln:Good=Good +eln:New=New +eln:Nominal_lifetime\:_%sh=Nominal lifetime\: %sh +eln:Technology\:_%s=Technology\: %s +eln:Used=Used +eln: +eln:# ./src/main/java/mods/eln/item/LampSlot.java +eln:Lamp_slot=Lamp slot +eln: +eln:# ./src/main/java/mods/eln/item/OverHeatingProtectionDescriptor.java +eln:Useful_to_prevent_overheating\nof_Batteries=Useful to prevent overheating\nof Batteries +eln: +eln:# ./src/main/java/mods/eln/item/OverVoltageProtectionDescriptor.java +eln:Useful_to_prevent_over-voltage\nof_Batteries=Useful to prevent over-voltage\nof Batteries +eln: +eln:# ./src/main/java/mods/eln/item/SolarTrackerDescriptor.java +eln:Solar_panel_upgrade=Solar panel upgrade +eln: +eln:# ./src/main/java/mods/eln/item/electricalitem/BatteryItem.java +eln: +eln:# ./src/main/java/mods/eln/item/electricalitem/ElectricalLampItem.java +eln:Off=Off +eln:On=On +eln:State\:=State\: +eln:Stored_Energy\:_%sJ_(%s)=Stored Energy\: %sJ (%s) +eln: +eln:# ./src/main/java/mods/eln/item/regulator/RegulatorSlot.java +eln: +eln:# ./src/main/java/mods/eln/misc/UtilsClient.java +eln:Hold_shift=Hold shift +eln: +eln:# ./src/main/java/mods/eln/misc/Version.java +eln:mod.name=Electrical Age +eln: +eln:# ./src/main/java/mods/eln/node/six/SixNodeDescriptor.java +eln: +eln:# ./src/main/java/mods/eln/simplenode/energyconverter/EnergyConverterElnToOtherGui.java +eln:Input_power_is_limited_to_%sW=Input power is limited to %sW +eln: +eln:# ./src/main/java/mods/eln/sixnode/LogicGate.kt +eln:_O\:_= O\: +eln: +eln:# ./src/main/java/mods/eln/sixnode/TreeResinCollector/TreeResinCollectorDescriptor.java +eln:Produces_Tree_Resin_over\ntime_when_put_on_a_tree.=Produces Tree Resin over\ntime when put on a tree. +eln:This_block_can_only_be_placed_on_the_side_of_a_tree!=This block can only be placed on the side of a tree\! +eln: +eln:# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerContainer.java +eln:Battery_slot=Battery slot +eln: +eln:# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerDescriptor.java +eln:Can_be_used_to_recharge\nelectrical_items_like\:\nFlash_Light,_X-Ray_scanner\nand_Portable_Battery_...=Can be used to recharge\nelectrical items like\:\nFlash Light, X-Ray scanner\nand Portable Battery ... +eln: +eln:# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerGui.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/diode/DiodeDescriptor.java +eln:Electrical_current_can_only\nflow_through_the_diode\nfrom_anode_to_cathode=Electrical current can only\nflow through the diode\nfrom anode to cathode +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalalarm/ElectricalAlarmDescriptor.java +eln:= +eln:Emits_an_acoustic_alarm_if\nthe_input_signal_is_high=Emits an acoustic alarm if\nthe input signal is high +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalalarm/ElectricalAlarmGui.java +eln:Sound_is_muted=Sound is muted +eln:Sound_is_not_muted=Sound is not muted +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerContainer.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerDescriptor.java +eln:Protects_electrical_components\nOpens_contact_if\:\n__-_Voltage_exceeds_a_certain_level\n-_Current_exceeds_the_cable_limit=Protects electrical components\nOpens contact if\:\n - Voltage exceeds a certain level\n- Current exceeds the cable limit +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerGui.java +eln:Maximum_voltage_before_cutting_off=Maximum voltage before cutting off +eln:Minimum_voltage_before_cutting_off=Minimum voltage before cutting off +eln:Switch_is_off=Switch is off +eln:Switch_is_on=Switch is on +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalcable/ElectricalCableDescriptor.java +eln:A_signal_is_electrical_information\nwhich_must_be_between_0V_and_%sV=A signal is electrical information\nwhich must be between 0V and %sV +eln:Cable_is_adapted_to_conduct\nelectrical_signals.=Cable is adapted to conduct\nelectrical signals. +eln:Current\:_%sA=Current\: %sA +eln:Not_adapted_to_transport_power.=Not adapted to transport power. +eln:Save_usage\:=Save usage\: +eln:Serial_resistance\:_%sΩ=Serial resistance\: %sΩ +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerDescriptor.java +eln:It_can_store_up_to_256_points.=It can store up to 256 points. +eln:Measures_the_voltage_of_an\nelectrical_signal_and_plots\nthe_data_in_real_time.=Measures the voltage of an\nelectrical signal and plots\nthe data in real time. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerGui.java +eln:Back_to_display=Back to display +eln:Configuration=Configuration +eln:Current_[A]=Current [A] +eln:Energy_[J]=Energy [J] +eln:Percent_[-]%=Percent [-]% +eln:Power_[W]=Power [W] +eln:Print=Print +eln:Sampling_period=Sampling period +eln:Temp._[*C]=Temp. [*C] +eln:Voltage_[V]=Voltage [V] +eln:Y-axis_max=Y-axis max +eln:Y-axis_min=Y-axis min +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorContainer.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorDescriptor.java +eln:Output_voltage_increases\nif_entities_are_moving_around.=Output voltage increases\nif entities are moving around. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalfiredetector/ElectricalFireDetectorDescriptor.java +eln:Output_voltage_increases\nif_a_fire_has_been_detected.=Output voltage increases\nif a fire has been detected. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceDescriptor.java +eln:Provides_configurable_signal\nvoltage.=Provides configurable signal\nvoltage. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceGui.java +eln:Output_at_%s=Output at %s +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricallightsensor/ElectricalLightSensorDescriptor.java +eln:0V_at_night,_%sV_at_noon.=0V at night, %sV at noon. +eln:Provides_an_electrical_voltage\nin_the_presence_of_light.=Provides an electrical voltage\nin the presence of light. +eln:Provides_an_electrical_voltage\nwhich_is_proportional_to\nthe_intensity_of_daylight.=Provides an electrical voltage\nwhich is proportional to\nthe intensity of daylight. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathContainer.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathDescriptor.java +eln:Applicable_boolean_operators\:=Applicable boolean operators\: +eln:Applicable_functions\:=Applicable functions\: +eln:Applicable_mathematical_operators\:=Applicable mathematical operators\: +eln:Calculates_an_output_signal_from\n3_inputs_(A,_B,_C)_using_an_equation.=Calculates an output signal from\n3 inputs (A, B, C) using an equation. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathGui.java +eln:%s_Redstone(s)_required=%s Redstone(s) required +eln:Equation_required!=Equation required\! +eln:Inputs_are=Inputs are +eln:Invalid_equation!=Invalid equation\! +eln:Output_voltage_formula=Output voltage formula +eln:Waiting_for_completion...=Waiting for completion... +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalredstoneinput/ElectricalRedstoneInputDescriptor.java +eln:Converts_Redstone_signal\nto_an_electrical_voltage.=Converts Redstone signal\nto an electrical voltage. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalredstoneoutput/ElectricalRedstoneOutputDescriptor.java +eln:Converts_electrical_voltage\ninto_a_Redstone_signal.=Converts electrical voltage\ninto a Redstone signal. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalrelay/ElectricalRelayDescriptor.java +eln:A_relay_is_an_electrical\ncontact_that_conducts_electric\ncurrent_or_not,_depending\nthe_actual_input_signal_voltage.=A relay is an electrical\ncontact that conducts electric\ncurrent or not, depending\nthe actual input signal voltage. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalrelay/ElectricalRelayGui.java +eln:Normally_closed=Normally closed +eln:Normally_open=Normally open +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalsource/ElectricalSourceDescriptor.java +eln:Creative_block.=Creative block. +eln:Provides_an_ideal_voltage_source\nwithout_energy_or_power_limitation.=Provides an ideal voltage source\nwithout energy or power limitation. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalsource/ElectricalSourceGui.java +eln:Output_voltage=Output voltage +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalswitch/ElectricalSwitchDescriptor.java +eln:Can_break_an_electrical_circuit\ninterrupting_the_current.=Can break an electrical circuit\ninterrupting the current. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricaltimeout/ElectricalTimeoutDescriptor.java +eln:Upon_application_of_a_high_signal,\nthe_timer_maintains_the_output_high_for\na_configurable_interval._Can_be_re-triggered.=Upon application of a high signal,\nthe timer maintains the output high for\na configurable interval. Can be re-triggered. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricaltimeout/ElectricalTimeoutGui.java +eln:Set=Set +eln:The_time_interval_the\noutput_is_kept_high.=The time interval the\noutput is kept high. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalvumeter/ElectricalVuMeterDescriptor.java +eln:Displays_the_value_of_a_signal.=Displays the value of a signal. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalwatch/ElectricalWatchContainer.java +eln:Portable_battery_slot=Portable battery slot +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalweathersensor/ElectricalWeatherSensorDescriptor.java +eln:Clear\:_%sV=Clear\: %sV +eln:Provides_an_electrical_signal\ndepending_the_actual_weather.=Provides an electrical signal\ndepending the actual weather. +eln:Rain\:_%sV=Rain\: %sV +eln:Storm\:_%sV=Storm\: %sV +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalwindsensor/ElectricalWindSensorDescriptor.java +eln:Maximum_wind_speed_is_%sm_s=Maximum wind speed is %sm/s +eln:Provides_an_electrical_signal\ndependant_on_wind_speed.=Provides an electrical signal\ndependant on wind speed. +eln:You_can't_place_this_block_on_the_floor_or_the_ceiling=You can't place this block on the floor or the ceiling +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricasensor/ElectricalSensorDescriptor.java +eln:Can_measure_Voltage_Power_Current=Can measure Voltage/Power/Current +eln:Measures_electrical_values_on_cables.=Measures electrical values on cables. +eln:Measures_voltage_on_cables.=Measures voltage on cables. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricasensor/ElectricalSensorGui.java +eln:Current=Current +eln:Measured_voltage\ncorresponding\nto_0%_output=Measured voltage\ncorresponding\nto 0% output +eln:Measured_voltage\ncorresponding\nto_100%_output=Measured voltage\ncorresponding\nto 100% output +eln:Voltage=Voltage +eln: +eln:# ./src/main/java/mods/eln/sixnode/energymeter/EnergyMeterGui.java +eln:Change_password=Change password +eln:Counter_Mode=Counter Mode +eln:Counts_the_energy_conducted_from\n\u00a74red\u00a7f_to_\u00a71blue\u00a7f.=Counts the energy conducted from\n\\u00a74red\\u00a7f to \\u00a71blue\\u00a7f. +eln:Energy_counter\:_%sJ=Energy counter\: %sJ +eln:Enter_new_energy=Enter new energy +eln:Enter_password=Enter password +eln:Prepay_Mode=Prepay Mode +eln:Reset_time_counter=Reset time counter +eln:Set_energy_counter=Set energy counter +eln:Time_counter\:=Time counter\: +eln:Try_password=Try password +eln:You_can_set_an_initial\namount_of_available_energy.\nWhen_the_counter_arrives_at_0\nthe_contact_will_be_opened.=You can set an initial\namount of available energy.\nWhen the counter arrives at 0\nthe contact will be opened. +eln:is_off=is off +eln:is_on=is on +eln:value_in_kJ=value in kJ +eln: +eln:# ./src/main/java/mods/eln/sixnode/groundcable/GroundCableDescriptor.java +eln:Can_be_used_to_set_a_point_of_an\nelectrical_network_to_0V_potential.\nFor_example_to_ground_negative_battery_contacts.=Can be used to set a point of an\nelectrical network to 0V potential.\nFor example to ground negative battery contacts. +eln:Provides_a_zero_volt_reference.=Provides a zero volt reference. +eln: +eln:# ./src/main/java/mods/eln/sixnode/hub/HubDescriptor.java +eln:Allows_crossing_cables\non_one_single_block.=Allows crossing cables\non one single block. +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketDescriptor.java +eln:Angle\:_%s°_to_%s°=Angle\: %s° to %s° +eln:Spot_range\:_%s_blocks=Spot range\: %s blocks +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketGuiDraw.java +eln:%s_is_not_in_range!=%s is not in range\! +eln:Cable_slot_empty=Cable slot empty +eln:Orientation\:_%s°=Orientation\: %s° +eln:Parallel=Parallel +eln:Powered_by_Lamp_Supply=Powered by Lamp Supply +eln:Powered_by_cable=Powered by cable +eln:Serial=Serial +eln:Specify_the_supply_channel=Specify the supply channel +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyContainer.java +eln:Electrical_cable_slot\nBase_range_is_32_blocks.\nEach_additional_cable\nincreases_range_by_one.=Electrical cable slot\nBase range is 32 blocks.\nEach additional cable\nincreases range by one. +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyDescriptor.java +eln:Supplies_all_lamps_on_the_channel.=Supplies all lamps on the channel. +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyGui.java +eln:Power_channel_name=Power channel name +eln:Wireless_channel_name=Wireless channel name +eln: +eln:# ./src/main/java/mods/eln/sixnode/modbusrtu/ModbusRtuGui.java +eln:Add=Add +eln:Channel_name=Channel name +eln:Modbus_ID=Modbus ID +eln:Modbus_RTU=Modbus RTU +eln:Station_ID=Station ID +eln:Station_name=Station name +eln:Wireless_RX=Wireless RX +eln:Wireless_TX=Wireless TX +eln: +eln:# ./src/main/java/mods/eln/sixnode/powercapacitorsix/PowerCapacitorSixContainer.java +eln:(Increases_maximum_voltage)=(Increases maximum voltage) +eln: +eln:# ./src/main/java/mods/eln/sixnode/powercapacitorsix/PowerCapacitorSixGui.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/powerinductorsix/PowerInductorSixContainer.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/powerinductorsix/PowerInductorSixGui.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/powersocket/PowerSocketDescriptor.java +eln:Supplies_any_device\nplugged_in_with_energy.=Supplies any device\nplugged in with energy. +eln: +eln:# ./src/main/java/mods/eln/sixnode/powersocket/PowerSocketGui.java +eln:Specify_the_device_to_supply_through_this_socket.=Specify the device to supply through this socket. +eln: +eln:# ./src/main/java/mods/eln/sixnode/resistor/ResistorContainer.java +eln:(Sets_resistance)=(Sets resistance) +eln:Coal_dust_slot=Coal dust slot +eln: +eln:# ./src/main/java/mods/eln/sixnode/thermalcable/ThermalCableDescriptor.java +eln:High_parallel_resistance\n_\=>_Low_power_dissipation.=High parallel resistance\n \=> Low power dissipation. +eln:Low_serial_resistance\n_\=>_High_conductivity.=Low serial resistance\n \=> High conductivity. +eln:Parallel_resistance\:_%sK_W=Parallel resistance\: %sK/W +eln:Serial_resistance\:_%sK_W=Serial resistance\: %sK/W +eln: +eln:# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorContainer.java +eln:Cable_slot=Cable slot +eln: +eln:# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorDescriptor.java +eln:Can_measure\:=Can measure\: +eln:Measures_temperature_of_cables.=Measures temperature of cables. +eln:Measures_thermal_values_on_cables.=Measures thermal values on cables. +eln:__Temperature_Power_conducted=Temperature/Power conducted +eln: +eln:# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorGui.java +eln:Measured_temperature\ncorresponding\nto_0%_output=Measured temperature\ncorresponding\nto 0% output +eln:Measured_temperature\ncorresponding\nto_100%_output=Measured temperature\ncorresponding\nto 100% output +eln:Temperature=Temperature +eln: +eln:# ./src/main/java/mods/eln/sixnode/tutorialsign/TutorialSignElement.java +eln:No_text_associated_to_this_beacon=No text associated to this beacon +eln: +eln:# ./src/main/java/mods/eln/sixnode/tutorialsign/TutorialSignGui.java +eln:Set_beacon_name=Set beacon name +eln: +eln:# ./src/main/java/mods/eln/sixnode/wirelesssignal/rx/WirelessSignalRxGui.java +eln: +eln:# ./src/main/java/mods/eln/transparentnode/FuelGenerator.kt +eln:Nominal_power\:_%s_W=Nominal power\: %s W +eln:Nominal_voltage\:_%s_V=Nominal voltage\: %s V +eln:Produces_electricity_using_fuel.=Produces electricity using fuel. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/LargeRheostat.kt +eln:Nom._Resistance\:_%s=Nom. Resistance\: %s +eln: +eln:# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerContainer.java +eln:Drill_slot=Drill slot +eln:Mining_pipe_slot=Mining pipe slot +eln:Ore_scanner_slot=Ore scanner slot +eln: +eln:# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerDescriptor.java +eln:Excavates_on_a_small_radius.\nExtracts_ore_on_a_bigger_radius\:\n10_blocks_radius_after_10_blocks_depth.=Excavates on a small radius.\nExtracts ore on a bigger radius\:\n10 blocks radius after 10 blocks depth. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerGuiDraw.java +eln:Chest_missing_on_the\nback_of_the_auto_miner!=Chest missing on the\nback of the auto miner\! +eln:Halves_speed,_triples_power_draw=Halves speed, triples power draw +eln:Silk_Touch_Off=Silk Touch Off +eln:Silk_Touch_On=Silk Touch On +eln:Silk_touch=Silk touch +eln: +eln:# ./src/main/java/mods/eln/transparentnode/battery/BatteryContainer.java +eln:Overheating_protection=Overheating protection +eln:Overvoltage_protection=Overvoltage protection +eln: +eln:# ./src/main/java/mods/eln/transparentnode/battery/BatteryDescriptor.java +eln:Actual_charge\:_%s=Actual charge\: %s +eln:Energy_capacity\:_%sJ=Energy capacity\: %sJ +eln:_charged_at_%s=charged at %s +eln: +eln:# ./src/main/java/mods/eln/transparentnode/battery/BatteryGuiDraw.java +eln:Charge=Charge +eln:Charged=Charged +eln:Discharge=Discharge +eln:Energy\:=Energy\: +eln:Energy\:_%s=Energy\: %s +eln:Life\:=Life\: +eln:No_charge=No charge +eln:Power_in\:=Power in\: +eln:Power_out\:=Power out\: +eln: +eln:# ./src/main/java/mods/eln/transparentnode/eggincubator/EggIncubatorContainer.java +eln:Egg_slot=Egg slot +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalantennarx/ElectricalAntennaRxDescriptor.java +eln:Wireless_energy_receiver.=Wireless energy receiver. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalantennatx/ElectricalAntennaTxDescriptor.java +eln:Efficiency\:_%s_up_to_%s=Efficiency\: %s up to %s +eln:Wireless_energy_transmitter.=Wireless energy transmitter. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceContainer.java +eln:Heating_corp_slot=Heating corp slot +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceDescriptor.java +eln:Similar_to_a_vanilla_furnace,\nbut_heats_with_electricity.=Similar to a vanilla furnace,\nbut heats with electricity. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceGuiDraw.java +eln:Auto_shutdown=Auto shutdown +eln:Manual_shutdown=Manual shutdown +eln:Set_point\:_%s°C=Set point\: %s°C +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalmachine/ElectricalMachineDescriptor.java +eln:Cost=Cost +eln: +eln:# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceContainer.java +eln:Combustion_chamber_slot=Combustion chamber slot +eln:Fuel_slot=Fuel slot +eln: +eln:# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceDescriptor.java +eln:Generates_heat_when_supplied_with_fuel.=Generates heat when supplied with fuel. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceGuiDraw.java +eln:Control_gauge_at_%s=Control gauge at %s +eln:Decline_fuel=Decline fuel +eln:External_control=External control +eln:Internal_control=Internal control +eln:Take_fuel=Take fuel +eln: +eln:# ./src/main/java/mods/eln/transparentnode/powercapacitor/PowerCapacitorContainer.java +eln:(Increases_maximal_voltage)=(Increases maximal voltage) +eln: +eln:# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelContainer.java +eln:Solar_tracker_slot=Solar tracker slot +eln: +eln:# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelDescriptor.java +eln:Can_be_geared_towards_the_sun.=Can be geared towards the sun. +eln:Max._power\:_%sW=Max. power\: %sW +eln:Max._voltage\:_%sV=Max. voltage\: %sV +eln:Produces_power_from_solar_radiation.=Produces power from solar radiation. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPannelGuiDraw.java +eln:It_is_night=It is night +eln:Solar_panel_angle\:_%s°=Solar panel angle\: %s° +eln:Sun_angle\:_%s°=Sun angle\: %s° +eln: +eln:# ./src/main/java/mods/eln/transparentnode/teleporter/TeleporterGui.java +eln:Destination_transporter=Destination transporter +eln:Power_consumption\:=Power consumption\: +eln:Power_consumption\:_%sW=Power consumption\: %sW +eln:Required_energy\:_%sJ=Required energy\: %sJ +eln:Start=Start +eln:Transporter_name=Transporter name +eln: +eln:# ./src/main/java/mods/eln/transparentnode/thermaldissipatoractive/ThermalDissipatorActiveDescriptor.java +eln:Fan_cooling_power\:_%sW=Fan cooling power\: %sW +eln:Fan_power_consumption\:_%sW=Fan power consumption\: %sW +eln:Fan_voltage\:_%sV=Fan voltage\: %sV +eln: +eln:# ./src/main/java/mods/eln/transparentnode/transformer/TransformerDescriptor.java +eln:The_voltage_ratio_is_proportional\nto_the_cable_stacks_count_ratio.=The voltage ratio is proportional\nto the cable stacks count ratio. +eln:Transforms_an_input_voltage_to\nan_output_voltage.=Transforms an input voltage to\nan output voltage. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/turbine/TurbineDescriptor.java +eln:Generates_electricity_using_heat.=Generates electricity using heat. +eln:Temperature_difference\:_%s°C=Temperature difference\: %s°C +eln: +eln:# ./src/main/java/mods/eln/transparentnode/turret/TurretDescriptor.java +eln:CAUTION\:_Cables_can_get_quite_hot!=CAUTION\: Cables can get quite hot\! +eln:Laser_charge_power\:_%sW...%skW=Laser charge power\: %sW...%skW +eln:Scans_for_entities_and_shoots_if_the\nentity_matches_the_configurable_filter_criteria.=Scans for entities and shoots if the\nentity matches the configurable filter criteria. +eln:Standby_power\:_%sW=Standby power\: %sW +eln: +eln:# ./src/main/java/mods/eln/transparentnode/turret/TurretGui.java +eln:Attack\:=Attack\: +eln:Do_not_attack\:=Do not attack\: +eln:Recharge_power\:=Recharge power\: +eln: +eln:# ./src/main/java/mods/eln/transparentnode/waterturbine/WaterTurbineDescriptor.java +eln:Generates_energy_using_water_stream.=Generates energy using water stream. +eln:No_place_for_water_turbine!=No place for water turbine\! +eln: +eln:# ./src/main/java/mods/eln/transparentnode/windturbine/WindTurbineDescriptor.java +eln:Front\:_%s=Front\: %s +eln:Generates_energy_from_wind.=Generates energy from wind. +eln:Left_Right\:_%s=Left/Right\: %s +eln:Up_Down\:_%s=Up/Down\: %s +eln:Wind_area\:=Wind area\: +eln: +eln:# ./src/main/java/mods/eln/wiki/Data.java +eln:Energy=Energy +eln:Light=Light +eln:Machine=Machine +eln:Ore=Ore +eln:Portable=Portable +eln:Resource=Resource +eln:Signal=Signal +eln:Thermal=Thermal +eln:Upgrade=Upgrade +eln:Utilities=Utilities +eln:Wiring=Wiring +eln: +eln:# ./src/main/java/mods/eln/wiki/Default.java +eln:Previous=Previous +eln: +eln:# ./src/main/java/mods/eln/wiki/ItemDefault.java +eln:Can_be_used_to_craft\:=Can be used to craft\: +eln:Cannot_be_crafted!=Cannot be crafted\! +eln:Cost_%sJ=Cost %sJ +eln:Created_by\:=Created by\: +eln:Is_not_a_crafting_material!=Is not a crafting material\! +eln:Recipe\:=Recipe\: +eln: +eln:# Appearing in multiple source files +eln:(Increases_capacity)=(Increases capacity) +eln:(Increases_inductance)=(Increases inductance) +eln:Actual\:_%s°C=Actual\: %s°C +eln:Biggest=Biggest +eln:Booster_slot=Booster slot +eln:Can_create\:=Can create\: +eln:Capacity\:_%sF=Capacity\: %sF +eln:Charge_power\:_%sW=Charge power\: %sW +eln:Connected=Connected +eln:Cooling_power\:_%sW=Cooling power\: %sW +eln:Copper_cable_slot=Copper cable slot +eln:Dielectric_slot=Dielectric slot +eln:Discharge_power\:_%sW=Discharge power\: %sW +eln:Electrical_cable_slot=Electrical cable slot +eln:Entity_filter_slot=Entity filter slot +eln:Ferromagnetic_core_slot=Ferromagnetic core slot +eln:Has_a_signal_output.=Has a signal output. +eln:Inductance\:_%sH=Inductance\: %sH +eln:Internal_resistance\:_%sΩ=Internal resistance\: %sΩ +eln:Is_off=Is off +eln:Is_on=Is on +eln:Max._temperature\:_%s°C=Max. temperature\: %s°C +eln:Measured_value\ncorresponding\nto_0%_output=Measured value\ncorresponding\nto 0% output +eln:Measured_value\ncorresponding\nto_100%_output=Measured value\ncorresponding\nto 100% output +eln:Nominal\:=Nominal\: +eln:Nominal_power\:_%sW=Nominal power\: %sW +eln:Nominal_usage\:=Nominal usage\: +eln:Nominal_voltage\:_%sV=Nominal voltage\: %sV +eln:Not_connected=Not connected +eln:Not_enough_space_for_this_block=Not enough space for this block +eln:Power=Power +eln:Power\:_%sW=Power\: %sW +eln:Range\:_%s_blocks=Range\: %s blocks +eln:Redstone_slot=Redstone slot +eln:Regulator_slot=Regulator slot +eln:Reset=Reset +eln:Resistance\:_%sΩ=Resistance\: %sΩ +eln:Smallest=Smallest +eln:Specify_the_channel=Specify the channel +eln:Stored_energy\:_%sJ_(%s)=Stored energy\: %sJ (%s) +eln:Temperature\:_%s°C=Temperature\: %s°C +eln:Temperature_gauge=Temperature gauge +eln:Thermal_isolator_slot=Thermal isolator slot +eln:Toggle=Toggle +eln:Toggle_switch=Toggle switch +eln:Toggles_the_output_each_time\nan_emitter's_value_rises.\nUseful_to_allow_multiple_buttons\nto_control_the_same_light.=Toggles the output each time\nan emitter's value rises.\nUseful to allow multiple buttons\nto control the same light. +eln:Used_to_cool_down_turbines.=Used to cool down turbines. +eln:Uses_the_biggest\nvalue_on_the_channel.=Uses the biggest\nvalue on the channel. +eln:Uses_the_smallest\nvalue_on_the_channel.=Uses the smallest\nvalue on the channel. +eln:Validate=Validate +eln:Voltage\:_%sV=Voltage\: %sV +eln:You_can't_place_this_block_at_this_side=You can't place this block at this side diff --git a/src/main/resources/assets/eln/lang/sv_SE.lang b/src/main/resources/assets/eln/lang/sv_SE.lang index f4e769aa7..92e8a8d93 100644 --- a/src/main/resources/assets/eln/lang/sv_SE.lang +++ b/src/main/resources/assets/eln/lang/sv_SE.lang @@ -1,829 +1,829 @@ -# - -# ./src/main/java/mods/eln/Achievements.java -Electrical_Age_[WIP]=Electrical Age [WIP] -achievement.craft_50v_macerator=Crushing Novice -achievement.craft_50v_macerator.desc=Craft a 50V Macerator -achievement.open_guide=Wiki Power -achievement.open_guide.desc=Open the wiki guide - -# ./src/main/java/mods/eln/Eln.java -10A_Diode.name=10A Diode -200V_Active_Thermal_Dissipator.name=200V Active Thermal Dissipator -200V_Battery_Charger.name=200V Battery Charger -200V_Compressor.name=200V Compressor -200V_Condensator.name=200V Condensator -200V_Copper_Heating_Corp.name=200V Copper Heating Corp -200V_Economic_Light_Bulb.name=200V Economic Light Bulb -200V_Farming_Lamp.name=200V Farming Lamp -200V_Fuel_Generator.name=200V Fuel Generator -200V_Incandescent_Light_Bulb.name=200V Incandescent Light Bulb -200V_Iron_Heating_Corp.name=200V Iron Heating Corp -200V_LED_Bulb.name=200V LED Bulb -200V_Macerator.name=200V Macerator -200V_Magnetizer.name=200V Magnetizer -200V_Plate_Machine.name=200V Plate Machine -200V_Power_Socket.name=200V Power Socket -200V_Tungsten_Heating_Corp.name=200V Tungsten Heating Corp -200V_Turbine.name=200V Turbine -25A_Diode.name=25A Diode -50V_Battery_Charger.name=50V Battery Charger -50V_Carbon_Incandescent_Light_Bulb.name=50V Carbon Incandescent Light Bulb -50V_Compressor.name=50V Compressor -50V_Condensator.name=50V Condensator -50V_Copper_Heating_Corp.name=50V Copper Heating Corp -50V_Economic_Light_Bulb.name=50V Economic Light Bulb -50V_Egg_Incubator.name=50V Egg Incubator -50V_Farming_Lamp.name=50V Farming Lamp -50V_Fuel_Generator.name=50V Fuel Generator -50V_Incandescent_Light_Bulb.name=50V Incandescent Light Bulb -50V_Iron_Heating_Corp.name=50V Iron Heating Corp -50V_LED_Bulb.name=50V LED Bulb -50V_Macerator.name=50V Macerator -50V_Magnetizer.name=50V Magnetizer -50V_Plate_Machine.name=50V Plate Machine -50V_Power_Socket.name=50V Power Socket -50V_Tungsten_Heating_Corp.name=50V Tungsten Heating Corp -50V_Turbine.name=50V Turbine -800V_Defence_Turret.name=800V Defence Turret -AND_Chip.name=AND Chip -Advanced_Chip.name=Advanced Chip -Advanced_Electrical_Motor.name=Advanced Electrical Motor -Advanced_Energy_Meter.name=Advanced Energy Meter -Advanced_Machine_Block.name=Advanced Machine Block -Advanced_Magnet.name=Advanced Magnet -AllMeter.name=Universal-Meter -Alloy_Dust.name=Alloy Dust -Alloy_Ingot.name=Alloy Ingot -Alloy_Plate.name=Alloy Plate -Analog_Watch.name=Analog watch -Analog_vuMeter.name=Analog Gauge -Analogic_Regulator.name=Analogic Regulator -Animal_Filter.name=Animal Filter -Auto_Miner.name=Auto Miner -Average_Electrical_Drill.name=Average Electrical Drill -Average_Ferromagnetic_Core.name=Average Ferromagnetic Core -Basic_Magnet.name=Basic Magnet -Black_Brush.name=Black Brush -Blue_Brush.name=Blue Brush -Brown_Brush.name=Brown Brush -Capacity_Oriented_Battery.name=Capacity Oriented Battery -Cheap_Chip.name=Cheap Chip -Cheap_Electrical_Drill.name=Cheap Electrical Drill -Cheap_Ferromagnetic_Core.name=Cheap Ferromagnetic Core -Cinnabar_Dust.name=Cinnabar Dust -Cinnabar_Ore.name=Cinnabar Ore -Coal_Dust.name=Coal Dust -Coal_Plate.name=Coal Plate -Combustion_Chamber.name=Combustion Chamber -Copper_Cable.name=Copper Cable -Copper_Dust.name=Copper Dust -Copper_Ingot.name=Copper Ingot -Copper_Ore.name=Copper Ore -Copper_Plate.name=Copper Plate -Copper_Thermal_Cable.name=Copper Thermal Cable -Cost_Oriented_Battery.name=Cost Oriented Battery -Current_Oriented_Battery.name=Current Oriented Battery -Cyan_Brush.name=Cyan Brush -D_Flip_Flop_Chip.name=D Flip Flop Chip -Data_Logger.name=Data Logger -Data_Logger_Print.name=Data Logger Print -Dielectric.name=Dielectric -Digital_Watch.name=Digital Watch -Electrical_Anemometer_Sensor.name=Electrical Anemometer Sensor -Electrical_Breaker.name=Electrical Breaker -Electrical_Daylight_Sensor.name=Electrical Daylight Sensor -Electrical_Entity_Sensor.name=Electrical Entity Sensor -Electrical_Fire_Detector.name=Electrical Fire Detector -Electrical_Furnace.name=Electrical Furnace -Electrical_Light_Sensor.name=Electrical Light Sensor -Electrical_Motor.name=Electrical Motor -Electrical_Probe.name=Electrical Probe -Electrical_Probe_Chip.name=Electrical Probe Chip -Electrical_Source.name=Electrical Source -Electrical_Timer.name=Electrical Timer -Electrical_Weather_Sensor.name=Electrical Weather Sensor -Electrical_age_wrench,\nCan_be_used_to_turn\nsmall_wall_blocks=Electrical age wrench,\nCan be used to turn\nsmall wall blocks -Energy_Meter.name=Energy Meter -Experimental_Transporter.name=Experimental Transporter -Fast_Electrical_Drill.name=Fast Electrical Drill -Ferrite_Ingot.name=Ferrite Ingot -Flat_Lamp_Socket.name=Flat Lamp Socket -Fluorescent_Lamp_Socket.name=Fluorescent Lamp Socket -Generator.name=Generator -Gold_Dust.name=Gold Dust -Gold_Plate.name=Gold Plate -Gray_Brush.name=Gray Brush -Green_Brush.name=Green Brush -Ground_Cable.name=Ground Cable -High_Power_Receiver_Antenna.name=High Power Receiver Antenna -High_Power_Transmitter_Antenna.name=High Power Transmitter Antenna -High_Voltage_Cable.name=High Voltage Cable -High_Voltage_Relay.name=High Voltage Relay -High_Voltage_Switch.name=High Voltage Switch -Hub.name=Hub -Industrial_Data_Logger.name=Industrial Data Logger -Iron_Cable.name=Iron Cable -Iron_Dust.name=Iron Dust -Iron_Plate.name=Iron Plate -JK_Flip_Flop_Chip.name=JK Flip Flop Chip -LED_vuMeter.name=LED vuMeter -Lamp_Socket_A.name=Lamp Socket A -Lamp_Socket_B_Projector.name=Lamp Socket B Projector -Lamp_Supply.name=Lamp Supply -Large_Rheostat.name=Large Rheostat -Lead_Dust.name=Lead Dust -Lead_Ingot.name=Lead Ingot -Lead_Ore.name=Lead Ore -Lead_Plate.name=Lead Plate -Life_Oriented_Battery.name=Life Oriented Battery -Light_Blue_Brush.name=Light Blue Brush -Lime_Brush.name=Lime Brush -Long_Suspended_Lamp_Socket.name=Long Suspended Lamp Socket -Low_Power_Receiver_Antenna.name=Low Power Receiver Antenna -Low_Power_Transmitter_Antenna.name=Low Power Transmitter Antenna -Low_Voltage_Cable.name=Low Voltage Cable -Low_Voltage_Relay.name=Low Voltage Relay -Low_Voltage_Switch.name=Low Voltage Switch -Machine_Block.name=Machine Block -Machine_Booster.name=Machine Booster -Magenta_Brush.name=Magenta Brush -Medium_Power_Receiver_Antenna.name=Medium Power Receiver Antenna -Medium_Power_Transmitter_Antenna.name=Medium Power Transmitter Antenna -Medium_Voltage_Cable.name=Medium Voltage Cable -Medium_Voltage_Relay.name=Medium Voltage Relay -Medium_Voltage_Switch.name=Medium Voltage Switch -Mercury.name=Mercury -Mining_Pipe.name=Mining Pipe -Modbus_RTU.name=Modbus RTU -Modern_Data_Logger.name=Modern Data Logger -Monster_Filter.name=Monster Filter -MultiMeter.name=Multimeter -NAND_Chip.name=NAND Chip -NOR_Chip.name=NOR Chip -NOT_Chip.name=NOT Chip -Nuclear_Alarm.name=Nuclear Alarm -OR_Chip.name=OR Chip -On_OFF_Regulator_10_Percent.name=On/off regulator 10% -On_OFF_Regulator_1_Percent.name=On/off regulator 1% -Optimal_Ferromagnetic_Core.name=Optimal Ferromagnetic Core -Orange_Brush.name=Orange Brush -Ore_Scanner.name=Ore Scanner -Oscillator_Chip.name=Oscillator Chip -Overheating_Protection.name=Overheating Protection -Overvoltage_Protection.name=Overvoltage Protection -PAL_Chip.name=PAL Chip -Pink_Brush.name=Pink Brush -Player_Filter.name=Player Filter -Portable_Battery.name=Portable Battery -Portable_Battery_Pack.name=Portable Battery Pack -Portable_Condensator.name=Portable Condensator -Portable_Condensator_Pack.name=Portable Condensator Pack -Portable_Electrical_Axe.name=Portable Electrical Axe -Portable_Electrical_Mining_Drill.name=Portable Electrical Mining Drill -Power_Capacitor.name=Power Capacitor -Power_Inductor.name=Power Inductor -Power_Resistor.name=Power Resistor -Power_capacitor.name=Power capacitor -Power_inductor.name=Power inductor -Purple_Brush.name=Purple Brush -Red_Brush.name=Red Brush -Redstone-to-Voltage_Converter.name=Redstone-to-Voltage Converter -Rheostat.name=Rheostat -Robust_Lamp_Socket.name=Robust Lamp Socket -Rubber.name=Rubber -Schmitt_Trigger_Chip.name=Schmitt Trigger Chip -Sconce_Lamp_Socket.name=Sconce Lamp Socket -Signal_20H_inductor.name=Signal 20H inductor -Signal_Antenna.name=Signal Antenna -Signal_Button.name=Signal Button -Signal_Cable.name=Signal Cable -Signal_Diode.name=Signal Diode -Signal_Processor.name=Signal Processor -Signal_Relay.name=Signal Relay -Signal_Source.name=Signal Source -Signal_Switch.name=Signal Switch -Signal_Switch_with_LED.name=Signal Switch with LED -Signal_Trimmer.name=Signal Trimmer -Silicon_Dust.name=Silicon Dust -Silicon_Ingot.name=Silicon Ingot -Silicon_Plate.name=Silicon Plate -Silver_Brush.name=Silver Brush -Simple_Lamp_Socket.name=Simple Lamp Socket -Single-use_Battery.name=Single-use Battery -Small_200V_Copper_Heating_Corp.name=Small 200V Copper Heating Corp -Small_200V_Iron_Heating_Corp.name=Small 200V Iron Heating Corp -Small_200V_Tungsten_Heating_Corp.name=Small 200V Tungsten Heating Corp -Small_50V_Carbon_Incandescent_Light_Bulb.name=Small 50V Carbon Incandescent Light Bulb -Small_50V_Copper_Heating_Corp.name=Small 50V Copper Heating Corp -Small_50V_Economic_Light_Bulb.name=Small 50V Economic Light Bulb -Small_50V_Incandescent_Light_Bulb.name=Small 50V Incandescent Light Bulb -Small_50V_Iron_Heating_Corp.name=Small 50V Iron Heating Corp -Small_50V_Tungsten_Heating_Corp.name=Small 50V Tungsten Heating Corp -Small_Active_Thermal_Dissipator.name=Small Active Thermal Dissipator -Small_Flashlight.name=Small Flashlight -Small_Passive_Thermal_Dissipator.name=Small Passive Thermal Dissipator -Small_Rotating_Solar_Panel.name=Small Rotating Solar Panel -Small_Solar_Panel.name=Small Solar Panel -Solar_Tracker.name=Solar Tracker -Standard_Alarm.name=Standard Alarm -Steam_Turbine.name=Steam Turbine -Stone_Heat_Furnace.name=Stone Heat Furnace -Street_Light.name=Streetlight -Suspended_Lamp_Socket.name=Suspended Lamp Socket -Temperature_Probe.name=Temperature Probe -Thermal_Probe.name=Thermal Probe -Thermal_Probe_Chip.name=Thermal Probe Chip -Thermistor.name=Thermistor -ThermoMeter.name=Thermometer -Transformer.name=Transformer -Tree_Resin.name=Tree Resin -Tree_Resin_Collector.name=Tree Resin Collector -Tungsten_Cable.name=Tungsten Cable -Tungsten_Dust.name=Tungsten Dust -Tungsten_Ingot.name=Tungsten Ingot -Tungsten_Ore.name=Tungsten Ore -Tutorial_Sign.name=Tutorial Sign -Very_High_Voltage_Cable.name=Very High Voltage Cable -Very_High_Voltage_Relay.name=Very High Voltage Relay -Very_High_Voltage_Switch.name=Very High Voltage Switch -Voltage-to-Redstone_Converter.name=Voltage-to-Redstone Converter -Voltage_Oriented_Battery.name=Voltage Oriented Battery -Voltage_Probe.name=Voltage Probe -Water_Turbine.name=Water Turbine -Weak_50V_Battery_Charger.name=Weak 50V Battery Charger -White_Brush.name=White Brush -Wind_Turbine.name=Wind Turbine -Wireless_Analyser.name=Wireless Analyzer -Wireless_Button.name=Wireless Button -Wireless_Signal_Receiver.name=Wireless Signal Receiver -Wireless_Signal_Repeater.name=Wireless Signal Repeater -Wireless_Signal_Transmitter.name=Wireless Signal Transmitter -Wireless_Switch.name=Wireless Switch -Wrench.name=Wrench -X-Ray_Scanner.name=X-Ray Scanner -XNOR_Chip.name=XNOR Chip -XOR_Chip.name=XOR Chip -Yellow_Brush.name=Yellow Brush -entity.EAReplicator.name=Replicator -item.Copper Axe.name\=Copper Axe -item.Copper Axe.name\=Copper Axe -item.Copper Axe.name\=Copper Axe -item.Copper Axe.name\=Copper Axe -item.Copper Axe.name\=Copper Axe -item.Copper Axe.name\=Copper Axe -item.Copper Axe.name\=Copper Axe -item.Copper Axe.name\=Copper Axe -item.Copper Axe.name\=Copper Axe -item.E-Coal Boots.name\=E-Coal Boots -item.E-Coal Boots.name\=E-Coal Boots -item.E-Coal Boots.name\=E-Coal Boots -item.E-Coal Boots.name\=E-Coal Boots -itemGroup.Eln=Electrical Age -mod.meta.desc=Electricity in your base\! -tile.eln.ElnProbe.name=Eln Computer Probe -tile.eln.EnergyConverterElnToOtherHVUBlock.name=800V Electrical Age to other energy exporter -tile.eln.EnergyConverterElnToOtherLVUBlock.name=50V Electrical Age to other energy exporter -tile.eln.EnergyConverterElnToOtherMVUBlock.name=200V Electrical Age to other energy exporter - -# ./src/main/java/mods/eln/i18n/I18N.java -You_have_%s_lives_left=You have %s lives left - -# ./src/main/java/mods/eln/item/BrushDescriptor.java -Brush_is_dry=Brush is dry -Can_paint_%s_blocks=Can paint %s blocks - -# ./src/main/java/mods/eln/item/CombustionChamber.java -Upgrade_for_the_Stone_Heat_Furnace.=Upgrade for the Stone Heat Furnace. - -# ./src/main/java/mods/eln/item/ElectricalDrillDescriptor.java -Energy_per_operation\:_%sJ=Energy per operation\: %sJ -Time_per_operation\:_%ss=Time per operation\: %ss - -# ./src/main/java/mods/eln/item/FerromagneticCoreDescriptor.java -Cable_loss_factor\:_%s=Cable loss factor\: %s - -# ./src/main/java/mods/eln/item/HeatingCorpElement.java - -# ./src/main/java/mods/eln/item/LampDescriptor.java -Bad=Bad -Condition\:=Condition\: -End_of_life=End of life -Good=Good -New=New -Nominal_lifetime\:_%sh=Nominal lifetime\: %sh -Technology\:_%s=Technology\: %s -Used=Used - -# ./src/main/java/mods/eln/item/LampSlot.java -Lamp_slot=Lamp slot - -# ./src/main/java/mods/eln/item/OverHeatingProtectionDescriptor.java -Useful_to_prevent_overheating\nof_Batteries=Useful to prevent overheating\nof Batteries - -# ./src/main/java/mods/eln/item/OverVoltageProtectionDescriptor.java -Useful_to_prevent_over-voltage\nof_Batteries=Useful to prevent over-voltage\nof Batteries - -# ./src/main/java/mods/eln/item/SolarTrackerDescriptor.java -Solar_panel_upgrade=Solar panel upgrade - -# ./src/main/java/mods/eln/item/electricalitem/BatteryItem.java - -# ./src/main/java/mods/eln/item/electricalitem/ElectricalLampItem.java -Off=Off -On=On -State\:=State\: -Stored_Energy\:_%sJ_(%s)=Stored Energy\: %sJ (%s) - -# ./src/main/java/mods/eln/item/regulator/RegulatorSlot.java - -# ./src/main/java/mods/eln/misc/UtilsClient.java -Hold_shift=Hold shift - -# ./src/main/java/mods/eln/misc/Version.java -mod.name=Electrical Age - -# ./src/main/java/mods/eln/node/six/SixNodeDescriptor.java - -# ./src/main/java/mods/eln/simplenode/energyconverter/EnergyConverterElnToOtherGui.java -Input_power_is_limited_to_%sW=Input power is limited to %sW - -# ./src/main/java/mods/eln/sixnode/LogicGate.kt -_O\:_= O\: - -# ./src/main/java/mods/eln/sixnode/TreeResinCollector/TreeResinCollectorDescriptor.java -Produces_Tree_Resin_over\ntime_when_put_on_a_tree.=Produces Tree Resin over\ntime when put on a tree. -This_block_can_only_be_placed_on_the_side_of_a_tree!=This block can only be placed on the side of a tree\! - -# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerContainer.java -Battery_slot=Battery slot - -# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerDescriptor.java -Can_be_used_to_recharge\nelectrical_items_like\:\nFlash_Light,_X-Ray_scanner\nand_Portable_Battery_...=Can be used to recharge\nelectrical items like\:\nFlash Light, X-Ray scanner\nand Portable Battery ... - -# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerGui.java - -# ./src/main/java/mods/eln/sixnode/diode/DiodeDescriptor.java -Electrical_current_can_only\nflow_through_the_diode\nfrom_anode_to_cathode=Electrical current can only\nflow through the diode\nfrom anode to cathode - -# ./src/main/java/mods/eln/sixnode/electricalalarm/ElectricalAlarmDescriptor.java -= -Emits_an_acoustic_alarm_if\nthe_input_signal_is_high=Emits an acoustic alarm if\nthe input signal is high - -# ./src/main/java/mods/eln/sixnode/electricalalarm/ElectricalAlarmGui.java -Sound_is_muted=Sound is muted -Sound_is_not_muted=Sound is not muted - -# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerContainer.java - -# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerDescriptor.java -Protects_electrical_components\nOpens_contact_if\:\n__-_Voltage_exceeds_a_certain_level\n-_Current_exceeds_the_cable_limit=Protects electrical components\nOpens contact if\:\n - Voltage exceeds a certain level\n- Current exceeds the cable limit - -# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerGui.java -Maximum_voltage_before_cutting_off=Maximum voltage before cutting off -Minimum_voltage_before_cutting_off=Minimum voltage before cutting off -Switch_is_off=Switch is off -Switch_is_on=Switch is on - -# ./src/main/java/mods/eln/sixnode/electricalcable/ElectricalCableDescriptor.java -A_signal_is_electrical_information\nwhich_must_be_between_0V_and_%sV=A signal is electrical information\nwhich must be between 0V and %sV -Cable_is_adapted_to_conduct\nelectrical_signals.=Cable is adapted to conduct\nelectrical signals. -Current\:_%sA=Current\: %sA -Not_adapted_to_transport_power.=Not adapted to transport power. -Save_usage\:=Save usage\: -Serial_resistance\:_%sΩ=Serial resistance\: %sΩ - -# ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerDescriptor.java -It_can_store_up_to_256_points.=It can store up to 256 points. -Measures_the_voltage_of_an\nelectrical_signal_and_plots\nthe_data_in_real_time.=Measures the voltage of an\nelectrical signal and plots\nthe data in real time. - -# ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerGui.java -Back_to_display=Back to display -Configuration=Configuration -Current_[A]=Current [A] -Energy_[J]=Energy [J] -Percent_[-]%=Percent [-]% -Power_[W]=Power [W] -Print=Print -Sampling_period=Sampling period -Temp._[*C]=Temp. [*C] -Voltage_[V]=Voltage [V] -Y-axis_max=Y-axis max -Y-axis_min=Y-axis min - -# ./src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorContainer.java - -# ./src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorDescriptor.java -Output_voltage_increases\nif_entities_are_moving_around.=Output voltage increases\nif entities are moving around. - -# ./src/main/java/mods/eln/sixnode/electricalfiredetector/ElectricalFireDetectorDescriptor.java -Output_voltage_increases\nif_a_fire_has_been_detected.=Output voltage increases\nif a fire has been detected. - -# ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceDescriptor.java -Provides_configurable_signal\nvoltage.=Provides configurable signal\nvoltage. - -# ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceGui.java -Output_at_%s=Output at %s - -# ./src/main/java/mods/eln/sixnode/electricallightsensor/ElectricalLightSensorDescriptor.java -0V_at_night,_%sV_at_noon.=0V at night, %sV at noon. -Provides_an_electrical_voltage\nin_the_presence_of_light.=Provides an electrical voltage\nin the presence of light. -Provides_an_electrical_voltage\nwhich_is_proportional_to\nthe_intensity_of_daylight.=Provides an electrical voltage\nwhich is proportional to\nthe intensity of daylight. - -# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathContainer.java - -# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathDescriptor.java -Applicable_boolean_operators\:=Applicable boolean operators\: -Applicable_functions\:=Applicable functions\: -Applicable_mathematical_operators\:=Applicable mathematical operators\: -Calculates_an_output_signal_from\n3_inputs_(A,_B,_C)_using_an_equation.=Calculates an output signal from\n3 inputs (A, B, C) using an equation. - -# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathGui.java -%s_Redstone(s)_required=%s Redstone(s) required -Equation_required!=Equation required\! -Inputs_are=Inputs are -Invalid_equation!=Invalid equation\! -Output_voltage_formula=Output voltage formula -Waiting_for_completion...=Waiting for completion... - -# ./src/main/java/mods/eln/sixnode/electricalredstoneinput/ElectricalRedstoneInputDescriptor.java -Converts_Redstone_signal\nto_an_electrical_voltage.=Converts Redstone signal\nto an electrical voltage. - -# ./src/main/java/mods/eln/sixnode/electricalredstoneoutput/ElectricalRedstoneOutputDescriptor.java -Converts_electrical_voltage\ninto_a_Redstone_signal.=Converts electrical voltage\ninto a Redstone signal. - -# ./src/main/java/mods/eln/sixnode/electricalrelay/ElectricalRelayDescriptor.java -A_relay_is_an_electrical\ncontact_that_conducts_electric\ncurrent_or_not,_depending\nthe_actual_input_signal_voltage.=A relay is an electrical\ncontact that conducts electric\ncurrent or not, depending\nthe actual input signal voltage. - -# ./src/main/java/mods/eln/sixnode/electricalrelay/ElectricalRelayGui.java -Normally_closed=Normally closed -Normally_open=Normally open - -# ./src/main/java/mods/eln/sixnode/electricalsource/ElectricalSourceDescriptor.java -Creative_block.=Creative block. -Provides_an_ideal_voltage_source\nwithout_energy_or_power_limitation.=Provides an ideal voltage source\nwithout energy or power limitation. - -# ./src/main/java/mods/eln/sixnode/electricalsource/ElectricalSourceGui.java -Output_voltage=Output voltage - -# ./src/main/java/mods/eln/sixnode/electricalswitch/ElectricalSwitchDescriptor.java -Can_break_an_electrical_circuit\ninterrupting_the_current.=Can break an electrical circuit\ninterrupting the current. - -# ./src/main/java/mods/eln/sixnode/electricaltimeout/ElectricalTimeoutDescriptor.java -Upon_application_of_a_high_signal,\nthe_timer_maintains_the_output_high_for\na_configurable_interval._Can_be_re-triggered.=Upon application of a high signal,\nthe timer maintains the output high for\na configurable interval. Can be re-triggered. - -# ./src/main/java/mods/eln/sixnode/electricaltimeout/ElectricalTimeoutGui.java -Set=Set -The_time_interval_the\noutput_is_kept_high.=The time interval the\noutput is kept high. - -# ./src/main/java/mods/eln/sixnode/electricalvumeter/ElectricalVuMeterDescriptor.java -Displays_the_value_of_a_signal.=Displays the value of a signal. - -# ./src/main/java/mods/eln/sixnode/electricalwatch/ElectricalWatchContainer.java -Portable_battery_slot=Portable battery slot - -# ./src/main/java/mods/eln/sixnode/electricalweathersensor/ElectricalWeatherSensorDescriptor.java -Clear\:_%sV=Clear\: %sV -Provides_an_electrical_signal\ndepending_the_actual_weather.=Provides an electrical signal\ndepending the actual weather. -Rain\:_%sV=Rain\: %sV -Storm\:_%sV=Storm\: %sV - -# ./src/main/java/mods/eln/sixnode/electricalwindsensor/ElectricalWindSensorDescriptor.java -Maximum_wind_speed_is_%sm_s=Maximum wind speed is %sm/s -Provides_an_electrical_signal\ndependant_on_wind_speed.=Provides an electrical signal\ndependant on wind speed. -You_can't_place_this_block_on_the_floor_or_the_ceiling=You can't place this block on the floor or the ceiling - -# ./src/main/java/mods/eln/sixnode/electricasensor/ElectricalSensorDescriptor.java -Can_measure_Voltage_Power_Current=Can measure Voltage/Power/Current -Measures_electrical_values_on_cables.=Measures electrical values on cables. -Measures_voltage_on_cables.=Measures voltage on cables. - -# ./src/main/java/mods/eln/sixnode/electricasensor/ElectricalSensorGui.java -Current=Current -Measured_voltage\ncorresponding\nto_0%_output=Measured voltage\ncorresponding\nto 0% output -Measured_voltage\ncorresponding\nto_100%_output=Measured voltage\ncorresponding\nto 100% output -Voltage=Voltage - -# ./src/main/java/mods/eln/sixnode/energymeter/EnergyMeterGui.java -Change_password=Change password -Counter_Mode=Counter Mode -Counts_the_energy_conducted_from\n\u00a74red\u00a7f_to_\u00a71blue\u00a7f.=Counts the energy conducted from\n\\u00a74red\\u00a7f to \\u00a71blue\\u00a7f. -Energy_counter\:_%sJ=Energy counter\: %sJ -Enter_new_energy=Enter new energy -Enter_password=Enter password -Prepay_Mode=Prepay Mode -Reset_time_counter=Reset time counter -Set_energy_counter=Set energy counter -Time_counter\:=Time counter\: -Try_password=Try password -You_can_set_an_initial\namount_of_available_energy.\nWhen_the_counter_arrives_at_0\nthe_contact_will_be_opened.=You can set an initial\namount of available energy.\nWhen the counter arrives at 0\nthe contact will be opened. -is_off=is off -is_on=is on -value_in_kJ=value in kJ - -# ./src/main/java/mods/eln/sixnode/groundcable/GroundCableDescriptor.java -Can_be_used_to_set_a_point_of_an\nelectrical_network_to_0V_potential.\nFor_example_to_ground_negative_battery_contacts.=Can be used to set a point of an\nelectrical network to 0V potential.\nFor example to ground negative battery contacts. -Provides_a_zero_volt_reference.=Provides a zero volt reference. - -# ./src/main/java/mods/eln/sixnode/hub/HubDescriptor.java -Allows_crossing_cables\non_one_single_block.=Allows crossing cables\non one single block. - -# ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketDescriptor.java -Angle\:_%s°_to_%s°=Angle\: %s° to %s° -Spot_range\:_%s_blocks=Spot range\: %s blocks - -# ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketGuiDraw.java -%s_is_not_in_range!=%s is not in range\! -Cable_slot_empty=Cable slot empty -Orientation\:_%s°=Orientation\: %s° -Parallel=Parallel -Powered_by_Lamp_Supply=Powered by Lamp Supply -Powered_by_cable=Powered by cable -Serial=Serial -Specify_the_supply_channel=Specify the supply channel - -# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyContainer.java -Electrical_cable_slot\nBase_range_is_32_blocks.\nEach_additional_cable\nincreases_range_by_one.=Electrical cable slot\nBase range is 32 blocks.\nEach additional cable\nincreases range by one. - -# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyDescriptor.java -Supplies_all_lamps_on_the_channel.=Supplies all lamps on the channel. - -# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyGui.java -Power_channel_name=Power channel name -Wireless_channel_name=Wireless channel name - -# ./src/main/java/mods/eln/sixnode/modbusrtu/ModbusRtuGui.java -Add=Add -Channel_name=Channel name -Modbus_ID=Modbus ID -Modbus_RTU=Modbus RTU -Station_ID=Station ID -Station_name=Station name -Wireless_RX=Wireless RX -Wireless_TX=Wireless TX - -# ./src/main/java/mods/eln/sixnode/powercapacitorsix/PowerCapacitorSixContainer.java -(Increases_maximum_voltage)=(Increases maximum voltage) - -# ./src/main/java/mods/eln/sixnode/powercapacitorsix/PowerCapacitorSixGui.java - -# ./src/main/java/mods/eln/sixnode/powerinductorsix/PowerInductorSixContainer.java - -# ./src/main/java/mods/eln/sixnode/powerinductorsix/PowerInductorSixGui.java - -# ./src/main/java/mods/eln/sixnode/powersocket/PowerSocketDescriptor.java -Supplies_any_device\nplugged_in_with_energy.=Supplies any device\nplugged in with energy. - -# ./src/main/java/mods/eln/sixnode/powersocket/PowerSocketGui.java -Specify_the_device_to_supply_through_this_socket.=Specify the device to supply through this socket. - -# ./src/main/java/mods/eln/sixnode/resistor/ResistorContainer.java -(Sets_resistance)=(Sets resistance) -Coal_dust_slot=Coal dust slot - -# ./src/main/java/mods/eln/sixnode/thermalcable/ThermalCableDescriptor.java -High_parallel_resistance\n_\=>_Low_power_dissipation.=High parallel resistance\n \=> Low power dissipation. -Low_serial_resistance\n_\=>_High_conductivity.=Low serial resistance\n \=> High conductivity. -Parallel_resistance\:_%sK_W=Parallel resistance\: %sK/W -Serial_resistance\:_%sK_W=Serial resistance\: %sK/W - -# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorContainer.java -Cable_slot=Cable slot - -# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorDescriptor.java -Can_measure\:=Can measure\: -Measures_temperature_of_cables.=Measures temperature of cables. -Measures_thermal_values_on_cables.=Measures thermal values on cables. -__Temperature_Power_conducted=Temperature/Power conducted - -# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorGui.java -Measured_temperature\ncorresponding\nto_0%_output=Measured temperature\ncorresponding\nto 0% output -Measured_temperature\ncorresponding\nto_100%_output=Measured temperature\ncorresponding\nto 100% output -Temperature=Temperature - -# ./src/main/java/mods/eln/sixnode/tutorialsign/TutorialSignElement.java -No_text_associated_to_this_beacon=No text associated to this beacon - -# ./src/main/java/mods/eln/sixnode/tutorialsign/TutorialSignGui.java -Set_beacon_name=Set beacon name - -# ./src/main/java/mods/eln/sixnode/wirelesssignal/rx/WirelessSignalRxGui.java - -# ./src/main/java/mods/eln/transparentnode/FuelGenerator.kt -Nominal_power\:_%s_W=Nominal power\: %s W -Nominal_voltage\:_%s_V=Nominal voltage\: %s V -Produces_electricity_using_fuel.=Produces electricity using fuel. - -# ./src/main/java/mods/eln/transparentnode/LargeRheostat.kt -Nom._Resistance\:_%s=Nom. Resistance\: %s - -# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerContainer.java -Drill_slot=Drill slot -Mining_pipe_slot=Mining pipe slot -Ore_scanner_slot=Ore scanner slot - -# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerDescriptor.java -Excavates_on_a_small_radius.\nExtracts_ore_on_a_bigger_radius\:\n10_blocks_radius_after_10_blocks_depth.=Excavates on a small radius.\nExtracts ore on a bigger radius\:\n10 blocks radius after 10 blocks depth. - -# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerGuiDraw.java -Chest_missing_on_the\nback_of_the_auto_miner!=Chest missing on the\nback of the auto miner\! -Halves_speed,_triples_power_draw=Halves speed, triples power draw -Silk_Touch_Off=Silk Touch Off -Silk_Touch_On=Silk Touch On -Silk_touch=Silk touch - -# ./src/main/java/mods/eln/transparentnode/battery/BatteryContainer.java -Overheating_protection=Overheating protection -Overvoltage_protection=Overvoltage protection - -# ./src/main/java/mods/eln/transparentnode/battery/BatteryDescriptor.java -Actual_charge\:_%s=Actual charge\: %s -Energy_capacity\:_%sJ=Energy capacity\: %sJ -_charged_at_%s=charged at %s - -# ./src/main/java/mods/eln/transparentnode/battery/BatteryGuiDraw.java -Charge=Charge -Charged=Charged -Discharge=Discharge -Energy\:=Energy\: -Energy\:_%s=Energy\: %s -Life\:=Life\: -No_charge=No charge -Power_in\:=Power in\: -Power_out\:=Power out\: - -# ./src/main/java/mods/eln/transparentnode/eggincubator/EggIncubatorContainer.java -Egg_slot=Egg slot - -# ./src/main/java/mods/eln/transparentnode/electricalantennarx/ElectricalAntennaRxDescriptor.java -Wireless_energy_receiver.=Wireless energy receiver. - -# ./src/main/java/mods/eln/transparentnode/electricalantennatx/ElectricalAntennaTxDescriptor.java -Efficiency\:_%s_up_to_%s=Efficiency\: %s up to %s -Wireless_energy_transmitter.=Wireless energy transmitter. - -# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceContainer.java -Heating_corp_slot=Heating corp slot - -# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceDescriptor.java -Similar_to_a_vanilla_furnace,\nbut_heats_with_electricity.=Similar to a vanilla furnace,\nbut heats with electricity. - -# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceGuiDraw.java -Auto_shutdown=Auto shutdown -Manual_shutdown=Manual shutdown -Set_point\:_%s°C=Set point\: %s°C - -# ./src/main/java/mods/eln/transparentnode/electricalmachine/ElectricalMachineDescriptor.java -Cost=Cost - -# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceContainer.java -Combustion_chamber_slot=Combustion chamber slot -Fuel_slot=Fuel slot - -# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceDescriptor.java -Generates_heat_when_supplied_with_fuel.=Generates heat when supplied with fuel. - -# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceGuiDraw.java -Control_gauge_at_%s=Control gauge at %s -Decline_fuel=Decline fuel -External_control=External control -Internal_control=Internal control -Take_fuel=Take fuel - -# ./src/main/java/mods/eln/transparentnode/powercapacitor/PowerCapacitorContainer.java -(Increases_maximal_voltage)=(Increases maximal voltage) - -# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelContainer.java -Solar_tracker_slot=Solar tracker slot - -# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelDescriptor.java -Can_be_geared_towards_the_sun.=Can be geared towards the sun. -Max._power\:_%sW=Max. power\: %sW -Max._voltage\:_%sV=Max. voltage\: %sV -Produces_power_from_solar_radiation.=Produces power from solar radiation. - -# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPannelGuiDraw.java -It_is_night=It is night -Solar_panel_angle\:_%s°=Solar panel angle\: %s° -Sun_angle\:_%s°=Sun angle\: %s° - -# ./src/main/java/mods/eln/transparentnode/teleporter/TeleporterGui.java -Destination_transporter=Destination transporter -Power_consumption\:=Power consumption\: -Power_consumption\:_%sW=Power consumption\: %sW -Required_energy\:_%sJ=Required energy\: %sJ -Start=Start -Transporter_name=Transporter name - -# ./src/main/java/mods/eln/transparentnode/thermaldissipatoractive/ThermalDissipatorActiveDescriptor.java -Fan_cooling_power\:_%sW=Fan cooling power\: %sW -Fan_power_consumption\:_%sW=Fan power consumption\: %sW -Fan_voltage\:_%sV=Fan voltage\: %sV - -# ./src/main/java/mods/eln/transparentnode/transformer/TransformerDescriptor.java -The_voltage_ratio_is_proportional\nto_the_cable_stacks_count_ratio.=The voltage ratio is proportional\nto the cable stacks count ratio. -Transforms_an_input_voltage_to\nan_output_voltage.=Transforms an input voltage to\nan output voltage. - -# ./src/main/java/mods/eln/transparentnode/turbine/TurbineDescriptor.java -Generates_electricity_using_heat.=Generates electricity using heat. -Temperature_difference\:_%s°C=Temperature difference\: %s°C - -# ./src/main/java/mods/eln/transparentnode/turret/TurretDescriptor.java -CAUTION\:_Cables_can_get_quite_hot!=CAUTION\: Cables can get quite hot\! -Laser_charge_power\:_%sW...%skW=Laser charge power\: %sW...%skW -Scans_for_entities_and_shoots_if_the\nentity_matches_the_configurable_filter_criteria.=Scans for entities and shoots if the\nentity matches the configurable filter criteria. -Standby_power\:_%sW=Standby power\: %sW - -# ./src/main/java/mods/eln/transparentnode/turret/TurretGui.java -Attack\:=Attack\: -Do_not_attack\:=Do not attack\: -Recharge_power\:=Recharge power\: - -# ./src/main/java/mods/eln/transparentnode/waterturbine/WaterTurbineDescriptor.java -Generates_energy_using_water_stream.=Generates energy using water stream. -No_place_for_water_turbine!=No place for water turbine\! - -# ./src/main/java/mods/eln/transparentnode/windturbine/WindTurbineDescriptor.java -Front\:_%s=Front\: %s -Generates_energy_from_wind.=Generates energy from wind. -Left_Right\:_%s=Left/Right\: %s -Up_Down\:_%s=Up/Down\: %s -Wind_area\:=Wind area\: - -# ./src/main/java/mods/eln/wiki/Data.java -Energy=Energy -Light=Light -Machine=Machine -Ore=Ore -Portable=Portable -Resource=Resource -Signal=Signal -Thermal=Thermal -Upgrade=Upgrade -Utilities=Utilities -Wiring=Wiring - -# ./src/main/java/mods/eln/wiki/Default.java -Previous=Previous - -# ./src/main/java/mods/eln/wiki/ItemDefault.java -Can_be_used_to_craft\:=Can be used to craft\: -Cannot_be_crafted!=Cannot be crafted\! -Cost_%sJ=Cost %sJ -Created_by\:=Created by\: -Is_not_a_crafting_material!=Is not a crafting material\! -Recipe\:=Recipe\: - -# Appearing in multiple source files -(Increases_capacity)=(Increases capacity) -(Increases_inductance)=(Increases inductance) -Actual\:_%s°C=Actual\: %s°C -Biggest=Biggest -Booster_slot=Booster slot -Can_create\:=Can create\: -Capacity\:_%sF=Capacity\: %sF -Charge_power\:_%sW=Charge power\: %sW -Connected=Connected -Cooling_power\:_%sW=Cooling power\: %sW -Copper_cable_slot=Copper cable slot -Dielectric_slot=Dielectric slot -Discharge_power\:_%sW=Discharge power\: %sW -Electrical_cable_slot=Electrical cable slot -Entity_filter_slot=Entity filter slot -Ferromagnetic_core_slot=Ferromagnetic core slot -Has_a_signal_output.=Has a signal output. -Inductance\:_%sH=Inductance\: %sH -Internal_resistance\:_%sΩ=Internal resistance\: %sΩ -Is_off=Is off -Is_on=Is on -Max._temperature\:_%s°C=Max. temperature\: %s°C -Measured_value\ncorresponding\nto_0%_output=Measured value\ncorresponding\nto 0% output -Measured_value\ncorresponding\nto_100%_output=Measured value\ncorresponding\nto 100% output -Nominal\:=Nominal\: -Nominal_power\:_%sW=Nominal power\: %sW -Nominal_usage\:=Nominal usage\: -Nominal_voltage\:_%sV=Nominal voltage\: %sV -Not_connected=Not connected -Not_enough_space_for_this_block=Not enough space for this block -Power=Power -Power\:_%sW=Power\: %sW -Range\:_%s_blocks=Range\: %s blocks -Redstone_slot=Redstone slot -Regulator_slot=Regulator slot -Reset=Reset -Resistance\:_%sΩ=Resistance\: %sΩ -Smallest=Smallest -Specify_the_channel=Specify the channel -Stored_energy\:_%sJ_(%s)=Stored energy\: %sJ (%s) -Temperature\:_%s°C=Temperature\: %s°C -Temperature_gauge=Temperature gauge -Thermal_isolator_slot=Thermal isolator slot -Toggle=Toggle -Toggle_switch=Toggle switch -Toggles_the_output_each_time\nan_emitter's_value_rises.\nUseful_to_allow_multiple_buttons\nto_control_the_same_light.=Toggles the output each time\nan emitter's value rises.\nUseful to allow multiple buttons\nto control the same light. -Used_to_cool_down_turbines.=Used to cool down turbines. -Uses_the_biggest\nvalue_on_the_channel.=Uses the biggest\nvalue on the channel. -Uses_the_smallest\nvalue_on_the_channel.=Uses the smallest\nvalue on the channel. -Validate=Validate -Voltage\:_%sV=Voltage\: %sV -You_can't_place_this_block_at_this_side=You can't place this block at this side +eln:# +eln: +eln:# ./src/main/java/mods/eln/Achievements.java +eln:Electrical_Age_[WIP]=Electrical Age [WIP] +eln:achievement.craft_50v_macerator=Crushing Novice +eln:achievement.craft_50v_macerator.desc=Craft a 50V Macerator +eln:achievement.open_guide=Wiki Power +eln:achievement.open_guide.desc=Open the wiki guide +eln: +eln:# ./src/main/java/mods/eln/Eln.java +eln:10A_Diode.name=10A Diode +eln:200V_Active_Thermal_Dissipator.name=200V Active Thermal Dissipator +eln:200V_Battery_Charger.name=200V Battery Charger +eln:200V_Compressor.name=200V Compressor +eln:200V_Condensator.name=200V Condensator +eln:200V_Copper_Heating_Corp.name=200V Copper Heating Corp +eln:200V_Economic_Light_Bulb.name=200V Economic Light Bulb +eln:200V_Farming_Lamp.name=200V Farming Lamp +eln:200V_Fuel_Generator.name=200V Fuel Generator +eln:200V_Incandescent_Light_Bulb.name=200V Incandescent Light Bulb +eln:200V_Iron_Heating_Corp.name=200V Iron Heating Corp +eln:200V_LED_Bulb.name=200V LED Bulb +eln:200V_Macerator.name=200V Macerator +eln:200V_Magnetizer.name=200V Magnetizer +eln:200V_Plate_Machine.name=200V Plate Machine +eln:200V_Power_Socket.name=200V Power Socket +eln:200V_Tungsten_Heating_Corp.name=200V Tungsten Heating Corp +eln:200V_Turbine.name=200V Turbine +eln:25A_Diode.name=25A Diode +eln:50V_Battery_Charger.name=50V Battery Charger +eln:50V_Carbon_Incandescent_Light_Bulb.name=50V Carbon Incandescent Light Bulb +eln:50V_Compressor.name=50V Compressor +eln:50V_Condensator.name=50V Condensator +eln:50V_Copper_Heating_Corp.name=50V Copper Heating Corp +eln:50V_Economic_Light_Bulb.name=50V Economic Light Bulb +eln:50V_Egg_Incubator.name=50V Egg Incubator +eln:50V_Farming_Lamp.name=50V Farming Lamp +eln:50V_Fuel_Generator.name=50V Fuel Generator +eln:50V_Incandescent_Light_Bulb.name=50V Incandescent Light Bulb +eln:50V_Iron_Heating_Corp.name=50V Iron Heating Corp +eln:50V_LED_Bulb.name=50V LED Bulb +eln:50V_Macerator.name=50V Macerator +eln:50V_Magnetizer.name=50V Magnetizer +eln:50V_Plate_Machine.name=50V Plate Machine +eln:50V_Power_Socket.name=50V Power Socket +eln:50V_Tungsten_Heating_Corp.name=50V Tungsten Heating Corp +eln:50V_Turbine.name=50V Turbine +eln:800V_Defence_Turret.name=800V Defence Turret +eln:AND_Chip.name=AND Chip +eln:Advanced_Chip.name=Advanced Chip +eln:Advanced_Electrical_Motor.name=Advanced Electrical Motor +eln:Advanced_Energy_Meter.name=Advanced Energy Meter +eln:Advanced_Machine_Block.name=Advanced Machine Block +eln:Advanced_Magnet.name=Advanced Magnet +eln:AllMeter.name=Universal-Meter +eln:Alloy_Dust.name=Alloy Dust +eln:Alloy_Ingot.name=Alloy Ingot +eln:Alloy_Plate.name=Alloy Plate +eln:Analog_Watch.name=Analog watch +eln:Analog_vuMeter.name=Analog Gauge +eln:Analogic_Regulator.name=Analogic Regulator +eln:Animal_Filter.name=Animal Filter +eln:Auto_Miner.name=Auto Miner +eln:Average_Electrical_Drill.name=Average Electrical Drill +eln:Average_Ferromagnetic_Core.name=Average Ferromagnetic Core +eln:Basic_Magnet.name=Basic Magnet +eln:Black_Brush.name=Black Brush +eln:Blue_Brush.name=Blue Brush +eln:Brown_Brush.name=Brown Brush +eln:Capacity_Oriented_Battery.name=Capacity Oriented Battery +eln:Cheap_Chip.name=Cheap Chip +eln:Cheap_Electrical_Drill.name=Cheap Electrical Drill +eln:Cheap_Ferromagnetic_Core.name=Cheap Ferromagnetic Core +eln:Cinnabar_Dust.name=Cinnabar Dust +eln:Cinnabar_Ore.name=Cinnabar Ore +eln:Coal_Dust.name=Coal Dust +eln:Coal_Plate.name=Coal Plate +eln:Combustion_Chamber.name=Combustion Chamber +eln:Copper_Cable.name=Copper Cable +eln:Copper_Dust.name=Copper Dust +eln:Copper_Ingot.name=Copper Ingot +eln:Copper_Ore.name=Copper Ore +eln:Copper_Plate.name=Copper Plate +eln:Copper_Thermal_Cable.name=Copper Thermal Cable +eln:Cost_Oriented_Battery.name=Cost Oriented Battery +eln:Current_Oriented_Battery.name=Current Oriented Battery +eln:Cyan_Brush.name=Cyan Brush +eln:D_Flip_Flop_Chip.name=D Flip Flop Chip +eln:Data_Logger.name=Data Logger +eln:Data_Logger_Print.name=Data Logger Print +eln:Dielectric.name=Dielectric +eln:Digital_Watch.name=Digital Watch +eln:Electrical_Anemometer_Sensor.name=Electrical Anemometer Sensor +eln:Electrical_Breaker.name=Electrical Breaker +eln:Electrical_Daylight_Sensor.name=Electrical Daylight Sensor +eln:Electrical_Entity_Sensor.name=Electrical Entity Sensor +eln:Electrical_Fire_Detector.name=Electrical Fire Detector +eln:Electrical_Furnace.name=Electrical Furnace +eln:Electrical_Light_Sensor.name=Electrical Light Sensor +eln:Electrical_Motor.name=Electrical Motor +eln:Electrical_Probe.name=Electrical Probe +eln:Electrical_Probe_Chip.name=Electrical Probe Chip +eln:Electrical_Source.name=Electrical Source +eln:Electrical_Timer.name=Electrical Timer +eln:Electrical_Weather_Sensor.name=Electrical Weather Sensor +eln:Electrical_age_wrench,\nCan_be_used_to_turn\nsmall_wall_blocks=Electrical age wrench,\nCan be used to turn\nsmall wall blocks +eln:Energy_Meter.name=Energy Meter +eln:Experimental_Transporter.name=Experimental Transporter +eln:Fast_Electrical_Drill.name=Fast Electrical Drill +eln:Ferrite_Ingot.name=Ferrite Ingot +eln:Flat_Lamp_Socket.name=Flat Lamp Socket +eln:Fluorescent_Lamp_Socket.name=Fluorescent Lamp Socket +eln:Generator.name=Generator +eln:Gold_Dust.name=Gold Dust +eln:Gold_Plate.name=Gold Plate +eln:Gray_Brush.name=Gray Brush +eln:Green_Brush.name=Green Brush +eln:Ground_Cable.name=Ground Cable +eln:High_Power_Receiver_Antenna.name=High Power Receiver Antenna +eln:High_Power_Transmitter_Antenna.name=High Power Transmitter Antenna +eln:High_Voltage_Cable.name=High Voltage Cable +eln:High_Voltage_Relay.name=High Voltage Relay +eln:High_Voltage_Switch.name=High Voltage Switch +eln:Hub.name=Hub +eln:Industrial_Data_Logger.name=Industrial Data Logger +eln:Iron_Cable.name=Iron Cable +eln:Iron_Dust.name=Iron Dust +eln:Iron_Plate.name=Iron Plate +eln:JK_Flip_Flop_Chip.name=JK Flip Flop Chip +eln:LED_vuMeter.name=LED vuMeter +eln:Lamp_Socket_A.name=Lamp Socket A +eln:Lamp_Socket_B_Projector.name=Lamp Socket B Projector +eln:Lamp_Supply.name=Lamp Supply +eln:Large_Rheostat.name=Large Rheostat +eln:Lead_Dust.name=Lead Dust +eln:Lead_Ingot.name=Lead Ingot +eln:Lead_Ore.name=Lead Ore +eln:Lead_Plate.name=Lead Plate +eln:Life_Oriented_Battery.name=Life Oriented Battery +eln:Light_Blue_Brush.name=Light Blue Brush +eln:Lime_Brush.name=Lime Brush +eln:Long_Suspended_Lamp_Socket.name=Long Suspended Lamp Socket +eln:Low_Power_Receiver_Antenna.name=Low Power Receiver Antenna +eln:Low_Power_Transmitter_Antenna.name=Low Power Transmitter Antenna +eln:Low_Voltage_Cable.name=Low Voltage Cable +eln:Low_Voltage_Relay.name=Low Voltage Relay +eln:Low_Voltage_Switch.name=Low Voltage Switch +eln:Machine_Block.name=Machine Block +eln:Machine_Booster.name=Machine Booster +eln:Magenta_Brush.name=Magenta Brush +eln:Medium_Power_Receiver_Antenna.name=Medium Power Receiver Antenna +eln:Medium_Power_Transmitter_Antenna.name=Medium Power Transmitter Antenna +eln:Medium_Voltage_Cable.name=Medium Voltage Cable +eln:Medium_Voltage_Relay.name=Medium Voltage Relay +eln:Medium_Voltage_Switch.name=Medium Voltage Switch +eln:Mercury.name=Mercury +eln:Mining_Pipe.name=Mining Pipe +eln:Modbus_RTU.name=Modbus RTU +eln:Modern_Data_Logger.name=Modern Data Logger +eln:Monster_Filter.name=Monster Filter +eln:MultiMeter.name=Multimeter +eln:NAND_Chip.name=NAND Chip +eln:NOR_Chip.name=NOR Chip +eln:NOT_Chip.name=NOT Chip +eln:Nuclear_Alarm.name=Nuclear Alarm +eln:OR_Chip.name=OR Chip +eln:On_OFF_Regulator_10_Percent.name=On/off regulator 10% +eln:On_OFF_Regulator_1_Percent.name=On/off regulator 1% +eln:Optimal_Ferromagnetic_Core.name=Optimal Ferromagnetic Core +eln:Orange_Brush.name=Orange Brush +eln:Ore_Scanner.name=Ore Scanner +eln:Oscillator_Chip.name=Oscillator Chip +eln:Overheating_Protection.name=Overheating Protection +eln:Overvoltage_Protection.name=Overvoltage Protection +eln:PAL_Chip.name=PAL Chip +eln:Pink_Brush.name=Pink Brush +eln:Player_Filter.name=Player Filter +eln:Portable_Battery.name=Portable Battery +eln:Portable_Battery_Pack.name=Portable Battery Pack +eln:Portable_Condensator.name=Portable Condensator +eln:Portable_Condensator_Pack.name=Portable Condensator Pack +eln:Portable_Electrical_Axe.name=Portable Electrical Axe +eln:Portable_Electrical_Mining_Drill.name=Portable Electrical Mining Drill +eln:Power_Capacitor.name=Power Capacitor +eln:Power_Inductor.name=Power Inductor +eln:Power_Resistor.name=Power Resistor +eln:Power_capacitor.name=Power capacitor +eln:Power_inductor.name=Power inductor +eln:Purple_Brush.name=Purple Brush +eln:Red_Brush.name=Red Brush +eln:Redstone-to-Voltage_Converter.name=Redstone-to-Voltage Converter +eln:Rheostat.name=Rheostat +eln:Robust_Lamp_Socket.name=Robust Lamp Socket +eln:Rubber.name=Rubber +eln:Schmitt_Trigger_Chip.name=Schmitt Trigger Chip +eln:Sconce_Lamp_Socket.name=Sconce Lamp Socket +eln:Signal_20H_inductor.name=Signal 20H inductor +eln:Signal_Antenna.name=Signal Antenna +eln:Signal_Button.name=Signal Button +eln:Signal_Cable.name=Signal Cable +eln:Signal_Diode.name=Signal Diode +eln:Signal_Processor.name=Signal Processor +eln:Signal_Relay.name=Signal Relay +eln:Signal_Source.name=Signal Source +eln:Signal_Switch.name=Signal Switch +eln:Signal_Switch_with_LED.name=Signal Switch with LED +eln:Signal_Trimmer.name=Signal Trimmer +eln:Silicon_Dust.name=Silicon Dust +eln:Silicon_Ingot.name=Silicon Ingot +eln:Silicon_Plate.name=Silicon Plate +eln:Silver_Brush.name=Silver Brush +eln:Simple_Lamp_Socket.name=Simple Lamp Socket +eln:Single-use_Battery.name=Single-use Battery +eln:Small_200V_Copper_Heating_Corp.name=Small 200V Copper Heating Corp +eln:Small_200V_Iron_Heating_Corp.name=Small 200V Iron Heating Corp +eln:Small_200V_Tungsten_Heating_Corp.name=Small 200V Tungsten Heating Corp +eln:Small_50V_Carbon_Incandescent_Light_Bulb.name=Small 50V Carbon Incandescent Light Bulb +eln:Small_50V_Copper_Heating_Corp.name=Small 50V Copper Heating Corp +eln:Small_50V_Economic_Light_Bulb.name=Small 50V Economic Light Bulb +eln:Small_50V_Incandescent_Light_Bulb.name=Small 50V Incandescent Light Bulb +eln:Small_50V_Iron_Heating_Corp.name=Small 50V Iron Heating Corp +eln:Small_50V_Tungsten_Heating_Corp.name=Small 50V Tungsten Heating Corp +eln:Small_Active_Thermal_Dissipator.name=Small Active Thermal Dissipator +eln:Small_Flashlight.name=Small Flashlight +eln:Small_Passive_Thermal_Dissipator.name=Small Passive Thermal Dissipator +eln:Small_Rotating_Solar_Panel.name=Small Rotating Solar Panel +eln:Small_Solar_Panel.name=Small Solar Panel +eln:Solar_Tracker.name=Solar Tracker +eln:Standard_Alarm.name=Standard Alarm +eln:Steam_Turbine.name=Steam Turbine +eln:Stone_Heat_Furnace.name=Stone Heat Furnace +eln:Street_Light.name=Streetlight +eln:Suspended_Lamp_Socket.name=Suspended Lamp Socket +eln:Temperature_Probe.name=Temperature Probe +eln:Thermal_Probe.name=Thermal Probe +eln:Thermal_Probe_Chip.name=Thermal Probe Chip +eln:Thermistor.name=Thermistor +eln:ThermoMeter.name=Thermometer +eln:Transformer.name=Transformer +eln:Tree_Resin.name=Tree Resin +eln:Tree_Resin_Collector.name=Tree Resin Collector +eln:Tungsten_Cable.name=Tungsten Cable +eln:Tungsten_Dust.name=Tungsten Dust +eln:Tungsten_Ingot.name=Tungsten Ingot +eln:Tungsten_Ore.name=Tungsten Ore +eln:Tutorial_Sign.name=Tutorial Sign +eln:Very_High_Voltage_Cable.name=Very High Voltage Cable +eln:Very_High_Voltage_Relay.name=Very High Voltage Relay +eln:Very_High_Voltage_Switch.name=Very High Voltage Switch +eln:Voltage-to-Redstone_Converter.name=Voltage-to-Redstone Converter +eln:Voltage_Oriented_Battery.name=Voltage Oriented Battery +eln:Voltage_Probe.name=Voltage Probe +eln:Water_Turbine.name=Water Turbine +eln:Weak_50V_Battery_Charger.name=Weak 50V Battery Charger +eln:White_Brush.name=White Brush +eln:Wind_Turbine.name=Wind Turbine +eln:Wireless_Analyser.name=Wireless Analyzer +eln:Wireless_Button.name=Wireless Button +eln:Wireless_Signal_Receiver.name=Wireless Signal Receiver +eln:Wireless_Signal_Repeater.name=Wireless Signal Repeater +eln:Wireless_Signal_Transmitter.name=Wireless Signal Transmitter +eln:Wireless_Switch.name=Wireless Switch +eln:Wrench.name=Wrench +eln:X-Ray_Scanner.name=X-Ray Scanner +eln:XNOR_Chip.name=XNOR Chip +eln:XOR_Chip.name=XOR Chip +eln:Yellow_Brush.name=Yellow Brush +eln:entity.EAReplicator.name=Replicator +eln:item.Copper Axe.name\=Copper Axe +eln:item.Copper Axe.name\=Copper Axe +eln:item.Copper Axe.name\=Copper Axe +eln:item.Copper Axe.name\=Copper Axe +eln:item.Copper Axe.name\=Copper Axe +eln:item.Copper Axe.name\=Copper Axe +eln:item.Copper Axe.name\=Copper Axe +eln:item.Copper Axe.name\=Copper Axe +eln:item.Copper Axe.name\=Copper Axe +eln:item.E-Coal Boots.name\=E-Coal Boots +eln:item.E-Coal Boots.name\=E-Coal Boots +eln:item.E-Coal Boots.name\=E-Coal Boots +eln:item.E-Coal Boots.name\=E-Coal Boots +eln:itemGroup.Eln=Electrical Age +eln:mod.meta.desc=Electricity in your base\! +eln:tile.eln.ElnProbe.name=Eln Computer Probe +eln:tile.eln.EnergyConverterElnToOtherHVUBlock.name=800V Electrical Age to other energy exporter +eln:tile.eln.EnergyConverterElnToOtherLVUBlock.name=50V Electrical Age to other energy exporter +eln:tile.eln.EnergyConverterElnToOtherMVUBlock.name=200V Electrical Age to other energy exporter +eln: +eln:# ./src/main/java/mods/eln/i18n/I18N.java +eln:You_have_%s_lives_left=You have %s lives left +eln: +eln:# ./src/main/java/mods/eln/item/BrushDescriptor.java +eln:Brush_is_dry=Brush is dry +eln:Can_paint_%s_blocks=Can paint %s blocks +eln: +eln:# ./src/main/java/mods/eln/item/CombustionChamber.java +eln:Upgrade_for_the_Stone_Heat_Furnace.=Upgrade for the Stone Heat Furnace. +eln: +eln:# ./src/main/java/mods/eln/item/ElectricalDrillDescriptor.java +eln:Energy_per_operation\:_%sJ=Energy per operation\: %sJ +eln:Time_per_operation\:_%ss=Time per operation\: %ss +eln: +eln:# ./src/main/java/mods/eln/item/FerromagneticCoreDescriptor.java +eln:Cable_loss_factor\:_%s=Cable loss factor\: %s +eln: +eln:# ./src/main/java/mods/eln/item/HeatingCorpElement.java +eln: +eln:# ./src/main/java/mods/eln/item/LampDescriptor.java +eln:Bad=Bad +eln:Condition\:=Condition\: +eln:End_of_life=End of life +eln:Good=Good +eln:New=New +eln:Nominal_lifetime\:_%sh=Nominal lifetime\: %sh +eln:Technology\:_%s=Technology\: %s +eln:Used=Used +eln: +eln:# ./src/main/java/mods/eln/item/LampSlot.java +eln:Lamp_slot=Lamp slot +eln: +eln:# ./src/main/java/mods/eln/item/OverHeatingProtectionDescriptor.java +eln:Useful_to_prevent_overheating\nof_Batteries=Useful to prevent overheating\nof Batteries +eln: +eln:# ./src/main/java/mods/eln/item/OverVoltageProtectionDescriptor.java +eln:Useful_to_prevent_over-voltage\nof_Batteries=Useful to prevent over-voltage\nof Batteries +eln: +eln:# ./src/main/java/mods/eln/item/SolarTrackerDescriptor.java +eln:Solar_panel_upgrade=Solar panel upgrade +eln: +eln:# ./src/main/java/mods/eln/item/electricalitem/BatteryItem.java +eln: +eln:# ./src/main/java/mods/eln/item/electricalitem/ElectricalLampItem.java +eln:Off=Off +eln:On=On +eln:State\:=State\: +eln:Stored_Energy\:_%sJ_(%s)=Stored Energy\: %sJ (%s) +eln: +eln:# ./src/main/java/mods/eln/item/regulator/RegulatorSlot.java +eln: +eln:# ./src/main/java/mods/eln/misc/UtilsClient.java +eln:Hold_shift=Hold shift +eln: +eln:# ./src/main/java/mods/eln/misc/Version.java +eln:mod.name=Electrical Age +eln: +eln:# ./src/main/java/mods/eln/node/six/SixNodeDescriptor.java +eln: +eln:# ./src/main/java/mods/eln/simplenode/energyconverter/EnergyConverterElnToOtherGui.java +eln:Input_power_is_limited_to_%sW=Input power is limited to %sW +eln: +eln:# ./src/main/java/mods/eln/sixnode/LogicGate.kt +eln:_O\:_= O\: +eln: +eln:# ./src/main/java/mods/eln/sixnode/TreeResinCollector/TreeResinCollectorDescriptor.java +eln:Produces_Tree_Resin_over\ntime_when_put_on_a_tree.=Produces Tree Resin over\ntime when put on a tree. +eln:This_block_can_only_be_placed_on_the_side_of_a_tree!=This block can only be placed on the side of a tree\! +eln: +eln:# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerContainer.java +eln:Battery_slot=Battery slot +eln: +eln:# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerDescriptor.java +eln:Can_be_used_to_recharge\nelectrical_items_like\:\nFlash_Light,_X-Ray_scanner\nand_Portable_Battery_...=Can be used to recharge\nelectrical items like\:\nFlash Light, X-Ray scanner\nand Portable Battery ... +eln: +eln:# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerGui.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/diode/DiodeDescriptor.java +eln:Electrical_current_can_only\nflow_through_the_diode\nfrom_anode_to_cathode=Electrical current can only\nflow through the diode\nfrom anode to cathode +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalalarm/ElectricalAlarmDescriptor.java +eln:= +eln:Emits_an_acoustic_alarm_if\nthe_input_signal_is_high=Emits an acoustic alarm if\nthe input signal is high +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalalarm/ElectricalAlarmGui.java +eln:Sound_is_muted=Sound is muted +eln:Sound_is_not_muted=Sound is not muted +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerContainer.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerDescriptor.java +eln:Protects_electrical_components\nOpens_contact_if\:\n__-_Voltage_exceeds_a_certain_level\n-_Current_exceeds_the_cable_limit=Protects electrical components\nOpens contact if\:\n - Voltage exceeds a certain level\n- Current exceeds the cable limit +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerGui.java +eln:Maximum_voltage_before_cutting_off=Maximum voltage before cutting off +eln:Minimum_voltage_before_cutting_off=Minimum voltage before cutting off +eln:Switch_is_off=Switch is off +eln:Switch_is_on=Switch is on +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalcable/ElectricalCableDescriptor.java +eln:A_signal_is_electrical_information\nwhich_must_be_between_0V_and_%sV=A signal is electrical information\nwhich must be between 0V and %sV +eln:Cable_is_adapted_to_conduct\nelectrical_signals.=Cable is adapted to conduct\nelectrical signals. +eln:Current\:_%sA=Current\: %sA +eln:Not_adapted_to_transport_power.=Not adapted to transport power. +eln:Save_usage\:=Save usage\: +eln:Serial_resistance\:_%sΩ=Serial resistance\: %sΩ +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerDescriptor.java +eln:It_can_store_up_to_256_points.=It can store up to 256 points. +eln:Measures_the_voltage_of_an\nelectrical_signal_and_plots\nthe_data_in_real_time.=Measures the voltage of an\nelectrical signal and plots\nthe data in real time. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerGui.java +eln:Back_to_display=Back to display +eln:Configuration=Configuration +eln:Current_[A]=Current [A] +eln:Energy_[J]=Energy [J] +eln:Percent_[-]%=Percent [-]% +eln:Power_[W]=Power [W] +eln:Print=Print +eln:Sampling_period=Sampling period +eln:Temp._[*C]=Temp. [*C] +eln:Voltage_[V]=Voltage [V] +eln:Y-axis_max=Y-axis max +eln:Y-axis_min=Y-axis min +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorContainer.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorDescriptor.java +eln:Output_voltage_increases\nif_entities_are_moving_around.=Output voltage increases\nif entities are moving around. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalfiredetector/ElectricalFireDetectorDescriptor.java +eln:Output_voltage_increases\nif_a_fire_has_been_detected.=Output voltage increases\nif a fire has been detected. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceDescriptor.java +eln:Provides_configurable_signal\nvoltage.=Provides configurable signal\nvoltage. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceGui.java +eln:Output_at_%s=Output at %s +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricallightsensor/ElectricalLightSensorDescriptor.java +eln:0V_at_night,_%sV_at_noon.=0V at night, %sV at noon. +eln:Provides_an_electrical_voltage\nin_the_presence_of_light.=Provides an electrical voltage\nin the presence of light. +eln:Provides_an_electrical_voltage\nwhich_is_proportional_to\nthe_intensity_of_daylight.=Provides an electrical voltage\nwhich is proportional to\nthe intensity of daylight. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathContainer.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathDescriptor.java +eln:Applicable_boolean_operators\:=Applicable boolean operators\: +eln:Applicable_functions\:=Applicable functions\: +eln:Applicable_mathematical_operators\:=Applicable mathematical operators\: +eln:Calculates_an_output_signal_from\n3_inputs_(A,_B,_C)_using_an_equation.=Calculates an output signal from\n3 inputs (A, B, C) using an equation. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathGui.java +eln:%s_Redstone(s)_required=%s Redstone(s) required +eln:Equation_required!=Equation required\! +eln:Inputs_are=Inputs are +eln:Invalid_equation!=Invalid equation\! +eln:Output_voltage_formula=Output voltage formula +eln:Waiting_for_completion...=Waiting for completion... +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalredstoneinput/ElectricalRedstoneInputDescriptor.java +eln:Converts_Redstone_signal\nto_an_electrical_voltage.=Converts Redstone signal\nto an electrical voltage. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalredstoneoutput/ElectricalRedstoneOutputDescriptor.java +eln:Converts_electrical_voltage\ninto_a_Redstone_signal.=Converts electrical voltage\ninto a Redstone signal. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalrelay/ElectricalRelayDescriptor.java +eln:A_relay_is_an_electrical\ncontact_that_conducts_electric\ncurrent_or_not,_depending\nthe_actual_input_signal_voltage.=A relay is an electrical\ncontact that conducts electric\ncurrent or not, depending\nthe actual input signal voltage. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalrelay/ElectricalRelayGui.java +eln:Normally_closed=Normally closed +eln:Normally_open=Normally open +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalsource/ElectricalSourceDescriptor.java +eln:Creative_block.=Creative block. +eln:Provides_an_ideal_voltage_source\nwithout_energy_or_power_limitation.=Provides an ideal voltage source\nwithout energy or power limitation. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalsource/ElectricalSourceGui.java +eln:Output_voltage=Output voltage +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalswitch/ElectricalSwitchDescriptor.java +eln:Can_break_an_electrical_circuit\ninterrupting_the_current.=Can break an electrical circuit\ninterrupting the current. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricaltimeout/ElectricalTimeoutDescriptor.java +eln:Upon_application_of_a_high_signal,\nthe_timer_maintains_the_output_high_for\na_configurable_interval._Can_be_re-triggered.=Upon application of a high signal,\nthe timer maintains the output high for\na configurable interval. Can be re-triggered. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricaltimeout/ElectricalTimeoutGui.java +eln:Set=Set +eln:The_time_interval_the\noutput_is_kept_high.=The time interval the\noutput is kept high. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalvumeter/ElectricalVuMeterDescriptor.java +eln:Displays_the_value_of_a_signal.=Displays the value of a signal. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalwatch/ElectricalWatchContainer.java +eln:Portable_battery_slot=Portable battery slot +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalweathersensor/ElectricalWeatherSensorDescriptor.java +eln:Clear\:_%sV=Clear\: %sV +eln:Provides_an_electrical_signal\ndepending_the_actual_weather.=Provides an electrical signal\ndepending the actual weather. +eln:Rain\:_%sV=Rain\: %sV +eln:Storm\:_%sV=Storm\: %sV +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalwindsensor/ElectricalWindSensorDescriptor.java +eln:Maximum_wind_speed_is_%sm_s=Maximum wind speed is %sm/s +eln:Provides_an_electrical_signal\ndependant_on_wind_speed.=Provides an electrical signal\ndependant on wind speed. +eln:You_can't_place_this_block_on_the_floor_or_the_ceiling=You can't place this block on the floor or the ceiling +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricasensor/ElectricalSensorDescriptor.java +eln:Can_measure_Voltage_Power_Current=Can measure Voltage/Power/Current +eln:Measures_electrical_values_on_cables.=Measures electrical values on cables. +eln:Measures_voltage_on_cables.=Measures voltage on cables. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricasensor/ElectricalSensorGui.java +eln:Current=Current +eln:Measured_voltage\ncorresponding\nto_0%_output=Measured voltage\ncorresponding\nto 0% output +eln:Measured_voltage\ncorresponding\nto_100%_output=Measured voltage\ncorresponding\nto 100% output +eln:Voltage=Voltage +eln: +eln:# ./src/main/java/mods/eln/sixnode/energymeter/EnergyMeterGui.java +eln:Change_password=Change password +eln:Counter_Mode=Counter Mode +eln:Counts_the_energy_conducted_from\n\u00a74red\u00a7f_to_\u00a71blue\u00a7f.=Counts the energy conducted from\n\\u00a74red\\u00a7f to \\u00a71blue\\u00a7f. +eln:Energy_counter\:_%sJ=Energy counter\: %sJ +eln:Enter_new_energy=Enter new energy +eln:Enter_password=Enter password +eln:Prepay_Mode=Prepay Mode +eln:Reset_time_counter=Reset time counter +eln:Set_energy_counter=Set energy counter +eln:Time_counter\:=Time counter\: +eln:Try_password=Try password +eln:You_can_set_an_initial\namount_of_available_energy.\nWhen_the_counter_arrives_at_0\nthe_contact_will_be_opened.=You can set an initial\namount of available energy.\nWhen the counter arrives at 0\nthe contact will be opened. +eln:is_off=is off +eln:is_on=is on +eln:value_in_kJ=value in kJ +eln: +eln:# ./src/main/java/mods/eln/sixnode/groundcable/GroundCableDescriptor.java +eln:Can_be_used_to_set_a_point_of_an\nelectrical_network_to_0V_potential.\nFor_example_to_ground_negative_battery_contacts.=Can be used to set a point of an\nelectrical network to 0V potential.\nFor example to ground negative battery contacts. +eln:Provides_a_zero_volt_reference.=Provides a zero volt reference. +eln: +eln:# ./src/main/java/mods/eln/sixnode/hub/HubDescriptor.java +eln:Allows_crossing_cables\non_one_single_block.=Allows crossing cables\non one single block. +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketDescriptor.java +eln:Angle\:_%s°_to_%s°=Angle\: %s° to %s° +eln:Spot_range\:_%s_blocks=Spot range\: %s blocks +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketGuiDraw.java +eln:%s_is_not_in_range!=%s is not in range\! +eln:Cable_slot_empty=Cable slot empty +eln:Orientation\:_%s°=Orientation\: %s° +eln:Parallel=Parallel +eln:Powered_by_Lamp_Supply=Powered by Lamp Supply +eln:Powered_by_cable=Powered by cable +eln:Serial=Serial +eln:Specify_the_supply_channel=Specify the supply channel +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyContainer.java +eln:Electrical_cable_slot\nBase_range_is_32_blocks.\nEach_additional_cable\nincreases_range_by_one.=Electrical cable slot\nBase range is 32 blocks.\nEach additional cable\nincreases range by one. +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyDescriptor.java +eln:Supplies_all_lamps_on_the_channel.=Supplies all lamps on the channel. +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyGui.java +eln:Power_channel_name=Power channel name +eln:Wireless_channel_name=Wireless channel name +eln: +eln:# ./src/main/java/mods/eln/sixnode/modbusrtu/ModbusRtuGui.java +eln:Add=Add +eln:Channel_name=Channel name +eln:Modbus_ID=Modbus ID +eln:Modbus_RTU=Modbus RTU +eln:Station_ID=Station ID +eln:Station_name=Station name +eln:Wireless_RX=Wireless RX +eln:Wireless_TX=Wireless TX +eln: +eln:# ./src/main/java/mods/eln/sixnode/powercapacitorsix/PowerCapacitorSixContainer.java +eln:(Increases_maximum_voltage)=(Increases maximum voltage) +eln: +eln:# ./src/main/java/mods/eln/sixnode/powercapacitorsix/PowerCapacitorSixGui.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/powerinductorsix/PowerInductorSixContainer.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/powerinductorsix/PowerInductorSixGui.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/powersocket/PowerSocketDescriptor.java +eln:Supplies_any_device\nplugged_in_with_energy.=Supplies any device\nplugged in with energy. +eln: +eln:# ./src/main/java/mods/eln/sixnode/powersocket/PowerSocketGui.java +eln:Specify_the_device_to_supply_through_this_socket.=Specify the device to supply through this socket. +eln: +eln:# ./src/main/java/mods/eln/sixnode/resistor/ResistorContainer.java +eln:(Sets_resistance)=(Sets resistance) +eln:Coal_dust_slot=Coal dust slot +eln: +eln:# ./src/main/java/mods/eln/sixnode/thermalcable/ThermalCableDescriptor.java +eln:High_parallel_resistance\n_\=>_Low_power_dissipation.=High parallel resistance\n \=> Low power dissipation. +eln:Low_serial_resistance\n_\=>_High_conductivity.=Low serial resistance\n \=> High conductivity. +eln:Parallel_resistance\:_%sK_W=Parallel resistance\: %sK/W +eln:Serial_resistance\:_%sK_W=Serial resistance\: %sK/W +eln: +eln:# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorContainer.java +eln:Cable_slot=Cable slot +eln: +eln:# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorDescriptor.java +eln:Can_measure\:=Can measure\: +eln:Measures_temperature_of_cables.=Measures temperature of cables. +eln:Measures_thermal_values_on_cables.=Measures thermal values on cables. +eln:__Temperature_Power_conducted=Temperature/Power conducted +eln: +eln:# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorGui.java +eln:Measured_temperature\ncorresponding\nto_0%_output=Measured temperature\ncorresponding\nto 0% output +eln:Measured_temperature\ncorresponding\nto_100%_output=Measured temperature\ncorresponding\nto 100% output +eln:Temperature=Temperature +eln: +eln:# ./src/main/java/mods/eln/sixnode/tutorialsign/TutorialSignElement.java +eln:No_text_associated_to_this_beacon=No text associated to this beacon +eln: +eln:# ./src/main/java/mods/eln/sixnode/tutorialsign/TutorialSignGui.java +eln:Set_beacon_name=Set beacon name +eln: +eln:# ./src/main/java/mods/eln/sixnode/wirelesssignal/rx/WirelessSignalRxGui.java +eln: +eln:# ./src/main/java/mods/eln/transparentnode/FuelGenerator.kt +eln:Nominal_power\:_%s_W=Nominal power\: %s W +eln:Nominal_voltage\:_%s_V=Nominal voltage\: %s V +eln:Produces_electricity_using_fuel.=Produces electricity using fuel. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/LargeRheostat.kt +eln:Nom._Resistance\:_%s=Nom. Resistance\: %s +eln: +eln:# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerContainer.java +eln:Drill_slot=Drill slot +eln:Mining_pipe_slot=Mining pipe slot +eln:Ore_scanner_slot=Ore scanner slot +eln: +eln:# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerDescriptor.java +eln:Excavates_on_a_small_radius.\nExtracts_ore_on_a_bigger_radius\:\n10_blocks_radius_after_10_blocks_depth.=Excavates on a small radius.\nExtracts ore on a bigger radius\:\n10 blocks radius after 10 blocks depth. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerGuiDraw.java +eln:Chest_missing_on_the\nback_of_the_auto_miner!=Chest missing on the\nback of the auto miner\! +eln:Halves_speed,_triples_power_draw=Halves speed, triples power draw +eln:Silk_Touch_Off=Silk Touch Off +eln:Silk_Touch_On=Silk Touch On +eln:Silk_touch=Silk touch +eln: +eln:# ./src/main/java/mods/eln/transparentnode/battery/BatteryContainer.java +eln:Overheating_protection=Overheating protection +eln:Overvoltage_protection=Overvoltage protection +eln: +eln:# ./src/main/java/mods/eln/transparentnode/battery/BatteryDescriptor.java +eln:Actual_charge\:_%s=Actual charge\: %s +eln:Energy_capacity\:_%sJ=Energy capacity\: %sJ +eln:_charged_at_%s=charged at %s +eln: +eln:# ./src/main/java/mods/eln/transparentnode/battery/BatteryGuiDraw.java +eln:Charge=Charge +eln:Charged=Charged +eln:Discharge=Discharge +eln:Energy\:=Energy\: +eln:Energy\:_%s=Energy\: %s +eln:Life\:=Life\: +eln:No_charge=No charge +eln:Power_in\:=Power in\: +eln:Power_out\:=Power out\: +eln: +eln:# ./src/main/java/mods/eln/transparentnode/eggincubator/EggIncubatorContainer.java +eln:Egg_slot=Egg slot +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalantennarx/ElectricalAntennaRxDescriptor.java +eln:Wireless_energy_receiver.=Wireless energy receiver. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalantennatx/ElectricalAntennaTxDescriptor.java +eln:Efficiency\:_%s_up_to_%s=Efficiency\: %s up to %s +eln:Wireless_energy_transmitter.=Wireless energy transmitter. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceContainer.java +eln:Heating_corp_slot=Heating corp slot +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceDescriptor.java +eln:Similar_to_a_vanilla_furnace,\nbut_heats_with_electricity.=Similar to a vanilla furnace,\nbut heats with electricity. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceGuiDraw.java +eln:Auto_shutdown=Auto shutdown +eln:Manual_shutdown=Manual shutdown +eln:Set_point\:_%s°C=Set point\: %s°C +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalmachine/ElectricalMachineDescriptor.java +eln:Cost=Cost +eln: +eln:# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceContainer.java +eln:Combustion_chamber_slot=Combustion chamber slot +eln:Fuel_slot=Fuel slot +eln: +eln:# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceDescriptor.java +eln:Generates_heat_when_supplied_with_fuel.=Generates heat when supplied with fuel. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceGuiDraw.java +eln:Control_gauge_at_%s=Control gauge at %s +eln:Decline_fuel=Decline fuel +eln:External_control=External control +eln:Internal_control=Internal control +eln:Take_fuel=Take fuel +eln: +eln:# ./src/main/java/mods/eln/transparentnode/powercapacitor/PowerCapacitorContainer.java +eln:(Increases_maximal_voltage)=(Increases maximal voltage) +eln: +eln:# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelContainer.java +eln:Solar_tracker_slot=Solar tracker slot +eln: +eln:# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelDescriptor.java +eln:Can_be_geared_towards_the_sun.=Can be geared towards the sun. +eln:Max._power\:_%sW=Max. power\: %sW +eln:Max._voltage\:_%sV=Max. voltage\: %sV +eln:Produces_power_from_solar_radiation.=Produces power from solar radiation. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPannelGuiDraw.java +eln:It_is_night=It is night +eln:Solar_panel_angle\:_%s°=Solar panel angle\: %s° +eln:Sun_angle\:_%s°=Sun angle\: %s° +eln: +eln:# ./src/main/java/mods/eln/transparentnode/teleporter/TeleporterGui.java +eln:Destination_transporter=Destination transporter +eln:Power_consumption\:=Power consumption\: +eln:Power_consumption\:_%sW=Power consumption\: %sW +eln:Required_energy\:_%sJ=Required energy\: %sJ +eln:Start=Start +eln:Transporter_name=Transporter name +eln: +eln:# ./src/main/java/mods/eln/transparentnode/thermaldissipatoractive/ThermalDissipatorActiveDescriptor.java +eln:Fan_cooling_power\:_%sW=Fan cooling power\: %sW +eln:Fan_power_consumption\:_%sW=Fan power consumption\: %sW +eln:Fan_voltage\:_%sV=Fan voltage\: %sV +eln: +eln:# ./src/main/java/mods/eln/transparentnode/transformer/TransformerDescriptor.java +eln:The_voltage_ratio_is_proportional\nto_the_cable_stacks_count_ratio.=The voltage ratio is proportional\nto the cable stacks count ratio. +eln:Transforms_an_input_voltage_to\nan_output_voltage.=Transforms an input voltage to\nan output voltage. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/turbine/TurbineDescriptor.java +eln:Generates_electricity_using_heat.=Generates electricity using heat. +eln:Temperature_difference\:_%s°C=Temperature difference\: %s°C +eln: +eln:# ./src/main/java/mods/eln/transparentnode/turret/TurretDescriptor.java +eln:CAUTION\:_Cables_can_get_quite_hot!=CAUTION\: Cables can get quite hot\! +eln:Laser_charge_power\:_%sW...%skW=Laser charge power\: %sW...%skW +eln:Scans_for_entities_and_shoots_if_the\nentity_matches_the_configurable_filter_criteria.=Scans for entities and shoots if the\nentity matches the configurable filter criteria. +eln:Standby_power\:_%sW=Standby power\: %sW +eln: +eln:# ./src/main/java/mods/eln/transparentnode/turret/TurretGui.java +eln:Attack\:=Attack\: +eln:Do_not_attack\:=Do not attack\: +eln:Recharge_power\:=Recharge power\: +eln: +eln:# ./src/main/java/mods/eln/transparentnode/waterturbine/WaterTurbineDescriptor.java +eln:Generates_energy_using_water_stream.=Generates energy using water stream. +eln:No_place_for_water_turbine!=No place for water turbine\! +eln: +eln:# ./src/main/java/mods/eln/transparentnode/windturbine/WindTurbineDescriptor.java +eln:Front\:_%s=Front\: %s +eln:Generates_energy_from_wind.=Generates energy from wind. +eln:Left_Right\:_%s=Left/Right\: %s +eln:Up_Down\:_%s=Up/Down\: %s +eln:Wind_area\:=Wind area\: +eln: +eln:# ./src/main/java/mods/eln/wiki/Data.java +eln:Energy=Energy +eln:Light=Light +eln:Machine=Machine +eln:Ore=Ore +eln:Portable=Portable +eln:Resource=Resource +eln:Signal=Signal +eln:Thermal=Thermal +eln:Upgrade=Upgrade +eln:Utilities=Utilities +eln:Wiring=Wiring +eln: +eln:# ./src/main/java/mods/eln/wiki/Default.java +eln:Previous=Previous +eln: +eln:# ./src/main/java/mods/eln/wiki/ItemDefault.java +eln:Can_be_used_to_craft\:=Can be used to craft\: +eln:Cannot_be_crafted!=Cannot be crafted\! +eln:Cost_%sJ=Cost %sJ +eln:Created_by\:=Created by\: +eln:Is_not_a_crafting_material!=Is not a crafting material\! +eln:Recipe\:=Recipe\: +eln: +eln:# Appearing in multiple source files +eln:(Increases_capacity)=(Increases capacity) +eln:(Increases_inductance)=(Increases inductance) +eln:Actual\:_%s°C=Actual\: %s°C +eln:Biggest=Biggest +eln:Booster_slot=Booster slot +eln:Can_create\:=Can create\: +eln:Capacity\:_%sF=Capacity\: %sF +eln:Charge_power\:_%sW=Charge power\: %sW +eln:Connected=Connected +eln:Cooling_power\:_%sW=Cooling power\: %sW +eln:Copper_cable_slot=Copper cable slot +eln:Dielectric_slot=Dielectric slot +eln:Discharge_power\:_%sW=Discharge power\: %sW +eln:Electrical_cable_slot=Electrical cable slot +eln:Entity_filter_slot=Entity filter slot +eln:Ferromagnetic_core_slot=Ferromagnetic core slot +eln:Has_a_signal_output.=Has a signal output. +eln:Inductance\:_%sH=Inductance\: %sH +eln:Internal_resistance\:_%sΩ=Internal resistance\: %sΩ +eln:Is_off=Is off +eln:Is_on=Is on +eln:Max._temperature\:_%s°C=Max. temperature\: %s°C +eln:Measured_value\ncorresponding\nto_0%_output=Measured value\ncorresponding\nto 0% output +eln:Measured_value\ncorresponding\nto_100%_output=Measured value\ncorresponding\nto 100% output +eln:Nominal\:=Nominal\: +eln:Nominal_power\:_%sW=Nominal power\: %sW +eln:Nominal_usage\:=Nominal usage\: +eln:Nominal_voltage\:_%sV=Nominal voltage\: %sV +eln:Not_connected=Not connected +eln:Not_enough_space_for_this_block=Not enough space for this block +eln:Power=Power +eln:Power\:_%sW=Power\: %sW +eln:Range\:_%s_blocks=Range\: %s blocks +eln:Redstone_slot=Redstone slot +eln:Regulator_slot=Regulator slot +eln:Reset=Reset +eln:Resistance\:_%sΩ=Resistance\: %sΩ +eln:Smallest=Smallest +eln:Specify_the_channel=Specify the channel +eln:Stored_energy\:_%sJ_(%s)=Stored energy\: %sJ (%s) +eln:Temperature\:_%s°C=Temperature\: %s°C +eln:Temperature_gauge=Temperature gauge +eln:Thermal_isolator_slot=Thermal isolator slot +eln:Toggle=Toggle +eln:Toggle_switch=Toggle switch +eln:Toggles_the_output_each_time\nan_emitter's_value_rises.\nUseful_to_allow_multiple_buttons\nto_control_the_same_light.=Toggles the output each time\nan emitter's value rises.\nUseful to allow multiple buttons\nto control the same light. +eln:Used_to_cool_down_turbines.=Used to cool down turbines. +eln:Uses_the_biggest\nvalue_on_the_channel.=Uses the biggest\nvalue on the channel. +eln:Uses_the_smallest\nvalue_on_the_channel.=Uses the smallest\nvalue on the channel. +eln:Validate=Validate +eln:Voltage\:_%sV=Voltage\: %sV +eln:You_can't_place_this_block_at_this_side=You can't place this block at this side diff --git a/src/main/resources/assets/eln/lang/tr.lang b/src/main/resources/assets/eln/lang/tr.lang index 08c5d0cff..9aa256ec7 100644 --- a/src/main/resources/assets/eln/lang/tr.lang +++ b/src/main/resources/assets/eln/lang/tr.lang @@ -1,829 +1,829 @@ -# - -# ./src/main/java/mods/eln/Achievements.java -Electrical_Age_[WIP]=Elektrik Çağı [WIP] -achievement.craft_50v_macerator=Crushing Novice -achievement.craft_50v_macerator.desc=Craft a 50V Macerator -achievement.open_guide=Wiki Power -achievement.open_guide.desc=Open the wiki guide - -# ./src/main/java/mods/eln/Eln.java -10A_Diode.name=10A Diyot -200V_Active_Thermal_Dissipator.name=200V Aktif Termal Dağıtıcı -200V_Battery_Charger.name=200V Şarj Aleti -200V_Compressor.name=200V Kompresör -200V_Condensator.name=200V Condensator -200V_Copper_Heating_Corp.name=200V Bakır Isıtma Çubuğu -200V_Economic_Light_Bulb.name=200V Ekonomik Ampul -200V_Farming_Lamp.name=200V Tarım Lambası -200V_Fuel_Generator.name=200V Fuel Generator -200V_Incandescent_Light_Bulb.name=200V Akkor Ampul -200V_Iron_Heating_Corp.name=200V Demir Isıtma Çubuğu -200V_LED_Bulb.name=200V LED Bulb -200V_Macerator.name=200V Macerator -200V_Magnetizer.name=200V Mıknatıslayıcı -200V_Plate_Machine.name=200V Plaka Makinesi -200V_Power_Socket.name=200V Güç Soketi -200V_Tungsten_Heating_Corp.name=200V Tungsten Isıtma Çubuğu -200V_Turbine.name=200V Türbin -25A_Diode.name=25A Diyot -50V_Battery_Charger.name=50V Şarj Aleti -50V_Carbon_Incandescent_Light_Bulb.name=Karbon Akkor Ampul -50V_Compressor.name=50V Kompresör -50V_Condensator.name=50V Condensator -50V_Copper_Heating_Corp.name=50V Bakır Isıtma Çubuğu -50V_Economic_Light_Bulb.name=50V Ekonomik Ampul -50V_Egg_Incubator.name=50V Kuluçka Makinesi -50V_Farming_Lamp.name=50V Tasarruflu Lamba -50V_Fuel_Generator.name=50V Fuel Generator -50V_Incandescent_Light_Bulb.name=50V Akkor Ampul -50V_Iron_Heating_Corp.name=50V Demir Isıtma Çubuğu -50V_LED_Bulb.name=50V LED Bulb -50V_Macerator.name=50V Macerator -50V_Magnetizer.name=50V Mıknatıslayıcı -50V_Plate_Machine.name=50V Plaka Makinesi -50V_Power_Socket.name=50V Güç Soketi -50V_Tungsten_Heating_Corp.name=50V Tungsten Isıtma Çubuğu -50V_Turbine.name=50V Türbin -800V_Defence_Turret.name=800V Savunma Tareti -AND_Chip.name=AND Chip -Advanced_Chip.name=Gelişmiş Çip -Advanced_Electrical_Motor.name=Gelişmiş Elektrik Motoru -Advanced_Energy_Meter.name=Gelişmiş Enerji Ölçer -Advanced_Machine_Block.name=Gelişmiş Makine Bloğu -Advanced_Magnet.name=Gelişmiş Mıknatıs -AllMeter.name=Evrensel Ölçer -Alloy_Dust.name=Alaşım Toz -Alloy_Ingot.name=Alaşım Külçe -Alloy_Plate.name=Alaşım Plaka -Analog_Watch.name=Analog Saat -Analog_vuMeter.name=Analog Ölçü -Analogic_Regulator.name=Analojik Regülatörü -Animal_Filter.name=Hayvan Filtresi -Auto_Miner.name=Otomatik Madenci -Average_Electrical_Drill.name=Ortalama Elektrikli Matkap -Average_Ferromagnetic_Core.name=Ortalama Ferromanyetik Çekirdek -Basic_Magnet.name=Basit Mıknatıs -Black_Brush.name=Siyah Fırça -Blue_Brush.name=Mavi Fırça -Brown_Brush.name=Kahverengi Fırça -Capacity_Oriented_Battery.name=Kapasite Odaklı Batarya -Cheap_Chip.name=Ucuz Çip -Cheap_Electrical_Drill.name=Ucuz Elektrikli Matkap -Cheap_Ferromagnetic_Core.name=Ucuz Ferromanyetik Çekirdek -Cinnabar_Dust.name=Zincifre Tozu -Cinnabar_Ore.name=Zincifre Cevheri -Coal_Dust.name=Kömür Tozu -Coal_Plate.name=Kömür Plaka -Combustion_Chamber.name=Yanma Odası -Copper_Cable.name=Bakır Kablo -Copper_Dust.name=Bakır Tozu -Copper_Ingot.name=Bakır Külçe -Copper_Ore.name=Bakır Cevheri -Copper_Plate.name=Bakır Plaka -Copper_Thermal_Cable.name=Bakır Termal Kablo -Cost_Oriented_Battery.name=Maliyet Odaklı Batarya -Current_Oriented_Battery.name=Akım Orantılı Batarya -Cyan_Brush.name=Açık Mavi Fırça -D_Flip_Flop_Chip.name=D Flip Flop Chip -Data_Logger.name=Veri Kaydedici -Data_Logger_Print.name=Veri Kaydedici Baskısı -Dielectric.name=Yalıtkan -Digital_Watch.name=Dijital Saat -Electrical_Anemometer_Sensor.name=Elektrik Anemometre Sensörü -Electrical_Breaker.name=Elektrik Kesici -Electrical_Daylight_Sensor.name=Elektrik Günışığı Sensörü -Electrical_Entity_Sensor.name=Elektrik Entity Sensörü -Electrical_Fire_Detector.name=Electrik Yangın Dedektörü -Electrical_Furnace.name=Elektrikli Fırın -Electrical_Light_Sensor.name=Elektrik Işık Sensörü -Electrical_Motor.name=Elektrik Motoru -Electrical_Probe.name=Elektrik Sondası -Electrical_Probe_Chip.name=Elektrik Sona Çipi -Electrical_Source.name=Elektrik Kaynağı -Electrical_Timer.name=Elektrik Sayacı -Electrical_Weather_Sensor.name=Elektrik Hava Sensörü -Electrical_age_wrench,\nCan_be_used_to_turn\nsmall_wall_blocks=Electrical age wrench,\nCan be used to turn\nsmall wall blocks -Energy_Meter.name=Enerji Ölçer -Experimental_Transporter.name=Deneysel Taşıyıcı -Fast_Electrical_Drill.name=Hızlı Elektrikli Matkap -Ferrite_Ingot.name=Ferrit Külçesi -Flat_Lamp_Socket.name=Düz Lamba Soketi -Fluorescent_Lamp_Socket.name=Florasan Lamba Soketi -Generator.name=Generator -Gold_Dust.name=Altın Tozu -Gold_Plate.name=Altın Plaka -Gray_Brush.name=Gri Fırça -Green_Brush.name=Yeşil Fırça -Ground_Cable.name=Topraklama Kablosu -High_Power_Receiver_Antenna.name=Yüksek Güçlü Alıcı Anten -High_Power_Transmitter_Antenna.name=Yüksek Güçlü Verici Anten -High_Voltage_Cable.name=Yüksek Gerilim Kablosu -High_Voltage_Relay.name=Yüksek Gerilim Rölesi -High_Voltage_Switch.name=Yüksek Gerilim Anahtarı -Hub.name=Merkez -Industrial_Data_Logger.name=Endüstriyel Veri Kaydedici -Iron_Cable.name=Demir Kablo -Iron_Dust.name=Demir Tozu -Iron_Plate.name=Demir Plaka -JK_Flip_Flop_Chip.name=JK Flip Flop Chip -LED_vuMeter.name=LED vuMeter -Lamp_Socket_A.name=Lamba Soket A -Lamp_Socket_B_Projector.name=Lamba Soket B Projektör -Lamp_Supply.name=Lamba Besleme -Large_Rheostat.name=Large Rheostat -Lead_Dust.name=Kurşun Tozu -Lead_Ingot.name=Kurşun Külçesi -Lead_Ore.name=Kurşun Cevheri -Lead_Plate.name=Kurşun Plaka -Life_Oriented_Battery.name=Ömür Odaklı Pil -Light_Blue_Brush.name=Açık Mavi Fırça -Lime_Brush.name=Açık Yeşil Fırça -Long_Suspended_Lamp_Socket.name=Uzun Asma Lamba Soketi -Low_Power_Receiver_Antenna.name=Düşük Güç Alıcı Anten -Low_Power_Transmitter_Antenna.name=Low Power Receiver Antenna -Low_Voltage_Cable.name=Düşük Gerilim Kablosu -Low_Voltage_Relay.name=Düşük Gerilim Rölesi -Low_Voltage_Switch.name=Düşük Gerilim Anahtarı -Machine_Block.name=Makine Bloğu -Machine_Booster.name=Makine Hızlandırıcı -Magenta_Brush.name=Magenta Fırça -Medium_Power_Receiver_Antenna.name=Orta Güç Alıcı Anten -Medium_Power_Transmitter_Antenna.name=Orta Güç Verici Anten -Medium_Voltage_Cable.name=Orta Gerilim Kablosu -Medium_Voltage_Relay.name=Orta Gerilim Rölesi -Medium_Voltage_Switch.name=Orta Gerilim Anahtarı -Mercury.name=Merkür -Mining_Pipe.name=Madencilik Borusu -Modbus_RTU.name=Modbus RTU -Modern_Data_Logger.name=Modern Veri Kaydedici -Monster_Filter.name=Canavar Filtresi -MultiMeter.name=Çoklu Ölçer -NAND_Chip.name=NAND Chip -NOR_Chip.name=NOR Chip -NOT_Chip.name=NOT Chip -Nuclear_Alarm.name=Nükleer Alarm -OR_Chip.name=OR Chip -On_OFF_Regulator_10_Percent.name=On/off regulator 10% -On_OFF_Regulator_1_Percent.name=On/off regulator 1% -Optimal_Ferromagnetic_Core.name=Optimal Ferromanyetik Çekirdek -Orange_Brush.name=Turuncu Fırça -Ore_Scanner.name=Cevher Tarayıcı -Oscillator_Chip.name=Oscillator Chip -Overheating_Protection.name=Aşırı Isınma Koruması -Overvoltage_Protection.name=Aşırı Gerilim Koruması -PAL_Chip.name=PAL Chip -Pink_Brush.name=Pembe Fırça -Player_Filter.name=Oyuncu Filtresi -Portable_Battery.name=Taşınabilir Pil -Portable_Battery_Pack.name=Taşınabilir Pil Paketi -Portable_Condensator.name=Taşınabilir Condensator -Portable_Condensator_Pack.name=Taşınabilir Condensator Paketi -Portable_Electrical_Axe.name=Taşınabilir Elektrikli Balta -Portable_Electrical_Mining_Drill.name=Taşınabilir Elektrikli Matkap -Power_Capacitor.name=Güç Kapasitörü -Power_Inductor.name=Güç Endüktörü -Power_Resistor.name=Güç Direnci -Power_capacitor.name=Power capacitor -Power_inductor.name=Power inductor -Purple_Brush.name=Mor Fırça -Red_Brush.name=Kırmızı Fırça -Redstone-to-Voltage_Converter.name=Kızıltaş Gerilim Dönüştürücü -Rheostat.name=Reosta -Robust_Lamp_Socket.name=Sağlam Lamba Soketi -Rubber.name=Kauçuk -Schmitt_Trigger_Chip.name=Schmitt Trigger Chip -Sconce_Lamp_Socket.name=Sconce Lamp Socket -Signal_20H_inductor.name=Sinyal 20H İndüktörü -Signal_Antenna.name=Sinyal Anteni -Signal_Button.name=Sinyal Tuşu -Signal_Cable.name=Sinyal Kablosu -Signal_Diode.name=Sinyal Diyotu -Signal_Processor.name=Sinyal İşlemcisi -Signal_Relay.name=Sinyal Rölesi -Signal_Source.name=Sinyak Kaynağı -Signal_Switch.name=Sinyal Anahtarı -Signal_Switch_with_LED.name=LED'li Sinyal Anahtarı -Signal_Trimmer.name=Sinyal Giyotini -Silicon_Dust.name=Silikon Tozu -Silicon_Ingot.name=Silikon Külçe -Silicon_Plate.name=Silikon Plaka -Silver_Brush.name=Gümüş Fırça -Simple_Lamp_Socket.name=Basit Lamba Soketi -Single-use_Battery.name=Tek Kulanımlık Batarya -Small_200V_Copper_Heating_Corp.name=Küçük 200V Bakır Isıtma Çubuğu -Small_200V_Iron_Heating_Corp.name=Küçük 200V Demir Isıtma Çubuğu -Small_200V_Tungsten_Heating_Corp.name=Küçük 200V Tunsten Isıtma Çubuğu -Small_50V_Carbon_Incandescent_Light_Bulb.name=Küçük 50V Karbon Akkor Ampul -Small_50V_Copper_Heating_Corp.name=Küçük 50V Bakır Isıtma Çubuğu -Small_50V_Economic_Light_Bulb.name=Küçük 50V Ekonomik Ampul -Small_50V_Incandescent_Light_Bulb.name=Küçük 50V Akkor Ampul -Small_50V_Iron_Heating_Corp.name=Küçük 50V Demir Isıtma Çubuğu -Small_50V_Tungsten_Heating_Corp.name=Küçük 50V Tungsten Isıtma Çubuğu -Small_Active_Thermal_Dissipator.name=Küçük Aktfi Termal Dağıtıcı -Small_Flashlight.name=Küçük Elfeneri -Small_Passive_Thermal_Dissipator.name=Küçük Pasif Termal Dağıtıcı -Small_Rotating_Solar_Panel.name=Küçük Döner Güneş Paneli -Small_Solar_Panel.name=Küçük Güneş Paneli -Solar_Tracker.name=Küçük Takipçi -Standard_Alarm.name=Standart Alarm -Steam_Turbine.name=Steam Turbine -Stone_Heat_Furnace.name=Taş Isı Fırını -Street_Light.name=Sokak Lambası -Suspended_Lamp_Socket.name=Asma Lamba Soketi -Temperature_Probe.name=Sıcaklık Sondası -Thermal_Probe.name=Termal Sonda -Thermal_Probe_Chip.name=Termal Sonda Çipi -Thermistor.name=Termistör -ThermoMeter.name=Termometre -Transformer.name=Dönüştürücü -Tree_Resin.name=Ağaç Özü -Tree_Resin_Collector.name=Ağaç Özü Toplayıcısı -Tungsten_Cable.name=Tungsten Kablo -Tungsten_Dust.name=Tungsten Tozu -Tungsten_Ingot.name=Tungsten Külçe -Tungsten_Ore.name=Tungsten Cevheri -Tutorial_Sign.name=Öğretici Tabelası -Very_High_Voltage_Cable.name=Çok Yüksek Gerilim Kablosu -Very_High_Voltage_Relay.name=Çok Yüksek Gerilim Rölesi -Very_High_Voltage_Switch.name=Çok Yüksek Gerilim Anahtarı -Voltage-to-Redstone_Converter.name=Gerilim Kızıltaş Dönüştürücü -Voltage_Oriented_Battery.name=Voltaj Odaklı Batarya -Voltage_Probe.name=Gerilim Sondası -Water_Turbine.name=Su Türbini -Weak_50V_Battery_Charger.name=Zayıf 50V Şarj Aleti -White_Brush.name=Beyaz Fırça -Wind_Turbine.name=Rüzgar Türbini -Wireless_Analyser.name=Kablosuz Analizör -Wireless_Button.name=Kablosuz Tuş -Wireless_Signal_Receiver.name=Kablosuz Sinyal Alıcı -Wireless_Signal_Repeater.name=Kablosuz Sinyal Tekrarlayıcı -Wireless_Signal_Transmitter.name=Kablosuz Sinyal Verici -Wireless_Switch.name=Kablosuz Anahtar -Wrench.name=İngiliz Anahtarı -X-Ray_Scanner.name=X-Ray Tarayıcı -XNOR_Chip.name=XNOR Chip -XOR_Chip.name=XOR Chip -Yellow_Brush.name=Sarı Fırça -entity.EAReplicator.name=Replicator -item.Copper Axe.name\=Copper Axe -item.Copper Axe.name\=Copper Axe -item.Copper Axe.name\=Copper Axe -item.Copper Axe.name\=Copper Axe -item.Copper Axe.name\=Copper Axe -item.Copper Axe.name\=Copper Axe -item.Copper Axe.name\=Copper Axe -item.Copper Axe.name\=Copper Axe -item.Copper Axe.name\=Copper Axe -item.E-Coal Boots.name\=E-Coal Boots -item.E-Coal Boots.name\=E-Coal Boots -item.E-Coal Boots.name\=E-Coal Boots -item.E-Coal Boots.name\=E-Coal Boots -itemGroup.Eln=Elektrik Çağı -mod.meta.desc=Elektrik evinizde\! -tile.eln.ElnProbe.name=Eln Computer Probe -tile.eln.EnergyConverterElnToOtherHVUBlock.name=800V Electrical Age to other energy exporter -tile.eln.EnergyConverterElnToOtherLVUBlock.name=50V Electrical Age to other energy exporter -tile.eln.EnergyConverterElnToOtherMVUBlock.name=200V Electrical Age to other energy exporter - -# ./src/main/java/mods/eln/i18n/I18N.java -You_have_%s_lives_left=You have %s lives left - -# ./src/main/java/mods/eln/item/BrushDescriptor.java -Brush_is_dry=Brush is dry -Can_paint_%s_blocks=Can paint %s blocks - -# ./src/main/java/mods/eln/item/CombustionChamber.java -Upgrade_for_the_Stone_Heat_Furnace.=Taş Isı Fırını için yükseltin. - -# ./src/main/java/mods/eln/item/ElectricalDrillDescriptor.java -Energy_per_operation\:_%sJ=Energy per operation\: %sJ -Time_per_operation\:_%ss=Time per operation\: %ss - -# ./src/main/java/mods/eln/item/FerromagneticCoreDescriptor.java -Cable_loss_factor\:_%s=Cable loss factor\: %s - -# ./src/main/java/mods/eln/item/HeatingCorpElement.java - -# ./src/main/java/mods/eln/item/LampDescriptor.java -Bad=Kötü -Condition\:=Komdisyon\: -End_of_life=Ömür bitişi -Good=İyi -New=Yeni -Nominal_lifetime\:_%sh=Nominal lifetime\: %sh -Technology\:_%s=Technology\: %s -Used=Kullanılmış - -# ./src/main/java/mods/eln/item/LampSlot.java -Lamp_slot=Lamp slot - -# ./src/main/java/mods/eln/item/OverHeatingProtectionDescriptor.java -Useful_to_prevent_overheating\nof_Batteries=Bataryaların aşırı ısınmasını önlemek için kullanışlı - -# ./src/main/java/mods/eln/item/OverVoltageProtectionDescriptor.java -Useful_to_prevent_over-voltage\nof_Batteries=Bataryaları aşırı gerlimden korumak için kullanışlı - -# ./src/main/java/mods/eln/item/SolarTrackerDescriptor.java -Solar_panel_upgrade=Güneş paneli yükseltme - -# ./src/main/java/mods/eln/item/electricalitem/BatteryItem.java - -# ./src/main/java/mods/eln/item/electricalitem/ElectricalLampItem.java -Off=Kapalı -On=Açık -State\:=Durum\: -Stored_Energy\:_%sJ_(%s)=Stored Energy\: %sJ (%s) - -# ./src/main/java/mods/eln/item/regulator/RegulatorSlot.java - -# ./src/main/java/mods/eln/misc/UtilsClient.java -Hold_shift=Shift'e basılı tut - -# ./src/main/java/mods/eln/misc/Version.java -mod.name=Elektrik Çağı - -# ./src/main/java/mods/eln/node/six/SixNodeDescriptor.java - -# ./src/main/java/mods/eln/simplenode/energyconverter/EnergyConverterElnToOtherGui.java -Input_power_is_limited_to_%sW=Input power is limited to %sW - -# ./src/main/java/mods/eln/sixnode/LogicGate.kt -_O\:_= O\: - -# ./src/main/java/mods/eln/sixnode/TreeResinCollector/TreeResinCollectorDescriptor.java -Produces_Tree_Resin_over\ntime_when_put_on_a_tree.=Ağaca koyulduğunda Ağaç Özü üretir. -This_block_can_only_be_placed_on_the_side_of_a_tree!=This block can only be placed on the side of a tree\! - -# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerContainer.java -Battery_slot=Battery slot - -# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerDescriptor.java -Can_be_used_to_recharge\nelectrical_items_like\:\nFlash_Light,_X-Ray_scanner\nand_Portable_Battery_...=Elektrik öğeleri şarj etmek için de kullanılabilir\: Örn. Elfeneri, X-Ray Tarayıcı ve Taşınabilir Pil ... - -# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerGui.java - -# ./src/main/java/mods/eln/sixnode/diode/DiodeDescriptor.java -Electrical_current_can_only\nflow_through_the_diode\nfrom_anode_to_cathode=Elektrik akımı, yalnızca eksiden artıya gidebilir - -# ./src/main/java/mods/eln/sixnode/electricalalarm/ElectricalAlarmDescriptor.java -= -Emits_an_acoustic_alarm_if\nthe_input_signal_is_high=Giriş sinyali yüksek ise bir akustik alarm verir - -# ./src/main/java/mods/eln/sixnode/electricalalarm/ElectricalAlarmGui.java -Sound_is_muted=Sound is muted -Sound_is_not_muted=Sound is not muted - -# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerContainer.java - -# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerDescriptor.java -Protects_electrical_components\nOpens_contact_if\:\n__-_Voltage_exceeds_a_certain_level\n-_Current_exceeds_the_cable_limit=Gerilim belli bir seviyeyi aştığında\: Elektrik bileşenleri korur - -# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerGui.java -Maximum_voltage_before_cutting_off=Maximum voltage before cutting off -Minimum_voltage_before_cutting_off=Minimum voltage before cutting off -Switch_is_off=Switch is off -Switch_is_on=Switch is on - -# ./src/main/java/mods/eln/sixnode/electricalcable/ElectricalCableDescriptor.java -A_signal_is_electrical_information\nwhich_must_be_between_0V_and_%sV=A signal is electrical information which must be between 0V and %sV -Cable_is_adapted_to_conduct\nelectrical_signals.=Kablo elektrik sinyallerini iletmek üzere adapte edilir. -Current\:_%sA=Current\: %sA -Not_adapted_to_transport_power.=Not adapted to transport power. -Save_usage\:=Kullanımı kaydet\: -Serial_resistance\:_%sΩ=Serial resistance\: %sΩ - -# ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerDescriptor.java -It_can_store_up_to_256_points.=Bu 256 puan kadar saklayabilir. -Measures_the_voltage_of_an\nelectrical_signal_and_plots\nthe_data_in_real_time.=Bir elektrik sinyali voltajını ölçme ve gerçek zamanlı veri arsa. - -# ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerGui.java -Back_to_display=Back to display -Configuration=Configuration -Current_[A]=Current [A] -Energy_[J]=Energy [J] -Percent_[-]%=Percent [-]% -Power_[W]=Power [W] -Print=Print -Sampling_period=Sampling period -Temp._[*C]=Temp. [*C] -Voltage_[V]=Voltage [V] -Y-axis_max=Y-axis max -Y-axis_min=Y-axis min - -# ./src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorContainer.java - -# ./src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorDescriptor.java -Output_voltage_increases\nif_entities_are_moving_around.=Eğer entity'ler hareket ediyorsa, çıkış gerilimini arttırır. - -# ./src/main/java/mods/eln/sixnode/electricalfiredetector/ElectricalFireDetectorDescriptor.java -Output_voltage_increases\nif_a_fire_has_been_detected.=Output voltage increases\nif a fire has been detected. - -# ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceDescriptor.java -Provides_configurable_signal\nvoltage.=Provides configurable signal\nvoltage. - -# ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceGui.java -Output_at_%s=Output at %s - -# ./src/main/java/mods/eln/sixnode/electricallightsensor/ElectricalLightSensorDescriptor.java -0V_at_night,_%sV_at_noon.=0V at night, %sV at noon. -Provides_an_electrical_voltage\nin_the_presence_of_light.=Provides an electrical voltage\nin the presence of light. -Provides_an_electrical_voltage\nwhich_is_proportional_to\nthe_intensity_of_daylight.=Provides an electrical voltage\nwhich is proportional to\nthe intensity of daylight. - -# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathContainer.java - -# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathDescriptor.java -Applicable_boolean_operators\:=Uygulanabilir boolean operatörleri\: -Applicable_functions\:=Uygulanabilir fonksiyonlar\: -Applicable_mathematical_operators\:=Uygulanabilir matematiksel operatörler\: -Calculates_an_output_signal_from\n3_inputs_(A,_B,_C)_using_an_equation.=Calculates an output signal from\n3 inputs (A, B, C) using an equation. - -# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathGui.java -%s_Redstone(s)_required=%s Redstone(s) required -Equation_required!=Equation required\! -Inputs_are=Inputs are -Invalid_equation!=Invalid equation\! -Output_voltage_formula=Output voltage formula -Waiting_for_completion...=Waiting for completion... - -# ./src/main/java/mods/eln/sixnode/electricalredstoneinput/ElectricalRedstoneInputDescriptor.java -Converts_Redstone_signal\nto_an_electrical_voltage.=Converts Redstone signal\nto an electrical voltage. - -# ./src/main/java/mods/eln/sixnode/electricalredstoneoutput/ElectricalRedstoneOutputDescriptor.java -Converts_electrical_voltage\ninto_a_Redstone_signal.=Converts electrical voltage\ninto a Redstone signal. - -# ./src/main/java/mods/eln/sixnode/electricalrelay/ElectricalRelayDescriptor.java -A_relay_is_an_electrical\ncontact_that_conducts_electric\ncurrent_or_not,_depending\nthe_actual_input_signal_voltage.=A relay is an electrical\ncontact that conducts electric\ncurrent or not, depending\nthe actual input signal voltage. - -# ./src/main/java/mods/eln/sixnode/electricalrelay/ElectricalRelayGui.java -Normally_closed=Normally closed -Normally_open=Normally open - -# ./src/main/java/mods/eln/sixnode/electricalsource/ElectricalSourceDescriptor.java -Creative_block.=Yanlızca Yaratıcı mod. -Provides_an_ideal_voltage_source\nwithout_energy_or_power_limitation.=Provides an ideal voltage source\nwithout energy or power limitation. - -# ./src/main/java/mods/eln/sixnode/electricalsource/ElectricalSourceGui.java -Output_voltage=Output voltage - -# ./src/main/java/mods/eln/sixnode/electricalswitch/ElectricalSwitchDescriptor.java -Can_break_an_electrical_circuit\ninterrupting_the_current.=Can break an electrical circuit\ninterrupting the current. - -# ./src/main/java/mods/eln/sixnode/electricaltimeout/ElectricalTimeoutDescriptor.java -Upon_application_of_a_high_signal,\nthe_timer_maintains_the_output_high_for\na_configurable_interval._Can_be_re-triggered.=Upon application of a high signal,\nthe timer maintains the output high for\na configurable interval. Can be re-triggered. - -# ./src/main/java/mods/eln/sixnode/electricaltimeout/ElectricalTimeoutGui.java -Set=Set -The_time_interval_the\noutput_is_kept_high.=The time interval the\noutput is kept high. - -# ./src/main/java/mods/eln/sixnode/electricalvumeter/ElectricalVuMeterDescriptor.java -Displays_the_value_of_a_signal.=Displays the value of a signal. - -# ./src/main/java/mods/eln/sixnode/electricalwatch/ElectricalWatchContainer.java -Portable_battery_slot=Portable battery slot - -# ./src/main/java/mods/eln/sixnode/electricalweathersensor/ElectricalWeatherSensorDescriptor.java -Clear\:_%sV=Clear\: %sV -Provides_an_electrical_signal\ndepending_the_actual_weather.=Provides an electrical signal\ndepending the actual weather. -Rain\:_%sV=Rain\: %sV -Storm\:_%sV=Storm\: %sV - -# ./src/main/java/mods/eln/sixnode/electricalwindsensor/ElectricalWindSensorDescriptor.java -Maximum_wind_speed_is_%sm_s=Maximum wind speed is %sm/s -Provides_an_electrical_signal\ndependant_on_wind_speed.=Provides an electrical signal\ndependant on wind speed. -You_can't_place_this_block_on_the_floor_or_the_ceiling=You can't place this block on the floor or the ceiling - -# ./src/main/java/mods/eln/sixnode/electricasensor/ElectricalSensorDescriptor.java -Can_measure_Voltage_Power_Current=Can measure Voltage/Power/Current -Measures_electrical_values_on_cables.=Measures electrical values on cables. -Measures_voltage_on_cables.=Measures voltage on cables. - -# ./src/main/java/mods/eln/sixnode/electricasensor/ElectricalSensorGui.java -Current=Current -Measured_voltage\ncorresponding\nto_0%_output=Measured voltage\ncorresponding\nto 0% output -Measured_voltage\ncorresponding\nto_100%_output=Measured voltage\ncorresponding\nto 100% output -Voltage=Voltage - -# ./src/main/java/mods/eln/sixnode/energymeter/EnergyMeterGui.java -Change_password=Change password -Counter_Mode=Counter Mode -Counts_the_energy_conducted_from\n\u00a74red\u00a7f_to_\u00a71blue\u00a7f.=Counts the energy conducted from\n\\u00a74red\\u00a7f to \\u00a71blue\\u00a7f. -Energy_counter\:_%sJ=Energy counter\: %sJ -Enter_new_energy=Enter new energy -Enter_password=Enter password -Prepay_Mode=Prepay Mode -Reset_time_counter=Reset time counter -Set_energy_counter=Set energy counter -Time_counter\:=Time counter\: -Try_password=Try password -You_can_set_an_initial\namount_of_available_energy.\nWhen_the_counter_arrives_at_0\nthe_contact_will_be_opened.=You can set an initial\namount of available energy.\nWhen the counter arrives at 0\nthe contact will be opened. -is_off=is off -is_on=is on -value_in_kJ=value in kJ - -# ./src/main/java/mods/eln/sixnode/groundcable/GroundCableDescriptor.java -Can_be_used_to_set_a_point_of_an\nelectrical_network_to_0V_potential.\nFor_example_to_ground_negative_battery_contacts.=Can be used to set a point of an\nelectrical network to 0V potential.\nFor example to ground negative battery contacts. -Provides_a_zero_volt_reference.=Provides a zero volt reference. - -# ./src/main/java/mods/eln/sixnode/hub/HubDescriptor.java -Allows_crossing_cables\non_one_single_block.=Allows crossing cables\non one single block. - -# ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketDescriptor.java -Angle\:_%s°_to_%s°=Angle\: %s° to %s° -Spot_range\:_%s_blocks=Spot range\: %s blocks - -# ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketGuiDraw.java -%s_is_not_in_range!=%s is not in range\! -Cable_slot_empty=Cable slot empty -Orientation\:_%s°=Orientation\: %s° -Parallel=Parallel -Powered_by_Lamp_Supply=Powered by Lamp Supply -Powered_by_cable=Powered by cable -Serial=Serial -Specify_the_supply_channel=Specify the supply channel - -# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyContainer.java -Electrical_cable_slot\nBase_range_is_32_blocks.\nEach_additional_cable\nincreases_range_by_one.=Electrical cable slot\nBase range is 32 blocks.\nEach additional cable\nincreases range by one. - -# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyDescriptor.java -Supplies_all_lamps_on_the_channel.=Supplies all lamps on the channel. - -# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyGui.java -Power_channel_name=Power channel name -Wireless_channel_name=Wireless channel name - -# ./src/main/java/mods/eln/sixnode/modbusrtu/ModbusRtuGui.java -Add=Add -Channel_name=Channel name -Modbus_ID=Modbus ID -Modbus_RTU=Modbus RTU -Station_ID=Station ID -Station_name=Station name -Wireless_RX=Wireless RX -Wireless_TX=Wireless TX - -# ./src/main/java/mods/eln/sixnode/powercapacitorsix/PowerCapacitorSixContainer.java -(Increases_maximum_voltage)=(Increases maximum voltage) - -# ./src/main/java/mods/eln/sixnode/powercapacitorsix/PowerCapacitorSixGui.java - -# ./src/main/java/mods/eln/sixnode/powerinductorsix/PowerInductorSixContainer.java - -# ./src/main/java/mods/eln/sixnode/powerinductorsix/PowerInductorSixGui.java - -# ./src/main/java/mods/eln/sixnode/powersocket/PowerSocketDescriptor.java -Supplies_any_device\nplugged_in_with_energy.=Supplies any device\nplugged in with energy. - -# ./src/main/java/mods/eln/sixnode/powersocket/PowerSocketGui.java -Specify_the_device_to_supply_through_this_socket.=Specify the device to supply through this socket. - -# ./src/main/java/mods/eln/sixnode/resistor/ResistorContainer.java -(Sets_resistance)=(Sets resistance) -Coal_dust_slot=Coal dust slot - -# ./src/main/java/mods/eln/sixnode/thermalcable/ThermalCableDescriptor.java -High_parallel_resistance\n_\=>_Low_power_dissipation.=High parallel resistance\n \=> Low power dissipation. -Low_serial_resistance\n_\=>_High_conductivity.=Low serial resistance\n \=> High conductivity. -Parallel_resistance\:_%sK_W=Parallel resistance\: %sK/W -Serial_resistance\:_%sK_W=Serial resistance\: %sK/W - -# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorContainer.java -Cable_slot=Cable slot - -# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorDescriptor.java -Can_measure\:=Can measure\: -Measures_temperature_of_cables.=Measures temperature of cables. -Measures_thermal_values_on_cables.=Measures thermal values on cables. -__Temperature_Power_conducted=Temperature/Power conducted - -# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorGui.java -Measured_temperature\ncorresponding\nto_0%_output=Measured temperature\ncorresponding\nto 0% output -Measured_temperature\ncorresponding\nto_100%_output=Measured temperature\ncorresponding\nto 100% output -Temperature=Temperature - -# ./src/main/java/mods/eln/sixnode/tutorialsign/TutorialSignElement.java -No_text_associated_to_this_beacon=No text associated to this beacon - -# ./src/main/java/mods/eln/sixnode/tutorialsign/TutorialSignGui.java -Set_beacon_name=Set beacon name - -# ./src/main/java/mods/eln/sixnode/wirelesssignal/rx/WirelessSignalRxGui.java - -# ./src/main/java/mods/eln/transparentnode/FuelGenerator.kt -Nominal_power\:_%s_W=Nominal power\: %s W -Nominal_voltage\:_%s_V=Nominal voltage\: %s V -Produces_electricity_using_fuel.=Produces electricity using fuel. - -# ./src/main/java/mods/eln/transparentnode/LargeRheostat.kt -Nom._Resistance\:_%s=Nom. Resistance\: %s - -# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerContainer.java -Drill_slot=Drill slot -Mining_pipe_slot=Mining pipe slot -Ore_scanner_slot=Ore scanner slot - -# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerDescriptor.java -Excavates_on_a_small_radius.\nExtracts_ore_on_a_bigger_radius\:\n10_blocks_radius_after_10_blocks_depth.=Excavates on a small radius.\nExtracts ore on a bigger radius\:\n10 blocks radius after 10 blocks depth. - -# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerGuiDraw.java -Chest_missing_on_the\nback_of_the_auto_miner!=Chest missing on the\nback of the auto miner\! -Halves_speed,_triples_power_draw=Halves speed, triples power draw -Silk_Touch_Off=Silk Touch Off -Silk_Touch_On=Silk Touch On -Silk_touch=Silk touch - -# ./src/main/java/mods/eln/transparentnode/battery/BatteryContainer.java -Overheating_protection=Overheating protection -Overvoltage_protection=Overvoltage protection - -# ./src/main/java/mods/eln/transparentnode/battery/BatteryDescriptor.java -Actual_charge\:_%s=Actual charge\: %s -Energy_capacity\:_%sJ=Energy capacity\: %sJ -_charged_at_%s=charged at %s - -# ./src/main/java/mods/eln/transparentnode/battery/BatteryGuiDraw.java -Charge=Charge -Charged=Charged -Discharge=Discharge -Energy\:=Energy\: -Energy\:_%s=Energy\: %s -Life\:=Life\: -No_charge=No charge -Power_in\:=Power in\: -Power_out\:=Power out\: - -# ./src/main/java/mods/eln/transparentnode/eggincubator/EggIncubatorContainer.java -Egg_slot=Egg slot - -# ./src/main/java/mods/eln/transparentnode/electricalantennarx/ElectricalAntennaRxDescriptor.java -Wireless_energy_receiver.=Kablosuz enerji alıcısı. - -# ./src/main/java/mods/eln/transparentnode/electricalantennatx/ElectricalAntennaTxDescriptor.java -Efficiency\:_%s_up_to_%s=Efficiency\: %s up to %s -Wireless_energy_transmitter.=Kablosuz enerji verici. - -# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceContainer.java -Heating_corp_slot=Heating corp slot - -# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceDescriptor.java -Similar_to_a_vanilla_furnace,\nbut_heats_with_electricity.=Similar to a vanilla furnace,\nbut heats with electricity. - -# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceGuiDraw.java -Auto_shutdown=Auto shutdown -Manual_shutdown=Manual shutdown -Set_point\:_%s°C=Set point\: %s°C - -# ./src/main/java/mods/eln/transparentnode/electricalmachine/ElectricalMachineDescriptor.java -Cost=Cost - -# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceContainer.java -Combustion_chamber_slot=Combustion chamber slot -Fuel_slot=Fuel slot - -# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceDescriptor.java -Generates_heat_when_supplied_with_fuel.=Yakıt temin edildiğinde ısı üretir. - -# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceGuiDraw.java -Control_gauge_at_%s=Control gauge at %s -Decline_fuel=Decline fuel -External_control=External control -Internal_control=Internal control -Take_fuel=Take fuel - -# ./src/main/java/mods/eln/transparentnode/powercapacitor/PowerCapacitorContainer.java -(Increases_maximal_voltage)=(Increases maximal voltage) - -# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelContainer.java -Solar_tracker_slot=Solar tracker slot - -# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelDescriptor.java -Can_be_geared_towards_the_sun.=Güneşe dönük olabilir. -Max._power\:_%sW=Max. power\: %sW -Max._voltage\:_%sV=Max. voltage\: %sV -Produces_power_from_solar_radiation.=Güneş ışınlarından güç üretir. - -# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPannelGuiDraw.java -It_is_night=It is night -Solar_panel_angle\:_%s°=Solar panel angle\: %s° -Sun_angle\:_%s°=Sun angle\: %s° - -# ./src/main/java/mods/eln/transparentnode/teleporter/TeleporterGui.java -Destination_transporter=Destination transporter -Power_consumption\:=Power consumption\: -Power_consumption\:_%sW=Power consumption\: %sW -Required_energy\:_%sJ=Required energy\: %sJ -Start=Start -Transporter_name=Transporter name - -# ./src/main/java/mods/eln/transparentnode/thermaldissipatoractive/ThermalDissipatorActiveDescriptor.java -Fan_cooling_power\:_%sW=Fan cooling power\: %sW -Fan_power_consumption\:_%sW=Fan power consumption\: %sW -Fan_voltage\:_%sV=Fan voltage\: %sV - -# ./src/main/java/mods/eln/transparentnode/transformer/TransformerDescriptor.java -The_voltage_ratio_is_proportional\nto_the_cable_stacks_count_ratio.=The voltage ratio is proportional\nto the cable stacks count ratio. -Transforms_an_input_voltage_to\nan_output_voltage.=Transforms an input voltage to\nan output voltage. - -# ./src/main/java/mods/eln/transparentnode/turbine/TurbineDescriptor.java -Generates_electricity_using_heat.=Isı kullanılarak elektrik üretir. -Temperature_difference\:_%s°C=Temperature difference\: %s°C - -# ./src/main/java/mods/eln/transparentnode/turret/TurretDescriptor.java -CAUTION\:_Cables_can_get_quite_hot!=DİKKAT\: Kablolar oldukça fazla ısınabilir\! -Laser_charge_power\:_%sW...%skW=Laser charge power\: %sW...%skW -Scans_for_entities_and_shoots_if_the\nentity_matches_the_configurable_filter_criteria.=Scans for entities and shoots if the\nentity matches the configurable filter criteria. -Standby_power\:_%sW=Standby power\: %sW - -# ./src/main/java/mods/eln/transparentnode/turret/TurretGui.java -Attack\:=Attack\: -Do_not_attack\:=Do not attack\: -Recharge_power\:=Recharge power\: - -# ./src/main/java/mods/eln/transparentnode/waterturbine/WaterTurbineDescriptor.java -Generates_energy_using_water_stream.=Su akışı kullanarak enerji üretir. -No_place_for_water_turbine!=No place for water turbine\! - -# ./src/main/java/mods/eln/transparentnode/windturbine/WindTurbineDescriptor.java -Front\:_%s=Front\: %s -Generates_energy_from_wind.=Rüzgardan enerji üretir. -Left_Right\:_%s=Left/Right\: %s -Up_Down\:_%s=Up/Down\: %s -Wind_area\:=Rüzgar alanı\: - -# ./src/main/java/mods/eln/wiki/Data.java -Energy=Energy -Light=Light -Machine=Machine -Ore=Ore -Portable=Portable -Resource=Resource -Signal=Signal -Thermal=Thermal -Upgrade=Upgrade -Utilities=Utilities -Wiring=Wiring - -# ./src/main/java/mods/eln/wiki/Default.java -Previous=Previous - -# ./src/main/java/mods/eln/wiki/ItemDefault.java -Can_be_used_to_craft\:=Can be used to craft\: -Cannot_be_crafted!=Cannot be crafted\! -Cost_%sJ=Cost %sJ -Created_by\:=Created by\: -Is_not_a_crafting_material!=Is not a crafting material\! -Recipe\:=Recipe\: - -# Appearing in multiple source files -(Increases_capacity)=(Increases capacity) -(Increases_inductance)=(Increases inductance) -Actual\:_%s°C=Actual\: %s°C -Biggest=Biggest -Booster_slot=Booster slot -Can_create\:=Can create\: -Capacity\:_%sF=Capacity\: %sF -Charge_power\:_%sW=Charge power\: %sW -Connected=Connected -Cooling_power\:_%sW=Cooling power\: %sW -Copper_cable_slot=Copper cable slot -Dielectric_slot=Dielectric slot -Discharge_power\:_%sW=Discharge power\: %sW -Electrical_cable_slot=Electrical cable slot -Entity_filter_slot=Entity filter slot -Ferromagnetic_core_slot=Ferromagnetic core slot -Has_a_signal_output.=Has a signal output. -Inductance\:_%sH=Inductance\: %sH -Internal_resistance\:_%sΩ=Internal resistance\: %sΩ -Is_off=Is off -Is_on=Is on -Max._temperature\:_%s°C=Max. temperature\: %s°C -Measured_value\ncorresponding\nto_0%_output=Measured value\ncorresponding\nto 0% output -Measured_value\ncorresponding\nto_100%_output=Measured value\ncorresponding\nto 100% output -Nominal\:=Sembolik\: -Nominal_power\:_%sW=Nominal power\: %sW -Nominal_usage\:=Sembolik kullanım\: -Nominal_voltage\:_%sV=Nominal voltage\: %sV -Not_connected=Not connected -Not_enough_space_for_this_block=Not enough space for this block -Power=Power -Power\:_%sW=Power\: %sW -Range\:_%s_blocks=Range\: %s blocks -Redstone_slot=Redstone slot -Regulator_slot=Regulator slot -Reset=Reset -Resistance\:_%sΩ=Resistance\: %sΩ -Smallest=Smallest -Specify_the_channel=Specify the channel -Stored_energy\:_%sJ_(%s)=Stored energy\: %sJ (%s) -Temperature\:_%s°C=Temperature\: %s°C -Temperature_gauge=Temperature gauge -Thermal_isolator_slot=Thermal isolator slot -Toggle=Toggle -Toggle_switch=Toggle switch -Toggles_the_output_each_time\nan_emitter's_value_rises.\nUseful_to_allow_multiple_buttons\nto_control_the_same_light.=Toggles the output each time\nan emitter's value rises.\nUseful to allow multiple buttons\nto control the same light. -Used_to_cool_down_turbines.=Türbinlerin soğuması için kullanılır. -Uses_the_biggest\nvalue_on_the_channel.=Uses the biggest\nvalue on the channel. -Uses_the_smallest\nvalue_on_the_channel.=Uses the smallest\nvalue on the channel. -Validate=Validate -Voltage\:_%sV=Voltage\: %sV -You_can't_place_this_block_at_this_side=You can't place this block at this side +eln:# +eln: +eln:# ./src/main/java/mods/eln/Achievements.java +eln:Electrical_Age_[WIP]=Elektrik Çağı [WIP] +eln:achievement.craft_50v_macerator=Crushing Novice +eln:achievement.craft_50v_macerator.desc=Craft a 50V Macerator +eln:achievement.open_guide=Wiki Power +eln:achievement.open_guide.desc=Open the wiki guide +eln: +eln:# ./src/main/java/mods/eln/Eln.java +eln:10A_Diode.name=10A Diyot +eln:200V_Active_Thermal_Dissipator.name=200V Aktif Termal Dağıtıcı +eln:200V_Battery_Charger.name=200V Şarj Aleti +eln:200V_Compressor.name=200V Kompresör +eln:200V_Condensator.name=200V Condensator +eln:200V_Copper_Heating_Corp.name=200V Bakır Isıtma Çubuğu +eln:200V_Economic_Light_Bulb.name=200V Ekonomik Ampul +eln:200V_Farming_Lamp.name=200V Tarım Lambası +eln:200V_Fuel_Generator.name=200V Fuel Generator +eln:200V_Incandescent_Light_Bulb.name=200V Akkor Ampul +eln:200V_Iron_Heating_Corp.name=200V Demir Isıtma Çubuğu +eln:200V_LED_Bulb.name=200V LED Bulb +eln:200V_Macerator.name=200V Macerator +eln:200V_Magnetizer.name=200V Mıknatıslayıcı +eln:200V_Plate_Machine.name=200V Plaka Makinesi +eln:200V_Power_Socket.name=200V Güç Soketi +eln:200V_Tungsten_Heating_Corp.name=200V Tungsten Isıtma Çubuğu +eln:200V_Turbine.name=200V Türbin +eln:25A_Diode.name=25A Diyot +eln:50V_Battery_Charger.name=50V Şarj Aleti +eln:50V_Carbon_Incandescent_Light_Bulb.name=Karbon Akkor Ampul +eln:50V_Compressor.name=50V Kompresör +eln:50V_Condensator.name=50V Condensator +eln:50V_Copper_Heating_Corp.name=50V Bakır Isıtma Çubuğu +eln:50V_Economic_Light_Bulb.name=50V Ekonomik Ampul +eln:50V_Egg_Incubator.name=50V Kuluçka Makinesi +eln:50V_Farming_Lamp.name=50V Tasarruflu Lamba +eln:50V_Fuel_Generator.name=50V Fuel Generator +eln:50V_Incandescent_Light_Bulb.name=50V Akkor Ampul +eln:50V_Iron_Heating_Corp.name=50V Demir Isıtma Çubuğu +eln:50V_LED_Bulb.name=50V LED Bulb +eln:50V_Macerator.name=50V Macerator +eln:50V_Magnetizer.name=50V Mıknatıslayıcı +eln:50V_Plate_Machine.name=50V Plaka Makinesi +eln:50V_Power_Socket.name=50V Güç Soketi +eln:50V_Tungsten_Heating_Corp.name=50V Tungsten Isıtma Çubuğu +eln:50V_Turbine.name=50V Türbin +eln:800V_Defence_Turret.name=800V Savunma Tareti +eln:AND_Chip.name=AND Chip +eln:Advanced_Chip.name=Gelişmiş Çip +eln:Advanced_Electrical_Motor.name=Gelişmiş Elektrik Motoru +eln:Advanced_Energy_Meter.name=Gelişmiş Enerji Ölçer +eln:Advanced_Machine_Block.name=Gelişmiş Makine Bloğu +eln:Advanced_Magnet.name=Gelişmiş Mıknatıs +eln:AllMeter.name=Evrensel Ölçer +eln:Alloy_Dust.name=Alaşım Toz +eln:Alloy_Ingot.name=Alaşım Külçe +eln:Alloy_Plate.name=Alaşım Plaka +eln:Analog_Watch.name=Analog Saat +eln:Analog_vuMeter.name=Analog Ölçü +eln:Analogic_Regulator.name=Analojik Regülatörü +eln:Animal_Filter.name=Hayvan Filtresi +eln:Auto_Miner.name=Otomatik Madenci +eln:Average_Electrical_Drill.name=Ortalama Elektrikli Matkap +eln:Average_Ferromagnetic_Core.name=Ortalama Ferromanyetik Çekirdek +eln:Basic_Magnet.name=Basit Mıknatıs +eln:Black_Brush.name=Siyah Fırça +eln:Blue_Brush.name=Mavi Fırça +eln:Brown_Brush.name=Kahverengi Fırça +eln:Capacity_Oriented_Battery.name=Kapasite Odaklı Batarya +eln:Cheap_Chip.name=Ucuz Çip +eln:Cheap_Electrical_Drill.name=Ucuz Elektrikli Matkap +eln:Cheap_Ferromagnetic_Core.name=Ucuz Ferromanyetik Çekirdek +eln:Cinnabar_Dust.name=Zincifre Tozu +eln:Cinnabar_Ore.name=Zincifre Cevheri +eln:Coal_Dust.name=Kömür Tozu +eln:Coal_Plate.name=Kömür Plaka +eln:Combustion_Chamber.name=Yanma Odası +eln:Copper_Cable.name=Bakır Kablo +eln:Copper_Dust.name=Bakır Tozu +eln:Copper_Ingot.name=Bakır Külçe +eln:Copper_Ore.name=Bakır Cevheri +eln:Copper_Plate.name=Bakır Plaka +eln:Copper_Thermal_Cable.name=Bakır Termal Kablo +eln:Cost_Oriented_Battery.name=Maliyet Odaklı Batarya +eln:Current_Oriented_Battery.name=Akım Orantılı Batarya +eln:Cyan_Brush.name=Açık Mavi Fırça +eln:D_Flip_Flop_Chip.name=D Flip Flop Chip +eln:Data_Logger.name=Veri Kaydedici +eln:Data_Logger_Print.name=Veri Kaydedici Baskısı +eln:Dielectric.name=Yalıtkan +eln:Digital_Watch.name=Dijital Saat +eln:Electrical_Anemometer_Sensor.name=Elektrik Anemometre Sensörü +eln:Electrical_Breaker.name=Elektrik Kesici +eln:Electrical_Daylight_Sensor.name=Elektrik Günışığı Sensörü +eln:Electrical_Entity_Sensor.name=Elektrik Entity Sensörü +eln:Electrical_Fire_Detector.name=Electrik Yangın Dedektörü +eln:Electrical_Furnace.name=Elektrikli Fırın +eln:Electrical_Light_Sensor.name=Elektrik Işık Sensörü +eln:Electrical_Motor.name=Elektrik Motoru +eln:Electrical_Probe.name=Elektrik Sondası +eln:Electrical_Probe_Chip.name=Elektrik Sona Çipi +eln:Electrical_Source.name=Elektrik Kaynağı +eln:Electrical_Timer.name=Elektrik Sayacı +eln:Electrical_Weather_Sensor.name=Elektrik Hava Sensörü +eln:Electrical_age_wrench,\nCan_be_used_to_turn\nsmall_wall_blocks=Electrical age wrench,\nCan be used to turn\nsmall wall blocks +eln:Energy_Meter.name=Enerji Ölçer +eln:Experimental_Transporter.name=Deneysel Taşıyıcı +eln:Fast_Electrical_Drill.name=Hızlı Elektrikli Matkap +eln:Ferrite_Ingot.name=Ferrit Külçesi +eln:Flat_Lamp_Socket.name=Düz Lamba Soketi +eln:Fluorescent_Lamp_Socket.name=Florasan Lamba Soketi +eln:Generator.name=Generator +eln:Gold_Dust.name=Altın Tozu +eln:Gold_Plate.name=Altın Plaka +eln:Gray_Brush.name=Gri Fırça +eln:Green_Brush.name=Yeşil Fırça +eln:Ground_Cable.name=Topraklama Kablosu +eln:High_Power_Receiver_Antenna.name=Yüksek Güçlü Alıcı Anten +eln:High_Power_Transmitter_Antenna.name=Yüksek Güçlü Verici Anten +eln:High_Voltage_Cable.name=Yüksek Gerilim Kablosu +eln:High_Voltage_Relay.name=Yüksek Gerilim Rölesi +eln:High_Voltage_Switch.name=Yüksek Gerilim Anahtarı +eln:Hub.name=Merkez +eln:Industrial_Data_Logger.name=Endüstriyel Veri Kaydedici +eln:Iron_Cable.name=Demir Kablo +eln:Iron_Dust.name=Demir Tozu +eln:Iron_Plate.name=Demir Plaka +eln:JK_Flip_Flop_Chip.name=JK Flip Flop Chip +eln:LED_vuMeter.name=LED vuMeter +eln:Lamp_Socket_A.name=Lamba Soket A +eln:Lamp_Socket_B_Projector.name=Lamba Soket B Projektör +eln:Lamp_Supply.name=Lamba Besleme +eln:Large_Rheostat.name=Large Rheostat +eln:Lead_Dust.name=Kurşun Tozu +eln:Lead_Ingot.name=Kurşun Külçesi +eln:Lead_Ore.name=Kurşun Cevheri +eln:Lead_Plate.name=Kurşun Plaka +eln:Life_Oriented_Battery.name=Ömür Odaklı Pil +eln:Light_Blue_Brush.name=Açık Mavi Fırça +eln:Lime_Brush.name=Açık Yeşil Fırça +eln:Long_Suspended_Lamp_Socket.name=Uzun Asma Lamba Soketi +eln:Low_Power_Receiver_Antenna.name=Düşük Güç Alıcı Anten +eln:Low_Power_Transmitter_Antenna.name=Low Power Receiver Antenna +eln:Low_Voltage_Cable.name=Düşük Gerilim Kablosu +eln:Low_Voltage_Relay.name=Düşük Gerilim Rölesi +eln:Low_Voltage_Switch.name=Düşük Gerilim Anahtarı +eln:Machine_Block.name=Makine Bloğu +eln:Machine_Booster.name=Makine Hızlandırıcı +eln:Magenta_Brush.name=Magenta Fırça +eln:Medium_Power_Receiver_Antenna.name=Orta Güç Alıcı Anten +eln:Medium_Power_Transmitter_Antenna.name=Orta Güç Verici Anten +eln:Medium_Voltage_Cable.name=Orta Gerilim Kablosu +eln:Medium_Voltage_Relay.name=Orta Gerilim Rölesi +eln:Medium_Voltage_Switch.name=Orta Gerilim Anahtarı +eln:Mercury.name=Merkür +eln:Mining_Pipe.name=Madencilik Borusu +eln:Modbus_RTU.name=Modbus RTU +eln:Modern_Data_Logger.name=Modern Veri Kaydedici +eln:Monster_Filter.name=Canavar Filtresi +eln:MultiMeter.name=Çoklu Ölçer +eln:NAND_Chip.name=NAND Chip +eln:NOR_Chip.name=NOR Chip +eln:NOT_Chip.name=NOT Chip +eln:Nuclear_Alarm.name=Nükleer Alarm +eln:OR_Chip.name=OR Chip +eln:On_OFF_Regulator_10_Percent.name=On/off regulator 10% +eln:On_OFF_Regulator_1_Percent.name=On/off regulator 1% +eln:Optimal_Ferromagnetic_Core.name=Optimal Ferromanyetik Çekirdek +eln:Orange_Brush.name=Turuncu Fırça +eln:Ore_Scanner.name=Cevher Tarayıcı +eln:Oscillator_Chip.name=Oscillator Chip +eln:Overheating_Protection.name=Aşırı Isınma Koruması +eln:Overvoltage_Protection.name=Aşırı Gerilim Koruması +eln:PAL_Chip.name=PAL Chip +eln:Pink_Brush.name=Pembe Fırça +eln:Player_Filter.name=Oyuncu Filtresi +eln:Portable_Battery.name=Taşınabilir Pil +eln:Portable_Battery_Pack.name=Taşınabilir Pil Paketi +eln:Portable_Condensator.name=Taşınabilir Condensator +eln:Portable_Condensator_Pack.name=Taşınabilir Condensator Paketi +eln:Portable_Electrical_Axe.name=Taşınabilir Elektrikli Balta +eln:Portable_Electrical_Mining_Drill.name=Taşınabilir Elektrikli Matkap +eln:Power_Capacitor.name=Güç Kapasitörü +eln:Power_Inductor.name=Güç Endüktörü +eln:Power_Resistor.name=Güç Direnci +eln:Power_capacitor.name=Power capacitor +eln:Power_inductor.name=Power inductor +eln:Purple_Brush.name=Mor Fırça +eln:Red_Brush.name=Kırmızı Fırça +eln:Redstone-to-Voltage_Converter.name=Kızıltaş Gerilim Dönüştürücü +eln:Rheostat.name=Reosta +eln:Robust_Lamp_Socket.name=Sağlam Lamba Soketi +eln:Rubber.name=Kauçuk +eln:Schmitt_Trigger_Chip.name=Schmitt Trigger Chip +eln:Sconce_Lamp_Socket.name=Sconce Lamp Socket +eln:Signal_20H_inductor.name=Sinyal 20H İndüktörü +eln:Signal_Antenna.name=Sinyal Anteni +eln:Signal_Button.name=Sinyal Tuşu +eln:Signal_Cable.name=Sinyal Kablosu +eln:Signal_Diode.name=Sinyal Diyotu +eln:Signal_Processor.name=Sinyal İşlemcisi +eln:Signal_Relay.name=Sinyal Rölesi +eln:Signal_Source.name=Sinyak Kaynağı +eln:Signal_Switch.name=Sinyal Anahtarı +eln:Signal_Switch_with_LED.name=LED'li Sinyal Anahtarı +eln:Signal_Trimmer.name=Sinyal Giyotini +eln:Silicon_Dust.name=Silikon Tozu +eln:Silicon_Ingot.name=Silikon Külçe +eln:Silicon_Plate.name=Silikon Plaka +eln:Silver_Brush.name=Gümüş Fırça +eln:Simple_Lamp_Socket.name=Basit Lamba Soketi +eln:Single-use_Battery.name=Tek Kulanımlık Batarya +eln:Small_200V_Copper_Heating_Corp.name=Küçük 200V Bakır Isıtma Çubuğu +eln:Small_200V_Iron_Heating_Corp.name=Küçük 200V Demir Isıtma Çubuğu +eln:Small_200V_Tungsten_Heating_Corp.name=Küçük 200V Tunsten Isıtma Çubuğu +eln:Small_50V_Carbon_Incandescent_Light_Bulb.name=Küçük 50V Karbon Akkor Ampul +eln:Small_50V_Copper_Heating_Corp.name=Küçük 50V Bakır Isıtma Çubuğu +eln:Small_50V_Economic_Light_Bulb.name=Küçük 50V Ekonomik Ampul +eln:Small_50V_Incandescent_Light_Bulb.name=Küçük 50V Akkor Ampul +eln:Small_50V_Iron_Heating_Corp.name=Küçük 50V Demir Isıtma Çubuğu +eln:Small_50V_Tungsten_Heating_Corp.name=Küçük 50V Tungsten Isıtma Çubuğu +eln:Small_Active_Thermal_Dissipator.name=Küçük Aktfi Termal Dağıtıcı +eln:Small_Flashlight.name=Küçük Elfeneri +eln:Small_Passive_Thermal_Dissipator.name=Küçük Pasif Termal Dağıtıcı +eln:Small_Rotating_Solar_Panel.name=Küçük Döner Güneş Paneli +eln:Small_Solar_Panel.name=Küçük Güneş Paneli +eln:Solar_Tracker.name=Küçük Takipçi +eln:Standard_Alarm.name=Standart Alarm +eln:Steam_Turbine.name=Steam Turbine +eln:Stone_Heat_Furnace.name=Taş Isı Fırını +eln:Street_Light.name=Sokak Lambası +eln:Suspended_Lamp_Socket.name=Asma Lamba Soketi +eln:Temperature_Probe.name=Sıcaklık Sondası +eln:Thermal_Probe.name=Termal Sonda +eln:Thermal_Probe_Chip.name=Termal Sonda Çipi +eln:Thermistor.name=Termistör +eln:ThermoMeter.name=Termometre +eln:Transformer.name=Dönüştürücü +eln:Tree_Resin.name=Ağaç Özü +eln:Tree_Resin_Collector.name=Ağaç Özü Toplayıcısı +eln:Tungsten_Cable.name=Tungsten Kablo +eln:Tungsten_Dust.name=Tungsten Tozu +eln:Tungsten_Ingot.name=Tungsten Külçe +eln:Tungsten_Ore.name=Tungsten Cevheri +eln:Tutorial_Sign.name=Öğretici Tabelası +eln:Very_High_Voltage_Cable.name=Çok Yüksek Gerilim Kablosu +eln:Very_High_Voltage_Relay.name=Çok Yüksek Gerilim Rölesi +eln:Very_High_Voltage_Switch.name=Çok Yüksek Gerilim Anahtarı +eln:Voltage-to-Redstone_Converter.name=Gerilim Kızıltaş Dönüştürücü +eln:Voltage_Oriented_Battery.name=Voltaj Odaklı Batarya +eln:Voltage_Probe.name=Gerilim Sondası +eln:Water_Turbine.name=Su Türbini +eln:Weak_50V_Battery_Charger.name=Zayıf 50V Şarj Aleti +eln:White_Brush.name=Beyaz Fırça +eln:Wind_Turbine.name=Rüzgar Türbini +eln:Wireless_Analyser.name=Kablosuz Analizör +eln:Wireless_Button.name=Kablosuz Tuş +eln:Wireless_Signal_Receiver.name=Kablosuz Sinyal Alıcı +eln:Wireless_Signal_Repeater.name=Kablosuz Sinyal Tekrarlayıcı +eln:Wireless_Signal_Transmitter.name=Kablosuz Sinyal Verici +eln:Wireless_Switch.name=Kablosuz Anahtar +eln:Wrench.name=İngiliz Anahtarı +eln:X-Ray_Scanner.name=X-Ray Tarayıcı +eln:XNOR_Chip.name=XNOR Chip +eln:XOR_Chip.name=XOR Chip +eln:Yellow_Brush.name=Sarı Fırça +eln:entity.EAReplicator.name=Replicator +eln:item.Copper Axe.name\=Copper Axe +eln:item.Copper Axe.name\=Copper Axe +eln:item.Copper Axe.name\=Copper Axe +eln:item.Copper Axe.name\=Copper Axe +eln:item.Copper Axe.name\=Copper Axe +eln:item.Copper Axe.name\=Copper Axe +eln:item.Copper Axe.name\=Copper Axe +eln:item.Copper Axe.name\=Copper Axe +eln:item.Copper Axe.name\=Copper Axe +eln:item.E-Coal Boots.name\=E-Coal Boots +eln:item.E-Coal Boots.name\=E-Coal Boots +eln:item.E-Coal Boots.name\=E-Coal Boots +eln:item.E-Coal Boots.name\=E-Coal Boots +eln:itemGroup.Eln=Elektrik Çağı +eln:mod.meta.desc=Elektrik evinizde\! +eln:tile.eln.ElnProbe.name=Eln Computer Probe +eln:tile.eln.EnergyConverterElnToOtherHVUBlock.name=800V Electrical Age to other energy exporter +eln:tile.eln.EnergyConverterElnToOtherLVUBlock.name=50V Electrical Age to other energy exporter +eln:tile.eln.EnergyConverterElnToOtherMVUBlock.name=200V Electrical Age to other energy exporter +eln: +eln:# ./src/main/java/mods/eln/i18n/I18N.java +eln:You_have_%s_lives_left=You have %s lives left +eln: +eln:# ./src/main/java/mods/eln/item/BrushDescriptor.java +eln:Brush_is_dry=Brush is dry +eln:Can_paint_%s_blocks=Can paint %s blocks +eln: +eln:# ./src/main/java/mods/eln/item/CombustionChamber.java +eln:Upgrade_for_the_Stone_Heat_Furnace.=Taş Isı Fırını için yükseltin. +eln: +eln:# ./src/main/java/mods/eln/item/ElectricalDrillDescriptor.java +eln:Energy_per_operation\:_%sJ=Energy per operation\: %sJ +eln:Time_per_operation\:_%ss=Time per operation\: %ss +eln: +eln:# ./src/main/java/mods/eln/item/FerromagneticCoreDescriptor.java +eln:Cable_loss_factor\:_%s=Cable loss factor\: %s +eln: +eln:# ./src/main/java/mods/eln/item/HeatingCorpElement.java +eln: +eln:# ./src/main/java/mods/eln/item/LampDescriptor.java +eln:Bad=Kötü +eln:Condition\:=Komdisyon\: +eln:End_of_life=Ömür bitişi +eln:Good=İyi +eln:New=Yeni +eln:Nominal_lifetime\:_%sh=Nominal lifetime\: %sh +eln:Technology\:_%s=Technology\: %s +eln:Used=Kullanılmış +eln: +eln:# ./src/main/java/mods/eln/item/LampSlot.java +eln:Lamp_slot=Lamp slot +eln: +eln:# ./src/main/java/mods/eln/item/OverHeatingProtectionDescriptor.java +eln:Useful_to_prevent_overheating\nof_Batteries=Bataryaların aşırı ısınmasını önlemek için kullanışlı +eln: +eln:# ./src/main/java/mods/eln/item/OverVoltageProtectionDescriptor.java +eln:Useful_to_prevent_over-voltage\nof_Batteries=Bataryaları aşırı gerlimden korumak için kullanışlı +eln: +eln:# ./src/main/java/mods/eln/item/SolarTrackerDescriptor.java +eln:Solar_panel_upgrade=Güneş paneli yükseltme +eln: +eln:# ./src/main/java/mods/eln/item/electricalitem/BatteryItem.java +eln: +eln:# ./src/main/java/mods/eln/item/electricalitem/ElectricalLampItem.java +eln:Off=Kapalı +eln:On=Açık +eln:State\:=Durum\: +eln:Stored_Energy\:_%sJ_(%s)=Stored Energy\: %sJ (%s) +eln: +eln:# ./src/main/java/mods/eln/item/regulator/RegulatorSlot.java +eln: +eln:# ./src/main/java/mods/eln/misc/UtilsClient.java +eln:Hold_shift=Shift'e basılı tut +eln: +eln:# ./src/main/java/mods/eln/misc/Version.java +eln:mod.name=Elektrik Çağı +eln: +eln:# ./src/main/java/mods/eln/node/six/SixNodeDescriptor.java +eln: +eln:# ./src/main/java/mods/eln/simplenode/energyconverter/EnergyConverterElnToOtherGui.java +eln:Input_power_is_limited_to_%sW=Input power is limited to %sW +eln: +eln:# ./src/main/java/mods/eln/sixnode/LogicGate.kt +eln:_O\:_= O\: +eln: +eln:# ./src/main/java/mods/eln/sixnode/TreeResinCollector/TreeResinCollectorDescriptor.java +eln:Produces_Tree_Resin_over\ntime_when_put_on_a_tree.=Ağaca koyulduğunda Ağaç Özü üretir. +eln:This_block_can_only_be_placed_on_the_side_of_a_tree!=This block can only be placed on the side of a tree\! +eln: +eln:# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerContainer.java +eln:Battery_slot=Battery slot +eln: +eln:# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerDescriptor.java +eln:Can_be_used_to_recharge\nelectrical_items_like\:\nFlash_Light,_X-Ray_scanner\nand_Portable_Battery_...=Elektrik öğeleri şarj etmek için de kullanılabilir\: Örn. Elfeneri, X-Ray Tarayıcı ve Taşınabilir Pil ... +eln: +eln:# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerGui.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/diode/DiodeDescriptor.java +eln:Electrical_current_can_only\nflow_through_the_diode\nfrom_anode_to_cathode=Elektrik akımı, yalnızca eksiden artıya gidebilir +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalalarm/ElectricalAlarmDescriptor.java +eln:= +eln:Emits_an_acoustic_alarm_if\nthe_input_signal_is_high=Giriş sinyali yüksek ise bir akustik alarm verir +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalalarm/ElectricalAlarmGui.java +eln:Sound_is_muted=Sound is muted +eln:Sound_is_not_muted=Sound is not muted +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerContainer.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerDescriptor.java +eln:Protects_electrical_components\nOpens_contact_if\:\n__-_Voltage_exceeds_a_certain_level\n-_Current_exceeds_the_cable_limit=Gerilim belli bir seviyeyi aştığında\: Elektrik bileşenleri korur +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerGui.java +eln:Maximum_voltage_before_cutting_off=Maximum voltage before cutting off +eln:Minimum_voltage_before_cutting_off=Minimum voltage before cutting off +eln:Switch_is_off=Switch is off +eln:Switch_is_on=Switch is on +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalcable/ElectricalCableDescriptor.java +eln:A_signal_is_electrical_information\nwhich_must_be_between_0V_and_%sV=A signal is electrical information which must be between 0V and %sV +eln:Cable_is_adapted_to_conduct\nelectrical_signals.=Kablo elektrik sinyallerini iletmek üzere adapte edilir. +eln:Current\:_%sA=Current\: %sA +eln:Not_adapted_to_transport_power.=Not adapted to transport power. +eln:Save_usage\:=Kullanımı kaydet\: +eln:Serial_resistance\:_%sΩ=Serial resistance\: %sΩ +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerDescriptor.java +eln:It_can_store_up_to_256_points.=Bu 256 puan kadar saklayabilir. +eln:Measures_the_voltage_of_an\nelectrical_signal_and_plots\nthe_data_in_real_time.=Bir elektrik sinyali voltajını ölçme ve gerçek zamanlı veri arsa. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerGui.java +eln:Back_to_display=Back to display +eln:Configuration=Configuration +eln:Current_[A]=Current [A] +eln:Energy_[J]=Energy [J] +eln:Percent_[-]%=Percent [-]% +eln:Power_[W]=Power [W] +eln:Print=Print +eln:Sampling_period=Sampling period +eln:Temp._[*C]=Temp. [*C] +eln:Voltage_[V]=Voltage [V] +eln:Y-axis_max=Y-axis max +eln:Y-axis_min=Y-axis min +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorContainer.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorDescriptor.java +eln:Output_voltage_increases\nif_entities_are_moving_around.=Eğer entity'ler hareket ediyorsa, çıkış gerilimini arttırır. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalfiredetector/ElectricalFireDetectorDescriptor.java +eln:Output_voltage_increases\nif_a_fire_has_been_detected.=Output voltage increases\nif a fire has been detected. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceDescriptor.java +eln:Provides_configurable_signal\nvoltage.=Provides configurable signal\nvoltage. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceGui.java +eln:Output_at_%s=Output at %s +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricallightsensor/ElectricalLightSensorDescriptor.java +eln:0V_at_night,_%sV_at_noon.=0V at night, %sV at noon. +eln:Provides_an_electrical_voltage\nin_the_presence_of_light.=Provides an electrical voltage\nin the presence of light. +eln:Provides_an_electrical_voltage\nwhich_is_proportional_to\nthe_intensity_of_daylight.=Provides an electrical voltage\nwhich is proportional to\nthe intensity of daylight. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathContainer.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathDescriptor.java +eln:Applicable_boolean_operators\:=Uygulanabilir boolean operatörleri\: +eln:Applicable_functions\:=Uygulanabilir fonksiyonlar\: +eln:Applicable_mathematical_operators\:=Uygulanabilir matematiksel operatörler\: +eln:Calculates_an_output_signal_from\n3_inputs_(A,_B,_C)_using_an_equation.=Calculates an output signal from\n3 inputs (A, B, C) using an equation. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathGui.java +eln:%s_Redstone(s)_required=%s Redstone(s) required +eln:Equation_required!=Equation required\! +eln:Inputs_are=Inputs are +eln:Invalid_equation!=Invalid equation\! +eln:Output_voltage_formula=Output voltage formula +eln:Waiting_for_completion...=Waiting for completion... +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalredstoneinput/ElectricalRedstoneInputDescriptor.java +eln:Converts_Redstone_signal\nto_an_electrical_voltage.=Converts Redstone signal\nto an electrical voltage. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalredstoneoutput/ElectricalRedstoneOutputDescriptor.java +eln:Converts_electrical_voltage\ninto_a_Redstone_signal.=Converts electrical voltage\ninto a Redstone signal. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalrelay/ElectricalRelayDescriptor.java +eln:A_relay_is_an_electrical\ncontact_that_conducts_electric\ncurrent_or_not,_depending\nthe_actual_input_signal_voltage.=A relay is an electrical\ncontact that conducts electric\ncurrent or not, depending\nthe actual input signal voltage. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalrelay/ElectricalRelayGui.java +eln:Normally_closed=Normally closed +eln:Normally_open=Normally open +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalsource/ElectricalSourceDescriptor.java +eln:Creative_block.=Yanlızca Yaratıcı mod. +eln:Provides_an_ideal_voltage_source\nwithout_energy_or_power_limitation.=Provides an ideal voltage source\nwithout energy or power limitation. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalsource/ElectricalSourceGui.java +eln:Output_voltage=Output voltage +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalswitch/ElectricalSwitchDescriptor.java +eln:Can_break_an_electrical_circuit\ninterrupting_the_current.=Can break an electrical circuit\ninterrupting the current. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricaltimeout/ElectricalTimeoutDescriptor.java +eln:Upon_application_of_a_high_signal,\nthe_timer_maintains_the_output_high_for\na_configurable_interval._Can_be_re-triggered.=Upon application of a high signal,\nthe timer maintains the output high for\na configurable interval. Can be re-triggered. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricaltimeout/ElectricalTimeoutGui.java +eln:Set=Set +eln:The_time_interval_the\noutput_is_kept_high.=The time interval the\noutput is kept high. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalvumeter/ElectricalVuMeterDescriptor.java +eln:Displays_the_value_of_a_signal.=Displays the value of a signal. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalwatch/ElectricalWatchContainer.java +eln:Portable_battery_slot=Portable battery slot +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalweathersensor/ElectricalWeatherSensorDescriptor.java +eln:Clear\:_%sV=Clear\: %sV +eln:Provides_an_electrical_signal\ndepending_the_actual_weather.=Provides an electrical signal\ndepending the actual weather. +eln:Rain\:_%sV=Rain\: %sV +eln:Storm\:_%sV=Storm\: %sV +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalwindsensor/ElectricalWindSensorDescriptor.java +eln:Maximum_wind_speed_is_%sm_s=Maximum wind speed is %sm/s +eln:Provides_an_electrical_signal\ndependant_on_wind_speed.=Provides an electrical signal\ndependant on wind speed. +eln:You_can't_place_this_block_on_the_floor_or_the_ceiling=You can't place this block on the floor or the ceiling +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricasensor/ElectricalSensorDescriptor.java +eln:Can_measure_Voltage_Power_Current=Can measure Voltage/Power/Current +eln:Measures_electrical_values_on_cables.=Measures electrical values on cables. +eln:Measures_voltage_on_cables.=Measures voltage on cables. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricasensor/ElectricalSensorGui.java +eln:Current=Current +eln:Measured_voltage\ncorresponding\nto_0%_output=Measured voltage\ncorresponding\nto 0% output +eln:Measured_voltage\ncorresponding\nto_100%_output=Measured voltage\ncorresponding\nto 100% output +eln:Voltage=Voltage +eln: +eln:# ./src/main/java/mods/eln/sixnode/energymeter/EnergyMeterGui.java +eln:Change_password=Change password +eln:Counter_Mode=Counter Mode +eln:Counts_the_energy_conducted_from\n\u00a74red\u00a7f_to_\u00a71blue\u00a7f.=Counts the energy conducted from\n\\u00a74red\\u00a7f to \\u00a71blue\\u00a7f. +eln:Energy_counter\:_%sJ=Energy counter\: %sJ +eln:Enter_new_energy=Enter new energy +eln:Enter_password=Enter password +eln:Prepay_Mode=Prepay Mode +eln:Reset_time_counter=Reset time counter +eln:Set_energy_counter=Set energy counter +eln:Time_counter\:=Time counter\: +eln:Try_password=Try password +eln:You_can_set_an_initial\namount_of_available_energy.\nWhen_the_counter_arrives_at_0\nthe_contact_will_be_opened.=You can set an initial\namount of available energy.\nWhen the counter arrives at 0\nthe contact will be opened. +eln:is_off=is off +eln:is_on=is on +eln:value_in_kJ=value in kJ +eln: +eln:# ./src/main/java/mods/eln/sixnode/groundcable/GroundCableDescriptor.java +eln:Can_be_used_to_set_a_point_of_an\nelectrical_network_to_0V_potential.\nFor_example_to_ground_negative_battery_contacts.=Can be used to set a point of an\nelectrical network to 0V potential.\nFor example to ground negative battery contacts. +eln:Provides_a_zero_volt_reference.=Provides a zero volt reference. +eln: +eln:# ./src/main/java/mods/eln/sixnode/hub/HubDescriptor.java +eln:Allows_crossing_cables\non_one_single_block.=Allows crossing cables\non one single block. +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketDescriptor.java +eln:Angle\:_%s°_to_%s°=Angle\: %s° to %s° +eln:Spot_range\:_%s_blocks=Spot range\: %s blocks +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketGuiDraw.java +eln:%s_is_not_in_range!=%s is not in range\! +eln:Cable_slot_empty=Cable slot empty +eln:Orientation\:_%s°=Orientation\: %s° +eln:Parallel=Parallel +eln:Powered_by_Lamp_Supply=Powered by Lamp Supply +eln:Powered_by_cable=Powered by cable +eln:Serial=Serial +eln:Specify_the_supply_channel=Specify the supply channel +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyContainer.java +eln:Electrical_cable_slot\nBase_range_is_32_blocks.\nEach_additional_cable\nincreases_range_by_one.=Electrical cable slot\nBase range is 32 blocks.\nEach additional cable\nincreases range by one. +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyDescriptor.java +eln:Supplies_all_lamps_on_the_channel.=Supplies all lamps on the channel. +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyGui.java +eln:Power_channel_name=Power channel name +eln:Wireless_channel_name=Wireless channel name +eln: +eln:# ./src/main/java/mods/eln/sixnode/modbusrtu/ModbusRtuGui.java +eln:Add=Add +eln:Channel_name=Channel name +eln:Modbus_ID=Modbus ID +eln:Modbus_RTU=Modbus RTU +eln:Station_ID=Station ID +eln:Station_name=Station name +eln:Wireless_RX=Wireless RX +eln:Wireless_TX=Wireless TX +eln: +eln:# ./src/main/java/mods/eln/sixnode/powercapacitorsix/PowerCapacitorSixContainer.java +eln:(Increases_maximum_voltage)=(Increases maximum voltage) +eln: +eln:# ./src/main/java/mods/eln/sixnode/powercapacitorsix/PowerCapacitorSixGui.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/powerinductorsix/PowerInductorSixContainer.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/powerinductorsix/PowerInductorSixGui.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/powersocket/PowerSocketDescriptor.java +eln:Supplies_any_device\nplugged_in_with_energy.=Supplies any device\nplugged in with energy. +eln: +eln:# ./src/main/java/mods/eln/sixnode/powersocket/PowerSocketGui.java +eln:Specify_the_device_to_supply_through_this_socket.=Specify the device to supply through this socket. +eln: +eln:# ./src/main/java/mods/eln/sixnode/resistor/ResistorContainer.java +eln:(Sets_resistance)=(Sets resistance) +eln:Coal_dust_slot=Coal dust slot +eln: +eln:# ./src/main/java/mods/eln/sixnode/thermalcable/ThermalCableDescriptor.java +eln:High_parallel_resistance\n_\=>_Low_power_dissipation.=High parallel resistance\n \=> Low power dissipation. +eln:Low_serial_resistance\n_\=>_High_conductivity.=Low serial resistance\n \=> High conductivity. +eln:Parallel_resistance\:_%sK_W=Parallel resistance\: %sK/W +eln:Serial_resistance\:_%sK_W=Serial resistance\: %sK/W +eln: +eln:# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorContainer.java +eln:Cable_slot=Cable slot +eln: +eln:# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorDescriptor.java +eln:Can_measure\:=Can measure\: +eln:Measures_temperature_of_cables.=Measures temperature of cables. +eln:Measures_thermal_values_on_cables.=Measures thermal values on cables. +eln:__Temperature_Power_conducted=Temperature/Power conducted +eln: +eln:# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorGui.java +eln:Measured_temperature\ncorresponding\nto_0%_output=Measured temperature\ncorresponding\nto 0% output +eln:Measured_temperature\ncorresponding\nto_100%_output=Measured temperature\ncorresponding\nto 100% output +eln:Temperature=Temperature +eln: +eln:# ./src/main/java/mods/eln/sixnode/tutorialsign/TutorialSignElement.java +eln:No_text_associated_to_this_beacon=No text associated to this beacon +eln: +eln:# ./src/main/java/mods/eln/sixnode/tutorialsign/TutorialSignGui.java +eln:Set_beacon_name=Set beacon name +eln: +eln:# ./src/main/java/mods/eln/sixnode/wirelesssignal/rx/WirelessSignalRxGui.java +eln: +eln:# ./src/main/java/mods/eln/transparentnode/FuelGenerator.kt +eln:Nominal_power\:_%s_W=Nominal power\: %s W +eln:Nominal_voltage\:_%s_V=Nominal voltage\: %s V +eln:Produces_electricity_using_fuel.=Produces electricity using fuel. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/LargeRheostat.kt +eln:Nom._Resistance\:_%s=Nom. Resistance\: %s +eln: +eln:# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerContainer.java +eln:Drill_slot=Drill slot +eln:Mining_pipe_slot=Mining pipe slot +eln:Ore_scanner_slot=Ore scanner slot +eln: +eln:# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerDescriptor.java +eln:Excavates_on_a_small_radius.\nExtracts_ore_on_a_bigger_radius\:\n10_blocks_radius_after_10_blocks_depth.=Excavates on a small radius.\nExtracts ore on a bigger radius\:\n10 blocks radius after 10 blocks depth. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerGuiDraw.java +eln:Chest_missing_on_the\nback_of_the_auto_miner!=Chest missing on the\nback of the auto miner\! +eln:Halves_speed,_triples_power_draw=Halves speed, triples power draw +eln:Silk_Touch_Off=Silk Touch Off +eln:Silk_Touch_On=Silk Touch On +eln:Silk_touch=Silk touch +eln: +eln:# ./src/main/java/mods/eln/transparentnode/battery/BatteryContainer.java +eln:Overheating_protection=Overheating protection +eln:Overvoltage_protection=Overvoltage protection +eln: +eln:# ./src/main/java/mods/eln/transparentnode/battery/BatteryDescriptor.java +eln:Actual_charge\:_%s=Actual charge\: %s +eln:Energy_capacity\:_%sJ=Energy capacity\: %sJ +eln:_charged_at_%s=charged at %s +eln: +eln:# ./src/main/java/mods/eln/transparentnode/battery/BatteryGuiDraw.java +eln:Charge=Charge +eln:Charged=Charged +eln:Discharge=Discharge +eln:Energy\:=Energy\: +eln:Energy\:_%s=Energy\: %s +eln:Life\:=Life\: +eln:No_charge=No charge +eln:Power_in\:=Power in\: +eln:Power_out\:=Power out\: +eln: +eln:# ./src/main/java/mods/eln/transparentnode/eggincubator/EggIncubatorContainer.java +eln:Egg_slot=Egg slot +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalantennarx/ElectricalAntennaRxDescriptor.java +eln:Wireless_energy_receiver.=Kablosuz enerji alıcısı. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalantennatx/ElectricalAntennaTxDescriptor.java +eln:Efficiency\:_%s_up_to_%s=Efficiency\: %s up to %s +eln:Wireless_energy_transmitter.=Kablosuz enerji verici. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceContainer.java +eln:Heating_corp_slot=Heating corp slot +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceDescriptor.java +eln:Similar_to_a_vanilla_furnace,\nbut_heats_with_electricity.=Similar to a vanilla furnace,\nbut heats with electricity. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceGuiDraw.java +eln:Auto_shutdown=Auto shutdown +eln:Manual_shutdown=Manual shutdown +eln:Set_point\:_%s°C=Set point\: %s°C +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalmachine/ElectricalMachineDescriptor.java +eln:Cost=Cost +eln: +eln:# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceContainer.java +eln:Combustion_chamber_slot=Combustion chamber slot +eln:Fuel_slot=Fuel slot +eln: +eln:# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceDescriptor.java +eln:Generates_heat_when_supplied_with_fuel.=Yakıt temin edildiğinde ısı üretir. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceGuiDraw.java +eln:Control_gauge_at_%s=Control gauge at %s +eln:Decline_fuel=Decline fuel +eln:External_control=External control +eln:Internal_control=Internal control +eln:Take_fuel=Take fuel +eln: +eln:# ./src/main/java/mods/eln/transparentnode/powercapacitor/PowerCapacitorContainer.java +eln:(Increases_maximal_voltage)=(Increases maximal voltage) +eln: +eln:# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelContainer.java +eln:Solar_tracker_slot=Solar tracker slot +eln: +eln:# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelDescriptor.java +eln:Can_be_geared_towards_the_sun.=Güneşe dönük olabilir. +eln:Max._power\:_%sW=Max. power\: %sW +eln:Max._voltage\:_%sV=Max. voltage\: %sV +eln:Produces_power_from_solar_radiation.=Güneş ışınlarından güç üretir. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPannelGuiDraw.java +eln:It_is_night=It is night +eln:Solar_panel_angle\:_%s°=Solar panel angle\: %s° +eln:Sun_angle\:_%s°=Sun angle\: %s° +eln: +eln:# ./src/main/java/mods/eln/transparentnode/teleporter/TeleporterGui.java +eln:Destination_transporter=Destination transporter +eln:Power_consumption\:=Power consumption\: +eln:Power_consumption\:_%sW=Power consumption\: %sW +eln:Required_energy\:_%sJ=Required energy\: %sJ +eln:Start=Start +eln:Transporter_name=Transporter name +eln: +eln:# ./src/main/java/mods/eln/transparentnode/thermaldissipatoractive/ThermalDissipatorActiveDescriptor.java +eln:Fan_cooling_power\:_%sW=Fan cooling power\: %sW +eln:Fan_power_consumption\:_%sW=Fan power consumption\: %sW +eln:Fan_voltage\:_%sV=Fan voltage\: %sV +eln: +eln:# ./src/main/java/mods/eln/transparentnode/transformer/TransformerDescriptor.java +eln:The_voltage_ratio_is_proportional\nto_the_cable_stacks_count_ratio.=The voltage ratio is proportional\nto the cable stacks count ratio. +eln:Transforms_an_input_voltage_to\nan_output_voltage.=Transforms an input voltage to\nan output voltage. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/turbine/TurbineDescriptor.java +eln:Generates_electricity_using_heat.=Isı kullanılarak elektrik üretir. +eln:Temperature_difference\:_%s°C=Temperature difference\: %s°C +eln: +eln:# ./src/main/java/mods/eln/transparentnode/turret/TurretDescriptor.java +eln:CAUTION\:_Cables_can_get_quite_hot!=DİKKAT\: Kablolar oldukça fazla ısınabilir\! +eln:Laser_charge_power\:_%sW...%skW=Laser charge power\: %sW...%skW +eln:Scans_for_entities_and_shoots_if_the\nentity_matches_the_configurable_filter_criteria.=Scans for entities and shoots if the\nentity matches the configurable filter criteria. +eln:Standby_power\:_%sW=Standby power\: %sW +eln: +eln:# ./src/main/java/mods/eln/transparentnode/turret/TurretGui.java +eln:Attack\:=Attack\: +eln:Do_not_attack\:=Do not attack\: +eln:Recharge_power\:=Recharge power\: +eln: +eln:# ./src/main/java/mods/eln/transparentnode/waterturbine/WaterTurbineDescriptor.java +eln:Generates_energy_using_water_stream.=Su akışı kullanarak enerji üretir. +eln:No_place_for_water_turbine!=No place for water turbine\! +eln: +eln:# ./src/main/java/mods/eln/transparentnode/windturbine/WindTurbineDescriptor.java +eln:Front\:_%s=Front\: %s +eln:Generates_energy_from_wind.=Rüzgardan enerji üretir. +eln:Left_Right\:_%s=Left/Right\: %s +eln:Up_Down\:_%s=Up/Down\: %s +eln:Wind_area\:=Rüzgar alanı\: +eln: +eln:# ./src/main/java/mods/eln/wiki/Data.java +eln:Energy=Energy +eln:Light=Light +eln:Machine=Machine +eln:Ore=Ore +eln:Portable=Portable +eln:Resource=Resource +eln:Signal=Signal +eln:Thermal=Thermal +eln:Upgrade=Upgrade +eln:Utilities=Utilities +eln:Wiring=Wiring +eln: +eln:# ./src/main/java/mods/eln/wiki/Default.java +eln:Previous=Previous +eln: +eln:# ./src/main/java/mods/eln/wiki/ItemDefault.java +eln:Can_be_used_to_craft\:=Can be used to craft\: +eln:Cannot_be_crafted!=Cannot be crafted\! +eln:Cost_%sJ=Cost %sJ +eln:Created_by\:=Created by\: +eln:Is_not_a_crafting_material!=Is not a crafting material\! +eln:Recipe\:=Recipe\: +eln: +eln:# Appearing in multiple source files +eln:(Increases_capacity)=(Increases capacity) +eln:(Increases_inductance)=(Increases inductance) +eln:Actual\:_%s°C=Actual\: %s°C +eln:Biggest=Biggest +eln:Booster_slot=Booster slot +eln:Can_create\:=Can create\: +eln:Capacity\:_%sF=Capacity\: %sF +eln:Charge_power\:_%sW=Charge power\: %sW +eln:Connected=Connected +eln:Cooling_power\:_%sW=Cooling power\: %sW +eln:Copper_cable_slot=Copper cable slot +eln:Dielectric_slot=Dielectric slot +eln:Discharge_power\:_%sW=Discharge power\: %sW +eln:Electrical_cable_slot=Electrical cable slot +eln:Entity_filter_slot=Entity filter slot +eln:Ferromagnetic_core_slot=Ferromagnetic core slot +eln:Has_a_signal_output.=Has a signal output. +eln:Inductance\:_%sH=Inductance\: %sH +eln:Internal_resistance\:_%sΩ=Internal resistance\: %sΩ +eln:Is_off=Is off +eln:Is_on=Is on +eln:Max._temperature\:_%s°C=Max. temperature\: %s°C +eln:Measured_value\ncorresponding\nto_0%_output=Measured value\ncorresponding\nto 0% output +eln:Measured_value\ncorresponding\nto_100%_output=Measured value\ncorresponding\nto 100% output +eln:Nominal\:=Sembolik\: +eln:Nominal_power\:_%sW=Nominal power\: %sW +eln:Nominal_usage\:=Sembolik kullanım\: +eln:Nominal_voltage\:_%sV=Nominal voltage\: %sV +eln:Not_connected=Not connected +eln:Not_enough_space_for_this_block=Not enough space for this block +eln:Power=Power +eln:Power\:_%sW=Power\: %sW +eln:Range\:_%s_blocks=Range\: %s blocks +eln:Redstone_slot=Redstone slot +eln:Regulator_slot=Regulator slot +eln:Reset=Reset +eln:Resistance\:_%sΩ=Resistance\: %sΩ +eln:Smallest=Smallest +eln:Specify_the_channel=Specify the channel +eln:Stored_energy\:_%sJ_(%s)=Stored energy\: %sJ (%s) +eln:Temperature\:_%s°C=Temperature\: %s°C +eln:Temperature_gauge=Temperature gauge +eln:Thermal_isolator_slot=Thermal isolator slot +eln:Toggle=Toggle +eln:Toggle_switch=Toggle switch +eln:Toggles_the_output_each_time\nan_emitter's_value_rises.\nUseful_to_allow_multiple_buttons\nto_control_the_same_light.=Toggles the output each time\nan emitter's value rises.\nUseful to allow multiple buttons\nto control the same light. +eln:Used_to_cool_down_turbines.=Türbinlerin soğuması için kullanılır. +eln:Uses_the_biggest\nvalue_on_the_channel.=Uses the biggest\nvalue on the channel. +eln:Uses_the_smallest\nvalue_on_the_channel.=Uses the smallest\nvalue on the channel. +eln:Validate=Validate +eln:Voltage\:_%sV=Voltage\: %sV +eln:You_can't_place_this_block_at_this_side=You can't place this block at this side diff --git a/src/main/resources/assets/eln/lang/tr_TR.lang b/src/main/resources/assets/eln/lang/tr_TR.lang index 08c5d0cff..9aa256ec7 100644 --- a/src/main/resources/assets/eln/lang/tr_TR.lang +++ b/src/main/resources/assets/eln/lang/tr_TR.lang @@ -1,829 +1,829 @@ -# - -# ./src/main/java/mods/eln/Achievements.java -Electrical_Age_[WIP]=Elektrik Çağı [WIP] -achievement.craft_50v_macerator=Crushing Novice -achievement.craft_50v_macerator.desc=Craft a 50V Macerator -achievement.open_guide=Wiki Power -achievement.open_guide.desc=Open the wiki guide - -# ./src/main/java/mods/eln/Eln.java -10A_Diode.name=10A Diyot -200V_Active_Thermal_Dissipator.name=200V Aktif Termal Dağıtıcı -200V_Battery_Charger.name=200V Şarj Aleti -200V_Compressor.name=200V Kompresör -200V_Condensator.name=200V Condensator -200V_Copper_Heating_Corp.name=200V Bakır Isıtma Çubuğu -200V_Economic_Light_Bulb.name=200V Ekonomik Ampul -200V_Farming_Lamp.name=200V Tarım Lambası -200V_Fuel_Generator.name=200V Fuel Generator -200V_Incandescent_Light_Bulb.name=200V Akkor Ampul -200V_Iron_Heating_Corp.name=200V Demir Isıtma Çubuğu -200V_LED_Bulb.name=200V LED Bulb -200V_Macerator.name=200V Macerator -200V_Magnetizer.name=200V Mıknatıslayıcı -200V_Plate_Machine.name=200V Plaka Makinesi -200V_Power_Socket.name=200V Güç Soketi -200V_Tungsten_Heating_Corp.name=200V Tungsten Isıtma Çubuğu -200V_Turbine.name=200V Türbin -25A_Diode.name=25A Diyot -50V_Battery_Charger.name=50V Şarj Aleti -50V_Carbon_Incandescent_Light_Bulb.name=Karbon Akkor Ampul -50V_Compressor.name=50V Kompresör -50V_Condensator.name=50V Condensator -50V_Copper_Heating_Corp.name=50V Bakır Isıtma Çubuğu -50V_Economic_Light_Bulb.name=50V Ekonomik Ampul -50V_Egg_Incubator.name=50V Kuluçka Makinesi -50V_Farming_Lamp.name=50V Tasarruflu Lamba -50V_Fuel_Generator.name=50V Fuel Generator -50V_Incandescent_Light_Bulb.name=50V Akkor Ampul -50V_Iron_Heating_Corp.name=50V Demir Isıtma Çubuğu -50V_LED_Bulb.name=50V LED Bulb -50V_Macerator.name=50V Macerator -50V_Magnetizer.name=50V Mıknatıslayıcı -50V_Plate_Machine.name=50V Plaka Makinesi -50V_Power_Socket.name=50V Güç Soketi -50V_Tungsten_Heating_Corp.name=50V Tungsten Isıtma Çubuğu -50V_Turbine.name=50V Türbin -800V_Defence_Turret.name=800V Savunma Tareti -AND_Chip.name=AND Chip -Advanced_Chip.name=Gelişmiş Çip -Advanced_Electrical_Motor.name=Gelişmiş Elektrik Motoru -Advanced_Energy_Meter.name=Gelişmiş Enerji Ölçer -Advanced_Machine_Block.name=Gelişmiş Makine Bloğu -Advanced_Magnet.name=Gelişmiş Mıknatıs -AllMeter.name=Evrensel Ölçer -Alloy_Dust.name=Alaşım Toz -Alloy_Ingot.name=Alaşım Külçe -Alloy_Plate.name=Alaşım Plaka -Analog_Watch.name=Analog Saat -Analog_vuMeter.name=Analog Ölçü -Analogic_Regulator.name=Analojik Regülatörü -Animal_Filter.name=Hayvan Filtresi -Auto_Miner.name=Otomatik Madenci -Average_Electrical_Drill.name=Ortalama Elektrikli Matkap -Average_Ferromagnetic_Core.name=Ortalama Ferromanyetik Çekirdek -Basic_Magnet.name=Basit Mıknatıs -Black_Brush.name=Siyah Fırça -Blue_Brush.name=Mavi Fırça -Brown_Brush.name=Kahverengi Fırça -Capacity_Oriented_Battery.name=Kapasite Odaklı Batarya -Cheap_Chip.name=Ucuz Çip -Cheap_Electrical_Drill.name=Ucuz Elektrikli Matkap -Cheap_Ferromagnetic_Core.name=Ucuz Ferromanyetik Çekirdek -Cinnabar_Dust.name=Zincifre Tozu -Cinnabar_Ore.name=Zincifre Cevheri -Coal_Dust.name=Kömür Tozu -Coal_Plate.name=Kömür Plaka -Combustion_Chamber.name=Yanma Odası -Copper_Cable.name=Bakır Kablo -Copper_Dust.name=Bakır Tozu -Copper_Ingot.name=Bakır Külçe -Copper_Ore.name=Bakır Cevheri -Copper_Plate.name=Bakır Plaka -Copper_Thermal_Cable.name=Bakır Termal Kablo -Cost_Oriented_Battery.name=Maliyet Odaklı Batarya -Current_Oriented_Battery.name=Akım Orantılı Batarya -Cyan_Brush.name=Açık Mavi Fırça -D_Flip_Flop_Chip.name=D Flip Flop Chip -Data_Logger.name=Veri Kaydedici -Data_Logger_Print.name=Veri Kaydedici Baskısı -Dielectric.name=Yalıtkan -Digital_Watch.name=Dijital Saat -Electrical_Anemometer_Sensor.name=Elektrik Anemometre Sensörü -Electrical_Breaker.name=Elektrik Kesici -Electrical_Daylight_Sensor.name=Elektrik Günışığı Sensörü -Electrical_Entity_Sensor.name=Elektrik Entity Sensörü -Electrical_Fire_Detector.name=Electrik Yangın Dedektörü -Electrical_Furnace.name=Elektrikli Fırın -Electrical_Light_Sensor.name=Elektrik Işık Sensörü -Electrical_Motor.name=Elektrik Motoru -Electrical_Probe.name=Elektrik Sondası -Electrical_Probe_Chip.name=Elektrik Sona Çipi -Electrical_Source.name=Elektrik Kaynağı -Electrical_Timer.name=Elektrik Sayacı -Electrical_Weather_Sensor.name=Elektrik Hava Sensörü -Electrical_age_wrench,\nCan_be_used_to_turn\nsmall_wall_blocks=Electrical age wrench,\nCan be used to turn\nsmall wall blocks -Energy_Meter.name=Enerji Ölçer -Experimental_Transporter.name=Deneysel Taşıyıcı -Fast_Electrical_Drill.name=Hızlı Elektrikli Matkap -Ferrite_Ingot.name=Ferrit Külçesi -Flat_Lamp_Socket.name=Düz Lamba Soketi -Fluorescent_Lamp_Socket.name=Florasan Lamba Soketi -Generator.name=Generator -Gold_Dust.name=Altın Tozu -Gold_Plate.name=Altın Plaka -Gray_Brush.name=Gri Fırça -Green_Brush.name=Yeşil Fırça -Ground_Cable.name=Topraklama Kablosu -High_Power_Receiver_Antenna.name=Yüksek Güçlü Alıcı Anten -High_Power_Transmitter_Antenna.name=Yüksek Güçlü Verici Anten -High_Voltage_Cable.name=Yüksek Gerilim Kablosu -High_Voltage_Relay.name=Yüksek Gerilim Rölesi -High_Voltage_Switch.name=Yüksek Gerilim Anahtarı -Hub.name=Merkez -Industrial_Data_Logger.name=Endüstriyel Veri Kaydedici -Iron_Cable.name=Demir Kablo -Iron_Dust.name=Demir Tozu -Iron_Plate.name=Demir Plaka -JK_Flip_Flop_Chip.name=JK Flip Flop Chip -LED_vuMeter.name=LED vuMeter -Lamp_Socket_A.name=Lamba Soket A -Lamp_Socket_B_Projector.name=Lamba Soket B Projektör -Lamp_Supply.name=Lamba Besleme -Large_Rheostat.name=Large Rheostat -Lead_Dust.name=Kurşun Tozu -Lead_Ingot.name=Kurşun Külçesi -Lead_Ore.name=Kurşun Cevheri -Lead_Plate.name=Kurşun Plaka -Life_Oriented_Battery.name=Ömür Odaklı Pil -Light_Blue_Brush.name=Açık Mavi Fırça -Lime_Brush.name=Açık Yeşil Fırça -Long_Suspended_Lamp_Socket.name=Uzun Asma Lamba Soketi -Low_Power_Receiver_Antenna.name=Düşük Güç Alıcı Anten -Low_Power_Transmitter_Antenna.name=Low Power Receiver Antenna -Low_Voltage_Cable.name=Düşük Gerilim Kablosu -Low_Voltage_Relay.name=Düşük Gerilim Rölesi -Low_Voltage_Switch.name=Düşük Gerilim Anahtarı -Machine_Block.name=Makine Bloğu -Machine_Booster.name=Makine Hızlandırıcı -Magenta_Brush.name=Magenta Fırça -Medium_Power_Receiver_Antenna.name=Orta Güç Alıcı Anten -Medium_Power_Transmitter_Antenna.name=Orta Güç Verici Anten -Medium_Voltage_Cable.name=Orta Gerilim Kablosu -Medium_Voltage_Relay.name=Orta Gerilim Rölesi -Medium_Voltage_Switch.name=Orta Gerilim Anahtarı -Mercury.name=Merkür -Mining_Pipe.name=Madencilik Borusu -Modbus_RTU.name=Modbus RTU -Modern_Data_Logger.name=Modern Veri Kaydedici -Monster_Filter.name=Canavar Filtresi -MultiMeter.name=Çoklu Ölçer -NAND_Chip.name=NAND Chip -NOR_Chip.name=NOR Chip -NOT_Chip.name=NOT Chip -Nuclear_Alarm.name=Nükleer Alarm -OR_Chip.name=OR Chip -On_OFF_Regulator_10_Percent.name=On/off regulator 10% -On_OFF_Regulator_1_Percent.name=On/off regulator 1% -Optimal_Ferromagnetic_Core.name=Optimal Ferromanyetik Çekirdek -Orange_Brush.name=Turuncu Fırça -Ore_Scanner.name=Cevher Tarayıcı -Oscillator_Chip.name=Oscillator Chip -Overheating_Protection.name=Aşırı Isınma Koruması -Overvoltage_Protection.name=Aşırı Gerilim Koruması -PAL_Chip.name=PAL Chip -Pink_Brush.name=Pembe Fırça -Player_Filter.name=Oyuncu Filtresi -Portable_Battery.name=Taşınabilir Pil -Portable_Battery_Pack.name=Taşınabilir Pil Paketi -Portable_Condensator.name=Taşınabilir Condensator -Portable_Condensator_Pack.name=Taşınabilir Condensator Paketi -Portable_Electrical_Axe.name=Taşınabilir Elektrikli Balta -Portable_Electrical_Mining_Drill.name=Taşınabilir Elektrikli Matkap -Power_Capacitor.name=Güç Kapasitörü -Power_Inductor.name=Güç Endüktörü -Power_Resistor.name=Güç Direnci -Power_capacitor.name=Power capacitor -Power_inductor.name=Power inductor -Purple_Brush.name=Mor Fırça -Red_Brush.name=Kırmızı Fırça -Redstone-to-Voltage_Converter.name=Kızıltaş Gerilim Dönüştürücü -Rheostat.name=Reosta -Robust_Lamp_Socket.name=Sağlam Lamba Soketi -Rubber.name=Kauçuk -Schmitt_Trigger_Chip.name=Schmitt Trigger Chip -Sconce_Lamp_Socket.name=Sconce Lamp Socket -Signal_20H_inductor.name=Sinyal 20H İndüktörü -Signal_Antenna.name=Sinyal Anteni -Signal_Button.name=Sinyal Tuşu -Signal_Cable.name=Sinyal Kablosu -Signal_Diode.name=Sinyal Diyotu -Signal_Processor.name=Sinyal İşlemcisi -Signal_Relay.name=Sinyal Rölesi -Signal_Source.name=Sinyak Kaynağı -Signal_Switch.name=Sinyal Anahtarı -Signal_Switch_with_LED.name=LED'li Sinyal Anahtarı -Signal_Trimmer.name=Sinyal Giyotini -Silicon_Dust.name=Silikon Tozu -Silicon_Ingot.name=Silikon Külçe -Silicon_Plate.name=Silikon Plaka -Silver_Brush.name=Gümüş Fırça -Simple_Lamp_Socket.name=Basit Lamba Soketi -Single-use_Battery.name=Tek Kulanımlık Batarya -Small_200V_Copper_Heating_Corp.name=Küçük 200V Bakır Isıtma Çubuğu -Small_200V_Iron_Heating_Corp.name=Küçük 200V Demir Isıtma Çubuğu -Small_200V_Tungsten_Heating_Corp.name=Küçük 200V Tunsten Isıtma Çubuğu -Small_50V_Carbon_Incandescent_Light_Bulb.name=Küçük 50V Karbon Akkor Ampul -Small_50V_Copper_Heating_Corp.name=Küçük 50V Bakır Isıtma Çubuğu -Small_50V_Economic_Light_Bulb.name=Küçük 50V Ekonomik Ampul -Small_50V_Incandescent_Light_Bulb.name=Küçük 50V Akkor Ampul -Small_50V_Iron_Heating_Corp.name=Küçük 50V Demir Isıtma Çubuğu -Small_50V_Tungsten_Heating_Corp.name=Küçük 50V Tungsten Isıtma Çubuğu -Small_Active_Thermal_Dissipator.name=Küçük Aktfi Termal Dağıtıcı -Small_Flashlight.name=Küçük Elfeneri -Small_Passive_Thermal_Dissipator.name=Küçük Pasif Termal Dağıtıcı -Small_Rotating_Solar_Panel.name=Küçük Döner Güneş Paneli -Small_Solar_Panel.name=Küçük Güneş Paneli -Solar_Tracker.name=Küçük Takipçi -Standard_Alarm.name=Standart Alarm -Steam_Turbine.name=Steam Turbine -Stone_Heat_Furnace.name=Taş Isı Fırını -Street_Light.name=Sokak Lambası -Suspended_Lamp_Socket.name=Asma Lamba Soketi -Temperature_Probe.name=Sıcaklık Sondası -Thermal_Probe.name=Termal Sonda -Thermal_Probe_Chip.name=Termal Sonda Çipi -Thermistor.name=Termistör -ThermoMeter.name=Termometre -Transformer.name=Dönüştürücü -Tree_Resin.name=Ağaç Özü -Tree_Resin_Collector.name=Ağaç Özü Toplayıcısı -Tungsten_Cable.name=Tungsten Kablo -Tungsten_Dust.name=Tungsten Tozu -Tungsten_Ingot.name=Tungsten Külçe -Tungsten_Ore.name=Tungsten Cevheri -Tutorial_Sign.name=Öğretici Tabelası -Very_High_Voltage_Cable.name=Çok Yüksek Gerilim Kablosu -Very_High_Voltage_Relay.name=Çok Yüksek Gerilim Rölesi -Very_High_Voltage_Switch.name=Çok Yüksek Gerilim Anahtarı -Voltage-to-Redstone_Converter.name=Gerilim Kızıltaş Dönüştürücü -Voltage_Oriented_Battery.name=Voltaj Odaklı Batarya -Voltage_Probe.name=Gerilim Sondası -Water_Turbine.name=Su Türbini -Weak_50V_Battery_Charger.name=Zayıf 50V Şarj Aleti -White_Brush.name=Beyaz Fırça -Wind_Turbine.name=Rüzgar Türbini -Wireless_Analyser.name=Kablosuz Analizör -Wireless_Button.name=Kablosuz Tuş -Wireless_Signal_Receiver.name=Kablosuz Sinyal Alıcı -Wireless_Signal_Repeater.name=Kablosuz Sinyal Tekrarlayıcı -Wireless_Signal_Transmitter.name=Kablosuz Sinyal Verici -Wireless_Switch.name=Kablosuz Anahtar -Wrench.name=İngiliz Anahtarı -X-Ray_Scanner.name=X-Ray Tarayıcı -XNOR_Chip.name=XNOR Chip -XOR_Chip.name=XOR Chip -Yellow_Brush.name=Sarı Fırça -entity.EAReplicator.name=Replicator -item.Copper Axe.name\=Copper Axe -item.Copper Axe.name\=Copper Axe -item.Copper Axe.name\=Copper Axe -item.Copper Axe.name\=Copper Axe -item.Copper Axe.name\=Copper Axe -item.Copper Axe.name\=Copper Axe -item.Copper Axe.name\=Copper Axe -item.Copper Axe.name\=Copper Axe -item.Copper Axe.name\=Copper Axe -item.E-Coal Boots.name\=E-Coal Boots -item.E-Coal Boots.name\=E-Coal Boots -item.E-Coal Boots.name\=E-Coal Boots -item.E-Coal Boots.name\=E-Coal Boots -itemGroup.Eln=Elektrik Çağı -mod.meta.desc=Elektrik evinizde\! -tile.eln.ElnProbe.name=Eln Computer Probe -tile.eln.EnergyConverterElnToOtherHVUBlock.name=800V Electrical Age to other energy exporter -tile.eln.EnergyConverterElnToOtherLVUBlock.name=50V Electrical Age to other energy exporter -tile.eln.EnergyConverterElnToOtherMVUBlock.name=200V Electrical Age to other energy exporter - -# ./src/main/java/mods/eln/i18n/I18N.java -You_have_%s_lives_left=You have %s lives left - -# ./src/main/java/mods/eln/item/BrushDescriptor.java -Brush_is_dry=Brush is dry -Can_paint_%s_blocks=Can paint %s blocks - -# ./src/main/java/mods/eln/item/CombustionChamber.java -Upgrade_for_the_Stone_Heat_Furnace.=Taş Isı Fırını için yükseltin. - -# ./src/main/java/mods/eln/item/ElectricalDrillDescriptor.java -Energy_per_operation\:_%sJ=Energy per operation\: %sJ -Time_per_operation\:_%ss=Time per operation\: %ss - -# ./src/main/java/mods/eln/item/FerromagneticCoreDescriptor.java -Cable_loss_factor\:_%s=Cable loss factor\: %s - -# ./src/main/java/mods/eln/item/HeatingCorpElement.java - -# ./src/main/java/mods/eln/item/LampDescriptor.java -Bad=Kötü -Condition\:=Komdisyon\: -End_of_life=Ömür bitişi -Good=İyi -New=Yeni -Nominal_lifetime\:_%sh=Nominal lifetime\: %sh -Technology\:_%s=Technology\: %s -Used=Kullanılmış - -# ./src/main/java/mods/eln/item/LampSlot.java -Lamp_slot=Lamp slot - -# ./src/main/java/mods/eln/item/OverHeatingProtectionDescriptor.java -Useful_to_prevent_overheating\nof_Batteries=Bataryaların aşırı ısınmasını önlemek için kullanışlı - -# ./src/main/java/mods/eln/item/OverVoltageProtectionDescriptor.java -Useful_to_prevent_over-voltage\nof_Batteries=Bataryaları aşırı gerlimden korumak için kullanışlı - -# ./src/main/java/mods/eln/item/SolarTrackerDescriptor.java -Solar_panel_upgrade=Güneş paneli yükseltme - -# ./src/main/java/mods/eln/item/electricalitem/BatteryItem.java - -# ./src/main/java/mods/eln/item/electricalitem/ElectricalLampItem.java -Off=Kapalı -On=Açık -State\:=Durum\: -Stored_Energy\:_%sJ_(%s)=Stored Energy\: %sJ (%s) - -# ./src/main/java/mods/eln/item/regulator/RegulatorSlot.java - -# ./src/main/java/mods/eln/misc/UtilsClient.java -Hold_shift=Shift'e basılı tut - -# ./src/main/java/mods/eln/misc/Version.java -mod.name=Elektrik Çağı - -# ./src/main/java/mods/eln/node/six/SixNodeDescriptor.java - -# ./src/main/java/mods/eln/simplenode/energyconverter/EnergyConverterElnToOtherGui.java -Input_power_is_limited_to_%sW=Input power is limited to %sW - -# ./src/main/java/mods/eln/sixnode/LogicGate.kt -_O\:_= O\: - -# ./src/main/java/mods/eln/sixnode/TreeResinCollector/TreeResinCollectorDescriptor.java -Produces_Tree_Resin_over\ntime_when_put_on_a_tree.=Ağaca koyulduğunda Ağaç Özü üretir. -This_block_can_only_be_placed_on_the_side_of_a_tree!=This block can only be placed on the side of a tree\! - -# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerContainer.java -Battery_slot=Battery slot - -# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerDescriptor.java -Can_be_used_to_recharge\nelectrical_items_like\:\nFlash_Light,_X-Ray_scanner\nand_Portable_Battery_...=Elektrik öğeleri şarj etmek için de kullanılabilir\: Örn. Elfeneri, X-Ray Tarayıcı ve Taşınabilir Pil ... - -# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerGui.java - -# ./src/main/java/mods/eln/sixnode/diode/DiodeDescriptor.java -Electrical_current_can_only\nflow_through_the_diode\nfrom_anode_to_cathode=Elektrik akımı, yalnızca eksiden artıya gidebilir - -# ./src/main/java/mods/eln/sixnode/electricalalarm/ElectricalAlarmDescriptor.java -= -Emits_an_acoustic_alarm_if\nthe_input_signal_is_high=Giriş sinyali yüksek ise bir akustik alarm verir - -# ./src/main/java/mods/eln/sixnode/electricalalarm/ElectricalAlarmGui.java -Sound_is_muted=Sound is muted -Sound_is_not_muted=Sound is not muted - -# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerContainer.java - -# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerDescriptor.java -Protects_electrical_components\nOpens_contact_if\:\n__-_Voltage_exceeds_a_certain_level\n-_Current_exceeds_the_cable_limit=Gerilim belli bir seviyeyi aştığında\: Elektrik bileşenleri korur - -# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerGui.java -Maximum_voltage_before_cutting_off=Maximum voltage before cutting off -Minimum_voltage_before_cutting_off=Minimum voltage before cutting off -Switch_is_off=Switch is off -Switch_is_on=Switch is on - -# ./src/main/java/mods/eln/sixnode/electricalcable/ElectricalCableDescriptor.java -A_signal_is_electrical_information\nwhich_must_be_between_0V_and_%sV=A signal is electrical information which must be between 0V and %sV -Cable_is_adapted_to_conduct\nelectrical_signals.=Kablo elektrik sinyallerini iletmek üzere adapte edilir. -Current\:_%sA=Current\: %sA -Not_adapted_to_transport_power.=Not adapted to transport power. -Save_usage\:=Kullanımı kaydet\: -Serial_resistance\:_%sΩ=Serial resistance\: %sΩ - -# ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerDescriptor.java -It_can_store_up_to_256_points.=Bu 256 puan kadar saklayabilir. -Measures_the_voltage_of_an\nelectrical_signal_and_plots\nthe_data_in_real_time.=Bir elektrik sinyali voltajını ölçme ve gerçek zamanlı veri arsa. - -# ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerGui.java -Back_to_display=Back to display -Configuration=Configuration -Current_[A]=Current [A] -Energy_[J]=Energy [J] -Percent_[-]%=Percent [-]% -Power_[W]=Power [W] -Print=Print -Sampling_period=Sampling period -Temp._[*C]=Temp. [*C] -Voltage_[V]=Voltage [V] -Y-axis_max=Y-axis max -Y-axis_min=Y-axis min - -# ./src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorContainer.java - -# ./src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorDescriptor.java -Output_voltage_increases\nif_entities_are_moving_around.=Eğer entity'ler hareket ediyorsa, çıkış gerilimini arttırır. - -# ./src/main/java/mods/eln/sixnode/electricalfiredetector/ElectricalFireDetectorDescriptor.java -Output_voltage_increases\nif_a_fire_has_been_detected.=Output voltage increases\nif a fire has been detected. - -# ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceDescriptor.java -Provides_configurable_signal\nvoltage.=Provides configurable signal\nvoltage. - -# ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceGui.java -Output_at_%s=Output at %s - -# ./src/main/java/mods/eln/sixnode/electricallightsensor/ElectricalLightSensorDescriptor.java -0V_at_night,_%sV_at_noon.=0V at night, %sV at noon. -Provides_an_electrical_voltage\nin_the_presence_of_light.=Provides an electrical voltage\nin the presence of light. -Provides_an_electrical_voltage\nwhich_is_proportional_to\nthe_intensity_of_daylight.=Provides an electrical voltage\nwhich is proportional to\nthe intensity of daylight. - -# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathContainer.java - -# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathDescriptor.java -Applicable_boolean_operators\:=Uygulanabilir boolean operatörleri\: -Applicable_functions\:=Uygulanabilir fonksiyonlar\: -Applicable_mathematical_operators\:=Uygulanabilir matematiksel operatörler\: -Calculates_an_output_signal_from\n3_inputs_(A,_B,_C)_using_an_equation.=Calculates an output signal from\n3 inputs (A, B, C) using an equation. - -# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathGui.java -%s_Redstone(s)_required=%s Redstone(s) required -Equation_required!=Equation required\! -Inputs_are=Inputs are -Invalid_equation!=Invalid equation\! -Output_voltage_formula=Output voltage formula -Waiting_for_completion...=Waiting for completion... - -# ./src/main/java/mods/eln/sixnode/electricalredstoneinput/ElectricalRedstoneInputDescriptor.java -Converts_Redstone_signal\nto_an_electrical_voltage.=Converts Redstone signal\nto an electrical voltage. - -# ./src/main/java/mods/eln/sixnode/electricalredstoneoutput/ElectricalRedstoneOutputDescriptor.java -Converts_electrical_voltage\ninto_a_Redstone_signal.=Converts electrical voltage\ninto a Redstone signal. - -# ./src/main/java/mods/eln/sixnode/electricalrelay/ElectricalRelayDescriptor.java -A_relay_is_an_electrical\ncontact_that_conducts_electric\ncurrent_or_not,_depending\nthe_actual_input_signal_voltage.=A relay is an electrical\ncontact that conducts electric\ncurrent or not, depending\nthe actual input signal voltage. - -# ./src/main/java/mods/eln/sixnode/electricalrelay/ElectricalRelayGui.java -Normally_closed=Normally closed -Normally_open=Normally open - -# ./src/main/java/mods/eln/sixnode/electricalsource/ElectricalSourceDescriptor.java -Creative_block.=Yanlızca Yaratıcı mod. -Provides_an_ideal_voltage_source\nwithout_energy_or_power_limitation.=Provides an ideal voltage source\nwithout energy or power limitation. - -# ./src/main/java/mods/eln/sixnode/electricalsource/ElectricalSourceGui.java -Output_voltage=Output voltage - -# ./src/main/java/mods/eln/sixnode/electricalswitch/ElectricalSwitchDescriptor.java -Can_break_an_electrical_circuit\ninterrupting_the_current.=Can break an electrical circuit\ninterrupting the current. - -# ./src/main/java/mods/eln/sixnode/electricaltimeout/ElectricalTimeoutDescriptor.java -Upon_application_of_a_high_signal,\nthe_timer_maintains_the_output_high_for\na_configurable_interval._Can_be_re-triggered.=Upon application of a high signal,\nthe timer maintains the output high for\na configurable interval. Can be re-triggered. - -# ./src/main/java/mods/eln/sixnode/electricaltimeout/ElectricalTimeoutGui.java -Set=Set -The_time_interval_the\noutput_is_kept_high.=The time interval the\noutput is kept high. - -# ./src/main/java/mods/eln/sixnode/electricalvumeter/ElectricalVuMeterDescriptor.java -Displays_the_value_of_a_signal.=Displays the value of a signal. - -# ./src/main/java/mods/eln/sixnode/electricalwatch/ElectricalWatchContainer.java -Portable_battery_slot=Portable battery slot - -# ./src/main/java/mods/eln/sixnode/electricalweathersensor/ElectricalWeatherSensorDescriptor.java -Clear\:_%sV=Clear\: %sV -Provides_an_electrical_signal\ndepending_the_actual_weather.=Provides an electrical signal\ndepending the actual weather. -Rain\:_%sV=Rain\: %sV -Storm\:_%sV=Storm\: %sV - -# ./src/main/java/mods/eln/sixnode/electricalwindsensor/ElectricalWindSensorDescriptor.java -Maximum_wind_speed_is_%sm_s=Maximum wind speed is %sm/s -Provides_an_electrical_signal\ndependant_on_wind_speed.=Provides an electrical signal\ndependant on wind speed. -You_can't_place_this_block_on_the_floor_or_the_ceiling=You can't place this block on the floor or the ceiling - -# ./src/main/java/mods/eln/sixnode/electricasensor/ElectricalSensorDescriptor.java -Can_measure_Voltage_Power_Current=Can measure Voltage/Power/Current -Measures_electrical_values_on_cables.=Measures electrical values on cables. -Measures_voltage_on_cables.=Measures voltage on cables. - -# ./src/main/java/mods/eln/sixnode/electricasensor/ElectricalSensorGui.java -Current=Current -Measured_voltage\ncorresponding\nto_0%_output=Measured voltage\ncorresponding\nto 0% output -Measured_voltage\ncorresponding\nto_100%_output=Measured voltage\ncorresponding\nto 100% output -Voltage=Voltage - -# ./src/main/java/mods/eln/sixnode/energymeter/EnergyMeterGui.java -Change_password=Change password -Counter_Mode=Counter Mode -Counts_the_energy_conducted_from\n\u00a74red\u00a7f_to_\u00a71blue\u00a7f.=Counts the energy conducted from\n\\u00a74red\\u00a7f to \\u00a71blue\\u00a7f. -Energy_counter\:_%sJ=Energy counter\: %sJ -Enter_new_energy=Enter new energy -Enter_password=Enter password -Prepay_Mode=Prepay Mode -Reset_time_counter=Reset time counter -Set_energy_counter=Set energy counter -Time_counter\:=Time counter\: -Try_password=Try password -You_can_set_an_initial\namount_of_available_energy.\nWhen_the_counter_arrives_at_0\nthe_contact_will_be_opened.=You can set an initial\namount of available energy.\nWhen the counter arrives at 0\nthe contact will be opened. -is_off=is off -is_on=is on -value_in_kJ=value in kJ - -# ./src/main/java/mods/eln/sixnode/groundcable/GroundCableDescriptor.java -Can_be_used_to_set_a_point_of_an\nelectrical_network_to_0V_potential.\nFor_example_to_ground_negative_battery_contacts.=Can be used to set a point of an\nelectrical network to 0V potential.\nFor example to ground negative battery contacts. -Provides_a_zero_volt_reference.=Provides a zero volt reference. - -# ./src/main/java/mods/eln/sixnode/hub/HubDescriptor.java -Allows_crossing_cables\non_one_single_block.=Allows crossing cables\non one single block. - -# ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketDescriptor.java -Angle\:_%s°_to_%s°=Angle\: %s° to %s° -Spot_range\:_%s_blocks=Spot range\: %s blocks - -# ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketGuiDraw.java -%s_is_not_in_range!=%s is not in range\! -Cable_slot_empty=Cable slot empty -Orientation\:_%s°=Orientation\: %s° -Parallel=Parallel -Powered_by_Lamp_Supply=Powered by Lamp Supply -Powered_by_cable=Powered by cable -Serial=Serial -Specify_the_supply_channel=Specify the supply channel - -# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyContainer.java -Electrical_cable_slot\nBase_range_is_32_blocks.\nEach_additional_cable\nincreases_range_by_one.=Electrical cable slot\nBase range is 32 blocks.\nEach additional cable\nincreases range by one. - -# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyDescriptor.java -Supplies_all_lamps_on_the_channel.=Supplies all lamps on the channel. - -# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyGui.java -Power_channel_name=Power channel name -Wireless_channel_name=Wireless channel name - -# ./src/main/java/mods/eln/sixnode/modbusrtu/ModbusRtuGui.java -Add=Add -Channel_name=Channel name -Modbus_ID=Modbus ID -Modbus_RTU=Modbus RTU -Station_ID=Station ID -Station_name=Station name -Wireless_RX=Wireless RX -Wireless_TX=Wireless TX - -# ./src/main/java/mods/eln/sixnode/powercapacitorsix/PowerCapacitorSixContainer.java -(Increases_maximum_voltage)=(Increases maximum voltage) - -# ./src/main/java/mods/eln/sixnode/powercapacitorsix/PowerCapacitorSixGui.java - -# ./src/main/java/mods/eln/sixnode/powerinductorsix/PowerInductorSixContainer.java - -# ./src/main/java/mods/eln/sixnode/powerinductorsix/PowerInductorSixGui.java - -# ./src/main/java/mods/eln/sixnode/powersocket/PowerSocketDescriptor.java -Supplies_any_device\nplugged_in_with_energy.=Supplies any device\nplugged in with energy. - -# ./src/main/java/mods/eln/sixnode/powersocket/PowerSocketGui.java -Specify_the_device_to_supply_through_this_socket.=Specify the device to supply through this socket. - -# ./src/main/java/mods/eln/sixnode/resistor/ResistorContainer.java -(Sets_resistance)=(Sets resistance) -Coal_dust_slot=Coal dust slot - -# ./src/main/java/mods/eln/sixnode/thermalcable/ThermalCableDescriptor.java -High_parallel_resistance\n_\=>_Low_power_dissipation.=High parallel resistance\n \=> Low power dissipation. -Low_serial_resistance\n_\=>_High_conductivity.=Low serial resistance\n \=> High conductivity. -Parallel_resistance\:_%sK_W=Parallel resistance\: %sK/W -Serial_resistance\:_%sK_W=Serial resistance\: %sK/W - -# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorContainer.java -Cable_slot=Cable slot - -# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorDescriptor.java -Can_measure\:=Can measure\: -Measures_temperature_of_cables.=Measures temperature of cables. -Measures_thermal_values_on_cables.=Measures thermal values on cables. -__Temperature_Power_conducted=Temperature/Power conducted - -# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorGui.java -Measured_temperature\ncorresponding\nto_0%_output=Measured temperature\ncorresponding\nto 0% output -Measured_temperature\ncorresponding\nto_100%_output=Measured temperature\ncorresponding\nto 100% output -Temperature=Temperature - -# ./src/main/java/mods/eln/sixnode/tutorialsign/TutorialSignElement.java -No_text_associated_to_this_beacon=No text associated to this beacon - -# ./src/main/java/mods/eln/sixnode/tutorialsign/TutorialSignGui.java -Set_beacon_name=Set beacon name - -# ./src/main/java/mods/eln/sixnode/wirelesssignal/rx/WirelessSignalRxGui.java - -# ./src/main/java/mods/eln/transparentnode/FuelGenerator.kt -Nominal_power\:_%s_W=Nominal power\: %s W -Nominal_voltage\:_%s_V=Nominal voltage\: %s V -Produces_electricity_using_fuel.=Produces electricity using fuel. - -# ./src/main/java/mods/eln/transparentnode/LargeRheostat.kt -Nom._Resistance\:_%s=Nom. Resistance\: %s - -# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerContainer.java -Drill_slot=Drill slot -Mining_pipe_slot=Mining pipe slot -Ore_scanner_slot=Ore scanner slot - -# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerDescriptor.java -Excavates_on_a_small_radius.\nExtracts_ore_on_a_bigger_radius\:\n10_blocks_radius_after_10_blocks_depth.=Excavates on a small radius.\nExtracts ore on a bigger radius\:\n10 blocks radius after 10 blocks depth. - -# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerGuiDraw.java -Chest_missing_on_the\nback_of_the_auto_miner!=Chest missing on the\nback of the auto miner\! -Halves_speed,_triples_power_draw=Halves speed, triples power draw -Silk_Touch_Off=Silk Touch Off -Silk_Touch_On=Silk Touch On -Silk_touch=Silk touch - -# ./src/main/java/mods/eln/transparentnode/battery/BatteryContainer.java -Overheating_protection=Overheating protection -Overvoltage_protection=Overvoltage protection - -# ./src/main/java/mods/eln/transparentnode/battery/BatteryDescriptor.java -Actual_charge\:_%s=Actual charge\: %s -Energy_capacity\:_%sJ=Energy capacity\: %sJ -_charged_at_%s=charged at %s - -# ./src/main/java/mods/eln/transparentnode/battery/BatteryGuiDraw.java -Charge=Charge -Charged=Charged -Discharge=Discharge -Energy\:=Energy\: -Energy\:_%s=Energy\: %s -Life\:=Life\: -No_charge=No charge -Power_in\:=Power in\: -Power_out\:=Power out\: - -# ./src/main/java/mods/eln/transparentnode/eggincubator/EggIncubatorContainer.java -Egg_slot=Egg slot - -# ./src/main/java/mods/eln/transparentnode/electricalantennarx/ElectricalAntennaRxDescriptor.java -Wireless_energy_receiver.=Kablosuz enerji alıcısı. - -# ./src/main/java/mods/eln/transparentnode/electricalantennatx/ElectricalAntennaTxDescriptor.java -Efficiency\:_%s_up_to_%s=Efficiency\: %s up to %s -Wireless_energy_transmitter.=Kablosuz enerji verici. - -# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceContainer.java -Heating_corp_slot=Heating corp slot - -# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceDescriptor.java -Similar_to_a_vanilla_furnace,\nbut_heats_with_electricity.=Similar to a vanilla furnace,\nbut heats with electricity. - -# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceGuiDraw.java -Auto_shutdown=Auto shutdown -Manual_shutdown=Manual shutdown -Set_point\:_%s°C=Set point\: %s°C - -# ./src/main/java/mods/eln/transparentnode/electricalmachine/ElectricalMachineDescriptor.java -Cost=Cost - -# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceContainer.java -Combustion_chamber_slot=Combustion chamber slot -Fuel_slot=Fuel slot - -# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceDescriptor.java -Generates_heat_when_supplied_with_fuel.=Yakıt temin edildiğinde ısı üretir. - -# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceGuiDraw.java -Control_gauge_at_%s=Control gauge at %s -Decline_fuel=Decline fuel -External_control=External control -Internal_control=Internal control -Take_fuel=Take fuel - -# ./src/main/java/mods/eln/transparentnode/powercapacitor/PowerCapacitorContainer.java -(Increases_maximal_voltage)=(Increases maximal voltage) - -# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelContainer.java -Solar_tracker_slot=Solar tracker slot - -# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelDescriptor.java -Can_be_geared_towards_the_sun.=Güneşe dönük olabilir. -Max._power\:_%sW=Max. power\: %sW -Max._voltage\:_%sV=Max. voltage\: %sV -Produces_power_from_solar_radiation.=Güneş ışınlarından güç üretir. - -# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPannelGuiDraw.java -It_is_night=It is night -Solar_panel_angle\:_%s°=Solar panel angle\: %s° -Sun_angle\:_%s°=Sun angle\: %s° - -# ./src/main/java/mods/eln/transparentnode/teleporter/TeleporterGui.java -Destination_transporter=Destination transporter -Power_consumption\:=Power consumption\: -Power_consumption\:_%sW=Power consumption\: %sW -Required_energy\:_%sJ=Required energy\: %sJ -Start=Start -Transporter_name=Transporter name - -# ./src/main/java/mods/eln/transparentnode/thermaldissipatoractive/ThermalDissipatorActiveDescriptor.java -Fan_cooling_power\:_%sW=Fan cooling power\: %sW -Fan_power_consumption\:_%sW=Fan power consumption\: %sW -Fan_voltage\:_%sV=Fan voltage\: %sV - -# ./src/main/java/mods/eln/transparentnode/transformer/TransformerDescriptor.java -The_voltage_ratio_is_proportional\nto_the_cable_stacks_count_ratio.=The voltage ratio is proportional\nto the cable stacks count ratio. -Transforms_an_input_voltage_to\nan_output_voltage.=Transforms an input voltage to\nan output voltage. - -# ./src/main/java/mods/eln/transparentnode/turbine/TurbineDescriptor.java -Generates_electricity_using_heat.=Isı kullanılarak elektrik üretir. -Temperature_difference\:_%s°C=Temperature difference\: %s°C - -# ./src/main/java/mods/eln/transparentnode/turret/TurretDescriptor.java -CAUTION\:_Cables_can_get_quite_hot!=DİKKAT\: Kablolar oldukça fazla ısınabilir\! -Laser_charge_power\:_%sW...%skW=Laser charge power\: %sW...%skW -Scans_for_entities_and_shoots_if_the\nentity_matches_the_configurable_filter_criteria.=Scans for entities and shoots if the\nentity matches the configurable filter criteria. -Standby_power\:_%sW=Standby power\: %sW - -# ./src/main/java/mods/eln/transparentnode/turret/TurretGui.java -Attack\:=Attack\: -Do_not_attack\:=Do not attack\: -Recharge_power\:=Recharge power\: - -# ./src/main/java/mods/eln/transparentnode/waterturbine/WaterTurbineDescriptor.java -Generates_energy_using_water_stream.=Su akışı kullanarak enerji üretir. -No_place_for_water_turbine!=No place for water turbine\! - -# ./src/main/java/mods/eln/transparentnode/windturbine/WindTurbineDescriptor.java -Front\:_%s=Front\: %s -Generates_energy_from_wind.=Rüzgardan enerji üretir. -Left_Right\:_%s=Left/Right\: %s -Up_Down\:_%s=Up/Down\: %s -Wind_area\:=Rüzgar alanı\: - -# ./src/main/java/mods/eln/wiki/Data.java -Energy=Energy -Light=Light -Machine=Machine -Ore=Ore -Portable=Portable -Resource=Resource -Signal=Signal -Thermal=Thermal -Upgrade=Upgrade -Utilities=Utilities -Wiring=Wiring - -# ./src/main/java/mods/eln/wiki/Default.java -Previous=Previous - -# ./src/main/java/mods/eln/wiki/ItemDefault.java -Can_be_used_to_craft\:=Can be used to craft\: -Cannot_be_crafted!=Cannot be crafted\! -Cost_%sJ=Cost %sJ -Created_by\:=Created by\: -Is_not_a_crafting_material!=Is not a crafting material\! -Recipe\:=Recipe\: - -# Appearing in multiple source files -(Increases_capacity)=(Increases capacity) -(Increases_inductance)=(Increases inductance) -Actual\:_%s°C=Actual\: %s°C -Biggest=Biggest -Booster_slot=Booster slot -Can_create\:=Can create\: -Capacity\:_%sF=Capacity\: %sF -Charge_power\:_%sW=Charge power\: %sW -Connected=Connected -Cooling_power\:_%sW=Cooling power\: %sW -Copper_cable_slot=Copper cable slot -Dielectric_slot=Dielectric slot -Discharge_power\:_%sW=Discharge power\: %sW -Electrical_cable_slot=Electrical cable slot -Entity_filter_slot=Entity filter slot -Ferromagnetic_core_slot=Ferromagnetic core slot -Has_a_signal_output.=Has a signal output. -Inductance\:_%sH=Inductance\: %sH -Internal_resistance\:_%sΩ=Internal resistance\: %sΩ -Is_off=Is off -Is_on=Is on -Max._temperature\:_%s°C=Max. temperature\: %s°C -Measured_value\ncorresponding\nto_0%_output=Measured value\ncorresponding\nto 0% output -Measured_value\ncorresponding\nto_100%_output=Measured value\ncorresponding\nto 100% output -Nominal\:=Sembolik\: -Nominal_power\:_%sW=Nominal power\: %sW -Nominal_usage\:=Sembolik kullanım\: -Nominal_voltage\:_%sV=Nominal voltage\: %sV -Not_connected=Not connected -Not_enough_space_for_this_block=Not enough space for this block -Power=Power -Power\:_%sW=Power\: %sW -Range\:_%s_blocks=Range\: %s blocks -Redstone_slot=Redstone slot -Regulator_slot=Regulator slot -Reset=Reset -Resistance\:_%sΩ=Resistance\: %sΩ -Smallest=Smallest -Specify_the_channel=Specify the channel -Stored_energy\:_%sJ_(%s)=Stored energy\: %sJ (%s) -Temperature\:_%s°C=Temperature\: %s°C -Temperature_gauge=Temperature gauge -Thermal_isolator_slot=Thermal isolator slot -Toggle=Toggle -Toggle_switch=Toggle switch -Toggles_the_output_each_time\nan_emitter's_value_rises.\nUseful_to_allow_multiple_buttons\nto_control_the_same_light.=Toggles the output each time\nan emitter's value rises.\nUseful to allow multiple buttons\nto control the same light. -Used_to_cool_down_turbines.=Türbinlerin soğuması için kullanılır. -Uses_the_biggest\nvalue_on_the_channel.=Uses the biggest\nvalue on the channel. -Uses_the_smallest\nvalue_on_the_channel.=Uses the smallest\nvalue on the channel. -Validate=Validate -Voltage\:_%sV=Voltage\: %sV -You_can't_place_this_block_at_this_side=You can't place this block at this side +eln:# +eln: +eln:# ./src/main/java/mods/eln/Achievements.java +eln:Electrical_Age_[WIP]=Elektrik Çağı [WIP] +eln:achievement.craft_50v_macerator=Crushing Novice +eln:achievement.craft_50v_macerator.desc=Craft a 50V Macerator +eln:achievement.open_guide=Wiki Power +eln:achievement.open_guide.desc=Open the wiki guide +eln: +eln:# ./src/main/java/mods/eln/Eln.java +eln:10A_Diode.name=10A Diyot +eln:200V_Active_Thermal_Dissipator.name=200V Aktif Termal Dağıtıcı +eln:200V_Battery_Charger.name=200V Şarj Aleti +eln:200V_Compressor.name=200V Kompresör +eln:200V_Condensator.name=200V Condensator +eln:200V_Copper_Heating_Corp.name=200V Bakır Isıtma Çubuğu +eln:200V_Economic_Light_Bulb.name=200V Ekonomik Ampul +eln:200V_Farming_Lamp.name=200V Tarım Lambası +eln:200V_Fuel_Generator.name=200V Fuel Generator +eln:200V_Incandescent_Light_Bulb.name=200V Akkor Ampul +eln:200V_Iron_Heating_Corp.name=200V Demir Isıtma Çubuğu +eln:200V_LED_Bulb.name=200V LED Bulb +eln:200V_Macerator.name=200V Macerator +eln:200V_Magnetizer.name=200V Mıknatıslayıcı +eln:200V_Plate_Machine.name=200V Plaka Makinesi +eln:200V_Power_Socket.name=200V Güç Soketi +eln:200V_Tungsten_Heating_Corp.name=200V Tungsten Isıtma Çubuğu +eln:200V_Turbine.name=200V Türbin +eln:25A_Diode.name=25A Diyot +eln:50V_Battery_Charger.name=50V Şarj Aleti +eln:50V_Carbon_Incandescent_Light_Bulb.name=Karbon Akkor Ampul +eln:50V_Compressor.name=50V Kompresör +eln:50V_Condensator.name=50V Condensator +eln:50V_Copper_Heating_Corp.name=50V Bakır Isıtma Çubuğu +eln:50V_Economic_Light_Bulb.name=50V Ekonomik Ampul +eln:50V_Egg_Incubator.name=50V Kuluçka Makinesi +eln:50V_Farming_Lamp.name=50V Tasarruflu Lamba +eln:50V_Fuel_Generator.name=50V Fuel Generator +eln:50V_Incandescent_Light_Bulb.name=50V Akkor Ampul +eln:50V_Iron_Heating_Corp.name=50V Demir Isıtma Çubuğu +eln:50V_LED_Bulb.name=50V LED Bulb +eln:50V_Macerator.name=50V Macerator +eln:50V_Magnetizer.name=50V Mıknatıslayıcı +eln:50V_Plate_Machine.name=50V Plaka Makinesi +eln:50V_Power_Socket.name=50V Güç Soketi +eln:50V_Tungsten_Heating_Corp.name=50V Tungsten Isıtma Çubuğu +eln:50V_Turbine.name=50V Türbin +eln:800V_Defence_Turret.name=800V Savunma Tareti +eln:AND_Chip.name=AND Chip +eln:Advanced_Chip.name=Gelişmiş Çip +eln:Advanced_Electrical_Motor.name=Gelişmiş Elektrik Motoru +eln:Advanced_Energy_Meter.name=Gelişmiş Enerji Ölçer +eln:Advanced_Machine_Block.name=Gelişmiş Makine Bloğu +eln:Advanced_Magnet.name=Gelişmiş Mıknatıs +eln:AllMeter.name=Evrensel Ölçer +eln:Alloy_Dust.name=Alaşım Toz +eln:Alloy_Ingot.name=Alaşım Külçe +eln:Alloy_Plate.name=Alaşım Plaka +eln:Analog_Watch.name=Analog Saat +eln:Analog_vuMeter.name=Analog Ölçü +eln:Analogic_Regulator.name=Analojik Regülatörü +eln:Animal_Filter.name=Hayvan Filtresi +eln:Auto_Miner.name=Otomatik Madenci +eln:Average_Electrical_Drill.name=Ortalama Elektrikli Matkap +eln:Average_Ferromagnetic_Core.name=Ortalama Ferromanyetik Çekirdek +eln:Basic_Magnet.name=Basit Mıknatıs +eln:Black_Brush.name=Siyah Fırça +eln:Blue_Brush.name=Mavi Fırça +eln:Brown_Brush.name=Kahverengi Fırça +eln:Capacity_Oriented_Battery.name=Kapasite Odaklı Batarya +eln:Cheap_Chip.name=Ucuz Çip +eln:Cheap_Electrical_Drill.name=Ucuz Elektrikli Matkap +eln:Cheap_Ferromagnetic_Core.name=Ucuz Ferromanyetik Çekirdek +eln:Cinnabar_Dust.name=Zincifre Tozu +eln:Cinnabar_Ore.name=Zincifre Cevheri +eln:Coal_Dust.name=Kömür Tozu +eln:Coal_Plate.name=Kömür Plaka +eln:Combustion_Chamber.name=Yanma Odası +eln:Copper_Cable.name=Bakır Kablo +eln:Copper_Dust.name=Bakır Tozu +eln:Copper_Ingot.name=Bakır Külçe +eln:Copper_Ore.name=Bakır Cevheri +eln:Copper_Plate.name=Bakır Plaka +eln:Copper_Thermal_Cable.name=Bakır Termal Kablo +eln:Cost_Oriented_Battery.name=Maliyet Odaklı Batarya +eln:Current_Oriented_Battery.name=Akım Orantılı Batarya +eln:Cyan_Brush.name=Açık Mavi Fırça +eln:D_Flip_Flop_Chip.name=D Flip Flop Chip +eln:Data_Logger.name=Veri Kaydedici +eln:Data_Logger_Print.name=Veri Kaydedici Baskısı +eln:Dielectric.name=Yalıtkan +eln:Digital_Watch.name=Dijital Saat +eln:Electrical_Anemometer_Sensor.name=Elektrik Anemometre Sensörü +eln:Electrical_Breaker.name=Elektrik Kesici +eln:Electrical_Daylight_Sensor.name=Elektrik Günışığı Sensörü +eln:Electrical_Entity_Sensor.name=Elektrik Entity Sensörü +eln:Electrical_Fire_Detector.name=Electrik Yangın Dedektörü +eln:Electrical_Furnace.name=Elektrikli Fırın +eln:Electrical_Light_Sensor.name=Elektrik Işık Sensörü +eln:Electrical_Motor.name=Elektrik Motoru +eln:Electrical_Probe.name=Elektrik Sondası +eln:Electrical_Probe_Chip.name=Elektrik Sona Çipi +eln:Electrical_Source.name=Elektrik Kaynağı +eln:Electrical_Timer.name=Elektrik Sayacı +eln:Electrical_Weather_Sensor.name=Elektrik Hava Sensörü +eln:Electrical_age_wrench,\nCan_be_used_to_turn\nsmall_wall_blocks=Electrical age wrench,\nCan be used to turn\nsmall wall blocks +eln:Energy_Meter.name=Enerji Ölçer +eln:Experimental_Transporter.name=Deneysel Taşıyıcı +eln:Fast_Electrical_Drill.name=Hızlı Elektrikli Matkap +eln:Ferrite_Ingot.name=Ferrit Külçesi +eln:Flat_Lamp_Socket.name=Düz Lamba Soketi +eln:Fluorescent_Lamp_Socket.name=Florasan Lamba Soketi +eln:Generator.name=Generator +eln:Gold_Dust.name=Altın Tozu +eln:Gold_Plate.name=Altın Plaka +eln:Gray_Brush.name=Gri Fırça +eln:Green_Brush.name=Yeşil Fırça +eln:Ground_Cable.name=Topraklama Kablosu +eln:High_Power_Receiver_Antenna.name=Yüksek Güçlü Alıcı Anten +eln:High_Power_Transmitter_Antenna.name=Yüksek Güçlü Verici Anten +eln:High_Voltage_Cable.name=Yüksek Gerilim Kablosu +eln:High_Voltage_Relay.name=Yüksek Gerilim Rölesi +eln:High_Voltage_Switch.name=Yüksek Gerilim Anahtarı +eln:Hub.name=Merkez +eln:Industrial_Data_Logger.name=Endüstriyel Veri Kaydedici +eln:Iron_Cable.name=Demir Kablo +eln:Iron_Dust.name=Demir Tozu +eln:Iron_Plate.name=Demir Plaka +eln:JK_Flip_Flop_Chip.name=JK Flip Flop Chip +eln:LED_vuMeter.name=LED vuMeter +eln:Lamp_Socket_A.name=Lamba Soket A +eln:Lamp_Socket_B_Projector.name=Lamba Soket B Projektör +eln:Lamp_Supply.name=Lamba Besleme +eln:Large_Rheostat.name=Large Rheostat +eln:Lead_Dust.name=Kurşun Tozu +eln:Lead_Ingot.name=Kurşun Külçesi +eln:Lead_Ore.name=Kurşun Cevheri +eln:Lead_Plate.name=Kurşun Plaka +eln:Life_Oriented_Battery.name=Ömür Odaklı Pil +eln:Light_Blue_Brush.name=Açık Mavi Fırça +eln:Lime_Brush.name=Açık Yeşil Fırça +eln:Long_Suspended_Lamp_Socket.name=Uzun Asma Lamba Soketi +eln:Low_Power_Receiver_Antenna.name=Düşük Güç Alıcı Anten +eln:Low_Power_Transmitter_Antenna.name=Low Power Receiver Antenna +eln:Low_Voltage_Cable.name=Düşük Gerilim Kablosu +eln:Low_Voltage_Relay.name=Düşük Gerilim Rölesi +eln:Low_Voltage_Switch.name=Düşük Gerilim Anahtarı +eln:Machine_Block.name=Makine Bloğu +eln:Machine_Booster.name=Makine Hızlandırıcı +eln:Magenta_Brush.name=Magenta Fırça +eln:Medium_Power_Receiver_Antenna.name=Orta Güç Alıcı Anten +eln:Medium_Power_Transmitter_Antenna.name=Orta Güç Verici Anten +eln:Medium_Voltage_Cable.name=Orta Gerilim Kablosu +eln:Medium_Voltage_Relay.name=Orta Gerilim Rölesi +eln:Medium_Voltage_Switch.name=Orta Gerilim Anahtarı +eln:Mercury.name=Merkür +eln:Mining_Pipe.name=Madencilik Borusu +eln:Modbus_RTU.name=Modbus RTU +eln:Modern_Data_Logger.name=Modern Veri Kaydedici +eln:Monster_Filter.name=Canavar Filtresi +eln:MultiMeter.name=Çoklu Ölçer +eln:NAND_Chip.name=NAND Chip +eln:NOR_Chip.name=NOR Chip +eln:NOT_Chip.name=NOT Chip +eln:Nuclear_Alarm.name=Nükleer Alarm +eln:OR_Chip.name=OR Chip +eln:On_OFF_Regulator_10_Percent.name=On/off regulator 10% +eln:On_OFF_Regulator_1_Percent.name=On/off regulator 1% +eln:Optimal_Ferromagnetic_Core.name=Optimal Ferromanyetik Çekirdek +eln:Orange_Brush.name=Turuncu Fırça +eln:Ore_Scanner.name=Cevher Tarayıcı +eln:Oscillator_Chip.name=Oscillator Chip +eln:Overheating_Protection.name=Aşırı Isınma Koruması +eln:Overvoltage_Protection.name=Aşırı Gerilim Koruması +eln:PAL_Chip.name=PAL Chip +eln:Pink_Brush.name=Pembe Fırça +eln:Player_Filter.name=Oyuncu Filtresi +eln:Portable_Battery.name=Taşınabilir Pil +eln:Portable_Battery_Pack.name=Taşınabilir Pil Paketi +eln:Portable_Condensator.name=Taşınabilir Condensator +eln:Portable_Condensator_Pack.name=Taşınabilir Condensator Paketi +eln:Portable_Electrical_Axe.name=Taşınabilir Elektrikli Balta +eln:Portable_Electrical_Mining_Drill.name=Taşınabilir Elektrikli Matkap +eln:Power_Capacitor.name=Güç Kapasitörü +eln:Power_Inductor.name=Güç Endüktörü +eln:Power_Resistor.name=Güç Direnci +eln:Power_capacitor.name=Power capacitor +eln:Power_inductor.name=Power inductor +eln:Purple_Brush.name=Mor Fırça +eln:Red_Brush.name=Kırmızı Fırça +eln:Redstone-to-Voltage_Converter.name=Kızıltaş Gerilim Dönüştürücü +eln:Rheostat.name=Reosta +eln:Robust_Lamp_Socket.name=Sağlam Lamba Soketi +eln:Rubber.name=Kauçuk +eln:Schmitt_Trigger_Chip.name=Schmitt Trigger Chip +eln:Sconce_Lamp_Socket.name=Sconce Lamp Socket +eln:Signal_20H_inductor.name=Sinyal 20H İndüktörü +eln:Signal_Antenna.name=Sinyal Anteni +eln:Signal_Button.name=Sinyal Tuşu +eln:Signal_Cable.name=Sinyal Kablosu +eln:Signal_Diode.name=Sinyal Diyotu +eln:Signal_Processor.name=Sinyal İşlemcisi +eln:Signal_Relay.name=Sinyal Rölesi +eln:Signal_Source.name=Sinyak Kaynağı +eln:Signal_Switch.name=Sinyal Anahtarı +eln:Signal_Switch_with_LED.name=LED'li Sinyal Anahtarı +eln:Signal_Trimmer.name=Sinyal Giyotini +eln:Silicon_Dust.name=Silikon Tozu +eln:Silicon_Ingot.name=Silikon Külçe +eln:Silicon_Plate.name=Silikon Plaka +eln:Silver_Brush.name=Gümüş Fırça +eln:Simple_Lamp_Socket.name=Basit Lamba Soketi +eln:Single-use_Battery.name=Tek Kulanımlık Batarya +eln:Small_200V_Copper_Heating_Corp.name=Küçük 200V Bakır Isıtma Çubuğu +eln:Small_200V_Iron_Heating_Corp.name=Küçük 200V Demir Isıtma Çubuğu +eln:Small_200V_Tungsten_Heating_Corp.name=Küçük 200V Tunsten Isıtma Çubuğu +eln:Small_50V_Carbon_Incandescent_Light_Bulb.name=Küçük 50V Karbon Akkor Ampul +eln:Small_50V_Copper_Heating_Corp.name=Küçük 50V Bakır Isıtma Çubuğu +eln:Small_50V_Economic_Light_Bulb.name=Küçük 50V Ekonomik Ampul +eln:Small_50V_Incandescent_Light_Bulb.name=Küçük 50V Akkor Ampul +eln:Small_50V_Iron_Heating_Corp.name=Küçük 50V Demir Isıtma Çubuğu +eln:Small_50V_Tungsten_Heating_Corp.name=Küçük 50V Tungsten Isıtma Çubuğu +eln:Small_Active_Thermal_Dissipator.name=Küçük Aktfi Termal Dağıtıcı +eln:Small_Flashlight.name=Küçük Elfeneri +eln:Small_Passive_Thermal_Dissipator.name=Küçük Pasif Termal Dağıtıcı +eln:Small_Rotating_Solar_Panel.name=Küçük Döner Güneş Paneli +eln:Small_Solar_Panel.name=Küçük Güneş Paneli +eln:Solar_Tracker.name=Küçük Takipçi +eln:Standard_Alarm.name=Standart Alarm +eln:Steam_Turbine.name=Steam Turbine +eln:Stone_Heat_Furnace.name=Taş Isı Fırını +eln:Street_Light.name=Sokak Lambası +eln:Suspended_Lamp_Socket.name=Asma Lamba Soketi +eln:Temperature_Probe.name=Sıcaklık Sondası +eln:Thermal_Probe.name=Termal Sonda +eln:Thermal_Probe_Chip.name=Termal Sonda Çipi +eln:Thermistor.name=Termistör +eln:ThermoMeter.name=Termometre +eln:Transformer.name=Dönüştürücü +eln:Tree_Resin.name=Ağaç Özü +eln:Tree_Resin_Collector.name=Ağaç Özü Toplayıcısı +eln:Tungsten_Cable.name=Tungsten Kablo +eln:Tungsten_Dust.name=Tungsten Tozu +eln:Tungsten_Ingot.name=Tungsten Külçe +eln:Tungsten_Ore.name=Tungsten Cevheri +eln:Tutorial_Sign.name=Öğretici Tabelası +eln:Very_High_Voltage_Cable.name=Çok Yüksek Gerilim Kablosu +eln:Very_High_Voltage_Relay.name=Çok Yüksek Gerilim Rölesi +eln:Very_High_Voltage_Switch.name=Çok Yüksek Gerilim Anahtarı +eln:Voltage-to-Redstone_Converter.name=Gerilim Kızıltaş Dönüştürücü +eln:Voltage_Oriented_Battery.name=Voltaj Odaklı Batarya +eln:Voltage_Probe.name=Gerilim Sondası +eln:Water_Turbine.name=Su Türbini +eln:Weak_50V_Battery_Charger.name=Zayıf 50V Şarj Aleti +eln:White_Brush.name=Beyaz Fırça +eln:Wind_Turbine.name=Rüzgar Türbini +eln:Wireless_Analyser.name=Kablosuz Analizör +eln:Wireless_Button.name=Kablosuz Tuş +eln:Wireless_Signal_Receiver.name=Kablosuz Sinyal Alıcı +eln:Wireless_Signal_Repeater.name=Kablosuz Sinyal Tekrarlayıcı +eln:Wireless_Signal_Transmitter.name=Kablosuz Sinyal Verici +eln:Wireless_Switch.name=Kablosuz Anahtar +eln:Wrench.name=İngiliz Anahtarı +eln:X-Ray_Scanner.name=X-Ray Tarayıcı +eln:XNOR_Chip.name=XNOR Chip +eln:XOR_Chip.name=XOR Chip +eln:Yellow_Brush.name=Sarı Fırça +eln:entity.EAReplicator.name=Replicator +eln:item.Copper Axe.name\=Copper Axe +eln:item.Copper Axe.name\=Copper Axe +eln:item.Copper Axe.name\=Copper Axe +eln:item.Copper Axe.name\=Copper Axe +eln:item.Copper Axe.name\=Copper Axe +eln:item.Copper Axe.name\=Copper Axe +eln:item.Copper Axe.name\=Copper Axe +eln:item.Copper Axe.name\=Copper Axe +eln:item.Copper Axe.name\=Copper Axe +eln:item.E-Coal Boots.name\=E-Coal Boots +eln:item.E-Coal Boots.name\=E-Coal Boots +eln:item.E-Coal Boots.name\=E-Coal Boots +eln:item.E-Coal Boots.name\=E-Coal Boots +eln:itemGroup.Eln=Elektrik Çağı +eln:mod.meta.desc=Elektrik evinizde\! +eln:tile.eln.ElnProbe.name=Eln Computer Probe +eln:tile.eln.EnergyConverterElnToOtherHVUBlock.name=800V Electrical Age to other energy exporter +eln:tile.eln.EnergyConverterElnToOtherLVUBlock.name=50V Electrical Age to other energy exporter +eln:tile.eln.EnergyConverterElnToOtherMVUBlock.name=200V Electrical Age to other energy exporter +eln: +eln:# ./src/main/java/mods/eln/i18n/I18N.java +eln:You_have_%s_lives_left=You have %s lives left +eln: +eln:# ./src/main/java/mods/eln/item/BrushDescriptor.java +eln:Brush_is_dry=Brush is dry +eln:Can_paint_%s_blocks=Can paint %s blocks +eln: +eln:# ./src/main/java/mods/eln/item/CombustionChamber.java +eln:Upgrade_for_the_Stone_Heat_Furnace.=Taş Isı Fırını için yükseltin. +eln: +eln:# ./src/main/java/mods/eln/item/ElectricalDrillDescriptor.java +eln:Energy_per_operation\:_%sJ=Energy per operation\: %sJ +eln:Time_per_operation\:_%ss=Time per operation\: %ss +eln: +eln:# ./src/main/java/mods/eln/item/FerromagneticCoreDescriptor.java +eln:Cable_loss_factor\:_%s=Cable loss factor\: %s +eln: +eln:# ./src/main/java/mods/eln/item/HeatingCorpElement.java +eln: +eln:# ./src/main/java/mods/eln/item/LampDescriptor.java +eln:Bad=Kötü +eln:Condition\:=Komdisyon\: +eln:End_of_life=Ömür bitişi +eln:Good=İyi +eln:New=Yeni +eln:Nominal_lifetime\:_%sh=Nominal lifetime\: %sh +eln:Technology\:_%s=Technology\: %s +eln:Used=Kullanılmış +eln: +eln:# ./src/main/java/mods/eln/item/LampSlot.java +eln:Lamp_slot=Lamp slot +eln: +eln:# ./src/main/java/mods/eln/item/OverHeatingProtectionDescriptor.java +eln:Useful_to_prevent_overheating\nof_Batteries=Bataryaların aşırı ısınmasını önlemek için kullanışlı +eln: +eln:# ./src/main/java/mods/eln/item/OverVoltageProtectionDescriptor.java +eln:Useful_to_prevent_over-voltage\nof_Batteries=Bataryaları aşırı gerlimden korumak için kullanışlı +eln: +eln:# ./src/main/java/mods/eln/item/SolarTrackerDescriptor.java +eln:Solar_panel_upgrade=Güneş paneli yükseltme +eln: +eln:# ./src/main/java/mods/eln/item/electricalitem/BatteryItem.java +eln: +eln:# ./src/main/java/mods/eln/item/electricalitem/ElectricalLampItem.java +eln:Off=Kapalı +eln:On=Açık +eln:State\:=Durum\: +eln:Stored_Energy\:_%sJ_(%s)=Stored Energy\: %sJ (%s) +eln: +eln:# ./src/main/java/mods/eln/item/regulator/RegulatorSlot.java +eln: +eln:# ./src/main/java/mods/eln/misc/UtilsClient.java +eln:Hold_shift=Shift'e basılı tut +eln: +eln:# ./src/main/java/mods/eln/misc/Version.java +eln:mod.name=Elektrik Çağı +eln: +eln:# ./src/main/java/mods/eln/node/six/SixNodeDescriptor.java +eln: +eln:# ./src/main/java/mods/eln/simplenode/energyconverter/EnergyConverterElnToOtherGui.java +eln:Input_power_is_limited_to_%sW=Input power is limited to %sW +eln: +eln:# ./src/main/java/mods/eln/sixnode/LogicGate.kt +eln:_O\:_= O\: +eln: +eln:# ./src/main/java/mods/eln/sixnode/TreeResinCollector/TreeResinCollectorDescriptor.java +eln:Produces_Tree_Resin_over\ntime_when_put_on_a_tree.=Ağaca koyulduğunda Ağaç Özü üretir. +eln:This_block_can_only_be_placed_on_the_side_of_a_tree!=This block can only be placed on the side of a tree\! +eln: +eln:# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerContainer.java +eln:Battery_slot=Battery slot +eln: +eln:# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerDescriptor.java +eln:Can_be_used_to_recharge\nelectrical_items_like\:\nFlash_Light,_X-Ray_scanner\nand_Portable_Battery_...=Elektrik öğeleri şarj etmek için de kullanılabilir\: Örn. Elfeneri, X-Ray Tarayıcı ve Taşınabilir Pil ... +eln: +eln:# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerGui.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/diode/DiodeDescriptor.java +eln:Electrical_current_can_only\nflow_through_the_diode\nfrom_anode_to_cathode=Elektrik akımı, yalnızca eksiden artıya gidebilir +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalalarm/ElectricalAlarmDescriptor.java +eln:= +eln:Emits_an_acoustic_alarm_if\nthe_input_signal_is_high=Giriş sinyali yüksek ise bir akustik alarm verir +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalalarm/ElectricalAlarmGui.java +eln:Sound_is_muted=Sound is muted +eln:Sound_is_not_muted=Sound is not muted +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerContainer.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerDescriptor.java +eln:Protects_electrical_components\nOpens_contact_if\:\n__-_Voltage_exceeds_a_certain_level\n-_Current_exceeds_the_cable_limit=Gerilim belli bir seviyeyi aştığında\: Elektrik bileşenleri korur +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerGui.java +eln:Maximum_voltage_before_cutting_off=Maximum voltage before cutting off +eln:Minimum_voltage_before_cutting_off=Minimum voltage before cutting off +eln:Switch_is_off=Switch is off +eln:Switch_is_on=Switch is on +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalcable/ElectricalCableDescriptor.java +eln:A_signal_is_electrical_information\nwhich_must_be_between_0V_and_%sV=A signal is electrical information which must be between 0V and %sV +eln:Cable_is_adapted_to_conduct\nelectrical_signals.=Kablo elektrik sinyallerini iletmek üzere adapte edilir. +eln:Current\:_%sA=Current\: %sA +eln:Not_adapted_to_transport_power.=Not adapted to transport power. +eln:Save_usage\:=Kullanımı kaydet\: +eln:Serial_resistance\:_%sΩ=Serial resistance\: %sΩ +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerDescriptor.java +eln:It_can_store_up_to_256_points.=Bu 256 puan kadar saklayabilir. +eln:Measures_the_voltage_of_an\nelectrical_signal_and_plots\nthe_data_in_real_time.=Bir elektrik sinyali voltajını ölçme ve gerçek zamanlı veri arsa. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerGui.java +eln:Back_to_display=Back to display +eln:Configuration=Configuration +eln:Current_[A]=Current [A] +eln:Energy_[J]=Energy [J] +eln:Percent_[-]%=Percent [-]% +eln:Power_[W]=Power [W] +eln:Print=Print +eln:Sampling_period=Sampling period +eln:Temp._[*C]=Temp. [*C] +eln:Voltage_[V]=Voltage [V] +eln:Y-axis_max=Y-axis max +eln:Y-axis_min=Y-axis min +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorContainer.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorDescriptor.java +eln:Output_voltage_increases\nif_entities_are_moving_around.=Eğer entity'ler hareket ediyorsa, çıkış gerilimini arttırır. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalfiredetector/ElectricalFireDetectorDescriptor.java +eln:Output_voltage_increases\nif_a_fire_has_been_detected.=Output voltage increases\nif a fire has been detected. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceDescriptor.java +eln:Provides_configurable_signal\nvoltage.=Provides configurable signal\nvoltage. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceGui.java +eln:Output_at_%s=Output at %s +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricallightsensor/ElectricalLightSensorDescriptor.java +eln:0V_at_night,_%sV_at_noon.=0V at night, %sV at noon. +eln:Provides_an_electrical_voltage\nin_the_presence_of_light.=Provides an electrical voltage\nin the presence of light. +eln:Provides_an_electrical_voltage\nwhich_is_proportional_to\nthe_intensity_of_daylight.=Provides an electrical voltage\nwhich is proportional to\nthe intensity of daylight. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathContainer.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathDescriptor.java +eln:Applicable_boolean_operators\:=Uygulanabilir boolean operatörleri\: +eln:Applicable_functions\:=Uygulanabilir fonksiyonlar\: +eln:Applicable_mathematical_operators\:=Uygulanabilir matematiksel operatörler\: +eln:Calculates_an_output_signal_from\n3_inputs_(A,_B,_C)_using_an_equation.=Calculates an output signal from\n3 inputs (A, B, C) using an equation. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathGui.java +eln:%s_Redstone(s)_required=%s Redstone(s) required +eln:Equation_required!=Equation required\! +eln:Inputs_are=Inputs are +eln:Invalid_equation!=Invalid equation\! +eln:Output_voltage_formula=Output voltage formula +eln:Waiting_for_completion...=Waiting for completion... +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalredstoneinput/ElectricalRedstoneInputDescriptor.java +eln:Converts_Redstone_signal\nto_an_electrical_voltage.=Converts Redstone signal\nto an electrical voltage. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalredstoneoutput/ElectricalRedstoneOutputDescriptor.java +eln:Converts_electrical_voltage\ninto_a_Redstone_signal.=Converts electrical voltage\ninto a Redstone signal. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalrelay/ElectricalRelayDescriptor.java +eln:A_relay_is_an_electrical\ncontact_that_conducts_electric\ncurrent_or_not,_depending\nthe_actual_input_signal_voltage.=A relay is an electrical\ncontact that conducts electric\ncurrent or not, depending\nthe actual input signal voltage. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalrelay/ElectricalRelayGui.java +eln:Normally_closed=Normally closed +eln:Normally_open=Normally open +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalsource/ElectricalSourceDescriptor.java +eln:Creative_block.=Yanlızca Yaratıcı mod. +eln:Provides_an_ideal_voltage_source\nwithout_energy_or_power_limitation.=Provides an ideal voltage source\nwithout energy or power limitation. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalsource/ElectricalSourceGui.java +eln:Output_voltage=Output voltage +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalswitch/ElectricalSwitchDescriptor.java +eln:Can_break_an_electrical_circuit\ninterrupting_the_current.=Can break an electrical circuit\ninterrupting the current. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricaltimeout/ElectricalTimeoutDescriptor.java +eln:Upon_application_of_a_high_signal,\nthe_timer_maintains_the_output_high_for\na_configurable_interval._Can_be_re-triggered.=Upon application of a high signal,\nthe timer maintains the output high for\na configurable interval. Can be re-triggered. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricaltimeout/ElectricalTimeoutGui.java +eln:Set=Set +eln:The_time_interval_the\noutput_is_kept_high.=The time interval the\noutput is kept high. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalvumeter/ElectricalVuMeterDescriptor.java +eln:Displays_the_value_of_a_signal.=Displays the value of a signal. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalwatch/ElectricalWatchContainer.java +eln:Portable_battery_slot=Portable battery slot +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalweathersensor/ElectricalWeatherSensorDescriptor.java +eln:Clear\:_%sV=Clear\: %sV +eln:Provides_an_electrical_signal\ndepending_the_actual_weather.=Provides an electrical signal\ndepending the actual weather. +eln:Rain\:_%sV=Rain\: %sV +eln:Storm\:_%sV=Storm\: %sV +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalwindsensor/ElectricalWindSensorDescriptor.java +eln:Maximum_wind_speed_is_%sm_s=Maximum wind speed is %sm/s +eln:Provides_an_electrical_signal\ndependant_on_wind_speed.=Provides an electrical signal\ndependant on wind speed. +eln:You_can't_place_this_block_on_the_floor_or_the_ceiling=You can't place this block on the floor or the ceiling +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricasensor/ElectricalSensorDescriptor.java +eln:Can_measure_Voltage_Power_Current=Can measure Voltage/Power/Current +eln:Measures_electrical_values_on_cables.=Measures electrical values on cables. +eln:Measures_voltage_on_cables.=Measures voltage on cables. +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricasensor/ElectricalSensorGui.java +eln:Current=Current +eln:Measured_voltage\ncorresponding\nto_0%_output=Measured voltage\ncorresponding\nto 0% output +eln:Measured_voltage\ncorresponding\nto_100%_output=Measured voltage\ncorresponding\nto 100% output +eln:Voltage=Voltage +eln: +eln:# ./src/main/java/mods/eln/sixnode/energymeter/EnergyMeterGui.java +eln:Change_password=Change password +eln:Counter_Mode=Counter Mode +eln:Counts_the_energy_conducted_from\n\u00a74red\u00a7f_to_\u00a71blue\u00a7f.=Counts the energy conducted from\n\\u00a74red\\u00a7f to \\u00a71blue\\u00a7f. +eln:Energy_counter\:_%sJ=Energy counter\: %sJ +eln:Enter_new_energy=Enter new energy +eln:Enter_password=Enter password +eln:Prepay_Mode=Prepay Mode +eln:Reset_time_counter=Reset time counter +eln:Set_energy_counter=Set energy counter +eln:Time_counter\:=Time counter\: +eln:Try_password=Try password +eln:You_can_set_an_initial\namount_of_available_energy.\nWhen_the_counter_arrives_at_0\nthe_contact_will_be_opened.=You can set an initial\namount of available energy.\nWhen the counter arrives at 0\nthe contact will be opened. +eln:is_off=is off +eln:is_on=is on +eln:value_in_kJ=value in kJ +eln: +eln:# ./src/main/java/mods/eln/sixnode/groundcable/GroundCableDescriptor.java +eln:Can_be_used_to_set_a_point_of_an\nelectrical_network_to_0V_potential.\nFor_example_to_ground_negative_battery_contacts.=Can be used to set a point of an\nelectrical network to 0V potential.\nFor example to ground negative battery contacts. +eln:Provides_a_zero_volt_reference.=Provides a zero volt reference. +eln: +eln:# ./src/main/java/mods/eln/sixnode/hub/HubDescriptor.java +eln:Allows_crossing_cables\non_one_single_block.=Allows crossing cables\non one single block. +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketDescriptor.java +eln:Angle\:_%s°_to_%s°=Angle\: %s° to %s° +eln:Spot_range\:_%s_blocks=Spot range\: %s blocks +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketGuiDraw.java +eln:%s_is_not_in_range!=%s is not in range\! +eln:Cable_slot_empty=Cable slot empty +eln:Orientation\:_%s°=Orientation\: %s° +eln:Parallel=Parallel +eln:Powered_by_Lamp_Supply=Powered by Lamp Supply +eln:Powered_by_cable=Powered by cable +eln:Serial=Serial +eln:Specify_the_supply_channel=Specify the supply channel +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyContainer.java +eln:Electrical_cable_slot\nBase_range_is_32_blocks.\nEach_additional_cable\nincreases_range_by_one.=Electrical cable slot\nBase range is 32 blocks.\nEach additional cable\nincreases range by one. +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyDescriptor.java +eln:Supplies_all_lamps_on_the_channel.=Supplies all lamps on the channel. +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyGui.java +eln:Power_channel_name=Power channel name +eln:Wireless_channel_name=Wireless channel name +eln: +eln:# ./src/main/java/mods/eln/sixnode/modbusrtu/ModbusRtuGui.java +eln:Add=Add +eln:Channel_name=Channel name +eln:Modbus_ID=Modbus ID +eln:Modbus_RTU=Modbus RTU +eln:Station_ID=Station ID +eln:Station_name=Station name +eln:Wireless_RX=Wireless RX +eln:Wireless_TX=Wireless TX +eln: +eln:# ./src/main/java/mods/eln/sixnode/powercapacitorsix/PowerCapacitorSixContainer.java +eln:(Increases_maximum_voltage)=(Increases maximum voltage) +eln: +eln:# ./src/main/java/mods/eln/sixnode/powercapacitorsix/PowerCapacitorSixGui.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/powerinductorsix/PowerInductorSixContainer.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/powerinductorsix/PowerInductorSixGui.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/powersocket/PowerSocketDescriptor.java +eln:Supplies_any_device\nplugged_in_with_energy.=Supplies any device\nplugged in with energy. +eln: +eln:# ./src/main/java/mods/eln/sixnode/powersocket/PowerSocketGui.java +eln:Specify_the_device_to_supply_through_this_socket.=Specify the device to supply through this socket. +eln: +eln:# ./src/main/java/mods/eln/sixnode/resistor/ResistorContainer.java +eln:(Sets_resistance)=(Sets resistance) +eln:Coal_dust_slot=Coal dust slot +eln: +eln:# ./src/main/java/mods/eln/sixnode/thermalcable/ThermalCableDescriptor.java +eln:High_parallel_resistance\n_\=>_Low_power_dissipation.=High parallel resistance\n \=> Low power dissipation. +eln:Low_serial_resistance\n_\=>_High_conductivity.=Low serial resistance\n \=> High conductivity. +eln:Parallel_resistance\:_%sK_W=Parallel resistance\: %sK/W +eln:Serial_resistance\:_%sK_W=Serial resistance\: %sK/W +eln: +eln:# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorContainer.java +eln:Cable_slot=Cable slot +eln: +eln:# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorDescriptor.java +eln:Can_measure\:=Can measure\: +eln:Measures_temperature_of_cables.=Measures temperature of cables. +eln:Measures_thermal_values_on_cables.=Measures thermal values on cables. +eln:__Temperature_Power_conducted=Temperature/Power conducted +eln: +eln:# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorGui.java +eln:Measured_temperature\ncorresponding\nto_0%_output=Measured temperature\ncorresponding\nto 0% output +eln:Measured_temperature\ncorresponding\nto_100%_output=Measured temperature\ncorresponding\nto 100% output +eln:Temperature=Temperature +eln: +eln:# ./src/main/java/mods/eln/sixnode/tutorialsign/TutorialSignElement.java +eln:No_text_associated_to_this_beacon=No text associated to this beacon +eln: +eln:# ./src/main/java/mods/eln/sixnode/tutorialsign/TutorialSignGui.java +eln:Set_beacon_name=Set beacon name +eln: +eln:# ./src/main/java/mods/eln/sixnode/wirelesssignal/rx/WirelessSignalRxGui.java +eln: +eln:# ./src/main/java/mods/eln/transparentnode/FuelGenerator.kt +eln:Nominal_power\:_%s_W=Nominal power\: %s W +eln:Nominal_voltage\:_%s_V=Nominal voltage\: %s V +eln:Produces_electricity_using_fuel.=Produces electricity using fuel. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/LargeRheostat.kt +eln:Nom._Resistance\:_%s=Nom. Resistance\: %s +eln: +eln:# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerContainer.java +eln:Drill_slot=Drill slot +eln:Mining_pipe_slot=Mining pipe slot +eln:Ore_scanner_slot=Ore scanner slot +eln: +eln:# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerDescriptor.java +eln:Excavates_on_a_small_radius.\nExtracts_ore_on_a_bigger_radius\:\n10_blocks_radius_after_10_blocks_depth.=Excavates on a small radius.\nExtracts ore on a bigger radius\:\n10 blocks radius after 10 blocks depth. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerGuiDraw.java +eln:Chest_missing_on_the\nback_of_the_auto_miner!=Chest missing on the\nback of the auto miner\! +eln:Halves_speed,_triples_power_draw=Halves speed, triples power draw +eln:Silk_Touch_Off=Silk Touch Off +eln:Silk_Touch_On=Silk Touch On +eln:Silk_touch=Silk touch +eln: +eln:# ./src/main/java/mods/eln/transparentnode/battery/BatteryContainer.java +eln:Overheating_protection=Overheating protection +eln:Overvoltage_protection=Overvoltage protection +eln: +eln:# ./src/main/java/mods/eln/transparentnode/battery/BatteryDescriptor.java +eln:Actual_charge\:_%s=Actual charge\: %s +eln:Energy_capacity\:_%sJ=Energy capacity\: %sJ +eln:_charged_at_%s=charged at %s +eln: +eln:# ./src/main/java/mods/eln/transparentnode/battery/BatteryGuiDraw.java +eln:Charge=Charge +eln:Charged=Charged +eln:Discharge=Discharge +eln:Energy\:=Energy\: +eln:Energy\:_%s=Energy\: %s +eln:Life\:=Life\: +eln:No_charge=No charge +eln:Power_in\:=Power in\: +eln:Power_out\:=Power out\: +eln: +eln:# ./src/main/java/mods/eln/transparentnode/eggincubator/EggIncubatorContainer.java +eln:Egg_slot=Egg slot +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalantennarx/ElectricalAntennaRxDescriptor.java +eln:Wireless_energy_receiver.=Kablosuz enerji alıcısı. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalantennatx/ElectricalAntennaTxDescriptor.java +eln:Efficiency\:_%s_up_to_%s=Efficiency\: %s up to %s +eln:Wireless_energy_transmitter.=Kablosuz enerji verici. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceContainer.java +eln:Heating_corp_slot=Heating corp slot +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceDescriptor.java +eln:Similar_to_a_vanilla_furnace,\nbut_heats_with_electricity.=Similar to a vanilla furnace,\nbut heats with electricity. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceGuiDraw.java +eln:Auto_shutdown=Auto shutdown +eln:Manual_shutdown=Manual shutdown +eln:Set_point\:_%s°C=Set point\: %s°C +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalmachine/ElectricalMachineDescriptor.java +eln:Cost=Cost +eln: +eln:# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceContainer.java +eln:Combustion_chamber_slot=Combustion chamber slot +eln:Fuel_slot=Fuel slot +eln: +eln:# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceDescriptor.java +eln:Generates_heat_when_supplied_with_fuel.=Yakıt temin edildiğinde ısı üretir. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceGuiDraw.java +eln:Control_gauge_at_%s=Control gauge at %s +eln:Decline_fuel=Decline fuel +eln:External_control=External control +eln:Internal_control=Internal control +eln:Take_fuel=Take fuel +eln: +eln:# ./src/main/java/mods/eln/transparentnode/powercapacitor/PowerCapacitorContainer.java +eln:(Increases_maximal_voltage)=(Increases maximal voltage) +eln: +eln:# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelContainer.java +eln:Solar_tracker_slot=Solar tracker slot +eln: +eln:# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelDescriptor.java +eln:Can_be_geared_towards_the_sun.=Güneşe dönük olabilir. +eln:Max._power\:_%sW=Max. power\: %sW +eln:Max._voltage\:_%sV=Max. voltage\: %sV +eln:Produces_power_from_solar_radiation.=Güneş ışınlarından güç üretir. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPannelGuiDraw.java +eln:It_is_night=It is night +eln:Solar_panel_angle\:_%s°=Solar panel angle\: %s° +eln:Sun_angle\:_%s°=Sun angle\: %s° +eln: +eln:# ./src/main/java/mods/eln/transparentnode/teleporter/TeleporterGui.java +eln:Destination_transporter=Destination transporter +eln:Power_consumption\:=Power consumption\: +eln:Power_consumption\:_%sW=Power consumption\: %sW +eln:Required_energy\:_%sJ=Required energy\: %sJ +eln:Start=Start +eln:Transporter_name=Transporter name +eln: +eln:# ./src/main/java/mods/eln/transparentnode/thermaldissipatoractive/ThermalDissipatorActiveDescriptor.java +eln:Fan_cooling_power\:_%sW=Fan cooling power\: %sW +eln:Fan_power_consumption\:_%sW=Fan power consumption\: %sW +eln:Fan_voltage\:_%sV=Fan voltage\: %sV +eln: +eln:# ./src/main/java/mods/eln/transparentnode/transformer/TransformerDescriptor.java +eln:The_voltage_ratio_is_proportional\nto_the_cable_stacks_count_ratio.=The voltage ratio is proportional\nto the cable stacks count ratio. +eln:Transforms_an_input_voltage_to\nan_output_voltage.=Transforms an input voltage to\nan output voltage. +eln: +eln:# ./src/main/java/mods/eln/transparentnode/turbine/TurbineDescriptor.java +eln:Generates_electricity_using_heat.=Isı kullanılarak elektrik üretir. +eln:Temperature_difference\:_%s°C=Temperature difference\: %s°C +eln: +eln:# ./src/main/java/mods/eln/transparentnode/turret/TurretDescriptor.java +eln:CAUTION\:_Cables_can_get_quite_hot!=DİKKAT\: Kablolar oldukça fazla ısınabilir\! +eln:Laser_charge_power\:_%sW...%skW=Laser charge power\: %sW...%skW +eln:Scans_for_entities_and_shoots_if_the\nentity_matches_the_configurable_filter_criteria.=Scans for entities and shoots if the\nentity matches the configurable filter criteria. +eln:Standby_power\:_%sW=Standby power\: %sW +eln: +eln:# ./src/main/java/mods/eln/transparentnode/turret/TurretGui.java +eln:Attack\:=Attack\: +eln:Do_not_attack\:=Do not attack\: +eln:Recharge_power\:=Recharge power\: +eln: +eln:# ./src/main/java/mods/eln/transparentnode/waterturbine/WaterTurbineDescriptor.java +eln:Generates_energy_using_water_stream.=Su akışı kullanarak enerji üretir. +eln:No_place_for_water_turbine!=No place for water turbine\! +eln: +eln:# ./src/main/java/mods/eln/transparentnode/windturbine/WindTurbineDescriptor.java +eln:Front\:_%s=Front\: %s +eln:Generates_energy_from_wind.=Rüzgardan enerji üretir. +eln:Left_Right\:_%s=Left/Right\: %s +eln:Up_Down\:_%s=Up/Down\: %s +eln:Wind_area\:=Rüzgar alanı\: +eln: +eln:# ./src/main/java/mods/eln/wiki/Data.java +eln:Energy=Energy +eln:Light=Light +eln:Machine=Machine +eln:Ore=Ore +eln:Portable=Portable +eln:Resource=Resource +eln:Signal=Signal +eln:Thermal=Thermal +eln:Upgrade=Upgrade +eln:Utilities=Utilities +eln:Wiring=Wiring +eln: +eln:# ./src/main/java/mods/eln/wiki/Default.java +eln:Previous=Previous +eln: +eln:# ./src/main/java/mods/eln/wiki/ItemDefault.java +eln:Can_be_used_to_craft\:=Can be used to craft\: +eln:Cannot_be_crafted!=Cannot be crafted\! +eln:Cost_%sJ=Cost %sJ +eln:Created_by\:=Created by\: +eln:Is_not_a_crafting_material!=Is not a crafting material\! +eln:Recipe\:=Recipe\: +eln: +eln:# Appearing in multiple source files +eln:(Increases_capacity)=(Increases capacity) +eln:(Increases_inductance)=(Increases inductance) +eln:Actual\:_%s°C=Actual\: %s°C +eln:Biggest=Biggest +eln:Booster_slot=Booster slot +eln:Can_create\:=Can create\: +eln:Capacity\:_%sF=Capacity\: %sF +eln:Charge_power\:_%sW=Charge power\: %sW +eln:Connected=Connected +eln:Cooling_power\:_%sW=Cooling power\: %sW +eln:Copper_cable_slot=Copper cable slot +eln:Dielectric_slot=Dielectric slot +eln:Discharge_power\:_%sW=Discharge power\: %sW +eln:Electrical_cable_slot=Electrical cable slot +eln:Entity_filter_slot=Entity filter slot +eln:Ferromagnetic_core_slot=Ferromagnetic core slot +eln:Has_a_signal_output.=Has a signal output. +eln:Inductance\:_%sH=Inductance\: %sH +eln:Internal_resistance\:_%sΩ=Internal resistance\: %sΩ +eln:Is_off=Is off +eln:Is_on=Is on +eln:Max._temperature\:_%s°C=Max. temperature\: %s°C +eln:Measured_value\ncorresponding\nto_0%_output=Measured value\ncorresponding\nto 0% output +eln:Measured_value\ncorresponding\nto_100%_output=Measured value\ncorresponding\nto 100% output +eln:Nominal\:=Sembolik\: +eln:Nominal_power\:_%sW=Nominal power\: %sW +eln:Nominal_usage\:=Sembolik kullanım\: +eln:Nominal_voltage\:_%sV=Nominal voltage\: %sV +eln:Not_connected=Not connected +eln:Not_enough_space_for_this_block=Not enough space for this block +eln:Power=Power +eln:Power\:_%sW=Power\: %sW +eln:Range\:_%s_blocks=Range\: %s blocks +eln:Redstone_slot=Redstone slot +eln:Regulator_slot=Regulator slot +eln:Reset=Reset +eln:Resistance\:_%sΩ=Resistance\: %sΩ +eln:Smallest=Smallest +eln:Specify_the_channel=Specify the channel +eln:Stored_energy\:_%sJ_(%s)=Stored energy\: %sJ (%s) +eln:Temperature\:_%s°C=Temperature\: %s°C +eln:Temperature_gauge=Temperature gauge +eln:Thermal_isolator_slot=Thermal isolator slot +eln:Toggle=Toggle +eln:Toggle_switch=Toggle switch +eln:Toggles_the_output_each_time\nan_emitter's_value_rises.\nUseful_to_allow_multiple_buttons\nto_control_the_same_light.=Toggles the output each time\nan emitter's value rises.\nUseful to allow multiple buttons\nto control the same light. +eln:Used_to_cool_down_turbines.=Türbinlerin soğuması için kullanılır. +eln:Uses_the_biggest\nvalue_on_the_channel.=Uses the biggest\nvalue on the channel. +eln:Uses_the_smallest\nvalue_on_the_channel.=Uses the smallest\nvalue on the channel. +eln:Validate=Validate +eln:Voltage\:_%sV=Voltage\: %sV +eln:You_can't_place_this_block_at_this_side=You can't place this block at this side diff --git a/src/main/resources/assets/eln/lang/zh.lang b/src/main/resources/assets/eln/lang/zh.lang index 783a85345..01fc35ff4 100644 --- a/src/main/resources/assets/eln/lang/zh.lang +++ b/src/main/resources/assets/eln/lang/zh.lang @@ -1,829 +1,829 @@ -# - -# ./src/main/java/mods/eln/Achievements.java -Electrical_Age_[WIP]=电力时代Electrical Age\n(translate by KLsz and polish by aneBlack) -achievement.craft_50v_macerator=初入粉碎之法 -achievement.craft_50v_macerator.desc=50V的粉碎工艺! -achievement.open_guide=学会内置Wiki -achievement.open_guide.desc=内置Wiki的能量,超乎你想象 - -# ./src/main/java/mods/eln/Eln.java -10A_Diode.name=二极管(10A) -200V_Active_Thermal_Dissipator.name=散热器(T\:200W+1.2kW,200°C;E\:200V,60W) -200V_Battery_Charger.name=电池充电器(200V,1kW) -200V_Compressor.name=压缩机(200V) -200V_Condensator.name=电容(200V) -200V_Copper_Heating_Corp.name=铜电热丝(200V,600W) -200V_Economic_Light_Bulb.name=节能灯泡(200V,15W) -200V_Farming_Lamp.name=暖箱灯泡(200V,120W) -200V_Fuel_Generator.name=200V Fuel Generator -200V_Incandescent_Light_Bulb.name=白炽灯泡(200V,30W) -200V_Iron_Heating_Corp.name=铁电热丝(200V,900W) -200V_LED_Bulb.name=200V LED Bulb -200V_Macerator.name=粉碎机(200V,400W) -200V_Magnetizer.name=磁化器(200V,400W) -200V_Plate_Machine.name=冷轧机(200V,400W) -200V_Power_Socket.name=能源接口(200V) -200V_Tungsten_Heating_Corp.name=钨电热丝(200V,1.2kW) -200V_Turbine.name=发电机(温差,200V,500W,Δ350°C) -25A_Diode.name=二极管(25A) -50V_Battery_Charger.name=电池充电器(50V,400W) -50V_Carbon_Incandescent_Light_Bulb.name=碳丝灯泡(50V,25W) -50V_Compressor.name=压缩机(50V) -50V_Condensator.name=电容(50V) -50V_Copper_Heating_Corp.name=铜电热丝(50V,250W) -50V_Economic_Light_Bulb.name=节能灯泡(50V,15W) -50V_Egg_Incubator.name=鸡蛋孵化器(50V) -50V_Farming_Lamp.name=暖箱灯泡(50V,120W) -50V_Fuel_Generator.name=50V Fuel Generator -50V_Incandescent_Light_Bulb.name=白炽灯泡(50V,30W) -50V_Iron_Heating_Corp.name=铁电热丝(50V,375W) -50V_LED_Bulb.name=50V LED Bulb -50V_Macerator.name=粉碎机(50V,200W) -50V_Magnetizer.name=磁化机(50V,200W) -50V_Plate_Machine.name=冷轧机(50V,200W) -50V_Power_Socket.name=能源接口(50V) -50V_Tungsten_Heating_Corp.name=钨电热丝(50V,500W) -50V_Turbine.name=发电机(温差,50V,300W,Δ250°C) -800V_Defence_Turret.name=防御塔(800V,min-50W,max-1kW) -AND_Chip.name=AND Chip -Advanced_Chip.name=芯片(高级) -Advanced_Electrical_Motor.name=电机(高级) -Advanced_Energy_Meter.name=电能表(高级) -Advanced_Machine_Block.name=机器方块(高级) -Advanced_Magnet.name=磁铁(高级) -AllMeter.name=通用表 -Alloy_Dust.name=钨钢合金粉 -Alloy_Ingot.name=钨钢合金锭 -Alloy_Plate.name=钨钢合金板 -Analog_Watch.name=模拟时钟 -Analog_vuMeter.name=模拟电压表(信号) -Analogic_Regulator.name=模拟温控组件 -Animal_Filter.name=动物筛选组件 -Auto_Miner.name=自动挖矿机(800V) -Average_Electrical_Drill.name=电钻(1kW,5") -Average_Ferromagnetic_Core.name=磁能核心(4.0) -Basic_Magnet.name=磁铁(基础) -Black_Brush.name=刷子(黑) -Blue_Brush.name=刷子(蓝) -Brown_Brush.name=刷子(棕) -Capacity_Oriented_Battery.name=电源(容量更大,12V,125W,240kJ) -Cheap_Chip.name=芯片(基础) -Cheap_Electrical_Drill.name=电钻(500W,8") -Cheap_Ferromagnetic_Core.name=磁能核心(10.0) -Cinnabar_Dust.name=朱砂粉 -Cinnabar_Ore.name=朱砂矿石 -Coal_Dust.name=煤粉 -Coal_Plate.name=煤板 -Combustion_Chamber.name=炉膛组件 -Copper_Cable.name=导线(铜) -Copper_Dust.name=铜粉 -Copper_Ingot.name=铜锭 -Copper_Ore.name=铜矿 -Copper_Plate.name=铜板 -Copper_Thermal_Cable.name=导热管(铜,1k°C) -Cost_Oriented_Battery.name=电源(更廉价,50V,250W,60KJ) -Current_Oriented_Battery.name=电源(电流更大,50V,1000W,40KJ) -Cyan_Brush.name=刷子(青) -D_Flip_Flop_Chip.name=D Flip Flop Chip -Data_Logger.name=示波器(台式,信号) -Data_Logger_Print.name=示波器(打印,信号) -Dielectric.name=绝缘体 -Digital_Watch.name=数字时钟 -Electrical_Anemometer_Sensor.name=传感器(风力) -Electrical_Breaker.name=断路器 -Electrical_Daylight_Sensor.name=感应器(阳光) -Electrical_Entity_Sensor.name=感应器(实体) -Electrical_Fire_Detector.name=电气火花传感器 -Electrical_Furnace.name=电炉 -Electrical_Light_Sensor.name=感应器(光) -Electrical_Motor.name=电机 -Electrical_Probe.name=电力传感器 -Electrical_Probe_Chip.name=芯片(电力传感器) -Electrical_Source.name=电源 -Electrical_Timer.name=断路延时器 -Electrical_Weather_Sensor.name=传感器(天气) -Electrical_age_wrench,\nCan_be_used_to_turn\nsmall_wall_blocks=扳手用来翻转一些小方块 -Energy_Meter.name=电能表 -Experimental_Transporter.name=传送机 -Fast_Electrical_Drill.name=电钻(2kW,3") -Ferrite_Ingot.name=铁氧体锭 -Flat_Lamp_Socket.name=灯座(扁平) -Fluorescent_Lamp_Socket.name=灯座(荧光) -Generator.name=Generator -Gold_Dust.name=金粉 -Gold_Plate.name=金板 -Gray_Brush.name=刷子(灰) -Green_Brush.name=刷子(绿) -Ground_Cable.name=导线(接地) -High_Power_Receiver_Antenna.name=天线(接收)(800V,2kW) -High_Power_Transmitter_Antenna.name=天线(发射)(800V,2kW,300m) -High_Voltage_Cable.name=导线(800V,5kW) -High_Voltage_Relay.name=继电器(800V) -High_Voltage_Switch.name=开关(800V) -Hub.name=集线器 -Industrial_Data_Logger.name=示波器(工业,信号) -Iron_Cable.name=导线(铁) -Iron_Dust.name=铁粉 -Iron_Plate.name=铁板 -JK_Flip_Flop_Chip.name=JK Flip Flop Chip -LED_vuMeter.name=LED指示灯 -Lamp_Socket_A.name=灯座(圆盘式) -Lamp_Socket_B_Projector.name=灯座(圆盘式,高级) -Lamp_Supply.name=无线照明控制盒 -Large_Rheostat.name=Large Rheostat -Lead_Dust.name=铅粉 -Lead_Ingot.name=铅锭 -Lead_Ore.name=铅矿石 -Lead_Plate.name=铅板 -Life_Oriented_Battery.name=电源(生命更长,50V,250W,60KJ) -Light_Blue_Brush.name=刷子(浅蓝) -Lime_Brush.name=刷子(黄绿) -Long_Suspended_Lamp_Socket.name=灯座(吊挂,长) -Low_Power_Receiver_Antenna.name=天线(接收)(50V,250W) -Low_Power_Transmitter_Antenna.name=天线(发射)(50V,250W,200m) -Low_Voltage_Cable.name=导线(50V,1kW) -Low_Voltage_Relay.name=继电器(50V) -Low_Voltage_Switch.name=开关(50V) -Machine_Block.name=机器方块 -Machine_Booster.name=增压器 -Magenta_Brush.name=刷子(品红) -Medium_Power_Receiver_Antenna.name=天线(接收)(200V,1kW) -Medium_Power_Transmitter_Antenna.name=天线(发射)(200V,1kW,250m) -Medium_Voltage_Cable.name=导线(200V,2kW) -Medium_Voltage_Relay.name=继电器(200V) -Medium_Voltage_Switch.name=开关(200V) -Mercury.name=汞 -Mining_Pipe.name=采矿管道 -Modbus_RTU.name=Modbus RTU通讯协议 -Modern_Data_Logger.name=示波器(薄屏,信号) -Monster_Filter.name=怪物筛选组件 -MultiMeter.name=万用表 -NAND_Chip.name=NAND Chip -NOR_Chip.name=NOR Chip -NOT_Chip.name=NOT Chip -Nuclear_Alarm.name=警报(核) -OR_Chip.name=OR Chip -On_OFF_Regulator_10_Percent.name=开/关温控10% -On_OFF_Regulator_1_Percent.name=开/关温控1% -Optimal_Ferromagnetic_Core.name=磁能核心(1.0) -Orange_Brush.name=刷子(橙) -Ore_Scanner.name=矿物扫描仪 -Oscillator_Chip.name=Oscillator Chip -Overheating_Protection.name=保护装置(过热) -Overvoltage_Protection.name=保护装置(过压) -PAL_Chip.name=PAL Chip -Pink_Brush.name=刷子(粉) -Player_Filter.name=玩家筛选组件 -Portable_Battery.name=移动电池 -Portable_Battery_Pack.name=移动电池包 -Portable_Condensator.name=移动电容 -Portable_Condensator_Pack.name=移动电容包 -Portable_Electrical_Axe.name=电斧 -Portable_Electrical_Mining_Drill.name=电钻 -Power_Capacitor.name=电容 -Power_Inductor.name=电感 -Power_Resistor.name=电阻 -Power_capacitor.name=电容 -Power_inductor.name=电感 -Purple_Brush.name=刷子(紫) -Red_Brush.name=刷子(红) -Redstone-to-Voltage_Converter.name=转换器(红石→电) -Rheostat.name=变阻器 -Robust_Lamp_Socket.name=灯座(小) -Rubber.name=橡胶 -Schmitt_Trigger_Chip.name=Schmitt Trigger Chip -Sconce_Lamp_Socket.name=灯座(壁挂) -Signal_20H_inductor.name=电感(20H)(信号) -Signal_Antenna.name=天线(信号) -Signal_Button.name=按钮(信号) -Signal_Cable.name=导线(信号) -Signal_Diode.name=二极管(信号) -Signal_Processor.name=信号处理器 -Signal_Relay.name=继电器(信号) -Signal_Source.name=信号源 -Signal_Switch.name=开关(信号) -Signal_Switch_with_LED.name=开关(信号)(LED) -Signal_Trimmer.name=信号发生器 -Silicon_Dust.name=硅粉 -Silicon_Ingot.name=硅锭 -Silicon_Plate.name=硅板 -Silver_Brush.name=刷子(银) -Simple_Lamp_Socket.name=灯座(普通) -Single-use_Battery.name=电源(一次性,50V,500W,120kJ) -Small_200V_Copper_Heating_Corp.name=加热核心(铜,200V,小) -Small_200V_Iron_Heating_Corp.name=加热核心(铁,200V,小) -Small_200V_Tungsten_Heating_Corp.name=加热核心(钨,200V,小) -Small_50V_Carbon_Incandescent_Light_Bulb.name=小型碳丝灯泡(50V) -Small_50V_Copper_Heating_Corp.name=加热核心(铜,50V,小) -Small_50V_Economic_Light_Bulb.name=小型节能灯泡(50V) -Small_50V_Incandescent_Light_Bulb.name=小型白炽灯泡(50V) -Small_50V_Iron_Heating_Corp.name=加热核心(铁,50V,小) -Small_50V_Tungsten_Heating_Corp.name=加热核心(钨,50V,小) -Small_Active_Thermal_Dissipator.name=散热器(T\:200W+800W,150°C;E\:50V,50W) -Small_Flashlight.name=手电筒 -Small_Passive_Thermal_Dissipator.name=散热器(250W,220°C) -Small_Rotating_Solar_Panel.name=太阳能电池板(追踪,14.8V,65W) -Small_Solar_Panel.name=太阳能电板(14.8V,65W) -Solar_Tracker.name=太阳追踪组件 -Standard_Alarm.name=警报(基础) -Steam_Turbine.name=Steam Turbine -Stone_Heat_Furnace.name=燃烧器(800°C,1kW) -Street_Light.name=灯座(路灯) -Suspended_Lamp_Socket.name=灯座(吊挂) -Temperature_Probe.name=温度传感器 -Thermal_Probe.name=热能传感器 -Thermal_Probe_Chip.name=芯片(热能传感器) -Thermistor.name=热敏电阻 -ThermoMeter.name=温度计 -Transformer.name=变压器 -Tree_Resin.name=树脂 -Tree_Resin_Collector.name=树脂收集器 -Tungsten_Cable.name=导线(钨) -Tungsten_Dust.name=钨粉 -Tungsten_Ingot.name=钨锭 -Tungsten_Ore.name=钨矿石 -Tutorial_Sign.name=指示标志 -Very_High_Voltage_Cable.name=导线(3200V) -Very_High_Voltage_Relay.name=继电器(3200V) -Very_High_Voltage_Switch.name=开关(3200V) -Voltage-to-Redstone_Converter.name=转换器(电→红石) -Voltage_Oriented_Battery.name=电源(电压更大,200V,250W) -Voltage_Probe.name=电压传感器 -Water_Turbine.name=发电机(水力,50V,30W) -Weak_50V_Battery_Charger.name=电池充电器(50V,200W) -White_Brush.name=刷子(白) -Wind_Turbine.name=发电机(风力,59V,160W) -Wireless_Analyser.name=监测仪(无线) -Wireless_Button.name=按钮(无线) -Wireless_Signal_Receiver.name=信号接收器(无线) -Wireless_Signal_Repeater.name=信号加强器(无线) -Wireless_Signal_Transmitter.name=信号发射器(无线) -Wireless_Switch.name=开关(无线) -Wrench.name=扳手 -X-Ray_Scanner.name=扫描仪 -XNOR_Chip.name=XNOR Chip -XOR_Chip.name=XOR Chip -Yellow_Brush.name=刷子(黄) -entity.EAReplicator.name=复制机 -item.Copper Axe.name\=铜镐 -item.Copper Axe.name\=铜镐 -item.Copper Axe.name\=铜镐 -item.Copper Axe.name\=铜镐 -item.Copper Axe.name\=铜镐 -item.Copper Axe.name\=铜镐 -item.Copper Axe.name\=铜镐 -item.Copper Axe.name\=铜镐 -item.Copper Axe.name\=铜镐 -item.E-Coal Boots.name\=EC鞋 -item.E-Coal Boots.name\=EC鞋 -item.E-Coal Boots.name\=EC鞋 -item.E-Coal Boots.name\=EC鞋 -itemGroup.Eln=电力时代 -mod.meta.desc=你的基地,因使用电力产生红热的光芒\! -tile.eln.ElnProbe.name=电力时代电脑传感器 -tile.eln.EnergyConverterElnToOtherHVUBlock.name=电力时代能源(800V)转至其他能源 -tile.eln.EnergyConverterElnToOtherLVUBlock.name=电力时代能源(50V)转至其他能源 -tile.eln.EnergyConverterElnToOtherMVUBlock.name=电力时代能源(200V)转至其他能源 - -# ./src/main/java/mods/eln/i18n/I18N.java -You_have_%s_lives_left=你还剩%s条生命 - -# ./src/main/java/mods/eln/item/BrushDescriptor.java -Brush_is_dry=刷子干了 -Can_paint_%s_blocks=可以继续漆%s个方块 - -# ./src/main/java/mods/eln/item/CombustionChamber.java -Upgrade_for_the_Stone_Heat_Furnace.=你的发电机升级啦~ - -# ./src/main/java/mods/eln/item/ElectricalDrillDescriptor.java -Energy_per_operation\:_%sJ=启动需要能量\:%sJ -Time_per_operation\:_%ss=启动所需时间\:%ss - -# ./src/main/java/mods/eln/item/FerromagneticCoreDescriptor.java -Cable_loss_factor\:_%s=导线损耗系数\:%s - -# ./src/main/java/mods/eln/item/HeatingCorpElement.java - -# ./src/main/java/mods/eln/item/LampDescriptor.java -Bad=差 -Condition\:=条件\: -End_of_life=生命就此终结 -Good=好 -New=新 -Nominal_lifetime\:_%sh=理论寿命\:%sh -Technology\:_%s=科技\:%s -Used=旧 - -# ./src/main/java/mods/eln/item/LampSlot.java -Lamp_slot=槽(灯) - -# ./src/main/java/mods/eln/item/OverHeatingProtectionDescriptor.java -Useful_to_prevent_overheating\nof_Batteries=有效防止电源过热 - -# ./src/main/java/mods/eln/item/OverVoltageProtectionDescriptor.java -Useful_to_prevent_over-voltage\nof_Batteries=有效防止电源过压 - -# ./src/main/java/mods/eln/item/SolarTrackerDescriptor.java -Solar_panel_upgrade=太阳能电板升级 - -# ./src/main/java/mods/eln/item/electricalitem/BatteryItem.java - -# ./src/main/java/mods/eln/item/electricalitem/ElectricalLampItem.java -Off=关 -On=开 -State\:=状态\: -Stored_Energy\:_%sJ_(%s)=储存的能量\:%sJ(%s) - -# ./src/main/java/mods/eln/item/regulator/RegulatorSlot.java - -# ./src/main/java/mods/eln/misc/UtilsClient.java -Hold_shift=请戳Shift - -# ./src/main/java/mods/eln/misc/Version.java -mod.name=电力时代 - -# ./src/main/java/mods/eln/node/six/SixNodeDescriptor.java - -# ./src/main/java/mods/eln/simplenode/energyconverter/EnergyConverterElnToOtherGui.java -Input_power_is_limited_to_%sW=输入功率限制\:%sW - -# ./src/main/java/mods/eln/sixnode/LogicGate.kt -_O\:_= O\: - -# ./src/main/java/mods/eln/sixnode/TreeResinCollector/TreeResinCollectorDescriptor.java -Produces_Tree_Resin_over\ntime_when_put_on_a_tree.=放在树上即可生产树脂 -This_block_can_only_be_placed_on_the_side_of_a_tree!=这只能在一棵树的侧面防止啊 - -# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerContainer.java -Battery_slot=槽(电池) - -# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerDescriptor.java -Can_be_used_to_recharge\nelectrical_items_like\:\nFlash_Light,_X-Ray_scanner\nand_Portable_Battery_...=可以用来给电力时代的东西充电\n例如移动电池,手电筒,扫描仪 - -# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerGui.java - -# ./src/main/java/mods/eln/sixnode/diode/DiodeDescriptor.java -Electrical_current_can_only\nflow_through_the_diode\nfrom_anode_to_cathode=电流只能从二极管的一端流到另一端 - -# ./src/main/java/mods/eln/sixnode/electricalalarm/ElectricalAlarmDescriptor.java -= -Emits_an_acoustic_alarm_if\nthe_input_signal_is_high=当输入信号高的时候\n发出巨大的警报声 - -# ./src/main/java/mods/eln/sixnode/electricalalarm/ElectricalAlarmGui.java -Sound_is_muted=声音已静音 -Sound_is_not_muted=声音已开启 - -# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerContainer.java - -# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerDescriptor.java -Protects_electrical_components\nOpens_contact_if\:\n__-_Voltage_exceeds_a_certain_level\n-_Current_exceeds_the_cable_limit=保护电路\n如果电压过大或电流过载都会打开 - -# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerGui.java -Maximum_voltage_before_cutting_off=切断前最大电压 -Minimum_voltage_before_cutting_off=切断前最小电压 -Switch_is_off=开关关闭 -Switch_is_on=开关打开 - -# ./src/main/java/mods/eln/sixnode/electricalcable/ElectricalCableDescriptor.java -A_signal_is_electrical_information\nwhich_must_be_between_0V_and_%sV=信号用来传递电气信息\n必须要在0V和%sV之间 -Cable_is_adapted_to_conduct\nelectrical_signals.=该电缆适用于传输电子信号 -Current\:_%sA=电流\:%sA -Not_adapted_to_transport_power.=没有适配到传送功率 -Save_usage\:=保存用法\: -Serial_resistance\:_%sΩ=串联电阻\:%sΩ - -# ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerDescriptor.java -It_can_store_up_to_256_points.=它最多可以储存256个单位 -Measures_the_voltage_of_an\nelectrical_signal_and_plots\nthe_data_in_real_time.=测量电子信号的实时电压 - -# ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerGui.java -Back_to_display=回到显示 -Configuration=配置 -Current_[A]=电流(A) -Energy_[J]=能量(J) -Percent_[-]%=百分比(%) -Power_[W]=功率(W) -Print=打印 -Sampling_period=采样周期 -Temp._[*C]=温度(°C) -Voltage_[V]=电压(V) -Y-axis_max=Y轴最大值 -Y-axis_min=Y轴最小值 - -# ./src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorContainer.java - -# ./src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorDescriptor.java -Output_voltage_increases\nif_entities_are_moving_around.=如果有生物在周围移动那么增大输出电压 - -# ./src/main/java/mods/eln/sixnode/electricalfiredetector/ElectricalFireDetectorDescriptor.java -Output_voltage_increases\nif_a_fire_has_been_detected.=如果周围有火那么增大输出电压 - -# ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceDescriptor.java -Provides_configurable_signal\nvoltage.=提供可调整的信号电压 - -# ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceGui.java -Output_at_%s=输出\:%s - -# ./src/main/java/mods/eln/sixnode/electricallightsensor/ElectricalLightSensorDescriptor.java -0V_at_night,_%sV_at_noon.=夜间0V,午时%sV -Provides_an_electrical_voltage\nin_the_presence_of_light.=接受到光的时候提供电压 -Provides_an_electrical_voltage\nwhich_is_proportional_to\nthe_intensity_of_daylight.=接收到日光的时候提供电压\n电压与日光强度成正比 - -# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathContainer.java - -# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathDescriptor.java -Applicable_boolean_operators\:=适用于布尔(boolean)算子\: -Applicable_functions\:=适用于\: -Applicable_mathematical_operators\:=适用于数学算子 -Calculates_an_output_signal_from\n3_inputs_(A,_B,_C)_using_an_equation.=用3个输入(A,B,C)值\n进行函数计算\n然后输出信号 - -# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathGui.java -%s_Redstone(s)_required=需要%s个红石粉 -Equation_required!=需要方程式 -Inputs_are=输入是 -Invalid_equation!=无效方程式 -Output_voltage_formula=输出电压公式 -Waiting_for_completion...=请稍后... - -# ./src/main/java/mods/eln/sixnode/electricalredstoneinput/ElectricalRedstoneInputDescriptor.java -Converts_Redstone_signal\nto_an_electrical_voltage.=把红石信号转换为电压 - -# ./src/main/java/mods/eln/sixnode/electricalredstoneoutput/ElectricalRedstoneOutputDescriptor.java -Converts_electrical_voltage\ninto_a_Redstone_signal.=把电压转换为红石信号 - -# ./src/main/java/mods/eln/sixnode/electricalrelay/ElectricalRelayDescriptor.java -A_relay_is_an_electrical\ncontact_that_conducts_electric\ncurrent_or_not,_depending\nthe_actual_input_signal_voltage.=继电器是根据信号电压的有无\n控制电路闭合断开的仪器 - -# ./src/main/java/mods/eln/sixnode/electricalrelay/ElectricalRelayGui.java -Normally_closed=默认关闭 -Normally_open=默认打开 - -# ./src/main/java/mods/eln/sixnode/electricalsource/ElectricalSourceDescriptor.java -Creative_block.=创造方块 -Provides_an_ideal_voltage_source\nwithout_energy_or_power_limitation.=无限制的永久能源(创造专用) - -# ./src/main/java/mods/eln/sixnode/electricalsource/ElectricalSourceGui.java -Output_voltage=输出电压 - -# ./src/main/java/mods/eln/sixnode/electricalswitch/ElectricalSwitchDescriptor.java -Can_break_an_electrical_circuit\ninterrupting_the_current.=能破坏导线以中断电流 - -# ./src/main/java/mods/eln/sixnode/electricaltimeout/ElectricalTimeoutDescriptor.java -Upon_application_of_a_high_signal,\nthe_timer_maintains_the_output_high_for\na_configurable_interval._Can_be_re-triggered.=当应用于高强度信号时\n定时器一定输出间隔后会输出高强度信号。\n可以循环进行 - -# ./src/main/java/mods/eln/sixnode/electricaltimeout/ElectricalTimeoutGui.java -Set=设置 -The_time_interval_the\noutput_is_kept_high.=保持高输出间隔 - -# ./src/main/java/mods/eln/sixnode/electricalvumeter/ElectricalVuMeterDescriptor.java -Displays_the_value_of_a_signal.=显示信号的值 - -# ./src/main/java/mods/eln/sixnode/electricalwatch/ElectricalWatchContainer.java -Portable_battery_slot=槽(移动电池) - -# ./src/main/java/mods/eln/sixnode/electricalweathersensor/ElectricalWeatherSensorDescriptor.java -Clear\:_%sV=晴朗\:%sV -Provides_an_electrical_signal\ndepending_the_actual_weather.=提供信号,强度由天气决定 -Rain\:_%sV=阴雨\:%sV -Storm\:_%sV=雷暴\:%sV - -# ./src/main/java/mods/eln/sixnode/electricalwindsensor/ElectricalWindSensorDescriptor.java -Maximum_wind_speed_is_%sm_s=最高风速%sm/s -Provides_an_electrical_signal\ndependant_on_wind_speed.=提供信号,强度由风速决定 -You_can't_place_this_block_on_the_floor_or_the_ceiling=You can't place this block on the floor or the ceiling - -# ./src/main/java/mods/eln/sixnode/electricasensor/ElectricalSensorDescriptor.java -Can_measure_Voltage_Power_Current=可以测量电压/功率/电流 -Measures_electrical_values_on_cables.=测量电缆的电气值 -Measures_voltage_on_cables.=测量导线上的电压 - -# ./src/main/java/mods/eln/sixnode/electricasensor/ElectricalSensorGui.java -Current=电流 -Measured_voltage\ncorresponding\nto_0%_output=测量电压\n对应\n0%输出 -Measured_voltage\ncorresponding\nto_100%_output=测量电压\n对应\n0%输出 -Voltage=电压 - -# ./src/main/java/mods/eln/sixnode/energymeter/EnergyMeterGui.java -Change_password=修改密码 -Counter_Mode=计数模式 -Counts_the_energy_conducted_from\n\u00a74red\u00a7f_to_\u00a71blue\u00a7f.=计算从\\u00a74red\\u00a7f到\\u00a71blue\\u00a7f的能量 -Energy_counter\:_%sJ=能量计算\:%sJ -Enter_new_energy=输入新能源 -Enter_password=输入密码 -Prepay_Mode=预付费模式 -Reset_time_counter=重置计时器 -Set_energy_counter=设置计时器 -Time_counter\:=计时器\: -Try_password=测试密码 -You_can_set_an_initial\namount_of_available_energy.\nWhen_the_counter_arrives_at_0\nthe_contact_will_be_opened.=你可以设置一个初始的可用能量。\n当计时器到达0时,电路联通。 -is_off=关闭了 -is_on=打开着 -value_in_kJ=单位是kJ - -# ./src/main/java/mods/eln/sixnode/groundcable/GroundCableDescriptor.java -Can_be_used_to_set_a_point_of_an\nelectrical_network_to_0V_potential.\nFor_example_to_ground_negative_battery_contacts.=可以用来设置0V的点位\n例如电池负极 -Provides_a_zero_volt_reference.=提供0V电路供参考 - -# ./src/main/java/mods/eln/sixnode/hub/HubDescriptor.java -Allows_crossing_cables\non_one_single_block.=允许导线在一个方块上面交叉 - -# ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketDescriptor.java -Angle\:_%s°_to_%s°=角度\:%s°到%s° -Spot_range\:_%s_blocks=污染范围\:%s个方块 - -# ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketGuiDraw.java -%s_is_not_in_range!=%s不在范围内 -Cable_slot_empty=槽(导线) -Orientation\:_%s°=方向\:%s° -Parallel=并联 -Powered_by_Lamp_Supply=由无线照明控制盒供电 -Powered_by_cable=导线供电 -Serial=串联 -Specify_the_supply_channel=指定供应通道 - -# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyContainer.java -Electrical_cable_slot\nBase_range_is_32_blocks.\nEach_additional_cable\nincreases_range_by_one.=电力导线槽\n基本范围为32格\n每加入一条电线\n增加一格的范围 - -# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyDescriptor.java -Supplies_all_lamps_on_the_channel.=给接入该通道的每个电灯供电 - -# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyGui.java -Power_channel_name=供电通道名称 -Wireless_channel_name=无限通道名称 - -# ./src/main/java/mods/eln/sixnode/modbusrtu/ModbusRtuGui.java -Add=增加 -Channel_name=通道名称 -Modbus_ID=Modbus网关 -Modbus_RTU=Modbus RTU通讯协议 -Station_ID=站点ID -Station_name=站点名称 -Wireless_RX=无线接收 -Wireless_TX=无线发送 - -# ./src/main/java/mods/eln/sixnode/powercapacitorsix/PowerCapacitorSixContainer.java -(Increases_maximum_voltage)=(增大最大电压) - -# ./src/main/java/mods/eln/sixnode/powercapacitorsix/PowerCapacitorSixGui.java - -# ./src/main/java/mods/eln/sixnode/powerinductorsix/PowerInductorSixContainer.java - -# ./src/main/java/mods/eln/sixnode/powerinductorsix/PowerInductorSixGui.java - -# ./src/main/java/mods/eln/sixnode/powersocket/PowerSocketDescriptor.java -Supplies_any_device\nplugged_in_with_energy.=给任何接入的设备提供能量 - -# ./src/main/java/mods/eln/sixnode/powersocket/PowerSocketGui.java -Specify_the_device_to_supply_through_this_socket.=提供给指定的已连接的某设备 - -# ./src/main/java/mods/eln/sixnode/resistor/ResistorContainer.java -(Sets_resistance)=(设置电阻) -Coal_dust_slot=槽(煤粉) - -# ./src/main/java/mods/eln/sixnode/thermalcable/ThermalCableDescriptor.java -High_parallel_resistance\n_\=>_Low_power_dissipation.=并联大阻抗的电阻\n以获得低功耗 -Low_serial_resistance\n_\=>_High_conductivity.=并联小阻抗的电阻\n以获得高功耗 -Parallel_resistance\:_%sK_W=并联\:%sK/W -Serial_resistance\:_%sK_W=串联\:%sK/W - -# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorContainer.java -Cable_slot=槽(导线) - -# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorDescriptor.java -Can_measure\:=可以测量\: -Measures_temperature_of_cables.=测量导线的温度 -Measures_thermal_values_on_cables.=测量导线的温度 -__Temperature_Power_conducted=热/电传导 - -# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorGui.java -Measured_temperature\ncorresponding\nto_0%_output=测量温度\n对应\n0%输出 -Measured_temperature\ncorresponding\nto_100%_output=测量温度\n对应\n0%输出 -Temperature=温度 - -# ./src/main/java/mods/eln/sixnode/tutorialsign/TutorialSignElement.java -No_text_associated_to_this_beacon=没有关联到这个信标的文本 - -# ./src/main/java/mods/eln/sixnode/tutorialsign/TutorialSignGui.java -Set_beacon_name=设置信标名称 - -# ./src/main/java/mods/eln/sixnode/wirelesssignal/rx/WirelessSignalRxGui.java - -# ./src/main/java/mods/eln/transparentnode/FuelGenerator.kt -Nominal_power\:_%s_W=Nominal power\: %s W -Nominal_voltage\:_%s_V=Nominal voltage\: %s V -Produces_electricity_using_fuel.=用燃料来发电 - -# ./src/main/java/mods/eln/transparentnode/LargeRheostat.kt -Nom._Resistance\:_%s=Nom. Resistance\: %s - -# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerContainer.java -Drill_slot=槽(钻头) -Mining_pipe_slot=槽(挖矿管道) -Ore_scanner_slot=槽(矿物扫描仪) - -# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerDescriptor.java -Excavates_on_a_small_radius.\nExtracts_ore_on_a_bigger_radius\:\n10_blocks_radius_after_10_blocks_depth.=小搜索范围挖掘\n挖了10格深后以10个方块为半径挖掘 - -# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerGuiDraw.java -Chest_missing_on_the\nback_of_the_auto_miner!=自动挖矿机背部没有检测到箱子耶 -Halves_speed,_triples_power_draw=Halves speed, triples power draw -Silk_Touch_Off=Silk Touch Off -Silk_Touch_On=Silk Touch On -Silk_touch=Silk touch - -# ./src/main/java/mods/eln/transparentnode/battery/BatteryContainer.java -Overheating_protection=保护装置(过热) -Overvoltage_protection=当压力过大时提供保护 - -# ./src/main/java/mods/eln/transparentnode/battery/BatteryDescriptor.java -Actual_charge\:_%s=实际电量\:%s -Energy_capacity\:_%sJ=能量容量\:%sJ -_charged_at_%s=剩余电量\:%s - -# ./src/main/java/mods/eln/transparentnode/battery/BatteryGuiDraw.java -Charge=充电 -Charged=充满了 -Discharge=放点 -Energy\:=能量\: -Energy\:_%s=能量\:%s -Life\:=寿命\: -No_charge=没有充电 -Power_in\:=输入能量\: -Power_out\:=输出能量 - -# ./src/main/java/mods/eln/transparentnode/eggincubator/EggIncubatorContainer.java -Egg_slot=槽(蛋) - -# ./src/main/java/mods/eln/transparentnode/electricalantennarx/ElectricalAntennaRxDescriptor.java -Wireless_energy_receiver.=能源无线接收 - -# ./src/main/java/mods/eln/transparentnode/electricalantennatx/ElectricalAntennaTxDescriptor.java -Efficiency\:_%s_up_to_%s=效率\:%s至%s -Wireless_energy_transmitter.=能源无线发送 - -# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceContainer.java -Heating_corp_slot=槽(加热核心) - -# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceDescriptor.java -Similar_to_a_vanilla_furnace,\nbut_heats_with_electricity.=跟一个正常的熔炉一样,只是用电驱动 - -# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceGuiDraw.java -Auto_shutdown=自动关闭 -Manual_shutdown=手动关闭 -Set_point\:_%s°C=设置温度\:%s°C - -# ./src/main/java/mods/eln/transparentnode/electricalmachine/ElectricalMachineDescriptor.java -Cost=价格 - -# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceContainer.java -Combustion_chamber_slot=槽(燃烧室) -Fuel_slot=槽(燃料) - -# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceDescriptor.java -Generates_heat_when_supplied_with_fuel.=提供燃料的时候产生热 - -# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceGuiDraw.java -Control_gauge_at_%s=操作规范\:%s -Decline_fuel=减少燃料 -External_control=手动控制 -Internal_control=自动控制 -Take_fuel=取走燃料 - -# ./src/main/java/mods/eln/transparentnode/powercapacitor/PowerCapacitorContainer.java -(Increases_maximal_voltage)=(增大最大电压) - -# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelContainer.java -Solar_tracker_slot=槽(太阳能跟踪器) - -# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelDescriptor.java -Can_be_geared_towards_the_sun.=可以使太阳能板直指太阳以获得更多的能源 -Max._power\:_%sW=最大功率\:%sW -Max._voltage\:_%sV=最大电压\:%sV -Produces_power_from_solar_radiation.=从太阳辐射获取能量 - -# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPannelGuiDraw.java -It_is_night=晚上了 -Solar_panel_angle\:_%s°=太阳能电板角度\:%s° -Sun_angle\:_%s°=太阳角度\:%s° - -# ./src/main/java/mods/eln/transparentnode/teleporter/TeleporterGui.java -Destination_transporter=传送至目的地 -Power_consumption\:=消耗功率\: -Power_consumption\:_%sW=使用功率\:%sW -Required_energy\:_%sJ=需要功率\:%sJ -Start=开始 -Transporter_name=传送机名称 - -# ./src/main/java/mods/eln/transparentnode/thermaldissipatoractive/ThermalDissipatorActiveDescriptor.java -Fan_cooling_power\:_%sW=风冷功率\:%sW -Fan_power_consumption\:_%sW=风扇功率\:%sW -Fan_voltage\:_%sV=风扇电压\:%sV - -# ./src/main/java/mods/eln/transparentnode/transformer/TransformerDescriptor.java -The_voltage_ratio_is_proportional\nto_the_cable_stacks_count_ratio.=电压与导线的数目成正比 -Transforms_an_input_voltage_to\nan_output_voltage.=将输入电压转换为输出电压 - -# ./src/main/java/mods/eln/transparentnode/turbine/TurbineDescriptor.java -Generates_electricity_using_heat.=用热能来发电 -Temperature_difference\:_%s°C=温度差\:%s°C - -# ./src/main/java/mods/eln/transparentnode/turret/TurretDescriptor.java -CAUTION\:_Cables_can_get_quite_hot!=警告\:导线过热 -Laser_charge_power\:_%sW...%skW=激光充电功率\:%sW...%skW -Scans_for_entities_and_shoots_if_the\nentity_matches_the_configurable_filter_criteria.=范围内如果找到的实体与过滤器一致\n那么开始攻击该实体直至实体从范围内移除 -Standby_power\:_%sW=备用功率\:%sW - -# ./src/main/java/mods/eln/transparentnode/turret/TurretGui.java -Attack\:=攻击\: -Do_not_attack\:=不攻击\: -Recharge_power\:=放电功率 - -# ./src/main/java/mods/eln/transparentnode/waterturbine/WaterTurbineDescriptor.java -Generates_energy_using_water_stream.=用流动水来发电 -No_place_for_water_turbine!=没有足够的空间供水力发电机工作 - -# ./src/main/java/mods/eln/transparentnode/windturbine/WindTurbineDescriptor.java -Front\:_%s=前面\:%s -Generates_energy_from_wind.=用风来发电 -Left_Right\:_%s=左/右\:%s -Up_Down\:_%s=上/下\:%s -Wind_area\:=风区 - -# ./src/main/java/mods/eln/wiki/Data.java -Energy=功率 -Light=亮度 -Machine=机器 -Ore=kuang'shi -Portable=便携式 -Resource=源 -Signal=信号 -Thermal=热能 -Upgrade=升级 -Utilities=公用 -Wiring=布线 - -# ./src/main/java/mods/eln/wiki/Default.java -Previous=过去的 - -# ./src/main/java/mods/eln/wiki/ItemDefault.java -Can_be_used_to_craft\:=可以用来合成\: -Cannot_be_crafted!=不能合成而得\! -Cost_%sJ=消耗能量\:%sJ -Created_by\:=制作原料\: -Is_not_a_crafting_material!=不能合成其他物品\! -Recipe\:=合成表\: - -# Appearing in multiple source files -(Increases_capacity)=(增大容量) -(Increases_inductance)=(增大电感) -Actual\:_%s°C=实际温度\:%s°C -Biggest=最大的 -Booster_slot=槽(增压器) -Can_create\:=可以合成\: -Capacity\:_%sF=容量\:%sF -Charge_power\:_%sW=充电功率\:%sW -Connected=已连接 -Cooling_power\:_%sW=冷却功率\:%sW -Copper_cable_slot=槽(铜导线) -Dielectric_slot=槽(绝缘体) -Discharge_power\:_%sW=输出功率\:%sW -Electrical_cable_slot=槽(电力导线) -Entity_filter_slot=槽(生物过滤器) -Ferromagnetic_core_slot=槽(磁能核心) -Has_a_signal_output.=有一个信号输出 -Inductance\:_%sH=电感\:%sH -Internal_resistance\:_%sΩ=内阻\:%sΩ -Is_off=关 -Is_on=开 -Max._temperature\:_%s°C=最高温度\:%s°C -Measured_value\ncorresponding\nto_0%_output=测量zhi\n对应\n0%输出 -Measured_value\ncorresponding\nto_100%_output=测量zhi\n对应\n0%输出 -Nominal\:=理论\: -Nominal_power\:_%sW=理论功率\:%sW -Nominal_usage\:=理论使用\: -Nominal_voltage\:_%sV=理论电压\:%sV -Not_connected=未连接 -Not_enough_space_for_this_block=没有足够空间放置这个方块 -Power=功率 -Power\:_%sW=功率\:%sW -Range\:_%s_blocks=范围\:%s个方块 -Redstone_slot=槽(红石) -Regulator_slot=槽(校准器) -Reset=重置 -Resistance\:_%sΩ=电阻\:%sΩ -Smallest=最小的 -Specify_the_channel=指定通道 -Stored_energy\:_%sJ_(%s)=储存的能量\:%sJ(%s) -Temperature\:_%s°C=温度\:%s°C -Temperature_gauge=温度计 -Thermal_isolator_slot=槽(隔热器) -Toggle=切换 -Toggle_switch=切换开关 -Toggles_the_output_each_time\nan_emitter's_value_rises.\nUseful_to_allow_multiple_buttons\nto_control_the_same_light.=按按钮时增大输出\n在多个开关控制同一灯泡时很有用 -Used_to_cool_down_turbines.=用来冷却涡轮 -Uses_the_biggest\nvalue_on_the_channel.=使用通道上最高的值 -Uses_the_smallest\nvalue_on_the_channel.=使用通道上最低的值 -Validate=证实 -Voltage\:_%sV=电压\:%sV -You_can't_place_this_block_at_this_side=不能把方块放在这一边哟~ +eln:# +eln: +eln:# ./src/main/java/mods/eln/Achievements.java +eln:Electrical_Age_[WIP]=电力时代Electrical Age\n(translate by KLsz and polish by aneBlack) +eln:achievement.craft_50v_macerator=初入粉碎之法 +eln:achievement.craft_50v_macerator.desc=50V的粉碎工艺! +eln:achievement.open_guide=学会内置Wiki +eln:achievement.open_guide.desc=内置Wiki的能量,超乎你想象 +eln: +eln:# ./src/main/java/mods/eln/Eln.java +eln:10A_Diode.name=二极管(10A) +eln:200V_Active_Thermal_Dissipator.name=散热器(T\:200W+1.2kW,200°C;E\:200V,60W) +eln:200V_Battery_Charger.name=电池充电器(200V,1kW) +eln:200V_Compressor.name=压缩机(200V) +eln:200V_Condensator.name=电容(200V) +eln:200V_Copper_Heating_Corp.name=铜电热丝(200V,600W) +eln:200V_Economic_Light_Bulb.name=节能灯泡(200V,15W) +eln:200V_Farming_Lamp.name=暖箱灯泡(200V,120W) +eln:200V_Fuel_Generator.name=200V Fuel Generator +eln:200V_Incandescent_Light_Bulb.name=白炽灯泡(200V,30W) +eln:200V_Iron_Heating_Corp.name=铁电热丝(200V,900W) +eln:200V_LED_Bulb.name=200V LED Bulb +eln:200V_Macerator.name=粉碎机(200V,400W) +eln:200V_Magnetizer.name=磁化器(200V,400W) +eln:200V_Plate_Machine.name=冷轧机(200V,400W) +eln:200V_Power_Socket.name=能源接口(200V) +eln:200V_Tungsten_Heating_Corp.name=钨电热丝(200V,1.2kW) +eln:200V_Turbine.name=发电机(温差,200V,500W,Δ350°C) +eln:25A_Diode.name=二极管(25A) +eln:50V_Battery_Charger.name=电池充电器(50V,400W) +eln:50V_Carbon_Incandescent_Light_Bulb.name=碳丝灯泡(50V,25W) +eln:50V_Compressor.name=压缩机(50V) +eln:50V_Condensator.name=电容(50V) +eln:50V_Copper_Heating_Corp.name=铜电热丝(50V,250W) +eln:50V_Economic_Light_Bulb.name=节能灯泡(50V,15W) +eln:50V_Egg_Incubator.name=鸡蛋孵化器(50V) +eln:50V_Farming_Lamp.name=暖箱灯泡(50V,120W) +eln:50V_Fuel_Generator.name=50V Fuel Generator +eln:50V_Incandescent_Light_Bulb.name=白炽灯泡(50V,30W) +eln:50V_Iron_Heating_Corp.name=铁电热丝(50V,375W) +eln:50V_LED_Bulb.name=50V LED Bulb +eln:50V_Macerator.name=粉碎机(50V,200W) +eln:50V_Magnetizer.name=磁化机(50V,200W) +eln:50V_Plate_Machine.name=冷轧机(50V,200W) +eln:50V_Power_Socket.name=能源接口(50V) +eln:50V_Tungsten_Heating_Corp.name=钨电热丝(50V,500W) +eln:50V_Turbine.name=发电机(温差,50V,300W,Δ250°C) +eln:800V_Defence_Turret.name=防御塔(800V,min-50W,max-1kW) +eln:AND_Chip.name=AND Chip +eln:Advanced_Chip.name=芯片(高级) +eln:Advanced_Electrical_Motor.name=电机(高级) +eln:Advanced_Energy_Meter.name=电能表(高级) +eln:Advanced_Machine_Block.name=机器方块(高级) +eln:Advanced_Magnet.name=磁铁(高级) +eln:AllMeter.name=通用表 +eln:Alloy_Dust.name=钨钢合金粉 +eln:Alloy_Ingot.name=钨钢合金锭 +eln:Alloy_Plate.name=钨钢合金板 +eln:Analog_Watch.name=模拟时钟 +eln:Analog_vuMeter.name=模拟电压表(信号) +eln:Analogic_Regulator.name=模拟温控组件 +eln:Animal_Filter.name=动物筛选组件 +eln:Auto_Miner.name=自动挖矿机(800V) +eln:Average_Electrical_Drill.name=电钻(1kW,5") +eln:Average_Ferromagnetic_Core.name=磁能核心(4.0) +eln:Basic_Magnet.name=磁铁(基础) +eln:Black_Brush.name=刷子(黑) +eln:Blue_Brush.name=刷子(蓝) +eln:Brown_Brush.name=刷子(棕) +eln:Capacity_Oriented_Battery.name=电源(容量更大,12V,125W,240kJ) +eln:Cheap_Chip.name=芯片(基础) +eln:Cheap_Electrical_Drill.name=电钻(500W,8") +eln:Cheap_Ferromagnetic_Core.name=磁能核心(10.0) +eln:Cinnabar_Dust.name=朱砂粉 +eln:Cinnabar_Ore.name=朱砂矿石 +eln:Coal_Dust.name=煤粉 +eln:Coal_Plate.name=煤板 +eln:Combustion_Chamber.name=炉膛组件 +eln:Copper_Cable.name=导线(铜) +eln:Copper_Dust.name=铜粉 +eln:Copper_Ingot.name=铜锭 +eln:Copper_Ore.name=铜矿 +eln:Copper_Plate.name=铜板 +eln:Copper_Thermal_Cable.name=导热管(铜,1k°C) +eln:Cost_Oriented_Battery.name=电源(更廉价,50V,250W,60KJ) +eln:Current_Oriented_Battery.name=电源(电流更大,50V,1000W,40KJ) +eln:Cyan_Brush.name=刷子(青) +eln:D_Flip_Flop_Chip.name=D Flip Flop Chip +eln:Data_Logger.name=示波器(台式,信号) +eln:Data_Logger_Print.name=示波器(打印,信号) +eln:Dielectric.name=绝缘体 +eln:Digital_Watch.name=数字时钟 +eln:Electrical_Anemometer_Sensor.name=传感器(风力) +eln:Electrical_Breaker.name=断路器 +eln:Electrical_Daylight_Sensor.name=感应器(阳光) +eln:Electrical_Entity_Sensor.name=感应器(实体) +eln:Electrical_Fire_Detector.name=电气火花传感器 +eln:Electrical_Furnace.name=电炉 +eln:Electrical_Light_Sensor.name=感应器(光) +eln:Electrical_Motor.name=电机 +eln:Electrical_Probe.name=电力传感器 +eln:Electrical_Probe_Chip.name=芯片(电力传感器) +eln:Electrical_Source.name=电源 +eln:Electrical_Timer.name=断路延时器 +eln:Electrical_Weather_Sensor.name=传感器(天气) +eln:Electrical_age_wrench,\nCan_be_used_to_turn\nsmall_wall_blocks=扳手用来翻转一些小方块 +eln:Energy_Meter.name=电能表 +eln:Experimental_Transporter.name=传送机 +eln:Fast_Electrical_Drill.name=电钻(2kW,3") +eln:Ferrite_Ingot.name=铁氧体锭 +eln:Flat_Lamp_Socket.name=灯座(扁平) +eln:Fluorescent_Lamp_Socket.name=灯座(荧光) +eln:Generator.name=Generator +eln:Gold_Dust.name=金粉 +eln:Gold_Plate.name=金板 +eln:Gray_Brush.name=刷子(灰) +eln:Green_Brush.name=刷子(绿) +eln:Ground_Cable.name=导线(接地) +eln:High_Power_Receiver_Antenna.name=天线(接收)(800V,2kW) +eln:High_Power_Transmitter_Antenna.name=天线(发射)(800V,2kW,300m) +eln:High_Voltage_Cable.name=导线(800V,5kW) +eln:High_Voltage_Relay.name=继电器(800V) +eln:High_Voltage_Switch.name=开关(800V) +eln:Hub.name=集线器 +eln:Industrial_Data_Logger.name=示波器(工业,信号) +eln:Iron_Cable.name=导线(铁) +eln:Iron_Dust.name=铁粉 +eln:Iron_Plate.name=铁板 +eln:JK_Flip_Flop_Chip.name=JK Flip Flop Chip +eln:LED_vuMeter.name=LED指示灯 +eln:Lamp_Socket_A.name=灯座(圆盘式) +eln:Lamp_Socket_B_Projector.name=灯座(圆盘式,高级) +eln:Lamp_Supply.name=无线照明控制盒 +eln:Large_Rheostat.name=Large Rheostat +eln:Lead_Dust.name=铅粉 +eln:Lead_Ingot.name=铅锭 +eln:Lead_Ore.name=铅矿石 +eln:Lead_Plate.name=铅板 +eln:Life_Oriented_Battery.name=电源(生命更长,50V,250W,60KJ) +eln:Light_Blue_Brush.name=刷子(浅蓝) +eln:Lime_Brush.name=刷子(黄绿) +eln:Long_Suspended_Lamp_Socket.name=灯座(吊挂,长) +eln:Low_Power_Receiver_Antenna.name=天线(接收)(50V,250W) +eln:Low_Power_Transmitter_Antenna.name=天线(发射)(50V,250W,200m) +eln:Low_Voltage_Cable.name=导线(50V,1kW) +eln:Low_Voltage_Relay.name=继电器(50V) +eln:Low_Voltage_Switch.name=开关(50V) +eln:Machine_Block.name=机器方块 +eln:Machine_Booster.name=增压器 +eln:Magenta_Brush.name=刷子(品红) +eln:Medium_Power_Receiver_Antenna.name=天线(接收)(200V,1kW) +eln:Medium_Power_Transmitter_Antenna.name=天线(发射)(200V,1kW,250m) +eln:Medium_Voltage_Cable.name=导线(200V,2kW) +eln:Medium_Voltage_Relay.name=继电器(200V) +eln:Medium_Voltage_Switch.name=开关(200V) +eln:Mercury.name=汞 +eln:Mining_Pipe.name=采矿管道 +eln:Modbus_RTU.name=Modbus RTU通讯协议 +eln:Modern_Data_Logger.name=示波器(薄屏,信号) +eln:Monster_Filter.name=怪物筛选组件 +eln:MultiMeter.name=万用表 +eln:NAND_Chip.name=NAND Chip +eln:NOR_Chip.name=NOR Chip +eln:NOT_Chip.name=NOT Chip +eln:Nuclear_Alarm.name=警报(核) +eln:OR_Chip.name=OR Chip +eln:On_OFF_Regulator_10_Percent.name=开/关温控10% +eln:On_OFF_Regulator_1_Percent.name=开/关温控1% +eln:Optimal_Ferromagnetic_Core.name=磁能核心(1.0) +eln:Orange_Brush.name=刷子(橙) +eln:Ore_Scanner.name=矿物扫描仪 +eln:Oscillator_Chip.name=Oscillator Chip +eln:Overheating_Protection.name=保护装置(过热) +eln:Overvoltage_Protection.name=保护装置(过压) +eln:PAL_Chip.name=PAL Chip +eln:Pink_Brush.name=刷子(粉) +eln:Player_Filter.name=玩家筛选组件 +eln:Portable_Battery.name=移动电池 +eln:Portable_Battery_Pack.name=移动电池包 +eln:Portable_Condensator.name=移动电容 +eln:Portable_Condensator_Pack.name=移动电容包 +eln:Portable_Electrical_Axe.name=电斧 +eln:Portable_Electrical_Mining_Drill.name=电钻 +eln:Power_Capacitor.name=电容 +eln:Power_Inductor.name=电感 +eln:Power_Resistor.name=电阻 +eln:Power_capacitor.name=电容 +eln:Power_inductor.name=电感 +eln:Purple_Brush.name=刷子(紫) +eln:Red_Brush.name=刷子(红) +eln:Redstone-to-Voltage_Converter.name=转换器(红石→电) +eln:Rheostat.name=变阻器 +eln:Robust_Lamp_Socket.name=灯座(小) +eln:Rubber.name=橡胶 +eln:Schmitt_Trigger_Chip.name=Schmitt Trigger Chip +eln:Sconce_Lamp_Socket.name=灯座(壁挂) +eln:Signal_20H_inductor.name=电感(20H)(信号) +eln:Signal_Antenna.name=天线(信号) +eln:Signal_Button.name=按钮(信号) +eln:Signal_Cable.name=导线(信号) +eln:Signal_Diode.name=二极管(信号) +eln:Signal_Processor.name=信号处理器 +eln:Signal_Relay.name=继电器(信号) +eln:Signal_Source.name=信号源 +eln:Signal_Switch.name=开关(信号) +eln:Signal_Switch_with_LED.name=开关(信号)(LED) +eln:Signal_Trimmer.name=信号发生器 +eln:Silicon_Dust.name=硅粉 +eln:Silicon_Ingot.name=硅锭 +eln:Silicon_Plate.name=硅板 +eln:Silver_Brush.name=刷子(银) +eln:Simple_Lamp_Socket.name=灯座(普通) +eln:Single-use_Battery.name=电源(一次性,50V,500W,120kJ) +eln:Small_200V_Copper_Heating_Corp.name=加热核心(铜,200V,小) +eln:Small_200V_Iron_Heating_Corp.name=加热核心(铁,200V,小) +eln:Small_200V_Tungsten_Heating_Corp.name=加热核心(钨,200V,小) +eln:Small_50V_Carbon_Incandescent_Light_Bulb.name=小型碳丝灯泡(50V) +eln:Small_50V_Copper_Heating_Corp.name=加热核心(铜,50V,小) +eln:Small_50V_Economic_Light_Bulb.name=小型节能灯泡(50V) +eln:Small_50V_Incandescent_Light_Bulb.name=小型白炽灯泡(50V) +eln:Small_50V_Iron_Heating_Corp.name=加热核心(铁,50V,小) +eln:Small_50V_Tungsten_Heating_Corp.name=加热核心(钨,50V,小) +eln:Small_Active_Thermal_Dissipator.name=散热器(T\:200W+800W,150°C;E\:50V,50W) +eln:Small_Flashlight.name=手电筒 +eln:Small_Passive_Thermal_Dissipator.name=散热器(250W,220°C) +eln:Small_Rotating_Solar_Panel.name=太阳能电池板(追踪,14.8V,65W) +eln:Small_Solar_Panel.name=太阳能电板(14.8V,65W) +eln:Solar_Tracker.name=太阳追踪组件 +eln:Standard_Alarm.name=警报(基础) +eln:Steam_Turbine.name=Steam Turbine +eln:Stone_Heat_Furnace.name=燃烧器(800°C,1kW) +eln:Street_Light.name=灯座(路灯) +eln:Suspended_Lamp_Socket.name=灯座(吊挂) +eln:Temperature_Probe.name=温度传感器 +eln:Thermal_Probe.name=热能传感器 +eln:Thermal_Probe_Chip.name=芯片(热能传感器) +eln:Thermistor.name=热敏电阻 +eln:ThermoMeter.name=温度计 +eln:Transformer.name=变压器 +eln:Tree_Resin.name=树脂 +eln:Tree_Resin_Collector.name=树脂收集器 +eln:Tungsten_Cable.name=导线(钨) +eln:Tungsten_Dust.name=钨粉 +eln:Tungsten_Ingot.name=钨锭 +eln:Tungsten_Ore.name=钨矿石 +eln:Tutorial_Sign.name=指示标志 +eln:Very_High_Voltage_Cable.name=导线(3200V) +eln:Very_High_Voltage_Relay.name=继电器(3200V) +eln:Very_High_Voltage_Switch.name=开关(3200V) +eln:Voltage-to-Redstone_Converter.name=转换器(电→红石) +eln:Voltage_Oriented_Battery.name=电源(电压更大,200V,250W) +eln:Voltage_Probe.name=电压传感器 +eln:Water_Turbine.name=发电机(水力,50V,30W) +eln:Weak_50V_Battery_Charger.name=电池充电器(50V,200W) +eln:White_Brush.name=刷子(白) +eln:Wind_Turbine.name=发电机(风力,59V,160W) +eln:Wireless_Analyser.name=监测仪(无线) +eln:Wireless_Button.name=按钮(无线) +eln:Wireless_Signal_Receiver.name=信号接收器(无线) +eln:Wireless_Signal_Repeater.name=信号加强器(无线) +eln:Wireless_Signal_Transmitter.name=信号发射器(无线) +eln:Wireless_Switch.name=开关(无线) +eln:Wrench.name=扳手 +eln:X-Ray_Scanner.name=扫描仪 +eln:XNOR_Chip.name=XNOR Chip +eln:XOR_Chip.name=XOR Chip +eln:Yellow_Brush.name=刷子(黄) +eln:entity.EAReplicator.name=复制机 +eln:item.Copper Axe.name\=铜镐 +eln:item.Copper Axe.name\=铜镐 +eln:item.Copper Axe.name\=铜镐 +eln:item.Copper Axe.name\=铜镐 +eln:item.Copper Axe.name\=铜镐 +eln:item.Copper Axe.name\=铜镐 +eln:item.Copper Axe.name\=铜镐 +eln:item.Copper Axe.name\=铜镐 +eln:item.Copper Axe.name\=铜镐 +eln:item.E-Coal Boots.name\=EC鞋 +eln:item.E-Coal Boots.name\=EC鞋 +eln:item.E-Coal Boots.name\=EC鞋 +eln:item.E-Coal Boots.name\=EC鞋 +eln:itemGroup.Eln=电力时代 +eln:mod.meta.desc=你的基地,因使用电力产生红热的光芒\! +eln:tile.eln.ElnProbe.name=电力时代电脑传感器 +eln:tile.eln.EnergyConverterElnToOtherHVUBlock.name=电力时代能源(800V)转至其他能源 +eln:tile.eln.EnergyConverterElnToOtherLVUBlock.name=电力时代能源(50V)转至其他能源 +eln:tile.eln.EnergyConverterElnToOtherMVUBlock.name=电力时代能源(200V)转至其他能源 +eln: +eln:# ./src/main/java/mods/eln/i18n/I18N.java +eln:You_have_%s_lives_left=你还剩%s条生命 +eln: +eln:# ./src/main/java/mods/eln/item/BrushDescriptor.java +eln:Brush_is_dry=刷子干了 +eln:Can_paint_%s_blocks=可以继续漆%s个方块 +eln: +eln:# ./src/main/java/mods/eln/item/CombustionChamber.java +eln:Upgrade_for_the_Stone_Heat_Furnace.=你的发电机升级啦~ +eln: +eln:# ./src/main/java/mods/eln/item/ElectricalDrillDescriptor.java +eln:Energy_per_operation\:_%sJ=启动需要能量\:%sJ +eln:Time_per_operation\:_%ss=启动所需时间\:%ss +eln: +eln:# ./src/main/java/mods/eln/item/FerromagneticCoreDescriptor.java +eln:Cable_loss_factor\:_%s=导线损耗系数\:%s +eln: +eln:# ./src/main/java/mods/eln/item/HeatingCorpElement.java +eln: +eln:# ./src/main/java/mods/eln/item/LampDescriptor.java +eln:Bad=差 +eln:Condition\:=条件\: +eln:End_of_life=生命就此终结 +eln:Good=好 +eln:New=新 +eln:Nominal_lifetime\:_%sh=理论寿命\:%sh +eln:Technology\:_%s=科技\:%s +eln:Used=旧 +eln: +eln:# ./src/main/java/mods/eln/item/LampSlot.java +eln:Lamp_slot=槽(灯) +eln: +eln:# ./src/main/java/mods/eln/item/OverHeatingProtectionDescriptor.java +eln:Useful_to_prevent_overheating\nof_Batteries=有效防止电源过热 +eln: +eln:# ./src/main/java/mods/eln/item/OverVoltageProtectionDescriptor.java +eln:Useful_to_prevent_over-voltage\nof_Batteries=有效防止电源过压 +eln: +eln:# ./src/main/java/mods/eln/item/SolarTrackerDescriptor.java +eln:Solar_panel_upgrade=太阳能电板升级 +eln: +eln:# ./src/main/java/mods/eln/item/electricalitem/BatteryItem.java +eln: +eln:# ./src/main/java/mods/eln/item/electricalitem/ElectricalLampItem.java +eln:Off=关 +eln:On=开 +eln:State\:=状态\: +eln:Stored_Energy\:_%sJ_(%s)=储存的能量\:%sJ(%s) +eln: +eln:# ./src/main/java/mods/eln/item/regulator/RegulatorSlot.java +eln: +eln:# ./src/main/java/mods/eln/misc/UtilsClient.java +eln:Hold_shift=请戳Shift +eln: +eln:# ./src/main/java/mods/eln/misc/Version.java +eln:mod.name=电力时代 +eln: +eln:# ./src/main/java/mods/eln/node/six/SixNodeDescriptor.java +eln: +eln:# ./src/main/java/mods/eln/simplenode/energyconverter/EnergyConverterElnToOtherGui.java +eln:Input_power_is_limited_to_%sW=输入功率限制\:%sW +eln: +eln:# ./src/main/java/mods/eln/sixnode/LogicGate.kt +eln:_O\:_= O\: +eln: +eln:# ./src/main/java/mods/eln/sixnode/TreeResinCollector/TreeResinCollectorDescriptor.java +eln:Produces_Tree_Resin_over\ntime_when_put_on_a_tree.=放在树上即可生产树脂 +eln:This_block_can_only_be_placed_on_the_side_of_a_tree!=这只能在一棵树的侧面防止啊 +eln: +eln:# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerContainer.java +eln:Battery_slot=槽(电池) +eln: +eln:# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerDescriptor.java +eln:Can_be_used_to_recharge\nelectrical_items_like\:\nFlash_Light,_X-Ray_scanner\nand_Portable_Battery_...=可以用来给电力时代的东西充电\n例如移动电池,手电筒,扫描仪 +eln: +eln:# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerGui.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/diode/DiodeDescriptor.java +eln:Electrical_current_can_only\nflow_through_the_diode\nfrom_anode_to_cathode=电流只能从二极管的一端流到另一端 +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalalarm/ElectricalAlarmDescriptor.java +eln:= +eln:Emits_an_acoustic_alarm_if\nthe_input_signal_is_high=当输入信号高的时候\n发出巨大的警报声 +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalalarm/ElectricalAlarmGui.java +eln:Sound_is_muted=声音已静音 +eln:Sound_is_not_muted=声音已开启 +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerContainer.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerDescriptor.java +eln:Protects_electrical_components\nOpens_contact_if\:\n__-_Voltage_exceeds_a_certain_level\n-_Current_exceeds_the_cable_limit=保护电路\n如果电压过大或电流过载都会打开 +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerGui.java +eln:Maximum_voltage_before_cutting_off=切断前最大电压 +eln:Minimum_voltage_before_cutting_off=切断前最小电压 +eln:Switch_is_off=开关关闭 +eln:Switch_is_on=开关打开 +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalcable/ElectricalCableDescriptor.java +eln:A_signal_is_electrical_information\nwhich_must_be_between_0V_and_%sV=信号用来传递电气信息\n必须要在0V和%sV之间 +eln:Cable_is_adapted_to_conduct\nelectrical_signals.=该电缆适用于传输电子信号 +eln:Current\:_%sA=电流\:%sA +eln:Not_adapted_to_transport_power.=没有适配到传送功率 +eln:Save_usage\:=保存用法\: +eln:Serial_resistance\:_%sΩ=串联电阻\:%sΩ +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerDescriptor.java +eln:It_can_store_up_to_256_points.=它最多可以储存256个单位 +eln:Measures_the_voltage_of_an\nelectrical_signal_and_plots\nthe_data_in_real_time.=测量电子信号的实时电压 +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerGui.java +eln:Back_to_display=回到显示 +eln:Configuration=配置 +eln:Current_[A]=电流(A) +eln:Energy_[J]=能量(J) +eln:Percent_[-]%=百分比(%) +eln:Power_[W]=功率(W) +eln:Print=打印 +eln:Sampling_period=采样周期 +eln:Temp._[*C]=温度(°C) +eln:Voltage_[V]=电压(V) +eln:Y-axis_max=Y轴最大值 +eln:Y-axis_min=Y轴最小值 +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorContainer.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorDescriptor.java +eln:Output_voltage_increases\nif_entities_are_moving_around.=如果有生物在周围移动那么增大输出电压 +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalfiredetector/ElectricalFireDetectorDescriptor.java +eln:Output_voltage_increases\nif_a_fire_has_been_detected.=如果周围有火那么增大输出电压 +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceDescriptor.java +eln:Provides_configurable_signal\nvoltage.=提供可调整的信号电压 +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceGui.java +eln:Output_at_%s=输出\:%s +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricallightsensor/ElectricalLightSensorDescriptor.java +eln:0V_at_night,_%sV_at_noon.=夜间0V,午时%sV +eln:Provides_an_electrical_voltage\nin_the_presence_of_light.=接受到光的时候提供电压 +eln:Provides_an_electrical_voltage\nwhich_is_proportional_to\nthe_intensity_of_daylight.=接收到日光的时候提供电压\n电压与日光强度成正比 +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathContainer.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathDescriptor.java +eln:Applicable_boolean_operators\:=适用于布尔(boolean)算子\: +eln:Applicable_functions\:=适用于\: +eln:Applicable_mathematical_operators\:=适用于数学算子 +eln:Calculates_an_output_signal_from\n3_inputs_(A,_B,_C)_using_an_equation.=用3个输入(A,B,C)值\n进行函数计算\n然后输出信号 +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathGui.java +eln:%s_Redstone(s)_required=需要%s个红石粉 +eln:Equation_required!=需要方程式 +eln:Inputs_are=输入是 +eln:Invalid_equation!=无效方程式 +eln:Output_voltage_formula=输出电压公式 +eln:Waiting_for_completion...=请稍后... +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalredstoneinput/ElectricalRedstoneInputDescriptor.java +eln:Converts_Redstone_signal\nto_an_electrical_voltage.=把红石信号转换为电压 +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalredstoneoutput/ElectricalRedstoneOutputDescriptor.java +eln:Converts_electrical_voltage\ninto_a_Redstone_signal.=把电压转换为红石信号 +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalrelay/ElectricalRelayDescriptor.java +eln:A_relay_is_an_electrical\ncontact_that_conducts_electric\ncurrent_or_not,_depending\nthe_actual_input_signal_voltage.=继电器是根据信号电压的有无\n控制电路闭合断开的仪器 +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalrelay/ElectricalRelayGui.java +eln:Normally_closed=默认关闭 +eln:Normally_open=默认打开 +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalsource/ElectricalSourceDescriptor.java +eln:Creative_block.=创造方块 +eln:Provides_an_ideal_voltage_source\nwithout_energy_or_power_limitation.=无限制的永久能源(创造专用) +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalsource/ElectricalSourceGui.java +eln:Output_voltage=输出电压 +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalswitch/ElectricalSwitchDescriptor.java +eln:Can_break_an_electrical_circuit\ninterrupting_the_current.=能破坏导线以中断电流 +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricaltimeout/ElectricalTimeoutDescriptor.java +eln:Upon_application_of_a_high_signal,\nthe_timer_maintains_the_output_high_for\na_configurable_interval._Can_be_re-triggered.=当应用于高强度信号时\n定时器一定输出间隔后会输出高强度信号。\n可以循环进行 +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricaltimeout/ElectricalTimeoutGui.java +eln:Set=设置 +eln:The_time_interval_the\noutput_is_kept_high.=保持高输出间隔 +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalvumeter/ElectricalVuMeterDescriptor.java +eln:Displays_the_value_of_a_signal.=显示信号的值 +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalwatch/ElectricalWatchContainer.java +eln:Portable_battery_slot=槽(移动电池) +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalweathersensor/ElectricalWeatherSensorDescriptor.java +eln:Clear\:_%sV=晴朗\:%sV +eln:Provides_an_electrical_signal\ndepending_the_actual_weather.=提供信号,强度由天气决定 +eln:Rain\:_%sV=阴雨\:%sV +eln:Storm\:_%sV=雷暴\:%sV +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalwindsensor/ElectricalWindSensorDescriptor.java +eln:Maximum_wind_speed_is_%sm_s=最高风速%sm/s +eln:Provides_an_electrical_signal\ndependant_on_wind_speed.=提供信号,强度由风速决定 +eln:You_can't_place_this_block_on_the_floor_or_the_ceiling=You can't place this block on the floor or the ceiling +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricasensor/ElectricalSensorDescriptor.java +eln:Can_measure_Voltage_Power_Current=可以测量电压/功率/电流 +eln:Measures_electrical_values_on_cables.=测量电缆的电气值 +eln:Measures_voltage_on_cables.=测量导线上的电压 +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricasensor/ElectricalSensorGui.java +eln:Current=电流 +eln:Measured_voltage\ncorresponding\nto_0%_output=测量电压\n对应\n0%输出 +eln:Measured_voltage\ncorresponding\nto_100%_output=测量电压\n对应\n0%输出 +eln:Voltage=电压 +eln: +eln:# ./src/main/java/mods/eln/sixnode/energymeter/EnergyMeterGui.java +eln:Change_password=修改密码 +eln:Counter_Mode=计数模式 +eln:Counts_the_energy_conducted_from\n\u00a74red\u00a7f_to_\u00a71blue\u00a7f.=计算从\\u00a74red\\u00a7f到\\u00a71blue\\u00a7f的能量 +eln:Energy_counter\:_%sJ=能量计算\:%sJ +eln:Enter_new_energy=输入新能源 +eln:Enter_password=输入密码 +eln:Prepay_Mode=预付费模式 +eln:Reset_time_counter=重置计时器 +eln:Set_energy_counter=设置计时器 +eln:Time_counter\:=计时器\: +eln:Try_password=测试密码 +eln:You_can_set_an_initial\namount_of_available_energy.\nWhen_the_counter_arrives_at_0\nthe_contact_will_be_opened.=你可以设置一个初始的可用能量。\n当计时器到达0时,电路联通。 +eln:is_off=关闭了 +eln:is_on=打开着 +eln:value_in_kJ=单位是kJ +eln: +eln:# ./src/main/java/mods/eln/sixnode/groundcable/GroundCableDescriptor.java +eln:Can_be_used_to_set_a_point_of_an\nelectrical_network_to_0V_potential.\nFor_example_to_ground_negative_battery_contacts.=可以用来设置0V的点位\n例如电池负极 +eln:Provides_a_zero_volt_reference.=提供0V电路供参考 +eln: +eln:# ./src/main/java/mods/eln/sixnode/hub/HubDescriptor.java +eln:Allows_crossing_cables\non_one_single_block.=允许导线在一个方块上面交叉 +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketDescriptor.java +eln:Angle\:_%s°_to_%s°=角度\:%s°到%s° +eln:Spot_range\:_%s_blocks=污染范围\:%s个方块 +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketGuiDraw.java +eln:%s_is_not_in_range!=%s不在范围内 +eln:Cable_slot_empty=槽(导线) +eln:Orientation\:_%s°=方向\:%s° +eln:Parallel=并联 +eln:Powered_by_Lamp_Supply=由无线照明控制盒供电 +eln:Powered_by_cable=导线供电 +eln:Serial=串联 +eln:Specify_the_supply_channel=指定供应通道 +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyContainer.java +eln:Electrical_cable_slot\nBase_range_is_32_blocks.\nEach_additional_cable\nincreases_range_by_one.=电力导线槽\n基本范围为32格\n每加入一条电线\n增加一格的范围 +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyDescriptor.java +eln:Supplies_all_lamps_on_the_channel.=给接入该通道的每个电灯供电 +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyGui.java +eln:Power_channel_name=供电通道名称 +eln:Wireless_channel_name=无限通道名称 +eln: +eln:# ./src/main/java/mods/eln/sixnode/modbusrtu/ModbusRtuGui.java +eln:Add=增加 +eln:Channel_name=通道名称 +eln:Modbus_ID=Modbus网关 +eln:Modbus_RTU=Modbus RTU通讯协议 +eln:Station_ID=站点ID +eln:Station_name=站点名称 +eln:Wireless_RX=无线接收 +eln:Wireless_TX=无线发送 +eln: +eln:# ./src/main/java/mods/eln/sixnode/powercapacitorsix/PowerCapacitorSixContainer.java +eln:(Increases_maximum_voltage)=(增大最大电压) +eln: +eln:# ./src/main/java/mods/eln/sixnode/powercapacitorsix/PowerCapacitorSixGui.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/powerinductorsix/PowerInductorSixContainer.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/powerinductorsix/PowerInductorSixGui.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/powersocket/PowerSocketDescriptor.java +eln:Supplies_any_device\nplugged_in_with_energy.=给任何接入的设备提供能量 +eln: +eln:# ./src/main/java/mods/eln/sixnode/powersocket/PowerSocketGui.java +eln:Specify_the_device_to_supply_through_this_socket.=提供给指定的已连接的某设备 +eln: +eln:# ./src/main/java/mods/eln/sixnode/resistor/ResistorContainer.java +eln:(Sets_resistance)=(设置电阻) +eln:Coal_dust_slot=槽(煤粉) +eln: +eln:# ./src/main/java/mods/eln/sixnode/thermalcable/ThermalCableDescriptor.java +eln:High_parallel_resistance\n_\=>_Low_power_dissipation.=并联大阻抗的电阻\n以获得低功耗 +eln:Low_serial_resistance\n_\=>_High_conductivity.=并联小阻抗的电阻\n以获得高功耗 +eln:Parallel_resistance\:_%sK_W=并联\:%sK/W +eln:Serial_resistance\:_%sK_W=串联\:%sK/W +eln: +eln:# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorContainer.java +eln:Cable_slot=槽(导线) +eln: +eln:# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorDescriptor.java +eln:Can_measure\:=可以测量\: +eln:Measures_temperature_of_cables.=测量导线的温度 +eln:Measures_thermal_values_on_cables.=测量导线的温度 +eln:__Temperature_Power_conducted=热/电传导 +eln: +eln:# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorGui.java +eln:Measured_temperature\ncorresponding\nto_0%_output=测量温度\n对应\n0%输出 +eln:Measured_temperature\ncorresponding\nto_100%_output=测量温度\n对应\n0%输出 +eln:Temperature=温度 +eln: +eln:# ./src/main/java/mods/eln/sixnode/tutorialsign/TutorialSignElement.java +eln:No_text_associated_to_this_beacon=没有关联到这个信标的文本 +eln: +eln:# ./src/main/java/mods/eln/sixnode/tutorialsign/TutorialSignGui.java +eln:Set_beacon_name=设置信标名称 +eln: +eln:# ./src/main/java/mods/eln/sixnode/wirelesssignal/rx/WirelessSignalRxGui.java +eln: +eln:# ./src/main/java/mods/eln/transparentnode/FuelGenerator.kt +eln:Nominal_power\:_%s_W=Nominal power\: %s W +eln:Nominal_voltage\:_%s_V=Nominal voltage\: %s V +eln:Produces_electricity_using_fuel.=用燃料来发电 +eln: +eln:# ./src/main/java/mods/eln/transparentnode/LargeRheostat.kt +eln:Nom._Resistance\:_%s=Nom. Resistance\: %s +eln: +eln:# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerContainer.java +eln:Drill_slot=槽(钻头) +eln:Mining_pipe_slot=槽(挖矿管道) +eln:Ore_scanner_slot=槽(矿物扫描仪) +eln: +eln:# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerDescriptor.java +eln:Excavates_on_a_small_radius.\nExtracts_ore_on_a_bigger_radius\:\n10_blocks_radius_after_10_blocks_depth.=小搜索范围挖掘\n挖了10格深后以10个方块为半径挖掘 +eln: +eln:# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerGuiDraw.java +eln:Chest_missing_on_the\nback_of_the_auto_miner!=自动挖矿机背部没有检测到箱子耶 +eln:Halves_speed,_triples_power_draw=Halves speed, triples power draw +eln:Silk_Touch_Off=Silk Touch Off +eln:Silk_Touch_On=Silk Touch On +eln:Silk_touch=Silk touch +eln: +eln:# ./src/main/java/mods/eln/transparentnode/battery/BatteryContainer.java +eln:Overheating_protection=保护装置(过热) +eln:Overvoltage_protection=当压力过大时提供保护 +eln: +eln:# ./src/main/java/mods/eln/transparentnode/battery/BatteryDescriptor.java +eln:Actual_charge\:_%s=实际电量\:%s +eln:Energy_capacity\:_%sJ=能量容量\:%sJ +eln:_charged_at_%s=剩余电量\:%s +eln: +eln:# ./src/main/java/mods/eln/transparentnode/battery/BatteryGuiDraw.java +eln:Charge=充电 +eln:Charged=充满了 +eln:Discharge=放点 +eln:Energy\:=能量\: +eln:Energy\:_%s=能量\:%s +eln:Life\:=寿命\: +eln:No_charge=没有充电 +eln:Power_in\:=输入能量\: +eln:Power_out\:=输出能量 +eln: +eln:# ./src/main/java/mods/eln/transparentnode/eggincubator/EggIncubatorContainer.java +eln:Egg_slot=槽(蛋) +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalantennarx/ElectricalAntennaRxDescriptor.java +eln:Wireless_energy_receiver.=能源无线接收 +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalantennatx/ElectricalAntennaTxDescriptor.java +eln:Efficiency\:_%s_up_to_%s=效率\:%s至%s +eln:Wireless_energy_transmitter.=能源无线发送 +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceContainer.java +eln:Heating_corp_slot=槽(加热核心) +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceDescriptor.java +eln:Similar_to_a_vanilla_furnace,\nbut_heats_with_electricity.=跟一个正常的熔炉一样,只是用电驱动 +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceGuiDraw.java +eln:Auto_shutdown=自动关闭 +eln:Manual_shutdown=手动关闭 +eln:Set_point\:_%s°C=设置温度\:%s°C +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalmachine/ElectricalMachineDescriptor.java +eln:Cost=价格 +eln: +eln:# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceContainer.java +eln:Combustion_chamber_slot=槽(燃烧室) +eln:Fuel_slot=槽(燃料) +eln: +eln:# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceDescriptor.java +eln:Generates_heat_when_supplied_with_fuel.=提供燃料的时候产生热 +eln: +eln:# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceGuiDraw.java +eln:Control_gauge_at_%s=操作规范\:%s +eln:Decline_fuel=减少燃料 +eln:External_control=手动控制 +eln:Internal_control=自动控制 +eln:Take_fuel=取走燃料 +eln: +eln:# ./src/main/java/mods/eln/transparentnode/powercapacitor/PowerCapacitorContainer.java +eln:(Increases_maximal_voltage)=(增大最大电压) +eln: +eln:# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelContainer.java +eln:Solar_tracker_slot=槽(太阳能跟踪器) +eln: +eln:# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelDescriptor.java +eln:Can_be_geared_towards_the_sun.=可以使太阳能板直指太阳以获得更多的能源 +eln:Max._power\:_%sW=最大功率\:%sW +eln:Max._voltage\:_%sV=最大电压\:%sV +eln:Produces_power_from_solar_radiation.=从太阳辐射获取能量 +eln: +eln:# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPannelGuiDraw.java +eln:It_is_night=晚上了 +eln:Solar_panel_angle\:_%s°=太阳能电板角度\:%s° +eln:Sun_angle\:_%s°=太阳角度\:%s° +eln: +eln:# ./src/main/java/mods/eln/transparentnode/teleporter/TeleporterGui.java +eln:Destination_transporter=传送至目的地 +eln:Power_consumption\:=消耗功率\: +eln:Power_consumption\:_%sW=使用功率\:%sW +eln:Required_energy\:_%sJ=需要功率\:%sJ +eln:Start=开始 +eln:Transporter_name=传送机名称 +eln: +eln:# ./src/main/java/mods/eln/transparentnode/thermaldissipatoractive/ThermalDissipatorActiveDescriptor.java +eln:Fan_cooling_power\:_%sW=风冷功率\:%sW +eln:Fan_power_consumption\:_%sW=风扇功率\:%sW +eln:Fan_voltage\:_%sV=风扇电压\:%sV +eln: +eln:# ./src/main/java/mods/eln/transparentnode/transformer/TransformerDescriptor.java +eln:The_voltage_ratio_is_proportional\nto_the_cable_stacks_count_ratio.=电压与导线的数目成正比 +eln:Transforms_an_input_voltage_to\nan_output_voltage.=将输入电压转换为输出电压 +eln: +eln:# ./src/main/java/mods/eln/transparentnode/turbine/TurbineDescriptor.java +eln:Generates_electricity_using_heat.=用热能来发电 +eln:Temperature_difference\:_%s°C=温度差\:%s°C +eln: +eln:# ./src/main/java/mods/eln/transparentnode/turret/TurretDescriptor.java +eln:CAUTION\:_Cables_can_get_quite_hot!=警告\:导线过热 +eln:Laser_charge_power\:_%sW...%skW=激光充电功率\:%sW...%skW +eln:Scans_for_entities_and_shoots_if_the\nentity_matches_the_configurable_filter_criteria.=范围内如果找到的实体与过滤器一致\n那么开始攻击该实体直至实体从范围内移除 +eln:Standby_power\:_%sW=备用功率\:%sW +eln: +eln:# ./src/main/java/mods/eln/transparentnode/turret/TurretGui.java +eln:Attack\:=攻击\: +eln:Do_not_attack\:=不攻击\: +eln:Recharge_power\:=放电功率 +eln: +eln:# ./src/main/java/mods/eln/transparentnode/waterturbine/WaterTurbineDescriptor.java +eln:Generates_energy_using_water_stream.=用流动水来发电 +eln:No_place_for_water_turbine!=没有足够的空间供水力发电机工作 +eln: +eln:# ./src/main/java/mods/eln/transparentnode/windturbine/WindTurbineDescriptor.java +eln:Front\:_%s=前面\:%s +eln:Generates_energy_from_wind.=用风来发电 +eln:Left_Right\:_%s=左/右\:%s +eln:Up_Down\:_%s=上/下\:%s +eln:Wind_area\:=风区 +eln: +eln:# ./src/main/java/mods/eln/wiki/Data.java +eln:Energy=功率 +eln:Light=亮度 +eln:Machine=机器 +eln:Ore=kuang'shi +eln:Portable=便携式 +eln:Resource=源 +eln:Signal=信号 +eln:Thermal=热能 +eln:Upgrade=升级 +eln:Utilities=公用 +eln:Wiring=布线 +eln: +eln:# ./src/main/java/mods/eln/wiki/Default.java +eln:Previous=过去的 +eln: +eln:# ./src/main/java/mods/eln/wiki/ItemDefault.java +eln:Can_be_used_to_craft\:=可以用来合成\: +eln:Cannot_be_crafted!=不能合成而得\! +eln:Cost_%sJ=消耗能量\:%sJ +eln:Created_by\:=制作原料\: +eln:Is_not_a_crafting_material!=不能合成其他物品\! +eln:Recipe\:=合成表\: +eln: +eln:# Appearing in multiple source files +eln:(Increases_capacity)=(增大容量) +eln:(Increases_inductance)=(增大电感) +eln:Actual\:_%s°C=实际温度\:%s°C +eln:Biggest=最大的 +eln:Booster_slot=槽(增压器) +eln:Can_create\:=可以合成\: +eln:Capacity\:_%sF=容量\:%sF +eln:Charge_power\:_%sW=充电功率\:%sW +eln:Connected=已连接 +eln:Cooling_power\:_%sW=冷却功率\:%sW +eln:Copper_cable_slot=槽(铜导线) +eln:Dielectric_slot=槽(绝缘体) +eln:Discharge_power\:_%sW=输出功率\:%sW +eln:Electrical_cable_slot=槽(电力导线) +eln:Entity_filter_slot=槽(生物过滤器) +eln:Ferromagnetic_core_slot=槽(磁能核心) +eln:Has_a_signal_output.=有一个信号输出 +eln:Inductance\:_%sH=电感\:%sH +eln:Internal_resistance\:_%sΩ=内阻\:%sΩ +eln:Is_off=关 +eln:Is_on=开 +eln:Max._temperature\:_%s°C=最高温度\:%s°C +eln:Measured_value\ncorresponding\nto_0%_output=测量zhi\n对应\n0%输出 +eln:Measured_value\ncorresponding\nto_100%_output=测量zhi\n对应\n0%输出 +eln:Nominal\:=理论\: +eln:Nominal_power\:_%sW=理论功率\:%sW +eln:Nominal_usage\:=理论使用\: +eln:Nominal_voltage\:_%sV=理论电压\:%sV +eln:Not_connected=未连接 +eln:Not_enough_space_for_this_block=没有足够空间放置这个方块 +eln:Power=功率 +eln:Power\:_%sW=功率\:%sW +eln:Range\:_%s_blocks=范围\:%s个方块 +eln:Redstone_slot=槽(红石) +eln:Regulator_slot=槽(校准器) +eln:Reset=重置 +eln:Resistance\:_%sΩ=电阻\:%sΩ +eln:Smallest=最小的 +eln:Specify_the_channel=指定通道 +eln:Stored_energy\:_%sJ_(%s)=储存的能量\:%sJ(%s) +eln:Temperature\:_%s°C=温度\:%s°C +eln:Temperature_gauge=温度计 +eln:Thermal_isolator_slot=槽(隔热器) +eln:Toggle=切换 +eln:Toggle_switch=切换开关 +eln:Toggles_the_output_each_time\nan_emitter's_value_rises.\nUseful_to_allow_multiple_buttons\nto_control_the_same_light.=按按钮时增大输出\n在多个开关控制同一灯泡时很有用 +eln:Used_to_cool_down_turbines.=用来冷却涡轮 +eln:Uses_the_biggest\nvalue_on_the_channel.=使用通道上最高的值 +eln:Uses_the_smallest\nvalue_on_the_channel.=使用通道上最低的值 +eln:Validate=证实 +eln:Voltage\:_%sV=电压\:%sV +eln:You_can't_place_this_block_at_this_side=不能把方块放在这一边哟~ diff --git a/src/main/resources/assets/eln/lang/zh_CN.lang b/src/main/resources/assets/eln/lang/zh_CN.lang index 783a85345..01fc35ff4 100644 --- a/src/main/resources/assets/eln/lang/zh_CN.lang +++ b/src/main/resources/assets/eln/lang/zh_CN.lang @@ -1,829 +1,829 @@ -# - -# ./src/main/java/mods/eln/Achievements.java -Electrical_Age_[WIP]=电力时代Electrical Age\n(translate by KLsz and polish by aneBlack) -achievement.craft_50v_macerator=初入粉碎之法 -achievement.craft_50v_macerator.desc=50V的粉碎工艺! -achievement.open_guide=学会内置Wiki -achievement.open_guide.desc=内置Wiki的能量,超乎你想象 - -# ./src/main/java/mods/eln/Eln.java -10A_Diode.name=二极管(10A) -200V_Active_Thermal_Dissipator.name=散热器(T\:200W+1.2kW,200°C;E\:200V,60W) -200V_Battery_Charger.name=电池充电器(200V,1kW) -200V_Compressor.name=压缩机(200V) -200V_Condensator.name=电容(200V) -200V_Copper_Heating_Corp.name=铜电热丝(200V,600W) -200V_Economic_Light_Bulb.name=节能灯泡(200V,15W) -200V_Farming_Lamp.name=暖箱灯泡(200V,120W) -200V_Fuel_Generator.name=200V Fuel Generator -200V_Incandescent_Light_Bulb.name=白炽灯泡(200V,30W) -200V_Iron_Heating_Corp.name=铁电热丝(200V,900W) -200V_LED_Bulb.name=200V LED Bulb -200V_Macerator.name=粉碎机(200V,400W) -200V_Magnetizer.name=磁化器(200V,400W) -200V_Plate_Machine.name=冷轧机(200V,400W) -200V_Power_Socket.name=能源接口(200V) -200V_Tungsten_Heating_Corp.name=钨电热丝(200V,1.2kW) -200V_Turbine.name=发电机(温差,200V,500W,Δ350°C) -25A_Diode.name=二极管(25A) -50V_Battery_Charger.name=电池充电器(50V,400W) -50V_Carbon_Incandescent_Light_Bulb.name=碳丝灯泡(50V,25W) -50V_Compressor.name=压缩机(50V) -50V_Condensator.name=电容(50V) -50V_Copper_Heating_Corp.name=铜电热丝(50V,250W) -50V_Economic_Light_Bulb.name=节能灯泡(50V,15W) -50V_Egg_Incubator.name=鸡蛋孵化器(50V) -50V_Farming_Lamp.name=暖箱灯泡(50V,120W) -50V_Fuel_Generator.name=50V Fuel Generator -50V_Incandescent_Light_Bulb.name=白炽灯泡(50V,30W) -50V_Iron_Heating_Corp.name=铁电热丝(50V,375W) -50V_LED_Bulb.name=50V LED Bulb -50V_Macerator.name=粉碎机(50V,200W) -50V_Magnetizer.name=磁化机(50V,200W) -50V_Plate_Machine.name=冷轧机(50V,200W) -50V_Power_Socket.name=能源接口(50V) -50V_Tungsten_Heating_Corp.name=钨电热丝(50V,500W) -50V_Turbine.name=发电机(温差,50V,300W,Δ250°C) -800V_Defence_Turret.name=防御塔(800V,min-50W,max-1kW) -AND_Chip.name=AND Chip -Advanced_Chip.name=芯片(高级) -Advanced_Electrical_Motor.name=电机(高级) -Advanced_Energy_Meter.name=电能表(高级) -Advanced_Machine_Block.name=机器方块(高级) -Advanced_Magnet.name=磁铁(高级) -AllMeter.name=通用表 -Alloy_Dust.name=钨钢合金粉 -Alloy_Ingot.name=钨钢合金锭 -Alloy_Plate.name=钨钢合金板 -Analog_Watch.name=模拟时钟 -Analog_vuMeter.name=模拟电压表(信号) -Analogic_Regulator.name=模拟温控组件 -Animal_Filter.name=动物筛选组件 -Auto_Miner.name=自动挖矿机(800V) -Average_Electrical_Drill.name=电钻(1kW,5") -Average_Ferromagnetic_Core.name=磁能核心(4.0) -Basic_Magnet.name=磁铁(基础) -Black_Brush.name=刷子(黑) -Blue_Brush.name=刷子(蓝) -Brown_Brush.name=刷子(棕) -Capacity_Oriented_Battery.name=电源(容量更大,12V,125W,240kJ) -Cheap_Chip.name=芯片(基础) -Cheap_Electrical_Drill.name=电钻(500W,8") -Cheap_Ferromagnetic_Core.name=磁能核心(10.0) -Cinnabar_Dust.name=朱砂粉 -Cinnabar_Ore.name=朱砂矿石 -Coal_Dust.name=煤粉 -Coal_Plate.name=煤板 -Combustion_Chamber.name=炉膛组件 -Copper_Cable.name=导线(铜) -Copper_Dust.name=铜粉 -Copper_Ingot.name=铜锭 -Copper_Ore.name=铜矿 -Copper_Plate.name=铜板 -Copper_Thermal_Cable.name=导热管(铜,1k°C) -Cost_Oriented_Battery.name=电源(更廉价,50V,250W,60KJ) -Current_Oriented_Battery.name=电源(电流更大,50V,1000W,40KJ) -Cyan_Brush.name=刷子(青) -D_Flip_Flop_Chip.name=D Flip Flop Chip -Data_Logger.name=示波器(台式,信号) -Data_Logger_Print.name=示波器(打印,信号) -Dielectric.name=绝缘体 -Digital_Watch.name=数字时钟 -Electrical_Anemometer_Sensor.name=传感器(风力) -Electrical_Breaker.name=断路器 -Electrical_Daylight_Sensor.name=感应器(阳光) -Electrical_Entity_Sensor.name=感应器(实体) -Electrical_Fire_Detector.name=电气火花传感器 -Electrical_Furnace.name=电炉 -Electrical_Light_Sensor.name=感应器(光) -Electrical_Motor.name=电机 -Electrical_Probe.name=电力传感器 -Electrical_Probe_Chip.name=芯片(电力传感器) -Electrical_Source.name=电源 -Electrical_Timer.name=断路延时器 -Electrical_Weather_Sensor.name=传感器(天气) -Electrical_age_wrench,\nCan_be_used_to_turn\nsmall_wall_blocks=扳手用来翻转一些小方块 -Energy_Meter.name=电能表 -Experimental_Transporter.name=传送机 -Fast_Electrical_Drill.name=电钻(2kW,3") -Ferrite_Ingot.name=铁氧体锭 -Flat_Lamp_Socket.name=灯座(扁平) -Fluorescent_Lamp_Socket.name=灯座(荧光) -Generator.name=Generator -Gold_Dust.name=金粉 -Gold_Plate.name=金板 -Gray_Brush.name=刷子(灰) -Green_Brush.name=刷子(绿) -Ground_Cable.name=导线(接地) -High_Power_Receiver_Antenna.name=天线(接收)(800V,2kW) -High_Power_Transmitter_Antenna.name=天线(发射)(800V,2kW,300m) -High_Voltage_Cable.name=导线(800V,5kW) -High_Voltage_Relay.name=继电器(800V) -High_Voltage_Switch.name=开关(800V) -Hub.name=集线器 -Industrial_Data_Logger.name=示波器(工业,信号) -Iron_Cable.name=导线(铁) -Iron_Dust.name=铁粉 -Iron_Plate.name=铁板 -JK_Flip_Flop_Chip.name=JK Flip Flop Chip -LED_vuMeter.name=LED指示灯 -Lamp_Socket_A.name=灯座(圆盘式) -Lamp_Socket_B_Projector.name=灯座(圆盘式,高级) -Lamp_Supply.name=无线照明控制盒 -Large_Rheostat.name=Large Rheostat -Lead_Dust.name=铅粉 -Lead_Ingot.name=铅锭 -Lead_Ore.name=铅矿石 -Lead_Plate.name=铅板 -Life_Oriented_Battery.name=电源(生命更长,50V,250W,60KJ) -Light_Blue_Brush.name=刷子(浅蓝) -Lime_Brush.name=刷子(黄绿) -Long_Suspended_Lamp_Socket.name=灯座(吊挂,长) -Low_Power_Receiver_Antenna.name=天线(接收)(50V,250W) -Low_Power_Transmitter_Antenna.name=天线(发射)(50V,250W,200m) -Low_Voltage_Cable.name=导线(50V,1kW) -Low_Voltage_Relay.name=继电器(50V) -Low_Voltage_Switch.name=开关(50V) -Machine_Block.name=机器方块 -Machine_Booster.name=增压器 -Magenta_Brush.name=刷子(品红) -Medium_Power_Receiver_Antenna.name=天线(接收)(200V,1kW) -Medium_Power_Transmitter_Antenna.name=天线(发射)(200V,1kW,250m) -Medium_Voltage_Cable.name=导线(200V,2kW) -Medium_Voltage_Relay.name=继电器(200V) -Medium_Voltage_Switch.name=开关(200V) -Mercury.name=汞 -Mining_Pipe.name=采矿管道 -Modbus_RTU.name=Modbus RTU通讯协议 -Modern_Data_Logger.name=示波器(薄屏,信号) -Monster_Filter.name=怪物筛选组件 -MultiMeter.name=万用表 -NAND_Chip.name=NAND Chip -NOR_Chip.name=NOR Chip -NOT_Chip.name=NOT Chip -Nuclear_Alarm.name=警报(核) -OR_Chip.name=OR Chip -On_OFF_Regulator_10_Percent.name=开/关温控10% -On_OFF_Regulator_1_Percent.name=开/关温控1% -Optimal_Ferromagnetic_Core.name=磁能核心(1.0) -Orange_Brush.name=刷子(橙) -Ore_Scanner.name=矿物扫描仪 -Oscillator_Chip.name=Oscillator Chip -Overheating_Protection.name=保护装置(过热) -Overvoltage_Protection.name=保护装置(过压) -PAL_Chip.name=PAL Chip -Pink_Brush.name=刷子(粉) -Player_Filter.name=玩家筛选组件 -Portable_Battery.name=移动电池 -Portable_Battery_Pack.name=移动电池包 -Portable_Condensator.name=移动电容 -Portable_Condensator_Pack.name=移动电容包 -Portable_Electrical_Axe.name=电斧 -Portable_Electrical_Mining_Drill.name=电钻 -Power_Capacitor.name=电容 -Power_Inductor.name=电感 -Power_Resistor.name=电阻 -Power_capacitor.name=电容 -Power_inductor.name=电感 -Purple_Brush.name=刷子(紫) -Red_Brush.name=刷子(红) -Redstone-to-Voltage_Converter.name=转换器(红石→电) -Rheostat.name=变阻器 -Robust_Lamp_Socket.name=灯座(小) -Rubber.name=橡胶 -Schmitt_Trigger_Chip.name=Schmitt Trigger Chip -Sconce_Lamp_Socket.name=灯座(壁挂) -Signal_20H_inductor.name=电感(20H)(信号) -Signal_Antenna.name=天线(信号) -Signal_Button.name=按钮(信号) -Signal_Cable.name=导线(信号) -Signal_Diode.name=二极管(信号) -Signal_Processor.name=信号处理器 -Signal_Relay.name=继电器(信号) -Signal_Source.name=信号源 -Signal_Switch.name=开关(信号) -Signal_Switch_with_LED.name=开关(信号)(LED) -Signal_Trimmer.name=信号发生器 -Silicon_Dust.name=硅粉 -Silicon_Ingot.name=硅锭 -Silicon_Plate.name=硅板 -Silver_Brush.name=刷子(银) -Simple_Lamp_Socket.name=灯座(普通) -Single-use_Battery.name=电源(一次性,50V,500W,120kJ) -Small_200V_Copper_Heating_Corp.name=加热核心(铜,200V,小) -Small_200V_Iron_Heating_Corp.name=加热核心(铁,200V,小) -Small_200V_Tungsten_Heating_Corp.name=加热核心(钨,200V,小) -Small_50V_Carbon_Incandescent_Light_Bulb.name=小型碳丝灯泡(50V) -Small_50V_Copper_Heating_Corp.name=加热核心(铜,50V,小) -Small_50V_Economic_Light_Bulb.name=小型节能灯泡(50V) -Small_50V_Incandescent_Light_Bulb.name=小型白炽灯泡(50V) -Small_50V_Iron_Heating_Corp.name=加热核心(铁,50V,小) -Small_50V_Tungsten_Heating_Corp.name=加热核心(钨,50V,小) -Small_Active_Thermal_Dissipator.name=散热器(T\:200W+800W,150°C;E\:50V,50W) -Small_Flashlight.name=手电筒 -Small_Passive_Thermal_Dissipator.name=散热器(250W,220°C) -Small_Rotating_Solar_Panel.name=太阳能电池板(追踪,14.8V,65W) -Small_Solar_Panel.name=太阳能电板(14.8V,65W) -Solar_Tracker.name=太阳追踪组件 -Standard_Alarm.name=警报(基础) -Steam_Turbine.name=Steam Turbine -Stone_Heat_Furnace.name=燃烧器(800°C,1kW) -Street_Light.name=灯座(路灯) -Suspended_Lamp_Socket.name=灯座(吊挂) -Temperature_Probe.name=温度传感器 -Thermal_Probe.name=热能传感器 -Thermal_Probe_Chip.name=芯片(热能传感器) -Thermistor.name=热敏电阻 -ThermoMeter.name=温度计 -Transformer.name=变压器 -Tree_Resin.name=树脂 -Tree_Resin_Collector.name=树脂收集器 -Tungsten_Cable.name=导线(钨) -Tungsten_Dust.name=钨粉 -Tungsten_Ingot.name=钨锭 -Tungsten_Ore.name=钨矿石 -Tutorial_Sign.name=指示标志 -Very_High_Voltage_Cable.name=导线(3200V) -Very_High_Voltage_Relay.name=继电器(3200V) -Very_High_Voltage_Switch.name=开关(3200V) -Voltage-to-Redstone_Converter.name=转换器(电→红石) -Voltage_Oriented_Battery.name=电源(电压更大,200V,250W) -Voltage_Probe.name=电压传感器 -Water_Turbine.name=发电机(水力,50V,30W) -Weak_50V_Battery_Charger.name=电池充电器(50V,200W) -White_Brush.name=刷子(白) -Wind_Turbine.name=发电机(风力,59V,160W) -Wireless_Analyser.name=监测仪(无线) -Wireless_Button.name=按钮(无线) -Wireless_Signal_Receiver.name=信号接收器(无线) -Wireless_Signal_Repeater.name=信号加强器(无线) -Wireless_Signal_Transmitter.name=信号发射器(无线) -Wireless_Switch.name=开关(无线) -Wrench.name=扳手 -X-Ray_Scanner.name=扫描仪 -XNOR_Chip.name=XNOR Chip -XOR_Chip.name=XOR Chip -Yellow_Brush.name=刷子(黄) -entity.EAReplicator.name=复制机 -item.Copper Axe.name\=铜镐 -item.Copper Axe.name\=铜镐 -item.Copper Axe.name\=铜镐 -item.Copper Axe.name\=铜镐 -item.Copper Axe.name\=铜镐 -item.Copper Axe.name\=铜镐 -item.Copper Axe.name\=铜镐 -item.Copper Axe.name\=铜镐 -item.Copper Axe.name\=铜镐 -item.E-Coal Boots.name\=EC鞋 -item.E-Coal Boots.name\=EC鞋 -item.E-Coal Boots.name\=EC鞋 -item.E-Coal Boots.name\=EC鞋 -itemGroup.Eln=电力时代 -mod.meta.desc=你的基地,因使用电力产生红热的光芒\! -tile.eln.ElnProbe.name=电力时代电脑传感器 -tile.eln.EnergyConverterElnToOtherHVUBlock.name=电力时代能源(800V)转至其他能源 -tile.eln.EnergyConverterElnToOtherLVUBlock.name=电力时代能源(50V)转至其他能源 -tile.eln.EnergyConverterElnToOtherMVUBlock.name=电力时代能源(200V)转至其他能源 - -# ./src/main/java/mods/eln/i18n/I18N.java -You_have_%s_lives_left=你还剩%s条生命 - -# ./src/main/java/mods/eln/item/BrushDescriptor.java -Brush_is_dry=刷子干了 -Can_paint_%s_blocks=可以继续漆%s个方块 - -# ./src/main/java/mods/eln/item/CombustionChamber.java -Upgrade_for_the_Stone_Heat_Furnace.=你的发电机升级啦~ - -# ./src/main/java/mods/eln/item/ElectricalDrillDescriptor.java -Energy_per_operation\:_%sJ=启动需要能量\:%sJ -Time_per_operation\:_%ss=启动所需时间\:%ss - -# ./src/main/java/mods/eln/item/FerromagneticCoreDescriptor.java -Cable_loss_factor\:_%s=导线损耗系数\:%s - -# ./src/main/java/mods/eln/item/HeatingCorpElement.java - -# ./src/main/java/mods/eln/item/LampDescriptor.java -Bad=差 -Condition\:=条件\: -End_of_life=生命就此终结 -Good=好 -New=新 -Nominal_lifetime\:_%sh=理论寿命\:%sh -Technology\:_%s=科技\:%s -Used=旧 - -# ./src/main/java/mods/eln/item/LampSlot.java -Lamp_slot=槽(灯) - -# ./src/main/java/mods/eln/item/OverHeatingProtectionDescriptor.java -Useful_to_prevent_overheating\nof_Batteries=有效防止电源过热 - -# ./src/main/java/mods/eln/item/OverVoltageProtectionDescriptor.java -Useful_to_prevent_over-voltage\nof_Batteries=有效防止电源过压 - -# ./src/main/java/mods/eln/item/SolarTrackerDescriptor.java -Solar_panel_upgrade=太阳能电板升级 - -# ./src/main/java/mods/eln/item/electricalitem/BatteryItem.java - -# ./src/main/java/mods/eln/item/electricalitem/ElectricalLampItem.java -Off=关 -On=开 -State\:=状态\: -Stored_Energy\:_%sJ_(%s)=储存的能量\:%sJ(%s) - -# ./src/main/java/mods/eln/item/regulator/RegulatorSlot.java - -# ./src/main/java/mods/eln/misc/UtilsClient.java -Hold_shift=请戳Shift - -# ./src/main/java/mods/eln/misc/Version.java -mod.name=电力时代 - -# ./src/main/java/mods/eln/node/six/SixNodeDescriptor.java - -# ./src/main/java/mods/eln/simplenode/energyconverter/EnergyConverterElnToOtherGui.java -Input_power_is_limited_to_%sW=输入功率限制\:%sW - -# ./src/main/java/mods/eln/sixnode/LogicGate.kt -_O\:_= O\: - -# ./src/main/java/mods/eln/sixnode/TreeResinCollector/TreeResinCollectorDescriptor.java -Produces_Tree_Resin_over\ntime_when_put_on_a_tree.=放在树上即可生产树脂 -This_block_can_only_be_placed_on_the_side_of_a_tree!=这只能在一棵树的侧面防止啊 - -# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerContainer.java -Battery_slot=槽(电池) - -# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerDescriptor.java -Can_be_used_to_recharge\nelectrical_items_like\:\nFlash_Light,_X-Ray_scanner\nand_Portable_Battery_...=可以用来给电力时代的东西充电\n例如移动电池,手电筒,扫描仪 - -# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerGui.java - -# ./src/main/java/mods/eln/sixnode/diode/DiodeDescriptor.java -Electrical_current_can_only\nflow_through_the_diode\nfrom_anode_to_cathode=电流只能从二极管的一端流到另一端 - -# ./src/main/java/mods/eln/sixnode/electricalalarm/ElectricalAlarmDescriptor.java -= -Emits_an_acoustic_alarm_if\nthe_input_signal_is_high=当输入信号高的时候\n发出巨大的警报声 - -# ./src/main/java/mods/eln/sixnode/electricalalarm/ElectricalAlarmGui.java -Sound_is_muted=声音已静音 -Sound_is_not_muted=声音已开启 - -# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerContainer.java - -# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerDescriptor.java -Protects_electrical_components\nOpens_contact_if\:\n__-_Voltage_exceeds_a_certain_level\n-_Current_exceeds_the_cable_limit=保护电路\n如果电压过大或电流过载都会打开 - -# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerGui.java -Maximum_voltage_before_cutting_off=切断前最大电压 -Minimum_voltage_before_cutting_off=切断前最小电压 -Switch_is_off=开关关闭 -Switch_is_on=开关打开 - -# ./src/main/java/mods/eln/sixnode/electricalcable/ElectricalCableDescriptor.java -A_signal_is_electrical_information\nwhich_must_be_between_0V_and_%sV=信号用来传递电气信息\n必须要在0V和%sV之间 -Cable_is_adapted_to_conduct\nelectrical_signals.=该电缆适用于传输电子信号 -Current\:_%sA=电流\:%sA -Not_adapted_to_transport_power.=没有适配到传送功率 -Save_usage\:=保存用法\: -Serial_resistance\:_%sΩ=串联电阻\:%sΩ - -# ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerDescriptor.java -It_can_store_up_to_256_points.=它最多可以储存256个单位 -Measures_the_voltage_of_an\nelectrical_signal_and_plots\nthe_data_in_real_time.=测量电子信号的实时电压 - -# ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerGui.java -Back_to_display=回到显示 -Configuration=配置 -Current_[A]=电流(A) -Energy_[J]=能量(J) -Percent_[-]%=百分比(%) -Power_[W]=功率(W) -Print=打印 -Sampling_period=采样周期 -Temp._[*C]=温度(°C) -Voltage_[V]=电压(V) -Y-axis_max=Y轴最大值 -Y-axis_min=Y轴最小值 - -# ./src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorContainer.java - -# ./src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorDescriptor.java -Output_voltage_increases\nif_entities_are_moving_around.=如果有生物在周围移动那么增大输出电压 - -# ./src/main/java/mods/eln/sixnode/electricalfiredetector/ElectricalFireDetectorDescriptor.java -Output_voltage_increases\nif_a_fire_has_been_detected.=如果周围有火那么增大输出电压 - -# ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceDescriptor.java -Provides_configurable_signal\nvoltage.=提供可调整的信号电压 - -# ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceGui.java -Output_at_%s=输出\:%s - -# ./src/main/java/mods/eln/sixnode/electricallightsensor/ElectricalLightSensorDescriptor.java -0V_at_night,_%sV_at_noon.=夜间0V,午时%sV -Provides_an_electrical_voltage\nin_the_presence_of_light.=接受到光的时候提供电压 -Provides_an_electrical_voltage\nwhich_is_proportional_to\nthe_intensity_of_daylight.=接收到日光的时候提供电压\n电压与日光强度成正比 - -# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathContainer.java - -# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathDescriptor.java -Applicable_boolean_operators\:=适用于布尔(boolean)算子\: -Applicable_functions\:=适用于\: -Applicable_mathematical_operators\:=适用于数学算子 -Calculates_an_output_signal_from\n3_inputs_(A,_B,_C)_using_an_equation.=用3个输入(A,B,C)值\n进行函数计算\n然后输出信号 - -# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathGui.java -%s_Redstone(s)_required=需要%s个红石粉 -Equation_required!=需要方程式 -Inputs_are=输入是 -Invalid_equation!=无效方程式 -Output_voltage_formula=输出电压公式 -Waiting_for_completion...=请稍后... - -# ./src/main/java/mods/eln/sixnode/electricalredstoneinput/ElectricalRedstoneInputDescriptor.java -Converts_Redstone_signal\nto_an_electrical_voltage.=把红石信号转换为电压 - -# ./src/main/java/mods/eln/sixnode/electricalredstoneoutput/ElectricalRedstoneOutputDescriptor.java -Converts_electrical_voltage\ninto_a_Redstone_signal.=把电压转换为红石信号 - -# ./src/main/java/mods/eln/sixnode/electricalrelay/ElectricalRelayDescriptor.java -A_relay_is_an_electrical\ncontact_that_conducts_electric\ncurrent_or_not,_depending\nthe_actual_input_signal_voltage.=继电器是根据信号电压的有无\n控制电路闭合断开的仪器 - -# ./src/main/java/mods/eln/sixnode/electricalrelay/ElectricalRelayGui.java -Normally_closed=默认关闭 -Normally_open=默认打开 - -# ./src/main/java/mods/eln/sixnode/electricalsource/ElectricalSourceDescriptor.java -Creative_block.=创造方块 -Provides_an_ideal_voltage_source\nwithout_energy_or_power_limitation.=无限制的永久能源(创造专用) - -# ./src/main/java/mods/eln/sixnode/electricalsource/ElectricalSourceGui.java -Output_voltage=输出电压 - -# ./src/main/java/mods/eln/sixnode/electricalswitch/ElectricalSwitchDescriptor.java -Can_break_an_electrical_circuit\ninterrupting_the_current.=能破坏导线以中断电流 - -# ./src/main/java/mods/eln/sixnode/electricaltimeout/ElectricalTimeoutDescriptor.java -Upon_application_of_a_high_signal,\nthe_timer_maintains_the_output_high_for\na_configurable_interval._Can_be_re-triggered.=当应用于高强度信号时\n定时器一定输出间隔后会输出高强度信号。\n可以循环进行 - -# ./src/main/java/mods/eln/sixnode/electricaltimeout/ElectricalTimeoutGui.java -Set=设置 -The_time_interval_the\noutput_is_kept_high.=保持高输出间隔 - -# ./src/main/java/mods/eln/sixnode/electricalvumeter/ElectricalVuMeterDescriptor.java -Displays_the_value_of_a_signal.=显示信号的值 - -# ./src/main/java/mods/eln/sixnode/electricalwatch/ElectricalWatchContainer.java -Portable_battery_slot=槽(移动电池) - -# ./src/main/java/mods/eln/sixnode/electricalweathersensor/ElectricalWeatherSensorDescriptor.java -Clear\:_%sV=晴朗\:%sV -Provides_an_electrical_signal\ndepending_the_actual_weather.=提供信号,强度由天气决定 -Rain\:_%sV=阴雨\:%sV -Storm\:_%sV=雷暴\:%sV - -# ./src/main/java/mods/eln/sixnode/electricalwindsensor/ElectricalWindSensorDescriptor.java -Maximum_wind_speed_is_%sm_s=最高风速%sm/s -Provides_an_electrical_signal\ndependant_on_wind_speed.=提供信号,强度由风速决定 -You_can't_place_this_block_on_the_floor_or_the_ceiling=You can't place this block on the floor or the ceiling - -# ./src/main/java/mods/eln/sixnode/electricasensor/ElectricalSensorDescriptor.java -Can_measure_Voltage_Power_Current=可以测量电压/功率/电流 -Measures_electrical_values_on_cables.=测量电缆的电气值 -Measures_voltage_on_cables.=测量导线上的电压 - -# ./src/main/java/mods/eln/sixnode/electricasensor/ElectricalSensorGui.java -Current=电流 -Measured_voltage\ncorresponding\nto_0%_output=测量电压\n对应\n0%输出 -Measured_voltage\ncorresponding\nto_100%_output=测量电压\n对应\n0%输出 -Voltage=电压 - -# ./src/main/java/mods/eln/sixnode/energymeter/EnergyMeterGui.java -Change_password=修改密码 -Counter_Mode=计数模式 -Counts_the_energy_conducted_from\n\u00a74red\u00a7f_to_\u00a71blue\u00a7f.=计算从\\u00a74red\\u00a7f到\\u00a71blue\\u00a7f的能量 -Energy_counter\:_%sJ=能量计算\:%sJ -Enter_new_energy=输入新能源 -Enter_password=输入密码 -Prepay_Mode=预付费模式 -Reset_time_counter=重置计时器 -Set_energy_counter=设置计时器 -Time_counter\:=计时器\: -Try_password=测试密码 -You_can_set_an_initial\namount_of_available_energy.\nWhen_the_counter_arrives_at_0\nthe_contact_will_be_opened.=你可以设置一个初始的可用能量。\n当计时器到达0时,电路联通。 -is_off=关闭了 -is_on=打开着 -value_in_kJ=单位是kJ - -# ./src/main/java/mods/eln/sixnode/groundcable/GroundCableDescriptor.java -Can_be_used_to_set_a_point_of_an\nelectrical_network_to_0V_potential.\nFor_example_to_ground_negative_battery_contacts.=可以用来设置0V的点位\n例如电池负极 -Provides_a_zero_volt_reference.=提供0V电路供参考 - -# ./src/main/java/mods/eln/sixnode/hub/HubDescriptor.java -Allows_crossing_cables\non_one_single_block.=允许导线在一个方块上面交叉 - -# ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketDescriptor.java -Angle\:_%s°_to_%s°=角度\:%s°到%s° -Spot_range\:_%s_blocks=污染范围\:%s个方块 - -# ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketGuiDraw.java -%s_is_not_in_range!=%s不在范围内 -Cable_slot_empty=槽(导线) -Orientation\:_%s°=方向\:%s° -Parallel=并联 -Powered_by_Lamp_Supply=由无线照明控制盒供电 -Powered_by_cable=导线供电 -Serial=串联 -Specify_the_supply_channel=指定供应通道 - -# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyContainer.java -Electrical_cable_slot\nBase_range_is_32_blocks.\nEach_additional_cable\nincreases_range_by_one.=电力导线槽\n基本范围为32格\n每加入一条电线\n增加一格的范围 - -# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyDescriptor.java -Supplies_all_lamps_on_the_channel.=给接入该通道的每个电灯供电 - -# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyGui.java -Power_channel_name=供电通道名称 -Wireless_channel_name=无限通道名称 - -# ./src/main/java/mods/eln/sixnode/modbusrtu/ModbusRtuGui.java -Add=增加 -Channel_name=通道名称 -Modbus_ID=Modbus网关 -Modbus_RTU=Modbus RTU通讯协议 -Station_ID=站点ID -Station_name=站点名称 -Wireless_RX=无线接收 -Wireless_TX=无线发送 - -# ./src/main/java/mods/eln/sixnode/powercapacitorsix/PowerCapacitorSixContainer.java -(Increases_maximum_voltage)=(增大最大电压) - -# ./src/main/java/mods/eln/sixnode/powercapacitorsix/PowerCapacitorSixGui.java - -# ./src/main/java/mods/eln/sixnode/powerinductorsix/PowerInductorSixContainer.java - -# ./src/main/java/mods/eln/sixnode/powerinductorsix/PowerInductorSixGui.java - -# ./src/main/java/mods/eln/sixnode/powersocket/PowerSocketDescriptor.java -Supplies_any_device\nplugged_in_with_energy.=给任何接入的设备提供能量 - -# ./src/main/java/mods/eln/sixnode/powersocket/PowerSocketGui.java -Specify_the_device_to_supply_through_this_socket.=提供给指定的已连接的某设备 - -# ./src/main/java/mods/eln/sixnode/resistor/ResistorContainer.java -(Sets_resistance)=(设置电阻) -Coal_dust_slot=槽(煤粉) - -# ./src/main/java/mods/eln/sixnode/thermalcable/ThermalCableDescriptor.java -High_parallel_resistance\n_\=>_Low_power_dissipation.=并联大阻抗的电阻\n以获得低功耗 -Low_serial_resistance\n_\=>_High_conductivity.=并联小阻抗的电阻\n以获得高功耗 -Parallel_resistance\:_%sK_W=并联\:%sK/W -Serial_resistance\:_%sK_W=串联\:%sK/W - -# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorContainer.java -Cable_slot=槽(导线) - -# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorDescriptor.java -Can_measure\:=可以测量\: -Measures_temperature_of_cables.=测量导线的温度 -Measures_thermal_values_on_cables.=测量导线的温度 -__Temperature_Power_conducted=热/电传导 - -# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorGui.java -Measured_temperature\ncorresponding\nto_0%_output=测量温度\n对应\n0%输出 -Measured_temperature\ncorresponding\nto_100%_output=测量温度\n对应\n0%输出 -Temperature=温度 - -# ./src/main/java/mods/eln/sixnode/tutorialsign/TutorialSignElement.java -No_text_associated_to_this_beacon=没有关联到这个信标的文本 - -# ./src/main/java/mods/eln/sixnode/tutorialsign/TutorialSignGui.java -Set_beacon_name=设置信标名称 - -# ./src/main/java/mods/eln/sixnode/wirelesssignal/rx/WirelessSignalRxGui.java - -# ./src/main/java/mods/eln/transparentnode/FuelGenerator.kt -Nominal_power\:_%s_W=Nominal power\: %s W -Nominal_voltage\:_%s_V=Nominal voltage\: %s V -Produces_electricity_using_fuel.=用燃料来发电 - -# ./src/main/java/mods/eln/transparentnode/LargeRheostat.kt -Nom._Resistance\:_%s=Nom. Resistance\: %s - -# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerContainer.java -Drill_slot=槽(钻头) -Mining_pipe_slot=槽(挖矿管道) -Ore_scanner_slot=槽(矿物扫描仪) - -# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerDescriptor.java -Excavates_on_a_small_radius.\nExtracts_ore_on_a_bigger_radius\:\n10_blocks_radius_after_10_blocks_depth.=小搜索范围挖掘\n挖了10格深后以10个方块为半径挖掘 - -# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerGuiDraw.java -Chest_missing_on_the\nback_of_the_auto_miner!=自动挖矿机背部没有检测到箱子耶 -Halves_speed,_triples_power_draw=Halves speed, triples power draw -Silk_Touch_Off=Silk Touch Off -Silk_Touch_On=Silk Touch On -Silk_touch=Silk touch - -# ./src/main/java/mods/eln/transparentnode/battery/BatteryContainer.java -Overheating_protection=保护装置(过热) -Overvoltage_protection=当压力过大时提供保护 - -# ./src/main/java/mods/eln/transparentnode/battery/BatteryDescriptor.java -Actual_charge\:_%s=实际电量\:%s -Energy_capacity\:_%sJ=能量容量\:%sJ -_charged_at_%s=剩余电量\:%s - -# ./src/main/java/mods/eln/transparentnode/battery/BatteryGuiDraw.java -Charge=充电 -Charged=充满了 -Discharge=放点 -Energy\:=能量\: -Energy\:_%s=能量\:%s -Life\:=寿命\: -No_charge=没有充电 -Power_in\:=输入能量\: -Power_out\:=输出能量 - -# ./src/main/java/mods/eln/transparentnode/eggincubator/EggIncubatorContainer.java -Egg_slot=槽(蛋) - -# ./src/main/java/mods/eln/transparentnode/electricalantennarx/ElectricalAntennaRxDescriptor.java -Wireless_energy_receiver.=能源无线接收 - -# ./src/main/java/mods/eln/transparentnode/electricalantennatx/ElectricalAntennaTxDescriptor.java -Efficiency\:_%s_up_to_%s=效率\:%s至%s -Wireless_energy_transmitter.=能源无线发送 - -# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceContainer.java -Heating_corp_slot=槽(加热核心) - -# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceDescriptor.java -Similar_to_a_vanilla_furnace,\nbut_heats_with_electricity.=跟一个正常的熔炉一样,只是用电驱动 - -# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceGuiDraw.java -Auto_shutdown=自动关闭 -Manual_shutdown=手动关闭 -Set_point\:_%s°C=设置温度\:%s°C - -# ./src/main/java/mods/eln/transparentnode/electricalmachine/ElectricalMachineDescriptor.java -Cost=价格 - -# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceContainer.java -Combustion_chamber_slot=槽(燃烧室) -Fuel_slot=槽(燃料) - -# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceDescriptor.java -Generates_heat_when_supplied_with_fuel.=提供燃料的时候产生热 - -# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceGuiDraw.java -Control_gauge_at_%s=操作规范\:%s -Decline_fuel=减少燃料 -External_control=手动控制 -Internal_control=自动控制 -Take_fuel=取走燃料 - -# ./src/main/java/mods/eln/transparentnode/powercapacitor/PowerCapacitorContainer.java -(Increases_maximal_voltage)=(增大最大电压) - -# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelContainer.java -Solar_tracker_slot=槽(太阳能跟踪器) - -# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelDescriptor.java -Can_be_geared_towards_the_sun.=可以使太阳能板直指太阳以获得更多的能源 -Max._power\:_%sW=最大功率\:%sW -Max._voltage\:_%sV=最大电压\:%sV -Produces_power_from_solar_radiation.=从太阳辐射获取能量 - -# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPannelGuiDraw.java -It_is_night=晚上了 -Solar_panel_angle\:_%s°=太阳能电板角度\:%s° -Sun_angle\:_%s°=太阳角度\:%s° - -# ./src/main/java/mods/eln/transparentnode/teleporter/TeleporterGui.java -Destination_transporter=传送至目的地 -Power_consumption\:=消耗功率\: -Power_consumption\:_%sW=使用功率\:%sW -Required_energy\:_%sJ=需要功率\:%sJ -Start=开始 -Transporter_name=传送机名称 - -# ./src/main/java/mods/eln/transparentnode/thermaldissipatoractive/ThermalDissipatorActiveDescriptor.java -Fan_cooling_power\:_%sW=风冷功率\:%sW -Fan_power_consumption\:_%sW=风扇功率\:%sW -Fan_voltage\:_%sV=风扇电压\:%sV - -# ./src/main/java/mods/eln/transparentnode/transformer/TransformerDescriptor.java -The_voltage_ratio_is_proportional\nto_the_cable_stacks_count_ratio.=电压与导线的数目成正比 -Transforms_an_input_voltage_to\nan_output_voltage.=将输入电压转换为输出电压 - -# ./src/main/java/mods/eln/transparentnode/turbine/TurbineDescriptor.java -Generates_electricity_using_heat.=用热能来发电 -Temperature_difference\:_%s°C=温度差\:%s°C - -# ./src/main/java/mods/eln/transparentnode/turret/TurretDescriptor.java -CAUTION\:_Cables_can_get_quite_hot!=警告\:导线过热 -Laser_charge_power\:_%sW...%skW=激光充电功率\:%sW...%skW -Scans_for_entities_and_shoots_if_the\nentity_matches_the_configurable_filter_criteria.=范围内如果找到的实体与过滤器一致\n那么开始攻击该实体直至实体从范围内移除 -Standby_power\:_%sW=备用功率\:%sW - -# ./src/main/java/mods/eln/transparentnode/turret/TurretGui.java -Attack\:=攻击\: -Do_not_attack\:=不攻击\: -Recharge_power\:=放电功率 - -# ./src/main/java/mods/eln/transparentnode/waterturbine/WaterTurbineDescriptor.java -Generates_energy_using_water_stream.=用流动水来发电 -No_place_for_water_turbine!=没有足够的空间供水力发电机工作 - -# ./src/main/java/mods/eln/transparentnode/windturbine/WindTurbineDescriptor.java -Front\:_%s=前面\:%s -Generates_energy_from_wind.=用风来发电 -Left_Right\:_%s=左/右\:%s -Up_Down\:_%s=上/下\:%s -Wind_area\:=风区 - -# ./src/main/java/mods/eln/wiki/Data.java -Energy=功率 -Light=亮度 -Machine=机器 -Ore=kuang'shi -Portable=便携式 -Resource=源 -Signal=信号 -Thermal=热能 -Upgrade=升级 -Utilities=公用 -Wiring=布线 - -# ./src/main/java/mods/eln/wiki/Default.java -Previous=过去的 - -# ./src/main/java/mods/eln/wiki/ItemDefault.java -Can_be_used_to_craft\:=可以用来合成\: -Cannot_be_crafted!=不能合成而得\! -Cost_%sJ=消耗能量\:%sJ -Created_by\:=制作原料\: -Is_not_a_crafting_material!=不能合成其他物品\! -Recipe\:=合成表\: - -# Appearing in multiple source files -(Increases_capacity)=(增大容量) -(Increases_inductance)=(增大电感) -Actual\:_%s°C=实际温度\:%s°C -Biggest=最大的 -Booster_slot=槽(增压器) -Can_create\:=可以合成\: -Capacity\:_%sF=容量\:%sF -Charge_power\:_%sW=充电功率\:%sW -Connected=已连接 -Cooling_power\:_%sW=冷却功率\:%sW -Copper_cable_slot=槽(铜导线) -Dielectric_slot=槽(绝缘体) -Discharge_power\:_%sW=输出功率\:%sW -Electrical_cable_slot=槽(电力导线) -Entity_filter_slot=槽(生物过滤器) -Ferromagnetic_core_slot=槽(磁能核心) -Has_a_signal_output.=有一个信号输出 -Inductance\:_%sH=电感\:%sH -Internal_resistance\:_%sΩ=内阻\:%sΩ -Is_off=关 -Is_on=开 -Max._temperature\:_%s°C=最高温度\:%s°C -Measured_value\ncorresponding\nto_0%_output=测量zhi\n对应\n0%输出 -Measured_value\ncorresponding\nto_100%_output=测量zhi\n对应\n0%输出 -Nominal\:=理论\: -Nominal_power\:_%sW=理论功率\:%sW -Nominal_usage\:=理论使用\: -Nominal_voltage\:_%sV=理论电压\:%sV -Not_connected=未连接 -Not_enough_space_for_this_block=没有足够空间放置这个方块 -Power=功率 -Power\:_%sW=功率\:%sW -Range\:_%s_blocks=范围\:%s个方块 -Redstone_slot=槽(红石) -Regulator_slot=槽(校准器) -Reset=重置 -Resistance\:_%sΩ=电阻\:%sΩ -Smallest=最小的 -Specify_the_channel=指定通道 -Stored_energy\:_%sJ_(%s)=储存的能量\:%sJ(%s) -Temperature\:_%s°C=温度\:%s°C -Temperature_gauge=温度计 -Thermal_isolator_slot=槽(隔热器) -Toggle=切换 -Toggle_switch=切换开关 -Toggles_the_output_each_time\nan_emitter's_value_rises.\nUseful_to_allow_multiple_buttons\nto_control_the_same_light.=按按钮时增大输出\n在多个开关控制同一灯泡时很有用 -Used_to_cool_down_turbines.=用来冷却涡轮 -Uses_the_biggest\nvalue_on_the_channel.=使用通道上最高的值 -Uses_the_smallest\nvalue_on_the_channel.=使用通道上最低的值 -Validate=证实 -Voltage\:_%sV=电压\:%sV -You_can't_place_this_block_at_this_side=不能把方块放在这一边哟~ +eln:# +eln: +eln:# ./src/main/java/mods/eln/Achievements.java +eln:Electrical_Age_[WIP]=电力时代Electrical Age\n(translate by KLsz and polish by aneBlack) +eln:achievement.craft_50v_macerator=初入粉碎之法 +eln:achievement.craft_50v_macerator.desc=50V的粉碎工艺! +eln:achievement.open_guide=学会内置Wiki +eln:achievement.open_guide.desc=内置Wiki的能量,超乎你想象 +eln: +eln:# ./src/main/java/mods/eln/Eln.java +eln:10A_Diode.name=二极管(10A) +eln:200V_Active_Thermal_Dissipator.name=散热器(T\:200W+1.2kW,200°C;E\:200V,60W) +eln:200V_Battery_Charger.name=电池充电器(200V,1kW) +eln:200V_Compressor.name=压缩机(200V) +eln:200V_Condensator.name=电容(200V) +eln:200V_Copper_Heating_Corp.name=铜电热丝(200V,600W) +eln:200V_Economic_Light_Bulb.name=节能灯泡(200V,15W) +eln:200V_Farming_Lamp.name=暖箱灯泡(200V,120W) +eln:200V_Fuel_Generator.name=200V Fuel Generator +eln:200V_Incandescent_Light_Bulb.name=白炽灯泡(200V,30W) +eln:200V_Iron_Heating_Corp.name=铁电热丝(200V,900W) +eln:200V_LED_Bulb.name=200V LED Bulb +eln:200V_Macerator.name=粉碎机(200V,400W) +eln:200V_Magnetizer.name=磁化器(200V,400W) +eln:200V_Plate_Machine.name=冷轧机(200V,400W) +eln:200V_Power_Socket.name=能源接口(200V) +eln:200V_Tungsten_Heating_Corp.name=钨电热丝(200V,1.2kW) +eln:200V_Turbine.name=发电机(温差,200V,500W,Δ350°C) +eln:25A_Diode.name=二极管(25A) +eln:50V_Battery_Charger.name=电池充电器(50V,400W) +eln:50V_Carbon_Incandescent_Light_Bulb.name=碳丝灯泡(50V,25W) +eln:50V_Compressor.name=压缩机(50V) +eln:50V_Condensator.name=电容(50V) +eln:50V_Copper_Heating_Corp.name=铜电热丝(50V,250W) +eln:50V_Economic_Light_Bulb.name=节能灯泡(50V,15W) +eln:50V_Egg_Incubator.name=鸡蛋孵化器(50V) +eln:50V_Farming_Lamp.name=暖箱灯泡(50V,120W) +eln:50V_Fuel_Generator.name=50V Fuel Generator +eln:50V_Incandescent_Light_Bulb.name=白炽灯泡(50V,30W) +eln:50V_Iron_Heating_Corp.name=铁电热丝(50V,375W) +eln:50V_LED_Bulb.name=50V LED Bulb +eln:50V_Macerator.name=粉碎机(50V,200W) +eln:50V_Magnetizer.name=磁化机(50V,200W) +eln:50V_Plate_Machine.name=冷轧机(50V,200W) +eln:50V_Power_Socket.name=能源接口(50V) +eln:50V_Tungsten_Heating_Corp.name=钨电热丝(50V,500W) +eln:50V_Turbine.name=发电机(温差,50V,300W,Δ250°C) +eln:800V_Defence_Turret.name=防御塔(800V,min-50W,max-1kW) +eln:AND_Chip.name=AND Chip +eln:Advanced_Chip.name=芯片(高级) +eln:Advanced_Electrical_Motor.name=电机(高级) +eln:Advanced_Energy_Meter.name=电能表(高级) +eln:Advanced_Machine_Block.name=机器方块(高级) +eln:Advanced_Magnet.name=磁铁(高级) +eln:AllMeter.name=通用表 +eln:Alloy_Dust.name=钨钢合金粉 +eln:Alloy_Ingot.name=钨钢合金锭 +eln:Alloy_Plate.name=钨钢合金板 +eln:Analog_Watch.name=模拟时钟 +eln:Analog_vuMeter.name=模拟电压表(信号) +eln:Analogic_Regulator.name=模拟温控组件 +eln:Animal_Filter.name=动物筛选组件 +eln:Auto_Miner.name=自动挖矿机(800V) +eln:Average_Electrical_Drill.name=电钻(1kW,5") +eln:Average_Ferromagnetic_Core.name=磁能核心(4.0) +eln:Basic_Magnet.name=磁铁(基础) +eln:Black_Brush.name=刷子(黑) +eln:Blue_Brush.name=刷子(蓝) +eln:Brown_Brush.name=刷子(棕) +eln:Capacity_Oriented_Battery.name=电源(容量更大,12V,125W,240kJ) +eln:Cheap_Chip.name=芯片(基础) +eln:Cheap_Electrical_Drill.name=电钻(500W,8") +eln:Cheap_Ferromagnetic_Core.name=磁能核心(10.0) +eln:Cinnabar_Dust.name=朱砂粉 +eln:Cinnabar_Ore.name=朱砂矿石 +eln:Coal_Dust.name=煤粉 +eln:Coal_Plate.name=煤板 +eln:Combustion_Chamber.name=炉膛组件 +eln:Copper_Cable.name=导线(铜) +eln:Copper_Dust.name=铜粉 +eln:Copper_Ingot.name=铜锭 +eln:Copper_Ore.name=铜矿 +eln:Copper_Plate.name=铜板 +eln:Copper_Thermal_Cable.name=导热管(铜,1k°C) +eln:Cost_Oriented_Battery.name=电源(更廉价,50V,250W,60KJ) +eln:Current_Oriented_Battery.name=电源(电流更大,50V,1000W,40KJ) +eln:Cyan_Brush.name=刷子(青) +eln:D_Flip_Flop_Chip.name=D Flip Flop Chip +eln:Data_Logger.name=示波器(台式,信号) +eln:Data_Logger_Print.name=示波器(打印,信号) +eln:Dielectric.name=绝缘体 +eln:Digital_Watch.name=数字时钟 +eln:Electrical_Anemometer_Sensor.name=传感器(风力) +eln:Electrical_Breaker.name=断路器 +eln:Electrical_Daylight_Sensor.name=感应器(阳光) +eln:Electrical_Entity_Sensor.name=感应器(实体) +eln:Electrical_Fire_Detector.name=电气火花传感器 +eln:Electrical_Furnace.name=电炉 +eln:Electrical_Light_Sensor.name=感应器(光) +eln:Electrical_Motor.name=电机 +eln:Electrical_Probe.name=电力传感器 +eln:Electrical_Probe_Chip.name=芯片(电力传感器) +eln:Electrical_Source.name=电源 +eln:Electrical_Timer.name=断路延时器 +eln:Electrical_Weather_Sensor.name=传感器(天气) +eln:Electrical_age_wrench,\nCan_be_used_to_turn\nsmall_wall_blocks=扳手用来翻转一些小方块 +eln:Energy_Meter.name=电能表 +eln:Experimental_Transporter.name=传送机 +eln:Fast_Electrical_Drill.name=电钻(2kW,3") +eln:Ferrite_Ingot.name=铁氧体锭 +eln:Flat_Lamp_Socket.name=灯座(扁平) +eln:Fluorescent_Lamp_Socket.name=灯座(荧光) +eln:Generator.name=Generator +eln:Gold_Dust.name=金粉 +eln:Gold_Plate.name=金板 +eln:Gray_Brush.name=刷子(灰) +eln:Green_Brush.name=刷子(绿) +eln:Ground_Cable.name=导线(接地) +eln:High_Power_Receiver_Antenna.name=天线(接收)(800V,2kW) +eln:High_Power_Transmitter_Antenna.name=天线(发射)(800V,2kW,300m) +eln:High_Voltage_Cable.name=导线(800V,5kW) +eln:High_Voltage_Relay.name=继电器(800V) +eln:High_Voltage_Switch.name=开关(800V) +eln:Hub.name=集线器 +eln:Industrial_Data_Logger.name=示波器(工业,信号) +eln:Iron_Cable.name=导线(铁) +eln:Iron_Dust.name=铁粉 +eln:Iron_Plate.name=铁板 +eln:JK_Flip_Flop_Chip.name=JK Flip Flop Chip +eln:LED_vuMeter.name=LED指示灯 +eln:Lamp_Socket_A.name=灯座(圆盘式) +eln:Lamp_Socket_B_Projector.name=灯座(圆盘式,高级) +eln:Lamp_Supply.name=无线照明控制盒 +eln:Large_Rheostat.name=Large Rheostat +eln:Lead_Dust.name=铅粉 +eln:Lead_Ingot.name=铅锭 +eln:Lead_Ore.name=铅矿石 +eln:Lead_Plate.name=铅板 +eln:Life_Oriented_Battery.name=电源(生命更长,50V,250W,60KJ) +eln:Light_Blue_Brush.name=刷子(浅蓝) +eln:Lime_Brush.name=刷子(黄绿) +eln:Long_Suspended_Lamp_Socket.name=灯座(吊挂,长) +eln:Low_Power_Receiver_Antenna.name=天线(接收)(50V,250W) +eln:Low_Power_Transmitter_Antenna.name=天线(发射)(50V,250W,200m) +eln:Low_Voltage_Cable.name=导线(50V,1kW) +eln:Low_Voltage_Relay.name=继电器(50V) +eln:Low_Voltage_Switch.name=开关(50V) +eln:Machine_Block.name=机器方块 +eln:Machine_Booster.name=增压器 +eln:Magenta_Brush.name=刷子(品红) +eln:Medium_Power_Receiver_Antenna.name=天线(接收)(200V,1kW) +eln:Medium_Power_Transmitter_Antenna.name=天线(发射)(200V,1kW,250m) +eln:Medium_Voltage_Cable.name=导线(200V,2kW) +eln:Medium_Voltage_Relay.name=继电器(200V) +eln:Medium_Voltage_Switch.name=开关(200V) +eln:Mercury.name=汞 +eln:Mining_Pipe.name=采矿管道 +eln:Modbus_RTU.name=Modbus RTU通讯协议 +eln:Modern_Data_Logger.name=示波器(薄屏,信号) +eln:Monster_Filter.name=怪物筛选组件 +eln:MultiMeter.name=万用表 +eln:NAND_Chip.name=NAND Chip +eln:NOR_Chip.name=NOR Chip +eln:NOT_Chip.name=NOT Chip +eln:Nuclear_Alarm.name=警报(核) +eln:OR_Chip.name=OR Chip +eln:On_OFF_Regulator_10_Percent.name=开/关温控10% +eln:On_OFF_Regulator_1_Percent.name=开/关温控1% +eln:Optimal_Ferromagnetic_Core.name=磁能核心(1.0) +eln:Orange_Brush.name=刷子(橙) +eln:Ore_Scanner.name=矿物扫描仪 +eln:Oscillator_Chip.name=Oscillator Chip +eln:Overheating_Protection.name=保护装置(过热) +eln:Overvoltage_Protection.name=保护装置(过压) +eln:PAL_Chip.name=PAL Chip +eln:Pink_Brush.name=刷子(粉) +eln:Player_Filter.name=玩家筛选组件 +eln:Portable_Battery.name=移动电池 +eln:Portable_Battery_Pack.name=移动电池包 +eln:Portable_Condensator.name=移动电容 +eln:Portable_Condensator_Pack.name=移动电容包 +eln:Portable_Electrical_Axe.name=电斧 +eln:Portable_Electrical_Mining_Drill.name=电钻 +eln:Power_Capacitor.name=电容 +eln:Power_Inductor.name=电感 +eln:Power_Resistor.name=电阻 +eln:Power_capacitor.name=电容 +eln:Power_inductor.name=电感 +eln:Purple_Brush.name=刷子(紫) +eln:Red_Brush.name=刷子(红) +eln:Redstone-to-Voltage_Converter.name=转换器(红石→电) +eln:Rheostat.name=变阻器 +eln:Robust_Lamp_Socket.name=灯座(小) +eln:Rubber.name=橡胶 +eln:Schmitt_Trigger_Chip.name=Schmitt Trigger Chip +eln:Sconce_Lamp_Socket.name=灯座(壁挂) +eln:Signal_20H_inductor.name=电感(20H)(信号) +eln:Signal_Antenna.name=天线(信号) +eln:Signal_Button.name=按钮(信号) +eln:Signal_Cable.name=导线(信号) +eln:Signal_Diode.name=二极管(信号) +eln:Signal_Processor.name=信号处理器 +eln:Signal_Relay.name=继电器(信号) +eln:Signal_Source.name=信号源 +eln:Signal_Switch.name=开关(信号) +eln:Signal_Switch_with_LED.name=开关(信号)(LED) +eln:Signal_Trimmer.name=信号发生器 +eln:Silicon_Dust.name=硅粉 +eln:Silicon_Ingot.name=硅锭 +eln:Silicon_Plate.name=硅板 +eln:Silver_Brush.name=刷子(银) +eln:Simple_Lamp_Socket.name=灯座(普通) +eln:Single-use_Battery.name=电源(一次性,50V,500W,120kJ) +eln:Small_200V_Copper_Heating_Corp.name=加热核心(铜,200V,小) +eln:Small_200V_Iron_Heating_Corp.name=加热核心(铁,200V,小) +eln:Small_200V_Tungsten_Heating_Corp.name=加热核心(钨,200V,小) +eln:Small_50V_Carbon_Incandescent_Light_Bulb.name=小型碳丝灯泡(50V) +eln:Small_50V_Copper_Heating_Corp.name=加热核心(铜,50V,小) +eln:Small_50V_Economic_Light_Bulb.name=小型节能灯泡(50V) +eln:Small_50V_Incandescent_Light_Bulb.name=小型白炽灯泡(50V) +eln:Small_50V_Iron_Heating_Corp.name=加热核心(铁,50V,小) +eln:Small_50V_Tungsten_Heating_Corp.name=加热核心(钨,50V,小) +eln:Small_Active_Thermal_Dissipator.name=散热器(T\:200W+800W,150°C;E\:50V,50W) +eln:Small_Flashlight.name=手电筒 +eln:Small_Passive_Thermal_Dissipator.name=散热器(250W,220°C) +eln:Small_Rotating_Solar_Panel.name=太阳能电池板(追踪,14.8V,65W) +eln:Small_Solar_Panel.name=太阳能电板(14.8V,65W) +eln:Solar_Tracker.name=太阳追踪组件 +eln:Standard_Alarm.name=警报(基础) +eln:Steam_Turbine.name=Steam Turbine +eln:Stone_Heat_Furnace.name=燃烧器(800°C,1kW) +eln:Street_Light.name=灯座(路灯) +eln:Suspended_Lamp_Socket.name=灯座(吊挂) +eln:Temperature_Probe.name=温度传感器 +eln:Thermal_Probe.name=热能传感器 +eln:Thermal_Probe_Chip.name=芯片(热能传感器) +eln:Thermistor.name=热敏电阻 +eln:ThermoMeter.name=温度计 +eln:Transformer.name=变压器 +eln:Tree_Resin.name=树脂 +eln:Tree_Resin_Collector.name=树脂收集器 +eln:Tungsten_Cable.name=导线(钨) +eln:Tungsten_Dust.name=钨粉 +eln:Tungsten_Ingot.name=钨锭 +eln:Tungsten_Ore.name=钨矿石 +eln:Tutorial_Sign.name=指示标志 +eln:Very_High_Voltage_Cable.name=导线(3200V) +eln:Very_High_Voltage_Relay.name=继电器(3200V) +eln:Very_High_Voltage_Switch.name=开关(3200V) +eln:Voltage-to-Redstone_Converter.name=转换器(电→红石) +eln:Voltage_Oriented_Battery.name=电源(电压更大,200V,250W) +eln:Voltage_Probe.name=电压传感器 +eln:Water_Turbine.name=发电机(水力,50V,30W) +eln:Weak_50V_Battery_Charger.name=电池充电器(50V,200W) +eln:White_Brush.name=刷子(白) +eln:Wind_Turbine.name=发电机(风力,59V,160W) +eln:Wireless_Analyser.name=监测仪(无线) +eln:Wireless_Button.name=按钮(无线) +eln:Wireless_Signal_Receiver.name=信号接收器(无线) +eln:Wireless_Signal_Repeater.name=信号加强器(无线) +eln:Wireless_Signal_Transmitter.name=信号发射器(无线) +eln:Wireless_Switch.name=开关(无线) +eln:Wrench.name=扳手 +eln:X-Ray_Scanner.name=扫描仪 +eln:XNOR_Chip.name=XNOR Chip +eln:XOR_Chip.name=XOR Chip +eln:Yellow_Brush.name=刷子(黄) +eln:entity.EAReplicator.name=复制机 +eln:item.Copper Axe.name\=铜镐 +eln:item.Copper Axe.name\=铜镐 +eln:item.Copper Axe.name\=铜镐 +eln:item.Copper Axe.name\=铜镐 +eln:item.Copper Axe.name\=铜镐 +eln:item.Copper Axe.name\=铜镐 +eln:item.Copper Axe.name\=铜镐 +eln:item.Copper Axe.name\=铜镐 +eln:item.Copper Axe.name\=铜镐 +eln:item.E-Coal Boots.name\=EC鞋 +eln:item.E-Coal Boots.name\=EC鞋 +eln:item.E-Coal Boots.name\=EC鞋 +eln:item.E-Coal Boots.name\=EC鞋 +eln:itemGroup.Eln=电力时代 +eln:mod.meta.desc=你的基地,因使用电力产生红热的光芒\! +eln:tile.eln.ElnProbe.name=电力时代电脑传感器 +eln:tile.eln.EnergyConverterElnToOtherHVUBlock.name=电力时代能源(800V)转至其他能源 +eln:tile.eln.EnergyConverterElnToOtherLVUBlock.name=电力时代能源(50V)转至其他能源 +eln:tile.eln.EnergyConverterElnToOtherMVUBlock.name=电力时代能源(200V)转至其他能源 +eln: +eln:# ./src/main/java/mods/eln/i18n/I18N.java +eln:You_have_%s_lives_left=你还剩%s条生命 +eln: +eln:# ./src/main/java/mods/eln/item/BrushDescriptor.java +eln:Brush_is_dry=刷子干了 +eln:Can_paint_%s_blocks=可以继续漆%s个方块 +eln: +eln:# ./src/main/java/mods/eln/item/CombustionChamber.java +eln:Upgrade_for_the_Stone_Heat_Furnace.=你的发电机升级啦~ +eln: +eln:# ./src/main/java/mods/eln/item/ElectricalDrillDescriptor.java +eln:Energy_per_operation\:_%sJ=启动需要能量\:%sJ +eln:Time_per_operation\:_%ss=启动所需时间\:%ss +eln: +eln:# ./src/main/java/mods/eln/item/FerromagneticCoreDescriptor.java +eln:Cable_loss_factor\:_%s=导线损耗系数\:%s +eln: +eln:# ./src/main/java/mods/eln/item/HeatingCorpElement.java +eln: +eln:# ./src/main/java/mods/eln/item/LampDescriptor.java +eln:Bad=差 +eln:Condition\:=条件\: +eln:End_of_life=生命就此终结 +eln:Good=好 +eln:New=新 +eln:Nominal_lifetime\:_%sh=理论寿命\:%sh +eln:Technology\:_%s=科技\:%s +eln:Used=旧 +eln: +eln:# ./src/main/java/mods/eln/item/LampSlot.java +eln:Lamp_slot=槽(灯) +eln: +eln:# ./src/main/java/mods/eln/item/OverHeatingProtectionDescriptor.java +eln:Useful_to_prevent_overheating\nof_Batteries=有效防止电源过热 +eln: +eln:# ./src/main/java/mods/eln/item/OverVoltageProtectionDescriptor.java +eln:Useful_to_prevent_over-voltage\nof_Batteries=有效防止电源过压 +eln: +eln:# ./src/main/java/mods/eln/item/SolarTrackerDescriptor.java +eln:Solar_panel_upgrade=太阳能电板升级 +eln: +eln:# ./src/main/java/mods/eln/item/electricalitem/BatteryItem.java +eln: +eln:# ./src/main/java/mods/eln/item/electricalitem/ElectricalLampItem.java +eln:Off=关 +eln:On=开 +eln:State\:=状态\: +eln:Stored_Energy\:_%sJ_(%s)=储存的能量\:%sJ(%s) +eln: +eln:# ./src/main/java/mods/eln/item/regulator/RegulatorSlot.java +eln: +eln:# ./src/main/java/mods/eln/misc/UtilsClient.java +eln:Hold_shift=请戳Shift +eln: +eln:# ./src/main/java/mods/eln/misc/Version.java +eln:mod.name=电力时代 +eln: +eln:# ./src/main/java/mods/eln/node/six/SixNodeDescriptor.java +eln: +eln:# ./src/main/java/mods/eln/simplenode/energyconverter/EnergyConverterElnToOtherGui.java +eln:Input_power_is_limited_to_%sW=输入功率限制\:%sW +eln: +eln:# ./src/main/java/mods/eln/sixnode/LogicGate.kt +eln:_O\:_= O\: +eln: +eln:# ./src/main/java/mods/eln/sixnode/TreeResinCollector/TreeResinCollectorDescriptor.java +eln:Produces_Tree_Resin_over\ntime_when_put_on_a_tree.=放在树上即可生产树脂 +eln:This_block_can_only_be_placed_on_the_side_of_a_tree!=这只能在一棵树的侧面防止啊 +eln: +eln:# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerContainer.java +eln:Battery_slot=槽(电池) +eln: +eln:# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerDescriptor.java +eln:Can_be_used_to_recharge\nelectrical_items_like\:\nFlash_Light,_X-Ray_scanner\nand_Portable_Battery_...=可以用来给电力时代的东西充电\n例如移动电池,手电筒,扫描仪 +eln: +eln:# ./src/main/java/mods/eln/sixnode/batterycharger/BatteryChargerGui.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/diode/DiodeDescriptor.java +eln:Electrical_current_can_only\nflow_through_the_diode\nfrom_anode_to_cathode=电流只能从二极管的一端流到另一端 +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalalarm/ElectricalAlarmDescriptor.java +eln:= +eln:Emits_an_acoustic_alarm_if\nthe_input_signal_is_high=当输入信号高的时候\n发出巨大的警报声 +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalalarm/ElectricalAlarmGui.java +eln:Sound_is_muted=声音已静音 +eln:Sound_is_not_muted=声音已开启 +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerContainer.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerDescriptor.java +eln:Protects_electrical_components\nOpens_contact_if\:\n__-_Voltage_exceeds_a_certain_level\n-_Current_exceeds_the_cable_limit=保护电路\n如果电压过大或电流过载都会打开 +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalbreaker/ElectricalBreakerGui.java +eln:Maximum_voltage_before_cutting_off=切断前最大电压 +eln:Minimum_voltage_before_cutting_off=切断前最小电压 +eln:Switch_is_off=开关关闭 +eln:Switch_is_on=开关打开 +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalcable/ElectricalCableDescriptor.java +eln:A_signal_is_electrical_information\nwhich_must_be_between_0V_and_%sV=信号用来传递电气信息\n必须要在0V和%sV之间 +eln:Cable_is_adapted_to_conduct\nelectrical_signals.=该电缆适用于传输电子信号 +eln:Current\:_%sA=电流\:%sA +eln:Not_adapted_to_transport_power.=没有适配到传送功率 +eln:Save_usage\:=保存用法\: +eln:Serial_resistance\:_%sΩ=串联电阻\:%sΩ +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerDescriptor.java +eln:It_can_store_up_to_256_points.=它最多可以储存256个单位 +eln:Measures_the_voltage_of_an\nelectrical_signal_and_plots\nthe_data_in_real_time.=测量电子信号的实时电压 +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricaldatalogger/ElectricalDataLoggerGui.java +eln:Back_to_display=回到显示 +eln:Configuration=配置 +eln:Current_[A]=电流(A) +eln:Energy_[J]=能量(J) +eln:Percent_[-]%=百分比(%) +eln:Power_[W]=功率(W) +eln:Print=打印 +eln:Sampling_period=采样周期 +eln:Temp._[*C]=温度(°C) +eln:Voltage_[V]=电压(V) +eln:Y-axis_max=Y轴最大值 +eln:Y-axis_min=Y轴最小值 +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorContainer.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalentitysensor/ElectricalEntitySensorDescriptor.java +eln:Output_voltage_increases\nif_entities_are_moving_around.=如果有生物在周围移动那么增大输出电压 +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalfiredetector/ElectricalFireDetectorDescriptor.java +eln:Output_voltage_increases\nif_a_fire_has_been_detected.=如果周围有火那么增大输出电压 +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceDescriptor.java +eln:Provides_configurable_signal\nvoltage.=提供可调整的信号电压 +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalgatesource/ElectricalGateSourceGui.java +eln:Output_at_%s=输出\:%s +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricallightsensor/ElectricalLightSensorDescriptor.java +eln:0V_at_night,_%sV_at_noon.=夜间0V,午时%sV +eln:Provides_an_electrical_voltage\nin_the_presence_of_light.=接受到光的时候提供电压 +eln:Provides_an_electrical_voltage\nwhich_is_proportional_to\nthe_intensity_of_daylight.=接收到日光的时候提供电压\n电压与日光强度成正比 +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathContainer.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathDescriptor.java +eln:Applicable_boolean_operators\:=适用于布尔(boolean)算子\: +eln:Applicable_functions\:=适用于\: +eln:Applicable_mathematical_operators\:=适用于数学算子 +eln:Calculates_an_output_signal_from\n3_inputs_(A,_B,_C)_using_an_equation.=用3个输入(A,B,C)值\n进行函数计算\n然后输出信号 +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalmath/ElectricalMathGui.java +eln:%s_Redstone(s)_required=需要%s个红石粉 +eln:Equation_required!=需要方程式 +eln:Inputs_are=输入是 +eln:Invalid_equation!=无效方程式 +eln:Output_voltage_formula=输出电压公式 +eln:Waiting_for_completion...=请稍后... +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalredstoneinput/ElectricalRedstoneInputDescriptor.java +eln:Converts_Redstone_signal\nto_an_electrical_voltage.=把红石信号转换为电压 +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalredstoneoutput/ElectricalRedstoneOutputDescriptor.java +eln:Converts_electrical_voltage\ninto_a_Redstone_signal.=把电压转换为红石信号 +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalrelay/ElectricalRelayDescriptor.java +eln:A_relay_is_an_electrical\ncontact_that_conducts_electric\ncurrent_or_not,_depending\nthe_actual_input_signal_voltage.=继电器是根据信号电压的有无\n控制电路闭合断开的仪器 +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalrelay/ElectricalRelayGui.java +eln:Normally_closed=默认关闭 +eln:Normally_open=默认打开 +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalsource/ElectricalSourceDescriptor.java +eln:Creative_block.=创造方块 +eln:Provides_an_ideal_voltage_source\nwithout_energy_or_power_limitation.=无限制的永久能源(创造专用) +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalsource/ElectricalSourceGui.java +eln:Output_voltage=输出电压 +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalswitch/ElectricalSwitchDescriptor.java +eln:Can_break_an_electrical_circuit\ninterrupting_the_current.=能破坏导线以中断电流 +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricaltimeout/ElectricalTimeoutDescriptor.java +eln:Upon_application_of_a_high_signal,\nthe_timer_maintains_the_output_high_for\na_configurable_interval._Can_be_re-triggered.=当应用于高强度信号时\n定时器一定输出间隔后会输出高强度信号。\n可以循环进行 +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricaltimeout/ElectricalTimeoutGui.java +eln:Set=设置 +eln:The_time_interval_the\noutput_is_kept_high.=保持高输出间隔 +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalvumeter/ElectricalVuMeterDescriptor.java +eln:Displays_the_value_of_a_signal.=显示信号的值 +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalwatch/ElectricalWatchContainer.java +eln:Portable_battery_slot=槽(移动电池) +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalweathersensor/ElectricalWeatherSensorDescriptor.java +eln:Clear\:_%sV=晴朗\:%sV +eln:Provides_an_electrical_signal\ndepending_the_actual_weather.=提供信号,强度由天气决定 +eln:Rain\:_%sV=阴雨\:%sV +eln:Storm\:_%sV=雷暴\:%sV +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricalwindsensor/ElectricalWindSensorDescriptor.java +eln:Maximum_wind_speed_is_%sm_s=最高风速%sm/s +eln:Provides_an_electrical_signal\ndependant_on_wind_speed.=提供信号,强度由风速决定 +eln:You_can't_place_this_block_on_the_floor_or_the_ceiling=You can't place this block on the floor or the ceiling +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricasensor/ElectricalSensorDescriptor.java +eln:Can_measure_Voltage_Power_Current=可以测量电压/功率/电流 +eln:Measures_electrical_values_on_cables.=测量电缆的电气值 +eln:Measures_voltage_on_cables.=测量导线上的电压 +eln: +eln:# ./src/main/java/mods/eln/sixnode/electricasensor/ElectricalSensorGui.java +eln:Current=电流 +eln:Measured_voltage\ncorresponding\nto_0%_output=测量电压\n对应\n0%输出 +eln:Measured_voltage\ncorresponding\nto_100%_output=测量电压\n对应\n0%输出 +eln:Voltage=电压 +eln: +eln:# ./src/main/java/mods/eln/sixnode/energymeter/EnergyMeterGui.java +eln:Change_password=修改密码 +eln:Counter_Mode=计数模式 +eln:Counts_the_energy_conducted_from\n\u00a74red\u00a7f_to_\u00a71blue\u00a7f.=计算从\\u00a74red\\u00a7f到\\u00a71blue\\u00a7f的能量 +eln:Energy_counter\:_%sJ=能量计算\:%sJ +eln:Enter_new_energy=输入新能源 +eln:Enter_password=输入密码 +eln:Prepay_Mode=预付费模式 +eln:Reset_time_counter=重置计时器 +eln:Set_energy_counter=设置计时器 +eln:Time_counter\:=计时器\: +eln:Try_password=测试密码 +eln:You_can_set_an_initial\namount_of_available_energy.\nWhen_the_counter_arrives_at_0\nthe_contact_will_be_opened.=你可以设置一个初始的可用能量。\n当计时器到达0时,电路联通。 +eln:is_off=关闭了 +eln:is_on=打开着 +eln:value_in_kJ=单位是kJ +eln: +eln:# ./src/main/java/mods/eln/sixnode/groundcable/GroundCableDescriptor.java +eln:Can_be_used_to_set_a_point_of_an\nelectrical_network_to_0V_potential.\nFor_example_to_ground_negative_battery_contacts.=可以用来设置0V的点位\n例如电池负极 +eln:Provides_a_zero_volt_reference.=提供0V电路供参考 +eln: +eln:# ./src/main/java/mods/eln/sixnode/hub/HubDescriptor.java +eln:Allows_crossing_cables\non_one_single_block.=允许导线在一个方块上面交叉 +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketDescriptor.java +eln:Angle\:_%s°_to_%s°=角度\:%s°到%s° +eln:Spot_range\:_%s_blocks=污染范围\:%s个方块 +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsocket/LampSocketGuiDraw.java +eln:%s_is_not_in_range!=%s不在范围内 +eln:Cable_slot_empty=槽(导线) +eln:Orientation\:_%s°=方向\:%s° +eln:Parallel=并联 +eln:Powered_by_Lamp_Supply=由无线照明控制盒供电 +eln:Powered_by_cable=导线供电 +eln:Serial=串联 +eln:Specify_the_supply_channel=指定供应通道 +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyContainer.java +eln:Electrical_cable_slot\nBase_range_is_32_blocks.\nEach_additional_cable\nincreases_range_by_one.=电力导线槽\n基本范围为32格\n每加入一条电线\n增加一格的范围 +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyDescriptor.java +eln:Supplies_all_lamps_on_the_channel.=给接入该通道的每个电灯供电 +eln: +eln:# ./src/main/java/mods/eln/sixnode/lampsupply/LampSupplyGui.java +eln:Power_channel_name=供电通道名称 +eln:Wireless_channel_name=无限通道名称 +eln: +eln:# ./src/main/java/mods/eln/sixnode/modbusrtu/ModbusRtuGui.java +eln:Add=增加 +eln:Channel_name=通道名称 +eln:Modbus_ID=Modbus网关 +eln:Modbus_RTU=Modbus RTU通讯协议 +eln:Station_ID=站点ID +eln:Station_name=站点名称 +eln:Wireless_RX=无线接收 +eln:Wireless_TX=无线发送 +eln: +eln:# ./src/main/java/mods/eln/sixnode/powercapacitorsix/PowerCapacitorSixContainer.java +eln:(Increases_maximum_voltage)=(增大最大电压) +eln: +eln:# ./src/main/java/mods/eln/sixnode/powercapacitorsix/PowerCapacitorSixGui.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/powerinductorsix/PowerInductorSixContainer.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/powerinductorsix/PowerInductorSixGui.java +eln: +eln:# ./src/main/java/mods/eln/sixnode/powersocket/PowerSocketDescriptor.java +eln:Supplies_any_device\nplugged_in_with_energy.=给任何接入的设备提供能量 +eln: +eln:# ./src/main/java/mods/eln/sixnode/powersocket/PowerSocketGui.java +eln:Specify_the_device_to_supply_through_this_socket.=提供给指定的已连接的某设备 +eln: +eln:# ./src/main/java/mods/eln/sixnode/resistor/ResistorContainer.java +eln:(Sets_resistance)=(设置电阻) +eln:Coal_dust_slot=槽(煤粉) +eln: +eln:# ./src/main/java/mods/eln/sixnode/thermalcable/ThermalCableDescriptor.java +eln:High_parallel_resistance\n_\=>_Low_power_dissipation.=并联大阻抗的电阻\n以获得低功耗 +eln:Low_serial_resistance\n_\=>_High_conductivity.=并联小阻抗的电阻\n以获得高功耗 +eln:Parallel_resistance\:_%sK_W=并联\:%sK/W +eln:Serial_resistance\:_%sK_W=串联\:%sK/W +eln: +eln:# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorContainer.java +eln:Cable_slot=槽(导线) +eln: +eln:# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorDescriptor.java +eln:Can_measure\:=可以测量\: +eln:Measures_temperature_of_cables.=测量导线的温度 +eln:Measures_thermal_values_on_cables.=测量导线的温度 +eln:__Temperature_Power_conducted=热/电传导 +eln: +eln:# ./src/main/java/mods/eln/sixnode/thermalsensor/ThermalSensorGui.java +eln:Measured_temperature\ncorresponding\nto_0%_output=测量温度\n对应\n0%输出 +eln:Measured_temperature\ncorresponding\nto_100%_output=测量温度\n对应\n0%输出 +eln:Temperature=温度 +eln: +eln:# ./src/main/java/mods/eln/sixnode/tutorialsign/TutorialSignElement.java +eln:No_text_associated_to_this_beacon=没有关联到这个信标的文本 +eln: +eln:# ./src/main/java/mods/eln/sixnode/tutorialsign/TutorialSignGui.java +eln:Set_beacon_name=设置信标名称 +eln: +eln:# ./src/main/java/mods/eln/sixnode/wirelesssignal/rx/WirelessSignalRxGui.java +eln: +eln:# ./src/main/java/mods/eln/transparentnode/FuelGenerator.kt +eln:Nominal_power\:_%s_W=Nominal power\: %s W +eln:Nominal_voltage\:_%s_V=Nominal voltage\: %s V +eln:Produces_electricity_using_fuel.=用燃料来发电 +eln: +eln:# ./src/main/java/mods/eln/transparentnode/LargeRheostat.kt +eln:Nom._Resistance\:_%s=Nom. Resistance\: %s +eln: +eln:# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerContainer.java +eln:Drill_slot=槽(钻头) +eln:Mining_pipe_slot=槽(挖矿管道) +eln:Ore_scanner_slot=槽(矿物扫描仪) +eln: +eln:# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerDescriptor.java +eln:Excavates_on_a_small_radius.\nExtracts_ore_on_a_bigger_radius\:\n10_blocks_radius_after_10_blocks_depth.=小搜索范围挖掘\n挖了10格深后以10个方块为半径挖掘 +eln: +eln:# ./src/main/java/mods/eln/transparentnode/autominer/AutoMinerGuiDraw.java +eln:Chest_missing_on_the\nback_of_the_auto_miner!=自动挖矿机背部没有检测到箱子耶 +eln:Halves_speed,_triples_power_draw=Halves speed, triples power draw +eln:Silk_Touch_Off=Silk Touch Off +eln:Silk_Touch_On=Silk Touch On +eln:Silk_touch=Silk touch +eln: +eln:# ./src/main/java/mods/eln/transparentnode/battery/BatteryContainer.java +eln:Overheating_protection=保护装置(过热) +eln:Overvoltage_protection=当压力过大时提供保护 +eln: +eln:# ./src/main/java/mods/eln/transparentnode/battery/BatteryDescriptor.java +eln:Actual_charge\:_%s=实际电量\:%s +eln:Energy_capacity\:_%sJ=能量容量\:%sJ +eln:_charged_at_%s=剩余电量\:%s +eln: +eln:# ./src/main/java/mods/eln/transparentnode/battery/BatteryGuiDraw.java +eln:Charge=充电 +eln:Charged=充满了 +eln:Discharge=放点 +eln:Energy\:=能量\: +eln:Energy\:_%s=能量\:%s +eln:Life\:=寿命\: +eln:No_charge=没有充电 +eln:Power_in\:=输入能量\: +eln:Power_out\:=输出能量 +eln: +eln:# ./src/main/java/mods/eln/transparentnode/eggincubator/EggIncubatorContainer.java +eln:Egg_slot=槽(蛋) +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalantennarx/ElectricalAntennaRxDescriptor.java +eln:Wireless_energy_receiver.=能源无线接收 +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalantennatx/ElectricalAntennaTxDescriptor.java +eln:Efficiency\:_%s_up_to_%s=效率\:%s至%s +eln:Wireless_energy_transmitter.=能源无线发送 +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceContainer.java +eln:Heating_corp_slot=槽(加热核心) +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceDescriptor.java +eln:Similar_to_a_vanilla_furnace,\nbut_heats_with_electricity.=跟一个正常的熔炉一样,只是用电驱动 +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalfurnace/ElectricalFurnaceGuiDraw.java +eln:Auto_shutdown=自动关闭 +eln:Manual_shutdown=手动关闭 +eln:Set_point\:_%s°C=设置温度\:%s°C +eln: +eln:# ./src/main/java/mods/eln/transparentnode/electricalmachine/ElectricalMachineDescriptor.java +eln:Cost=价格 +eln: +eln:# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceContainer.java +eln:Combustion_chamber_slot=槽(燃烧室) +eln:Fuel_slot=槽(燃料) +eln: +eln:# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceDescriptor.java +eln:Generates_heat_when_supplied_with_fuel.=提供燃料的时候产生热 +eln: +eln:# ./src/main/java/mods/eln/transparentnode/heatfurnace/HeatFurnaceGuiDraw.java +eln:Control_gauge_at_%s=操作规范\:%s +eln:Decline_fuel=减少燃料 +eln:External_control=手动控制 +eln:Internal_control=自动控制 +eln:Take_fuel=取走燃料 +eln: +eln:# ./src/main/java/mods/eln/transparentnode/powercapacitor/PowerCapacitorContainer.java +eln:(Increases_maximal_voltage)=(增大最大电压) +eln: +eln:# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelContainer.java +eln:Solar_tracker_slot=槽(太阳能跟踪器) +eln: +eln:# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPanelDescriptor.java +eln:Can_be_geared_towards_the_sun.=可以使太阳能板直指太阳以获得更多的能源 +eln:Max._power\:_%sW=最大功率\:%sW +eln:Max._voltage\:_%sV=最大电压\:%sV +eln:Produces_power_from_solar_radiation.=从太阳辐射获取能量 +eln: +eln:# ./src/main/java/mods/eln/transparentnode/solarpanel/SolarPannelGuiDraw.java +eln:It_is_night=晚上了 +eln:Solar_panel_angle\:_%s°=太阳能电板角度\:%s° +eln:Sun_angle\:_%s°=太阳角度\:%s° +eln: +eln:# ./src/main/java/mods/eln/transparentnode/teleporter/TeleporterGui.java +eln:Destination_transporter=传送至目的地 +eln:Power_consumption\:=消耗功率\: +eln:Power_consumption\:_%sW=使用功率\:%sW +eln:Required_energy\:_%sJ=需要功率\:%sJ +eln:Start=开始 +eln:Transporter_name=传送机名称 +eln: +eln:# ./src/main/java/mods/eln/transparentnode/thermaldissipatoractive/ThermalDissipatorActiveDescriptor.java +eln:Fan_cooling_power\:_%sW=风冷功率\:%sW +eln:Fan_power_consumption\:_%sW=风扇功率\:%sW +eln:Fan_voltage\:_%sV=风扇电压\:%sV +eln: +eln:# ./src/main/java/mods/eln/transparentnode/transformer/TransformerDescriptor.java +eln:The_voltage_ratio_is_proportional\nto_the_cable_stacks_count_ratio.=电压与导线的数目成正比 +eln:Transforms_an_input_voltage_to\nan_output_voltage.=将输入电压转换为输出电压 +eln: +eln:# ./src/main/java/mods/eln/transparentnode/turbine/TurbineDescriptor.java +eln:Generates_electricity_using_heat.=用热能来发电 +eln:Temperature_difference\:_%s°C=温度差\:%s°C +eln: +eln:# ./src/main/java/mods/eln/transparentnode/turret/TurretDescriptor.java +eln:CAUTION\:_Cables_can_get_quite_hot!=警告\:导线过热 +eln:Laser_charge_power\:_%sW...%skW=激光充电功率\:%sW...%skW +eln:Scans_for_entities_and_shoots_if_the\nentity_matches_the_configurable_filter_criteria.=范围内如果找到的实体与过滤器一致\n那么开始攻击该实体直至实体从范围内移除 +eln:Standby_power\:_%sW=备用功率\:%sW +eln: +eln:# ./src/main/java/mods/eln/transparentnode/turret/TurretGui.java +eln:Attack\:=攻击\: +eln:Do_not_attack\:=不攻击\: +eln:Recharge_power\:=放电功率 +eln: +eln:# ./src/main/java/mods/eln/transparentnode/waterturbine/WaterTurbineDescriptor.java +eln:Generates_energy_using_water_stream.=用流动水来发电 +eln:No_place_for_water_turbine!=没有足够的空间供水力发电机工作 +eln: +eln:# ./src/main/java/mods/eln/transparentnode/windturbine/WindTurbineDescriptor.java +eln:Front\:_%s=前面\:%s +eln:Generates_energy_from_wind.=用风来发电 +eln:Left_Right\:_%s=左/右\:%s +eln:Up_Down\:_%s=上/下\:%s +eln:Wind_area\:=风区 +eln: +eln:# ./src/main/java/mods/eln/wiki/Data.java +eln:Energy=功率 +eln:Light=亮度 +eln:Machine=机器 +eln:Ore=kuang'shi +eln:Portable=便携式 +eln:Resource=源 +eln:Signal=信号 +eln:Thermal=热能 +eln:Upgrade=升级 +eln:Utilities=公用 +eln:Wiring=布线 +eln: +eln:# ./src/main/java/mods/eln/wiki/Default.java +eln:Previous=过去的 +eln: +eln:# ./src/main/java/mods/eln/wiki/ItemDefault.java +eln:Can_be_used_to_craft\:=可以用来合成\: +eln:Cannot_be_crafted!=不能合成而得\! +eln:Cost_%sJ=消耗能量\:%sJ +eln:Created_by\:=制作原料\: +eln:Is_not_a_crafting_material!=不能合成其他物品\! +eln:Recipe\:=合成表\: +eln: +eln:# Appearing in multiple source files +eln:(Increases_capacity)=(增大容量) +eln:(Increases_inductance)=(增大电感) +eln:Actual\:_%s°C=实际温度\:%s°C +eln:Biggest=最大的 +eln:Booster_slot=槽(增压器) +eln:Can_create\:=可以合成\: +eln:Capacity\:_%sF=容量\:%sF +eln:Charge_power\:_%sW=充电功率\:%sW +eln:Connected=已连接 +eln:Cooling_power\:_%sW=冷却功率\:%sW +eln:Copper_cable_slot=槽(铜导线) +eln:Dielectric_slot=槽(绝缘体) +eln:Discharge_power\:_%sW=输出功率\:%sW +eln:Electrical_cable_slot=槽(电力导线) +eln:Entity_filter_slot=槽(生物过滤器) +eln:Ferromagnetic_core_slot=槽(磁能核心) +eln:Has_a_signal_output.=有一个信号输出 +eln:Inductance\:_%sH=电感\:%sH +eln:Internal_resistance\:_%sΩ=内阻\:%sΩ +eln:Is_off=关 +eln:Is_on=开 +eln:Max._temperature\:_%s°C=最高温度\:%s°C +eln:Measured_value\ncorresponding\nto_0%_output=测量zhi\n对应\n0%输出 +eln:Measured_value\ncorresponding\nto_100%_output=测量zhi\n对应\n0%输出 +eln:Nominal\:=理论\: +eln:Nominal_power\:_%sW=理论功率\:%sW +eln:Nominal_usage\:=理论使用\: +eln:Nominal_voltage\:_%sV=理论电压\:%sV +eln:Not_connected=未连接 +eln:Not_enough_space_for_this_block=没有足够空间放置这个方块 +eln:Power=功率 +eln:Power\:_%sW=功率\:%sW +eln:Range\:_%s_blocks=范围\:%s个方块 +eln:Redstone_slot=槽(红石) +eln:Regulator_slot=槽(校准器) +eln:Reset=重置 +eln:Resistance\:_%sΩ=电阻\:%sΩ +eln:Smallest=最小的 +eln:Specify_the_channel=指定通道 +eln:Stored_energy\:_%sJ_(%s)=储存的能量\:%sJ(%s) +eln:Temperature\:_%s°C=温度\:%s°C +eln:Temperature_gauge=温度计 +eln:Thermal_isolator_slot=槽(隔热器) +eln:Toggle=切换 +eln:Toggle_switch=切换开关 +eln:Toggles_the_output_each_time\nan_emitter's_value_rises.\nUseful_to_allow_multiple_buttons\nto_control_the_same_light.=按按钮时增大输出\n在多个开关控制同一灯泡时很有用 +eln:Used_to_cool_down_turbines.=用来冷却涡轮 +eln:Uses_the_biggest\nvalue_on_the_channel.=使用通道上最高的值 +eln:Uses_the_smallest\nvalue_on_the_channel.=使用通道上最低的值 +eln:Validate=证实 +eln:Voltage\:_%sV=电压\:%sV +eln:You_can't_place_this_block_at_this_side=不能把方块放在这一边哟~ From 8a538cd950364c87ca05e08459e66de3623ef9ab Mon Sep 17 00:00:00 2001 From: Svein Ove Aas Date: Sun, 3 Mar 2019 01:02:35 +0000 Subject: [PATCH 48/61] Mark ores as tiles --- src/main/resources/assets/eln/lang/ach.lang | 8 ++++---- src/main/resources/assets/eln/lang/az.lang | 8 ++++---- src/main/resources/assets/eln/lang/be.lang | 8 ++++---- src/main/resources/assets/eln/lang/bs.lang | 8 ++++---- src/main/resources/assets/eln/lang/cs.lang | 8 ++++---- src/main/resources/assets/eln/lang/cs_CZ.lang | 8 ++++---- src/main/resources/assets/eln/lang/de.lang | 8 ++++---- src/main/resources/assets/eln/lang/de_DE.lang | 8 ++++---- src/main/resources/assets/eln/lang/el.lang | 8 ++++---- src/main/resources/assets/eln/lang/el_GR.lang | 8 ++++---- src/main/resources/assets/eln/lang/en.lang | 8 ++++---- src/main/resources/assets/eln/lang/en_CA.lang | 8 ++++---- src/main/resources/assets/eln/lang/en_US.lang | 8 ++++---- src/main/resources/assets/eln/lang/es.lang | 8 ++++---- src/main/resources/assets/eln/lang/es_419.lang | 8 ++++---- src/main/resources/assets/eln/lang/es_AR.lang | 8 ++++---- src/main/resources/assets/eln/lang/fr.lang | 8 ++++---- src/main/resources/assets/eln/lang/fr_CA.lang | 8 ++++---- src/main/resources/assets/eln/lang/fr_FR.lang | 8 ++++---- src/main/resources/assets/eln/lang/hr.lang | 8 ++++---- src/main/resources/assets/eln/lang/id.lang | 8 ++++---- src/main/resources/assets/eln/lang/it.lang | 8 ++++---- src/main/resources/assets/eln/lang/it_IT.lang | 8 ++++---- src/main/resources/assets/eln/lang/nl.lang | 8 ++++---- src/main/resources/assets/eln/lang/nl_BE.lang | 8 ++++---- src/main/resources/assets/eln/lang/nl_NL.lang | 8 ++++---- src/main/resources/assets/eln/lang/no.lang | 8 ++++---- src/main/resources/assets/eln/lang/pl.lang | 8 ++++---- src/main/resources/assets/eln/lang/pl_PL.lang | 8 ++++---- src/main/resources/assets/eln/lang/pt.lang | 8 ++++---- src/main/resources/assets/eln/lang/pt_BR.lang | 8 ++++---- src/main/resources/assets/eln/lang/ro.lang | 8 ++++---- src/main/resources/assets/eln/lang/ru.lang | 8 ++++---- src/main/resources/assets/eln/lang/ru_RU.lang | 8 ++++---- src/main/resources/assets/eln/lang/sk.lang | 8 ++++---- src/main/resources/assets/eln/lang/sk_SK.lang | 8 ++++---- src/main/resources/assets/eln/lang/sr.lang | 8 ++++---- src/main/resources/assets/eln/lang/sv_SE.lang | 8 ++++---- src/main/resources/assets/eln/lang/tr.lang | 8 ++++---- src/main/resources/assets/eln/lang/tr_TR.lang | 8 ++++---- src/main/resources/assets/eln/lang/zh.lang | 8 ++++---- src/main/resources/assets/eln/lang/zh_CN.lang | 8 ++++---- 42 files changed, 168 insertions(+), 168 deletions(-) diff --git a/src/main/resources/assets/eln/lang/ach.lang b/src/main/resources/assets/eln/lang/ach.lang index 92e8a8d93..a443df899 100644 --- a/src/main/resources/assets/eln/lang/ach.lang +++ b/src/main/resources/assets/eln/lang/ach.lang @@ -72,14 +72,14 @@ eln:Cheap_Chip.name=Cheap Chip eln:Cheap_Electrical_Drill.name=Cheap Electrical Drill eln:Cheap_Ferromagnetic_Core.name=Cheap Ferromagnetic Core eln:Cinnabar_Dust.name=Cinnabar Dust -eln:Cinnabar_Ore.name=Cinnabar Ore +tile.eln:cinnabar_ore.name=Cinnabar Ore eln:Coal_Dust.name=Coal Dust eln:Coal_Plate.name=Coal Plate eln:Combustion_Chamber.name=Combustion Chamber eln:Copper_Cable.name=Copper Cable eln:Copper_Dust.name=Copper Dust eln:Copper_Ingot.name=Copper Ingot -eln:Copper_Ore.name=Copper Ore +tile.eln:copper_ore.name=Copper Ore eln:Copper_Plate.name=Copper Plate eln:Copper_Thermal_Cable.name=Copper Thermal Cable eln:Cost_Oriented_Battery.name=Cost Oriented Battery @@ -134,7 +134,7 @@ eln:Lamp_Supply.name=Lamp Supply eln:Large_Rheostat.name=Large Rheostat eln:Lead_Dust.name=Lead Dust eln:Lead_Ingot.name=Lead Ingot -eln:Lead_Ore.name=Lead Ore +tile.eln:lead_ore.name=Lead Ore eln:Lead_Plate.name=Lead Plate eln:Life_Oriented_Battery.name=Life Oriented Battery eln:Light_Blue_Brush.name=Light Blue Brush @@ -242,7 +242,7 @@ eln:Tree_Resin_Collector.name=Tree Resin Collector eln:Tungsten_Cable.name=Tungsten Cable eln:Tungsten_Dust.name=Tungsten Dust eln:Tungsten_Ingot.name=Tungsten Ingot -eln:Tungsten_Ore.name=Tungsten Ore +tile.eln:tungsten_ore.name=Tungsten Ore eln:Tutorial_Sign.name=Tutorial Sign eln:Very_High_Voltage_Cable.name=Very High Voltage Cable eln:Very_High_Voltage_Relay.name=Very High Voltage Relay diff --git a/src/main/resources/assets/eln/lang/az.lang b/src/main/resources/assets/eln/lang/az.lang index 92e8a8d93..a443df899 100644 --- a/src/main/resources/assets/eln/lang/az.lang +++ b/src/main/resources/assets/eln/lang/az.lang @@ -72,14 +72,14 @@ eln:Cheap_Chip.name=Cheap Chip eln:Cheap_Electrical_Drill.name=Cheap Electrical Drill eln:Cheap_Ferromagnetic_Core.name=Cheap Ferromagnetic Core eln:Cinnabar_Dust.name=Cinnabar Dust -eln:Cinnabar_Ore.name=Cinnabar Ore +tile.eln:cinnabar_ore.name=Cinnabar Ore eln:Coal_Dust.name=Coal Dust eln:Coal_Plate.name=Coal Plate eln:Combustion_Chamber.name=Combustion Chamber eln:Copper_Cable.name=Copper Cable eln:Copper_Dust.name=Copper Dust eln:Copper_Ingot.name=Copper Ingot -eln:Copper_Ore.name=Copper Ore +tile.eln:copper_ore.name=Copper Ore eln:Copper_Plate.name=Copper Plate eln:Copper_Thermal_Cable.name=Copper Thermal Cable eln:Cost_Oriented_Battery.name=Cost Oriented Battery @@ -134,7 +134,7 @@ eln:Lamp_Supply.name=Lamp Supply eln:Large_Rheostat.name=Large Rheostat eln:Lead_Dust.name=Lead Dust eln:Lead_Ingot.name=Lead Ingot -eln:Lead_Ore.name=Lead Ore +tile.eln:lead_ore.name=Lead Ore eln:Lead_Plate.name=Lead Plate eln:Life_Oriented_Battery.name=Life Oriented Battery eln:Light_Blue_Brush.name=Light Blue Brush @@ -242,7 +242,7 @@ eln:Tree_Resin_Collector.name=Tree Resin Collector eln:Tungsten_Cable.name=Tungsten Cable eln:Tungsten_Dust.name=Tungsten Dust eln:Tungsten_Ingot.name=Tungsten Ingot -eln:Tungsten_Ore.name=Tungsten Ore +tile.eln:tungsten_ore.name=Tungsten Ore eln:Tutorial_Sign.name=Tutorial Sign eln:Very_High_Voltage_Cable.name=Very High Voltage Cable eln:Very_High_Voltage_Relay.name=Very High Voltage Relay diff --git a/src/main/resources/assets/eln/lang/be.lang b/src/main/resources/assets/eln/lang/be.lang index 92e8a8d93..a443df899 100644 --- a/src/main/resources/assets/eln/lang/be.lang +++ b/src/main/resources/assets/eln/lang/be.lang @@ -72,14 +72,14 @@ eln:Cheap_Chip.name=Cheap Chip eln:Cheap_Electrical_Drill.name=Cheap Electrical Drill eln:Cheap_Ferromagnetic_Core.name=Cheap Ferromagnetic Core eln:Cinnabar_Dust.name=Cinnabar Dust -eln:Cinnabar_Ore.name=Cinnabar Ore +tile.eln:cinnabar_ore.name=Cinnabar Ore eln:Coal_Dust.name=Coal Dust eln:Coal_Plate.name=Coal Plate eln:Combustion_Chamber.name=Combustion Chamber eln:Copper_Cable.name=Copper Cable eln:Copper_Dust.name=Copper Dust eln:Copper_Ingot.name=Copper Ingot -eln:Copper_Ore.name=Copper Ore +tile.eln:copper_ore.name=Copper Ore eln:Copper_Plate.name=Copper Plate eln:Copper_Thermal_Cable.name=Copper Thermal Cable eln:Cost_Oriented_Battery.name=Cost Oriented Battery @@ -134,7 +134,7 @@ eln:Lamp_Supply.name=Lamp Supply eln:Large_Rheostat.name=Large Rheostat eln:Lead_Dust.name=Lead Dust eln:Lead_Ingot.name=Lead Ingot -eln:Lead_Ore.name=Lead Ore +tile.eln:lead_ore.name=Lead Ore eln:Lead_Plate.name=Lead Plate eln:Life_Oriented_Battery.name=Life Oriented Battery eln:Light_Blue_Brush.name=Light Blue Brush @@ -242,7 +242,7 @@ eln:Tree_Resin_Collector.name=Tree Resin Collector eln:Tungsten_Cable.name=Tungsten Cable eln:Tungsten_Dust.name=Tungsten Dust eln:Tungsten_Ingot.name=Tungsten Ingot -eln:Tungsten_Ore.name=Tungsten Ore +tile.eln:tungsten_ore.name=Tungsten Ore eln:Tutorial_Sign.name=Tutorial Sign eln:Very_High_Voltage_Cable.name=Very High Voltage Cable eln:Very_High_Voltage_Relay.name=Very High Voltage Relay diff --git a/src/main/resources/assets/eln/lang/bs.lang b/src/main/resources/assets/eln/lang/bs.lang index 92e8a8d93..a443df899 100644 --- a/src/main/resources/assets/eln/lang/bs.lang +++ b/src/main/resources/assets/eln/lang/bs.lang @@ -72,14 +72,14 @@ eln:Cheap_Chip.name=Cheap Chip eln:Cheap_Electrical_Drill.name=Cheap Electrical Drill eln:Cheap_Ferromagnetic_Core.name=Cheap Ferromagnetic Core eln:Cinnabar_Dust.name=Cinnabar Dust -eln:Cinnabar_Ore.name=Cinnabar Ore +tile.eln:cinnabar_ore.name=Cinnabar Ore eln:Coal_Dust.name=Coal Dust eln:Coal_Plate.name=Coal Plate eln:Combustion_Chamber.name=Combustion Chamber eln:Copper_Cable.name=Copper Cable eln:Copper_Dust.name=Copper Dust eln:Copper_Ingot.name=Copper Ingot -eln:Copper_Ore.name=Copper Ore +tile.eln:copper_ore.name=Copper Ore eln:Copper_Plate.name=Copper Plate eln:Copper_Thermal_Cable.name=Copper Thermal Cable eln:Cost_Oriented_Battery.name=Cost Oriented Battery @@ -134,7 +134,7 @@ eln:Lamp_Supply.name=Lamp Supply eln:Large_Rheostat.name=Large Rheostat eln:Lead_Dust.name=Lead Dust eln:Lead_Ingot.name=Lead Ingot -eln:Lead_Ore.name=Lead Ore +tile.eln:lead_ore.name=Lead Ore eln:Lead_Plate.name=Lead Plate eln:Life_Oriented_Battery.name=Life Oriented Battery eln:Light_Blue_Brush.name=Light Blue Brush @@ -242,7 +242,7 @@ eln:Tree_Resin_Collector.name=Tree Resin Collector eln:Tungsten_Cable.name=Tungsten Cable eln:Tungsten_Dust.name=Tungsten Dust eln:Tungsten_Ingot.name=Tungsten Ingot -eln:Tungsten_Ore.name=Tungsten Ore +tile.eln:tungsten_ore.name=Tungsten Ore eln:Tutorial_Sign.name=Tutorial Sign eln:Very_High_Voltage_Cable.name=Very High Voltage Cable eln:Very_High_Voltage_Relay.name=Very High Voltage Relay diff --git a/src/main/resources/assets/eln/lang/cs.lang b/src/main/resources/assets/eln/lang/cs.lang index 4eb98de27..98b40fce8 100644 --- a/src/main/resources/assets/eln/lang/cs.lang +++ b/src/main/resources/assets/eln/lang/cs.lang @@ -72,14 +72,14 @@ eln:Cheap_Chip.name=Cheap Chip eln:Cheap_Electrical_Drill.name=Cheap Electrical Drill eln:Cheap_Ferromagnetic_Core.name=Cheap Ferromagnetic Core eln:Cinnabar_Dust.name=Cinnabar Dust -eln:Cinnabar_Ore.name=Cinnabar Ore +tile.eln:cinnabar_ore.name=Cinnabar Ore eln:Coal_Dust.name=Coal Dust eln:Coal_Plate.name=Coal Plate eln:Combustion_Chamber.name=Combustion Chamber eln:Copper_Cable.name=Copper Cable eln:Copper_Dust.name=Copper Dust eln:Copper_Ingot.name=Copper Ingot -eln:Copper_Ore.name=Copper Ore +tile.eln:copper_ore.name=Copper Ore eln:Copper_Plate.name=Copper Plate eln:Copper_Thermal_Cable.name=Copper Thermal Cable eln:Cost_Oriented_Battery.name=Cost Oriented Battery @@ -134,7 +134,7 @@ eln:Lamp_Supply.name=Lamp Supply eln:Large_Rheostat.name=Large Rheostat eln:Lead_Dust.name=Lead Dust eln:Lead_Ingot.name=Lead Ingot -eln:Lead_Ore.name=Lead Ore +tile.eln:lead_ore.name=Lead Ore eln:Lead_Plate.name=Lead Plate eln:Life_Oriented_Battery.name=Life Oriented Battery eln:Light_Blue_Brush.name=Light Blue Brush @@ -242,7 +242,7 @@ eln:Tree_Resin_Collector.name=Tree Resin Collector eln:Tungsten_Cable.name=Tungsten Cable eln:Tungsten_Dust.name=Tungsten Dust eln:Tungsten_Ingot.name=Tungsten Ingot -eln:Tungsten_Ore.name=Tungsten Ore +tile.eln:tungsten_ore.name=Tungsten Ore eln:Tutorial_Sign.name=Tutorial Sign eln:Very_High_Voltage_Cable.name=Very High Voltage Cable eln:Very_High_Voltage_Relay.name=Very High Voltage Relay diff --git a/src/main/resources/assets/eln/lang/cs_CZ.lang b/src/main/resources/assets/eln/lang/cs_CZ.lang index 4eb98de27..98b40fce8 100644 --- a/src/main/resources/assets/eln/lang/cs_CZ.lang +++ b/src/main/resources/assets/eln/lang/cs_CZ.lang @@ -72,14 +72,14 @@ eln:Cheap_Chip.name=Cheap Chip eln:Cheap_Electrical_Drill.name=Cheap Electrical Drill eln:Cheap_Ferromagnetic_Core.name=Cheap Ferromagnetic Core eln:Cinnabar_Dust.name=Cinnabar Dust -eln:Cinnabar_Ore.name=Cinnabar Ore +tile.eln:cinnabar_ore.name=Cinnabar Ore eln:Coal_Dust.name=Coal Dust eln:Coal_Plate.name=Coal Plate eln:Combustion_Chamber.name=Combustion Chamber eln:Copper_Cable.name=Copper Cable eln:Copper_Dust.name=Copper Dust eln:Copper_Ingot.name=Copper Ingot -eln:Copper_Ore.name=Copper Ore +tile.eln:copper_ore.name=Copper Ore eln:Copper_Plate.name=Copper Plate eln:Copper_Thermal_Cable.name=Copper Thermal Cable eln:Cost_Oriented_Battery.name=Cost Oriented Battery @@ -134,7 +134,7 @@ eln:Lamp_Supply.name=Lamp Supply eln:Large_Rheostat.name=Large Rheostat eln:Lead_Dust.name=Lead Dust eln:Lead_Ingot.name=Lead Ingot -eln:Lead_Ore.name=Lead Ore +tile.eln:lead_ore.name=Lead Ore eln:Lead_Plate.name=Lead Plate eln:Life_Oriented_Battery.name=Life Oriented Battery eln:Light_Blue_Brush.name=Light Blue Brush @@ -242,7 +242,7 @@ eln:Tree_Resin_Collector.name=Tree Resin Collector eln:Tungsten_Cable.name=Tungsten Cable eln:Tungsten_Dust.name=Tungsten Dust eln:Tungsten_Ingot.name=Tungsten Ingot -eln:Tungsten_Ore.name=Tungsten Ore +tile.eln:tungsten_ore.name=Tungsten Ore eln:Tutorial_Sign.name=Tutorial Sign eln:Very_High_Voltage_Cable.name=Very High Voltage Cable eln:Very_High_Voltage_Relay.name=Very High Voltage Relay diff --git a/src/main/resources/assets/eln/lang/de.lang b/src/main/resources/assets/eln/lang/de.lang index 540731ead..dfacd27e6 100644 --- a/src/main/resources/assets/eln/lang/de.lang +++ b/src/main/resources/assets/eln/lang/de.lang @@ -72,14 +72,14 @@ eln:Cheap_Chip.name=Einfacher Microchip eln:Cheap_Electrical_Drill.name=Einfacher elektrischer Bohrer eln:Cheap_Ferromagnetic_Core.name=Einfacher ferro-magnetischer Kern eln:Cinnabar_Dust.name=Zinnstaub -eln:Cinnabar_Ore.name=Zinnerz +tile.eln:cinnabar_ore.name=Zinnerz eln:Coal_Dust.name=Kohle-Staub eln:Coal_Plate.name=Kohleplatte eln:Combustion_Chamber.name=Brennkammer eln:Copper_Cable.name=Kupferkabel eln:Copper_Dust.name=Kupferstaub eln:Copper_Ingot.name=Kupferbarren -eln:Copper_Ore.name=Kupfererz +tile.eln:copper_ore.name=Kupfererz eln:Copper_Plate.name=Kupferplatte eln:Copper_Thermal_Cable.name=Thermischer Leiter aus Kupfer eln:Cost_Oriented_Battery.name=Günstige Batterie @@ -134,7 +134,7 @@ eln:Lamp_Supply.name=Lampen-Verteilschrank eln:Large_Rheostat.name=Grosser Regelwiderstand eln:Lead_Dust.name=Bleistaub eln:Lead_Ingot.name=Bleibarren -eln:Lead_Ore.name=Bleierz +tile.eln:lead_ore.name=Bleierz eln:Lead_Plate.name=Bleiplatte eln:Life_Oriented_Battery.name=Langlebige Batterie eln:Light_Blue_Brush.name=Hellblauer Pinsel @@ -242,7 +242,7 @@ eln:Tree_Resin_Collector.name=Baumharzsammler eln:Tungsten_Cable.name=Wollframkabel eln:Tungsten_Dust.name=Wolframstaub eln:Tungsten_Ingot.name=Wolframbarren -eln:Tungsten_Ore.name=Wolframerz +tile.eln:tungsten_ore.name=Wolframerz eln:Tutorial_Sign.name=Hinweis-Beacon eln:Very_High_Voltage_Cable.name=Höchstspannungskabel eln:Very_High_Voltage_Relay.name=Höchstspannungsrelais diff --git a/src/main/resources/assets/eln/lang/de_DE.lang b/src/main/resources/assets/eln/lang/de_DE.lang index 540731ead..dfacd27e6 100644 --- a/src/main/resources/assets/eln/lang/de_DE.lang +++ b/src/main/resources/assets/eln/lang/de_DE.lang @@ -72,14 +72,14 @@ eln:Cheap_Chip.name=Einfacher Microchip eln:Cheap_Electrical_Drill.name=Einfacher elektrischer Bohrer eln:Cheap_Ferromagnetic_Core.name=Einfacher ferro-magnetischer Kern eln:Cinnabar_Dust.name=Zinnstaub -eln:Cinnabar_Ore.name=Zinnerz +tile.eln:cinnabar_ore.name=Zinnerz eln:Coal_Dust.name=Kohle-Staub eln:Coal_Plate.name=Kohleplatte eln:Combustion_Chamber.name=Brennkammer eln:Copper_Cable.name=Kupferkabel eln:Copper_Dust.name=Kupferstaub eln:Copper_Ingot.name=Kupferbarren -eln:Copper_Ore.name=Kupfererz +tile.eln:copper_ore.name=Kupfererz eln:Copper_Plate.name=Kupferplatte eln:Copper_Thermal_Cable.name=Thermischer Leiter aus Kupfer eln:Cost_Oriented_Battery.name=Günstige Batterie @@ -134,7 +134,7 @@ eln:Lamp_Supply.name=Lampen-Verteilschrank eln:Large_Rheostat.name=Grosser Regelwiderstand eln:Lead_Dust.name=Bleistaub eln:Lead_Ingot.name=Bleibarren -eln:Lead_Ore.name=Bleierz +tile.eln:lead_ore.name=Bleierz eln:Lead_Plate.name=Bleiplatte eln:Life_Oriented_Battery.name=Langlebige Batterie eln:Light_Blue_Brush.name=Hellblauer Pinsel @@ -242,7 +242,7 @@ eln:Tree_Resin_Collector.name=Baumharzsammler eln:Tungsten_Cable.name=Wollframkabel eln:Tungsten_Dust.name=Wolframstaub eln:Tungsten_Ingot.name=Wolframbarren -eln:Tungsten_Ore.name=Wolframerz +tile.eln:tungsten_ore.name=Wolframerz eln:Tutorial_Sign.name=Hinweis-Beacon eln:Very_High_Voltage_Cable.name=Höchstspannungskabel eln:Very_High_Voltage_Relay.name=Höchstspannungsrelais diff --git a/src/main/resources/assets/eln/lang/el.lang b/src/main/resources/assets/eln/lang/el.lang index 92e8a8d93..a443df899 100644 --- a/src/main/resources/assets/eln/lang/el.lang +++ b/src/main/resources/assets/eln/lang/el.lang @@ -72,14 +72,14 @@ eln:Cheap_Chip.name=Cheap Chip eln:Cheap_Electrical_Drill.name=Cheap Electrical Drill eln:Cheap_Ferromagnetic_Core.name=Cheap Ferromagnetic Core eln:Cinnabar_Dust.name=Cinnabar Dust -eln:Cinnabar_Ore.name=Cinnabar Ore +tile.eln:cinnabar_ore.name=Cinnabar Ore eln:Coal_Dust.name=Coal Dust eln:Coal_Plate.name=Coal Plate eln:Combustion_Chamber.name=Combustion Chamber eln:Copper_Cable.name=Copper Cable eln:Copper_Dust.name=Copper Dust eln:Copper_Ingot.name=Copper Ingot -eln:Copper_Ore.name=Copper Ore +tile.eln:copper_ore.name=Copper Ore eln:Copper_Plate.name=Copper Plate eln:Copper_Thermal_Cable.name=Copper Thermal Cable eln:Cost_Oriented_Battery.name=Cost Oriented Battery @@ -134,7 +134,7 @@ eln:Lamp_Supply.name=Lamp Supply eln:Large_Rheostat.name=Large Rheostat eln:Lead_Dust.name=Lead Dust eln:Lead_Ingot.name=Lead Ingot -eln:Lead_Ore.name=Lead Ore +tile.eln:lead_ore.name=Lead Ore eln:Lead_Plate.name=Lead Plate eln:Life_Oriented_Battery.name=Life Oriented Battery eln:Light_Blue_Brush.name=Light Blue Brush @@ -242,7 +242,7 @@ eln:Tree_Resin_Collector.name=Tree Resin Collector eln:Tungsten_Cable.name=Tungsten Cable eln:Tungsten_Dust.name=Tungsten Dust eln:Tungsten_Ingot.name=Tungsten Ingot -eln:Tungsten_Ore.name=Tungsten Ore +tile.eln:tungsten_ore.name=Tungsten Ore eln:Tutorial_Sign.name=Tutorial Sign eln:Very_High_Voltage_Cable.name=Very High Voltage Cable eln:Very_High_Voltage_Relay.name=Very High Voltage Relay diff --git a/src/main/resources/assets/eln/lang/el_GR.lang b/src/main/resources/assets/eln/lang/el_GR.lang index 92e8a8d93..a443df899 100644 --- a/src/main/resources/assets/eln/lang/el_GR.lang +++ b/src/main/resources/assets/eln/lang/el_GR.lang @@ -72,14 +72,14 @@ eln:Cheap_Chip.name=Cheap Chip eln:Cheap_Electrical_Drill.name=Cheap Electrical Drill eln:Cheap_Ferromagnetic_Core.name=Cheap Ferromagnetic Core eln:Cinnabar_Dust.name=Cinnabar Dust -eln:Cinnabar_Ore.name=Cinnabar Ore +tile.eln:cinnabar_ore.name=Cinnabar Ore eln:Coal_Dust.name=Coal Dust eln:Coal_Plate.name=Coal Plate eln:Combustion_Chamber.name=Combustion Chamber eln:Copper_Cable.name=Copper Cable eln:Copper_Dust.name=Copper Dust eln:Copper_Ingot.name=Copper Ingot -eln:Copper_Ore.name=Copper Ore +tile.eln:copper_ore.name=Copper Ore eln:Copper_Plate.name=Copper Plate eln:Copper_Thermal_Cable.name=Copper Thermal Cable eln:Cost_Oriented_Battery.name=Cost Oriented Battery @@ -134,7 +134,7 @@ eln:Lamp_Supply.name=Lamp Supply eln:Large_Rheostat.name=Large Rheostat eln:Lead_Dust.name=Lead Dust eln:Lead_Ingot.name=Lead Ingot -eln:Lead_Ore.name=Lead Ore +tile.eln:lead_ore.name=Lead Ore eln:Lead_Plate.name=Lead Plate eln:Life_Oriented_Battery.name=Life Oriented Battery eln:Light_Blue_Brush.name=Light Blue Brush @@ -242,7 +242,7 @@ eln:Tree_Resin_Collector.name=Tree Resin Collector eln:Tungsten_Cable.name=Tungsten Cable eln:Tungsten_Dust.name=Tungsten Dust eln:Tungsten_Ingot.name=Tungsten Ingot -eln:Tungsten_Ore.name=Tungsten Ore +tile.eln:tungsten_ore.name=Tungsten Ore eln:Tutorial_Sign.name=Tutorial Sign eln:Very_High_Voltage_Cable.name=Very High Voltage Cable eln:Very_High_Voltage_Relay.name=Very High Voltage Relay diff --git a/src/main/resources/assets/eln/lang/en.lang b/src/main/resources/assets/eln/lang/en.lang index 92e8a8d93..a443df899 100644 --- a/src/main/resources/assets/eln/lang/en.lang +++ b/src/main/resources/assets/eln/lang/en.lang @@ -72,14 +72,14 @@ eln:Cheap_Chip.name=Cheap Chip eln:Cheap_Electrical_Drill.name=Cheap Electrical Drill eln:Cheap_Ferromagnetic_Core.name=Cheap Ferromagnetic Core eln:Cinnabar_Dust.name=Cinnabar Dust -eln:Cinnabar_Ore.name=Cinnabar Ore +tile.eln:cinnabar_ore.name=Cinnabar Ore eln:Coal_Dust.name=Coal Dust eln:Coal_Plate.name=Coal Plate eln:Combustion_Chamber.name=Combustion Chamber eln:Copper_Cable.name=Copper Cable eln:Copper_Dust.name=Copper Dust eln:Copper_Ingot.name=Copper Ingot -eln:Copper_Ore.name=Copper Ore +tile.eln:copper_ore.name=Copper Ore eln:Copper_Plate.name=Copper Plate eln:Copper_Thermal_Cable.name=Copper Thermal Cable eln:Cost_Oriented_Battery.name=Cost Oriented Battery @@ -134,7 +134,7 @@ eln:Lamp_Supply.name=Lamp Supply eln:Large_Rheostat.name=Large Rheostat eln:Lead_Dust.name=Lead Dust eln:Lead_Ingot.name=Lead Ingot -eln:Lead_Ore.name=Lead Ore +tile.eln:lead_ore.name=Lead Ore eln:Lead_Plate.name=Lead Plate eln:Life_Oriented_Battery.name=Life Oriented Battery eln:Light_Blue_Brush.name=Light Blue Brush @@ -242,7 +242,7 @@ eln:Tree_Resin_Collector.name=Tree Resin Collector eln:Tungsten_Cable.name=Tungsten Cable eln:Tungsten_Dust.name=Tungsten Dust eln:Tungsten_Ingot.name=Tungsten Ingot -eln:Tungsten_Ore.name=Tungsten Ore +tile.eln:tungsten_ore.name=Tungsten Ore eln:Tutorial_Sign.name=Tutorial Sign eln:Very_High_Voltage_Cable.name=Very High Voltage Cable eln:Very_High_Voltage_Relay.name=Very High Voltage Relay diff --git a/src/main/resources/assets/eln/lang/en_CA.lang b/src/main/resources/assets/eln/lang/en_CA.lang index 92e8a8d93..a443df899 100644 --- a/src/main/resources/assets/eln/lang/en_CA.lang +++ b/src/main/resources/assets/eln/lang/en_CA.lang @@ -72,14 +72,14 @@ eln:Cheap_Chip.name=Cheap Chip eln:Cheap_Electrical_Drill.name=Cheap Electrical Drill eln:Cheap_Ferromagnetic_Core.name=Cheap Ferromagnetic Core eln:Cinnabar_Dust.name=Cinnabar Dust -eln:Cinnabar_Ore.name=Cinnabar Ore +tile.eln:cinnabar_ore.name=Cinnabar Ore eln:Coal_Dust.name=Coal Dust eln:Coal_Plate.name=Coal Plate eln:Combustion_Chamber.name=Combustion Chamber eln:Copper_Cable.name=Copper Cable eln:Copper_Dust.name=Copper Dust eln:Copper_Ingot.name=Copper Ingot -eln:Copper_Ore.name=Copper Ore +tile.eln:copper_ore.name=Copper Ore eln:Copper_Plate.name=Copper Plate eln:Copper_Thermal_Cable.name=Copper Thermal Cable eln:Cost_Oriented_Battery.name=Cost Oriented Battery @@ -134,7 +134,7 @@ eln:Lamp_Supply.name=Lamp Supply eln:Large_Rheostat.name=Large Rheostat eln:Lead_Dust.name=Lead Dust eln:Lead_Ingot.name=Lead Ingot -eln:Lead_Ore.name=Lead Ore +tile.eln:lead_ore.name=Lead Ore eln:Lead_Plate.name=Lead Plate eln:Life_Oriented_Battery.name=Life Oriented Battery eln:Light_Blue_Brush.name=Light Blue Brush @@ -242,7 +242,7 @@ eln:Tree_Resin_Collector.name=Tree Resin Collector eln:Tungsten_Cable.name=Tungsten Cable eln:Tungsten_Dust.name=Tungsten Dust eln:Tungsten_Ingot.name=Tungsten Ingot -eln:Tungsten_Ore.name=Tungsten Ore +tile.eln:tungsten_ore.name=Tungsten Ore eln:Tutorial_Sign.name=Tutorial Sign eln:Very_High_Voltage_Cable.name=Very High Voltage Cable eln:Very_High_Voltage_Relay.name=Very High Voltage Relay diff --git a/src/main/resources/assets/eln/lang/en_US.lang b/src/main/resources/assets/eln/lang/en_US.lang index bf06059dc..a2f07d980 100644 --- a/src/main/resources/assets/eln/lang/en_US.lang +++ b/src/main/resources/assets/eln/lang/en_US.lang @@ -80,7 +80,7 @@ eln:Cheap_Chip.name=Cheap Chip eln:Cheap_Electrical_Drill.name=Cheap Electrical Drill eln:Cheap_Ferromagnetic_Core.name=Cheap Ferromagnetic Core eln:Cinnabar_Dust.name=Cinnabar Dust -eln:Cinnabar_Ore.name=Cinnabar Ore +tile.eln:cinnabar_ore.name=Cinnabar Ore eln:Coal_Dust.name=Coal Dust eln:Coal_Plate.name=Coal Plate eln:Combustion_Chamber.name=Combustion Chamber @@ -88,7 +88,7 @@ eln:Configurable_summing_unit.name=Configurable summing unit eln:Copper_Cable.name=Copper Cable eln:Copper_Dust.name=Copper Dust eln:Copper_Ingot.name=Copper Ingot -eln:Copper_Ore.name=Copper Ore +tile.eln:copper_ore.name=Copper Ore eln:Copper_Plate.name=Copper Plate eln:Copper_Thermal_Cable.name=Copper Thermal Cable eln:Cost_Oriented_Battery.name=Cost Oriented Battery @@ -155,7 +155,7 @@ eln:Lead_Fuse_for_low_voltage_cables.name=Lead Fuse for low voltage cables eln:Lead_Fuse_for_medium_voltage_cables.name=Lead Fuse for medium voltage cables eln:Lead_Fuse_for_very_high_voltage_cables.name=Lead Fuse for very high voltage cables eln:Lead_Ingot.name=Lead Ingot -eln:Lead_Ore.name=Lead Ore +tile.eln:lead_ore.name=Lead Ore eln:Lead_Plate.name=Lead Plate eln:Life_Oriented_Battery.name=Life Oriented Battery eln:Light_Blue_Brush.name=Light Blue Brush @@ -270,7 +270,7 @@ eln:Tree_Resin_Collector.name=Tree Resin Collector eln:Tungsten_Cable.name=Tungsten Cable eln:Tungsten_Dust.name=Tungsten Dust eln:Tungsten_Ingot.name=Tungsten Ingot -eln:Tungsten_Ore.name=Tungsten Ore +tile.eln:tungsten_ore.name=Tungsten Ore eln:Tutorial_Sign.name=Tutorial Sign eln:Very_High_Voltage_Cable.name=Very High Voltage Cable eln:Very_High_Voltage_Relay.name=Very High Voltage Relay diff --git a/src/main/resources/assets/eln/lang/es.lang b/src/main/resources/assets/eln/lang/es.lang index 8e697750e..d8c8bf616 100644 --- a/src/main/resources/assets/eln/lang/es.lang +++ b/src/main/resources/assets/eln/lang/es.lang @@ -72,14 +72,14 @@ eln:Cheap_Chip.name=Chip malo eln:Cheap_Electrical_Drill.name=Martillo eléctrico malo eln:Cheap_Ferromagnetic_Core.name=Nucleo Ferromagnético malo eln:Cinnabar_Dust.name=Polvo de Cinabrio -eln:Cinnabar_Ore.name=Mena de Cinabrio +tile.eln:cinnabar_ore.name=Mena de Cinabrio eln:Coal_Dust.name=Polvo de Carbón eln:Coal_Plate.name=Lámina de Carbón eln:Combustion_Chamber.name=Cámara de combustión eln:Copper_Cable.name=Cable de Cobre eln:Copper_Dust.name=Polvo de Cobre eln:Copper_Ingot.name=Lingote de Cobre -eln:Copper_Ore.name=Mena de Cobre +tile.eln:copper_ore.name=Mena de Cobre eln:Copper_Plate.name=Lámina de Cobre eln:Copper_Thermal_Cable.name=Cable térmico de Cobre eln:Cost_Oriented_Battery.name=Cargador de batería @@ -134,7 +134,7 @@ eln:Lamp_Supply.name=Suministro de lámpara eln:Large_Rheostat.name=Large Rheostat eln:Lead_Dust.name=Polvo de Plomo eln:Lead_Ingot.name=Lingote de Plomo -eln:Lead_Ore.name=Mena de Plomo +tile.eln:lead_ore.name=Mena de Plomo eln:Lead_Plate.name=Lámina de Plomo eln:Life_Oriented_Battery.name=Nivel de bateria eln:Light_Blue_Brush.name=Pincel de luz azul @@ -242,7 +242,7 @@ eln:Tree_Resin_Collector.name=Colector de Resina eln:Tungsten_Cable.name=Cable de Tungsteno eln:Tungsten_Dust.name=Polvo de Tungsteno eln:Tungsten_Ingot.name=Lingote de Tungsteno -eln:Tungsten_Ore.name=Mena de Tungsteno +tile.eln:tungsten_ore.name=Mena de Tungsteno eln:Tutorial_Sign.name=Señal tutorial eln:Very_High_Voltage_Cable.name=Cable de muy alta tensión eln:Very_High_Voltage_Relay.name=Relé de muy alta tensión diff --git a/src/main/resources/assets/eln/lang/es_419.lang b/src/main/resources/assets/eln/lang/es_419.lang index 8e697750e..d8c8bf616 100644 --- a/src/main/resources/assets/eln/lang/es_419.lang +++ b/src/main/resources/assets/eln/lang/es_419.lang @@ -72,14 +72,14 @@ eln:Cheap_Chip.name=Chip malo eln:Cheap_Electrical_Drill.name=Martillo eléctrico malo eln:Cheap_Ferromagnetic_Core.name=Nucleo Ferromagnético malo eln:Cinnabar_Dust.name=Polvo de Cinabrio -eln:Cinnabar_Ore.name=Mena de Cinabrio +tile.eln:cinnabar_ore.name=Mena de Cinabrio eln:Coal_Dust.name=Polvo de Carbón eln:Coal_Plate.name=Lámina de Carbón eln:Combustion_Chamber.name=Cámara de combustión eln:Copper_Cable.name=Cable de Cobre eln:Copper_Dust.name=Polvo de Cobre eln:Copper_Ingot.name=Lingote de Cobre -eln:Copper_Ore.name=Mena de Cobre +tile.eln:copper_ore.name=Mena de Cobre eln:Copper_Plate.name=Lámina de Cobre eln:Copper_Thermal_Cable.name=Cable térmico de Cobre eln:Cost_Oriented_Battery.name=Cargador de batería @@ -134,7 +134,7 @@ eln:Lamp_Supply.name=Suministro de lámpara eln:Large_Rheostat.name=Large Rheostat eln:Lead_Dust.name=Polvo de Plomo eln:Lead_Ingot.name=Lingote de Plomo -eln:Lead_Ore.name=Mena de Plomo +tile.eln:lead_ore.name=Mena de Plomo eln:Lead_Plate.name=Lámina de Plomo eln:Life_Oriented_Battery.name=Nivel de bateria eln:Light_Blue_Brush.name=Pincel de luz azul @@ -242,7 +242,7 @@ eln:Tree_Resin_Collector.name=Colector de Resina eln:Tungsten_Cable.name=Cable de Tungsteno eln:Tungsten_Dust.name=Polvo de Tungsteno eln:Tungsten_Ingot.name=Lingote de Tungsteno -eln:Tungsten_Ore.name=Mena de Tungsteno +tile.eln:tungsten_ore.name=Mena de Tungsteno eln:Tutorial_Sign.name=Señal tutorial eln:Very_High_Voltage_Cable.name=Cable de muy alta tensión eln:Very_High_Voltage_Relay.name=Relé de muy alta tensión diff --git a/src/main/resources/assets/eln/lang/es_AR.lang b/src/main/resources/assets/eln/lang/es_AR.lang index 8e697750e..d8c8bf616 100644 --- a/src/main/resources/assets/eln/lang/es_AR.lang +++ b/src/main/resources/assets/eln/lang/es_AR.lang @@ -72,14 +72,14 @@ eln:Cheap_Chip.name=Chip malo eln:Cheap_Electrical_Drill.name=Martillo eléctrico malo eln:Cheap_Ferromagnetic_Core.name=Nucleo Ferromagnético malo eln:Cinnabar_Dust.name=Polvo de Cinabrio -eln:Cinnabar_Ore.name=Mena de Cinabrio +tile.eln:cinnabar_ore.name=Mena de Cinabrio eln:Coal_Dust.name=Polvo de Carbón eln:Coal_Plate.name=Lámina de Carbón eln:Combustion_Chamber.name=Cámara de combustión eln:Copper_Cable.name=Cable de Cobre eln:Copper_Dust.name=Polvo de Cobre eln:Copper_Ingot.name=Lingote de Cobre -eln:Copper_Ore.name=Mena de Cobre +tile.eln:copper_ore.name=Mena de Cobre eln:Copper_Plate.name=Lámina de Cobre eln:Copper_Thermal_Cable.name=Cable térmico de Cobre eln:Cost_Oriented_Battery.name=Cargador de batería @@ -134,7 +134,7 @@ eln:Lamp_Supply.name=Suministro de lámpara eln:Large_Rheostat.name=Large Rheostat eln:Lead_Dust.name=Polvo de Plomo eln:Lead_Ingot.name=Lingote de Plomo -eln:Lead_Ore.name=Mena de Plomo +tile.eln:lead_ore.name=Mena de Plomo eln:Lead_Plate.name=Lámina de Plomo eln:Life_Oriented_Battery.name=Nivel de bateria eln:Light_Blue_Brush.name=Pincel de luz azul @@ -242,7 +242,7 @@ eln:Tree_Resin_Collector.name=Colector de Resina eln:Tungsten_Cable.name=Cable de Tungsteno eln:Tungsten_Dust.name=Polvo de Tungsteno eln:Tungsten_Ingot.name=Lingote de Tungsteno -eln:Tungsten_Ore.name=Mena de Tungsteno +tile.eln:tungsten_ore.name=Mena de Tungsteno eln:Tutorial_Sign.name=Señal tutorial eln:Very_High_Voltage_Cable.name=Cable de muy alta tensión eln:Very_High_Voltage_Relay.name=Relé de muy alta tensión diff --git a/src/main/resources/assets/eln/lang/fr.lang b/src/main/resources/assets/eln/lang/fr.lang index e7ceb70c2..11e523848 100644 --- a/src/main/resources/assets/eln/lang/fr.lang +++ b/src/main/resources/assets/eln/lang/fr.lang @@ -72,14 +72,14 @@ eln:Cheap_Chip.name=Puce bon marché eln:Cheap_Electrical_Drill.name=Tête de forage bon marché eln:Cheap_Ferromagnetic_Core.name=Noyau Ferromagnétique Bon Marché eln:Cinnabar_Dust.name=Poudre de cinabre -eln:Cinnabar_Ore.name=Minerai de cinabre +tile.eln:cinnabar_ore.name=Minerai de cinabre eln:Coal_Dust.name=Charbon eln:Coal_Plate.name=Plaque de charbon eln:Combustion_Chamber.name=Chambre de combustion eln:Copper_Cable.name=Câble en cuive eln:Copper_Dust.name=Poudre de cuivre eln:Copper_Ingot.name=Lingot de cuivre -eln:Copper_Ore.name=Minerai de cuivre +tile.eln:copper_ore.name=Minerai de cuivre eln:Copper_Plate.name=Plaque de cuivre eln:Copper_Thermal_Cable.name=Câble thermique en cuivre eln:Cost_Oriented_Battery.name=Batterie à faible coût @@ -134,7 +134,7 @@ eln:Lamp_Supply.name=Alimentation de lampe eln:Large_Rheostat.name=Large Rheostat eln:Lead_Dust.name=Poudre de plomb eln:Lead_Ingot.name=Lingot de plomb -eln:Lead_Ore.name=Minerai de plomb +tile.eln:lead_ore.name=Minerai de plomb eln:Lead_Plate.name=Plaque de plomb eln:Life_Oriented_Battery.name=Batterie à durée de vie élevée eln:Light_Blue_Brush.name=Pinceau bleu clair @@ -242,7 +242,7 @@ eln:Tree_Resin_Collector.name=Collecteur de résine d'arbre eln:Tungsten_Cable.name=Câble électrique au tungsten eln:Tungsten_Dust.name=Poudre de tungstène eln:Tungsten_Ingot.name=Lingot de tungstène -eln:Tungsten_Ore.name=Minerai de tungstène +tile.eln:tungsten_ore.name=Minerai de tungstène eln:Tutorial_Sign.name=Panneau de tutoriel eln:Very_High_Voltage_Cable.name=Câble électrique à très haute tension eln:Very_High_Voltage_Relay.name=Relais à très haute tension diff --git a/src/main/resources/assets/eln/lang/fr_CA.lang b/src/main/resources/assets/eln/lang/fr_CA.lang index e7ceb70c2..11e523848 100644 --- a/src/main/resources/assets/eln/lang/fr_CA.lang +++ b/src/main/resources/assets/eln/lang/fr_CA.lang @@ -72,14 +72,14 @@ eln:Cheap_Chip.name=Puce bon marché eln:Cheap_Electrical_Drill.name=Tête de forage bon marché eln:Cheap_Ferromagnetic_Core.name=Noyau Ferromagnétique Bon Marché eln:Cinnabar_Dust.name=Poudre de cinabre -eln:Cinnabar_Ore.name=Minerai de cinabre +tile.eln:cinnabar_ore.name=Minerai de cinabre eln:Coal_Dust.name=Charbon eln:Coal_Plate.name=Plaque de charbon eln:Combustion_Chamber.name=Chambre de combustion eln:Copper_Cable.name=Câble en cuive eln:Copper_Dust.name=Poudre de cuivre eln:Copper_Ingot.name=Lingot de cuivre -eln:Copper_Ore.name=Minerai de cuivre +tile.eln:copper_ore.name=Minerai de cuivre eln:Copper_Plate.name=Plaque de cuivre eln:Copper_Thermal_Cable.name=Câble thermique en cuivre eln:Cost_Oriented_Battery.name=Batterie à faible coût @@ -134,7 +134,7 @@ eln:Lamp_Supply.name=Alimentation de lampe eln:Large_Rheostat.name=Large Rheostat eln:Lead_Dust.name=Poudre de plomb eln:Lead_Ingot.name=Lingot de plomb -eln:Lead_Ore.name=Minerai de plomb +tile.eln:lead_ore.name=Minerai de plomb eln:Lead_Plate.name=Plaque de plomb eln:Life_Oriented_Battery.name=Batterie à durée de vie élevée eln:Light_Blue_Brush.name=Pinceau bleu clair @@ -242,7 +242,7 @@ eln:Tree_Resin_Collector.name=Collecteur de résine d'arbre eln:Tungsten_Cable.name=Câble électrique au tungsten eln:Tungsten_Dust.name=Poudre de tungstène eln:Tungsten_Ingot.name=Lingot de tungstène -eln:Tungsten_Ore.name=Minerai de tungstène +tile.eln:tungsten_ore.name=Minerai de tungstène eln:Tutorial_Sign.name=Panneau de tutoriel eln:Very_High_Voltage_Cable.name=Câble électrique à très haute tension eln:Very_High_Voltage_Relay.name=Relais à très haute tension diff --git a/src/main/resources/assets/eln/lang/fr_FR.lang b/src/main/resources/assets/eln/lang/fr_FR.lang index e7ceb70c2..11e523848 100644 --- a/src/main/resources/assets/eln/lang/fr_FR.lang +++ b/src/main/resources/assets/eln/lang/fr_FR.lang @@ -72,14 +72,14 @@ eln:Cheap_Chip.name=Puce bon marché eln:Cheap_Electrical_Drill.name=Tête de forage bon marché eln:Cheap_Ferromagnetic_Core.name=Noyau Ferromagnétique Bon Marché eln:Cinnabar_Dust.name=Poudre de cinabre -eln:Cinnabar_Ore.name=Minerai de cinabre +tile.eln:cinnabar_ore.name=Minerai de cinabre eln:Coal_Dust.name=Charbon eln:Coal_Plate.name=Plaque de charbon eln:Combustion_Chamber.name=Chambre de combustion eln:Copper_Cable.name=Câble en cuive eln:Copper_Dust.name=Poudre de cuivre eln:Copper_Ingot.name=Lingot de cuivre -eln:Copper_Ore.name=Minerai de cuivre +tile.eln:copper_ore.name=Minerai de cuivre eln:Copper_Plate.name=Plaque de cuivre eln:Copper_Thermal_Cable.name=Câble thermique en cuivre eln:Cost_Oriented_Battery.name=Batterie à faible coût @@ -134,7 +134,7 @@ eln:Lamp_Supply.name=Alimentation de lampe eln:Large_Rheostat.name=Large Rheostat eln:Lead_Dust.name=Poudre de plomb eln:Lead_Ingot.name=Lingot de plomb -eln:Lead_Ore.name=Minerai de plomb +tile.eln:lead_ore.name=Minerai de plomb eln:Lead_Plate.name=Plaque de plomb eln:Life_Oriented_Battery.name=Batterie à durée de vie élevée eln:Light_Blue_Brush.name=Pinceau bleu clair @@ -242,7 +242,7 @@ eln:Tree_Resin_Collector.name=Collecteur de résine d'arbre eln:Tungsten_Cable.name=Câble électrique au tungsten eln:Tungsten_Dust.name=Poudre de tungstène eln:Tungsten_Ingot.name=Lingot de tungstène -eln:Tungsten_Ore.name=Minerai de tungstène +tile.eln:tungsten_ore.name=Minerai de tungstène eln:Tutorial_Sign.name=Panneau de tutoriel eln:Very_High_Voltage_Cable.name=Câble électrique à très haute tension eln:Very_High_Voltage_Relay.name=Relais à très haute tension diff --git a/src/main/resources/assets/eln/lang/hr.lang b/src/main/resources/assets/eln/lang/hr.lang index 92e8a8d93..a443df899 100644 --- a/src/main/resources/assets/eln/lang/hr.lang +++ b/src/main/resources/assets/eln/lang/hr.lang @@ -72,14 +72,14 @@ eln:Cheap_Chip.name=Cheap Chip eln:Cheap_Electrical_Drill.name=Cheap Electrical Drill eln:Cheap_Ferromagnetic_Core.name=Cheap Ferromagnetic Core eln:Cinnabar_Dust.name=Cinnabar Dust -eln:Cinnabar_Ore.name=Cinnabar Ore +tile.eln:cinnabar_ore.name=Cinnabar Ore eln:Coal_Dust.name=Coal Dust eln:Coal_Plate.name=Coal Plate eln:Combustion_Chamber.name=Combustion Chamber eln:Copper_Cable.name=Copper Cable eln:Copper_Dust.name=Copper Dust eln:Copper_Ingot.name=Copper Ingot -eln:Copper_Ore.name=Copper Ore +tile.eln:copper_ore.name=Copper Ore eln:Copper_Plate.name=Copper Plate eln:Copper_Thermal_Cable.name=Copper Thermal Cable eln:Cost_Oriented_Battery.name=Cost Oriented Battery @@ -134,7 +134,7 @@ eln:Lamp_Supply.name=Lamp Supply eln:Large_Rheostat.name=Large Rheostat eln:Lead_Dust.name=Lead Dust eln:Lead_Ingot.name=Lead Ingot -eln:Lead_Ore.name=Lead Ore +tile.eln:lead_ore.name=Lead Ore eln:Lead_Plate.name=Lead Plate eln:Life_Oriented_Battery.name=Life Oriented Battery eln:Light_Blue_Brush.name=Light Blue Brush @@ -242,7 +242,7 @@ eln:Tree_Resin_Collector.name=Tree Resin Collector eln:Tungsten_Cable.name=Tungsten Cable eln:Tungsten_Dust.name=Tungsten Dust eln:Tungsten_Ingot.name=Tungsten Ingot -eln:Tungsten_Ore.name=Tungsten Ore +tile.eln:tungsten_ore.name=Tungsten Ore eln:Tutorial_Sign.name=Tutorial Sign eln:Very_High_Voltage_Cable.name=Very High Voltage Cable eln:Very_High_Voltage_Relay.name=Very High Voltage Relay diff --git a/src/main/resources/assets/eln/lang/id.lang b/src/main/resources/assets/eln/lang/id.lang index 92e8a8d93..a443df899 100644 --- a/src/main/resources/assets/eln/lang/id.lang +++ b/src/main/resources/assets/eln/lang/id.lang @@ -72,14 +72,14 @@ eln:Cheap_Chip.name=Cheap Chip eln:Cheap_Electrical_Drill.name=Cheap Electrical Drill eln:Cheap_Ferromagnetic_Core.name=Cheap Ferromagnetic Core eln:Cinnabar_Dust.name=Cinnabar Dust -eln:Cinnabar_Ore.name=Cinnabar Ore +tile.eln:cinnabar_ore.name=Cinnabar Ore eln:Coal_Dust.name=Coal Dust eln:Coal_Plate.name=Coal Plate eln:Combustion_Chamber.name=Combustion Chamber eln:Copper_Cable.name=Copper Cable eln:Copper_Dust.name=Copper Dust eln:Copper_Ingot.name=Copper Ingot -eln:Copper_Ore.name=Copper Ore +tile.eln:copper_ore.name=Copper Ore eln:Copper_Plate.name=Copper Plate eln:Copper_Thermal_Cable.name=Copper Thermal Cable eln:Cost_Oriented_Battery.name=Cost Oriented Battery @@ -134,7 +134,7 @@ eln:Lamp_Supply.name=Lamp Supply eln:Large_Rheostat.name=Large Rheostat eln:Lead_Dust.name=Lead Dust eln:Lead_Ingot.name=Lead Ingot -eln:Lead_Ore.name=Lead Ore +tile.eln:lead_ore.name=Lead Ore eln:Lead_Plate.name=Lead Plate eln:Life_Oriented_Battery.name=Life Oriented Battery eln:Light_Blue_Brush.name=Light Blue Brush @@ -242,7 +242,7 @@ eln:Tree_Resin_Collector.name=Tree Resin Collector eln:Tungsten_Cable.name=Tungsten Cable eln:Tungsten_Dust.name=Tungsten Dust eln:Tungsten_Ingot.name=Tungsten Ingot -eln:Tungsten_Ore.name=Tungsten Ore +tile.eln:tungsten_ore.name=Tungsten Ore eln:Tutorial_Sign.name=Tutorial Sign eln:Very_High_Voltage_Cable.name=Very High Voltage Cable eln:Very_High_Voltage_Relay.name=Very High Voltage Relay diff --git a/src/main/resources/assets/eln/lang/it.lang b/src/main/resources/assets/eln/lang/it.lang index bbb60c494..f39110717 100644 --- a/src/main/resources/assets/eln/lang/it.lang +++ b/src/main/resources/assets/eln/lang/it.lang @@ -72,14 +72,14 @@ eln:Cheap_Chip.name=Chip Economico eln:Cheap_Electrical_Drill.name=Trapano Elettrico Economico eln:Cheap_Ferromagnetic_Core.name=Nucleo Ferromagnentico Economico eln:Cinnabar_Dust.name=Polvere di Cinabro -eln:Cinnabar_Ore.name=Cinabro Grezzo +tile.eln:cinnabar_ore.name=Cinabro Grezzo eln:Coal_Dust.name=Polvere di Carbone eln:Coal_Plate.name=Piastra di Carbone eln:Combustion_Chamber.name=Camera di Combustione eln:Copper_Cable.name=Cavo di Rame eln:Copper_Dust.name=Polvere di Rame eln:Copper_Ingot.name=Lingotto di Rame -eln:Copper_Ore.name=Rame Grezzo +tile.eln:copper_ore.name=Rame Grezzo eln:Copper_Plate.name=Piastra di Rame eln:Copper_Thermal_Cable.name=Cavo Termico di Rame eln:Cost_Oriented_Battery.name=Batteria Orientata al Costo @@ -134,7 +134,7 @@ eln:Lamp_Supply.name=Erogatore per Lampade eln:Large_Rheostat.name=Reostato Grande eln:Lead_Dust.name=Polvere di Piombo eln:Lead_Ingot.name=Lingotto di Piombo -eln:Lead_Ore.name=Piombo Grezzo +tile.eln:lead_ore.name=Piombo Grezzo eln:Lead_Plate.name=Piastra di Piombo eln:Life_Oriented_Battery.name=Batteria orientata alla Durata eln:Light_Blue_Brush.name=Pennello Azzurro @@ -242,7 +242,7 @@ eln:Tree_Resin_Collector.name=Collettore di Resina d'Albero eln:Tungsten_Cable.name=Cavo in Tungsteno eln:Tungsten_Dust.name=Polvere di Tungsteno eln:Tungsten_Ingot.name=Lingotto di Tungsteno -eln:Tungsten_Ore.name=Tungsteno Grezzo +tile.eln:tungsten_ore.name=Tungsteno Grezzo eln:Tutorial_Sign.name=Cartello Tutorial eln:Very_High_Voltage_Cable.name=Cavo a Tensione Molto Alta eln:Very_High_Voltage_Relay.name=Relè a Tensione Molto Alta diff --git a/src/main/resources/assets/eln/lang/it_IT.lang b/src/main/resources/assets/eln/lang/it_IT.lang index bbb60c494..f39110717 100644 --- a/src/main/resources/assets/eln/lang/it_IT.lang +++ b/src/main/resources/assets/eln/lang/it_IT.lang @@ -72,14 +72,14 @@ eln:Cheap_Chip.name=Chip Economico eln:Cheap_Electrical_Drill.name=Trapano Elettrico Economico eln:Cheap_Ferromagnetic_Core.name=Nucleo Ferromagnentico Economico eln:Cinnabar_Dust.name=Polvere di Cinabro -eln:Cinnabar_Ore.name=Cinabro Grezzo +tile.eln:cinnabar_ore.name=Cinabro Grezzo eln:Coal_Dust.name=Polvere di Carbone eln:Coal_Plate.name=Piastra di Carbone eln:Combustion_Chamber.name=Camera di Combustione eln:Copper_Cable.name=Cavo di Rame eln:Copper_Dust.name=Polvere di Rame eln:Copper_Ingot.name=Lingotto di Rame -eln:Copper_Ore.name=Rame Grezzo +tile.eln:copper_ore.name=Rame Grezzo eln:Copper_Plate.name=Piastra di Rame eln:Copper_Thermal_Cable.name=Cavo Termico di Rame eln:Cost_Oriented_Battery.name=Batteria Orientata al Costo @@ -134,7 +134,7 @@ eln:Lamp_Supply.name=Erogatore per Lampade eln:Large_Rheostat.name=Reostato Grande eln:Lead_Dust.name=Polvere di Piombo eln:Lead_Ingot.name=Lingotto di Piombo -eln:Lead_Ore.name=Piombo Grezzo +tile.eln:lead_ore.name=Piombo Grezzo eln:Lead_Plate.name=Piastra di Piombo eln:Life_Oriented_Battery.name=Batteria orientata alla Durata eln:Light_Blue_Brush.name=Pennello Azzurro @@ -242,7 +242,7 @@ eln:Tree_Resin_Collector.name=Collettore di Resina d'Albero eln:Tungsten_Cable.name=Cavo in Tungsteno eln:Tungsten_Dust.name=Polvere di Tungsteno eln:Tungsten_Ingot.name=Lingotto di Tungsteno -eln:Tungsten_Ore.name=Tungsteno Grezzo +tile.eln:tungsten_ore.name=Tungsteno Grezzo eln:Tutorial_Sign.name=Cartello Tutorial eln:Very_High_Voltage_Cable.name=Cavo a Tensione Molto Alta eln:Very_High_Voltage_Relay.name=Relè a Tensione Molto Alta diff --git a/src/main/resources/assets/eln/lang/nl.lang b/src/main/resources/assets/eln/lang/nl.lang index ffb73607c..e467b4f09 100644 --- a/src/main/resources/assets/eln/lang/nl.lang +++ b/src/main/resources/assets/eln/lang/nl.lang @@ -72,14 +72,14 @@ eln:Cheap_Chip.name=Goedkope Chip eln:Cheap_Electrical_Drill.name=Goedkope Elektrische Boor eln:Cheap_Ferromagnetic_Core.name=Goedkope Ferromagnetische Kern eln:Cinnabar_Dust.name=Cinnaber Stof -eln:Cinnabar_Ore.name=Cinnaber Erts +tile.eln:cinnabar_ore.name=Cinnaber Erts eln:Coal_Dust.name=Kolenstof eln:Coal_Plate.name=Kolen Plaat eln:Combustion_Chamber.name=Ontbrandingskamer eln:Copper_Cable.name=Koperen Kabel eln:Copper_Dust.name=Koperstof eln:Copper_Ingot.name=Koperen Staaf -eln:Copper_Ore.name=Kopererts +tile.eln:copper_ore.name=Kopererts eln:Copper_Plate.name=Koperen Plaat eln:Copper_Thermal_Cable.name=Koperen Hittegeleidingskabel eln:Cost_Oriented_Battery.name=Kostengerichte Accu @@ -134,7 +134,7 @@ eln:Lamp_Supply.name=Lamp Voeiding eln:Large_Rheostat.name=Grote Potentiometer eln:Lead_Dust.name=Lood Stof eln:Lead_Ingot.name=Loden Staaf -eln:Lead_Ore.name=Looderts +tile.eln:lead_ore.name=Looderts eln:Lead_Plate.name=Loden Plaat eln:Life_Oriented_Battery.name=Levensduurgerichte Accu eln:Light_Blue_Brush.name=Lichtblauwe Kwast @@ -242,7 +242,7 @@ eln:Tree_Resin_Collector.name=Boomhars Verzamelzak eln:Tungsten_Cable.name=Wolfraam Kabel eln:Tungsten_Dust.name=Wolfraam Stof eln:Tungsten_Ingot.name=Wolfraam Staaf -eln:Tungsten_Ore.name=Wolfraamerts +tile.eln:tungsten_ore.name=Wolfraamerts eln:Tutorial_Sign.name=Uitleg Bord eln:Very_High_Voltage_Cable.name=Extreme Hoogspanningskabel eln:Very_High_Voltage_Relay.name=Extreme Hoogspanningsrelais diff --git a/src/main/resources/assets/eln/lang/nl_BE.lang b/src/main/resources/assets/eln/lang/nl_BE.lang index ffb73607c..e467b4f09 100644 --- a/src/main/resources/assets/eln/lang/nl_BE.lang +++ b/src/main/resources/assets/eln/lang/nl_BE.lang @@ -72,14 +72,14 @@ eln:Cheap_Chip.name=Goedkope Chip eln:Cheap_Electrical_Drill.name=Goedkope Elektrische Boor eln:Cheap_Ferromagnetic_Core.name=Goedkope Ferromagnetische Kern eln:Cinnabar_Dust.name=Cinnaber Stof -eln:Cinnabar_Ore.name=Cinnaber Erts +tile.eln:cinnabar_ore.name=Cinnaber Erts eln:Coal_Dust.name=Kolenstof eln:Coal_Plate.name=Kolen Plaat eln:Combustion_Chamber.name=Ontbrandingskamer eln:Copper_Cable.name=Koperen Kabel eln:Copper_Dust.name=Koperstof eln:Copper_Ingot.name=Koperen Staaf -eln:Copper_Ore.name=Kopererts +tile.eln:copper_ore.name=Kopererts eln:Copper_Plate.name=Koperen Plaat eln:Copper_Thermal_Cable.name=Koperen Hittegeleidingskabel eln:Cost_Oriented_Battery.name=Kostengerichte Accu @@ -134,7 +134,7 @@ eln:Lamp_Supply.name=Lamp Voeiding eln:Large_Rheostat.name=Grote Potentiometer eln:Lead_Dust.name=Lood Stof eln:Lead_Ingot.name=Loden Staaf -eln:Lead_Ore.name=Looderts +tile.eln:lead_ore.name=Looderts eln:Lead_Plate.name=Loden Plaat eln:Life_Oriented_Battery.name=Levensduurgerichte Accu eln:Light_Blue_Brush.name=Lichtblauwe Kwast @@ -242,7 +242,7 @@ eln:Tree_Resin_Collector.name=Boomhars Verzamelzak eln:Tungsten_Cable.name=Wolfraam Kabel eln:Tungsten_Dust.name=Wolfraam Stof eln:Tungsten_Ingot.name=Wolfraam Staaf -eln:Tungsten_Ore.name=Wolfraamerts +tile.eln:tungsten_ore.name=Wolfraamerts eln:Tutorial_Sign.name=Uitleg Bord eln:Very_High_Voltage_Cable.name=Extreme Hoogspanningskabel eln:Very_High_Voltage_Relay.name=Extreme Hoogspanningsrelais diff --git a/src/main/resources/assets/eln/lang/nl_NL.lang b/src/main/resources/assets/eln/lang/nl_NL.lang index ffb73607c..e467b4f09 100644 --- a/src/main/resources/assets/eln/lang/nl_NL.lang +++ b/src/main/resources/assets/eln/lang/nl_NL.lang @@ -72,14 +72,14 @@ eln:Cheap_Chip.name=Goedkope Chip eln:Cheap_Electrical_Drill.name=Goedkope Elektrische Boor eln:Cheap_Ferromagnetic_Core.name=Goedkope Ferromagnetische Kern eln:Cinnabar_Dust.name=Cinnaber Stof -eln:Cinnabar_Ore.name=Cinnaber Erts +tile.eln:cinnabar_ore.name=Cinnaber Erts eln:Coal_Dust.name=Kolenstof eln:Coal_Plate.name=Kolen Plaat eln:Combustion_Chamber.name=Ontbrandingskamer eln:Copper_Cable.name=Koperen Kabel eln:Copper_Dust.name=Koperstof eln:Copper_Ingot.name=Koperen Staaf -eln:Copper_Ore.name=Kopererts +tile.eln:copper_ore.name=Kopererts eln:Copper_Plate.name=Koperen Plaat eln:Copper_Thermal_Cable.name=Koperen Hittegeleidingskabel eln:Cost_Oriented_Battery.name=Kostengerichte Accu @@ -134,7 +134,7 @@ eln:Lamp_Supply.name=Lamp Voeiding eln:Large_Rheostat.name=Grote Potentiometer eln:Lead_Dust.name=Lood Stof eln:Lead_Ingot.name=Loden Staaf -eln:Lead_Ore.name=Looderts +tile.eln:lead_ore.name=Looderts eln:Lead_Plate.name=Loden Plaat eln:Life_Oriented_Battery.name=Levensduurgerichte Accu eln:Light_Blue_Brush.name=Lichtblauwe Kwast @@ -242,7 +242,7 @@ eln:Tree_Resin_Collector.name=Boomhars Verzamelzak eln:Tungsten_Cable.name=Wolfraam Kabel eln:Tungsten_Dust.name=Wolfraam Stof eln:Tungsten_Ingot.name=Wolfraam Staaf -eln:Tungsten_Ore.name=Wolfraamerts +tile.eln:tungsten_ore.name=Wolfraamerts eln:Tutorial_Sign.name=Uitleg Bord eln:Very_High_Voltage_Cable.name=Extreme Hoogspanningskabel eln:Very_High_Voltage_Relay.name=Extreme Hoogspanningsrelais diff --git a/src/main/resources/assets/eln/lang/no.lang b/src/main/resources/assets/eln/lang/no.lang index 63ae63433..a0e83799e 100644 --- a/src/main/resources/assets/eln/lang/no.lang +++ b/src/main/resources/assets/eln/lang/no.lang @@ -72,14 +72,14 @@ eln:Cheap_Chip.name=Cheap Chip eln:Cheap_Electrical_Drill.name=Cheap Electrical Drill eln:Cheap_Ferromagnetic_Core.name=Cheap Ferromagnetic Core eln:Cinnabar_Dust.name=Cinnabar Dust -eln:Cinnabar_Ore.name=Cinnabar Ore +tile.eln:cinnabar_ore.name=Cinnabar Ore eln:Coal_Dust.name=Coal Dust eln:Coal_Plate.name=Coal Plate eln:Combustion_Chamber.name=Combustion Chamber eln:Copper_Cable.name=Copper Cable eln:Copper_Dust.name=Copper Dust eln:Copper_Ingot.name=Copper Ingot -eln:Copper_Ore.name=Copper Ore +tile.eln:copper_ore.name=Copper Ore eln:Copper_Plate.name=Copper Plate eln:Copper_Thermal_Cable.name=Copper Thermal Cable eln:Cost_Oriented_Battery.name=Cost Oriented Battery @@ -134,7 +134,7 @@ eln:Lamp_Supply.name=Lamp Supply eln:Large_Rheostat.name=Large Rheostat eln:Lead_Dust.name=Lead Dust eln:Lead_Ingot.name=Lead Ingot -eln:Lead_Ore.name=Lead Ore +tile.eln:lead_ore.name=Lead Ore eln:Lead_Plate.name=Lead Plate eln:Life_Oriented_Battery.name=Life Oriented Battery eln:Light_Blue_Brush.name=Light Blue Brush @@ -242,7 +242,7 @@ eln:Tree_Resin_Collector.name=Tree Resin Collector eln:Tungsten_Cable.name=Tungsten Cable eln:Tungsten_Dust.name=Tungsten Dust eln:Tungsten_Ingot.name=Tungsten Ingot -eln:Tungsten_Ore.name=Tungsten Ore +tile.eln:tungsten_ore.name=Tungsten Ore eln:Tutorial_Sign.name=Tutorial Sign eln:Very_High_Voltage_Cable.name=Very High Voltage Cable eln:Very_High_Voltage_Relay.name=Very High Voltage Relay diff --git a/src/main/resources/assets/eln/lang/pl.lang b/src/main/resources/assets/eln/lang/pl.lang index 92e8a8d93..a443df899 100644 --- a/src/main/resources/assets/eln/lang/pl.lang +++ b/src/main/resources/assets/eln/lang/pl.lang @@ -72,14 +72,14 @@ eln:Cheap_Chip.name=Cheap Chip eln:Cheap_Electrical_Drill.name=Cheap Electrical Drill eln:Cheap_Ferromagnetic_Core.name=Cheap Ferromagnetic Core eln:Cinnabar_Dust.name=Cinnabar Dust -eln:Cinnabar_Ore.name=Cinnabar Ore +tile.eln:cinnabar_ore.name=Cinnabar Ore eln:Coal_Dust.name=Coal Dust eln:Coal_Plate.name=Coal Plate eln:Combustion_Chamber.name=Combustion Chamber eln:Copper_Cable.name=Copper Cable eln:Copper_Dust.name=Copper Dust eln:Copper_Ingot.name=Copper Ingot -eln:Copper_Ore.name=Copper Ore +tile.eln:copper_ore.name=Copper Ore eln:Copper_Plate.name=Copper Plate eln:Copper_Thermal_Cable.name=Copper Thermal Cable eln:Cost_Oriented_Battery.name=Cost Oriented Battery @@ -134,7 +134,7 @@ eln:Lamp_Supply.name=Lamp Supply eln:Large_Rheostat.name=Large Rheostat eln:Lead_Dust.name=Lead Dust eln:Lead_Ingot.name=Lead Ingot -eln:Lead_Ore.name=Lead Ore +tile.eln:lead_ore.name=Lead Ore eln:Lead_Plate.name=Lead Plate eln:Life_Oriented_Battery.name=Life Oriented Battery eln:Light_Blue_Brush.name=Light Blue Brush @@ -242,7 +242,7 @@ eln:Tree_Resin_Collector.name=Tree Resin Collector eln:Tungsten_Cable.name=Tungsten Cable eln:Tungsten_Dust.name=Tungsten Dust eln:Tungsten_Ingot.name=Tungsten Ingot -eln:Tungsten_Ore.name=Tungsten Ore +tile.eln:tungsten_ore.name=Tungsten Ore eln:Tutorial_Sign.name=Tutorial Sign eln:Very_High_Voltage_Cable.name=Very High Voltage Cable eln:Very_High_Voltage_Relay.name=Very High Voltage Relay diff --git a/src/main/resources/assets/eln/lang/pl_PL.lang b/src/main/resources/assets/eln/lang/pl_PL.lang index 92e8a8d93..a443df899 100644 --- a/src/main/resources/assets/eln/lang/pl_PL.lang +++ b/src/main/resources/assets/eln/lang/pl_PL.lang @@ -72,14 +72,14 @@ eln:Cheap_Chip.name=Cheap Chip eln:Cheap_Electrical_Drill.name=Cheap Electrical Drill eln:Cheap_Ferromagnetic_Core.name=Cheap Ferromagnetic Core eln:Cinnabar_Dust.name=Cinnabar Dust -eln:Cinnabar_Ore.name=Cinnabar Ore +tile.eln:cinnabar_ore.name=Cinnabar Ore eln:Coal_Dust.name=Coal Dust eln:Coal_Plate.name=Coal Plate eln:Combustion_Chamber.name=Combustion Chamber eln:Copper_Cable.name=Copper Cable eln:Copper_Dust.name=Copper Dust eln:Copper_Ingot.name=Copper Ingot -eln:Copper_Ore.name=Copper Ore +tile.eln:copper_ore.name=Copper Ore eln:Copper_Plate.name=Copper Plate eln:Copper_Thermal_Cable.name=Copper Thermal Cable eln:Cost_Oriented_Battery.name=Cost Oriented Battery @@ -134,7 +134,7 @@ eln:Lamp_Supply.name=Lamp Supply eln:Large_Rheostat.name=Large Rheostat eln:Lead_Dust.name=Lead Dust eln:Lead_Ingot.name=Lead Ingot -eln:Lead_Ore.name=Lead Ore +tile.eln:lead_ore.name=Lead Ore eln:Lead_Plate.name=Lead Plate eln:Life_Oriented_Battery.name=Life Oriented Battery eln:Light_Blue_Brush.name=Light Blue Brush @@ -242,7 +242,7 @@ eln:Tree_Resin_Collector.name=Tree Resin Collector eln:Tungsten_Cable.name=Tungsten Cable eln:Tungsten_Dust.name=Tungsten Dust eln:Tungsten_Ingot.name=Tungsten Ingot -eln:Tungsten_Ore.name=Tungsten Ore +tile.eln:tungsten_ore.name=Tungsten Ore eln:Tutorial_Sign.name=Tutorial Sign eln:Very_High_Voltage_Cable.name=Very High Voltage Cable eln:Very_High_Voltage_Relay.name=Very High Voltage Relay diff --git a/src/main/resources/assets/eln/lang/pt.lang b/src/main/resources/assets/eln/lang/pt.lang index 92e8a8d93..a443df899 100644 --- a/src/main/resources/assets/eln/lang/pt.lang +++ b/src/main/resources/assets/eln/lang/pt.lang @@ -72,14 +72,14 @@ eln:Cheap_Chip.name=Cheap Chip eln:Cheap_Electrical_Drill.name=Cheap Electrical Drill eln:Cheap_Ferromagnetic_Core.name=Cheap Ferromagnetic Core eln:Cinnabar_Dust.name=Cinnabar Dust -eln:Cinnabar_Ore.name=Cinnabar Ore +tile.eln:cinnabar_ore.name=Cinnabar Ore eln:Coal_Dust.name=Coal Dust eln:Coal_Plate.name=Coal Plate eln:Combustion_Chamber.name=Combustion Chamber eln:Copper_Cable.name=Copper Cable eln:Copper_Dust.name=Copper Dust eln:Copper_Ingot.name=Copper Ingot -eln:Copper_Ore.name=Copper Ore +tile.eln:copper_ore.name=Copper Ore eln:Copper_Plate.name=Copper Plate eln:Copper_Thermal_Cable.name=Copper Thermal Cable eln:Cost_Oriented_Battery.name=Cost Oriented Battery @@ -134,7 +134,7 @@ eln:Lamp_Supply.name=Lamp Supply eln:Large_Rheostat.name=Large Rheostat eln:Lead_Dust.name=Lead Dust eln:Lead_Ingot.name=Lead Ingot -eln:Lead_Ore.name=Lead Ore +tile.eln:lead_ore.name=Lead Ore eln:Lead_Plate.name=Lead Plate eln:Life_Oriented_Battery.name=Life Oriented Battery eln:Light_Blue_Brush.name=Light Blue Brush @@ -242,7 +242,7 @@ eln:Tree_Resin_Collector.name=Tree Resin Collector eln:Tungsten_Cable.name=Tungsten Cable eln:Tungsten_Dust.name=Tungsten Dust eln:Tungsten_Ingot.name=Tungsten Ingot -eln:Tungsten_Ore.name=Tungsten Ore +tile.eln:tungsten_ore.name=Tungsten Ore eln:Tutorial_Sign.name=Tutorial Sign eln:Very_High_Voltage_Cable.name=Very High Voltage Cable eln:Very_High_Voltage_Relay.name=Very High Voltage Relay diff --git a/src/main/resources/assets/eln/lang/pt_BR.lang b/src/main/resources/assets/eln/lang/pt_BR.lang index 92e8a8d93..a443df899 100644 --- a/src/main/resources/assets/eln/lang/pt_BR.lang +++ b/src/main/resources/assets/eln/lang/pt_BR.lang @@ -72,14 +72,14 @@ eln:Cheap_Chip.name=Cheap Chip eln:Cheap_Electrical_Drill.name=Cheap Electrical Drill eln:Cheap_Ferromagnetic_Core.name=Cheap Ferromagnetic Core eln:Cinnabar_Dust.name=Cinnabar Dust -eln:Cinnabar_Ore.name=Cinnabar Ore +tile.eln:cinnabar_ore.name=Cinnabar Ore eln:Coal_Dust.name=Coal Dust eln:Coal_Plate.name=Coal Plate eln:Combustion_Chamber.name=Combustion Chamber eln:Copper_Cable.name=Copper Cable eln:Copper_Dust.name=Copper Dust eln:Copper_Ingot.name=Copper Ingot -eln:Copper_Ore.name=Copper Ore +tile.eln:copper_ore.name=Copper Ore eln:Copper_Plate.name=Copper Plate eln:Copper_Thermal_Cable.name=Copper Thermal Cable eln:Cost_Oriented_Battery.name=Cost Oriented Battery @@ -134,7 +134,7 @@ eln:Lamp_Supply.name=Lamp Supply eln:Large_Rheostat.name=Large Rheostat eln:Lead_Dust.name=Lead Dust eln:Lead_Ingot.name=Lead Ingot -eln:Lead_Ore.name=Lead Ore +tile.eln:lead_ore.name=Lead Ore eln:Lead_Plate.name=Lead Plate eln:Life_Oriented_Battery.name=Life Oriented Battery eln:Light_Blue_Brush.name=Light Blue Brush @@ -242,7 +242,7 @@ eln:Tree_Resin_Collector.name=Tree Resin Collector eln:Tungsten_Cable.name=Tungsten Cable eln:Tungsten_Dust.name=Tungsten Dust eln:Tungsten_Ingot.name=Tungsten Ingot -eln:Tungsten_Ore.name=Tungsten Ore +tile.eln:tungsten_ore.name=Tungsten Ore eln:Tutorial_Sign.name=Tutorial Sign eln:Very_High_Voltage_Cable.name=Very High Voltage Cable eln:Very_High_Voltage_Relay.name=Very High Voltage Relay diff --git a/src/main/resources/assets/eln/lang/ro.lang b/src/main/resources/assets/eln/lang/ro.lang index 92e8a8d93..a443df899 100644 --- a/src/main/resources/assets/eln/lang/ro.lang +++ b/src/main/resources/assets/eln/lang/ro.lang @@ -72,14 +72,14 @@ eln:Cheap_Chip.name=Cheap Chip eln:Cheap_Electrical_Drill.name=Cheap Electrical Drill eln:Cheap_Ferromagnetic_Core.name=Cheap Ferromagnetic Core eln:Cinnabar_Dust.name=Cinnabar Dust -eln:Cinnabar_Ore.name=Cinnabar Ore +tile.eln:cinnabar_ore.name=Cinnabar Ore eln:Coal_Dust.name=Coal Dust eln:Coal_Plate.name=Coal Plate eln:Combustion_Chamber.name=Combustion Chamber eln:Copper_Cable.name=Copper Cable eln:Copper_Dust.name=Copper Dust eln:Copper_Ingot.name=Copper Ingot -eln:Copper_Ore.name=Copper Ore +tile.eln:copper_ore.name=Copper Ore eln:Copper_Plate.name=Copper Plate eln:Copper_Thermal_Cable.name=Copper Thermal Cable eln:Cost_Oriented_Battery.name=Cost Oriented Battery @@ -134,7 +134,7 @@ eln:Lamp_Supply.name=Lamp Supply eln:Large_Rheostat.name=Large Rheostat eln:Lead_Dust.name=Lead Dust eln:Lead_Ingot.name=Lead Ingot -eln:Lead_Ore.name=Lead Ore +tile.eln:lead_ore.name=Lead Ore eln:Lead_Plate.name=Lead Plate eln:Life_Oriented_Battery.name=Life Oriented Battery eln:Light_Blue_Brush.name=Light Blue Brush @@ -242,7 +242,7 @@ eln:Tree_Resin_Collector.name=Tree Resin Collector eln:Tungsten_Cable.name=Tungsten Cable eln:Tungsten_Dust.name=Tungsten Dust eln:Tungsten_Ingot.name=Tungsten Ingot -eln:Tungsten_Ore.name=Tungsten Ore +tile.eln:tungsten_ore.name=Tungsten Ore eln:Tutorial_Sign.name=Tutorial Sign eln:Very_High_Voltage_Cable.name=Very High Voltage Cable eln:Very_High_Voltage_Relay.name=Very High Voltage Relay diff --git a/src/main/resources/assets/eln/lang/ru.lang b/src/main/resources/assets/eln/lang/ru.lang index c433aaa8f..b7eb5a0c0 100644 --- a/src/main/resources/assets/eln/lang/ru.lang +++ b/src/main/resources/assets/eln/lang/ru.lang @@ -72,14 +72,14 @@ eln:Cheap_Chip.name=Дешевый чип eln:Cheap_Electrical_Drill.name=Дешевая насадка для бура eln:Cheap_Ferromagnetic_Core.name=Дешевое ферромагнитное ядро eln:Cinnabar_Dust.name=Распыленная киноварь -eln:Cinnabar_Ore.name=Киноварь +tile.eln:cinnabar_ore.name=Киноварь eln:Coal_Dust.name=Распыленный уголь eln:Coal_Plate.name=Угольная пластина eln:Combustion_Chamber.name=Камера внутреннего сгорания eln:Copper_Cable.name=Медный провод eln:Copper_Dust.name=Распыленная медь eln:Copper_Ingot.name=Медный слиток -eln:Copper_Ore.name=Медная руда +tile.eln:copper_ore.name=Медная руда eln:Copper_Plate.name=Медная пластина eln:Copper_Thermal_Cable.name=Медный теплопровод eln:Cost_Oriented_Battery.name=Дешевый аккумулятор @@ -134,7 +134,7 @@ eln:Lamp_Supply.name=Блок освещения eln:Large_Rheostat.name=Большой реостат eln:Lead_Dust.name=Распыленный свинец eln:Lead_Ingot.name=Свинцовый слиток -eln:Lead_Ore.name=Свинцовая руда +tile.eln:lead_ore.name=Свинцовая руда eln:Lead_Plate.name=Свинцовая пластина eln:Life_Oriented_Battery.name=Долговременный аккумулятор eln:Light_Blue_Brush.name=Голубая кисточка @@ -242,7 +242,7 @@ eln:Tree_Resin_Collector.name=Сборщик каучука eln:Tungsten_Cable.name=Вольфрамовый провод eln:Tungsten_Dust.name=Распыленный вольфрам eln:Tungsten_Ingot.name=Вольфрамовый слиток -eln:Tungsten_Ore.name=Вольфрамовая руда +tile.eln:tungsten_ore.name=Вольфрамовая руда eln:Tutorial_Sign.name=Подсказка eln:Very_High_Voltage_Cable.name=Силовой кабель eln:Very_High_Voltage_Relay.name=Силовое реле diff --git a/src/main/resources/assets/eln/lang/ru_RU.lang b/src/main/resources/assets/eln/lang/ru_RU.lang index c433aaa8f..b7eb5a0c0 100644 --- a/src/main/resources/assets/eln/lang/ru_RU.lang +++ b/src/main/resources/assets/eln/lang/ru_RU.lang @@ -72,14 +72,14 @@ eln:Cheap_Chip.name=Дешевый чип eln:Cheap_Electrical_Drill.name=Дешевая насадка для бура eln:Cheap_Ferromagnetic_Core.name=Дешевое ферромагнитное ядро eln:Cinnabar_Dust.name=Распыленная киноварь -eln:Cinnabar_Ore.name=Киноварь +tile.eln:cinnabar_ore.name=Киноварь eln:Coal_Dust.name=Распыленный уголь eln:Coal_Plate.name=Угольная пластина eln:Combustion_Chamber.name=Камера внутреннего сгорания eln:Copper_Cable.name=Медный провод eln:Copper_Dust.name=Распыленная медь eln:Copper_Ingot.name=Медный слиток -eln:Copper_Ore.name=Медная руда +tile.eln:copper_ore.name=Медная руда eln:Copper_Plate.name=Медная пластина eln:Copper_Thermal_Cable.name=Медный теплопровод eln:Cost_Oriented_Battery.name=Дешевый аккумулятор @@ -134,7 +134,7 @@ eln:Lamp_Supply.name=Блок освещения eln:Large_Rheostat.name=Большой реостат eln:Lead_Dust.name=Распыленный свинец eln:Lead_Ingot.name=Свинцовый слиток -eln:Lead_Ore.name=Свинцовая руда +tile.eln:lead_ore.name=Свинцовая руда eln:Lead_Plate.name=Свинцовая пластина eln:Life_Oriented_Battery.name=Долговременный аккумулятор eln:Light_Blue_Brush.name=Голубая кисточка @@ -242,7 +242,7 @@ eln:Tree_Resin_Collector.name=Сборщик каучука eln:Tungsten_Cable.name=Вольфрамовый провод eln:Tungsten_Dust.name=Распыленный вольфрам eln:Tungsten_Ingot.name=Вольфрамовый слиток -eln:Tungsten_Ore.name=Вольфрамовая руда +tile.eln:tungsten_ore.name=Вольфрамовая руда eln:Tutorial_Sign.name=Подсказка eln:Very_High_Voltage_Cable.name=Силовой кабель eln:Very_High_Voltage_Relay.name=Силовое реле diff --git a/src/main/resources/assets/eln/lang/sk.lang b/src/main/resources/assets/eln/lang/sk.lang index 92e8a8d93..a443df899 100644 --- a/src/main/resources/assets/eln/lang/sk.lang +++ b/src/main/resources/assets/eln/lang/sk.lang @@ -72,14 +72,14 @@ eln:Cheap_Chip.name=Cheap Chip eln:Cheap_Electrical_Drill.name=Cheap Electrical Drill eln:Cheap_Ferromagnetic_Core.name=Cheap Ferromagnetic Core eln:Cinnabar_Dust.name=Cinnabar Dust -eln:Cinnabar_Ore.name=Cinnabar Ore +tile.eln:cinnabar_ore.name=Cinnabar Ore eln:Coal_Dust.name=Coal Dust eln:Coal_Plate.name=Coal Plate eln:Combustion_Chamber.name=Combustion Chamber eln:Copper_Cable.name=Copper Cable eln:Copper_Dust.name=Copper Dust eln:Copper_Ingot.name=Copper Ingot -eln:Copper_Ore.name=Copper Ore +tile.eln:copper_ore.name=Copper Ore eln:Copper_Plate.name=Copper Plate eln:Copper_Thermal_Cable.name=Copper Thermal Cable eln:Cost_Oriented_Battery.name=Cost Oriented Battery @@ -134,7 +134,7 @@ eln:Lamp_Supply.name=Lamp Supply eln:Large_Rheostat.name=Large Rheostat eln:Lead_Dust.name=Lead Dust eln:Lead_Ingot.name=Lead Ingot -eln:Lead_Ore.name=Lead Ore +tile.eln:lead_ore.name=Lead Ore eln:Lead_Plate.name=Lead Plate eln:Life_Oriented_Battery.name=Life Oriented Battery eln:Light_Blue_Brush.name=Light Blue Brush @@ -242,7 +242,7 @@ eln:Tree_Resin_Collector.name=Tree Resin Collector eln:Tungsten_Cable.name=Tungsten Cable eln:Tungsten_Dust.name=Tungsten Dust eln:Tungsten_Ingot.name=Tungsten Ingot -eln:Tungsten_Ore.name=Tungsten Ore +tile.eln:tungsten_ore.name=Tungsten Ore eln:Tutorial_Sign.name=Tutorial Sign eln:Very_High_Voltage_Cable.name=Very High Voltage Cable eln:Very_High_Voltage_Relay.name=Very High Voltage Relay diff --git a/src/main/resources/assets/eln/lang/sk_SK.lang b/src/main/resources/assets/eln/lang/sk_SK.lang index 92e8a8d93..a443df899 100644 --- a/src/main/resources/assets/eln/lang/sk_SK.lang +++ b/src/main/resources/assets/eln/lang/sk_SK.lang @@ -72,14 +72,14 @@ eln:Cheap_Chip.name=Cheap Chip eln:Cheap_Electrical_Drill.name=Cheap Electrical Drill eln:Cheap_Ferromagnetic_Core.name=Cheap Ferromagnetic Core eln:Cinnabar_Dust.name=Cinnabar Dust -eln:Cinnabar_Ore.name=Cinnabar Ore +tile.eln:cinnabar_ore.name=Cinnabar Ore eln:Coal_Dust.name=Coal Dust eln:Coal_Plate.name=Coal Plate eln:Combustion_Chamber.name=Combustion Chamber eln:Copper_Cable.name=Copper Cable eln:Copper_Dust.name=Copper Dust eln:Copper_Ingot.name=Copper Ingot -eln:Copper_Ore.name=Copper Ore +tile.eln:copper_ore.name=Copper Ore eln:Copper_Plate.name=Copper Plate eln:Copper_Thermal_Cable.name=Copper Thermal Cable eln:Cost_Oriented_Battery.name=Cost Oriented Battery @@ -134,7 +134,7 @@ eln:Lamp_Supply.name=Lamp Supply eln:Large_Rheostat.name=Large Rheostat eln:Lead_Dust.name=Lead Dust eln:Lead_Ingot.name=Lead Ingot -eln:Lead_Ore.name=Lead Ore +tile.eln:lead_ore.name=Lead Ore eln:Lead_Plate.name=Lead Plate eln:Life_Oriented_Battery.name=Life Oriented Battery eln:Light_Blue_Brush.name=Light Blue Brush @@ -242,7 +242,7 @@ eln:Tree_Resin_Collector.name=Tree Resin Collector eln:Tungsten_Cable.name=Tungsten Cable eln:Tungsten_Dust.name=Tungsten Dust eln:Tungsten_Ingot.name=Tungsten Ingot -eln:Tungsten_Ore.name=Tungsten Ore +tile.eln:tungsten_ore.name=Tungsten Ore eln:Tutorial_Sign.name=Tutorial Sign eln:Very_High_Voltage_Cable.name=Very High Voltage Cable eln:Very_High_Voltage_Relay.name=Very High Voltage Relay diff --git a/src/main/resources/assets/eln/lang/sr.lang b/src/main/resources/assets/eln/lang/sr.lang index 92e8a8d93..a443df899 100644 --- a/src/main/resources/assets/eln/lang/sr.lang +++ b/src/main/resources/assets/eln/lang/sr.lang @@ -72,14 +72,14 @@ eln:Cheap_Chip.name=Cheap Chip eln:Cheap_Electrical_Drill.name=Cheap Electrical Drill eln:Cheap_Ferromagnetic_Core.name=Cheap Ferromagnetic Core eln:Cinnabar_Dust.name=Cinnabar Dust -eln:Cinnabar_Ore.name=Cinnabar Ore +tile.eln:cinnabar_ore.name=Cinnabar Ore eln:Coal_Dust.name=Coal Dust eln:Coal_Plate.name=Coal Plate eln:Combustion_Chamber.name=Combustion Chamber eln:Copper_Cable.name=Copper Cable eln:Copper_Dust.name=Copper Dust eln:Copper_Ingot.name=Copper Ingot -eln:Copper_Ore.name=Copper Ore +tile.eln:copper_ore.name=Copper Ore eln:Copper_Plate.name=Copper Plate eln:Copper_Thermal_Cable.name=Copper Thermal Cable eln:Cost_Oriented_Battery.name=Cost Oriented Battery @@ -134,7 +134,7 @@ eln:Lamp_Supply.name=Lamp Supply eln:Large_Rheostat.name=Large Rheostat eln:Lead_Dust.name=Lead Dust eln:Lead_Ingot.name=Lead Ingot -eln:Lead_Ore.name=Lead Ore +tile.eln:lead_ore.name=Lead Ore eln:Lead_Plate.name=Lead Plate eln:Life_Oriented_Battery.name=Life Oriented Battery eln:Light_Blue_Brush.name=Light Blue Brush @@ -242,7 +242,7 @@ eln:Tree_Resin_Collector.name=Tree Resin Collector eln:Tungsten_Cable.name=Tungsten Cable eln:Tungsten_Dust.name=Tungsten Dust eln:Tungsten_Ingot.name=Tungsten Ingot -eln:Tungsten_Ore.name=Tungsten Ore +tile.eln:tungsten_ore.name=Tungsten Ore eln:Tutorial_Sign.name=Tutorial Sign eln:Very_High_Voltage_Cable.name=Very High Voltage Cable eln:Very_High_Voltage_Relay.name=Very High Voltage Relay diff --git a/src/main/resources/assets/eln/lang/sv_SE.lang b/src/main/resources/assets/eln/lang/sv_SE.lang index 92e8a8d93..a443df899 100644 --- a/src/main/resources/assets/eln/lang/sv_SE.lang +++ b/src/main/resources/assets/eln/lang/sv_SE.lang @@ -72,14 +72,14 @@ eln:Cheap_Chip.name=Cheap Chip eln:Cheap_Electrical_Drill.name=Cheap Electrical Drill eln:Cheap_Ferromagnetic_Core.name=Cheap Ferromagnetic Core eln:Cinnabar_Dust.name=Cinnabar Dust -eln:Cinnabar_Ore.name=Cinnabar Ore +tile.eln:cinnabar_ore.name=Cinnabar Ore eln:Coal_Dust.name=Coal Dust eln:Coal_Plate.name=Coal Plate eln:Combustion_Chamber.name=Combustion Chamber eln:Copper_Cable.name=Copper Cable eln:Copper_Dust.name=Copper Dust eln:Copper_Ingot.name=Copper Ingot -eln:Copper_Ore.name=Copper Ore +tile.eln:copper_ore.name=Copper Ore eln:Copper_Plate.name=Copper Plate eln:Copper_Thermal_Cable.name=Copper Thermal Cable eln:Cost_Oriented_Battery.name=Cost Oriented Battery @@ -134,7 +134,7 @@ eln:Lamp_Supply.name=Lamp Supply eln:Large_Rheostat.name=Large Rheostat eln:Lead_Dust.name=Lead Dust eln:Lead_Ingot.name=Lead Ingot -eln:Lead_Ore.name=Lead Ore +tile.eln:lead_ore.name=Lead Ore eln:Lead_Plate.name=Lead Plate eln:Life_Oriented_Battery.name=Life Oriented Battery eln:Light_Blue_Brush.name=Light Blue Brush @@ -242,7 +242,7 @@ eln:Tree_Resin_Collector.name=Tree Resin Collector eln:Tungsten_Cable.name=Tungsten Cable eln:Tungsten_Dust.name=Tungsten Dust eln:Tungsten_Ingot.name=Tungsten Ingot -eln:Tungsten_Ore.name=Tungsten Ore +tile.eln:tungsten_ore.name=Tungsten Ore eln:Tutorial_Sign.name=Tutorial Sign eln:Very_High_Voltage_Cable.name=Very High Voltage Cable eln:Very_High_Voltage_Relay.name=Very High Voltage Relay diff --git a/src/main/resources/assets/eln/lang/tr.lang b/src/main/resources/assets/eln/lang/tr.lang index 9aa256ec7..5cbf4c082 100644 --- a/src/main/resources/assets/eln/lang/tr.lang +++ b/src/main/resources/assets/eln/lang/tr.lang @@ -72,14 +72,14 @@ eln:Cheap_Chip.name=Ucuz Çip eln:Cheap_Electrical_Drill.name=Ucuz Elektrikli Matkap eln:Cheap_Ferromagnetic_Core.name=Ucuz Ferromanyetik Çekirdek eln:Cinnabar_Dust.name=Zincifre Tozu -eln:Cinnabar_Ore.name=Zincifre Cevheri +tile.eln:cinnabar_ore.name=Zincifre Cevheri eln:Coal_Dust.name=Kömür Tozu eln:Coal_Plate.name=Kömür Plaka eln:Combustion_Chamber.name=Yanma Odası eln:Copper_Cable.name=Bakır Kablo eln:Copper_Dust.name=Bakır Tozu eln:Copper_Ingot.name=Bakır Külçe -eln:Copper_Ore.name=Bakır Cevheri +tile.eln:copper_ore.name=Bakır Cevheri eln:Copper_Plate.name=Bakır Plaka eln:Copper_Thermal_Cable.name=Bakır Termal Kablo eln:Cost_Oriented_Battery.name=Maliyet Odaklı Batarya @@ -134,7 +134,7 @@ eln:Lamp_Supply.name=Lamba Besleme eln:Large_Rheostat.name=Large Rheostat eln:Lead_Dust.name=Kurşun Tozu eln:Lead_Ingot.name=Kurşun Külçesi -eln:Lead_Ore.name=Kurşun Cevheri +tile.eln:lead_ore.name=Kurşun Cevheri eln:Lead_Plate.name=Kurşun Plaka eln:Life_Oriented_Battery.name=Ömür Odaklı Pil eln:Light_Blue_Brush.name=Açık Mavi Fırça @@ -242,7 +242,7 @@ eln:Tree_Resin_Collector.name=Ağaç Özü Toplayıcısı eln:Tungsten_Cable.name=Tungsten Kablo eln:Tungsten_Dust.name=Tungsten Tozu eln:Tungsten_Ingot.name=Tungsten Külçe -eln:Tungsten_Ore.name=Tungsten Cevheri +tile.eln:tungsten_ore.name=Tungsten Cevheri eln:Tutorial_Sign.name=Öğretici Tabelası eln:Very_High_Voltage_Cable.name=Çok Yüksek Gerilim Kablosu eln:Very_High_Voltage_Relay.name=Çok Yüksek Gerilim Rölesi diff --git a/src/main/resources/assets/eln/lang/tr_TR.lang b/src/main/resources/assets/eln/lang/tr_TR.lang index 9aa256ec7..5cbf4c082 100644 --- a/src/main/resources/assets/eln/lang/tr_TR.lang +++ b/src/main/resources/assets/eln/lang/tr_TR.lang @@ -72,14 +72,14 @@ eln:Cheap_Chip.name=Ucuz Çip eln:Cheap_Electrical_Drill.name=Ucuz Elektrikli Matkap eln:Cheap_Ferromagnetic_Core.name=Ucuz Ferromanyetik Çekirdek eln:Cinnabar_Dust.name=Zincifre Tozu -eln:Cinnabar_Ore.name=Zincifre Cevheri +tile.eln:cinnabar_ore.name=Zincifre Cevheri eln:Coal_Dust.name=Kömür Tozu eln:Coal_Plate.name=Kömür Plaka eln:Combustion_Chamber.name=Yanma Odası eln:Copper_Cable.name=Bakır Kablo eln:Copper_Dust.name=Bakır Tozu eln:Copper_Ingot.name=Bakır Külçe -eln:Copper_Ore.name=Bakır Cevheri +tile.eln:copper_ore.name=Bakır Cevheri eln:Copper_Plate.name=Bakır Plaka eln:Copper_Thermal_Cable.name=Bakır Termal Kablo eln:Cost_Oriented_Battery.name=Maliyet Odaklı Batarya @@ -134,7 +134,7 @@ eln:Lamp_Supply.name=Lamba Besleme eln:Large_Rheostat.name=Large Rheostat eln:Lead_Dust.name=Kurşun Tozu eln:Lead_Ingot.name=Kurşun Külçesi -eln:Lead_Ore.name=Kurşun Cevheri +tile.eln:lead_ore.name=Kurşun Cevheri eln:Lead_Plate.name=Kurşun Plaka eln:Life_Oriented_Battery.name=Ömür Odaklı Pil eln:Light_Blue_Brush.name=Açık Mavi Fırça @@ -242,7 +242,7 @@ eln:Tree_Resin_Collector.name=Ağaç Özü Toplayıcısı eln:Tungsten_Cable.name=Tungsten Kablo eln:Tungsten_Dust.name=Tungsten Tozu eln:Tungsten_Ingot.name=Tungsten Külçe -eln:Tungsten_Ore.name=Tungsten Cevheri +tile.eln:tungsten_ore.name=Tungsten Cevheri eln:Tutorial_Sign.name=Öğretici Tabelası eln:Very_High_Voltage_Cable.name=Çok Yüksek Gerilim Kablosu eln:Very_High_Voltage_Relay.name=Çok Yüksek Gerilim Rölesi diff --git a/src/main/resources/assets/eln/lang/zh.lang b/src/main/resources/assets/eln/lang/zh.lang index 01fc35ff4..ff9ac7cac 100644 --- a/src/main/resources/assets/eln/lang/zh.lang +++ b/src/main/resources/assets/eln/lang/zh.lang @@ -72,14 +72,14 @@ eln:Cheap_Chip.name=芯片(基础) eln:Cheap_Electrical_Drill.name=电钻(500W,8") eln:Cheap_Ferromagnetic_Core.name=磁能核心(10.0) eln:Cinnabar_Dust.name=朱砂粉 -eln:Cinnabar_Ore.name=朱砂矿石 +tile.eln:cinnabar_ore.name=朱砂矿石 eln:Coal_Dust.name=煤粉 eln:Coal_Plate.name=煤板 eln:Combustion_Chamber.name=炉膛组件 eln:Copper_Cable.name=导线(铜) eln:Copper_Dust.name=铜粉 eln:Copper_Ingot.name=铜锭 -eln:Copper_Ore.name=铜矿 +tile.eln:copper_ore.name=铜矿 eln:Copper_Plate.name=铜板 eln:Copper_Thermal_Cable.name=导热管(铜,1k°C) eln:Cost_Oriented_Battery.name=电源(更廉价,50V,250W,60KJ) @@ -134,7 +134,7 @@ eln:Lamp_Supply.name=无线照明控制盒 eln:Large_Rheostat.name=Large Rheostat eln:Lead_Dust.name=铅粉 eln:Lead_Ingot.name=铅锭 -eln:Lead_Ore.name=铅矿石 +tile.eln:lead_ore.name=铅矿石 eln:Lead_Plate.name=铅板 eln:Life_Oriented_Battery.name=电源(生命更长,50V,250W,60KJ) eln:Light_Blue_Brush.name=刷子(浅蓝) @@ -242,7 +242,7 @@ eln:Tree_Resin_Collector.name=树脂收集器 eln:Tungsten_Cable.name=导线(钨) eln:Tungsten_Dust.name=钨粉 eln:Tungsten_Ingot.name=钨锭 -eln:Tungsten_Ore.name=钨矿石 +tile.eln:tungsten_ore.name=钨矿石 eln:Tutorial_Sign.name=指示标志 eln:Very_High_Voltage_Cable.name=导线(3200V) eln:Very_High_Voltage_Relay.name=继电器(3200V) diff --git a/src/main/resources/assets/eln/lang/zh_CN.lang b/src/main/resources/assets/eln/lang/zh_CN.lang index 01fc35ff4..ff9ac7cac 100644 --- a/src/main/resources/assets/eln/lang/zh_CN.lang +++ b/src/main/resources/assets/eln/lang/zh_CN.lang @@ -72,14 +72,14 @@ eln:Cheap_Chip.name=芯片(基础) eln:Cheap_Electrical_Drill.name=电钻(500W,8") eln:Cheap_Ferromagnetic_Core.name=磁能核心(10.0) eln:Cinnabar_Dust.name=朱砂粉 -eln:Cinnabar_Ore.name=朱砂矿石 +tile.eln:cinnabar_ore.name=朱砂矿石 eln:Coal_Dust.name=煤粉 eln:Coal_Plate.name=煤板 eln:Combustion_Chamber.name=炉膛组件 eln:Copper_Cable.name=导线(铜) eln:Copper_Dust.name=铜粉 eln:Copper_Ingot.name=铜锭 -eln:Copper_Ore.name=铜矿 +tile.eln:copper_ore.name=铜矿 eln:Copper_Plate.name=铜板 eln:Copper_Thermal_Cable.name=导热管(铜,1k°C) eln:Cost_Oriented_Battery.name=电源(更廉价,50V,250W,60KJ) @@ -134,7 +134,7 @@ eln:Lamp_Supply.name=无线照明控制盒 eln:Large_Rheostat.name=Large Rheostat eln:Lead_Dust.name=铅粉 eln:Lead_Ingot.name=铅锭 -eln:Lead_Ore.name=铅矿石 +tile.eln:lead_ore.name=铅矿石 eln:Lead_Plate.name=铅板 eln:Life_Oriented_Battery.name=电源(生命更长,50V,250W,60KJ) eln:Light_Blue_Brush.name=刷子(浅蓝) @@ -242,7 +242,7 @@ eln:Tree_Resin_Collector.name=树脂收集器 eln:Tungsten_Cable.name=导线(钨) eln:Tungsten_Dust.name=钨粉 eln:Tungsten_Ingot.name=钨锭 -eln:Tungsten_Ore.name=钨矿石 +tile.eln:tungsten_ore.name=钨矿石 eln:Tutorial_Sign.name=指示标志 eln:Very_High_Voltage_Cable.name=导线(3200V) eln:Very_High_Voltage_Relay.name=继电器(3200V) From 904cab8268bd24ae1b1a6925cb49d020d742410c Mon Sep 17 00:00:00 2001 From: Svein Ove Aas Date: Sun, 3 Mar 2019 01:11:53 +0000 Subject: [PATCH 49/61] =?UTF-8?q?Use=20BlockModVariant=20for=20ore,=20not?= =?UTF-8?q?=20BlockMod.=20=C2=AF\=5F(=E3=83=84)=5F/=C2=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- build.gradle | 2 +- src/main/java/mods/eln/Eln.kt | 29 +++++++++++-------- src/main/java/mods/eln/init/ModBlock.kt | 8 +++-- .../java/mods/eln/misc/ElnServerPacket.java | 4 +-- .../assets/eln/blockstates/ghost_block.json | 5 ++++ .../assets/eln/blockstates/light.json | 5 ++++ .../assets/eln/blockstates/ore_block.json | 10 +++++++ .../eln/blockstates/six_node_block.json | 5 ++++ .../blockstates/transparent_node_block.json | 5 ++++ .../assets/eln/models/block/copper_ore.json | 6 ++++ .../assets/eln/models/block/ghost_block.json | 6 ++++ .../assets/eln/models/block/lead_ore.json | 6 ++++ .../assets/eln/models/block/light.json | 6 ++++ .../eln/models/block/six_node_block.json | 6 ++++ .../models/block/transparent_node_block.json | 6 ++++ .../assets/eln/models/item/copper_ore.json | 6 ++++ .../assets/eln/models/item/ghost_block.json | 6 ++++ .../assets/eln/models/item/lead_ore.json | 6 ++++ .../assets/eln/models/item/light.json | 6 ++++ .../eln/models/item/six_node_block.json | 6 ++++ .../models/item/transparent_node_block.json | 6 ++++ 21 files changed, 127 insertions(+), 18 deletions(-) create mode 100644 src/main/resources/assets/eln/blockstates/ghost_block.json create mode 100644 src/main/resources/assets/eln/blockstates/light.json create mode 100644 src/main/resources/assets/eln/blockstates/ore_block.json create mode 100644 src/main/resources/assets/eln/blockstates/six_node_block.json create mode 100644 src/main/resources/assets/eln/blockstates/transparent_node_block.json create mode 100644 src/main/resources/assets/eln/models/block/copper_ore.json create mode 100644 src/main/resources/assets/eln/models/block/ghost_block.json create mode 100644 src/main/resources/assets/eln/models/block/lead_ore.json create mode 100644 src/main/resources/assets/eln/models/block/light.json create mode 100644 src/main/resources/assets/eln/models/block/six_node_block.json create mode 100644 src/main/resources/assets/eln/models/block/transparent_node_block.json create mode 100644 src/main/resources/assets/eln/models/item/copper_ore.json create mode 100644 src/main/resources/assets/eln/models/item/ghost_block.json create mode 100644 src/main/resources/assets/eln/models/item/lead_ore.json create mode 100644 src/main/resources/assets/eln/models/item/light.json create mode 100644 src/main/resources/assets/eln/models/item/six_node_block.json create mode 100644 src/main/resources/assets/eln/models/item/transparent_node_block.json diff --git a/build.gradle b/build.gradle index 9e28f9ac9..3c9b64bcf 100644 --- a/build.gradle +++ b/build.gradle @@ -107,7 +107,7 @@ dependencies { compile group: "com.teamwizardry.librarianlib", name: "librarianlib-1.12.2", version: "4.17" compileOnly "dan200.computercraft:ComputerCraft:1.80pr1-build5" compileOnly "li.cil.oc:OpenComputers:MC1.12.2-1.7.4.153" - compileOnly "mcp.mobius.waila:Hwyla:1.8.26-B41_1.12.2" + compile "mcp.mobius.waila:Hwyla:1.8.26-B41_1.12.2" // TODO(1.12): Switch to this. // deobfCompile "cofh:RedstoneFlux:1.12-2.0.0.1:universal" diff --git a/src/main/java/mods/eln/Eln.kt b/src/main/java/mods/eln/Eln.kt index b755120f4..82f3fc6dc 100644 --- a/src/main/java/mods/eln/Eln.kt +++ b/src/main/java/mods/eln/Eln.kt @@ -5,6 +5,7 @@ import mods.eln.entity.ReplicatorPopProcess import mods.eln.ghost.GhostManager import mods.eln.i18n.I18N.tr import mods.eln.init.Config +import mods.eln.init.ModBlock import mods.eln.item.MiningPipeDescriptor import mods.eln.item.electricalinterface.ItemEnergyInventoryProcess import mods.eln.misc.FunctionTable @@ -50,10 +51,13 @@ class Eln { metadata.url = URL metadata.autogenerated = false + Tab // Force construction. + ModBlock // Force Construction. + logger = e.modLog logger.info(tr("Bzzzt")) - + // Network: elnNetwork = NetworkRegistry.INSTANCE.newSimpleChannel(simpleChannelId); elnNetwork.registerMessage(TransparentNodeRequestPacketHandler::class.java, TransparentNodeRequestPacket::class.java, 1, Side.SERVER) elnNetwork.registerMessage(TransparentNodeResponsePacketHandler::class.java, TransparentNodeResponsePacket::class.java, 2, Side.CLIENT) @@ -64,7 +68,7 @@ class Eln { eventChannel = NetworkRegistry.INSTANCE.newEventDrivenChannel(eventChannelID) packetHandler = PacketHandler() - + // Start the simulator. simulator = Simulator( 0.05, 1.0 / Config.electricalFrequency, @@ -196,16 +200,6 @@ class Eln { //lateinit var ghostManagerNbt: GhostManagerNbt //lateinit var nodeManagerNbt: NodeManagerNbt - object Tab : ModCreativeTab() { - init { - registerDefaultTab() - } - - override val iconStack: ItemStack - // TODO(1.12): No, lightning! - get() = ItemStack(Blocks.LIT_PUMPKIN) - } - // Packet code which we will hopefully be rid of: // TODO(1.12) lateinit var elnNetwork: SimpleNetworkWrapper @@ -242,5 +236,16 @@ class Eln { cableWarmLimit, -100.0, cableHeatingTime, cableThermalConductionTao) val sixNodeThermalLoadInitializer = ThermalLoadInitializer( cableWarmLimit, -100.0, cableHeatingTime, 1000.0) + + object Tab : ModCreativeTab() { + init { + registerDefaultTab() + } + + override val iconStack: ItemStack + // TODO(1.12): No, lightning! + get() = ItemStack(Blocks.LIT_PUMPKIN) + } + } } diff --git a/src/main/java/mods/eln/init/ModBlock.kt b/src/main/java/mods/eln/init/ModBlock.kt index c4f98c8fc..1c2a78267 100644 --- a/src/main/java/mods/eln/init/ModBlock.kt +++ b/src/main/java/mods/eln/init/ModBlock.kt @@ -1,14 +1,16 @@ package mods.eln.init import com.teamwizardry.librarianlib.features.base.block.BlockMod +import com.teamwizardry.librarianlib.features.base.block.BlockModVariant import jdk.nashorn.internal.ir.Block +import mods.eln.Eln import net.minecraft.block.material.Material object ModBlock { @JvmField - val oreBlock = BlockMod("oreBlock", Material.ROCK, - "Copper oreBlock", - "Lead oreBlock") + val oreBlock = BlockModVariant("oreBlock", Material.ROCK, + "copperOre", + "leadOre") // TODO(1.12): These are obviously not done. @JvmField diff --git a/src/main/java/mods/eln/misc/ElnServerPacket.java b/src/main/java/mods/eln/misc/ElnServerPacket.java index c88d1147c..be79c0c0d 100644 --- a/src/main/java/mods/eln/misc/ElnServerPacket.java +++ b/src/main/java/mods/eln/misc/ElnServerPacket.java @@ -14,11 +14,11 @@ public class ElnServerPacket implements Packet { private static final String __OBFID = "CL_00001297"; public ElnServerPacket(ByteBuf buf) { - this(Eln.channelName, buf); + this(Eln.eventChannelID, buf); } public ElnServerPacket(byte[] buf) { - this(Eln.channelName, buf); + this(Eln.eventChannelID, buf); } public ElnServerPacket(String channelName, ByteBuf buf) { diff --git a/src/main/resources/assets/eln/blockstates/ghost_block.json b/src/main/resources/assets/eln/blockstates/ghost_block.json new file mode 100644 index 000000000..b64d15ff1 --- /dev/null +++ b/src/main/resources/assets/eln/blockstates/ghost_block.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": {} + } +} diff --git a/src/main/resources/assets/eln/blockstates/light.json b/src/main/resources/assets/eln/blockstates/light.json new file mode 100644 index 000000000..b64d15ff1 --- /dev/null +++ b/src/main/resources/assets/eln/blockstates/light.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": {} + } +} diff --git a/src/main/resources/assets/eln/blockstates/ore_block.json b/src/main/resources/assets/eln/blockstates/ore_block.json new file mode 100644 index 000000000..bbcdc51db --- /dev/null +++ b/src/main/resources/assets/eln/blockstates/ore_block.json @@ -0,0 +1,10 @@ +{ + "variants": { + "variant=copper_ore": { + "model": "eln:copper_ore" + }, + "variant=lead_ore": { + "model": "eln:lead_ore" + } + } +} diff --git a/src/main/resources/assets/eln/blockstates/six_node_block.json b/src/main/resources/assets/eln/blockstates/six_node_block.json new file mode 100644 index 000000000..b64d15ff1 --- /dev/null +++ b/src/main/resources/assets/eln/blockstates/six_node_block.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": {} + } +} diff --git a/src/main/resources/assets/eln/blockstates/transparent_node_block.json b/src/main/resources/assets/eln/blockstates/transparent_node_block.json new file mode 100644 index 000000000..b64d15ff1 --- /dev/null +++ b/src/main/resources/assets/eln/blockstates/transparent_node_block.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": {} + } +} diff --git a/src/main/resources/assets/eln/models/block/copper_ore.json b/src/main/resources/assets/eln/models/block/copper_ore.json new file mode 100644 index 000000000..cb681bbc6 --- /dev/null +++ b/src/main/resources/assets/eln/models/block/copper_ore.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "eln:blocks/copper_ore" + } +} diff --git a/src/main/resources/assets/eln/models/block/ghost_block.json b/src/main/resources/assets/eln/models/block/ghost_block.json new file mode 100644 index 000000000..88da9cb33 --- /dev/null +++ b/src/main/resources/assets/eln/models/block/ghost_block.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "eln:blocks/ghost_block" + } +} diff --git a/src/main/resources/assets/eln/models/block/lead_ore.json b/src/main/resources/assets/eln/models/block/lead_ore.json new file mode 100644 index 000000000..b5009a392 --- /dev/null +++ b/src/main/resources/assets/eln/models/block/lead_ore.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "eln:blocks/lead_ore" + } +} diff --git a/src/main/resources/assets/eln/models/block/light.json b/src/main/resources/assets/eln/models/block/light.json new file mode 100644 index 000000000..99c0c7c5b --- /dev/null +++ b/src/main/resources/assets/eln/models/block/light.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "eln:blocks/light" + } +} diff --git a/src/main/resources/assets/eln/models/block/six_node_block.json b/src/main/resources/assets/eln/models/block/six_node_block.json new file mode 100644 index 000000000..b39b5c34b --- /dev/null +++ b/src/main/resources/assets/eln/models/block/six_node_block.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "eln:blocks/six_node_block" + } +} diff --git a/src/main/resources/assets/eln/models/block/transparent_node_block.json b/src/main/resources/assets/eln/models/block/transparent_node_block.json new file mode 100644 index 000000000..db16459e4 --- /dev/null +++ b/src/main/resources/assets/eln/models/block/transparent_node_block.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "eln:blocks/transparent_node_block" + } +} diff --git a/src/main/resources/assets/eln/models/item/copper_ore.json b/src/main/resources/assets/eln/models/item/copper_ore.json new file mode 100644 index 000000000..f1fe68807 --- /dev/null +++ b/src/main/resources/assets/eln/models/item/copper_ore.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "eln:items/copper_ore" + } +} diff --git a/src/main/resources/assets/eln/models/item/ghost_block.json b/src/main/resources/assets/eln/models/item/ghost_block.json new file mode 100644 index 000000000..d1af6ee42 --- /dev/null +++ b/src/main/resources/assets/eln/models/item/ghost_block.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "eln:items/ghost_block" + } +} diff --git a/src/main/resources/assets/eln/models/item/lead_ore.json b/src/main/resources/assets/eln/models/item/lead_ore.json new file mode 100644 index 000000000..683a078f5 --- /dev/null +++ b/src/main/resources/assets/eln/models/item/lead_ore.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "eln:items/lead_ore" + } +} diff --git a/src/main/resources/assets/eln/models/item/light.json b/src/main/resources/assets/eln/models/item/light.json new file mode 100644 index 000000000..77bc85a9e --- /dev/null +++ b/src/main/resources/assets/eln/models/item/light.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "eln:items/light" + } +} diff --git a/src/main/resources/assets/eln/models/item/six_node_block.json b/src/main/resources/assets/eln/models/item/six_node_block.json new file mode 100644 index 000000000..a6a7d0a49 --- /dev/null +++ b/src/main/resources/assets/eln/models/item/six_node_block.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "eln:items/six_node_block" + } +} diff --git a/src/main/resources/assets/eln/models/item/transparent_node_block.json b/src/main/resources/assets/eln/models/item/transparent_node_block.json new file mode 100644 index 000000000..2d89b222b --- /dev/null +++ b/src/main/resources/assets/eln/models/item/transparent_node_block.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "eln:items/transparent_node_block" + } +} From ce1d557e8dfe6d54bd7d67de20c3fb082be27904 Mon Sep 17 00:00:00 2001 From: Svein Ove Aas Date: Sun, 3 Mar 2019 01:21:42 +0000 Subject: [PATCH 50/61] Ore block hardness, texturing --- src/main/java/mods/eln/init/ModBlock.kt | 4 +--- .../assets/eln/models/block/ghost_block.json | 4 ---- .../resources/assets/eln/models/block/light.json | 4 ---- .../assets/eln/models/block/six_node_block.json | 4 ---- .../eln/models/block/transparent_node_block.json | 4 ---- .../assets/eln/models/item/copper_ore.json | 8 ++++---- .../assets/eln/models/item/ghost_block.json | 4 ---- .../resources/assets/eln/models/item/lead_ore.json | 8 ++++---- .../resources/assets/eln/models/item/light.json | 4 ---- .../assets/eln/models/item/six_node_block.json | 4 ---- .../eln/models/item/transparent_node_block.json | 4 ---- .../blocks/{cinnabarore.png => cinnabar_ore.png} | Bin .../blocks/{copperore.png => copper_ore.png} | Bin .../textures/blocks/{leadore.png => lead_ore.png} | Bin 14 files changed, 9 insertions(+), 43 deletions(-) rename src/main/resources/assets/eln/textures/blocks/{cinnabarore.png => cinnabar_ore.png} (100%) rename src/main/resources/assets/eln/textures/blocks/{copperore.png => copper_ore.png} (100%) rename src/main/resources/assets/eln/textures/blocks/{leadore.png => lead_ore.png} (100%) diff --git a/src/main/java/mods/eln/init/ModBlock.kt b/src/main/java/mods/eln/init/ModBlock.kt index 1c2a78267..e866740f0 100644 --- a/src/main/java/mods/eln/init/ModBlock.kt +++ b/src/main/java/mods/eln/init/ModBlock.kt @@ -2,13 +2,11 @@ package mods.eln.init import com.teamwizardry.librarianlib.features.base.block.BlockMod import com.teamwizardry.librarianlib.features.base.block.BlockModVariant -import jdk.nashorn.internal.ir.Block -import mods.eln.Eln import net.minecraft.block.material.Material object ModBlock { @JvmField - val oreBlock = BlockModVariant("oreBlock", Material.ROCK, + val oreBlock = BlockModVariant("oreBlock", Material.IRON, "copperOre", "leadOre") diff --git a/src/main/resources/assets/eln/models/block/ghost_block.json b/src/main/resources/assets/eln/models/block/ghost_block.json index 88da9cb33..2c63c0851 100644 --- a/src/main/resources/assets/eln/models/block/ghost_block.json +++ b/src/main/resources/assets/eln/models/block/ghost_block.json @@ -1,6 +1,2 @@ { - "parent": "block/cube_all", - "textures": { - "all": "eln:blocks/ghost_block" - } } diff --git a/src/main/resources/assets/eln/models/block/light.json b/src/main/resources/assets/eln/models/block/light.json index 99c0c7c5b..2c63c0851 100644 --- a/src/main/resources/assets/eln/models/block/light.json +++ b/src/main/resources/assets/eln/models/block/light.json @@ -1,6 +1,2 @@ { - "parent": "block/cube_all", - "textures": { - "all": "eln:blocks/light" - } } diff --git a/src/main/resources/assets/eln/models/block/six_node_block.json b/src/main/resources/assets/eln/models/block/six_node_block.json index b39b5c34b..2c63c0851 100644 --- a/src/main/resources/assets/eln/models/block/six_node_block.json +++ b/src/main/resources/assets/eln/models/block/six_node_block.json @@ -1,6 +1,2 @@ { - "parent": "block/cube_all", - "textures": { - "all": "eln:blocks/six_node_block" - } } diff --git a/src/main/resources/assets/eln/models/block/transparent_node_block.json b/src/main/resources/assets/eln/models/block/transparent_node_block.json index db16459e4..2c63c0851 100644 --- a/src/main/resources/assets/eln/models/block/transparent_node_block.json +++ b/src/main/resources/assets/eln/models/block/transparent_node_block.json @@ -1,6 +1,2 @@ { - "parent": "block/cube_all", - "textures": { - "all": "eln:blocks/transparent_node_block" - } } diff --git a/src/main/resources/assets/eln/models/item/copper_ore.json b/src/main/resources/assets/eln/models/item/copper_ore.json index f1fe68807..a1a8f23b6 100644 --- a/src/main/resources/assets/eln/models/item/copper_ore.json +++ b/src/main/resources/assets/eln/models/item/copper_ore.json @@ -1,6 +1,6 @@ { - "parent": "item/generated", - "textures": { - "layer0": "eln:items/copper_ore" - } + "parent": "block/cube_all", + "textures": { + "all": "eln:blocks/copper_ore" + } } diff --git a/src/main/resources/assets/eln/models/item/ghost_block.json b/src/main/resources/assets/eln/models/item/ghost_block.json index d1af6ee42..2c63c0851 100644 --- a/src/main/resources/assets/eln/models/item/ghost_block.json +++ b/src/main/resources/assets/eln/models/item/ghost_block.json @@ -1,6 +1,2 @@ { - "parent": "item/generated", - "textures": { - "layer0": "eln:items/ghost_block" - } } diff --git a/src/main/resources/assets/eln/models/item/lead_ore.json b/src/main/resources/assets/eln/models/item/lead_ore.json index 683a078f5..3df027096 100644 --- a/src/main/resources/assets/eln/models/item/lead_ore.json +++ b/src/main/resources/assets/eln/models/item/lead_ore.json @@ -1,6 +1,6 @@ { - "parent": "item/generated", - "textures": { - "layer0": "eln:items/lead_ore" - } + "parent": "block/cube_all", + "textures": { + "all": "eln:blocks/lead_ore" + } } diff --git a/src/main/resources/assets/eln/models/item/light.json b/src/main/resources/assets/eln/models/item/light.json index 77bc85a9e..2c63c0851 100644 --- a/src/main/resources/assets/eln/models/item/light.json +++ b/src/main/resources/assets/eln/models/item/light.json @@ -1,6 +1,2 @@ { - "parent": "item/generated", - "textures": { - "layer0": "eln:items/light" - } } diff --git a/src/main/resources/assets/eln/models/item/six_node_block.json b/src/main/resources/assets/eln/models/item/six_node_block.json index a6a7d0a49..2c63c0851 100644 --- a/src/main/resources/assets/eln/models/item/six_node_block.json +++ b/src/main/resources/assets/eln/models/item/six_node_block.json @@ -1,6 +1,2 @@ { - "parent": "item/generated", - "textures": { - "layer0": "eln:items/six_node_block" - } } diff --git a/src/main/resources/assets/eln/models/item/transparent_node_block.json b/src/main/resources/assets/eln/models/item/transparent_node_block.json index 2d89b222b..2c63c0851 100644 --- a/src/main/resources/assets/eln/models/item/transparent_node_block.json +++ b/src/main/resources/assets/eln/models/item/transparent_node_block.json @@ -1,6 +1,2 @@ { - "parent": "item/generated", - "textures": { - "layer0": "eln:items/transparent_node_block" - } } diff --git a/src/main/resources/assets/eln/textures/blocks/cinnabarore.png b/src/main/resources/assets/eln/textures/blocks/cinnabar_ore.png similarity index 100% rename from src/main/resources/assets/eln/textures/blocks/cinnabarore.png rename to src/main/resources/assets/eln/textures/blocks/cinnabar_ore.png diff --git a/src/main/resources/assets/eln/textures/blocks/copperore.png b/src/main/resources/assets/eln/textures/blocks/copper_ore.png similarity index 100% rename from src/main/resources/assets/eln/textures/blocks/copperore.png rename to src/main/resources/assets/eln/textures/blocks/copper_ore.png diff --git a/src/main/resources/assets/eln/textures/blocks/leadore.png b/src/main/resources/assets/eln/textures/blocks/lead_ore.png similarity index 100% rename from src/main/resources/assets/eln/textures/blocks/leadore.png rename to src/main/resources/assets/eln/textures/blocks/lead_ore.png From 3b96a0f65e8229b136b4522589622e3b23f3ee37 Mon Sep 17 00:00:00 2001 From: Svein Ove Aas Date: Sun, 3 Mar 2019 01:33:23 +0000 Subject: [PATCH 51/61] Remove the old OreBlock --- src/main/java/mods/eln/Eln_old.java | 3 - src/main/java/mods/eln/init/ModBlock.kt | 9 ++- src/main/java/mods/eln/ore/OreBlock.java | 67 ------------------- .../autominer/AutoMinerSlowProcess.java | 8 +-- 4 files changed, 10 insertions(+), 77 deletions(-) delete mode 100644 src/main/java/mods/eln/ore/OreBlock.java diff --git a/src/main/java/mods/eln/Eln_old.java b/src/main/java/mods/eln/Eln_old.java index 90a744df7..10c55f4e9 100644 --- a/src/main/java/mods/eln/Eln_old.java +++ b/src/main/java/mods/eln/Eln_old.java @@ -24,7 +24,6 @@ import mods.eln.node.NodePublishProcess; import mods.eln.node.six.*; import mods.eln.node.transparent.*; -import mods.eln.ore.OreBlock; import mods.eln.ore.OreDescriptor; import mods.eln.ore.OreItem; import mods.eln.server.*; @@ -32,8 +31,6 @@ import mods.eln.sim.Simulator; import mods.eln.sim.ThermalLoadInitializer; import mods.eln.sim.ThermalLoadInitializerByPowerDrop; -import mods.eln.sim.mna.component.Resistor; -import mods.eln.sim.nbt.NbtElectricalLoad; import mods.eln.simplenode.computerprobe.ComputerProbeBlock; import mods.eln.simplenode.energyconverter.EnergyConverterElnToOtherBlock; import mods.eln.simplenode.test.TestBlock; diff --git a/src/main/java/mods/eln/init/ModBlock.kt b/src/main/java/mods/eln/init/ModBlock.kt index e866740f0..ad0e46055 100644 --- a/src/main/java/mods/eln/init/ModBlock.kt +++ b/src/main/java/mods/eln/init/ModBlock.kt @@ -6,7 +6,7 @@ import net.minecraft.block.material.Material object ModBlock { @JvmField - val oreBlock = BlockModVariant("oreBlock", Material.IRON, + val oreBlock = ElnOreBlock( "copperOre", "leadOre") @@ -24,4 +24,11 @@ object ModBlock { val lightBlock = BlockMod("Light", Material.AIR) } +class ElnOreBlock(vararg variants: String) : BlockModVariant("oreBlock", Material.ROCK, *variants) { + init { + setHardness(3.0f) + setResistance(5.0f) + } +} + class ElnBlockMod(name: String, material: Material, val uuid: String) : BlockMod(name, material) diff --git a/src/main/java/mods/eln/ore/OreBlock.java b/src/main/java/mods/eln/ore/OreBlock.java deleted file mode 100644 index 839b92702..000000000 --- a/src/main/java/mods/eln/ore/OreBlock.java +++ /dev/null @@ -1,67 +0,0 @@ -package mods.eln.ore; - -import net.minecraft.block.state.IBlockState; -import net.minecraft.util.math.BlockPos; -import net.minecraftforge.fml.relauncher.Side; -import net.minecraftforge.fml.relauncher.SideOnly; -import mods.eln.Eln; -import net.minecraft.block.Block; -import net.minecraft.block.material.Material; -import net.minecraft.creativetab.CreativeTabs; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.world.World; - -import java.util.ArrayList; -import java.util.List; - -public class OreBlock extends Block { - - public OreBlock() { - super(Material.ROCK); //Parameters: Block ID, Block material - /* setTextureFile("/TutorialGFX/ModBlock.png"); //The texture file used - setBlockName("DeverionXBlockOre"); //The incode block name - setCreativeTab(eln.c.tabGems); //The tab it appears in*/ - setHardness(3.0F); //The block hardness - setResistance(5.0F); //The explosion resistance - } - /*//caca1.5.1 - public int getBlockTextureFromSideAndMetadata(int i,int j){ - return Eln.oreItem.getDescriptor(j).getBlockIconId(i, j); - }*/ - - public int damageDropped(int i) { //Makes sure pick block works right - return i; - } - -/* - @Override - public void getSubBlocks(Items i, CreativeTabs tab, List l) { //Puts all sub blocks into the creative inventory - Eln.oreItem.getSubItems(i, tab, l); - } -*/ - - // TODO(1.10): Fix item rendering. -// @Override -// @SideOnly(Side.CLIENT) -// public IIcon getIcon(int par1, int par2) { -// OreDescriptor desc = Eln.oreItem.getDescriptor(par2); -// if (desc == null) return null; -// return desc.getBlockIconId(par1, par2); -// } - - public ArrayList getBlockDropped(World w, int x, int y, int z, int meta, int fortune) { //Specifies the block drop -/* - OreDescriptor desc = Eln.oreItem.getDescriptor(meta); - if (desc == null) return new ArrayList(); - return desc.getBlockDropped(fortune); -*/ - return null; - } - - @Override - public void breakBlock(World par1World, BlockPos pos , IBlockState state) { - super.breakBlock(par1World, pos, state); - if (par1World.isRemote) return; - } -} diff --git a/src/main/java/mods/eln/transparentnode/autominer/AutoMinerSlowProcess.java b/src/main/java/mods/eln/transparentnode/autominer/AutoMinerSlowProcess.java index 870417c41..b68725424 100644 --- a/src/main/java/mods/eln/transparentnode/autominer/AutoMinerSlowProcess.java +++ b/src/main/java/mods/eln/transparentnode/autominer/AutoMinerSlowProcess.java @@ -2,30 +2,26 @@ import mods.eln.Eln; import mods.eln.init.Config; +import mods.eln.init.ElnOreBlock; import mods.eln.item.ElectricalDrillDescriptor; import mods.eln.item.MiningPipeDescriptor; import mods.eln.item.electricalitem.OreColorMapping; -import mods.eln.item.electricalitem.PortableOreScannerItem; import mods.eln.misc.Coordinate; import mods.eln.misc.INBTTReady; import mods.eln.misc.Utils; -import mods.eln.ore.OreBlock; import mods.eln.sim.IProcess; import mods.eln.sixnode.lampsocket.LightBlockEntity; import net.minecraft.block.Block; import net.minecraft.block.BlockOre; import net.minecraft.block.BlockRedstoneOre; -import net.minecraft.block.state.BlockStateBase; import net.minecraft.block.state.IBlockState; import net.minecraft.init.Blocks; import net.minecraft.inventory.IInventory; -import net.minecraft.inventory.ItemStackHelper; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.math.Vec3d; import java.util.ArrayList; -import java.util.List; public class AutoMinerSlowProcess implements IProcess, INBTTReady { @@ -353,7 +349,7 @@ private boolean checkIsOre(Coordinate coordinate) { IBlockState state = coordinate.world().getBlockState(coordinate.pos); Block block = state.getBlock(); if (block instanceof BlockOre) return true; - if (block instanceof OreBlock) return true; + if (block instanceof ElnOreBlock) return true; if (block instanceof BlockRedstoneOre) return true; From ee6b9334c4593cc8857ae1f6be66b66c5c3efdb4 Mon Sep 17 00:00:00 2001 From: Svein Ove Aas Date: Sun, 3 Mar 2019 01:42:10 +0000 Subject: [PATCH 52/61] Fix sound naming --- src/main/resources/assets/eln/sounds.json | 58 +++++++++--------- .../sounds/{FireAlarm.ogg => firealarm.ogg} | Bin .../{FuelGenerator.ogg => fuelgenerator.ogg} | Bin .../eln/sounds/{LaserGun.ogg => lasergun.ogg} | Bin .../eln/sounds/{Motor.ogg => motor.ogg} | Bin .../{NEON_LFNOISE.ogg => neon_lfnoise.ogg} | Bin .../{Transformer.ogg => transformer.ogg} | Bin ...urretActivated.ogg => turretactivated.ogg} | Bin ...tDeactivated.ogg => turretdeactivated.ogg} | Bin .../sounds/{TurretFire.ogg => turretfire.ogg} | Bin ...BINE_BIG_FF.ogg => windturbine_big_ff.ogg} | Bin ...BINE_BIG_SF.ogg => windturbine_big_sf.ogg} | Bin 12 files changed, 29 insertions(+), 29 deletions(-) rename src/main/resources/assets/eln/sounds/{FireAlarm.ogg => firealarm.ogg} (100%) rename src/main/resources/assets/eln/sounds/{FuelGenerator.ogg => fuelgenerator.ogg} (100%) rename src/main/resources/assets/eln/sounds/{LaserGun.ogg => lasergun.ogg} (100%) rename src/main/resources/assets/eln/sounds/{Motor.ogg => motor.ogg} (100%) rename src/main/resources/assets/eln/sounds/{NEON_LFNOISE.ogg => neon_lfnoise.ogg} (100%) rename src/main/resources/assets/eln/sounds/{Transformer.ogg => transformer.ogg} (100%) rename src/main/resources/assets/eln/sounds/{TurretActivated.ogg => turretactivated.ogg} (100%) rename src/main/resources/assets/eln/sounds/{TurretDeactivated.ogg => turretdeactivated.ogg} (100%) rename src/main/resources/assets/eln/sounds/{TurretFire.ogg => turretfire.ogg} (100%) rename src/main/resources/assets/eln/sounds/{WINDTURBINE_BIG_FF.ogg => windturbine_big_ff.ogg} (100%) rename src/main/resources/assets/eln/sounds/{WINDTURBINE_BIG_SF.ogg => windturbine_big_sf.ogg} (100%) diff --git a/src/main/resources/assets/eln/sounds.json b/src/main/resources/assets/eln/sounds.json index 530ef61c5..7e9fe9388 100644 --- a/src/main/resources/assets/eln/sounds.json +++ b/src/main/resources/assets/eln/sounds.json @@ -3,7 +3,7 @@ "category": "record", "sounds": [ { - "name": "smallalarm_critical", + "name": "eln:smallalarm_critical", "stream": false } ] @@ -12,7 +12,7 @@ "category": "record", "sounds": [ { - "name": "alarma", + "name": "eln:alarma", "stream": false } ] @@ -21,7 +21,7 @@ "category": "block", "sounds": [ { - "name": "wind_turbine", + "name": "eln:wind_turbine", "stream": false } ] @@ -30,7 +30,7 @@ "category": "block", "sounds": [ { - "name": "water_turbine", + "name": "eln:water_turbine", "stream": false } ] @@ -39,7 +39,7 @@ "category": "block", "sounds": [ { - "name": "heat_turbine_200v", + "name": "eln:heat_turbine_200v", "stream": false } ] @@ -48,7 +48,7 @@ "category": "block", "sounds": [ { - "name": "heat_turbine_50v", + "name": "eln:heat_turbine_50v", "stream": false } ] @@ -57,7 +57,7 @@ "category": "block", "sounds": [ { - "name": "autominer", + "name": "eln:autominer", "stream": false } ] @@ -66,7 +66,7 @@ "category": "block", "sounds": [ { - "name": "compressor_run", + "name": "eln:compressor_run", "stream": false } ] @@ -75,7 +75,7 @@ "category": "block", "sounds": [ { - "name": "compressor_end", + "name": "eln:compressor_end", "stream": false } ] @@ -84,7 +84,7 @@ "category": "block", "sounds": [ { - "name": "macerator", + "name": "eln:macerator", "stream": false } ] @@ -93,7 +93,7 @@ "category": "block", "sounds": [ { - "name": "plate_machine", + "name": "eln:plate_machine", "stream": false } ] @@ -102,7 +102,7 @@ "category": "block", "sounds": [ { - "name": "timer", + "name": "eln:timer", "stream": false } ] @@ -111,7 +111,7 @@ "category": "block", "sounds": [ { - "name": "transporter", + "name": "eln:transporter", "stream": false } ] @@ -120,7 +120,7 @@ "category": "block", "sounds": [ { - "name": "NEON_LFNOISE", + "name": "eln:neon_lfnoise", "stream": false } ] @@ -129,7 +129,7 @@ "category": "block", "sounds": [ { - "name": "WINDTURBINE_BIG_FF", + "name": "eln:windturbine_big_ff", "stream": false } ] @@ -138,7 +138,7 @@ "category": "block", "sounds": [ { - "name": "WINDTURBINE_BIG_SF", + "name": "eln:windturbine_big_sf", "stream": false } ] @@ -147,7 +147,7 @@ "category": "block", "sounds": [ { - "name": "neon_lamp", + "name": "eln:neon_lamp", "stream": false } ] @@ -156,7 +156,7 @@ "category": "block", "sounds": [ { - "name": "Transformer", + "name": "eln:transformer", "stream": false } ] @@ -165,7 +165,7 @@ "category": "block", "sounds": [ { - "name": "Motor", + "name": "eln:motor", "stream": false } ] @@ -174,7 +174,7 @@ "category": "block", "sounds": [ { - "name": "LaserGun", + "name": "eln:lasergun", "stream": false } ] @@ -183,7 +183,7 @@ "category": "block", "sounds": [ { - "name": "TurretActivated", + "name": "eln:turretactivated", "stream": false } ] @@ -192,7 +192,7 @@ "category": "block", "sounds": [ { - "name": "TurretDeactivated", + "name": "eln:turretdeactivated", "stream": false } ] @@ -201,7 +201,7 @@ "category": "block", "sounds": [ { - "name": "TurretFire", + "name": "eln:turretfire", "stream": false } ] @@ -210,7 +210,7 @@ "category": "block", "sounds": [ { - "name": "FuelGenerator", + "name": "eln:fuelgenerator", "stream": false } ] @@ -219,7 +219,7 @@ "category": "block", "sounds": [ { - "name": "FireAlarm", + "name": "eln:firealarm", "stream": false } ] @@ -228,7 +228,7 @@ "category": "block", "sounds": [ { - "name": "fuelheatfurnace", + "name": "eln:fuelheatfurnace", "stream": false } ] @@ -237,7 +237,7 @@ "category": "block", "sounds": [ { - "name": "generator", + "name": "eln:generator", "stream": false } ] @@ -246,7 +246,7 @@ "category": "block", "sounds": [ { - "name": "gas_turbine", + "name": "eln:gas_turbine", "stream": false } ] @@ -255,7 +255,7 @@ "category": "block", "sounds": [ { - "name": "steam_turbine", + "name": "eln:steam_turbine", "stream": false } ] diff --git a/src/main/resources/assets/eln/sounds/FireAlarm.ogg b/src/main/resources/assets/eln/sounds/firealarm.ogg similarity index 100% rename from src/main/resources/assets/eln/sounds/FireAlarm.ogg rename to src/main/resources/assets/eln/sounds/firealarm.ogg diff --git a/src/main/resources/assets/eln/sounds/FuelGenerator.ogg b/src/main/resources/assets/eln/sounds/fuelgenerator.ogg similarity index 100% rename from src/main/resources/assets/eln/sounds/FuelGenerator.ogg rename to src/main/resources/assets/eln/sounds/fuelgenerator.ogg diff --git a/src/main/resources/assets/eln/sounds/LaserGun.ogg b/src/main/resources/assets/eln/sounds/lasergun.ogg similarity index 100% rename from src/main/resources/assets/eln/sounds/LaserGun.ogg rename to src/main/resources/assets/eln/sounds/lasergun.ogg diff --git a/src/main/resources/assets/eln/sounds/Motor.ogg b/src/main/resources/assets/eln/sounds/motor.ogg similarity index 100% rename from src/main/resources/assets/eln/sounds/Motor.ogg rename to src/main/resources/assets/eln/sounds/motor.ogg diff --git a/src/main/resources/assets/eln/sounds/NEON_LFNOISE.ogg b/src/main/resources/assets/eln/sounds/neon_lfnoise.ogg similarity index 100% rename from src/main/resources/assets/eln/sounds/NEON_LFNOISE.ogg rename to src/main/resources/assets/eln/sounds/neon_lfnoise.ogg diff --git a/src/main/resources/assets/eln/sounds/Transformer.ogg b/src/main/resources/assets/eln/sounds/transformer.ogg similarity index 100% rename from src/main/resources/assets/eln/sounds/Transformer.ogg rename to src/main/resources/assets/eln/sounds/transformer.ogg diff --git a/src/main/resources/assets/eln/sounds/TurretActivated.ogg b/src/main/resources/assets/eln/sounds/turretactivated.ogg similarity index 100% rename from src/main/resources/assets/eln/sounds/TurretActivated.ogg rename to src/main/resources/assets/eln/sounds/turretactivated.ogg diff --git a/src/main/resources/assets/eln/sounds/TurretDeactivated.ogg b/src/main/resources/assets/eln/sounds/turretdeactivated.ogg similarity index 100% rename from src/main/resources/assets/eln/sounds/TurretDeactivated.ogg rename to src/main/resources/assets/eln/sounds/turretdeactivated.ogg diff --git a/src/main/resources/assets/eln/sounds/TurretFire.ogg b/src/main/resources/assets/eln/sounds/turretfire.ogg similarity index 100% rename from src/main/resources/assets/eln/sounds/TurretFire.ogg rename to src/main/resources/assets/eln/sounds/turretfire.ogg diff --git a/src/main/resources/assets/eln/sounds/WINDTURBINE_BIG_FF.ogg b/src/main/resources/assets/eln/sounds/windturbine_big_ff.ogg similarity index 100% rename from src/main/resources/assets/eln/sounds/WINDTURBINE_BIG_FF.ogg rename to src/main/resources/assets/eln/sounds/windturbine_big_ff.ogg diff --git a/src/main/resources/assets/eln/sounds/WINDTURBINE_BIG_SF.ogg b/src/main/resources/assets/eln/sounds/windturbine_big_sf.ogg similarity index 100% rename from src/main/resources/assets/eln/sounds/WINDTURBINE_BIG_SF.ogg rename to src/main/resources/assets/eln/sounds/windturbine_big_sf.ogg From 38d2a47748bb940ed1136988161c1f49a0f27992 Mon Sep 17 00:00:00 2001 From: Svein Ove Aas Date: Sun, 3 Mar 2019 01:49:25 +0000 Subject: [PATCH 53/61] Get the fake transparent blocks to stop throwing errors. --- .../assets/eln/blockstates/ghost_block.json | 4 +++- .../resources/assets/eln/blockstates/light.json | 4 +++- .../assets/eln/blockstates/six_node_block.json | 4 +++- .../eln/blockstates/transparent_node_block.json | 4 +++- .../assets/eln/models/block/ghost_block.json | 4 ++++ .../resources/assets/eln/models/block/light.json | 4 ++++ .../assets/eln/models/block/six_node_block.json | 4 ++++ .../eln/models/block/transparent_node_block.json | 4 ++++ .../assets/eln/models/item/ghost_block.json | 4 ++++ .../resources/assets/eln/models/item/light.json | 4 ++++ .../assets/eln/models/item/six_node_block.json | 4 ++++ .../eln/models/item/transparent_node_block.json | 4 ++++ .../assets/eln/textures/blocks/transparent.png | Bin 0 -> 163 bytes 13 files changed, 44 insertions(+), 4 deletions(-) create mode 100644 src/main/resources/assets/eln/textures/blocks/transparent.png diff --git a/src/main/resources/assets/eln/blockstates/ghost_block.json b/src/main/resources/assets/eln/blockstates/ghost_block.json index b64d15ff1..6380ca7a4 100644 --- a/src/main/resources/assets/eln/blockstates/ghost_block.json +++ b/src/main/resources/assets/eln/blockstates/ghost_block.json @@ -1,5 +1,7 @@ { "variants": { - "normal": {} + "normal": { + "model": "eln:light" + } } } diff --git a/src/main/resources/assets/eln/blockstates/light.json b/src/main/resources/assets/eln/blockstates/light.json index b64d15ff1..6380ca7a4 100644 --- a/src/main/resources/assets/eln/blockstates/light.json +++ b/src/main/resources/assets/eln/blockstates/light.json @@ -1,5 +1,7 @@ { "variants": { - "normal": {} + "normal": { + "model": "eln:light" + } } } diff --git a/src/main/resources/assets/eln/blockstates/six_node_block.json b/src/main/resources/assets/eln/blockstates/six_node_block.json index b64d15ff1..6380ca7a4 100644 --- a/src/main/resources/assets/eln/blockstates/six_node_block.json +++ b/src/main/resources/assets/eln/blockstates/six_node_block.json @@ -1,5 +1,7 @@ { "variants": { - "normal": {} + "normal": { + "model": "eln:light" + } } } diff --git a/src/main/resources/assets/eln/blockstates/transparent_node_block.json b/src/main/resources/assets/eln/blockstates/transparent_node_block.json index b64d15ff1..6380ca7a4 100644 --- a/src/main/resources/assets/eln/blockstates/transparent_node_block.json +++ b/src/main/resources/assets/eln/blockstates/transparent_node_block.json @@ -1,5 +1,7 @@ { "variants": { - "normal": {} + "normal": { + "model": "eln:light" + } } } diff --git a/src/main/resources/assets/eln/models/block/ghost_block.json b/src/main/resources/assets/eln/models/block/ghost_block.json index 2c63c0851..2a1289ac5 100644 --- a/src/main/resources/assets/eln/models/block/ghost_block.json +++ b/src/main/resources/assets/eln/models/block/ghost_block.json @@ -1,2 +1,6 @@ { + "parent": "block/cube_all", + "textures": { + "all": "eln:blocks/transparent" + } } diff --git a/src/main/resources/assets/eln/models/block/light.json b/src/main/resources/assets/eln/models/block/light.json index 2c63c0851..2a1289ac5 100644 --- a/src/main/resources/assets/eln/models/block/light.json +++ b/src/main/resources/assets/eln/models/block/light.json @@ -1,2 +1,6 @@ { + "parent": "block/cube_all", + "textures": { + "all": "eln:blocks/transparent" + } } diff --git a/src/main/resources/assets/eln/models/block/six_node_block.json b/src/main/resources/assets/eln/models/block/six_node_block.json index 2c63c0851..2a1289ac5 100644 --- a/src/main/resources/assets/eln/models/block/six_node_block.json +++ b/src/main/resources/assets/eln/models/block/six_node_block.json @@ -1,2 +1,6 @@ { + "parent": "block/cube_all", + "textures": { + "all": "eln:blocks/transparent" + } } diff --git a/src/main/resources/assets/eln/models/block/transparent_node_block.json b/src/main/resources/assets/eln/models/block/transparent_node_block.json index 2c63c0851..2a1289ac5 100644 --- a/src/main/resources/assets/eln/models/block/transparent_node_block.json +++ b/src/main/resources/assets/eln/models/block/transparent_node_block.json @@ -1,2 +1,6 @@ { + "parent": "block/cube_all", + "textures": { + "all": "eln:blocks/transparent" + } } diff --git a/src/main/resources/assets/eln/models/item/ghost_block.json b/src/main/resources/assets/eln/models/item/ghost_block.json index 2c63c0851..2a1289ac5 100644 --- a/src/main/resources/assets/eln/models/item/ghost_block.json +++ b/src/main/resources/assets/eln/models/item/ghost_block.json @@ -1,2 +1,6 @@ { + "parent": "block/cube_all", + "textures": { + "all": "eln:blocks/transparent" + } } diff --git a/src/main/resources/assets/eln/models/item/light.json b/src/main/resources/assets/eln/models/item/light.json index 2c63c0851..2a1289ac5 100644 --- a/src/main/resources/assets/eln/models/item/light.json +++ b/src/main/resources/assets/eln/models/item/light.json @@ -1,2 +1,6 @@ { + "parent": "block/cube_all", + "textures": { + "all": "eln:blocks/transparent" + } } diff --git a/src/main/resources/assets/eln/models/item/six_node_block.json b/src/main/resources/assets/eln/models/item/six_node_block.json index 2c63c0851..2a1289ac5 100644 --- a/src/main/resources/assets/eln/models/item/six_node_block.json +++ b/src/main/resources/assets/eln/models/item/six_node_block.json @@ -1,2 +1,6 @@ { + "parent": "block/cube_all", + "textures": { + "all": "eln:blocks/transparent" + } } diff --git a/src/main/resources/assets/eln/models/item/transparent_node_block.json b/src/main/resources/assets/eln/models/item/transparent_node_block.json index 2c63c0851..2a1289ac5 100644 --- a/src/main/resources/assets/eln/models/item/transparent_node_block.json +++ b/src/main/resources/assets/eln/models/item/transparent_node_block.json @@ -1,2 +1,6 @@ { + "parent": "block/cube_all", + "textures": { + "all": "eln:blocks/transparent" + } } diff --git a/src/main/resources/assets/eln/textures/blocks/transparent.png b/src/main/resources/assets/eln/textures/blocks/transparent.png new file mode 100644 index 0000000000000000000000000000000000000000..5d2d355008f507299cc58f9fc05cf07843864a55 GIT binary patch literal 163 zcmeAS@N?(olHy`uVBq!ia0vp^j3CUx1|;Q0k8}blwj^(N7l!{JxM1({$v_d#0*}aI z1_nK45N51cYF`EvWH0gbb!C6d%*?2*etV@!J5Wfn#5JPCIX^cyHLrxhxhOTUBsE2$ yJhLQ2!QIn0AiR-J9H@xf)5S4_<9c!e0}}%SD+A*rHP+ccVFpiEKbLh*2~7Zz%qH6a literal 0 HcmV?d00001 From 59a748c1369efcb4289642ccd6ff46b90e346005 Mon Sep 17 00:00:00 2001 From: Svein Ove Aas Date: Sun, 3 Mar 2019 01:56:31 +0000 Subject: [PATCH 54/61] Actually, use snake_case. --- src/main/java/mods/eln/init/ModBlock.kt | 14 +++++++------- .../blockstates/{ghost_block.json => ghost.json} | 0 .../eln/blockstates/{ore_block.json => ore.json} | 0 .../{six_node_block.json => sixnode.json} | 0 ...parent_node_block.json => transparentnode.json} | 0 .../models/block/{ghost_block.json => ghost.json} | 0 .../block/{six_node_block.json => sixnode.json} | 0 ...parent_node_block.json => transparentnode.json} | 0 .../models/item/{ghost_block.json => ghost.json} | 0 .../item/{six_node_block.json => sixnode.json} | 0 ...parent_node_block.json => transparentnode.json} | 0 11 files changed, 7 insertions(+), 7 deletions(-) rename src/main/resources/assets/eln/blockstates/{ghost_block.json => ghost.json} (100%) rename src/main/resources/assets/eln/blockstates/{ore_block.json => ore.json} (100%) rename src/main/resources/assets/eln/blockstates/{six_node_block.json => sixnode.json} (100%) rename src/main/resources/assets/eln/blockstates/{transparent_node_block.json => transparentnode.json} (100%) rename src/main/resources/assets/eln/models/block/{ghost_block.json => ghost.json} (100%) rename src/main/resources/assets/eln/models/block/{six_node_block.json => sixnode.json} (100%) rename src/main/resources/assets/eln/models/block/{transparent_node_block.json => transparentnode.json} (100%) rename src/main/resources/assets/eln/models/item/{ghost_block.json => ghost.json} (100%) rename src/main/resources/assets/eln/models/item/{six_node_block.json => sixnode.json} (100%) rename src/main/resources/assets/eln/models/item/{transparent_node_block.json => transparentnode.json} (100%) diff --git a/src/main/java/mods/eln/init/ModBlock.kt b/src/main/java/mods/eln/init/ModBlock.kt index ad0e46055..8c61c7dfe 100644 --- a/src/main/java/mods/eln/init/ModBlock.kt +++ b/src/main/java/mods/eln/init/ModBlock.kt @@ -7,24 +7,24 @@ import net.minecraft.block.material.Material object ModBlock { @JvmField val oreBlock = ElnOreBlock( - "copperOre", - "leadOre") + "copper_ore", + "lead_ore") // TODO(1.12): These are obviously not done. @JvmField - val ghostBlock = ElnBlockMod("ghostBlock", Material.ROCK, "g") + val ghostBlock = ElnBlockMod("ghost", Material.ROCK, "g") @JvmField - val sixNodeBlock = ElnBlockMod("sixNodeBlock", Material.ROCK, "s") + val sixNodeBlock = ElnBlockMod("sixnode", Material.ROCK, "s") @JvmField - val transparentNodeBlock = ElnBlockMod("transparentNodeBlock", Material.ROCK, "t") + val transparentNodeBlock = ElnBlockMod("transparentnode", Material.ROCK, "t") @JvmField - val lightBlock = BlockMod("Light", Material.AIR) + val lightBlock = BlockMod("light", Material.AIR) } -class ElnOreBlock(vararg variants: String) : BlockModVariant("oreBlock", Material.ROCK, *variants) { +class ElnOreBlock(vararg variants: String) : BlockModVariant("ore", Material.ROCK, *variants) { init { setHardness(3.0f) setResistance(5.0f) diff --git a/src/main/resources/assets/eln/blockstates/ghost_block.json b/src/main/resources/assets/eln/blockstates/ghost.json similarity index 100% rename from src/main/resources/assets/eln/blockstates/ghost_block.json rename to src/main/resources/assets/eln/blockstates/ghost.json diff --git a/src/main/resources/assets/eln/blockstates/ore_block.json b/src/main/resources/assets/eln/blockstates/ore.json similarity index 100% rename from src/main/resources/assets/eln/blockstates/ore_block.json rename to src/main/resources/assets/eln/blockstates/ore.json diff --git a/src/main/resources/assets/eln/blockstates/six_node_block.json b/src/main/resources/assets/eln/blockstates/sixnode.json similarity index 100% rename from src/main/resources/assets/eln/blockstates/six_node_block.json rename to src/main/resources/assets/eln/blockstates/sixnode.json diff --git a/src/main/resources/assets/eln/blockstates/transparent_node_block.json b/src/main/resources/assets/eln/blockstates/transparentnode.json similarity index 100% rename from src/main/resources/assets/eln/blockstates/transparent_node_block.json rename to src/main/resources/assets/eln/blockstates/transparentnode.json diff --git a/src/main/resources/assets/eln/models/block/ghost_block.json b/src/main/resources/assets/eln/models/block/ghost.json similarity index 100% rename from src/main/resources/assets/eln/models/block/ghost_block.json rename to src/main/resources/assets/eln/models/block/ghost.json diff --git a/src/main/resources/assets/eln/models/block/six_node_block.json b/src/main/resources/assets/eln/models/block/sixnode.json similarity index 100% rename from src/main/resources/assets/eln/models/block/six_node_block.json rename to src/main/resources/assets/eln/models/block/sixnode.json diff --git a/src/main/resources/assets/eln/models/block/transparent_node_block.json b/src/main/resources/assets/eln/models/block/transparentnode.json similarity index 100% rename from src/main/resources/assets/eln/models/block/transparent_node_block.json rename to src/main/resources/assets/eln/models/block/transparentnode.json diff --git a/src/main/resources/assets/eln/models/item/ghost_block.json b/src/main/resources/assets/eln/models/item/ghost.json similarity index 100% rename from src/main/resources/assets/eln/models/item/ghost_block.json rename to src/main/resources/assets/eln/models/item/ghost.json diff --git a/src/main/resources/assets/eln/models/item/six_node_block.json b/src/main/resources/assets/eln/models/item/sixnode.json similarity index 100% rename from src/main/resources/assets/eln/models/item/six_node_block.json rename to src/main/resources/assets/eln/models/item/sixnode.json diff --git a/src/main/resources/assets/eln/models/item/transparent_node_block.json b/src/main/resources/assets/eln/models/item/transparentnode.json similarity index 100% rename from src/main/resources/assets/eln/models/item/transparent_node_block.json rename to src/main/resources/assets/eln/models/item/transparentnode.json From 85639ff0d06ab1ded380d9f238c18a6a7bba5f7a Mon Sep 17 00:00:00 2001 From: Svein Ove Aas Date: Sun, 3 Mar 2019 20:32:53 +0000 Subject: [PATCH 55/61] What are these spreadsheets doing here? --- src/main/resources/assets/eln/temp/NOT_IN_JAR | 0 src/main/resources/assets/eln/temp/craft.xlsx | Bin 10992 -> 0 bytes .../assets/eln/temp/electricalFurnace.xlsx | Bin 8533 -> 0 bytes src/main/resources/assets/eln/temp/eln.vsd | Bin 34816 -> 0 bytes src/main/resources/assets/eln/temp/eln.xlsx | Bin 12349 -> 0 bytes 5 files changed, 0 insertions(+), 0 deletions(-) delete mode 100644 src/main/resources/assets/eln/temp/NOT_IN_JAR delete mode 100644 src/main/resources/assets/eln/temp/craft.xlsx delete mode 100644 src/main/resources/assets/eln/temp/electricalFurnace.xlsx delete mode 100644 src/main/resources/assets/eln/temp/eln.vsd delete mode 100644 src/main/resources/assets/eln/temp/eln.xlsx diff --git a/src/main/resources/assets/eln/temp/NOT_IN_JAR b/src/main/resources/assets/eln/temp/NOT_IN_JAR deleted file mode 100644 index e69de29bb..000000000 diff --git a/src/main/resources/assets/eln/temp/craft.xlsx b/src/main/resources/assets/eln/temp/craft.xlsx deleted file mode 100644 index 2191589a7d5a5422b491f8f347627783b7be580c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10992 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 I<f7lL;q{yiC@DRwIg6HXu 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 From 688592334f9f9da80a237b0b9945203c0bc8bed1 Mon Sep 17 00:00:00 2001 From: Svein Ove Aas Date: Sun, 3 Mar 2019 21:36:53 +0000 Subject: [PATCH 56/61] Replicators: Obey the rules! --- src/main/java/mods/eln/entity/ReplicatorPopProcess.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/mods/eln/entity/ReplicatorPopProcess.java b/src/main/java/mods/eln/entity/ReplicatorPopProcess.java index 3961e99bb..84ee72692 100644 --- a/src/main/java/mods/eln/entity/ReplicatorPopProcess.java +++ b/src/main/java/mods/eln/entity/ReplicatorPopProcess.java @@ -2,6 +2,7 @@ import mods.eln.init.Config; import net.minecraft.util.math.BlockPos; +import net.minecraft.world.GameRules; import net.minecraftforge.fml.common.FMLCommonHandler; import mods.eln.misc.Utils; import mods.eln.sim.IProcess; @@ -34,8 +35,7 @@ public void process(double time) { if (world.getDifficulty() == EnumDifficulty.PEACEFUL) return; - if (world.getWorldInfo().isThundering()) { - MinecraftServer server = FMLCommonHandler.instance().getMinecraftServerInstance(); + if (world.getWorldInfo().isThundering() && world.getGameRules().getBoolean("doMobSpawning")) { for (Object obj : world.playerEntities) { EntityPlayerMP player = (EntityPlayerMP) obj; if (Math.random() * (world.playerEntities.size()) < time * Config.INSTANCE.getReplicatorSpawnPerSecondPerPlayer() && player.world == world) { From c55b5a9c41c01fad7ae7afa037771dc11c6e4d4e Mon Sep 17 00:00:00 2001 From: Svein Ove Aas Date: Sun, 3 Mar 2019 21:37:04 +0000 Subject: [PATCH 57/61] Add a simple rubber block --- src/main/java/mods/eln/Eln.kt | 4 ++- src/main/java/mods/eln/init/Items.kt | 12 ++++----- src/main/java/mods/eln/init/ModBlock.kt | 23 ++++++++++++++++++ .../assets/eln/blockstates/rubber.json | 7 ++++++ .../assets/eln/models/block/rubber.json | 6 +++++ .../assets/eln/models/item/rubber.json | 6 +++++ .../assets/eln/textures/blocks/rubber.png | Bin 0 -> 3855 bytes 7 files changed, 50 insertions(+), 8 deletions(-) create mode 100644 src/main/resources/assets/eln/blockstates/rubber.json create mode 100644 src/main/resources/assets/eln/models/block/rubber.json create mode 100644 src/main/resources/assets/eln/models/item/rubber.json create mode 100644 src/main/resources/assets/eln/textures/blocks/rubber.png diff --git a/src/main/java/mods/eln/Eln.kt b/src/main/java/mods/eln/Eln.kt index 82f3fc6dc..6fe5c1b4a 100644 --- a/src/main/java/mods/eln/Eln.kt +++ b/src/main/java/mods/eln/Eln.kt @@ -5,6 +5,7 @@ import mods.eln.entity.ReplicatorPopProcess import mods.eln.ghost.GhostManager import mods.eln.i18n.I18N.tr import mods.eln.init.Config +import mods.eln.init.Items import mods.eln.init.ModBlock import mods.eln.item.MiningPipeDescriptor import mods.eln.item.electricalinterface.ItemEnergyInventoryProcess @@ -52,7 +53,8 @@ class Eln { metadata.autogenerated = false Tab // Force construction. - ModBlock // Force Construction. + ModBlock // Force construction. + Items // Force construction. logger = e.modLog logger.info(tr("Bzzzt")) diff --git a/src/main/java/mods/eln/init/Items.kt b/src/main/java/mods/eln/init/Items.kt index ced4f47db..9c6918dc3 100644 --- a/src/main/java/mods/eln/init/Items.kt +++ b/src/main/java/mods/eln/init/Items.kt @@ -3,12 +3,10 @@ package mods.eln.init import mods.eln.generic.GenericItemUsingDamageDescriptor import mods.eln.item.TreeResin -class Items { - companion object { - lateinit var multiMeterElement: GenericItemUsingDamageDescriptor - lateinit var thermometerElement: GenericItemUsingDamageDescriptor - lateinit var allMeterElement: GenericItemUsingDamageDescriptor +object Items { + lateinit var multiMeterElement: GenericItemUsingDamageDescriptor + lateinit var thermometerElement: GenericItemUsingDamageDescriptor + lateinit var allMeterElement: GenericItemUsingDamageDescriptor - lateinit var treeResin: TreeResin - } + lateinit var treeResin: TreeResin } diff --git a/src/main/java/mods/eln/init/ModBlock.kt b/src/main/java/mods/eln/init/ModBlock.kt index 8c61c7dfe..c8918e37e 100644 --- a/src/main/java/mods/eln/init/ModBlock.kt +++ b/src/main/java/mods/eln/init/ModBlock.kt @@ -2,7 +2,14 @@ package mods.eln.init import com.teamwizardry.librarianlib.features.base.block.BlockMod import com.teamwizardry.librarianlib.features.base.block.BlockModVariant +import com.teamwizardry.librarianlib.features.kotlin.get +import com.teamwizardry.librarianlib.features.kotlin.setVelocityAndUpdate import net.minecraft.block.material.Material +import net.minecraft.block.properties.IProperty +import net.minecraft.block.state.IBlockState +import net.minecraft.entity.Entity +import net.minecraft.util.math.BlockPos +import net.minecraft.world.World object ModBlock { @JvmField @@ -10,6 +17,8 @@ object ModBlock { "copper_ore", "lead_ore") + val rubberBlock = RubberBlock() + // TODO(1.12): These are obviously not done. @JvmField val ghostBlock = ElnBlockMod("ghost", Material.ROCK, "g") @@ -31,4 +40,18 @@ class ElnOreBlock(vararg variants: String) : BlockModVariant("ore", Material.ROC } } +class RubberBlock : BlockMod("rubber", Material.ROCK) { + override fun onLanded(worldIn: World, entityIn: Entity) { + if (entityIn.motionY < -0.1) { + entityIn.setVelocityAndUpdate(entityIn.motionX, entityIn.motionY * -0.75, entityIn.motionZ) + } else { + entityIn.motionY = 0.0 + } + } + + override fun onFallenUpon(worldIn: World, pos: BlockPos, entityIn: Entity, fallDistance: Float) { + super.onFallenUpon(worldIn, pos, entityIn, fallDistance / 8.0f) + } +} + class ElnBlockMod(name: String, material: Material, val uuid: String) : BlockMod(name, material) diff --git a/src/main/resources/assets/eln/blockstates/rubber.json b/src/main/resources/assets/eln/blockstates/rubber.json new file mode 100644 index 000000000..42bbbdea3 --- /dev/null +++ b/src/main/resources/assets/eln/blockstates/rubber.json @@ -0,0 +1,7 @@ +{ + "variants": { + "normal": { + "model": "eln:rubber" + } + } +} diff --git a/src/main/resources/assets/eln/models/block/rubber.json b/src/main/resources/assets/eln/models/block/rubber.json new file mode 100644 index 000000000..03acec993 --- /dev/null +++ b/src/main/resources/assets/eln/models/block/rubber.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "eln:blocks/rubber" + } +} diff --git a/src/main/resources/assets/eln/models/item/rubber.json b/src/main/resources/assets/eln/models/item/rubber.json new file mode 100644 index 000000000..0578c24a8 --- /dev/null +++ b/src/main/resources/assets/eln/models/item/rubber.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "eln:blocks/rubber" + } +} diff --git a/src/main/resources/assets/eln/textures/blocks/rubber.png b/src/main/resources/assets/eln/textures/blocks/rubber.png new file mode 100644 index 0000000000000000000000000000000000000000..2cded763b5a394f5be776861cb0cd52c72a28a25 GIT binary patch literal 3855 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 Date: Sun, 3 Mar 2019 21:38:21 +0000 Subject: [PATCH 58/61] Honestly, axes make more sense for rubber. --- src/main/java/mods/eln/init/ModBlock.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/mods/eln/init/ModBlock.kt b/src/main/java/mods/eln/init/ModBlock.kt index c8918e37e..ce7c4fbf6 100644 --- a/src/main/java/mods/eln/init/ModBlock.kt +++ b/src/main/java/mods/eln/init/ModBlock.kt @@ -40,7 +40,7 @@ class ElnOreBlock(vararg variants: String) : BlockModVariant("ore", Material.ROC } } -class RubberBlock : BlockMod("rubber", Material.ROCK) { +class RubberBlock : BlockMod("rubber", Material.WOOD) { override fun onLanded(worldIn: World, entityIn: Entity) { if (entityIn.motionY < -0.1) { entityIn.setVelocityAndUpdate(entityIn.motionX, entityIn.motionY * -0.75, entityIn.motionZ) From a15bb6de2bfec2a4d8b8c873e9877dfa5671b22d Mon Sep 17 00:00:00 2001 From: Svein Ove Aas Date: Sun, 3 Mar 2019 21:43:24 +0000 Subject: [PATCH 59/61] No point in explicitly updating the client --- src/main/java/mods/eln/init/ModBlock.kt | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/main/java/mods/eln/init/ModBlock.kt b/src/main/java/mods/eln/init/ModBlock.kt index ce7c4fbf6..7174ebb5b 100644 --- a/src/main/java/mods/eln/init/ModBlock.kt +++ b/src/main/java/mods/eln/init/ModBlock.kt @@ -10,6 +10,7 @@ import net.minecraft.block.state.IBlockState import net.minecraft.entity.Entity import net.minecraft.util.math.BlockPos import net.minecraft.world.World +import java.lang.Math.abs object ModBlock { @JvmField @@ -42,8 +43,8 @@ class ElnOreBlock(vararg variants: String) : BlockModVariant("ore", Material.ROC class RubberBlock : BlockMod("rubber", Material.WOOD) { override fun onLanded(worldIn: World, entityIn: Entity) { - if (entityIn.motionY < -0.1) { - entityIn.setVelocityAndUpdate(entityIn.motionX, entityIn.motionY * -0.75, entityIn.motionZ) + if (abs(entityIn.motionY) > 0.1) { + entityIn.motionY = abs(entityIn.motionY * 0.75) } else { entityIn.motionY = 0.0 } From b31d6fdf28145f682e03b2e466d7b68b7f3b7403 Mon Sep 17 00:00:00 2001 From: Svein Ove Aas Date: Mon, 4 Mar 2019 21:38:01 +0000 Subject: [PATCH 60/61] Add flubber --- src/main/java/mods/eln/Eln_old.java | 2 - src/main/java/mods/eln/init/ModBlock.kt | 16 +++- src/main/java/mods/eln/ore/OreDescriptor.java | 75 ------------------- src/main/java/mods/eln/ore/OreItem.java | 30 -------- .../java/mods/eln/server/OreRegenerate.java | 2 - .../assets/eln/blockstates/flubber.json | 7 ++ .../assets/eln/models/block/flubber.json | 6 ++ .../assets/eln/models/item/flubber.json | 6 ++ 8 files changed, 31 insertions(+), 113 deletions(-) delete mode 100644 src/main/java/mods/eln/ore/OreDescriptor.java delete mode 100644 src/main/java/mods/eln/ore/OreItem.java create mode 100644 src/main/resources/assets/eln/blockstates/flubber.json create mode 100644 src/main/resources/assets/eln/models/block/flubber.json create mode 100644 src/main/resources/assets/eln/models/item/flubber.json diff --git a/src/main/java/mods/eln/Eln_old.java b/src/main/java/mods/eln/Eln_old.java index 10c55f4e9..b91414aef 100644 --- a/src/main/java/mods/eln/Eln_old.java +++ b/src/main/java/mods/eln/Eln_old.java @@ -24,8 +24,6 @@ import mods.eln.node.NodePublishProcess; import mods.eln.node.six.*; import mods.eln.node.transparent.*; -import mods.eln.ore.OreDescriptor; -import mods.eln.ore.OreItem; import mods.eln.server.*; import mods.eln.signalinductor.SignalInductorDescriptor; import mods.eln.sim.Simulator; diff --git a/src/main/java/mods/eln/init/ModBlock.kt b/src/main/java/mods/eln/init/ModBlock.kt index 7174ebb5b..e1122fea3 100644 --- a/src/main/java/mods/eln/init/ModBlock.kt +++ b/src/main/java/mods/eln/init/ModBlock.kt @@ -9,6 +9,7 @@ import net.minecraft.block.properties.IProperty import net.minecraft.block.state.IBlockState import net.minecraft.entity.Entity import net.minecraft.util.math.BlockPos +import net.minecraft.util.math.Vec3d import net.minecraft.world.World import java.lang.Math.abs @@ -18,7 +19,8 @@ object ModBlock { "copper_ore", "lead_ore") - val rubberBlock = RubberBlock() + val rubberBlock = RubberBlock("rubber", 0.75f) + val flubberBlock = RubberBlock("flubber", 2f) // TODO(1.12): These are obviously not done. @JvmField @@ -41,10 +43,10 @@ class ElnOreBlock(vararg variants: String) : BlockModVariant("ore", Material.ROC } } -class RubberBlock : BlockMod("rubber", Material.WOOD) { +class RubberBlock(name: String, private val bounce: Float) : BlockMod(name, Material.WOOD) { override fun onLanded(worldIn: World, entityIn: Entity) { if (abs(entityIn.motionY) > 0.1) { - entityIn.motionY = abs(entityIn.motionY * 0.75) + entityIn.motionY = abs(entityIn.motionY * bounce) } else { entityIn.motionY = 0.0 } @@ -55,4 +57,10 @@ class RubberBlock : BlockMod("rubber", Material.WOOD) { } } -class ElnBlockMod(name: String, material: Material, val uuid: String) : BlockMod(name, material) +class SixNodeProxyBlock() + +class ElnProxyBlock(name: String, val uuid: String) + +class ElnBlockMod(name: String, material: Material, val uuid: String) : BlockMod(name, material) { + +} diff --git a/src/main/java/mods/eln/ore/OreDescriptor.java b/src/main/java/mods/eln/ore/OreDescriptor.java deleted file mode 100644 index 425b39a95..000000000 --- a/src/main/java/mods/eln/ore/OreDescriptor.java +++ /dev/null @@ -1,75 +0,0 @@ -package mods.eln.ore; - -import net.minecraft.util.math.BlockPos; -import net.minecraft.world.gen.IChunkGenerator; -import net.minecraftforge.fml.common.IWorldGenerator; -import mods.eln.Eln; -import mods.eln.generic.GenericItemBlockUsingDamageDescriptor; -import mods.eln.wiki.Data; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.world.World; -import net.minecraft.world.WorldType; -import net.minecraft.world.chunk.IChunkProvider; -import net.minecraft.world.gen.feature.WorldGenMinable; - -import java.util.ArrayList; -import java.util.Random; - -public class OreDescriptor extends GenericItemBlockUsingDamageDescriptor implements IWorldGenerator { - - int metadata; - - int spawnRate, spawnSizeMax, spawnSizeMin, spawnHeightMin, spawnHeightMax; - - public OreDescriptor(String name, int metadata, - int spawnRate, int spawnSizeMin, int spawnSizeMax, int spawnHeightMin, int spawnHeightMax) { - super(name); - this.metadata = metadata; - this.spawnHeightMax = spawnHeightMax; - this.spawnHeightMin = spawnHeightMin; - this.spawnRate = spawnRate; - this.spawnSizeMin = spawnSizeMin; - this.spawnSizeMax = spawnSizeMax; - } - - // TODO(1.10): Fix item rendering. -// public IIcon getBlockIconId(int side, int damage) { -// return getIcon(); -// } - - @Override - public void setParent(Item item, int damage) { - super.setParent(item, damage); - Data.addOre(newItemStack()); - } - - public ArrayList getBlockDropped(int fortune) { - ArrayList list = new ArrayList(); - //TODO(1.12) list.add(new ItemStack(Eln.oreItem, 1, metadata)); - return list; - } - - @Override - public void generate(Random random, int chunkX, int chunkZ, World world, - IChunkGenerator chunkGenerator, IChunkProvider chunkProvider) { - if (world.provider.isSurfaceWorld()) { - generateSurface(random, chunkX * 16, chunkZ * 16, world); //This makes it gen overworld (the *16 is important) - } - } - - public void generateSurface(Random random, int x, int z, World w) { - if (w.getWorldInfo().getTerrainType() == WorldType.FLAT) return; - //for(int i = 0;i<4;i++){ //This goes through the ore metadata - for (int ii = 0; ii < spawnRate; ii++) { //This makes it gen multiple times in each chunk - int posX = x + random.nextInt(16); //X coordinate to gen at - int posY = spawnHeightMin + random.nextInt(spawnHeightMax - spawnHeightMin); //Y coordinate less than 40 to gen at - int posZ = z + random.nextInt(16); //Z coordinate to gen at - int size = spawnSizeMin + random.nextInt(spawnSizeMax - spawnSizeMin); - // TODO(1.12) - //new WorldGenMinable(Eln.oreBlock.getStateFromMeta(metadata), size).generate(w, random, new BlockPos( posX, posY, posZ)); //The gen call - } - //} - //new WorldGenTrees(par1, par2, par3, par4, par5) - } -} diff --git a/src/main/java/mods/eln/ore/OreItem.java b/src/main/java/mods/eln/ore/OreItem.java deleted file mode 100644 index c8b7b8419..000000000 --- a/src/main/java/mods/eln/ore/OreItem.java +++ /dev/null @@ -1,30 +0,0 @@ -package mods.eln.ore; - -import net.minecraftforge.fml.common.registry.GameRegistry; -import mods.eln.generic.GenericItemBlockUsingDamage; -import net.minecraft.block.Block; - -public class OreItem extends GenericItemBlockUsingDamage { - - public OreItem(Block b) { - super(b); - } - - @Override - public int getMetadata(int par1) { - return par1; - } - -/*//caca1.5.1 - @Override - public String getTextureFile() { - return CommonProxy.BLOCK_PNG; - } - */ - - @Override - public void addDescriptor(int damage, OreDescriptor descriptor) { - super.addDescriptor(damage, descriptor); - GameRegistry.registerWorldGenerator(descriptor, 0); - } -} diff --git a/src/main/java/mods/eln/server/OreRegenerate.java b/src/main/java/mods/eln/server/OreRegenerate.java index 55fd1e814..65c8368bd 100644 --- a/src/main/java/mods/eln/server/OreRegenerate.java +++ b/src/main/java/mods/eln/server/OreRegenerate.java @@ -6,9 +6,7 @@ import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; import net.minecraftforge.fml.common.gameevent.TickEvent.Phase; import net.minecraftforge.fml.common.gameevent.TickEvent.ServerTickEvent; -import mods.eln.Eln; import mods.eln.misc.Utils; -import mods.eln.ore.OreDescriptor; import net.minecraft.world.WorldServer; import net.minecraft.world.chunk.Chunk; import net.minecraftforge.common.MinecraftForge; diff --git a/src/main/resources/assets/eln/blockstates/flubber.json b/src/main/resources/assets/eln/blockstates/flubber.json new file mode 100644 index 000000000..ed8ed2208 --- /dev/null +++ b/src/main/resources/assets/eln/blockstates/flubber.json @@ -0,0 +1,7 @@ +{ + "variants": { + "normal": { + "model": "eln:rubber" + } + } +} diff --git a/src/main/resources/assets/eln/models/block/flubber.json b/src/main/resources/assets/eln/models/block/flubber.json new file mode 100644 index 000000000..0578c24a8 --- /dev/null +++ b/src/main/resources/assets/eln/models/block/flubber.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "eln:blocks/rubber" + } +} diff --git a/src/main/resources/assets/eln/models/item/flubber.json b/src/main/resources/assets/eln/models/item/flubber.json new file mode 100644 index 000000000..0578c24a8 --- /dev/null +++ b/src/main/resources/assets/eln/models/item/flubber.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "eln:blocks/rubber" + } +} From 8e02dcc1851c912b9f20acf27b1809b41dd324f5 Mon Sep 17 00:00:00 2001 From: Svein Ove Aas Date: Fri, 8 Mar 2019 13:09:23 +0000 Subject: [PATCH 61/61] Exclude eln_old.java until we can delete it --- build.gradle | 1 + 1 file changed, 1 insertion(+) diff --git a/build.gradle b/build.gradle index 3c9b64bcf..4bf8581bf 100644 --- a/build.gradle +++ b/build.gradle @@ -46,6 +46,7 @@ compileJava { sourceSets { main { java.srcDirs = ['src/main/java'] + java.excludes = ['**/Eln_old.java'] // TODO(1.12): Just delete this at the end. resources.srcDirs = ['src/main/resources'] resources.excludes = ['*'] kotlin.srcDirs = ['src/main/java']

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

P-)&Mwusqn}}6pDAy(Q(2K;88vB3 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 z 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%0AI_7R?c!l0NqS*5vq$C3rBC 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